diff --git a/.cproject b/.cproject index 0472403..27d87ae 100644 --- a/.cproject +++ b/.cproject @@ -1,38 +1,49 @@ - - + + - - - - - - - + + - - + - - - - @@ -234,7 +259,7 @@ - + @@ -253,4 +278,5 @@ + diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..53544b2 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# Explicitly declare text files you want to always be normalized and converted +# to native line endings on checkout. +*.c text +*.h text +*.txt text +*.xsd text +*.pdsc text +*.svd text +*.bat text + +# Declare files that will always have CRLF line endings on checkout. +*.uvproj text eol=crlf +*.uvproj text eol=crlf + +# Denote all files that are truly binary and should not be modified. +*.png binary +*.jpg binary +*.a binary +*.lib binary +*.exe binary \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index f04d09a..aeeaf42 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "Drivers/CMSIS"] path = Drivers/CMSIS - url = https://github.com/EEESlab/CMSIS_NN-INTQ.git + url = https://github.com/marco-fariselli/CMSIS_NN-INTQ.git diff --git a/.project b/.project index a434f1c..a5af9bb 100644 --- a/.project +++ b/.project @@ -1,7 +1,7 @@ - intq-mobilenet-v1 - + intq-mobilenet-v1-multiprecision-4chin + @@ -19,9 +19,10 @@ + com.st.stm32cube.ide.mcu.MCUProjectNature org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - fr.ac6.mcu.ide.core.MCUProjectNature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + com.st.stm32cube.ide.mcu.MCUSW4STM32ConvertedProjectNature diff --git a/Drivers/CMSIS b/Drivers/CMSIS index 1ce627b..3516205 160000 --- a/Drivers/CMSIS +++ b/Drivers/CMSIS @@ -1 +1 @@ -Subproject commit 1ce627bd9c9f2e0e40f17d50073c1c59ac6019f2 +Subproject commit 35162051b9273f6f92446ca177e0de321861fdd0 diff --git a/Inc/160_input_image.h b/Inc/160_input_image.h index 245444f..97f1ec7 100644 --- a/Inc/160_input_image.h +++ b/Inc/160_input_image.h @@ -3,7 +3,7 @@ #define INPUT_IMAGE_TOP1 (256) -#define INPUT_IMAGE_TOP1_SCORE (115) +#define INPUT_IMAGE_TOP1_SCORE (114) #define INPUT_IMAGE {41, 55, 49, 127, 185, 199, 197, 127, 247, 248, 249, 127, 252, 254, 253, 127, 248, 252, 249, 127, 209, 217, 211, 127, 81, 89, 78, 127, 12, 18, 12, 127, 17, 20, 17, 127, 19, 20, 18, 127, 21, 23, 20, 127, 22, 25, 22, 127, 20, 23, 20, 127, 17, 20, 17, 127, 18, 21, 18, 127, 30, 33, 29, 127, 28, 33, 30, 127, 68, 81, 78, 127, 201, 213, 213, 127, 246, 250, 249, 127, 252, 252, 251, 127, 243, 248, 248, 127, 189, 199, 191, 127, 63, 73, 61, 127, 49, 57, 53, 127, 55, 61, 55, 127, 45, 49, 49, 127, 35, 37, 37, 127, 25, 25, 25, 127, 20, 21, 20, 127, 23, 25, 25, 127, 41, 45, 45, 127, 41, 49, 47, 127, 53, 66, 59, 127, 172, 187, 183, 127, 240, 246, 246, 127, 253, 253, 253, 127, 249, 251, 251, 127, 207, 219, 215, 127, 88, 99, 94, 127, 57, 65, 61, 127, 59, 69, 67, 127, 61, 68, 67, 127, 63, 67, 65, 127, 57, 61, 61, 127, 43, 47, 45, 127, 30, 33, 33, 127, 23, 27, 25, 127, 24, 31, 27, 127, 80, 92, 88, 127, 203, 215, 213, 127, 244, 250, 251, 127, 252, 252, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 253, 127, 252, 252, 252, 127, 250, 253, 253, 127, 241, 246, 245, 127, 228, 232, 223, 127, 224, 228, 215, 127, 225, 227, 215, 127, 225, 226, 217, 127, 225, 227, 215, 127, 221, 223, 209, 127, 217, 219, 205, 127, 219, 221, 207, 127, 221, 223, 207, 127, 211, 215, 199, 127, 207, 213, 193, 127, 217, 221, 205, 127, 224, 228, 215, 127, 226, 230, 217, 127, 226, 229, 217, 127, 226, 229, 217, 127, 224, 228, 215, 127, 221, 225, 211, 127, 221, 225, 211, 127, 223, 226, 211, 127, 221, 225, 211, 127, 221, 224, 209, 127, 219, 223, 209, 127, 221, 224, 209, 127, 217, 221, 207, 127, 217, 219, 205, 127, 219, 221, 207, 127, 221, 223, 209, 127, 219, 223, 209, 127, 213, 215, 201, 127, 191, 195, 181, 127, 205, 211, 203, 127, 237, 241, 243, 127, 242, 246, 249, 127, 239, 243, 243, 127, 242, 246, 248, 127, 244, 248, 252, 127, 244, 248, 251, 127, 245, 249, 251, 127, 230, 238, 238, 127, 155, 166, 165, 127, 27, 31, 31, 127, 9, 9, 9, 127, 10, 9, 9, 127, 9, 7, 8, 127, 11, 10, 10, 127, 13, 12, 12, 127, 17, 16, 12, 127, 79, 88, 79, 127, 197, 205, 203, 127, 239, 242, 246, 127, 237, 243, 243, 127, 201, 211, 209, 127, 72, 80, 79, 127, 8, 8, 9, 127, 10, 10, 9, 127, 11, 13, 10, 127, 11, 13, 12, 127, 13, 14, 15, 127, 16, 17, 17, 127, 53, 61, 55, 127, 179, 191, 185, 127, 231, 236, 238, 127, 232, 236, 239, 127, 195, 205, 205, 127, 91, 99, 99, 127, 13, 13, 13, 127, 10, 9, 9, 127, 11, 13, 12, 127, 11, 13, 12, 127, 12, 12, 10, 127, 12, 13, 9, 127, 53, 59, 53, 127, 163, 172, 167, 127, 221, 226, 226, 127, 225, 231, 231, 127, 223, 228, 228, 127, 221, 226, 226, 127, 217, 224, 223, 127, 213, 223, 221, 127, 213, 219, 219, 127, 201, 205, 203, 127, 183, 185, 177, 127, 183, 185, 172, 127, 181, 185, 171, 127, 181, 185, 170, 127, 177, 179, 164, 127, 169, 172, 155, 127, 165, 166, 148, 127, 163, 165, 146, 127, 164, 166, 145, 127, 163, 164, 145, 127, 162, 161, 143, 127, 159, 157, 138, 127, 158, 157, 137, 127, 159, 158, 140, 127, 159, 160, 142, 127, 162, 163, 145, 127, 155, 156, 136, 127, 146, 147, 124, 127, \ 39, 55, 49, 127, 179, 197, 191, 127, 246, 249, 248, 127, 252, 252, 252, 127, 248, 252, 250, 127, 211, 219, 215, 127, 87, 95, 86, 127, 17, 23, 18, 127, 20, 24, 21, 127, 18, 23, 18, 127, 22, 25, 21, 127, 23, 25, 22, 127, 21, 22, 20, 127, 18, 20, 17, 127, 22, 24, 21, 127, 29, 31, 31, 127, 25, 31, 31, 127, 61, 74, 71, 127, 199, 213, 211, 127, 244, 251, 250, 127, 251, 253, 253, 127, 246, 250, 250, 127, 195, 203, 197, 127, 68, 80, 67, 127, 47, 59, 49, 127, 55, 63, 61, 127, 47, 51, 53, 127, 35, 37, 37, 127, 26, 29, 28, 127, 23, 26, 25, 127, 24, 28, 27, 127, 37, 41, 41, 127, 43, 51, 49, 127, 51, 65, 63, 127, 170, 185, 183, 127, 238, 246, 245, 127, 252, 253, 253, 127, 249, 252, 251, 127, 211, 223, 219, 127, 94, 108, 101, 127, 55, 66, 59, 127, 57, 70, 66, 127, 59, 67, 66, 127, 63, 65, 64, 127, 53, 55, 53, 127, 37, 41, 39, 127, 27, 30, 29, 127, 24, 26, 25, 127, 23, 26, 26, 127, 79, 89, 87, 127, 201, 213, 211, 127, 243, 250, 249, 127, 253, 252, 254, 127, 252, 253, 253, 127, 252, 253, 253, 127, 252, 253, 253, 127, 252, 254, 253, 127, 252, 254, 252, 127, 249, 253, 253, 127, 243, 248, 247, 127, 232, 235, 228, 127, 227, 230, 217, 127, 227, 229, 217, 127, 226, 228, 217, 127, 225, 227, 213, 127, 221, 223, 209, 127, 219, 221, 207, 127, 221, 223, 209, 127, 221, 223, 209, 127, 209, 213, 197, 127, 207, 211, 193, 127, 215, 219, 203, 127, 223, 227, 213, 127, 226, 230, 217, 127, 226, 229, 219, 127, 225, 228, 219, 127, 225, 228, 217, 127, 221, 225, 213, 127, 221, 224, 209, 127, 221, 225, 211, 127, 223, 226, 211, 127, 221, 225, 211, 127, 219, 223, 209, 127, 219, 223, 207, 127, 219, 223, 207, 127, 219, 221, 207, 127, 221, 223, 209, 127, 223, 224, 211, 127, 221, 223, 209, 127, 211, 213, 199, 127, 191, 195, 181, 127, 205, 209, 203, 127, 237, 241, 243, 127, 243, 247, 248, 127, 239, 244, 242, 127, 243, 246, 248, 127, 246, 250, 253, 127, 247, 249, 253, 127, 247, 249, 252, 127, 229, 236, 238, 127, 157, 169, 170, 127, 30, 35, 35, 127, 11, 10, 10, 127, 11, 10, 10, 127, 9, 8, 9, 127, 10, 10, 10, 127, 14, 12, 12, 127, 14, 13, 10, 127, 77, 86, 77, 127, 197, 203, 201, 127, 240, 243, 247, 127, 238, 243, 243, 127, 203, 211, 209, 127, 75, 83, 83, 127, 8, 10, 10, 127, 10, 10, 9, 127, 10, 11, 9, 127, 11, 13, 12, 127, 14, 16, 17, 127, 22, 23, 22, 127, 55, 61, 55, 127, 177, 189, 185, 127, 230, 235, 238, 127, 233, 237, 240, 127, 197, 207, 207, 127, 94, 101, 102, 127, 15, 15, 15, 127, 13, 12, 13, 127, 11, 13, 12, 127, 10, 11, 10, 127, 12, 11, 9, 127, 14, 14, 11, 127, 53, 61, 53, 127, 164, 173, 168, 127, 221, 226, 226, 127, 225, 231, 231, 127, 223, 228, 228, 127, 221, 226, 226, 127, 217, 224, 223, 127, 213, 223, 219, 127, 213, 219, 217, 127, 201, 205, 203, 127, 183, 185, 177, 127, 183, 183, 170, 127, 183, 183, 168, 127, 179, 181, 164, 127, 175, 175, 160, 127, 169, 169, 152, 127, 166, 168, 148, 127, 165, 167, 146, 127, 165, 167, 147, 127, 166, 167, 150, 127, 163, 164, 148, 127, 157, 159, 140, 127, 157, 159, 138, 127, 157, 159, 138, 127, 161, 160, 141, 127, 162, 161, 143, 127, 157, 156, 137, 127, 149, 149, 125, 127, \ diff --git a/Inc/224_test_input_image.h b/Inc/224_test_input_image.h new file mode 100644 index 0000000..2d17a62 --- /dev/null +++ b/Inc/224_test_input_image.h @@ -0,0 +1,235 @@ +#ifndef __160_INPUT_IMAGE_H__ +#define __160_INPUT_IMAGE_H__ + + +#define INPUT_IMAGE_TOP1 (256) +#define INPUT_IMAGE_TOP1_SCORE (114) + +#define INPUT_IMAGE \ + { 242, 184, 243, 0, 177, 179, 0, 0, 226, 104, 211, 0, 200, 184, 48, 0, 92, 100, 23, 0, 48, 186, 9, 0, 26, 111, 149, 0, 36, 32, 218, 0, 68, 125, 132, 0, 228, 121, 75, 0, 57, 33, 2, 0, 107, 126, 170, 0, 6, 194, 14, 0, 249, 214, 250, 0, 111, 46, 128, 0, 138, 122, 144, 0, 183, 123, 58, 0, 94, 205, 163, 0, 62, 109, 198, 0, 242, 223, 249, 0, 69, 24, 186, 0, 138, 221, 194, 0, 162, 21, 141, 0, 187, 56, 51, 0, 253, 126, 163, 0, 13, 54, 27, 0, 214, 196, 114, 0, 156, 24, 178, 0, 83, 170, 224, 0, 121, 220, 161, 0, 28, 63, 195, 0, 136, 212, 246, 0, 38, 104, 32, 0, 133, 177, 19, 0, 169, 3, 26, 0, 111, 24, 84, 0, 99, 225, 197, 0, 20, 175, 48, 0, 203, 232, 118, 0, 188, 210, 13, 0, 120, 9, 40, 0, 31, 183, 25, 0, 168, 60, 74, 0, 100, 18, 85, 0, 216, 101, 230, 0, 106, 246, 104, 0, 78, 14, 6, 0, 46, 68, 1, 0, 246, 246, 40, 0, 26, 55, 36, 0, 141, 161, 97, 0, 186, 212, 130, 0, 132, 250, 136, 0, 133, 203, 248, 0, 26, 175, 46, 0, 211, 169, 206, 0, 201, 233, 149, 0, 37, 211, 13, 0, 235, 0, 65, 0, 41, 2, 159, 0, 91, 79, 38, 0, 46, 90, 130, 0, 95, 94, 138, 0, 12, 130, 39, 0, 223, 243, 106, 0, 175, 90, 207, 0, 155, 54, 62, 0, 177, 188, 251, 0, 101, 21, 183, 0, 208, 54, 193, 0, 147, 233, 156, 0, 204, 12, 62, 0, 165, 242, 168, 0, 177, 49, 136, 0, 239, 179, 27, 0, 142, 164, 52, 0, 166, 123, 110, 0, 248, 92, 238, 0, 42, 249, 29, 0, 211, 31, 76, 0, 78, 150, 235, 0, 201, 154, 68, 0, 45, 188, 248, 0, 49, 124, 225, 0, 171, 179, 184, 0, 193, 9, 106, 0, 220, 112, 38, 0, 244, 71, 235, 0, 56, 42, 205, 0, 248, 213, 234, 0, 190, 157, 52, 0, 71, 75, 129, 0, 34, 28, 75, 0, 182, 230, 175, 0, 173, 30, 8, 0, 204, 32, 237, 0, 41, 161, 248, 0, 109, 215, 176, 0, 84, 104, 220, 0, 132, 167, 172, 0, 59, 26, 132, 0, 8, 115, 143, 0, 72, 180, 115, 0, 162, 171, 91, 0, 246, 136, 92, 0, 82, 225, 84, 0, 100, 80, 80, 0, 26, 217, 33, 0, 221, 48, 103, 0, 74, 236, 162, 0, 233, 146, 124, 0, 226, 63, 232, 0, 59, 248, 16, 0, 28, 101, 137, 0, 96, 187, 5, 0, 242, 60, 126, 0, 171, 238, 16, 0, 36, 150, 162, 0, 100, 209, 59, 0, 129, 199, 166, 0, 15, 43, 111, 0, 23, 76, 57, 0, 208, 199, 206, 0, 23, 197, 215, 0, 103, 122, 15, 0, 230, 219, 10, 0, 19, 5, 235, 0, 135, 165, 153, 0, 38, 23, 221, 0, 68, 239, 210, 0, 66, 46, 147, 0, 221, 102, 76, 0, 253, 226, 47, 0, 191, 51, 142, 0, 218, 211, 41, 0, 71, 89, 140, 0, 75, 117, 97, 0, 233, 244, 181, 0, 12, 200, 29, 0, 211, 108, 231, 0, 115, 144, 195, 0, 230, 146, 165, 0, 16, 46, 85, 0, 31, 99, 183, 0, 245, 88, 119, 0, 198, 249, 32, 0, 92, 163, 146, 0, 218, 75, 4, 0, 105, 15, 44, 0, 239, 11, 79, 0, 231, 113, 172, 0, 46, 105, 44, 0, 253, 187, 195, 0, 109, 235, 254, 0, 119, 91, 157, 0, 215, 77, 148, 0, 96, 127, 242, 0, 246, 193, 89, 0, 87, 156, 56, 0, 170, 58, 238, 0, 250, 241, 2, 0, 119, 43, 10, 0, 152, 163, 53, 0, 12, 38, 235, 0, 42, 25, 191, 0, 124, 219, 59, 0, 228, 73, 181, 0, 55, 168, 204, 0, 59, 86, 127, 0, 136, 68, 21, 0, 101, 53, 108, 0, 51, 81, 115, 0, 189, 205, 243, 0, 190, 140, 218, 0, 108, 216, 194, 0, 207, 193, 216, 0, 65, 95, 177, 0, 44, 44, 234, 0, 62, 28, 146, 0, 211, 57, 163, 0, 94, 53, 236, 0, 253, 171, 53, 0, 187, 111, 113, 0, 208, 14, 195, 0, 114, 19, 106, 0, 81, 162, 171, 0, 7, 204, 142, 0, 176, 114, 151, 0, 180, 247, 175, 0, 108, 40, 213, 0, 59, 45, 109, 0, 84, 180, 26, 0, 126, 172, 214, 0, 81, 110, 228, 0, 153, 10, 254, 0, 220, 30, 161, 0, 219, 26, 170, 0, 25, 184, 192, 0, 66, 215, 62, 0, 164, 12, 102, 0, 136, 129, 59, 0, 116, 66, 58, 0, 117, 202, 112, 0, 196, 143, 203, 0, 250, 59, 15, 0, 65, 31, 168, 0, 87, 53, 83, 0, 141, 38, 122, 0, 228, 163, 36, 0, 160, 141, 38, 0, 19, 66, 143, 0, 250, 213, 95, 0, 67, 7, 249, 0, 147, 182, 171, 0, 146, 212, 57, 0, 167, 93, 50, 0, 69, 67, 65, 0, 95, 77, 191, 0, 13, 20, 37, 0, 94, 220, 43, 0, 254, 67, 55, 0, 188, 29, 82, 0, 144, 57, 33, 0, 122, 62, 238, 0, \ +139, 216, 176, 0, 231, 237, 147, 0, 162, 207, 180, 0, 84, 97, 187, 0, 28, 29, 224, 0, 45, 71, 44, 0, 9, 12, 178, 0, 61, 16, 215, 0, 19, 117, 114, 0, 196, 238, 123, 0, 197, 164, 254, 0, 152, 48, 7, 0, 54, 194, 211, 0, 141, 165, 247, 0, 145, 249, 235, 0, 225, 151, 203, 0, 117, 180, 102, 0, 170, 155, 229, 0, 253, 86, 21, 0, 252, 214, 209, 0, 34, 70, 8, 0, 213, 211, 116, 0, 149, 136, 23, 0, 42, 157, 154, 0, 231, 130, 88, 0, 6, 129, 147, 0, 19, 198, 39, 0, 175, 14, 86, 0, 32, 83, 50, 0, 87, 96, 159, 0, 74, 147, 31, 0, 162, 29, 239, 0, 36, 215, 56, 0, 208, 65, 216, 0, 193, 172, 193, 0, 224, 235, 4, 0, 64, 191, 131, 0, 46, 11, 220, 0, 58, 140, 85, 0, 44, 247, 8, 0, 145, 238, 70, 0, 182, 25, 110, 0, 11, 228, 215, 0, 155, 87, 65, 0, 161, 240, 224, 0, 119, 230, 194, 0, 75, 105, 153, 0, 196, 169, 28, 0, 215, 139, 77, 0, 68, 47, 196, 0, 134, 121, 188, 0, 13, 250, 36, 0, 69, 2, 23, 0, 214, 182, 118, 0, 225, 27, 162, 0, 50, 120, 220, 0, 204, 146, 202, 0, 127, 178, 32, 0, 147, 36, 205, 0, 65, 195, 221, 0, 115, 81, 237, 0, 201, 60, 182, 0, 0, 5, 253, 0, 15, 175, 58, 0, 132, 240, 153, 0, 180, 233, 198, 0, 78, 91, 47, 0, 42, 128, 112, 0, 234, 125, 150, 0, 252, 52, 9, 0, 74, 118, 4, 0, 173, 192, 93, 0, 38, 45, 62, 0, 138, 18, 160, 0, 26, 64, 89, 0, 138, 228, 144, 0, 52, 127, 172, 0, 79, 14, 200, 0, 239, 188, 18, 0, 74, 42, 248, 0, 32, 177, 181, 0, 200, 62, 112, 0, 180, 160, 250, 0, 232, 226, 222, 0, 233, 55, 105, 0, 128, 173, 0, 0, 152, 245, 43, 0, 112, 153, 209, 0, 237, 94, 217, 0, 119, 195, 126, 0, 27, 232, 145, 0, 207, 219, 181, 0, 63, 183, 52, 0, 121, 49, 112, 0, 230, 126, 38, 0, 239, 131, 98, 0, 137, 62, 7, 0, 213, 127, 20, 0, 151, 201, 97, 0, 55, 247, 157, 0, 40, 173, 184, 0, 166, 178, 10, 0, 43, 114, 221, 0, 82, 7, 169, 0, 64, 140, 231, 0, 43, 11, 80, 0, 158, 179, 107, 0, 80, 238, 214, 0, 59, 40, 82, 0, 44, 219, 175, 0, 207, 102, 191, 0, 174, 103, 8, 0, 98, 189, 156, 0, 216, 181, 236, 0, 113, 69, 36, 0, 146, 204, 179, 0, 90, 214, 81, 0, 90, 181, 204, 0, 116, 254, 93, 0, 196, 134, 34, 0, 247, 124, 163, 0, 106, 126, 77, 0, 119, 137, 155, 0, 114, 68, 53, 0, 2, 204, 76, 0, 234, 39, 36, 0, 36, 171, 216, 0, 205, 57, 147, 0, 99, 203, 112, 0, 105, 34, 242, 0, 221, 105, 26, 0, 170, 199, 243, 0, 159, 231, 61, 0, 177, 26, 232, 0, 63, 213, 229, 0, 64, 26, 217, 0, 211, 242, 90, 0, 34, 77, 230, 0, 14, 238, 42, 0, 127, 171, 141, 0, 61, 64, 83, 0, 9, 68, 221, 0, 107, 156, 170, 0, 90, 14, 149, 0, 38, 249, 86, 0, 87, 10, 214, 0, 141, 135, 126, 0, 170, 186, 102, 0, 212, 21, 150, 0, 169, 236, 214, 0, 111, 19, 4, 0, 186, 244, 96, 0, 235, 56, 154, 0, 95, 187, 84, 0, 207, 129, 100, 0, 110, 2, 71, 0, 15, 6, 61, 0, 3, 188, 224, 0, 171, 176, 156, 0, 235, 193, 41, 0, 239, 89, 196, 0, 13, 188, 130, 0, 198, 153, 75, 0, 241, 221, 218, 0, 208, 166, 42, 0, 56, 119, 164, 0, 12, 24, 184, 0, 248, 144, 53, 0, 193, 79, 142, 0, 157, 160, 42, 0, 212, 232, 170, 0, 147, 236, 79, 0, 226, 3, 93, 0, 74, 51, 163, 0, 53, 48, 222, 0, 55, 204, 71, 0, 34, 170, 99, 0, 12, 7, 194, 0, 94, 20, 30, 0, 227, 78, 21, 0, 35, 166, 139, 0, 218, 228, 9, 0, 49, 100, 130, 0, 185, 241, 59, 0, 78, 40, 21, 0, 224, 105, 137, 0, 40, 130, 183, 0, 234, 177, 164, 0, 54, 127, 186, 0, 239, 13, 94, 0, 192, 54, 101, 0, 248, 150, 171, 0, 129, 58, 41, 0, 31, 83, 7, 0, 218, 185, 107, 0, 92, 97, 26, 0, 148, 51, 218, 0, 23, 216, 129, 0, 90, 185, 211, 0, 229, 245, 53, 0, 137, 221, 45, 0, 119, 185, 76, 0, 201, 219, 114, 0, 43, 73, 136, 0, 21, 254, 208, 0, 205, 96, 127, 0, 117, 234, 47, 0, 204, 215, 230, 0, 4, 106, 201, 0, 161, 164, 30, 0, 98, 69, 5, 0, 140, 157, 33, 0, 166, 57, 117, 0, 246, 28, 229, 0, 91, 200, 85, 0, 162, 227, 248, 0, 97, 138, 120, 0, 63, 167, 41, 0, 150, 206, 16, 0, 67, 189, 182, 0, 212, 82, 142, 0, 236, 74, 170, 0, 95, 191, 81, 0, 130, 27, 69, 0, \ +125, 168, 249, 0, 4, 157, 27, 0, 47, 228, 131, 0, 15, 102, 142, 0, 63, 72, 120, 0, 91, 73, 195, 0, 33, 221, 65, 0, 250, 15, 239, 0, 145, 199, 201, 0, 88, 168, 169, 0, 224, 181, 224, 0, 163, 1, 250, 0, 122, 38, 99, 0, 7, 122, 227, 0, 79, 171, 149, 0, 77, 145, 208, 0, 124, 141, 223, 0, 44, 172, 2, 0, 104, 203, 63, 0, 132, 24, 197, 0, 127, 247, 188, 0, 112, 182, 19, 0, 152, 219, 217, 0, 59, 97, 174, 0, 70, 132, 206, 0, 111, 45, 166, 0, 200, 249, 27, 0, 7, 133, 197, 0, 222, 150, 98, 0, 152, 93, 156, 0, 185, 158, 156, 0, 224, 61, 196, 0, 44, 253, 74, 0, 54, 4, 11, 0, 41, 78, 222, 0, 239, 205, 181, 0, 17, 60, 9, 0, 141, 186, 12, 0, 102, 215, 90, 0, 161, 139, 154, 0, 199, 200, 104, 0, 186, 188, 167, 0, 208, 64, 94, 0, 8, 105, 118, 0, 185, 21, 241, 0, 4, 218, 183, 0, 163, 249, 57, 0, 215, 148, 169, 0, 240, 150, 252, 0, 202, 211, 240, 0, 173, 187, 180, 0, 224, 21, 92, 0, 78, 229, 2, 0, 187, 193, 229, 0, 153, 143, 155, 0, 167, 36, 46, 0, 125, 66, 30, 0, 158, 246, 209, 0, 124, 99, 63, 0, 101, 133, 148, 0, 66, 49, 154, 0, 135, 121, 223, 0, 0, 75, 88, 0, 13, 192, 204, 0, 235, 156, 20, 0, 249, 56, 252, 0, 49, 114, 149, 0, 181, 212, 193, 0, 125, 63, 202, 0, 121, 83, 161, 0, 226, 132, 226, 0, 238, 21, 106, 0, 109, 219, 59, 0, 43, 126, 240, 0, 239, 207, 248, 0, 171, 57, 88, 0, 211, 185, 136, 0, 88, 216, 191, 0, 15, 41, 26, 0, 218, 31, 4, 0, 9, 127, 199, 0, 41, 115, 43, 0, 158, 139, 254, 0, 4, 10, 149, 0, 100, 55, 125, 0, 177, 199, 19, 0, 155, 97, 168, 0, 189, 247, 1, 0, 245, 246, 71, 0, 111, 81, 85, 0, 12, 230, 251, 0, 249, 14, 188, 0, 175, 230, 13, 0, 141, 133, 79, 0, 232, 246, 224, 0, 182, 67, 175, 0, 231, 84, 79, 0, 199, 12, 22, 0, 198, 236, 169, 0, 181, 125, 193, 0, 232, 14, 246, 0, 58, 154, 184, 0, 203, 188, 201, 0, 116, 237, 219, 0, 86, 7, 233, 0, 33, 193, 62, 0, 211, 103, 235, 0, 243, 17, 72, 0, 47, 93, 74, 0, 55, 130, 228, 0, 2, 94, 140, 0, 53, 196, 201, 0, 44, 47, 233, 0, 139, 150, 251, 0, 177, 94, 133, 0, 209, 80, 81, 0, 61, 179, 209, 0, 6, 110, 205, 0, 91, 168, 95, 0, 94, 119, 136, 0, 115, 46, 49, 0, 71, 219, 161, 0, 164, 206, 87, 0, 240, 119, 84, 0, 224, 125, 187, 0, 31, 26, 41, 0, 102, 14, 141, 0, 62, 46, 39, 0, 15, 198, 171, 0, 131, 211, 197, 0, 128, 216, 36, 0, 126, 28, 152, 0, 201, 248, 80, 0, 203, 90, 30, 0, 35, 31, 250, 0, 50, 97, 124, 0, 11, 226, 150, 0, 193, 230, 177, 0, 80, 88, 180, 0, 76, 229, 166, 0, 230, 198, 109, 0, 105, 234, 57, 0, 161, 182, 231, 0, 87, 10, 69, 0, 179, 16, 160, 0, 108, 74, 114, 0, 96, 163, 12, 0, 52, 75, 117, 0, 225, 54, 89, 0, 18, 192, 233, 0, 251, 144, 148, 0, 112, 4, 120, 0, 245, 214, 108, 0, 32, 201, 77, 0, 68, 208, 201, 0, 179, 244, 41, 0, 23, 165, 7, 0, 181, 124, 89, 0, 63, 133, 119, 0, 75, 142, 12, 0, 64, 125, 220, 0, 111, 158, 75, 0, 71, 10, 170, 0, 136, 74, 198, 0, 204, 21, 120, 0, 61, 165, 13, 0, 172, 94, 254, 0, 191, 21, 129, 0, 18, 174, 173, 0, 234, 8, 134, 0, 161, 104, 180, 0, 182, 3, 28, 0, 40, 248, 45, 0, 201, 147, 114, 0, 78, 94, 6, 0, 28, 54, 200, 0, 56, 85, 14, 0, 190, 184, 43, 0, 105, 218, 92, 0, 92, 65, 43, 0, 149, 105, 88, 0, 183, 31, 234, 0, 232, 34, 127, 0, 152, 206, 54, 0, 134, 26, 162, 0, 137, 106, 107, 0, 202, 219, 222, 0, 73, 150, 155, 0, 102, 221, 170, 0, 220, 80, 180, 0, 34, 3, 68, 0, 159, 21, 127, 0, 151, 158, 134, 0, 90, 245, 126, 0, 138, 137, 22, 0, 5, 176, 118, 0, 160, 194, 87, 0, 137, 21, 71, 0, 215, 77, 243, 0, 32, 237, 95, 0, 146, 96, 21, 0, 109, 81, 217, 0, 248, 177, 188, 0, 198, 248, 117, 0, 21, 153, 103, 0, 98, 8, 103, 0, 188, 105, 252, 0, 87, 147, 231, 0, 102, 174, 88, 0, 111, 69, 254, 0, 46, 197, 190, 0, 20, 212, 189, 0, 52, 30, 239, 0, 59, 193, 80, 0, 239, 24, 138, 0, 163, 121, 218, 0, 34, 252, 76, 0, 39, 85, 177, 0, 162, 128, 197, 0, 216, 16, 142, 0, 141, 97, 166, 0, 86, 60, 215, 0, 145, 109, 134, 0, 250, 8, 25, 0, \ +26, 2, 77, 0, 71, 8, 33, 0, 12, 109, 79, 0, 123, 247, 128, 0, 97, 20, 12, 0, 62, 242, 195, 0, 79, 112, 108, 0, 114, 96, 24, 0, 119, 161, 172, 0, 99, 65, 1, 0, 218, 252, 48, 0, 224, 153, 130, 0, 224, 165, 155, 0, 194, 212, 139, 0, 183, 41, 172, 0, 64, 231, 110, 0, 174, 210, 121, 0, 172, 98, 121, 0, 253, 12, 162, 0, 14, 168, 218, 0, 226, 169, 99, 0, 52, 59, 138, 0, 183, 119, 46, 0, 37, 106, 60, 0, 161, 192, 56, 0, 159, 62, 119, 0, 198, 119, 246, 0, 244, 228, 187, 0, 16, 39, 78, 0, 244, 225, 97, 0, 198, 31, 64, 0, 230, 26, 112, 0, 178, 19, 128, 0, 75, 205, 243, 0, 214, 246, 8, 0, 176, 149, 219, 0, 123, 107, 55, 0, 8, 99, 33, 0, 136, 118, 55, 0, 23, 111, 158, 0, 229, 39, 168, 0, 69, 117, 188, 0, 232, 106, 3, 0, 254, 137, 251, 0, 50, 220, 159, 0, 55, 117, 11, 0, 145, 78, 62, 0, 172, 81, 197, 0, 157, 57, 39, 0, 102, 162, 121, 0, 31, 24, 150, 0, 193, 238, 53, 0, 20, 96, 5, 0, 38, 244, 19, 0, 253, 137, 111, 0, 226, 231, 82, 0, 110, 186, 94, 0, 157, 207, 31, 0, 181, 1, 103, 0, 5, 74, 73, 0, 123, 202, 178, 0, 230, 31, 54, 0, 163, 75, 78, 0, 69, 216, 20, 0, 63, 208, 56, 0, 121, 226, 75, 0, 8, 244, 9, 0, 111, 249, 96, 0, 190, 128, 104, 0, 125, 176, 208, 0, 62, 228, 124, 0, 236, 241, 151, 0, 221, 36, 80, 0, 68, 145, 37, 0, 247, 184, 208, 0, 240, 100, 55, 0, 204, 163, 64, 0, 133, 140, 202, 0, 213, 200, 48, 0, 171, 89, 31, 0, 227, 48, 63, 0, 154, 202, 52, 0, 64, 167, 120, 0, 159, 82, 103, 0, 10, 57, 226, 0, 82, 128, 218, 0, 34, 249, 112, 0, 71, 99, 45, 0, 235, 58, 140, 0, 72, 37, 28, 0, 236, 81, 58, 0, 252, 124, 210, 0, 186, 160, 45, 0, 125, 211, 5, 0, 150, 176, 239, 0, 200, 208, 24, 0, 217, 102, 110, 0, 23, 118, 53, 0, 221, 11, 181, 0, 61, 223, 232, 0, 112, 69, 29, 0, 223, 39, 243, 0, 169, 39, 114, 0, 71, 103, 98, 0, 157, 0, 127, 0, 134, 70, 97, 0, 54, 92, 251, 0, 73, 38, 70, 0, 31, 36, 252, 0, 97, 50, 169, 0, 184, 149, 3, 0, 186, 143, 147, 0, 96, 54, 174, 0, 225, 117, 182, 0, 7, 244, 13, 0, 175, 165, 254, 0, 113, 221, 52, 0, 10, 141, 166, 0, 167, 165, 87, 0, 40, 39, 171, 0, 67, 149, 30, 0, 76, 26, 68, 0, 147, 161, 211, 0, 8, 209, 225, 0, 229, 142, 134, 0, 130, 189, 31, 0, 217, 119, 56, 0, 88, 27, 58, 0, 40, 41, 249, 0, 202, 118, 136, 0, 57, 53, 240, 0, 44, 159, 49, 0, 174, 220, 227, 0, 142, 208, 63, 0, 76, 206, 219, 0, 115, 244, 7, 0, 30, 87, 21, 0, 133, 196, 107, 0, 96, 39, 95, 0, 185, 242, 118, 0, 31, 194, 165, 0, 109, 136, 43, 0, 25, 33, 149, 0, 65, 167, 131, 0, 2, 26, 240, 0, 169, 63, 209, 0, 61, 51, 251, 0, 135, 153, 25, 0, 89, 62, 125, 0, 191, 174, 73, 0, 53, 176, 155, 0, 73, 230, 252, 0, 175, 3, 31, 0, 167, 11, 169, 0, 59, 68, 87, 0, 79, 203, 23, 0, 84, 231, 155, 0, 209, 106, 127, 0, 68, 168, 254, 0, 221, 194, 16, 0, 2, 67, 22, 0, 241, 217, 12, 0, 114, 211, 44, 0, 133, 64, 148, 0, 157, 77, 240, 0, 80, 189, 230, 0, 70, 69, 171, 0, 163, 169, 110, 0, 170, 133, 106, 0, 215, 18, 8, 0, 174, 242, 57, 0, 33, 98, 4, 0, 170, 247, 178, 0, 36, 10, 193, 0, 204, 163, 139, 0, 77, 17, 166, 0, 20, 108, 141, 0, 118, 8, 142, 0, 220, 202, 2, 0, 208, 25, 60, 0, 199, 60, 201, 0, 78, 209, 244, 0, 29, 197, 204, 0, 95, 5, 174, 0, 26, 201, 108, 0, 227, 226, 179, 0, 251, 227, 13, 0, 93, 12, 130, 0, 21, 105, 93, 0, 226, 79, 75, 0, 118, 228, 70, 0, 39, 158, 100, 0, 75, 161, 165, 0, 204, 219, 139, 0, 139, 193, 109, 0, 234, 145, 240, 0, 228, 179, 241, 0, 174, 110, 149, 0, 93, 140, 194, 0, 92, 66, 132, 0, 112, 216, 130, 0, 8, 234, 111, 0, 20, 222, 158, 0, 40, 135, 150, 0, 111, 219, 51, 0, 8, 223, 243, 0, 140, 221, 138, 0, 200, 15, 76, 0, 72, 91, 100, 0, 214, 159, 5, 0, 213, 21, 69, 0, 107, 72, 45, 0, 184, 223, 83, 0, 98, 75, 163, 0, 241, 226, 63, 0, 35, 246, 197, 0, 40, 226, 190, 0, 18, 82, 116, 0, 179, 65, 190, 0, 142, 23, 250, 0, 171, 161, 143, 0, 44, 110, 179, 0, 80, 113, 35, 0, 132, 112, 70, 0, \ +178, 180, 36, 0, 27, 27, 110, 0, 238, 164, 88, 0, 108, 239, 117, 0, 243, 197, 180, 0, 196, 192, 34, 0, 83, 155, 209, 0, 208, 79, 227, 0, 118, 18, 102, 0, 146, 53, 237, 0, 127, 138, 156, 0, 21, 153, 131, 0, 29, 229, 36, 0, 215, 71, 67, 0, 35, 112, 17, 0, 70, 249, 80, 0, 179, 217, 201, 0, 116, 166, 244, 0, 74, 198, 131, 0, 55, 238, 209, 0, 229, 89, 34, 0, 77, 157, 125, 0, 121, 26, 242, 0, 217, 188, 208, 0, 241, 73, 141, 0, 208, 145, 93, 0, 116, 88, 118, 0, 152, 99, 51, 0, 99, 140, 27, 0, 190, 83, 28, 0, 41, 59, 192, 0, 188, 188, 70, 0, 196, 111, 221, 0, 25, 246, 213, 0, 126, 142, 226, 0, 235, 3, 233, 0, 100, 129, 10, 0, 35, 40, 82, 0, 15, 115, 242, 0, 146, 112, 177, 0, 185, 235, 227, 0, 3, 11, 190, 0, 57, 243, 15, 0, 148, 226, 107, 0, 13, 34, 9, 0, 212, 146, 168, 0, 58, 91, 15, 0, 0, 163, 65, 0, 137, 54, 249, 0, 251, 178, 242, 0, 45, 143, 31, 0, 87, 228, 246, 0, 29, 132, 53, 0, 189, 16, 59, 0, 231, 245, 71, 0, 211, 145, 207, 0, 101, 162, 35, 0, 109, 211, 146, 0, 229, 74, 116, 0, 118, 55, 223, 0, 39, 246, 168, 0, 197, 87, 5, 0, 215, 211, 162, 0, 94, 15, 133, 0, 65, 251, 175, 0, 201, 87, 46, 0, 92, 183, 0, 0, 77, 239, 55, 0, 22, 150, 145, 0, 188, 108, 51, 0, 189, 48, 173, 0, 30, 130, 215, 0, 175, 149, 0, 0, 54, 118, 88, 0, 252, 146, 237, 0, 156, 163, 46, 0, 80, 180, 183, 0, 235, 69, 153, 0, 98, 132, 157, 0, 74, 62, 46, 0, 246, 69, 185, 0, 150, 109, 198, 0, 198, 7, 128, 0, 253, 176, 129, 0, 174, 40, 201, 0, 109, 198, 84, 0, 96, 87, 156, 0, 161, 86, 25, 0, 221, 121, 30, 0, 246, 209, 241, 0, 184, 56, 98, 0, 9, 136, 163, 0, 25, 132, 154, 0, 245, 27, 181, 0, 51, 226, 96, 0, 168, 222, 142, 0, 60, 212, 254, 0, 33, 136, 55, 0, 154, 11, 139, 0, 36, 247, 245, 0, 94, 193, 243, 0, 104, 84, 194, 0, 254, 91, 207, 0, 33, 47, 182, 0, 80, 157, 148, 0, 62, 62, 231, 0, 204, 169, 222, 0, 228, 250, 97, 0, 53, 230, 95, 0, 170, 218, 62, 0, 248, 177, 108, 0, 34, 191, 181, 0, 89, 65, 128, 0, 3, 245, 105, 0, 108, 173, 68, 0, 231, 112, 31, 0, 48, 153, 142, 0, 136, 95, 141, 0, 164, 171, 206, 0, 134, 34, 76, 0, 88, 61, 212, 0, 58, 82, 52, 0, 167, 244, 217, 0, 254, 0, 174, 0, 222, 79, 137, 0, 149, 60, 72, 0, 39, 51, 78, 0, 249, 248, 121, 0, 39, 102, 248, 0, 148, 105, 129, 0, 85, 58, 92, 0, 54, 161, 180, 0, 16, 216, 184, 0, 65, 193, 252, 0, 28, 180, 106, 0, 21, 223, 174, 0, 158, 33, 30, 0, 179, 19, 163, 0, 11, 38, 29, 0, 201, 4, 69, 0, 52, 244, 144, 0, 19, 34, 199, 0, 16, 65, 191, 0, 75, 100, 216, 0, 97, 253, 143, 0, 73, 114, 72, 0, 249, 142, 120, 0, 112, 127, 237, 0, 18, 61, 192, 0, 10, 52, 163, 0, 167, 103, 50, 0, 112, 156, 18, 0, 174, 167, 239, 0, 91, 180, 5, 0, 186, 5, 53, 0, 47, 99, 12, 0, 197, 225, 79, 0, 158, 231, 191, 0, 91, 75, 150, 0, 181, 169, 122, 0, 44, 166, 159, 0, 214, 159, 172, 0, 39, 46, 218, 0, 23, 14, 99, 0, 13, 241, 1, 0, 32, 87, 218, 0, 32, 91, 209, 0, 153, 33, 80, 0, 83, 124, 65, 0, 138, 222, 202, 0, 33, 179, 67, 0, 62, 131, 164, 0, 86, 15, 174, 0, 251, 247, 44, 0, 199, 226, 251, 0, 48, 176, 0, 0, 211, 242, 48, 0, 216, 117, 189, 0, 242, 228, 40, 0, 122, 187, 42, 0, 232, 113, 119, 0, 15, 159, 29, 0, 172, 205, 150, 0, 13, 139, 153, 0, 125, 107, 113, 0, 135, 200, 90, 0, 71, 109, 82, 0, 122, 137, 208, 0, 18, 50, 204, 0, 68, 186, 237, 0, 46, 67, 107, 0, 142, 107, 160, 0, 134, 49, 103, 0, 89, 133, 5, 0, 152, 253, 31, 0, 174, 56, 9, 0, 182, 60, 50, 0, 68, 7, 170, 0, 173, 133, 201, 0, 89, 204, 129, 0, 2, 21, 197, 0, 92, 71, 180, 0, 1, 217, 240, 0, 178, 44, 98, 0, 113, 13, 149, 0, 150, 254, 162, 0, 211, 76, 102, 0, 7, 206, 78, 0, 232, 210, 120, 0, 26, 77, 90, 0, 32, 49, 215, 0, 210, 157, 51, 0, 193, 248, 193, 0, 212, 181, 82, 0, 131, 143, 151, 0, 45, 108, 11, 0, 42, 229, 194, 0, 163, 161, 74, 0, 84, 127, 185, 0, 183, 168, 31, 0, 41, 11, 239, 0, 244, 221, 168, 0, 159, 4, 133, 0, 245, 186, 54, 0, \ +8, 38, 14, 0, 125, 189, 163, 0, 22, 126, 69, 0, 181, 51, 211, 0, 226, 173, 244, 0, 225, 1, 118, 0, 222, 29, 242, 0, 31, 62, 33, 0, 141, 146, 162, 0, 244, 38, 202, 0, 42, 229, 38, 0, 219, 60, 140, 0, 71, 233, 36, 0, 111, 73, 132, 0, 106, 167, 216, 0, 171, 239, 239, 0, 41, 72, 234, 0, 101, 217, 175, 0, 4, 32, 44, 0, 207, 66, 123, 0, 10, 173, 116, 0, 109, 157, 112, 0, 44, 174, 114, 0, 52, 50, 202, 0, 198, 186, 43, 0, 241, 218, 56, 0, 236, 72, 151, 0, 178, 194, 88, 0, 207, 52, 151, 0, 248, 139, 133, 0, 208, 104, 70, 0, 221, 17, 236, 0, 172, 165, 182, 0, 99, 92, 59, 0, 197, 28, 251, 0, 223, 162, 237, 0, 38, 186, 68, 0, 22, 159, 13, 0, 42, 158, 165, 0, 86, 113, 150, 0, 190, 74, 145, 0, 162, 108, 222, 0, 14, 35, 150, 0, 221, 231, 132, 0, 152, 141, 201, 0, 53, 45, 233, 0, 158, 170, 161, 0, 41, 200, 47, 0, 70, 227, 209, 0, 64, 112, 250, 0, 174, 80, 204, 0, 136, 76, 64, 0, 6, 223, 44, 0, 47, 98, 141, 0, 251, 26, 21, 0, 250, 112, 154, 0, 234, 61, 8, 0, 0, 89, 205, 0, 93, 15, 202, 0, 196, 56, 7, 0, 50, 44, 90, 0, 90, 60, 209, 0, 170, 107, 128, 0, 31, 9, 24, 0, 23, 164, 37, 0, 96, 92, 6, 0, 193, 146, 84, 0, 181, 148, 91, 0, 131, 83, 52, 0, 67, 99, 218, 0, 184, 22, 46, 0, 71, 176, 155, 0, 136, 66, 21, 0, 49, 71, 133, 0, 116, 163, 86, 0, 136, 148, 114, 0, 138, 115, 245, 0, 248, 216, 4, 0, 79, 12, 184, 0, 3, 77, 124, 0, 230, 168, 192, 0, 245, 200, 89, 0, 249, 115, 99, 0, 177, 154, 196, 0, 81, 81, 112, 0, 19, 120, 14, 0, 191, 112, 33, 0, 76, 236, 12, 0, 74, 60, 92, 0, 52, 100, 173, 0, 199, 159, 172, 0, 147, 144, 78, 0, 222, 173, 113, 0, 183, 180, 212, 0, 210, 134, 45, 0, 161, 233, 89, 0, 216, 191, 38, 0, 149, 174, 41, 0, 55, 253, 20, 0, 19, 209, 103, 0, 58, 170, 247, 0, 13, 202, 19, 0, 137, 160, 33, 0, 235, 32, 3, 0, 192, 161, 24, 0, 79, 67, 234, 0, 0, 19, 241, 0, 190, 220, 244, 0, 118, 69, 118, 0, 69, 164, 76, 0, 203, 121, 44, 0, 88, 207, 169, 0, 102, 79, 204, 0, 168, 54, 189, 0, 46, 10, 234, 0, 152, 158, 112, 0, 15, 104, 162, 0, 94, 249, 197, 0, 152, 87, 93, 0, 120, 192, 123, 0, 132, 120, 78, 0, 229, 32, 233, 0, 226, 94, 208, 0, 82, 43, 10, 0, 153, 64, 99, 0, 18, 202, 136, 0, 234, 227, 6, 0, 177, 117, 187, 0, 197, 22, 0, 0, 207, 184, 118, 0, 43, 220, 12, 0, 180, 0, 205, 0, 53, 142, 217, 0, 174, 249, 181, 0, 155, 75, 95, 0, 133, 242, 218, 0, 96, 178, 180, 0, 214, 170, 16, 0, 106, 222, 209, 0, 89, 215, 80, 0, 237, 74, 234, 0, 13, 206, 155, 0, 35, 141, 95, 0, 126, 125, 114, 0, 46, 77, 79, 0, 249, 187, 114, 0, 30, 193, 194, 0, 138, 20, 244, 0, 94, 101, 27, 0, 204, 132, 63, 0, 165, 189, 62, 0, 115, 144, 163, 0, 26, 119, 248, 0, 56, 143, 138, 0, 91, 150, 70, 0, 212, 95, 248, 0, 232, 152, 141, 0, 220, 132, 138, 0, 249, 203, 75, 0, 250, 32, 152, 0, 57, 64, 140, 0, 90, 134, 102, 0, 35, 65, 66, 0, 251, 133, 155, 0, 115, 166, 45, 0, 218, 243, 148, 0, 57, 62, 213, 0, 97, 207, 6, 0, 41, 41, 211, 0, 164, 113, 51, 0, 17, 20, 246, 0, 224, 111, 20, 0, 221, 249, 1, 0, 148, 88, 76, 0, 250, 219, 204, 0, 230, 36, 21, 0, 207, 168, 50, 0, 68, 121, 2, 0, 66, 177, 153, 0, 73, 88, 70, 0, 207, 96, 249, 0, 49, 159, 13, 0, 211, 170, 2, 0, 96, 57, 149, 0, 60, 222, 107, 0, 220, 168, 89, 0, 230, 188, 6, 0, 146, 87, 100, 0, 106, 89, 220, 0, 0, 187, 166, 0, 115, 160, 187, 0, 243, 203, 181, 0, 162, 199, 98, 0, 91, 213, 148, 0, 144, 142, 165, 0, 228, 237, 100, 0, 150, 94, 5, 0, 166, 75, 216, 0, 155, 191, 4, 0, 93, 214, 127, 0, 112, 177, 239, 0, 186, 85, 81, 0, 186, 82, 93, 0, 219, 89, 187, 0, 197, 33, 42, 0, 15, 130, 68, 0, 232, 79, 134, 0, 218, 132, 73, 0, 83, 48, 161, 0, 191, 206, 48, 0, 3, 153, 15, 0, 55, 10, 60, 0, 98, 45, 24, 0, 102, 121, 82, 0, 212, 38, 210, 0, 2, 12, 136, 0, 201, 69, 74, 0, 210, 116, 95, 0, 175, 4, 213, 0, 31, 1, 244, 0, 253, 145, 21, 0, 171, 178, 77, 0, 37, 123, 145, 0, 178, 205, 29, 0, \ +9, 195, 229, 0, 85, 195, 192, 0, 215, 197, 92, 0, 200, 222, 236, 0, 38, 138, 241, 0, 220, 112, 184, 0, 118, 28, 77, 0, 23, 198, 67, 0, 241, 81, 90, 0, 41, 95, 54, 0, 121, 88, 74, 0, 81, 54, 127, 0, 220, 144, 174, 0, 217, 77, 88, 0, 53, 161, 242, 0, 190, 143, 7, 0, 181, 113, 162, 0, 79, 213, 62, 0, 149, 33, 140, 0, 74, 169, 21, 0, 40, 152, 203, 0, 179, 110, 128, 0, 15, 179, 53, 0, 223, 132, 121, 0, 107, 200, 168, 0, 188, 136, 30, 0, 184, 47, 194, 0, 77, 220, 30, 0, 243, 51, 89, 0, 62, 134, 207, 0, 76, 5, 83, 0, 50, 137, 166, 0, 38, 49, 194, 0, 139, 48, 23, 0, 164, 40, 215, 0, 238, 237, 113, 0, 223, 83, 248, 0, 168, 228, 249, 0, 168, 68, 220, 0, 220, 195, 77, 0, 87, 117, 119, 0, 77, 157, 52, 0, 74, 122, 251, 0, 53, 248, 87, 0, 16, 47, 107, 0, 66, 204, 252, 0, 106, 48, 191, 0, 9, 6, 237, 0, 41, 214, 76, 0, 172, 133, 76, 0, 22, 149, 151, 0, 106, 245, 26, 0, 244, 20, 171, 0, 232, 120, 170, 0, 30, 66, 105, 0, 182, 143, 189, 0, 72, 153, 209, 0, 119, 200, 193, 0, 236, 85, 140, 0, 252, 128, 251, 0, 185, 237, 162, 0, 24, 160, 67, 0, 188, 32, 103, 0, 49, 189, 115, 0, 53, 149, 12, 0, 64, 136, 29, 0, 166, 223, 83, 0, 213, 72, 216, 0, 13, 133, 53, 0, 105, 116, 51, 0, 112, 225, 35, 0, 169, 247, 242, 0, 181, 144, 40, 0, 163, 24, 105, 0, 227, 119, 213, 0, 126, 250, 132, 0, 71, 207, 73, 0, 70, 162, 121, 0, 125, 180, 83, 0, 110, 229, 200, 0, 241, 21, 143, 0, 2, 108, 91, 0, 171, 75, 66, 0, 17, 6, 145, 0, 198, 111, 66, 0, 25, 55, 212, 0, 80, 18, 85, 0, 10, 145, 253, 0, 29, 231, 224, 0, 63, 148, 219, 0, 246, 218, 102, 0, 58, 209, 62, 0, 43, 241, 118, 0, 46, 128, 74, 0, 213, 154, 172, 0, 68, 116, 248, 0, 221, 170, 24, 0, 168, 80, 24, 0, 87, 169, 195, 0, 244, 45, 108, 0, 113, 12, 3, 0, 125, 244, 0, 0, 159, 177, 16, 0, 106, 134, 171, 0, 56, 101, 185, 0, 93, 73, 154, 0, 58, 132, 184, 0, 246, 5, 58, 0, 10, 105, 136, 0, 197, 235, 213, 0, 40, 180, 65, 0, 232, 76, 111, 0, 149, 184, 71, 0, 18, 95, 136, 0, 253, 124, 144, 0, 62, 73, 167, 0, 53, 26, 124, 0, 139, 86, 222, 0, 213, 135, 247, 0, 121, 184, 32, 0, 36, 152, 195, 0, 125, 135, 210, 0, 137, 160, 204, 0, 246, 92, 204, 0, 240, 146, 169, 0, 249, 125, 162, 0, 222, 109, 45, 0, 219, 84, 230, 0, 120, 155, 172, 0, 36, 35, 48, 0, 88, 42, 117, 0, 146, 25, 192, 0, 248, 38, 47, 0, 92, 124, 108, 0, 246, 162, 227, 0, 167, 67, 114, 0, 94, 106, 37, 0, 35, 83, 184, 0, 120, 126, 249, 0, 178, 151, 41, 0, 236, 139, 165, 0, 2, 113, 194, 0, 170, 112, 167, 0, 159, 137, 249, 0, 209, 208, 100, 0, 94, 24, 172, 0, 62, 136, 229, 0, 32, 49, 145, 0, 130, 215, 14, 0, 211, 215, 180, 0, 17, 147, 237, 0, 163, 197, 28, 0, 73, 233, 65, 0, 124, 75, 145, 0, 211, 112, 236, 0, 42, 229, 206, 0, 140, 11, 72, 0, 8, 239, 159, 0, 169, 230, 43, 0, 242, 221, 19, 0, 112, 191, 153, 0, 26, 40, 145, 0, 130, 45, 1, 0, 18, 91, 251, 0, 57, 40, 241, 0, 235, 189, 59, 0, 44, 215, 74, 0, 152, 60, 166, 0, 98, 131, 234, 0, 243, 58, 54, 0, 111, 202, 41, 0, 125, 88, 105, 0, 239, 15, 91, 0, 249, 231, 105, 0, 244, 235, 62, 0, 239, 51, 203, 0, 42, 2, 221, 0, 3, 198, 106, 0, 45, 69, 104, 0, 117, 35, 219, 0, 235, 23, 153, 0, 74, 217, 91, 0, 14, 48, 136, 0, 9, 133, 63, 0, 218, 206, 236, 0, 156, 62, 145, 0, 111, 150, 141, 0, 234, 34, 60, 0, 229, 251, 2, 0, 3, 193, 153, 0, 174, 43, 161, 0, 226, 232, 80, 0, 63, 215, 27, 0, 176, 25, 110, 0, 6, 101, 147, 0, 12, 210, 53, 0, 141, 55, 81, 0, 149, 107, 99, 0, 57, 171, 151, 0, 170, 52, 5, 0, 14, 213, 83, 0, 202, 200, 128, 0, 246, 155, 245, 0, 216, 128, 52, 0, 245, 34, 187, 0, 198, 84, 145, 0, 84, 34, 199, 0, 182, 34, 11, 0, 141, 96, 151, 0, 166, 68, 79, 0, 164, 231, 85, 0, 72, 143, 200, 0, 253, 5, 71, 0, 90, 165, 35, 0, 109, 3, 107, 0, 56, 49, 24, 0, 99, 47, 59, 0, 210, 79, 73, 0, 223, 86, 103, 0, 108, 165, 34, 0, 86, 45, 65, 0, 104, 242, 161, 0, 217, 194, 78, 0, 18, 124, 113, 0, \ +108, 121, 211, 0, 208, 140, 179, 0, 70, 150, 56, 0, 143, 106, 183, 0, 170, 79, 59, 0, 194, 181, 73, 0, 17, 197, 108, 0, 137, 216, 242, 0, 250, 14, 186, 0, 17, 213, 206, 0, 205, 98, 237, 0, 81, 12, 55, 0, 187, 113, 230, 0, 157, 160, 238, 0, 15, 144, 231, 0, 227, 171, 131, 0, 15, 102, 55, 0, 208, 233, 36, 0, 49, 1, 84, 0, 39, 225, 239, 0, 59, 64, 151, 0, 35, 185, 194, 0, 131, 117, 71, 0, 80, 154, 161, 0, 57, 198, 155, 0, 141, 0, 254, 0, 214, 222, 110, 0, 88, 33, 96, 0, 226, 32, 243, 0, 22, 232, 165, 0, 121, 26, 240, 0, 26, 62, 240, 0, 183, 95, 184, 0, 33, 53, 164, 0, 47, 100, 98, 0, 43, 125, 50, 0, 160, 56, 229, 0, 155, 213, 208, 0, 55, 117, 135, 0, 31, 97, 231, 0, 106, 36, 173, 0, 235, 60, 17, 0, 198, 26, 186, 0, 142, 142, 93, 0, 207, 48, 73, 0, 53, 167, 51, 0, 6, 86, 25, 0, 220, 30, 208, 0, 43, 155, 44, 0, 6, 63, 66, 0, 201, 40, 156, 0, 145, 224, 233, 0, 108, 1, 243, 0, 242, 78, 73, 0, 77, 11, 156, 0, 245, 27, 160, 0, 181, 22, 208, 0, 146, 105, 123, 0, 145, 50, 157, 0, 72, 24, 51, 0, 58, 55, 172, 0, 191, 32, 97, 0, 64, 219, 56, 0, 252, 58, 234, 0, 237, 127, 43, 0, 218, 97, 31, 0, 126, 59, 6, 0, 223, 3, 80, 0, 79, 156, 125, 0, 102, 27, 203, 0, 238, 138, 226, 0, 223, 237, 235, 0, 0, 68, 212, 0, 223, 89, 37, 0, 239, 82, 74, 0, 201, 195, 96, 0, 40, 78, 162, 0, 112, 248, 45, 0, 222, 241, 60, 0, 248, 73, 245, 0, 38, 52, 182, 0, 75, 231, 111, 0, 186, 216, 136, 0, 82, 224, 71, 0, 129, 12, 189, 0, 237, 96, 166, 0, 76, 230, 10, 0, 157, 76, 209, 0, 217, 220, 46, 0, 166, 7, 102, 0, 126, 194, 194, 0, 78, 109, 2, 0, 148, 57, 86, 0, 19, 205, 1, 0, 188, 11, 7, 0, 183, 242, 92, 0, 199, 47, 129, 0, 217, 243, 217, 0, 168, 31, 140, 0, 39, 129, 168, 0, 35, 121, 48, 0, 215, 28, 122, 0, 154, 118, 189, 0, 94, 57, 87, 0, 66, 57, 154, 0, 87, 56, 123, 0, 190, 69, 41, 0, 74, 147, 249, 0, 37, 72, 94, 0, 98, 180, 120, 0, 55, 130, 94, 0, 135, 204, 196, 0, 95, 205, 1, 0, 218, 51, 170, 0, 122, 108, 8, 0, 246, 198, 14, 0, 39, 216, 32, 0, 73, 153, 234, 0, 101, 188, 1, 0, 235, 73, 136, 0, 6, 241, 50, 0, 151, 39, 213, 0, 88, 20, 62, 0, 245, 162, 163, 0, 205, 186, 26, 0, 241, 61, 182, 0, 135, 7, 163, 0, 73, 64, 46, 0, 176, 186, 142, 0, 95, 254, 222, 0, 153, 41, 64, 0, 119, 84, 235, 0, 209, 175, 102, 0, 22, 64, 15, 0, 187, 103, 128, 0, 18, 28, 101, 0, 217, 193, 86, 0, 208, 209, 243, 0, 132, 135, 128, 0, 252, 28, 48, 0, 144, 253, 139, 0, 85, 124, 180, 0, 221, 12, 1, 0, 112, 126, 77, 0, 46, 149, 229, 0, 120, 201, 162, 0, 217, 22, 38, 0, 156, 192, 201, 0, 114, 53, 144, 0, 207, 28, 151, 0, 202, 126, 21, 0, 68, 155, 172, 0, 51, 201, 119, 0, 13, 54, 223, 0, 152, 63, 144, 0, 201, 248, 254, 0, 93, 165, 37, 0, 149, 254, 98, 0, 200, 27, 133, 0, 180, 112, 123, 0, 140, 136, 75, 0, 61, 10, 217, 0, 82, 0, 18, 0, 229, 119, 18, 0, 75, 233, 150, 0, 27, 187, 47, 0, 120, 214, 207, 0, 12, 99, 78, 0, 50, 122, 76, 0, 24, 234, 202, 0, 202, 194, 62, 0, 204, 94, 101, 0, 170, 122, 176, 0, 34, 133, 100, 0, 38, 250, 93, 0, 213, 38, 149, 0, 190, 160, 84, 0, 27, 103, 88, 0, 149, 122, 151, 0, 246, 56, 19, 0, 41, 170, 151, 0, 168, 67, 102, 0, 209, 145, 125, 0, 193, 101, 59, 0, 13, 19, 30, 0, 83, 11, 200, 0, 63, 156, 23, 0, 8, 36, 48, 0, 87, 175, 126, 0, 207, 24, 165, 0, 203, 65, 182, 0, 40, 125, 149, 0, 233, 57, 148, 0, 237, 77, 182, 0, 76, 221, 69, 0, 13, 34, 154, 0, 194, 183, 98, 0, 0, 102, 42, 0, 106, 182, 36, 0, 231, 194, 251, 0, 22, 82, 171, 0, 175, 117, 188, 0, 15, 112, 62, 0, 40, 126, 142, 0, 216, 160, 184, 0, 186, 162, 64, 0, 173, 26, 66, 0, 236, 179, 9, 0, 87, 78, 238, 0, 230, 86, 79, 0, 87, 16, 70, 0, 129, 25, 10, 0, 84, 222, 139, 0, 16, 93, 139, 0, 246, 68, 45, 0, 149, 52, 1, 0, 37, 51, 103, 0, 26, 74, 141, 0, 11, 79, 1, 0, 162, 221, 203, 0, 109, 201, 190, 0, 197, 112, 184, 0, 232, 98, 84, 0, 225, 241, 33, 0, \ +178, 47, 210, 0, 233, 27, 18, 0, 19, 35, 121, 0, 180, 249, 50, 0, 13, 166, 63, 0, 3, 64, 197, 0, 149, 251, 143, 0, 96, 171, 61, 0, 198, 2, 207, 0, 65, 119, 49, 0, 45, 5, 198, 0, 207, 52, 178, 0, 103, 103, 224, 0, 84, 246, 193, 0, 133, 212, 107, 0, 132, 19, 113, 0, 240, 70, 147, 0, 137, 88, 140, 0, 232, 226, 102, 0, 96, 111, 108, 0, 247, 201, 174, 0, 254, 229, 26, 0, 99, 9, 162, 0, 175, 133, 69, 0, 90, 42, 219, 0, 136, 174, 210, 0, 225, 110, 81, 0, 47, 148, 120, 0, 100, 218, 176, 0, 110, 170, 28, 0, 59, 207, 24, 0, 112, 20, 181, 0, 209, 181, 1, 0, 60, 24, 141, 0, 81, 0, 160, 0, 252, 59, 230, 0, 170, 172, 66, 0, 167, 5, 14, 0, 182, 102, 137, 0, 20, 235, 161, 0, 42, 210, 211, 0, 108, 186, 222, 0, 66, 33, 103, 0, 86, 160, 18, 0, 26, 132, 184, 0, 243, 15, 123, 0, 182, 206, 152, 0, 13, 160, 122, 0, 156, 126, 82, 0, 216, 12, 71, 0, 190, 246, 79, 0, 216, 131, 133, 0, 197, 122, 57, 0, 172, 151, 41, 0, 70, 48, 36, 0, 140, 61, 147, 0, 60, 81, 94, 0, 182, 2, 179, 0, 36, 87, 52, 0, 168, 223, 69, 0, 237, 100, 46, 0, 18, 141, 57, 0, 15, 247, 207, 0, 119, 4, 229, 0, 139, 246, 119, 0, 126, 128, 112, 0, 242, 147, 100, 0, 56, 162, 58, 0, 11, 13, 178, 0, 180, 55, 22, 0, 222, 80, 93, 0, 54, 157, 36, 0, 23, 79, 152, 0, 96, 232, 142, 0, 208, 61, 147, 0, 74, 201, 240, 0, 197, 127, 87, 0, 56, 72, 22, 0, 185, 12, 82, 0, 12, 8, 133, 0, 209, 116, 249, 0, 111, 250, 54, 0, 204, 134, 88, 0, 154, 224, 17, 0, 193, 167, 223, 0, 206, 153, 138, 0, 4, 156, 26, 0, 146, 132, 120, 0, 99, 150, 37, 0, 211, 183, 40, 0, 210, 220, 237, 0, 166, 194, 170, 0, 9, 242, 8, 0, 121, 139, 5, 0, 44, 19, 249, 0, 128, 121, 120, 0, 249, 81, 63, 0, 218, 67, 133, 0, 159, 168, 131, 0, 190, 115, 229, 0, 183, 101, 106, 0, 214, 1, 107, 0, 40, 71, 157, 0, 193, 230, 167, 0, 236, 73, 39, 0, 124, 220, 34, 0, 64, 57, 161, 0, 183, 177, 19, 0, 41, 185, 40, 0, 46, 200, 197, 0, 39, 63, 127, 0, 94, 70, 58, 0, 237, 29, 4, 0, 181, 69, 96, 0, 51, 116, 74, 0, 110, 108, 156, 0, 239, 213, 37, 0, 133, 228, 87, 0, 238, 124, 36, 0, 5, 105, 63, 0, 251, 96, 39, 0, 231, 131, 18, 0, 68, 120, 173, 0, 151, 147, 29, 0, 185, 133, 208, 0, 188, 234, 46, 0, 175, 109, 44, 0, 241, 47, 88, 0, 116, 110, 169, 0, 221, 241, 24, 0, 107, 152, 50, 0, 179, 205, 78, 0, 237, 72, 223, 0, 170, 151, 188, 0, 34, 34, 73, 0, 2, 59, 10, 0, 253, 21, 157, 0, 116, 174, 139, 0, 189, 28, 135, 0, 34, 221, 78, 0, 85, 193, 38, 0, 2, 246, 173, 0, 88, 166, 180, 0, 151, 148, 121, 0, 241, 232, 210, 0, 89, 18, 152, 0, 140, 213, 78, 0, 176, 18, 156, 0, 96, 115, 62, 0, 220, 62, 185, 0, 19, 10, 98, 0, 71, 68, 152, 0, 160, 209, 137, 0, 177, 29, 161, 0, 27, 104, 125, 0, 240, 243, 69, 0, 140, 64, 92, 0, 211, 31, 24, 0, 214, 127, 95, 0, 117, 109, 101, 0, 110, 138, 0, 0, 42, 121, 155, 0, 73, 217, 241, 0, 176, 220, 0, 0, 179, 64, 173, 0, 251, 70, 157, 0, 243, 191, 97, 0, 86, 243, 201, 0, 27, 230, 202, 0, 6, 230, 37, 0, 250, 20, 140, 0, 148, 63, 57, 0, 124, 93, 97, 0, 2, 130, 51, 0, 203, 97, 16, 0, 205, 3, 241, 0, 1, 227, 137, 0, 82, 17, 164, 0, 154, 240, 177, 0, 188, 176, 144, 0, 239, 36, 146, 0, 167, 143, 216, 0, 54, 235, 192, 0, 161, 70, 189, 0, 202, 42, 205, 0, 133, 29, 26, 0, 146, 158, 83, 0, 70, 179, 135, 0, 24, 71, 80, 0, 214, 18, 167, 0, 14, 112, 126, 0, 9, 45, 197, 0, 132, 26, 228, 0, 210, 253, 179, 0, 76, 168, 88, 0, 205, 233, 197, 0, 109, 119, 249, 0, 224, 216, 47, 0, 156, 155, 111, 0, 235, 26, 39, 0, 3, 157, 47, 0, 243, 66, 193, 0, 223, 112, 90, 0, 145, 107, 177, 0, 126, 195, 161, 0, 150, 87, 174, 0, 39, 126, 110, 0, 141, 187, 240, 0, 199, 6, 33, 0, 181, 136, 190, 0, 90, 47, 14, 0, 251, 108, 61, 0, 202, 172, 82, 0, 208, 20, 141, 0, 246, 40, 126, 0, 146, 146, 108, 0, 49, 243, 56, 0, 47, 247, 248, 0, 122, 28, 43, 0, 120, 30, 45, 0, 249, 96, 233, 0, 84, 200, 35, 0, 110, 40, 120, 0, 10, 62, 97, 0, \ +60, 179, 224, 0, 137, 101, 84, 0, 196, 23, 169, 0, 137, 225, 32, 0, 51, 240, 249, 0, 210, 170, 221, 0, 115, 162, 180, 0, 108, 82, 121, 0, 158, 189, 205, 0, 59, 199, 209, 0, 6, 4, 149, 0, 140, 145, 146, 0, 47, 218, 138, 0, 77, 167, 217, 0, 114, 238, 234, 0, 74, 73, 106, 0, 236, 68, 30, 0, 6, 25, 90, 0, 191, 25, 229, 0, 46, 250, 180, 0, 39, 172, 81, 0, 136, 212, 185, 0, 34, 239, 220, 0, 187, 187, 16, 0, 69, 211, 66, 0, 143, 95, 109, 0, 93, 103, 12, 0, 20, 164, 222, 0, 164, 108, 119, 0, 80, 176, 99, 0, 213, 45, 87, 0, 135, 11, 1, 0, 80, 247, 179, 0, 244, 49, 97, 0, 65, 217, 119, 0, 72, 41, 243, 0, 28, 55, 167, 0, 87, 171, 204, 0, 62, 155, 123, 0, 218, 194, 65, 0, 6, 131, 6, 0, 246, 161, 54, 0, 114, 68, 111, 0, 170, 117, 180, 0, 187, 25, 115, 0, 76, 235, 230, 0, 18, 68, 163, 0, 95, 40, 108, 0, 244, 169, 47, 0, 214, 153, 3, 0, 239, 232, 25, 0, 41, 82, 108, 0, 252, 125, 6, 0, 163, 219, 140, 0, 42, 55, 74, 0, 52, 231, 35, 0, 194, 222, 81, 0, 56, 131, 107, 0, 25, 11, 215, 0, 4, 213, 72, 0, 154, 243, 36, 0, 254, 73, 131, 0, 38, 209, 252, 0, 132, 155, 105, 0, 177, 166, 17, 0, 10, 198, 231, 0, 180, 48, 96, 0, 106, 228, 222, 0, 200, 186, 254, 0, 72, 78, 126, 0, 185, 54, 185, 0, 195, 47, 234, 0, 98, 170, 213, 0, 195, 73, 101, 0, 20, 95, 228, 0, 191, 18, 84, 0, 32, 239, 136, 0, 44, 165, 220, 0, 21, 129, 198, 0, 14, 210, 218, 0, 23, 178, 200, 0, 158, 113, 48, 0, 63, 206, 218, 0, 242, 248, 157, 0, 174, 18, 241, 0, 7, 87, 225, 0, 181, 117, 143, 0, 220, 227, 181, 0, 100, 147, 218, 0, 187, 75, 247, 0, 14, 234, 72, 0, 82, 73, 0, 0, 166, 243, 218, 0, 74, 175, 63, 0, 140, 55, 11, 0, 213, 176, 168, 0, 138, 119, 137, 0, 119, 17, 87, 0, 12, 228, 33, 0, 209, 148, 32, 0, 81, 248, 198, 0, 99, 161, 146, 0, 112, 226, 217, 0, 48, 42, 213, 0, 115, 149, 159, 0, 233, 122, 233, 0, 252, 28, 42, 0, 201, 177, 7, 0, 14, 91, 191, 0, 112, 169, 176, 0, 172, 155, 221, 0, 153, 211, 248, 0, 243, 195, 230, 0, 84, 185, 198, 0, 111, 212, 188, 0, 42, 129, 197, 0, 219, 10, 105, 0, 94, 29, 54, 0, 11, 196, 181, 0, 236, 112, 165, 0, 73, 170, 21, 0, 235, 247, 250, 0, 106, 86, 192, 0, 53, 234, 144, 0, 93, 164, 93, 0, 204, 196, 4, 0, 38, 26, 53, 0, 171, 105, 28, 0, 205, 140, 151, 0, 56, 252, 27, 0, 44, 169, 213, 0, 119, 106, 91, 0, 78, 105, 222, 0, 126, 93, 0, 0, 20, 29, 207, 0, 28, 16, 191, 0, 47, 209, 184, 0, 194, 254, 104, 0, 139, 254, 66, 0, 175, 227, 136, 0, 12, 130, 137, 0, 75, 138, 251, 0, 132, 4, 205, 0, 131, 63, 229, 0, 237, 72, 154, 0, 180, 27, 33, 0, 249, 251, 4, 0, 156, 162, 44, 0, 114, 169, 102, 0, 204, 189, 107, 0, 217, 41, 87, 0, 160, 80, 215, 0, 172, 117, 107, 0, 191, 123, 217, 0, 135, 65, 201, 0, 194, 161, 181, 0, 210, 29, 15, 0, 55, 7, 114, 0, 174, 114, 252, 0, 23, 249, 167, 0, 56, 168, 206, 0, 107, 242, 43, 0, 144, 214, 149, 0, 56, 233, 186, 0, 37, 104, 90, 0, 188, 142, 46, 0, 12, 3, 10, 0, 42, 236, 79, 0, 33, 220, 79, 0, 237, 170, 158, 0, 105, 202, 98, 0, 2, 209, 36, 0, 202, 245, 23, 0, 181, 54, 59, 0, 137, 241, 162, 0, 70, 84, 109, 0, 112, 175, 185, 0, 163, 55, 212, 0, 210, 19, 30, 0, 172, 148, 226, 0, 240, 131, 169, 0, 190, 253, 182, 0, 113, 1, 236, 0, 197, 223, 5, 0, 107, 7, 227, 0, 245, 218, 7, 0, 32, 104, 20, 0, 78, 233, 168, 0, 23, 120, 201, 0, 80, 249, 228, 0, 97, 244, 13, 0, 250, 9, 184, 0, 149, 68, 226, 0, 213, 98, 143, 0, 203, 63, 123, 0, 153, 3, 167, 0, 22, 223, 55, 0, 121, 178, 55, 0, 236, 182, 162, 0, 139, 166, 116, 0, 246, 5, 203, 0, 113, 140, 103, 0, 35, 112, 115, 0, 136, 155, 247, 0, 196, 53, 51, 0, 121, 143, 208, 0, 116, 29, 48, 0, 56, 155, 158, 0, 207, 170, 171, 0, 219, 162, 154, 0, 54, 209, 91, 0, 254, 225, 103, 0, 102, 181, 20, 0, 166, 28, 170, 0, 59, 23, 54, 0, 131, 64, 75, 0, 124, 212, 119, 0, 177, 34, 206, 0, 40, 4, 190, 0, 167, 157, 30, 0, 57, 31, 198, 0, 218, 104, 133, 0, 153, 147, 100, 0, 54, 131, 109, 0, \ +210, 165, 242, 0, 4, 200, 177, 0, 80, 128, 169, 0, 160, 166, 4, 0, 19, 245, 248, 0, 108, 107, 77, 0, 188, 240, 198, 0, 33, 247, 138, 0, 127, 253, 50, 0, 21, 248, 110, 0, 63, 142, 70, 0, 232, 22, 56, 0, 250, 172, 246, 0, 183, 43, 68, 0, 73, 39, 12, 0, 225, 175, 126, 0, 206, 197, 86, 0, 144, 177, 200, 0, 17, 45, 61, 0, 159, 117, 83, 0, 3, 252, 226, 0, 32, 248, 75, 0, 121, 173, 30, 0, 209, 38, 193, 0, 134, 213, 159, 0, 144, 126, 102, 0, 8, 31, 150, 0, 130, 200, 124, 0, 25, 30, 41, 0, 120, 61, 64, 0, 249, 20, 2, 0, 149, 127, 51, 0, 33, 151, 219, 0, 108, 57, 105, 0, 1, 3, 27, 0, 117, 13, 156, 0, 233, 38, 166, 0, 95, 162, 221, 0, 90, 183, 32, 0, 160, 223, 238, 0, 63, 103, 205, 0, 50, 187, 95, 0, 53, 174, 148, 0, 88, 96, 29, 0, 68, 214, 3, 0, 171, 166, 67, 0, 227, 182, 14, 0, 120, 125, 191, 0, 224, 216, 186, 0, 174, 88, 229, 0, 201, 219, 75, 0, 218, 33, 156, 0, 71, 137, 146, 0, 253, 152, 15, 0, 85, 233, 156, 0, 91, 222, 164, 0, 8, 208, 247, 0, 172, 61, 227, 0, 102, 217, 66, 0, 73, 15, 20, 0, 250, 77, 195, 0, 156, 37, 68, 0, 40, 239, 14, 0, 123, 41, 157, 0, 176, 71, 80, 0, 242, 8, 192, 0, 33, 163, 187, 0, 202, 238, 59, 0, 0, 61, 71, 0, 33, 227, 159, 0, 89, 232, 112, 0, 136, 122, 106, 0, 173, 156, 251, 0, 22, 91, 115, 0, 125, 76, 230, 0, 169, 205, 92, 0, 208, 219, 179, 0, 190, 139, 45, 0, 34, 185, 12, 0, 29, 92, 205, 0, 224, 214, 11, 0, 16, 185, 130, 0, 119, 165, 153, 0, 187, 231, 215, 0, 197, 124, 175, 0, 184, 15, 68, 0, 10, 238, 12, 0, 23, 61, 220, 0, 30, 145, 102, 0, 233, 165, 40, 0, 215, 63, 62, 0, 247, 92, 101, 0, 209, 22, 242, 0, 200, 231, 124, 0, 182, 62, 92, 0, 119, 31, 66, 0, 22, 108, 5, 0, 51, 147, 116, 0, 98, 56, 232, 0, 117, 217, 157, 0, 228, 17, 92, 0, 198, 105, 45, 0, 38, 209, 52, 0, 33, 244, 156, 0, 216, 231, 2, 0, 17, 30, 188, 0, 225, 43, 10, 0, 225, 111, 25, 0, 182, 191, 145, 0, 3, 123, 221, 0, 27, 75, 238, 0, 13, 218, 52, 0, 66, 139, 104, 0, 70, 20, 112, 0, 252, 215, 93, 0, 18, 179, 34, 0, 171, 221, 125, 0, 167, 74, 73, 0, 96, 191, 45, 0, 116, 145, 59, 0, 74, 171, 38, 0, 156, 92, 34, 0, 17, 97, 140, 0, 57, 23, 56, 0, 150, 155, 174, 0, 183, 113, 105, 0, 61, 191, 105, 0, 177, 144, 160, 0, 138, 170, 178, 0, 23, 167, 241, 0, 164, 28, 139, 0, 41, 53, 178, 0, 194, 11, 226, 0, 219, 226, 92, 0, 159, 235, 58, 0, 246, 14, 248, 0, 85, 104, 242, 0, 181, 0, 14, 0, 190, 88, 195, 0, 159, 51, 124, 0, 55, 43, 61, 0, 83, 86, 167, 0, 234, 160, 136, 0, 82, 7, 102, 0, 153, 13, 176, 0, 127, 111, 124, 0, 152, 46, 209, 0, 134, 12, 245, 0, 78, 69, 23, 0, 149, 254, 203, 0, 234, 250, 199, 0, 37, 175, 11, 0, 144, 2, 70, 0, 83, 56, 155, 0, 26, 61, 107, 0, 64, 185, 191, 0, 237, 66, 210, 0, 110, 97, 99, 0, 241, 184, 189, 0, 210, 76, 58, 0, 17, 223, 34, 0, 15, 82, 16, 0, 191, 247, 182, 0, 14, 233, 187, 0, 104, 126, 225, 0, 172, 86, 86, 0, 221, 42, 129, 0, 219, 114, 77, 0, 206, 108, 149, 0, 69, 65, 8, 0, 132, 127, 114, 0, 199, 52, 70, 0, 88, 178, 192, 0, 102, 235, 122, 0, 28, 102, 196, 0, 121, 19, 209, 0, 98, 209, 166, 0, 99, 189, 233, 0, 3, 148, 58, 0, 126, 206, 20, 0, 59, 51, 206, 0, 183, 209, 11, 0, 48, 64, 224, 0, 80, 224, 41, 0, 48, 1, 111, 0, 11, 167, 184, 0, 32, 45, 165, 0, 226, 111, 153, 0, 99, 42, 170, 0, 238, 173, 34, 0, 60, 177, 46, 0, 132, 118, 69, 0, 139, 150, 87, 0, 70, 21, 170, 0, 140, 237, 146, 0, 217, 117, 176, 0, 242, 17, 11, 0, 155, 160, 132, 0, 152, 200, 131, 0, 254, 91, 242, 0, 213, 74, 35, 0, 42, 121, 218, 0, 147, 217, 235, 0, 151, 110, 87, 0, 3, 88, 217, 0, 174, 127, 237, 0, 228, 60, 224, 0, 195, 66, 213, 0, 197, 244, 163, 0, 182, 114, 52, 0, 170, 93, 153, 0, 217, 3, 225, 0, 96, 147, 83, 0, 106, 20, 116, 0, 96, 89, 176, 0, 225, 33, 127, 0, 211, 69, 238, 0, 122, 93, 240, 0, 41, 233, 120, 0, 181, 211, 210, 0, 15, 34, 139, 0, 160, 172, 204, 0, 171, 51, 166, 0, 195, 129, 141, 0, \ +199, 131, 99, 0, 254, 214, 182, 0, 82, 115, 136, 0, 74, 92, 103, 0, 198, 236, 139, 0, 236, 209, 74, 0, 225, 147, 142, 0, 171, 118, 34, 0, 63, 26, 113, 0, 229, 28, 50, 0, 127, 80, 81, 0, 234, 106, 20, 0, 94, 85, 206, 0, 199, 45, 108, 0, 66, 230, 148, 0, 118, 32, 169, 0, 188, 225, 1, 0, 38, 209, 45, 0, 220, 207, 183, 0, 156, 99, 86, 0, 137, 99, 212, 0, 23, 177, 57, 0, 120, 205, 87, 0, 77, 220, 92, 0, 127, 7, 241, 0, 42, 244, 50, 0, 31, 108, 249, 0, 119, 101, 1, 0, 69, 162, 186, 0, 169, 47, 198, 0, 78, 114, 137, 0, 137, 62, 63, 0, 145, 123, 131, 0, 182, 102, 54, 0, 127, 1, 219, 0, 28, 221, 137, 0, 7, 83, 70, 0, 52, 37, 197, 0, 152, 28, 77, 0, 170, 192, 32, 0, 2, 107, 216, 0, 7, 4, 8, 0, 7, 224, 200, 0, 214, 169, 168, 0, 181, 220, 95, 0, 50, 81, 218, 0, 153, 24, 118, 0, 55, 254, 102, 0, 221, 55, 53, 0, 96, 144, 184, 0, 134, 158, 153, 0, 42, 93, 107, 0, 238, 201, 41, 0, 129, 193, 237, 0, 207, 18, 75, 0, 212, 234, 21, 0, 65, 213, 206, 0, 87, 240, 142, 0, 66, 180, 48, 0, 31, 41, 253, 0, 67, 204, 148, 0, 220, 199, 93, 0, 34, 55, 120, 0, 135, 172, 114, 0, 19, 44, 23, 0, 13, 125, 121, 0, 50, 103, 239, 0, 235, 136, 192, 0, 135, 88, 112, 0, 136, 34, 70, 0, 101, 202, 253, 0, 62, 89, 236, 0, 97, 2, 144, 0, 169, 191, 223, 0, 154, 189, 92, 0, 34, 184, 195, 0, 160, 248, 24, 0, 94, 149, 70, 0, 101, 112, 145, 0, 102, 76, 209, 0, 176, 88, 44, 0, 59, 59, 224, 0, 22, 243, 53, 0, 231, 242, 21, 0, 21, 184, 20, 0, 23, 210, 177, 0, 199, 98, 178, 0, 77, 154, 110, 0, 136, 195, 251, 0, 59, 133, 135, 0, 217, 52, 146, 0, 196, 24, 18, 0, 115, 231, 153, 0, 167, 165, 75, 0, 239, 3, 20, 0, 106, 98, 114, 0, 211, 140, 39, 0, 19, 195, 235, 0, 234, 67, 66, 0, 163, 83, 90, 0, 72, 31, 18, 0, 243, 237, 202, 0, 141, 70, 121, 0, 41, 184, 96, 0, 159, 153, 28, 0, 238, 245, 90, 0, 9, 239, 80, 0, 181, 221, 184, 0, 177, 220, 214, 0, 120, 206, 51, 0, 154, 143, 131, 0, 142, 104, 164, 0, 97, 12, 116, 0, 137, 143, 159, 0, 70, 76, 83, 0, 109, 42, 41, 0, 121, 139, 67, 0, 233, 70, 201, 0, 142, 18, 147, 0, 166, 66, 137, 0, 213, 140, 141, 0, 69, 179, 251, 0, 27, 137, 74, 0, 41, 121, 59, 0, 35, 140, 158, 0, 150, 28, 197, 0, 202, 210, 10, 0, 109, 225, 149, 0, 176, 182, 16, 0, 225, 47, 145, 0, 55, 167, 227, 0, 85, 208, 96, 0, 119, 219, 75, 0, 219, 13, 171, 0, 65, 111, 114, 0, 12, 66, 201, 0, 154, 217, 226, 0, 62, 232, 203, 0, 152, 216, 136, 0, 191, 73, 64, 0, 38, 141, 174, 0, 162, 36, 223, 0, 64, 122, 220, 0, 138, 86, 199, 0, 45, 14, 4, 0, 220, 6, 56, 0, 242, 39, 217, 0, 127, 161, 37, 0, 205, 23, 77, 0, 72, 63, 220, 0, 241, 208, 85, 0, 69, 185, 155, 0, 218, 171, 75, 0, 37, 108, 113, 0, 165, 89, 29, 0, 222, 229, 151, 0, 56, 36, 211, 0, 104, 190, 100, 0, 212, 196, 125, 0, 0, 38, 213, 0, 124, 145, 177, 0, 97, 163, 160, 0, 91, 12, 108, 0, 3, 171, 100, 0, 17, 52, 223, 0, 91, 193, 161, 0, 11, 133, 146, 0, 4, 22, 13, 0, 125, 12, 70, 0, 97, 208, 163, 0, 59, 205, 61, 0, 75, 181, 133, 0, 225, 242, 57, 0, 105, 102, 193, 0, 146, 186, 239, 0, 55, 186, 226, 0, 69, 251, 174, 0, 230, 148, 88, 0, 170, 144, 161, 0, 158, 173, 147, 0, 154, 55, 248, 0, 201, 54, 38, 0, 165, 238, 225, 0, 216, 184, 85, 0, 149, 111, 195, 0, 26, 15, 197, 0, 90, 76, 243, 0, 33, 22, 220, 0, 145, 119, 27, 0, 153, 245, 0, 0, 39, 218, 50, 0, 197, 230, 99, 0, 181, 62, 169, 0, 242, 172, 167, 0, 223, 148, 23, 0, 34, 210, 93, 0, 234, 27, 47, 0, 31, 144, 24, 0, 58, 134, 1, 0, 144, 183, 80, 0, 106, 123, 131, 0, 135, 37, 112, 0, 248, 245, 253, 0, 100, 33, 94, 0, 144, 53, 71, 0, 18, 121, 244, 0, 151, 73, 209, 0, 63, 131, 226, 0, 80, 158, 102, 0, 103, 74, 102, 0, 173, 93, 235, 0, 214, 117, 209, 0, 117, 205, 11, 0, 215, 148, 240, 0, 214, 163, 236, 0, 156, 243, 41, 0, 53, 35, 185, 0, 34, 76, 181, 0, 147, 91, 116, 0, 81, 134, 175, 0, 101, 155, 146, 0, 35, 73, 196, 0, 203, 192, 201, 0, 9, 146, 104, 0, \ +145, 145, 254, 0, 32, 22, 30, 0, 188, 137, 105, 0, 9, 134, 20, 0, 190, 165, 226, 0, 221, 37, 233, 0, 92, 167, 145, 0, 220, 34, 144, 0, 147, 0, 207, 0, 138, 38, 183, 0, 196, 76, 215, 0, 11, 185, 206, 0, 91, 182, 246, 0, 39, 151, 198, 0, 177, 246, 36, 0, 127, 34, 217, 0, 26, 111, 124, 0, 177, 71, 88, 0, 137, 148, 104, 0, 56, 31, 14, 0, 25, 24, 10, 0, 60, 147, 204, 0, 14, 246, 67, 0, 179, 50, 108, 0, 219, 114, 190, 0, 209, 44, 240, 0, 52, 144, 213, 0, 166, 3, 130, 0, 3, 49, 91, 0, 99, 75, 234, 0, 101, 206, 110, 0, 203, 77, 28, 0, 161, 60, 12, 0, 179, 244, 84, 0, 68, 68, 250, 0, 153, 211, 18, 0, 41, 2, 97, 0, 159, 207, 144, 0, 249, 90, 180, 0, 36, 4, 104, 0, 186, 110, 206, 0, 143, 250, 80, 0, 58, 92, 3, 0, 113, 134, 138, 0, 68, 218, 77, 0, 95, 186, 24, 0, 114, 98, 207, 0, 251, 88, 228, 0, 89, 157, 111, 0, 192, 47, 167, 0, 26, 241, 17, 0, 157, 211, 244, 0, 66, 113, 122, 0, 181, 176, 170, 0, 103, 222, 138, 0, 119, 210, 170, 0, 16, 156, 151, 0, 13, 196, 199, 0, 10, 132, 49, 0, 40, 162, 77, 0, 215, 79, 122, 0, 70, 143, 195, 0, 154, 236, 49, 0, 99, 105, 149, 0, 30, 66, 43, 0, 188, 24, 83, 0, 209, 18, 238, 0, 22, 6, 97, 0, 151, 51, 237, 0, 49, 164, 172, 0, 209, 188, 33, 0, 150, 11, 114, 0, 214, 30, 188, 0, 83, 150, 30, 0, 24, 223, 128, 0, 147, 122, 117, 0, 147, 96, 30, 0, 77, 154, 8, 0, 146, 53, 109, 0, 62, 78, 176, 0, 139, 144, 43, 0, 45, 103, 241, 0, 79, 50, 26, 0, 59, 188, 21, 0, 123, 67, 225, 0, 133, 10, 176, 0, 30, 87, 115, 0, 233, 61, 111, 0, 240, 191, 191, 0, 219, 243, 93, 0, 140, 5, 93, 0, 195, 188, 113, 0, 239, 51, 251, 0, 165, 25, 20, 0, 12, 135, 133, 0, 42, 155, 233, 0, 167, 237, 171, 0, 213, 223, 191, 0, 194, 137, 232, 0, 143, 73, 101, 0, 115, 146, 67, 0, 68, 97, 202, 0, 43, 110, 35, 0, 218, 106, 239, 0, 173, 138, 24, 0, 12, 132, 232, 0, 187, 14, 250, 0, 6, 194, 184, 0, 80, 150, 250, 0, 66, 98, 7, 0, 91, 12, 132, 0, 107, 186, 43, 0, 198, 37, 108, 0, 40, 179, 176, 0, 198, 27, 180, 0, 187, 123, 134, 0, 76, 196, 128, 0, 180, 212, 34, 0, 159, 20, 47, 0, 162, 243, 127, 0, 168, 85, 17, 0, 171, 172, 131, 0, 135, 94, 86, 0, 202, 29, 129, 0, 16, 208, 191, 0, 136, 102, 237, 0, 86, 139, 89, 0, 53, 59, 111, 0, 229, 28, 173, 0, 151, 157, 204, 0, 146, 134, 131, 0, 120, 34, 61, 0, 219, 201, 207, 0, 230, 127, 65, 0, 93, 235, 22, 0, 133, 13, 46, 0, 245, 35, 241, 0, 30, 175, 63, 0, 244, 138, 219, 0, 40, 101, 80, 0, 171, 42, 120, 0, 40, 25, 14, 0, 244, 118, 2, 0, 82, 127, 186, 0, 112, 236, 70, 0, 161, 31, 70, 0, 218, 106, 82, 0, 119, 34, 12, 0, 88, 11, 104, 0, 140, 216, 163, 0, 163, 65, 240, 0, 128, 145, 246, 0, 4, 239, 249, 0, 208, 207, 71, 0, 123, 132, 105, 0, 242, 105, 217, 0, 202, 100, 215, 0, 223, 186, 35, 0, 93, 63, 122, 0, 26, 110, 87, 0, 214, 114, 57, 0, 47, 221, 132, 0, 191, 44, 41, 0, 74, 180, 202, 0, 111, 196, 132, 0, 145, 26, 111, 0, 223, 34, 128, 0, 239, 126, 169, 0, 122, 218, 60, 0, 121, 247, 208, 0, 25, 0, 20, 0, 164, 105, 91, 0, 203, 85, 233, 0, 22, 84, 99, 0, 93, 88, 109, 0, 71, 181, 91, 0, 168, 69, 153, 0, 239, 250, 2, 0, 170, 200, 112, 0, 68, 172, 249, 0, 32, 60, 10, 0, 205, 223, 215, 0, 0, 83, 0, 0, 53, 251, 207, 0, 145, 186, 191, 0, 159, 177, 50, 0, 70, 177, 42, 0, 170, 79, 35, 0, 146, 208, 18, 0, 2, 47, 13, 0, 180, 80, 167, 0, 198, 198, 3, 0, 146, 8, 172, 0, 190, 195, 38, 0, 104, 169, 142, 0, 230, 82, 8, 0, 232, 84, 251, 0, 251, 146, 30, 0, 33, 147, 90, 0, 135, 70, 82, 0, 89, 127, 221, 0, 40, 77, 47, 0, 112, 116, 13, 0, 48, 39, 165, 0, 10, 37, 248, 0, 141, 214, 38, 0, 72, 145, 34, 0, 100, 116, 159, 0, 32, 165, 14, 0, 182, 26, 219, 0, 21, 16, 253, 0, 28, 70, 220, 0, 85, 162, 218, 0, 19, 121, 46, 0, 225, 55, 202, 0, 225, 252, 190, 0, 178, 10, 160, 0, 234, 0, 11, 0, 197, 206, 248, 0, 99, 242, 218, 0, 106, 149, 60, 0, 247, 233, 15, 0, 246, 142, 158, 0, 3, 67, 13, 0, \ +192, 198, 10, 0, 89, 38, 156, 0, 202, 85, 164, 0, 224, 107, 163, 0, 172, 76, 7, 0, 250, 20, 244, 0, 91, 222, 61, 0, 25, 86, 229, 0, 53, 63, 82, 0, 240, 134, 10, 0, 98, 90, 169, 0, 37, 34, 155, 0, 52, 155, 63, 0, 49, 210, 15, 0, 235, 21, 1, 0, 5, 81, 228, 0, 108, 250, 128, 0, 74, 225, 108, 0, 135, 26, 18, 0, 201, 197, 27, 0, 54, 153, 140, 0, 164, 214, 9, 0, 140, 219, 249, 0, 84, 18, 117, 0, 180, 94, 77, 0, 34, 118, 23, 0, 232, 111, 133, 0, 48, 152, 64, 0, 138, 81, 235, 0, 142, 113, 192, 0, 193, 154, 188, 0, 211, 71, 240, 0, 61, 226, 166, 0, 33, 30, 180, 0, 47, 15, 120, 0, 197, 237, 129, 0, 159, 31, 41, 0, 82, 10, 35, 0, 209, 14, 38, 0, 43, 241, 95, 0, 114, 73, 8, 0, 50, 136, 213, 0, 110, 96, 136, 0, 158, 138, 73, 0, 184, 216, 80, 0, 8, 20, 27, 0, 45, 233, 242, 0, 80, 224, 24, 0, 219, 1, 125, 0, 12, 93, 240, 0, 30, 174, 146, 0, 73, 56, 160, 0, 174, 196, 191, 0, 100, 254, 185, 0, 219, 139, 177, 0, 2, 85, 150, 0, 70, 152, 47, 0, 28, 153, 205, 0, 188, 80, 82, 0, 210, 115, 223, 0, 101, 197, 1, 0, 213, 126, 89, 0, 152, 176, 252, 0, 199, 169, 161, 0, 12, 188, 230, 0, 191, 180, 241, 0, 144, 114, 4, 0, 108, 6, 20, 0, 146, 152, 87, 0, 251, 33, 64, 0, 252, 217, 138, 0, 24, 144, 85, 0, 100, 22, 180, 0, 240, 101, 73, 0, 152, 137, 78, 0, 169, 249, 75, 0, 86, 126, 219, 0, 52, 25, 181, 0, 116, 41, 203, 0, 65, 208, 72, 0, 29, 42, 204, 0, 164, 189, 118, 0, 78, 129, 204, 0, 30, 193, 119, 0, 106, 200, 167, 0, 81, 162, 47, 0, 18, 245, 50, 0, 35, 198, 35, 0, 168, 235, 192, 0, 60, 74, 167, 0, 67, 46, 165, 0, 47, 87, 4, 0, 141, 220, 88, 0, 39, 244, 73, 0, 10, 122, 219, 0, 29, 204, 218, 0, 235, 39, 144, 0, 94, 33, 248, 0, 20, 131, 164, 0, 69, 134, 220, 0, 161, 208, 222, 0, 156, 238, 77, 0, 102, 93, 47, 0, 252, 3, 46, 0, 247, 175, 195, 0, 52, 188, 47, 0, 161, 74, 6, 0, 145, 167, 73, 0, 222, 32, 120, 0, 9, 100, 12, 0, 54, 44, 79, 0, 43, 59, 146, 0, 208, 104, 42, 0, 188, 20, 251, 0, 140, 198, 88, 0, 235, 26, 69, 0, 11, 95, 87, 0, 136, 137, 206, 0, 75, 164, 50, 0, 232, 181, 2, 0, 69, 217, 101, 0, 226, 190, 240, 0, 159, 228, 151, 0, 38, 107, 33, 0, 239, 220, 158, 0, 125, 172, 99, 0, 180, 178, 225, 0, 146, 108, 80, 0, 148, 154, 66, 0, 96, 87, 39, 0, 43, 54, 10, 0, 201, 63, 123, 0, 50, 172, 218, 0, 200, 73, 35, 0, 54, 227, 168, 0, 47, 145, 134, 0, 168, 205, 54, 0, 5, 229, 114, 0, 251, 184, 87, 0, 163, 230, 100, 0, 56, 193, 242, 0, 227, 20, 214, 0, 56, 211, 7, 0, 224, 67, 202, 0, 158, 62, 39, 0, 119, 83, 247, 0, 250, 186, 12, 0, 214, 18, 245, 0, 42, 98, 74, 0, 102, 16, 96, 0, 53, 70, 91, 0, 104, 151, 151, 0, 60, 204, 117, 0, 151, 56, 151, 0, 78, 81, 152, 0, 83, 110, 248, 0, 240, 46, 127, 0, 60, 224, 103, 0, 114, 176, 191, 0, 178, 67, 13, 0, 152, 225, 195, 0, 71, 217, 241, 0, 14, 20, 5, 0, 50, 64, 112, 0, 203, 58, 137, 0, 44, 1, 147, 0, 4, 83, 113, 0, 159, 111, 162, 0, 158, 233, 72, 0, 121, 194, 57, 0, 189, 57, 78, 0, 140, 243, 159, 0, 214, 4, 209, 0, 6, 17, 65, 0, 128, 61, 226, 0, 177, 17, 227, 0, 179, 93, 77, 0, 202, 175, 175, 0, 31, 108, 174, 0, 218, 55, 107, 0, 229, 24, 26, 0, 91, 160, 181, 0, 247, 169, 235, 0, 114, 226, 244, 0, 188, 190, 221, 0, 61, 194, 70, 0, 254, 7, 3, 0, 192, 106, 102, 0, 154, 99, 105, 0, 167, 19, 11, 0, 197, 6, 139, 0, 104, 64, 49, 0, 152, 78, 113, 0, 7, 49, 18, 0, 245, 41, 239, 0, 86, 189, 67, 0, 64, 217, 56, 0, 101, 138, 83, 0, 223, 73, 67, 0, 209, 238, 107, 0, 147, 113, 12, 0, 251, 122, 177, 0, 181, 194, 26, 0, 106, 124, 161, 0, 217, 83, 63, 0, 103, 130, 239, 0, 40, 140, 234, 0, 21, 113, 26, 0, 44, 27, 100, 0, 81, 188, 131, 0, 123, 222, 215, 0, 161, 67, 2, 0, 64, 223, 228, 0, 238, 197, 11, 0, 41, 236, 46, 0, 185, 232, 99, 0, 238, 7, 104, 0, 218, 184, 65, 0, 130, 202, 163, 0, 146, 201, 64, 0, 249, 240, 223, 0, 240, 174, 180, 0, 117, 245, 46, 0, 242, 110, 90, 0, \ +20, 87, 6, 0, 104, 25, 179, 0, 207, 174, 144, 0, 7, 233, 169, 0, 145, 138, 138, 0, 92, 28, 179, 0, 227, 59, 28, 0, 51, 39, 24, 0, 83, 216, 94, 0, 27, 151, 251, 0, 182, 31, 177, 0, 8, 103, 216, 0, 210, 24, 116, 0, 236, 229, 228, 0, 89, 50, 51, 0, 244, 148, 93, 0, 11, 123, 19, 0, 28, 238, 86, 0, 182, 185, 20, 0, 55, 115, 74, 0, 250, 24, 7, 0, 26, 227, 179, 0, 60, 96, 92, 0, 45, 193, 16, 0, 144, 126, 56, 0, 178, 252, 165, 0, 30, 233, 10, 0, 27, 225, 153, 0, 176, 243, 242, 0, 133, 247, 246, 0, 108, 112, 11, 0, 95, 50, 173, 0, 160, 144, 116, 0, 165, 92, 141, 0, 70, 35, 182, 0, 80, 125, 252, 0, 159, 28, 204, 0, 4, 253, 17, 0, 225, 76, 232, 0, 98, 5, 60, 0, 196, 47, 141, 0, 205, 236, 23, 0, 223, 10, 64, 0, 171, 210, 0, 0, 229, 54, 43, 0, 250, 190, 163, 0, 220, 245, 119, 0, 46, 17, 8, 0, 232, 21, 176, 0, 224, 23, 19, 0, 43, 55, 145, 0, 118, 15, 67, 0, 138, 180, 252, 0, 232, 235, 68, 0, 104, 56, 229, 0, 181, 123, 162, 0, 26, 192, 245, 0, 79, 53, 157, 0, 119, 186, 129, 0, 187, 166, 118, 0, 93, 252, 189, 0, 178, 126, 149, 0, 98, 221, 168, 0, 146, 31, 174, 0, 84, 249, 15, 0, 18, 241, 44, 0, 95, 196, 208, 0, 41, 201, 156, 0, 237, 244, 45, 0, 155, 17, 32, 0, 174, 63, 10, 0, 213, 62, 86, 0, 167, 166, 93, 0, 176, 0, 204, 0, 149, 131, 170, 0, 143, 230, 169, 0, 131, 136, 34, 0, 234, 249, 1, 0, 97, 252, 56, 0, 154, 108, 104, 0, 94, 216, 142, 0, 53, 15, 59, 0, 163, 94, 144, 0, 55, 97, 63, 0, 124, 141, 125, 0, 126, 220, 193, 0, 83, 16, 211, 0, 38, 231, 232, 0, 144, 126, 125, 0, 134, 68, 24, 0, 26, 204, 94, 0, 163, 188, 154, 0, 79, 67, 36, 0, 227, 150, 67, 0, 172, 146, 127, 0, 211, 120, 251, 0, 66, 174, 110, 0, 93, 11, 47, 0, 195, 203, 88, 0, 199, 162, 21, 0, 19, 38, 77, 0, 37, 7, 176, 0, 128, 131, 219, 0, 113, 178, 23, 0, 87, 89, 180, 0, 211, 218, 224, 0, 244, 183, 29, 0, 63, 56, 232, 0, 144, 190, 155, 0, 112, 243, 250, 0, 120, 30, 235, 0, 199, 203, 96, 0, 212, 20, 63, 0, 179, 71, 92, 0, 31, 7, 63, 0, 187, 110, 43, 0, 12, 122, 44, 0, 194, 27, 234, 0, 38, 239, 228, 0, 171, 43, 25, 0, 76, 220, 90, 0, 236, 251, 54, 0, 238, 9, 156, 0, 43, 80, 228, 0, 181, 6, 33, 0, 248, 96, 23, 0, 49, 189, 0, 0, 219, 60, 139, 0, 98, 148, 31, 0, 73, 180, 80, 0, 106, 190, 208, 0, 172, 224, 28, 0, 89, 128, 99, 0, 24, 222, 40, 0, 26, 85, 159, 0, 66, 94, 210, 0, 199, 85, 173, 0, 133, 199, 68, 0, 24, 248, 96, 0, 67, 248, 104, 0, 245, 50, 22, 0, 52, 36, 225, 0, 185, 231, 176, 0, 36, 158, 155, 0, 180, 57, 220, 0, 136, 215, 37, 0, 88, 82, 157, 0, 122, 195, 78, 0, 193, 169, 192, 0, 247, 105, 148, 0, 92, 166, 202, 0, 197, 149, 211, 0, 254, 168, 134, 0, 117, 190, 170, 0, 140, 2, 149, 0, 69, 182, 1, 0, 14, 178, 43, 0, 250, 180, 248, 0, 215, 142, 99, 0, 113, 183, 8, 0, 132, 2, 2, 0, 74, 204, 149, 0, 104, 227, 175, 0, 199, 232, 148, 0, 91, 206, 254, 0, 214, 254, 100, 0, 167, 122, 75, 0, 229, 198, 26, 0, 144, 55, 215, 0, 176, 155, 132, 0, 72, 89, 93, 0, 20, 89, 188, 0, 114, 150, 238, 0, 55, 158, 33, 0, 215, 204, 10, 0, 14, 253, 212, 0, 74, 9, 201, 0, 145, 32, 167, 0, 101, 82, 9, 0, 214, 117, 151, 0, 66, 160, 216, 0, 191, 66, 146, 0, 73, 123, 133, 0, 179, 194, 119, 0, 216, 246, 66, 0, 114, 40, 98, 0, 197, 114, 177, 0, 187, 210, 28, 0, 116, 10, 158, 0, 46, 215, 89, 0, 51, 180, 7, 0, 61, 18, 169, 0, 89, 42, 67, 0, 158, 170, 47, 0, 150, 109, 133, 0, 46, 179, 10, 0, 81, 100, 187, 0, 159, 194, 14, 0, 200, 139, 178, 0, 87, 5, 6, 0, 55, 233, 223, 0, 108, 117, 5, 0, 164, 53, 173, 0, 16, 227, 122, 0, 129, 4, 9, 0, 157, 113, 210, 0, 14, 176, 142, 0, 209, 175, 74, 0, 218, 47, 39, 0, 77, 76, 160, 0, 105, 164, 165, 0, 28, 123, 192, 0, 216, 81, 79, 0, 214, 196, 203, 0, 212, 11, 129, 0, 49, 243, 149, 0, 165, 133, 73, 0, 26, 5, 122, 0, 26, 13, 222, 0, 58, 5, 200, 0, 198, 38, 23, 0, 203, 44, 118, 0, 32, 162, 62, 0, 11, 204, 163, 0, \ +31, 239, 242, 0, 93, 210, 118, 0, 239, 40, 43, 0, 163, 196, 170, 0, 60, 100, 9, 0, 198, 3, 54, 0, 253, 13, 241, 0, 30, 147, 145, 0, 202, 81, 187, 0, 36, 72, 190, 0, 227, 16, 18, 0, 120, 189, 201, 0, 132, 7, 82, 0, 51, 90, 185, 0, 136, 5, 218, 0, 209, 246, 245, 0, 54, 208, 232, 0, 211, 15, 125, 0, 227, 136, 175, 0, 183, 184, 27, 0, 58, 157, 169, 0, 139, 247, 33, 0, 44, 165, 232, 0, 33, 128, 140, 0, 0, 232, 26, 0, 149, 120, 187, 0, 159, 96, 162, 0, 146, 73, 179, 0, 196, 68, 81, 0, 93, 108, 15, 0, 139, 121, 27, 0, 63, 39, 173, 0, 223, 166, 171, 0, 43, 27, 21, 0, 145, 76, 240, 0, 35, 239, 107, 0, 233, 210, 177, 0, 45, 245, 218, 0, 38, 195, 53, 0, 146, 46, 72, 0, 2, 203, 71, 0, 55, 240, 174, 0, 241, 7, 135, 0, 12, 252, 200, 0, 49, 209, 98, 0, 222, 14, 204, 0, 52, 34, 12, 0, 96, 162, 44, 0, 151, 239, 18, 0, 65, 63, 157, 0, 227, 48, 81, 0, 42, 230, 238, 0, 140, 117, 103, 0, 82, 44, 153, 0, 220, 104, 65, 0, 109, 58, 133, 0, 101, 121, 232, 0, 170, 157, 187, 0, 181, 49, 25, 0, 239, 64, 174, 0, 232, 185, 6, 0, 186, 185, 14, 0, 162, 52, 171, 0, 211, 150, 130, 0, 185, 155, 191, 0, 229, 202, 250, 0, 163, 162, 81, 0, 101, 137, 70, 0, 7, 24, 207, 0, 133, 206, 197, 0, 20, 8, 61, 0, 170, 102, 228, 0, 191, 233, 162, 0, 249, 147, 168, 0, 133, 0, 210, 0, 86, 193, 213, 0, 214, 243, 137, 0, 211, 83, 4, 0, 117, 125, 110, 0, 219, 127, 8, 0, 134, 20, 49, 0, 84, 37, 185, 0, 230, 106, 115, 0, 70, 110, 64, 0, 146, 254, 213, 0, 23, 131, 211, 0, 39, 142, 28, 0, 222, 247, 5, 0, 172, 184, 222, 0, 99, 225, 105, 0, 223, 9, 238, 0, 73, 204, 208, 0, 146, 26, 241, 0, 79, 120, 116, 0, 90, 9, 216, 0, 15, 245, 123, 0, 254, 5, 79, 0, 166, 63, 108, 0, 65, 82, 166, 0, 57, 244, 89, 0, 59, 2, 2, 0, 24, 243, 135, 0, 250, 220, 129, 0, 85, 83, 188, 0, 78, 67, 25, 0, 181, 68, 156, 0, 141, 194, 245, 0, 68, 122, 80, 0, 59, 164, 70, 0, 104, 213, 170, 0, 246, 153, 248, 0, 25, 244, 71, 0, 149, 25, 187, 0, 252, 7, 54, 0, 225, 74, 107, 0, 17, 103, 130, 0, 3, 206, 204, 0, 133, 140, 180, 0, 175, 66, 218, 0, 39, 102, 1, 0, 112, 120, 164, 0, 4, 39, 202, 0, 135, 87, 101, 0, 131, 28, 3, 0, 141, 208, 34, 0, 86, 218, 101, 0, 24, 171, 54, 0, 131, 57, 184, 0, 55, 20, 223, 0, 165, 107, 53, 0, 2, 96, 244, 0, 120, 250, 92, 0, 122, 215, 94, 0, 193, 151, 171, 0, 8, 65, 52, 0, 88, 223, 7, 0, 165, 222, 179, 0, 239, 85, 101, 0, 146, 110, 246, 0, 78, 234, 71, 0, 203, 44, 134, 0, 46, 77, 165, 0, 169, 108, 209, 0, 99, 79, 244, 0, 174, 158, 245, 0, 7, 33, 145, 0, 188, 178, 161, 0, 209, 44, 53, 0, 192, 173, 201, 0, 240, 106, 190, 0, 130, 27, 96, 0, 105, 148, 116, 0, 28, 94, 222, 0, 114, 216, 99, 0, 232, 28, 166, 0, 210, 107, 135, 0, 129, 2, 171, 0, 33, 89, 52, 0, 251, 236, 92, 0, 58, 30, 136, 0, 178, 146, 18, 0, 60, 76, 3, 0, 59, 112, 180, 0, 71, 1, 143, 0, 165, 57, 223, 0, 95, 241, 217, 0, 49, 46, 43, 0, 182, 94, 147, 0, 103, 48, 192, 0, 126, 172, 235, 0, 93, 128, 238, 0, 251, 40, 17, 0, 106, 52, 116, 0, 140, 9, 119, 0, 40, 7, 213, 0, 191, 39, 184, 0, 145, 74, 252, 0, 150, 71, 197, 0, 109, 122, 96, 0, 247, 86, 119, 0, 251, 50, 99, 0, 219, 232, 199, 0, 215, 253, 140, 0, 2, 126, 195, 0, 134, 68, 107, 0, 76, 98, 108, 0, 220, 24, 154, 0, 119, 17, 168, 0, 39, 172, 38, 0, 46, 153, 19, 0, 179, 207, 154, 0, 229, 24, 172, 0, 25, 35, 97, 0, 119, 68, 60, 0, 206, 242, 213, 0, 253, 96, 235, 0, 73, 93, 61, 0, 158, 224, 208, 0, 190, 4, 125, 0, 57, 144, 18, 0, 168, 47, 249, 0, 131, 41, 157, 0, 100, 109, 170, 0, 194, 124, 112, 0, 216, 122, 50, 0, 61, 233, 180, 0, 52, 247, 132, 0, 227, 110, 115, 0, 172, 219, 227, 0, 231, 223, 3, 0, 35, 113, 222, 0, 185, 57, 170, 0, 121, 4, 9, 0, 206, 93, 98, 0, 68, 169, 151, 0, 122, 180, 231, 0, 140, 243, 151, 0, 58, 71, 32, 0, 69, 156, 98, 0, 216, 55, 218, 0, 140, 164, 244, 0, 198, 231, 211, 0, 37, 139, 177, 0, 235, 202, 41, 0, \ +69, 154, 223, 0, 118, 86, 183, 0, 11, 104, 46, 0, 35, 3, 157, 0, 48, 239, 125, 0, 21, 216, 201, 0, 230, 93, 97, 0, 167, 145, 66, 0, 82, 65, 21, 0, 112, 193, 244, 0, 125, 31, 181, 0, 40, 236, 183, 0, 225, 190, 26, 0, 73, 243, 5, 0, 53, 85, 103, 0, 228, 154, 1, 0, 104, 76, 63, 0, 208, 38, 82, 0, 90, 246, 160, 0, 170, 46, 11, 0, 179, 157, 226, 0, 140, 41, 119, 0, 164, 13, 90, 0, 44, 116, 74, 0, 91, 207, 49, 0, 72, 114, 246, 0, 153, 2, 247, 0, 83, 39, 114, 0, 16, 68, 62, 0, 206, 68, 216, 0, 7, 215, 111, 0, 232, 0, 178, 0, 191, 35, 227, 0, 14, 94, 87, 0, 8, 193, 238, 0, 43, 123, 141, 0, 163, 123, 203, 0, 88, 123, 34, 0, 233, 68, 4, 0, 38, 47, 236, 0, 91, 249, 136, 0, 77, 252, 33, 0, 46, 239, 157, 0, 0, 115, 115, 0, 53, 143, 237, 0, 88, 130, 125, 0, 215, 196, 9, 0, 239, 113, 78, 0, 225, 97, 20, 0, 79, 237, 227, 0, 111, 62, 4, 0, 85, 69, 107, 0, 205, 129, 197, 0, 179, 50, 188, 0, 129, 131, 236, 0, 153, 118, 95, 0, 225, 245, 171, 0, 126, 158, 121, 0, 180, 128, 124, 0, 130, 93, 162, 0, 19, 45, 153, 0, 46, 62, 156, 0, 76, 18, 213, 0, 65, 236, 233, 0, 28, 248, 31, 0, 157, 35, 138, 0, 150, 223, 59, 0, 194, 99, 214, 0, 192, 81, 134, 0, 100, 2, 121, 0, 233, 222, 169, 0, 77, 156, 114, 0, 69, 25, 30, 0, 172, 246, 106, 0, 120, 40, 153, 0, 118, 110, 135, 0, 216, 232, 210, 0, 32, 32, 118, 0, 171, 64, 49, 0, 125, 154, 49, 0, 105, 252, 122, 0, 10, 169, 250, 0, 71, 171, 112, 0, 121, 90, 36, 0, 202, 35, 98, 0, 160, 87, 129, 0, 99, 31, 10, 0, 77, 235, 226, 0, 101, 3, 228, 0, 251, 191, 60, 0, 249, 82, 157, 0, 20, 184, 125, 0, 130, 94, 214, 0, 238, 119, 109, 0, 199, 159, 159, 0, 120, 230, 147, 0, 132, 236, 4, 0, 235, 2, 237, 0, 26, 84, 66, 0, 177, 159, 12, 0, 18, 226, 28, 0, 243, 76, 217, 0, 241, 87, 53, 0, 144, 8, 64, 0, 53, 242, 109, 0, 43, 26, 245, 0, 173, 181, 226, 0, 19, 222, 157, 0, 134, 220, 129, 0, 13, 160, 203, 0, 3, 88, 215, 0, 27, 39, 80, 0, 192, 233, 48, 0, 248, 95, 244, 0, 111, 224, 195, 0, 225, 204, 136, 0, 19, 228, 131, 0, 180, 150, 131, 0, 232, 180, 158, 0, 123, 177, 109, 0, 8, 12, 141, 0, 26, 80, 186, 0, 99, 28, 138, 0, 113, 132, 130, 0, 38, 177, 164, 0, 13, 239, 69, 0, 106, 13, 97, 0, 201, 124, 11, 0, 153, 1, 193, 0, 195, 106, 241, 0, 155, 84, 117, 0, 247, 148, 103, 0, 240, 248, 145, 0, 250, 161, 228, 0, 205, 192, 242, 0, 140, 49, 29, 0, 209, 92, 180, 0, 53, 11, 48, 0, 144, 70, 50, 0, 48, 125, 251, 0, 66, 141, 81, 0, 141, 157, 248, 0, 77, 236, 8, 0, 245, 130, 39, 0, 49, 127, 128, 0, 119, 144, 230, 0, 162, 87, 250, 0, 161, 151, 174, 0, 182, 149, 47, 0, 86, 69, 195, 0, 74, 205, 146, 0, 120, 113, 208, 0, 15, 184, 192, 0, 135, 39, 120, 0, 10, 116, 51, 0, 224, 184, 110, 0, 26, 177, 226, 0, 163, 47, 229, 0, 27, 231, 113, 0, 191, 9, 102, 0, 170, 141, 81, 0, 128, 19, 49, 0, 159, 170, 198, 0, 128, 229, 131, 0, 67, 147, 58, 0, 163, 14, 68, 0, 6, 252, 224, 0, 156, 241, 137, 0, 15, 241, 129, 0, 6, 240, 67, 0, 205, 71, 103, 0, 220, 110, 150, 0, 41, 232, 112, 0, 67, 239, 75, 0, 152, 16, 193, 0, 227, 235, 140, 0, 81, 107, 178, 0, 173, 122, 39, 0, 26, 29, 253, 0, 106, 6, 71, 0, 118, 136, 247, 0, 101, 49, 113, 0, 217, 25, 205, 0, 73, 79, 6, 0, 229, 179, 229, 0, 182, 232, 218, 0, 92, 69, 63, 0, 41, 70, 166, 0, 53, 101, 56, 0, 47, 11, 248, 0, 185, 134, 66, 0, 83, 55, 200, 0, 8, 54, 101, 0, 101, 114, 103, 0, 8, 112, 43, 0, 251, 20, 183, 0, 99, 82, 233, 0, 76, 240, 176, 0, 209, 245, 62, 0, 92, 86, 55, 0, 17, 65, 211, 0, 82, 100, 120, 0, 85, 29, 143, 0, 26, 208, 60, 0, 134, 223, 157, 0, 157, 38, 20, 0, 145, 30, 190, 0, 12, 133, 205, 0, 51, 73, 192, 0, 171, 96, 93, 0, 34, 147, 7, 0, 14, 159, 110, 0, 149, 235, 93, 0, 192, 225, 219, 0, 188, 160, 113, 0, 244, 107, 119, 0, 86, 65, 189, 0, 123, 9, 42, 0, 194, 126, 119, 0, 53, 177, 38, 0, 117, 71, 168, 0, 235, 83, 133, 0, 236, 66, 214, 0, 10, 127, 72, 0, \ +54, 161, 10, 0, 55, 85, 47, 0, 233, 138, 114, 0, 126, 183, 114, 0, 73, 60, 33, 0, 219, 154, 221, 0, 135, 218, 7, 0, 116, 189, 82, 0, 178, 27, 110, 0, 31, 226, 227, 0, 46, 79, 166, 0, 115, 227, 245, 0, 140, 52, 147, 0, 70, 142, 61, 0, 34, 13, 185, 0, 0, 70, 66, 0, 47, 75, 73, 0, 69, 217, 105, 0, 205, 177, 117, 0, 226, 176, 189, 0, 241, 206, 32, 0, 97, 35, 205, 0, 141, 52, 136, 0, 127, 214, 18, 0, 187, 56, 82, 0, 101, 74, 132, 0, 216, 44, 127, 0, 75, 248, 111, 0, 131, 54, 240, 0, 76, 125, 108, 0, 154, 136, 142, 0, 205, 13, 148, 0, 34, 61, 2, 0, 236, 114, 84, 0, 33, 148, 252, 0, 32, 119, 89, 0, 244, 145, 149, 0, 206, 226, 172, 0, 86, 43, 139, 0, 17, 55, 53, 0, 181, 97, 231, 0, 219, 15, 78, 0, 22, 224, 27, 0, 215, 226, 128, 0, 34, 163, 170, 0, 7, 17, 57, 0, 69, 5, 41, 0, 67, 66, 149, 0, 134, 33, 94, 0, 137, 142, 209, 0, 174, 253, 10, 0, 251, 128, 72, 0, 150, 84, 93, 0, 121, 90, 64, 0, 236, 155, 223, 0, 254, 98, 125, 0, 74, 240, 82, 0, 186, 33, 51, 0, 197, 163, 161, 0, 188, 203, 247, 0, 166, 53, 251, 0, 161, 182, 169, 0, 78, 190, 104, 0, 49, 10, 196, 0, 8, 239, 123, 0, 44, 169, 15, 0, 73, 200, 252, 0, 147, 112, 248, 0, 19, 245, 182, 0, 198, 227, 173, 0, 109, 2, 231, 0, 121, 119, 212, 0, 240, 121, 205, 0, 221, 109, 12, 0, 208, 146, 128, 0, 248, 16, 165, 0, 166, 12, 233, 0, 215, 12, 170, 0, 208, 61, 10, 0, 30, 132, 4, 0, 128, 232, 46, 0, 5, 98, 200, 0, 101, 102, 50, 0, 208, 35, 215, 0, 0, 156, 93, 0, 111, 108, 193, 0, 157, 33, 9, 0, 82, 166, 157, 0, 87, 164, 147, 0, 27, 175, 34, 0, 139, 86, 203, 0, 182, 194, 116, 0, 194, 22, 69, 0, 38, 102, 18, 0, 173, 62, 123, 0, 49, 38, 49, 0, 101, 47, 47, 0, 236, 51, 49, 0, 14, 101, 234, 0, 230, 30, 2, 0, 178, 114, 249, 0, 14, 143, 17, 0, 236, 97, 21, 0, 101, 115, 15, 0, 187, 209, 219, 0, 187, 157, 80, 0, 245, 125, 156, 0, 201, 148, 213, 0, 143, 201, 165, 0, 146, 21, 11, 0, 78, 89, 188, 0, 142, 133, 163, 0, 127, 234, 208, 0, 152, 147, 118, 0, 251, 245, 171, 0, 12, 124, 63, 0, 70, 226, 104, 0, 63, 24, 142, 0, 253, 198, 111, 0, 151, 36, 253, 0, 92, 106, 91, 0, 40, 96, 100, 0, 108, 23, 179, 0, 225, 113, 239, 0, 3, 227, 64, 0, 23, 231, 203, 0, 240, 198, 8, 0, 46, 9, 33, 0, 180, 125, 6, 0, 123, 232, 200, 0, 253, 16, 204, 0, 252, 162, 50, 0, 152, 33, 81, 0, 197, 155, 54, 0, 215, 104, 16, 0, 193, 1, 27, 0, 245, 203, 47, 0, 109, 244, 142, 0, 196, 140, 74, 0, 58, 82, 172, 0, 164, 81, 205, 0, 15, 107, 235, 0, 233, 24, 29, 0, 86, 80, 250, 0, 248, 66, 37, 0, 70, 251, 64, 0, 73, 102, 239, 0, 105, 88, 72, 0, 247, 177, 133, 0, 73, 135, 237, 0, 117, 45, 201, 0, 165, 175, 13, 0, 1, 15, 253, 0, 240, 191, 84, 0, 39, 224, 29, 0, 89, 172, 123, 0, 98, 223, 129, 0, 84, 198, 234, 0, 184, 158, 165, 0, 109, 29, 180, 0, 144, 159, 7, 0, 55, 231, 212, 0, 50, 96, 239, 0, 174, 95, 25, 0, 101, 75, 213, 0, 30, 223, 97, 0, 206, 77, 67, 0, 253, 195, 94, 0, 154, 198, 166, 0, 107, 114, 225, 0, 135, 13, 50, 0, 202, 247, 99, 0, 60, 98, 125, 0, 203, 131, 122, 0, 228, 88, 66, 0, 49, 17, 252, 0, 159, 32, 54, 0, 65, 161, 244, 0, 168, 63, 67, 0, 204, 109, 121, 0, 54, 178, 175, 0, 173, 58, 193, 0, 246, 173, 112, 0, 163, 22, 252, 0, 222, 225, 105, 0, 74, 77, 112, 0, 120, 115, 88, 0, 139, 139, 14, 0, 181, 148, 40, 0, 146, 198, 18, 0, 154, 31, 46, 0, 212, 27, 232, 0, 28, 45, 231, 0, 129, 201, 40, 0, 221, 218, 58, 0, 147, 34, 19, 0, 49, 92, 57, 0, 224, 3, 191, 0, 56, 131, 141, 0, 92, 253, 36, 0, 169, 245, 145, 0, 202, 13, 242, 0, 81, 156, 193, 0, 182, 38, 155, 0, 98, 131, 176, 0, 48, 194, 235, 0, 227, 78, 2, 0, 98, 159, 236, 0, 20, 160, 151, 0, 137, 164, 17, 0, 0, 3, 229, 0, 194, 141, 159, 0, 187, 42, 138, 0, 8, 20, 9, 0, 42, 207, 218, 0, 179, 100, 240, 0, 140, 204, 63, 0, 83, 93, 207, 0, 128, 169, 189, 0, 144, 124, 160, 0, 151, 91, 78, 0, 191, 20, 245, 0, 87, 92, 13, 0, 210, 218, 56, 0, \ +233, 54, 142, 0, 38, 49, 3, 0, 19, 172, 85, 0, 6, 93, 23, 0, 128, 47, 65, 0, 239, 235, 234, 0, 170, 35, 67, 0, 69, 6, 51, 0, 92, 156, 111, 0, 90, 100, 146, 0, 245, 155, 127, 0, 239, 72, 247, 0, 24, 88, 32, 0, 237, 172, 235, 0, 147, 64, 57, 0, 251, 83, 152, 0, 89, 114, 218, 0, 19, 153, 204, 0, 219, 28, 126, 0, 44, 67, 207, 0, 204, 46, 94, 0, 165, 47, 236, 0, 150, 51, 240, 0, 37, 14, 168, 0, 134, 221, 69, 0, 228, 105, 16, 0, 43, 234, 81, 0, 6, 114, 244, 0, 181, 83, 29, 0, 247, 56, 88, 0, 125, 81, 194, 0, 208, 153, 95, 0, 69, 49, 237, 0, 148, 15, 69, 0, 103, 68, 14, 0, 254, 23, 231, 0, 131, 183, 8, 0, 141, 53, 142, 0, 163, 217, 228, 0, 81, 126, 119, 0, 110, 244, 166, 0, 55, 236, 144, 0, 147, 178, 8, 0, 239, 105, 179, 0, 181, 25, 179, 0, 34, 101, 176, 0, 122, 64, 27, 0, 131, 181, 89, 0, 231, 34, 70, 0, 28, 106, 59, 0, 173, 102, 217, 0, 225, 54, 160, 0, 98, 134, 83, 0, 35, 83, 104, 0, 172, 92, 34, 0, 241, 97, 85, 0, 19, 178, 139, 0, 175, 79, 228, 0, 88, 240, 64, 0, 122, 83, 245, 0, 31, 42, 71, 0, 50, 48, 15, 0, 113, 152, 115, 0, 48, 122, 207, 0, 120, 215, 80, 0, 121, 109, 127, 0, 76, 253, 99, 0, 161, 182, 95, 0, 154, 206, 27, 0, 19, 90, 198, 0, 222, 199, 196, 0, 200, 156, 212, 0, 8, 252, 126, 0, 13, 222, 218, 0, 192, 88, 194, 0, 176, 140, 217, 0, 207, 86, 243, 0, 176, 92, 219, 0, 185, 2, 44, 0, 65, 238, 251, 0, 98, 101, 236, 0, 150, 15, 12, 0, 95, 48, 9, 0, 184, 215, 200, 0, 28, 71, 251, 0, 136, 207, 87, 0, 141, 78, 170, 0, 41, 126, 223, 0, 82, 81, 119, 0, 203, 222, 167, 0, 69, 153, 92, 0, 219, 172, 238, 0, 119, 240, 32, 0, 153, 19, 243, 0, 124, 246, 66, 0, 113, 149, 161, 0, 57, 233, 162, 0, 90, 73, 226, 0, 127, 246, 33, 0, 16, 56, 195, 0, 132, 69, 64, 0, 47, 133, 242, 0, 124, 210, 78, 0, 168, 218, 198, 0, 165, 46, 205, 0, 33, 42, 94, 0, 237, 215, 52, 0, 183, 158, 161, 0, 171, 195, 212, 0, 66, 207, 109, 0, 213, 84, 150, 0, 23, 44, 190, 0, 187, 53, 83, 0, 231, 80, 95, 0, 173, 192, 181, 0, 254, 219, 244, 0, 45, 219, 134, 0, 1, 157, 62, 0, 156, 53, 187, 0, 112, 31, 115, 0, 170, 179, 219, 0, 156, 164, 185, 0, 132, 122, 132, 0, 10, 59, 248, 0, 216, 237, 191, 0, 17, 62, 93, 0, 2, 184, 243, 0, 18, 159, 120, 0, 81, 25, 42, 0, 233, 184, 213, 0, 238, 87, 137, 0, 220, 95, 90, 0, 20, 86, 77, 0, 2, 13, 3, 0, 144, 21, 167, 0, 225, 0, 23, 0, 109, 42, 79, 0, 156, 227, 160, 0, 11, 85, 30, 0, 228, 66, 192, 0, 198, 103, 65, 0, 15, 173, 156, 0, 137, 50, 116, 0, 43, 98, 207, 0, 92, 125, 215, 0, 39, 104, 148, 0, 149, 243, 217, 0, 8, 195, 101, 0, 99, 80, 83, 0, 79, 135, 187, 0, 60, 251, 71, 0, 237, 140, 194, 0, 15, 200, 170, 0, 180, 86, 22, 0, 124, 35, 92, 0, 97, 22, 181, 0, 248, 232, 171, 0, 9, 213, 134, 0, 43, 186, 90, 0, 28, 112, 137, 0, 97, 72, 7, 0, 237, 189, 161, 0, 192, 153, 170, 0, 17, 121, 52, 0, 123, 173, 217, 0, 230, 151, 159, 0, 43, 105, 140, 0, 169, 238, 73, 0, 234, 215, 189, 0, 150, 172, 193, 0, 73, 177, 1, 0, 29, 45, 230, 0, 67, 135, 148, 0, 84, 254, 0, 0, 213, 80, 155, 0, 44, 101, 87, 0, 230, 216, 155, 0, 4, 80, 231, 0, 137, 244, 153, 0, 116, 127, 110, 0, 125, 243, 200, 0, 43, 86, 178, 0, 26, 4, 178, 0, 123, 68, 149, 0, 9, 144, 153, 0, 212, 244, 125, 0, 65, 101, 80, 0, 110, 243, 208, 0, 148, 248, 89, 0, 193, 48, 186, 0, 162, 65, 189, 0, 14, 83, 111, 0, 195, 8, 121, 0, 201, 161, 39, 0, 85, 197, 38, 0, 112, 141, 149, 0, 213, 194, 77, 0, 244, 5, 134, 0, 233, 49, 14, 0, 201, 73, 216, 0, 158, 139, 158, 0, 194, 242, 122, 0, 118, 188, 121, 0, 28, 45, 2, 0, 113, 61, 240, 0, 63, 182, 176, 0, 27, 154, 225, 0, 76, 227, 22, 0, 58, 77, 113, 0, 239, 46, 168, 0, 160, 131, 213, 0, 145, 5, 194, 0, 49, 167, 16, 0, 110, 61, 163, 0, 197, 87, 25, 0, 203, 151, 68, 0, 73, 13, 183, 0, 14, 195, 18, 0, 230, 203, 122, 0, 241, 28, 23, 0, 153, 37, 72, 0, 125, 123, 67, 0, 72, 246, 165, 0, 35, 57, 241, 0, \ +0, 251, 73, 0, 238, 0, 100, 0, 187, 167, 157, 0, 70, 1, 37, 0, 114, 167, 254, 0, 93, 0, 130, 0, 116, 247, 111, 0, 69, 48, 170, 0, 68, 31, 206, 0, 223, 61, 191, 0, 89, 146, 224, 0, 7, 251, 21, 0, 84, 202, 174, 0, 231, 15, 78, 0, 214, 21, 234, 0, 9, 147, 189, 0, 237, 245, 253, 0, 9, 168, 24, 0, 112, 211, 94, 0, 36, 57, 28, 0, 6, 140, 66, 0, 112, 181, 8, 0, 51, 4, 208, 0, 58, 7, 112, 0, 130, 50, 62, 0, 174, 69, 72, 0, 88, 50, 232, 0, 143, 143, 175, 0, 133, 26, 54, 0, 20, 3, 6, 0, 186, 177, 34, 0, 209, 60, 171, 0, 111, 245, 11, 0, 227, 208, 127, 0, 41, 254, 91, 0, 118, 0, 150, 0, 102, 21, 80, 0, 224, 110, 155, 0, 122, 203, 90, 0, 196, 160, 99, 0, 59, 180, 88, 0, 119, 95, 125, 0, 219, 147, 127, 0, 232, 108, 31, 0, 163, 21, 28, 0, 113, 164, 25, 0, 204, 199, 84, 0, 120, 104, 246, 0, 104, 150, 71, 0, 176, 188, 8, 0, 224, 153, 71, 0, 38, 78, 216, 0, 244, 12, 95, 0, 6, 237, 182, 0, 101, 202, 182, 0, 114, 200, 110, 0, 97, 190, 138, 0, 184, 225, 199, 0, 220, 224, 64, 0, 73, 6, 44, 0, 249, 71, 159, 0, 119, 250, 70, 0, 249, 175, 88, 0, 230, 223, 94, 0, 115, 144, 108, 0, 203, 191, 189, 0, 150, 143, 214, 0, 47, 164, 251, 0, 50, 103, 246, 0, 141, 210, 214, 0, 47, 174, 135, 0, 214, 35, 128, 0, 251, 200, 137, 0, 101, 6, 88, 0, 181, 21, 106, 0, 228, 116, 207, 0, 51, 244, 94, 0, 83, 203, 238, 0, 234, 119, 169, 0, 63, 25, 254, 0, 88, 166, 199, 0, 31, 158, 234, 0, 137, 75, 15, 0, 185, 128, 188, 0, 54, 204, 19, 0, 77, 75, 243, 0, 190, 195, 112, 0, 41, 79, 89, 0, 224, 223, 153, 0, 185, 81, 76, 0, 245, 7, 140, 0, 128, 145, 205, 0, 54, 124, 229, 0, 185, 178, 197, 0, 179, 231, 189, 0, 234, 31, 4, 0, 213, 37, 249, 0, 171, 74, 112, 0, 126, 75, 169, 0, 30, 28, 113, 0, 108, 82, 6, 0, 211, 52, 182, 0, 86, 88, 176, 0, 27, 51, 78, 0, 204, 167, 26, 0, 132, 175, 238, 0, 185, 142, 175, 0, 206, 109, 250, 0, 221, 126, 59, 0, 223, 133, 34, 0, 115, 4, 162, 0, 26, 201, 136, 0, 133, 13, 166, 0, 242, 114, 116, 0, 90, 65, 56, 0, 226, 21, 81, 0, 245, 178, 223, 0, 225, 153, 100, 0, 195, 73, 77, 0, 73, 246, 227, 0, 15, 91, 239, 0, 10, 41, 26, 0, 78, 122, 81, 0, 234, 16, 182, 0, 123, 244, 108, 0, 19, 149, 197, 0, 108, 12, 110, 0, 205, 95, 156, 0, 178, 76, 220, 0, 24, 144, 77, 0, 147, 249, 42, 0, 26, 224, 187, 0, 99, 109, 122, 0, 71, 28, 47, 0, 130, 3, 4, 0, 203, 86, 13, 0, 27, 152, 125, 0, 81, 96, 79, 0, 249, 27, 48, 0, 120, 75, 64, 0, 61, 171, 241, 0, 12, 225, 20, 0, 244, 120, 207, 0, 164, 45, 199, 0, 216, 87, 210, 0, 77, 195, 19, 0, 155, 239, 101, 0, 22, 7, 190, 0, 211, 58, 6, 0, 172, 159, 35, 0, 48, 46, 70, 0, 25, 188, 143, 0, 63, 146, 29, 0, 94, 35, 187, 0, 11, 126, 251, 0, 92, 243, 66, 0, 236, 91, 168, 0, 229, 145, 28, 0, 175, 238, 67, 0, 64, 34, 202, 0, 143, 88, 101, 0, 115, 134, 233, 0, 40, 82, 206, 0, 216, 115, 30, 0, 136, 220, 151, 0, 67, 185, 170, 0, 213, 162, 131, 0, 99, 42, 9, 0, 159, 35, 4, 0, 210, 236, 5, 0, 162, 95, 91, 0, 101, 154, 219, 0, 60, 143, 251, 0, 107, 137, 245, 0, 3, 22, 175, 0, 75, 139, 127, 0, 201, 98, 41, 0, 88, 168, 33, 0, 138, 83, 105, 0, 152, 129, 92, 0, 16, 167, 102, 0, 90, 24, 168, 0, 174, 248, 233, 0, 208, 94, 196, 0, 106, 107, 237, 0, 26, 140, 234, 0, 175, 201, 108, 0, 53, 205, 84, 0, 94, 158, 185, 0, 146, 232, 167, 0, 117, 143, 196, 0, 54, 214, 153, 0, 126, 139, 227, 0, 165, 39, 49, 0, 207, 97, 78, 0, 193, 249, 228, 0, 64, 4, 43, 0, 42, 130, 23, 0, 214, 153, 177, 0, 109, 178, 158, 0, 8, 61, 145, 0, 69, 5, 129, 0, 155, 20, 45, 0, 105, 205, 250, 0, 185, 4, 100, 0, 144, 71, 224, 0, 47, 108, 176, 0, 225, 79, 151, 0, 183, 153, 85, 0, 49, 216, 106, 0, 73, 253, 3, 0, 244, 200, 232, 0, 90, 182, 227, 0, 72, 232, 101, 0, 166, 5, 59, 0, 118, 109, 24, 0, 152, 198, 98, 0, 114, 89, 139, 0, 45, 199, 76, 0, 133, 172, 212, 0, 97, 154, 95, 0, 106, 197, 122, 0, 239, 200, 213, 0, 226, 147, 118, 0, \ +132, 221, 69, 0, 235, 142, 226, 0, 234, 147, 224, 0, 87, 246, 74, 0, 149, 251, 94, 0, 37, 136, 127, 0, 94, 121, 245, 0, 140, 172, 91, 0, 182, 123, 30, 0, 238, 42, 127, 0, 91, 62, 245, 0, 229, 62, 141, 0, 11, 19, 195, 0, 50, 96, 38, 0, 243, 186, 144, 0, 248, 234, 156, 0, 75, 236, 182, 0, 196, 126, 125, 0, 163, 92, 17, 0, 244, 53, 91, 0, 85, 237, 212, 0, 142, 160, 58, 0, 65, 45, 228, 0, 158, 234, 176, 0, 130, 224, 49, 0, 138, 85, 83, 0, 173, 51, 162, 0, 145, 12, 99, 0, 115, 199, 32, 0, 204, 98, 19, 0, 165, 218, 68, 0, 175, 149, 20, 0, 105, 43, 194, 0, 110, 178, 219, 0, 79, 127, 189, 0, 238, 191, 27, 0, 241, 174, 137, 0, 245, 158, 56, 0, 74, 13, 82, 0, 83, 40, 74, 0, 165, 249, 28, 0, 112, 123, 208, 0, 111, 70, 18, 0, 214, 106, 180, 0, 112, 125, 201, 0, 167, 152, 46, 0, 97, 157, 69, 0, 49, 153, 120, 0, 42, 236, 138, 0, 124, 1, 43, 0, 235, 50, 134, 0, 167, 204, 34, 0, 85, 31, 10, 0, 97, 125, 213, 0, 25, 152, 198, 0, 83, 20, 175, 0, 43, 31, 6, 0, 195, 28, 208, 0, 229, 232, 171, 0, 31, 252, 229, 0, 138, 17, 69, 0, 70, 220, 226, 0, 66, 48, 40, 0, 201, 124, 222, 0, 42, 224, 223, 0, 241, 152, 59, 0, 63, 8, 11, 0, 162, 79, 190, 0, 22, 138, 185, 0, 173, 83, 112, 0, 227, 22, 224, 0, 182, 228, 200, 0, 58, 237, 47, 0, 55, 51, 117, 0, 236, 99, 192, 0, 233, 165, 150, 0, 87, 168, 156, 0, 45, 120, 163, 0, 228, 41, 11, 0, 69, 55, 141, 0, 220, 58, 89, 0, 196, 119, 145, 0, 179, 232, 149, 0, 146, 84, 30, 0, 53, 97, 217, 0, 160, 88, 26, 0, 218, 109, 141, 0, 3, 14, 12, 0, 223, 110, 113, 0, 192, 110, 251, 0, 125, 63, 41, 0, 41, 175, 190, 0, 58, 174, 113, 0, 41, 221, 233, 0, 103, 184, 142, 0, 65, 92, 4, 0, 4, 233, 244, 0, 245, 189, 97, 0, 135, 72, 47, 0, 122, 9, 51, 0, 185, 192, 234, 0, 101, 184, 32, 0, 61, 241, 249, 0, 133, 173, 86, 0, 131, 91, 219, 0, 149, 54, 85, 0, 69, 96, 191, 0, 103, 98, 15, 0, 47, 222, 57, 0, 166, 52, 181, 0, 224, 236, 186, 0, 96, 80, 144, 0, 183, 194, 28, 0, 245, 38, 130, 0, 212, 58, 180, 0, 43, 191, 145, 0, 60, 49, 72, 0, 174, 254, 11, 0, 195, 199, 110, 0, 26, 166, 155, 0, 17, 229, 197, 0, 31, 204, 43, 0, 218, 23, 136, 0, 193, 78, 178, 0, 132, 125, 94, 0, 5, 25, 118, 0, 131, 77, 248, 0, 42, 53, 110, 0, 160, 214, 136, 0, 236, 1, 72, 0, 245, 244, 96, 0, 217, 111, 96, 0, 166, 226, 204, 0, 106, 103, 228, 0, 28, 52, 113, 0, 156, 243, 88, 0, 7, 249, 214, 0, 167, 200, 89, 0, 77, 108, 122, 0, 20, 211, 143, 0, 227, 157, 125, 0, 138, 156, 233, 0, 135, 85, 72, 0, 206, 64, 20, 0, 175, 230, 236, 0, 8, 122, 235, 0, 40, 221, 34, 0, 225, 183, 79, 0, 126, 242, 167, 0, 178, 164, 238, 0, 179, 87, 68, 0, 212, 21, 26, 0, 175, 35, 235, 0, 233, 181, 182, 0, 139, 67, 109, 0, 230, 139, 65, 0, 33, 248, 111, 0, 247, 26, 73, 0, 220, 156, 167, 0, 192, 28, 6, 0, 162, 205, 35, 0, 172, 105, 250, 0, 57, 114, 202, 0, 155, 225, 194, 0, 112, 131, 143, 0, 22, 80, 67, 0, 244, 176, 222, 0, 201, 86, 251, 0, 101, 62, 232, 0, 8, 178, 227, 0, 92, 11, 208, 0, 83, 249, 245, 0, 149, 29, 85, 0, 115, 174, 200, 0, 254, 6, 66, 0, 213, 73, 2, 0, 111, 120, 118, 0, 201, 225, 43, 0, 245, 6, 162, 0, 155, 179, 149, 0, 160, 135, 133, 0, 53, 234, 146, 0, 73, 120, 115, 0, 245, 39, 165, 0, 233, 58, 96, 0, 156, 217, 150, 0, 185, 49, 118, 0, 11, 238, 5, 0, 179, 206, 235, 0, 153, 174, 209, 0, 158, 123, 134, 0, 105, 56, 72, 0, 136, 80, 77, 0, 208, 79, 211, 0, 175, 166, 88, 0, 164, 190, 244, 0, 120, 74, 83, 0, 225, 73, 169, 0, 175, 4, 100, 0, 224, 146, 127, 0, 208, 30, 47, 0, 63, 220, 187, 0, 127, 163, 171, 0, 189, 32, 215, 0, 11, 215, 112, 0, 239, 203, 37, 0, 195, 144, 171, 0, 0, 168, 219, 0, 37, 141, 122, 0, 40, 150, 48, 0, 89, 137, 199, 0, 149, 19, 33, 0, 90, 52, 41, 0, 83, 244, 172, 0, 150, 129, 125, 0, 22, 159, 193, 0, 206, 110, 95, 0, 187, 69, 68, 0, 8, 217, 243, 0, 108, 32, 193, 0, 53, 37, 131, 0, 4, 191, 235, 0, 38, 214, 57, 0, 193, 236, 98, 0, \ +138, 105, 109, 0, 109, 241, 204, 0, 120, 155, 201, 0, 28, 73, 69, 0, 90, 243, 61, 0, 123, 6, 145, 0, 7, 19, 179, 0, 69, 154, 122, 0, 18, 113, 51, 0, 98, 28, 250, 0, 19, 72, 196, 0, 48, 82, 205, 0, 139, 186, 125, 0, 137, 177, 212, 0, 237, 31, 57, 0, 93, 228, 228, 0, 188, 183, 127, 0, 106, 146, 225, 0, 67, 83, 157, 0, 31, 153, 238, 0, 60, 220, 111, 0, 145, 33, 204, 0, 126, 7, 234, 0, 48, 163, 146, 0, 55, 85, 243, 0, 233, 109, 132, 0, 76, 242, 81, 0, 194, 132, 170, 0, 16, 114, 242, 0, 243, 75, 154, 0, 247, 248, 185, 0, 77, 63, 44, 0, 106, 234, 112, 0, 75, 189, 252, 0, 254, 254, 28, 0, 9, 220, 174, 0, 54, 198, 85, 0, 85, 33, 232, 0, 211, 236, 3, 0, 207, 22, 1, 0, 124, 70, 50, 0, 135, 105, 153, 0, 117, 16, 63, 0, 53, 97, 102, 0, 232, 180, 197, 0, 29, 25, 179, 0, 195, 227, 224, 0, 138, 229, 7, 0, 35, 106, 223, 0, 185, 138, 192, 0, 102, 50, 102, 0, 249, 52, 108, 0, 82, 41, 104, 0, 148, 6, 28, 0, 249, 194, 187, 0, 151, 206, 150, 0, 87, 191, 93, 0, 166, 155, 226, 0, 32, 2, 142, 0, 58, 148, 219, 0, 129, 250, 239, 0, 17, 246, 252, 0, 150, 121, 147, 0, 55, 180, 245, 0, 225, 143, 204, 0, 35, 226, 80, 0, 223, 13, 188, 0, 65, 227, 78, 0, 154, 81, 69, 0, 232, 131, 150, 0, 215, 144, 38, 0, 116, 53, 78, 0, 76, 61, 79, 0, 223, 156, 103, 0, 20, 37, 78, 0, 197, 118, 143, 0, 190, 32, 192, 0, 32, 84, 103, 0, 43, 92, 7, 0, 163, 131, 116, 0, 28, 99, 90, 0, 222, 122, 173, 0, 177, 197, 106, 0, 231, 127, 74, 0, 80, 126, 190, 0, 128, 97, 247, 0, 60, 174, 187, 0, 220, 70, 125, 0, 86, 209, 129, 0, 4, 170, 23, 0, 227, 233, 57, 0, 226, 77, 106, 0, 52, 72, 45, 0, 62, 169, 179, 0, 144, 172, 191, 0, 142, 140, 79, 0, 22, 50, 4, 0, 41, 70, 95, 0, 156, 211, 216, 0, 82, 133, 2, 0, 132, 135, 92, 0, 190, 159, 184, 0, 22, 9, 56, 0, 92, 200, 116, 0, 202, 161, 194, 0, 44, 156, 159, 0, 12, 133, 206, 0, 250, 206, 95, 0, 149, 100, 171, 0, 69, 110, 144, 0, 75, 247, 170, 0, 180, 48, 220, 0, 46, 143, 111, 0, 117, 149, 44, 0, 118, 80, 130, 0, 32, 233, 108, 0, 164, 69, 25, 0, 225, 188, 207, 0, 233, 74, 56, 0, 167, 156, 78, 0, 197, 148, 200, 0, 27, 117, 120, 0, 145, 24, 53, 0, 201, 170, 112, 0, 75, 161, 164, 0, 144, 173, 241, 0, 233, 0, 244, 0, 171, 103, 135, 0, 26, 140, 172, 0, 43, 186, 170, 0, 74, 152, 130, 0, 169, 218, 165, 0, 47, 68, 20, 0, 240, 176, 36, 0, 211, 178, 18, 0, 123, 61, 36, 0, 122, 45, 1, 0, 163, 166, 3, 0, 125, 176, 10, 0, 156, 179, 86, 0, 142, 217, 244, 0, 37, 164, 117, 0, 147, 59, 70, 0, 186, 130, 177, 0, 92, 65, 237, 0, 228, 166, 117, 0, 90, 224, 15, 0, 210, 166, 174, 0, 76, 212, 74, 0, 96, 213, 195, 0, 186, 43, 162, 0, 108, 236, 58, 0, 97, 22, 75, 0, 145, 42, 27, 0, 87, 88, 242, 0, 124, 207, 70, 0, 223, 205, 11, 0, 59, 179, 121, 0, 182, 132, 181, 0, 92, 29, 246, 0, 227, 92, 223, 0, 81, 239, 231, 0, 88, 126, 73, 0, 97, 177, 15, 0, 7, 114, 141, 0, 155, 58, 188, 0, 56, 68, 31, 0, 196, 50, 97, 0, 82, 13, 254, 0, 135, 151, 104, 0, 52, 203, 143, 0, 122, 44, 136, 0, 134, 112, 126, 0, 82, 240, 200, 0, 248, 115, 132, 0, 87, 79, 113, 0, 117, 64, 221, 0, 77, 23, 58, 0, 120, 204, 115, 0, 135, 90, 58, 0, 37, 196, 243, 0, 222, 131, 104, 0, 195, 117, 228, 0, 88, 231, 167, 0, 172, 223, 197, 0, 196, 173, 120, 0, 116, 161, 49, 0, 54, 66, 120, 0, 156, 60, 74, 0, 80, 6, 91, 0, 224, 165, 223, 0, 165, 145, 159, 0, 92, 150, 222, 0, 95, 247, 217, 0, 254, 120, 49, 0, 193, 209, 7, 0, 115, 75, 89, 0, 105, 134, 150, 0, 109, 189, 157, 0, 74, 113, 205, 0, 25, 9, 151, 0, 134, 254, 91, 0, 254, 159, 248, 0, 154, 240, 76, 0, 121, 226, 63, 0, 105, 23, 137, 0, 234, 103, 223, 0, 86, 141, 46, 0, 160, 238, 83, 0, 184, 211, 9, 0, 47, 129, 189, 0, 197, 129, 35, 0, 170, 211, 3, 0, 193, 30, 111, 0, 64, 40, 217, 0, 241, 61, 67, 0, 123, 251, 220, 0, 53, 87, 18, 0, 83, 164, 116, 0, 167, 33, 53, 0, 103, 120, 88, 0, 118, 142, 81, 0, 163, 93, 157, 0, 10, 138, 20, 0, \ +103, 127, 126, 0, 113, 194, 123, 0, 57, 17, 72, 0, 121, 54, 36, 0, 176, 32, 155, 0, 234, 207, 155, 0, 31, 46, 233, 0, 198, 19, 149, 0, 147, 59, 71, 0, 10, 164, 116, 0, 159, 22, 34, 0, 103, 54, 191, 0, 5, 188, 169, 0, 68, 86, 68, 0, 91, 105, 239, 0, 225, 2, 176, 0, 229, 105, 77, 0, 71, 71, 172, 0, 72, 38, 111, 0, 187, 55, 104, 0, 132, 140, 183, 0, 97, 178, 202, 0, 212, 136, 115, 0, 76, 50, 115, 0, 24, 60, 19, 0, 166, 184, 105, 0, 188, 232, 186, 0, 128, 90, 1, 0, 191, 224, 6, 0, 153, 168, 150, 0, 80, 148, 136, 0, 152, 137, 132, 0, 104, 219, 25, 0, 138, 106, 57, 0, 138, 67, 217, 0, 137, 56, 206, 0, 244, 225, 169, 0, 24, 118, 182, 0, 93, 186, 104, 0, 196, 118, 105, 0, 163, 81, 86, 0, 206, 144, 177, 0, 187, 48, 135, 0, 19, 160, 73, 0, 199, 215, 97, 0, 219, 141, 122, 0, 170, 94, 31, 0, 64, 219, 241, 0, 69, 70, 243, 0, 190, 11, 252, 0, 176, 35, 59, 0, 10, 21, 192, 0, 131, 123, 208, 0, 101, 226, 106, 0, 218, 13, 71, 0, 101, 132, 118, 0, 115, 5, 238, 0, 22, 197, 103, 0, 210, 197, 224, 0, 244, 68, 183, 0, 222, 170, 94, 0, 75, 88, 34, 0, 27, 223, 101, 0, 194, 82, 128, 0, 71, 218, 9, 0, 98, 36, 20, 0, 91, 80, 234, 0, 179, 107, 79, 0, 210, 65, 43, 0, 240, 28, 107, 0, 54, 143, 116, 0, 48, 123, 101, 0, 4, 35, 9, 0, 148, 3, 96, 0, 71, 250, 103, 0, 129, 167, 167, 0, 41, 201, 33, 0, 75, 41, 24, 0, 159, 119, 3, 0, 143, 48, 118, 0, 254, 184, 254, 0, 128, 81, 192, 0, 97, 89, 90, 0, 167, 92, 19, 0, 63, 240, 26, 0, 24, 121, 214, 0, 133, 200, 196, 0, 47, 9, 5, 0, 21, 190, 84, 0, 45, 190, 203, 0, 243, 192, 214, 0, 71, 243, 189, 0, 120, 21, 156, 0, 133, 3, 22, 0, 119, 252, 123, 0, 153, 113, 183, 0, 219, 201, 140, 0, 152, 207, 173, 0, 59, 124, 234, 0, 193, 142, 38, 0, 128, 95, 34, 0, 82, 198, 85, 0, 237, 231, 188, 0, 10, 27, 142, 0, 204, 95, 102, 0, 112, 173, 193, 0, 24, 80, 10, 0, 234, 121, 240, 0, 242, 149, 120, 0, 58, 87, 174, 0, 60, 79, 159, 0, 210, 167, 60, 0, 41, 23, 79, 0, 68, 50, 3, 0, 154, 218, 28, 0, 211, 210, 71, 0, 123, 245, 13, 0, 161, 135, 240, 0, 167, 192, 48, 0, 108, 37, 171, 0, 156, 185, 115, 0, 170, 48, 228, 0, 83, 50, 114, 0, 44, 2, 187, 0, 114, 71, 208, 0, 77, 60, 116, 0, 198, 167, 254, 0, 57, 145, 205, 0, 30, 234, 184, 0, 148, 247, 157, 0, 213, 253, 32, 0, 29, 209, 123, 0, 47, 220, 253, 0, 197, 250, 212, 0, 193, 118, 109, 0, 106, 96, 191, 0, 63, 253, 100, 0, 179, 252, 70, 0, 194, 169, 180, 0, 115, 132, 125, 0, 0, 1, 211, 0, 105, 66, 116, 0, 201, 135, 85, 0, 136, 96, 117, 0, 231, 212, 170, 0, 213, 164, 58, 0, 141, 118, 50, 0, 124, 121, 57, 0, 179, 251, 137, 0, 225, 201, 110, 0, 155, 156, 182, 0, 243, 165, 6, 0, 90, 154, 34, 0, 222, 172, 235, 0, 154, 227, 70, 0, 170, 248, 198, 0, 132, 131, 185, 0, 46, 114, 99, 0, 215, 74, 79, 0, 165, 172, 144, 0, 169, 175, 68, 0, 105, 8, 125, 0, 89, 14, 187, 0, 199, 212, 67, 0, 46, 245, 223, 0, 32, 178, 26, 0, 189, 75, 16, 0, 87, 75, 147, 0, 170, 67, 145, 0, 114, 10, 119, 0, 25, 154, 77, 0, 45, 160, 218, 0, 212, 40, 103, 0, 126, 48, 155, 0, 30, 2, 233, 0, 154, 139, 123, 0, 116, 174, 64, 0, 77, 4, 161, 0, 77, 216, 251, 0, 120, 216, 173, 0, 86, 70, 176, 0, 219, 69, 93, 0, 172, 144, 136, 0, 238, 152, 161, 0, 188, 65, 4, 0, 43, 121, 147, 0, 60, 114, 228, 0, 84, 188, 178, 0, 79, 96, 22, 0, 27, 75, 118, 0, 147, 83, 161, 0, 151, 12, 127, 0, 178, 90, 223, 0, 115, 126, 167, 0, 47, 89, 247, 0, 128, 0, 28, 0, 14, 168, 252, 0, 114, 201, 69, 0, 102, 192, 220, 0, 196, 248, 124, 0, 167, 164, 69, 0, 51, 155, 193, 0, 190, 111, 217, 0, 4, 182, 29, 0, 183, 240, 233, 0, 202, 56, 5, 0, 172, 97, 230, 0, 42, 71, 38, 0, 128, 162, 177, 0, 121, 254, 123, 0, 121, 244, 30, 0, 32, 27, 103, 0, 164, 159, 125, 0, 250, 235, 15, 0, 31, 75, 27, 0, 159, 68, 248, 0, 88, 27, 249, 0, 86, 50, 34, 0, 165, 114, 101, 0, 168, 78, 181, 0, 112, 51, 120, 0, 96, 233, 93, 0, 19, 253, 44, 0, 13, 15, 2, 0, \ +137, 158, 198, 0, 172, 167, 20, 0, 16, 156, 12, 0, 173, 159, 126, 0, 175, 141, 217, 0, 57, 155, 84, 0, 127, 203, 247, 0, 22, 4, 155, 0, 245, 93, 96, 0, 202, 124, 70, 0, 77, 248, 205, 0, 107, 143, 62, 0, 211, 56, 118, 0, 247, 33, 144, 0, 135, 148, 41, 0, 139, 85, 118, 0, 17, 193, 193, 0, 30, 34, 131, 0, 33, 138, 32, 0, 114, 160, 159, 0, 52, 80, 18, 0, 21, 13, 39, 0, 70, 1, 87, 0, 212, 23, 101, 0, 146, 186, 126, 0, 29, 178, 29, 0, 8, 204, 132, 0, 235, 233, 42, 0, 154, 178, 196, 0, 37, 220, 221, 0, 243, 67, 192, 0, 30, 118, 125, 0, 145, 226, 176, 0, 210, 54, 6, 0, 55, 142, 232, 0, 73, 244, 116, 0, 28, 54, 36, 0, 149, 40, 6, 0, 227, 51, 128, 0, 117, 214, 65, 0, 81, 115, 174, 0, 101, 216, 238, 0, 95, 48, 174, 0, 92, 158, 169, 0, 138, 238, 229, 0, 37, 181, 82, 0, 110, 253, 182, 0, 23, 244, 136, 0, 130, 60, 171, 0, 231, 254, 41, 0, 164, 6, 125, 0, 121, 156, 224, 0, 152, 133, 205, 0, 216, 184, 61, 0, 74, 66, 157, 0, 92, 198, 131, 0, 166, 236, 181, 0, 109, 156, 81, 0, 240, 186, 2, 0, 2, 186, 123, 0, 52, 82, 162, 0, 234, 248, 172, 0, 148, 216, 31, 0, 219, 244, 139, 0, 68, 116, 143, 0, 72, 100, 235, 0, 149, 236, 50, 0, 81, 150, 28, 0, 108, 250, 112, 0, 161, 252, 192, 0, 254, 199, 164, 0, 78, 218, 2, 0, 217, 213, 91, 0, 32, 140, 28, 0, 194, 195, 2, 0, 97, 212, 218, 0, 19, 189, 169, 0, 104, 73, 123, 0, 235, 59, 89, 0, 30, 199, 22, 0, 60, 237, 6, 0, 35, 5, 199, 0, 161, 248, 128, 0, 178, 80, 174, 0, 129, 102, 192, 0, 171, 211, 209, 0, 224, 31, 243, 0, 53, 186, 91, 0, 40, 163, 152, 0, 60, 219, 68, 0, 167, 141, 61, 0, 171, 150, 120, 0, 95, 28, 159, 0, 115, 200, 103, 0, 113, 126, 157, 0, 146, 93, 109, 0, 95, 133, 165, 0, 250, 164, 40, 0, 67, 100, 15, 0, 249, 153, 153, 0, 104, 158, 75, 0, 229, 31, 13, 0, 93, 59, 11, 0, 194, 35, 238, 0, 198, 22, 106, 0, 245, 176, 205, 0, 11, 160, 23, 0, 223, 90, 158, 0, 199, 238, 159, 0, 10, 43, 130, 0, 29, 20, 47, 0, 7, 184, 45, 0, 17, 8, 99, 0, 181, 137, 5, 0, 192, 129, 178, 0, 250, 4, 77, 0, 44, 146, 147, 0, 131, 109, 233, 0, 218, 116, 150, 0, 23, 164, 229, 0, 169, 62, 244, 0, 213, 57, 189, 0, 202, 237, 217, 0, 217, 135, 215, 0, 134, 40, 203, 0, 158, 116, 36, 0, 112, 67, 127, 0, 133, 19, 129, 0, 88, 67, 53, 0, 171, 27, 25, 0, 234, 251, 203, 0, 41, 205, 5, 0, 116, 95, 174, 0, 73, 55, 219, 0, 204, 40, 185, 0, 65, 98, 134, 0, 232, 240, 110, 0, 206, 101, 227, 0, 68, 147, 92, 0, 31, 206, 186, 0, 170, 147, 3, 0, 123, 207, 186, 0, 95, 50, 56, 0, 135, 166, 146, 0, 37, 27, 27, 0, 147, 188, 223, 0, 99, 11, 187, 0, 38, 240, 6, 0, 84, 20, 182, 0, 26, 59, 136, 0, 74, 31, 53, 0, 176, 65, 23, 0, 130, 191, 186, 0, 72, 213, 57, 0, 116, 209, 92, 0, 81, 240, 197, 0, 8, 200, 123, 0, 176, 0, 55, 0, 31, 201, 6, 0, 25, 187, 59, 0, 215, 188, 112, 0, 16, 110, 95, 0, 89, 167, 59, 0, 153, 1, 242, 0, 124, 129, 181, 0, 16, 123, 213, 0, 222, 75, 221, 0, 43, 243, 116, 0, 109, 83, 103, 0, 228, 253, 118, 0, 101, 241, 0, 0, 149, 93, 59, 0, 232, 106, 246, 0, 231, 168, 239, 0, 163, 71, 119, 0, 160, 214, 191, 0, 158, 78, 183, 0, 186, 246, 144, 0, 4, 142, 253, 0, 190, 179, 19, 0, 172, 67, 249, 0, 215, 6, 104, 0, 126, 162, 6, 0, 221, 79, 62, 0, 46, 27, 249, 0, 232, 194, 7, 0, 76, 219, 124, 0, 201, 199, 144, 0, 160, 170, 180, 0, 174, 38, 76, 0, 194, 161, 102, 0, 139, 53, 45, 0, 251, 136, 170, 0, 45, 78, 54, 0, 148, 1, 32, 0, 174, 204, 58, 0, 138, 229, 196, 0, 209, 194, 3, 0, 29, 61, 92, 0, 76, 12, 81, 0, 3, 222, 181, 0, 159, 118, 152, 0, 73, 241, 158, 0, 218, 58, 11, 0, 192, 193, 191, 0, 139, 103, 194, 0, 23, 202, 24, 0, 79, 140, 55, 0, 88, 93, 67, 0, 137, 215, 19, 0, 67, 60, 2, 0, 150, 106, 59, 0, 28, 243, 217, 0, 253, 114, 101, 0, 53, 166, 165, 0, 171, 86, 115, 0, 147, 79, 139, 0, 210, 48, 111, 0, 58, 234, 21, 0, 237, 231, 164, 0, 243, 141, 129, 0, 6, 42, 87, 0, 95, 243, 74, 0, 63, 93, 217, 0, \ +185, 250, 0, 0, 91, 135, 120, 0, 198, 202, 166, 0, 199, 182, 217, 0, 4, 77, 174, 0, 223, 172, 239, 0, 82, 152, 75, 0, 216, 50, 39, 0, 251, 254, 172, 0, 181, 72, 172, 0, 207, 160, 1, 0, 184, 111, 162, 0, 141, 217, 182, 0, 161, 48, 244, 0, 138, 169, 63, 0, 96, 17, 241, 0, 216, 126, 3, 0, 64, 65, 215, 0, 114, 51, 111, 0, 245, 97, 126, 0, 13, 54, 133, 0, 34, 241, 45, 0, 231, 171, 6, 0, 150, 86, 201, 0, 124, 225, 249, 0, 64, 235, 253, 0, 140, 46, 38, 0, 133, 240, 135, 0, 155, 151, 86, 0, 89, 119, 35, 0, 42, 195, 75, 0, 248, 35, 171, 0, 61, 194, 218, 0, 99, 17, 244, 0, 94, 27, 81, 0, 14, 125, 65, 0, 60, 219, 45, 0, 126, 32, 102, 0, 254, 101, 153, 0, 75, 15, 15, 0, 111, 12, 54, 0, 92, 227, 142, 0, 241, 155, 228, 0, 225, 222, 46, 0, 246, 122, 34, 0, 83, 187, 176, 0, 217, 80, 9, 0, 190, 18, 43, 0, 234, 55, 212, 0, 3, 236, 162, 0, 152, 214, 73, 0, 162, 106, 136, 0, 103, 108, 154, 0, 235, 170, 115, 0, 77, 179, 224, 0, 213, 198, 174, 0, 34, 2, 186, 0, 228, 187, 60, 0, 188, 12, 125, 0, 118, 3, 141, 0, 106, 177, 142, 0, 18, 222, 59, 0, 63, 111, 243, 0, 215, 192, 246, 0, 173, 100, 166, 0, 36, 42, 230, 0, 140, 3, 47, 0, 157, 186, 120, 0, 106, 168, 8, 0, 106, 91, 5, 0, 251, 42, 180, 0, 193, 79, 123, 0, 78, 9, 84, 0, 213, 223, 36, 0, 51, 252, 87, 0, 163, 156, 204, 0, 210, 45, 78, 0, 56, 33, 93, 0, 115, 177, 97, 0, 8, 33, 79, 0, 249, 133, 50, 0, 215, 251, 63, 0, 0, 115, 84, 0, 61, 148, 3, 0, 188, 95, 141, 0, 132, 195, 153, 0, 9, 155, 47, 0, 247, 46, 217, 0, 244, 97, 249, 0, 121, 85, 166, 0, 17, 180, 238, 0, 214, 251, 207, 0, 236, 3, 197, 0, 37, 227, 136, 0, 100, 225, 254, 0, 147, 33, 213, 0, 216, 82, 239, 0, 33, 56, 230, 0, 48, 135, 174, 0, 113, 78, 72, 0, 21, 52, 103, 0, 67, 108, 94, 0, 134, 82, 86, 0, 171, 40, 213, 0, 243, 241, 95, 0, 56, 105, 174, 0, 44, 140, 209, 0, 196, 21, 206, 0, 181, 208, 251, 0, 166, 135, 114, 0, 210, 28, 172, 0, 176, 219, 232, 0, 215, 205, 102, 0, 38, 161, 219, 0, 236, 98, 239, 0, 123, 81, 217, 0, 3, 129, 220, 0, 197, 122, 29, 0, 76, 128, 3, 0, 75, 34, 6, 0, 178, 50, 58, 0, 109, 106, 147, 0, 101, 149, 54, 0, 126, 233, 177, 0, 250, 62, 224, 0, 45, 73, 131, 0, 202, 33, 211, 0, 143, 28, 232, 0, 86, 158, 24, 0, 175, 141, 9, 0, 2, 91, 191, 0, 67, 65, 214, 0, 138, 198, 4, 0, 143, 50, 6, 0, 228, 19, 140, 0, 92, 60, 241, 0, 99, 154, 11, 0, 56, 136, 83, 0, 92, 171, 247, 0, 170, 147, 5, 0, 113, 91, 67, 0, 21, 60, 188, 0, 131, 253, 143, 0, 235, 199, 211, 0, 49, 204, 100, 0, 219, 9, 229, 0, 112, 67, 22, 0, 17, 234, 235, 0, 241, 147, 211, 0, 132, 134, 242, 0, 5, 122, 89, 0, 75, 225, 1, 0, 168, 34, 63, 0, 41, 75, 243, 0, 178, 165, 88, 0, 226, 46, 65, 0, 229, 157, 126, 0, 17, 43, 191, 0, 46, 46, 219, 0, 53, 110, 145, 0, 150, 204, 178, 0, 85, 236, 55, 0, 40, 229, 144, 0, 92, 175, 165, 0, 155, 70, 179, 0, 102, 241, 190, 0, 168, 140, 133, 0, 204, 234, 219, 0, 26, 229, 164, 0, 211, 251, 237, 0, 212, 243, 4, 0, 187, 103, 253, 0, 94, 180, 233, 0, 33, 178, 23, 0, 240, 44, 200, 0, 129, 212, 96, 0, 2, 160, 56, 0, 141, 163, 117, 0, 96, 184, 229, 0, 188, 45, 134, 0, 183, 141, 222, 0, 244, 39, 217, 0, 80, 65, 248, 0, 217, 16, 40, 0, 151, 116, 17, 0, 198, 85, 192, 0, 221, 126, 193, 0, 107, 119, 27, 0, 239, 187, 105, 0, 162, 210, 145, 0, 82, 125, 80, 0, 109, 38, 235, 0, 61, 12, 93, 0, 182, 109, 134, 0, 66, 220, 172, 0, 151, 91, 236, 0, 111, 193, 178, 0, 47, 138, 1, 0, 252, 41, 132, 0, 205, 75, 116, 0, 173, 215, 39, 0, 197, 90, 61, 0, 170, 39, 206, 0, 201, 35, 52, 0, 156, 141, 171, 0, 173, 182, 14, 0, 76, 4, 172, 0, 145, 60, 89, 0, 213, 148, 0, 0, 75, 208, 213, 0, 156, 214, 44, 0, 150, 103, 150, 0, 22, 46, 2, 0, 42, 169, 73, 0, 152, 253, 183, 0, 194, 87, 161, 0, 31, 143, 39, 0, 200, 156, 81, 0, 74, 48, 174, 0, 40, 189, 80, 0, 200, 190, 109, 0, 237, 78, 51, 0, 142, 106, 78, 0, 184, 126, 167, 0, \ +60, 222, 117, 0, 142, 157, 15, 0, 115, 195, 175, 0, 177, 173, 64, 0, 93, 221, 224, 0, 78, 193, 13, 0, 49, 67, 227, 0, 62, 79, 39, 0, 52, 244, 113, 0, 98, 188, 249, 0, 146, 219, 22, 0, 25, 105, 215, 0, 240, 20, 138, 0, 76, 129, 128, 0, 246, 54, 4, 0, 6, 112, 225, 0, 45, 115, 212, 0, 125, 48, 253, 0, 119, 143, 44, 0, 14, 210, 1, 0, 167, 6, 42, 0, 13, 188, 23, 0, 127, 61, 229, 0, 140, 42, 215, 0, 195, 177, 69, 0, 216, 191, 125, 0, 204, 218, 232, 0, 79, 46, 48, 0, 119, 4, 113, 0, 106, 208, 243, 0, 3, 242, 214, 0, 162, 209, 173, 0, 28, 146, 172, 0, 189, 94, 179, 0, 138, 203, 191, 0, 236, 162, 38, 0, 77, 26, 184, 0, 243, 187, 69, 0, 235, 248, 191, 0, 22, 194, 217, 0, 1, 93, 87, 0, 200, 124, 249, 0, 115, 49, 22, 0, 173, 117, 246, 0, 11, 173, 78, 0, 252, 134, 105, 0, 176, 64, 190, 0, 181, 187, 176, 0, 230, 241, 62, 0, 238, 0, 77, 0, 141, 62, 107, 0, 81, 227, 119, 0, 65, 18, 215, 0, 198, 185, 166, 0, 20, 191, 69, 0, 130, 198, 144, 0, 162, 157, 117, 0, 233, 42, 214, 0, 101, 86, 243, 0, 24, 248, 84, 0, 177, 18, 231, 0, 200, 121, 30, 0, 91, 70, 217, 0, 167, 27, 45, 0, 61, 20, 80, 0, 236, 227, 72, 0, 83, 154, 204, 0, 214, 64, 197, 0, 83, 51, 254, 0, 186, 208, 10, 0, 237, 205, 70, 0, 236, 39, 140, 0, 185, 70, 62, 0, 93, 169, 43, 0, 185, 170, 71, 0, 2, 74, 163, 0, 207, 2, 101, 0, 95, 94, 43, 0, 133, 93, 133, 0, 57, 200, 15, 0, 233, 146, 38, 0, 249, 75, 166, 0, 135, 108, 92, 0, 91, 252, 89, 0, 147, 175, 127, 0, 46, 205, 132, 0, 27, 225, 148, 0, 146, 49, 119, 0, 65, 239, 54, 0, 228, 74, 195, 0, 201, 143, 194, 0, 108, 139, 195, 0, 180, 231, 110, 0, 100, 94, 173, 0, 93, 179, 32, 0, 93, 50, 85, 0, 144, 45, 244, 0, 221, 213, 253, 0, 123, 250, 198, 0, 150, 106, 247, 0, 217, 182, 104, 0, 18, 7, 219, 0, 92, 94, 5, 0, 118, 91, 142, 0, 200, 245, 95, 0, 199, 41, 12, 0, 157, 146, 241, 0, 41, 97, 66, 0, 64, 125, 244, 0, 226, 107, 207, 0, 193, 169, 186, 0, 183, 200, 226, 0, 8, 27, 214, 0, 189, 65, 27, 0, 23, 202, 112, 0, 165, 123, 116, 0, 61, 221, 150, 0, 7, 138, 177, 0, 194, 117, 101, 0, 68, 173, 22, 0, 245, 227, 50, 0, 173, 195, 107, 0, 154, 254, 134, 0, 222, 135, 41, 0, 87, 89, 245, 0, 138, 127, 123, 0, 99, 183, 241, 0, 121, 121, 130, 0, 85, 232, 56, 0, 148, 194, 158, 0, 79, 117, 104, 0, 164, 101, 203, 0, 241, 182, 219, 0, 133, 36, 112, 0, 155, 216, 193, 0, 121, 97, 10, 0, 89, 194, 191, 0, 77, 189, 136, 0, 8, 127, 96, 0, 203, 79, 40, 0, 93, 39, 2, 0, 126, 230, 79, 0, 194, 52, 45, 0, 201, 14, 19, 0, 49, 197, 5, 0, 7, 32, 237, 0, 242, 179, 168, 0, 109, 10, 77, 0, 223, 220, 235, 0, 25, 43, 184, 0, 98, 243, 215, 0, 99, 29, 192, 0, 24, 108, 158, 0, 219, 250, 136, 0, 42, 20, 79, 0, 31, 244, 124, 0, 40, 120, 203, 0, 46, 202, 204, 0, 156, 247, 211, 0, 228, 124, 22, 0, 18, 136, 238, 0, 63, 4, 105, 0, 199, 175, 143, 0, 155, 236, 122, 0, 146, 16, 202, 0, 64, 254, 42, 0, 121, 199, 35, 0, 93, 54, 66, 0, 245, 118, 243, 0, 229, 73, 107, 0, 35, 40, 244, 0, 108, 52, 160, 0, 4, 238, 42, 0, 10, 119, 2, 0, 218, 217, 243, 0, 94, 213, 8, 0, 176, 155, 163, 0, 87, 60, 49, 0, 14, 141, 27, 0, 229, 103, 8, 0, 247, 166, 225, 0, 100, 194, 245, 0, 116, 18, 104, 0, 166, 246, 223, 0, 215, 141, 60, 0, 86, 151, 133, 0, 179, 209, 178, 0, 125, 49, 181, 0, 44, 244, 137, 0, 29, 195, 135, 0, 216, 17, 114, 0, 128, 249, 225, 0, 48, 97, 162, 0, 237, 7, 138, 0, 196, 167, 7, 0, 124, 184, 84, 0, 194, 184, 220, 0, 236, 66, 234, 0, 172, 237, 227, 0, 145, 69, 111, 0, 171, 249, 246, 0, 186, 35, 67, 0, 13, 233, 194, 0, 138, 126, 47, 0, 164, 176, 163, 0, 102, 76, 13, 0, 62, 47, 120, 0, 120, 158, 193, 0, 116, 198, 108, 0, 105, 226, 148, 0, 186, 108, 105, 0, 176, 198, 242, 0, 157, 246, 8, 0, 249, 95, 82, 0, 194, 22, 107, 0, 70, 108, 226, 0, 147, 123, 3, 0, 165, 30, 252, 0, 124, 240, 108, 0, 196, 48, 30, 0, 89, 72, 5, 0, 62, 84, 237, 0, 146, 189, 81, 0, 116, 231, 45, 0, \ +35, 152, 150, 0, 18, 114, 180, 0, 156, 45, 113, 0, 63, 222, 158, 0, 123, 208, 157, 0, 236, 237, 166, 0, 73, 142, 98, 0, 133, 23, 45, 0, 36, 178, 119, 0, 108, 78, 13, 0, 149, 9, 236, 0, 248, 147, 150, 0, 133, 2, 153, 0, 242, 144, 184, 0, 56, 96, 121, 0, 124, 15, 101, 0, 5, 195, 252, 0, 246, 54, 129, 0, 115, 151, 76, 0, 238, 28, 82, 0, 178, 108, 19, 0, 93, 201, 11, 0, 193, 227, 193, 0, 63, 188, 162, 0, 47, 237, 43, 0, 121, 164, 131, 0, 20, 190, 20, 0, 178, 37, 188, 0, 194, 83, 99, 0, 109, 154, 187, 0, 156, 130, 30, 0, 45, 84, 228, 0, 169, 79, 240, 0, 44, 84, 46, 0, 184, 238, 11, 0, 51, 233, 130, 0, 58, 145, 133, 0, 149, 197, 87, 0, 189, 174, 5, 0, 21, 229, 187, 0, 238, 209, 48, 0, 14, 146, 102, 0, 207, 118, 125, 0, 144, 119, 14, 0, 72, 244, 207, 0, 219, 118, 136, 0, 48, 35, 134, 0, 136, 73, 86, 0, 225, 179, 117, 0, 229, 56, 32, 0, 8, 216, 82, 0, 85, 59, 92, 0, 21, 152, 189, 0, 122, 161, 0, 0, 182, 39, 138, 0, 57, 148, 211, 0, 112, 122, 72, 0, 9, 201, 241, 0, 225, 65, 112, 0, 193, 38, 13, 0, 182, 128, 173, 0, 180, 185, 10, 0, 76, 2, 251, 0, 107, 75, 110, 0, 164, 4, 159, 0, 37, 23, 12, 0, 202, 103, 159, 0, 218, 93, 159, 0, 58, 208, 117, 0, 36, 140, 97, 0, 254, 228, 61, 0, 22, 205, 59, 0, 67, 8, 135, 0, 78, 65, 238, 0, 79, 76, 254, 0, 18, 18, 146, 0, 246, 65, 202, 0, 102, 113, 240, 0, 21, 101, 58, 0, 30, 180, 24, 0, 35, 27, 246, 0, 85, 252, 211, 0, 214, 80, 248, 0, 183, 184, 143, 0, 232, 157, 234, 0, 184, 213, 49, 0, 212, 37, 233, 0, 206, 33, 181, 0, 76, 212, 7, 0, 164, 105, 52, 0, 161, 204, 186, 0, 243, 232, 231, 0, 140, 140, 244, 0, 3, 216, 203, 0, 234, 105, 77, 0, 16, 195, 233, 0, 41, 246, 54, 0, 15, 160, 126, 0, 115, 74, 155, 0, 118, 169, 240, 0, 150, 177, 118, 0, 212, 141, 54, 0, 191, 229, 59, 0, 71, 220, 244, 0, 200, 176, 253, 0, 10, 57, 54, 0, 49, 136, 83, 0, 117, 72, 218, 0, 245, 188, 101, 0, 25, 57, 123, 0, 157, 190, 25, 0, 117, 76, 154, 0, 204, 166, 65, 0, 151, 182, 72, 0, 60, 254, 201, 0, 71, 174, 170, 0, 180, 233, 62, 0, 129, 82, 171, 0, 11, 229, 135, 0, 110, 231, 201, 0, 35, 145, 55, 0, 150, 163, 180, 0, 136, 142, 92, 0, 99, 48, 211, 0, 232, 186, 225, 0, 250, 116, 14, 0, 169, 185, 10, 0, 194, 100, 150, 0, 79, 45, 190, 0, 202, 171, 104, 0, 133, 29, 130, 0, 6, 161, 59, 0, 143, 85, 106, 0, 143, 107, 36, 0, 15, 232, 123, 0, 207, 68, 131, 0, 0, 91, 119, 0, 136, 217, 219, 0, 180, 228, 145, 0, 252, 210, 56, 0, 117, 190, 52, 0, 245, 99, 167, 0, 202, 73, 179, 0, 137, 207, 194, 0, 100, 196, 84, 0, 128, 101, 171, 0, 231, 131, 40, 0, 63, 198, 17, 0, 63, 159, 171, 0, 104, 221, 21, 0, 43, 217, 228, 0, 117, 31, 50, 0, 119, 141, 242, 0, 148, 2, 71, 0, 243, 30, 158, 0, 68, 88, 249, 0, 53, 212, 68, 0, 37, 150, 205, 0, 251, 59, 53, 0, 70, 217, 158, 0, 142, 108, 114, 0, 111, 72, 149, 0, 148, 162, 197, 0, 205, 160, 111, 0, 177, 155, 117, 0, 133, 21, 126, 0, 163, 54, 225, 0, 156, 142, 208, 0, 23, 15, 90, 0, 83, 45, 253, 0, 80, 198, 195, 0, 211, 65, 219, 0, 241, 40, 9, 0, 191, 206, 112, 0, 161, 244, 105, 0, 152, 108, 51, 0, 38, 110, 65, 0, 238, 168, 7, 0, 67, 253, 86, 0, 251, 21, 67, 0, 169, 88, 178, 0, 23, 176, 127, 0, 53, 45, 22, 0, 131, 133, 11, 0, 55, 3, 79, 0, 64, 18, 107, 0, 76, 51, 109, 0, 230, 177, 141, 0, 114, 237, 75, 0, 13, 154, 173, 0, 148, 93, 130, 0, 138, 42, 34, 0, 209, 220, 242, 0, 23, 5, 3, 0, 228, 1, 98, 0, 162, 128, 151, 0, 122, 219, 54, 0, 202, 34, 161, 0, 191, 154, 97, 0, 157, 161, 246, 0, 203, 232, 86, 0, 82, 155, 152, 0, 23, 39, 22, 0, 109, 151, 94, 0, 139, 158, 119, 0, 103, 173, 98, 0, 89, 163, 165, 0, 81, 166, 113, 0, 236, 133, 61, 0, 155, 43, 204, 0, 111, 35, 21, 0, 28, 83, 53, 0, 0, 181, 95, 0, 148, 97, 103, 0, 32, 93, 191, 0, 159, 156, 42, 0, 14, 145, 169, 0, 155, 94, 146, 0, 238, 243, 213, 0, 136, 224, 232, 0, 169, 14, 121, 0, 175, 3, 151, 0, 191, 219, 240, 0, 213, 108, 164, 0, \ +116, 38, 159, 0, 113, 178, 1, 0, 170, 150, 4, 0, 221, 233, 204, 0, 134, 215, 201, 0, 120, 172, 217, 0, 51, 133, 192, 0, 222, 5, 8, 0, 195, 139, 15, 0, 67, 189, 166, 0, 217, 162, 217, 0, 13, 19, 27, 0, 227, 61, 35, 0, 187, 101, 196, 0, 116, 98, 84, 0, 221, 16, 63, 0, 138, 198, 217, 0, 103, 201, 81, 0, 153, 153, 47, 0, 104, 212, 2, 0, 111, 80, 20, 0, 156, 69, 96, 0, 38, 39, 117, 0, 164, 90, 118, 0, 99, 75, 45, 0, 38, 152, 0, 0, 212, 139, 32, 0, 136, 133, 10, 0, 222, 171, 196, 0, 105, 74, 96, 0, 194, 111, 154, 0, 252, 87, 161, 0, 9, 65, 202, 0, 53, 110, 143, 0, 241, 69, 187, 0, 95, 121, 230, 0, 211, 212, 71, 0, 212, 142, 235, 0, 19, 11, 175, 0, 62, 60, 80, 0, 243, 174, 36, 0, 166, 175, 79, 0, 93, 15, 249, 0, 64, 171, 90, 0, 83, 251, 208, 0, 46, 94, 192, 0, 233, 234, 36, 0, 240, 229, 218, 0, 240, 166, 21, 0, 36, 154, 244, 0, 176, 218, 213, 0, 86, 70, 83, 0, 226, 75, 166, 0, 203, 245, 147, 0, 234, 62, 249, 0, 61, 230, 7, 0, 254, 56, 3, 0, 97, 180, 129, 0, 95, 171, 191, 0, 117, 134, 249, 0, 78, 140, 97, 0, 90, 12, 32, 0, 81, 112, 87, 0, 13, 105, 190, 0, 97, 192, 191, 0, 115, 228, 253, 0, 37, 218, 172, 0, 28, 104, 100, 0, 145, 174, 179, 0, 103, 241, 108, 0, 163, 202, 4, 0, 216, 1, 185, 0, 242, 89, 118, 0, 210, 224, 208, 0, 93, 25, 109, 0, 178, 155, 210, 0, 82, 118, 127, 0, 130, 17, 79, 0, 1, 195, 13, 0, 6, 132, 179, 0, 71, 90, 126, 0, 136, 153, 204, 0, 8, 157, 39, 0, 41, 206, 153, 0, 157, 186, 58, 0, 65, 109, 177, 0, 27, 163, 88, 0, 103, 120, 240, 0, 169, 249, 108, 0, 162, 48, 64, 0, 132, 126, 130, 0, 228, 130, 195, 0, 213, 22, 26, 0, 177, 153, 243, 0, 150, 177, 177, 0, 215, 84, 113, 0, 22, 34, 107, 0, 247, 129, 157, 0, 121, 98, 191, 0, 117, 39, 14, 0, 97, 8, 73, 0, 168, 93, 222, 0, 72, 118, 252, 0, 86, 33, 136, 0, 155, 205, 204, 0, 3, 124, 61, 0, 96, 63, 51, 0, 66, 55, 210, 0, 191, 151, 87, 0, 244, 227, 72, 0, 191, 76, 243, 0, 103, 149, 54, 0, 84, 207, 211, 0, 45, 195, 62, 0, 14, 117, 46, 0, 36, 160, 114, 0, 31, 2, 217, 0, 60, 118, 78, 0, 159, 127, 78, 0, 4, 251, 46, 0, 0, 125, 145, 0, 119, 115, 244, 0, 74, 183, 209, 0, 137, 7, 220, 0, 102, 236, 96, 0, 193, 84, 225, 0, 209, 74, 193, 0, 65, 138, 240, 0, 171, 34, 177, 0, 238, 77, 200, 0, 248, 32, 161, 0, 64, 117, 72, 0, 154, 40, 144, 0, 210, 207, 76, 0, 196, 96, 23, 0, 38, 43, 46, 0, 215, 140, 177, 0, 210, 232, 228, 0, 58, 129, 251, 0, 146, 107, 253, 0, 96, 201, 3, 0, 79, 71, 130, 0, 112, 97, 224, 0, 191, 208, 154, 0, 213, 56, 4, 0, 79, 57, 247, 0, 172, 51, 253, 0, 10, 111, 182, 0, 101, 48, 85, 0, 3, 104, 217, 0, 109, 144, 184, 0, 94, 82, 248, 0, 82, 169, 63, 0, 40, 77, 34, 0, 123, 81, 2, 0, 220, 92, 68, 0, 54, 3, 231, 0, 104, 162, 151, 0, 45, 243, 102, 0, 87, 188, 192, 0, 73, 12, 121, 0, 181, 76, 64, 0, 83, 158, 74, 0, 66, 137, 237, 0, 22, 231, 135, 0, 73, 212, 146, 0, 223, 19, 34, 0, 190, 237, 134, 0, 99, 182, 121, 0, 50, 185, 244, 0, 246, 225, 237, 0, 114, 15, 46, 0, 195, 1, 81, 0, 2, 23, 196, 0, 20, 63, 199, 0, 20, 42, 121, 0, 246, 94, 109, 0, 202, 216, 188, 0, 233, 113, 124, 0, 215, 190, 152, 0, 142, 228, 84, 0, 253, 97, 127, 0, 106, 53, 238, 0, 232, 111, 181, 0, 84, 101, 226, 0, 179, 29, 10, 0, 204, 248, 46, 0, 138, 179, 71, 0, 75, 35, 204, 0, 2, 33, 59, 0, 33, 184, 90, 0, 166, 68, 162, 0, 252, 153, 60, 0, 97, 219, 58, 0, 75, 225, 59, 0, 85, 94, 54, 0, 89, 245, 23, 0, 66, 105, 145, 0, 7, 18, 217, 0, 146, 147, 121, 0, 234, 140, 3, 0, 239, 48, 23, 0, 13, 129, 79, 0, 50, 171, 251, 0, 31, 165, 241, 0, 2, 159, 208, 0, 248, 11, 7, 0, 3, 67, 137, 0, 48, 180, 41, 0, 145, 16, 43, 0, 61, 228, 134, 0, 140, 102, 1, 0, 74, 140, 12, 0, 14, 77, 0, 0, 111, 111, 156, 0, 48, 13, 244, 0, 137, 208, 143, 0, 132, 140, 154, 0, 4, 72, 140, 0, 230, 16, 52, 0, 246, 156, 232, 0, 62, 20, 134, 0, 191, 247, 22, 0, 33, 92, 123, 0, \ +99, 55, 11, 0, 42, 129, 220, 0, 179, 128, 164, 0, 215, 149, 175, 0, 53, 83, 134, 0, 181, 115, 169, 0, 139, 151, 141, 0, 150, 171, 10, 0, 143, 106, 192, 0, 196, 104, 140, 0, 141, 180, 74, 0, 212, 124, 28, 0, 225, 119, 20, 0, 97, 75, 169, 0, 135, 207, 74, 0, 82, 1, 187, 0, 83, 105, 52, 0, 213, 134, 65, 0, 93, 73, 55, 0, 131, 201, 49, 0, 186, 238, 7, 0, 109, 230, 154, 0, 80, 100, 90, 0, 224, 188, 139, 0, 125, 231, 55, 0, 151, 95, 188, 0, 79, 138, 47, 0, 176, 92, 227, 0, 234, 109, 14, 0, 140, 222, 35, 0, 155, 3, 46, 0, 24, 197, 11, 0, 123, 84, 21, 0, 190, 219, 230, 0, 212, 232, 148, 0, 223, 205, 85, 0, 167, 141, 205, 0, 101, 221, 247, 0, 51, 117, 40, 0, 127, 186, 93, 0, 54, 161, 158, 0, 216, 72, 226, 0, 20, 232, 228, 0, 117, 150, 67, 0, 117, 176, 39, 0, 44, 38, 90, 0, 63, 219, 19, 0, 120, 33, 8, 0, 75, 139, 53, 0, 45, 56, 30, 0, 77, 25, 93, 0, 120, 234, 8, 0, 175, 133, 178, 0, 22, 104, 63, 0, 190, 76, 183, 0, 182, 46, 22, 0, 176, 165, 239, 0, 131, 250, 205, 0, 87, 82, 150, 0, 101, 104, 139, 0, 69, 85, 131, 0, 169, 22, 52, 0, 231, 72, 218, 0, 112, 240, 11, 0, 130, 203, 9, 0, 157, 152, 237, 0, 145, 121, 217, 0, 238, 94, 242, 0, 191, 118, 166, 0, 12, 176, 86, 0, 29, 91, 132, 0, 12, 115, 68, 0, 120, 158, 191, 0, 174, 92, 159, 0, 85, 51, 53, 0, 124, 127, 25, 0, 11, 41, 141, 0, 215, 252, 64, 0, 219, 146, 236, 0, 145, 93, 139, 0, 42, 173, 243, 0, 232, 80, 137, 0, 151, 120, 221, 0, 244, 171, 204, 0, 19, 127, 236, 0, 103, 127, 184, 0, 0, 180, 112, 0, 159, 25, 244, 0, 170, 248, 42, 0, 144, 56, 184, 0, 195, 105, 95, 0, 140, 96, 13, 0, 223, 124, 122, 0, 122, 210, 151, 0, 152, 167, 5, 0, 212, 127, 234, 0, 147, 232, 186, 0, 194, 56, 53, 0, 114, 187, 67, 0, 35, 156, 222, 0, 95, 54, 200, 0, 12, 98, 77, 0, 165, 134, 246, 0, 94, 15, 243, 0, 17, 195, 231, 0, 164, 185, 160, 0, 45, 73, 41, 0, 150, 245, 214, 0, 28, 16, 214, 0, 141, 101, 127, 0, 126, 136, 170, 0, 139, 153, 154, 0, 140, 112, 226, 0, 254, 23, 110, 0, 111, 254, 101, 0, 42, 35, 240, 0, 208, 212, 191, 0, 126, 129, 12, 0, 243, 56, 191, 0, 110, 181, 21, 0, 181, 159, 227, 0, 210, 20, 49, 0, 154, 41, 199, 0, 161, 108, 72, 0, 168, 109, 244, 0, 25, 128, 237, 0, 128, 180, 67, 0, 124, 178, 103, 0, 160, 84, 45, 0, 203, 81, 143, 0, 94, 107, 112, 0, 50, 43, 168, 0, 74, 1, 12, 0, 44, 113, 94, 0, 73, 243, 64, 0, 38, 31, 208, 0, 24, 7, 24, 0, 132, 138, 234, 0, 184, 193, 25, 0, 8, 95, 141, 0, 58, 21, 99, 0, 95, 126, 108, 0, 75, 219, 198, 0, 236, 111, 31, 0, 232, 244, 172, 0, 133, 112, 77, 0, 221, 129, 57, 0, 158, 185, 106, 0, 253, 100, 46, 0, 190, 109, 106, 0, 69, 64, 173, 0, 254, 203, 23, 0, 90, 2, 201, 0, 165, 111, 170, 0, 204, 100, 215, 0, 224, 186, 32, 0, 91, 121, 211, 0, 3, 86, 67, 0, 142, 26, 95, 0, 36, 129, 75, 0, 175, 198, 234, 0, 231, 136, 252, 0, 195, 142, 146, 0, 85, 170, 107, 0, 83, 228, 231, 0, 122, 90, 36, 0, 120, 162, 129, 0, 225, 90, 250, 0, 172, 107, 160, 0, 141, 163, 123, 0, 229, 97, 94, 0, 232, 116, 192, 0, 138, 144, 116, 0, 231, 63, 136, 0, 94, 119, 164, 0, 170, 100, 136, 0, 223, 96, 242, 0, 90, 233, 74, 0, 127, 95, 86, 0, 117, 223, 78, 0, 23, 251, 62, 0, 142, 59, 37, 0, 82, 75, 100, 0, 234, 59, 74, 0, 129, 148, 157, 0, 8, 214, 114, 0, 2, 96, 217, 0, 195, 169, 37, 0, 84, 7, 188, 0, 197, 38, 135, 0, 2, 88, 235, 0, 150, 3, 140, 0, 183, 108, 202, 0, 62, 107, 133, 0, 129, 86, 135, 0, 141, 98, 191, 0, 86, 185, 46, 0, 138, 179, 106, 0, 100, 29, 75, 0, 72, 72, 147, 0, 159, 152, 154, 0, 9, 1, 42, 0, 198, 226, 102, 0, 193, 32, 112, 0, 78, 171, 97, 0, 31, 79, 41, 0, 63, 175, 88, 0, 240, 116, 191, 0, 185, 51, 111, 0, 176, 61, 117, 0, 242, 28, 81, 0, 82, 11, 143, 0, 198, 172, 117, 0, 161, 119, 109, 0, 247, 123, 148, 0, 61, 108, 150, 0, 244, 130, 45, 0, 227, 31, 234, 0, 2, 8, 125, 0, 215, 173, 49, 0, 69, 91, 96, 0, 81, 211, 84, 0, 139, 254, 111, 0, 211, 186, 79, 0, \ +225, 125, 3, 0, 207, 215, 36, 0, 249, 120, 191, 0, 54, 17, 228, 0, 83, 213, 76, 0, 91, 73, 175, 0, 120, 33, 215, 0, 220, 180, 45, 0, 221, 49, 179, 0, 11, 57, 169, 0, 113, 165, 35, 0, 215, 67, 66, 0, 250, 157, 13, 0, 179, 74, 46, 0, 46, 187, 252, 0, 60, 174, 216, 0, 58, 54, 145, 0, 89, 138, 101, 0, 115, 34, 165, 0, 80, 217, 0, 0, 218, 19, 47, 0, 11, 91, 252, 0, 144, 113, 208, 0, 71, 88, 168, 0, 15, 80, 108, 0, 51, 112, 145, 0, 37, 143, 103, 0, 152, 39, 62, 0, 251, 2, 162, 0, 80, 41, 248, 0, 251, 75, 238, 0, 215, 87, 3, 0, 56, 199, 14, 0, 190, 83, 24, 0, 173, 210, 40, 0, 5, 209, 68, 0, 192, 138, 228, 0, 122, 132, 77, 0, 140, 174, 227, 0, 179, 31, 225, 0, 90, 174, 41, 0, 154, 253, 38, 0, 162, 203, 102, 0, 226, 213, 231, 0, 178, 61, 211, 0, 183, 251, 196, 0, 112, 14, 76, 0, 155, 185, 91, 0, 110, 134, 253, 0, 161, 176, 192, 0, 177, 222, 221, 0, 87, 168, 105, 0, 193, 162, 75, 0, 193, 226, 85, 0, 23, 152, 27, 0, 75, 37, 207, 0, 71, 196, 253, 0, 167, 238, 45, 0, 247, 124, 208, 0, 245, 204, 155, 0, 7, 187, 177, 0, 134, 16, 117, 0, 0, 59, 211, 0, 89, 229, 121, 0, 32, 90, 172, 0, 210, 84, 97, 0, 1, 55, 232, 0, 44, 92, 117, 0, 61, 177, 178, 0, 45, 171, 142, 0, 98, 122, 31, 0, 137, 60, 179, 0, 170, 26, 196, 0, 41, 130, 198, 0, 122, 184, 220, 0, 98, 104, 44, 0, 140, 68, 109, 0, 167, 85, 157, 0, 231, 240, 64, 0, 62, 61, 140, 0, 44, 228, 170, 0, 106, 233, 164, 0, 63, 192, 182, 0, 134, 160, 191, 0, 75, 16, 81, 0, 152, 15, 236, 0, 57, 189, 167, 0, 151, 249, 152, 0, 25, 187, 141, 0, 205, 236, 201, 0, 26, 13, 94, 0, 193, 187, 6, 0, 235, 78, 158, 0, 45, 193, 67, 0, 146, 90, 253, 0, 180, 148, 125, 0, 167, 10, 80, 0, 238, 172, 60, 0, 14, 108, 119, 0, 78, 249, 35, 0, 30, 41, 140, 0, 89, 160, 24, 0, 162, 4, 73, 0, 160, 215, 17, 0, 177, 166, 76, 0, 209, 234, 193, 0, 246, 49, 135, 0, 1, 237, 141, 0, 39, 169, 204, 0, 54, 153, 199, 0, 200, 57, 190, 0, 175, 93, 173, 0, 116, 136, 77, 0, 31, 88, 229, 0, 131, 233, 84, 0, 122, 251, 220, 0, 79, 224, 171, 0, 46, 173, 186, 0, 246, 70, 48, 0, 54, 188, 206, 0, 233, 95, 234, 0, 13, 208, 217, 0, 226, 150, 78, 0, 95, 86, 39, 0, 2, 37, 66, 0, 142, 61, 161, 0, 63, 229, 130, 0, 93, 173, 69, 0, 233, 94, 220, 0, 173, 112, 79, 0, 105, 97, 248, 0, 167, 119, 45, 0, 184, 200, 167, 0, 213, 137, 3, 0, 6, 31, 109, 0, 237, 99, 59, 0, 253, 206, 232, 0, 132, 115, 103, 0, 158, 24, 189, 0, 152, 57, 233, 0, 17, 136, 199, 0, 33, 153, 38, 0, 136, 191, 123, 0, 134, 31, 232, 0, 221, 221, 79, 0, 159, 43, 14, 0, 208, 8, 19, 0, 14, 25, 57, 0, 87, 24, 136, 0, 240, 36, 225, 0, 2, 135, 72, 0, 194, 238, 139, 0, 44, 29, 227, 0, 165, 216, 210, 0, 156, 186, 1, 0, 133, 41, 85, 0, 196, 16, 203, 0, 213, 113, 60, 0, 240, 231, 210, 0, 193, 126, 221, 0, 95, 94, 201, 0, 165, 66, 11, 0, 227, 5, 22, 0, 110, 98, 112, 0, 190, 65, 119, 0, 122, 239, 160, 0, 4, 145, 196, 0, 158, 74, 19, 0, 152, 210, 227, 0, 6, 90, 205, 0, 234, 63, 160, 0, 157, 176, 14, 0, 222, 140, 164, 0, 7, 97, 224, 0, 39, 249, 209, 0, 59, 239, 31, 0, 138, 117, 55, 0, 164, 26, 116, 0, 81, 5, 119, 0, 132, 119, 170, 0, 100, 143, 128, 0, 2, 180, 96, 0, 224, 47, 136, 0, 69, 101, 116, 0, 243, 170, 145, 0, 48, 187, 97, 0, 3, 176, 82, 0, 67, 199, 81, 0, 203, 157, 89, 0, 158, 242, 172, 0, 182, 157, 140, 0, 219, 144, 162, 0, 239, 21, 86, 0, 125, 220, 163, 0, 45, 76, 180, 0, 247, 11, 14, 0, 183, 131, 100, 0, 165, 8, 160, 0, 76, 32, 61, 0, 179, 141, 122, 0, 106, 125, 127, 0, 247, 112, 225, 0, 153, 141, 78, 0, 92, 251, 130, 0, 237, 249, 91, 0, 59, 185, 237, 0, 117, 116, 14, 0, 225, 244, 108, 0, 228, 136, 43, 0, 60, 95, 30, 0, 5, 131, 232, 0, 1, 222, 66, 0, 67, 174, 253, 0, 202, 236, 250, 0, 84, 160, 114, 0, 10, 90, 57, 0, 102, 2, 118, 0, 106, 218, 35, 0, 67, 96, 242, 0, 50, 228, 142, 0, 135, 46, 85, 0, 190, 156, 94, 0, 114, 121, 147, 0, 211, 213, 241, 0, \ +247, 235, 84, 0, 146, 119, 123, 0, 235, 58, 185, 0, 16, 119, 195, 0, 69, 37, 26, 0, 195, 11, 59, 0, 59, 236, 3, 0, 109, 117, 86, 0, 59, 144, 83, 0, 158, 197, 13, 0, 100, 253, 1, 0, 215, 22, 232, 0, 0, 45, 151, 0, 214, 7, 106, 0, 183, 150, 39, 0, 22, 234, 77, 0, 131, 0, 4, 0, 104, 138, 158, 0, 16, 250, 154, 0, 65, 206, 42, 0, 37, 155, 127, 0, 83, 70, 51, 0, 107, 231, 19, 0, 97, 9, 199, 0, 199, 150, 121, 0, 63, 73, 115, 0, 16, 26, 121, 0, 232, 117, 130, 0, 214, 226, 228, 0, 140, 162, 3, 0, 101, 166, 146, 0, 124, 34, 78, 0, 184, 68, 221, 0, 2, 209, 151, 0, 209, 15, 19, 0, 111, 73, 124, 0, 151, 78, 17, 0, 209, 243, 47, 0, 206, 43, 167, 0, 55, 109, 30, 0, 213, 116, 39, 0, 21, 6, 236, 0, 54, 217, 46, 0, 215, 74, 26, 0, 25, 207, 168, 0, 211, 253, 156, 0, 42, 61, 122, 0, 87, 221, 150, 0, 171, 44, 186, 0, 124, 198, 7, 0, 176, 1, 115, 0, 231, 217, 108, 0, 235, 95, 129, 0, 62, 88, 39, 0, 190, 219, 142, 0, 4, 216, 42, 0, 37, 39, 248, 0, 60, 116, 7, 0, 156, 111, 41, 0, 35, 56, 152, 0, 199, 252, 34, 0, 113, 250, 29, 0, 234, 161, 184, 0, 172, 181, 28, 0, 28, 216, 89, 0, 198, 234, 235, 0, 24, 96, 171, 0, 83, 70, 188, 0, 69, 176, 135, 0, 101, 197, 254, 0, 233, 157, 163, 0, 131, 114, 97, 0, 107, 234, 162, 0, 144, 177, 229, 0, 52, 69, 84, 0, 232, 221, 59, 0, 89, 20, 5, 0, 185, 91, 224, 0, 155, 62, 21, 0, 97, 72, 15, 0, 89, 190, 238, 0, 13, 238, 45, 0, 90, 164, 39, 0, 125, 5, 66, 0, 112, 135, 249, 0, 197, 14, 193, 0, 65, 39, 154, 0, 240, 97, 230, 0, 74, 41, 128, 0, 50, 175, 74, 0, 60, 222, 145, 0, 6, 22, 152, 0, 15, 30, 146, 0, 201, 215, 15, 0, 114, 72, 179, 0, 88, 118, 178, 0, 172, 170, 215, 0, 253, 177, 3, 0, 199, 78, 57, 0, 69, 39, 3, 0, 250, 206, 24, 0, 45, 198, 202, 0, 217, 182, 207, 0, 104, 10, 94, 0, 55, 18, 103, 0, 197, 139, 145, 0, 243, 158, 97, 0, 165, 229, 227, 0, 190, 157, 206, 0, 45, 80, 204, 0, 229, 241, 155, 0, 144, 190, 194, 0, 112, 119, 107, 0, 237, 115, 161, 0, 117, 97, 176, 0, 31, 24, 17, 0, 34, 210, 160, 0, 10, 158, 241, 0, 66, 67, 220, 0, 221, 219, 202, 0, 66, 2, 31, 0, 193, 2, 28, 0, 15, 27, 63, 0, 224, 35, 45, 0, 57, 55, 188, 0, 113, 49, 100, 0, 155, 58, 161, 0, 114, 210, 13, 0, 109, 193, 53, 0, 81, 185, 186, 0, 66, 209, 228, 0, 177, 55, 116, 0, 136, 146, 43, 0, 129, 242, 80, 0, 157, 208, 231, 0, 244, 144, 179, 0, 145, 174, 125, 0, 232, 234, 59, 0, 29, 93, 101, 0, 24, 69, 143, 0, 38, 195, 14, 0, 130, 82, 227, 0, 88, 68, 40, 0, 213, 150, 179, 0, 128, 56, 94, 0, 163, 184, 77, 0, 150, 179, 9, 0, 173, 35, 171, 0, 103, 2, 218, 0, 69, 91, 232, 0, 50, 183, 213, 0, 198, 53, 221, 0, 145, 168, 88, 0, 216, 39, 71, 0, 125, 81, 70, 0, 55, 168, 111, 0, 161, 253, 93, 0, 180, 79, 40, 0, 53, 196, 242, 0, 178, 54, 246, 0, 116, 164, 177, 0, 118, 168, 238, 0, 114, 207, 78, 0, 246, 250, 139, 0, 204, 193, 75, 0, 237, 243, 111, 0, 14, 60, 198, 0, 126, 47, 87, 0, 134, 235, 109, 0, 64, 154, 213, 0, 149, 37, 44, 0, 138, 169, 20, 0, 25, 101, 47, 0, 131, 126, 246, 0, 139, 243, 81, 0, 250, 189, 34, 0, 5, 166, 61, 0, 248, 101, 224, 0, 178, 129, 5, 0, 185, 189, 226, 0, 166, 4, 47, 0, 137, 47, 119, 0, 245, 8, 233, 0, 134, 118, 142, 0, 8, 8, 161, 0, 24, 175, 253, 0, 183, 170, 142, 0, 196, 4, 199, 0, 100, 192, 82, 0, 97, 164, 196, 0, 233, 18, 199, 0, 215, 61, 178, 0, 226, 226, 31, 0, 43, 162, 226, 0, 27, 188, 23, 0, 186, 120, 244, 0, 2, 230, 178, 0, 185, 47, 167, 0, 212, 76, 244, 0, 62, 19, 245, 0, 97, 230, 81, 0, 124, 179, 85, 0, 239, 74, 185, 0, 6, 63, 56, 0, 0, 187, 50, 0, 234, 168, 39, 0, 180, 176, 197, 0, 9, 186, 212, 0, 164, 18, 43, 0, 211, 236, 195, 0, 245, 163, 93, 0, 196, 156, 233, 0, 148, 211, 4, 0, 20, 99, 91, 0, 163, 157, 33, 0, 30, 241, 92, 0, 17, 243, 52, 0, 248, 168, 68, 0, 109, 84, 19, 0, 72, 199, 130, 0, 234, 82, 39, 0, 31, 172, 214, 0, 174, 68, 206, 0, 218, 253, 11, 0, \ +204, 112, 86, 0, 149, 150, 106, 0, 64, 89, 133, 0, 210, 22, 34, 0, 87, 82, 156, 0, 114, 10, 198, 0, 63, 157, 102, 0, 151, 58, 98, 0, 2, 209, 112, 0, 165, 141, 212, 0, 161, 241, 39, 0, 65, 196, 254, 0, 135, 35, 11, 0, 247, 248, 40, 0, 245, 26, 233, 0, 40, 222, 12, 0, 43, 9, 45, 0, 174, 200, 92, 0, 150, 198, 111, 0, 37, 59, 127, 0, 11, 183, 213, 0, 192, 100, 11, 0, 74, 31, 16, 0, 70, 181, 25, 0, 191, 104, 122, 0, 207, 116, 161, 0, 202, 188, 18, 0, 82, 234, 71, 0, 183, 199, 19, 0, 92, 168, 243, 0, 188, 72, 56, 0, 223, 117, 113, 0, 22, 51, 122, 0, 18, 178, 210, 0, 75, 49, 37, 0, 111, 163, 23, 0, 167, 238, 186, 0, 161, 80, 149, 0, 55, 115, 73, 0, 153, 248, 142, 0, 101, 93, 220, 0, 179, 106, 189, 0, 10, 236, 19, 0, 187, 176, 101, 0, 187, 162, 123, 0, 221, 30, 139, 0, 157, 136, 122, 0, 156, 21, 16, 0, 163, 109, 133, 0, 150, 168, 60, 0, 93, 138, 235, 0, 5, 232, 4, 0, 210, 173, 120, 0, 81, 51, 103, 0, 133, 179, 148, 0, 124, 143, 68, 0, 242, 40, 68, 0, 213, 37, 224, 0, 8, 132, 185, 0, 146, 217, 65, 0, 64, 86, 140, 0, 101, 238, 124, 0, 204, 219, 170, 0, 171, 149, 212, 0, 9, 101, 45, 0, 213, 71, 98, 0, 127, 0, 146, 0, 224, 169, 168, 0, 114, 44, 205, 0, 152, 63, 95, 0, 176, 226, 1, 0, 149, 6, 250, 0, 112, 183, 53, 0, 229, 1, 169, 0, 224, 62, 25, 0, 208, 135, 152, 0, 35, 101, 32, 0, 64, 116, 46, 0, 178, 161, 34, 0, 17, 10, 182, 0, 95, 37, 115, 0, 103, 251, 213, 0, 63, 53, 143, 0, 129, 94, 6, 0, 29, 82, 87, 0, 107, 225, 70, 0, 104, 67, 94, 0, 81, 59, 41, 0, 238, 8, 202, 0, 41, 234, 222, 0, 123, 190, 13, 0, 240, 148, 169, 0, 201, 109, 88, 0, 217, 235, 23, 0, 226, 2, 34, 0, 116, 118, 164, 0, 22, 208, 70, 0, 115, 212, 142, 0, 214, 34, 41, 0, 222, 170, 20, 0, 12, 169, 175, 0, 252, 180, 191, 0, 106, 53, 17, 0, 226, 127, 221, 0, 96, 30, 241, 0, 101, 77, 148, 0, 162, 220, 238, 0, 101, 37, 50, 0, 46, 51, 128, 0, 59, 72, 149, 0, 122, 50, 33, 0, 68, 184, 183, 0, 214, 15, 40, 0, 184, 137, 50, 0, 186, 175, 175, 0, 67, 34, 190, 0, 147, 238, 249, 0, 13, 87, 103, 0, 221, 194, 158, 0, 240, 45, 107, 0, 166, 243, 76, 0, 158, 152, 103, 0, 124, 89, 195, 0, 219, 165, 204, 0, 101, 86, 30, 0, 180, 84, 247, 0, 179, 125, 51, 0, 132, 163, 209, 0, 55, 33, 4, 0, 81, 162, 223, 0, 54, 206, 79, 0, 44, 194, 161, 0, 61, 216, 155, 0, 207, 25, 59, 0, 222, 14, 212, 0, 204, 135, 74, 0, 199, 183, 155, 0, 179, 28, 35, 0, 65, 19, 139, 0, 202, 213, 221, 0, 112, 194, 15, 0, 189, 95, 24, 0, 144, 168, 178, 0, 56, 65, 195, 0, 171, 70, 75, 0, 57, 40, 236, 0, 154, 54, 102, 0, 24, 106, 187, 0, 229, 89, 145, 0, 225, 161, 122, 0, 186, 84, 217, 0, 65, 92, 96, 0, 64, 79, 194, 0, 37, 57, 22, 0, 126, 125, 6, 0, 140, 30, 120, 0, 240, 249, 53, 0, 200, 77, 1, 0, 181, 211, 131, 0, 241, 9, 107, 0, 224, 65, 245, 0, 197, 136, 235, 0, 93, 11, 88, 0, 72, 152, 156, 0, 40, 18, 67, 0, 86, 109, 0, 0, 131, 204, 11, 0, 240, 242, 24, 0, 12, 248, 54, 0, 117, 237, 127, 0, 203, 204, 26, 0, 191, 181, 219, 0, 173, 205, 7, 0, 31, 174, 148, 0, 14, 33, 138, 0, 11, 9, 110, 0, 35, 66, 160, 0, 177, 10, 249, 0, 214, 142, 128, 0, 243, 75, 182, 0, 38, 83, 228, 0, 65, 228, 139, 0, 159, 132, 225, 0, 26, 142, 210, 0, 66, 171, 61, 0, 149, 226, 60, 0, 185, 53, 162, 0, 136, 243, 7, 0, 18, 8, 208, 0, 131, 118, 108, 0, 102, 236, 250, 0, 117, 51, 145, 0, 81, 18, 57, 0, 79, 125, 211, 0, 11, 200, 173, 0, 8, 108, 241, 0, 80, 230, 164, 0, 216, 86, 79, 0, 93, 228, 53, 0, 115, 254, 234, 0, 122, 126, 63, 0, 139, 138, 37, 0, 142, 12, 83, 0, 221, 53, 154, 0, 175, 222, 6, 0, 167, 239, 81, 0, 230, 208, 193, 0, 111, 199, 63, 0, 96, 166, 142, 0, 113, 136, 62, 0, 128, 225, 102, 0, 71, 190, 15, 0, 196, 165, 127, 0, 115, 48, 119, 0, 94, 58, 95, 0, 79, 134, 116, 0, 238, 95, 113, 0, 37, 19, 94, 0, 191, 196, 172, 0, 144, 41, 66, 0, 220, 41, 212, 0, 192, 17, 195, 0, 210, 65, 100, 0, 180, 224, 103, 0, \ +126, 112, 91, 0, 25, 77, 222, 0, 128, 122, 219, 0, 21, 1, 136, 0, 30, 21, 102, 0, 207, 68, 169, 0, 137, 87, 182, 0, 174, 19, 72, 0, 73, 20, 141, 0, 48, 135, 41, 0, 152, 62, 176, 0, 143, 207, 242, 0, 168, 234, 188, 0, 197, 65, 103, 0, 14, 136, 136, 0, 226, 69, 195, 0, 123, 151, 132, 0, 189, 62, 110, 0, 85, 212, 10, 0, 46, 147, 191, 0, 148, 81, 56, 0, 53, 4, 235, 0, 165, 42, 117, 0, 244, 88, 133, 0, 153, 33, 128, 0, 248, 241, 248, 0, 34, 5, 76, 0, 149, 34, 139, 0, 215, 139, 245, 0, 75, 162, 240, 0, 239, 5, 95, 0, 91, 240, 212, 0, 228, 76, 235, 0, 200, 207, 208, 0, 27, 75, 172, 0, 249, 146, 139, 0, 93, 3, 128, 0, 189, 73, 87, 0, 150, 82, 21, 0, 113, 119, 133, 0, 18, 14, 93, 0, 89, 167, 44, 0, 52, 57, 31, 0, 122, 58, 83, 0, 107, 153, 124, 0, 41, 199, 79, 0, 137, 141, 233, 0, 167, 175, 209, 0, 220, 163, 105, 0, 97, 245, 85, 0, 81, 12, 0, 0, 154, 120, 81, 0, 38, 94, 129, 0, 218, 32, 55, 0, 248, 236, 87, 0, 138, 12, 175, 0, 163, 109, 15, 0, 134, 205, 14, 0, 108, 246, 144, 0, 15, 152, 186, 0, 88, 46, 182, 0, 222, 143, 238, 0, 228, 168, 174, 0, 24, 147, 48, 0, 211, 244, 96, 0, 253, 204, 206, 0, 40, 214, 75, 0, 172, 95, 116, 0, 15, 145, 77, 0, 103, 214, 217, 0, 221, 38, 40, 0, 172, 99, 58, 0, 232, 103, 245, 0, 24, 163, 63, 0, 117, 89, 53, 0, 67, 215, 18, 0, 37, 148, 229, 0, 9, 200, 9, 0, 148, 40, 97, 0, 202, 120, 241, 0, 209, 115, 133, 0, 206, 76, 235, 0, 150, 44, 114, 0, 176, 107, 89, 0, 119, 224, 254, 0, 199, 9, 155, 0, 243, 98, 43, 0, 3, 13, 225, 0, 43, 12, 213, 0, 148, 225, 201, 0, 236, 59, 199, 0, 210, 164, 211, 0, 194, 67, 230, 0, 123, 69, 32, 0, 187, 193, 112, 0, 1, 136, 115, 0, 157, 225, 225, 0, 109, 251, 218, 0, 218, 63, 196, 0, 121, 232, 213, 0, 241, 160, 227, 0, 83, 240, 124, 0, 244, 40, 198, 0, 165, 205, 203, 0, 202, 223, 187, 0, 178, 156, 171, 0, 114, 64, 156, 0, 250, 18, 208, 0, 136, 9, 56, 0, 225, 149, 192, 0, 46, 90, 213, 0, 229, 54, 237, 0, 81, 141, 173, 0, 223, 25, 136, 0, 45, 235, 231, 0, 110, 4, 246, 0, 148, 67, 92, 0, 54, 205, 174, 0, 78, 186, 126, 0, 254, 13, 54, 0, 24, 162, 221, 0, 132, 58, 59, 0, 19, 129, 24, 0, 79, 172, 4, 0, 58, 53, 167, 0, 244, 59, 4, 0, 136, 209, 94, 0, 214, 201, 85, 0, 45, 97, 250, 0, 12, 67, 66, 0, 3, 122, 132, 0, 137, 181, 166, 0, 49, 81, 59, 0, 228, 140, 51, 0, 60, 229, 43, 0, 170, 132, 17, 0, 107, 217, 97, 0, 198, 202, 138, 0, 233, 199, 133, 0, 67, 225, 238, 0, 218, 91, 253, 0, 160, 69, 80, 0, 194, 9, 63, 0, 232, 58, 173, 0, 145, 182, 22, 0, 14, 88, 212, 0, 126, 117, 123, 0, 178, 1, 180, 0, 115, 12, 110, 0, 236, 242, 246, 0, 65, 4, 25, 0, 45, 143, 8, 0, 68, 192, 49, 0, 172, 117, 113, 0, 172, 60, 90, 0, 23, 238, 40, 0, 47, 143, 203, 0, 94, 75, 111, 0, 116, 96, 246, 0, 28, 95, 149, 0, 199, 79, 181, 0, 144, 209, 13, 0, 155, 2, 57, 0, 202, 251, 161, 0, 73, 201, 217, 0, 199, 193, 93, 0, 48, 205, 246, 0, 202, 95, 27, 0, 53, 39, 18, 0, 3, 244, 148, 0, 63, 236, 6, 0, 1, 74, 85, 0, 208, 210, 253, 0, 46, 211, 136, 0, 153, 103, 70, 0, 47, 204, 224, 0, 73, 253, 235, 0, 105, 37, 40, 0, 54, 137, 31, 0, 189, 69, 119, 0, 69, 213, 120, 0, 67, 119, 210, 0, 100, 150, 45, 0, 103, 54, 177, 0, 135, 77, 242, 0, 82, 202, 221, 0, 1, 2, 228, 0, 239, 165, 242, 0, 253, 170, 6, 0, 117, 36, 211, 0, 194, 25, 35, 0, 230, 45, 95, 0, 180, 140, 98, 0, 108, 92, 143, 0, 138, 248, 39, 0, 120, 211, 154, 0, 83, 52, 0, 0, 108, 79, 46, 0, 239, 72, 181, 0, 122, 187, 160, 0, 117, 172, 234, 0, 69, 70, 25, 0, 98, 0, 50, 0, 220, 236, 99, 0, 150, 4, 134, 0, 0, 27, 217, 0, 175, 208, 129, 0, 242, 53, 47, 0, 124, 212, 252, 0, 31, 86, 237, 0, 3, 34, 190, 0, 15, 162, 221, 0, 92, 243, 205, 0, 0, 237, 40, 0, 199, 17, 145, 0, 145, 24, 67, 0, 164, 10, 199, 0, 83, 95, 44, 0, 119, 176, 254, 0, 51, 116, 58, 0, 188, 73, 172, 0, 90, 165, 221, 0, 34, 42, 204, 0, 24, 174, 240, 0, \ +98, 181, 236, 0, 0, 128, 102, 0, 146, 103, 123, 0, 253, 164, 204, 0, 62, 91, 101, 0, 150, 56, 60, 0, 86, 4, 73, 0, 34, 84, 83, 0, 137, 49, 73, 0, 77, 251, 23, 0, 145, 80, 191, 0, 91, 3, 72, 0, 0, 96, 123, 0, 187, 84, 251, 0, 94, 46, 106, 0, 125, 160, 71, 0, 126, 112, 30, 0, 118, 209, 186, 0, 109, 230, 90, 0, 71, 227, 95, 0, 7, 66, 104, 0, 77, 221, 32, 0, 208, 213, 54, 0, 227, 175, 126, 0, 208, 106, 158, 0, 179, 130, 27, 0, 84, 103, 216, 0, 58, 159, 32, 0, 91, 120, 152, 0, 103, 235, 8, 0, 68, 219, 124, 0, 19, 133, 141, 0, 236, 100, 25, 0, 101, 149, 111, 0, 65, 158, 31, 0, 154, 244, 8, 0, 37, 7, 110, 0, 217, 165, 143, 0, 191, 103, 60, 0, 66, 163, 127, 0, 189, 203, 119, 0, 90, 138, 198, 0, 179, 212, 230, 0, 111, 204, 105, 0, 37, 139, 235, 0, 14, 96, 14, 0, 83, 7, 82, 0, 18, 254, 17, 0, 206, 219, 156, 0, 241, 108, 208, 0, 184, 44, 204, 0, 213, 34, 110, 0, 156, 128, 90, 0, 113, 2, 8, 0, 114, 114, 248, 0, 245, 254, 76, 0, 178, 182, 55, 0, 224, 143, 125, 0, 75, 197, 155, 0, 173, 143, 41, 0, 82, 195, 185, 0, 122, 13, 43, 0, 82, 167, 46, 0, 85, 89, 182, 0, 14, 202, 149, 0, 126, 62, 113, 0, 141, 210, 243, 0, 225, 162, 212, 0, 36, 27, 41, 0, 104, 139, 198, 0, 195, 51, 210, 0, 132, 254, 212, 0, 164, 238, 248, 0, 247, 103, 209, 0, 200, 168, 208, 0, 131, 68, 3, 0, 57, 161, 172, 0, 33, 241, 75, 0, 193, 46, 219, 0, 104, 234, 86, 0, 201, 25, 27, 0, 212, 215, 121, 0, 209, 251, 77, 0, 135, 79, 18, 0, 96, 214, 142, 0, 43, 35, 7, 0, 122, 223, 33, 0, 233, 90, 219, 0, 200, 209, 162, 0, 102, 172, 1, 0, 133, 102, 1, 0, 26, 55, 204, 0, 25, 83, 173, 0, 240, 44, 225, 0, 64, 23, 161, 0, 184, 121, 161, 0, 198, 183, 104, 0, 29, 124, 150, 0, 87, 8, 173, 0, 183, 16, 133, 0, 123, 217, 83, 0, 160, 190, 190, 0, 252, 214, 84, 0, 237, 163, 221, 0, 62, 97, 78, 0, 101, 222, 64, 0, 189, 229, 100, 0, 83, 146, 209, 0, 235, 85, 24, 0, 223, 235, 209, 0, 159, 17, 110, 0, 148, 209, 217, 0, 242, 31, 137, 0, 62, 3, 247, 0, 161, 15, 155, 0, 42, 47, 48, 0, 86, 247, 99, 0, 4, 67, 101, 0, 133, 60, 189, 0, 167, 236, 9, 0, 23, 73, 110, 0, 71, 121, 80, 0, 113, 185, 216, 0, 198, 228, 105, 0, 95, 40, 21, 0, 196, 147, 206, 0, 162, 249, 118, 0, 220, 241, 204, 0, 97, 210, 131, 0, 34, 244, 92, 0, 14, 223, 246, 0, 20, 111, 195, 0, 249, 114, 171, 0, 218, 86, 91, 0, 24, 195, 25, 0, 19, 215, 219, 0, 212, 194, 148, 0, 250, 96, 80, 0, 141, 16, 28, 0, 211, 8, 183, 0, 60, 115, 119, 0, 141, 235, 179, 0, 28, 57, 105, 0, 175, 122, 244, 0, 99, 78, 140, 0, 23, 225, 107, 0, 220, 74, 97, 0, 163, 168, 219, 0, 248, 157, 180, 0, 146, 205, 52, 0, 108, 73, 249, 0, 158, 253, 180, 0, 185, 227, 184, 0, 100, 103, 102, 0, 114, 95, 171, 0, 53, 13, 165, 0, 1, 79, 224, 0, 171, 180, 126, 0, 21, 174, 106, 0, 48, 210, 159, 0, 120, 227, 46, 0, 215, 242, 118, 0, 0, 192, 37, 0, 22, 222, 46, 0, 10, 162, 105, 0, 119, 119, 46, 0, 27, 109, 36, 0, 166, 142, 188, 0, 161, 51, 30, 0, 138, 43, 244, 0, 175, 203, 145, 0, 136, 227, 18, 0, 134, 142, 36, 0, 102, 172, 178, 0, 146, 101, 220, 0, 62, 22, 84, 0, 232, 153, 186, 0, 118, 59, 246, 0, 56, 161, 144, 0, 221, 192, 73, 0, 58, 38, 221, 0, 65, 53, 15, 0, 116, 223, 190, 0, 58, 130, 31, 0, 69, 27, 68, 0, 104, 180, 78, 0, 98, 83, 246, 0, 158, 97, 214, 0, 199, 83, 96, 0, 16, 63, 156, 0, 185, 238, 51, 0, 193, 122, 91, 0, 228, 18, 18, 0, 246, 104, 61, 0, 88, 220, 30, 0, 111, 154, 171, 0, 217, 240, 238, 0, 141, 136, 75, 0, 123, 250, 253, 0, 253, 111, 176, 0, 152, 175, 160, 0, 82, 187, 213, 0, 1, 103, 149, 0, 178, 140, 95, 0, 227, 116, 80, 0, 64, 2, 134, 0, 251, 13, 120, 0, 246, 62, 41, 0, 226, 48, 12, 0, 181, 126, 184, 0, 17, 207, 50, 0, 98, 14, 78, 0, 174, 243, 190, 0, 22, 230, 160, 0, 74, 140, 192, 0, 183, 24, 73, 0, 166, 5, 230, 0, 218, 184, 67, 0, 236, 71, 235, 0, 79, 100, 185, 0, 171, 83, 71, 0, 115, 142, 128, 0, 229, 165, 81, 0, 206, 56, 48, 0, \ +93, 9, 81, 0, 137, 22, 247, 0, 188, 68, 201, 0, 166, 143, 10, 0, 62, 135, 137, 0, 13, 214, 136, 0, 162, 94, 203, 0, 244, 213, 112, 0, 11, 227, 8, 0, 162, 98, 95, 0, 145, 197, 108, 0, 79, 92, 93, 0, 216, 187, 65, 0, 10, 229, 242, 0, 130, 116, 117, 0, 67, 11, 201, 0, 137, 126, 33, 0, 213, 158, 153, 0, 14, 34, 2, 0, 41, 55, 121, 0, 90, 72, 247, 0, 173, 18, 113, 0, 146, 49, 204, 0, 36, 189, 177, 0, 180, 189, 170, 0, 114, 27, 17, 0, 19, 87, 202, 0, 179, 76, 174, 0, 22, 188, 208, 0, 238, 170, 3, 0, 185, 57, 70, 0, 159, 101, 28, 0, 91, 137, 240, 0, 247, 121, 52, 0, 40, 176, 136, 0, 125, 196, 198, 0, 247, 115, 85, 0, 135, 43, 174, 0, 148, 174, 45, 0, 182, 26, 182, 0, 106, 187, 136, 0, 5, 114, 192, 0, 114, 138, 125, 0, 129, 220, 104, 0, 135, 139, 252, 0, 115, 79, 207, 0, 180, 116, 92, 0, 94, 52, 24, 0, 1, 7, 243, 0, 166, 99, 165, 0, 76, 177, 154, 0, 198, 54, 207, 0, 47, 14, 125, 0, 32, 31, 5, 0, 26, 48, 41, 0, 217, 117, 70, 0, 67, 135, 127, 0, 251, 254, 96, 0, 22, 180, 78, 0, 99, 227, 34, 0, 222, 147, 75, 0, 88, 125, 136, 0, 222, 19, 232, 0, 32, 241, 179, 0, 242, 113, 231, 0, 77, 63, 201, 0, 188, 42, 147, 0, 187, 172, 18, 0, 242, 122, 43, 0, 57, 74, 251, 0, 99, 174, 178, 0, 227, 70, 101, 0, 109, 70, 49, 0, 2, 173, 231, 0, 91, 121, 105, 0, 4, 133, 46, 0, 3, 72, 136, 0, 155, 223, 96, 0, 96, 32, 115, 0, 135, 253, 216, 0, 251, 234, 87, 0, 9, 213, 49, 0, 150, 65, 206, 0, 89, 188, 217, 0, 110, 21, 148, 0, 102, 162, 237, 0, 93, 42, 90, 0, 76, 156, 230, 0, 74, 179, 101, 0, 193, 18, 164, 0, 65, 12, 84, 0, 73, 216, 87, 0, 206, 244, 210, 0, 173, 171, 30, 0, 225, 36, 136, 0, 164, 195, 78, 0, 205, 48, 181, 0, 220, 66, 146, 0, 132, 20, 41, 0, 116, 26, 140, 0, 63, 120, 0, 0, 227, 179, 67, 0, 41, 35, 219, 0, 222, 46, 190, 0, 144, 199, 234, 0, 164, 137, 8, 0, 14, 176, 231, 0, 205, 184, 115, 0, 221, 196, 129, 0, 183, 228, 176, 0, 220, 39, 168, 0, 96, 4, 163, 0, 59, 216, 158, 0, 218, 136, 188, 0, 0, 95, 106, 0, 164, 203, 170, 0, 156, 113, 80, 0, 149, 29, 252, 0, 0, 70, 238, 0, 99, 88, 201, 0, 45, 147, 57, 0, 217, 248, 222, 0, 248, 197, 231, 0, 0, 178, 229, 0, 86, 140, 230, 0, 162, 74, 163, 0, 97, 236, 67, 0, 109, 155, 58, 0, 191, 186, 190, 0, 226, 144, 74, 0, 146, 22, 234, 0, 93, 163, 102, 0, 49, 9, 187, 0, 218, 134, 213, 0, 161, 245, 222, 0, 183, 189, 107, 0, 138, 158, 89, 0, 207, 9, 180, 0, 202, 224, 178, 0, 36, 48, 84, 0, 75, 135, 10, 0, 67, 2, 231, 0, 200, 150, 128, 0, 90, 253, 20, 0, 117, 186, 155, 0, 63, 165, 9, 0, 126, 251, 4, 0, 81, 158, 151, 0, 13, 186, 189, 0, 97, 53, 145, 0, 80, 174, 215, 0, 174, 220, 57, 0, 172, 63, 247, 0, 89, 16, 148, 0, 111, 163, 24, 0, 98, 34, 233, 0, 193, 139, 125, 0, 196, 74, 116, 0, 73, 218, 64, 0, 213, 158, 173, 0, 182, 204, 15, 0, 125, 184, 220, 0, 124, 214, 210, 0, 128, 58, 67, 0, 93, 103, 20, 0, 233, 98, 200, 0, 196, 101, 161, 0, 127, 144, 198, 0, 227, 4, 142, 0, 183, 138, 120, 0, 214, 130, 9, 0, 53, 77, 5, 0, 250, 225, 86, 0, 64, 55, 200, 0, 44, 204, 99, 0, 54, 9, 190, 0, 132, 42, 230, 0, 208, 91, 208, 0, 56, 231, 204, 0, 173, 242, 71, 0, 140, 35, 248, 0, 151, 44, 56, 0, 241, 115, 116, 0, 32, 23, 179, 0, 119, 151, 75, 0, 16, 220, 158, 0, 249, 91, 202, 0, 177, 15, 143, 0, 186, 223, 54, 0, 143, 43, 19, 0, 77, 32, 143, 0, 146, 142, 189, 0, 183, 100, 5, 0, 180, 169, 153, 0, 6, 76, 166, 0, 50, 55, 143, 0, 89, 144, 123, 0, 83, 120, 128, 0, 51, 37, 21, 0, 25, 61, 172, 0, 61, 10, 46, 0, 222, 9, 150, 0, 23, 90, 140, 0, 162, 213, 30, 0, 143, 208, 41, 0, 241, 194, 93, 0, 66, 150, 58, 0, 85, 150, 71, 0, 90, 29, 87, 0, 183, 17, 29, 0, 135, 247, 77, 0, 1, 249, 136, 0, 151, 219, 73, 0, 233, 47, 203, 0, 51, 237, 102, 0, 37, 70, 42, 0, 10, 121, 189, 0, 114, 116, 252, 0, 17, 125, 54, 0, 82, 113, 87, 0, 80, 174, 87, 0, 75, 133, 198, 0, 1, 19, 30, 0, 9, 6, 172, 0, \ +61, 70, 137, 0, 27, 31, 229, 0, 118, 47, 141, 0, 148, 4, 82, 0, 130, 50, 13, 0, 94, 59, 91, 0, 231, 21, 132, 0, 211, 183, 142, 0, 144, 22, 193, 0, 195, 171, 30, 0, 108, 214, 139, 0, 107, 90, 6, 0, 164, 203, 206, 0, 109, 188, 218, 0, 208, 7, 242, 0, 6, 17, 35, 0, 225, 181, 131, 0, 173, 132, 229, 0, 174, 94, 104, 0, 50, 4, 223, 0, 95, 73, 48, 0, 13, 24, 98, 0, 16, 33, 95, 0, 178, 28, 30, 0, 209, 135, 189, 0, 113, 62, 55, 0, 123, 69, 43, 0, 209, 51, 211, 0, 51, 110, 75, 0, 39, 177, 167, 0, 245, 115, 193, 0, 191, 33, 176, 0, 99, 88, 96, 0, 165, 235, 44, 0, 54, 135, 141, 0, 56, 18, 38, 0, 146, 32, 103, 0, 22, 106, 91, 0, 187, 214, 200, 0, 34, 224, 179, 0, 57, 80, 173, 0, 87, 38, 214, 0, 26, 209, 50, 0, 36, 24, 35, 0, 108, 166, 122, 0, 136, 63, 101, 0, 151, 84, 170, 0, 38, 41, 116, 0, 126, 129, 251, 0, 113, 81, 84, 0, 211, 238, 203, 0, 11, 187, 161, 0, 205, 191, 120, 0, 84, 69, 93, 0, 85, 189, 227, 0, 155, 20, 250, 0, 144, 228, 175, 0, 175, 243, 12, 0, 248, 52, 20, 0, 90, 173, 242, 0, 196, 110, 209, 0, 144, 99, 234, 0, 157, 62, 247, 0, 100, 75, 170, 0, 78, 120, 14, 0, 147, 254, 107, 0, 71, 187, 200, 0, 195, 253, 167, 0, 26, 65, 31, 0, 153, 117, 208, 0, 74, 55, 214, 0, 16, 71, 56, 0, 132, 245, 113, 0, 84, 200, 84, 0, 145, 175, 52, 0, 243, 57, 72, 0, 249, 85, 2, 0, 54, 58, 92, 0, 157, 20, 220, 0, 226, 207, 81, 0, 198, 163, 97, 0, 102, 212, 187, 0, 169, 222, 222, 0, 51, 49, 163, 0, 190, 221, 103, 0, 88, 128, 117, 0, 199, 61, 214, 0, 230, 1, 186, 0, 108, 12, 98, 0, 177, 55, 128, 0, 159, 222, 141, 0, 150, 103, 156, 0, 29, 174, 41, 0, 170, 56, 73, 0, 55, 181, 179, 0, 31, 13, 237, 0, 129, 254, 137, 0, 219, 220, 223, 0, 239, 130, 28, 0, 118, 127, 170, 0, 129, 245, 97, 0, 128, 138, 216, 0, 35, 98, 177, 0, 43, 211, 99, 0, 229, 90, 239, 0, 118, 240, 183, 0, 137, 209, 71, 0, 162, 118, 98, 0, 72, 102, 104, 0, 76, 62, 224, 0, 103, 233, 180, 0, 188, 142, 11, 0, 5, 22, 171, 0, 246, 176, 94, 0, 245, 151, 195, 0, 24, 59, 178, 0, 168, 44, 113, 0, 102, 58, 102, 0, 11, 72, 189, 0, 124, 105, 222, 0, 57, 94, 92, 0, 242, 148, 218, 0, 135, 32, 30, 0, 247, 74, 169, 0, 95, 4, 178, 0, 139, 206, 163, 0, 232, 27, 43, 0, 214, 3, 134, 0, 220, 13, 175, 0, 200, 44, 51, 0, 25, 203, 101, 0, 47, 154, 26, 0, 230, 8, 28, 0, 210, 61, 143, 0, 193, 168, 79, 0, 137, 150, 82, 0, 211, 109, 253, 0, 60, 5, 151, 0, 125, 1, 141, 0, 178, 41, 155, 0, 236, 219, 84, 0, 25, 32, 56, 0, 204, 185, 136, 0, 122, 176, 60, 0, 76, 35, 114, 0, 39, 218, 170, 0, 65, 32, 1, 0, 76, 30, 232, 0, 236, 61, 35, 0, 170, 153, 170, 0, 254, 88, 20, 0, 39, 39, 144, 0, 31, 235, 166, 0, 95, 50, 200, 0, 9, 77, 154, 0, 70, 156, 130, 0, 235, 205, 135, 0, 139, 128, 184, 0, 124, 202, 134, 0, 159, 154, 67, 0, 35, 35, 30, 0, 63, 63, 57, 0, 139, 11, 39, 0, 51, 96, 144, 0, 118, 22, 170, 0, 147, 62, 234, 0, 211, 156, 87, 0, 163, 230, 206, 0, 125, 232, 116, 0, 11, 142, 186, 0, 94, 53, 10, 0, 98, 78, 70, 0, 198, 231, 127, 0, 42, 11, 66, 0, 185, 49, 50, 0, 7, 10, 190, 0, 42, 223, 50, 0, 88, 118, 57, 0, 133, 219, 81, 0, 150, 207, 81, 0, 241, 254, 53, 0, 70, 106, 22, 0, 170, 83, 247, 0, 131, 164, 182, 0, 195, 174, 163, 0, 19, 197, 88, 0, 180, 193, 180, 0, 174, 133, 76, 0, 100, 39, 173, 0, 142, 188, 199, 0, 54, 222, 136, 0, 83, 109, 141, 0, 153, 245, 130, 0, 180, 43, 42, 0, 134, 152, 211, 0, 191, 82, 44, 0, 150, 18, 230, 0, 5, 95, 136, 0, 121, 80, 55, 0, 224, 107, 169, 0, 143, 26, 233, 0, 141, 250, 247, 0, 142, 228, 193, 0, 224, 93, 215, 0, 124, 210, 160, 0, 70, 14, 176, 0, 50, 125, 202, 0, 192, 174, 178, 0, 105, 57, 69, 0, 174, 146, 80, 0, 188, 11, 188, 0, 184, 41, 145, 0, 202, 60, 59, 0, 182, 111, 174, 0, 182, 9, 202, 0, 136, 174, 246, 0, 49, 1, 73, 0, 186, 10, 136, 0, 75, 29, 72, 0, 100, 178, 147, 0, 102, 30, 49, 0, 128, 143, 86, 0, 165, 113, 99, 0, 36, 140, 141, 0, \ +40, 117, 3, 0, 241, 149, 193, 0, 238, 22, 221, 0, 138, 68, 137, 0, 118, 69, 194, 0, 29, 85, 133, 0, 220, 226, 128, 0, 110, 168, 9, 0, 127, 199, 131, 0, 68, 170, 24, 0, 225, 85, 47, 0, 145, 65, 211, 0, 223, 50, 107, 0, 163, 9, 151, 0, 169, 73, 151, 0, 194, 57, 237, 0, 91, 22, 220, 0, 139, 185, 56, 0, 49, 129, 19, 0, 164, 142, 79, 0, 111, 194, 213, 0, 86, 167, 12, 0, 147, 76, 144, 0, 58, 95, 236, 0, 33, 129, 112, 0, 62, 193, 86, 0, 87, 126, 180, 0, 98, 143, 176, 0, 107, 183, 3, 0, 36, 72, 235, 0, 88, 45, 245, 0, 226, 18, 9, 0, 78, 115, 217, 0, 71, 101, 236, 0, 170, 147, 77, 0, 189, 136, 108, 0, 217, 207, 132, 0, 45, 246, 235, 0, 223, 73, 186, 0, 42, 124, 163, 0, 93, 138, 185, 0, 116, 252, 87, 0, 182, 23, 5, 0, 160, 213, 171, 0, 247, 98, 151, 0, 115, 30, 196, 0, 105, 140, 77, 0, 245, 168, 169, 0, 220, 47, 173, 0, 60, 248, 199, 0, 114, 30, 112, 0, 215, 8, 41, 0, 101, 212, 205, 0, 46, 107, 34, 0, 111, 212, 129, 0, 31, 134, 244, 0, 148, 169, 187, 0, 78, 156, 197, 0, 69, 241, 160, 0, 232, 105, 55, 0, 61, 40, 90, 0, 224, 29, 159, 0, 213, 115, 165, 0, 254, 116, 220, 0, 7, 166, 116, 0, 188, 170, 254, 0, 149, 12, 175, 0, 30, 129, 218, 0, 16, 112, 195, 0, 100, 130, 253, 0, 176, 171, 128, 0, 249, 22, 174, 0, 37, 217, 37, 0, 247, 173, 87, 0, 112, 28, 26, 0, 191, 50, 251, 0, 191, 132, 131, 0, 73, 198, 43, 0, 218, 120, 245, 0, 33, 34, 139, 0, 96, 194, 171, 0, 196, 3, 254, 0, 160, 106, 173, 0, 4, 193, 222, 0, 56, 142, 209, 0, 110, 2, 123, 0, 102, 26, 63, 0, 242, 171, 222, 0, 239, 209, 181, 0, 59, 39, 219, 0, 254, 31, 54, 0, 190, 158, 164, 0, 111, 146, 202, 0, 8, 127, 169, 0, 80, 132, 155, 0, 213, 139, 26, 0, 167, 60, 97, 0, 149, 172, 174, 0, 26, 199, 212, 0, 23, 136, 111, 0, 198, 32, 246, 0, 160, 67, 99, 0, 49, 133, 124, 0, 237, 170, 204, 0, 29, 37, 105, 0, 40, 211, 215, 0, 187, 53, 177, 0, 151, 253, 119, 0, 230, 254, 32, 0, 98, 160, 37, 0, 178, 9, 107, 0, 20, 221, 116, 0, 245, 107, 205, 0, 5, 197, 36, 0, 67, 24, 190, 0, 25, 186, 134, 0, 148, 147, 92, 0, 95, 15, 20, 0, 145, 131, 221, 0, 89, 154, 137, 0, 220, 124, 81, 0, 29, 38, 30, 0, 238, 191, 249, 0, 118, 133, 204, 0, 186, 126, 244, 0, 193, 22, 123, 0, 230, 39, 10, 0, 41, 253, 206, 0, 43, 155, 243, 0, 45, 9, 39, 0, 140, 86, 201, 0, 108, 88, 183, 0, 132, 130, 188, 0, 38, 167, 100, 0, 184, 5, 72, 0, 180, 161, 102, 0, 82, 121, 87, 0, 208, 182, 193, 0, 223, 76, 99, 0, 31, 222, 83, 0, 192, 30, 55, 0, 117, 197, 31, 0, 206, 42, 159, 0, 199, 206, 215, 0, 245, 240, 105, 0, 101, 197, 198, 0, 131, 42, 158, 0, 35, 16, 146, 0, 216, 196, 159, 0, 203, 173, 191, 0, 228, 57, 99, 0, 25, 126, 108, 0, 104, 6, 249, 0, 69, 32, 118, 0, 108, 170, 192, 0, 53, 246, 202, 0, 205, 131, 179, 0, 56, 180, 134, 0, 20, 81, 112, 0, 37, 141, 9, 0, 140, 173, 143, 0, 140, 39, 177, 0, 98, 154, 93, 0, 39, 246, 0, 0, 75, 175, 244, 0, 165, 228, 244, 0, 213, 199, 204, 0, 78, 223, 153, 0, 37, 123, 27, 0, 145, 7, 88, 0, 67, 26, 21, 0, 123, 89, 111, 0, 122, 143, 189, 0, 188, 112, 118, 0, 50, 129, 225, 0, 41, 135, 90, 0, 145, 233, 230, 0, 116, 47, 159, 0, 222, 206, 254, 0, 46, 164, 120, 0, 102, 229, 35, 0, 16, 26, 138, 0, 116, 40, 97, 0, 24, 192, 11, 0, 18, 175, 235, 0, 106, 18, 162, 0, 241, 100, 239, 0, 126, 103, 18, 0, 247, 214, 3, 0, 39, 212, 113, 0, 155, 54, 49, 0, 59, 46, 199, 0, 15, 23, 119, 0, 0, 133, 156, 0, 196, 194, 86, 0, 79, 221, 232, 0, 43, 84, 174, 0, 172, 194, 10, 0, 93, 124, 210, 0, 165, 81, 45, 0, 15, 246, 177, 0, 207, 26, 207, 0, 122, 238, 139, 0, 233, 140, 74, 0, 93, 16, 200, 0, 156, 205, 142, 0, 145, 228, 193, 0, 87, 41, 46, 0, 23, 126, 27, 0, 201, 184, 199, 0, 216, 87, 149, 0, 109, 102, 144, 0, 84, 74, 4, 0, 55, 222, 153, 0, 42, 49, 249, 0, 184, 178, 107, 0, 131, 135, 51, 0, 83, 51, 20, 0, 126, 127, 177, 0, 72, 145, 181, 0, 136, 170, 12, 0, 9, 21, 64, 0, 99, 229, 61, 0, 242, 147, 149, 0, \ +133, 235, 108, 0, 73, 195, 82, 0, 143, 136, 72, 0, 59, 181, 118, 0, 9, 53, 22, 0, 129, 70, 142, 0, 1, 253, 72, 0, 87, 50, 57, 0, 91, 53, 187, 0, 26, 160, 184, 0, 75, 2, 12, 0, 185, 71, 135, 0, 210, 16, 44, 0, 109, 71, 30, 0, 232, 146, 81, 0, 252, 168, 178, 0, 106, 132, 187, 0, 43, 54, 120, 0, 51, 36, 66, 0, 171, 104, 158, 0, 120, 93, 68, 0, 21, 30, 16, 0, 65, 19, 191, 0, 196, 38, 226, 0, 127, 156, 84, 0, 66, 150, 205, 0, 75, 131, 91, 0, 41, 153, 184, 0, 145, 219, 125, 0, 53, 198, 127, 0, 213, 234, 124, 0, 60, 169, 127, 0, 17, 165, 6, 0, 192, 31, 228, 0, 244, 118, 97, 0, 75, 72, 165, 0, 98, 59, 2, 0, 139, 84, 178, 0, 84, 44, 181, 0, 157, 17, 90, 0, 73, 190, 51, 0, 78, 62, 206, 0, 225, 170, 96, 0, 161, 220, 96, 0, 244, 50, 60, 0, 143, 74, 171, 0, 100, 25, 206, 0, 218, 139, 60, 0, 30, 36, 241, 0, 83, 232, 145, 0, 140, 92, 88, 0, 129, 170, 125, 0, 105, 199, 198, 0, 197, 236, 210, 0, 191, 185, 173, 0, 10, 251, 114, 0, 187, 100, 15, 0, 83, 68, 140, 0, 73, 20, 130, 0, 44, 161, 250, 0, 59, 98, 152, 0, 38, 66, 91, 0, 185, 171, 131, 0, 43, 186, 232, 0, 3, 134, 76, 0, 154, 141, 176, 0, 154, 222, 254, 0, 198, 115, 248, 0, 87, 133, 179, 0, 152, 234, 191, 0, 63, 93, 17, 0, 36, 56, 183, 0, 217, 82, 189, 0, 147, 48, 116, 0, 235, 236, 53, 0, 76, 199, 124, 0, 237, 206, 26, 0, 16, 235, 20, 0, 233, 194, 148, 0, 214, 41, 219, 0, 137, 203, 206, 0, 243, 159, 107, 0, 135, 71, 118, 0, 140, 31, 110, 0, 229, 211, 21, 0, 68, 192, 145, 0, 56, 185, 27, 0, 0, 118, 152, 0, 23, 97, 7, 0, 117, 101, 134, 0, 156, 24, 172, 0, 59, 135, 206, 0, 162, 245, 76, 0, 178, 172, 221, 0, 241, 84, 70, 0, 90, 113, 69, 0, 216, 102, 143, 0, 150, 197, 123, 0, 181, 212, 166, 0, 247, 145, 0, 0, 207, 205, 229, 0, 23, 139, 77, 0, 56, 244, 37, 0, 242, 38, 118, 0, 201, 98, 77, 0, 51, 27, 183, 0, 5, 180, 163, 0, 3, 133, 217, 0, 92, 23, 56, 0, 155, 175, 201, 0, 86, 81, 191, 0, 239, 96, 104, 0, 68, 22, 106, 0, 23, 69, 145, 0, 33, 101, 185, 0, 240, 70, 166, 0, 213, 220, 103, 0, 92, 234, 200, 0, 240, 17, 25, 0, 25, 137, 104, 0, 90, 102, 87, 0, 33, 153, 1, 0, 236, 107, 126, 0, 235, 177, 62, 0, 38, 13, 231, 0, 116, 49, 2, 0, 155, 204, 50, 0, 53, 237, 13, 0, 157, 64, 96, 0, 77, 113, 115, 0, 146, 61, 210, 0, 163, 233, 184, 0, 135, 72, 111, 0, 157, 56, 105, 0, 160, 241, 150, 0, 118, 120, 109, 0, 170, 155, 237, 0, 160, 138, 249, 0, 216, 193, 110, 0, 165, 200, 139, 0, 204, 135, 61, 0, 210, 123, 109, 0, 95, 225, 152, 0, 80, 128, 182, 0, 5, 235, 201, 0, 118, 141, 19, 0, 209, 23, 19, 0, 102, 17, 231, 0, 131, 222, 37, 0, 215, 185, 50, 0, 253, 244, 244, 0, 174, 7, 150, 0, 131, 90, 65, 0, 186, 45, 152, 0, 213, 37, 174, 0, 31, 160, 232, 0, 30, 229, 35, 0, 135, 249, 117, 0, 4, 199, 211, 0, 13, 205, 161, 0, 179, 235, 151, 0, 159, 128, 187, 0, 79, 133, 58, 0, 172, 119, 184, 0, 62, 157, 217, 0, 23, 207, 126, 0, 8, 64, 100, 0, 109, 206, 200, 0, 243, 68, 217, 0, 96, 86, 92, 0, 175, 121, 58, 0, 125, 213, 248, 0, 65, 3, 185, 0, 203, 201, 180, 0, 162, 31, 193, 0, 126, 224, 118, 0, 42, 244, 162, 0, 103, 35, 240, 0, 206, 0, 207, 0, 205, 106, 166, 0, 29, 27, 91, 0, 42, 173, 232, 0, 206, 41, 169, 0, 174, 165, 154, 0, 250, 132, 175, 0, 107, 15, 114, 0, 160, 130, 204, 0, 95, 94, 123, 0, 174, 50, 93, 0, 150, 105, 202, 0, 0, 21, 88, 0, 219, 239, 139, 0, 140, 115, 183, 0, 135, 254, 225, 0, 171, 48, 144, 0, 205, 114, 195, 0, 30, 228, 239, 0, 95, 11, 1, 0, 46, 148, 107, 0, 71, 35, 118, 0, 103, 10, 154, 0, 168, 145, 84, 0, 179, 206, 99, 0, 5, 64, 123, 0, 251, 4, 96, 0, 90, 105, 29, 0, 126, 247, 7, 0, 238, 145, 51, 0, 109, 20, 17, 0, 36, 207, 232, 0, 71, 213, 54, 0, 224, 77, 69, 0, 3, 80, 80, 0, 168, 242, 120, 0, 214, 231, 54, 0, 77, 21, 50, 0, 16, 69, 246, 0, 55, 215, 16, 0, 234, 60, 203, 0, 169, 125, 185, 0, 26, 90, 108, 0, 219, 28, 33, 0, 14, 213, 228, 0, 142, 113, 5, 0, \ +65, 45, 144, 0, 232, 49, 154, 0, 68, 211, 205, 0, 35, 164, 229, 0, 105, 0, 12, 0, 196, 104, 68, 0, 202, 55, 244, 0, 131, 151, 78, 0, 39, 250, 149, 0, 64, 133, 36, 0, 243, 148, 228, 0, 5, 158, 98, 0, 146, 188, 63, 0, 66, 148, 224, 0, 233, 231, 68, 0, 244, 250, 118, 0, 18, 10, 196, 0, 21, 188, 118, 0, 219, 49, 31, 0, 140, 245, 126, 0, 155, 185, 221, 0, 158, 174, 192, 0, 229, 250, 9, 0, 210, 250, 103, 0, 196, 14, 17, 0, 242, 123, 84, 0, 216, 23, 42, 0, 168, 125, 82, 0, 159, 81, 217, 0, 245, 51, 146, 0, 116, 13, 107, 0, 206, 170, 207, 0, 9, 145, 239, 0, 64, 77, 118, 0, 108, 121, 44, 0, 125, 62, 177, 0, 244, 177, 132, 0, 41, 156, 198, 0, 141, 205, 78, 0, 196, 187, 67, 0, 48, 40, 177, 0, 135, 163, 38, 0, 140, 0, 116, 0, 88, 57, 46, 0, 166, 59, 129, 0, 208, 92, 195, 0, 204, 251, 91, 0, 242, 93, 20, 0, 174, 99, 80, 0, 28, 105, 186, 0, 134, 5, 201, 0, 109, 144, 251, 0, 158, 20, 237, 0, 243, 32, 32, 0, 187, 241, 237, 0, 140, 38, 232, 0, 80, 18, 96, 0, 108, 63, 109, 0, 186, 226, 165, 0, 94, 211, 234, 0, 136, 90, 95, 0, 43, 22, 137, 0, 204, 1, 88, 0, 250, 156, 238, 0, 177, 88, 224, 0, 219, 154, 144, 0, 177, 10, 132, 0, 33, 2, 225, 0, 36, 40, 134, 0, 182, 13, 74, 0, 3, 86, 148, 0, 122, 253, 184, 0, 249, 76, 64, 0, 142, 215, 143, 0, 206, 144, 108, 0, 187, 233, 188, 0, 27, 130, 223, 0, 145, 178, 60, 0, 2, 65, 237, 0, 178, 232, 173, 0, 47, 1, 134, 0, 97, 52, 179, 0, 14, 128, 183, 0, 197, 228, 254, 0, 217, 218, 62, 0, 217, 150, 114, 0, 254, 254, 184, 0, 158, 132, 89, 0, 46, 19, 182, 0, 247, 33, 24, 0, 42, 152, 58, 0, 43, 215, 35, 0, 62, 44, 190, 0, 44, 56, 164, 0, 217, 0, 188, 0, 200, 92, 54, 0, 51, 117, 219, 0, 132, 177, 65, 0, 251, 107, 101, 0, 69, 132, 162, 0, 221, 206, 67, 0, 227, 73, 164, 0, 153, 229, 34, 0, 155, 234, 2, 0, 201, 41, 128, 0, 220, 48, 133, 0, 63, 156, 211, 0, 76, 223, 22, 0, 250, 51, 175, 0, 245, 251, 228, 0, 186, 177, 99, 0, 116, 110, 150, 0, 95, 118, 77, 0, 131, 37, 150, 0, 174, 157, 253, 0, 57, 92, 83, 0, 117, 133, 144, 0, 55, 35, 73, 0, 58, 173, 174, 0, 229, 26, 196, 0, 33, 103, 103, 0, 8, 216, 59, 0, 132, 213, 127, 0, 119, 90, 236, 0, 160, 136, 38, 0, 248, 148, 51, 0, 96, 237, 97, 0, 175, 197, 61, 0, 27, 186, 6, 0, 216, 234, 48, 0, 186, 247, 128, 0, 229, 123, 49, 0, 16, 111, 74, 0, 168, 149, 78, 0, 170, 66, 96, 0, 75, 166, 221, 0, 96, 45, 158, 0, 56, 214, 82, 0, 232, 154, 224, 0, 25, 151, 10, 0, 219, 169, 180, 0, 187, 240, 191, 0, 17, 244, 53, 0, 6, 184, 157, 0, 220, 87, 253, 0, 19, 127, 221, 0, 225, 19, 92, 0, 215, 93, 57, 0, 121, 176, 18, 0, 47, 155, 80, 0, 119, 241, 246, 0, 36, 170, 165, 0, 56, 214, 100, 0, 183, 234, 73, 0, 165, 160, 200, 0, 223, 24, 75, 0, 174, 28, 91, 0, 247, 89, 98, 0, 235, 235, 177, 0, 139, 217, 138, 0, 41, 24, 181, 0, 101, 107, 251, 0, 210, 82, 49, 0, 15, 104, 173, 0, 141, 121, 6, 0, 64, 124, 20, 0, 223, 15, 196, 0, 80, 106, 215, 0, 179, 71, 254, 0, 123, 106, 44, 0, 103, 128, 103, 0, 121, 91, 62, 0, 21, 1, 48, 0, 160, 51, 241, 0, 173, 15, 66, 0, 130, 78, 171, 0, 216, 61, 201, 0, 168, 35, 243, 0, 131, 74, 214, 0, 70, 224, 197, 0, 172, 136, 206, 0, 9, 59, 43, 0, 239, 77, 67, 0, 147, 187, 144, 0, 59, 240, 1, 0, 208, 14, 208, 0, 41, 105, 173, 0, 246, 56, 23, 0, 232, 53, 250, 0, 22, 102, 199, 0, 204, 19, 6, 0, 216, 216, 201, 0, 207, 168, 199, 0, 23, 91, 163, 0, 17, 219, 244, 0, 91, 93, 191, 0, 224, 109, 166, 0, 208, 205, 133, 0, 211, 19, 251, 0, 169, 145, 194, 0, 220, 153, 225, 0, 115, 187, 234, 0, 88, 207, 135, 0, 67, 108, 119, 0, 91, 202, 170, 0, 97, 179, 101, 0, 51, 252, 161, 0, 30, 75, 202, 0, 160, 209, 8, 0, 100, 61, 173, 0, 117, 234, 223, 0, 252, 158, 0, 0, 42, 88, 14, 0, 153, 168, 216, 0, 110, 57, 249, 0, 234, 112, 104, 0, 193, 136, 49, 0, 158, 54, 141, 0, 78, 120, 85, 0, 140, 17, 40, 0, 41, 165, 241, 0, 84, 63, 243, 0, 12, 16, 117, 0, 243, 66, 238, 0, \ +225, 137, 171, 0, 205, 221, 68, 0, 205, 202, 107, 0, 162, 70, 42, 0, 87, 29, 161, 0, 37, 75, 100, 0, 58, 175, 243, 0, 235, 184, 246, 0, 248, 98, 234, 0, 183, 54, 160, 0, 6, 135, 154, 0, 86, 46, 39, 0, 0, 137, 116, 0, 18, 0, 206, 0, 205, 146, 121, 0, 41, 41, 204, 0, 0, 192, 94, 0, 183, 123, 173, 0, 193, 148, 187, 0, 48, 19, 198, 0, 246, 248, 58, 0, 108, 72, 112, 0, 30, 98, 10, 0, 160, 246, 217, 0, 29, 127, 145, 0, 184, 7, 156, 0, 158, 89, 215, 0, 72, 135, 47, 0, 67, 206, 7, 0, 178, 73, 117, 0, 23, 56, 4, 0, 201, 190, 252, 0, 28, 187, 88, 0, 208, 156, 249, 0, 45, 45, 126, 0, 152, 35, 187, 0, 167, 64, 35, 0, 13, 159, 234, 0, 233, 106, 24, 0, 167, 80, 54, 0, 207, 193, 123, 0, 172, 111, 109, 0, 228, 37, 224, 0, 205, 218, 97, 0, 69, 147, 12, 0, 48, 7, 24, 0, 197, 32, 197, 0, 178, 141, 78, 0, 211, 42, 49, 0, 33, 127, 196, 0, 221, 167, 54, 0, 168, 112, 98, 0, 146, 165, 244, 0, 223, 196, 136, 0, 162, 117, 249, 0, 94, 100, 128, 0, 118, 227, 251, 0, 14, 189, 76, 0, 18, 27, 68, 0, 212, 83, 76, 0, 189, 191, 86, 0, 241, 89, 144, 0, 132, 163, 153, 0, 134, 221, 191, 0, 240, 97, 99, 0, 243, 166, 98, 0, 181, 63, 128, 0, 84, 235, 18, 0, 19, 200, 129, 0, 122, 201, 106, 0, 96, 243, 100, 0, 188, 228, 61, 0, 162, 15, 123, 0, 192, 175, 149, 0, 159, 94, 203, 0, 211, 175, 146, 0, 99, 17, 111, 0, 51, 3, 198, 0, 141, 5, 51, 0, 214, 66, 121, 0, 131, 178, 21, 0, 237, 38, 205, 0, 125, 223, 245, 0, 166, 81, 200, 0, 53, 54, 33, 0, 174, 156, 179, 0, 112, 248, 70, 0, 81, 9, 3, 0, 192, 27, 51, 0, 12, 219, 224, 0, 16, 101, 121, 0, 28, 96, 79, 0, 7, 173, 25, 0, 123, 164, 202, 0, 206, 33, 185, 0, 17, 183, 217, 0, 50, 188, 223, 0, 85, 167, 192, 0, 107, 66, 126, 0, 109, 169, 247, 0, 219, 78, 115, 0, 191, 49, 175, 0, 103, 180, 46, 0, 115, 198, 154, 0, 37, 203, 52, 0, 203, 98, 78, 0, 107, 106, 227, 0, 250, 158, 199, 0, 164, 213, 253, 0, 3, 75, 21, 0, 227, 127, 156, 0, 115, 42, 87, 0, 241, 31, 21, 0, 150, 124, 249, 0, 1, 112, 104, 0, 67, 169, 247, 0, 13, 191, 246, 0, 48, 67, 152, 0, 242, 11, 201, 0, 45, 69, 217, 0, 11, 37, 180, 0, 66, 205, 41, 0, 154, 201, 141, 0, 42, 40, 162, 0, 94, 113, 252, 0, 40, 157, 198, 0, 110, 202, 233, 0, 161, 74, 125, 0, 163, 207, 6, 0, 25, 116, 81, 0, 141, 169, 135, 0, 127, 143, 249, 0, 219, 230, 85, 0, 89, 230, 229, 0, 230, 223, 201, 0, 173, 198, 154, 0, 53, 207, 136, 0, 7, 101, 19, 0, 73, 166, 245, 0, 212, 104, 222, 0, 83, 49, 137, 0, 141, 163, 157, 0, 199, 51, 106, 0, 109, 39, 146, 0, 252, 254, 53, 0, 50, 250, 199, 0, 71, 234, 136, 0, 111, 219, 99, 0, 130, 56, 246, 0, 110, 167, 227, 0, 18, 57, 93, 0, 137, 218, 205, 0, 15, 6, 7, 0, 189, 124, 123, 0, 145, 219, 33, 0, 104, 148, 64, 0, 196, 235, 20, 0, 35, 223, 216, 0, 121, 169, 94, 0, 181, 173, 19, 0, 81, 159, 196, 0, 119, 198, 174, 0, 66, 217, 51, 0, 6, 135, 220, 0, 92, 56, 136, 0, 238, 135, 57, 0, 116, 85, 5, 0, 93, 235, 40, 0, 252, 132, 54, 0, 125, 254, 76, 0, 252, 117, 233, 0, 197, 106, 177, 0, 142, 234, 175, 0, 154, 144, 87, 0, 90, 172, 115, 0, 202, 134, 21, 0, 209, 181, 250, 0, 31, 201, 46, 0, 59, 31, 6, 0, 252, 190, 18, 0, 93, 64, 153, 0, 44, 213, 63, 0, 174, 199, 77, 0, 164, 251, 129, 0, 110, 196, 1, 0, 130, 93, 147, 0, 251, 154, 45, 0, 45, 45, 206, 0, 39, 111, 71, 0, 179, 87, 174, 0, 189, 7, 232, 0, 159, 93, 225, 0, 72, 43, 203, 0, 142, 185, 208, 0, 196, 164, 10, 0, 190, 89, 77, 0, 126, 231, 30, 0, 234, 118, 231, 0, 33, 134, 188, 0, 39, 181, 173, 0, 10, 178, 194, 0, 136, 196, 188, 0, 167, 173, 145, 0, 89, 205, 144, 0, 243, 151, 228, 0, 13, 222, 138, 0, 178, 8, 180, 0, 23, 93, 18, 0, 117, 80, 112, 0, 237, 141, 112, 0, 224, 200, 176, 0, 72, 228, 62, 0, 196, 95, 37, 0, 68, 111, 249, 0, 34, 134, 24, 0, 247, 32, 36, 0, 7, 112, 33, 0, 93, 171, 124, 0, 103, 51, 134, 0, 78, 194, 165, 0, 174, 194, 65, 0, 74, 236, 2, 0, 200, 208, 246, 0, 198, 159, 17, 0, \ +200, 229, 241, 0, 146, 232, 17, 0, 205, 25, 72, 0, 102, 50, 70, 0, 25, 153, 175, 0, 46, 70, 84, 0, 108, 137, 176, 0, 89, 75, 145, 0, 39, 149, 35, 0, 39, 94, 20, 0, 140, 53, 233, 0, 91, 217, 251, 0, 208, 74, 240, 0, 245, 238, 9, 0, 115, 52, 182, 0, 156, 5, 197, 0, 213, 198, 227, 0, 39, 246, 156, 0, 154, 207, 123, 0, 83, 224, 230, 0, 198, 133, 155, 0, 214, 0, 40, 0, 167, 233, 118, 0, 172, 34, 241, 0, 18, 184, 218, 0, 215, 221, 239, 0, 95, 196, 114, 0, 46, 86, 166, 0, 170, 19, 126, 0, 138, 159, 205, 0, 35, 250, 122, 0, 180, 51, 252, 0, 18, 241, 21, 0, 47, 165, 15, 0, 253, 70, 138, 0, 39, 38, 18, 0, 87, 164, 54, 0, 27, 222, 216, 0, 208, 96, 190, 0, 4, 119, 60, 0, 186, 80, 184, 0, 98, 123, 7, 0, 147, 143, 106, 0, 14, 89, 184, 0, 127, 232, 118, 0, 115, 13, 60, 0, 137, 91, 214, 0, 66, 124, 98, 0, 86, 36, 161, 0, 234, 214, 117, 0, 104, 241, 216, 0, 210, 76, 109, 0, 141, 42, 68, 0, 34, 129, 73, 0, 127, 215, 204, 0, 243, 2, 216, 0, 69, 80, 72, 0, 250, 28, 125, 0, 78, 217, 69, 0, 111, 172, 238, 0, 230, 117, 91, 0, 235, 132, 166, 0, 0, 117, 38, 0, 94, 97, 19, 0, 79, 237, 210, 0, 37, 73, 56, 0, 127, 28, 94, 0, 71, 99, 240, 0, 99, 196, 201, 0, 90, 33, 155, 0, 238, 165, 220, 0, 145, 172, 210, 0, 117, 227, 35, 0, 159, 53, 176, 0, 67, 144, 126, 0, 251, 247, 36, 0, 73, 17, 173, 0, 102, 205, 143, 0, 19, 119, 55, 0, 238, 142, 27, 0, 204, 223, 166, 0, 57, 38, 112, 0, 166, 243, 40, 0, 1, 111, 148, 0, 152, 223, 132, 0, 24, 184, 77, 0, 128, 73, 215, 0, 21, 149, 128, 0, 0, 112, 116, 0, 78, 230, 150, 0, 121, 84, 116, 0, 126, 165, 227, 0, 22, 92, 123, 0, 237, 79, 54, 0, 174, 109, 108, 0, 252, 245, 94, 0, 104, 180, 91, 0, 252, 193, 241, 0, 3, 65, 180, 0, 47, 150, 125, 0, 254, 37, 65, 0, 181, 252, 67, 0, 123, 119, 102, 0, 96, 173, 117, 0, 202, 85, 103, 0, 145, 3, 70, 0, 165, 201, 60, 0, 165, 205, 248, 0, 46, 198, 160, 0, 127, 251, 105, 0, 57, 30, 41, 0, 46, 189, 29, 0, 69, 93, 97, 0, 52, 144, 129, 0, 145, 221, 163, 0, 88, 198, 160, 0, 184, 129, 98, 0, 103, 42, 19, 0, 68, 19, 81, 0, 39, 192, 254, 0, 198, 12, 62, 0, 250, 28, 65, 0, 105, 222, 2, 0, 231, 37, 84, 0, 93, 49, 252, 0, 118, 157, 65, 0, 107, 20, 227, 0, 194, 203, 213, 0, 82, 214, 112, 0, 68, 245, 170, 0, 31, 166, 0, 0, 106, 109, 117, 0, 190, 22, 143, 0, 69, 238, 196, 0, 0, 89, 237, 0, 10, 39, 77, 0, 16, 140, 68, 0, 19, 42, 150, 0, 14, 69, 141, 0, 145, 247, 205, 0, 22, 41, 50, 0, 106, 59, 6, 0, 16, 6, 64, 0, 184, 103, 7, 0, 66, 85, 181, 0, 237, 38, 245, 0, 214, 118, 65, 0, 150, 173, 231, 0, 196, 30, 237, 0, 50, 97, 115, 0, 0, 244, 129, 0, 162, 126, 139, 0, 124, 146, 60, 0, 14, 248, 93, 0, 222, 204, 253, 0, 228, 205, 5, 0, 29, 188, 220, 0, 110, 252, 5, 0, 94, 91, 123, 0, 190, 97, 189, 0, 7, 203, 194, 0, 180, 253, 35, 0, 211, 158, 41, 0, 193, 28, 201, 0, 46, 153, 86, 0, 96, 168, 215, 0, 77, 67, 54, 0, 36, 27, 140, 0, 160, 144, 101, 0, 206, 181, 204, 0, 138, 116, 4, 0, 74, 54, 181, 0, 232, 87, 244, 0, 33, 36, 244, 0, 62, 58, 204, 0, 148, 206, 116, 0, 194, 94, 205, 0, 12, 168, 121, 0, 250, 242, 139, 0, 46, 0, 89, 0, 95, 244, 43, 0, 12, 72, 72, 0, 5, 206, 172, 0, 204, 73, 216, 0, 54, 191, 225, 0, 48, 234, 64, 0, 10, 221, 42, 0, 40, 224, 55, 0, 142, 9, 25, 0, 57, 149, 22, 0, 204, 239, 27, 0, 245, 91, 180, 0, 75, 204, 134, 0, 163, 29, 59, 0, 235, 211, 93, 0, 89, 72, 106, 0, 67, 139, 161, 0, 78, 201, 155, 0, 185, 69, 129, 0, 124, 7, 96, 0, 147, 31, 68, 0, 195, 6, 78, 0, 122, 202, 244, 0, 189, 49, 80, 0, 147, 138, 194, 0, 80, 235, 64, 0, 34, 200, 1, 0, 110, 232, 101, 0, 49, 94, 106, 0, 149, 28, 99, 0, 109, 17, 27, 0, 226, 93, 41, 0, 58, 160, 251, 0, 23, 40, 200, 0, 128, 72, 141, 0, 146, 59, 66, 0, 36, 206, 153, 0, 104, 38, 78, 0, 219, 147, 130, 0, 178, 68, 247, 0, 206, 59, 25, 0, 129, 233, 67, 0, 8, 218, 226, 0, 26, 230, 56, 0, \ +215, 198, 61, 0, 176, 138, 129, 0, 200, 174, 67, 0, 41, 241, 159, 0, 32, 254, 253, 0, 178, 37, 232, 0, 201, 105, 0, 0, 163, 216, 131, 0, 110, 12, 13, 0, 130, 95, 243, 0, 3, 0, 89, 0, 27, 147, 232, 0, 94, 73, 20, 0, 4, 21, 125, 0, 115, 45, 151, 0, 101, 234, 114, 0, 217, 239, 218, 0, 0, 37, 50, 0, 37, 231, 42, 0, 215, 211, 224, 0, 4, 178, 203, 0, 247, 16, 137, 0, 10, 78, 91, 0, 72, 0, 99, 0, 167, 118, 142, 0, 67, 22, 163, 0, 142, 143, 226, 0, 47, 213, 82, 0, 124, 240, 31, 0, 154, 1, 141, 0, 252, 151, 163, 0, 56, 89, 138, 0, 223, 188, 67, 0, 135, 179, 85, 0, 130, 75, 38, 0, 75, 113, 93, 0, 154, 23, 81, 0, 26, 181, 70, 0, 105, 228, 30, 0, 192, 133, 131, 0, 34, 107, 96, 0, 133, 21, 177, 0, 86, 32, 101, 0, 224, 230, 81, 0, 249, 198, 54, 0, 102, 236, 165, 0, 40, 88, 100, 0, 135, 70, 22, 0, 172, 7, 228, 0, 207, 178, 237, 0, 25, 17, 65, 0, 191, 220, 239, 0, 159, 75, 66, 0, 20, 115, 27, 0, 80, 9, 183, 0, 238, 117, 55, 0, 240, 86, 143, 0, 64, 58, 62, 0, 226, 21, 221, 0, 157, 113, 113, 0, 21, 43, 205, 0, 183, 82, 82, 0, 121, 7, 69, 0, 177, 222, 183, 0, 176, 243, 239, 0, 0, 1, 151, 0, 168, 105, 51, 0, 39, 166, 237, 0, 245, 155, 250, 0, 51, 72, 109, 0, 221, 6, 72, 0, 202, 183, 41, 0, 246, 171, 243, 0, 112, 158, 113, 0, 71, 170, 227, 0, 166, 78, 224, 0, 25, 242, 44, 0, 74, 250, 102, 0, 6, 215, 179, 0, 243, 18, 38, 0, 82, 53, 2, 0, 37, 142, 57, 0, 5, 69, 61, 0, 1, 49, 91, 0, 89, 30, 32, 0, 153, 76, 117, 0, 53, 118, 10, 0, 78, 228, 27, 0, 134, 248, 8, 0, 169, 65, 214, 0, 168, 81, 53, 0, 172, 166, 90, 0, 37, 139, 149, 0, 124, 52, 63, 0, 229, 249, 87, 0, 66, 243, 199, 0, 165, 124, 56, 0, 123, 84, 242, 0, 199, 127, 3, 0, 106, 10, 112, 0, 137, 209, 28, 0, 149, 31, 147, 0, 160, 129, 158, 0, 84, 240, 127, 0, 176, 217, 153, 0, 64, 154, 60, 0, 106, 131, 185, 0, 8, 233, 175, 0, 196, 143, 187, 0, 148, 45, 132, 0, 178, 237, 159, 0, 158, 217, 161, 0, 16, 22, 143, 0, 148, 67, 178, 0, 10, 192, 207, 0, 28, 56, 8, 0, 209, 129, 170, 0, 68, 117, 196, 0, 14, 211, 16, 0, 210, 18, 204, 0, 194, 195, 196, 0, 98, 153, 201, 0, 177, 201, 119, 0, 15, 253, 1, 0, 26, 44, 247, 0, 102, 40, 248, 0, 221, 165, 54, 0, 133, 126, 204, 0, 205, 222, 244, 0, 211, 41, 84, 0, 186, 110, 186, 0, 122, 166, 137, 0, 125, 222, 180, 0, 70, 14, 244, 0, 121, 146, 187, 0, 94, 233, 158, 0, 172, 60, 70, 0, 169, 20, 225, 0, 250, 160, 222, 0, 254, 20, 81, 0, 4, 20, 49, 0, 6, 137, 163, 0, 179, 58, 113, 0, 122, 116, 15, 0, 251, 97, 134, 0, 0, 96, 18, 0, 229, 65, 114, 0, 173, 65, 50, 0, 20, 30, 209, 0, 173, 219, 170, 0, 134, 121, 105, 0, 216, 56, 230, 0, 33, 143, 33, 0, 183, 168, 22, 0, 161, 67, 19, 0, 169, 157, 3, 0, 63, 147, 249, 0, 73, 74, 100, 0, 41, 89, 195, 0, 60, 196, 169, 0, 251, 28, 231, 0, 107, 10, 199, 0, 120, 36, 187, 0, 155, 69, 90, 0, 99, 178, 120, 0, 176, 81, 208, 0, 145, 162, 27, 0, 192, 224, 82, 0, 225, 97, 176, 0, 71, 107, 95, 0, 204, 59, 192, 0, 65, 130, 75, 0, 40, 81, 56, 0, 216, 138, 253, 0, 49, 184, 222, 0, 187, 134, 185, 0, 165, 132, 15, 0, 180, 191, 16, 0, 78, 133, 61, 0, 41, 48, 162, 0, 103, 141, 199, 0, 208, 39, 194, 0, 128, 205, 226, 0, 147, 197, 252, 0, 241, 232, 133, 0, 132, 194, 113, 0, 46, 82, 167, 0, 144, 234, 212, 0, 141, 50, 246, 0, 233, 95, 17, 0, 126, 180, 233, 0, 101, 233, 149, 0, 206, 63, 175, 0, 112, 85, 233, 0, 84, 80, 82, 0, 101, 77, 147, 0, 23, 161, 135, 0, 24, 116, 200, 0, 157, 228, 137, 0, 49, 216, 213, 0, 74, 120, 32, 0, 14, 38, 109, 0, 221, 230, 135, 0, 39, 13, 153, 0, 159, 46, 211, 0, 118, 51, 42, 0, 116, 88, 14, 0, 26, 201, 60, 0, 230, 245, 185, 0, 125, 122, 49, 0, 80, 179, 246, 0, 107, 213, 136, 0, 32, 183, 175, 0, 200, 81, 177, 0, 39, 236, 54, 0, 41, 242, 33, 0, 251, 139, 87, 0, 196, 20, 211, 0, 220, 46, 82, 0, 103, 11, 168, 0, 46, 169, 121, 0, 135, 144, 122, 0, 155, 207, 25, 0, 76, 136, 174, 0, \ +169, 145, 9, 0, 9, 245, 200, 0, 202, 120, 47, 0, 121, 192, 70, 0, 238, 143, 83, 0, 161, 54, 34, 0, 232, 77, 197, 0, 44, 177, 138, 0, 239, 146, 90, 0, 101, 149, 21, 0, 132, 222, 24, 0, 238, 42, 167, 0, 102, 185, 156, 0, 133, 26, 19, 0, 184, 87, 58, 0, 80, 46, 140, 0, 21, 126, 14, 0, 131, 69, 10, 0, 220, 121, 138, 0, 139, 80, 62, 0, 243, 170, 185, 0, 54, 31, 130, 0, 189, 238, 74, 0, 130, 131, 160, 0, 79, 67, 243, 0, 78, 241, 21, 0, 242, 36, 246, 0, 51, 144, 231, 0, 189, 198, 133, 0, 46, 120, 194, 0, 26, 231, 205, 0, 230, 254, 221, 0, 211, 92, 170, 0, 191, 251, 249, 0, 216, 223, 183, 0, 87, 26, 63, 0, 30, 180, 16, 0, 98, 64, 200, 0, 38, 181, 110, 0, 187, 46, 34, 0, 61, 116, 185, 0, 30, 103, 170, 0, 107, 36, 103, 0, 98, 169, 232, 0, 216, 2, 240, 0, 136, 115, 20, 0, 20, 231, 240, 0, 151, 156, 4, 0, 154, 240, 117, 0, 102, 35, 221, 0, 155, 0, 29, 0, 199, 110, 199, 0, 156, 59, 242, 0, 188, 93, 45, 0, 17, 83, 105, 0, 20, 237, 95, 0, 24, 72, 77, 0, 166, 39, 95, 0, 34, 105, 36, 0, 151, 126, 127, 0, 165, 148, 123, 0, 224, 173, 201, 0, 3, 244, 10, 0, 192, 46, 1, 0, 55, 145, 18, 0, 124, 226, 9, 0, 28, 223, 163, 0, 236, 109, 111, 0, 7, 240, 250, 0, 147, 236, 250, 0, 223, 91, 146, 0, 140, 90, 190, 0, 120, 189, 158, 0, 231, 172, 124, 0, 197, 31, 39, 0, 180, 46, 21, 0, 229, 131, 181, 0, 128, 158, 95, 0, 201, 18, 179, 0, 26, 209, 43, 0, 54, 123, 166, 0, 233, 48, 64, 0, 60, 222, 87, 0, 225, 208, 216, 0, 104, 10, 177, 0, 55, 91, 177, 0, 154, 152, 203, 0, 243, 82, 111, 0, 111, 115, 94, 0, 238, 95, 122, 0, 241, 13, 122, 0, 59, 56, 37, 0, 86, 118, 140, 0, 101, 183, 13, 0, 174, 19, 202, 0, 49, 115, 133, 0, 69, 191, 112, 0, 57, 64, 167, 0, 245, 114, 59, 0, 243, 150, 211, 0, 78, 105, 66, 0, 75, 201, 220, 0, 74, 21, 247, 0, 78, 91, 78, 0, 181, 68, 245, 0, 50, 103, 154, 0, 147, 4, 45, 0, 205, 243, 18, 0, 3, 121, 200, 0, 145, 116, 243, 0, 229, 184, 66, 0, 98, 78, 169, 0, 82, 191, 86, 0, 178, 174, 56, 0, 10, 104, 229, 0, 152, 149, 191, 0, 97, 246, 1, 0, 100, 243, 87, 0, 159, 27, 174, 0, 194, 93, 198, 0, 233, 46, 95, 0, 97, 66, 4, 0, 180, 151, 133, 0, 133, 23, 170, 0, 165, 250, 192, 0, 58, 121, 101, 0, 185, 165, 28, 0, 135, 94, 207, 0, 58, 247, 60, 0, 182, 240, 175, 0, 152, 61, 141, 0, 156, 136, 52, 0, 46, 135, 58, 0, 29, 168, 188, 0, 213, 22, 44, 0, 215, 238, 126, 0, 236, 220, 250, 0, 126, 62, 238, 0, 244, 134, 41, 0, 50, 201, 78, 0, 238, 214, 63, 0, 103, 159, 103, 0, 17, 182, 249, 0, 99, 246, 228, 0, 8, 95, 38, 0, 160, 114, 105, 0, 170, 74, 13, 0, 209, 117, 126, 0, 75, 34, 171, 0, 212, 236, 46, 0, 194, 98, 239, 0, 145, 187, 203, 0, 181, 82, 94, 0, 189, 144, 184, 0, 224, 168, 50, 0, 164, 86, 146, 0, 49, 92, 223, 0, 249, 189, 65, 0, 156, 101, 242, 0, 90, 18, 206, 0, 149, 46, 118, 0, 216, 107, 142, 0, 116, 68, 191, 0, 80, 159, 207, 0, 127, 182, 140, 0, 60, 198, 184, 0, 48, 64, 50, 0, 68, 60, 146, 0, 41, 79, 248, 0, 243, 222, 166, 0, 215, 188, 51, 0, 9, 40, 19, 0, 218, 23, 215, 0, 150, 151, 79, 0, 93, 26, 139, 0, 238, 132, 175, 0, 98, 77, 53, 0, 248, 220, 84, 0, 232, 28, 158, 0, 121, 100, 27, 0, 116, 203, 104, 0, 143, 88, 114, 0, 98, 126, 131, 0, 138, 195, 142, 0, 31, 200, 176, 0, 226, 38, 5, 0, 209, 142, 52, 0, 205, 52, 109, 0, 41, 245, 85, 0, 102, 155, 40, 0, 163, 209, 124, 0, 59, 13, 140, 0, 106, 12, 250, 0, 110, 14, 13, 0, 198, 185, 138, 0, 152, 250, 81, 0, 219, 202, 25, 0, 27, 50, 53, 0, 176, 69, 99, 0, 247, 253, 101, 0, 92, 9, 211, 0, 69, 95, 225, 0, 21, 249, 75, 0, 199, 195, 240, 0, 239, 92, 153, 0, 107, 235, 33, 0, 194, 31, 233, 0, 12, 103, 21, 0, 59, 141, 2, 0, 34, 173, 57, 0, 247, 130, 111, 0, 234, 238, 239, 0, 162, 153, 23, 0, 166, 236, 103, 0, 112, 215, 177, 0, 123, 81, 107, 0, 70, 231, 237, 0, 42, 15, 251, 0, 189, 114, 52, 0, 53, 99, 238, 0, 188, 227, 139, 0, 226, 89, 212, 0, 48, 210, 115, 0, 45, 55, 26, 0, \ +9, 74, 100, 0, 70, 160, 194, 0, 251, 0, 171, 0, 235, 165, 176, 0, 172, 218, 178, 0, 146, 206, 132, 0, 124, 181, 222, 0, 139, 139, 119, 0, 229, 149, 84, 0, 79, 33, 111, 0, 53, 87, 151, 0, 56, 28, 156, 0, 35, 241, 254, 0, 114, 119, 8, 0, 253, 212, 74, 0, 49, 81, 214, 0, 214, 198, 152, 0, 157, 156, 232, 0, 14, 27, 27, 0, 138, 69, 98, 0, 178, 115, 141, 0, 231, 213, 20, 0, 102, 28, 141, 0, 158, 228, 31, 0, 194, 201, 244, 0, 116, 79, 108, 0, 207, 138, 215, 0, 23, 86, 231, 0, 243, 225, 132, 0, 27, 241, 24, 0, 200, 178, 2, 0, 214, 77, 171, 0, 33, 237, 87, 0, 228, 145, 230, 0, 50, 89, 34, 0, 194, 217, 1, 0, 218, 66, 116, 0, 106, 1, 140, 0, 70, 19, 5, 0, 107, 124, 51, 0, 184, 158, 101, 0, 244, 244, 137, 0, 171, 214, 223, 0, 46, 41, 30, 0, 11, 139, 72, 0, 148, 91, 115, 0, 57, 118, 190, 0, 100, 49, 198, 0, 87, 162, 3, 0, 159, 232, 180, 0, 41, 125, 208, 0, 187, 213, 216, 0, 174, 172, 228, 0, 36, 6, 57, 0, 98, 153, 131, 0, 199, 184, 72, 0, 117, 179, 189, 0, 222, 250, 106, 0, 80, 28, 214, 0, 170, 4, 182, 0, 241, 138, 78, 0, 252, 254, 248, 0, 235, 104, 69, 0, 229, 71, 202, 0, 104, 178, 32, 0, 162, 42, 168, 0, 205, 126, 165, 0, 166, 236, 196, 0, 136, 95, 113, 0, 182, 236, 103, 0, 183, 212, 0, 0, 144, 136, 241, 0, 215, 53, 128, 0, 240, 193, 250, 0, 44, 234, 55, 0, 108, 64, 232, 0, 236, 141, 177, 0, 72, 130, 9, 0, 65, 47, 60, 0, 26, 2, 136, 0, 30, 127, 235, 0, 194, 221, 253, 0, 67, 175, 216, 0, 26, 26, 31, 0, 220, 242, 222, 0, 92, 96, 141, 0, 144, 93, 115, 0, 185, 152, 62, 0, 233, 95, 186, 0, 206, 112, 247, 0, 27, 123, 228, 0, 4, 81, 167, 0, 158, 220, 195, 0, 212, 32, 65, 0, 206, 173, 53, 0, 183, 149, 203, 0, 186, 165, 9, 0, 132, 176, 45, 0, 110, 124, 121, 0, 111, 59, 13, 0, 172, 239, 216, 0, 30, 159, 188, 0, 112, 215, 96, 0, 224, 149, 5, 0, 176, 74, 178, 0, 20, 134, 107, 0, 154, 193, 145, 0, 17, 230, 165, 0, 66, 9, 84, 0, 53, 104, 17, 0, 31, 57, 107, 0, 72, 19, 156, 0, 21, 83, 47, 0, 211, 189, 189, 0, 90, 120, 95, 0, 104, 100, 41, 0, 145, 224, 234, 0, 123, 10, 71, 0, 12, 118, 172, 0, 49, 172, 191, 0, 211, 204, 225, 0, 160, 118, 206, 0, 28, 150, 52, 0, 238, 199, 97, 0, 29, 124, 220, 0, 52, 197, 114, 0, 1, 134, 142, 0, 165, 174, 201, 0, 84, 67, 204, 0, 3, 217, 114, 0, 160, 61, 217, 0, 9, 68, 1, 0, 66, 117, 19, 0, 254, 49, 239, 0, 246, 172, 161, 0, 83, 16, 62, 0, 199, 74, 223, 0, 192, 50, 5, 0, 147, 233, 57, 0, 145, 225, 158, 0, 58, 39, 203, 0, 205, 37, 95, 0, 131, 163, 171, 0, 251, 17, 51, 0, 94, 249, 33, 0, 209, 124, 219, 0, 64, 185, 195, 0, 144, 243, 247, 0, 43, 242, 162, 0, 64, 168, 174, 0, 4, 154, 109, 0, 94, 155, 10, 0, 3, 23, 56, 0, 184, 170, 99, 0, 111, 107, 120, 0, 189, 155, 220, 0, 142, 223, 139, 0, 157, 178, 120, 0, 187, 235, 91, 0, 112, 16, 61, 0, 125, 249, 83, 0, 230, 114, 125, 0, 103, 220, 147, 0, 238, 2, 212, 0, 154, 14, 242, 0, 150, 89, 133, 0, 16, 177, 211, 0, 207, 99, 180, 0, 186, 212, 77, 0, 132, 193, 222, 0, 170, 181, 249, 0, 107, 220, 89, 0, 243, 69, 73, 0, 147, 175, 12, 0, 146, 156, 248, 0, 16, 182, 139, 0, 3, 85, 123, 0, 29, 245, 139, 0, 100, 252, 178, 0, 30, 44, 141, 0, 207, 157, 226, 0, 153, 233, 157, 0, 248, 183, 94, 0, 148, 72, 2, 0, 9, 61, 195, 0, 139, 44, 100, 0, 71, 141, 75, 0, 39, 148, 202, 0, 117, 1, 115, 0, 195, 40, 39, 0, 48, 107, 199, 0, 66, 67, 62, 0, 166, 12, 49, 0, 156, 187, 7, 0, 24, 28, 207, 0, 10, 190, 235, 0, 158, 19, 202, 0, 173, 10, 45, 0, 192, 72, 9, 0, 240, 156, 250, 0, 228, 93, 221, 0, 11, 242, 189, 0, 245, 42, 44, 0, 16, 28, 65, 0, 185, 83, 69, 0, 197, 108, 76, 0, 138, 124, 81, 0, 42, 79, 244, 0, 10, 140, 171, 0, 59, 81, 230, 0, 25, 212, 238, 0, 224, 218, 11, 0, 135, 118, 249, 0, 176, 147, 3, 0, 229, 135, 235, 0, 152, 110, 39, 0, 138, 137, 229, 0, 83, 191, 183, 0, 67, 179, 19, 0, 238, 12, 74, 0, 79, 101, 24, 0, 221, 21, 70, 0, 153, 84, 20, 0, 200, 48, 110, 0, \ +245, 206, 204, 0, 157, 90, 99, 0, 88, 230, 93, 0, 33, 73, 225, 0, 10, 0, 230, 0, 115, 250, 227, 0, 87, 157, 220, 0, 224, 216, 226, 0, 35, 167, 22, 0, 218, 55, 43, 0, 85, 134, 133, 0, 22, 119, 207, 0, 189, 96, 34, 0, 53, 8, 105, 0, 149, 103, 137, 0, 161, 74, 193, 0, 182, 37, 135, 0, 208, 58, 14, 0, 149, 250, 143, 0, 79, 53, 90, 0, 62, 89, 233, 0, 5, 0, 240, 0, 24, 124, 51, 0, 133, 237, 207, 0, 176, 210, 32, 0, 3, 41, 199, 0, 154, 227, 98, 0, 13, 113, 25, 0, 196, 150, 174, 0, 154, 12, 5, 0, 212, 151, 158, 0, 174, 142, 88, 0, 113, 149, 63, 0, 254, 173, 122, 0, 66, 105, 18, 0, 19, 178, 244, 0, 47, 147, 43, 0, 82, 130, 178, 0, 15, 170, 21, 0, 173, 87, 31, 0, 61, 58, 18, 0, 231, 174, 233, 0, 97, 218, 114, 0, 52, 3, 203, 0, 19, 19, 35, 0, 225, 22, 202, 0, 226, 0, 155, 0, 91, 100, 86, 0, 47, 113, 7, 0, 4, 40, 2, 0, 129, 85, 82, 0, 148, 181, 231, 0, 133, 87, 38, 0, 206, 22, 62, 0, 135, 140, 95, 0, 8, 25, 92, 0, 78, 249, 182, 0, 101, 183, 80, 0, 201, 71, 248, 0, 193, 232, 24, 0, 163, 182, 155, 0, 70, 75, 51, 0, 6, 18, 28, 0, 130, 165, 203, 0, 46, 33, 78, 0, 248, 161, 49, 0, 110, 166, 175, 0, 143, 2, 191, 0, 152, 182, 117, 0, 201, 222, 63, 0, 28, 62, 113, 0, 245, 253, 178, 0, 132, 29, 174, 0, 40, 29, 92, 0, 21, 28, 7, 0, 144, 0, 182, 0, 205, 190, 68, 0, 229, 31, 225, 0, 76, 36, 251, 0, 37, 114, 180, 0, 21, 239, 73, 0, 78, 118, 79, 0, 239, 97, 116, 0, 63, 18, 85, 0, 115, 124, 174, 0, 201, 120, 160, 0, 175, 167, 26, 0, 143, 102, 66, 0, 83, 186, 204, 0, 1, 165, 75, 0, 47, 151, 231, 0, 95, 248, 27, 0, 59, 15, 157, 0, 99, 92, 141, 0, 63, 182, 195, 0, 30, 106, 123, 0, 213, 42, 238, 0, 142, 94, 80, 0, 97, 112, 24, 0, 89, 6, 206, 0, 252, 252, 185, 0, 39, 153, 54, 0, 116, 9, 41, 0, 156, 126, 252, 0, 184, 78, 219, 0, 80, 191, 194, 0, 204, 224, 61, 0, 130, 69, 122, 0, 116, 178, 252, 0, 104, 11, 204, 0, 18, 67, 216, 0, 39, 195, 174, 0, 104, 68, 228, 0, 192, 87, 69, 0, 184, 4, 69, 0, 48, 150, 66, 0, 177, 231, 189, 0, 114, 121, 182, 0, 185, 130, 245, 0, 94, 105, 59, 0, 253, 4, 216, 0, 239, 191, 64, 0, 251, 47, 125, 0, 128, 46, 42, 0, 190, 184, 253, 0, 104, 106, 213, 0, 230, 43, 22, 0, 156, 239, 58, 0, 177, 52, 90, 0, 151, 116, 120, 0, 17, 79, 131, 0, 95, 94, 67, 0, 106, 23, 153, 0, 51, 228, 3, 0, 76, 82, 134, 0, 19, 99, 54, 0, 65, 161, 212, 0, 209, 148, 62, 0, 97, 177, 236, 0, 5, 162, 228, 0, 26, 131, 184, 0, 196, 248, 149, 0, 195, 44, 205, 0, 156, 31, 61, 0, 153, 109, 106, 0, 177, 244, 124, 0, 228, 157, 33, 0, 205, 115, 10, 0, 45, 65, 37, 0, 61, 91, 205, 0, 232, 187, 29, 0, 89, 184, 45, 0, 4, 103, 200, 0, 158, 122, 149, 0, 59, 157, 174, 0, 52, 171, 88, 0, 197, 105, 53, 0, 223, 1, 25, 0, 127, 134, 43, 0, 110, 100, 211, 0, 61, 232, 248, 0, 186, 252, 13, 0, 13, 19, 199, 0, 16, 192, 201, 0, 152, 87, 6, 0, 138, 141, 212, 0, 97, 188, 4, 0, 52, 196, 211, 0, 70, 76, 142, 0, 241, 51, 232, 0, 102, 243, 153, 0, 89, 233, 252, 0, 67, 192, 137, 0, 28, 184, 161, 0, 182, 72, 57, 0, 200, 107, 75, 0, 3, 129, 77, 0, 78, 29, 44, 0, 155, 148, 56, 0, 145, 183, 222, 0, 173, 170, 92, 0, 114, 205, 209, 0, 111, 10, 82, 0, 162, 227, 8, 0, 109, 56, 81, 0, 170, 231, 17, 0, 136, 173, 224, 0, 72, 176, 47, 0, 243, 217, 237, 0, 17, 244, 83, 0, 110, 157, 236, 0, 140, 192, 76, 0, 165, 14, 74, 0, 148, 242, 19, 0, 250, 26, 56, 0, 182, 186, 111, 0, 29, 44, 106, 0, 87, 41, 40, 0, 35, 226, 192, 0, 136, 15, 237, 0, 35, 127, 244, 0, 186, 181, 169, 0, 146, 90, 48, 0, 115, 55, 103, 0, 162, 204, 79, 0, 74, 149, 143, 0, 73, 41, 17, 0, 15, 177, 246, 0, 191, 248, 153, 0, 61, 140, 39, 0, 235, 228, 182, 0, 161, 10, 23, 0, 211, 167, 251, 0, 159, 74, 8, 0, 252, 217, 208, 0, 123, 229, 222, 0, 216, 160, 116, 0, 242, 148, 91, 0, 165, 185, 83, 0, 134, 233, 216, 0, 29, 108, 118, 0, 137, 131, 231, 0, 37, 225, 235, 0, 209, 153, 221, 0, \ +136, 115, 211, 0, 30, 252, 164, 0, 191, 124, 92, 0, 26, 37, 157, 0, 67, 215, 230, 0, 230, 156, 94, 0, 140, 60, 45, 0, 2, 172, 249, 0, 104, 25, 26, 0, 130, 121, 17, 0, 167, 9, 128, 0, 48, 191, 55, 0, 105, 77, 81, 0, 14, 243, 138, 0, 137, 195, 236, 0, 254, 178, 153, 0, 243, 84, 181, 0, 88, 238, 220, 0, 110, 63, 108, 0, 201, 63, 11, 0, 241, 191, 74, 0, 8, 70, 13, 0, 64, 64, 135, 0, 166, 139, 59, 0, 212, 117, 26, 0, 233, 147, 233, 0, 33, 81, 183, 0, 72, 201, 242, 0, 152, 35, 220, 0, 149, 250, 218, 0, 219, 162, 230, 0, 234, 149, 102, 0, 150, 118, 215, 0, 195, 43, 234, 0, 115, 233, 14, 0, 181, 189, 38, 0, 136, 119, 233, 0, 127, 120, 115, 0, 75, 227, 31, 0, 236, 109, 7, 0, 150, 58, 164, 0, 74, 50, 174, 0, 63, 95, 205, 0, 84, 79, 49, 0, 142, 83, 137, 0, 25, 37, 139, 0, 160, 84, 183, 0, 192, 65, 55, 0, 182, 154, 168, 0, 19, 187, 158, 0, 124, 150, 135, 0, 225, 170, 154, 0, 116, 197, 145, 0, 84, 174, 16, 0, 135, 131, 154, 0, 238, 66, 160, 0, 166, 98, 57, 0, 115, 231, 136, 0, 44, 249, 244, 0, 162, 247, 209, 0, 191, 204, 20, 0, 86, 189, 240, 0, 14, 143, 97, 0, 167, 26, 153, 0, 183, 7, 84, 0, 243, 70, 111, 0, 113, 87, 2, 0, 206, 85, 212, 0, 249, 190, 145, 0, 202, 126, 211, 0, 135, 19, 94, 0, 84, 241, 136, 0, 2, 26, 182, 0, 163, 145, 183, 0, 139, 252, 225, 0, 54, 199, 245, 0, 11, 229, 130, 0, 22, 184, 220, 0, 67, 225, 2, 0, 94, 248, 251, 0, 76, 236, 237, 0, 183, 252, 253, 0, 199, 130, 136, 0, 94, 73, 173, 0, 140, 221, 218, 0, 164, 165, 207, 0, 29, 59, 127, 0, 189, 248, 59, 0, 83, 221, 209, 0, 218, 94, 222, 0, 79, 99, 116, 0, 241, 186, 138, 0, 88, 8, 88, 0, 77, 59, 72, 0, 184, 197, 198, 0, 185, 134, 91, 0, 201, 7, 144, 0, 209, 142, 75, 0, 197, 144, 215, 0, 198, 251, 10, 0, 132, 103, 200, 0, 241, 39, 242, 0, 76, 232, 193, 0, 219, 116, 127, 0, 240, 167, 114, 0, 113, 245, 144, 0, 153, 203, 236, 0, 194, 24, 72, 0, 228, 117, 228, 0, 163, 240, 123, 0, 97, 230, 41, 0, 156, 39, 205, 0, 26, 28, 253, 0, 212, 94, 194, 0, 89, 35, 183, 0, 151, 167, 190, 0, 53, 220, 199, 0, 134, 120, 55, 0, 94, 75, 156, 0, 112, 105, 51, 0, 230, 222, 25, 0, 235, 83, 37, 0, 136, 67, 123, 0, 252, 242, 7, 0, 168, 72, 114, 0, 111, 231, 171, 0, 124, 191, 36, 0, 197, 177, 242, 0, 119, 117, 239, 0, 147, 207, 134, 0, 229, 124, 238, 0, 226, 218, 6, 0, 187, 155, 10, 0, 229, 65, 237, 0, 81, 48, 104, 0, 36, 206, 132, 0, 188, 19, 82, 0, 144, 48, 121, 0, 142, 170, 183, 0, 79, 120, 214, 0, 58, 136, 79, 0, 157, 178, 16, 0, 120, 35, 142, 0, 82, 160, 158, 0, 24, 125, 192, 0, 89, 110, 111, 0, 146, 0, 254, 0, 254, 63, 78, 0, 104, 96, 176, 0, 21, 116, 35, 0, 94, 24, 111, 0, 37, 199, 148, 0, 210, 179, 69, 0, 104, 124, 108, 0, 226, 56, 151, 0, 34, 31, 128, 0, 133, 201, 28, 0, 223, 170, 173, 0, 253, 188, 35, 0, 27, 111, 12, 0, 232, 152, 171, 0, 242, 240, 235, 0, 232, 173, 112, 0, 1, 69, 86, 0, 227, 97, 210, 0, 127, 16, 9, 0, 101, 34, 185, 0, 66, 41, 9, 0, 244, 104, 56, 0, 169, 2, 238, 0, 55, 191, 133, 0, 5, 111, 223, 0, 134, 238, 132, 0, 58, 132, 180, 0, 246, 193, 60, 0, 154, 81, 92, 0, 122, 204, 51, 0, 78, 63, 111, 0, 96, 118, 14, 0, 11, 122, 237, 0, 234, 25, 122, 0, 237, 17, 114, 0, 58, 202, 59, 0, 163, 140, 195, 0, 174, 42, 130, 0, 144, 88, 27, 0, 55, 109, 45, 0, 42, 68, 141, 0, 109, 72, 102, 0, 150, 179, 104, 0, 254, 215, 128, 0, 104, 251, 28, 0, 69, 86, 64, 0, 131, 32, 25, 0, 4, 190, 169, 0, 57, 33, 157, 0, 27, 122, 54, 0, 79, 140, 101, 0, 83, 123, 246, 0, 67, 7, 134, 0, 70, 28, 179, 0, 195, 35, 22, 0, 106, 199, 120, 0, 244, 18, 209, 0, 17, 235, 112, 0, 76, 203, 69, 0, 101, 149, 190, 0, 15, 56, 237, 0, 249, 164, 224, 0, 157, 155, 53, 0, 203, 246, 179, 0, 227, 52, 52, 0, 163, 22, 171, 0, 120, 131, 164, 0, 98, 131, 43, 0, 18, 56, 100, 0, 159, 66, 236, 0, 137, 243, 151, 0, 87, 154, 58, 0, 62, 93, 123, 0, 67, 80, 192, 0, 126, 49, 234, 0, 72, 129, 174, 0, 97, 227, 17, 0, \ +1, 89, 164, 0, 136, 147, 77, 0, 156, 154, 5, 0, 141, 206, 148, 0, 25, 149, 139, 0, 127, 204, 81, 0, 35, 165, 196, 0, 14, 163, 94, 0, 95, 249, 159, 0, 240, 19, 220, 0, 84, 160, 106, 0, 2, 81, 63, 0, 65, 148, 180, 0, 163, 122, 74, 0, 215, 116, 95, 0, 90, 199, 245, 0, 204, 55, 161, 0, 106, 148, 110, 0, 4, 219, 81, 0, 53, 68, 186, 0, 132, 236, 217, 0, 155, 17, 176, 0, 16, 66, 235, 0, 187, 148, 115, 0, 225, 161, 61, 0, 78, 235, 115, 0, 200, 196, 168, 0, 138, 219, 148, 0, 90, 68, 29, 0, 131, 65, 216, 0, 29, 38, 52, 0, 150, 238, 144, 0, 145, 112, 122, 0, 45, 65, 42, 0, 243, 94, 189, 0, 87, 24, 21, 0, 245, 30, 15, 0, 28, 141, 98, 0, 87, 233, 226, 0, 193, 97, 145, 0, 73, 160, 107, 0, 242, 61, 103, 0, 231, 61, 148, 0, 29, 94, 129, 0, 185, 221, 155, 0, 19, 75, 23, 0, 187, 164, 207, 0, 213, 53, 105, 0, 18, 57, 135, 0, 98, 219, 63, 0, 208, 16, 59, 0, 201, 22, 195, 0, 94, 84, 125, 0, 179, 84, 194, 0, 223, 207, 234, 0, 111, 146, 242, 0, 217, 123, 181, 0, 158, 134, 232, 0, 242, 45, 106, 0, 15, 232, 54, 0, 205, 31, 176, 0, 2, 184, 92, 0, 228, 219, 19, 0, 140, 110, 121, 0, 68, 39, 193, 0, 127, 139, 229, 0, 145, 219, 62, 0, 41, 2, 64, 0, 252, 68, 53, 0, 191, 72, 144, 0, 192, 209, 114, 0, 189, 129, 4, 0, 252, 66, 141, 0, 179, 122, 169, 0, 180, 207, 189, 0, 73, 33, 3, 0, 247, 246, 118, 0, 140, 184, 105, 0, 0, 35, 70, 0, 123, 94, 144, 0, 55, 88, 81, 0, 87, 202, 149, 0, 47, 154, 151, 0, 142, 110, 196, 0, 238, 163, 92, 0, 221, 153, 201, 0, 170, 29, 188, 0, 121, 155, 183, 0, 220, 207, 164, 0, 62, 218, 42, 0, 69, 237, 0, 0, 168, 209, 108, 0, 207, 59, 26, 0, 144, 162, 44, 0, 254, 91, 235, 0, 116, 193, 164, 0, 43, 76, 166, 0, 152, 193, 38, 0, 252, 92, 90, 0, 18, 146, 129, 0, 206, 120, 116, 0, 209, 35, 92, 0, 91, 234, 250, 0, 119, 186, 4, 0, 12, 127, 109, 0, 161, 187, 157, 0, 59, 226, 42, 0, 254, 71, 139, 0, 249, 102, 25, 0, 103, 158, 5, 0, 50, 19, 13, 0, 251, 78, 233, 0, 124, 238, 9, 0, 38, 100, 241, 0, 234, 206, 48, 0, 93, 161, 2, 0, 188, 114, 130, 0, 124, 64, 153, 0, 140, 119, 196, 0, 60, 106, 145, 0, 89, 165, 41, 0, 233, 101, 23, 0, 167, 21, 149, 0, 113, 144, 61, 0, 67, 131, 139, 0, 58, 169, 6, 0, 188, 58, 97, 0, 173, 219, 17, 0, 31, 134, 77, 0, 81, 152, 233, 0, 164, 199, 132, 0, 139, 122, 197, 0, 91, 147, 178, 0, 111, 212, 19, 0, 177, 242, 122, 0, 44, 137, 234, 0, 43, 154, 40, 0, 135, 116, 69, 0, 209, 54, 2, 0, 138, 123, 248, 0, 83, 195, 141, 0, 34, 97, 227, 0, 164, 128, 156, 0, 126, 130, 167, 0, 9, 164, 121, 0, 123, 234, 216, 0, 166, 14, 98, 0, 167, 97, 110, 0, 172, 237, 234, 0, 217, 139, 100, 0, 136, 130, 197, 0, 96, 160, 11, 0, 110, 85, 184, 0, 215, 39, 166, 0, 230, 191, 241, 0, 92, 243, 140, 0, 252, 85, 89, 0, 192, 68, 171, 0, 249, 48, 109, 0, 205, 235, 253, 0, 20, 67, 130, 0, 32, 117, 130, 0, 68, 239, 181, 0, 212, 225, 115, 0, 144, 240, 79, 0, 135, 201, 91, 0, 234, 139, 143, 0, 41, 194, 35, 0, 41, 94, 23, 0, 46, 54, 110, 0, 119, 201, 124, 0, 50, 242, 237, 0, 174, 58, 20, 0, 129, 227, 228, 0, 95, 249, 163, 0, 121, 132, 52, 0, 173, 35, 84, 0, 229, 21, 234, 0, 178, 185, 79, 0, 187, 233, 8, 0, 32, 90, 155, 0, 55, 120, 231, 0, 106, 84, 184, 0, 196, 125, 16, 0, 138, 200, 162, 0, 47, 167, 217, 0, 243, 208, 181, 0, 163, 151, 87, 0, 246, 145, 165, 0, 15, 180, 94, 0, 170, 130, 109, 0, 177, 120, 22, 0, 103, 59, 21, 0, 110, 17, 184, 0, 105, 141, 47, 0, 82, 182, 13, 0, 54, 156, 250, 0, 134, 68, 127, 0, 236, 158, 175, 0, 238, 214, 179, 0, 207, 132, 54, 0, 117, 134, 134, 0, 211, 46, 214, 0, 234, 204, 203, 0, 109, 136, 191, 0, 135, 28, 115, 0, 79, 214, 190, 0, 146, 44, 201, 0, 142, 126, 144, 0, 3, 94, 113, 0, 147, 35, 114, 0, 230, 46, 94, 0, 182, 124, 29, 0, 121, 69, 171, 0, 85, 11, 46, 0, 27, 123, 7, 0, 216, 98, 7, 0, 189, 23, 152, 0, 115, 150, 24, 0, 30, 69, 238, 0, 100, 101, 44, 0, 114, 141, 216, 0, 197, 115, 40, 0, 103, 88, 2, 0, \ +41, 227, 214, 0, 174, 189, 219, 0, 224, 7, 198, 0, 254, 167, 28, 0, 95, 233, 126, 0, 31, 103, 155, 0, 22, 176, 182, 0, 138, 247, 66, 0, 40, 24, 243, 0, 91, 249, 150, 0, 70, 180, 252, 0, 76, 135, 89, 0, 78, 206, 35, 0, 203, 190, 2, 0, 49, 90, 122, 0, 159, 25, 46, 0, 238, 125, 24, 0, 64, 47, 60, 0, 247, 173, 112, 0, 230, 36, 32, 0, 166, 119, 226, 0, 194, 162, 43, 0, 153, 99, 25, 0, 168, 13, 232, 0, 234, 3, 117, 0, 77, 119, 70, 0, 223, 237, 248, 0, 204, 97, 48, 0, 13, 58, 140, 0, 150, 52, 226, 0, 131, 224, 89, 0, 9, 205, 131, 0, 140, 198, 226, 0, 20, 108, 99, 0, 73, 218, 248, 0, 32, 144, 132, 0, 0, 31, 21, 0, 164, 112, 118, 0, 32, 71, 73, 0, 39, 34, 166, 0, 57, 193, 157, 0, 125, 39, 69, 0, 209, 38, 168, 0, 129, 197, 11, 0, 71, 141, 37, 0, 141, 192, 195, 0, 246, 152, 237, 0, 122, 150, 16, 0, 228, 220, 97, 0, 195, 38, 46, 0, 28, 175, 91, 0, 237, 6, 166, 0, 157, 229, 156, 0, 42, 33, 168, 0, 60, 97, 127, 0, 109, 98, 248, 0, 200, 203, 37, 0, 197, 49, 0, 0, 215, 193, 195, 0, 20, 137, 99, 0, 71, 74, 217, 0, 18, 208, 16, 0, 138, 204, 198, 0, 186, 18, 232, 0, 96, 172, 29, 0, 148, 148, 84, 0, 124, 204, 120, 0, 62, 58, 199, 0, 172, 35, 158, 0, 174, 230, 131, 0, 192, 204, 185, 0, 98, 210, 213, 0, 13, 64, 205, 0, 230, 94, 18, 0, 139, 253, 156, 0, 63, 7, 159, 0, 154, 198, 154, 0, 60, 152, 80, 0, 132, 21, 16, 0, 235, 253, 198, 0, 120, 157, 227, 0, 35, 56, 50, 0, 138, 8, 45, 0, 197, 174, 42, 0, 192, 72, 59, 0, 134, 12, 10, 0, 142, 149, 118, 0, 65, 55, 112, 0, 116, 233, 204, 0, 231, 27, 39, 0, 216, 207, 18, 0, 84, 120, 221, 0, 179, 193, 144, 0, 121, 227, 77, 0, 118, 25, 178, 0, 119, 127, 49, 0, 4, 244, 215, 0, 11, 32, 167, 0, 239, 242, 114, 0, 51, 247, 141, 0, 88, 234, 120, 0, 11, 201, 90, 0, 246, 80, 228, 0, 145, 108, 152, 0, 48, 19, 177, 0, 247, 27, 77, 0, 72, 111, 12, 0, 218, 11, 1, 0, 172, 245, 99, 0, 246, 68, 85, 0, 204, 151, 214, 0, 155, 101, 112, 0, 227, 122, 127, 0, 54, 78, 64, 0, 79, 145, 116, 0, 88, 122, 162, 0, 207, 134, 245, 0, 174, 191, 54, 0, 166, 226, 179, 0, 119, 54, 104, 0, 88, 220, 202, 0, 8, 145, 214, 0, 183, 50, 247, 0, 244, 133, 129, 0, 210, 238, 85, 0, 69, 24, 117, 0, 242, 179, 223, 0, 87, 208, 160, 0, 175, 193, 86, 0, 47, 190, 15, 0, 55, 207, 246, 0, 39, 55, 134, 0, 125, 133, 244, 0, 166, 135, 142, 0, 94, 111, 239, 0, 218, 100, 180, 0, 141, 210, 202, 0, 205, 150, 41, 0, 167, 133, 75, 0, 8, 168, 185, 0, 134, 10, 24, 0, 240, 94, 90, 0, 8, 20, 127, 0, 109, 4, 31, 0, 26, 229, 183, 0, 138, 10, 138, 0, 185, 151, 204, 0, 77, 30, 25, 0, 166, 65, 222, 0, 143, 40, 165, 0, 93, 200, 118, 0, 15, 147, 53, 0, 210, 144, 49, 0, 222, 216, 185, 0, 111, 72, 119, 0, 5, 246, 94, 0, 145, 175, 142, 0, 64, 245, 198, 0, 45, 239, 70, 0, 109, 168, 210, 0, 22, 60, 238, 0, 165, 16, 108, 0, 53, 14, 235, 0, 20, 237, 141, 0, 54, 100, 200, 0, 76, 206, 239, 0, 123, 93, 208, 0, 86, 67, 4, 0, 208, 3, 45, 0, 157, 174, 137, 0, 130, 189, 212, 0, 44, 228, 252, 0, 186, 216, 178, 0, 165, 95, 19, 0, 76, 52, 205, 0, 145, 5, 164, 0, 225, 174, 148, 0, 254, 213, 116, 0, 252, 159, 37, 0, 204, 252, 218, 0, 87, 9, 7, 0, 221, 210, 200, 0, 150, 60, 209, 0, 31, 253, 208, 0, 127, 47, 105, 0, 96, 141, 97, 0, 96, 221, 113, 0, 54, 85, 41, 0, 215, 149, 238, 0, 33, 110, 186, 0, 223, 205, 93, 0, 4, 57, 206, 0, 98, 97, 43, 0, 16, 181, 97, 0, 236, 134, 61, 0, 187, 33, 87, 0, 77, 32, 13, 0, 110, 51, 29, 0, 235, 107, 80, 0, 22, 207, 131, 0, 239, 239, 171, 0, 128, 247, 72, 0, 157, 96, 100, 0, 15, 99, 196, 0, 206, 222, 65, 0, 215, 122, 148, 0, 192, 174, 127, 0, 37, 86, 254, 0, 65, 62, 210, 0, 33, 17, 29, 0, 60, 50, 97, 0, 6, 137, 31, 0, 233, 100, 243, 0, 183, 47, 187, 0, 177, 123, 63, 0, 38, 51, 43, 0, 44, 228, 133, 0, 79, 30, 141, 0, 253, 53, 127, 0, 131, 170, 34, 0, 61, 82, 81, 0, 241, 131, 10, 0, 126, 107, 70, 0, 219, 133, 134, 0, \ +187, 236, 97, 0, 96, 113, 115, 0, 137, 196, 230, 0, 211, 3, 111, 0, 129, 231, 154, 0, 212, 2, 53, 0, 75, 163, 90, 0, 235, 99, 13, 0, 85, 114, 115, 0, 208, 139, 164, 0, 94, 130, 35, 0, 158, 84, 23, 0, 11, 111, 202, 0, 239, 176, 68, 0, 85, 101, 215, 0, 157, 32, 135, 0, 161, 127, 79, 0, 32, 246, 254, 0, 89, 210, 31, 0, 72, 191, 251, 0, 4, 35, 234, 0, 70, 133, 72, 0, 186, 156, 48, 0, 210, 163, 164, 0, 89, 61, 72, 0, 68, 148, 196, 0, 119, 228, 102, 0, 94, 22, 247, 0, 149, 165, 252, 0, 99, 47, 163, 0, 216, 80, 196, 0, 244, 209, 133, 0, 206, 51, 95, 0, 243, 189, 164, 0, 238, 142, 86, 0, 230, 62, 38, 0, 212, 194, 131, 0, 252, 215, 67, 0, 65, 16, 154, 0, 40, 185, 105, 0, 187, 81, 248, 0, 31, 220, 174, 0, 214, 21, 138, 0, 3, 109, 4, 0, 101, 51, 83, 0, 78, 240, 94, 0, 14, 233, 160, 0, 216, 14, 14, 0, 28, 165, 7, 0, 151, 248, 179, 0, 219, 216, 237, 0, 192, 77, 183, 0, 43, 181, 239, 0, 171, 66, 66, 0, 24, 203, 241, 0, 49, 64, 26, 0, 118, 137, 173, 0, 153, 187, 87, 0, 94, 146, 77, 0, 161, 118, 111, 0, 204, 21, 59, 0, 177, 88, 182, 0, 33, 175, 34, 0, 156, 59, 251, 0, 176, 27, 76, 0, 58, 12, 246, 0, 98, 5, 30, 0, 18, 43, 30, 0, 46, 106, 162, 0, 51, 191, 158, 0, 204, 115, 227, 0, 37, 147, 24, 0, 24, 218, 74, 0, 206, 155, 55, 0, 251, 232, 117, 0, 114, 52, 226, 0, 118, 102, 165, 0, 247, 31, 174, 0, 2, 114, 151, 0, 136, 178, 49, 0, 68, 47, 163, 0, 209, 251, 204, 0, 89, 143, 20, 0, 173, 156, 179, 0, 217, 167, 82, 0, 217, 36, 114, 0, 64, 39, 117, 0, 14, 123, 193, 0, 6, 13, 176, 0, 133, 106, 35, 0, 238, 128, 35, 0, 34, 85, 143, 0, 170, 60, 127, 0, 130, 135, 166, 0, 170, 10, 212, 0, 182, 71, 221, 0, 181, 168, 246, 0, 110, 219, 230, 0, 219, 216, 146, 0, 119, 153, 4, 0, 143, 166, 173, 0, 242, 69, 191, 0, 97, 20, 236, 0, 193, 197, 128, 0, 146, 248, 54, 0, 32, 197, 86, 0, 56, 151, 109, 0, 143, 246, 245, 0, 106, 191, 30, 0, 88, 105, 77, 0, 53, 188, 236, 0, 37, 169, 7, 0, 233, 149, 253, 0, 111, 225, 209, 0, 105, 162, 84, 0, 188, 117, 147, 0, 62, 185, 116, 0, 122, 61, 30, 0, 129, 181, 17, 0, 50, 170, 168, 0, 101, 88, 44, 0, 43, 216, 204, 0, 79, 102, 158, 0, 67, 187, 229, 0, 251, 206, 100, 0, 102, 171, 211, 0, 129, 78, 130, 0, 16, 224, 188, 0, 193, 171, 83, 0, 231, 22, 167, 0, 173, 172, 182, 0, 250, 71, 23, 0, 14, 209, 65, 0, 43, 66, 87, 0, 41, 164, 63, 0, 124, 243, 187, 0, 213, 231, 48, 0, 170, 36, 80, 0, 230, 137, 235, 0, 158, 151, 85, 0, 191, 216, 25, 0, 191, 200, 165, 0, 228, 135, 135, 0, 189, 195, 104, 0, 251, 177, 127, 0, 199, 31, 94, 0, 131, 102, 113, 0, 42, 152, 125, 0, 153, 10, 128, 0, 162, 105, 107, 0, 87, 178, 78, 0, 105, 34, 186, 0, 245, 152, 191, 0, 240, 245, 250, 0, 71, 90, 40, 0, 162, 131, 171, 0, 52, 208, 213, 0, 227, 228, 247, 0, 1, 71, 179, 0, 96, 219, 19, 0, 101, 21, 214, 0, 48, 166, 201, 0, 177, 175, 67, 0, 233, 160, 62, 0, 96, 143, 220, 0, 20, 129, 165, 0, 148, 55, 127, 0, 102, 47, 79, 0, 180, 66, 31, 0, 94, 20, 157, 0, 252, 150, 2, 0, 240, 97, 14, 0, 37, 203, 94, 0, 116, 35, 144, 0, 207, 114, 191, 0, 241, 193, 58, 0, 58, 13, 112, 0, 201, 3, 5, 0, 212, 128, 96, 0, 152, 70, 86, 0, 185, 113, 151, 0, 160, 46, 180, 0, 165, 70, 226, 0, 171, 26, 122, 0, 172, 192, 152, 0, 238, 67, 190, 0, 0, 24, 251, 0, 16, 17, 237, 0, 108, 146, 14, 0, 8, 79, 205, 0, 119, 171, 3, 0, 122, 102, 175, 0, 147, 12, 105, 0, 243, 105, 117, 0, 233, 186, 244, 0, 3, 161, 236, 0, 253, 40, 5, 0, 55, 99, 243, 0, 4, 87, 134, 0, 73, 210, 146, 0, 249, 25, 107, 0, 92, 110, 49, 0, 6, 101, 191, 0, 217, 193, 232, 0, 180, 63, 223, 0, 54, 34, 206, 0, 139, 113, 13, 0, 187, 83, 61, 0, 219, 16, 135, 0, 73, 24, 34, 0, 192, 7, 247, 0, 119, 113, 238, 0, 219, 34, 49, 0, 188, 194, 220, 0, 120, 202, 253, 0, 88, 241, 178, 0, 156, 143, 243, 0, 48, 105, 240, 0, 11, 66, 22, 0, 97, 56, 59, 0, 111, 5, 100, 0, 173, 40, 5, 0, 41, 53, 113, 0, 186, 35, 203, 0, \ +130, 228, 121, 0, 7, 151, 145, 0, 73, 109, 218, 0, 33, 206, 187, 0, 65, 174, 59, 0, 186, 222, 26, 0, 151, 5, 36, 0, 106, 69, 192, 0, 113, 5, 64, 0, 52, 132, 72, 0, 89, 19, 5, 0, 162, 220, 20, 0, 11, 21, 218, 0, 156, 84, 155, 0, 142, 214, 194, 0, 89, 186, 218, 0, 253, 177, 104, 0, 6, 15, 72, 0, 144, 11, 175, 0, 117, 55, 51, 0, 37, 65, 190, 0, 234, 79, 231, 0, 6, 179, 201, 0, 231, 45, 4, 0, 91, 184, 180, 0, 189, 149, 118, 0, 86, 132, 246, 0, 60, 34, 202, 0, 145, 18, 153, 0, 60, 198, 58, 0, 186, 82, 84, 0, 104, 52, 118, 0, 220, 123, 240, 0, 219, 48, 31, 0, 88, 52, 119, 0, 158, 29, 237, 0, 112, 143, 14, 0, 2, 231, 151, 0, 143, 177, 220, 0, 46, 114, 197, 0, 135, 191, 25, 0, 15, 93, 80, 0, 23, 161, 168, 0, 54, 213, 101, 0, 65, 163, 147, 0, 31, 165, 10, 0, 225, 34, 12, 0, 81, 73, 213, 0, 126, 200, 45, 0, 73, 102, 235, 0, 227, 2, 170, 0, 17, 30, 8, 0, 45, 142, 211, 0, 211, 184, 197, 0, 136, 192, 89, 0, 62, 254, 204, 0, 175, 118, 36, 0, 40, 35, 128, 0, 100, 171, 179, 0, 130, 167, 125, 0, 187, 156, 61, 0, 179, 10, 25, 0, 77, 80, 92, 0, 209, 219, 146, 0, 13, 165, 235, 0, 125, 200, 36, 0, 86, 39, 40, 0, 83, 171, 242, 0, 4, 86, 4, 0, 113, 97, 129, 0, 197, 233, 201, 0, 97, 196, 126, 0, 176, 108, 80, 0, 104, 136, 81, 0, 23, 47, 182, 0, 165, 4, 31, 0, 62, 73, 14, 0, 153, 196, 247, 0, 221, 73, 31, 0, 250, 224, 159, 0, 75, 180, 238, 0, 23, 127, 162, 0, 91, 214, 47, 0, 87, 107, 227, 0, 36, 30, 246, 0, 25, 217, 178, 0, 13, 249, 214, 0, 168, 144, 21, 0, 103, 66, 61, 0, 141, 236, 233, 0, 128, 172, 106, 0, 157, 21, 89, 0, 141, 242, 228, 0, 241, 202, 148, 0, 79, 223, 50, 0, 152, 167, 201, 0, 103, 208, 201, 0, 219, 178, 245, 0, 42, 182, 56, 0, 25, 249, 81, 0, 192, 11, 72, 0, 50, 136, 179, 0, 158, 167, 42, 0, 149, 140, 55, 0, 3, 208, 28, 0, 188, 38, 49, 0, 211, 80, 20, 0, 42, 194, 62, 0, 95, 125, 121, 0, 115, 224, 185, 0, 0, 156, 111, 0, 164, 95, 97, 0, 237, 34, 123, 0, 41, 97, 95, 0, 168, 92, 125, 0, 235, 109, 127, 0, 146, 46, 64, 0, 70, 97, 118, 0, 37, 219, 44, 0, 11, 146, 106, 0, 174, 2, 171, 0, 213, 33, 43, 0, 110, 4, 96, 0, 210, 159, 191, 0, 147, 40, 14, 0, 89, 70, 236, 0, 130, 31, 216, 0, 173, 23, 57, 0, 50, 175, 181, 0, 69, 224, 178, 0, 182, 196, 39, 0, 43, 172, 247, 0, 226, 121, 149, 0, 20, 3, 50, 0, 176, 253, 87, 0, 165, 55, 101, 0, 82, 194, 204, 0, 240, 207, 104, 0, 112, 107, 99, 0, 68, 231, 68, 0, 147, 107, 123, 0, 123, 124, 96, 0, 184, 190, 174, 0, 205, 133, 129, 0, 210, 206, 208, 0, 64, 154, 194, 0, 9, 131, 63, 0, 65, 254, 198, 0, 130, 39, 128, 0, 211, 154, 105, 0, 48, 62, 157, 0, 113, 8, 33, 0, 103, 147, 182, 0, 32, 50, 50, 0, 131, 0, 141, 0, 54, 188, 195, 0, 154, 208, 89, 0, 110, 90, 51, 0, 142, 63, 172, 0, 185, 17, 129, 0, 91, 81, 244, 0, 178, 104, 45, 0, 190, 103, 186, 0, 211, 245, 156, 0, 72, 52, 175, 0, 159, 239, 173, 0, 180, 116, 116, 0, 208, 181, 186, 0, 230, 141, 236, 0, 214, 158, 205, 0, 229, 241, 92, 0, 127, 181, 90, 0, 203, 59, 180, 0, 98, 118, 49, 0, 115, 7, 1, 0, 130, 157, 27, 0, 186, 41, 34, 0, 140, 234, 178, 0, 46, 131, 29, 0, 245, 59, 106, 0, 97, 172, 92, 0, 12, 22, 159, 0, 4, 88, 117, 0, 99, 71, 4, 0, 90, 70, 22, 0, 240, 83, 236, 0, 20, 14, 231, 0, 82, 209, 210, 0, 26, 210, 11, 0, 240, 100, 55, 0, 105, 37, 66, 0, 232, 225, 118, 0, 157, 12, 35, 0, 45, 7, 69, 0, 111, 29, 94, 0, 48, 242, 163, 0, 58, 124, 88, 0, 89, 31, 89, 0, 169, 97, 150, 0, 134, 98, 41, 0, 7, 84, 38, 0, 166, 37, 158, 0, 147, 109, 109, 0, 99, 88, 94, 0, 198, 128, 242, 0, 234, 150, 219, 0, 204, 163, 194, 0, 203, 246, 7, 0, 156, 191, 243, 0, 236, 137, 28, 0, 50, 10, 127, 0, 8, 127, 242, 0, 44, 89, 13, 0, 214, 153, 208, 0, 132, 50, 213, 0, 197, 79, 243, 0, 90, 142, 55, 0, 186, 197, 146, 0, 63, 108, 119, 0, 155, 251, 236, 0, 102, 248, 14, 0, 117, 185, 123, 0, 203, 9, 240, 0, 74, 233, 175, 0, \ +147, 62, 185, 0, 45, 8, 239, 0, 0, 217, 252, 0, 4, 175, 71, 0, 150, 252, 145, 0, 117, 196, 187, 0, 254, 230, 94, 0, 220, 14, 131, 0, 212, 93, 165, 0, 140, 208, 213, 0, 11, 167, 98, 0, 75, 102, 216, 0, 205, 136, 171, 0, 213, 229, 49, 0, 192, 119, 186, 0, 75, 195, 34, 0, 2, 205, 108, 0, 116, 50, 75, 0, 229, 72, 10, 0, 133, 15, 217, 0, 244, 92, 249, 0, 136, 78, 228, 0, 149, 220, 103, 0, 93, 133, 105, 0, 167, 68, 112, 0, 72, 14, 62, 0, 223, 120, 185, 0, 145, 241, 144, 0, 193, 85, 44, 0, 13, 156, 69, 0, 82, 49, 242, 0, 16, 254, 50, 0, 175, 29, 182, 0, 221, 21, 61, 0, 6, 152, 3, 0, 41, 136, 102, 0, 78, 147, 157, 0, 148, 49, 31, 0, 65, 235, 92, 0, 135, 239, 70, 0, 20, 110, 119, 0, 225, 162, 58, 0, 196, 129, 151, 0, 83, 218, 48, 0, 232, 204, 214, 0, 92, 104, 244, 0, 213, 143, 75, 0, 253, 117, 121, 0, 138, 209, 92, 0, 73, 152, 128, 0, 219, 229, 30, 0, 143, 87, 7, 0, 10, 118, 146, 0, 215, 214, 15, 0, 74, 74, 185, 0, 242, 48, 21, 0, 14, 225, 118, 0, 118, 213, 181, 0, 173, 133, 225, 0, 45, 215, 55, 0, 98, 124, 1, 0, 176, 136, 70, 0, 211, 162, 224, 0, 134, 38, 62, 0, 203, 70, 212, 0, 193, 8, 249, 0, 43, 203, 133, 0, 47, 91, 67, 0, 23, 208, 103, 0, 82, 24, 174, 0, 29, 65, 240, 0, 239, 214, 43, 0, 171, 20, 47, 0, 110, 5, 31, 0, 239, 180, 132, 0, 160, 174, 13, 0, 57, 198, 117, 0, 93, 142, 180, 0, 159, 188, 6, 0, 201, 162, 206, 0, 250, 203, 59, 0, 5, 253, 60, 0, 114, 158, 161, 0, 220, 140, 34, 0, 52, 89, 97, 0, 220, 187, 253, 0, 79, 200, 44, 0, 52, 30, 98, 0, 232, 32, 227, 0, 18, 222, 27, 0, 104, 15, 190, 0, 75, 8, 91, 0, 27, 178, 157, 0, 8, 115, 9, 0, 252, 230, 3, 0, 243, 222, 51, 0, 178, 33, 117, 0, 4, 66, 238, 0, 128, 29, 212, 0, 218, 65, 108, 0, 246, 60, 88, 0, 68, 41, 77, 0, 152, 49, 186, 0, 55, 72, 218, 0, 63, 15, 222, 0, 17, 33, 76, 0, 46, 219, 73, 0, 188, 194, 99, 0, 193, 31, 77, 0, 61, 182, 189, 0, 59, 43, 64, 0, 24, 72, 157, 0, 157, 45, 46, 0, 62, 200, 226, 0, 112, 48, 23, 0, 50, 168, 135, 0, 88, 184, 54, 0, 156, 61, 70, 0, 95, 88, 228, 0, 238, 90, 206, 0, 182, 112, 132, 0, 28, 172, 0, 0, 180, 240, 107, 0, 120, 20, 203, 0, 114, 250, 85, 0, 206, 25, 228, 0, 161, 171, 18, 0, 49, 152, 177, 0, 69, 21, 85, 0, 220, 5, 235, 0, 88, 124, 102, 0, 30, 234, 114, 0, 161, 8, 168, 0, 206, 138, 148, 0, 69, 76, 207, 0, 21, 205, 93, 0, 227, 193, 8, 0, 113, 125, 90, 0, 238, 163, 109, 0, 218, 176, 247, 0, 215, 212, 51, 0, 30, 139, 140, 0, 185, 98, 59, 0, 21, 13, 141, 0, 139, 55, 31, 0, 125, 83, 30, 0, 157, 173, 7, 0, 6, 216, 231, 0, 206, 79, 84, 0, 86, 132, 164, 0, 175, 50, 42, 0, 173, 198, 220, 0, 232, 188, 74, 0, 192, 166, 72, 0, 167, 189, 252, 0, 211, 218, 233, 0, 101, 72, 194, 0, 220, 110, 142, 0, 91, 116, 184, 0, 88, 95, 123, 0, 217, 240, 158, 0, 176, 158, 187, 0, 45, 203, 238, 0, 121, 0, 58, 0, 25, 87, 54, 0, 175, 72, 102, 0, 164, 239, 117, 0, 130, 7, 95, 0, 31, 38, 36, 0, 153, 74, 211, 0, 210, 206, 129, 0, 195, 102, 12, 0, 129, 172, 184, 0, 109, 138, 178, 0, 42, 0, 127, 0, 68, 57, 134, 0, 7, 220, 188, 0, 179, 179, 177, 0, 37, 152, 21, 0, 222, 62, 195, 0, 247, 28, 248, 0, 136, 94, 128, 0, 39, 197, 16, 0, 37, 182, 24, 0, 246, 175, 236, 0, 4, 172, 22, 0, 46, 89, 18, 0, 227, 33, 110, 0, 84, 37, 219, 0, 56, 143, 80, 0, 90, 175, 217, 0, 222, 110, 29, 0, 107, 16, 138, 0, 139, 149, 247, 0, 204, 25, 36, 0, 129, 187, 205, 0, 190, 36, 166, 0, 65, 111, 5, 0, 69, 153, 163, 0, 182, 243, 237, 0, 108, 54, 241, 0, 252, 14, 240, 0, 211, 12, 170, 0, 80, 27, 32, 0, 216, 148, 202, 0, 64, 233, 234, 0, 100, 179, 54, 0, 55, 155, 121, 0, 67, 222, 66, 0, 173, 166, 2, 0, 34, 43, 58, 0, 234, 45, 158, 0, 131, 127, 234, 0, 67, 53, 72, 0, 235, 83, 101, 0, 186, 30, 58, 0, 209, 86, 174, 0, 144, 63, 169, 0, 166, 195, 197, 0, 173, 248, 179, 0, 173, 231, 184, 0, 98, 32, 145, 0, 2, 84, 103, 0, 8, 67, 209, 0, \ +2, 204, 223, 0, 9, 15, 169, 0, 148, 246, 151, 0, 207, 12, 144, 0, 107, 218, 60, 0, 24, 193, 232, 0, 107, 76, 134, 0, 228, 240, 143, 0, 81, 247, 135, 0, 130, 250, 130, 0, 86, 94, 175, 0, 9, 52, 232, 0, 234, 218, 198, 0, 57, 37, 119, 0, 67, 183, 133, 0, 108, 76, 242, 0, 55, 31, 130, 0, 84, 200, 120, 0, 54, 70, 69, 0, 133, 82, 122, 0, 129, 47, 38, 0, 50, 223, 145, 0, 22, 206, 203, 0, 1, 179, 93, 0, 108, 104, 21, 0, 25, 236, 120, 0, 22, 6, 183, 0, 167, 162, 59, 0, 221, 5, 236, 0, 43, 154, 137, 0, 184, 1, 85, 0, 246, 91, 165, 0, 40, 12, 49, 0, 247, 44, 247, 0, 173, 249, 140, 0, 163, 231, 3, 0, 212, 25, 232, 0, 22, 191, 236, 0, 223, 95, 97, 0, 95, 243, 193, 0, 165, 19, 28, 0, 109, 82, 26, 0, 69, 36, 27, 0, 187, 87, 117, 0, 254, 99, 110, 0, 138, 202, 159, 0, 184, 32, 176, 0, 67, 175, 164, 0, 100, 55, 93, 0, 158, 218, 35, 0, 238, 11, 54, 0, 228, 228, 177, 0, 235, 62, 225, 0, 182, 186, 86, 0, 181, 7, 33, 0, 169, 179, 194, 0, 216, 56, 75, 0, 31, 13, 21, 0, 216, 238, 47, 0, 143, 194, 48, 0, 29, 85, 91, 0, 251, 36, 91, 0, 196, 9, 159, 0, 250, 62, 120, 0, 213, 189, 76, 0, 138, 249, 124, 0, 112, 175, 216, 0, 96, 187, 120, 0, 47, 195, 99, 0, 199, 17, 250, 0, 4, 75, 59, 0, 131, 91, 59, 0, 33, 104, 181, 0, 207, 87, 40, 0, 128, 130, 44, 0, 131, 207, 88, 0, 133, 2, 60, 0, 223, 68, 201, 0, 156, 76, 96, 0, 62, 34, 149, 0, 105, 6, 75, 0, 139, 254, 38, 0, 63, 197, 247, 0, 1, 81, 168, 0, 241, 243, 62, 0, 159, 208, 119, 0, 26, 57, 197, 0, 160, 245, 152, 0, 146, 5, 66, 0, 40, 251, 158, 0, 7, 210, 126, 0, 2, 128, 59, 0, 252, 74, 190, 0, 171, 71, 224, 0, 13, 224, 220, 0, 10, 218, 73, 0, 17, 89, 32, 0, 31, 183, 164, 0, 177, 55, 122, 0, 20, 39, 115, 0, 79, 68, 5, 0, 52, 173, 49, 0, 207, 30, 155, 0, 228, 151, 147, 0, 25, 226, 164, 0, 38, 38, 167, 0, 86, 241, 151, 0, 121, 30, 72, 0, 84, 121, 10, 0, 240, 138, 172, 0, 130, 227, 147, 0, 193, 45, 185, 0, 128, 224, 67, 0, 170, 171, 4, 0, 128, 140, 93, 0, 242, 227, 232, 0, 54, 116, 103, 0, 58, 157, 45, 0, 33, 210, 76, 0, 152, 144, 6, 0, 141, 120, 238, 0, 251, 60, 119, 0, 26, 85, 89, 0, 79, 220, 102, 0, 182, 106, 42, 0, 79, 39, 71, 0, 165, 119, 211, 0, 118, 27, 141, 0, 254, 139, 47, 0, 153, 129, 27, 0, 8, 184, 166, 0, 135, 161, 45, 0, 119, 120, 81, 0, 58, 66, 222, 0, 168, 24, 82, 0, 231, 32, 18, 0, 144, 70, 0, 0, 113, 221, 46, 0, 111, 126, 198, 0, 58, 61, 83, 0, 121, 219, 60, 0, 126, 233, 5, 0, 178, 248, 228, 0, 244, 77, 61, 0, 72, 244, 67, 0, 236, 153, 117, 0, 9, 80, 122, 0, 28, 173, 0, 0, 48, 73, 125, 0, 97, 37, 59, 0, 219, 124, 54, 0, 36, 236, 210, 0, 71, 142, 60, 0, 233, 15, 55, 0, 86, 28, 24, 0, 76, 199, 24, 0, 68, 79, 113, 0, 57, 44, 145, 0, 107, 231, 42, 0, 11, 33, 228, 0, 140, 199, 105, 0, 40, 185, 230, 0, 98, 170, 251, 0, 167, 213, 174, 0, 53, 113, 89, 0, 216, 199, 209, 0, 85, 46, 149, 0, 180, 224, 246, 0, 163, 75, 132, 0, 46, 129, 136, 0, 5, 101, 23, 0, 178, 129, 59, 0, 106, 174, 100, 0, 230, 52, 20, 0, 23, 195, 118, 0, 207, 165, 69, 0, 34, 50, 90, 0, 195, 0, 224, 0, 117, 202, 69, 0, 186, 129, 254, 0, 1, 231, 30, 0, 236, 87, 60, 0, 164, 70, 142, 0, 196, 176, 176, 0, 156, 26, 124, 0, 110, 250, 142, 0, 94, 215, 125, 0, 108, 3, 47, 0, 25, 61, 135, 0, 113, 53, 227, 0, 133, 12, 61, 0, 39, 98, 28, 0, 108, 228, 143, 0, 253, 101, 167, 0, 107, 16, 105, 0, 38, 112, 125, 0, 60, 9, 32, 0, 168, 211, 93, 0, 106, 4, 53, 0, 166, 77, 185, 0, 111, 230, 50, 0, 149, 40, 249, 0, 103, 204, 129, 0, 203, 60, 60, 0, 135, 205, 198, 0, 56, 54, 122, 0, 194, 228, 135, 0, 171, 58, 195, 0, 113, 28, 168, 0, 166, 86, 94, 0, 203, 125, 208, 0, 163, 68, 252, 0, 173, 38, 182, 0, 84, 200, 119, 0, 143, 18, 85, 0, 196, 223, 26, 0, 145, 10, 119, 0, 206, 66, 116, 0, 83, 7, 132, 0, 73, 14, 61, 0, 236, 136, 89, 0, 117, 244, 207, 0, 76, 219, 156, 0, 103, 22, 24, 0, \ +140, 160, 104, 0, 181, 156, 14, 0, 73, 203, 40, 0, 32, 240, 177, 0, 183, 0, 106, 0, 45, 151, 78, 0, 210, 210, 6, 0, 60, 212, 10, 0, 140, 152, 12, 0, 195, 82, 113, 0, 114, 197, 210, 0, 139, 28, 46, 0, 108, 167, 42, 0, 4, 45, 26, 0, 164, 245, 180, 0, 244, 74, 102, 0, 220, 172, 192, 0, 20, 157, 218, 0, 173, 195, 17, 0, 80, 42, 5, 0, 52, 107, 190, 0, 65, 18, 161, 0, 69, 138, 47, 0, 239, 142, 101, 0, 58, 59, 60, 0, 236, 93, 69, 0, 17, 179, 35, 0, 37, 142, 55, 0, 64, 242, 172, 0, 24, 149, 190, 0, 127, 140, 68, 0, 19, 55, 17, 0, 144, 151, 79, 0, 83, 132, 137, 0, 160, 165, 235, 0, 109, 186, 146, 0, 233, 116, 182, 0, 157, 45, 162, 0, 115, 42, 178, 0, 208, 24, 15, 0, 244, 225, 30, 0, 156, 107, 207, 0, 96, 41, 79, 0, 194, 161, 151, 0, 124, 21, 210, 0, 13, 61, 244, 0, 184, 102, 185, 0, 116, 241, 117, 0, 18, 218, 88, 0, 70, 180, 101, 0, 97, 73, 187, 0, 226, 101, 174, 0, 240, 185, 14, 0, 25, 76, 153, 0, 85, 51, 149, 0, 92, 223, 246, 0, 164, 206, 61, 0, 41, 42, 191, 0, 108, 81, 107, 0, 75, 123, 29, 0, 93, 30, 32, 0, 0, 58, 158, 0, 154, 160, 15, 0, 50, 227, 40, 0, 33, 95, 83, 0, 86, 17, 198, 0, 72, 76, 119, 0, 193, 195, 156, 0, 99, 26, 138, 0, 127, 219, 164, 0, 72, 54, 6, 0, 8, 98, 179, 0, 252, 222, 153, 0, 43, 130, 2, 0, 140, 104, 225, 0, 187, 243, 224, 0, 208, 2, 11, 0, 234, 117, 97, 0, 137, 170, 86, 0, 75, 163, 187, 0, 23, 250, 99, 0, 188, 224, 174, 0, 114, 215, 199, 0, 63, 56, 248, 0, 14, 211, 41, 0, 247, 98, 177, 0, 15, 141, 78, 0, 25, 129, 60, 0, 217, 56, 81, 0, 129, 201, 206, 0, 88, 235, 101, 0, 47, 205, 97, 0, 131, 197, 77, 0, 94, 76, 244, 0, 225, 25, 51, 0, 141, 197, 128, 0, 120, 120, 194, 0, 114, 233, 45, 0, 147, 157, 159, 0, 7, 200, 199, 0, 107, 90, 219, 0, 92, 230, 73, 0, 253, 86, 81, 0, 41, 72, 140, 0, 74, 184, 140, 0, 183, 244, 188, 0, 28, 254, 139, 0, 97, 190, 214, 0, 248, 129, 223, 0, 50, 200, 100, 0, 229, 42, 119, 0, 16, 134, 196, 0, 149, 165, 189, 0, 51, 165, 119, 0, 201, 28, 102, 0, 86, 26, 123, 0, 143, 249, 232, 0, 138, 133, 21, 0, 70, 252, 241, 0, 134, 156, 244, 0, 125, 55, 123, 0, 99, 228, 97, 0, 162, 149, 202, 0, 150, 162, 124, 0, 20, 166, 119, 0, 37, 141, 41, 0, 170, 172, 136, 0, 83, 175, 208, 0, 18, 217, 165, 0, 42, 187, 60, 0, 104, 66, 221, 0, 82, 50, 238, 0, 187, 253, 143, 0, 78, 72, 148, 0, 228, 69, 246, 0, 253, 235, 91, 0, 116, 117, 78, 0, 87, 124, 83, 0, 68, 22, 86, 0, 84, 17, 171, 0, 8, 64, 194, 0, 89, 68, 246, 0, 77, 120, 129, 0, 40, 138, 59, 0, 136, 240, 96, 0, 103, 38, 127, 0, 176, 0, 103, 0, 156, 199, 119, 0, 205, 27, 180, 0, 246, 97, 135, 0, 72, 192, 73, 0, 54, 211, 32, 0, 107, 232, 133, 0, 129, 43, 223, 0, 246, 201, 188, 0, 7, 233, 12, 0, 197, 229, 42, 0, 66, 214, 82, 0, 80, 176, 181, 0, 40, 153, 238, 0, 91, 14, 81, 0, 46, 187, 146, 0, 223, 116, 200, 0, 202, 59, 92, 0, 251, 215, 79, 0, 250, 156, 52, 0, 34, 185, 222, 0, 160, 30, 204, 0, 151, 35, 186, 0, 63, 195, 67, 0, 205, 201, 20, 0, 66, 252, 96, 0, 15, 57, 78, 0, 23, 61, 204, 0, 38, 93, 196, 0, 162, 191, 175, 0, 97, 22, 85, 0, 17, 216, 60, 0, 12, 63, 250, 0, 100, 96, 72, 0, 105, 168, 191, 0, 138, 32, 35, 0, 72, 104, 136, 0, 12, 158, 91, 0, 25, 62, 139, 0, 220, 44, 181, 0, 203, 107, 76, 0, 163, 250, 125, 0, 82, 130, 207, 0, 205, 204, 186, 0, 147, 49, 11, 0, 133, 36, 31, 0, 131, 64, 105, 0, 214, 145, 109, 0, 61, 181, 244, 0, 20, 108, 207, 0, 217, 47, 61, 0, 96, 10, 138, 0, 154, 184, 161, 0, 99, 232, 155, 0, 81, 27, 174, 0, 172, 214, 67, 0, 16, 155, 166, 0, 226, 88, 186, 0, 196, 159, 165, 0, 144, 5, 182, 0, 2, 51, 77, 0, 77, 241, 127, 0, 251, 109, 72, 0, 36, 240, 237, 0, 17, 113, 199, 0, 3, 211, 82, 0, 206, 100, 119, 0, 233, 91, 219, 0, 1, 147, 215, 0, 95, 77, 114, 0, 59, 183, 108, 0, 183, 76, 57, 0, 232, 254, 200, 0, 37, 216, 146, 0, 114, 50, 213, 0, 155, 78, 27, 0, 183, 191, 100, 0, 225, 159, 46, 0, \ +242, 4, 101, 0, 229, 109, 130, 0, 130, 152, 172, 0, 130, 16, 250, 0, 140, 211, 133, 0, 131, 203, 212, 0, 54, 40, 242, 0, 40, 206, 6, 0, 104, 151, 206, 0, 53, 131, 44, 0, 226, 108, 29, 0, 188, 228, 163, 0, 251, 180, 213, 0, 180, 131, 129, 0, 143, 85, 166, 0, 113, 157, 102, 0, 33, 111, 193, 0, 6, 68, 201, 0, 112, 192, 96, 0, 220, 107, 245, 0, 10, 18, 223, 0, 80, 241, 126, 0, 165, 62, 169, 0, 57, 156, 192, 0, 208, 154, 137, 0, 110, 216, 241, 0, 193, 132, 251, 0, 175, 187, 157, 0, 172, 121, 168, 0, 223, 22, 26, 0, 115, 209, 15, 0, 87, 139, 253, 0, 110, 74, 236, 0, 3, 147, 251, 0, 149, 144, 67, 0, 84, 51, 230, 0, 206, 236, 79, 0, 110, 61, 144, 0, 161, 133, 198, 0, 249, 74, 191, 0, 50, 169, 223, 0, 143, 56, 54, 0, 178, 221, 225, 0, 136, 113, 223, 0, 19, 155, 90, 0, 67, 250, 166, 0, 226, 84, 124, 0, 235, 173, 194, 0, 201, 197, 157, 0, 95, 42, 95, 0, 185, 69, 229, 0, 40, 185, 167, 0, 66, 98, 198, 0, 8, 28, 170, 0, 138, 249, 66, 0, 85, 146, 109, 0, 163, 168, 18, 0, 103, 223, 85, 0, 183, 165, 13, 0, 26, 149, 43, 0, 219, 107, 168, 0, 1, 231, 87, 0, 221, 4, 251, 0, 210, 56, 242, 0, 210, 19, 42, 0, 124, 59, 168, 0, 152, 142, 83, 0, 201, 121, 194, 0, 93, 67, 164, 0, 25, 59, 171, 0, 176, 189, 26, 0, 225, 194, 90, 0, 197, 67, 210, 0, 200, 3, 205, 0, 129, 60, 136, 0, 59, 88, 20, 0, 36, 78, 5, 0, 50, 24, 185, 0, 67, 93, 252, 0, 209, 67, 90, 0, 92, 185, 122, 0, 128, 199, 118, 0, 77, 149, 192, 0, 55, 160, 21, 0, 133, 213, 138, 0, 184, 61, 101, 0, 184, 119, 141, 0, 190, 82, 111, 0, 120, 51, 58, 0, 16, 116, 53, 0, 130, 40, 189, 0, 40, 106, 136, 0, 99, 184, 103, 0, 162, 96, 26, 0, 85, 197, 112, 0, 14, 63, 218, 0, 119, 62, 87, 0, 27, 53, 235, 0, 210, 141, 146, 0, 248, 67, 81, 0, 183, 130, 70, 0, 154, 85, 78, 0, 170, 191, 61, 0, 254, 101, 169, 0, 175, 10, 57, 0, 129, 74, 168, 0, 241, 27, 1, 0, 29, 244, 41, 0, 207, 14, 3, 0, 207, 128, 30, 0, 83, 10, 97, 0, 214, 9, 205, 0, 49, 190, 218, 0, 248, 131, 28, 0, 67, 138, 38, 0, 244, 96, 59, 0, 16, 142, 23, 0, 2, 44, 115, 0, 193, 99, 26, 0, 51, 217, 126, 0, 223, 15, 249, 0, 124, 3, 106, 0, 208, 116, 157, 0, 220, 179, 205, 0, 113, 252, 106, 0, 83, 76, 12, 0, 24, 41, 91, 0, 175, 91, 59, 0, 237, 23, 188, 0, 237, 96, 38, 0, 172, 175, 122, 0, 238, 141, 217, 0, 140, 76, 13, 0, 47, 196, 6, 0, 223, 53, 222, 0, 116, 214, 142, 0, 49, 73, 147, 0, 46, 10, 172, 0, 73, 75, 36, 0, 32, 247, 112, 0, 162, 107, 54, 0, 42, 90, 169, 0, 84, 189, 73, 0, 116, 218, 211, 0, 251, 32, 15, 0, 17, 231, 82, 0, 162, 41, 4, 0, 152, 57, 229, 0, 36, 139, 176, 0, 89, 29, 145, 0, 29, 159, 157, 0, 116, 126, 169, 0, 121, 149, 127, 0, 130, 141, 205, 0, 243, 48, 202, 0, 133, 163, 150, 0, 2, 31, 74, 0, 219, 210, 117, 0, 11, 152, 79, 0, 66, 200, 21, 0, 249, 73, 121, 0, 150, 229, 248, 0, 131, 51, 0, 0, 69, 172, 110, 0, 252, 59, 165, 0, 180, 118, 170, 0, 198, 155, 55, 0, 53, 31, 215, 0, 120, 137, 174, 0, 202, 207, 252, 0, 80, 58, 229, 0, 116, 221, 179, 0, 248, 185, 34, 0, 43, 198, 226, 0, 222, 173, 240, 0, 175, 221, 146, 0, 216, 153, 143, 0, 113, 164, 118, 0, 242, 135, 23, 0, 190, 12, 223, 0, 185, 166, 232, 0, 40, 224, 10, 0, 214, 71, 218, 0, 251, 200, 85, 0, 13, 137, 233, 0, 4, 233, 146, 0, 194, 55, 70, 0, 177, 146, 103, 0, 121, 166, 181, 0, 34, 6, 203, 0, 162, 164, 176, 0, 162, 102, 3, 0, 69, 223, 19, 0, 164, 59, 91, 0, 243, 175, 205, 0, 109, 85, 133, 0, 157, 59, 52, 0, 173, 62, 240, 0, 87, 160, 33, 0, 55, 109, 173, 0, 23, 232, 202, 0, 145, 140, 170, 0, 60, 70, 218, 0, 18, 217, 215, 0, 186, 140, 89, 0, 205, 68, 30, 0, 33, 74, 138, 0, 166, 229, 144, 0, 88, 113, 82, 0, 248, 0, 146, 0, 136, 219, 12, 0, 43, 224, 253, 0, 149, 232, 152, 0, 38, 56, 38, 0, 158, 25, 18, 0, 152, 178, 132, 0, 204, 72, 165, 0, 18, 59, 76, 0, 94, 185, 116, 0, 132, 58, 159, 0, 190, 126, 206, 0, 193, 103, 70, 0, 219, 102, 59, 0, 66, 219, 105, 0, \ +235, 174, 74, 0, 168, 188, 1, 0, 205, 139, 213, 0, 30, 171, 254, 0, 207, 0, 60, 0, 188, 109, 247, 0, 238, 23, 229, 0, 91, 29, 68, 0, 105, 249, 36, 0, 78, 2, 135, 0, 209, 186, 149, 0, 162, 62, 129, 0, 94, 110, 131, 0, 85, 37, 69, 0, 18, 60, 161, 0, 196, 70, 192, 0, 203, 11, 182, 0, 114, 101, 48, 0, 67, 157, 230, 0, 131, 146, 40, 0, 87, 98, 79, 0, 130, 160, 41, 0, 4, 182, 145, 0, 199, 135, 160, 0, 85, 103, 114, 0, 242, 151, 174, 0, 186, 111, 191, 0, 26, 233, 85, 0, 186, 101, 221, 0, 207, 142, 93, 0, 123, 222, 81, 0, 173, 81, 50, 0, 160, 164, 102, 0, 146, 122, 109, 0, 221, 209, 109, 0, 126, 51, 238, 0, 36, 171, 100, 0, 16, 178, 15, 0, 21, 175, 217, 0, 206, 248, 117, 0, 199, 38, 50, 0, 201, 64, 122, 0, 14, 110, 104, 0, 251, 86, 111, 0, 218, 149, 34, 0, 132, 127, 211, 0, 60, 169, 83, 0, 83, 208, 7, 0, 175, 127, 180, 0, 57, 79, 174, 0, 246, 171, 60, 0, 133, 224, 227, 0, 82, 216, 122, 0, 49, 51, 240, 0, 47, 15, 217, 0, 212, 159, 37, 0, 79, 103, 30, 0, 152, 37, 79, 0, 55, 125, 250, 0, 10, 198, 132, 0, 82, 94, 41, 0, 234, 241, 30, 0, 242, 17, 232, 0, 74, 242, 185, 0, 38, 203, 105, 0, 163, 222, 124, 0, 33, 185, 220, 0, 159, 3, 6, 0, 166, 98, 62, 0, 154, 140, 224, 0, 157, 99, 52, 0, 3, 12, 61, 0, 118, 244, 27, 0, 187, 11, 126, 0, 203, 8, 107, 0, 73, 157, 58, 0, 72, 86, 104, 0, 108, 24, 234, 0, 238, 16, 65, 0, 125, 239, 192, 0, 73, 8, 205, 0, 151, 231, 85, 0, 162, 187, 6, 0, 52, 158, 173, 0, 82, 134, 155, 0, 52, 127, 232, 0, 196, 64, 13, 0, 130, 7, 29, 0, 172, 140, 192, 0, 12, 121, 96, 0, 199, 121, 205, 0, 68, 88, 217, 0, 150, 86, 44, 0, 223, 93, 204, 0, 27, 186, 167, 0, 109, 232, 32, 0, 80, 202, 124, 0, 145, 73, 152, 0, 253, 197, 57, 0, 233, 159, 14, 0, 67, 204, 5, 0, 120, 20, 178, 0, 212, 174, 72, 0, 160, 101, 218, 0, 108, 209, 0, 0, 0, 106, 102, 0, 134, 148, 145, 0, 216, 20, 156, 0, 115, 207, 52, 0, 23, 149, 57, 0, 168, 172, 11, 0, 63, 230, 11, 0, 251, 159, 185, 0, 120, 150, 119, 0, 248, 167, 77, 0, 30, 116, 206, 0, 160, 12, 119, 0, 228, 122, 169, 0, 235, 65, 24, 0, 162, 26, 159, 0, 28, 173, 227, 0, 228, 143, 105, 0, 94, 31, 0, 0, 10, 124, 144, 0, 40, 59, 58, 0, 213, 238, 211, 0, 171, 141, 91, 0, 246, 72, 186, 0, 143, 17, 142, 0, 70, 79, 91, 0, 74, 120, 239, 0, 2, 228, 36, 0, 57, 6, 67, 0, 22, 41, 159, 0, 208, 185, 180, 0, 228, 96, 142, 0, 5, 111, 84, 0, 170, 156, 85, 0, 80, 160, 151, 0, 163, 60, 216, 0, 55, 169, 62, 0, 45, 59, 66, 0, 228, 91, 220, 0, 156, 159, 150, 0, 234, 75, 153, 0, 41, 221, 22, 0, 210, 5, 157, 0, 139, 95, 234, 0, 127, 125, 165, 0, 18, 235, 101, 0, 4, 236, 247, 0, 242, 126, 149, 0, 222, 112, 175, 0, 254, 161, 221, 0, 140, 19, 72, 0, 121, 59, 126, 0, 10, 116, 166, 0, 77, 2, 215, 0, 205, 203, 139, 0, 128, 164, 104, 0, 149, 78, 43, 0, 23, 82, 174, 0, 35, 182, 59, 0, 78, 141, 170, 0, 241, 98, 204, 0, 106, 147, 250, 0, 40, 107, 77, 0, 193, 202, 200, 0, 84, 146, 68, 0, 120, 158, 224, 0, 133, 170, 136, 0, 103, 6, 157, 0, 57, 240, 236, 0, 1, 16, 55, 0, 110, 77, 116, 0, 199, 164, 151, 0, 177, 217, 186, 0, 160, 242, 60, 0, 176, 83, 105, 0, 206, 113, 162, 0, 99, 91, 8, 0, 126, 140, 205, 0, 83, 198, 222, 0, 223, 201, 231, 0, 140, 163, 248, 0, 180, 142, 69, 0, 248, 185, 86, 0, 60, 42, 155, 0, 89, 6, 27, 0, 3, 150, 70, 0, 54, 220, 127, 0, 85, 182, 87, 0, 72, 162, 207, 0, 210, 52, 80, 0, 125, 34, 59, 0, 13, 205, 26, 0, 245, 15, 49, 0, 45, 13, 161, 0, 140, 201, 158, 0, 47, 83, 17, 0, 79, 198, 144, 0, 99, 105, 205, 0, 189, 160, 163, 0, 237, 156, 11, 0, 3, 247, 122, 0, 100, 164, 20, 0, 1, 191, 188, 0, 108, 118, 252, 0, 105, 212, 117, 0, 227, 73, 34, 0, 248, 163, 178, 0, 82, 40, 26, 0, 0, 197, 91, 0, 225, 45, 122, 0, 166, 249, 217, 0, 32, 57, 53, 0, 163, 85, 2, 0, 209, 149, 160, 0, 226, 217, 147, 0, 251, 15, 216, 0, 182, 118, 174, 0, 176, 89, 45, 0, 162, 91, 81, 0, 10, 217, 238, 0, \ +216, 190, 201, 0, 151, 104, 210, 0, 94, 211, 75, 0, 46, 37, 242, 0, 155, 30, 31, 0, 86, 141, 95, 0, 158, 198, 39, 0, 104, 41, 60, 0, 83, 166, 4, 0, 123, 101, 60, 0, 51, 67, 230, 0, 14, 118, 252, 0, 214, 240, 198, 0, 175, 126, 82, 0, 215, 180, 31, 0, 19, 209, 191, 0, 249, 0, 133, 0, 122, 206, 249, 0, 156, 108, 138, 0, 238, 57, 12, 0, 113, 154, 115, 0, 142, 251, 172, 0, 156, 122, 205, 0, 25, 3, 86, 0, 189, 155, 130, 0, 246, 228, 103, 0, 193, 1, 103, 0, 144, 114, 219, 0, 238, 37, 146, 0, 203, 118, 58, 0, 184, 182, 174, 0, 172, 245, 200, 0, 190, 190, 238, 0, 148, 234, 230, 0, 206, 113, 156, 0, 93, 100, 8, 0, 93, 152, 136, 0, 65, 0, 81, 0, 247, 157, 27, 0, 49, 23, 224, 0, 139, 151, 3, 0, 246, 137, 192, 0, 132, 112, 11, 0, 44, 59, 155, 0, 203, 119, 167, 0, 15, 232, 151, 0, 105, 25, 163, 0, 89, 23, 55, 0, 233, 52, 238, 0, 12, 159, 39, 0, 2, 83, 187, 0, 109, 162, 220, 0, 103, 71, 121, 0, 199, 153, 197, 0, 63, 99, 192, 0, 187, 189, 154, 0, 118, 137, 194, 0, 92, 68, 22, 0, 254, 143, 70, 0, 48, 113, 41, 0, 202, 21, 78, 0, 168, 124, 55, 0, 209, 175, 124, 0, 110, 246, 134, 0, 79, 83, 217, 0, 35, 113, 129, 0, 45, 60, 162, 0, 244, 119, 2, 0, 45, 201, 223, 0, 55, 178, 44, 0, 206, 212, 159, 0, 233, 88, 13, 0, 16, 145, 79, 0, 151, 11, 174, 0, 82, 42, 236, 0, 149, 19, 162, 0, 170, 51, 12, 0, 87, 20, 62, 0, 127, 119, 144, 0, 167, 132, 70, 0, 129, 226, 223, 0, 68, 144, 168, 0, 44, 5, 164, 0, 189, 18, 248, 0, 127, 182, 95, 0, 107, 5, 30, 0, 50, 68, 110, 0, 102, 166, 183, 0, 221, 189, 173, 0, 110, 162, 114, 0, 112, 25, 203, 0, 81, 5, 54, 0, 212, 32, 98, 0, 102, 84, 70, 0, 73, 35, 198, 0, 149, 99, 21, 0, 129, 168, 10, 0, 202, 123, 73, 0, 138, 239, 211, 0, 18, 115, 150, 0, 138, 199, 86, 0, 236, 44, 77, 0, 139, 226, 89, 0, 250, 18, 159, 0, 219, 136, 18, 0, 166, 225, 227, 0, 119, 110, 114, 0, 219, 55, 249, 0, 243, 161, 226, 0, 129, 36, 87, 0, 202, 121, 16, 0, 84, 213, 204, 0, 227, 162, 134, 0, 169, 94, 15, 0, 142, 51, 171, 0, 85, 89, 103, 0, 183, 211, 136, 0, 221, 109, 77, 0, 11, 19, 142, 0, 198, 204, 78, 0, 136, 144, 103, 0, 7, 152, 96, 0, 134, 214, 30, 0, 227, 184, 43, 0, 21, 137, 9, 0, 132, 38, 116, 0, 19, 25, 137, 0, 140, 247, 91, 0, 184, 243, 132, 0, 173, 117, 235, 0, 112, 244, 23, 0, 111, 82, 156, 0, 166, 120, 250, 0, 57, 61, 34, 0, 25, 106, 16, 0, 171, 207, 247, 0, 8, 108, 173, 0, 197, 179, 31, 0, 23, 57, 62, 0, 120, 172, 250, 0, 239, 41, 93, 0, 128, 211, 55, 0, 247, 224, 149, 0, 6, 116, 38, 0, 211, 240, 182, 0, 89, 44, 212, 0, 201, 185, 181, 0, 66, 55, 161, 0, 46, 133, 186, 0, 139, 81, 14, 0, 220, 204, 40, 0, 38, 250, 38, 0, 203, 74, 225, 0, 228, 62, 224, 0, 237, 111, 63, 0, 60, 138, 190, 0, 225, 57, 124, 0, 15, 66, 18, 0, 76, 122, 159, 0, 168, 174, 191, 0, 173, 47, 119, 0, 245, 60, 134, 0, 87, 83, 32, 0, 205, 156, 48, 0, 243, 224, 93, 0, 84, 146, 47, 0, 9, 195, 156, 0, 241, 69, 253, 0, 33, 14, 44, 0, 223, 83, 21, 0, 108, 87, 183, 0, 47, 82, 223, 0, 105, 100, 179, 0, 43, 213, 207, 0, 222, 172, 91, 0, 84, 19, 230, 0, 206, 86, 73, 0, 76, 222, 141, 0, 206, 59, 31, 0, 12, 24, 187, 0, 141, 238, 186, 0, 233, 61, 214, 0, 47, 66, 150, 0, 209, 187, 4, 0, 32, 152, 254, 0, 82, 139, 10, 0, 251, 229, 69, 0, 39, 149, 232, 0, 218, 204, 139, 0, 243, 17, 132, 0, 7, 51, 193, 0, 121, 187, 101, 0, 33, 161, 108, 0, 194, 219, 235, 0, 191, 130, 87, 0, 113, 32, 122, 0, 190, 51, 185, 0, 201, 196, 130, 0, 238, 63, 192, 0, 68, 88, 126, 0, 176, 21, 3, 0, 244, 121, 234, 0, 37, 60, 138, 0, 234, 223, 62, 0, 142, 1, 233, 0, 107, 24, 157, 0, 129, 242, 46, 0, 69, 47, 131, 0, 149, 149, 251, 0, 227, 76, 64, 0, 172, 92, 82, 0, 110, 131, 7, 0, 36, 190, 176, 0, 250, 89, 117, 0, 199, 197, 55, 0, 54, 17, 141, 0, 104, 136, 140, 0, 63, 186, 216, 0, 15, 33, 236, 0, 252, 64, 120, 0, 130, 247, 53, 0, 168, 25, 34, 0, 199, 252, 172, 0, 218, 218, 30, 0, \ +133, 201, 14, 0, 151, 8, 159, 0, 69, 220, 70, 0, 225, 125, 2, 0, 73, 140, 171, 0, 209, 238, 93, 0, 79, 190, 68, 0, 67, 96, 194, 0, 191, 165, 110, 0, 93, 23, 188, 0, 160, 64, 161, 0, 215, 102, 100, 0, 166, 86, 134, 0, 136, 199, 124, 0, 134, 101, 50, 0, 92, 99, 238, 0, 17, 30, 99, 0, 192, 112, 20, 0, 180, 101, 18, 0, 153, 42, 169, 0, 70, 32, 109, 0, 54, 204, 113, 0, 162, 84, 60, 0, 72, 186, 11, 0, 252, 228, 105, 0, 26, 0, 12, 0, 56, 212, 181, 0, 184, 50, 148, 0, 105, 54, 5, 0, 122, 121, 131, 0, 128, 98, 136, 0, 165, 39, 130, 0, 126, 246, 225, 0, 84, 169, 163, 0, 211, 28, 149, 0, 16, 196, 117, 0, 38, 123, 128, 0, 139, 112, 123, 0, 129, 214, 92, 0, 9, 110, 195, 0, 239, 142, 4, 0, 158, 154, 88, 0, 193, 78, 19, 0, 192, 211, 81, 0, 228, 66, 20, 0, 96, 254, 85, 0, 206, 126, 70, 0, 107, 87, 104, 0, 17, 105, 37, 0, 39, 191, 213, 0, 105, 14, 239, 0, 94, 211, 172, 0, 66, 69, 155, 0, 243, 94, 212, 0, 68, 175, 166, 0, 77, 150, 42, 0, 15, 99, 160, 0, 224, 138, 104, 0, 18, 216, 181, 0, 178, 62, 58, 0, 188, 9, 66, 0, 91, 243, 5, 0, 95, 85, 250, 0, 164, 58, 211, 0, 50, 86, 185, 0, 184, 164, 229, 0, 46, 165, 97, 0, 110, 187, 145, 0, 5, 232, 194, 0, 7, 90, 202, 0, 215, 48, 179, 0, 212, 167, 58, 0, 48, 98, 46, 0, 14, 43, 242, 0, 72, 157, 200, 0, 91, 129, 218, 0, 77, 17, 246, 0, 166, 158, 213, 0, 53, 208, 28, 0, 108, 182, 191, 0, 181, 51, 241, 0, 234, 244, 69, 0, 101, 204, 185, 0, 160, 188, 81, 0, 103, 193, 110, 0, 144, 251, 195, 0, 166, 172, 35, 0, 226, 11, 191, 0, 2, 243, 71, 0, 4, 205, 101, 0, 211, 134, 14, 0, 245, 203, 68, 0, 193, 117, 19, 0, 107, 234, 32, 0, 11, 147, 39, 0, 187, 107, 244, 0, 170, 178, 220, 0, 180, 203, 230, 0, 34, 51, 83, 0, 240, 106, 134, 0, 123, 246, 181, 0, 72, 26, 251, 0, 151, 135, 34, 0, 112, 127, 142, 0, 21, 144, 100, 0, 140, 212, 46, 0, 159, 5, 94, 0, 0, 149, 178, 0, 228, 104, 17, 0, 79, 185, 47, 0, 82, 23, 105, 0, 95, 116, 8, 0, 44, 113, 43, 0, 70, 200, 149, 0, 64, 55, 220, 0, 108, 107, 53, 0, 226, 103, 96, 0, 156, 158, 60, 0, 111, 99, 201, 0, 130, 89, 97, 0, 100, 66, 153, 0, 166, 226, 251, 0, 35, 88, 183, 0, 223, 64, 206, 0, 84, 167, 57, 0, 55, 122, 16, 0, 154, 198, 192, 0, 243, 164, 46, 0, 150, 145, 37, 0, 10, 200, 141, 0, 181, 0, 98, 0, 237, 241, 191, 0, 169, 63, 215, 0, 235, 55, 77, 0, 104, 125, 96, 0, 126, 246, 36, 0, 133, 133, 101, 0, 188, 33, 27, 0, 58, 140, 252, 0, 40, 68, 33, 0, 42, 126, 149, 0, 209, 24, 215, 0, 91, 184, 6, 0, 172, 157, 58, 0, 26, 14, 130, 0, 40, 144, 50, 0, 174, 65, 0, 0, 190, 92, 75, 0, 145, 117, 186, 0, 234, 204, 111, 0, 5, 14, 179, 0, 54, 131, 173, 0, 25, 165, 123, 0, 64, 70, 60, 0, 219, 54, 228, 0, 161, 85, 119, 0, 105, 175, 17, 0, 189, 125, 225, 0, 235, 77, 245, 0, 106, 77, 242, 0, 241, 155, 243, 0, 92, 181, 129, 0, 222, 45, 1, 0, 201, 39, 164, 0, 130, 96, 154, 0, 40, 73, 175, 0, 168, 136, 119, 0, 179, 233, 122, 0, 103, 236, 9, 0, 168, 254, 137, 0, 93, 140, 106, 0, 58, 211, 79, 0, 78, 22, 234, 0, 254, 67, 56, 0, 226, 16, 226, 0, 72, 198, 106, 0, 147, 223, 63, 0, 185, 123, 135, 0, 168, 82, 126, 0, 113, 125, 232, 0, 33, 52, 63, 0, 175, 192, 86, 0, 214, 29, 1, 0, 101, 166, 150, 0, 111, 6, 94, 0, 199, 63, 96, 0, 183, 71, 26, 0, 71, 133, 121, 0, 133, 35, 62, 0, 8, 221, 139, 0, 158, 215, 208, 0, 63, 179, 89, 0, 41, 49, 135, 0, 108, 196, 174, 0, 64, 128, 215, 0, 202, 17, 40, 0, 96, 66, 28, 0, 43, 137, 49, 0, 188, 167, 140, 0, 202, 126, 114, 0, 227, 249, 54, 0, 42, 80, 168, 0, 194, 77, 54, 0, 19, 86, 55, 0, 94, 35, 155, 0, 177, 138, 18, 0, 62, 172, 0, 0, 150, 35, 13, 0, 193, 165, 37, 0, 229, 47, 159, 0, 22, 99, 161, 0, 147, 112, 139, 0, 250, 14, 215, 0, 245, 187, 80, 0, 104, 242, 200, 0, 53, 181, 178, 0, 103, 56, 55, 0, 80, 202, 26, 0, 249, 201, 28, 0, 42, 13, 180, 0, 237, 66, 246, 0, 85, 226, 105, 0, 181, 200, 72, 0, 180, 84, 199, 0, \ +103, 229, 110, 0, 84, 55, 133, 0, 106, 189, 185, 0, 133, 110, 75, 0, 73, 132, 148, 0, 73, 76, 253, 0, 233, 191, 104, 0, 208, 201, 161, 0, 38, 208, 81, 0, 157, 55, 139, 0, 218, 103, 81, 0, 186, 172, 177, 0, 28, 221, 57, 0, 252, 18, 240, 0, 3, 99, 241, 0, 235, 151, 199, 0, 186, 148, 9, 0, 160, 108, 107, 0, 141, 129, 91, 0, 197, 84, 80, 0, 4, 190, 20, 0, 92, 111, 155, 0, 106, 54, 169, 0, 200, 227, 168, 0, 179, 72, 198, 0, 243, 154, 243, 0, 127, 118, 149, 0, 91, 217, 26, 0, 75, 61, 188, 0, 252, 213, 112, 0, 227, 60, 0, 0, 194, 96, 3, 0, 230, 48, 151, 0, 169, 135, 195, 0, 124, 238, 223, 0, 101, 207, 115, 0, 48, 151, 146, 0, 45, 60, 177, 0, 248, 92, 7, 0, 43, 11, 70, 0, 151, 26, 164, 0, 62, 68, 95, 0, 44, 87, 114, 0, 97, 36, 2, 0, 178, 217, 155, 0, 81, 22, 217, 0, 154, 80, 167, 0, 12, 225, 90, 0, 221, 254, 51, 0, 141, 114, 65, 0, 145, 105, 25, 0, 86, 12, 194, 0, 67, 175, 242, 0, 51, 77, 26, 0, 130, 15, 196, 0, 76, 118, 244, 0, 124, 231, 189, 0, 39, 227, 22, 0, 101, 84, 154, 0, 143, 94, 206, 0, 213, 187, 175, 0, 243, 106, 3, 0, 152, 246, 144, 0, 71, 57, 71, 0, 221, 51, 229, 0, 222, 230, 110, 0, 45, 45, 219, 0, 180, 207, 98, 0, 236, 92, 25, 0, 195, 27, 218, 0, 40, 129, 116, 0, 60, 244, 125, 0, 193, 213, 181, 0, 71, 80, 49, 0, 88, 119, 151, 0, 196, 145, 198, 0, 119, 181, 142, 0, 81, 217, 114, 0, 209, 167, 196, 0, 35, 25, 105, 0, 239, 95, 164, 0, 230, 114, 210, 0, 183, 62, 240, 0, 235, 93, 14, 0, 186, 3, 118, 0, 193, 134, 142, 0, 57, 7, 73, 0, 118, 81, 179, 0, 118, 235, 206, 0, 159, 108, 207, 0, 34, 171, 4, 0, 201, 221, 207, 0, 179, 81, 116, 0, 56, 117, 114, 0, 99, 60, 54, 0, 168, 8, 183, 0, 3, 83, 242, 0, 190, 102, 76, 0, 34, 85, 57, 0, 216, 54, 170, 0, 150, 96, 7, 0, 103, 252, 223, 0, 188, 181, 8, 0, 30, 37, 42, 0, 172, 154, 76, 0, 87, 178, 21, 0, 73, 44, 186, 0, 28, 27, 57, 0, 105, 208, 61, 0, 3, 194, 89, 0, 114, 217, 92, 0, 50, 71, 69, 0, 10, 93, 151, 0, 124, 231, 189, 0, 111, 59, 74, 0, 90, 82, 152, 0, 147, 142, 129, 0, 236, 208, 44, 0, 133, 197, 156, 0, 240, 29, 73, 0, 103, 45, 121, 0, 161, 46, 128, 0, 156, 113, 87, 0, 4, 88, 55, 0, 71, 84, 25, 0, 241, 49, 121, 0, 206, 62, 46, 0, 92, 4, 137, 0, 49, 80, 150, 0, 49, 65, 3, 0, 37, 234, 37, 0, 209, 195, 172, 0, 182, 75, 95, 0, 202, 146, 80, 0, 23, 230, 237, 0, 136, 244, 28, 0, 151, 155, 153, 0, 207, 70, 17, 0, 128, 243, 179, 0, 90, 140, 250, 0, 214, 62, 219, 0, 210, 187, 30, 0, 129, 171, 25, 0, 220, 22, 146, 0, 209, 234, 15, 0, 174, 187, 164, 0, 12, 5, 113, 0, 68, 67, 115, 0, 58, 204, 42, 0, 179, 226, 66, 0, 232, 227, 58, 0, 216, 144, 108, 0, 103, 143, 106, 0, 31, 36, 114, 0, 153, 173, 215, 0, 32, 112, 194, 0, 247, 114, 116, 0, 233, 76, 166, 0, 76, 241, 211, 0, 131, 32, 30, 0, 130, 243, 188, 0, 203, 248, 131, 0, 97, 85, 3, 0, 96, 79, 138, 0, 233, 184, 55, 0, 245, 133, 33, 0, 98, 232, 25, 0, 215, 114, 185, 0, 150, 111, 21, 0, 93, 253, 127, 0, 72, 15, 41, 0, 150, 142, 107, 0, 52, 214, 84, 0, 97, 205, 195, 0, 180, 5, 232, 0, 149, 133, 153, 0, 215, 221, 2, 0, 112, 222, 91, 0, 137, 163, 224, 0, 61, 198, 136, 0, 113, 24, 38, 0, 69, 219, 85, 0, 211, 63, 235, 0, 220, 118, 136, 0, 65, 32, 134, 0, 24, 84, 244, 0, 190, 236, 154, 0, 167, 183, 7, 0, 202, 252, 211, 0, 2, 81, 82, 0, 229, 87, 56, 0, 194, 87, 90, 0, 100, 72, 137, 0, 84, 105, 88, 0, 209, 198, 155, 0, 248, 69, 109, 0, 96, 128, 12, 0, 144, 204, 60, 0, 16, 86, 207, 0, 159, 170, 17, 0, 2, 231, 228, 0, 183, 215, 249, 0, 183, 158, 207, 0, 186, 53, 176, 0, 239, 98, 205, 0, 135, 157, 222, 0, 195, 248, 154, 0, 87, 64, 185, 0, 241, 182, 175, 0, 34, 28, 168, 0, 238, 142, 247, 0, 249, 144, 115, 0, 156, 25, 83, 0, 216, 40, 183, 0, 6, 250, 124, 0, 111, 9, 237, 0, 74, 197, 34, 0, 119, 96, 99, 0, 181, 213, 115, 0, 172, 141, 32, 0, 0, 77, 134, 0, 237, 15, 249, 0, 155, 82, 120, 0, 58, 95, 67, 0, \ +148, 110, 94, 0, 230, 240, 223, 0, 123, 42, 66, 0, 153, 44, 68, 0, 153, 237, 30, 0, 234, 250, 90, 0, 253, 240, 235, 0, 194, 11, 48, 0, 162, 120, 64, 0, 107, 174, 52, 0, 175, 59, 41, 0, 39, 9, 240, 0, 190, 6, 173, 0, 89, 227, 23, 0, 232, 204, 229, 0, 143, 67, 123, 0, 42, 88, 72, 0, 92, 227, 28, 0, 185, 160, 183, 0, 160, 5, 94, 0, 20, 149, 9, 0, 21, 78, 46, 0, 117, 211, 21, 0, 245, 172, 134, 0, 171, 166, 169, 0, 172, 94, 107, 0, 247, 246, 152, 0, 5, 121, 118, 0, 176, 190, 142, 0, 25, 40, 166, 0, 217, 191, 237, 0, 84, 106, 10, 0, 148, 122, 185, 0, 206, 223, 201, 0, 223, 122, 231, 0, 83, 195, 213, 0, 84, 243, 66, 0, 124, 198, 105, 0, 216, 191, 246, 0, 187, 116, 252, 0, 184, 3, 110, 0, 13, 52, 252, 0, 27, 65, 210, 0, 196, 65, 224, 0, 178, 152, 111, 0, 198, 215, 233, 0, 127, 165, 97, 0, 134, 214, 197, 0, 130, 105, 86, 0, 48, 90, 103, 0, 217, 103, 27, 0, 140, 232, 91, 0, 24, 188, 93, 0, 211, 58, 111, 0, 89, 59, 60, 0, 221, 159, 213, 0, 191, 238, 40, 0, 87, 178, 160, 0, 115, 210, 33, 0, 210, 2, 159, 0, 34, 195, 132, 0, 97, 158, 8, 0, 131, 122, 23, 0, 121, 183, 0, 0, 95, 75, 247, 0, 160, 80, 94, 0, 48, 10, 48, 0, 178, 196, 139, 0, 176, 195, 58, 0, 53, 194, 61, 0, 32, 161, 162, 0, 37, 192, 68, 0, 169, 221, 221, 0, 167, 88, 165, 0, 178, 149, 187, 0, 204, 214, 51, 0, 180, 111, 36, 0, 128, 228, 143, 0, 158, 136, 56, 0, 170, 72, 159, 0, 167, 160, 218, 0, 16, 212, 49, 0, 244, 211, 112, 0, 144, 213, 207, 0, 98, 72, 61, 0, 125, 64, 123, 0, 23, 18, 65, 0, 101, 156, 228, 0, 150, 104, 199, 0, 253, 85, 213, 0, 194, 129, 22, 0, 4, 187, 232, 0, 102, 95, 201, 0, 114, 183, 44, 0, 44, 157, 110, 0, 158, 211, 241, 0, 136, 175, 186, 0, 157, 3, 188, 0, 178, 188, 18, 0, 87, 60, 110, 0, 133, 199, 133, 0, 149, 88, 29, 0, 140, 190, 194, 0, 55, 169, 167, 0, 125, 55, 108, 0, 115, 126, 9, 0, 167, 159, 177, 0, 241, 173, 117, 0, 160, 1, 191, 0, 237, 181, 253, 0, 72, 12, 232, 0, 214, 21, 203, 0, 15, 110, 110, 0, 47, 59, 174, 0, 103, 18, 249, 0, 70, 143, 194, 0, 40, 23, 197, 0, 145, 170, 155, 0, 160, 97, 166, 0, 15, 160, 177, 0, 46, 231, 11, 0, 82, 7, 67, 0, 73, 199, 227, 0, 200, 51, 97, 0, 14, 7, 90, 0, 93, 188, 81, 0, 226, 148, 2, 0, 44, 154, 204, 0, 205, 166, 139, 0, 187, 212, 20, 0, 40, 107, 23, 0, 103, 74, 225, 0, 53, 86, 103, 0, 54, 141, 251, 0, 69, 172, 8, 0, 81, 53, 78, 0, 154, 132, 18, 0, 196, 224, 173, 0, 155, 108, 63, 0, 103, 0, 150, 0, 120, 77, 210, 0, 5, 50, 57, 0, 31, 239, 96, 0, 152, 133, 60, 0, 68, 102, 63, 0, 41, 139, 208, 0, 165, 74, 7, 0, 88, 48, 246, 0, 12, 172, 136, 0, 97, 174, 4, 0, 167, 45, 225, 0, 59, 248, 169, 0, 244, 163, 85, 0, 22, 122, 103, 0, 168, 46, 113, 0, 104, 35, 51, 0, 98, 111, 109, 0, 54, 206, 109, 0, 116, 16, 116, 0, 253, 141, 218, 0, 25, 127, 17, 0, 216, 209, 55, 0, 103, 158, 175, 0, 105, 101, 44, 0, 128, 134, 23, 0, 197, 134, 67, 0, 224, 181, 188, 0, 202, 248, 91, 0, 23, 191, 191, 0, 174, 20, 188, 0, 239, 102, 64, 0, 72, 184, 13, 0, 26, 83, 246, 0, 140, 135, 2, 0, 224, 13, 224, 0, 67, 116, 26, 0, 74, 81, 239, 0, 105, 120, 0, 0, 82, 84, 167, 0, 54, 91, 254, 0, 214, 105, 141, 0, 158, 153, 95, 0, 198, 45, 217, 0, 192, 43, 168, 0, 172, 207, 141, 0, 11, 81, 138, 0, 148, 72, 63, 0, 21, 40, 194, 0, 245, 126, 75, 0, 154, 96, 71, 0, 114, 242, 177, 0, 146, 238, 114, 0, 90, 167, 230, 0, 189, 44, 86, 0, 79, 64, 149, 0, 61, 136, 31, 0, 109, 130, 7, 0, 163, 248, 36, 0, 193, 151, 53, 0, 24, 136, 47, 0, 11, 49, 128, 0, 157, 27, 78, 0, 171, 57, 189, 0, 130, 230, 3, 0, 223, 243, 75, 0, 77, 20, 248, 0, 253, 15, 130, 0, 227, 3, 15, 0, 13, 30, 47, 0, 250, 95, 126, 0, 186, 103, 157, 0, 114, 181, 150, 0, 234, 107, 82, 0, 69, 102, 177, 0, 223, 100, 215, 0, 158, 186, 186, 0, 76, 83, 108, 0, 83, 130, 123, 0, 224, 210, 53, 0, 81, 181, 104, 0, 131, 233, 41, 0, 133, 168, 120, 0, 192, 22, 239, 0, 246, 125, 42, 0, \ +148, 69, 164, 0, 196, 89, 182, 0, 245, 79, 216, 0, 128, 41, 78, 0, 129, 2, 81, 0, 8, 127, 178, 0, 184, 93, 245, 0, 232, 45, 68, 0, 58, 171, 17, 0, 43, 62, 244, 0, 232, 22, 56, 0, 98, 52, 113, 0, 128, 224, 134, 0, 194, 147, 107, 0, 198, 114, 173, 0, 58, 19, 197, 0, 84, 228, 196, 0, 119, 69, 29, 0, 9, 17, 117, 0, 101, 186, 74, 0, 119, 160, 204, 0, 18, 132, 71, 0, 171, 69, 199, 0, 232, 128, 53, 0, 72, 220, 251, 0, 199, 49, 174, 0, 121, 113, 58, 0, 32, 64, 87, 0, 16, 66, 151, 0, 243, 94, 99, 0, 223, 164, 209, 0, 239, 169, 120, 0, 235, 134, 122, 0, 251, 130, 47, 0, 46, 196, 19, 0, 138, 115, 18, 0, 63, 32, 204, 0, 197, 253, 38, 0, 217, 87, 229, 0, 219, 135, 145, 0, 243, 4, 110, 0, 125, 49, 137, 0, 40, 210, 249, 0, 204, 242, 49, 0, 152, 202, 169, 0, 182, 6, 162, 0, 14, 179, 175, 0, 207, 21, 66, 0, 115, 132, 221, 0, 191, 43, 214, 0, 138, 25, 42, 0, 159, 243, 238, 0, 64, 207, 140, 0, 160, 101, 231, 0, 207, 224, 188, 0, 82, 166, 164, 0, 114, 61, 97, 0, 189, 46, 6, 0, 216, 192, 192, 0, 95, 219, 23, 0, 187, 139, 194, 0, 63, 64, 130, 0, 99, 247, 147, 0, 42, 120, 114, 0, 249, 10, 221, 0, 148, 156, 67, 0, 248, 79, 235, 0, 162, 126, 98, 0, 141, 52, 77, 0, 236, 201, 228, 0, 118, 185, 35, 0, 53, 117, 52, 0, 180, 31, 248, 0, 10, 74, 227, 0, 102, 58, 118, 0, 15, 175, 73, 0, 182, 140, 130, 0, 195, 37, 135, 0, 63, 62, 142, 0, 238, 250, 168, 0, 15, 232, 227, 0, 207, 63, 215, 0, 78, 150, 142, 0, 120, 249, 194, 0, 244, 54, 160, 0, 132, 224, 160, 0, 69, 44, 122, 0, 206, 252, 254, 0, 76, 49, 194, 0, 7, 119, 206, 0, 208, 69, 230, 0, 62, 68, 14, 0, 25, 11, 100, 0, 196, 34, 170, 0, 247, 224, 241, 0, 200, 213, 11, 0, 52, 61, 180, 0, 121, 168, 216, 0, 53, 44, 120, 0, 133, 72, 232, 0, 7, 69, 83, 0, 10, 116, 246, 0, 241, 220, 172, 0, 188, 191, 85, 0, 27, 169, 202, 0, 231, 16, 251, 0, 57, 191, 118, 0, 143, 85, 40, 0, 32, 150, 220, 0, 221, 69, 97, 0, 40, 1, 112, 0, 241, 122, 11, 0, 182, 218, 155, 0, 235, 244, 14, 0, 0, 149, 103, 0, 77, 145, 62, 0, 165, 226, 60, 0, 231, 253, 48, 0, 22, 167, 234, 0, 164, 36, 53, 0, 201, 249, 174, 0, 242, 180, 5, 0, 136, 94, 251, 0, 111, 244, 176, 0, 251, 207, 213, 0, 172, 226, 120, 0, 100, 76, 156, 0, 111, 13, 118, 0, 233, 2, 254, 0, 59, 24, 121, 0, 19, 158, 120, 0, 116, 252, 223, 0, 137, 1, 98, 0, 13, 107, 17, 0, 191, 208, 113, 0, 209, 194, 233, 0, 143, 99, 254, 0, 181, 98, 26, 0, 149, 117, 167, 0, 149, 160, 18, 0, 20, 1, 7, 0, 96, 104, 123, 0, 178, 199, 223, 0, 176, 192, 77, 0, 52, 173, 87, 0, 25, 42, 24, 0, 5, 67, 102, 0, 63, 31, 171, 0, 206, 8, 144, 0, 17, 218, 54, 0, 116, 53, 144, 0, 53, 7, 129, 0, 165, 50, 114, 0, 26, 172, 52, 0, 111, 143, 165, 0, 108, 37, 98, 0, 202, 148, 114, 0, 53, 53, 239, 0, 190, 179, 127, 0, 203, 64, 203, 0, 213, 75, 200, 0, 104, 29, 14, 0, 69, 104, 208, 0, 81, 23, 115, 0, 247, 247, 78, 0, 227, 212, 185, 0, 153, 62, 215, 0, 27, 7, 239, 0, 145, 10, 39, 0, 95, 186, 251, 0, 222, 138, 197, 0, 168, 30, 4, 0, 252, 143, 224, 0, 78, 123, 68, 0, 216, 216, 158, 0, 71, 41, 222, 0, 222, 43, 116, 0, 20, 243, 152, 0, 36, 148, 0, 0, 106, 190, 146, 0, 38, 178, 230, 0, 140, 218, 127, 0, 251, 13, 238, 0, 124, 166, 211, 0, 7, 21, 207, 0, 21, 180, 235, 0, 218, 11, 236, 0, 120, 54, 208, 0, 55, 51, 200, 0, 168, 158, 2, 0, 79, 87, 72, 0, 192, 218, 198, 0, 71, 59, 181, 0, 82, 26, 106, 0, 147, 247, 103, 0, 116, 103, 237, 0, 70, 84, 5, 0, 61, 7, 42, 0, 244, 153, 52, 0, 147, 69, 64, 0, 84, 172, 64, 0, 53, 112, 237, 0, 9, 41, 238, 0, 213, 23, 17, 0, 231, 249, 54, 0, 227, 15, 231, 0, 158, 209, 189, 0, 168, 237, 120, 0, 144, 58, 149, 0, 42, 203, 150, 0, 241, 207, 179, 0, 104, 51, 178, 0, 253, 4, 16, 0, 30, 30, 239, 0, 155, 90, 128, 0, 200, 108, 80, 0, 184, 195, 129, 0, 52, 227, 110, 0, 224, 160, 124, 0, 24, 172, 23, 0, 182, 82, 1, 0, 127, 244, 120, 0, 96, 116, 92, 0, 112, 29, 118, 0, \ +194, 236, 171, 0, 213, 36, 154, 0, 97, 149, 6, 0, 2, 6, 253, 0, 209, 12, 87, 0, 102, 146, 234, 0, 80, 87, 108, 0, 121, 35, 188, 0, 211, 151, 39, 0, 35, 17, 172, 0, 214, 115, 114, 0, 8, 93, 239, 0, 36, 68, 224, 0, 137, 84, 144, 0, 70, 160, 12, 0, 201, 62, 168, 0, 222, 214, 130, 0, 45, 150, 201, 0, 170, 157, 33, 0, 18, 146, 252, 0, 183, 226, 150, 0, 148, 161, 205, 0, 1, 156, 15, 0, 220, 149, 77, 0, 5, 224, 225, 0, 221, 81, 234, 0, 17, 63, 144, 0, 22, 246, 234, 0, 179, 179, 194, 0, 66, 7, 174, 0, 119, 27, 28, 0, 32, 137, 50, 0, 16, 200, 1, 0, 150, 211, 68, 0, 61, 81, 121, 0, 70, 35, 95, 0, 156, 66, 102, 0, 15, 95, 152, 0, 157, 85, 60, 0, 8, 1, 188, 0, 186, 99, 115, 0, 12, 153, 97, 0, 239, 94, 242, 0, 43, 236, 59, 0, 9, 170, 173, 0, 55, 87, 24, 0, 180, 20, 38, 0, 79, 231, 27, 0, 99, 173, 249, 0, 178, 197, 213, 0, 216, 83, 214, 0, 94, 43, 18, 0, 161, 211, 164, 0, 167, 102, 117, 0, 217, 41, 88, 0, 229, 137, 106, 0, 20, 202, 15, 0, 225, 34, 172, 0, 167, 193, 39, 0, 2, 123, 49, 0, 183, 83, 154, 0, 219, 15, 250, 0, 33, 178, 82, 0, 123, 75, 100, 0, 189, 124, 159, 0, 212, 182, 239, 0, 230, 222, 57, 0, 156, 45, 95, 0, 147, 11, 60, 0, 98, 152, 48, 0, 32, 210, 207, 0, 194, 229, 144, 0, 200, 112, 120, 0, 46, 237, 78, 0, 155, 147, 36, 0, 25, 174, 14, 0, 12, 154, 177, 0, 15, 65, 84, 0, 55, 161, 97, 0, 190, 194, 181, 0, 161, 11, 243, 0, 172, 139, 37, 0, 179, 31, 202, 0, 141, 207, 195, 0, 162, 185, 177, 0, 41, 147, 112, 0, 110, 12, 188, 0, 25, 64, 44, 0, 234, 72, 5, 0, 157, 31, 233, 0, 56, 164, 86, 0, 165, 90, 155, 0, 141, 64, 245, 0, 197, 69, 50, 0, 181, 176, 22, 0, 2, 138, 123, 0, 118, 77, 147, 0, 39, 205, 171, 0, 134, 59, 92, 0, 67, 7, 19, 0, 116, 139, 198, 0, 120, 66, 111, 0, 16, 180, 216, 0, 68, 91, 206, 0, 105, 63, 64, 0, 245, 1, 158, 0, 73, 143, 191, 0, 191, 194, 33, 0, 165, 181, 246, 0, 73, 103, 116, 0, 41, 115, 176, 0, 54, 192, 111, 0, 59, 41, 187, 0, 8, 38, 254, 0, 179, 40, 85, 0, 144, 41, 38, 0, 96, 101, 14, 0, 111, 171, 111, 0, 174, 241, 164, 0, 220, 181, 167, 0, 3, 130, 93, 0, 133, 184, 22, 0, 16, 169, 28, 0, 215, 142, 133, 0, 249, 237, 183, 0, 66, 202, 48, 0, 254, 188, 234, 0, 202, 82, 144, 0, 40, 126, 211, 0, 53, 140, 199, 0, 111, 241, 71, 0, 176, 214, 57, 0, 172, 223, 149, 0, 110, 55, 148, 0, 48, 57, 33, 0, 91, 86, 165, 0, 40, 65, 136, 0, 144, 102, 19, 0, 249, 104, 170, 0, 136, 74, 80, 0, 166, 21, 45, 0, 157, 96, 65, 0, 73, 66, 137, 0, 41, 160, 187, 0, 117, 47, 35, 0, 151, 30, 80, 0, 238, 73, 241, 0, 23, 179, 40, 0, 226, 224, 24, 0, 21, 103, 36, 0, 223, 253, 224, 0, 60, 213, 88, 0, 147, 111, 209, 0, 252, 126, 116, 0, 44, 22, 63, 0, 98, 95, 240, 0, 128, 33, 232, 0, 81, 62, 239, 0, 132, 246, 179, 0, 185, 111, 179, 0, 209, 39, 47, 0, 158, 15, 251, 0, 82, 174, 192, 0, 113, 161, 242, 0, 12, 142, 232, 0, 141, 206, 133, 0, 47, 72, 129, 0, 13, 96, 91, 0, 14, 72, 104, 0, 152, 125, 35, 0, 38, 57, 14, 0, 251, 78, 60, 0, 19, 252, 129, 0, 242, 6, 36, 0, 19, 162, 16, 0, 170, 213, 188, 0, 63, 115, 152, 0, 45, 228, 231, 0, 100, 206, 251, 0, 164, 195, 62, 0, 71, 58, 246, 0, 104, 90, 109, 0, 148, 180, 44, 0, 218, 157, 95, 0, 16, 88, 157, 0, 86, 97, 79, 0, 106, 119, 246, 0, 134, 47, 59, 0, 179, 233, 72, 0, 17, 31, 105, 0, 248, 16, 219, 0, 131, 237, 11, 0, 224, 240, 231, 0, 178, 139, 191, 0, 105, 140, 47, 0, 87, 0, 140, 0, 65, 135, 166, 0, 56, 14, 30, 0, 58, 225, 38, 0, 108, 121, 71, 0, 229, 11, 254, 0, 248, 20, 56, 0, 229, 192, 227, 0, 246, 199, 191, 0, 54, 57, 182, 0, 71, 166, 82, 0, 72, 196, 217, 0, 172, 242, 211, 0, 3, 112, 5, 0, 121, 67, 188, 0, 107, 10, 217, 0, 208, 250, 132, 0, 123, 9, 223, 0, 221, 186, 179, 0, 14, 240, 200, 0, 205, 85, 84, 0, 133, 6, 58, 0, 195, 108, 83, 0, 12, 69, 155, 0, 0, 174, 178, 0, 179, 72, 130, 0, 218, 89, 76, 0, 122, 122, 135, 0, 228, 219, 170, 0, \ +95, 164, 35, 0, 133, 214, 83, 0, 62, 239, 119, 0, 179, 36, 117, 0, 193, 50, 241, 0, 9, 126, 158, 0, 44, 117, 143, 0, 25, 139, 240, 0, 42, 71, 59, 0, 105, 204, 182, 0, 239, 210, 121, 0, 35, 86, 192, 0, 159, 11, 124, 0, 184, 136, 139, 0, 201, 110, 85, 0, 226, 58, 237, 0, 56, 232, 250, 0, 158, 236, 230, 0, 93, 179, 147, 0, 227, 116, 48, 0, 173, 147, 61, 0, 199, 214, 4, 0, 228, 218, 183, 0, 233, 15, 132, 0, 63, 174, 222, 0, 49, 84, 56, 0, 145, 253, 133, 0, 234, 50, 221, 0, 61, 253, 196, 0, 90, 10, 19, 0, 8, 183, 240, 0, 1, 190, 6, 0, 147, 119, 37, 0, 216, 138, 110, 0, 94, 211, 9, 0, 164, 4, 234, 0, 23, 158, 107, 0, 141, 133, 254, 0, 168, 55, 111, 0, 223, 231, 164, 0, 2, 175, 44, 0, 64, 55, 31, 0, 198, 77, 206, 0, 9, 95, 143, 0, 99, 40, 129, 0, 35, 225, 76, 0, 71, 214, 56, 0, 188, 150, 221, 0, 166, 41, 245, 0, 73, 11, 93, 0, 122, 56, 33, 0, 141, 22, 92, 0, 201, 239, 207, 0, 131, 52, 12, 0, 236, 233, 190, 0, 4, 46, 244, 0, 119, 205, 47, 0, 3, 126, 218, 0, 182, 43, 50, 0, 201, 191, 27, 0, 92, 59, 118, 0, 217, 171, 248, 0, 143, 192, 132, 0, 151, 111, 86, 0, 253, 240, 2, 0, 97, 83, 126, 0, 120, 240, 46, 0, 125, 230, 20, 0, 184, 234, 84, 0, 154, 62, 72, 0, 25, 88, 216, 0, 49, 65, 34, 0, 120, 13, 121, 0, 230, 86, 199, 0, 168, 138, 146, 0, 61, 75, 36, 0, 114, 241, 123, 0, 10, 201, 179, 0, 204, 190, 60, 0, 176, 43, 18, 0, 22, 162, 14, 0, 186, 21, 218, 0, 62, 16, 178, 0, 234, 253, 50, 0, 174, 38, 151, 0, 10, 18, 96, 0, 46, 57, 25, 0, 246, 222, 249, 0, 66, 149, 251, 0, 239, 134, 65, 0, 145, 166, 124, 0, 42, 233, 195, 0, 227, 219, 73, 0, 12, 222, 231, 0, 165, 8, 113, 0, 222, 215, 127, 0, 23, 214, 104, 0, 79, 230, 157, 0, 17, 78, 169, 0, 184, 31, 149, 0, 21, 200, 195, 0, 10, 212, 151, 0, 236, 11, 128, 0, 232, 104, 8, 0, 74, 230, 1, 0, 107, 81, 131, 0, 85, 123, 31, 0, 14, 110, 95, 0, 146, 150, 216, 0, 117, 10, 136, 0, 196, 173, 201, 0, 1, 216, 37, 0, 95, 125, 55, 0, 123, 185, 164, 0, 52, 143, 162, 0, 159, 10, 106, 0, 232, 55, 86, 0, 154, 156, 72, 0, 231, 153, 32, 0, 199, 237, 114, 0, 114, 168, 129, 0, 203, 13, 210, 0, 136, 36, 131, 0, 168, 203, 155, 0, 118, 177, 121, 0, 233, 49, 154, 0, 176, 193, 149, 0, 254, 69, 48, 0, 180, 200, 45, 0, 112, 61, 51, 0, 178, 0, 162, 0, 156, 126, 172, 0, 21, 156, 50, 0, 88, 147, 134, 0, 2, 61, 49, 0, 236, 131, 210, 0, 48, 52, 106, 0, 182, 91, 40, 0, 134, 214, 88, 0, 138, 33, 157, 0, 177, 0, 241, 0, 220, 102, 142, 0, 32, 228, 32, 0, 248, 227, 185, 0, 219, 28, 55, 0, 195, 53, 44, 0, 47, 121, 212, 0, 196, 55, 25, 0, 27, 54, 81, 0, 74, 123, 241, 0, 208, 26, 11, 0, 155, 20, 187, 0, 253, 99, 225, 0, 50, 205, 189, 0, 154, 45, 82, 0, 9, 41, 111, 0, 90, 176, 70, 0, 224, 82, 175, 0, 222, 141, 189, 0, 248, 10, 89, 0, 6, 58, 165, 0, 45, 56, 240, 0, 148, 25, 88, 0, 107, 137, 225, 0, 3, 75, 94, 0, 169, 94, 105, 0, 60, 106, 102, 0, 210, 132, 8, 0, 235, 166, 49, 0, 240, 114, 48, 0, 251, 38, 120, 0, 213, 209, 216, 0, 23, 22, 225, 0, 175, 57, 232, 0, 72, 55, 80, 0, 136, 190, 132, 0, 237, 218, 82, 0, 63, 63, 194, 0, 203, 210, 194, 0, 167, 237, 192, 0, 98, 14, 80, 0, 242, 113, 214, 0, 152, 116, 56, 0, 148, 208, 84, 0, 82, 131, 83, 0, 10, 106, 168, 0, 41, 188, 242, 0, 158, 44, 81, 0, 109, 171, 178, 0, 141, 116, 122, 0, 219, 155, 206, 0, 51, 170, 47, 0, 106, 188, 190, 0, 146, 74, 162, 0, 55, 229, 220, 0, 42, 14, 144, 0, 71, 7, 86, 0, 148, 142, 120, 0, 98, 151, 250, 0, 228, 18, 253, 0, 216, 164, 180, 0, 254, 1, 141, 0, 106, 219, 39, 0, 150, 25, 138, 0, 180, 41, 89, 0, 33, 0, 97, 0, 19, 1, 81, 0, 218, 139, 250, 0, 176, 97, 116, 0, 76, 245, 79, 0, 202, 203, 59, 0, 107, 185, 99, 0, 237, 71, 245, 0, 115, 54, 36, 0, 2, 115, 100, 0, 56, 59, 3, 0, 148, 242, 198, 0, 34, 103, 138, 0, 6, 89, 41, 0, 215, 247, 45, 0, 55, 181, 75, 0, 82, 115, 16, 0, 131, 136, 198, 0, 247, 105, 170, 0, \ +218, 172, 238, 0, 223, 103, 135, 0, 131, 240, 92, 0, 139, 41, 63, 0, 60, 222, 97, 0, 176, 144, 180, 0, 96, 89, 46, 0, 71, 146, 152, 0, 173, 18, 233, 0, 120, 153, 234, 0, 179, 113, 66, 0, 133, 60, 0, 0, 244, 253, 94, 0, 32, 135, 253, 0, 244, 208, 154, 0, 77, 223, 24, 0, 242, 26, 236, 0, 44, 99, 151, 0, 29, 172, 205, 0, 189, 89, 113, 0, 244, 136, 17, 0, 76, 192, 227, 0, 198, 70, 69, 0, 246, 219, 104, 0, 130, 47, 211, 0, 159, 29, 5, 0, 76, 12, 94, 0, 87, 190, 142, 0, 78, 143, 36, 0, 147, 72, 186, 0, 147, 121, 175, 0, 3, 243, 55, 0, 34, 192, 226, 0, 158, 107, 41, 0, 175, 250, 186, 0, 86, 32, 160, 0, 233, 151, 129, 0, 93, 88, 22, 0, 235, 90, 207, 0, 140, 229, 195, 0, 132, 191, 60, 0, 249, 100, 180, 0, 216, 238, 246, 0, 105, 137, 227, 0, 223, 83, 170, 0, 22, 7, 187, 0, 5, 212, 175, 0, 233, 189, 41, 0, 244, 130, 163, 0, 237, 86, 189, 0, 159, 136, 210, 0, 150, 159, 235, 0, 22, 1, 35, 0, 145, 94, 165, 0, 12, 53, 112, 0, 163, 72, 189, 0, 23, 155, 250, 0, 147, 216, 174, 0, 204, 175, 169, 0, 94, 177, 238, 0, 182, 16, 194, 0, 56, 157, 9, 0, 16, 115, 225, 0, 27, 165, 114, 0, 26, 85, 99, 0, 33, 236, 219, 0, 140, 61, 37, 0, 74, 109, 182, 0, 116, 85, 179, 0, 174, 55, 43, 0, 132, 171, 39, 0, 112, 84, 113, 0, 180, 79, 171, 0, 170, 170, 113, 0, 212, 142, 59, 0, 1, 147, 74, 0, 78, 50, 39, 0, 253, 182, 214, 0, 21, 247, 128, 0, 94, 9, 83, 0, 100, 27, 233, 0, 196, 74, 95, 0, 153, 253, 123, 0, 8, 76, 186, 0, 112, 115, 125, 0, 239, 175, 51, 0, 252, 185, 199, 0, 23, 226, 32, 0, 99, 201, 217, 0, 111, 100, 166, 0, 126, 107, 20, 0, 177, 212, 215, 0, 142, 201, 180, 0, 152, 188, 152, 0, 144, 11, 70, 0, 116, 63, 144, 0, 180, 67, 224, 0, 147, 98, 10, 0, 16, 81, 141, 0, 30, 218, 129, 0, 151, 92, 51, 0, 99, 204, 175, 0, 21, 126, 84, 0, 169, 215, 216, 0, 57, 110, 126, 0, 54, 21, 143, 0, 176, 243, 20, 0, 22, 140, 86, 0, 149, 149, 32, 0, 178, 96, 252, 0, 139, 200, 107, 0, 1, 137, 227, 0, 95, 91, 211, 0, 228, 219, 128, 0, 231, 94, 172, 0, 193, 252, 32, 0, 19, 193, 131, 0, 154, 92, 205, 0, 199, 71, 12, 0, 58, 223, 127, 0, 218, 175, 69, 0, 107, 195, 86, 0, 178, 221, 208, 0, 102, 35, 251, 0, 188, 24, 143, 0, 208, 80, 130, 0, 21, 68, 162, 0, 59, 80, 65, 0, 217, 22, 35, 0, 68, 160, 136, 0, 25, 43, 29, 0, 18, 193, 195, 0, 248, 243, 108, 0, 19, 94, 29, 0, 9, 76, 110, 0, 70, 106, 163, 0, 158, 165, 10, 0, 233, 225, 110, 0, 94, 230, 231, 0, 48, 121, 107, 0, 87, 204, 156, 0, 106, 173, 147, 0, 147, 2, 49, 0, 209, 209, 213, 0, 2, 54, 49, 0, 136, 57, 154, 0, 237, 138, 250, 0, 161, 61, 98, 0, 49, 71, 180, 0, 43, 54, 4, 0, 60, 100, 42, 0, 81, 142, 24, 0, 9, 133, 70, 0, 248, 224, 36, 0, 167, 16, 106, 0, 245, 240, 87, 0, 145, 105, 190, 0, 13, 134, 232, 0, 181, 232, 202, 0, 80, 123, 185, 0, 230, 194, 216, 0, 254, 22, 130, 0, 39, 138, 116, 0, 133, 137, 168, 0, 75, 152, 240, 0, 12, 222, 233, 0, 118, 209, 165, 0, 11, 195, 212, 0, 217, 161, 226, 0, 210, 130, 151, 0, 72, 103, 91, 0, 186, 113, 157, 0, 224, 20, 235, 0, 192, 0, 18, 0, 20, 61, 129, 0, 20, 134, 206, 0, 37, 19, 0, 0, 93, 2, 7, 0, 228, 109, 216, 0, 116, 148, 191, 0, 216, 35, 138, 0, 200, 178, 100, 0, 132, 195, 126, 0, 181, 45, 135, 0, 111, 35, 10, 0, 62, 56, 238, 0, 153, 126, 23, 0, 52, 111, 117, 0, 123, 25, 185, 0, 25, 207, 20, 0, 222, 175, 163, 0, 238, 92, 66, 0, 50, 49, 11, 0, 99, 48, 247, 0, 85, 193, 171, 0, 115, 222, 3, 0, 73, 164, 234, 0, 150, 241, 136, 0, 212, 70, 35, 0, 149, 106, 167, 0, 200, 223, 54, 0, 169, 97, 245, 0, 220, 53, 1, 0, 197, 44, 230, 0, 232, 158, 198, 0, 203, 175, 125, 0, 249, 4, 226, 0, 36, 35, 40, 0, 28, 139, 90, 0, 187, 240, 44, 0, 167, 200, 226, 0, 100, 110, 192, 0, 79, 154, 88, 0, 7, 87, 58, 0, 47, 112, 228, 0, 87, 124, 67, 0, 19, 175, 74, 0, 178, 11, 231, 0, 141, 68, 253, 0, 74, 235, 108, 0, 120, 151, 38, 0, 169, 157, 116, 0, 88, 54, 220, 0, 197, 225, 203, 0, \ +156, 93, 132, 0, 57, 197, 222, 0, 219, 30, 247, 0, 19, 181, 55, 0, 52, 21, 232, 0, 222, 189, 102, 0, 244, 84, 164, 0, 78, 151, 193, 0, 174, 4, 22, 0, 81, 164, 6, 0, 193, 132, 2, 0, 32, 67, 49, 0, 34, 169, 136, 0, 215, 34, 46, 0, 118, 229, 0, 0, 16, 174, 148, 0, 211, 137, 127, 0, 166, 133, 12, 0, 121, 100, 179, 0, 21, 67, 39, 0, 63, 56, 28, 0, 113, 86, 116, 0, 204, 23, 128, 0, 252, 67, 94, 0, 175, 154, 214, 0, 138, 120, 55, 0, 119, 185, 157, 0, 248, 234, 224, 0, 67, 210, 47, 0, 80, 185, 116, 0, 28, 56, 217, 0, 141, 210, 240, 0, 126, 249, 45, 0, 194, 200, 109, 0, 103, 217, 99, 0, 94, 16, 124, 0, 133, 139, 174, 0, 77, 10, 158, 0, 94, 80, 219, 0, 243, 201, 47, 0, 12, 138, 43, 0, 152, 221, 166, 0, 29, 17, 97, 0, 96, 66, 166, 0, 126, 182, 174, 0, 11, 62, 58, 0, 93, 43, 184, 0, 6, 207, 66, 0, 5, 37, 46, 0, 129, 50, 203, 0, 94, 252, 105, 0, 25, 35, 4, 0, 224, 20, 190, 0, 56, 208, 149, 0, 30, 244, 246, 0, 217, 58, 22, 0, 246, 250, 102, 0, 71, 244, 41, 0, 195, 184, 93, 0, 172, 252, 176, 0, 197, 2, 135, 0, 200, 156, 168, 0, 248, 107, 158, 0, 240, 172, 41, 0, 146, 90, 67, 0, 58, 221, 202, 0, 216, 184, 55, 0, 214, 180, 141, 0, 52, 115, 78, 0, 150, 74, 139, 0, 146, 204, 35, 0, 18, 171, 85, 0, 165, 131, 46, 0, 210, 130, 104, 0, 174, 42, 72, 0, 107, 186, 179, 0, 245, 102, 215, 0, 252, 35, 166, 0, 93, 241, 83, 0, 202, 49, 99, 0, 173, 197, 184, 0, 30, 73, 44, 0, 233, 24, 207, 0, 62, 221, 10, 0, 117, 117, 252, 0, 239, 187, 134, 0, 228, 18, 82, 0, 215, 9, 58, 0, 27, 32, 170, 0, 205, 46, 83, 0, 59, 127, 190, 0, 251, 157, 55, 0, 145, 148, 187, 0, 176, 33, 212, 0, 239, 57, 187, 0, 173, 96, 62, 0, 211, 185, 26, 0, 37, 41, 156, 0, 86, 238, 175, 0, 97, 131, 163, 0, 200, 90, 166, 0, 235, 43, 133, 0, 136, 86, 66, 0, 94, 227, 20, 0, 188, 75, 226, 0, 5, 156, 83, 0, 163, 158, 251, 0, 244, 157, 204, 0, 62, 194, 248, 0, 54, 0, 107, 0, 227, 96, 74, 0, 190, 214, 133, 0, 36, 137, 183, 0, 2, 116, 33, 0, 113, 72, 205, 0, 249, 70, 96, 0, 184, 124, 186, 0, 17, 135, 159, 0, 242, 245, 172, 0, 55, 16, 76, 0, 210, 7, 173, 0, 32, 170, 34, 0, 95, 71, 21, 0, 0, 117, 205, 0, 124, 104, 250, 0, 97, 162, 241, 0, 77, 67, 143, 0, 77, 202, 159, 0, 81, 121, 95, 0, 29, 170, 203, 0, 95, 237, 171, 0, 239, 76, 36, 0, 215, 143, 138, 0, 8, 11, 119, 0, 115, 254, 9, 0, 210, 152, 20, 0, 233, 91, 200, 0, 90, 1, 71, 0, 8, 4, 148, 0, 68, 89, 88, 0, 9, 15, 228, 0, 247, 104, 220, 0, 5, 74, 61, 0, 208, 85, 220, 0, 101, 131, 136, 0, 111, 199, 51, 0, 163, 246, 184, 0, 65, 100, 0, 0, 2, 150, 172, 0, 93, 160, 47, 0, 22, 222, 206, 0, 20, 39, 229, 0, 64, 85, 201, 0, 180, 153, 197, 0, 65, 157, 38, 0, 93, 174, 125, 0, 143, 240, 172, 0, 32, 205, 59, 0, 198, 22, 159, 0, 73, 37, 11, 0, 126, 0, 135, 0, 102, 27, 207, 0, 4, 115, 46, 0, 198, 127, 79, 0, 43, 21, 152, 0, 72, 38, 29, 0, 61, 35, 71, 0, 178, 185, 227, 0, 158, 188, 185, 0, 145, 81, 127, 0, 209, 170, 59, 0, 250, 75, 27, 0, 89, 28, 38, 0, 224, 115, 215, 0, 183, 180, 10, 0, 54, 26, 116, 0, 166, 241, 26, 0, 139, 198, 176, 0, 26, 101, 8, 0, 70, 3, 6, 0, 104, 108, 158, 0, 79, 151, 29, 0, 214, 132, 198, 0, 7, 121, 91, 0, 191, 159, 95, 0, 68, 61, 254, 0, 129, 213, 31, 0, 112, 135, 170, 0, 205, 131, 251, 0, 115, 169, 53, 0, 133, 208, 84, 0, 203, 130, 68, 0, 13, 27, 44, 0, 201, 89, 24, 0, 143, 250, 201, 0, 147, 133, 154, 0, 209, 150, 33, 0, 123, 167, 194, 0, 139, 101, 161, 0, 87, 13, 82, 0, 74, 209, 226, 0, 84, 69, 140, 0, 218, 131, 45, 0, 215, 206, 123, 0, 164, 171, 82, 0, 179, 239, 207, 0, 79, 226, 165, 0, 206, 251, 34, 0, 187, 81, 108, 0, 0, 252, 87, 0, 191, 196, 240, 0, 183, 169, 249, 0, 17, 200, 195, 0, 210, 218, 132, 0, 188, 248, 68, 0, 17, 127, 27, 0, 145, 57, 29, 0, 79, 158, 67, 0, 86, 66, 86, 0, 199, 91, 237, 0, 111, 43, 94, 0, 56, 72, 91, 0, 237, 2, 231, 0, 0, 192, 48, 0, \ +143, 44, 173, 0, 218, 120, 155, 0, 55, 42, 88, 0, 186, 37, 75, 0, 113, 159, 250, 0, 65, 80, 50, 0, 187, 186, 248, 0, 93, 246, 66, 0, 44, 71, 165, 0, 107, 236, 251, 0, 201, 169, 40, 0, 107, 185, 80, 0, 142, 108, 186, 0, 133, 151, 93, 0, 240, 100, 145, 0, 254, 160, 55, 0, 232, 67, 193, 0, 108, 234, 189, 0, 124, 120, 46, 0, 13, 208, 152, 0, 215, 146, 237, 0, 146, 217, 153, 0, 162, 132, 253, 0, 103, 108, 164, 0, 60, 188, 121, 0, 64, 92, 64, 0, 198, 200, 92, 0, 95, 19, 86, 0, 143, 12, 68, 0, 0, 230, 216, 0, 207, 116, 208, 0, 164, 81, 200, 0, 208, 23, 84, 0, 221, 194, 237, 0, 246, 35, 154, 0, 63, 1, 184, 0, 138, 3, 230, 0, 112, 10, 206, 0, 250, 108, 9, 0, 192, 125, 195, 0, 221, 206, 211, 0, 20, 136, 214, 0, 122, 137, 214, 0, 203, 129, 187, 0, 188, 141, 245, 0, 4, 143, 224, 0, 72, 32, 254, 0, 21, 221, 123, 0, 112, 24, 148, 0, 237, 132, 42, 0, 244, 153, 46, 0, 144, 87, 234, 0, 137, 196, 177, 0, 105, 144, 220, 0, 223, 22, 207, 0, 143, 239, 229, 0, 181, 201, 200, 0, 152, 98, 223, 0, 226, 244, 250, 0, 78, 102, 243, 0, 158, 140, 33, 0, 245, 231, 173, 0, 0, 45, 109, 0, 203, 54, 46, 0, 107, 11, 148, 0, 82, 113, 36, 0, 187, 195, 12, 0, 46, 139, 250, 0, 142, 112, 140, 0, 220, 41, 77, 0, 197, 205, 59, 0, 27, 113, 200, 0, 50, 225, 50, 0, 60, 110, 175, 0, 127, 95, 47, 0, 94, 93, 74, 0, 132, 111, 109, 0, 157, 7, 228, 0, 112, 99, 101, 0, 215, 99, 75, 0, 168, 134, 1, 0, 246, 37, 2, 0, 122, 15, 243, 0, 102, 52, 141, 0, 192, 108, 106, 0, 20, 152, 15, 0, 192, 7, 96, 0, 36, 244, 206, 0, 66, 232, 2, 0, 45, 160, 241, 0, 151, 202, 129, 0, 37, 204, 232, 0, 146, 113, 165, 0, 170, 36, 104, 0, 169, 82, 38, 0, 38, 59, 182, 0, 27, 172, 205, 0, 159, 14, 207, 0, 62, 101, 53, 0, 229, 181, 194, 0, 197, 90, 182, 0, 131, 107, 2, 0, 209, 21, 67, 0, 84, 41, 216, 0, 96, 66, 8, 0, 188, 90, 76, 0, 181, 197, 206, 0, 27, 1, 158, 0, 231, 98, 3, 0, 168, 55, 246, 0, 246, 22, 163, 0, 232, 251, 134, 0, 33, 56, 33, 0, 251, 193, 70, 0, 68, 95, 130, 0, 223, 164, 39, 0, 80, 46, 247, 0, 238, 102, 77, 0, 146, 154, 196, 0, 146, 104, 156, 0, 39, 113, 29, 0, 45, 7, 5, 0, 126, 105, 222, 0, 101, 134, 195, 0, 232, 80, 227, 0, 115, 56, 233, 0, 211, 242, 87, 0, 204, 94, 21, 0, 182, 23, 95, 0, 43, 131, 99, 0, 254, 67, 39, 0, 254, 128, 68, 0, 71, 63, 16, 0, 143, 215, 69, 0, 213, 28, 93, 0, 83, 19, 59, 0, 43, 71, 77, 0, 133, 170, 2, 0, 189, 216, 200, 0, 159, 69, 64, 0, 163, 202, 38, 0, 199, 28, 1, 0, 35, 182, 189, 0, 148, 242, 160, 0, 173, 211, 97, 0, 146, 45, 134, 0, 130, 94, 25, 0, 211, 190, 122, 0, 205, 75, 230, 0, 99, 77, 254, 0, 152, 150, 169, 0, 44, 229, 116, 0, 84, 223, 226, 0, 242, 69, 155, 0, 108, 24, 64, 0, 119, 121, 193, 0, 99, 224, 187, 0, 220, 105, 50, 0, 82, 99, 206, 0, 55, 131, 101, 0, 5, 181, 142, 0, 53, 240, 110, 0, 232, 28, 198, 0, 242, 205, 35, 0, 41, 198, 6, 0, 72, 142, 144, 0, 201, 249, 76, 0, 16, 86, 113, 0, 52, 36, 153, 0, 152, 1, 79, 0, 251, 156, 191, 0, 130, 85, 190, 0, 194, 7, 173, 0, 176, 119, 183, 0, 91, 91, 123, 0, 2, 248, 71, 0, 89, 217, 103, 0, 156, 171, 126, 0, 92, 203, 5, 0, 110, 166, 21, 0, 38, 11, 233, 0, 20, 10, 189, 0, 14, 43, 161, 0, 170, 131, 102, 0, 79, 56, 173, 0, 160, 141, 191, 0, 234, 107, 4, 0, 246, 59, 186, 0, 130, 185, 226, 0, 235, 152, 230, 0, 79, 152, 17, 0, 202, 165, 87, 0, 128, 18, 76, 0, 81, 195, 145, 0, 164, 47, 69, 0, 198, 4, 179, 0, 142, 132, 230, 0, 214, 151, 243, 0, 114, 68, 223, 0, 63, 196, 13, 0, 247, 228, 125, 0, 18, 144, 248, 0, 63, 137, 82, 0, 205, 133, 34, 0, 4, 190, 169, 0, 2, 105, 48, 0, 227, 89, 138, 0, 182, 113, 179, 0, 91, 178, 161, 0, 95, 117, 124, 0, 165, 164, 189, 0, 246, 2, 221, 0, 237, 205, 89, 0, 170, 161, 9, 0, 2, 226, 89, 0, 12, 100, 187, 0, 166, 71, 96, 0, 186, 198, 85, 0, 103, 70, 48, 0, 136, 37, 203, 0, 179, 58, 166, 0, 127, 138, 70, 0, 54, 3, 85, 0, 201, 246, 5, 0, \ +140, 6, 179, 0, 10, 79, 30, 0, 128, 205, 204, 0, 230, 181, 241, 0, 178, 156, 130, 0, 231, 127, 102, 0, 50, 144, 107, 0, 173, 57, 202, 0, 154, 234, 116, 0, 179, 89, 225, 0, 55, 146, 67, 0, 14, 95, 121, 0, 44, 88, 68, 0, 153, 195, 206, 0, 81, 189, 70, 0, 118, 8, 93, 0, 24, 12, 155, 0, 173, 46, 225, 0, 213, 153, 36, 0, 205, 59, 226, 0, 67, 39, 93, 0, 21, 176, 184, 0, 104, 180, 64, 0, 108, 42, 247, 0, 124, 175, 142, 0, 91, 156, 226, 0, 194, 111, 107, 0, 251, 124, 38, 0, 87, 230, 122, 0, 48, 241, 39, 0, 53, 31, 203, 0, 207, 47, 65, 0, 231, 15, 27, 0, 70, 123, 225, 0, 126, 103, 203, 0, 211, 163, 52, 0, 181, 118, 4, 0, 138, 165, 198, 0, 164, 74, 80, 0, 96, 150, 147, 0, 14, 16, 146, 0, 7, 37, 30, 0, 13, 196, 154, 0, 76, 92, 111, 0, 194, 145, 134, 0, 112, 175, 102, 0, 220, 2, 142, 0, 202, 208, 214, 0, 131, 226, 60, 0, 0, 100, 236, 0, 204, 83, 198, 0, 171, 132, 203, 0, 122, 144, 46, 0, 237, 65, 47, 0, 212, 182, 160, 0, 112, 221, 80, 0, 188, 205, 100, 0, 64, 160, 224, 0, 242, 223, 207, 0, 127, 64, 238, 0, 13, 115, 241, 0, 51, 90, 235, 0, 131, 56, 98, 0, 41, 158, 144, 0, 117, 169, 28, 0, 98, 64, 246, 0, 7, 62, 202, 0, 83, 222, 146, 0, 103, 23, 212, 0, 224, 53, 65, 0, 152, 176, 212, 0, 46, 56, 154, 0, 63, 87, 230, 0, 27, 177, 146, 0, 104, 131, 25, 0, 171, 252, 89, 0, 190, 158, 164, 0, 78, 205, 104, 0, 44, 106, 67, 0, 168, 241, 3, 0, 16, 149, 27, 0, 137, 118, 33, 0, 161, 247, 208, 0, 151, 199, 232, 0, 198, 44, 114, 0, 150, 123, 151, 0, 162, 109, 59, 0, 111, 138, 19, 0, 30, 25, 146, 0, 241, 43, 101, 0, 46, 124, 100, 0, 16, 187, 86, 0, 136, 224, 227, 0, 208, 71, 236, 0, 130, 165, 125, 0, 200, 169, 23, 0, 37, 23, 20, 0, 163, 207, 78, 0, 177, 156, 149, 0, 70, 78, 106, 0, 3, 162, 189, 0, 103, 169, 242, 0, 71, 80, 28, 0, 72, 140, 68, 0, 142, 205, 50, 0, 226, 165, 220, 0, 162, 124, 68, 0, 215, 6, 214, 0, 2, 158, 40, 0, 131, 93, 222, 0, 65, 47, 134, 0, 15, 246, 187, 0, 135, 59, 207, 0, 146, 156, 168, 0, 178, 240, 58, 0, 9, 145, 196, 0, 108, 180, 17, 0, 130, 94, 213, 0, 237, 158, 133, 0, 119, 131, 250, 0, 113, 190, 117, 0, 29, 119, 42, 0, 185, 98, 77, 0, 70, 66, 205, 0, 211, 179, 123, 0, 97, 70, 102, 0, 115, 237, 113, 0, 229, 22, 98, 0, 110, 167, 20, 0, 145, 212, 147, 0, 72, 11, 181, 0, 195, 25, 220, 0, 25, 2, 157, 0, 82, 149, 202, 0, 80, 185, 154, 0, 87, 61, 170, 0, 186, 65, 3, 0, 190, 87, 149, 0, 47, 23, 190, 0, 28, 229, 230, 0, 123, 241, 37, 0, 33, 2, 51, 0, 77, 159, 214, 0, 49, 21, 217, 0, 181, 137, 123, 0, 117, 218, 186, 0, 111, 73, 72, 0, 187, 50, 247, 0, 215, 152, 190, 0, 196, 134, 81, 0, 113, 87, 228, 0, 36, 15, 147, 0, 78, 188, 182, 0, 16, 60, 187, 0, 243, 3, 227, 0, 158, 220, 239, 0, 50, 240, 11, 0, 199, 143, 162, 0, 27, 33, 59, 0, 11, 174, 183, 0, 145, 250, 50, 0, 227, 2, 133, 0, 161, 92, 205, 0, 178, 85, 239, 0, 191, 235, 89, 0, 200, 131, 7, 0, 226, 17, 55, 0, 199, 103, 74, 0, 152, 91, 219, 0, 194, 135, 30, 0, 208, 232, 215, 0, 16, 20, 35, 0, 127, 233, 152, 0, 172, 244, 97, 0, 164, 60, 115, 0, 79, 82, 211, 0, 84, 65, 206, 0, 199, 219, 95, 0, 101, 250, 86, 0, 76, 177, 34, 0, 98, 82, 46, 0, 168, 54, 108, 0, 234, 135, 206, 0, 121, 69, 157, 0, 182, 85, 126, 0, 245, 127, 118, 0, 120, 107, 186, 0, 196, 127, 196, 0, 17, 137, 175, 0, 173, 94, 186, 0, 242, 243, 211, 0, 81, 15, 231, 0, 28, 106, 152, 0, 232, 236, 22, 0, 191, 140, 115, 0, 67, 102, 9, 0, 64, 132, 39, 0, 99, 236, 73, 0, 254, 65, 190, 0, 62, 78, 96, 0, 58, 171, 79, 0, 69, 107, 136, 0, 217, 14, 253, 0, 19, 17, 248, 0, 135, 5, 98, 0, 167, 161, 145, 0, 225, 198, 153, 0, 163, 211, 90, 0, 38, 167, 188, 0, 27, 32, 119, 0, 48, 124, 1, 0, 48, 166, 87, 0, 245, 54, 32, 0, 244, 81, 53, 0, 136, 224, 185, 0, 82, 108, 142, 0, 191, 56, 103, 0, 29, 116, 66, 0, 99, 26, 141, 0, 61, 86, 52, 0, 147, 62, 171, 0, 226, 213, 113, 0, 42, 245, 90, 0, 145, 39, 136, 0, \ +91, 70, 192, 0, 137, 202, 16, 0, 207, 32, 245, 0, 177, 223, 250, 0, 155, 87, 204, 0, 182, 221, 44, 0, 119, 220, 7, 0, 116, 194, 160, 0, 194, 200, 33, 0, 47, 187, 28, 0, 0, 161, 98, 0, 159, 117, 206, 0, 201, 249, 1, 0, 228, 53, 168, 0, 245, 196, 106, 0, 30, 18, 103, 0, 130, 44, 119, 0, 8, 46, 160, 0, 61, 39, 178, 0, 171, 156, 141, 0, 253, 185, 72, 0, 170, 2, 34, 0, 222, 11, 177, 0, 5, 243, 47, 0, 48, 155, 133, 0, 15, 111, 61, 0, 160, 11, 173, 0, 83, 227, 240, 0, 43, 243, 194, 0, 90, 20, 132, 0, 136, 144, 74, 0, 51, 171, 95, 0, 107, 235, 202, 0, 60, 54, 176, 0, 162, 17, 110, 0, 163, 187, 166, 0, 120, 125, 59, 0, 165, 7, 208, 0, 252, 98, 207, 0, 65, 107, 160, 0, 95, 192, 25, 0, 238, 146, 195, 0, 130, 205, 172, 0, 17, 42, 142, 0, 118, 26, 252, 0, 92, 45, 109, 0, 155, 13, 147, 0, 86, 162, 47, 0, 27, 138, 175, 0, 141, 188, 155, 0, 170, 104, 165, 0, 50, 113, 98, 0, 22, 108, 178, 0, 237, 58, 19, 0, 246, 48, 62, 0, 116, 211, 179, 0, 113, 243, 70, 0, 71, 47, 89, 0, 192, 111, 137, 0, 17, 79, 206, 0, 202, 10, 4, 0, 206, 73, 65, 0, 67, 146, 58, 0, 107, 181, 216, 0, 240, 19, 248, 0, 52, 8, 55, 0, 121, 211, 219, 0, 244, 57, 81, 0, 24, 164, 146, 0, 84, 135, 170, 0, 59, 68, 241, 0, 29, 52, 114, 0, 12, 82, 154, 0, 237, 110, 174, 0, 143, 117, 65, 0, 208, 19, 210, 0, 40, 95, 165, 0, 246, 223, 221, 0, 201, 105, 241, 0, 194, 75, 112, 0, 11, 2, 230, 0, 119, 56, 125, 0, 147, 124, 121, 0, 168, 163, 240, 0, 86, 81, 171, 0, 214, 96, 204, 0, 170, 124, 203, 0, 104, 215, 110, 0, 48, 205, 42, 0, 29, 202, 198, 0, 181, 123, 148, 0, 163, 0, 124, 0, 227, 250, 26, 0, 242, 181, 189, 0, 241, 35, 178, 0, 63, 15, 237, 0, 106, 232, 66, 0, 124, 113, 175, 0, 251, 139, 89, 0, 171, 95, 82, 0, 68, 204, 33, 0, 123, 217, 120, 0, 222, 187, 12, 0, 145, 189, 117, 0, 236, 38, 48, 0, 50, 70, 159, 0, 148, 217, 225, 0, 98, 163, 8, 0, 213, 126, 169, 0, 241, 61, 80, 0, 215, 27, 205, 0, 13, 41, 11, 0, 150, 179, 126, 0, 214, 249, 43, 0, 158, 247, 25, 0, 109, 68, 116, 0, 222, 89, 227, 0, 1, 67, 183, 0, 173, 66, 225, 0, 90, 40, 89, 0, 94, 167, 65, 0, 48, 241, 178, 0, 95, 150, 109, 0, 227, 12, 237, 0, 0, 172, 204, 0, 231, 214, 253, 0, 161, 21, 173, 0, 203, 40, 6, 0, 218, 131, 135, 0, 5, 183, 160, 0, 235, 240, 98, 0, 238, 171, 42, 0, 204, 46, 153, 0, 98, 150, 178, 0, 88, 185, 238, 0, 203, 176, 61, 0, 3, 170, 19, 0, 164, 168, 139, 0, 80, 249, 221, 0, 145, 172, 72, 0, 21, 251, 240, 0, 68, 81, 3, 0, 248, 250, 187, 0, 104, 183, 108, 0, 51, 119, 231, 0, 41, 26, 66, 0, 245, 110, 156, 0, 25, 38, 226, 0, 153, 169, 70, 0, 21, 248, 155, 0, 121, 38, 34, 0, 118, 123, 84, 0, 39, 22, 126, 0, 47, 138, 94, 0, 249, 246, 83, 0, 23, 231, 165, 0, 10, 230, 176, 0, 46, 106, 196, 0, 145, 219, 78, 0, 23, 6, 203, 0, 178, 209, 95, 0, 207, 68, 12, 0, 165, 154, 205, 0, 224, 236, 232, 0, 121, 194, 67, 0, 100, 166, 241, 0, 199, 247, 40, 0, 66, 120, 49, 0, 75, 101, 29, 0, 3, 42, 203, 0, 236, 21, 9, 0, 66, 250, 79, 0, 41, 238, 118, 0, 103, 19, 195, 0, 184, 200, 86, 0, 198, 171, 34, 0, 94, 222, 51, 0, 130, 66, 134, 0, 63, 199, 139, 0, 108, 202, 217, 0, 215, 7, 206, 0, 23, 131, 143, 0, 29, 86, 33, 0, 116, 200, 4, 0, 107, 246, 123, 0, 116, 241, 99, 0, 213, 146, 178, 0, 137, 48, 194, 0, 49, 137, 134, 0, 85, 121, 184, 0, 183, 203, 86, 0, 83, 210, 246, 0, 21, 177, 240, 0, 217, 204, 44, 0, 161, 186, 76, 0, 86, 62, 251, 0, 191, 97, 124, 0, 236, 189, 17, 0, 48, 78, 5, 0, 152, 162, 96, 0, 62, 70, 50, 0, 92, 196, 178, 0, 117, 166, 49, 0, 147, 89, 190, 0, 146, 191, 233, 0, 192, 0, 226, 0, 21, 202, 184, 0, 116, 110, 151, 0, 103, 168, 13, 0, 211, 162, 151, 0, 83, 40, 7, 0, 101, 108, 97, 0, 219, 98, 243, 0, 30, 4, 91, 0, 242, 71, 169, 0, 42, 101, 34, 0, 219, 38, 101, 0, 46, 71, 196, 0, 127, 45, 81, 0, 51, 179, 155, 0, 230, 47, 241, 0, 136, 38, 73, 0, 186, 240, 196, 0, 118, 148, 174, 0, \ +26, 170, 226, 0, 244, 39, 117, 0, 236, 112, 168, 0, 215, 225, 207, 0, 42, 201, 25, 0, 43, 56, 109, 0, 115, 170, 85, 0, 200, 19, 54, 0, 6, 118, 50, 0, 164, 73, 235, 0, 13, 75, 46, 0, 27, 250, 117, 0, 236, 39, 245, 0, 252, 123, 211, 0, 79, 224, 88, 0, 208, 150, 99, 0, 17, 125, 109, 0, 100, 132, 245, 0, 87, 6, 38, 0, 153, 248, 211, 0, 23, 153, 154, 0, 167, 156, 140, 0, 215, 62, 17, 0, 200, 151, 113, 0, 103, 5, 3, 0, 210, 219, 142, 0, 46, 208, 43, 0, 81, 58, 183, 0, 201, 76, 253, 0, 235, 233, 51, 0, 229, 118, 32, 0, 222, 211, 223, 0, 18, 59, 154, 0, 25, 129, 120, 0, 202, 147, 82, 0, 119, 88, 98, 0, 19, 230, 64, 0, 185, 239, 27, 0, 226, 165, 131, 0, 180, 50, 119, 0, 120, 177, 52, 0, 145, 61, 233, 0, 87, 68, 10, 0, 26, 12, 132, 0, 0, 131, 182, 0, 191, 231, 32, 0, 186, 184, 41, 0, 219, 125, 116, 0, 195, 149, 142, 0, 64, 127, 189, 0, 149, 46, 19, 0, 207, 38, 116, 0, 49, 169, 224, 0, 110, 79, 93, 0, 197, 251, 159, 0, 161, 203, 252, 0, 151, 136, 177, 0, 185, 241, 143, 0, 85, 205, 109, 0, 239, 154, 157, 0, 48, 172, 243, 0, 124, 184, 195, 0, 180, 205, 97, 0, 216, 1, 116, 0, 130, 254, 114, 0, 171, 243, 86, 0, 26, 32, 88, 0, 112, 158, 96, 0, 237, 153, 149, 0, 254, 187, 84, 0, 92, 124, 77, 0, 200, 144, 8, 0, 165, 178, 17, 0, 104, 146, 89, 0, 179, 228, 98, 0, 189, 2, 142, 0, 93, 69, 187, 0, 131, 56, 64, 0, 27, 25, 83, 0, 146, 28, 248, 0, 90, 248, 117, 0, 20, 95, 35, 0, 109, 42, 210, 0, 94, 205, 211, 0, 34, 51, 218, 0, 181, 10, 254, 0, 192, 244, 86, 0, 212, 209, 64, 0, 125, 54, 31, 0, 66, 112, 22, 0, 149, 249, 140, 0, 114, 86, 182, 0, 197, 19, 176, 0, 247, 162, 70, 0, 214, 125, 72, 0, 93, 6, 32, 0, 249, 159, 187, 0, 129, 234, 31, 0, 124, 98, 23, 0, 71, 163, 119, 0, 27, 148, 154, 0, 82, 23, 249, 0, 81, 222, 88, 0, 178, 210, 56, 0, 253, 252, 137, 0, 146, 136, 216, 0, 171, 208, 208, 0, 211, 6, 96, 0, 175, 111, 110, 0, 186, 114, 43, 0, 10, 7, 174, 0, 174, 63, 2, 0, 93, 98, 63, 0, 5, 130, 204, 0, 77, 210, 102, 0, 113, 139, 218, 0, 42, 191, 106, 0, 56, 156, 44, 0, 138, 226, 163, 0, 60, 253, 24, 0, 36, 223, 145, 0, 106, 24, 136, 0, 7, 219, 10, 0, 170, 181, 206, 0, 223, 45, 165, 0, 215, 67, 206, 0, 11, 231, 26, 0, 88, 118, 19, 0, 215, 49, 173, 0, 211, 239, 174, 0, 179, 16, 222, 0, 67, 151, 34, 0, 152, 49, 230, 0, 116, 173, 8, 0, 12, 148, 63, 0, 147, 108, 101, 0, 204, 241, 39, 0, 254, 112, 38, 0, 41, 49, 87, 0, 94, 154, 185, 0, 225, 120, 183, 0, 56, 170, 170, 0, 150, 80, 32, 0, 22, 187, 68, 0, 20, 212, 141, 0, 128, 194, 100, 0, 202, 247, 73, 0, 161, 162, 123, 0, 109, 238, 204, 0, 216, 217, 50, 0, 128, 196, 86, 0, 101, 248, 109, 0, 66, 234, 234, 0, 30, 162, 233, 0, 95, 217, 4, 0, 217, 166, 119, 0, 158, 34, 218, 0, 53, 250, 82, 0, 18, 25, 95, 0, 138, 97, 245, 0, 149, 103, 125, 0, 80, 192, 214, 0, 34, 56, 96, 0, 133, 40, 55, 0, 232, 234, 89, 0, 157, 190, 211, 0, 97, 71, 235, 0, 103, 169, 30, 0, 200, 129, 237, 0, 235, 212, 180, 0, 197, 101, 34, 0, 21, 107, 138, 0, 201, 232, 34, 0, 215, 227, 33, 0, 251, 103, 70, 0, 206, 210, 156, 0, 107, 237, 174, 0, 212, 7, 171, 0, 201, 219, 122, 0, 80, 2, 142, 0, 202, 145, 214, 0, 230, 235, 25, 0, 207, 8, 134, 0, 178, 129, 19, 0, 72, 48, 48, 0, 139, 191, 211, 0, 88, 89, 140, 0, 234, 216, 221, 0, 87, 141, 32, 0, 103, 167, 192, 0, 39, 153, 22, 0, 189, 196, 180, 0, 233, 245, 128, 0, 69, 157, 239, 0, 202, 156, 114, 0, 100, 21, 112, 0, 200, 199, 92, 0, 197, 156, 31, 0, 95, 69, 195, 0, 184, 74, 66, 0, 85, 245, 31, 0, 104, 77, 37, 0, 185, 103, 115, 0, 138, 146, 176, 0, 65, 107, 254, 0, 41, 57, 85, 0, 4, 156, 178, 0, 24, 126, 123, 0, 65, 183, 85, 0, 230, 157, 44, 0, 252, 161, 25, 0, 141, 109, 205, 0, 175, 129, 192, 0, 92, 165, 163, 0, 103, 28, 18, 0, 191, 182, 13, 0, 253, 15, 90, 0, 17, 63, 61, 0, 64, 22, 176, 0, 9, 72, 165, 0, 248, 104, 135, 0, 117, 38, 201, 0, 156, 186, 147, 0, 72, 216, 118, 0, \ +102, 199, 61, 0, 98, 189, 253, 0, 183, 16, 45, 0, 222, 118, 53, 0, 249, 110, 40, 0, 161, 211, 74, 0, 114, 106, 6, 0, 234, 31, 195, 0, 5, 82, 118, 0, 90, 251, 26, 0, 135, 158, 113, 0, 10, 144, 9, 0, 75, 205, 166, 0, 87, 189, 130, 0, 164, 81, 198, 0, 239, 200, 128, 0, 26, 137, 26, 0, 165, 122, 230, 0, 202, 67, 134, 0, 128, 6, 147, 0, 1, 90, 173, 0, 238, 178, 147, 0, 0, 84, 0, 0, 209, 153, 10, 0, 116, 185, 116, 0, 214, 134, 162, 0, 98, 74, 38, 0, 28, 28, 241, 0, 161, 134, 7, 0, 45, 138, 140, 0, 136, 160, 170, 0, 29, 181, 10, 0, 94, 18, 95, 0, 192, 175, 47, 0, 128, 64, 198, 0, 169, 2, 8, 0, 13, 148, 252, 0, 208, 11, 24, 0, 207, 23, 185, 0, 222, 130, 80, 0, 90, 212, 129, 0, 228, 74, 133, 0, 167, 47, 126, 0, 68, 254, 248, 0, 149, 234, 58, 0, 25, 250, 94, 0, 136, 26, 147, 0, 93, 167, 123, 0, 109, 18, 4, 0, 241, 64, 153, 0, 144, 144, 45, 0, 15, 214, 46, 0, 32, 215, 231, 0, 202, 151, 244, 0, 20, 230, 216, 0, 199, 23, 118, 0, 148, 211, 27, 0, 104, 84, 22, 0, 182, 101, 170, 0, 65, 113, 85, 0, 50, 79, 152, 0, 149, 182, 53, 0, 71, 144, 188, 0, 245, 60, 97, 0, 173, 210, 86, 0, 145, 199, 178, 0, 185, 198, 60, 0, 159, 183, 83, 0, 188, 119, 164, 0, 97, 232, 61, 0, 200, 229, 175, 0, 226, 122, 98, 0, 89, 73, 210, 0, 12, 172, 212, 0, 30, 31, 157, 0, 173, 204, 210, 0, 221, 8, 117, 0, 122, 46, 143, 0, 213, 10, 182, 0, 61, 169, 22, 0, 219, 68, 172, 0, 104, 16, 228, 0, 12, 185, 29, 0, 55, 14, 220, 0, 88, 232, 254, 0, 244, 245, 35, 0, 133, 191, 163, 0, 113, 133, 252, 0, 152, 48, 118, 0, 55, 241, 143, 0, 60, 101, 94, 0, 34, 198, 213, 0, 76, 50, 120, 0, 196, 56, 221, 0, 222, 140, 104, 0, 89, 19, 154, 0, 43, 38, 3, 0, 22, 82, 101, 0, 144, 101, 65, 0, 39, 76, 117, 0, 152, 138, 221, 0, 76, 109, 143, 0, 234, 96, 226, 0, 44, 237, 226, 0, 70, 84, 152, 0, 130, 242, 244, 0, 153, 183, 15, 0, 175, 200, 138, 0, 166, 175, 170, 0, 125, 218, 11, 0, 172, 34, 123, 0, 45, 198, 83, 0, 237, 228, 64, 0, 75, 161, 83, 0, 5, 134, 189, 0, 57, 170, 58, 0, 137, 188, 19, 0, 81, 144, 150, 0, 101, 225, 149, 0, 202, 50, 126, 0, 246, 32, 55, 0, 196, 236, 105, 0, 31, 210, 53, 0, 82, 87, 100, 0, 85, 204, 225, 0, 215, 116, 26, 0, 250, 100, 253, 0, 99, 164, 67, 0, 242, 156, 152, 0, 175, 116, 52, 0, 206, 48, 127, 0, 238, 49, 83, 0, 110, 227, 12, 0, 248, 26, 97, 0, 129, 121, 145, 0, 59, 122, 119, 0, 245, 153, 144, 0, 140, 237, 172, 0, 40, 76, 16, 0, 56, 234, 45, 0, 123, 109, 30, 0, 213, 66, 156, 0, 32, 64, 243, 0, 192, 234, 233, 0, 218, 226, 128, 0, 143, 124, 80, 0, 131, 221, 66, 0, 243, 190, 188, 0, 207, 8, 64, 0, 128, 72, 229, 0, 94, 1, 95, 0, 47, 203, 139, 0, 238, 131, 157, 0, 236, 143, 160, 0, 151, 67, 139, 0, 23, 215, 29, 0, 93, 248, 53, 0, 55, 28, 198, 0, 183, 185, 73, 0, 125, 216, 133, 0, 202, 50, 48, 0, 66, 104, 16, 0, 55, 185, 92, 0, 69, 161, 237, 0, 196, 235, 12, 0, 116, 71, 158, 0, 29, 62, 222, 0, 195, 235, 39, 0, 54, 249, 163, 0, 225, 241, 143, 0, 75, 21, 100, 0, 225, 174, 247, 0, 56, 202, 150, 0, 191, 173, 163, 0, 201, 20, 105, 0, 112, 165, 161, 0, 220, 0, 238, 0, 138, 2, 119, 0, 115, 189, 15, 0, 143, 90, 210, 0, 91, 144, 135, 0, 5, 70, 230, 0, 46, 24, 71, 0, 180, 90, 106, 0, 136, 130, 149, 0, 253, 55, 60, 0, 206, 104, 55, 0, 2, 119, 201, 0, 206, 51, 36, 0, 103, 92, 24, 0, 99, 30, 45, 0, 207, 82, 239, 0, 108, 12, 209, 0, 171, 157, 145, 0, 103, 225, 40, 0, 166, 177, 204, 0, 230, 44, 200, 0, 133, 94, 41, 0, 90, 201, 1, 0, 137, 201, 226, 0, 158, 242, 8, 0, 222, 205, 170, 0, 30, 19, 243, 0, 120, 83, 51, 0, 50, 8, 215, 0, 202, 32, 31, 0, 135, 64, 64, 0, 44, 205, 144, 0, 66, 139, 156, 0, 4, 13, 173, 0, 225, 240, 40, 0, 240, 236, 148, 0, 30, 94, 115, 0, 214, 103, 80, 0, 91, 105, 130, 0, 198, 63, 94, 0, 204, 102, 108, 0, 217, 216, 74, 0, 113, 194, 43, 0, 11, 151, 99, 0, 144, 160, 126, 0, 126, 68, 162, 0, 153, 170, 26, 0, 113, 240, 91, 0, \ +49, 38, 205, 0, 169, 16, 183, 0, 178, 236, 220, 0, 175, 189, 12, 0, 121, 67, 227, 0, 245, 192, 102, 0, 193, 224, 169, 0, 142, 177, 121, 0, 222, 74, 104, 0, 36, 39, 34, 0, 135, 13, 91, 0, 211, 222, 198, 0, 2, 42, 2, 0, 78, 84, 37, 0, 202, 126, 112, 0, 1, 8, 114, 0, 228, 178, 39, 0, 9, 181, 12, 0, 72, 205, 18, 0, 115, 190, 250, 0, 12, 242, 212, 0, 223, 10, 31, 0, 168, 201, 78, 0, 60, 26, 1, 0, 94, 64, 30, 0, 39, 86, 119, 0, 91, 148, 166, 0, 210, 23, 70, 0, 192, 246, 88, 0, 66, 229, 126, 0, 244, 106, 18, 0, 63, 19, 171, 0, 22, 207, 51, 0, 229, 190, 117, 0, 116, 108, 141, 0, 150, 162, 144, 0, 6, 137, 18, 0, 52, 16, 179, 0, 209, 64, 224, 0, 127, 140, 137, 0, 105, 233, 37, 0, 6, 109, 81, 0, 121, 3, 74, 0, 55, 171, 140, 0, 30, 252, 139, 0, 198, 134, 76, 0, 241, 98, 192, 0, 21, 23, 174, 0, 249, 247, 149, 0, 114, 9, 21, 0, 145, 21, 181, 0, 138, 124, 240, 0, 75, 239, 111, 0, 109, 244, 237, 0, 2, 105, 89, 0, 227, 111, 229, 0, 154, 113, 204, 0, 39, 167, 11, 0, 217, 63, 213, 0, 194, 221, 252, 0, 9, 173, 218, 0, 179, 184, 108, 0, 3, 168, 174, 0, 116, 14, 168, 0, 32, 117, 195, 0, 8, 1, 149, 0, 158, 95, 195, 0, 171, 140, 56, 0, 241, 205, 248, 0, 13, 183, 76, 0, 175, 228, 16, 0, 192, 146, 75, 0, 190, 29, 89, 0, 237, 250, 92, 0, 3, 191, 229, 0, 8, 204, 212, 0, 140, 132, 132, 0, 126, 237, 121, 0, 135, 207, 33, 0, 169, 90, 38, 0, 119, 88, 105, 0, 128, 129, 191, 0, 116, 9, 74, 0, 195, 133, 238, 0, 2, 207, 42, 0, 38, 201, 7, 0, 83, 156, 208, 0, 105, 60, 164, 0, 29, 218, 59, 0, 42, 102, 136, 0, 56, 34, 201, 0, 70, 3, 180, 0, 134, 195, 110, 0, 123, 146, 182, 0, 157, 254, 55, 0, 151, 182, 185, 0, 9, 57, 164, 0, 143, 160, 161, 0, 214, 83, 114, 0, 120, 18, 152, 0, 25, 148, 69, 0, 13, 15, 210, 0, 199, 233, 179, 0, 129, 220, 123, 0, 215, 24, 78, 0, 244, 78, 44, 0, 248, 190, 153, 0, 239, 48, 177, 0, 111, 92, 226, 0, 221, 239, 31, 0, 71, 38, 181, 0, 230, 177, 80, 0, 192, 202, 47, 0, 181, 53, 243, 0, 70, 164, 236, 0, 191, 2, 216, 0, 150, 186, 59, 0, 131, 46, 211, 0, 228, 18, 36, 0, 243, 76, 84, 0, 59, 20, 186, 0, 200, 34, 140, 0, 10, 183, 46, 0, 23, 163, 113, 0, 13, 35, 243, 0, 139, 187, 182, 0, 90, 173, 17, 0, 166, 64, 31, 0, 205, 106, 63, 0, 24, 30, 106, 0, 231, 220, 140, 0, 215, 18, 100, 0, 152, 219, 236, 0, 244, 14, 1, 0, 174, 127, 31, 0, 135, 166, 218, 0, 77, 31, 155, 0, 84, 122, 118, 0, 49, 123, 129, 0, 235, 87, 227, 0, 167, 137, 152, 0, 143, 177, 150, 0, 0, 177, 253, 0, 132, 27, 41, 0, 200, 232, 172, 0, 92, 21, 72, 0, 235, 214, 109, 0, 71, 159, 236, 0, 176, 145, 240, 0, 92, 177, 75, 0, 232, 148, 58, 0, 16, 5, 113, 0, 81, 151, 51, 0, 32, 49, 230, 0, 246, 175, 252, 0, 167, 182, 90, 0, 120, 78, 134, 0, 178, 194, 69, 0, 175, 155, 166, 0, 70, 134, 147, 0, 183, 153, 217, 0, 119, 254, 45, 0, 120, 143, 210, 0, 6, 22, 85, 0, 222, 200, 88, 0, 82, 91, 158, 0, 162, 34, 207, 0, 132, 181, 71, 0, 92, 116, 228, 0, 200, 150, 150, 0, 173, 212, 101, 0, 8, 61, 37, 0, 161, 194, 241, 0, 217, 170, 36, 0, 49, 182, 6, 0, 168, 28, 75, 0, 41, 145, 63, 0, 185, 32, 116, 0, 158, 116, 48, 0, 250, 106, 61, 0, 136, 52, 157, 0, 229, 55, 31, 0, 244, 0, 37, 0, 38, 67, 245, 0, 40, 35, 15, 0, 199, 37, 51, 0, 29, 112, 186, 0, 121, 105, 140, 0, 53, 149, 78, 0, 242, 196, 168, 0, 17, 98, 11, 0, 76, 12, 192, 0, 97, 39, 199, 0, 162, 79, 83, 0, 163, 211, 157, 0, 125, 10, 211, 0, 42, 113, 20, 0, 122, 169, 28, 0, 101, 79, 6, 0, 93, 121, 15, 0, 19, 157, 248, 0, 186, 48, 189, 0, 38, 185, 85, 0, 171, 166, 12, 0, 204, 134, 207, 0, 11, 212, 204, 0, 128, 73, 136, 0, 152, 19, 171, 0, 64, 6, 144, 0, 69, 254, 171, 0, 242, 200, 138, 0, 238, 96, 223, 0, 234, 80, 130, 0, 117, 169, 231, 0, 65, 54, 109, 0, 59, 189, 156, 0, 99, 120, 232, 0, 220, 218, 74, 0, 251, 118, 204, 0, 123, 71, 175, 0, 151, 247, 33, 0, 194, 239, 143, 0, 190, 214, 98, 0, 254, 137, 6, 0, \ +67, 242, 214, 0, 96, 161, 3, 0, 11, 50, 192, 0, 43, 146, 112, 0, 73, 129, 130, 0, 185, 230, 95, 0, 4, 132, 209, 0, 220, 161, 237, 0, 202, 191, 178, 0, 218, 24, 119, 0, 99, 198, 68, 0, 115, 88, 15, 0, 140, 81, 14, 0, 204, 149, 166, 0, 17, 57, 208, 0, 175, 57, 229, 0, 210, 102, 49, 0, 58, 145, 104, 0, 187, 152, 206, 0, 229, 181, 221, 0, 229, 100, 127, 0, 251, 91, 195, 0, 37, 16, 47, 0, 165, 3, 95, 0, 184, 186, 253, 0, 66, 55, 196, 0, 159, 244, 9, 0, 66, 167, 48, 0, 137, 34, 14, 0, 240, 180, 231, 0, 145, 90, 79, 0, 76, 149, 117, 0, 224, 35, 169, 0, 91, 137, 114, 0, 151, 167, 165, 0, 176, 11, 6, 0, 197, 193, 48, 0, 81, 174, 168, 0, 116, 8, 21, 0, 57, 136, 209, 0, 107, 223, 37, 0, 73, 21, 242, 0, 138, 223, 64, 0, 97, 48, 137, 0, 108, 156, 154, 0, 185, 154, 182, 0, 130, 92, 145, 0, 137, 87, 25, 0, 65, 225, 76, 0, 139, 212, 253, 0, 173, 204, 103, 0, 157, 97, 217, 0, 31, 202, 21, 0, 85, 27, 140, 0, 68, 229, 42, 0, 204, 162, 101, 0, 68, 3, 6, 0, 212, 240, 133, 0, 224, 16, 205, 0, 197, 45, 125, 0, 171, 1, 110, 0, 53, 237, 194, 0, 64, 190, 36, 0, 246, 162, 207, 0, 110, 125, 158, 0, 40, 135, 116, 0, 90, 36, 169, 0, 45, 174, 145, 0, 118, 80, 205, 0, 194, 98, 148, 0, 160, 205, 237, 0, 76, 220, 99, 0, 83, 120, 182, 0, 226, 11, 179, 0, 131, 200, 20, 0, 118, 149, 239, 0, 105, 146, 102, 0, 106, 150, 46, 0, 25, 22, 38, 0, 24, 148, 237, 0, 62, 230, 31, 0, 138, 211, 251, 0, 28, 22, 233, 0, 89, 198, 27, 0, 154, 123, 234, 0, 201, 35, 53, 0, 87, 172, 78, 0, 81, 82, 138, 0, 143, 185, 207, 0, 15, 211, 26, 0, 59, 53, 45, 0, 72, 245, 11, 0, 7, 115, 108, 0, 103, 74, 51, 0, 199, 192, 25, 0, 99, 208, 247, 0, 2, 123, 155, 0, 66, 29, 155, 0, 95, 89, 115, 0, 70, 40, 43, 0, 196, 172, 21, 0, 23, 157, 114, 0, 14, 96, 24, 0, 139, 175, 156, 0, 179, 149, 183, 0, 6, 165, 216, 0, 153, 18, 60, 0, 28, 154, 238, 0, 172, 170, 207, 0, 187, 137, 159, 0, 135, 203, 17, 0, 52, 31, 200, 0, 240, 71, 241, 0, 28, 233, 24, 0, 47, 91, 71, 0, 218, 124, 188, 0, 56, 28, 153, 0, 102, 178, 119, 0, 220, 179, 30, 0, 203, 156, 171, 0, 9, 252, 158, 0, 121, 200, 145, 0, 86, 55, 154, 0, 59, 76, 16, 0, 110, 220, 171, 0, 239, 161, 108, 0, 48, 188, 59, 0, 105, 156, 71, 0, 96, 176, 9, 0, 198, 151, 197, 0, 202, 121, 64, 0, 37, 34, 225, 0, 183, 13, 119, 0, 131, 140, 20, 0, 129, 171, 127, 0, 213, 163, 177, 0, 19, 99, 80, 0, 213, 44, 2, 0, 168, 223, 8, 0, 117, 128, 220, 0, 100, 186, 120, 0, 123, 222, 241, 0, 52, 47, 149, 0, 112, 126, 168, 0, 144, 109, 208, 0, 232, 126, 184, 0, 7, 44, 151, 0, 47, 59, 68, 0, 105, 232, 161, 0, 226, 212, 149, 0, 163, 20, 158, 0, 101, 54, 94, 0, 144, 127, 199, 0, 239, 179, 112, 0, 214, 161, 66, 0, 151, 94, 86, 0, 31, 155, 19, 0, 95, 33, 160, 0, 64, 227, 86, 0, 223, 58, 213, 0, 145, 185, 2, 0, 16, 97, 79, 0, 207, 21, 190, 0, 80, 227, 163, 0, 22, 152, 49, 0, 215, 248, 238, 0, 72, 216, 235, 0, 81, 5, 178, 0, 18, 137, 217, 0, 77, 94, 57, 0, 234, 29, 78, 0, 11, 205, 196, 0, 162, 52, 237, 0, 178, 52, 179, 0, 30, 166, 112, 0, 159, 52, 204, 0, 108, 194, 46, 0, 52, 48, 111, 0, 80, 172, 36, 0, 167, 10, 134, 0, 174, 25, 7, 0, 41, 44, 134, 0, 116, 82, 152, 0, 74, 92, 176, 0, 99, 174, 127, 0, 114, 188, 223, 0, 74, 104, 141, 0, 90, 18, 134, 0, 151, 110, 154, 0, 162, 10, 206, 0, 232, 161, 56, 0, 70, 179, 125, 0, 3, 21, 168, 0, 146, 178, 254, 0, 235, 39, 91, 0, 189, 6, 226, 0, 53, 105, 29, 0, 31, 48, 171, 0, 84, 0, 121, 0, 137, 32, 16, 0, 108, 76, 232, 0, 205, 228, 246, 0, 84, 47, 99, 0, 48, 121, 10, 0, 23, 97, 193, 0, 185, 105, 228, 0, 62, 126, 134, 0, 146, 210, 251, 0, 242, 238, 156, 0, 27, 21, 2, 0, 63, 115, 116, 0, 108, 184, 72, 0, 108, 123, 215, 0, 196, 36, 172, 0, 231, 63, 204, 0, 219, 209, 181, 0, 140, 50, 145, 0, 148, 88, 94, 0, 248, 215, 119, 0, 83, 221, 53, 0, 38, 195, 6, 0, 92, 189, 69, 0, 8, 175, 194, 0, 59, 184, 196, 0, \ +138, 13, 191, 0, 163, 49, 191, 0, 2, 160, 111, 0, 109, 227, 22, 0, 178, 74, 226, 0, 52, 148, 127, 0, 106, 218, 210, 0, 197, 83, 155, 0, 148, 108, 45, 0, 83, 148, 115, 0, 212, 254, 238, 0, 147, 248, 65, 0, 81, 45, 77, 0, 118, 183, 164, 0, 36, 141, 231, 0, 237, 173, 233, 0, 173, 34, 246, 0, 248, 253, 34, 0, 152, 200, 103, 0, 183, 178, 236, 0, 191, 100, 8, 0, 203, 213, 215, 0, 91, 16, 199, 0, 218, 77, 161, 0, 228, 254, 55, 0, 158, 81, 219, 0, 88, 49, 69, 0, 50, 131, 49, 0, 90, 226, 254, 0, 197, 100, 219, 0, 184, 186, 143, 0, 166, 45, 98, 0, 152, 31, 240, 0, 125, 21, 79, 0, 234, 20, 102, 0, 91, 157, 111, 0, 63, 198, 214, 0, 25, 177, 66, 0, 173, 181, 150, 0, 81, 56, 30, 0, 234, 69, 249, 0, 31, 34, 57, 0, 111, 171, 248, 0, 70, 176, 67, 0, 237, 27, 237, 0, 232, 223, 189, 0, 242, 38, 190, 0, 99, 7, 192, 0, 244, 123, 122, 0, 61, 131, 6, 0, 212, 236, 10, 0, 21, 239, 143, 0, 94, 28, 131, 0, 198, 73, 248, 0, 0, 106, 30, 0, 108, 183, 105, 0, 190, 205, 42, 0, 104, 188, 43, 0, 194, 221, 149, 0, 35, 128, 6, 0, 208, 11, 162, 0, 111, 38, 226, 0, 207, 148, 203, 0, 166, 101, 251, 0, 118, 13, 172, 0, 196, 232, 99, 0, 137, 21, 87, 0, 164, 201, 203, 0, 225, 137, 17, 0, 151, 182, 89, 0, 229, 106, 243, 0, 210, 35, 194, 0, 17, 65, 169, 0, 126, 42, 3, 0, 154, 237, 246, 0, 91, 141, 196, 0, 74, 216, 133, 0, 11, 138, 46, 0, 20, 15, 119, 0, 111, 159, 252, 0, 8, 248, 64, 0, 198, 39, 73, 0, 154, 149, 54, 0, 7, 248, 77, 0, 46, 84, 64, 0, 92, 226, 202, 0, 75, 124, 109, 0, 79, 62, 17, 0, 217, 17, 17, 0, 195, 35, 227, 0, 3, 250, 70, 0, 47, 201, 248, 0, 138, 183, 148, 0, 242, 254, 205, 0, 64, 208, 30, 0, 239, 160, 207, 0, 137, 10, 17, 0, 110, 194, 25, 0, 15, 220, 204, 0, 238, 199, 189, 0, 145, 240, 202, 0, 135, 209, 154, 0, 218, 64, 252, 0, 174, 146, 22, 0, 53, 142, 10, 0, 104, 203, 3, 0, 116, 42, 76, 0, 224, 241, 218, 0, 227, 224, 86, 0, 87, 117, 123, 0, 172, 90, 22, 0, 82, 253, 82, 0, 117, 113, 96, 0, 132, 201, 27, 0, 166, 236, 65, 0, 55, 131, 69, 0, 185, 187, 62, 0, 163, 132, 150, 0, 180, 65, 123, 0, 181, 74, 46, 0, 100, 62, 177, 0, 239, 101, 76, 0, 59, 93, 219, 0, 14, 53, 209, 0, 38, 191, 89, 0, 65, 43, 22, 0, 173, 58, 41, 0, 211, 102, 17, 0, 51, 141, 222, 0, 137, 97, 178, 0, 76, 139, 44, 0, 209, 220, 97, 0, 142, 243, 82, 0, 41, 134, 89, 0, 0, 82, 158, 0, 80, 154, 156, 0, 196, 50, 174, 0, 62, 116, 138, 0, 167, 160, 209, 0, 148, 130, 146, 0, 204, 207, 25, 0, 83, 127, 187, 0, 251, 148, 157, 0, 96, 42, 83, 0, 11, 235, 74, 0, 238, 119, 147, 0, 112, 165, 160, 0, 110, 99, 70, 0, 39, 184, 88, 0, 155, 157, 31, 0, 47, 246, 200, 0, 29, 62, 248, 0, 109, 85, 153, 0, 123, 220, 205, 0, 137, 253, 123, 0, 178, 133, 81, 0, 7, 40, 88, 0, 221, 22, 164, 0, 127, 24, 202, 0, 209, 214, 1, 0, 245, 24, 138, 0, 7, 24, 205, 0, 233, 182, 139, 0, 33, 139, 65, 0, 58, 230, 213, 0, 27, 49, 180, 0, 148, 150, 87, 0, 16, 36, 182, 0, 209, 163, 168, 0, 18, 38, 197, 0, 54, 138, 110, 0, 202, 127, 76, 0, 151, 249, 6, 0, 28, 13, 44, 0, 242, 45, 200, 0, 176, 135, 190, 0, 180, 135, 92, 0, 50, 96, 155, 0, 96, 239, 176, 0, 40, 64, 44, 0, 95, 214, 227, 0, 216, 34, 254, 0, 177, 239, 174, 0, 182, 16, 8, 0, 8, 85, 92, 0, 129, 109, 24, 0, 109, 29, 143, 0, 135, 224, 212, 0, 39, 204, 27, 0, 109, 146, 74, 0, 142, 9, 95, 0, 208, 19, 177, 0, 18, 132, 200, 0, 176, 173, 235, 0, 89, 107, 11, 0, 109, 183, 216, 0, 92, 144, 147, 0, 189, 188, 93, 0, 158, 44, 152, 0, 184, 159, 139, 0, 207, 48, 241, 0, 143, 62, 240, 0, 168, 218, 252, 0, 3, 232, 2, 0, 221, 84, 227, 0, 119, 188, 8, 0, 70, 51, 18, 0, 63, 232, 121, 0, 191, 193, 209, 0, 81, 208, 46, 0, 76, 101, 137, 0, 166, 159, 75, 0, 70, 240, 128, 0, 191, 232, 244, 0, 126, 194, 112, 0, 219, 209, 251, 0, 2, 250, 83, 0, 235, 164, 147, 0, 22, 184, 152, 0, 42, 65, 9, 0, 23, 83, 213, 0, 56, 189, 127, 0, 67, 85, 21, 0, 244, 34, 44, 0, \ +247, 75, 68, 0, 93, 147, 58, 0, 50, 113, 216, 0, 23, 44, 170, 0, 224, 15, 120, 0, 66, 94, 239, 0, 212, 179, 150, 0, 193, 55, 125, 0, 18, 72, 96, 0, 118, 68, 147, 0, 156, 118, 224, 0, 46, 48, 135, 0, 60, 161, 136, 0, 8, 120, 117, 0, 225, 105, 160, 0, 35, 150, 28, 0, 171, 64, 37, 0, 194, 79, 122, 0, 141, 76, 158, 0, 27, 29, 147, 0, 194, 138, 137, 0, 6, 91, 33, 0, 29, 81, 238, 0, 188, 115, 113, 0, 37, 223, 107, 0, 229, 103, 206, 0, 20, 142, 48, 0, 81, 92, 36, 0, 212, 80, 50, 0, 156, 216, 79, 0, 79, 134, 3, 0, 184, 55, 40, 0, 0, 104, 159, 0, 15, 133, 88, 0, 70, 21, 238, 0, 167, 34, 17, 0, 158, 194, 98, 0, 232, 190, 102, 0, 10, 126, 151, 0, 164, 211, 213, 0, 125, 96, 107, 0, 95, 103, 217, 0, 168, 89, 78, 0, 197, 173, 254, 0, 192, 170, 43, 0, 175, 118, 107, 0, 205, 22, 141, 0, 235, 253, 66, 0, 2, 106, 191, 0, 98, 91, 199, 0, 16, 158, 237, 0, 1, 125, 213, 0, 109, 121, 87, 0, 77, 47, 14, 0, 62, 219, 40, 0, 104, 174, 54, 0, 216, 176, 24, 0, 244, 251, 187, 0, 243, 198, 51, 0, 29, 15, 239, 0, 73, 208, 227, 0, 174, 31, 142, 0, 113, 97, 50, 0, 77, 148, 85, 0, 222, 17, 187, 0, 109, 254, 124, 0, 181, 99, 26, 0, 231, 139, 161, 0, 111, 212, 87, 0, 229, 69, 59, 0, 204, 113, 202, 0, 58, 57, 49, 0, 161, 143, 15, 0, 192, 99, 100, 0, 237, 93, 209, 0, 253, 57, 137, 0, 209, 227, 108, 0, 205, 4, 79, 0, 13, 97, 117, 0, 71, 66, 96, 0, 159, 170, 54, 0, 18, 112, 184, 0, 13, 183, 157, 0, 138, 135, 181, 0, 100, 51, 250, 0, 106, 0, 84, 0, 172, 31, 170, 0, 213, 128, 99, 0, 247, 71, 192, 0, 80, 24, 142, 0, 33, 52, 217, 0, 156, 132, 227, 0, 113, 109, 101, 0, 80, 113, 140, 0, 171, 170, 245, 0, 157, 120, 92, 0, 71, 229, 42, 0, 212, 93, 204, 0, 90, 235, 241, 0, 31, 40, 169, 0, 47, 92, 192, 0, 167, 132, 62, 0, 77, 125, 33, 0, 84, 108, 90, 0, 211, 254, 119, 0, 196, 65, 245, 0, 234, 170, 123, 0, 248, 251, 6, 0, 116, 10, 114, 0, 134, 85, 200, 0, 209, 40, 214, 0, 92, 24, 189, 0, 52, 13, 55, 0, 51, 208, 210, 0, 81, 225, 105, 0, 6, 23, 204, 0, 246, 11, 147, 0, 230, 148, 103, 0, 49, 128, 251, 0, 84, 114, 9, 0, 163, 142, 243, 0, 123, 45, 243, 0, 138, 237, 226, 0, 98, 125, 63, 0, 36, 94, 10, 0, 97, 83, 43, 0, 169, 27, 73, 0, 243, 137, 153, 0, 70, 156, 131, 0, 142, 200, 244, 0, 91, 145, 70, 0, 41, 234, 70, 0, 150, 14, 44, 0, 208, 109, 98, 0, 76, 78, 82, 0, 214, 77, 139, 0, 210, 222, 197, 0, 75, 27, 94, 0, 169, 103, 35, 0, 1, 52, 45, 0, 227, 128, 127, 0, 209, 186, 76, 0, 69, 126, 110, 0, 107, 252, 49, 0, 99, 85, 136, 0, 165, 155, 184, 0, 83, 223, 71, 0, 80, 198, 231, 0, 185, 123, 253, 0, 149, 234, 138, 0, 78, 127, 222, 0, 219, 242, 103, 0, 200, 29, 109, 0, 20, 68, 196, 0, 47, 19, 147, 0, 162, 74, 178, 0, 27, 148, 21, 0, 204, 81, 165, 0, 103, 20, 97, 0, 219, 52, 53, 0, 247, 208, 181, 0, 130, 176, 23, 0, 38, 191, 169, 0, 66, 252, 62, 0, 200, 63, 198, 0, 151, 68, 11, 0, 57, 66, 56, 0, 38, 164, 157, 0, 24, 100, 147, 0, 29, 80, 188, 0, 143, 96, 15, 0, 105, 161, 246, 0, 245, 21, 57, 0, 19, 242, 78, 0, 21, 114, 96, 0, 31, 37, 239, 0, 60, 225, 237, 0, 60, 105, 172, 0, 75, 49, 215, 0, 172, 2, 250, 0, 144, 4, 66, 0, 114, 34, 141, 0, 229, 214, 87, 0, 96, 202, 207, 0, 25, 209, 162, 0, 18, 35, 18, 0, 30, 39, 17, 0, 214, 145, 148, 0, 13, 180, 90, 0, 254, 252, 240, 0, 175, 189, 241, 0, 184, 53, 198, 0, 210, 223, 65, 0, 9, 70, 211, 0, 94, 96, 224, 0, 113, 65, 65, 0, 238, 181, 190, 0, 208, 103, 203, 0, 44, 93, 102, 0, 43, 168, 221, 0, 134, 230, 20, 0, 4, 235, 19, 0, 208, 205, 35, 0, 185, 28, 238, 0, 13, 195, 131, 0, 252, 190, 141, 0, 66, 132, 163, 0, 124, 39, 231, 0, 196, 94, 48, 0, 225, 170, 133, 0, 119, 82, 239, 0, 115, 12, 160, 0, 86, 60, 109, 0, 204, 84, 204, 0, 177, 23, 251, 0, 90, 240, 221, 0, 41, 104, 36, 0, 115, 85, 112, 0, 109, 93, 120, 0, 44, 177, 50, 0, 141, 149, 244, 0, 231, 247, 38, 0, 111, 205, 200, 0, 199, 38, 19, 0, \ +130, 162, 100, 0, 73, 222, 173, 0, 187, 208, 51, 0, 103, 118, 2, 0, 59, 8, 124, 0, 43, 135, 204, 0, 90, 108, 1, 0, 249, 140, 243, 0, 188, 226, 15, 0, 115, 248, 56, 0, 254, 143, 175, 0, 80, 97, 95, 0, 20, 246, 20, 0, 169, 42, 148, 0, 42, 247, 25, 0, 52, 204, 12, 0, 222, 99, 169, 0, 128, 48, 168, 0, 124, 154, 184, 0, 185, 92, 53, 0, 44, 164, 227, 0, 129, 216, 228, 0, 214, 111, 192, 0, 194, 79, 213, 0, 103, 231, 61, 0, 109, 198, 190, 0, 205, 199, 218, 0, 174, 227, 154, 0, 21, 197, 229, 0, 87, 239, 99, 0, 71, 106, 82, 0, 219, 127, 218, 0, 145, 183, 56, 0, 94, 167, 56, 0, 242, 144, 214, 0, 57, 141, 108, 0, 162, 198, 138, 0, 90, 95, 150, 0, 108, 248, 194, 0, 226, 113, 60, 0, 216, 239, 31, 0, 254, 225, 212, 0, 133, 22, 23, 0, 38, 49, 207, 0, 146, 209, 55, 0, 236, 219, 131, 0, 67, 89, 119, 0, 99, 175, 10, 0, 18, 135, 110, 0, 253, 253, 119, 0, 30, 160, 151, 0, 23, 252, 202, 0, 210, 86, 180, 0, 75, 10, 114, 0, 195, 119, 145, 0, 27, 101, 163, 0, 177, 181, 53, 0, 136, 233, 242, 0, 126, 55, 153, 0, 3, 49, 153, 0, 10, 104, 211, 0, 10, 180, 4, 0, 174, 216, 15, 0, 161, 166, 220, 0, 106, 49, 31, 0, 91, 79, 210, 0, 200, 211, 160, 0, 213, 103, 20, 0, 22, 217, 173, 0, 169, 225, 124, 0, 228, 48, 121, 0, 136, 159, 32, 0, 180, 159, 181, 0, 188, 53, 175, 0, 41, 73, 131, 0, 30, 106, 30, 0, 140, 109, 203, 0, 69, 4, 35, 0, 107, 24, 227, 0, 237, 97, 56, 0, 146, 168, 62, 0, 3, 152, 115, 0, 209, 164, 196, 0, 81, 114, 134, 0, 14, 38, 139, 0, 185, 113, 188, 0, 101, 109, 156, 0, 41, 74, 58, 0, 189, 1, 251, 0, 247, 167, 160, 0, 15, 222, 44, 0, 167, 101, 42, 0, 151, 0, 245, 0, 117, 84, 244, 0, 79, 183, 20, 0, 219, 50, 17, 0, 160, 58, 237, 0, 71, 119, 155, 0, 194, 132, 83, 0, 81, 222, 165, 0, 63, 160, 196, 0, 110, 8, 78, 0, 232, 210, 107, 0, 99, 11, 123, 0, 216, 251, 81, 0, 204, 26, 41, 0, 21, 211, 233, 0, 204, 3, 141, 0, 139, 237, 80, 0, 100, 249, 33, 0, 182, 124, 54, 0, 28, 206, 133, 0, 122, 84, 62, 0, 242, 162, 6, 0, 120, 159, 72, 0, 20, 128, 45, 0, 12, 87, 61, 0, 145, 43, 48, 0, 157, 244, 122, 0, 133, 34, 116, 0, 187, 162, 34, 0, 99, 248, 41, 0, 226, 250, 39, 0, 26, 95, 254, 0, 154, 27, 212, 0, 211, 164, 109, 0, 244, 9, 164, 0, 197, 163, 238, 0, 20, 204, 108, 0, 30, 215, 59, 0, 116, 44, 177, 0, 214, 231, 235, 0, 128, 128, 28, 0, 122, 55, 241, 0, 166, 65, 200, 0, 5, 243, 244, 0, 140, 205, 77, 0, 94, 88, 47, 0, 25, 187, 178, 0, 36, 148, 91, 0, 131, 99, 158, 0, 104, 234, 250, 0, 13, 89, 208, 0, 65, 226, 228, 0, 100, 158, 131, 0, 152, 102, 103, 0, 55, 72, 95, 0, 121, 61, 106, 0, 129, 61, 184, 0, 191, 220, 0, 0, 236, 196, 179, 0, 23, 24, 147, 0, 20, 100, 149, 0, 107, 156, 61, 0, 9, 234, 117, 0, 161, 244, 188, 0, 165, 69, 19, 0, 204, 229, 15, 0, 48, 177, 169, 0, 0, 172, 117, 0, 173, 208, 47, 0, 245, 171, 151, 0, 8, 70, 11, 0, 174, 207, 36, 0, 240, 180, 199, 0, 36, 72, 40, 0, 200, 189, 162, 0, 195, 49, 140, 0, 123, 125, 5, 0, 167, 148, 57, 0, 144, 248, 27, 0, 71, 21, 16, 0, 248, 121, 19, 0, 32, 59, 89, 0, 229, 215, 36, 0, 8, 208, 135, 0, 174, 146, 235, 0, 193, 168, 22, 0, 186, 27, 111, 0, 42, 231, 163, 0, 202, 139, 204, 0, 238, 91, 109, 0, 82, 14, 153, 0, 110, 238, 170, 0, 93, 103, 220, 0, 17, 204, 141, 0, 159, 249, 121, 0, 97, 75, 118, 0, 38, 66, 122, 0, 245, 107, 105, 0, 186, 231, 162, 0, 85, 160, 13, 0, 191, 180, 35, 0, 20, 41, 243, 0, 142, 193, 171, 0, 35, 153, 2, 0, 235, 91, 205, 0, 116, 13, 90, 0, 18, 103, 22, 0, 103, 254, 128, 0, 213, 222, 18, 0, 77, 223, 192, 0, 41, 120, 214, 0, 223, 113, 99, 0, 32, 230, 249, 0, 40, 42, 142, 0, 160, 50, 139, 0, 32, 118, 32, 0, 32, 142, 82, 0, 199, 199, 110, 0, 131, 245, 249, 0, 103, 18, 29, 0, 70, 132, 233, 0, 228, 241, 25, 0, 228, 66, 98, 0, 151, 22, 215, 0, 31, 62, 206, 0, 50, 71, 103, 0, 129, 64, 1, 0, 221, 149, 191, 0, 119, 62, 47, 0, 252, 119, 250, 0, 0, 24, 116, 0, 231, 28, 129, 0, \ +254, 252, 223, 0, 43, 205, 61, 0, 250, 215, 202, 0, 69, 10, 0, 0, 41, 120, 227, 0, 236, 238, 42, 0, 153, 25, 158, 0, 72, 87, 129, 0, 57, 100, 193, 0, 70, 116, 207, 0, 37, 183, 236, 0, 136, 136, 88, 0, 236, 46, 165, 0, 77, 31, 183, 0, 233, 72, 22, 0, 2, 218, 207, 0, 145, 158, 58, 0, 243, 254, 169, 0, 96, 202, 215, 0, 146, 71, 223, 0, 7, 245, 205, 0, 124, 95, 88, 0, 47, 199, 1, 0, 102, 183, 149, 0, 175, 192, 212, 0, 40, 253, 213, 0, 241, 205, 1, 0, 80, 103, 142, 0, 219, 34, 112, 0, 97, 92, 34, 0, 206, 87, 139, 0, 191, 169, 251, 0, 7, 171, 128, 0, 105, 76, 121, 0, 5, 183, 249, 0, 159, 158, 99, 0, 108, 212, 43, 0, 40, 219, 146, 0, 211, 69, 28, 0, 172, 30, 49, 0, 162, 213, 58, 0, 129, 182, 100, 0, 112, 220, 31, 0, 38, 230, 75, 0, 215, 133, 81, 0, 119, 182, 126, 0, 182, 16, 86, 0, 235, 201, 189, 0, 217, 182, 231, 0, 170, 14, 97, 0, 119, 151, 15, 0, 174, 211, 6, 0, 190, 89, 21, 0, 181, 233, 41, 0, 105, 19, 28, 0, 218, 97, 66, 0, 8, 86, 98, 0, 83, 44, 118, 0, 172, 45, 194, 0, 188, 213, 5, 0, 69, 10, 135, 0, 41, 62, 87, 0, 85, 212, 14, 0, 15, 234, 141, 0, 101, 108, 209, 0, 174, 13, 118, 0, 230, 188, 254, 0, 219, 91, 192, 0, 204, 207, 149, 0, 196, 14, 112, 0, 118, 100, 90, 0, 100, 169, 1, 0, 150, 17, 131, 0, 150, 119, 163, 0, 28, 245, 100, 0, 42, 70, 74, 0, 242, 98, 93, 0, 165, 88, 129, 0, 253, 194, 181, 0, 235, 200, 204, 0, 153, 85, 223, 0, 84, 224, 231, 0, 4, 211, 170, 0, 207, 148, 85, 0, 141, 25, 44, 0, 198, 241, 148, 0, 7, 51, 190, 0, 16, 132, 230, 0, 223, 87, 108, 0, 0, 86, 123, 0, 26, 61, 205, 0, 195, 12, 232, 0, 201, 6, 83, 0, 228, 189, 117, 0, 164, 38, 40, 0, 224, 208, 210, 0, 178, 22, 225, 0, 162, 61, 101, 0, 93, 175, 104, 0, 253, 38, 15, 0, 162, 228, 195, 0, 164, 23, 8, 0, 167, 172, 85, 0, 208, 46, 248, 0, 143, 235, 242, 0, 2, 239, 140, 0, 59, 205, 82, 0, 130, 161, 63, 0, 40, 112, 75, 0, 109, 67, 26, 0, 191, 202, 187, 0, 87, 183, 219, 0, 110, 126, 9, 0, 60, 83, 151, 0, 22, 214, 146, 0, 68, 158, 231, 0, 146, 126, 143, 0, 218, 169, 141, 0, 64, 74, 196, 0, 249, 5, 222, 0, 169, 61, 217, 0, 158, 198, 154, 0, 46, 33, 176, 0, 195, 78, 47, 0, 0, 56, 115, 0, 218, 102, 212, 0, 71, 29, 35, 0, 71, 190, 171, 0, 72, 76, 222, 0, 66, 94, 14, 0, 58, 130, 228, 0, 19, 89, 65, 0, 75, 196, 238, 0, 52, 95, 16, 0, 88, 47, 45, 0, 190, 241, 45, 0, 74, 28, 42, 0, 173, 35, 221, 0, 79, 205, 10, 0, 169, 228, 157, 0, 186, 174, 141, 0, 115, 182, 119, 0, 22, 154, 88, 0, 245, 101, 133, 0, 184, 121, 154, 0, 85, 63, 249, 0, 168, 182, 125, 0, 233, 73, 250, 0, 181, 232, 79, 0, 252, 173, 35, 0, 208, 69, 17, 0, 6, 86, 238, 0, 31, 129, 117, 0, 68, 0, 52, 0, 127, 7, 79, 0, 142, 77, 214, 0, 57, 150, 223, 0, 232, 72, 247, 0, 164, 215, 211, 0, 141, 31, 51, 0, 1, 231, 158, 0, 121, 29, 151, 0, 17, 127, 42, 0, 213, 30, 167, 0, 14, 53, 201, 0, 236, 77, 34, 0, 12, 126, 12, 0, 182, 156, 3, 0, 68, 171, 236, 0, 35, 156, 174, 0, 172, 38, 113, 0, 126, 111, 130, 0, 38, 2, 121, 0, 86, 216, 114, 0, 210, 249, 162, 0, 117, 94, 234, 0, 248, 169, 254, 0, 109, 35, 37, 0, 79, 241, 51, 0, 18, 130, 65, 0, 26, 134, 195, 0, 19, 127, 85, 0, 93, 147, 128, 0, 112, 25, 217, 0, 223, 173, 33, 0, 82, 111, 230, 0, 224, 250, 34, 0, 66, 191, 178, 0, 53, 187, 190, 0, 87, 214, 34, 0, 67, 192, 124, 0, 242, 121, 101, 0, 106, 9, 7, 0, 70, 209, 13, 0, 91, 162, 188, 0, 113, 210, 51, 0, 41, 26, 164, 0, 203, 170, 44, 0, 81, 58, 243, 0, 124, 97, 227, 0, 131, 4, 164, 0, 36, 88, 20, 0, 250, 58, 249, 0, 151, 211, 128, 0, 100, 244, 163, 0, 19, 21, 196, 0, 130, 70, 44, 0, 181, 4, 153, 0, 185, 171, 97, 0, 48, 3, 203, 0, 62, 17, 36, 0, 8, 207, 203, 0, 126, 173, 17, 0, 98, 236, 6, 0, 207, 134, 91, 0, 138, 78, 237, 0, 87, 252, 26, 0, 145, 50, 193, 0, 96, 164, 139, 0, 79, 124, 70, 0, 35, 137, 40, 0, 1, 61, 75, 0, 125, 110, 76, 0, 254, 66, 124, 0, \ +92, 198, 105, 0, 26, 229, 94, 0, 151, 215, 3, 0, 110, 71, 70, 0, 196, 134, 96, 0, 52, 152, 180, 0, 12, 253, 176, 0, 207, 84, 105, 0, 233, 52, 238, 0, 79, 9, 241, 0, 90, 30, 39, 0, 48, 249, 116, 0, 44, 2, 241, 0, 109, 108, 226, 0, 13, 224, 168, 0, 241, 198, 219, 0, 248, 177, 245, 0, 67, 62, 93, 0, 125, 17, 103, 0, 198, 74, 105, 0, 232, 87, 252, 0, 181, 140, 147, 0, 248, 128, 219, 0, 14, 101, 3, 0, 245, 8, 250, 0, 118, 70, 127, 0, 127, 101, 151, 0, 15, 135, 245, 0, 188, 9, 73, 0, 132, 101, 189, 0, 192, 70, 105, 0, 254, 67, 6, 0, 110, 119, 222, 0, 57, 38, 232, 0, 175, 110, 246, 0, 181, 114, 188, 0, 203, 101, 69, 0, 39, 194, 4, 0, 37, 37, 160, 0, 246, 49, 20, 0, 94, 12, 115, 0, 219, 32, 56, 0, 10, 228, 220, 0, 135, 66, 165, 0, 0, 45, 247, 0, 244, 54, 72, 0, 108, 55, 162, 0, 150, 251, 191, 0, 125, 161, 105, 0, 251, 134, 156, 0, 226, 191, 34, 0, 136, 98, 105, 0, 229, 138, 232, 0, 43, 36, 145, 0, 189, 222, 99, 0, 193, 105, 185, 0, 93, 160, 89, 0, 90, 159, 174, 0, 230, 201, 30, 0, 251, 177, 207, 0, 210, 251, 139, 0, 152, 230, 231, 0, 84, 23, 154, 0, 178, 54, 121, 0, 68, 61, 20, 0, 112, 93, 104, 0, 31, 239, 113, 0, 68, 254, 28, 0, 178, 133, 138, 0, 8, 124, 240, 0, 21, 39, 14, 0, 228, 48, 175, 0, 81, 16, 223, 0, 55, 30, 88, 0, 170, 208, 83, 0, 168, 198, 25, 0, 13, 217, 36, 0, 232, 8, 144, 0, 194, 211, 77, 0, 140, 73, 63, 0, 189, 50, 195, 0, 236, 83, 60, 0, 139, 239, 171, 0, 33, 111, 71, 0, 215, 30, 244, 0, 96, 8, 190, 0, 80, 89, 109, 0, 236, 247, 109, 0, 187, 246, 39, 0, 205, 114, 102, 0, 171, 192, 157, 0, 68, 181, 252, 0, 163, 229, 194, 0, 67, 141, 198, 0, 48, 198, 33, 0, 59, 220, 183, 0, 15, 68, 215, 0, 159, 158, 230, 0, 18, 82, 19, 0, 218, 74, 214, 0, 78, 174, 26, 0, 140, 37, 108, 0, 77, 163, 125, 0, 126, 202, 238, 0, 219, 173, 122, 0, 157, 10, 165, 0, 108, 241, 221, 0, 89, 86, 101, 0, 79, 251, 45, 0, 131, 147, 185, 0, 215, 124, 182, 0, 252, 23, 143, 0, 1, 184, 91, 0, 235, 125, 249, 0, 24, 12, 159, 0, 114, 103, 77, 0, 101, 201, 212, 0, 193, 90, 130, 0, 195, 75, 52, 0, 46, 226, 152, 0, 16, 132, 239, 0, 94, 216, 20, 0, 171, 112, 216, 0, 244, 89, 239, 0, 121, 198, 120, 0, 36, 134, 187, 0, 144, 11, 232, 0, 246, 75, 195, 0, 104, 40, 166, 0, 202, 8, 200, 0, 191, 166, 132, 0, 50, 118, 246, 0, 32, 213, 135, 0, 133, 88, 164, 0, 230, 156, 176, 0, 144, 127, 149, 0, 127, 126, 50, 0, 159, 68, 174, 0, 157, 149, 106, 0, 234, 20, 75, 0, 60, 202, 63, 0, 113, 13, 100, 0, 15, 202, 55, 0, 149, 143, 254, 0, 208, 33, 236, 0, 83, 250, 56, 0, 161, 199, 140, 0, 63, 45, 160, 0, 36, 242, 171, 0, 207, 203, 69, 0, 242, 44, 179, 0, 101, 8, 94, 0, 6, 72, 192, 0, 96, 23, 16, 0, 88, 160, 119, 0, 71, 3, 201, 0, 226, 90, 86, 0, 170, 168, 131, 0, 226, 95, 219, 0, 42, 25, 53, 0, 192, 140, 87, 0, 237, 173, 0, 0, 97, 80, 27, 0, 17, 239, 81, 0, 126, 149, 196, 0, 125, 63, 71, 0, 183, 21, 149, 0, 227, 127, 249, 0, 171, 104, 98, 0, 41, 91, 72, 0, 198, 215, 254, 0, 30, 55, 177, 0, 241, 182, 121, 0, 230, 58, 168, 0, 83, 233, 250, 0, 228, 30, 42, 0, 58, 59, 251, 0, 206, 155, 173, 0, 252, 38, 23, 0, 74, 161, 181, 0, 20, 188, 237, 0, 119, 66, 98, 0, 166, 133, 181, 0, 254, 148, 121, 0, 202, 223, 224, 0, 109, 186, 183, 0, 176, 96, 65, 0, 152, 126, 101, 0, 137, 149, 159, 0, 205, 143, 61, 0, 230, 210, 220, 0, 100, 113, 26, 0, 137, 155, 159, 0, 158, 77, 163, 0, 112, 180, 8, 0, 199, 122, 62, 0, 42, 132, 190, 0, 83, 232, 63, 0, 105, 150, 176, 0, 103, 206, 54, 0, 96, 204, 170, 0, 50, 29, 202, 0, 234, 241, 9, 0, 233, 243, 190, 0, 84, 75, 129, 0, 118, 20, 251, 0, 212, 203, 176, 0, 162, 131, 201, 0, 215, 99, 200, 0, 175, 192, 58, 0, 27, 67, 20, 0, 177, 232, 49, 0, 99, 136, 106, 0, 129, 59, 233, 0, 131, 106, 208, 0, 248, 187, 248, 0, 10, 48, 140, 0, 113, 234, 12, 0, 50, 247, 52, 0, 184, 52, 57, 0, 190, 1, 185, 0, 180, 106, 20, 0, 135, 123, 203, 0, 204, 225, 123, 0, \ +144, 180, 199, 0, 48, 42, 22, 0, 186, 223, 39, 0, 64, 0, 241, 0, 224, 24, 206, 0, 48, 80, 184, 0, 164, 115, 22, 0, 154, 36, 164, 0, 95, 224, 80, 0, 54, 124, 107, 0, 142, 74, 205, 0, 71, 235, 180, 0, 239, 3, 224, 0, 130, 219, 5, 0, 155, 138, 161, 0, 221, 233, 118, 0, 169, 120, 99, 0, 41, 236, 159, 0, 224, 254, 102, 0, 246, 21, 219, 0, 151, 164, 136, 0, 145, 19, 102, 0, 182, 11, 248, 0, 197, 106, 123, 0, 214, 106, 115, 0, 84, 92, 121, 0, 45, 72, 246, 0, 1, 76, 57, 0, 187, 226, 237, 0, 106, 151, 116, 0, 160, 133, 198, 0, 222, 125, 47, 0, 21, 163, 98, 0, 128, 204, 73, 0, 83, 218, 13, 0, 63, 250, 174, 0, 87, 10, 33, 0, 92, 143, 194, 0, 194, 152, 60, 0, 133, 178, 30, 0, 68, 145, 119, 0, 23, 59, 143, 0, 250, 179, 149, 0, 181, 188, 125, 0, 180, 96, 133, 0, 223, 149, 173, 0, 183, 69, 204, 0, 121, 28, 241, 0, 50, 233, 40, 0, 250, 143, 109, 0, 231, 142, 146, 0, 191, 216, 130, 0, 28, 205, 124, 0, 132, 212, 229, 0, 195, 176, 77, 0, 188, 185, 20, 0, 111, 50, 3, 0, 37, 88, 128, 0, 228, 227, 117, 0, 194, 246, 144, 0, 214, 36, 239, 0, 54, 149, 111, 0, 91, 227, 220, 0, 180, 117, 108, 0, 93, 219, 106, 0, 233, 77, 122, 0, 38, 208, 40, 0, 172, 17, 14, 0, 64, 25, 59, 0, 58, 75, 191, 0, 39, 156, 14, 0, 206, 142, 225, 0, 230, 155, 186, 0, 109, 64, 177, 0, 39, 183, 36, 0, 151, 210, 106, 0, 84, 114, 65, 0, 218, 144, 43, 0, 225, 30, 56, 0, 203, 186, 194, 0, 116, 112, 175, 0, 170, 103, 170, 0, 215, 22, 115, 0, 178, 30, 142, 0, 109, 245, 74, 0, 182, 161, 111, 0, 98, 109, 71, 0, 48, 50, 34, 0, 163, 76, 98, 0, 250, 151, 32, 0, 129, 141, 137, 0, 42, 46, 113, 0, 80, 115, 93, 0, 71, 205, 221, 0, 250, 119, 9, 0, 83, 234, 230, 0, 25, 84, 175, 0, 170, 162, 5, 0, 237, 48, 71, 0, 71, 58, 229, 0, 61, 192, 131, 0, 183, 58, 177, 0, 12, 246, 37, 0, 93, 51, 230, 0, 60, 157, 221, 0, 103, 40, 166, 0, 153, 56, 228, 0, 92, 79, 92, 0, 240, 223, 108, 0, 161, 115, 235, 0, 4, 155, 66, 0, 57, 236, 31, 0, 98, 82, 191, 0, 197, 169, 65, 0, 125, 159, 220, 0, 93, 156, 52, 0, 3, 149, 171, 0, 2, 4, 44, 0, 252, 213, 80, 0, 112, 225, 33, 0, 41, 87, 245, 0, 24, 254, 205, 0, 108, 131, 239, 0, 129, 31, 240, 0, 199, 248, 248, 0, 54, 26, 150, 0, 30, 125, 130, 0, 19, 92, 117, 0, 73, 108, 182, 0, 218, 216, 43, 0, 217, 234, 25, 0, 177, 38, 106, 0, 235, 73, 110, 0, 168, 162, 57, 0, 52, 52, 167, 0, 154, 33, 206, 0, 17, 254, 124, 0, 128, 227, 109, 0, 134, 138, 130, 0, 246, 140, 148, 0, 166, 51, 161, 0, 146, 237, 206, 0, 148, 234, 247, 0, 241, 228, 143, 0, 79, 36, 145, 0, 7, 219, 178, 0, 117, 149, 181, 0, 200, 113, 12, 0, 181, 15, 21, 0, 52, 148, 24, 0, 188, 175, 210, 0, 108, 51, 182, 0, 125, 96, 139, 0, 141, 150, 44, 0, 201, 25, 14, 0, 66, 147, 234, 0, 172, 165, 4, 0, 0, 41, 152, 0, 109, 3, 32, 0, 179, 157, 101, 0, 98, 112, 69, 0, 213, 178, 17, 0, 218, 58, 247, 0, 134, 146, 65, 0, 37, 242, 64, 0, 58, 149, 150, 0, 182, 223, 119, 0, 101, 51, 182, 0, 153, 199, 200, 0, 147, 190, 231, 0, 189, 176, 182, 0, 24, 62, 155, 0, 225, 126, 244, 0, 95, 197, 42, 0, 138, 62, 251, 0, 217, 134, 210, 0, 49, 148, 199, 0, 153, 104, 235, 0, 170, 50, 234, 0, 79, 7, 27, 0, 139, 29, 154, 0, 185, 210, 153, 0, 131, 81, 117, 0, 227, 39, 249, 0, 60, 44, 121, 0, 32, 67, 169, 0, 83, 55, 20, 0, 29, 67, 76, 0, 39, 164, 198, 0, 35, 39, 85, 0, 252, 195, 36, 0, 247, 184, 196, 0, 240, 63, 79, 0, 68, 106, 150, 0, 29, 250, 230, 0, 152, 229, 133, 0, 74, 172, 146, 0, 9, 184, 199, 0, 200, 161, 54, 0, 243, 175, 101, 0, 78, 204, 220, 0, 161, 93, 144, 0, 128, 80, 139, 0, 31, 15, 110, 0, 248, 183, 138, 0, 170, 123, 123, 0, 127, 16, 164, 0, 198, 121, 182, 0, 155, 92, 212, 0, 170, 15, 211, 0, 2, 122, 137, 0, 190, 200, 195, 0, 164, 76, 93, 0, 234, 90, 237, 0, 81, 187, 181, 0, 162, 151, 230, 0, 154, 102, 231, 0, 114, 79, 120, 0, 238, 208, 18, 0, 171, 56, 53, 0, 155, 239, 136, 0, 71, 186, 202, 0, 233, 164, 34, 0, 252, 87, 25, 0, \ +18, 237, 118, 0, 87, 152, 216, 0, 12, 137, 119, 0, 243, 155, 1, 0, 88, 243, 80, 0, 133, 163, 106, 0, 222, 81, 73, 0, 214, 152, 86, 0, 136, 184, 120, 0, 131, 33, 78, 0, 57, 178, 230, 0, 100, 126, 66, 0, 216, 9, 101, 0, 33, 112, 228, 0, 148, 95, 217, 0, 131, 147, 66, 0, 156, 203, 7, 0, 8, 159, 189, 0, 31, 107, 82, 0, 179, 13, 188, 0, 252, 124, 108, 0, 209, 21, 221, 0, 127, 191, 136, 0, 48, 79, 48, 0, 69, 49, 4, 0, 189, 235, 206, 0, 241, 130, 62, 0, 202, 10, 140, 0, 23, 70, 150, 0, 115, 203, 12, 0, 191, 88, 235, 0, 215, 239, 9, 0, 238, 200, 121, 0, 48, 9, 126, 0, 42, 217, 94, 0, 88, 228, 214, 0, 38, 213, 97, 0, 67, 109, 195, 0, 42, 76, 160, 0, 43, 106, 152, 0, 86, 34, 81, 0, 83, 31, 37, 0, 10, 243, 162, 0, 170, 246, 9, 0, 75, 168, 103, 0, 162, 89, 194, 0, 199, 164, 25, 0, 20, 152, 54, 0, 73, 81, 252, 0, 225, 70, 120, 0, 90, 73, 224, 0, 151, 236, 48, 0, 188, 176, 118, 0, 45, 34, 154, 0, 170, 156, 77, 0, 116, 75, 127, 0, 13, 231, 244, 0, 196, 87, 204, 0, 202, 249, 136, 0, 209, 180, 179, 0, 203, 174, 155, 0, 187, 164, 178, 0, 107, 20, 235, 0, 139, 57, 97, 0, 149, 195, 92, 0, 227, 91, 249, 0, 124, 173, 171, 0, 252, 37, 253, 0, 218, 141, 236, 0, 219, 164, 31, 0, 164, 227, 62, 0, 194, 13, 29, 0, 100, 63, 175, 0, 209, 151, 44, 0, 253, 74, 225, 0, 131, 71, 207, 0, 156, 191, 8, 0, 241, 166, 239, 0, 143, 0, 127, 0, 57, 241, 145, 0, 59, 170, 75, 0, 228, 234, 24, 0, 121, 234, 169, 0, 53, 22, 206, 0, 65, 5, 149, 0, 110, 71, 135, 0, 7, 135, 60, 0, 25, 217, 190, 0, 36, 215, 133, 0, 5, 56, 54, 0, 77, 101, 63, 0, 153, 103, 135, 0, 174, 183, 155, 0, 206, 0, 136, 0, 177, 232, 41, 0, 171, 241, 22, 0, 35, 205, 36, 0, 110, 213, 59, 0, 93, 203, 132, 0, 105, 113, 23, 0, 159, 240, 52, 0, 18, 172, 104, 0, 103, 205, 221, 0, 93, 194, 181, 0, 191, 179, 135, 0, 228, 5, 134, 0, 103, 107, 124, 0, 82, 77, 27, 0, 42, 181, 44, 0, 12, 215, 87, 0, 208, 234, 234, 0, 52, 13, 26, 0, 84, 182, 161, 0, 123, 222, 221, 0, 32, 229, 178, 0, 57, 135, 89, 0, 174, 12, 136, 0, 32, 47, 164, 0, 250, 235, 174, 0, 66, 25, 57, 0, 76, 117, 200, 0, 125, 244, 97, 0, 173, 189, 157, 0, 203, 217, 201, 0, 66, 113, 233, 0, 51, 170, 57, 0, 152, 13, 201, 0, 103, 104, 234, 0, 72, 147, 9, 0, 182, 82, 151, 0, 81, 111, 111, 0, 36, 236, 136, 0, 123, 13, 85, 0, 160, 186, 21, 0, 232, 148, 141, 0, 45, 21, 95, 0, 37, 158, 131, 0, 96, 119, 71, 0, 122, 103, 126, 0, 16, 7, 127, 0, 50, 244, 189, 0, 151, 137, 44, 0, 189, 42, 123, 0, 75, 73, 34, 0, 200, 110, 94, 0, 96, 75, 59, 0, 218, 174, 204, 0, 141, 50, 92, 0, 149, 217, 237, 0, 161, 93, 130, 0, 113, 246, 11, 0, 83, 145, 200, 0, 7, 187, 229, 0, 98, 86, 33, 0, 86, 123, 198, 0, 52, 212, 218, 0, 60, 34, 107, 0, 143, 13, 92, 0, 158, 153, 111, 0, 3, 129, 54, 0, 66, 27, 247, 0, 49, 210, 148, 0, 65, 105, 31, 0, 171, 146, 236, 0, 170, 85, 66, 0, 115, 208, 116, 0, 243, 231, 32, 0, 146, 170, 154, 0, 238, 198, 155, 0, 34, 14, 113, 0, 219, 21, 93, 0, 154, 64, 188, 0, 42, 159, 152, 0, 61, 118, 78, 0, 192, 129, 12, 0, 43, 74, 205, 0, 103, 152, 76, 0, 214, 85, 35, 0, 119, 225, 223, 0, 41, 131, 3, 0, 224, 58, 29, 0, 212, 57, 232, 0, 99, 88, 155, 0, 93, 171, 193, 0, 30, 10, 135, 0, 180, 94, 128, 0, 47, 127, 108, 0, 183, 223, 84, 0, 216, 78, 156, 0, 250, 248, 219, 0, 232, 71, 239, 0, 170, 245, 188, 0, 90, 126, 191, 0, 230, 48, 146, 0, 179, 200, 67, 0, 192, 9, 153, 0, 29, 30, 79, 0, 219, 205, 184, 0, 29, 126, 168, 0, 26, 217, 189, 0, 30, 17, 124, 0, 246, 38, 137, 0, 100, 245, 32, 0, 119, 32, 153, 0, 68, 91, 133, 0, 75, 10, 99, 0, 196, 239, 112, 0, 25, 197, 67, 0, 35, 30, 206, 0, 123, 140, 164, 0, 58, 226, 40, 0, 51, 61, 109, 0, 83, 86, 174, 0, 243, 58, 170, 0, 211, 6, 35, 0, 111, 211, 70, 0, 243, 228, 156, 0, 253, 46, 151, 0, 80, 141, 176, 0, 210, 195, 106, 0, 191, 124, 159, 0, 1, 186, 59, 0, 192, 77, 128, 0, 140, 71, 236, 0, \ +164, 131, 251, 0, 5, 120, 172, 0, 183, 149, 127, 0, 8, 106, 152, 0, 14, 117, 133, 0, 20, 195, 151, 0, 251, 175, 221, 0, 81, 44, 228, 0, 237, 178, 44, 0, 96, 185, 175, 0, 153, 216, 22, 0, 238, 200, 42, 0, 75, 214, 196, 0, 223, 16, 220, 0, 18, 103, 56, 0, 34, 49, 159, 0, 240, 232, 165, 0, 19, 83, 220, 0, 8, 69, 114, 0, 239, 144, 173, 0, 115, 52, 124, 0, 97, 5, 44, 0, 81, 172, 177, 0, 30, 37, 10, 0, 93, 151, 181, 0, 48, 166, 143, 0, 187, 112, 67, 0, 35, 20, 30, 0, 191, 151, 83, 0, 72, 29, 174, 0, 148, 188, 206, 0, 170, 216, 240, 0, 86, 15, 171, 0, 216, 13, 142, 0, 226, 74, 171, 0, 34, 132, 137, 0, 109, 73, 248, 0, 232, 91, 84, 0, 97, 240, 188, 0, 239, 89, 48, 0, 190, 103, 64, 0, 162, 169, 51, 0, 196, 130, 58, 0, 204, 85, 163, 0, 42, 198, 225, 0, 164, 235, 96, 0, 87, 229, 99, 0, 139, 243, 152, 0, 4, 57, 197, 0, 194, 8, 176, 0, 48, 21, 118, 0, 215, 69, 66, 0, 194, 163, 34, 0, 83, 128, 41, 0, 133, 189, 252, 0, 101, 94, 162, 0, 174, 111, 72, 0, 211, 229, 181, 0, 84, 16, 102, 0, 155, 215, 139, 0, 39, 116, 245, 0, 49, 241, 230, 0, 223, 137, 131, 0, 155, 141, 152, 0, 87, 5, 5, 0, 198, 97, 101, 0, 111, 8, 202, 0, 215, 229, 57, 0, 49, 31, 80, 0, 193, 59, 188, 0, 139, 133, 91, 0, 180, 69, 44, 0, 76, 165, 138, 0, 234, 120, 244, 0, 194, 92, 167, 0, 97, 224, 106, 0, 5, 178, 231, 0, 4, 174, 47, 0, 241, 175, 249, 0, 161, 71, 227, 0, 22, 38, 75, 0, 194, 43, 14, 0, 127, 133, 25, 0, 239, 127, 51, 0, 118, 167, 175, 0, 148, 15, 237, 0, 151, 157, 143, 0, 207, 239, 141, 0, 234, 215, 224, 0, 61, 228, 185, 0, 64, 215, 55, 0, 150, 230, 211, 0, 134, 229, 45, 0, 129, 247, 219, 0, 236, 57, 32, 0, 182, 114, 127, 0, 114, 0, 80, 0, 222, 134, 40, 0, 212, 214, 132, 0, 232, 239, 120, 0, 110, 74, 144, 0, 2, 237, 249, 0, 93, 80, 184, 0, 120, 79, 112, 0, 166, 251, 32, 0, 68, 249, 60, 0, 252, 249, 234, 0, 84, 83, 162, 0, 216, 46, 174, 0, 200, 121, 14, 0, 0, 199, 160, 0, 196, 148, 177, 0, 239, 100, 119, 0, 38, 180, 16, 0, 134, 57, 182, 0, 97, 244, 105, 0, 149, 35, 62, 0, 147, 49, 130, 0, 104, 25, 102, 0, 31, 36, 179, 0, 178, 9, 147, 0, 204, 41, 100, 0, 243, 144, 161, 0, 42, 246, 148, 0, 220, 154, 127, 0, 96, 211, 252, 0, 250, 199, 56, 0, 132, 99, 156, 0, 85, 226, 195, 0, 72, 214, 181, 0, 237, 17, 178, 0, 165, 20, 200, 0, 252, 84, 193, 0, 151, 7, 51, 0, 7, 235, 160, 0, 32, 218, 214, 0, 85, 44, 200, 0, 183, 8, 18, 0, 226, 137, 41, 0, 126, 118, 108, 0, 41, 23, 96, 0, 235, 109, 45, 0, 85, 250, 140, 0, 247, 149, 134, 0, 83, 42, 176, 0, 33, 58, 118, 0, 53, 139, 231, 0, 137, 243, 246, 0, 103, 33, 188, 0, 171, 244, 233, 0, 162, 120, 62, 0, 158, 240, 166, 0, 110, 227, 157, 0, 209, 208, 203, 0, 48, 142, 205, 0, 105, 135, 254, 0, 140, 143, 194, 0, 162, 146, 48, 0, 98, 15, 40, 0, 57, 240, 123, 0, 186, 222, 247, 0, 63, 147, 210, 0, 220, 210, 70, 0, 114, 122, 86, 0, 127, 112, 135, 0, 28, 38, 130, 0, 34, 175, 173, 0, 27, 126, 54, 0, 253, 47, 38, 0, 26, 78, 81, 0, 144, 242, 6, 0, 6, 96, 142, 0, 177, 77, 167, 0, 27, 114, 46, 0, 49, 91, 32, 0, 201, 167, 68, 0, 37, 161, 13, 0, 242, 90, 64, 0, 26, 50, 161, 0, 143, 44, 236, 0, 65, 0, 200, 0, 186, 7, 176, 0, 66, 125, 92, 0, 73, 55, 8, 0, 112, 134, 67, 0, 90, 68, 161, 0, 198, 76, 245, 0, 36, 99, 213, 0, 70, 80, 192, 0, 78, 40, 136, 0, 111, 145, 93, 0, 21, 141, 157, 0, 213, 6, 117, 0, 15, 11, 237, 0, 169, 77, 241, 0, 223, 167, 49, 0, 35, 213, 127, 0, 253, 47, 153, 0, 127, 135, 30, 0, 116, 144, 196, 0, 226, 126, 40, 0, 146, 63, 135, 0, 97, 57, 130, 0, 81, 184, 63, 0, 183, 20, 173, 0, 108, 126, 81, 0, 39, 118, 150, 0, 48, 119, 100, 0, 21, 102, 12, 0, 14, 154, 124, 0, 76, 243, 99, 0, 49, 235, 120, 0, 215, 247, 79, 0, 243, 127, 218, 0, 230, 168, 86, 0, 35, 59, 195, 0, 124, 126, 152, 0, 197, 126, 48, 0, 10, 15, 117, 0, 140, 163, 190, 0, 224, 217, 29, 0, 18, 253, 184, 0, 59, 226, 253, 0, 12, 27, 124, 0, \ +193, 151, 53, 0, 159, 17, 173, 0, 41, 21, 148, 0, 96, 76, 190, 0, 82, 224, 12, 0, 67, 113, 247, 0, 240, 9, 86, 0, 232, 191, 209, 0, 216, 3, 98, 0, 68, 101, 117, 0, 167, 93, 106, 0, 121, 12, 213, 0, 210, 181, 168, 0, 234, 239, 213, 0, 58, 160, 26, 0, 208, 174, 45, 0, 169, 96, 158, 0, 95, 37, 249, 0, 37, 161, 19, 0, 22, 203, 234, 0, 128, 78, 121, 0, 179, 239, 6, 0, 189, 205, 209, 0, 57, 10, 131, 0, 151, 241, 176, 0, 9, 52, 32, 0, 33, 253, 1, 0, 97, 110, 164, 0, 166, 42, 244, 0, 176, 205, 69, 0, 109, 203, 43, 0, 144, 84, 250, 0, 16, 227, 105, 0, 137, 37, 195, 0, 219, 67, 148, 0, 72, 225, 103, 0, 86, 124, 79, 0, 235, 220, 103, 0, 85, 144, 241, 0, 99, 174, 118, 0, 163, 209, 95, 0, 37, 39, 83, 0, 36, 59, 252, 0, 154, 66, 182, 0, 67, 250, 233, 0, 201, 31, 94, 0, 162, 101, 97, 0, 96, 174, 106, 0, 86, 3, 100, 0, 61, 172, 25, 0, 218, 160, 239, 0, 188, 98, 225, 0, 98, 176, 112, 0, 97, 140, 97, 0, 211, 207, 101, 0, 1, 91, 67, 0, 12, 4, 91, 0, 96, 164, 11, 0, 167, 19, 62, 0, 36, 77, 241, 0, 120, 104, 233, 0, 6, 176, 215, 0, 182, 93, 94, 0, 64, 244, 108, 0, 210, 22, 215, 0, 195, 240, 107, 0, 20, 74, 248, 0, 80, 179, 89, 0, 155, 99, 84, 0, 213, 121, 249, 0, 186, 104, 46, 0, 183, 226, 117, 0, 64, 151, 232, 0, 0, 46, 27, 0, 216, 28, 132, 0, 234, 125, 35, 0, 223, 173, 119, 0, 8, 73, 205, 0, 47, 167, 180, 0, 216, 108, 153, 0, 212, 81, 99, 0, 182, 145, 42, 0, 154, 210, 150, 0, 41, 20, 232, 0, 44, 143, 9, 0, 116, 121, 247, 0, 85, 118, 74, 0, 120, 106, 2, 0, 207, 199, 19, 0, 22, 41, 21, 0, 73, 47, 251, 0, 187, 221, 58, 0, 70, 232, 163, 0, 48, 206, 13, 0, 69, 123, 132, 0, 142, 119, 244, 0, 140, 159, 150, 0, 23, 177, 250, 0, 106, 240, 181, 0, 222, 160, 161, 0, 71, 58, 203, 0, 59, 10, 225, 0, 101, 44, 88, 0, 178, 237, 232, 0, 44, 95, 210, 0, 141, 101, 25, 0, 220, 245, 216, 0, 146, 136, 250, 0, 107, 41, 137, 0, 190, 246, 119, 0, 130, 5, 129, 0, 147, 253, 67, 0, 193, 41, 42, 0, 97, 74, 251, 0, 167, 70, 33, 0, 120, 179, 12, 0, 235, 196, 155, 0, 80, 27, 192, 0, 180, 31, 46, 0, 39, 139, 65, 0, 90, 82, 213, 0, 64, 86, 235, 0, 226, 2, 177, 0, 19, 139, 210, 0, 159, 240, 14, 0, 122, 210, 38, 0, 210, 32, 235, 0, 21, 119, 239, 0, 140, 232, 227, 0, 196, 200, 102, 0, 187, 87, 7, 0, 151, 139, 129, 0, 14, 51, 45, 0, 184, 168, 28, 0, 105, 146, 92, 0, 165, 213, 144, 0, 141, 141, 128, 0, 150, 218, 46, 0, 171, 101, 120, 0, 52, 62, 30, 0, 128, 26, 125, 0, 171, 15, 186, 0, 35, 141, 175, 0, 122, 122, 189, 0, 250, 93, 67, 0, 30, 163, 104, 0, 210, 41, 70, 0, 13, 181, 30, 0, 85, 142, 36, 0, 208, 9, 47, 0, 103, 193, 129, 0, 123, 80, 169, 0, 12, 58, 66, 0, 170, 70, 93, 0, 147, 171, 187, 0, 106, 200, 2, 0, 138, 222, 49, 0, 89, 250, 116, 0, 15, 200, 124, 0, 153, 249, 160, 0, 44, 15, 40, 0, 78, 89, 2, 0, 188, 193, 232, 0, 45, 227, 175, 0, 11, 83, 250, 0, 154, 183, 54, 0, 218, 168, 51, 0, 223, 23, 158, 0, 33, 19, 248, 0, 144, 151, 131, 0, 133, 15, 41, 0, 135, 205, 172, 0, 213, 85, 77, 0, 124, 105, 202, 0, 185, 162, 41, 0, 46, 109, 126, 0, 179, 216, 126, 0, 13, 39, 123, 0, 90, 39, 115, 0, 150, 162, 206, 0, 100, 143, 142, 0, 69, 240, 61, 0, 98, 221, 226, 0, 104, 16, 117, 0, 110, 244, 100, 0, 157, 50, 191, 0, 109, 77, 55, 0, 250, 29, 54, 0, 3, 6, 180, 0, 1, 65, 231, 0, 65, 153, 200, 0, 226, 199, 155, 0, 21, 19, 183, 0, 175, 185, 157, 0, 142, 31, 207, 0, 75, 243, 120, 0, 142, 223, 131, 0, 55, 12, 194, 0, 225, 27, 141, 0, 106, 212, 248, 0, 0, 25, 181, 0, 105, 8, 244, 0, 13, 112, 241, 0, 164, 168, 150, 0, 155, 38, 48, 0, 79, 164, 120, 0, 127, 203, 153, 0, 252, 203, 4, 0, 202, 245, 35, 0, 13, 248, 16, 0, 88, 203, 122, 0, 18, 199, 183, 0, 115, 22, 4, 0, 201, 100, 97, 0, 75, 108, 230, 0, 93, 152, 167, 0, 75, 57, 168, 0, 236, 120, 44, 0, 203, 19, 58, 0, 83, 125, 109, 0, 120, 239, 192, 0, 143, 101, 241, 0, 105, 68, 117, 0, 62, 184, 79, 0, \ +123, 48, 4, 0, 153, 247, 230, 0, 115, 124, 228, 0, 205, 213, 252, 0, 145, 88, 47, 0, 33, 36, 249, 0, 52, 112, 184, 0, 137, 35, 231, 0, 72, 152, 22, 0, 124, 229, 210, 0, 16, 76, 51, 0, 14, 250, 147, 0, 238, 246, 70, 0, 48, 231, 23, 0, 31, 165, 193, 0, 108, 99, 110, 0, 25, 182, 177, 0, 205, 235, 70, 0, 128, 102, 25, 0, 134, 96, 156, 0, 142, 61, 90, 0, 129, 177, 68, 0, 146, 127, 16, 0, 58, 107, 161, 0, 50, 221, 62, 0, 114, 182, 157, 0, 128, 234, 180, 0, 69, 24, 179, 0, 140, 162, 226, 0, 93, 171, 21, 0, 64, 241, 45, 0, 177, 141, 200, 0, 230, 57, 169, 0, 92, 111, 183, 0, 5, 61, 174, 0, 243, 68, 245, 0, 28, 204, 227, 0, 196, 236, 82, 0, 82, 159, 6, 0, 83, 73, 174, 0, 187, 229, 57, 0, 223, 199, 101, 0, 90, 74, 41, 0, 56, 64, 52, 0, 59, 209, 3, 0, 40, 95, 131, 0, 72, 54, 8, 0, 162, 112, 111, 0, 60, 180, 76, 0, 172, 153, 30, 0, 95, 239, 18, 0, 95, 153, 59, 0, 159, 119, 185, 0, 238, 79, 239, 0, 191, 129, 209, 0, 243, 170, 99, 0, 82, 132, 33, 0, 89, 148, 30, 0, 22, 131, 134, 0, 77, 56, 88, 0, 222, 107, 242, 0, 139, 152, 34, 0, 202, 140, 64, 0, 90, 92, 207, 0, 175, 41, 199, 0, 188, 180, 53, 0, 156, 57, 45, 0, 101, 72, 96, 0, 24, 175, 175, 0, 199, 35, 143, 0, 98, 155, 166, 0, 65, 130, 99, 0, 76, 227, 32, 0, 9, 87, 51, 0, 115, 50, 119, 0, 32, 138, 171, 0, 63, 136, 224, 0, 148, 75, 197, 0, 222, 157, 140, 0, 46, 83, 252, 0, 200, 166, 187, 0, 163, 108, 72, 0, 161, 140, 116, 0, 72, 139, 196, 0, 253, 163, 99, 0, 94, 152, 94, 0, 20, 210, 220, 0, 157, 237, 216, 0, 221, 170, 22, 0, 161, 181, 243, 0, 1, 125, 105, 0, 130, 104, 180, 0, 179, 92, 8, 0, 82, 154, 241, 0, 161, 172, 110, 0, 193, 109, 38, 0, 225, 32, 196, 0, 49, 223, 139, 0, 236, 66, 9, 0, 100, 228, 98, 0, 84, 56, 143, 0, 76, 44, 251, 0, 105, 78, 7, 0, 90, 138, 43, 0, 98, 62, 124, 0, 126, 146, 25, 0, 204, 53, 148, 0, 209, 241, 95, 0, 46, 93, 25, 0, 218, 207, 178, 0, 253, 10, 52, 0, 50, 117, 41, 0, 80, 211, 121, 0, 24, 110, 113, 0, 212, 163, 162, 0, 69, 134, 217, 0, 78, 64, 52, 0, 87, 192, 100, 0, 21, 88, 253, 0, 55, 159, 104, 0, 26, 186, 11, 0, 154, 64, 23, 0, 126, 43, 12, 0, 88, 92, 37, 0, 83, 45, 197, 0, 44, 142, 5, 0, 147, 133, 162, 0, 114, 3, 177, 0, 183, 60, 81, 0, 25, 107, 47, 0, 38, 96, 239, 0, 158, 90, 4, 0, 128, 88, 37, 0, 24, 77, 221, 0, 16, 68, 207, 0, 116, 240, 175, 0, 154, 2, 161, 0, 88, 204, 222, 0, 169, 201, 113, 0, 242, 72, 70, 0, 116, 10, 48, 0, 134, 169, 21, 0, 174, 30, 28, 0, 84, 180, 19, 0, 8, 157, 193, 0, 39, 77, 204, 0, 237, 198, 238, 0, 73, 169, 75, 0, 149, 179, 101, 0, 74, 214, 150, 0, 102, 81, 51, 0, 91, 244, 158, 0, 186, 8, 136, 0, 243, 49, 109, 0, 26, 72, 45, 0, 243, 109, 105, 0, 22, 239, 27, 0, 56, 35, 222, 0, 201, 139, 238, 0, 198, 241, 26, 0, 153, 47, 150, 0, 133, 24, 215, 0, 170, 15, 98, 0, 119, 200, 97, 0, 136, 136, 97, 0, 247, 204, 233, 0, 4, 188, 14, 0, 198, 62, 2, 0, 81, 233, 172, 0, 154, 215, 68, 0, 43, 122, 213, 0, 30, 143, 180, 0, 204, 84, 26, 0, 96, 83, 100, 0, 4, 24, 64, 0, 250, 201, 93, 0, 200, 140, 26, 0, 29, 116, 122, 0, 244, 242, 45, 0, 23, 93, 91, 0, 64, 204, 113, 0, 201, 190, 38, 0, 16, 127, 115, 0, 128, 8, 231, 0, 58, 47, 193, 0, 191, 195, 223, 0, 75, 9, 66, 0, 250, 100, 82, 0, 108, 247, 63, 0, 214, 199, 134, 0, 46, 114, 123, 0, 136, 98, 38, 0, 8, 27, 183, 0, 50, 73, 134, 0, 107, 16, 106, 0, 49, 247, 146, 0, 51, 238, 24, 0, 78, 199, 238, 0, 18, 37, 108, 0, 65, 15, 199, 0, 145, 202, 198, 0, 222, 115, 106, 0, 141, 26, 213, 0, 117, 170, 236, 0, 27, 114, 77, 0, 18, 169, 102, 0, 238, 107, 121, 0, 16, 119, 72, 0, 140, 60, 28, 0, 3, 30, 238, 0, 138, 186, 62, 0, 169, 176, 170, 0, 247, 110, 223, 0, 2, 204, 48, 0, 35, 0, 36, 0, 36, 91, 247, 0, 105, 199, 182, 0, 68, 215, 29, 0, 66, 247, 170, 0, 117, 35, 75, 0, 141, 36, 239, 0, 67, 212, 29, 0, 95, 120, 55, 0, 115, 103, 84, 0, \ +253, 241, 138, 0, 124, 70, 162, 0, 101, 38, 214, 0, 30, 192, 20, 0, 124, 43, 169, 0, 104, 250, 1, 0, 185, 96, 117, 0, 114, 175, 5, 0, 156, 143, 181, 0, 69, 2, 94, 0, 206, 105, 37, 0, 77, 131, 143, 0, 184, 153, 201, 0, 239, 240, 9, 0, 44, 17, 212, 0, 151, 107, 26, 0, 67, 48, 91, 0, 237, 152, 14, 0, 250, 153, 249, 0, 126, 162, 18, 0, 154, 220, 192, 0, 187, 102, 113, 0, 47, 231, 116, 0, 39, 136, 19, 0, 159, 198, 169, 0, 1, 88, 8, 0, 81, 173, 14, 0, 198, 247, 13, 0, 136, 45, 184, 0, 138, 133, 196, 0, 183, 74, 24, 0, 159, 103, 247, 0, 72, 78, 195, 0, 52, 194, 58, 0, 42, 213, 79, 0, 151, 152, 0, 0, 167, 202, 145, 0, 112, 39, 50, 0, 245, 174, 86, 0, 151, 187, 143, 0, 63, 168, 235, 0, 249, 16, 45, 0, 109, 65, 188, 0, 39, 246, 76, 0, 67, 110, 22, 0, 157, 15, 203, 0, 156, 253, 228, 0, 10, 47, 117, 0, 80, 73, 223, 0, 87, 167, 206, 0, 13, 56, 101, 0, 177, 48, 211, 0, 31, 17, 172, 0, 142, 123, 43, 0, 165, 0, 62, 0, 136, 74, 39, 0, 226, 12, 175, 0, 91, 79, 51, 0, 34, 114, 227, 0, 22, 165, 91, 0, 245, 202, 121, 0, 29, 164, 150, 0, 121, 232, 29, 0, 181, 169, 217, 0, 213, 65, 238, 0, 13, 224, 218, 0, 195, 186, 200, 0, 128, 139, 82, 0, 69, 91, 217, 0, 166, 56, 10, 0, 158, 29, 126, 0, 87, 32, 194, 0, 118, 3, 142, 0, 177, 8, 74, 0, 197, 159, 217, 0, 180, 190, 71, 0, 39, 234, 90, 0, 88, 75, 47, 0, 68, 13, 8, 0, 16, 146, 145, 0, 148, 14, 164, 0, 21, 154, 222, 0, 164, 99, 253, 0, 85, 178, 2, 0, 132, 8, 131, 0, 207, 125, 198, 0, 182, 72, 229, 0, 216, 12, 144, 0, 97, 54, 192, 0, 22, 118, 187, 0, 240, 147, 145, 0, 15, 197, 194, 0, 0, 128, 32, 0, 137, 14, 195, 0, 49, 60, 18, 0, 102, 130, 208, 0, 114, 33, 241, 0, 119, 127, 63, 0, 102, 193, 44, 0, 24, 253, 98, 0, 114, 211, 132, 0, 181, 210, 176, 0, 37, 134, 162, 0, 89, 233, 14, 0, 168, 195, 61, 0, 88, 24, 19, 0, 18, 141, 138, 0, 118, 0, 26, 0, 36, 32, 101, 0, 75, 134, 216, 0, 214, 179, 88, 0, 188, 39, 6, 0, 203, 26, 89, 0, 58, 177, 205, 0, 178, 100, 235, 0, 160, 252, 201, 0, 123, 34, 2, 0, 123, 109, 71, 0, 130, 93, 123, 0, 237, 18, 97, 0, 247, 223, 32, 0, 17, 22, 169, 0, 48, 101, 80, 0, 144, 203, 69, 0, 45, 195, 70, 0, 216, 153, 50, 0, 44, 108, 17, 0, 171, 156, 149, 0, 236, 91, 159, 0, 162, 135, 63, 0, 168, 236, 159, 0, 132, 60, 175, 0, 10, 225, 242, 0, 182, 65, 238, 0, 238, 81, 88, 0, 5, 93, 126, 0, 178, 100, 179, 0, 215, 230, 104, 0, 219, 8, 179, 0, 152, 89, 205, 0, 103, 62, 230, 0, 17, 221, 180, 0, 244, 170, 116, 0, 246, 2, 15, 0, 17, 159, 219, 0, 81, 171, 95, 0, 96, 98, 150, 0, 151, 205, 69, 0, 51, 29, 13, 0, 205, 114, 154, 0, 159, 181, 155, 0, 199, 136, 237, 0, 166, 10, 92, 0, 9, 84, 13, 0, 180, 122, 10, 0, 31, 32, 56, 0, 157, 102, 102, 0, 189, 214, 73, 0, 98, 15, 112, 0, 57, 105, 209, 0, 121, 143, 58, 0, 23, 55, 239, 0, 165, 138, 111, 0, 135, 253, 192, 0, 2, 230, 15, 0, 151, 14, 111, 0, 53, 130, 22, 0, 165, 232, 55, 0, 104, 119, 60, 0, 199, 33, 28, 0, 117, 50, 48, 0, 23, 4, 86, 0, 50, 190, 174, 0, 40, 8, 32, 0, 130, 233, 143, 0, 80, 97, 155, 0, 220, 75, 130, 0, 190, 19, 173, 0, 170, 105, 168, 0, 70, 13, 0, 0, 153, 188, 43, 0, 217, 102, 61, 0, 141, 242, 107, 0, 162, 79, 93, 0, 250, 54, 79, 0, 90, 20, 242, 0, 221, 121, 129, 0, 168, 181, 252, 0, 73, 158, 39, 0, 13, 177, 203, 0, 233, 25, 144, 0, 7, 106, 30, 0, 38, 145, 92, 0, 240, 246, 94, 0, 41, 98, 59, 0, 180, 197, 210, 0, 92, 213, 153, 0, 101, 251, 242, 0, 216, 184, 202, 0, 95, 177, 191, 0, 3, 17, 27, 0, 96, 100, 30, 0, 237, 48, 118, 0, 214, 16, 239, 0, 128, 190, 138, 0, 183, 52, 33, 0, 74, 43, 47, 0, 198, 89, 32, 0, 80, 175, 62, 0, 182, 249, 148, 0, 245, 89, 230, 0, 147, 196, 87, 0, 87, 32, 51, 0, 236, 42, 168, 0, 51, 173, 172, 0, 246, 5, 165, 0, 188, 113, 186, 0, 149, 26, 210, 0, 200, 35, 30, 0, 86, 128, 177, 0, 232, 66, 104, 0, 68, 242, 86, 0, 60, 53, 193, 0, 183, 78, 61, 0, \ +143, 166, 220, 0, 108, 203, 86, 0, 128, 214, 89, 0, 107, 182, 167, 0, 239, 132, 96, 0, 98, 149, 11, 0, 6, 38, 39, 0, 111, 187, 155, 0, 156, 47, 17, 0, 15, 208, 201, 0, 143, 138, 184, 0, 187, 10, 117, 0, 201, 234, 56, 0, 26, 74, 97, 0, 150, 211, 175, 0, 122, 104, 199, 0, 246, 242, 207, 0, 120, 45, 207, 0, 39, 115, 244, 0, 182, 119, 183, 0, 100, 108, 129, 0, 137, 72, 60, 0, 184, 127, 116, 0, 100, 248, 75, 0, 138, 112, 254, 0, 49, 162, 206, 0, 201, 104, 59, 0, 169, 42, 53, 0, 88, 249, 63, 0, 150, 30, 233, 0, 111, 172, 73, 0, 45, 95, 71, 0, 161, 164, 112, 0, 18, 151, 49, 0, 132, 50, 66, 0, 235, 215, 101, 0, 212, 41, 182, 0, 214, 248, 177, 0, 218, 140, 66, 0, 113, 63, 130, 0, 49, 9, 177, 0, 243, 176, 159, 0, 140, 9, 164, 0, 175, 54, 45, 0, 12, 245, 210, 0, 125, 38, 188, 0, 145, 12, 212, 0, 58, 205, 61, 0, 166, 139, 30, 0, 37, 43, 187, 0, 157, 124, 16, 0, 59, 146, 202, 0, 118, 15, 46, 0, 170, 228, 42, 0, 147, 30, 239, 0, 220, 2, 136, 0, 22, 204, 96, 0, 221, 163, 30, 0, 176, 209, 98, 0, 239, 179, 56, 0, 249, 86, 14, 0, 253, 220, 87, 0, 132, 36, 196, 0, 42, 227, 141, 0, 247, 148, 183, 0, 227, 41, 134, 0, 159, 98, 22, 0, 70, 11, 243, 0, 84, 242, 235, 0, 10, 196, 12, 0, 231, 198, 1, 0, 124, 162, 200, 0, 92, 44, 35, 0, 61, 227, 206, 0, 132, 211, 166, 0, 126, 43, 25, 0, 213, 1, 67, 0, 186, 67, 175, 0, 43, 252, 81, 0, 207, 247, 28, 0, 147, 76, 195, 0, 189, 58, 239, 0, 180, 94, 100, 0, 232, 120, 1, 0, 6, 144, 179, 0, 114, 253, 64, 0, 29, 16, 75, 0, 80, 89, 180, 0, 76, 108, 250, 0, 183, 178, 243, 0, 188, 55, 145, 0, 135, 188, 1, 0, 52, 21, 223, 0, 81, 71, 42, 0, 47, 194, 206, 0, 148, 89, 212, 0, 211, 125, 99, 0, 160, 253, 138, 0, 151, 31, 40, 0, 216, 215, 149, 0, 251, 113, 232, 0, 49, 194, 20, 0, 2, 174, 126, 0, 52, 39, 68, 0, 19, 25, 50, 0, 87, 7, 62, 0, 155, 132, 26, 0, 46, 102, 128, 0, 149, 56, 67, 0, 102, 17, 200, 0, 106, 29, 124, 0, 98, 162, 242, 0, 37, 180, 226, 0, 7, 71, 112, 0, 95, 243, 53, 0, 84, 253, 168, 0, 162, 238, 108, 0, 180, 142, 153, 0, 29, 210, 130, 0, 33, 191, 151, 0, 148, 35, 192, 0, 48, 218, 150, 0, 75, 239, 64, 0, 184, 82, 20, 0, 194, 226, 195, 0, 32, 210, 48, 0, 16, 239, 106, 0, 215, 58, 32, 0, 206, 199, 234, 0, 29, 253, 115, 0, 101, 55, 196, 0, 58, 29, 173, 0, 175, 44, 19, 0, 221, 227, 209, 0, 119, 41, 26, 0, 12, 210, 253, 0, 181, 108, 31, 0, 194, 96, 147, 0, 215, 210, 146, 0, 230, 112, 124, 0, 142, 123, 40, 0, 76, 191, 21, 0, 66, 40, 32, 0, 249, 144, 6, 0, 195, 146, 141, 0, 62, 113, 195, 0, 139, 201, 76, 0, 129, 5, 69, 0, 39, 102, 195, 0, 132, 61, 61, 0, 152, 94, 196, 0, 86, 43, 70, 0, 51, 116, 231, 0, 211, 62, 26, 0, 221, 122, 204, 0, 215, 48, 32, 0, 67, 92, 25, 0, 86, 187, 234, 0, 187, 8, 127, 0, 44, 222, 117, 0, 2, 159, 254, 0, 172, 116, 218, 0, 66, 94, 196, 0, 197, 40, 143, 0, 178, 105, 96, 0, 254, 148, 250, 0, 80, 184, 219, 0, 101, 197, 182, 0, 206, 232, 244, 0, 216, 62, 156, 0, 61, 170, 105, 0, 13, 248, 55, 0, 238, 101, 49, 0, 110, 72, 195, 0, 40, 248, 37, 0, 224, 86, 100, 0, 141, 53, 218, 0, 113, 184, 87, 0, 239, 125, 43, 0, 193, 203, 138, 0, 133, 142, 113, 0, 186, 195, 118, 0, 230, 198, 213, 0, 240, 93, 3, 0, 60, 31, 14, 0, 223, 3, 19, 0, 168, 74, 216, 0, 90, 13, 241, 0, 78, 110, 208, 0, 200, 172, 79, 0, 18, 90, 72, 0, 141, 15, 38, 0, 121, 152, 168, 0, 135, 208, 120, 0, 75, 211, 131, 0, 137, 194, 239, 0, 158, 242, 8, 0, 65, 226, 172, 0, 162, 18, 124, 0, 234, 86, 214, 0, 167, 152, 135, 0, 191, 233, 76, 0, 94, 85, 178, 0, 220, 11, 198, 0, 9, 173, 51, 0, 1, 147, 8, 0, 214, 117, 55, 0, 52, 124, 85, 0, 134, 10, 105, 0, 165, 230, 244, 0, 55, 235, 97, 0, 107, 189, 120, 0, 76, 139, 91, 0, 248, 4, 114, 0, 186, 123, 175, 0, 48, 67, 143, 0, 185, 119, 28, 0, 131, 253, 44, 0, 229, 144, 178, 0, 63, 13, 1, 0, 143, 77, 8, 0, 229, 14, 31, 0, 14, 111, 17, 0, 181, 80, 98, 0, \ +70, 251, 11, 0, 161, 64, 181, 0, 204, 171, 87, 0, 41, 68, 101, 0, 8, 141, 251, 0, 88, 207, 82, 0, 246, 117, 118, 0, 185, 84, 196, 0, 63, 144, 58, 0, 140, 18, 162, 0, 200, 130, 152, 0, 24, 200, 20, 0, 49, 157, 185, 0, 138, 187, 239, 0, 58, 219, 0, 0, 82, 40, 200, 0, 238, 98, 203, 0, 243, 15, 110, 0, 27, 105, 110, 0, 121, 187, 204, 0, 183, 93, 40, 0, 84, 182, 185, 0, 189, 109, 254, 0, 215, 188, 230, 0, 196, 54, 199, 0, 80, 116, 152, 0, 11, 138, 82, 0, 150, 248, 198, 0, 151, 220, 134, 0, 17, 14, 218, 0, 35, 38, 27, 0, 213, 44, 216, 0, 183, 187, 218, 0, 252, 7, 98, 0, 147, 226, 211, 0, 84, 151, 192, 0, 147, 234, 62, 0, 145, 146, 13, 0, 240, 233, 221, 0, 146, 90, 104, 0, 29, 231, 187, 0, 215, 24, 71, 0, 100, 95, 244, 0, 79, 82, 138, 0, 242, 34, 107, 0, 55, 177, 116, 0, 31, 76, 240, 0, 165, 111, 252, 0, 147, 176, 221, 0, 174, 250, 101, 0, 84, 182, 48, 0, 130, 13, 58, 0, 159, 118, 224, 0, 82, 0, 219, 0, 235, 118, 130, 0, 45, 173, 27, 0, 202, 113, 242, 0, 71, 184, 116, 0, 158, 222, 202, 0, 228, 126, 147, 0, 145, 61, 130, 0, 110, 149, 135, 0, 72, 196, 116, 0, 12, 34, 46, 0, 216, 176, 209, 0, 204, 74, 59, 0, 59, 110, 72, 0, 70, 72, 171, 0, 48, 153, 133, 0, 162, 28, 243, 0, 191, 76, 241, 0, 32, 140, 23, 0, 75, 134, 189, 0, 29, 212, 149, 0, 9, 31, 162, 0, 199, 41, 182, 0, 24, 196, 155, 0, 121, 251, 120, 0, 103, 5, 80, 0, 211, 198, 146, 0, 173, 12, 64, 0, 251, 80, 25, 0, 162, 78, 43, 0, 1, 141, 140, 0, 142, 111, 137, 0, 60, 161, 141, 0, 166, 185, 217, 0, 81, 247, 169, 0, 92, 235, 130, 0, 109, 241, 252, 0, 209, 5, 212, 0, 54, 139, 110, 0, 209, 115, 137, 0, 11, 59, 26, 0, 133, 183, 58, 0, 240, 230, 167, 0, 240, 131, 183, 0, 161, 96, 187, 0, 130, 186, 183, 0, 90, 136, 237, 0, 33, 236, 179, 0, 200, 229, 77, 0, 15, 165, 62, 0, 149, 51, 182, 0, 59, 232, 143, 0, 110, 191, 239, 0, 118, 16, 34, 0, 207, 5, 168, 0, 127, 68, 20, 0, 241, 248, 174, 0, 37, 3, 75, 0, 115, 20, 66, 0, 43, 119, 181, 0, 30, 235, 228, 0, 11, 237, 104, 0, 165, 104, 70, 0, 189, 71, 94, 0, 244, 33, 129, 0, 89, 50, 230, 0, 124, 98, 95, 0, 107, 93, 59, 0, 108, 37, 36, 0, 71, 142, 241, 0, 168, 241, 40, 0, 81, 211, 189, 0, 207, 207, 134, 0, 98, 79, 17, 0, 52, 112, 253, 0, 194, 3, 83, 0, 19, 175, 182, 0, 247, 211, 19, 0, 120, 147, 116, 0, 150, 27, 203, 0, 93, 20, 2, 0, 84, 236, 133, 0, 230, 50, 148, 0, 67, 13, 223, 0, 9, 205, 81, 0, 142, 123, 187, 0, 147, 28, 115, 0, 156, 238, 33, 0, 22, 170, 252, 0, 169, 120, 124, 0, 241, 134, 8, 0, 27, 140, 136, 0, 152, 51, 109, 0, 43, 52, 44, 0, 159, 138, 47, 0, 199, 185, 235, 0, 65, 96, 13, 0, 79, 7, 87, 0, 178, 179, 97, 0, 240, 96, 55, 0, 10, 69, 107, 0, 22, 156, 54, 0, 24, 168, 82, 0, 238, 221, 218, 0, 140, 54, 142, 0, 174, 162, 8, 0, 253, 251, 73, 0, 142, 47, 247, 0, 117, 101, 152, 0, 87, 30, 178, 0, 103, 75, 24, 0, 120, 58, 219, 0, 164, 237, 34, 0, 114, 10, 228, 0, 181, 21, 221, 0, 245, 158, 27, 0, 233, 54, 140, 0, 193, 95, 0, 0, 37, 126, 49, 0, 186, 23, 109, 0, 7, 202, 232, 0, 104, 254, 24, 0, 23, 140, 95, 0, 231, 93, 156, 0, 228, 0, 23, 0, 60, 60, 247, 0, 118, 209, 183, 0, 43, 12, 197, 0, 56, 7, 46, 0, 221, 86, 178, 0, 254, 12, 103, 0, 109, 15, 159, 0, 134, 236, 221, 0, 190, 253, 117, 0, 49, 110, 180, 0, 116, 214, 116, 0, 30, 62, 78, 0, 224, 59, 106, 0, 127, 23, 140, 0, 136, 142, 231, 0, 188, 69, 195, 0, 198, 199, 169, 0, 20, 1, 203, 0, 192, 61, 59, 0, 65, 100, 169, 0, 174, 220, 187, 0, 224, 110, 186, 0, 57, 59, 194, 0, 77, 176, 206, 0, 37, 227, 72, 0, 177, 143, 46, 0, 218, 113, 250, 0, 58, 191, 157, 0, 16, 55, 44, 0, 146, 143, 246, 0, 249, 129, 11, 0, 93, 46, 93, 0, 205, 242, 252, 0, 104, 188, 31, 0, 4, 212, 178, 0, 245, 227, 125, 0, 172, 236, 137, 0, 72, 198, 147, 0, 150, 91, 169, 0, 104, 25, 118, 0, 8, 144, 207, 0, 190, 143, 27, 0, 156, 51, 33, 0, 194, 254, 83, 0, 200, 131, 52, 0, 252, 145, 142, 0, \ +141, 61, 90, 0, 247, 28, 212, 0, 179, 191, 117, 0, 198, 97, 232, 0, 156, 206, 239, 0, 205, 146, 56, 0, 181, 45, 56, 0, 86, 235, 195, 0, 26, 70, 208, 0, 182, 198, 53, 0, 155, 103, 45, 0, 110, 229, 46, 0, 248, 223, 210, 0, 118, 73, 26, 0, 252, 17, 188, 0, 249, 179, 219, 0, 23, 36, 37, 0, 203, 250, 186, 0, 121, 147, 88, 0, 182, 233, 124, 0, 248, 116, 55, 0, 158, 253, 43, 0, 230, 64, 198, 0, 189, 241, 170, 0, 91, 205, 81, 0, 157, 172, 15, 0, 242, 214, 65, 0, 94, 246, 173, 0, 136, 95, 238, 0, 79, 23, 76, 0, 229, 24, 137, 0, 31, 114, 5, 0, 240, 14, 183, 0, 50, 202, 242, 0, 52, 141, 32, 0, 191, 122, 27, 0, 203, 109, 87, 0, 115, 98, 123, 0, 105, 163, 105, 0, 31, 131, 157, 0, 162, 178, 36, 0, 27, 0, 126, 0, 222, 234, 94, 0, 40, 208, 31, 0, 161, 221, 17, 0, 188, 102, 251, 0, 144, 176, 63, 0, 120, 218, 254, 0, 200, 102, 34, 0, 86, 46, 137, 0, 32, 176, 206, 0, 59, 37, 70, 0, 116, 165, 69, 0, 87, 85, 100, 0, 215, 167, 8, 0, 144, 215, 52, 0, 91, 154, 165, 0, 67, 135, 144, 0, 155, 50, 34, 0, 237, 226, 129, 0, 94, 152, 196, 0, 246, 10, 80, 0, 165, 122, 254, 0, 164, 223, 108, 0, 13, 100, 113, 0, 106, 149, 197, 0, 70, 198, 60, 0, 100, 69, 52, 0, 243, 231, 214, 0, 207, 239, 46, 0, 25, 24, 144, 0, 201, 47, 226, 0, 180, 95, 87, 0, 170, 133, 121, 0, 49, 69, 21, 0, 159, 141, 242, 0, 210, 136, 210, 0, 111, 163, 126, 0, 212, 113, 92, 0, 60, 249, 72, 0, 142, 152, 170, 0, 4, 105, 97, 0, 5, 7, 53, 0, 96, 174, 23, 0, 57, 177, 22, 0, 243, 235, 209, 0, 81, 183, 143, 0, 152, 186, 34, 0, 19, 128, 61, 0, 109, 208, 9, 0, 196, 181, 23, 0, 84, 183, 76, 0, 125, 186, 246, 0, 87, 24, 80, 0, 100, 90, 67, 0, 39, 243, 60, 0, 82, 125, 202, 0, 208, 135, 98, 0, 179, 8, 97, 0, 160, 35, 94, 0, 145, 71, 24, 0, 81, 43, 37, 0, 101, 146, 141, 0, 246, 122, 92, 0, 197, 221, 181, 0, 135, 221, 167, 0, 180, 79, 55, 0, 232, 179, 81, 0, 55, 14, 10, 0, 235, 120, 195, 0, 124, 99, 185, 0, 202, 132, 184, 0, 217, 193, 200, 0, 68, 161, 56, 0, 71, 43, 168, 0, 52, 254, 161, 0, 118, 186, 96, 0, 102, 232, 30, 0, 79, 134, 87, 0, 193, 170, 80, 0, 85, 75, 165, 0, 137, 224, 13, 0, 134, 225, 228, 0, 127, 11, 113, 0, 2, 98, 187, 0, 207, 128, 148, 0, 44, 225, 222, 0, 151, 70, 92, 0, 31, 216, 74, 0, 95, 125, 65, 0, 224, 37, 238, 0, 67, 159, 111, 0, 181, 77, 182, 0, 60, 188, 178, 0, 213, 200, 84, 0, 219, 190, 188, 0, 158, 93, 209, 0, 5, 33, 130, 0, 186, 44, 253, 0, 134, 56, 0, 0, 218, 123, 155, 0, 245, 82, 74, 0, 155, 32, 28, 0, 177, 173, 73, 0, 69, 38, 151, 0, 107, 38, 122, 0, 233, 58, 196, 0, 221, 225, 84, 0, 99, 208, 173, 0, 22, 246, 49, 0, 185, 11, 236, 0, 165, 169, 114, 0, 40, 117, 72, 0, 152, 13, 211, 0, 167, 37, 184, 0, 172, 96, 114, 0, 84, 9, 215, 0, 95, 69, 213, 0, 216, 38, 221, 0, 18, 100, 63, 0, 244, 168, 20, 0, 160, 73, 119, 0, 42, 176, 81, 0, 250, 160, 19, 0, 199, 178, 67, 0, 38, 176, 137, 0, 195, 216, 38, 0, 104, 111, 173, 0, 20, 73, 51, 0, 41, 184, 200, 0, 152, 49, 24, 0, 85, 107, 227, 0, 64, 88, 182, 0, 201, 149, 89, 0, 241, 36, 233, 0, 106, 17, 227, 0, 4, 122, 191, 0, 207, 220, 245, 0, 144, 40, 133, 0, 115, 102, 209, 0, 72, 170, 233, 0, 13, 161, 219, 0, 85, 171, 112, 0, 67, 34, 61, 0, 193, 48, 36, 0, 72, 158, 149, 0, 238, 137, 92, 0, 192, 208, 211, 0, 175, 65, 195, 0, 104, 206, 45, 0, 169, 16, 129, 0, 110, 199, 109, 0, 75, 248, 209, 0, 246, 191, 76, 0, 112, 128, 105, 0, 198, 55, 138, 0, 61, 238, 87, 0, 118, 184, 181, 0, 23, 135, 61, 0, 147, 47, 167, 0, 24, 148, 170, 0, 103, 182, 249, 0, 145, 78, 92, 0, 79, 204, 78, 0, 237, 225, 91, 0, 104, 139, 107, 0, 157, 120, 101, 0, 240, 164, 58, 0, 192, 67, 195, 0, 219, 204, 46, 0, 148, 29, 254, 0, 149, 38, 162, 0, 152, 180, 45, 0, 154, 191, 54, 0, 122, 6, 35, 0, 172, 145, 73, 0, 173, 200, 231, 0, 27, 232, 135, 0, 8, 140, 3, 0, 22, 5, 243, 0, 238, 221, 222, 0, 206, 143, 194, 0, 150, 87, 163, 0, 197, 55, 174, 0, \ +204, 42, 211, 0, 181, 221, 186, 0, 229, 226, 38, 0, 236, 9, 158, 0, 27, 18, 227, 0, 15, 58, 243, 0, 103, 233, 101, 0, 13, 219, 129, 0, 206, 146, 106, 0, 157, 253, 182, 0, 90, 28, 47, 0, 125, 5, 187, 0, 205, 226, 154, 0, 6, 64, 240, 0, 54, 86, 14, 0, 224, 168, 132, 0, 12, 233, 178, 0, 211, 211, 100, 0, 200, 1, 246, 0, 113, 172, 136, 0, 118, 86, 139, 0, 194, 34, 218, 0, 52, 130, 220, 0, 170, 63, 91, 0, 181, 137, 22, 0, 219, 64, 207, 0, 78, 137, 52, 0, 51, 230, 28, 0, 203, 197, 203, 0, 116, 75, 139, 0, 74, 251, 182, 0, 116, 185, 216, 0, 81, 97, 207, 0, 68, 75, 96, 0, 251, 24, 146, 0, 125, 24, 185, 0, 176, 166, 113, 0, 147, 167, 134, 0, 153, 14, 61, 0, 109, 188, 185, 0, 149, 32, 195, 0, 184, 52, 133, 0, 168, 26, 121, 0, 24, 250, 39, 0, 46, 223, 36, 0, 12, 0, 197, 0, 92, 7, 55, 0, 245, 212, 3, 0, 187, 217, 93, 0, 184, 2, 251, 0, 206, 30, 6, 0, 166, 34, 27, 0, 64, 209, 79, 0, 119, 188, 11, 0, 90, 221, 245, 0, 170, 73, 174, 0, 80, 236, 76, 0, 46, 169, 115, 0, 254, 25, 18, 0, 238, 174, 113, 0, 188, 30, 12, 0, 10, 165, 201, 0, 72, 122, 51, 0, 191, 73, 247, 0, 210, 240, 250, 0, 99, 189, 204, 0, 145, 69, 179, 0, 152, 177, 175, 0, 110, 26, 32, 0, 59, 60, 157, 0, 63, 239, 4, 0, 70, 192, 9, 0, 40, 41, 178, 0, 103, 246, 213, 0, 10, 90, 147, 0, 214, 11, 141, 0, 239, 20, 243, 0, 173, 190, 64, 0, 110, 8, 165, 0, 6, 94, 249, 0, 134, 36, 175, 0, 66, 159, 17, 0, 231, 243, 196, 0, 205, 206, 17, 0, 73, 221, 117, 0, 110, 85, 58, 0, 119, 115, 47, 0, 227, 102, 27, 0, 46, 97, 163, 0, 181, 60, 54, 0, 143, 37, 211, 0, 13, 31, 174, 0, 208, 163, 77, 0, 174, 239, 192, 0, 206, 219, 147, 0, 238, 163, 74, 0, 194, 220, 68, 0, 90, 51, 118, 0, 2, 8, 94, 0, 11, 58, 91, 0, 174, 240, 2, 0, 114, 56, 148, 0, 237, 177, 20, 0, 130, 111, 218, 0, 159, 254, 196, 0, 45, 231, 243, 0, 99, 85, 93, 0, 219, 3, 70, 0, 150, 60, 202, 0, 151, 230, 58, 0, 90, 144, 102, 0, 165, 239, 237, 0, 84, 24, 149, 0, 153, 153, 98, 0, 34, 150, 16, 0, 215, 20, 86, 0, 207, 71, 119, 0, 127, 122, 69, 0, 197, 89, 233, 0, 213, 178, 5, 0, 93, 83, 37, 0, 209, 73, 80, 0, 170, 248, 234, 0, 173, 116, 107, 0, 123, 246, 94, 0, 130, 188, 8, 0, 230, 203, 151, 0, 128, 234, 8, 0, 172, 103, 114, 0, 178, 171, 96, 0, 177, 38, 219, 0, 238, 150, 182, 0, 152, 29, 96, 0, 153, 186, 37, 0, 233, 217, 40, 0, 194, 99, 85, 0, 18, 145, 38, 0, 56, 177, 99, 0, 253, 204, 134, 0, 213, 2, 184, 0, 56, 12, 100, 0, 5, 0, 67, 0, 44, 59, 237, 0, 147, 41, 180, 0, 190, 254, 147, 0, 200, 165, 69, 0, 188, 239, 92, 0, 110, 205, 83, 0, 89, 5, 92, 0, 124, 118, 75, 0, 50, 247, 12, 0, 104, 70, 28, 0, 47, 239, 182, 0, 179, 17, 71, 0, 9, 45, 197, 0, 249, 45, 243, 0, 213, 204, 206, 0, 198, 139, 120, 0, 98, 141, 221, 0, 165, 139, 151, 0, 51, 36, 234, 0, 57, 103, 180, 0, 217, 243, 18, 0, 192, 98, 97, 0, 237, 146, 136, 0, 201, 169, 224, 0, 111, 145, 6, 0, 137, 78, 28, 0, 166, 76, 245, 0, 189, 214, 241, 0, 85, 160, 3, 0, 189, 24, 12, 0, 213, 25, 204, 0, 184, 18, 119, 0, 50, 245, 73, 0, 213, 245, 206, 0, 29, 186, 57, 0, 108, 242, 185, 0, 62, 23, 159, 0, 60, 197, 143, 0, 12, 110, 31, 0, 172, 245, 130, 0, 131, 14, 18, 0, 12, 251, 182, 0, 20, 47, 76, 0, 240, 7, 109, 0, 12, 56, 213, 0, 146, 159, 36, 0, 20, 149, 27, 0, 17, 164, 80, 0, 201, 128, 239, 0, 160, 251, 96, 0, 110, 44, 54, 0, 192, 193, 189, 0, 219, 62, 111, 0, 250, 11, 245, 0, 67, 156, 184, 0, 99, 230, 233, 0, 97, 91, 7, 0, 153, 119, 165, 0, 89, 59, 159, 0, 93, 33, 187, 0, 114, 238, 76, 0, 205, 135, 197, 0, 7, 151, 208, 0, 133, 120, 171, 0, 136, 17, 63, 0, 160, 46, 164, 0, 201, 143, 51, 0, 101, 189, 66, 0, 74, 203, 86, 0, 38, 155, 189, 0, 113, 199, 235, 0, 238, 240, 248, 0, 190, 55, 91, 0, 170, 93, 126, 0, 214, 248, 29, 0, 225, 98, 40, 0, 179, 163, 88, 0, 118, 97, 190, 0, 172, 153, 102, 0, 96, 38, 36, 0, 193, 238, 72, 0, 16, 6, 86, 0, \ +133, 110, 103, 0, 143, 25, 184, 0, 101, 29, 99, 0, 120, 49, 194, 0, 2, 218, 123, 0, 189, 16, 224, 0, 163, 181, 244, 0, 7, 239, 189, 0, 203, 22, 214, 0, 205, 229, 11, 0, 174, 182, 81, 0, 51, 203, 210, 0, 40, 121, 36, 0, 73, 138, 19, 0, 148, 251, 230, 0, 153, 119, 247, 0, 125, 234, 238, 0, 166, 193, 131, 0, 16, 202, 102, 0, 6, 179, 230, 0, 78, 74, 117, 0, 131, 201, 164, 0, 23, 86, 21, 0, 242, 171, 174, 0, 48, 45, 143, 0, 18, 113, 166, 0, 165, 105, 210, 0, 63, 179, 224, 0, 110, 13, 178, 0, 36, 3, 73, 0, 18, 241, 89, 0, 41, 208, 93, 0, 83, 152, 230, 0, 252, 207, 120, 0, 144, 237, 122, 0, 153, 36, 151, 0, 25, 79, 31, 0, 52, 1, 158, 0, 49, 120, 201, 0, 237, 18, 26, 0, 155, 50, 172, 0, 131, 123, 34, 0, 188, 105, 99, 0, 84, 251, 6, 0, 254, 106, 88, 0, 231, 28, 162, 0, 89, 202, 244, 0, 209, 41, 10, 0, 94, 170, 61, 0, 24, 70, 17, 0, 209, 108, 73, 0, 190, 46, 82, 0, 170, 81, 60, 0, 209, 210, 116, 0, 242, 14, 231, 0, 168, 65, 29, 0, 237, 17, 125, 0, 240, 52, 127, 0, 160, 159, 79, 0, 110, 206, 118, 0, 112, 242, 195, 0, 71, 219, 122, 0, 102, 8, 50, 0, 180, 42, 37, 0, 190, 154, 161, 0, 47, 43, 253, 0, 59, 83, 133, 0, 157, 18, 107, 0, 172, 41, 139, 0, 71, 5, 146, 0, 126, 55, 224, 0, 58, 74, 109, 0, 4, 167, 90, 0, 23, 81, 63, 0, 24, 30, 48, 0, 15, 198, 27, 0, 133, 166, 242, 0, 223, 250, 241, 0, 59, 180, 69, 0, 64, 249, 57, 0, 127, 100, 139, 0, 203, 41, 52, 0, 71, 159, 210, 0, 227, 249, 188, 0, 64, 120, 68, 0, 212, 166, 54, 0, 209, 240, 16, 0, 225, 13, 241, 0, 148, 67, 183, 0, 142, 243, 12, 0, 17, 188, 59, 0, 70, 55, 171, 0, 10, 151, 22, 0, 117, 248, 180, 0, 188, 75, 33, 0, 1, 150, 247, 0, 233, 213, 186, 0, 142, 59, 184, 0, 195, 121, 24, 0, 80, 130, 43, 0, 207, 48, 122, 0, 143, 245, 20, 0, 199, 127, 1, 0, 25, 110, 217, 0, 115, 122, 44, 0, 159, 159, 126, 0, 185, 69, 220, 0, 99, 229, 113, 0, 133, 31, 126, 0, 139, 178, 50, 0, 236, 186, 139, 0, 82, 101, 144, 0, 134, 165, 238, 0, 203, 50, 104, 0, 165, 11, 5, 0, 175, 54, 117, 0, 20, 14, 248, 0, 223, 86, 132, 0, 106, 253, 20, 0, 211, 4, 133, 0, 107, 172, 166, 0, 141, 227, 215, 0, 192, 173, 78, 0, 169, 101, 201, 0, 111, 69, 209, 0, 210, 204, 247, 0, 201, 17, 247, 0, 27, 207, 74, 0, 163, 167, 91, 0, 244, 142, 97, 0, 116, 81, 37, 0, 191, 92, 70, 0, 153, 187, 117, 0, 182, 127, 210, 0, 222, 24, 129, 0, 167, 143, 206, 0, 185, 244, 64, 0, 123, 135, 76, 0, 147, 83, 110, 0, 51, 11, 153, 0, 254, 224, 117, 0, 156, 90, 251, 0, 108, 217, 101, 0, 103, 67, 247, 0, 240, 174, 31, 0, 202, 237, 51, 0, 175, 56, 200, 0, 49, 70, 0, 0, 248, 84, 104, 0, 130, 201, 164, 0, 83, 101, 217, 0, 136, 8, 85, 0, 220, 162, 174, 0, 70, 93, 172, 0, 21, 145, 152, 0, 90, 139, 163, 0, 120, 226, 192, 0, 181, 178, 147, 0, 146, 185, 151, 0, 177, 214, 6, 0, 42, 86, 1, 0, 167, 7, 7, 0, 244, 119, 118, 0, 86, 103, 28, 0, 249, 204, 114, 0, 219, 240, 5, 0, 28, 28, 164, 0, 225, 79, 227, 0, 20, 170, 213, 0, 48, 173, 62, 0, 57, 25, 200, 0, 184, 117, 92, 0, 4, 195, 252, 0, 124, 129, 224, 0, 56, 183, 194, 0, 111, 105, 228, 0, 207, 242, 174, 0, 179, 4, 189, 0, 118, 209, 38, 0, 162, 140, 169, 0, 95, 18, 229, 0, 27, 182, 47, 0, 44, 163, 22, 0, 2, 76, 192, 0, 185, 71, 12, 0, 120, 136, 32, 0, 34, 150, 124, 0, 250, 97, 131, 0, 13, 200, 51, 0, 243, 134, 216, 0, 186, 102, 191, 0, 171, 252, 9, 0, 251, 116, 234, 0, 26, 140, 54, 0, 140, 151, 171, 0, 217, 203, 77, 0, 2, 214, 209, 0, 119, 4, 51, 0, 181, 93, 224, 0, 187, 81, 119, 0, 254, 183, 65, 0, 240, 208, 150, 0, 174, 160, 200, 0, 212, 164, 70, 0, 87, 172, 165, 0, 65, 227, 220, 0, 94, 31, 90, 0, 248, 4, 88, 0, 144, 5, 18, 0, 185, 15, 129, 0, 107, 180, 23, 0, 209, 226, 16, 0, 154, 132, 64, 0, 193, 213, 60, 0, 107, 80, 163, 0, 180, 51, 252, 0, 116, 162, 206, 0, 244, 74, 15, 0, 91, 245, 33, 0, 218, 136, 66, 0, 14, 185, 103, 0, 116, 160, 64, 0, 221, 238, 130, 0, 168, 107, 101, 0, \ +189, 125, 212, 0, 77, 85, 14, 0, 36, 143, 196, 0, 225, 97, 247, 0, 100, 174, 221, 0, 81, 161, 128, 0, 234, 46, 25, 0, 236, 163, 229, 0, 245, 24, 246, 0, 62, 105, 159, 0, 175, 107, 6, 0, 115, 195, 11, 0, 75, 162, 60, 0, 191, 210, 58, 0, 239, 198, 115, 0, 52, 59, 186, 0, 205, 4, 144, 0, 105, 84, 154, 0, 155, 114, 233, 0, 182, 244, 97, 0, 234, 93, 95, 0, 100, 240, 189, 0, 196, 100, 24, 0, 176, 212, 212, 0, 149, 110, 98, 0, 175, 181, 195, 0, 14, 29, 178, 0, 133, 153, 174, 0, 4, 129, 68, 0, 239, 250, 44, 0, 181, 78, 145, 0, 70, 171, 215, 0, 225, 98, 33, 0, 68, 83, 92, 0, 28, 243, 192, 0, 250, 37, 188, 0, 34, 193, 170, 0, 15, 205, 208, 0, 107, 203, 96, 0, 153, 179, 254, 0, 195, 250, 248, 0, 90, 241, 175, 0, 247, 218, 130, 0, 104, 111, 221, 0, 167, 131, 144, 0, 196, 133, 177, 0, 196, 69, 221, 0, 227, 198, 212, 0, 137, 72, 43, 0, 110, 129, 46, 0, 89, 152, 212, 0, 21, 107, 24, 0, 200, 98, 110, 0, 182, 139, 137, 0, 213, 227, 205, 0, 143, 172, 29, 0, 14, 173, 214, 0, 2, 196, 8, 0, 115, 111, 167, 0, 110, 18, 64, 0, 109, 48, 18, 0, 183, 123, 137, 0, 224, 105, 235, 0, 206, 222, 193, 0, 18, 106, 144, 0, 225, 245, 181, 0, 134, 44, 242, 0, 75, 47, 21, 0, 26, 100, 107, 0, 76, 138, 48, 0, 3, 73, 103, 0, 100, 70, 155, 0, 120, 71, 232, 0, 20, 249, 106, 0, 108, 232, 130, 0, 121, 137, 18, 0, 36, 32, 77, 0, 187, 79, 205, 0, 178, 152, 122, 0, 151, 59, 174, 0, 134, 249, 72, 0, 148, 54, 164, 0, 75, 147, 104, 0, 231, 178, 213, 0, 234, 118, 246, 0, 109, 118, 99, 0, 192, 200, 122, 0, 144, 220, 52, 0, 38, 100, 225, 0, 250, 7, 247, 0, 91, 247, 251, 0, 37, 35, 231, 0, 46, 47, 127, 0, 208, 133, 59, 0, 69, 61, 224, 0, 230, 119, 148, 0, 128, 108, 96, 0, 234, 155, 199, 0, 170, 115, 76, 0, 113, 138, 71, 0, 199, 79, 64, 0, 32, 70, 176, 0, 44, 6, 28, 0, 98, 19, 22, 0, 112, 208, 76, 0, 37, 240, 210, 0, 211, 251, 102, 0, 30, 11, 142, 0, 224, 178, 84, 0, 9, 13, 61, 0, 223, 0, 53, 0, 251, 171, 70, 0, 60, 21, 217, 0, 170, 220, 0, 0, 179, 94, 182, 0, 164, 44, 137, 0, 10, 164, 183, 0, 2, 47, 223, 0, 187, 208, 58, 0, 38, 238, 189, 0, 232, 113, 232, 0, 77, 1, 66, 0, 101, 129, 249, 0, 73, 52, 71, 0, 117, 216, 18, 0, 133, 64, 229, 0, 21, 38, 144, 0, 254, 92, 171, 0, 53, 193, 79, 0, 204, 234, 226, 0, 212, 205, 16, 0, 245, 112, 126, 0, 192, 221, 141, 0, 28, 162, 183, 0, 169, 25, 32, 0, 237, 191, 14, 0, 24, 101, 107, 0, 74, 205, 96, 0, 172, 41, 5, 0, 59, 209, 17, 0, 174, 55, 59, 0, 9, 175, 61, 0, 171, 20, 37, 0, 239, 237, 211, 0, 84, 164, 158, 0, 63, 16, 174, 0, 13, 208, 219, 0, 208, 67, 177, 0, 34, 235, 232, 0, 181, 196, 19, 0, 103, 202, 131, 0, 86, 123, 28, 0, 62, 28, 20, 0, 242, 18, 2, 0, 132, 71, 154, 0, 177, 251, 81, 0, 11, 85, 204, 0, 129, 71, 34, 0, 177, 5, 121, 0, 102, 113, 77, 0, 72, 16, 41, 0, 191, 216, 196, 0, 216, 56, 58, 0, 200, 179, 103, 0, 145, 102, 106, 0, 68, 242, 226, 0, 37, 58, 116, 0, 64, 87, 19, 0, 62, 226, 14, 0, 167, 151, 40, 0, 131, 216, 136, 0, 22, 181, 11, 0, 213, 18, 101, 0, 82, 154, 236, 0, 183, 23, 202, 0, 77, 205, 233, 0, 132, 193, 212, 0, 120, 172, 129, 0, 195, 185, 154, 0, 119, 230, 4, 0, 82, 183, 75, 0, 174, 233, 10, 0, 156, 140, 114, 0, 105, 107, 117, 0, 137, 212, 162, 0, 178, 11, 99, 0, 177, 100, 87, 0, 68, 38, 108, 0, 26, 222, 252, 0, 98, 91, 88, 0, 57, 128, 175, 0, 70, 123, 209, 0, 20, 107, 235, 0, 68, 151, 154, 0, 177, 27, 4, 0, 76, 172, 197, 0, 44, 175, 50, 0, 42, 25, 107, 0, 39, 87, 241, 0, 171, 197, 194, 0, 178, 219, 52, 0, 187, 136, 88, 0, 44, 79, 10, 0, 236, 73, 36, 0, 223, 137, 62, 0, 74, 195, 80, 0, 99, 59, 128, 0, 117, 73, 221, 0, 205, 93, 169, 0, 179, 123, 243, 0, 210, 4, 67, 0, 205, 27, 5, 0, 88, 70, 9, 0, 118, 220, 139, 0, 158, 163, 164, 0, 108, 120, 211, 0, 170, 52, 240, 0, 9, 2, 223, 0, 219, 38, 203, 0, 143, 8, 147, 0, 179, 224, 205, 0, 6, 100, 127, 0, 187, 95, 236, 0, 254, 185, 254, 0, \ +127, 245, 3, 0, 45, 211, 12, 0, 156, 59, 222, 0, 72, 0, 123, 0, 89, 75, 240, 0, 64, 137, 14, 0, 85, 68, 66, 0, 253, 149, 182, 0, 181, 2, 67, 0, 161, 66, 42, 0, 210, 155, 152, 0, 250, 107, 18, 0, 39, 140, 71, 0, 159, 107, 55, 0, 83, 48, 203, 0, 104, 58, 1, 0, 64, 81, 126, 0, 114, 145, 66, 0, 144, 38, 201, 0, 35, 137, 15, 0, 172, 57, 237, 0, 58, 198, 102, 0, 116, 83, 147, 0, 148, 245, 22, 0, 188, 52, 24, 0, 244, 208, 117, 0, 59, 84, 152, 0, 161, 246, 86, 0, 163, 57, 144, 0, 133, 50, 158, 0, 104, 184, 6, 0, 238, 43, 69, 0, 73, 59, 225, 0, 135, 14, 229, 0, 230, 116, 197, 0, 116, 156, 0, 0, 99, 61, 41, 0, 122, 22, 59, 0, 71, 242, 59, 0, 156, 136, 193, 0, 157, 100, 87, 0, 238, 56, 172, 0, 159, 81, 137, 0, 119, 184, 62, 0, 240, 98, 30, 0, 54, 19, 88, 0, 249, 104, 93, 0, 199, 162, 175, 0, 254, 98, 233, 0, 24, 194, 5, 0, 68, 189, 223, 0, 119, 71, 170, 0, 90, 233, 102, 0, 194, 87, 2, 0, 141, 148, 254, 0, 205, 134, 58, 0, 241, 203, 132, 0, 128, 35, 22, 0, 82, 178, 90, 0, 27, 93, 75, 0, 239, 59, 58, 0, 52, 202, 209, 0, 182, 47, 23, 0, 72, 136, 137, 0, 125, 252, 83, 0, 49, 177, 44, 0, 108, 137, 7, 0, 116, 154, 129, 0, 69, 254, 154, 0, 224, 156, 65, 0, 15, 131, 32, 0, 84, 205, 20, 0, 238, 192, 157, 0, 202, 100, 16, 0, 76, 29, 3, 0, 130, 124, 229, 0, 194, 35, 112, 0, 191, 220, 244, 0, 43, 39, 16, 0, 233, 254, 75, 0, 62, 132, 154, 0, 103, 211, 253, 0, 168, 56, 146, 0, 211, 120, 241, 0, 145, 50, 11, 0, 128, 128, 34, 0, 167, 136, 133, 0, 254, 144, 201, 0, 108, 13, 25, 0, 207, 252, 144, 0, 145, 160, 107, 0, 53, 146, 79, 0, 72, 18, 195, 0, 26, 204, 80, 0, 6, 80, 60, 0, 4, 103, 103, 0, 192, 41, 210, 0, 31, 0, 210, 0, 83, 218, 213, 0, 164, 249, 216, 0, 147, 9, 47, 0, 119, 69, 60, 0, 73, 246, 117, 0, 33, 153, 30, 0, 146, 127, 171, 0, 13, 140, 168, 0, 115, 76, 207, 0, 32, 55, 187, 0, 135, 163, 72, 0, 63, 198, 107, 0, 222, 126, 126, 0, 76, 196, 40, 0, 253, 88, 130, 0, 250, 22, 88, 0, 126, 19, 175, 0, 53, 110, 149, 0, 19, 150, 212, 0, 221, 11, 9, 0, 163, 47, 90, 0, 58, 74, 57, 0, 2, 80, 16, 0, 185, 139, 117, 0, 249, 38, 8, 0, 18, 166, 5, 0, 42, 217, 254, 0, 16, 4, 62, 0, 126, 34, 114, 0, 173, 233, 44, 0, 195, 37, 119, 0, 205, 63, 48, 0, 126, 242, 120, 0, 61, 178, 35, 0, 192, 223, 31, 0, 20, 39, 162, 0, 125, 167, 89, 0, 124, 236, 6, 0, 137, 214, 57, 0, 201, 63, 80, 0, 16, 52, 63, 0, 183, 179, 211, 0, 47, 118, 40, 0, 167, 136, 232, 0, 190, 72, 213, 0, 249, 87, 95, 0, 94, 216, 217, 0, 149, 96, 20, 0, 156, 59, 152, 0, 2, 5, 41, 0, 72, 201, 199, 0, 45, 243, 194, 0, 69, 193, 103, 0, 121, 132, 2, 0, 239, 113, 242, 0, 250, 207, 52, 0, 30, 130, 253, 0, 177, 88, 176, 0, 34, 176, 195, 0, 198, 27, 170, 0, 144, 224, 102, 0, 96, 198, 170, 0, 105, 108, 76, 0, 85, 222, 104, 0, 44, 136, 249, 0, 175, 135, 6, 0, 216, 151, 93, 0, 206, 195, 92, 0, 224, 27, 140, 0, 194, 253, 81, 0, 167, 234, 252, 0, 239, 141, 27, 0, 123, 139, 8, 0, 55, 117, 34, 0, 178, 220, 15, 0, 247, 245, 51, 0, 108, 76, 141, 0, 8, 95, 36, 0, 140, 99, 75, 0, 58, 113, 176, 0, 149, 23, 26, 0, 247, 115, 204, 0, 141, 120, 155, 0, 144, 179, 239, 0, 202, 118, 151, 0, 245, 65, 96, 0, 204, 215, 136, 0, 7, 242, 142, 0, 209, 136, 77, 0, 118, 59, 9, 0, 163, 135, 101, 0, 225, 227, 110, 0, 236, 31, 187, 0, 91, 77, 97, 0, 23, 114, 234, 0, 229, 217, 91, 0, 96, 198, 87, 0, 71, 106, 149, 0, 45, 213, 36, 0, 144, 133, 124, 0, 241, 52, 11, 0, 223, 92, 205, 0, 195, 42, 220, 0, 43, 129, 24, 0, 23, 70, 232, 0, 13, 24, 109, 0, 39, 234, 12, 0, 251, 110, 111, 0, 37, 231, 133, 0, 124, 183, 77, 0, 129, 124, 166, 0, 236, 110, 18, 0, 144, 223, 74, 0, 199, 142, 181, 0, 101, 99, 65, 0, 145, 137, 223, 0, 133, 18, 56, 0, 150, 52, 77, 0, 8, 50, 211, 0, 63, 163, 241, 0, 253, 74, 6, 0, 99, 36, 64, 0, 188, 9, 172, 0, 91, 61, 120, 0, 191, 188, 188, 0, 18, 47, 12, 0, \ +144, 213, 136, 0, 170, 238, 238, 0, 52, 26, 67, 0, 196, 183, 105, 0, 222, 122, 51, 0, 136, 178, 191, 0, 252, 173, 6, 0, 138, 65, 97, 0, 243, 41, 225, 0, 37, 175, 128, 0, 139, 227, 142, 0, 141, 123, 96, 0, 222, 167, 221, 0, 229, 8, 1, 0, 223, 7, 160, 0, 57, 181, 214, 0, 91, 186, 13, 0, 55, 201, 127, 0, 75, 81, 237, 0, 127, 52, 155, 0, 183, 42, 244, 0, 87, 77, 6, 0, 142, 59, 106, 0, 149, 198, 197, 0, 139, 95, 42, 0, 53, 146, 50, 0, 20, 206, 191, 0, 209, 46, 246, 0, 175, 172, 120, 0, 162, 145, 37, 0, 141, 53, 106, 0, 210, 200, 158, 0, 236, 163, 36, 0, 146, 211, 76, 0, 55, 47, 139, 0, 0, 100, 56, 0, 135, 117, 60, 0, 148, 91, 61, 0, 39, 63, 146, 0, 74, 103, 38, 0, 116, 197, 176, 0, 106, 47, 0, 0, 31, 25, 215, 0, 170, 2, 96, 0, 241, 190, 138, 0, 65, 90, 43, 0, 248, 130, 249, 0, 217, 132, 9, 0, 109, 188, 211, 0, 23, 61, 237, 0, 71, 4, 161, 0, 22, 114, 177, 0, 35, 151, 251, 0, 237, 59, 137, 0, 239, 44, 86, 0, 55, 48, 68, 0, 177, 36, 131, 0, 222, 227, 177, 0, 12, 140, 62, 0, 138, 102, 150, 0, 23, 19, 27, 0, 88, 243, 183, 0, 154, 18, 186, 0, 82, 22, 128, 0, 247, 149, 237, 0, 58, 148, 0, 0, 9, 135, 16, 0, 228, 83, 104, 0, 204, 135, 13, 0, 84, 175, 224, 0, 162, 206, 246, 0, 228, 170, 28, 0, 151, 185, 157, 0, 179, 44, 228, 0, 238, 215, 250, 0, 137, 3, 93, 0, 51, 60, 126, 0, 10, 136, 66, 0, 118, 67, 236, 0, 11, 90, 97, 0, 238, 67, 159, 0, 188, 252, 158, 0, 31, 76, 166, 0, 205, 151, 35, 0, 193, 236, 110, 0, 44, 38, 235, 0, 43, 80, 155, 0, 207, 148, 45, 0, 228, 234, 248, 0, 28, 219, 190, 0, 180, 249, 222, 0, 155, 188, 103, 0, 1, 210, 241, 0, 209, 19, 49, 0, 187, 179, 169, 0, 82, 10, 6, 0, 199, 60, 185, 0, 254, 48, 92, 0, 96, 178, 46, 0, 94, 120, 214, 0, 162, 48, 5, 0, 41, 161, 13, 0, 122, 54, 205, 0, 53, 34, 133, 0, 67, 37, 165, 0, 107, 241, 97, 0, 25, 159, 91, 0, 75, 145, 205, 0, 41, 91, 222, 0, 234, 37, 181, 0, 26, 126, 29, 0, 88, 142, 173, 0, 166, 137, 73, 0, 164, 110, 96, 0, 38, 49, 99, 0, 8, 179, 86, 0, 41, 179, 172, 0, 119, 88, 13, 0, 232, 106, 211, 0, 195, 138, 141, 0, 139, 5, 248, 0, 205, 50, 215, 0, 211, 89, 18, 0, 240, 188, 62, 0, 190, 191, 55, 0, 51, 168, 194, 0, 64, 113, 237, 0, 254, 162, 162, 0, 36, 204, 157, 0, 199, 62, 18, 0, 6, 54, 178, 0, 110, 110, 167, 0, 210, 24, 10, 0, 74, 131, 27, 0, 34, 92, 30, 0, 103, 23, 97, 0, 98, 51, 114, 0, 38, 25, 79, 0, 38, 79, 52, 0, 39, 218, 127, 0, 21, 219, 78, 0, 108, 101, 181, 0, 250, 8, 142, 0, 126, 100, 210, 0, 45, 40, 26, 0, 182, 51, 11, 0, 196, 176, 81, 0, 125, 212, 87, 0, 100, 212, 46, 0, 53, 242, 77, 0, 132, 46, 143, 0, 134, 214, 97, 0, 22, 52, 115, 0, 226, 200, 47, 0, 134, 45, 75, 0, 93, 73, 199, 0, 49, 219, 151, 0, 244, 238, 207, 0, 155, 116, 79, 0, 103, 223, 104, 0, 97, 94, 223, 0, 87, 181, 11, 0, 95, 185, 159, 0, 82, 210, 118, 0, 133, 151, 34, 0, 254, 58, 104, 0, 25, 179, 59, 0, 153, 153, 42, 0, 45, 64, 179, 0, 251, 132, 218, 0, 65, 118, 236, 0, 143, 195, 144, 0, 130, 227, 250, 0, 67, 221, 53, 0, 38, 46, 215, 0, 95, 114, 119, 0, 203, 177, 19, 0, 195, 230, 94, 0, 242, 219, 128, 0, 30, 1, 81, 0, 158, 33, 175, 0, 237, 139, 25, 0, 194, 167, 46, 0, 101, 191, 112, 0, 62, 179, 245, 0, 205, 96, 27, 0, 127, 104, 220, 0, 91, 128, 198, 0, 139, 129, 111, 0, 104, 244, 6, 0, 188, 76, 92, 0, 9, 115, 173, 0, 32, 72, 238, 0, 112, 27, 72, 0, 169, 160, 72, 0, 87, 164, 129, 0, 105, 227, 122, 0, 30, 105, 191, 0, 1, 118, 194, 0, 82, 171, 8, 0, 5, 214, 219, 0, 206, 209, 107, 0, 124, 158, 157, 0, 95, 210, 226, 0, 211, 51, 123, 0, 243, 2, 123, 0, 79, 190, 234, 0, 106, 228, 172, 0, 238, 121, 165, 0, 225, 220, 91, 0, 94, 202, 14, 0, 154, 46, 19, 0, 212, 230, 140, 0, 104, 123, 194, 0, 222, 149, 27, 0, 158, 107, 140, 0, 248, 154, 59, 0, 78, 156, 88, 0, 151, 154, 19, 0, 54, 196, 204, 0, 147, 228, 27, 0, 151, 187, 74, 0, 73, 71, 106, 0, 133, 80, 200, 0, \ +141, 226, 115, 0, 59, 145, 111, 0, 179, 6, 128, 0, 112, 206, 45, 0, 238, 156, 132, 0, 220, 160, 43, 0, 77, 185, 188, 0, 171, 26, 101, 0, 118, 208, 152, 0, 74, 137, 95, 0, 182, 216, 249, 0, 94, 137, 47, 0, 158, 166, 133, 0, 187, 208, 135, 0, 24, 40, 235, 0, 227, 136, 87, 0, 247, 223, 221, 0, 0, 78, 237, 0, 125, 254, 224, 0, 44, 6, 19, 0, 74, 209, 211, 0, 26, 12, 197, 0, 143, 168, 140, 0, 22, 241, 48, 0, 31, 0, 73, 0, 172, 124, 98, 0, 209, 88, 60, 0, 4, 169, 45, 0, 61, 95, 201, 0, 20, 23, 58, 0, 13, 110, 71, 0, 99, 191, 183, 0, 222, 43, 136, 0, 74, 166, 138, 0, 162, 70, 217, 0, 48, 72, 111, 0, 207, 54, 110, 0, 111, 23, 103, 0, 13, 157, 65, 0, 136, 167, 156, 0, 78, 195, 63, 0, 122, 188, 5, 0, 233, 78, 223, 0, 248, 200, 78, 0, 126, 130, 178, 0, 12, 175, 139, 0, 201, 195, 17, 0, 18, 86, 157, 0, 144, 85, 206, 0, 206, 209, 50, 0, 157, 22, 194, 0, 192, 207, 150, 0, 124, 30, 18, 0, 149, 213, 80, 0, 80, 245, 158, 0, 236, 54, 82, 0, 198, 4, 129, 0, 141, 58, 252, 0, 63, 24, 35, 0, 156, 7, 217, 0, 96, 184, 219, 0, 187, 25, 62, 0, 179, 253, 133, 0, 123, 114, 30, 0, 202, 201, 254, 0, 64, 60, 75, 0, 237, 183, 214, 0, 72, 208, 217, 0, 208, 9, 127, 0, 4, 189, 31, 0, 17, 148, 129, 0, 164, 191, 183, 0, 77, 155, 11, 0, 35, 25, 18, 0, 198, 221, 237, 0, 0, 78, 204, 0, 239, 118, 81, 0, 252, 160, 217, 0, 51, 15, 100, 0, 108, 226, 183, 0, 42, 30, 178, 0, 144, 195, 23, 0, 79, 54, 58, 0, 217, 73, 174, 0, 235, 187, 15, 0, 28, 97, 112, 0, 10, 42, 83, 0, 42, 197, 29, 0, 247, 62, 59, 0, 228, 94, 108, 0, 213, 49, 112, 0, 87, 128, 75, 0, 217, 153, 35, 0, 180, 141, 159, 0, 8, 109, 6, 0, 199, 86, 14, 0, 46, 119, 170, 0, 65, 93, 4, 0, 92, 61, 39, 0, 31, 201, 36, 0, 105, 212, 108, 0, 47, 107, 52, 0, 210, 44, 16, 0, 7, 113, 203, 0, 77, 47, 1, 0, 223, 193, 156, 0, 236, 251, 115, 0, 246, 50, 145, 0, 172, 197, 132, 0, 101, 247, 177, 0, 182, 102, 158, 0, 228, 105, 180, 0, 218, 21, 94, 0, 246, 216, 130, 0, 126, 104, 77, 0, 36, 47, 72, 0, 152, 37, 158, 0, 140, 27, 15, 0, 98, 25, 77, 0, 102, 187, 68, 0, 126, 15, 114, 0, 212, 110, 31, 0, 178, 237, 4, 0, 1, 208, 181, 0, 89, 39, 144, 0, 219, 251, 36, 0, 43, 202, 150, 0, 112, 240, 71, 0, 136, 12, 218, 0, 189, 41, 4, 0, 124, 235, 194, 0, 166, 37, 199, 0, 8, 238, 251, 0, 39, 70, 11, 0, 8, 48, 233, 0, 89, 193, 207, 0, 113, 109, 66, 0, 192, 225, 114, 0, 191, 148, 162, 0, 131, 253, 100, 0, 49, 139, 203, 0, 79, 85, 54, 0, 22, 82, 247, 0, 144, 47, 225, 0, 244, 116, 85, 0, 199, 92, 237, 0, 34, 213, 46, 0, 6, 175, 222, 0, 251, 78, 133, 0, 147, 55, 123, 0, 60, 200, 166, 0, 159, 251, 196, 0, 70, 192, 181, 0, 102, 159, 235, 0, 11, 72, 243, 0, 142, 202, 218, 0, 220, 206, 91, 0, 247, 126, 82, 0, 246, 9, 116, 0, 203, 101, 62, 0, 99, 152, 131, 0, 134, 43, 94, 0, 129, 44, 12, 0, 203, 231, 18, 0, 204, 46, 9, 0, 80, 222, 73, 0, 110, 85, 57, 0, 232, 67, 146, 0, 102, 214, 141, 0, 28, 230, 111, 0, 35, 161, 243, 0, 76, 192, 41, 0, 31, 219, 242, 0, 218, 106, 62, 0, 252, 66, 222, 0, 1, 191, 212, 0, 43, 122, 112, 0, 78, 182, 37, 0, 23, 60, 138, 0, 57, 233, 104, 0, 231, 78, 251, 0, 254, 143, 43, 0, 49, 205, 103, 0, 171, 192, 221, 0, 119, 20, 221, 0, 182, 133, 118, 0, 77, 9, 141, 0, 249, 209, 254, 0, 162, 131, 50, 0, 208, 48, 250, 0, 207, 106, 181, 0, 228, 204, 20, 0, 38, 45, 236, 0, 148, 99, 90, 0, 200, 153, 25, 0, 40, 41, 98, 0, 175, 114, 140, 0, 149, 211, 129, 0, 2, 253, 190, 0, 65, 143, 9, 0, 97, 163, 140, 0, 132, 205, 194, 0, 65, 194, 149, 0, 250, 121, 5, 0, 138, 55, 159, 0, 126, 253, 44, 0, 248, 29, 23, 0, 249, 134, 97, 0, 226, 185, 22, 0, 191, 75, 15, 0, 118, 55, 150, 0, 236, 36, 122, 0, 53, 242, 2, 0, 118, 122, 121, 0, 234, 59, 220, 0, 204, 210, 209, 0, 82, 102, 133, 0, 231, 5, 135, 0, 153, 144, 81, 0, 227, 52, 144, 0, 165, 153, 35, 0, 71, 5, 119, 0, 49, 6, 102, 0, 21, 10, 95, 0, \ +100, 101, 128, 0, 174, 63, 195, 0, 117, 79, 121, 0, 216, 200, 61, 0, 60, 14, 220, 0, 78, 114, 12, 0, 240, 50, 207, 0, 21, 225, 224, 0, 229, 210, 98, 0, 35, 183, 174, 0, 68, 77, 16, 0, 147, 34, 188, 0, 159, 34, 156, 0, 99, 52, 17, 0, 203, 250, 97, 0, 33, 60, 251, 0, 81, 130, 233, 0, 124, 92, 143, 0, 108, 227, 96, 0, 82, 134, 166, 0, 240, 111, 74, 0, 83, 171, 148, 0, 31, 185, 104, 0, 134, 88, 180, 0, 35, 115, 201, 0, 217, 15, 183, 0, 165, 4, 237, 0, 3, 31, 44, 0, 162, 31, 7, 0, 85, 105, 197, 0, 216, 6, 30, 0, 196, 197, 157, 0, 137, 132, 61, 0, 162, 227, 50, 0, 42, 144, 99, 0, 48, 220, 129, 0, 145, 190, 234, 0, 221, 180, 4, 0, 77, 125, 74, 0, 225, 167, 140, 0, 208, 51, 242, 0, 166, 40, 108, 0, 7, 221, 113, 0, 196, 43, 45, 0, 59, 219, 156, 0, 16, 199, 51, 0, 74, 112, 26, 0, 103, 10, 5, 0, 164, 9, 248, 0, 20, 219, 135, 0, 212, 178, 196, 0, 128, 197, 100, 0, 24, 199, 9, 0, 131, 145, 21, 0, 121, 182, 206, 0, 219, 174, 240, 0, 143, 184, 207, 0, 158, 195, 88, 0, 217, 82, 209, 0, 224, 10, 213, 0, 113, 212, 204, 0, 200, 220, 9, 0, 50, 177, 105, 0, 40, 106, 131, 0, 14, 68, 253, 0, 207, 184, 207, 0, 148, 53, 17, 0, 218, 63, 25, 0, 156, 173, 9, 0, 183, 63, 29, 0, 109, 204, 49, 0, 221, 72, 236, 0, 87, 21, 73, 0, 171, 33, 212, 0, 235, 240, 87, 0, 172, 206, 203, 0, 109, 52, 9, 0, 221, 164, 244, 0, 223, 48, 100, 0, 173, 205, 119, 0, 108, 140, 67, 0, 96, 89, 140, 0, 188, 202, 90, 0, 4, 140, 165, 0, 193, 36, 146, 0, 76, 17, 63, 0, 13, 139, 45, 0, 145, 248, 128, 0, 106, 177, 201, 0, 24, 127, 15, 0, 190, 57, 180, 0, 109, 196, 118, 0, 120, 116, 244, 0, 105, 171, 101, 0, 246, 213, 139, 0, 28, 7, 240, 0, 58, 92, 82, 0, 163, 78, 108, 0, 96, 184, 77, 0, 26, 179, 155, 0, 165, 134, 211, 0, 191, 21, 67, 0, 249, 198, 116, 0, 213, 100, 207, 0, 209, 119, 10, 0, 80, 96, 68, 0, 246, 11, 46, 0, 21, 250, 186, 0, 65, 175, 3, 0, 171, 204, 86, 0, 24, 100, 38, 0, 41, 26, 95, 0, 75, 17, 46, 0, 114, 132, 130, 0, 25, 14, 129, 0, 190, 79, 140, 0, 32, 9, 130, 0, 174, 28, 96, 0, 59, 57, 113, 0, 150, 28, 179, 0, 247, 133, 55, 0, 229, 52, 157, 0, 89, 5, 213, 0, 156, 91, 105, 0, 90, 224, 41, 0, 154, 2, 108, 0, 115, 40, 3, 0, 117, 243, 85, 0, 149, 98, 100, 0, 243, 147, 14, 0, 218, 1, 206, 0, 212, 52, 125, 0, 152, 18, 219, 0, 27, 130, 76, 0, 218, 188, 162, 0, 50, 154, 170, 0, 28, 251, 153, 0, 151, 21, 8, 0, 150, 90, 56, 0, 143, 162, 19, 0, 122, 231, 137, 0, 46, 137, 191, 0, 69, 79, 206, 0, 95, 247, 38, 0, 134, 28, 180, 0, 81, 12, 102, 0, 120, 108, 40, 0, 80, 130, 30, 0, 27, 250, 101, 0, 102, 38, 149, 0, 153, 163, 107, 0, 230, 182, 243, 0, 58, 153, 168, 0, 151, 111, 207, 0, 129, 99, 124, 0, 105, 75, 93, 0, 29, 64, 115, 0, 108, 196, 71, 0, 218, 155, 46, 0, 242, 121, 29, 0, 242, 203, 247, 0, 180, 99, 161, 0, 46, 231, 127, 0, 244, 95, 252, 0, 137, 10, 150, 0, 91, 29, 43, 0, 170, 138, 21, 0, 68, 143, 241, 0, 239, 33, 72, 0, 116, 171, 192, 0, 239, 177, 74, 0, 184, 31, 74, 0, 85, 17, 249, 0, 236, 75, 16, 0, 244, 188, 79, 0, 209, 28, 136, 0, 71, 145, 27, 0, 208, 98, 39, 0, 47, 14, 4, 0, 115, 9, 121, 0, 38, 78, 219, 0, 119, 109, 197, 0, 159, 253, 61, 0, 237, 125, 242, 0, 15, 226, 248, 0, 231, 226, 253, 0, 214, 134, 38, 0, 58, 111, 139, 0, 170, 36, 173, 0, 110, 7, 46, 0, 44, 177, 225, 0, 246, 209, 97, 0, 23, 239, 231, 0, 121, 88, 176, 0, 18, 163, 64, 0, 230, 20, 223, 0, 136, 206, 198, 0, 197, 240, 94, 0, 207, 15, 84, 0, 224, 101, 198, 0, 161, 139, 254, 0, 185, 12, 1, 0, 237, 94, 69, 0, 207, 169, 2, 0, 185, 73, 246, 0, 122, 65, 67, 0, 50, 240, 184, 0, 181, 9, 173, 0, 55, 112, 217, 0, 185, 104, 194, 0, 242, 108, 34, 0, 97, 100, 137, 0, 30, 223, 245, 0, 75, 24, 112, 0, 220, 224, 37, 0, 82, 240, 184, 0, 128, 116, 91, 0, 73, 239, 196, 0, 56, 194, 75, 0, 230, 237, 205, 0, 47, 110, 230, 0, 224, 135, 8, 0, 178, 214, 224, 0, 207, 180, 154, 0, \ +149, 43, 127, 0, 214, 99, 104, 0, 197, 242, 143, 0, 92, 30, 74, 0, 228, 226, 39, 0, 252, 211, 126, 0, 72, 239, 113, 0, 13, 97, 44, 0, 119, 47, 240, 0, 82, 65, 218, 0, 62, 62, 104, 0, 142, 42, 212, 0, 69, 230, 221, 0, 149, 159, 179, 0, 208, 229, 24, 0, 47, 54, 60, 0, 159, 82, 162, 0, 191, 184, 129, 0, 77, 0, 44, 0, 82, 109, 16, 0, 181, 166, 128, 0, 175, 99, 81, 0, 170, 135, 179, 0, 209, 39, 24, 0, 16, 45, 247, 0, 155, 117, 132, 0, 57, 206, 65, 0, 171, 117, 102, 0, 139, 251, 39, 0, 168, 3, 155, 0, 134, 27, 114, 0, 93, 73, 77, 0, 127, 194, 107, 0, 143, 59, 93, 0, 87, 122, 53, 0, 91, 165, 148, 0, 80, 190, 179, 0, 44, 159, 220, 0, 195, 203, 109, 0, 62, 180, 186, 0, 107, 245, 39, 0, 19, 67, 253, 0, 2, 61, 92, 0, 148, 30, 61, 0, 84, 217, 5, 0, 139, 113, 100, 0, 148, 232, 139, 0, 143, 142, 154, 0, 55, 207, 25, 0, 68, 42, 225, 0, 111, 152, 171, 0, 142, 169, 120, 0, 124, 213, 193, 0, 125, 153, 194, 0, 73, 153, 105, 0, 148, 9, 216, 0, 28, 169, 142, 0, 227, 78, 238, 0, 72, 46, 57, 0, 108, 87, 10, 0, 70, 64, 49, 0, 163, 128, 189, 0, 17, 35, 140, 0, 118, 52, 144, 0, 7, 191, 78, 0, 39, 246, 129, 0, 127, 254, 85, 0, 136, 156, 63, 0, 170, 242, 229, 0, 69, 31, 254, 0, 91, 61, 214, 0, 150, 128, 94, 0, 216, 65, 238, 0, 159, 241, 238, 0, 229, 96, 228, 0, 194, 197, 215, 0, 81, 185, 33, 0, 198, 132, 216, 0, 169, 158, 109, 0, 39, 179, 246, 0, 78, 31, 242, 0, 208, 98, 75, 0, 39, 2, 251, 0, 63, 39, 82, 0, 24, 95, 249, 0, 36, 120, 65, 0, 48, 53, 91, 0, 216, 69, 7, 0, 199, 243, 20, 0, 37, 232, 83, 0, 138, 238, 118, 0, 188, 146, 243, 0, 237, 222, 178, 0, 42, 135, 98, 0, 196, 112, 95, 0, 90, 58, 36, 0, 61, 95, 175, 0, 43, 53, 246, 0, 182, 147, 203, 0, 254, 197, 97, 0, 63, 175, 186, 0, 128, 218, 177, 0, 171, 224, 227, 0, 210, 175, 8, 0, 135, 14, 232, 0, 45, 71, 220, 0, 70, 215, 94, 0, 84, 72, 84, 0, 72, 85, 225, 0, 197, 177, 0, 0, 69, 128, 176, 0, 54, 235, 21, 0, 94, 149, 50, 0, 130, 254, 133, 0, 99, 6, 194, 0, 192, 204, 91, 0, 233, 186, 89, 0, 83, 74, 240, 0, 25, 10, 101, 0, 32, 220, 103, 0, 218, 252, 86, 0, 116, 129, 217, 0, 119, 238, 206, 0, 51, 15, 54, 0, 235, 145, 173, 0, 84, 64, 16, 0, 249, 60, 57, 0, 199, 227, 86, 0, 153, 253, 159, 0, 193, 3, 165, 0, 252, 119, 92, 0, 102, 225, 126, 0, 175, 71, 115, 0, 250, 130, 222, 0, 229, 245, 129, 0, 82, 181, 8, 0, 225, 105, 108, 0, 144, 128, 145, 0, 91, 96, 119, 0, 218, 254, 146, 0, 2, 236, 65, 0, 75, 122, 82, 0, 150, 102, 240, 0, 227, 160, 16, 0, 229, 34, 129, 0, 101, 120, 141, 0, 122, 123, 116, 0, 157, 56, 191, 0, 4, 204, 156, 0, 115, 128, 166, 0, 223, 244, 3, 0, 202, 222, 211, 0, 139, 23, 10, 0, 244, 190, 245, 0, 219, 228, 239, 0, 47, 250, 10, 0, 66, 104, 151, 0, 179, 102, 82, 0, 211, 58, 142, 0, 8, 142, 138, 0, 238, 65, 220, 0, 97, 51, 224, 0, 70, 99, 174, 0, 202, 46, 208, 0, 192, 188, 178, 0, 77, 106, 172, 0, 246, 132, 233, 0, 189, 90, 163, 0, 79, 89, 251, 0, 11, 122, 189, 0, 49, 93, 207, 0, 23, 113, 136, 0, 182, 98, 98, 0, 53, 244, 179, 0, 216, 188, 221, 0, 187, 124, 71, 0, 227, 243, 159, 0, 173, 155, 88, 0, 27, 38, 147, 0, 209, 192, 36, 0, 216, 143, 24, 0, 2, 245, 251, 0, 155, 238, 38, 0, 194, 54, 10, 0, 231, 228, 70, 0, 134, 187, 167, 0, 247, 127, 187, 0, 176, 179, 78, 0, 186, 78, 253, 0, 41, 137, 184, 0, 201, 69, 49, 0, 41, 187, 53, 0, 250, 22, 9, 0, 9, 116, 173, 0, 211, 209, 200, 0, 254, 242, 70, 0, 133, 214, 49, 0, 234, 44, 16, 0, 48, 72, 55, 0, 57, 82, 22, 0, 119, 215, 56, 0, 126, 246, 192, 0, 36, 228, 73, 0, 102, 110, 220, 0, 76, 135, 85, 0, 104, 163, 102, 0, 215, 35, 210, 0, 203, 184, 28, 0, 109, 57, 186, 0, 189, 122, 119, 0, 248, 20, 186, 0, 2, 196, 192, 0, 190, 205, 110, 0, 221, 51, 151, 0, 32, 17, 164, 0, 16, 203, 155, 0, 145, 52, 30, 0, 73, 130, 10, 0, 240, 206, 73, 0, 63, 76, 107, 0, 68, 205, 241, 0, 70, 61, 101, 0, 35, 8, 87, 0, 202, 60, 60, 0, \ +36, 227, 64, 0, 38, 73, 122, 0, 143, 148, 206, 0, 27, 11, 67, 0, 243, 5, 151, 0, 71, 111, 97, 0, 16, 211, 68, 0, 203, 156, 62, 0, 155, 178, 103, 0, 30, 239, 81, 0, 212, 14, 27, 0, 206, 195, 95, 0, 251, 171, 3, 0, 69, 19, 227, 0, 64, 157, 61, 0, 189, 127, 134, 0, 191, 19, 15, 0, 81, 153, 204, 0, 175, 250, 19, 0, 77, 97, 204, 0, 63, 208, 210, 0, 203, 14, 71, 0, 241, 196, 202, 0, 167, 137, 8, 0, 140, 166, 23, 0, 6, 237, 239, 0, 56, 219, 98, 0, 156, 231, 56, 0, 109, 62, 132, 0, 180, 144, 102, 0, 10, 162, 179, 0, 186, 52, 227, 0, 85, 217, 53, 0, 32, 5, 106, 0, 254, 160, 178, 0, 161, 101, 163, 0, 54, 203, 195, 0, 190, 124, 58, 0, 134, 58, 96, 0, 57, 210, 25, 0, 92, 107, 178, 0, 230, 157, 220, 0, 11, 152, 252, 0, 45, 39, 114, 0, 20, 33, 59, 0, 131, 133, 53, 0, 53, 35, 146, 0, 73, 141, 201, 0, 220, 198, 174, 0, 150, 82, 141, 0, 162, 103, 130, 0, 187, 110, 159, 0, 108, 55, 241, 0, 154, 82, 216, 0, 19, 160, 96, 0, 69, 176, 160, 0, 86, 234, 204, 0, 61, 229, 198, 0, 61, 47, 244, 0, 247, 125, 40, 0, 217, 159, 86, 0, 36, 162, 226, 0, 222, 5, 114, 0, 120, 140, 189, 0, 138, 205, 85, 0, 24, 236, 243, 0, 10, 110, 137, 0, 8, 170, 200, 0, 76, 72, 90, 0, 119, 81, 35, 0, 236, 3, 164, 0, 226, 85, 199, 0, 177, 251, 72, 0, 113, 4, 113, 0, 121, 218, 48, 0, 26, 231, 164, 0, 42, 169, 27, 0, 0, 57, 199, 0, 82, 11, 143, 0, 56, 254, 251, 0, 204, 136, 91, 0, 0, 20, 112, 0, 213, 223, 201, 0, 71, 139, 155, 0, 159, 215, 239, 0, 64, 110, 120, 0, 93, 139, 202, 0, 198, 122, 254, 0, 251, 73, 53, 0, 202, 125, 111, 0, 86, 99, 76, 0, 175, 223, 12, 0, 15, 38, 242, 0, 59, 234, 251, 0, 152, 203, 121, 0, 197, 162, 25, 0, 58, 157, 195, 0, 123, 244, 174, 0, 30, 80, 9, 0, 136, 245, 246, 0, 149, 187, 37, 0, 84, 60, 84, 0, 177, 63, 197, 0, 201, 110, 109, 0, 236, 93, 114, 0, 231, 46, 84, 0, 212, 227, 179, 0, 194, 165, 253, 0, 127, 213, 112, 0, 36, 231, 196, 0, 238, 59, 107, 0, 139, 82, 226, 0, 196, 246, 188, 0, 202, 217, 249, 0, 108, 253, 186, 0, 189, 115, 108, 0, 18, 28, 225, 0, 204, 228, 24, 0, 229, 103, 138, 0, 57, 100, 247, 0, 23, 234, 49, 0, 88, 104, 123, 0, 188, 237, 185, 0, 206, 253, 205, 0, 178, 189, 108, 0, 238, 57, 43, 0, 235, 116, 77, 0, 144, 76, 140, 0, 18, 88, 220, 0, 247, 89, 193, 0, 58, 195, 166, 0, 14, 104, 92, 0, 241, 127, 116, 0, 170, 193, 144, 0, 219, 248, 205, 0, 160, 19, 170, 0, 120, 72, 88, 0, 205, 4, 34, 0, 229, 82, 157, 0, 33, 28, 222, 0, 85, 217, 72, 0, 118, 198, 86, 0, 217, 30, 9, 0, 8, 226, 69, 0, 139, 169, 102, 0, 219, 146, 100, 0, 235, 6, 35, 0, 78, 157, 109, 0, 146, 126, 21, 0, 209, 110, 216, 0, 216, 199, 101, 0, 175, 114, 58, 0, 132, 187, 98, 0, 106, 22, 30, 0, 94, 241, 203, 0, 147, 11, 219, 0, 243, 27, 224, 0, 180, 147, 169, 0, 244, 252, 249, 0, 220, 50, 197, 0, 9, 237, 46, 0, 13, 142, 169, 0, 51, 119, 11, 0, 116, 254, 242, 0, 226, 9, 119, 0, 183, 95, 116, 0, 162, 116, 46, 0, 29, 110, 7, 0, 58, 144, 166, 0, 43, 109, 121, 0, 191, 80, 14, 0, 128, 44, 68, 0, 212, 58, 49, 0, 153, 29, 192, 0, 161, 127, 42, 0, 217, 5, 127, 0, 125, 182, 107, 0, 148, 151, 183, 0, 130, 125, 62, 0, 62, 200, 214, 0, 175, 229, 247, 0, 225, 241, 180, 0, 106, 25, 120, 0, 231, 184, 160, 0, 34, 7, 19, 0, 171, 136, 31, 0, 216, 120, 92, 0, 97, 226, 185, 0, 27, 76, 197, 0, 56, 108, 66, 0, 38, 66, 1, 0, 114, 54, 70, 0, 32, 56, 170, 0, 105, 139, 79, 0, 22, 100, 162, 0, 18, 133, 70, 0, 228, 82, 23, 0, 10, 82, 223, 0, 89, 192, 164, 0, 73, 164, 59, 0, 244, 68, 183, 0, 233, 100, 109, 0, 221, 109, 201, 0, 228, 191, 69, 0, 99, 220, 2, 0, 133, 41, 34, 0, 185, 250, 121, 0, 61, 117, 239, 0, 190, 4, 136, 0, 230, 153, 247, 0, 74, 68, 126, 0, 241, 244, 220, 0, 110, 23, 142, 0, 40, 161, 110, 0, 252, 152, 139, 0, 86, 202, 164, 0, 12, 144, 128, 0, 55, 59, 252, 0, 34, 197, 25, 0, 106, 213, 134, 0, 3, 223, 126, 0, 8, 139, 87, 0, 180, 22, 33, 0, 197, 55, 206, 0, \ +156, 0, 153, 0, 112, 52, 41, 0, 251, 109, 78, 0, 44, 75, 121, 0, 194, 52, 84, 0, 180, 112, 246, 0, 171, 39, 115, 0, 20, 112, 13, 0, 254, 86, 193, 0, 64, 171, 250, 0, 97, 159, 0, 0, 253, 246, 230, 0, 140, 191, 8, 0, 214, 110, 228, 0, 169, 46, 60, 0, 207, 175, 17, 0, 9, 45, 51, 0, 241, 207, 253, 0, 21, 98, 240, 0, 121, 226, 71, 0, 226, 50, 116, 0, 229, 215, 117, 0, 51, 83, 25, 0, 71, 104, 207, 0, 97, 84, 234, 0, 137, 153, 6, 0, 36, 212, 237, 0, 191, 208, 18, 0, 51, 244, 245, 0, 53, 50, 135, 0, 133, 117, 119, 0, 45, 130, 63, 0, 39, 92, 177, 0, 141, 99, 48, 0, 61, 151, 221, 0, 124, 252, 136, 0, 12, 78, 153, 0, 61, 61, 66, 0, 27, 94, 214, 0, 235, 242, 203, 0, 104, 246, 177, 0, 125, 77, 198, 0, 21, 124, 150, 0, 21, 211, 222, 0, 238, 116, 4, 0, 113, 53, 6, 0, 25, 85, 209, 0, 27, 88, 88, 0, 18, 152, 141, 0, 200, 206, 91, 0, 52, 190, 91, 0, 17, 43, 95, 0, 218, 191, 212, 0, 35, 212, 143, 0, 49, 112, 40, 0, 140, 80, 133, 0, 222, 207, 98, 0, 23, 99, 247, 0, 20, 52, 57, 0, 156, 85, 237, 0, 120, 92, 232, 0, 235, 165, 112, 0, 195, 18, 61, 0, 205, 150, 222, 0, 26, 251, 54, 0, 104, 59, 104, 0, 174, 132, 115, 0, 69, 237, 54, 0, 147, 95, 222, 0, 228, 191, 99, 0, 56, 165, 215, 0, 208, 148, 38, 0, 103, 108, 70, 0, 68, 133, 3, 0, 101, 19, 231, 0, 199, 160, 145, 0, 212, 143, 50, 0, 202, 128, 240, 0, 137, 187, 91, 0, 141, 121, 140, 0, 54, 56, 253, 0, 14, 145, 56, 0, 39, 102, 197, 0, 51, 213, 77, 0, 142, 66, 50, 0, 16, 215, 59, 0, 49, 79, 53, 0, 230, 60, 82, 0, 2, 153, 249, 0, 79, 232, 164, 0, 147, 167, 7, 0, 53, 246, 207, 0, 89, 100, 31, 0, 210, 14, 124, 0, 11, 41, 46, 0, 54, 28, 246, 0, 115, 154, 134, 0, 19, 53, 133, 0, 100, 94, 69, 0, 208, 179, 1, 0, 171, 22, 76, 0, 84, 91, 129, 0, 154, 238, 58, 0, 205, 66, 166, 0, 123, 75, 48, 0, 104, 132, 85, 0, 227, 139, 138, 0, 221, 173, 0, 0, 194, 254, 133, 0, 254, 109, 48, 0, 128, 16, 40, 0, 140, 234, 168, 0, 18, 68, 154, 0, 139, 106, 159, 0, 178, 42, 127, 0, 223, 22, 53, 0, 229, 128, 91, 0, 97, 202, 132, 0, 104, 3, 66, 0, 41, 59, 212, 0, 21, 220, 39, 0, 120, 212, 193, 0, 239, 12, 253, 0, 120, 73, 206, 0, 20, 123, 173, 0, 177, 6, 218, 0, 128, 95, 244, 0, 46, 251, 203, 0, 171, 50, 30, 0, 182, 38, 23, 0, 185, 191, 191, 0, 49, 60, 66, 0, 30, 62, 213, 0, 129, 154, 47, 0, 33, 184, 243, 0, 246, 70, 8, 0, 0, 114, 240, 0, 155, 138, 242, 0, 3, 206, 30, 0, 12, 215, 104, 0, 70, 104, 181, 0, 101, 197, 107, 0, 163, 210, 124, 0, 189, 62, 173, 0, 71, 106, 191, 0, 203, 156, 215, 0, 165, 195, 16, 0, 100, 183, 131, 0, 25, 149, 215, 0, 81, 148, 135, 0, 155, 33, 195, 0, 203, 1, 111, 0, 170, 51, 31, 0, 16, 217, 254, 0, 2, 79, 124, 0, 241, 228, 241, 0, 43, 41, 152, 0, 72, 33, 205, 0, 29, 62, 93, 0, 193, 85, 194, 0, 184, 78, 164, 0, 80, 1, 161, 0, 22, 128, 77, 0, 6, 113, 246, 0, 122, 60, 192, 0, 171, 29, 26, 0, 46, 97, 124, 0, 81, 14, 233, 0, 83, 252, 224, 0, 108, 179, 203, 0, 100, 231, 6, 0, 91, 83, 110, 0, 116, 51, 96, 0, 237, 134, 246, 0, 119, 33, 228, 0, 80, 30, 196, 0, 127, 34, 248, 0, 228, 135, 163, 0, 53, 64, 35, 0, 32, 21, 62, 0, 246, 115, 73, 0, 130, 15, 68, 0, 42, 243, 241, 0, 184, 246, 14, 0, 108, 130, 171, 0, 81, 181, 88, 0, 199, 90, 225, 0, 175, 66, 7, 0, 105, 117, 228, 0, 230, 112, 176, 0, 154, 80, 239, 0, 21, 223, 123, 0, 2, 62, 103, 0, 183, 35, 213, 0, 250, 185, 25, 0, 133, 124, 162, 0, 66, 120, 131, 0, 199, 158, 73, 0, 71, 77, 127, 0, 163, 102, 21, 0, 218, 200, 21, 0, 67, 242, 48, 0, 176, 124, 110, 0, 59, 190, 22, 0, 14, 218, 50, 0, 111, 0, 251, 0, 199, 27, 151, 0, 111, 176, 3, 0, 121, 60, 108, 0, 81, 154, 238, 0, 14, 22, 62, 0, 219, 221, 25, 0, 14, 2, 200, 0, 218, 246, 24, 0, 51, 234, 113, 0, 11, 69, 85, 0, 159, 68, 214, 0, 65, 16, 89, 0, 201, 20, 233, 0, 175, 88, 167, 0, 32, 214, 121, 0, 212, 77, 250, 0, 197, 190, 63, 0, 16, 25, 176, 0, \ +170, 15, 161, 0, 24, 99, 35, 0, 162, 155, 159, 0, 216, 10, 145, 0, 28, 10, 76, 0, 166, 232, 162, 0, 63, 160, 247, 0, 74, 168, 165, 0, 88, 120, 222, 0, 16, 27, 190, 0, 126, 102, 202, 0, 143, 78, 103, 0, 40, 75, 28, 0, 146, 41, 179, 0, 28, 193, 198, 0, 151, 64, 196, 0, 91, 102, 243, 0, 189, 223, 182, 0, 36, 45, 218, 0, 217, 201, 154, 0, 106, 122, 187, 0, 129, 11, 156, 0, 60, 251, 245, 0, 196, 151, 11, 0, 55, 39, 136, 0, 159, 151, 239, 0, 25, 188, 42, 0, 102, 206, 193, 0, 28, 107, 54, 0, 53, 52, 131, 0, 132, 51, 18, 0, 192, 221, 135, 0, 231, 108, 86, 0, 227, 108, 45, 0, 223, 159, 61, 0, 19, 106, 134, 0, 201, 143, 9, 0, 112, 36, 158, 0, 234, 163, 187, 0, 215, 43, 5, 0, 33, 205, 63, 0, 177, 67, 57, 0, 6, 32, 231, 0, 110, 238, 223, 0, 58, 162, 144, 0, 216, 37, 177, 0, 250, 166, 243, 0, 69, 124, 181, 0, 37, 244, 205, 0, 202, 127, 169, 0, 132, 154, 244, 0, 163, 179, 139, 0, 1, 18, 72, 0, 201, 226, 239, 0, 238, 108, 65, 0, 205, 213, 232, 0, 76, 26, 252, 0, 207, 91, 153, 0, 155, 84, 152, 0, 170, 98, 195, 0, 71, 25, 36, 0, 114, 54, 165, 0, 195, 103, 21, 0, 46, 101, 67, 0, 151, 81, 1, 0, 79, 14, 21, 0, 35, 81, 98, 0, 137, 105, 62, 0, 135, 92, 208, 0, 116, 51, 152, 0, 221, 120, 180, 0, 74, 226, 110, 0, 44, 162, 196, 0, 103, 70, 176, 0, 52, 195, 209, 0, 66, 44, 147, 0, 158, 134, 143, 0, 52, 143, 2, 0, 145, 213, 109, 0, 19, 37, 100, 0, 188, 196, 48, 0, 186, 47, 149, 0, 183, 30, 115, 0, 29, 225, 185, 0, 161, 192, 145, 0, 146, 163, 121, 0, 21, 35, 42, 0, 119, 172, 222, 0, 130, 67, 191, 0, 179, 121, 64, 0, 44, 146, 57, 0, 105, 32, 103, 0, 161, 54, 166, 0, 85, 48, 143, 0, 154, 237, 126, 0, 84, 103, 99, 0, 227, 139, 232, 0, 71, 10, 81, 0, 221, 104, 145, 0, 241, 75, 56, 0, 101, 9, 147, 0, 120, 110, 29, 0, 139, 253, 24, 0, 90, 68, 192, 0, 191, 25, 38, 0, 236, 47, 29, 0, 60, 27, 110, 0, 114, 137, 94, 0, 126, 67, 37, 0, 109, 112, 101, 0, 34, 0, 222, 0, 197, 65, 62, 0, 78, 235, 66, 0, 198, 115, 3, 0, 91, 228, 199, 0, 111, 214, 244, 0, 34, 34, 100, 0, 202, 241, 95, 0, 69, 38, 135, 0, 155, 204, 171, 0, 82, 100, 252, 0, 250, 14, 199, 0, 84, 102, 184, 0, 182, 175, 177, 0, 5, 116, 69, 0, 16, 49, 144, 0, 36, 125, 164, 0, 120, 33, 129, 0, 252, 13, 95, 0, 229, 128, 237, 0, 127, 208, 107, 0, 80, 177, 221, 0, 161, 85, 19, 0, 196, 64, 26, 0, 174, 200, 30, 0, 81, 134, 154, 0, 200, 242, 185, 0, 245, 194, 196, 0, 220, 196, 172, 0, 245, 112, 154, 0, 32, 67, 214, 0, 15, 233, 27, 0, 23, 2, 88, 0, 162, 35, 118, 0, 26, 13, 234, 0, 64, 81, 10, 0, 86, 122, 173, 0, 45, 123, 75, 0, 199, 27, 51, 0, 247, 197, 42, 0, 24, 127, 228, 0, 2, 43, 183, 0, 234, 60, 57, 0, 16, 156, 206, 0, 105, 122, 184, 0, 247, 122, 221, 0, 166, 93, 44, 0, 201, 19, 239, 0, 122, 124, 196, 0, 118, 117, 72, 0, 27, 69, 180, 0, 158, 71, 218, 0, 149, 201, 118, 0, 11, 52, 34, 0, 249, 102, 136, 0, 123, 112, 16, 0, 210, 181, 143, 0, 153, 54, 130, 0, 46, 221, 223, 0, 47, 46, 200, 0, 168, 3, 69, 0, 38, 253, 213, 0, 251, 239, 29, 0, 198, 234, 32, 0, 16, 116, 135, 0, 14, 248, 25, 0, 2, 158, 92, 0, 89, 4, 191, 0, 153, 7, 28, 0, 232, 160, 213, 0, 245, 119, 52, 0, 174, 143, 43, 0, 60, 114, 72, 0, 180, 8, 198, 0, 27, 162, 75, 0, 114, 39, 152, 0, 234, 223, 5, 0, 186, 137, 111, 0, 62, 231, 248, 0, 178, 154, 147, 0, 161, 231, 43, 0, 207, 192, 117, 0, 129, 85, 244, 0, 151, 183, 27, 0, 54, 57, 121, 0, 117, 183, 174, 0, 62, 132, 230, 0, 206, 46, 249, 0, 114, 192, 35, 0, 166, 38, 252, 0, 44, 43, 194, 0, 209, 225, 8, 0, 138, 88, 79, 0, 66, 190, 55, 0, 120, 158, 91, 0, 191, 2, 64, 0, 191, 76, 214, 0, 101, 209, 215, 0, 155, 129, 201, 0, 224, 171, 246, 0, 215, 14, 62, 0, 34, 230, 155, 0, 29, 9, 20, 0, 112, 44, 137, 0, 103, 21, 37, 0, 227, 222, 38, 0, 118, 172, 197, 0, 195, 92, 109, 0, 91, 110, 124, 0, 23, 71, 230, 0, 0, 1, 98, 0, 245, 82, 21, 0, 33, 40, 227, 0, 247, 217, 19, 0, \ +235, 173, 76, 0, 171, 162, 124, 0, 220, 5, 172, 0, 22, 105, 149, 0, 223, 228, 234, 0, 9, 64, 254, 0, 164, 231, 159, 0, 233, 1, 96, 0, 175, 54, 133, 0, 192, 12, 99, 0, 200, 105, 11, 0, 93, 247, 235, 0, 156, 197, 153, 0, 110, 48, 170, 0, 3, 242, 125, 0, 65, 99, 74, 0, 112, 1, 212, 0, 67, 192, 198, 0, 140, 171, 138, 0, 108, 208, 229, 0, 249, 228, 105, 0, 127, 51, 249, 0, 5, 220, 140, 0, 131, 31, 234, 0, 180, 124, 92, 0, 161, 214, 95, 0, 157, 80, 106, 0, 229, 122, 12, 0, 233, 115, 114, 0, 82, 51, 237, 0, 143, 22, 193, 0, 202, 100, 227, 0, 186, 109, 5, 0, 220, 172, 103, 0, 48, 241, 105, 0, 158, 87, 198, 0, 111, 79, 183, 0, 190, 111, 30, 0, 110, 163, 35, 0, 17, 219, 154, 0, 33, 232, 190, 0, 139, 9, 94, 0, 85, 118, 247, 0, 2, 54, 218, 0, 120, 243, 239, 0, 61, 34, 7, 0, 36, 36, 174, 0, 95, 31, 248, 0, 35, 106, 79, 0, 135, 158, 141, 0, 225, 245, 87, 0, 15, 230, 214, 0, 42, 169, 18, 0, 252, 111, 214, 0, 225, 217, 123, 0, 103, 32, 188, 0, 64, 22, 125, 0, 208, 81, 168, 0, 98, 153, 231, 0, 247, 2, 193, 0, 19, 221, 33, 0, 46, 45, 87, 0, 43, 179, 223, 0, 22, 61, 5, 0, 224, 37, 233, 0, 85, 189, 220, 0, 64, 143, 151, 0, 142, 89, 29, 0, 138, 145, 56, 0, 9, 81, 253, 0, 198, 87, 74, 0, 111, 39, 169, 0, 89, 116, 236, 0, 10, 118, 111, 0, 42, 122, 193, 0, 116, 176, 64, 0, 211, 90, 232, 0, 230, 242, 43, 0, 188, 101, 157, 0, 129, 142, 176, 0, 236, 164, 7, 0, 85, 214, 202, 0, 191, 237, 109, 0, 12, 29, 33, 0, 189, 70, 37, 0, 174, 235, 149, 0, 216, 75, 149, 0, 183, 242, 166, 0, 83, 244, 251, 0, 235, 228, 244, 0, 160, 134, 44, 0, 164, 163, 207, 0, 53, 198, 87, 0, 25, 211, 194, 0, 57, 118, 70, 0, 69, 192, 197, 0, 206, 92, 0, 0, 121, 38, 254, 0, 66, 128, 59, 0, 145, 72, 97, 0, 86, 85, 95, 0, 50, 8, 82, 0, 20, 22, 213, 0, 154, 135, 61, 0, 120, 36, 240, 0, 219, 114, 114, 0, 67, 241, 18, 0, 101, 38, 8, 0, 70, 30, 72, 0, 135, 225, 101, 0, 238, 210, 209, 0, 189, 203, 199, 0, 150, 123, 72, 0, 185, 114, 37, 0, 68, 36, 190, 0, 120, 86, 244, 0, 59, 211, 189, 0, 59, 67, 99, 0, 192, 133, 170, 0, 216, 71, 122, 0, 91, 16, 221, 0, 94, 22, 215, 0, 88, 181, 214, 0, 147, 117, 242, 0, 192, 126, 221, 0, 195, 207, 57, 0, 177, 168, 79, 0, 165, 8, 213, 0, 17, 188, 8, 0, 227, 118, 112, 0, 83, 59, 2, 0, 177, 225, 175, 0, 130, 85, 86, 0, 205, 9, 172, 0, 91, 91, 13, 0, 37, 173, 29, 0, 11, 217, 240, 0, 99, 90, 217, 0, 221, 124, 70, 0, 43, 74, 89, 0, 176, 64, 207, 0, 151, 231, 201, 0, 232, 39, 91, 0, 91, 49, 239, 0, 94, 81, 164, 0, 226, 165, 207, 0, 138, 52, 183, 0, 84, 179, 126, 0, 40, 85, 170, 0, 178, 70, 164, 0, 173, 187, 106, 0, 217, 113, 182, 0, 132, 235, 7, 0, 139, 7, 174, 0, 142, 189, 151, 0, 203, 19, 147, 0, 177, 196, 126, 0, 181, 231, 36, 0, 55, 250, 153, 0, 221, 100, 221, 0, 222, 112, 76, 0, 206, 113, 120, 0, 163, 8, 253, 0, 180, 27, 15, 0, 151, 132, 170, 0, 161, 174, 218, 0, 236, 195, 186, 0, 2, 200, 188, 0, 136, 22, 152, 0, 231, 196, 49, 0, 171, 85, 219, 0, 73, 153, 127, 0, 187, 67, 181, 0, 230, 115, 124, 0, 110, 242, 105, 0, 214, 31, 97, 0, 32, 211, 236, 0, 2, 48, 119, 0, 175, 216, 245, 0, 187, 21, 26, 0, 146, 65, 111, 0, 37, 115, 52, 0, 227, 2, 110, 0, 174, 165, 27, 0, 17, 84, 155, 0, 58, 228, 12, 0, 27, 73, 128, 0, 143, 167, 145, 0, 229, 131, 142, 0, 46, 219, 128, 0, 234, 188, 150, 0, 103, 15, 26, 0, 12, 131, 125, 0, 148, 236, 193, 0, 218, 116, 165, 0, 134, 57, 188, 0, 61, 150, 24, 0, 112, 81, 87, 0, 26, 224, 216, 0, 126, 67, 140, 0, 232, 108, 221, 0, 183, 204, 75, 0, 123, 194, 78, 0, 235, 104, 76, 0, 124, 110, 69, 0, 139, 116, 107, 0, 48, 136, 148, 0, 131, 189, 181, 0, 130, 10, 49, 0, 1, 59, 147, 0, 106, 81, 224, 0, 213, 37, 17, 0, 36, 92, 130, 0, 231, 84, 123, 0, 33, 244, 206, 0, 130, 112, 140, 0, 72, 70, 52, 0, 102, 65, 123, 0, 229, 40, 207, 0, 4, 180, 33, 0, 144, 127, 110, 0, 104, 218, 99, 0, 67, 115, 184, 0, 195, 27, 165, 0, \ +80, 162, 164, 0, 142, 59, 115, 0, 215, 236, 12, 0, 66, 115, 101, 0, 133, 199, 116, 0, 231, 230, 220, 0, 61, 162, 216, 0, 131, 65, 96, 0, 225, 61, 99, 0, 91, 192, 115, 0, 245, 54, 7, 0, 100, 221, 10, 0, 42, 12, 221, 0, 113, 48, 178, 0, 67, 235, 249, 0, 245, 192, 51, 0, 232, 154, 195, 0, 206, 81, 38, 0, 119, 74, 103, 0, 194, 2, 108, 0, 104, 63, 186, 0, 136, 108, 185, 0, 249, 193, 16, 0, 65, 191, 44, 0, 176, 213, 10, 0, 55, 205, 206, 0, 240, 33, 218, 0, 169, 149, 72, 0, 83, 25, 197, 0, 117, 67, 138, 0, 180, 169, 9, 0, 145, 203, 127, 0, 20, 100, 103, 0, 97, 42, 200, 0, 133, 97, 6, 0, 10, 137, 157, 0, 228, 47, 200, 0, 189, 139, 156, 0, 87, 223, 230, 0, 138, 40, 181, 0, 208, 106, 51, 0, 168, 49, 245, 0, 110, 46, 182, 0, 2, 87, 135, 0, 166, 19, 77, 0, 216, 146, 30, 0, 237, 137, 254, 0, 142, 111, 54, 0, 127, 165, 86, 0, 105, 209, 236, 0, 152, 141, 207, 0, 159, 178, 141, 0, 187, 58, 241, 0, 179, 75, 239, 0, 152, 9, 220, 0, 153, 216, 216, 0, 206, 39, 205, 0, 149, 1, 79, 0, 241, 3, 41, 0, 254, 156, 9, 0, 204, 21, 40, 0, 69, 62, 169, 0, 122, 59, 11, 0, 142, 80, 109, 0, 222, 235, 161, 0, 177, 69, 66, 0, 61, 224, 198, 0, 230, 203, 62, 0, 208, 96, 196, 0, 51, 3, 249, 0, 253, 140, 201, 0, 100, 84, 62, 0, 31, 76, 68, 0, 92, 154, 73, 0, 153, 44, 13, 0, 110, 80, 121, 0, 165, 227, 135, 0, 153, 31, 154, 0, 173, 152, 88, 0, 54, 84, 209, 0, 73, 147, 101, 0, 13, 44, 72, 0, 122, 249, 111, 0, 180, 162, 124, 0, 104, 139, 134, 0, 199, 33, 47, 0, 98, 4, 109, 0, 250, 61, 140, 0, 89, 78, 40, 0, 142, 122, 156, 0, 70, 122, 159, 0, 27, 162, 207, 0, 46, 238, 158, 0, 181, 113, 197, 0, 97, 141, 196, 0, 39, 216, 3, 0, 11, 151, 167, 0, 79, 32, 106, 0, 45, 227, 178, 0, 252, 50, 82, 0, 94, 240, 206, 0, 112, 219, 38, 0, 53, 14, 93, 0, 124, 232, 239, 0, 170, 250, 128, 0, 83, 122, 215, 0, 62, 10, 195, 0, 39, 153, 119, 0, 166, 114, 29, 0, 138, 215, 70, 0, 145, 3, 77, 0, 71, 68, 204, 0, 227, 129, 171, 0, 42, 145, 204, 0, 74, 15, 238, 0, 218, 73, 75, 0, 24, 36, 208, 0, 248, 59, 254, 0, 191, 18, 190, 0, 238, 98, 233, 0, 135, 111, 148, 0, 84, 246, 146, 0, 27, 113, 57, 0, 191, 41, 185, 0, 205, 149, 46, 0, 29, 143, 63, 0, 251, 232, 250, 0, 193, 98, 34, 0, 32, 197, 7, 0, 46, 172, 80, 0, 101, 100, 126, 0, 73, 128, 142, 0, 63, 3, 209, 0, 235, 221, 181, 0, 74, 171, 175, 0, 46, 249, 141, 0, 135, 22, 169, 0, 177, 242, 85, 0, 13, 7, 247, 0, 209, 8, 182, 0, 62, 179, 0, 0, 254, 226, 114, 0, 249, 208, 64, 0, 46, 209, 141, 0, 93, 112, 111, 0, 216, 212, 172, 0, 210, 106, 250, 0, 5, 134, 216, 0, 234, 167, 115, 0, 130, 129, 137, 0, 78, 5, 90, 0, 185, 22, 36, 0, 148, 71, 242, 0, 76, 238, 187, 0, 208, 135, 182, 0, 191, 32, 123, 0, 213, 0, 135, 0, 224, 89, 141, 0, 108, 113, 59, 0, 174, 93, 233, 0, 69, 219, 79, 0, 16, 92, 83, 0, 32, 1, 222, 0, 51, 120, 196, 0, 117, 7, 151, 0, 150, 237, 117, 0, 238, 155, 151, 0, 80, 108, 63, 0, 119, 186, 19, 0, 133, 0, 170, 0, 121, 21, 0, 0, 221, 190, 232, 0, 132, 221, 80, 0, 228, 153, 248, 0, 29, 99, 36, 0, 196, 82, 108, 0, 82, 226, 43, 0, 232, 242, 97, 0, 101, 99, 132, 0, 116, 222, 252, 0, 71, 96, 117, 0, 22, 219, 39, 0, 130, 168, 194, 0, 220, 47, 94, 0, 150, 152, 51, 0, 55, 242, 39, 0, 98, 119, 202, 0, 143, 78, 85, 0, 24, 104, 4, 0, 187, 163, 204, 0, 251, 188, 205, 0, 122, 235, 249, 0, 187, 136, 29, 0, 121, 134, 133, 0, 61, 41, 140, 0, 133, 232, 158, 0, 215, 237, 64, 0, 223, 142, 45, 0, 250, 217, 129, 0, 182, 45, 89, 0, 223, 56, 85, 0, 138, 130, 160, 0, 134, 165, 138, 0, 245, 89, 127, 0, 164, 2, 57, 0, 68, 87, 73, 0, 83, 83, 98, 0, 15, 92, 227, 0, 39, 152, 213, 0, 202, 188, 139, 0, 34, 163, 74, 0, 32, 227, 89, 0, 209, 238, 157, 0, 20, 53, 193, 0, 171, 54, 252, 0, 157, 175, 211, 0, 135, 110, 3, 0, 67, 128, 236, 0, 28, 105, 0, 0, 153, 156, 149, 0, 144, 66, 45, 0, 114, 239, 155, 0, 108, 157, 171, 0, 174, 62, 107, 0, \ +229, 96, 145, 0, 38, 226, 156, 0, 243, 18, 205, 0, 212, 227, 79, 0, 104, 209, 58, 0, 173, 211, 103, 0, 78, 170, 222, 0, 127, 137, 236, 0, 53, 192, 164, 0, 90, 199, 90, 0, 192, 54, 205, 0, 128, 179, 90, 0, 66, 77, 49, 0, 206, 42, 215, 0, 106, 4, 2, 0, 246, 42, 12, 0, 62, 45, 58, 0, 38, 37, 59, 0, 116, 243, 87, 0, 55, 35, 2, 0, 39, 174, 63, 0, 228, 178, 27, 0, 193, 85, 25, 0, 27, 161, 41, 0, 110, 252, 233, 0, 203, 198, 166, 0, 236, 19, 226, 0, 191, 122, 128, 0, 205, 179, 159, 0, 100, 166, 77, 0, 19, 75, 208, 0, 209, 25, 246, 0, 58, 11, 243, 0, 147, 131, 72, 0, 193, 162, 32, 0, 178, 96, 34, 0, 26, 17, 42, 0, 101, 242, 101, 0, 177, 211, 26, 0, 173, 138, 174, 0, 65, 241, 236, 0, 21, 130, 225, 0, 204, 162, 39, 0, 37, 174, 37, 0, 159, 156, 155, 0, 140, 102, 50, 0, 198, 206, 40, 0, 137, 164, 251, 0, 207, 186, 32, 0, 116, 63, 247, 0, 191, 131, 203, 0, 172, 55, 157, 0, 130, 250, 59, 0, 154, 201, 9, 0, 31, 222, 125, 0, 109, 153, 88, 0, 67, 75, 53, 0, 36, 212, 111, 0, 173, 18, 137, 0, 94, 212, 220, 0, 170, 69, 188, 0, 234, 104, 27, 0, 22, 19, 133, 0, 70, 131, 25, 0, 155, 75, 239, 0, 169, 183, 7, 0, 215, 236, 158, 0, 61, 55, 25, 0, 91, 132, 130, 0, 9, 179, 95, 0, 46, 122, 233, 0, 200, 37, 13, 0, 12, 145, 164, 0, 90, 152, 160, 0, 192, 69, 48, 0, 178, 100, 125, 0, 73, 194, 16, 0, 112, 155, 237, 0, 230, 208, 181, 0, 5, 68, 168, 0, 97, 209, 119, 0, 44, 27, 197, 0, 156, 237, 129, 0, 11, 20, 24, 0, 201, 99, 233, 0, 214, 146, 178, 0, 131, 67, 35, 0, 210, 7, 100, 0, 70, 184, 82, 0, 240, 76, 114, 0, 119, 73, 58, 0, 58, 97, 158, 0, 48, 122, 127, 0, 99, 143, 21, 0, 140, 198, 156, 0, 83, 129, 203, 0, 35, 251, 9, 0, 241, 62, 45, 0, 249, 189, 77, 0, 143, 125, 114, 0, 132, 171, 234, 0, 41, 108, 243, 0, 159, 159, 184, 0, 3, 127, 69, 0, 174, 37, 44, 0, 228, 98, 185, 0, 34, 209, 235, 0, 222, 167, 56, 0, 28, 193, 52, 0, 219, 18, 38, 0, 86, 27, 231, 0, 47, 74, 144, 0, 120, 100, 231, 0, 58, 58, 252, 0, 14, 23, 46, 0, 235, 211, 163, 0, 122, 135, 71, 0, 17, 246, 204, 0, 195, 213, 42, 0, 168, 17, 224, 0, 236, 153, 118, 0, 178, 112, 59, 0, 143, 192, 233, 0, 239, 143, 37, 0, 62, 238, 8, 0, 156, 224, 201, 0, 105, 181, 122, 0, 17, 110, 200, 0, 99, 28, 53, 0, 153, 0, 106, 0, 211, 184, 78, 0, 21, 178, 71, 0, 138, 233, 253, 0, 106, 44, 65, 0, 52, 6, 87, 0, 96, 244, 192, 0, 12, 137, 176, 0, 124, 191, 57, 0, 1, 1, 239, 0, 66, 149, 249, 0, 150, 61, 181, 0, 131, 25, 90, 0, 120, 166, 101, 0, 206, 120, 144, 0, 103, 154, 219, 0, 106, 21, 157, 0, 122, 181, 48, 0, 81, 204, 192, 0, 97, 165, 50, 0, 149, 21, 92, 0, 140, 21, 182, 0, 249, 116, 147, 0, 180, 82, 59, 0, 34, 89, 22, 0, 72, 51, 96, 0, 28, 112, 237, 0, 251, 230, 177, 0, 107, 14, 28, 0, 158, 143, 84, 0, 210, 68, 213, 0, 106, 9, 30, 0, 28, 246, 43, 0, 78, 242, 186, 0, 170, 211, 79, 0, 89, 195, 74, 0, 102, 76, 63, 0, 240, 251, 236, 0, 150, 131, 77, 0, 66, 18, 131, 0, 242, 116, 32, 0, 229, 247, 180, 0, 176, 134, 148, 0, 121, 7, 149, 0, 97, 85, 120, 0, 5, 102, 136, 0, 34, 171, 201, 0, 208, 109, 124, 0, 146, 200, 160, 0, 17, 115, 203, 0, 157, 196, 75, 0, 90, 112, 223, 0, 73, 75, 132, 0, 235, 103, 22, 0, 238, 195, 123, 0, 91, 111, 230, 0, 134, 1, 156, 0, 206, 246, 251, 0, 223, 1, 10, 0, 61, 204, 28, 0, 40, 231, 93, 0, 235, 183, 249, 0, 63, 233, 164, 0, 176, 159, 7, 0, 209, 92, 153, 0, 108, 9, 152, 0, 198, 89, 42, 0, 61, 67, 51, 0, 249, 187, 65, 0, 40, 241, 181, 0, 165, 136, 82, 0, 101, 253, 76, 0, 25, 61, 168, 0, 10, 170, 104, 0, 61, 87, 101, 0, 8, 138, 160, 0, 200, 220, 3, 0, 135, 11, 160, 0, 89, 125, 247, 0, 75, 254, 182, 0, 116, 15, 158, 0, 192, 248, 102, 0, 244, 222, 125, 0, 110, 17, 185, 0, 76, 13, 49, 0, 142, 215, 120, 0, 10, 235, 233, 0, 208, 0, 201, 0, 188, 254, 202, 0, 57, 37, 167, 0, 240, 26, 147, 0, 168, 197, 83, 0, 97, 109, 88, 0, 126, 100, 144, 0, 96, 109, 190, 0, \ +17, 62, 100, 0, 123, 78, 148, 0, 163, 151, 106, 0, 211, 15, 80, 0, 95, 26, 54, 0, 134, 111, 158, 0, 192, 132, 25, 0, 195, 89, 211, 0, 95, 12, 198, 0, 8, 185, 33, 0, 112, 188, 88, 0, 60, 80, 50, 0, 123, 179, 176, 0, 124, 77, 121, 0, 164, 95, 220, 0, 175, 79, 227, 0, 22, 201, 145, 0, 227, 190, 24, 0, 88, 184, 165, 0, 4, 45, 216, 0, 228, 61, 141, 0, 225, 105, 200, 0, 53, 254, 99, 0, 226, 117, 24, 0, 115, 7, 224, 0, 70, 41, 206, 0, 226, 236, 180, 0, 167, 45, 172, 0, 138, 58, 154, 0, 225, 95, 41, 0, 185, 218, 108, 0, 13, 100, 169, 0, 39, 247, 198, 0, 0, 56, 130, 0, 174, 101, 216, 0, 182, 43, 170, 0, 142, 79, 138, 0, 226, 116, 113, 0, 12, 13, 108, 0, 49, 1, 215, 0, 224, 26, 244, 0, 136, 186, 219, 0, 97, 112, 44, 0, 28, 193, 129, 0, 160, 153, 115, 0, 247, 213, 224, 0, 66, 191, 254, 0, 37, 251, 208, 0, 105, 50, 168, 0, 211, 180, 78, 0, 145, 73, 147, 0, 207, 226, 98, 0, 219, 155, 169, 0, 82, 254, 230, 0, 133, 18, 18, 0, 215, 94, 222, 0, 238, 78, 137, 0, 157, 105, 237, 0, 15, 147, 81, 0, 60, 105, 113, 0, 182, 240, 239, 0, 222, 2, 146, 0, 84, 81, 242, 0, 153, 206, 133, 0, 195, 100, 48, 0, 217, 147, 35, 0, 132, 82, 217, 0, 94, 173, 1, 0, 182, 230, 53, 0, 4, 254, 100, 0, 73, 135, 238, 0, 6, 162, 253, 0, 151, 110, 237, 0, 169, 73, 208, 0, 163, 13, 164, 0, 136, 56, 223, 0, 190, 50, 147, 0, 31, 205, 119, 0, 191, 49, 129, 0, 51, 228, 2, 0, 137, 110, 88, 0, 123, 161, 163, 0, 161, 150, 27, 0, 249, 90, 17, 0, 63, 43, 206, 0, 38, 221, 8, 0, 225, 17, 61, 0, 222, 50, 47, 0, 154, 221, 164, 0, 215, 64, 212, 0, 4, 163, 53, 0, 66, 244, 82, 0, 76, 90, 228, 0, 75, 113, 193, 0, 241, 135, 136, 0, 252, 169, 168, 0, 11, 50, 153, 0, 185, 177, 139, 0, 165, 175, 243, 0, 217, 86, 171, 0, 230, 165, 130, 0, 210, 118, 50, 0, 98, 180, 204, 0, 40, 242, 254, 0, 76, 188, 92, 0, 215, 144, 244, 0, 52, 7, 86, 0, 210, 73, 187, 0, 8, 152, 12, 0, 84, 81, 103, 0, 137, 97, 175, 0, 13, 232, 80, 0, 17, 58, 126, 0, 204, 253, 54, 0, 65, 52, 63, 0, 171, 117, 6, 0, 193, 181, 189, 0, 228, 247, 135, 0, 44, 67, 31, 0, 174, 187, 153, 0, 127, 87, 191, 0, 197, 1, 156, 0, 92, 10, 28, 0, 168, 13, 224, 0, 1, 233, 222, 0, 3, 54, 138, 0, 89, 248, 170, 0, 165, 218, 58, 0, 136, 23, 43, 0, 90, 10, 88, 0, 199, 67, 194, 0, 82, 217, 143, 0, 128, 165, 47, 0, 182, 9, 175, 0, 21, 111, 142, 0, 50, 76, 104, 0, 233, 18, 158, 0, 39, 248, 66, 0, 141, 159, 172, 0, 88, 54, 139, 0, 66, 179, 135, 0, 42, 170, 168, 0, 198, 152, 163, 0, 220, 155, 133, 0, 48, 11, 178, 0, 216, 253, 88, 0, 65, 126, 70, 0, 37, 224, 162, 0, 224, 220, 52, 0, 249, 98, 146, 0, 102, 237, 176, 0, 85, 146, 244, 0, 44, 152, 106, 0, 103, 3, 67, 0, 212, 10, 174, 0, 15, 162, 201, 0, 206, 88, 31, 0, 162, 91, 138, 0, 208, 179, 131, 0, 35, 89, 4, 0, 180, 63, 146, 0, 147, 147, 47, 0, 164, 76, 162, 0, 136, 153, 149, 0, 107, 49, 212, 0, 105, 8, 63, 0, 99, 205, 210, 0, 72, 88, 142, 0, 193, 26, 41, 0, 28, 210, 91, 0, 238, 29, 116, 0, 72, 167, 191, 0, 135, 1, 157, 0, 51, 126, 127, 0, 222, 127, 97, 0, 124, 214, 24, 0, 231, 61, 80, 0, 122, 155, 141, 0, 126, 38, 98, 0, 157, 96, 197, 0, 167, 152, 50, 0, 210, 235, 115, 0, 166, 102, 61, 0, 213, 250, 19, 0, 25, 176, 25, 0, 119, 142, 219, 0, 10, 111, 91, 0, 199, 175, 163, 0, 51, 79, 117, 0, 195, 170, 244, 0, 102, 125, 76, 0, 23, 164, 121, 0, 44, 105, 94, 0, 103, 70, 209, 0, 251, 103, 134, 0, 59, 127, 63, 0, 64, 164, 53, 0, 169, 108, 166, 0, 186, 179, 135, 0, 194, 224, 222, 0, 72, 221, 106, 0, 175, 133, 136, 0, 118, 96, 145, 0, 106, 36, 246, 0, 112, 92, 160, 0, 245, 154, 133, 0, 51, 182, 197, 0, 151, 40, 73, 0, 111, 35, 145, 0, 165, 130, 215, 0, 227, 141, 151, 0, 171, 33, 65, 0, 40, 40, 85, 0, 30, 108, 214, 0, 135, 148, 245, 0, 58, 216, 188, 0, 52, 129, 69, 0, 25, 224, 183, 0, 89, 228, 38, 0, 87, 181, 128, 0, 121, 119, 45, 0, 143, 38, 208, 0, 220, 132, 149, 0, 137, 161, 197, 0, \ +111, 222, 51, 0, 202, 165, 178, 0, 87, 206, 223, 0, 227, 59, 16, 0, 83, 180, 187, 0, 146, 35, 203, 0, 140, 168, 169, 0, 64, 188, 138, 0, 45, 214, 105, 0, 39, 233, 69, 0, 143, 106, 230, 0, 174, 15, 8, 0, 95, 229, 119, 0, 90, 98, 75, 0, 130, 253, 141, 0, 165, 7, 134, 0, 132, 232, 179, 0, 167, 167, 70, 0, 162, 247, 232, 0, 196, 96, 43, 0, 32, 38, 80, 0, 18, 249, 103, 0, 105, 10, 0, 0, 196, 166, 6, 0, 192, 209, 185, 0, 116, 200, 106, 0, 164, 78, 250, 0, 149, 251, 102, 0, 172, 243, 76, 0, 131, 9, 225, 0, 56, 152, 173, 0, 208, 64, 93, 0, 20, 142, 209, 0, 87, 243, 226, 0, 167, 139, 28, 0, 244, 66, 137, 0, 88, 250, 127, 0, 14, 86, 192, 0, 126, 143, 96, 0, 121, 100, 203, 0, 10, 84, 244, 0, 186, 157, 228, 0, 247, 217, 139, 0, 22, 122, 32, 0, 57, 31, 124, 0, 39, 60, 249, 0, 238, 75, 89, 0, 172, 2, 86, 0, 32, 163, 38, 0, 18, 97, 79, 0, 3, 229, 94, 0, 82, 19, 113, 0, 41, 43, 180, 0, 24, 132, 198, 0, 103, 90, 12, 0, 239, 111, 225, 0, 80, 253, 137, 0, 53, 52, 175, 0, 35, 138, 97, 0, 22, 163, 19, 0, 147, 215, 213, 0, 17, 187, 177, 0, 122, 224, 9, 0, 97, 221, 210, 0, 139, 19, 23, 0, 155, 131, 214, 0, 50, 135, 214, 0, 114, 57, 98, 0, 139, 223, 34, 0, 190, 167, 156, 0, 31, 158, 236, 0, 230, 61, 83, 0, 85, 152, 18, 0, 132, 156, 130, 0, 209, 239, 102, 0, 107, 218, 75, 0, 113, 105, 12, 0, 157, 159, 115, 0, 27, 153, 191, 0, 235, 60, 100, 0, 89, 219, 108, 0, 14, 231, 129, 0, 43, 35, 174, 0, 246, 31, 8, 0, 9, 67, 244, 0, 201, 136, 154, 0, 21, 178, 98, 0, 177, 180, 218, 0, 248, 121, 68, 0, 26, 138, 157, 0, 209, 160, 99, 0, 193, 55, 254, 0, 179, 43, 242, 0, 88, 9, 163, 0, 81, 238, 138, 0, 32, 248, 135, 0, 81, 201, 155, 0, 149, 131, 47, 0, 111, 172, 172, 0, 248, 2, 64, 0, 221, 99, 147, 0, 76, 39, 138, 0, 127, 254, 51, 0, 4, 14, 16, 0, 49, 108, 43, 0, 33, 153, 117, 0, 245, 10, 113, 0, 79, 193, 136, 0, 1, 252, 159, 0, 28, 249, 125, 0, 230, 191, 211, 0, 198, 48, 170, 0, 36, 231, 82, 0, 34, 69, 75, 0, 11, 212, 207, 0, 132, 209, 175, 0, 169, 218, 36, 0, 33, 238, 124, 0, 53, 240, 194, 0, 171, 107, 136, 0, 159, 145, 254, 0, 245, 249, 42, 0, 229, 202, 196, 0, 148, 106, 29, 0, 173, 60, 67, 0, 96, 225, 244, 0, 52, 3, 27, 0, 46, 16, 183, 0, 167, 94, 157, 0, 11, 111, 123, 0, 79, 150, 8, 0, 163, 30, 201, 0, 223, 223, 64, 0, 225, 232, 155, 0, 148, 229, 23, 0, 52, 80, 37, 0, 187, 157, 161, 0, 237, 103, 46, 0, 194, 54, 214, 0, 201, 246, 244, 0, 67, 74, 190, 0, 140, 94, 124, 0, 252, 22, 131, 0, 51, 157, 222, 0, 128, 249, 159, 0, 228, 34, 28, 0, 45, 156, 53, 0, 213, 67, 13, 0, 121, 198, 252, 0, 178, 51, 19, 0, 85, 24, 250, 0, 132, 22, 223, 0, 167, 61, 88, 0, 63, 143, 205, 0, 142, 46, 249, 0, 185, 43, 226, 0, 32, 181, 180, 0, 11, 17, 132, 0, 99, 188, 138, 0, 189, 139, 16, 0, 176, 177, 159, 0, 82, 121, 229, 0, 130, 76, 201, 0, 50, 139, 26, 0, 54, 189, 134, 0, 29, 39, 168, 0, 149, 172, 22, 0, 31, 43, 38, 0, 173, 47, 161, 0, 72, 226, 14, 0, 16, 216, 156, 0, 32, 111, 26, 0, 147, 22, 87, 0, 156, 245, 42, 0, 80, 129, 199, 0, 129, 131, 19, 0, 21, 247, 156, 0, 111, 69, 175, 0, 251, 27, 239, 0, 235, 46, 83, 0, 66, 42, 74, 0, 21, 205, 18, 0, 223, 101, 157, 0, 120, 234, 191, 0, 175, 246, 153, 0, 211, 61, 100, 0, 24, 245, 98, 0, 138, 105, 230, 0, 240, 29, 135, 0, 173, 194, 20, 0, 9, 252, 222, 0, 188, 199, 158, 0, 49, 139, 136, 0, 70, 35, 232, 0, 184, 20, 229, 0, 188, 20, 153, 0, 85, 126, 59, 0, 14, 117, 134, 0, 246, 13, 113, 0, 43, 196, 33, 0, 155, 48, 71, 0, 40, 204, 106, 0, 96, 121, 98, 0, 133, 232, 39, 0, 88, 169, 51, 0, 134, 109, 78, 0, 33, 143, 229, 0, 20, 67, 174, 0, 207, 169, 159, 0, 8, 111, 215, 0, 119, 175, 238, 0, 184, 238, 106, 0, 134, 175, 2, 0, 204, 235, 203, 0, 52, 67, 146, 0, 68, 249, 186, 0, 247, 88, 132, 0, 101, 50, 74, 0, 132, 55, 201, 0, 129, 141, 187, 0, 63, 85, 238, 0, 77, 205, 198, 0, 109, 59, 96, 0, 125, 250, 254, 0, \ +212, 246, 120, 0, 73, 229, 211, 0, 197, 132, 224, 0, 53, 196, 77, 0, 131, 5, 190, 0, 212, 149, 249, 0, 48, 35, 184, 0, 140, 170, 2, 0, 120, 6, 252, 0, 43, 105, 214, 0, 128, 27, 56, 0, 133, 242, 229, 0, 195, 183, 5, 0, 105, 142, 212, 0, 226, 23, 151, 0, 209, 241, 109, 0, 112, 32, 148, 0, 235, 139, 176, 0, 76, 148, 41, 0, 11, 103, 223, 0, 121, 214, 177, 0, 164, 198, 56, 0, 124, 143, 230, 0, 159, 237, 221, 0, 100, 160, 227, 0, 65, 231, 31, 0, 187, 95, 5, 0, 120, 65, 102, 0, 241, 153, 170, 0, 21, 76, 115, 0, 11, 54, 241, 0, 110, 65, 102, 0, 184, 168, 161, 0, 139, 141, 137, 0, 174, 198, 104, 0, 218, 22, 172, 0, 49, 137, 206, 0, 78, 16, 234, 0, 128, 192, 35, 0, 19, 58, 151, 0, 175, 46, 162, 0, 132, 153, 10, 0, 118, 137, 75, 0, 119, 239, 58, 0, 164, 43, 22, 0, 193, 217, 156, 0, 112, 252, 50, 0, 136, 222, 219, 0, 82, 153, 216, 0, 210, 116, 76, 0, 79, 98, 191, 0, 32, 70, 15, 0, 30, 31, 167, 0, 87, 187, 75, 0, 150, 181, 149, 0, 249, 49, 148, 0, 89, 146, 94, 0, 221, 40, 95, 0, 86, 160, 208, 0, 189, 232, 116, 0, 9, 183, 6, 0, 143, 28, 219, 0, 19, 207, 156, 0, 124, 151, 120, 0, 153, 24, 165, 0, 193, 131, 33, 0, 194, 116, 181, 0, 188, 214, 85, 0, 7, 221, 77, 0, 55, 48, 0, 0, 119, 79, 186, 0, 130, 210, 40, 0, 68, 242, 136, 0, 209, 246, 89, 0, 19, 161, 199, 0, 208, 4, 45, 0, 68, 127, 176, 0, 119, 218, 183, 0, 50, 127, 59, 0, 49, 190, 10, 0, 126, 54, 212, 0, 158, 215, 76, 0, 58, 227, 38, 0, 64, 225, 208, 0, 186, 201, 131, 0, 148, 113, 224, 0, 37, 1, 78, 0, 38, 34, 162, 0, 166, 250, 17, 0, 135, 12, 110, 0, 22, 232, 8, 0, 248, 246, 70, 0, 154, 119, 64, 0, 146, 12, 92, 0, 30, 35, 194, 0, 19, 254, 91, 0, 143, 120, 156, 0, 122, 105, 65, 0, 1, 63, 99, 0, 26, 86, 186, 0, 185, 211, 91, 0, 25, 87, 135, 0, 236, 86, 47, 0, 16, 142, 82, 0, 4, 228, 140, 0, 65, 130, 66, 0, 52, 206, 118, 0, 230, 132, 119, 0, 38, 217, 233, 0, 254, 20, 84, 0, 60, 35, 52, 0, 147, 41, 168, 0, 249, 108, 235, 0, 168, 211, 159, 0, 121, 229, 249, 0, 65, 44, 179, 0, 205, 195, 164, 0, 31, 116, 237, 0, 152, 27, 113, 0, 84, 181, 56, 0, 102, 85, 124, 0, 174, 185, 31, 0, 143, 72, 57, 0, 39, 201, 193, 0, 250, 90, 89, 0, 119, 111, 181, 0, 118, 105, 179, 0, 152, 117, 254, 0, 69, 9, 213, 0, 232, 179, 100, 0, 95, 147, 217, 0, 222, 106, 29, 0, 66, 112, 51, 0, 76, 52, 1, 0, 125, 132, 173, 0, 105, 137, 151, 0, 7, 51, 209, 0, 201, 29, 239, 0, 63, 22, 48, 0, 134, 143, 184, 0, 26, 188, 81, 0, 223, 224, 98, 0, 244, 14, 221, 0, 140, 116, 103, 0, 167, 185, 180, 0, 36, 192, 40, 0, 185, 222, 135, 0, 156, 240, 169, 0, 128, 79, 177, 0, 97, 123, 191, 0, 27, 204, 160, 0, 55, 207, 86, 0, 244, 76, 80, 0, 21, 253, 161, 0, 64, 121, 171, 0, 48, 217, 232, 0, 148, 178, 59, 0, 60, 251, 186, 0, 144, 113, 44, 0, 75, 42, 210, 0, 141, 209, 41, 0, 141, 99, 86, 0, 9, 105, 37, 0, 11, 13, 159, 0, 49, 58, 183, 0, 199, 22, 193, 0, 244, 198, 37, 0, 182, 227, 80, 0, 221, 210, 64, 0, 170, 127, 23, 0, 19, 70, 202, 0, 223, 204, 110, 0, 206, 10, 3, 0, 60, 131, 3, 0, 142, 169, 149, 0, 137, 89, 155, 0, 182, 217, 242, 0, 203, 32, 45, 0, 231, 90, 151, 0, 228, 72, 37, 0, 85, 249, 41, 0, 155, 200, 231, 0, 58, 122, 226, 0, 184, 8, 110, 0, 44, 83, 14, 0, 41, 225, 192, 0, 110, 55, 244, 0, 164, 189, 46, 0, 71, 203, 236, 0, 120, 17, 52, 0, 73, 196, 93, 0, 208, 82, 103, 0, 198, 196, 51, 0, 112, 119, 236, 0, 29, 180, 144, 0, 109, 208, 73, 0, 49, 66, 128, 0, 60, 33, 225, 0, 58, 114, 81, 0, 36, 210, 237, 0, 101, 249, 183, 0, 24, 170, 22, 0, 222, 173, 62, 0, 30, 137, 187, 0, 188, 139, 48, 0, 188, 251, 77, 0, 47, 194, 107, 0, 4, 117, 136, 0, 189, 35, 165, 0, 94, 155, 188, 0, 12, 119, 251, 0, 111, 80, 20, 0, 1, 112, 221, 0, 78, 166, 21, 0, 189, 167, 161, 0, 24, 151, 172, 0, 25, 25, 151, 0, 47, 124, 183, 0, 241, 153, 53, 0, 104, 244, 175, 0, 146, 49, 7, 0, 38, 130, 107, 0, 21, 50, 129, 0, 111, 140, 13, 0, \ +173, 121, 46, 0, 250, 212, 51, 0, 53, 106, 160, 0, 31, 147, 136, 0, 78, 44, 14, 0, 60, 93, 100, 0, 204, 225, 89, 0, 14, 249, 182, 0, 197, 25, 190, 0, 41, 21, 203, 0, 78, 238, 4, 0, 73, 128, 6, 0, 210, 174, 0, 0, 31, 194, 241, 0, 108, 173, 77, 0, 102, 96, 225, 0, 31, 132, 170, 0, 16, 66, 216, 0, 68, 132, 168, 0, 206, 212, 4, 0, 171, 87, 199, 0, 93, 145, 184, 0, 105, 75, 246, 0, 198, 214, 227, 0, 237, 60, 221, 0, 57, 252, 123, 0, 115, 245, 125, 0, 245, 182, 32, 0, 200, 120, 96, 0, 1, 183, 52, 0, 82, 38, 177, 0, 97, 222, 30, 0, 135, 93, 227, 0, 254, 9, 37, 0, 111, 224, 41, 0, 160, 181, 215, 0, 214, 8, 34, 0, 97, 194, 91, 0, 195, 218, 110, 0, 181, 101, 231, 0, 83, 101, 151, 0, 209, 97, 254, 0, 109, 49, 114, 0, 175, 148, 241, 0, 82, 198, 19, 0, 162, 237, 146, 0, 134, 6, 206, 0, 145, 175, 36, 0, 246, 149, 198, 0, 43, 139, 67, 0, 12, 119, 38, 0, 189, 11, 238, 0, 210, 157, 145, 0, 247, 121, 45, 0, 95, 248, 169, 0, 181, 0, 87, 0, 180, 74, 245, 0, 164, 251, 196, 0, 150, 240, 169, 0, 7, 185, 38, 0, 120, 167, 15, 0, 250, 53, 43, 0, 71, 44, 100, 0, 158, 2, 9, 0, 219, 26, 220, 0, 239, 39, 83, 0, 197, 145, 80, 0, 164, 135, 118, 0, 190, 29, 116, 0, 52, 65, 208, 0, 232, 227, 116, 0, 77, 28, 184, 0, 245, 249, 8, 0, 22, 146, 47, 0, 239, 251, 152, 0, 232, 190, 141, 0, 102, 241, 185, 0, 154, 192, 167, 0, 73, 206, 179, 0, 165, 83, 128, 0, 53, 212, 226, 0, 10, 90, 163, 0, 47, 191, 135, 0, 94, 85, 117, 0, 62, 182, 174, 0, 78, 93, 234, 0, 5, 42, 5, 0, 215, 226, 127, 0, 62, 189, 167, 0, 65, 41, 16, 0, 119, 13, 7, 0, 195, 154, 6, 0, 95, 146, 225, 0, 45, 149, 74, 0, 92, 115, 95, 0, 58, 142, 232, 0, 232, 28, 208, 0, 74, 144, 145, 0, 54, 83, 205, 0, 164, 228, 60, 0, 29, 58, 120, 0, 135, 201, 80, 0, 93, 207, 152, 0, 53, 47, 184, 0, 105, 209, 66, 0, 98, 218, 99, 0, 156, 81, 151, 0, 235, 155, 49, 0, 33, 49, 218, 0, 69, 205, 184, 0, 117, 211, 245, 0, 143, 105, 127, 0, 38, 164, 56, 0, 238, 44, 207, 0, 70, 248, 16, 0, 234, 60, 165, 0, 61, 107, 15, 0, 102, 116, 245, 0, 252, 45, 196, 0, 74, 14, 178, 0, 212, 45, 243, 0, 137, 93, 74, 0, 18, 232, 190, 0, 96, 174, 205, 0, 171, 71, 65, 0, 174, 148, 111, 0, 84, 65, 254, 0, 252, 18, 125, 0, 72, 241, 193, 0, 213, 223, 165, 0, 114, 83, 241, 0, 216, 100, 187, 0, 97, 1, 39, 0, 207, 131, 178, 0, 115, 204, 202, 0, 170, 174, 83, 0, 22, 52, 30, 0, 240, 184, 237, 0, 193, 4, 34, 0, 156, 108, 63, 0, 211, 67, 79, 0, 164, 146, 82, 0, 99, 230, 80, 0, 37, 5, 109, 0, 18, 142, 250, 0, 199, 98, 4, 0, 146, 46, 37, 0, 51, 114, 44, 0, 58, 118, 173, 0, 252, 242, 222, 0, 195, 219, 147, 0, 104, 214, 22, 0, 150, 122, 156, 0, 11, 72, 237, 0, 102, 66, 214, 0, 34, 21, 156, 0, 42, 112, 35, 0, 196, 73, 34, 0, 42, 241, 30, 0, 74, 39, 149, 0, 143, 30, 122, 0, 138, 186, 234, 0, 93, 10, 173, 0, 103, 134, 9, 0, 28, 151, 24, 0, 160, 53, 219, 0, 235, 206, 121, 0, 249, 216, 79, 0, 179, 237, 225, 0, 67, 198, 106, 0, 122, 129, 182, 0, 82, 246, 33, 0, 74, 191, 125, 0, 238, 232, 181, 0, 184, 40, 99, 0, 245, 167, 195, 0, 59, 220, 0, 0, 79, 124, 0, 0, 196, 190, 196, 0, 244, 204, 181, 0, 180, 2, 2, 0, 129, 68, 163, 0, 189, 238, 209, 0, 106, 185, 137, 0, 104, 107, 197, 0, 254, 40, 69, 0, 16, 123, 175, 0, 123, 173, 212, 0, 214, 185, 77, 0, 13, 139, 16, 0, 48, 1, 40, 0, 178, 89, 150, 0, 90, 183, 238, 0, 111, 44, 56, 0, 13, 192, 97, 0, 119, 86, 186, 0, 139, 73, 100, 0, 47, 214, 126, 0, 181, 22, 119, 0, 177, 68, 91, 0, 64, 88, 241, 0, 117, 125, 126, 0, 113, 14, 166, 0, 120, 54, 61, 0, 248, 63, 83, 0, 151, 115, 173, 0, 52, 156, 38, 0, 238, 83, 253, 0, 53, 142, 74, 0, 30, 85, 246, 0, 122, 118, 17, 0, 154, 4, 85, 0, 237, 78, 118, 0, 42, 200, 116, 0, 43, 241, 32, 0, 210, 191, 26, 0, 234, 233, 231, 0, 30, 155, 171, 0, 185, 192, 24, 0, 109, 20, 213, 0, 2, 181, 42, 0, 238, 51, 237, 0, 173, 156, 6, 0, 37, 218, 245, 0, \ +0, 96, 197, 0, 188, 249, 8, 0, 240, 13, 25, 0, 201, 142, 61, 0, 90, 169, 98, 0, 239, 240, 42, 0, 39, 5, 68, 0, 160, 139, 73, 0, 55, 212, 97, 0, 182, 52, 136, 0, 178, 169, 162, 0, 124, 22, 250, 0, 125, 43, 230, 0, 186, 159, 213, 0, 11, 225, 132, 0, 93, 245, 114, 0, 126, 12, 25, 0, 178, 217, 87, 0, 176, 240, 197, 0, 186, 167, 232, 0, 208, 198, 79, 0, 252, 211, 184, 0, 22, 95, 17, 0, 244, 238, 113, 0, 19, 213, 236, 0, 165, 98, 188, 0, 194, 65, 175, 0, 29, 172, 214, 0, 21, 172, 111, 0, 7, 124, 244, 0, 37, 125, 247, 0, 43, 132, 184, 0, 173, 81, 203, 0, 227, 2, 53, 0, 152, 229, 220, 0, 139, 179, 221, 0, 111, 112, 122, 0, 73, 213, 152, 0, 175, 41, 203, 0, 247, 154, 166, 0, 228, 85, 126, 0, 129, 52, 8, 0, 163, 21, 64, 0, 147, 67, 23, 0, 59, 80, 9, 0, 36, 128, 10, 0, 54, 18, 42, 0, 183, 196, 31, 0, 181, 2, 133, 0, 88, 184, 198, 0, 212, 17, 100, 0, 224, 7, 118, 0, 210, 59, 61, 0, 63, 198, 5, 0, 249, 116, 163, 0, 126, 160, 200, 0, 90, 228, 83, 0, 181, 238, 98, 0, 122, 212, 64, 0, 127, 97, 33, 0, 52, 115, 199, 0, 224, 76, 222, 0, 38, 166, 201, 0, 236, 139, 252, 0, 233, 61, 29, 0, 23, 16, 145, 0, 12, 191, 238, 0, 51, 161, 140, 0, 125, 13, 182, 0, 35, 237, 130, 0, 41, 92, 87, 0, 97, 209, 136, 0, 233, 145, 12, 0, 166, 243, 160, 0, 247, 15, 237, 0, 87, 6, 193, 0, 185, 135, 218, 0, 4, 244, 175, 0, 242, 88, 119, 0, 169, 48, 130, 0, 38, 34, 124, 0, 31, 75, 225, 0, 197, 6, 175, 0, 13, 228, 209, 0, 43, 200, 221, 0, 148, 8, 31, 0, 132, 193, 234, 0, 252, 26, 180, 0, 43, 134, 208, 0, 112, 153, 250, 0, 164, 205, 253, 0, 170, 134, 65, 0, 141, 133, 72, 0, 53, 77, 8, 0, 28, 174, 179, 0, 93, 144, 146, 0, 71, 103, 68, 0, 142, 14, 104, 0, 75, 180, 206, 0, 24, 206, 186, 0, 0, 155, 173, 0, 191, 243, 180, 0, 81, 183, 152, 0, 101, 1, 72, 0, 147, 223, 235, 0, 254, 65, 231, 0, 136, 82, 42, 0, 234, 127, 254, 0, 62, 163, 207, 0, 56, 39, 187, 0, 34, 232, 184, 0, 134, 4, 1, 0, 99, 38, 200, 0, 160, 213, 138, 0, 4, 46, 98, 0, 92, 208, 231, 0, 110, 227, 105, 0, 109, 0, 11, 0, 183, 136, 105, 0, 140, 44, 221, 0, 175, 156, 19, 0, 82, 211, 45, 0, 203, 131, 11, 0, 122, 146, 254, 0, 191, 155, 30, 0, 163, 198, 157, 0, 98, 175, 138, 0, 49, 59, 222, 0, 88, 202, 231, 0, 135, 86, 105, 0, 25, 188, 195, 0, 185, 24, 250, 0, 61, 42, 130, 0, 132, 180, 100, 0, 151, 182, 238, 0, 208, 13, 187, 0, 27, 115, 39, 0, 92, 64, 65, 0, 186, 224, 250, 0, 73, 10, 88, 0, 230, 191, 236, 0, 213, 109, 106, 0, 209, 147, 144, 0, 207, 171, 184, 0, 93, 8, 120, 0, 206, 237, 244, 0, 212, 112, 83, 0, 123, 53, 43, 0, 224, 51, 182, 0, 211, 225, 184, 0, 195, 140, 171, 0, 124, 30, 142, 0, 179, 41, 86, 0, 244, 192, 98, 0, 103, 19, 242, 0, 42, 146, 229, 0, 125, 44, 157, 0, 28, 206, 198, 0, 152, 77, 246, 0, 29, 195, 80, 0, 197, 158, 154, 0, 238, 160, 53, 0, 109, 168, 175, 0, 210, 3, 90, 0, 214, 117, 133, 0, 173, 186, 240, 0, 237, 14, 252, 0, 177, 111, 156, 0, 232, 131, 112, 0, 84, 59, 5, 0, 83, 149, 185, 0, 44, 40, 157, 0, 144, 171, 223, 0, 65, 137, 87, 0, 203, 223, 168, 0, 200, 3, 134, 0, 22, 62, 26, 0, 160, 2, 6, 0, 54, 26, 89, 0, 75, 13, 213, 0, 40, 250, 222, 0, 204, 52, 50, 0, 41, 188, 89, 0, 87, 182, 118, 0, 180, 157, 215, 0, 175, 141, 232, 0, 114, 107, 96, 0, 49, 238, 167, 0, 67, 86, 59, 0, 26, 238, 36, 0, 57, 245, 195, 0, 188, 156, 151, 0, 187, 40, 129, 0, 179, 39, 35, 0, 155, 147, 120, 0, 89, 44, 214, 0, 142, 206, 107, 0, 82, 3, 216, 0, 210, 31, 39, 0, 245, 99, 31, 0, 73, 155, 91, 0, 183, 232, 77, 0, 9, 127, 216, 0, 174, 125, 177, 0, 134, 253, 212, 0, 164, 201, 114, 0, 20, 63, 67, 0, 226, 71, 182, 0, 179, 17, 191, 0, 162, 9, 35, 0, 47, 191, 65, 0, 38, 53, 216, 0, 167, 123, 187, 0, 67, 35, 15, 0, 241, 241, 150, 0, 36, 35, 42, 0, 127, 155, 161, 0, 174, 121, 253, 0, 237, 104, 77, 0, 46, 196, 99, 0, 250, 25, 61, 0, 20, 52, 170, 0, 49, 250, 22, 0, 138, 39, 243, 0, \ +227, 233, 124, 0, 221, 170, 166, 0, 151, 157, 138, 0, 105, 77, 253, 0, 240, 152, 9, 0, 76, 226, 148, 0, 127, 60, 194, 0, 225, 71, 183, 0, 140, 127, 55, 0, 75, 60, 199, 0, 5, 181, 185, 0, 141, 176, 35, 0, 210, 171, 232, 0, 54, 111, 13, 0, 176, 39, 67, 0, 160, 61, 242, 0, 42, 225, 21, 0, 103, 186, 45, 0, 180, 101, 129, 0, 15, 100, 89, 0, 75, 153, 237, 0, 208, 232, 109, 0, 38, 138, 129, 0, 231, 68, 227, 0, 42, 95, 173, 0, 18, 241, 170, 0, 40, 68, 154, 0, 232, 179, 155, 0, 8, 244, 177, 0, 99, 61, 41, 0, 56, 70, 178, 0, 132, 152, 70, 0, 138, 146, 74, 0, 156, 20, 27, 0, 133, 175, 98, 0, 234, 236, 50, 0, 226, 151, 156, 0, 155, 253, 155, 0, 39, 81, 23, 0, 4, 78, 214, 0, 148, 77, 227, 0, 109, 40, 57, 0, 108, 186, 210, 0, 97, 119, 168, 0, 62, 89, 239, 0, 112, 102, 108, 0, 16, 155, 116, 0, 181, 87, 25, 0, 218, 13, 32, 0, 61, 212, 127, 0, 177, 9, 241, 0, 178, 175, 24, 0, 52, 0, 163, 0, 150, 233, 183, 0, 177, 71, 22, 0, 124, 77, 24, 0, 239, 41, 0, 0, 94, 201, 7, 0, 97, 43, 26, 0, 31, 245, 134, 0, 70, 19, 237, 0, 3, 65, 212, 0, 196, 96, 161, 0, 233, 182, 177, 0, 63, 209, 53, 0, 142, 96, 176, 0, 59, 232, 241, 0, 16, 75, 230, 0, 238, 26, 65, 0, 30, 104, 233, 0, 201, 227, 89, 0, 150, 62, 36, 0, 42, 66, 105, 0, 204, 160, 175, 0, 126, 114, 250, 0, 243, 226, 119, 0, 42, 185, 196, 0, 138, 29, 3, 0, 209, 43, 23, 0, 4, 1, 141, 0, 146, 4, 98, 0, 244, 198, 94, 0, 108, 96, 26, 0, 78, 16, 28, 0, 54, 165, 140, 0, 214, 61, 164, 0, 166, 129, 159, 0, 229, 175, 178, 0, 95, 170, 234, 0, 167, 53, 131, 0, 136, 95, 178, 0, 102, 26, 104, 0, 182, 181, 0, 0, 49, 118, 201, 0, 28, 14, 167, 0, 162, 20, 130, 0, 63, 59, 50, 0, 67, 203, 207, 0, 182, 106, 146, 0, 244, 217, 199, 0, 135, 32, 107, 0, 129, 116, 103, 0, 136, 162, 86, 0, 162, 70, 43, 0, 166, 11, 80, 0, 151, 89, 167, 0, 246, 29, 224, 0, 40, 159, 227, 0, 95, 54, 237, 0, 149, 148, 36, 0, 253, 214, 222, 0, 234, 99, 38, 0, 236, 142, 2, 0, 241, 69, 104, 0, 154, 0, 10, 0, 82, 8, 220, 0, 113, 58, 183, 0, 149, 67, 161, 0, 144, 2, 241, 0, 88, 83, 58, 0, 159, 144, 14, 0, 249, 232, 8, 0, 236, 148, 176, 0, 231, 62, 162, 0, 164, 56, 34, 0, 34, 200, 189, 0, 37, 234, 232, 0, 200, 66, 69, 0, 117, 143, 11, 0, 89, 200, 162, 0, 43, 61, 88, 0, 161, 150, 3, 0, 13, 159, 210, 0, 76, 184, 142, 0, 6, 144, 105, 0, 193, 198, 146, 0, 46, 16, 29, 0, 144, 41, 243, 0, 61, 156, 164, 0, 29, 98, 169, 0, 86, 254, 68, 0, 39, 203, 140, 0, 108, 108, 139, 0, 196, 79, 119, 0, 94, 229, 0, 0, 51, 175, 64, 0, 66, 224, 113, 0, 140, 24, 44, 0, 176, 217, 98, 0, 224, 168, 32, 0, 184, 129, 139, 0, 12, 57, 11, 0, 248, 222, 153, 0, 141, 234, 225, 0, 170, 91, 161, 0, 232, 97, 241, 0, 18, 35, 231, 0, 123, 197, 96, 0, 182, 1, 165, 0, 37, 129, 57, 0, 62, 28, 9, 0, 104, 161, 250, 0, 6, 18, 153, 0, 36, 75, 133, 0, 62, 121, 254, 0, 130, 45, 236, 0, 191, 234, 116, 0, 232, 167, 166, 0, 228, 24, 43, 0, 95, 75, 194, 0, 13, 2, 129, 0, 210, 214, 235, 0, 210, 53, 90, 0, 233, 68, 35, 0, 67, 159, 74, 0, 90, 212, 73, 0, 206, 147, 159, 0, 24, 215, 57, 0, 73, 99, 77, 0, 58, 111, 202, 0, 88, 88, 241, 0, 200, 3, 158, 0, 142, 10, 140, 0, 95, 206, 157, 0, 1, 114, 114, 0, 229, 158, 250, 0, 89, 148, 78, 0, 71, 74, 233, 0, 20, 139, 107, 0, 204, 196, 195, 0, 7, 245, 170, 0, 164, 171, 180, 0, 185, 245, 95, 0, 193, 160, 47, 0, 70, 94, 197, 0, 156, 77, 125, 0, 222, 226, 59, 0, 82, 225, 165, 0, 122, 214, 56, 0, 62, 213, 79, 0, 118, 239, 254, 0, 75, 17, 232, 0, 20, 227, 214, 0, 141, 246, 185, 0, 155, 165, 227, 0, 127, 29, 48, 0, 213, 8, 194, 0, 111, 74, 23, 0, 208, 128, 25, 0, 42, 125, 77, 0, 158, 30, 64, 0, 35, 221, 207, 0, 113, 149, 91, 0, 158, 83, 125, 0, 221, 170, 223, 0, 88, 212, 116, 0, 59, 123, 82, 0, 146, 108, 128, 0, 173, 208, 114, 0, 127, 93, 121, 0, 220, 139, 124, 0, 227, 233, 241, 0, 110, 138, 134, 0, 86, 66, 184, 0, \ +86, 59, 12, 0, 169, 83, 11, 0, 166, 241, 231, 0, 75, 33, 85, 0, 199, 58, 209, 0, 141, 239, 169, 0, 18, 183, 139, 0, 182, 229, 170, 0, 145, 206, 41, 0, 13, 203, 144, 0, 69, 76, 148, 0, 0, 73, 51, 0, 221, 15, 125, 0, 114, 54, 177, 0, 226, 118, 182, 0, 241, 78, 171, 0, 217, 76, 63, 0, 47, 15, 3, 0, 233, 22, 107, 0, 201, 137, 133, 0, 222, 6, 170, 0, 227, 209, 235, 0, 242, 237, 32, 0, 219, 71, 208, 0, 44, 78, 161, 0, 103, 197, 97, 0, 211, 54, 182, 0, 13, 167, 64, 0, 212, 8, 254, 0, 157, 89, 114, 0, 136, 196, 228, 0, 231, 121, 139, 0, 73, 58, 48, 0, 94, 90, 42, 0, 159, 88, 51, 0, 223, 120, 4, 0, 18, 58, 57, 0, 225, 42, 227, 0, 70, 212, 195, 0, 59, 217, 186, 0, 116, 218, 105, 0, 39, 160, 55, 0, 226, 4, 198, 0, 126, 99, 212, 0, 117, 126, 1, 0, 75, 216, 12, 0, 61, 186, 181, 0, 238, 214, 36, 0, 107, 60, 225, 0, 242, 54, 103, 0, 71, 222, 49, 0, 93, 152, 132, 0, 222, 247, 97, 0, 22, 150, 158, 0, 135, 32, 143, 0, 42, 245, 183, 0, 63, 240, 95, 0, 51, 13, 145, 0, 139, 241, 101, 0, 36, 216, 10, 0, 10, 188, 121, 0, 233, 216, 149, 0, 221, 102, 5, 0, 72, 244, 38, 0, 76, 177, 206, 0, 175, 227, 111, 0, 51, 151, 26, 0, 186, 119, 98, 0, 25, 54, 97, 0, 208, 1, 99, 0, 26, 136, 163, 0, 4, 50, 244, 0, 35, 92, 58, 0, 124, 77, 154, 0, 77, 142, 198, 0, 105, 220, 160, 0, 141, 105, 1, 0, 159, 113, 111, 0, 60, 217, 104, 0, 59, 227, 8, 0, 150, 249, 32, 0, 34, 223, 34, 0, 104, 192, 203, 0, 202, 24, 203, 0, 74, 14, 169, 0, 13, 21, 111, 0, 7, 239, 49, 0, 147, 109, 45, 0, 138, 30, 173, 0, 78, 110, 87, 0, 35, 176, 73, 0, 61, 233, 92, 0, 233, 102, 17, 0, 196, 61, 153, 0, 129, 93, 146, 0, 7, 105, 70, 0, 110, 101, 114, 0, 249, 240, 144, 0, 246, 37, 151, 0, 36, 1, 42, 0, 182, 227, 247, 0, 245, 235, 212, 0, 27, 171, 10, 0, 236, 210, 199, 0, 218, 214, 253, 0, 14, 176, 154, 0, 248, 54, 40, 0, 64, 127, 170, 0, 83, 229, 123, 0, 227, 189, 170, 0, 178, 151, 137, 0, 181, 176, 6, 0, 205, 192, 50, 0, 130, 50, 249, 0, 125, 11, 237, 0, 14, 198, 20, 0, 67, 5, 64, 0, 1, 24, 148, 0, 49, 130, 107, 0, 201, 102, 129, 0, 49, 115, 144, 0, 237, 85, 17, 0, 118, 190, 137, 0, 145, 7, 105, 0, 2, 228, 181, 0, 202, 94, 102, 0, 67, 1, 53, 0, 215, 217, 190, 0, 155, 104, 22, 0, 224, 40, 179, 0, 63, 53, 205, 0, 219, 161, 203, 0, 74, 172, 109, 0, 187, 108, 202, 0, 139, 196, 16, 0, 126, 171, 253, 0, 118, 47, 248, 0, 180, 212, 143, 0, 46, 210, 219, 0, 59, 165, 129, 0, 20, 167, 172, 0, 191, 159, 62, 0, 143, 241, 21, 0, 155, 144, 212, 0, 177, 237, 120, 0, 101, 160, 210, 0, 206, 190, 221, 0, 230, 60, 212, 0, 116, 222, 178, 0, 101, 107, 193, 0, 199, 66, 22, 0, 63, 131, 171, 0, 45, 74, 98, 0, 245, 157, 3, 0, 202, 19, 61, 0, 108, 63, 74, 0, 56, 17, 139, 0, 13, 12, 246, 0, 126, 254, 209, 0, 97, 239, 108, 0, 80, 236, 22, 0, 91, 76, 36, 0, 101, 107, 43, 0, 227, 171, 43, 0, 141, 242, 163, 0, 107, 160, 108, 0, 46, 198, 52, 0, 7, 81, 116, 0, 248, 216, 98, 0, 154, 71, 100, 0, 168, 62, 161, 0, 204, 71, 246, 0, 216, 104, 41, 0, 216, 78, 76, 0, 247, 192, 206, 0, 157, 36, 11, 0, 32, 15, 234, 0, 80, 250, 52, 0, 128, 108, 110, 0, 106, 89, 197, 0, 143, 3, 88, 0, 116, 154, 204, 0, 91, 193, 32, 0, 234, 3, 44, 0, 6, 235, 141, 0, 185, 208, 184, 0, 95, 177, 104, 0, 41, 75, 22, 0, 253, 125, 84, 0, 174, 57, 135, 0, 224, 207, 207, 0, 35, 176, 14, 0, 24, 20, 217, 0, 54, 153, 247, 0, 74, 216, 63, 0, 8, 114, 132, 0, 46, 157, 203, 0, 6, 141, 227, 0, 30, 144, 251, 0, 13, 203, 83, 0, 195, 242, 141, 0, 146, 183, 151, 0, 165, 139, 170, 0, 70, 137, 249, 0, 157, 46, 237, 0, 195, 222, 21, 0, 90, 2, 32, 0, 126, 183, 167, 0, 209, 164, 215, 0, 46, 73, 158, 0, 105, 100, 130, 0, 145, 66, 194, 0, 140, 186, 242, 0, 147, 87, 172, 0, 64, 147, 137, 0, 193, 54, 236, 0, 119, 2, 197, 0, 127, 228, 70, 0, 60, 104, 106, 0, 50, 176, 131, 0, 196, 12, 55, 0, 236, 168, 254, 0, 36, 94, 96, 0, 240, 126, 107, 0, \ +216, 154, 147, 0, 65, 110, 124, 0, 87, 90, 55, 0, 245, 27, 54, 0, 167, 91, 91, 0, 90, 221, 137, 0, 184, 209, 179, 0, 191, 234, 187, 0, 245, 116, 237, 0, 249, 96, 145, 0, 233, 65, 180, 0, 45, 253, 158, 0, 56, 225, 93, 0, 174, 96, 165, 0, 142, 58, 254, 0, 77, 186, 90, 0, 86, 76, 102, 0, 169, 55, 126, 0, 127, 3, 14, 0, 142, 208, 11, 0, 161, 175, 254, 0, 80, 96, 219, 0, 231, 234, 69, 0, 177, 165, 61, 0, 3, 244, 94, 0, 99, 67, 152, 0, 113, 143, 174, 0, 128, 172, 197, 0, 67, 213, 132, 0, 239, 71, 77, 0, 9, 169, 137, 0, 56, 92, 236, 0, 252, 110, 202, 0, 204, 88, 140, 0, 186, 102, 157, 0, 203, 153, 59, 0, 140, 104, 184, 0, 187, 88, 124, 0, 132, 254, 197, 0, 131, 191, 192, 0, 152, 157, 56, 0, 244, 145, 229, 0, 124, 108, 128, 0, 138, 74, 199, 0, 170, 207, 88, 0, 212, 246, 215, 0, 246, 132, 219, 0, 58, 17, 26, 0, 6, 229, 86, 0, 46, 52, 204, 0, 188, 120, 49, 0, 176, 113, 223, 0, 136, 184, 0, 0, 211, 195, 95, 0, 254, 228, 175, 0, 204, 88, 192, 0, 121, 178, 45, 0, 165, 199, 70, 0, 150, 33, 7, 0, 228, 49, 14, 0, 162, 165, 243, 0, 42, 70, 219, 0, 31, 177, 23, 0, 89, 145, 227, 0, 253, 20, 54, 0, 226, 12, 177, 0, 133, 163, 242, 0, 111, 209, 86, 0, 79, 74, 39, 0, 204, 69, 32, 0, 186, 196, 54, 0, 124, 22, 91, 0, 103, 76, 234, 0, 204, 129, 43, 0, 53, 239, 83, 0, 201, 131, 59, 0, 54, 10, 223, 0, 122, 18, 206, 0, 203, 45, 105, 0, 168, 77, 18, 0, 63, 53, 243, 0, 233, 8, 204, 0, 45, 119, 148, 0, 178, 110, 90, 0, 47, 203, 165, 0, 229, 114, 119, 0, 130, 225, 132, 0, 219, 254, 192, 0, 82, 102, 14, 0, 252, 25, 27, 0, 85, 208, 29, 0, 240, 241, 96, 0, 135, 156, 78, 0, 77, 234, 85, 0, 98, 1, 89, 0, 232, 210, 119, 0, 214, 5, 59, 0, 73, 62, 187, 0, 33, 8, 114, 0, 229, 144, 194, 0, 142, 82, 145, 0, 249, 169, 92, 0, 95, 62, 11, 0, 180, 95, 11, 0, 159, 170, 162, 0, 159, 215, 190, 0, 125, 244, 96, 0, 130, 244, 10, 0, 60, 166, 204, 0, 44, 186, 138, 0, 64, 156, 173, 0, 130, 95, 194, 0, 206, 178, 100, 0, 140, 170, 144, 0, 91, 17, 139, 0, 135, 159, 59, 0, 125, 184, 218, 0, 229, 51, 48, 0, 143, 74, 149, 0, 43, 149, 107, 0, 169, 172, 68, 0, 154, 72, 75, 0, 167, 106, 237, 0, 119, 65, 208, 0, 149, 194, 217, 0, 181, 108, 145, 0, 34, 112, 214, 0, 159, 80, 194, 0, 20, 154, 55, 0, 22, 88, 168, 0, 223, 200, 58, 0, 12, 104, 100, 0, 224, 195, 213, 0, 91, 83, 79, 0, 180, 97, 239, 0, 163, 183, 134, 0, 245, 129, 70, 0, 48, 141, 127, 0, 193, 242, 179, 0, 54, 7, 15, 0, 30, 228, 99, 0, 69, 206, 54, 0, 67, 141, 207, 0, 57, 232, 211, 0, 87, 65, 110, 0, 254, 219, 179, 0, 12, 63, 93, 0, 190, 160, 187, 0, 138, 27, 94, 0, 64, 138, 220, 0, 54, 1, 20, 0, 10, 191, 117, 0, 7, 162, 119, 0, 198, 118, 25, 0, 162, 20, 196, 0, 6, 220, 151, 0, 39, 129, 146, 0, 150, 24, 209, 0, 21, 35, 29, 0, 54, 165, 81, 0, 250, 232, 232, 0, 30, 152, 219, 0, 8, 36, 52, 0, 226, 115, 136, 0, 196, 147, 217, 0, 103, 31, 43, 0, 13, 22, 58, 0, 81, 110, 19, 0, 201, 25, 80, 0, 66, 91, 187, 0, 80, 165, 139, 0, 68, 233, 19, 0, 79, 73, 110, 0, 70, 52, 93, 0, 177, 41, 202, 0, 188, 139, 244, 0, 219, 18, 114, 0, 167, 111, 167, 0, 26, 106, 170, 0, 84, 137, 218, 0, 235, 53, 8, 0, 166, 192, 153, 0, 186, 104, 182, 0, 23, 227, 122, 0, 234, 132, 145, 0, 132, 84, 145, 0, 118, 250, 238, 0, 31, 53, 241, 0, 27, 51, 192, 0, 48, 179, 61, 0, 248, 131, 18, 0, 18, 73, 151, 0, 165, 2, 213, 0, 224, 91, 114, 0, 209, 108, 181, 0, 181, 106, 91, 0, 187, 226, 193, 0, 229, 13, 228, 0, 168, 187, 41, 0, 30, 51, 126, 0, 3, 171, 85, 0, 95, 35, 112, 0, 129, 91, 133, 0, 231, 35, 17, 0, 166, 174, 219, 0, 172, 59, 175, 0, 189, 27, 104, 0, 26, 52, 1, 0, 190, 30, 44, 0, 200, 194, 235, 0, 142, 55, 242, 0, 182, 90, 27, 0, 65, 94, 228, 0, 246, 116, 116, 0, 213, 14, 204, 0, 108, 231, 11, 0, 17, 211, 114, 0, 107, 12, 158, 0, 28, 110, 124, 0, 172, 133, 12, 0, 199, 150, 154, 0, 97, 130, 164, 0, 50, 76, 73, 0, 91, 56, 187, 0, \ +33, 166, 18, 0, 38, 203, 111, 0, 232, 89, 119, 0, 199, 40, 206, 0, 113, 159, 109, 0, 151, 71, 102, 0, 244, 137, 246, 0, 4, 64, 66, 0, 192, 115, 140, 0, 76, 76, 246, 0, 40, 187, 225, 0, 117, 142, 160, 0, 126, 234, 49, 0, 156, 62, 148, 0, 77, 198, 67, 0, 14, 183, 139, 0, 211, 134, 245, 0, 127, 101, 106, 0, 199, 15, 84, 0, 158, 248, 88, 0, 37, 175, 52, 0, 74, 188, 36, 0, 81, 86, 37, 0, 164, 177, 148, 0, 82, 209, 227, 0, 49, 59, 138, 0, 145, 114, 166, 0, 136, 173, 238, 0, 47, 51, 47, 0, 65, 137, 42, 0, 1, 142, 139, 0, 18, 158, 164, 0, 235, 228, 10, 0, 85, 161, 141, 0, 238, 55, 100, 0, 237, 42, 124, 0, 191, 76, 40, 0, 46, 58, 2, 0, 58, 250, 230, 0, 159, 21, 199, 0, 53, 18, 3, 0, 77, 248, 133, 0, 83, 200, 252, 0, 222, 185, 168, 0, 53, 82, 79, 0, 111, 123, 110, 0, 63, 176, 18, 0, 121, 136, 89, 0, 192, 189, 47, 0, 150, 246, 100, 0, 66, 135, 221, 0, 239, 61, 203, 0, 48, 220, 158, 0, 63, 219, 80, 0, 183, 208, 194, 0, 134, 161, 32, 0, 44, 107, 125, 0, 222, 76, 102, 0, 207, 197, 49, 0, 79, 37, 246, 0, 35, 1, 29, 0, 147, 232, 63, 0, 242, 88, 24, 0, 146, 18, 119, 0, 36, 162, 80, 0, 14, 32, 73, 0, 167, 53, 159, 0, 17, 33, 163, 0, 189, 94, 138, 0, 136, 90, 172, 0, 79, 217, 51, 0, 117, 101, 182, 0, 194, 69, 65, 0, 244, 98, 51, 0, 209, 249, 133, 0, 43, 230, 129, 0, 159, 146, 90, 0, 128, 243, 225, 0, 195, 117, 143, 0, 74, 233, 99, 0, 11, 96, 244, 0, 33, 28, 231, 0, 26, 50, 108, 0, 44, 133, 17, 0, 173, 58, 98, 0, 115, 158, 137, 0, 32, 169, 159, 0, 117, 197, 134, 0, 26, 185, 76, 0, 74, 243, 150, 0, 115, 142, 10, 0, 99, 19, 88, 0, 180, 158, 4, 0, 205, 17, 210, 0, 80, 208, 5, 0, 236, 104, 80, 0, 134, 179, 138, 0, 246, 177, 122, 0, 116, 52, 72, 0, 204, 74, 180, 0, 70, 0, 57, 0, 148, 71, 67, 0, 110, 172, 170, 0, 219, 196, 246, 0, 137, 119, 197, 0, 118, 59, 32, 0, 162, 209, 13, 0, 187, 226, 21, 0, 146, 65, 55, 0, 89, 115, 248, 0, 79, 209, 158, 0, 198, 169, 208, 0, 94, 68, 221, 0, 159, 144, 122, 0, 151, 54, 249, 0, 171, 179, 82, 0, 143, 22, 93, 0, 167, 244, 221, 0, 4, 74, 34, 0, 31, 50, 18, 0, 116, 229, 100, 0, 186, 72, 191, 0, 223, 169, 18, 0, 196, 209, 87, 0, 132, 181, 160, 0, 2, 168, 165, 0, 56, 51, 56, 0, 27, 61, 75, 0, 113, 159, 144, 0, 199, 122, 141, 0, 128, 203, 47, 0, 64, 87, 71, 0, 10, 8, 98, 0, 239, 10, 0, 0, 244, 23, 71, 0, 173, 34, 235, 0, 156, 168, 166, 0, 251, 97, 188, 0, 159, 137, 132, 0, 59, 51, 115, 0, 46, 67, 32, 0, 48, 177, 127, 0, 70, 85, 171, 0, 89, 139, 121, 0, 194, 246, 122, 0, 63, 26, 126, 0, 127, 238, 106, 0, 139, 199, 13, 0, 97, 32, 39, 0, 184, 171, 91, 0, 145, 110, 19, 0, 157, 114, 58, 0, 161, 84, 41, 0, 48, 208, 37, 0, 216, 67, 224, 0, 95, 240, 166, 0, 189, 93, 239, 0, 40, 79, 70, 0, 150, 75, 135, 0, 4, 168, 49, 0, 214, 68, 8, 0, 40, 62, 101, 0, 61, 252, 211, 0, 137, 143, 205, 0, 185, 38, 114, 0, 152, 134, 166, 0, 232, 32, 65, 0, 32, 26, 191, 0, 127, 193, 252, 0, 145, 115, 37, 0, 241, 51, 132, 0, 243, 235, 118, 0, 129, 232, 115, 0, 217, 71, 104, 0, 11, 142, 72, 0, 151, 247, 91, 0, 36, 62, 145, 0, 101, 121, 184, 0, 73, 134, 68, 0, 16, 135, 9, 0, 205, 64, 70, 0, 64, 206, 204, 0, 123, 34, 143, 0, 171, 71, 11, 0, 69, 244, 68, 0, 230, 194, 60, 0, 160, 203, 16, 0, 39, 65, 183, 0, 207, 56, 110, 0, 169, 169, 230, 0, 172, 121, 231, 0, 79, 174, 116, 0, 102, 72, 28, 0, 244, 136, 136, 0, 69, 15, 155, 0, 31, 10, 125, 0, 168, 178, 55, 0, 169, 59, 38, 0, 134, 200, 127, 0, 161, 134, 239, 0, 39, 253, 109, 0, 61, 46, 124, 0, 63, 23, 46, 0, 7, 1, 84, 0, 67, 189, 246, 0, 245, 2, 63, 0, 0, 213, 98, 0, 169, 85, 163, 0, 93, 20, 154, 0, 109, 30, 81, 0, 3, 212, 173, 0, 69, 17, 226, 0, 46, 2, 93, 0, 188, 61, 52, 0, 218, 252, 35, 0, 110, 180, 15, 0, 69, 123, 197, 0, 8, 93, 116, 0, 244, 73, 201, 0, 112, 1, 191, 0, 89, 38, 142, 0, 220, 219, 195, 0, 112, 71, 7, 0, 165, 108, 4, 0, \ +58, 87, 17, 0, 180, 153, 158, 0, 75, 7, 253, 0, 42, 38, 159, 0, 86, 214, 218, 0, 108, 64, 88, 0, 148, 107, 141, 0, 20, 189, 205, 0, 185, 157, 205, 0, 149, 224, 32, 0, 153, 65, 129, 0, 151, 97, 26, 0, 18, 20, 42, 0, 92, 33, 207, 0, 233, 180, 170, 0, 170, 125, 10, 0, 123, 237, 73, 0, 199, 58, 200, 0, 193, 156, 33, 0, 43, 227, 250, 0, 248, 200, 107, 0, 227, 203, 28, 0, 105, 122, 34, 0, 213, 93, 72, 0, 219, 117, 149, 0, 241, 1, 11, 0, 178, 96, 155, 0, 113, 126, 156, 0, 65, 131, 166, 0, 18, 134, 218, 0, 131, 125, 188, 0, 8, 10, 69, 0, 198, 212, 252, 0, 252, 246, 18, 0, 122, 167, 175, 0, 51, 253, 94, 0, 0, 112, 161, 0, 216, 252, 83, 0, 17, 12, 8, 0, 162, 62, 193, 0, 2, 131, 47, 0, 78, 98, 248, 0, 202, 183, 152, 0, 9, 83, 4, 0, 6, 58, 169, 0, 237, 240, 210, 0, 144, 244, 158, 0, 156, 223, 184, 0, 110, 23, 205, 0, 158, 156, 191, 0, 98, 173, 32, 0, 245, 89, 167, 0, 170, 87, 194, 0, 129, 38, 237, 0, 33, 220, 241, 0, 86, 111, 196, 0, 71, 49, 142, 0, 233, 209, 16, 0, 247, 210, 81, 0, 53, 155, 218, 0, 38, 44, 161, 0, 167, 247, 223, 0, 185, 134, 219, 0, 123, 66, 148, 0, 71, 247, 86, 0, 42, 206, 54, 0, 247, 15, 182, 0, 142, 50, 54, 0, 20, 231, 50, 0, 42, 107, 39, 0, 221, 170, 16, 0, 239, 149, 179, 0, 219, 149, 124, 0, 181, 56, 204, 0, 155, 151, 49, 0, 105, 13, 97, 0, 157, 17, 210, 0, 179, 180, 179, 0, 74, 5, 129, 0, 220, 162, 136, 0, 163, 59, 105, 0, 115, 17, 162, 0, 161, 116, 140, 0, 241, 188, 143, 0, 45, 133, 153, 0, 149, 46, 134, 0, 69, 96, 172, 0, 71, 60, 10, 0, 99, 175, 113, 0, 200, 156, 199, 0, 66, 130, 96, 0, 197, 140, 0, 0, 219, 106, 237, 0, 131, 214, 193, 0, 241, 228, 185, 0, 203, 5, 22, 0, 6, 99, 142, 0, 218, 81, 105, 0, 31, 203, 157, 0, 106, 250, 225, 0, 144, 216, 60, 0, 112, 26, 33, 0, 102, 21, 169, 0, 188, 21, 80, 0, 127, 145, 183, 0, 74, 205, 19, 0, 62, 165, 29, 0, 159, 221, 244, 0, 139, 61, 120, 0, 187, 15, 207, 0, 253, 23, 232, 0, 6, 192, 96, 0, 204, 42, 8, 0, 44, 205, 208, 0, 136, 121, 5, 0, 121, 193, 129, 0, 78, 37, 88, 0, 70, 152, 50, 0, 131, 101, 185, 0, 78, 75, 14, 0, 220, 108, 193, 0, 3, 66, 140, 0, 1, 156, 158, 0, 39, 45, 9, 0, 160, 20, 37, 0, 127, 228, 242, 0, 65, 123, 47, 0, 188, 54, 75, 0, 225, 179, 116, 0, 240, 166, 226, 0, 136, 77, 10, 0, 135, 190, 196, 0, 248, 150, 157, 0, 141, 138, 220, 0, 105, 215, 58, 0, 73, 225, 178, 0, 218, 69, 50, 0, 115, 181, 243, 0, 243, 74, 245, 0, 80, 53, 195, 0, 193, 101, 56, 0, 107, 247, 244, 0, 40, 83, 2, 0, 196, 195, 52, 0, 187, 127, 150, 0, 247, 138, 35, 0, 240, 94, 19, 0, 89, 201, 72, 0, 40, 38, 138, 0, 134, 253, 130, 0, 150, 35, 96, 0, 49, 17, 55, 0, 149, 132, 150, 0, 230, 191, 105, 0, 35, 208, 100, 0, 33, 48, 63, 0, 142, 55, 42, 0, 171, 194, 214, 0, 86, 189, 185, 0, 63, 27, 14, 0, 27, 106, 78, 0, 163, 71, 145, 0, 44, 77, 56, 0, 212, 36, 154, 0, 29, 86, 170, 0, 200, 188, 139, 0, 225, 229, 232, 0, 120, 13, 15, 0, 50, 108, 245, 0, 88, 238, 148, 0, 207, 204, 145, 0, 123, 115, 111, 0, 154, 47, 198, 0, 12, 99, 130, 0, 173, 138, 116, 0, 249, 157, 17, 0, 213, 6, 204, 0, 133, 101, 68, 0, 224, 157, 181, 0, 58, 131, 225, 0, 57, 148, 16, 0, 98, 222, 231, 0, 136, 243, 188, 0, 45, 30, 41, 0, 50, 220, 73, 0, 178, 216, 243, 0, 241, 116, 180, 0, 210, 202, 63, 0, 170, 252, 38, 0, 16, 184, 97, 0, 46, 151, 54, 0, 159, 218, 4, 0, 8, 48, 90, 0, 172, 201, 129, 0, 212, 127, 201, 0, 237, 250, 244, 0, 192, 171, 235, 0, 65, 184, 174, 0, 126, 156, 101, 0, 29, 202, 104, 0, 176, 82, 69, 0, 96, 3, 215, 0, 25, 253, 95, 0, 102, 116, 132, 0, 3, 54, 167, 0, 45, 234, 148, 0, 3, 174, 158, 0, 251, 224, 195, 0, 176, 146, 171, 0, 117, 150, 233, 0, 207, 70, 173, 0, 214, 158, 160, 0, 166, 37, 87, 0, 129, 247, 252, 0, 26, 241, 161, 0, 224, 93, 151, 0, 151, 52, 19, 0, 150, 124, 148, 0, 80, 5, 167, 0, 103, 156, 213, 0, 46, 86, 160, 0, 246, 117, 48, 0, 251, 47, 32, 0, 126, 101, 235, 0, \ +139, 214, 188, 0, 200, 67, 194, 0, 200, 56, 118, 0, 102, 111, 229, 0, 25, 245, 132, 0, 134, 241, 14, 0, 109, 43, 195, 0, 88, 162, 186, 0, 110, 211, 113, 0, 77, 243, 127, 0, 24, 126, 168, 0, 252, 37, 221, 0, 39, 28, 94, 0, 95, 42, 39, 0, 219, 87, 68, 0, 155, 145, 102, 0, 74, 89, 219, 0, 18, 233, 85, 0, 212, 85, 147, 0, 56, 101, 7, 0, 81, 189, 166, 0, 13, 247, 177, 0, 117, 106, 241, 0, 132, 23, 63, 0, 128, 32, 127, 0, 220, 231, 21, 0, 146, 29, 130, 0, 239, 78, 71, 0, 102, 5, 199, 0, 114, 235, 102, 0, 115, 55, 10, 0, 236, 56, 164, 0, 223, 89, 84, 0, 222, 209, 235, 0, 205, 15, 224, 0, 26, 221, 96, 0, 14, 77, 0, 0, 148, 193, 21, 0, 183, 133, 178, 0, 29, 192, 182, 0, 38, 122, 125, 0, 113, 205, 7, 0, 110, 189, 23, 0, 201, 2, 15, 0, 151, 130, 162, 0, 212, 36, 54, 0, 14, 148, 132, 0, 75, 213, 145, 0, 248, 251, 246, 0, 53, 86, 82, 0, 55, 205, 22, 0, 94, 54, 147, 0, 223, 150, 62, 0, 90, 47, 153, 0, 8, 240, 191, 0, 10, 119, 251, 0, 83, 84, 105, 0, 49, 24, 218, 0, 254, 56, 178, 0, 99, 243, 72, 0, 87, 55, 248, 0, 101, 149, 100, 0, 57, 241, 63, 0, 153, 219, 14, 0, 137, 50, 234, 0, 110, 214, 53, 0, 224, 44, 126, 0, 150, 162, 84, 0, 136, 30, 101, 0, 254, 90, 245, 0, 150, 195, 114, 0, 86, 70, 34, 0, 143, 218, 78, 0, 201, 51, 123, 0, 152, 180, 90, 0, 10, 86, 108, 0, 198, 150, 161, 0, 245, 221, 51, 0, 119, 102, 92, 0, 196, 29, 200, 0, 6, 58, 97, 0, 200, 66, 11, 0, 120, 135, 170, 0, 253, 49, 212, 0, 32, 230, 101, 0, 97, 66, 35, 0, 87, 129, 219, 0, 30, 21, 201, 0, 31, 70, 128, 0, 13, 159, 198, 0, 161, 18, 83, 0, 178, 25, 8, 0, 161, 80, 150, 0, 6, 159, 209, 0, 228, 253, 221, 0, 94, 35, 200, 0, 203, 168, 25, 0, 10, 40, 238, 0, 63, 152, 108, 0, 33, 220, 43, 0, 146, 153, 103, 0, 97, 202, 167, 0, 75, 28, 228, 0, 85, 21, 86, 0, 184, 56, 184, 0, 130, 214, 117, 0, 66, 52, 183, 0, 221, 177, 163, 0, 14, 87, 202, 0, 174, 30, 116, 0, 179, 1, 130, 0, 88, 52, 156, 0, 221, 17, 1, 0, 44, 210, 28, 0, 180, 211, 226, 0, 46, 143, 171, 0, 79, 147, 125, 0, 134, 137, 156, 0, 146, 24, 89, 0, 78, 95, 157, 0, 73, 0, 233, 0, 128, 229, 111, 0, 11, 153, 25, 0, 90, 87, 70, 0, 240, 204, 230, 0, 254, 57, 171, 0, 43, 126, 222, 0, 225, 23, 217, 0, 222, 169, 252, 0, 130, 247, 216, 0, 46, 121, 60, 0, 105, 233, 231, 0, 49, 195, 33, 0, 114, 133, 210, 0, 18, 247, 37, 0, 55, 208, 211, 0, 154, 96, 30, 0, 39, 227, 46, 0, 146, 134, 179, 0, 232, 9, 102, 0, 246, 120, 25, 0, 111, 4, 106, 0, 67, 231, 253, 0, 139, 130, 139, 0, 91, 146, 183, 0, 150, 227, 204, 0, 44, 242, 207, 0, 195, 190, 204, 0, 163, 138, 1, 0, 18, 104, 20, 0, 174, 11, 159, 0, 190, 10, 176, 0, 126, 178, 106, 0, 9, 74, 174, 0, 213, 25, 54, 0, 178, 22, 134, 0, 203, 37, 211, 0, 26, 59, 22, 0, 224, 125, 29, 0, 223, 92, 231, 0, 77, 43, 69, 0, 235, 150, 80, 0, 243, 113, 40, 0, 137, 222, 181, 0, 126, 60, 52, 0, 147, 30, 73, 0, 145, 42, 1, 0, 38, 238, 135, 0, 190, 239, 125, 0, 170, 227, 224, 0, 226, 193, 5, 0, 207, 38, 100, 0, 10, 216, 42, 0, 196, 246, 111, 0, 212, 218, 104, 0, 106, 109, 212, 0, 17, 48, 144, 0, 111, 122, 209, 0, 20, 145, 207, 0, 242, 60, 3, 0, 83, 131, 156, 0, 163, 170, 141, 0, 245, 241, 225, 0, 145, 208, 64, 0, 64, 136, 163, 0, 87, 238, 252, 0, 209, 162, 185, 0, 169, 227, 12, 0, 26, 253, 36, 0, 49, 163, 175, 0, 209, 192, 131, 0, 139, 156, 230, 0, 27, 6, 177, 0, 21, 233, 119, 0, 174, 107, 20, 0, 108, 100, 161, 0, 1, 53, 231, 0, 111, 161, 247, 0, 91, 40, 186, 0, 199, 96, 62, 0, 228, 35, 191, 0, 241, 180, 93, 0, 155, 148, 250, 0, 69, 218, 115, 0, 138, 165, 177, 0, 196, 38, 174, 0, 4, 151, 100, 0, 5, 157, 58, 0, 7, 49, 44, 0, 133, 68, 161, 0, 158, 229, 23, 0, 151, 189, 241, 0, 86, 53, 135, 0, 152, 125, 28, 0, 61, 63, 186, 0, 53, 3, 43, 0, 213, 33, 233, 0, 187, 126, 56, 0, 34, 193, 26, 0, 230, 118, 206, 0, 47, 125, 147, 0, 241, 71, 191, 0, 188, 169, 47, 0, 109, 180, 145, 0, \ +216, 138, 159, 0, 21, 161, 234, 0, 157, 229, 120, 0, 123, 42, 128, 0, 130, 89, 106, 0, 244, 105, 232, 0, 118, 233, 151, 0, 70, 128, 132, 0, 244, 69, 43, 0, 227, 142, 90, 0, 22, 251, 162, 0, 169, 168, 178, 0, 101, 155, 198, 0, 4, 78, 173, 0, 66, 81, 254, 0, 236, 19, 68, 0, 225, 36, 53, 0, 22, 208, 226, 0, 253, 190, 24, 0, 3, 18, 112, 0, 192, 63, 100, 0, 34, 25, 149, 0, 50, 32, 52, 0, 1, 230, 46, 0, 105, 93, 14, 0, 217, 22, 85, 0, 17, 228, 24, 0, 69, 55, 18, 0, 191, 164, 162, 0, 222, 136, 96, 0, 49, 68, 118, 0, 251, 147, 66, 0, 83, 131, 103, 0, 176, 157, 63, 0, 103, 83, 59, 0, 70, 179, 68, 0, 46, 127, 131, 0, 89, 230, 9, 0, 76, 121, 223, 0, 167, 154, 240, 0, 54, 82, 45, 0, 79, 92, 49, 0, 49, 206, 248, 0, 131, 233, 19, 0, 44, 254, 25, 0, 55, 12, 100, 0, 177, 65, 106, 0, 107, 188, 9, 0, 69, 172, 208, 0, 7, 252, 142, 0, 73, 45, 140, 0, 142, 143, 210, 0, 15, 186, 190, 0, 155, 102, 58, 0, 119, 108, 65, 0, 173, 18, 241, 0, 150, 188, 211, 0, 97, 221, 19, 0, 111, 186, 133, 0, 9, 178, 33, 0, 175, 48, 247, 0, 21, 91, 31, 0, 160, 123, 91, 0, 250, 150, 23, 0, 74, 225, 86, 0, 168, 233, 126, 0, 65, 34, 156, 0, 151, 210, 242, 0, 204, 252, 20, 0, 145, 127, 168, 0, 1, 17, 210, 0, 238, 94, 164, 0, 108, 170, 36, 0, 66, 82, 116, 0, 31, 144, 212, 0, 75, 209, 249, 0, 112, 141, 187, 0, 72, 82, 235, 0, 38, 48, 135, 0, 157, 114, 79, 0, 249, 238, 189, 0, 182, 20, 13, 0, 19, 179, 86, 0, 71, 249, 86, 0, 183, 105, 225, 0, 28, 180, 45, 0, 59, 232, 197, 0, 97, 215, 80, 0, 183, 44, 241, 0, 162, 241, 174, 0, 235, 181, 55, 0, 10, 30, 2, 0, 68, 227, 206, 0, 192, 226, 28, 0, 57, 96, 219, 0, 107, 163, 242, 0, 8, 83, 145, 0, 108, 210, 17, 0, 191, 66, 30, 0, 178, 72, 32, 0, 130, 167, 137, 0, 105, 12, 20, 0, 152, 253, 95, 0, 248, 178, 55, 0, 183, 139, 222, 0, 141, 152, 214, 0, 200, 22, 28, 0, 28, 235, 43, 0, 235, 119, 107, 0, 29, 114, 6, 0, 136, 66, 233, 0, 33, 228, 27, 0, 9, 109, 242, 0, 117, 221, 249, 0, 209, 158, 128, 0, 147, 117, 179, 0, 25, 244, 99, 0, 56, 30, 240, 0, 178, 200, 226, 0, 41, 126, 237, 0, 81, 138, 247, 0, 6, 129, 75, 0, 237, 126, 45, 0, 61, 50, 247, 0, 150, 184, 116, 0, 28, 61, 44, 0, 220, 148, 135, 0, 141, 64, 89, 0, 61, 237, 8, 0, 87, 114, 11, 0, 130, 46, 166, 0, 81, 162, 52, 0, 252, 3, 22, 0, 109, 176, 91, 0, 11, 69, 82, 0, 31, 216, 128, 0, 67, 217, 225, 0, 11, 165, 243, 0, 101, 5, 110, 0, 92, 233, 45, 0, 92, 23, 195, 0, 156, 194, 78, 0, 143, 155, 184, 0, 30, 4, 7, 0, 72, 215, 132, 0, 60, 22, 88, 0, 172, 232, 24, 0, 1, 94, 29, 0, 187, 97, 84, 0, 201, 138, 189, 0, 5, 215, 151, 0, 158, 25, 124, 0, 148, 100, 77, 0, 75, 249, 99, 0, 2, 4, 190, 0, 145, 83, 106, 0, 220, 202, 40, 0, 122, 248, 136, 0, 207, 229, 35, 0, 94, 248, 100, 0, 132, 232, 196, 0, 152, 253, 230, 0, 246, 212, 66, 0, 153, 106, 1, 0, 215, 120, 189, 0, 198, 226, 98, 0, 226, 130, 175, 0, 13, 169, 8, 0, 28, 113, 197, 0, 243, 169, 175, 0, 53, 189, 134, 0, 77, 180, 205, 0, 226, 142, 166, 0, 46, 64, 23, 0, 160, 62, 253, 0, 45, 28, 111, 0, 134, 210, 228, 0, 13, 221, 21, 0, 123, 236, 154, 0, 165, 18, 103, 0, 92, 229, 54, 0, 14, 240, 88, 0, 13, 217, 58, 0, 43, 209, 112, 0, 23, 252, 149, 0, 170, 241, 243, 0, 196, 201, 178, 0, 233, 149, 192, 0, 60, 64, 103, 0, 215, 60, 104, 0, 128, 234, 211, 0, 113, 109, 112, 0, 34, 140, 89, 0, 183, 67, 142, 0, 248, 11, 184, 0, 154, 236, 43, 0, 94, 58, 188, 0, 173, 191, 182, 0, 11, 73, 44, 0, 231, 213, 213, 0, 150, 186, 35, 0, 172, 179, 238, 0, 152, 8, 172, 0, 144, 148, 21, 0, 203, 126, 81, 0, 240, 66, 0, 0, 241, 233, 124, 0, 139, 19, 89, 0, 235, 119, 220, 0, 95, 131, 91, 0, 66, 9, 19, 0, 241, 245, 85, 0, 14, 61, 84, 0, 125, 6, 147, 0, 242, 230, 0, 0, 61, 27, 8, 0, 80, 190, 96, 0, 164, 3, 144, 0, 126, 147, 79, 0, 79, 55, 57, 0, 39, 190, 9, 0, 108, 67, 53, 0, 37, 214, 150, 0, 107, 50, 189, 0, \ +108, 204, 112, 0, 53, 241, 54, 0, 220, 111, 1, 0, 222, 235, 27, 0, 16, 254, 12, 0, 70, 2, 62, 0, 122, 70, 146, 0, 89, 150, 94, 0, 216, 180, 34, 0, 229, 51, 130, 0, 157, 49, 81, 0, 17, 85, 205, 0, 42, 17, 114, 0, 76, 23, 103, 0, 62, 138, 232, 0, 158, 74, 100, 0, 222, 5, 107, 0, 135, 224, 250, 0, 132, 151, 174, 0, 144, 218, 37, 0, 92, 163, 212, 0, 212, 147, 233, 0, 81, 146, 187, 0, 86, 11, 208, 0, 157, 173, 54, 0, 50, 51, 188, 0, 188, 138, 105, 0, 109, 28, 151, 0, 20, 56, 81, 0, 106, 98, 172, 0, 107, 117, 36, 0, 43, 237, 152, 0, 92, 39, 11, 0, 43, 140, 55, 0, 239, 32, 148, 0, 2, 220, 214, 0, 93, 1, 237, 0, 123, 173, 0, 0, 185, 21, 69, 0, 179, 176, 184, 0, 219, 62, 87, 0, 197, 249, 221, 0, 176, 175, 70, 0, 53, 141, 139, 0, 25, 169, 97, 0, 71, 86, 2, 0, 229, 213, 242, 0, 223, 133, 30, 0, 88, 216, 11, 0, 73, 199, 252, 0, 54, 6, 201, 0, 117, 26, 220, 0, 88, 58, 171, 0, 44, 143, 28, 0, 188, 195, 226, 0, 6, 142, 5, 0, 12, 122, 72, 0, 211, 133, 202, 0, 57, 8, 6, 0, 235, 210, 89, 0, 95, 243, 149, 0, 23, 159, 131, 0, 104, 106, 46, 0, 56, 33, 36, 0, 107, 55, 66, 0, 168, 230, 181, 0, 174, 92, 204, 0, 8, 22, 190, 0, 129, 82, 147, 0, 132, 135, 24, 0, 30, 224, 240, 0, 22, 167, 170, 0, 195, 241, 20, 0, 214, 169, 67, 0, 195, 223, 21, 0, 192, 229, 77, 0, 238, 199, 212, 0, 220, 228, 108, 0, 167, 66, 27, 0, 78, 109, 204, 0, 150, 9, 67, 0, 104, 24, 186, 0, 22, 34, 208, 0, 103, 29, 51, 0, 143, 113, 38, 0, 143, 238, 70, 0, 70, 228, 186, 0, 99, 166, 76, 0, 91, 112, 63, 0, 240, 75, 184, 0, 84, 166, 190, 0, 32, 114, 103, 0, 2, 85, 135, 0, 203, 214, 64, 0, 238, 49, 126, 0, 140, 89, 34, 0, 62, 30, 154, 0, 170, 98, 239, 0, 182, 131, 164, 0, 125, 112, 26, 0, 232, 108, 140, 0, 251, 144, 110, 0, 21, 86, 152, 0, 126, 4, 16, 0, 251, 152, 113, 0, 157, 82, 93, 0, 128, 182, 56, 0, 40, 251, 152, 0, 26, 154, 22, 0, 26, 116, 228, 0, 145, 131, 81, 0, 248, 71, 54, 0, 121, 150, 210, 0, 17, 55, 29, 0, 165, 93, 90, 0, 113, 241, 194, 0, 161, 110, 175, 0, 194, 137, 70, 0, 142, 238, 39, 0, 45, 168, 202, 0, 49, 59, 6, 0, 58, 103, 229, 0, 250, 121, 63, 0, 69, 13, 210, 0, 7, 77, 182, 0, 51, 236, 159, 0, 249, 40, 146, 0, 238, 144, 7, 0, 39, 32, 109, 0, 162, 148, 96, 0, 186, 181, 206, 0, 187, 0, 103, 0, 55, 73, 20, 0, 27, 17, 58, 0, 22, 46, 190, 0, 206, 0, 252, 0, 184, 181, 164, 0, 195, 58, 153, 0, 86, 58, 168, 0, 72, 176, 126, 0, 49, 95, 166, 0, 143, 131, 88, 0, 217, 146, 24, 0, 11, 34, 247, 0, 210, 29, 146, 0, 158, 165, 22, 0, 117, 93, 218, 0, 176, 172, 155, 0, 226, 215, 199, 0, 194, 74, 30, 0, 98, 178, 0, 0, 243, 153, 114, 0, 178, 191, 59, 0, 126, 187, 22, 0, 60, 252, 1, 0, 245, 8, 152, 0, 36, 103, 56, 0, 20, 17, 130, 0, 110, 163, 50, 0, 78, 124, 144, 0, 25, 158, 168, 0, 187, 233, 17, 0, 207, 109, 157, 0, 69, 29, 229, 0, 0, 79, 205, 0, 220, 79, 128, 0, 113, 240, 239, 0, 73, 6, 205, 0, 176, 205, 222, 0, 231, 110, 22, 0, 94, 51, 104, 0, 32, 83, 110, 0, 139, 130, 5, 0, 169, 231, 154, 0, 85, 191, 8, 0, 241, 39, 33, 0, 228, 152, 3, 0, 147, 150, 196, 0, 170, 13, 188, 0, 6, 105, 36, 0, 169, 37, 104, 0, 52, 28, 160, 0, 2, 112, 235, 0, 66, 131, 50, 0, 25, 111, 42, 0, 112, 196, 156, 0, 176, 82, 171, 0, 178, 196, 179, 0, 142, 182, 167, 0, 207, 143, 243, 0, 117, 140, 253, 0, 185, 217, 172, 0, 215, 189, 95, 0, 111, 34, 112, 0, 141, 98, 13, 0, 41, 33, 98, 0, 157, 20, 161, 0, 42, 130, 253, 0, 95, 246, 103, 0, 152, 89, 142, 0, 90, 38, 75, 0, 21, 22, 181, 0, 246, 168, 67, 0, 25, 120, 98, 0, 215, 236, 250, 0, 184, 92, 140, 0, 151, 250, 58, 0, 202, 177, 117, 0, 3, 232, 74, 0, 221, 137, 62, 0, 92, 16, 8, 0, 143, 202, 229, 0, 91, 7, 226, 0, 233, 93, 144, 0, 110, 71, 7, 0, 251, 193, 157, 0, 175, 202, 23, 0, 140, 106, 198, 0, 98, 129, 83, 0, 147, 143, 87, 0, 64, 223, 168, 0, 178, 45, 177, 0, 92, 169, 214, 0, 195, 67, 152, 0, \ +177, 152, 100, 0, 25, 88, 136, 0, 29, 221, 125, 0, 222, 215, 126, 0, 12, 157, 225, 0, 54, 114, 145, 0, 189, 143, 240, 0, 96, 143, 118, 0, 158, 52, 139, 0, 47, 219, 225, 0, 142, 70, 206, 0, 180, 170, 155, 0, 2, 87, 115, 0, 65, 179, 151, 0, 158, 39, 95, 0, 68, 40, 111, 0, 82, 118, 25, 0, 209, 216, 9, 0, 11, 71, 228, 0, 197, 78, 123, 0, 171, 198, 44, 0, 88, 67, 44, 0, 147, 209, 146, 0, 60, 108, 192, 0, 232, 247, 23, 0, 158, 131, 225, 0, 113, 20, 79, 0, 4, 200, 87, 0, 1, 148, 136, 0, 27, 102, 0, 0, 91, 159, 7, 0, 47, 92, 153, 0, 200, 122, 35, 0, 99, 41, 172, 0, 5, 147, 181, 0, 71, 249, 60, 0, 128, 234, 208, 0, 133, 201, 181, 0, 34, 243, 21, 0, 173, 84, 41, 0, 253, 106, 176, 0, 229, 62, 249, 0, 92, 185, 17, 0, 188, 142, 24, 0, 194, 8, 101, 0, 150, 173, 251, 0, 102, 207, 75, 0, 160, 100, 215, 0, 40, 156, 123, 0, 59, 128, 200, 0, 49, 154, 221, 0, 89, 216, 67, 0, 190, 144, 11, 0, 41, 99, 81, 0, 188, 218, 11, 0, 17, 227, 198, 0, 41, 192, 106, 0, 199, 160, 241, 0, 214, 66, 215, 0, 66, 170, 191, 0, 222, 12, 138, 0, 84, 118, 187, 0, 56, 240, 65, 0, 114, 204, 65, 0, 194, 50, 250, 0, 164, 133, 134, 0, 71, 188, 86, 0, 49, 135, 226, 0, 69, 80, 90, 0, 235, 211, 18, 0, 145, 198, 250, 0, 146, 188, 230, 0, 14, 243, 88, 0, 244, 7, 26, 0, 110, 4, 252, 0, 62, 222, 43, 0, 128, 43, 211, 0, 217, 82, 131, 0, 15, 34, 35, 0, 72, 234, 114, 0, 214, 140, 130, 0, 138, 214, 41, 0, 224, 106, 240, 0, 71, 108, 107, 0, 8, 110, 32, 0, 13, 217, 152, 0, 198, 75, 240, 0, 215, 108, 233, 0, 61, 64, 156, 0, 18, 146, 117, 0, 149, 165, 140, 0, 57, 220, 170, 0, 230, 20, 137, 0, 8, 127, 4, 0, 119, 178, 219, 0, 160, 178, 234, 0, 51, 91, 15, 0, 49, 126, 51, 0, 61, 38, 204, 0, 142, 197, 124, 0, 111, 102, 75, 0, 217, 57, 142, 0, 26, 157, 154, 0, 155, 131, 37, 0, 236, 78, 57, 0, 208, 94, 227, 0, 31, 248, 158, 0, 98, 125, 48, 0, 14, 243, 108, 0, 131, 239, 145, 0, 47, 14, 167, 0, 4, 11, 113, 0, 105, 23, 233, 0, 198, 76, 143, 0, 15, 2, 23, 0, 33, 10, 17, 0, 134, 0, 71, 0, 240, 208, 211, 0, 60, 6, 39, 0, 50, 153, 97, 0, 109, 41, 137, 0, 248, 98, 176, 0, 5, 185, 128, 0, 121, 18, 33, 0, 160, 183, 226, 0, 7, 105, 41, 0, 146, 154, 220, 0, 82, 121, 95, 0, 61, 102, 97, 0, 215, 187, 72, 0, 48, 0, 232, 0, 72, 57, 156, 0, 216, 66, 26, 0, 61, 58, 135, 0, 3, 197, 243, 0, 25, 161, 159, 0, 135, 176, 35, 0, 97, 121, 137, 0, 60, 41, 174, 0, 244, 28, 184, 0, 9, 71, 18, 0, 136, 34, 42, 0, 22, 176, 155, 0, 156, 205, 70, 0, 169, 51, 66, 0, 36, 160, 119, 0, 174, 45, 175, 0, 22, 14, 171, 0, 77, 122, 224, 0, 218, 236, 194, 0, 64, 209, 72, 0, 83, 156, 224, 0, 110, 43, 93, 0, 187, 119, 215, 0, 96, 82, 161, 0, 237, 111, 220, 0, 220, 61, 77, 0, 71, 70, 249, 0, 130, 146, 179, 0, 243, 174, 160, 0, 39, 241, 5, 0, 144, 23, 155, 0, 186, 167, 241, 0, 143, 59, 13, 0, 63, 159, 68, 0, 141, 119, 127, 0, 126, 242, 244, 0, 169, 108, 157, 0, 150, 136, 71, 0, 251, 92, 175, 0, 2, 20, 223, 0, 98, 170, 44, 0, 101, 129, 196, 0, 232, 68, 208, 0, 1, 204, 205, 0, 69, 107, 6, 0, 183, 67, 10, 0, 94, 62, 164, 0, 86, 217, 30, 0, 11, 153, 205, 0, 131, 91, 137, 0, 90, 217, 54, 0, 105, 161, 71, 0, 202, 14, 203, 0, 239, 165, 245, 0, 101, 176, 94, 0, 36, 172, 216, 0, 16, 135, 132, 0, 154, 101, 48, 0, 51, 178, 46, 0, 179, 79, 58, 0, 75, 185, 162, 0, 190, 189, 75, 0, 83, 32, 79, 0, 35, 240, 154, 0, 80, 127, 245, 0, 69, 238, 38, 0, 65, 50, 74, 0, 141, 152, 99, 0, 0, 197, 244, 0, 72, 46, 31, 0, 182, 236, 16, 0, 147, 54, 202, 0, 159, 178, 61, 0, 239, 114, 102, 0, 93, 14, 208, 0, 198, 137, 26, 0, 44, 79, 2, 0, 254, 51, 46, 0, 167, 102, 33, 0, 67, 63, 212, 0, 34, 168, 13, 0, 140, 61, 82, 0, 37, 110, 238, 0, 217, 11, 246, 0, 242, 191, 55, 0, 149, 126, 30, 0, 45, 177, 48, 0, 71, 188, 115, 0, 94, 118, 99, 0, 147, 44, 120, 0, 18, 63, 234, 0, 2, 241, 235, 0, 146, 4, 4, 0, \ +158, 24, 128, 0, 64, 121, 251, 0, 144, 74, 99, 0, 171, 198, 224, 0, 8, 7, 43, 0, 192, 111, 186, 0, 247, 93, 254, 0, 237, 253, 158, 0, 25, 28, 32, 0, 188, 149, 65, 0, 86, 155, 55, 0, 91, 154, 204, 0, 88, 135, 79, 0, 182, 95, 124, 0, 79, 87, 243, 0, 35, 175, 60, 0, 157, 83, 121, 0, 252, 12, 127, 0, 49, 170, 11, 0, 111, 110, 243, 0, 45, 41, 94, 0, 183, 7, 68, 0, 182, 143, 17, 0, 122, 215, 172, 0, 101, 104, 192, 0, 207, 118, 166, 0, 151, 192, 147, 0, 184, 21, 130, 0, 115, 251, 141, 0, 237, 8, 117, 0, 247, 73, 3, 0, 65, 230, 246, 0, 207, 150, 191, 0, 182, 22, 29, 0, 155, 212, 188, 0, 231, 19, 75, 0, 166, 202, 172, 0, 8, 160, 17, 0, 9, 238, 71, 0, 72, 36, 155, 0, 47, 99, 245, 0, 65, 35, 47, 0, 99, 109, 54, 0, 248, 239, 164, 0, 41, 2, 37, 0, 241, 96, 20, 0, 71, 48, 25, 0, 195, 119, 168, 0, 92, 93, 118, 0, 8, 47, 178, 0, 191, 210, 24, 0, 154, 209, 2, 0, 176, 108, 146, 0, 106, 99, 72, 0, 33, 95, 132, 0, 13, 237, 134, 0, 60, 21, 69, 0, 223, 223, 30, 0, 136, 151, 189, 0, 103, 73, 9, 0, 5, 192, 174, 0, 237, 202, 18, 0, 187, 182, 23, 0, 159, 182, 99, 0, 223, 241, 128, 0, 232, 60, 195, 0, 224, 31, 193, 0, 103, 226, 202, 0, 96, 108, 63, 0, 72, 150, 167, 0, 204, 205, 72, 0, 81, 109, 237, 0, 242, 237, 106, 0, 66, 3, 163, 0, 216, 239, 41, 0, 60, 16, 210, 0, 198, 83, 183, 0, 10, 230, 148, 0, 51, 201, 117, 0, 60, 228, 139, 0, 156, 210, 223, 0, 235, 192, 122, 0, 79, 31, 11, 0, 34, 143, 172, 0, 70, 105, 55, 0, 197, 178, 217, 0, 237, 154, 156, 0, 118, 19, 78, 0, 85, 159, 101, 0, 228, 164, 187, 0, 129, 95, 3, 0, 228, 193, 130, 0, 204, 76, 90, 0, 247, 32, 134, 0, 208, 15, 52, 0, 185, 27, 198, 0, 125, 71, 156, 0, 64, 70, 0, 0, 97, 249, 207, 0, 172, 61, 86, 0, 84, 0, 5, 0, 18, 160, 183, 0, 169, 82, 176, 0, 211, 232, 252, 0, 105, 1, 108, 0, 4, 176, 169, 0, 1, 61, 203, 0, 251, 125, 241, 0, 215, 162, 96, 0, 161, 2, 186, 0, 156, 235, 234, 0, 70, 144, 238, 0, 120, 194, 121, 0, 251, 140, 30, 0, 174, 7, 74, 0, 213, 125, 106, 0, 113, 233, 107, 0, 92, 177, 158, 0, 17, 117, 232, 0, 193, 91, 227, 0, 249, 60, 198, 0, 158, 132, 22, 0, 48, 235, 110, 0, 65, 251, 245, 0, 110, 194, 8, 0, 185, 250, 80, 0, 134, 207, 236, 0, 221, 197, 91, 0, 217, 98, 129, 0, 158, 156, 222, 0, 26, 201, 89, 0, 180, 211, 50, 0, 66, 141, 224, 0, 49, 142, 198, 0, 181, 210, 89, 0, 155, 182, 76, 0, 122, 194, 48, 0, 75, 68, 76, 0, 89, 57, 129, 0, 158, 33, 199, 0, 114, 102, 45, 0, 191, 218, 2, 0, 110, 91, 130, 0, 32, 233, 191, 0, 163, 227, 206, 0, 153, 7, 167, 0, 248, 156, 183, 0, 42, 89, 64, 0, 26, 194, 5, 0, 5, 96, 151, 0, 129, 191, 227, 0, 96, 209, 180, 0, 206, 38, 112, 0, 239, 190, 206, 0, 212, 212, 163, 0, 22, 160, 6, 0, 206, 191, 59, 0, 122, 202, 57, 0, 140, 85, 221, 0, 51, 245, 154, 0, 199, 228, 227, 0, 90, 82, 103, 0, 116, 154, 154, 0, 19, 93, 161, 0, 37, 246, 0, 0, 68, 144, 52, 0, 136, 33, 38, 0, 240, 62, 207, 0, 239, 17, 52, 0, 191, 7, 11, 0, 65, 139, 31, 0, 37, 204, 239, 0, 191, 85, 229, 0, 228, 198, 8, 0, 233, 212, 163, 0, 5, 118, 183, 0, 116, 126, 59, 0, 67, 222, 35, 0, 22, 137, 101, 0, 89, 183, 216, 0, 123, 248, 66, 0, 223, 1, 223, 0, 150, 226, 170, 0, 243, 11, 234, 0, 205, 55, 11, 0, 52, 169, 190, 0, 194, 155, 254, 0, 161, 239, 153, 0, 185, 131, 217, 0, 240, 217, 243, 0, 201, 114, 105, 0, 128, 156, 111, 0, 104, 134, 217, 0, 184, 249, 158, 0, 40, 67, 31, 0, 85, 253, 129, 0, 12, 98, 5, 0, 2, 62, 82, 0, 51, 234, 67, 0, 42, 200, 2, 0, 45, 213, 25, 0, 210, 145, 118, 0, 83, 214, 203, 0, 150, 104, 17, 0, 205, 96, 226, 0, 219, 116, 174, 0, 159, 219, 42, 0, 226, 54, 120, 0, 118, 222, 58, 0, 11, 163, 48, 0, 130, 82, 190, 0, 97, 193, 47, 0, 83, 99, 144, 0, 57, 122, 43, 0, 93, 161, 133, 0, 97, 146, 234, 0, 29, 50, 88, 0, 0, 8, 45, 0, 156, 192, 13, 0, 107, 162, 254, 0, 80, 49, 241, 0, 135, 146, 46, 0, 126, 11, 4, 0, 110, 7, 161, 0, \ +112, 113, 227, 0, 27, 121, 120, 0, 241, 158, 83, 0, 239, 134, 120, 0, 252, 51, 229, 0, 113, 116, 35, 0, 150, 25, 149, 0, 182, 137, 57, 0, 45, 240, 102, 0, 80, 191, 112, 0, 239, 93, 8, 0, 115, 64, 138, 0, 101, 13, 140, 0, 147, 87, 171, 0, 36, 184, 125, 0, 120, 130, 101, 0, 121, 220, 215, 0, 112, 209, 68, 0, 229, 230, 249, 0, 206, 58, 162, 0, 205, 210, 146, 0, 122, 202, 16, 0, 219, 166, 45, 0, 54, 31, 205, 0, 200, 192, 145, 0, 11, 107, 142, 0, 32, 34, 141, 0, 168, 4, 161, 0, 75, 139, 25, 0, 135, 201, 239, 0, 224, 47, 211, 0, 176, 207, 2, 0, 225, 86, 243, 0, 218, 2, 141, 0, 79, 145, 86, 0, 222, 159, 242, 0, 39, 245, 217, 0, 236, 3, 54, 0, 251, 111, 102, 0, 84, 127, 228, 0, 191, 76, 63, 0, 215, 164, 145, 0, 23, 240, 91, 0, 168, 30, 24, 0, 165, 209, 177, 0, 220, 191, 174, 0, 198, 110, 150, 0, 236, 114, 28, 0, 167, 75, 200, 0, 177, 182, 65, 0, 78, 84, 20, 0, 174, 24, 159, 0, 249, 4, 5, 0, 221, 148, 109, 0, 127, 194, 246, 0, 140, 99, 100, 0, 204, 164, 58, 0, 50, 136, 114, 0, 15, 100, 98, 0, 210, 207, 142, 0, 17, 20, 116, 0, 151, 36, 140, 0, 39, 41, 92, 0, 92, 126, 225, 0, 170, 27, 28, 0, 43, 163, 67, 0, 132, 164, 173, 0, 232, 101, 179, 0, 78, 232, 142, 0, 171, 64, 198, 0, 42, 233, 208, 0, 16, 45, 19, 0, 6, 211, 1, 0, 71, 209, 151, 0, 212, 54, 230, 0, 110, 49, 202, 0, 131, 205, 169, 0, 113, 150, 66, 0, 198, 152, 253, 0, 160, 150, 53, 0, 104, 59, 84, 0, 173, 172, 93, 0, 127, 161, 66, 0, 168, 188, 153, 0, 113, 64, 24, 0, 50, 235, 234, 0, 223, 131, 74, 0, 100, 71, 18, 0, 20, 221, 211, 0, 145, 56, 194, 0, 119, 254, 244, 0, 6, 163, 136, 0, 229, 214, 13, 0, 38, 155, 15, 0, 115, 116, 167, 0, 182, 1, 226, 0, 199, 50, 7, 0, 226, 200, 218, 0, 117, 161, 107, 0, 101, 91, 91, 0, 249, 19, 13, 0, 135, 223, 216, 0, 199, 137, 50, 0, 134, 29, 147, 0, 146, 142, 115, 0, 250, 237, 137, 0, 227, 148, 179, 0, 4, 72, 59, 0, 25, 139, 185, 0, 142, 209, 65, 0, 116, 216, 30, 0, 112, 2, 176, 0, 86, 13, 149, 0, 251, 175, 133, 0, 237, 189, 131, 0, 28, 104, 197, 0, 173, 221, 72, 0, 85, 122, 136, 0, 114, 170, 62, 0, 191, 200, 227, 0, 57, 184, 1, 0, 175, 33, 68, 0, 86, 209, 185, 0, 5, 229, 174, 0, 72, 23, 197, 0, 174, 89, 48, 0, 101, 133, 15, 0, 220, 92, 126, 0, 40, 57, 53, 0, 113, 39, 63, 0, 20, 168, 219, 0, 76, 199, 74, 0, 195, 110, 193, 0, 68, 117, 36, 0, 125, 31, 190, 0, 237, 243, 78, 0, 220, 71, 134, 0, 167, 14, 110, 0, 143, 235, 79, 0, 16, 142, 230, 0, 178, 55, 161, 0, 170, 198, 247, 0, 153, 43, 38, 0, 47, 32, 100, 0, 222, 70, 176, 0, 219, 38, 89, 0, 77, 212, 136, 0, 15, 148, 35, 0, 212, 114, 6, 0, 144, 114, 24, 0, 101, 115, 109, 0, 134, 227, 216, 0, 182, 250, 178, 0, 150, 99, 191, 0, 195, 159, 185, 0, 193, 167, 80, 0, 182, 215, 27, 0, 32, 240, 50, 0, 65, 54, 107, 0, 192, 14, 32, 0, 223, 233, 227, 0, 129, 107, 190, 0, 179, 3, 35, 0, 49, 243, 67, 0, 79, 221, 251, 0, 160, 108, 53, 0, 219, 133, 243, 0, 103, 56, 35, 0, 142, 111, 140, 0, 29, 75, 235, 0, 36, 222, 95, 0, 56, 139, 111, 0, 95, 50, 30, 0, 233, 37, 253, 0, 75, 19, 221, 0, 233, 226, 83, 0, 51, 102, 248, 0, 240, 146, 113, 0, 53, 244, 14, 0, 105, 106, 161, 0, 163, 115, 204, 0, 239, 11, 204, 0, 50, 244, 160, 0, 171, 166, 112, 0, 130, 237, 113, 0, 197, 242, 157, 0, 210, 46, 2, 0, 74, 240, 85, 0, 87, 250, 145, 0, 98, 216, 192, 0, 198, 12, 90, 0, 192, 113, 56, 0, 103, 88, 31, 0, 243, 45, 120, 0, 6, 243, 5, 0, 31, 69, 248, 0, 48, 216, 218, 0, 235, 157, 18, 0, 42, 98, 173, 0, 65, 225, 134, 0, 239, 175, 147, 0, 141, 18, 106, 0, 164, 89, 176, 0, 193, 42, 109, 0, 17, 194, 106, 0, 243, 198, 136, 0, 80, 203, 142, 0, 137, 133, 151, 0, 193, 189, 38, 0, 68, 98, 142, 0, 252, 83, 154, 0, 63, 94, 133, 0, 151, 245, 77, 0, 56, 24, 237, 0, 56, 239, 165, 0, 198, 24, 156, 0, 161, 183, 220, 0, 236, 44, 179, 0, 236, 83, 172, 0, 143, 147, 202, 0, 77, 57, 63, 0, 19, 74, 246, 0, 15, 95, 182, 0, 75, 102, 26, 0, \ +122, 49, 225, 0, 191, 198, 10, 0, 116, 57, 12, 0, 113, 83, 63, 0, 37, 193, 111, 0, 103, 57, 188, 0, 33, 1, 196, 0, 18, 200, 76, 0, 44, 183, 92, 0, 80, 38, 155, 0, 31, 71, 26, 0, 36, 61, 164, 0, 225, 146, 78, 0, 123, 135, 37, 0, 64, 179, 85, 0, 30, 202, 93, 0, 232, 26, 182, 0, 142, 198, 73, 0, 164, 60, 20, 0, 93, 211, 217, 0, 207, 209, 209, 0, 189, 58, 15, 0, 108, 90, 133, 0, 29, 166, 78, 0, 67, 112, 124, 0, 80, 121, 168, 0, 126, 169, 208, 0, 207, 97, 235, 0, 226, 142, 65, 0, 139, 139, 119, 0, 191, 252, 169, 0, 100, 195, 209, 0, 221, 193, 45, 0, 12, 254, 213, 0, 206, 64, 32, 0, 220, 5, 86, 0, 181, 175, 25, 0, 80, 126, 244, 0, 56, 220, 98, 0, 209, 3, 39, 0, 29, 238, 225, 0, 218, 165, 133, 0, 17, 57, 209, 0, 58, 19, 19, 0, 36, 247, 113, 0, 125, 154, 246, 0, 221, 110, 207, 0, 128, 171, 94, 0, 202, 215, 63, 0, 163, 223, 227, 0, 170, 237, 132, 0, 144, 91, 174, 0, 214, 186, 220, 0, 9, 139, 14, 0, 216, 200, 204, 0, 15, 236, 11, 0, 206, 11, 117, 0, 224, 189, 199, 0, 137, 212, 180, 0, 177, 189, 185, 0, 68, 97, 159, 0, 181, 72, 162, 0, 151, 62, 154, 0, 196, 117, 135, 0, 10, 129, 177, 0, 251, 194, 137, 0, 32, 195, 30, 0, 159, 204, 83, 0, 54, 66, 127, 0, 28, 100, 2, 0, 37, 122, 216, 0, 109, 84, 75, 0, 103, 2, 20, 0, 218, 161, 90, 0, 142, 116, 110, 0, 108, 45, 169, 0, 254, 60, 219, 0, 29, 0, 154, 0, 139, 151, 86, 0, 75, 38, 34, 0, 84, 136, 176, 0, 140, 53, 127, 0, 222, 84, 221, 0, 66, 223, 137, 0, 15, 155, 83, 0, 151, 175, 114, 0, 57, 148, 75, 0, 203, 84, 88, 0, 126, 159, 39, 0, 8, 154, 81, 0, 204, 196, 247, 0, 98, 128, 175, 0, 206, 244, 128, 0, 20, 134, 173, 0, 206, 63, 105, 0, 71, 139, 240, 0, 141, 187, 193, 0, 99, 47, 93, 0, 151, 124, 89, 0, 141, 190, 135, 0, 233, 23, 104, 0, 27, 82, 58, 0, 226, 16, 194, 0, 212, 23, 103, 0, 98, 76, 22, 0, 192, 236, 205, 0, 82, 75, 31, 0, 180, 214, 60, 0, 251, 124, 220, 0, 51, 106, 228, 0, 101, 152, 54, 0, 180, 63, 9, 0, 88, 9, 220, 0, 241, 201, 47, 0, 72, 191, 231, 0, 109, 239, 1, 0, 41, 198, 32, 0, 46, 36, 37, 0, 24, 213, 47, 0, 174, 24, 144, 0, 149, 188, 170, 0, 54, 105, 28, 0, 100, 125, 200, 0, 207, 182, 96, 0, 126, 221, 77, 0, 217, 237, 24, 0, 189, 44, 98, 0, 79, 238, 183, 0, 115, 134, 46, 0, 188, 243, 173, 0, 227, 11, 197, 0, 196, 221, 0, 0, 64, 219, 122, 0, 88, 21, 183, 0, 117, 154, 87, 0, 163, 114, 222, 0, 85, 200, 152, 0, 119, 36, 16, 0, 240, 238, 166, 0, 30, 145, 192, 0, 62, 131, 139, 0, 64, 254, 240, 0, 232, 142, 41, 0, 145, 100, 16, 0, 127, 217, 126, 0, 14, 99, 145, 0, 249, 247, 127, 0, 205, 106, 10, 0, 62, 154, 115, 0, 98, 97, 225, 0, 154, 199, 45, 0, 7, 185, 200, 0, 122, 97, 2, 0, 48, 0, 124, 0, 158, 206, 235, 0, 137, 238, 225, 0, 153, 247, 101, 0, 69, 20, 11, 0, 136, 77, 130, 0, 92, 46, 52, 0, 177, 46, 93, 0, 167, 162, 28, 0, 227, 228, 198, 0, 77, 150, 234, 0, 8, 188, 150, 0, 201, 162, 190, 0, 143, 42, 251, 0, 176, 40, 140, 0, 176, 110, 60, 0, 68, 231, 61, 0, 82, 34, 221, 0, 7, 161, 87, 0, 179, 94, 194, 0, 139, 119, 179, 0, 228, 37, 80, 0, 209, 200, 54, 0, 36, 33, 94, 0, 230, 169, 149, 0, 107, 168, 46, 0, 42, 65, 237, 0, 215, 139, 167, 0, 97, 243, 130, 0, 238, 34, 164, 0, 64, 9, 89, 0, 189, 101, 243, 0, 94, 146, 184, 0, 67, 231, 231, 0, 146, 187, 126, 0, 111, 156, 202, 0, 52, 162, 23, 0, 80, 137, 206, 0, 214, 106, 90, 0, 156, 241, 230, 0, 30, 250, 254, 0, 157, 42, 128, 0, 192, 186, 66, 0, 187, 122, 210, 0, 92, 82, 143, 0, 125, 26, 249, 0, 234, 88, 193, 0, 187, 114, 59, 0, 70, 95, 185, 0, 206, 30, 126, 0, 199, 89, 28, 0, 30, 240, 204, 0, 103, 95, 174, 0, 237, 125, 155, 0, 2, 109, 105, 0, 39, 18, 237, 0, 160, 166, 188, 0, 85, 54, 55, 0, 94, 236, 227, 0, 45, 210, 11, 0, 192, 10, 37, 0, 27, 72, 0, 0, 11, 137, 44, 0, 126, 160, 161, 0, 50, 57, 226, 0, 157, 163, 253, 0, 31, 156, 3, 0, 245, 35, 66, 0, 12, 62, 230, 0, 225, 22, 183, 0, 210, 39, 121, 0, \ +251, 172, 200, 0, 63, 129, 11, 0, 36, 192, 211, 0, 222, 139, 195, 0, 47, 178, 56, 0, 76, 251, 247, 0, 230, 40, 208, 0, 217, 29, 111, 0, 233, 110, 229, 0, 99, 32, 214, 0, 186, 239, 140, 0, 180, 206, 41, 0, 117, 33, 160, 0, 201, 43, 163, 0, 251, 63, 77, 0, 167, 151, 14, 0, 113, 186, 1, 0, 65, 182, 212, 0, 10, 125, 171, 0, 199, 65, 227, 0, 246, 251, 128, 0, 101, 42, 113, 0, 18, 136, 31, 0, 84, 175, 101, 0, 187, 35, 12, 0, 14, 206, 97, 0, 175, 54, 237, 0, 87, 4, 150, 0, 48, 97, 74, 0, 152, 162, 13, 0, 40, 182, 10, 0, 77, 30, 116, 0, 231, 115, 60, 0, 100, 169, 188, 0, 130, 80, 3, 0, 103, 144, 245, 0, 38, 153, 43, 0, 200, 108, 142, 0, 98, 182, 148, 0, 137, 234, 28, 0, 194, 88, 146, 0, 124, 134, 186, 0, 12, 114, 27, 0, 53, 25, 239, 0, 86, 133, 140, 0, 89, 27, 181, 0, 117, 151, 20, 0, 1, 184, 172, 0, 104, 0, 106, 0, 50, 1, 145, 0, 222, 55, 63, 0, 51, 203, 101, 0, 17, 179, 49, 0, 144, 247, 171, 0, 83, 122, 58, 0, 40, 250, 83, 0, 238, 245, 181, 0, 8, 236, 24, 0, 69, 214, 82, 0, 40, 1, 164, 0, 215, 48, 106, 0, 149, 188, 92, 0, 238, 11, 164, 0, 14, 194, 36, 0, 177, 166, 243, 0, 88, 62, 171, 0, 56, 232, 7, 0, 111, 128, 130, 0, 180, 84, 75, 0, 29, 141, 173, 0, 243, 132, 100, 0, 104, 9, 68, 0, 146, 173, 17, 0, 200, 245, 206, 0, 26, 69, 79, 0, 39, 239, 225, 0, 249, 49, 190, 0, 137, 70, 29, 0, 17, 11, 22, 0, 162, 42, 6, 0, 228, 142, 39, 0, 87, 227, 211, 0, 234, 32, 76, 0, 98, 140, 39, 0, 171, 199, 116, 0, 253, 252, 65, 0, 152, 227, 128, 0, 241, 41, 175, 0, 145, 101, 221, 0, 136, 233, 240, 0, 230, 19, 145, 0, 0, 94, 14, 0, 118, 254, 112, 0, 21, 60, 164, 0, 196, 250, 142, 0, 83, 238, 206, 0, 38, 210, 93, 0, 80, 15, 125, 0, 246, 191, 210, 0, 205, 122, 115, 0, 158, 179, 8, 0, 132, 14, 198, 0, 221, 163, 219, 0, 81, 126, 240, 0, 163, 132, 206, 0, 131, 237, 26, 0, 5, 111, 98, 0, 57, 124, 34, 0, 24, 124, 84, 0, 107, 79, 126, 0, 61, 150, 76, 0, 126, 122, 223, 0, 170, 40, 47, 0, 16, 14, 133, 0, 185, 168, 168, 0, 65, 187, 155, 0, 105, 58, 92, 0, 189, 5, 230, 0, 148, 153, 111, 0, 100, 83, 29, 0, 238, 151, 238, 0, 10, 96, 149, 0, 218, 174, 200, 0, 81, 147, 164, 0, 179, 142, 88, 0, 207, 196, 239, 0, 107, 162, 60, 0, 55, 35, 37, 0, 0, 193, 7, 0, 9, 46, 55, 0, 73, 167, 0, 0, 20, 150, 40, 0, 67, 28, 150, 0, 112, 247, 24, 0, 74, 167, 153, 0, 107, 129, 49, 0, 91, 84, 220, 0, 209, 201, 62, 0, 45, 201, 52, 0, 117, 25, 243, 0, 4, 88, 201, 0, 57, 246, 237, 0, 33, 9, 130, 0, 139, 214, 167, 0, 127, 144, 10, 0, 8, 14, 20, 0, 59, 149, 212, 0, 70, 55, 164, 0, 217, 87, 20, 0, 226, 244, 211, 0, 155, 246, 104, 0, 173, 126, 201, 0, 38, 197, 137, 0, 50, 183, 144, 0, 56, 74, 252, 0, 26, 1, 192, 0, 71, 29, 164, 0, 249, 203, 126, 0, 208, 102, 11, 0, 49, 56, 19, 0, 191, 160, 218, 0, 111, 178, 210, 0, 24, 251, 176, 0, 93, 130, 214, 0, 174, 122, 200, 0, 113, 28, 110, 0, 113, 140, 193, 0, 33, 251, 31, 0, 146, 5, 191, 0, 179, 80, 163, 0, 19, 218, 105, 0, 5, 245, 132, 0, 173, 181, 141, 0, 147, 111, 55, 0, 45, 96, 246, 0, 198, 250, 234, 0, 247, 152, 135, 0, 81, 158, 247, 0, 202, 48, 35, 0, 84, 178, 137, 0, 182, 246, 157, 0, 81, 121, 148, 0, 116, 218, 64, 0, 64, 53, 67, 0, 92, 30, 101, 0, 249, 118, 182, 0, 93, 197, 223, 0, 253, 156, 102, 0, 64, 119, 231, 0, 138, 178, 128, 0, 123, 83, 91, 0, 89, 169, 156, 0, 179, 102, 208, 0, 244, 201, 90, 0, 38, 5, 232, 0, 104, 63, 236, 0, 64, 224, 168, 0, 204, 19, 195, 0, 247, 182, 40, 0, 31, 43, 66, 0, 36, 137, 214, 0, 235, 209, 56, 0, 134, 29, 66, 0, 217, 252, 243, 0, 193, 243, 69, 0, 214, 36, 196, 0, 96, 207, 175, 0, 193, 241, 112, 0, 38, 254, 226, 0, 190, 103, 58, 0, 243, 76, 235, 0, 76, 139, 241, 0, 211, 126, 61, 0, 58, 162, 21, 0, 80, 31, 1, 0, 173, 151, 209, 0, 140, 232, 123, 0, 15, 140, 243, 0, 98, 52, 125, 0, 180, 36, 179, 0, 251, 211, 60, 0, 239, 227, 138, 0, 52, 59, 157, 0, 83, 150, 49, 0, \ +15, 71, 73, 0, 15, 110, 122, 0, 73, 61, 139, 0, 164, 86, 163, 0, 125, 166, 116, 0, 162, 44, 8, 0, 143, 164, 176, 0, 91, 74, 127, 0, 52, 103, 20, 0, 235, 143, 168, 0, 126, 72, 126, 0, 5, 245, 168, 0, 247, 215, 125, 0, 3, 130, 53, 0, 92, 111, 162, 0, 19, 153, 145, 0, 110, 62, 58, 0, 237, 91, 78, 0, 185, 63, 22, 0, 177, 37, 175, 0, 117, 191, 220, 0, 148, 198, 238, 0, 139, 137, 21, 0, 231, 249, 90, 0, 117, 231, 216, 0, 69, 23, 25, 0, 103, 139, 133, 0, 45, 160, 183, 0, 173, 91, 241, 0, 127, 180, 123, 0, 131, 8, 234, 0, 87, 147, 199, 0, 240, 217, 216, 0, 70, 16, 116, 0, 93, 212, 65, 0, 11, 35, 49, 0, 16, 177, 198, 0, 109, 11, 188, 0, 195, 47, 100, 0, 87, 159, 134, 0, 124, 133, 116, 0, 6, 242, 23, 0, 168, 154, 241, 0, 129, 11, 122, 0, 198, 10, 216, 0, 179, 96, 140, 0, 190, 54, 132, 0, 9, 48, 45, 0, 116, 201, 46, 0, 87, 123, 163, 0, 199, 35, 100, 0, 19, 25, 236, 0, 162, 242, 204, 0, 190, 159, 12, 0, 250, 215, 105, 0, 97, 230, 212, 0, 118, 125, 187, 0, 252, 80, 239, 0, 126, 168, 228, 0, 118, 231, 170, 0, 252, 113, 84, 0, 82, 83, 174, 0, 92, 16, 5, 0, 231, 245, 104, 0, 2, 137, 101, 0, 161, 101, 127, 0, 41, 62, 242, 0, 175, 133, 77, 0, 185, 126, 52, 0, 143, 149, 109, 0, 235, 224, 210, 0, 152, 86, 242, 0, 125, 165, 145, 0, 104, 198, 86, 0, 133, 188, 67, 0, 45, 177, 121, 0, 249, 162, 19, 0, 68, 40, 179, 0, 45, 50, 192, 0, 23, 215, 224, 0, 146, 186, 243, 0, 96, 111, 8, 0, 23, 116, 61, 0, 145, 94, 221, 0, 33, 94, 139, 0, 200, 246, 197, 0, 208, 232, 135, 0, 33, 17, 34, 0, 29, 230, 30, 0, 153, 126, 204, 0, 237, 161, 93, 0, 237, 97, 245, 0, 191, 41, 110, 0, 245, 85, 75, 0, 67, 122, 143, 0, 239, 27, 252, 0, 43, 194, 188, 0, 85, 4, 93, 0, 237, 37, 14, 0, 141, 28, 57, 0, 174, 33, 177, 0, 79, 91, 128, 0, 248, 147, 3, 0, 213, 34, 187, 0, 45, 76, 209, 0, 136, 101, 51, 0, 208, 155, 88, 0, 230, 163, 66, 0, 99, 59, 218, 0, 120, 244, 30, 0, 197, 247, 110, 0, 176, 118, 89, 0, 82, 140, 94, 0, 216, 174, 194, 0, 172, 5, 88, 0, 64, 87, 203, 0, 108, 172, 112, 0, 254, 236, 147, 0, 222, 222, 251, 0, 43, 235, 242, 0, 248, 78, 64, 0, 49, 103, 9, 0, 17, 131, 34, 0, 88, 43, 97, 0, 153, 242, 89, 0, 101, 84, 134, 0, 249, 60, 90, 0, 248, 129, 182, 0, 210, 23, 98, 0, 26, 136, 137, 0, 22, 3, 180, 0, 122, 197, 216, 0, 43, 187, 11, 0, 222, 104, 99, 0, 205, 85, 167, 0, 9, 92, 155, 0, 101, 254, 28, 0, 58, 238, 195, 0, 213, 197, 218, 0, 80, 206, 14, 0, 143, 208, 13, 0, 179, 230, 167, 0, 191, 92, 18, 0, 70, 222, 222, 0, 1, 231, 99, 0, 249, 53, 152, 0, 42, 104, 7, 0, 133, 119, 169, 0, 187, 19, 186, 0, 145, 152, 97, 0, 127, 106, 77, 0, 173, 137, 52, 0, 41, 224, 1, 0, 169, 7, 1, 0, 104, 89, 128, 0, 124, 18, 134, 0, 65, 92, 187, 0, 127, 168, 76, 0, 137, 171, 141, 0, 112, 242, 5, 0, 180, 94, 251, 0, 88, 150, 49, 0, 227, 65, 171, 0, 145, 98, 178, 0, 174, 109, 12, 0, 56, 124, 19, 0, 13, 26, 26, 0, 156, 248, 40, 0, 250, 106, 192, 0, 243, 131, 63, 0, 39, 6, 7, 0, 135, 218, 217, 0, 228, 5, 219, 0, 24, 176, 6, 0, 47, 8, 135, 0, 9, 179, 172, 0, 45, 97, 200, 0, 56, 21, 121, 0, 227, 238, 88, 0, 134, 219, 173, 0, 90, 81, 216, 0, 123, 2, 115, 0, 188, 139, 189, 0, 194, 50, 242, 0, 81, 89, 129, 0, 99, 191, 132, 0, 200, 91, 100, 0, 103, 189, 171, 0, 136, 120, 73, 0, 228, 66, 19, 0, 172, 104, 50, 0, 171, 224, 160, 0, 199, 157, 156, 0, 28, 152, 218, 0, 231, 51, 233, 0, 7, 201, 140, 0, 45, 152, 158, 0, 124, 11, 230, 0, 249, 130, 165, 0, 195, 117, 245, 0, 248, 13, 157, 0, 117, 201, 61, 0, 227, 223, 244, 0, 75, 136, 23, 0, 237, 71, 75, 0, 44, 4, 233, 0, 169, 74, 240, 0, 32, 125, 211, 0, 137, 43, 205, 0, 143, 142, 203, 0, 131, 22, 37, 0, 5, 233, 27, 0, 19, 233, 117, 0, 161, 48, 79, 0, 172, 253, 22, 0, 182, 205, 201, 0, 151, 202, 254, 0, 124, 52, 53, 0, 188, 38, 117, 0, 92, 108, 21, 0, 249, 250, 0, 0, 158, 241, 142, 0, 229, 191, 85, 0, 153, 71, 19, 0, \ +209, 49, 0, 0, 132, 33, 205, 0, 101, 77, 167, 0, 10, 78, 68, 0, 56, 151, 103, 0, 97, 164, 17, 0, 136, 59, 254, 0, 12, 174, 59, 0, 110, 142, 56, 0, 156, 31, 180, 0, 224, 225, 141, 0, 28, 99, 211, 0, 97, 173, 66, 0, 56, 123, 113, 0, 220, 170, 107, 0, 27, 241, 165, 0, 8, 176, 54, 0, 144, 252, 158, 0, 142, 71, 64, 0, 130, 86, 205, 0, 237, 5, 175, 0, 240, 236, 154, 0, 31, 231, 148, 0, 234, 4, 11, 0, 247, 236, 103, 0, 43, 234, 102, 0, 123, 169, 106, 0, 128, 13, 101, 0, 218, 243, 201, 0, 103, 36, 168, 0, 104, 230, 46, 0, 249, 139, 250, 0, 162, 197, 219, 0, 12, 116, 114, 0, 21, 37, 161, 0, 112, 100, 94, 0, 231, 123, 31, 0, 49, 185, 50, 0, 110, 52, 102, 0, 227, 140, 155, 0, 114, 116, 142, 0, 84, 158, 169, 0, 51, 26, 151, 0, 46, 92, 112, 0, 100, 212, 26, 0, 161, 42, 46, 0, 90, 194, 248, 0, 68, 192, 76, 0, 181, 162, 1, 0, 94, 244, 66, 0, 129, 54, 254, 0, 97, 238, 223, 0, 73, 145, 227, 0, 175, 199, 46, 0, 82, 42, 126, 0, 140, 188, 164, 0, 188, 176, 195, 0, 63, 84, 197, 0, 121, 172, 246, 0, 102, 208, 166, 0, 233, 134, 94, 0, 215, 187, 200, 0, 95, 225, 51, 0, 96, 130, 41, 0, 135, 233, 28, 0, 18, 139, 185, 0, 12, 82, 157, 0, 122, 91, 35, 0, 45, 151, 63, 0, 136, 121, 253, 0, 159, 129, 59, 0, 63, 95, 151, 0, 59, 1, 109, 0, 107, 214, 158, 0, 244, 31, 89, 0, 224, 141, 199, 0, 196, 64, 191, 0, 171, 2, 96, 0, 207, 75, 70, 0, 204, 67, 7, 0, 208, 22, 0, 0, 84, 100, 248, 0, 108, 6, 189, 0, 111, 91, 125, 0, 215, 224, 1, 0, 58, 231, 224, 0, 249, 116, 161, 0, 106, 41, 121, 0, 143, 88, 254, 0, 223, 78, 150, 0, 67, 100, 180, 0, 190, 243, 211, 0, 150, 11, 206, 0, 235, 80, 153, 0, 65, 151, 128, 0, 61, 13, 228, 0, 48, 253, 131, 0, 57, 55, 47, 0, 21, 141, 227, 0, 211, 85, 8, 0, 22, 243, 164, 0, 101, 194, 49, 0, 19, 100, 237, 0, 248, 202, 52, 0, 49, 172, 150, 0, 138, 178, 219, 0, 145, 213, 55, 0, 251, 112, 203, 0, 132, 22, 215, 0, 133, 206, 90, 0, 40, 199, 228, 0, 145, 175, 28, 0, 53, 190, 249, 0, 246, 75, 181, 0, 3, 84, 158, 0, 48, 71, 232, 0, 71, 98, 215, 0, 99, 142, 28, 0, 151, 14, 154, 0, 181, 112, 54, 0, 47, 62, 227, 0, 128, 130, 135, 0, 152, 204, 110, 0, 169, 1, 183, 0, 8, 182, 130, 0, 92, 150, 245, 0, 64, 115, 224, 0, 238, 233, 9, 0, 221, 153, 211, 0, 98, 69, 59, 0, 53, 119, 49, 0, 158, 243, 227, 0, 75, 119, 193, 0, 218, 112, 6, 0, 206, 109, 0, 0, 219, 83, 138, 0, 28, 56, 63, 0, 20, 32, 110, 0, 67, 187, 186, 0, 10, 134, 21, 0, 115, 179, 13, 0, 72, 238, 244, 0, 199, 180, 63, 0, 223, 163, 25, 0, 222, 251, 74, 0, 182, 19, 120, 0, 102, 11, 103, 0, 228, 140, 129, 0, 207, 16, 108, 0, 25, 146, 98, 0, 3, 142, 77, 0, 188, 185, 9, 0, 126, 102, 221, 0, 182, 210, 139, 0, 233, 222, 220, 0, 183, 123, 110, 0, 124, 201, 101, 0, 175, 133, 91, 0, 137, 127, 18, 0, 102, 112, 160, 0, 221, 35, 119, 0, 108, 165, 146, 0, 125, 68, 44, 0, 60, 86, 57, 0, 186, 98, 88, 0, 42, 8, 157, 0, 195, 9, 28, 0, 127, 109, 108, 0, 45, 110, 79, 0, 66, 135, 252, 0, 105, 128, 135, 0, 180, 20, 218, 0, 53, 36, 226, 0, 13, 64, 3, 0, 236, 188, 160, 0, 66, 119, 72, 0, 139, 122, 116, 0, 231, 35, 140, 0, 51, 229, 44, 0, 239, 163, 46, 0, 29, 221, 185, 0, 135, 248, 113, 0, 144, 180, 111, 0, 34, 164, 123, 0, 168, 0, 252, 0, 216, 232, 230, 0, 168, 238, 187, 0, 191, 148, 156, 0, 176, 68, 13, 0, 215, 137, 59, 0, 53, 54, 110, 0, 19, 240, 165, 0, 183, 97, 176, 0, 49, 213, 61, 0, 93, 104, 91, 0, 10, 222, 39, 0, 117, 221, 190, 0, 125, 69, 191, 0, 219, 168, 172, 0, 6, 93, 105, 0, 204, 60, 129, 0, 91, 243, 183, 0, 217, 199, 18, 0, 46, 133, 144, 0, 160, 245, 176, 0, 6, 252, 23, 0, 210, 89, 88, 0, 196, 225, 187, 0, 164, 201, 77, 0, 92, 236, 254, 0, 129, 88, 144, 0, 68, 221, 100, 0, 113, 122, 225, 0, 120, 76, 223, 0, 132, 250, 91, 0, 7, 67, 232, 0, 57, 105, 84, 0, 222, 145, 81, 0, 126, 33, 196, 0, 22, 213, 238, 0, 31, 192, 109, 0, 179, 37, 177, 0, 227, 252, 251, 0, 157, 180, 65, 0, \ +247, 126, 199, 0, 108, 147, 23, 0, 51, 68, 83, 0, 198, 29, 99, 0, 188, 199, 172, 0, 201, 142, 52, 0, 64, 107, 14, 0, 86, 226, 75, 0, 9, 30, 44, 0, 168, 168, 98, 0, 37, 134, 176, 0, 25, 89, 143, 0, 140, 172, 57, 0, 49, 181, 142, 0, 127, 94, 36, 0, 70, 54, 77, 0, 114, 121, 100, 0, 249, 131, 97, 0, 93, 209, 116, 0, 164, 39, 125, 0, 216, 224, 161, 0, 136, 212, 215, 0, 160, 57, 52, 0, 35, 192, 240, 0, 33, 216, 134, 0, 26, 221, 91, 0, 155, 188, 69, 0, 135, 236, 233, 0, 143, 145, 224, 0, 136, 82, 182, 0, 92, 123, 79, 0, 190, 176, 22, 0, 138, 203, 162, 0, 59, 183, 83, 0, 52, 1, 170, 0, 22, 171, 17, 0, 210, 195, 234, 0, 23, 212, 207, 0, 146, 107, 108, 0, 47, 97, 14, 0, 180, 175, 151, 0, 48, 47, 14, 0, 217, 72, 12, 0, 3, 146, 202, 0, 99, 168, 7, 0, 170, 63, 147, 0, 186, 34, 156, 0, 157, 19, 126, 0, 36, 170, 191, 0, 250, 51, 138, 0, 240, 78, 138, 0, 116, 186, 81, 0, 220, 92, 102, 0, 181, 55, 78, 0, 147, 136, 155, 0, 62, 208, 143, 0, 193, 143, 81, 0, 113, 55, 22, 0, 107, 86, 0, 0, 23, 230, 130, 0, 148, 74, 105, 0, 177, 138, 160, 0, 131, 183, 104, 0, 130, 251, 116, 0, 102, 67, 46, 0, 247, 98, 119, 0, 206, 160, 237, 0, 46, 167, 230, 0, 201, 173, 174, 0, 115, 177, 126, 0, 175, 149, 221, 0, 10, 249, 54, 0, 19, 65, 42, 0, 210, 47, 75, 0, 117, 77, 71, 0, 176, 16, 81, 0, 130, 29, 103, 0, 53, 55, 164, 0, 243, 212, 248, 0, 240, 112, 83, 0, 131, 22, 4, 0, 182, 163, 159, 0, 119, 72, 126, 0, 223, 65, 39, 0, 16, 224, 64, 0, 215, 170, 11, 0, 118, 151, 243, 0, 4, 182, 16, 0, 195, 25, 56, 0, 99, 182, 220, 0, 75, 161, 251, 0, 99, 231, 133, 0, 56, 113, 152, 0, 216, 113, 223, 0, 243, 111, 109, 0, 55, 81, 103, 0, 181, 218, 54, 0, 240, 235, 148, 0, 59, 150, 46, 0, 56, 163, 236, 0, 248, 35, 63, 0, 130, 217, 34, 0, 159, 197, 126, 0, 207, 117, 139, 0, 211, 102, 68, 0, 250, 143, 41, 0, 113, 36, 4, 0, 22, 2, 132, 0, 36, 121, 104, 0, 217, 184, 90, 0, 82, 171, 209, 0, 250, 54, 86, 0, 89, 42, 113, 0, 52, 43, 24, 0, 178, 59, 158, 0, 11, 14, 194, 0, 35, 78, 138, 0, 105, 186, 144, 0, 117, 245, 231, 0, 134, 141, 56, 0, 29, 94, 24, 0, 100, 149, 223, 0, 34, 151, 62, 0, 120, 45, 208, 0, 60, 100, 112, 0, 215, 237, 46, 0, 183, 235, 68, 0, 169, 120, 208, 0, 68, 203, 238, 0, 11, 244, 222, 0, 158, 206, 227, 0, 132, 254, 127, 0, 246, 49, 74, 0, 211, 55, 80, 0, 93, 77, 154, 0, 130, 206, 193, 0, 133, 154, 112, 0, 48, 31, 243, 0, 232, 148, 87, 0, 218, 0, 251, 0, 220, 225, 81, 0, 244, 241, 166, 0, 130, 50, 52, 0, 124, 173, 62, 0, 166, 232, 1, 0, 212, 69, 165, 0, 213, 172, 126, 0, 28, 213, 46, 0, 135, 216, 44, 0, 10, 40, 142, 0, 209, 18, 148, 0, 190, 160, 250, 0, 105, 185, 104, 0, 132, 236, 186, 0, 82, 174, 25, 0, 11, 237, 24, 0, 115, 181, 15, 0, 78, 139, 133, 0, 158, 176, 217, 0, 1, 72, 203, 0, 5, 24, 40, 0, 181, 52, 73, 0, 85, 52, 121, 0, 204, 141, 72, 0, 211, 24, 36, 0, 57, 144, 8, 0, 92, 16, 196, 0, 170, 47, 32, 0, 242, 162, 184, 0, 153, 26, 25, 0, 244, 58, 53, 0, 105, 169, 167, 0, 159, 253, 223, 0, 55, 46, 137, 0, 38, 5, 127, 0, 240, 138, 153, 0, 91, 57, 122, 0, 229, 212, 244, 0, 78, 42, 68, 0, 239, 137, 33, 0, 160, 70, 179, 0, 91, 112, 119, 0, 90, 233, 59, 0, 141, 52, 243, 0, 65, 152, 100, 0, 215, 6, 110, 0, 5, 91, 219, 0, 173, 8, 147, 0, 29, 202, 251, 0, 28, 160, 62, 0, 165, 129, 31, 0, 247, 8, 55, 0, 220, 147, 193, 0, 148, 173, 67, 0, 69, 171, 105, 0, 40, 9, 18, 0, 124, 148, 49, 0, 4, 233, 11, 0, 254, 88, 250, 0, 41, 41, 190, 0, 250, 83, 143, 0, 170, 70, 200, 0, 205, 65, 249, 0, 7, 100, 33, 0, 180, 81, 126, 0, 193, 8, 69, 0, 29, 239, 35, 0, 171, 131, 61, 0, 126, 72, 56, 0, 152, 216, 82, 0, 232, 93, 170, 0, 201, 102, 51, 0, 76, 181, 101, 0, 180, 34, 75, 0, 220, 158, 17, 0, 49, 209, 236, 0, 54, 154, 68, 0, 63, 55, 39, 0, 137, 62, 221, 0, 52, 227, 246, 0, 148, 102, 11, 0, 159, 141, 221, 0, 141, 49, 149, 0, 109, 8, 127, 0, \ +204, 114, 48, 0, 60, 222, 34, 0, 33, 46, 44, 0, 128, 99, 161, 0, 134, 101, 84, 0, 147, 227, 175, 0, 244, 166, 184, 0, 133, 185, 96, 0, 173, 188, 72, 0, 14, 196, 15, 0, 78, 49, 19, 0, 115, 173, 96, 0, 4, 52, 98, 0, 221, 234, 157, 0, 96, 140, 109, 0, 164, 151, 224, 0, 131, 171, 173, 0, 91, 224, 17, 0, 107, 122, 116, 0, 52, 228, 13, 0, 158, 9, 29, 0, 233, 126, 151, 0, 92, 85, 197, 0, 245, 199, 248, 0, 123, 27, 230, 0, 74, 96, 171, 0, 162, 254, 74, 0, 163, 111, 151, 0, 201, 15, 96, 0, 203, 218, 254, 0, 134, 47, 252, 0, 47, 197, 101, 0, 132, 9, 212, 0, 138, 36, 163, 0, 90, 5, 77, 0, 57, 135, 186, 0, 184, 67, 39, 0, 234, 160, 40, 0, 31, 230, 231, 0, 100, 72, 7, 0, 59, 93, 146, 0, 201, 98, 55, 0, 153, 23, 170, 0, 182, 90, 12, 0, 149, 29, 50, 0, 4, 9, 78, 0, 5, 38, 142, 0, 124, 213, 71, 0, 20, 29, 109, 0, 169, 56, 222, 0, 24, 247, 105, 0, 29, 4, 45, 0, 199, 36, 78, 0, 236, 6, 127, 0, 82, 167, 44, 0, 191, 241, 68, 0, 145, 78, 51, 0, 116, 67, 74, 0, 253, 57, 121, 0, 139, 253, 167, 0, 197, 200, 142, 0, 167, 47, 113, 0, 53, 31, 197, 0, 37, 93, 186, 0, 223, 212, 240, 0, 134, 157, 188, 0, 122, 213, 172, 0, 8, 179, 13, 0, 36, 12, 125, 0, 181, 57, 67, 0, 150, 102, 169, 0, 49, 94, 116, 0, 143, 233, 4, 0, 32, 108, 199, 0, 183, 146, 248, 0, 91, 235, 64, 0, 61, 234, 170, 0, 65, 70, 66, 0, 242, 20, 85, 0, 148, 123, 249, 0, 74, 65, 117, 0, 210, 173, 100, 0, 203, 53, 187, 0, 20, 102, 32, 0, 13, 223, 33, 0, 4, 89, 144, 0, 0, 225, 238, 0, 241, 136, 106, 0, 73, 149, 113, 0, 95, 165, 135, 0, 97, 190, 200, 0, 55, 178, 25, 0, 139, 126, 137, 0, 51, 170, 215, 0, 5, 113, 46, 0, 211, 215, 202, 0, 153, 235, 186, 0, 130, 159, 66, 0, 216, 113, 218, 0, 67, 68, 18, 0, 181, 178, 132, 0, 243, 149, 9, 0, 201, 92, 102, 0, 58, 160, 45, 0, 37, 49, 99, 0, 175, 133, 93, 0, 238, 179, 191, 0, 52, 211, 94, 0, 119, 244, 146, 0, 70, 115, 136, 0, 20, 187, 229, 0, 144, 50, 152, 0, 156, 120, 231, 0, 119, 185, 89, 0, 212, 0, 103, 0, 144, 21, 238, 0, 38, 125, 180, 0, 211, 50, 69, 0, 231, 135, 161, 0, 179, 29, 31, 0, 78, 49, 8, 0, 151, 75, 240, 0, 177, 131, 159, 0, 117, 114, 210, 0, 85, 145, 101, 0, 253, 224, 216, 0, 176, 139, 112, 0, 24, 53, 104, 0, 220, 184, 196, 0, 189, 214, 94, 0, 126, 231, 248, 0, 163, 201, 239, 0, 129, 2, 222, 0, 210, 220, 74, 0, 120, 111, 99, 0, 203, 182, 150, 0, 124, 120, 30, 0, 150, 210, 222, 0, 126, 233, 210, 0, 251, 9, 196, 0, 2, 180, 127, 0, 60, 60, 42, 0, 2, 119, 204, 0, 33, 189, 47, 0, 145, 55, 129, 0, 9, 95, 9, 0, 220, 104, 64, 0, 7, 18, 180, 0, 56, 147, 208, 0, 79, 71, 151, 0, 58, 229, 138, 0, 62, 178, 198, 0, 152, 35, 140, 0, 99, 125, 67, 0, 128, 177, 219, 0, 37, 59, 146, 0, 3, 224, 113, 0, 57, 3, 108, 0, 143, 223, 95, 0, 41, 14, 222, 0, 242, 39, 157, 0, 26, 202, 188, 0, 164, 160, 8, 0, 96, 21, 238, 0, 64, 248, 119, 0, 96, 31, 184, 0, 208, 188, 15, 0, 158, 173, 43, 0, 92, 200, 234, 0, 88, 246, 229, 0, 56, 188, 160, 0, 133, 149, 192, 0, 72, 156, 29, 0, 33, 166, 113, 0, 204, 235, 19, 0, 145, 210, 24, 0, 33, 176, 54, 0, 19, 243, 204, 0, 161, 179, 50, 0, 16, 46, 251, 0, 218, 221, 70, 0, 177, 90, 3, 0, 150, 99, 145, 0, 87, 23, 47, 0, 31, 70, 10, 0, 185, 101, 148, 0, 191, 82, 10, 0, 215, 132, 208, 0, 196, 234, 165, 0, 143, 197, 168, 0, 138, 98, 166, 0, 25, 62, 128, 0, 6, 246, 14, 0, 146, 173, 85, 0, 187, 89, 65, 0, 177, 175, 225, 0, 125, 198, 48, 0, 135, 53, 170, 0, 141, 136, 129, 0, 236, 13, 50, 0, 206, 22, 168, 0, 213, 26, 157, 0, 116, 70, 49, 0, 206, 207, 139, 0, 46, 189, 117, 0, 94, 182, 6, 0, 12, 251, 231, 0, 244, 175, 27, 0, 179, 129, 86, 0, 204, 138, 79, 0, 150, 251, 147, 0, 10, 32, 27, 0, 193, 31, 120, 0, 207, 89, 44, 0, 182, 216, 137, 0, 152, 45, 35, 0, 109, 0, 27, 0, 72, 181, 7, 0, 17, 9, 96, 0, 115, 217, 157, 0, 78, 252, 116, 0, 136, 63, 114, 0, 36, 189, 0, 0, 32, 42, 9, 0, \ +71, 211, 254, 0, 46, 82, 243, 0, 150, 210, 194, 0, 75, 112, 128, 0, 148, 69, 198, 0, 119, 159, 25, 0, 92, 44, 220, 0, 6, 96, 223, 0, 174, 48, 17, 0, 117, 240, 204, 0, 36, 244, 66, 0, 21, 163, 210, 0, 103, 240, 23, 0, 161, 41, 247, 0, 216, 82, 127, 0, 226, 82, 108, 0, 156, 115, 1, 0, 216, 238, 45, 0, 184, 167, 66, 0, 165, 168, 83, 0, 236, 39, 179, 0, 79, 86, 171, 0, 37, 103, 199, 0, 62, 55, 115, 0, 81, 130, 3, 0, 126, 239, 23, 0, 244, 194, 125, 0, 164, 52, 219, 0, 167, 6, 99, 0, 66, 0, 160, 0, 11, 229, 135, 0, 210, 115, 232, 0, 143, 226, 178, 0, 223, 7, 216, 0, 40, 214, 181, 0, 142, 80, 148, 0, 1, 174, 149, 0, 45, 133, 240, 0, 247, 181, 110, 0, 163, 4, 214, 0, 141, 211, 226, 0, 247, 189, 104, 0, 116, 38, 86, 0, 187, 80, 12, 0, 24, 84, 174, 0, 211, 134, 189, 0, 9, 116, 34, 0, 8, 85, 239, 0, 26, 135, 78, 0, 70, 187, 115, 0, 148, 190, 167, 0, 58, 85, 167, 0, 59, 128, 33, 0, 147, 105, 95, 0, 97, 84, 66, 0, 196, 34, 4, 0, 73, 32, 80, 0, 195, 23, 117, 0, 149, 38, 104, 0, 131, 44, 108, 0, 159, 220, 21, 0, 86, 98, 102, 0, 181, 100, 19, 0, 85, 27, 15, 0, 242, 38, 111, 0, 82, 253, 11, 0, 210, 4, 143, 0, 247, 121, 104, 0, 223, 94, 73, 0, 210, 155, 41, 0, 62, 32, 246, 0, 210, 41, 247, 0, 69, 113, 133, 0, 157, 127, 174, 0, 83, 13, 87, 0, 4, 126, 19, 0, 57, 165, 44, 0, 224, 34, 121, 0, 50, 191, 192, 0, 86, 67, 202, 0, 192, 170, 96, 0, 72, 193, 27, 0, 174, 62, 129, 0, 70, 223, 12, 0, 166, 135, 203, 0, 151, 141, 94, 0, 0, 228, 211, 0, 155, 125, 80, 0, 53, 212, 61, 0, 67, 147, 0, 0, 181, 215, 248, 0, 235, 0, 192, 0, 3, 239, 28, 0, 153, 164, 114, 0, 238, 198, 169, 0, 106, 40, 214, 0, 213, 3, 152, 0, 247, 26, 53, 0, 225, 114, 192, 0, 133, 153, 225, 0, 7, 132, 233, 0, 117, 155, 253, 0, 136, 132, 183, 0, 44, 161, 234, 0, 225, 106, 215, 0, 227, 28, 86, 0, 95, 38, 34, 0, 39, 160, 45, 0, 96, 156, 18, 0, 188, 199, 4, 0, 182, 89, 224, 0, 9, 35, 0, 0, 226, 28, 215, 0, 61, 152, 80, 0, 71, 229, 142, 0, 45, 191, 43, 0, 22, 215, 161, 0, 53, 156, 204, 0, 199, 130, 111, 0, 250, 185, 76, 0, 69, 158, 147, 0, 110, 13, 186, 0, 209, 49, 109, 0, 189, 5, 7, 0, 211, 241, 67, 0, 106, 23, 61, 0, 45, 192, 14, 0, 25, 3, 216, 0, 133, 172, 18, 0, 89, 59, 45, 0, 186, 172, 245, 0, 234, 158, 51, 0, 41, 192, 27, 0, 35, 99, 148, 0, 127, 217, 98, 0, 159, 143, 103, 0, 27, 0, 187, 0, 146, 99, 150, 0, 116, 90, 146, 0, 248, 9, 228, 0, 152, 35, 21, 0, 209, 132, 96, 0, 145, 15, 25, 0, 174, 73, 131, 0, 220, 239, 254, 0, 191, 175, 212, 0, 231, 51, 104, 0, 1, 190, 71, 0, 40, 37, 148, 0, 0, 243, 233, 0, 148, 108, 31, 0, 28, 172, 181, 0, 242, 140, 221, 0, 241, 218, 31, 0, 7, 66, 246, 0, 184, 84, 201, 0, 136, 116, 175, 0, 94, 190, 59, 0, 1, 20, 98, 0, 99, 238, 192, 0, 189, 246, 56, 0, 18, 33, 235, 0, 191, 64, 248, 0, 100, 225, 215, 0, 79, 212, 33, 0, 129, 212, 104, 0, 198, 137, 50, 0, 66, 157, 216, 0, 12, 241, 77, 0, 77, 242, 100, 0, 120, 8, 45, 0, 22, 188, 31, 0, 170, 96, 244, 0, 221, 134, 98, 0, 252, 146, 107, 0, 232, 215, 122, 0, 64, 140, 110, 0, 148, 250, 224, 0, 64, 184, 164, 0, 29, 225, 240, 0, 23, 116, 191, 0, 26, 223, 114, 0, 8, 68, 58, 0, 181, 52, 137, 0, 0, 83, 76, 0, 141, 43, 58, 0, 175, 16, 185, 0, 64, 203, 195, 0, 149, 51, 143, 0, 10, 120, 110, 0, 3, 64, 97, 0, 179, 107, 101, 0, 93, 4, 157, 0, 159, 63, 36, 0, 18, 51, 8, 0, 15, 225, 127, 0, 169, 6, 181, 0, 77, 240, 66, 0, 139, 7, 176, 0, 13, 147, 159, 0, 77, 186, 27, 0, 153, 43, 31, 0, 165, 183, 118, 0, 247, 121, 1, 0, 157, 92, 75, 0, 15, 178, 160, 0, 64, 133, 231, 0, 218, 86, 217, 0, 205, 226, 123, 0, 234, 165, 39, 0, 185, 123, 158, 0, 35, 149, 96, 0, 162, 59, 201, 0, 93, 190, 45, 0, 235, 88, 100, 0, 140, 106, 169, 0, 24, 29, 41, 0, 114, 254, 252, 0, 181, 98, 121, 0, 51, 223, 91, 0, 10, 220, 159, 0, 249, 219, 25, 0, 27, 198, 33, 0, 140, 0, 138, 0, \ +106, 177, 231, 0, 6, 156, 179, 0, 38, 107, 81, 0, 3, 20, 228, 0, 31, 202, 61, 0, 117, 130, 23, 0, 249, 0, 201, 0, 207, 61, 26, 0, 99, 227, 190, 0, 216, 46, 113, 0, 217, 19, 219, 0, 38, 176, 141, 0, 106, 116, 248, 0, 125, 94, 8, 0, 65, 185, 251, 0, 155, 11, 5, 0, 139, 57, 85, 0, 172, 141, 79, 0, 80, 58, 211, 0, 28, 102, 86, 0, 109, 171, 102, 0, 212, 188, 130, 0, 2, 87, 46, 0, 52, 120, 34, 0, 195, 248, 222, 0, 138, 115, 22, 0, 128, 13, 95, 0, 242, 173, 140, 0, 96, 87, 22, 0, 93, 65, 69, 0, 5, 45, 177, 0, 37, 97, 236, 0, 147, 12, 67, 0, 110, 50, 0, 0, 64, 92, 55, 0, 110, 5, 80, 0, 201, 147, 184, 0, 105, 86, 204, 0, 181, 129, 104, 0, 233, 6, 110, 0, 180, 96, 236, 0, 159, 109, 199, 0, 196, 125, 254, 0, 69, 15, 14, 0, 9, 79, 174, 0, 73, 242, 57, 0, 184, 52, 106, 0, 15, 136, 67, 0, 120, 21, 5, 0, 109, 239, 114, 0, 243, 89, 206, 0, 74, 95, 32, 0, 61, 201, 252, 0, 224, 203, 253, 0, 89, 241, 99, 0, 32, 156, 232, 0, 186, 40, 196, 0, 30, 95, 19, 0, 66, 228, 96, 0, 205, 218, 219, 0, 68, 247, 19, 0, 244, 122, 59, 0, 137, 227, 251, 0, 107, 81, 188, 0, 161, 44, 124, 0, 47, 128, 187, 0, 11, 31, 7, 0, 7, 186, 124, 0, 21, 69, 249, 0, 221, 243, 110, 0, 11, 188, 183, 0, 105, 58, 229, 0, 60, 240, 22, 0, 97, 102, 76, 0, 218, 176, 12, 0, 186, 187, 153, 0, 161, 141, 37, 0, 148, 22, 189, 0, 94, 165, 100, 0, 230, 177, 80, 0, 135, 208, 61, 0, 108, 45, 7, 0, 188, 142, 99, 0, 144, 38, 56, 0, 162, 124, 185, 0, 203, 42, 157, 0, 87, 161, 135, 0, 150, 84, 204, 0, 141, 88, 13, 0, 87, 169, 202, 0, 138, 103, 74, 0, 192, 204, 218, 0, 229, 155, 25, 0, 33, 191, 180, 0, 91, 110, 110, 0, 163, 22, 162, 0, 35, 110, 105, 0, 174, 117, 95, 0, 26, 248, 5, 0, 8, 76, 12, 0, 23, 226, 235, 0, 124, 122, 244, 0, 175, 207, 146, 0, 42, 80, 115, 0, 127, 36, 221, 0, 168, 65, 212, 0, 112, 61, 84, 0, 50, 26, 19, 0, 39, 166, 58, 0, 215, 84, 175, 0, 111, 162, 47, 0, 213, 225, 1, 0, 6, 196, 96, 0, 95, 249, 12, 0, 248, 211, 163, 0, 127, 168, 90, 0, 118, 161, 229, 0, 110, 14, 171, 0, 238, 101, 60, 0, 77, 154, 18, 0, 3, 83, 128, 0, 70, 23, 101, 0, 200, 187, 121, 0, 173, 29, 85, 0, 249, 148, 61, 0, 4, 237, 60, 0, 65, 143, 140, 0, 71, 10, 98, 0, 30, 47, 105, 0, 51, 216, 1, 0, 95, 248, 13, 0, 221, 226, 184, 0, 64, 98, 39, 0, 234, 217, 200, 0, 232, 121, 84, 0, 95, 216, 166, 0, 59, 186, 99, 0, 129, 9, 249, 0, 250, 202, 169, 0, 138, 217, 253, 0, 247, 59, 190, 0, 98, 83, 245, 0, 177, 107, 140, 0, 133, 251, 216, 0, 149, 214, 84, 0, 38, 65, 83, 0, 10, 70, 45, 0, 45, 153, 148, 0, 55, 253, 62, 0, 77, 170, 214, 0, 117, 79, 126, 0, 172, 80, 181, 0, 125, 113, 41, 0, 4, 131, 151, 0, 122, 34, 147, 0, 86, 98, 32, 0, 26, 23, 238, 0, 166, 45, 80, 0, 218, 15, 116, 0, 136, 108, 204, 0, 46, 62, 197, 0, 113, 27, 230, 0, 216, 228, 75, 0, 81, 64, 222, 0, 148, 161, 126, 0, 70, 120, 69, 0, 239, 111, 218, 0, 146, 115, 193, 0, 22, 63, 15, 0, 48, 222, 224, 0, 65, 247, 209, 0, 6, 76, 153, 0, 238, 35, 158, 0, 238, 16, 5, 0, 168, 12, 78, 0, 51, 138, 67, 0, 164, 221, 80, 0, 105, 16, 13, 0, 141, 236, 241, 0, 12, 125, 151, 0, 102, 30, 13, 0, 26, 64, 160, 0, 134, 86, 192, 0, 134, 6, 49, 0, 168, 133, 202, 0, 61, 235, 46, 0, 172, 247, 140, 0, 204, 73, 148, 0, 89, 98, 132, 0, 114, 71, 161, 0, 4, 51, 242, 0, 28, 84, 236, 0, 1, 29, 253, 0, 113, 44, 142, 0, 222, 124, 23, 0, 35, 40, 113, 0, 152, 172, 106, 0, 165, 99, 31, 0, 102, 58, 149, 0, 235, 138, 45, 0, 203, 194, 220, 0, 3, 147, 103, 0, 160, 118, 20, 0, 71, 87, 8, 0, 105, 208, 235, 0, 118, 160, 245, 0, 16, 164, 88, 0, 101, 146, 80, 0, 96, 119, 215, 0, 43, 185, 172, 0, 100, 35, 29, 0, 65, 184, 121, 0, 235, 183, 77, 0, 148, 7, 139, 0, 112, 51, 71, 0, 191, 110, 208, 0, 42, 233, 99, 0, 57, 230, 52, 0, 221, 47, 111, 0, 161, 52, 55, 0, 182, 82, 218, 0, 199, 223, 135, 0, 114, 156, 231, 0, 92, 23, 243, 0, \ +137, 234, 250, 0, 11, 2, 161, 0, 70, 95, 139, 0, 116, 233, 17, 0, 200, 93, 86, 0, 86, 146, 27, 0, 67, 78, 147, 0, 163, 63, 201, 0, 204, 159, 92, 0, 191, 34, 169, 0, 200, 210, 220, 0, 67, 233, 219, 0, 158, 180, 88, 0, 155, 101, 159, 0, 172, 30, 159, 0, 105, 96, 196, 0, 42, 52, 155, 0, 137, 125, 214, 0, 59, 78, 22, 0, 85, 166, 185, 0, 43, 168, 67, 0, 184, 21, 16, 0, 193, 18, 112, 0, 129, 85, 234, 0, 83, 252, 66, 0, 101, 209, 210, 0, 249, 251, 233, 0, 166, 33, 119, 0, 59, 47, 204, 0, 91, 46, 183, 0, 210, 60, 172, 0, 33, 136, 241, 0, 228, 31, 202, 0, 220, 100, 219, 0, 154, 246, 73, 0, 43, 221, 239, 0, 219, 247, 175, 0, 229, 57, 238, 0, 237, 153, 216, 0, 114, 48, 160, 0, 67, 36, 205, 0, 237, 253, 194, 0, 169, 46, 101, 0, 78, 238, 50, 0, 129, 132, 155, 0, 117, 104, 54, 0, 95, 38, 119, 0, 164, 152, 63, 0, 192, 127, 132, 0, 0, 13, 196, 0, 136, 51, 135, 0, 115, 107, 179, 0, 37, 151, 98, 0, 22, 140, 224, 0, 175, 93, 133, 0, 31, 234, 143, 0, 6, 97, 244, 0, 77, 216, 19, 0, 212, 123, 138, 0, 176, 132, 158, 0, 14, 65, 191, 0, 244, 52, 6, 0, 150, 119, 163, 0, 227, 165, 184, 0, 122, 108, 237, 0, 2, 79, 82, 0, 234, 182, 91, 0, 53, 23, 253, 0, 162, 4, 125, 0, 243, 36, 19, 0, 54, 209, 226, 0, 249, 223, 159, 0, 42, 165, 70, 0, 123, 4, 104, 0, 245, 182, 28, 0, 84, 222, 230, 0, 246, 226, 78, 0, 245, 177, 76, 0, 64, 122, 241, 0, 174, 152, 226, 0, 188, 83, 108, 0, 212, 226, 51, 0, 145, 124, 217, 0, 21, 146, 169, 0, 143, 168, 68, 0, 70, 92, 107, 0, 222, 54, 232, 0, 219, 125, 136, 0, 81, 7, 113, 0, 191, 205, 177, 0, 126, 223, 85, 0, 167, 29, 54, 0, 144, 167, 94, 0, 150, 28, 197, 0, 52, 106, 58, 0, 235, 83, 73, 0, 94, 254, 91, 0, 101, 144, 142, 0, 213, 63, 8, 0, 97, 112, 14, 0, 43, 38, 184, 0, 30, 65, 137, 0, 97, 117, 71, 0, 90, 62, 64, 0, 201, 95, 12, 0, 44, 175, 153, 0, 59, 53, 65, 0, 139, 162, 73, 0, 6, 16, 51, 0, 184, 245, 45, 0, 177, 154, 53, 0, 86, 250, 103, 0, 37, 109, 253, 0, 213, 95, 96, 0, 155, 242, 18, 0, 74, 41, 13, 0, 77, 197, 157, 0, 216, 189, 165, 0, 10, 7, 64, 0, 200, 35, 4, 0, 106, 33, 68, 0, 166, 101, 88, 0, 246, 107, 119, 0, 3, 72, 177, 0, 57, 4, 61, 0, 39, 2, 69, 0, 123, 23, 128, 0, 92, 223, 118, 0, 116, 85, 28, 0, 120, 83, 171, 0, 231, 163, 10, 0, 159, 76, 107, 0, 228, 164, 69, 0, 83, 108, 27, 0, 185, 75, 142, 0, 123, 71, 99, 0, 167, 178, 132, 0, 16, 93, 56, 0, 182, 21, 85, 0, 133, 195, 138, 0, 136, 14, 237, 0, 150, 193, 96, 0, 49, 249, 167, 0, 108, 137, 161, 0, 247, 1, 192, 0, 29, 232, 253, 0, 84, 32, 153, 0, 47, 209, 60, 0, 41, 2, 59, 0, 80, 246, 219, 0, 83, 184, 6, 0, 173, 143, 78, 0, 156, 32, 171, 0, 78, 225, 223, 0, 21, 108, 223, 0, 111, 168, 132, 0, 245, 155, 209, 0, 189, 101, 127, 0, 5, 137, 174, 0, 70, 163, 249, 0, 49, 91, 102, 0, 93, 95, 14, 0, 111, 174, 217, 0, 23, 70, 80, 0, 59, 195, 225, 0, 243, 215, 202, 0, 207, 14, 215, 0, 93, 106, 147, 0, 207, 203, 8, 0, 29, 86, 196, 0, 97, 10, 213, 0, 51, 156, 219, 0, 148, 144, 110, 0, 141, 130, 41, 0, 83, 46, 242, 0, 129, 89, 131, 0, 45, 104, 191, 0, 92, 80, 96, 0, 119, 206, 209, 0, 136, 86, 142, 0, 244, 129, 247, 0, 69, 99, 202, 0, 220, 246, 17, 0, 140, 128, 218, 0, 214, 96, 207, 0, 249, 202, 226, 0, 253, 67, 208, 0, 109, 220, 136, 0, 105, 173, 163, 0, 64, 191, 138, 0, 4, 22, 245, 0, 59, 36, 90, 0, 10, 33, 23, 0, 166, 144, 178, 0, 128, 189, 159, 0, 208, 101, 249, 0, 161, 35, 61, 0, 45, 111, 222, 0, 10, 189, 146, 0, 68, 198, 93, 0, 199, 153, 236, 0, 40, 152, 54, 0, 220, 155, 154, 0, 87, 172, 236, 0, 129, 82, 241, 0, 153, 230, 19, 0, 100, 44, 231, 0, 46, 199, 249, 0, 69, 138, 197, 0, 160, 124, 214, 0, 73, 125, 120, 0, 177, 1, 105, 0, 87, 136, 253, 0, 3, 125, 9, 0, 182, 127, 20, 0, 156, 34, 49, 0, 126, 39, 17, 0, 165, 153, 247, 0, 97, 180, 216, 0, 233, 113, 248, 0, 3, 85, 151, 0, 202, 6, 99, 0, 235, 243, 26, 0, 63, 188, 185, 0, \ +60, 150, 141, 0, 67, 39, 4, 0, 12, 178, 11, 0, 148, 184, 185, 0, 159, 77, 2, 0, 122, 236, 83, 0, 50, 167, 126, 0, 145, 46, 91, 0, 140, 144, 118, 0, 17, 65, 41, 0, 176, 39, 200, 0, 78, 151, 48, 0, 105, 148, 7, 0, 44, 98, 106, 0, 251, 22, 66, 0, 75, 186, 211, 0, 76, 151, 44, 0, 121, 137, 141, 0, 50, 142, 129, 0, 23, 83, 208, 0, 179, 126, 52, 0, 58, 187, 194, 0, 89, 148, 236, 0, 215, 249, 150, 0, 206, 109, 60, 0, 7, 156, 231, 0, 60, 173, 52, 0, 46, 101, 117, 0, 182, 192, 115, 0, 231, 128, 132, 0, 49, 217, 227, 0, 240, 140, 188, 0, 88, 220, 175, 0, 12, 99, 221, 0, 185, 223, 162, 0, 104, 223, 153, 0, 43, 83, 112, 0, 178, 202, 30, 0, 142, 195, 148, 0, 211, 140, 223, 0, 183, 214, 164, 0, 131, 241, 126, 0, 170, 254, 217, 0, 231, 199, 74, 0, 76, 23, 22, 0, 143, 12, 206, 0, 126, 113, 30, 0, 0, 44, 131, 0, 51, 144, 232, 0, 69, 180, 20, 0, 84, 202, 60, 0, 63, 141, 70, 0, 43, 189, 234, 0, 89, 172, 223, 0, 129, 168, 92, 0, 160, 249, 6, 0, 50, 183, 167, 0, 102, 42, 69, 0, 103, 85, 103, 0, 117, 125, 157, 0, 85, 98, 183, 0, 218, 194, 16, 0, 161, 98, 160, 0, 144, 250, 205, 0, 97, 84, 208, 0, 245, 184, 142, 0, 113, 171, 241, 0, 190, 226, 70, 0, 208, 177, 33, 0, 15, 83, 190, 0, 79, 163, 27, 0, 36, 92, 168, 0, 246, 156, 227, 0, 148, 2, 32, 0, 103, 66, 135, 0, 27, 31, 209, 0, 101, 210, 76, 0, 184, 142, 118, 0, 193, 196, 245, 0, 75, 98, 241, 0, 186, 50, 54, 0, 69, 64, 65, 0, 3, 97, 142, 0, 80, 47, 152, 0, 42, 223, 1, 0, 118, 77, 184, 0, 88, 75, 145, 0, 218, 136, 57, 0, 194, 194, 165, 0, 148, 247, 229, 0, 99, 134, 238, 0, 183, 90, 5, 0, 251, 209, 24, 0, 51, 77, 142, 0, 43, 182, 252, 0, 44, 226, 83, 0, 122, 139, 217, 0, 159, 181, 58, 0, 8, 163, 102, 0, 137, 170, 163, 0, 53, 101, 186, 0, 174, 19, 83, 0, 52, 225, 22, 0, 57, 21, 48, 0, 0, 90, 216, 0, 151, 52, 140, 0, 106, 43, 232, 0, 57, 192, 89, 0, 71, 52, 219, 0, 206, 183, 151, 0, 147, 248, 34, 0, 5, 183, 124, 0, 129, 144, 106, 0, 113, 211, 86, 0, 0, 211, 101, 0, 242, 152, 37, 0, 245, 168, 15, 0, 181, 94, 186, 0, 95, 121, 249, 0, 152, 218, 22, 0, 155, 170, 188, 0, 216, 167, 238, 0, 79, 148, 202, 0, 18, 2, 123, 0, 221, 122, 130, 0, 52, 136, 203, 0, 191, 6, 205, 0, 223, 184, 109, 0, 22, 187, 160, 0, 114, 159, 81, 0, 190, 162, 218, 0, 151, 30, 61, 0, 109, 144, 144, 0, 149, 130, 216, 0, 185, 128, 172, 0, 35, 47, 197, 0, 10, 249, 4, 0, 105, 192, 106, 0, 86, 249, 14, 0, 113, 140, 202, 0, 165, 43, 81, 0, 109, 70, 107, 0, 248, 39, 211, 0, 71, 206, 95, 0, 244, 125, 182, 0, 74, 70, 230, 0, 31, 45, 163, 0, 160, 168, 92, 0, 248, 133, 162, 0, 74, 122, 25, 0, 101, 79, 98, 0, 151, 66, 246, 0, 99, 105, 126, 0, 168, 232, 250, 0, 101, 6, 57, 0, 222, 180, 160, 0, 50, 161, 18, 0, 167, 187, 68, 0, 0, 133, 158, 0, 66, 216, 37, 0, 231, 63, 41, 0, 208, 13, 110, 0, 68, 152, 200, 0, 58, 125, 17, 0, 151, 227, 234, 0, 16, 89, 122, 0, 173, 234, 28, 0, 246, 133, 94, 0, 229, 166, 180, 0, 132, 166, 123, 0, 116, 111, 213, 0, 47, 187, 234, 0, 123, 102, 16, 0, 166, 154, 243, 0, 238, 252, 173, 0, 164, 106, 77, 0, 63, 153, 37, 0, 16, 38, 17, 0, 175, 104, 23, 0, 21, 102, 216, 0, 252, 63, 28, 0, 15, 179, 145, 0, 159, 218, 131, 0, 43, 36, 87, 0, 132, 21, 34, 0, 151, 193, 15, 0, 112, 63, 164, 0, 232, 139, 246, 0, 228, 242, 124, 0, 50, 172, 114, 0, 237, 57, 84, 0, 83, 0, 222, 0, 249, 121, 166, 0, 206, 223, 36, 0, 58, 153, 35, 0, 136, 145, 113, 0, 246, 129, 230, 0, 103, 71, 196, 0, 80, 111, 173, 0, 201, 128, 74, 0, 163, 179, 111, 0, 253, 116, 173, 0, 99, 16, 221, 0, 121, 43, 146, 0, 89, 39, 179, 0, 11, 105, 71, 0, 79, 153, 69, 0, 4, 82, 72, 0, 149, 33, 167, 0, 246, 117, 237, 0, 35, 162, 250, 0, 78, 198, 95, 0, 222, 183, 11, 0, 226, 102, 243, 0, 12, 80, 96, 0, 35, 141, 58, 0, 72, 162, 154, 0, 114, 23, 112, 0, 181, 2, 224, 0, 34, 129, 131, 0, 90, 149, 17, 0, 45, 80, 182, 0, 250, 126, 84, 0, 143, 184, 23, 0, \ +124, 21, 37, 0, 126, 113, 32, 0, 40, 99, 98, 0, 159, 41, 62, 0, 189, 83, 48, 0, 97, 236, 8, 0, 192, 163, 31, 0, 229, 124, 73, 0, 204, 97, 173, 0, 232, 241, 52, 0, 251, 109, 105, 0, 86, 177, 223, 0, 133, 137, 140, 0, 68, 32, 217, 0, 65, 32, 109, 0, 251, 156, 82, 0, 83, 59, 217, 0, 229, 155, 66, 0, 134, 184, 0, 0, 207, 168, 118, 0, 48, 46, 189, 0, 243, 5, 248, 0, 58, 175, 148, 0, 145, 55, 236, 0, 227, 62, 106, 0, 151, 98, 35, 0, 207, 10, 224, 0, 84, 117, 251, 0, 8, 247, 201, 0, 89, 57, 9, 0, 23, 222, 78, 0, 91, 16, 237, 0, 10, 237, 205, 0, 144, 168, 249, 0, 241, 71, 93, 0, 102, 107, 132, 0, 162, 121, 184, 0, 42, 147, 165, 0, 28, 112, 79, 0, 205, 189, 105, 0, 153, 238, 253, 0, 218, 91, 184, 0, 58, 91, 125, 0, 15, 88, 107, 0, 60, 37, 162, 0, 66, 72, 226, 0, 34, 120, 102, 0, 1, 45, 92, 0, 161, 23, 188, 0, 70, 153, 94, 0, 148, 103, 164, 0, 53, 174, 192, 0, 185, 31, 145, 0, 71, 224, 215, 0, 63, 228, 186, 0, 95, 234, 116, 0, 112, 94, 125, 0, 144, 190, 71, 0, 137, 243, 59, 0, 79, 247, 17, 0, 239, 24, 180, 0, 7, 8, 248, 0, 171, 131, 128, 0, 116, 7, 97, 0, 132, 41, 80, 0, 13, 61, 204, 0, 100, 216, 4, 0, 42, 16, 167, 0, 36, 12, 167, 0, 106, 209, 105, 0, 122, 45, 93, 0, 63, 231, 149, 0, 85, 25, 169, 0, 65, 123, 142, 0, 239, 32, 37, 0, 207, 161, 12, 0, 249, 190, 173, 0, 223, 251, 187, 0, 39, 223, 111, 0, 148, 164, 247, 0, 211, 120, 235, 0, 111, 98, 189, 0, 17, 82, 208, 0, 235, 149, 226, 0, 63, 158, 190, 0, 41, 96, 51, 0, 218, 105, 159, 0, 37, 192, 106, 0, 168, 194, 105, 0, 152, 0, 235, 0, 44, 226, 191, 0, 184, 73, 88, 0, 240, 131, 171, 0, 215, 43, 92, 0, 183, 31, 92, 0, 12, 61, 176, 0, 168, 193, 254, 0, 241, 177, 113, 0, 137, 122, 141, 0, 142, 208, 66, 0, 182, 165, 52, 0, 227, 115, 240, 0, 118, 182, 154, 0, 188, 10, 70, 0, 175, 51, 116, 0, 167, 129, 88, 0, 236, 78, 216, 0, 226, 78, 1, 0, 233, 135, 152, 0, 249, 109, 184, 0, 56, 17, 73, 0, 165, 133, 181, 0, 158, 52, 127, 0, 58, 22, 6, 0, 29, 166, 81, 0, 79, 156, 91, 0, 39, 57, 20, 0, 100, 156, 55, 0, 188, 178, 123, 0, 207, 235, 42, 0, 200, 45, 254, 0, 224, 250, 140, 0, 193, 155, 6, 0, 30, 165, 87, 0, 235, 76, 5, 0, 203, 44, 16, 0, 219, 218, 8, 0, 154, 21, 128, 0, 238, 158, 56, 0, 188, 236, 80, 0, 147, 182, 106, 0, 115, 195, 88, 0, 54, 123, 36, 0, 155, 54, 179, 0, 147, 169, 85, 0, 112, 103, 220, 0, 221, 90, 111, 0, 120, 218, 56, 0, 111, 130, 182, 0, 190, 240, 233, 0, 60, 87, 86, 0, 183, 122, 67, 0, 37, 142, 248, 0, 182, 39, 239, 0, 163, 137, 181, 0, 176, 197, 6, 0, 253, 199, 180, 0, 98, 76, 160, 0, 64, 113, 40, 0, 165, 27, 39, 0, 224, 208, 106, 0, 26, 74, 135, 0, 187, 75, 182, 0, 203, 98, 110, 0, 165, 105, 133, 0, 204, 119, 191, 0, 137, 8, 120, 0, 174, 138, 180, 0, 177, 21, 164, 0, 163, 4, 105, 0, 2, 0, 9, 0, 97, 25, 207, 0, 112, 193, 97, 0, 93, 184, 16, 0, 180, 26, 209, 0, 90, 40, 230, 0, 47, 91, 6, 0, 237, 204, 18, 0, 129, 182, 134, 0, 79, 176, 165, 0, 236, 167, 205, 0, 16, 151, 14, 0, 116, 121, 143, 0, 25, 101, 30, 0, 150, 156, 208, 0, 0, 223, 96, 0, 119, 76, 45, 0, 196, 114, 38, 0, 33, 19, 165, 0, 228, 158, 150, 0, 61, 57, 23, 0, 163, 92, 103, 0, 213, 87, 183, 0, 197, 146, 104, 0, 225, 65, 83, 0, 252, 32, 137, 0, 223, 22, 56, 0, 16, 204, 162, 0, 251, 167, 86, 0, 190, 101, 51, 0, 197, 190, 157, 0, 253, 117, 162, 0, 52, 42, 184, 0, 251, 231, 83, 0, 73, 26, 221, 0, 186, 86, 80, 0, 42, 34, 52, 0, 180, 106, 125, 0, 96, 70, 85, 0, 65, 47, 183, 0, 16, 5, 195, 0, 53, 249, 209, 0, 102, 31, 235, 0, 203, 52, 133, 0, 253, 173, 248, 0, 7, 218, 244, 0, 126, 25, 97, 0, 97, 133, 193, 0, 137, 219, 24, 0, 107, 226, 235, 0, 2, 248, 188, 0, 200, 204, 22, 0, 234, 162, 29, 0, 248, 118, 80, 0, 113, 186, 220, 0, 134, 183, 127, 0, 164, 211, 102, 0, 91, 180, 187, 0, 50, 134, 157, 0, 129, 35, 243, 0, 102, 115, 240, 0, 110, 79, 212, 0, 83, 68, 241, 0, 87, 249, 98, 0, \ +218, 28, 171, 0, 204, 242, 92, 0, 210, 31, 146, 0, 106, 215, 85, 0, 4, 10, 237, 0, 130, 66, 130, 0, 138, 197, 151, 0, 51, 188, 162, 0, 218, 141, 250, 0, 166, 107, 142, 0, 207, 32, 122, 0, 17, 48, 147, 0, 228, 40, 252, 0, 240, 105, 215, 0, 89, 70, 90, 0, 102, 224, 164, 0, 32, 125, 109, 0, 241, 197, 173, 0, 59, 196, 23, 0, 200, 153, 88, 0, 38, 189, 237, 0, 0, 21, 74, 0, 209, 159, 225, 0, 116, 56, 216, 0, 82, 79, 43, 0, 184, 225, 106, 0, 182, 175, 112, 0, 143, 251, 10, 0, 58, 205, 53, 0, 123, 2, 38, 0, 80, 178, 187, 0, 225, 61, 196, 0, 245, 159, 206, 0, 108, 218, 93, 0, 198, 248, 51, 0, 118, 231, 127, 0, 89, 68, 29, 0, 59, 162, 216, 0, 48, 51, 237, 0, 193, 212, 69, 0, 188, 32, 68, 0, 230, 140, 81, 0, 95, 112, 228, 0, 208, 159, 251, 0, 130, 197, 119, 0, 233, 27, 10, 0, 157, 171, 60, 0, 203, 68, 226, 0, 61, 41, 45, 0, 178, 22, 151, 0, 253, 44, 72, 0, 140, 191, 228, 0, 194, 213, 91, 0, 6, 136, 118, 0, 156, 117, 170, 0, 116, 245, 1, 0, 89, 159, 221, 0, 21, 141, 180, 0, 247, 112, 230, 0, 55, 118, 36, 0, 204, 51, 138, 0, 188, 65, 93, 0, 201, 159, 254, 0, 43, 101, 228, 0, 252, 163, 14, 0, 3, 158, 166, 0, 33, 78, 161, 0, 227, 228, 91, 0, 134, 139, 92, 0, 154, 92, 54, 0, 80, 17, 233, 0, 148, 233, 203, 0, 7, 74, 66, 0, 124, 219, 248, 0, 204, 114, 80, 0, 118, 69, 73, 0, 7, 135, 27, 0, 106, 80, 237, 0, 15, 120, 240, 0, 129, 229, 93, 0, 153, 186, 100, 0, 253, 152, 157, 0, 141, 49, 33, 0, 118, 178, 245, 0, 17, 83, 68, 0, 202, 249, 61, 0, 234, 90, 174, 0, 166, 236, 213, 0, 115, 253, 239, 0, 196, 47, 34, 0, 206, 169, 124, 0, 227, 221, 232, 0, 115, 186, 137, 0, 236, 84, 164, 0, 219, 122, 54, 0, 145, 179, 178, 0, 51, 117, 25, 0, 141, 239, 61, 0, 122, 178, 232, 0, 78, 25, 55, 0, 191, 172, 66, 0, 231, 195, 193, 0, 241, 21, 132, 0, 165, 11, 25, 0, 102, 55, 125, 0, 88, 222, 158, 0, 52, 145, 77, 0, 28, 84, 112, 0, 231, 43, 13, 0, 116, 189, 61, 0, 144, 87, 213, 0, 194, 0, 213, 0, 124, 16, 241, 0, 159, 222, 29, 0, 133, 42, 202, 0, 252, 5, 226, 0, 227, 97, 97, 0, 45, 147, 226, 0, 159, 88, 154, 0, 7, 137, 217, 0, 121, 211, 246, 0, 97, 78, 98, 0, 136, 49, 242, 0, 224, 192, 176, 0, 54, 4, 53, 0, 87, 100, 150, 0, 108, 211, 106, 0, 240, 159, 24, 0, 209, 214, 127, 0, 97, 219, 227, 0, 211, 86, 116, 0, 137, 236, 12, 0, 164, 61, 49, 0, 210, 75, 86, 0, 97, 165, 12, 0, 241, 27, 176, 0, 71, 13, 140, 0, 217, 151, 221, 0, 202, 59, 49, 0, 184, 28, 53, 0, 64, 13, 192, 0, 165, 232, 244, 0, 178, 224, 154, 0, 20, 226, 24, 0, 173, 224, 37, 0, 104, 102, 190, 0, 250, 226, 179, 0, 66, 226, 105, 0, 142, 180, 123, 0, 82, 121, 132, 0, 198, 127, 127, 0, 50, 59, 244, 0, 16, 69, 157, 0, 0, 166, 54, 0, 121, 247, 142, 0, 0, 23, 203, 0, 130, 59, 85, 0, 168, 165, 4, 0, 107, 115, 73, 0, 84, 36, 58, 0, 55, 84, 113, 0, 56, 132, 254, 0, 146, 107, 239, 0, 220, 202, 130, 0, 184, 90, 219, 0, 35, 207, 106, 0, 222, 123, 122, 0, 109, 186, 193, 0, 148, 94, 117, 0, 192, 125, 104, 0, 253, 183, 79, 0, 253, 2, 50, 0, 146, 176, 194, 0, 190, 234, 227, 0, 158, 91, 90, 0, 110, 136, 199, 0, 106, 90, 174, 0, 240, 181, 234, 0, 52, 247, 239, 0, 108, 246, 200, 0, 238, 150, 147, 0, 48, 0, 87, 0, 144, 209, 88, 0, 90, 18, 65, 0, 210, 252, 45, 0, 71, 94, 22, 0, 72, 206, 122, 0, 30, 21, 55, 0, 30, 48, 225, 0, 227, 137, 152, 0, 137, 102, 37, 0, 126, 32, 88, 0, 245, 153, 80, 0, 42, 191, 116, 0, 128, 5, 191, 0, 125, 163, 67, 0, 72, 186, 154, 0, 77, 140, 5, 0, 221, 63, 17, 0, 149, 216, 233, 0, 69, 191, 184, 0, 249, 43, 42, 0, 26, 36, 38, 0, 101, 2, 154, 0, 253, 240, 150, 0, 113, 128, 88, 0, 110, 250, 253, 0, 151, 235, 98, 0, 219, 82, 246, 0, 100, 221, 179, 0, 246, 244, 63, 0, 215, 180, 7, 0, 25, 198, 211, 0, 181, 214, 200, 0, 214, 110, 52, 0, 125, 7, 202, 0, 245, 57, 249, 0, 124, 237, 129, 0, 165, 44, 183, 0, 47, 127, 209, 0, 201, 47, 103, 0, 43, 224, 146, 0, 217, 102, 127, 0, 189, 36, 12, 0, \ +217, 125, 38, 0, 179, 105, 64, 0, 108, 83, 236, 0, 59, 68, 126, 0, 7, 117, 140, 0, 243, 163, 111, 0, 166, 39, 161, 0, 152, 191, 60, 0, 22, 203, 211, 0, 111, 48, 93, 0, 8, 137, 187, 0, 94, 250, 55, 0, 238, 221, 112, 0, 143, 93, 99, 0, 197, 58, 25, 0, 164, 225, 71, 0, 235, 127, 144, 0, 61, 7, 104, 0, 152, 90, 204, 0, 218, 130, 216, 0, 72, 117, 239, 0, 142, 105, 67, 0, 53, 229, 228, 0, 63, 172, 115, 0, 189, 244, 10, 0, 110, 65, 247, 0, 52, 59, 89, 0, 228, 232, 10, 0, 197, 220, 177, 0, 185, 51, 90, 0, 167, 32, 146, 0, 247, 108, 171, 0, 229, 108, 171, 0, 31, 90, 53, 0, 20, 62, 88, 0, 92, 141, 25, 0, 30, 101, 120, 0, 140, 121, 245, 0, 55, 223, 182, 0, 60, 62, 50, 0, 159, 236, 143, 0, 209, 201, 72, 0, 232, 128, 56, 0, 28, 104, 32, 0, 19, 148, 184, 0, 110, 96, 160, 0, 1, 185, 245, 0, 57, 104, 192, 0, 220, 62, 86, 0, 119, 62, 227, 0, 246, 44, 48, 0, 185, 113, 88, 0, 162, 177, 157, 0, 215, 252, 183, 0, 226, 30, 150, 0, 4, 104, 202, 0, 249, 75, 187, 0, 56, 253, 138, 0, 105, 200, 158, 0, 19, 73, 196, 0, 223, 86, 136, 0, 42, 127, 74, 0, 11, 53, 203, 0, 41, 208, 69, 0, 171, 55, 141, 0, 176, 93, 150, 0, 9, 75, 226, 0, 61, 226, 252, 0, 211, 21, 246, 0, 139, 220, 219, 0, 217, 188, 43, 0, 187, 168, 115, 0, 190, 4, 72, 0, 224, 232, 89, 0, 188, 165, 113, 0, 38, 121, 120, 0, 69, 248, 54, 0, 137, 65, 85, 0, 242, 42, 116, 0, 216, 47, 80, 0, 54, 72, 252, 0, 190, 62, 37, 0, 199, 64, 8, 0, 102, 69, 102, 0, 167, 164, 181, 0, 61, 204, 80, 0, 186, 170, 97, 0, 115, 232, 1, 0, 86, 170, 147, 0, 6, 209, 21, 0, 97, 155, 18, 0, 113, 24, 156, 0, 179, 101, 99, 0, 22, 7, 247, 0, 133, 40, 165, 0, 201, 61, 93, 0, 13, 115, 182, 0, 203, 209, 40, 0, 48, 139, 59, 0, 59, 94, 250, 0, 105, 44, 35, 0, 145, 42, 245, 0, 183, 42, 50, 0, 20, 118, 27, 0, 231, 129, 221, 0, 180, 97, 92, 0, 14, 198, 170, 0, 211, 205, 147, 0, 173, 128, 102, 0, 176, 242, 117, 0, 212, 94, 80, 0, 182, 41, 142, 0, 76, 153, 91, 0, 61, 132, 140, 0, 104, 221, 167, 0, 65, 241, 179, 0, 95, 64, 81, 0, 116, 110, 229, 0, 218, 124, 17, 0, 45, 161, 147, 0, 141, 216, 238, 0, 95, 73, 58, 0, 95, 124, 248, 0, 49, 87, 171, 0, 33, 194, 181, 0, 62, 141, 244, 0, 107, 110, 113, 0, 127, 75, 197, 0, 104, 83, 141, 0, 207, 111, 203, 0, 30, 60, 239, 0, 219, 3, 82, 0, 87, 144, 181, 0, 107, 113, 23, 0, 141, 78, 80, 0, 70, 92, 249, 0, 214, 170, 243, 0, 148, 78, 237, 0, 33, 59, 235, 0, 227, 85, 114, 0, 254, 244, 21, 0, 156, 8, 203, 0, 80, 33, 161, 0, 30, 99, 87, 0, 151, 164, 173, 0, 32, 104, 126, 0, 147, 142, 241, 0, 44, 12, 100, 0, 79, 10, 84, 0, 46, 220, 211, 0, 101, 233, 50, 0, 201, 142, 51, 0, 57, 110, 6, 0, 170, 5, 81, 0, 79, 40, 167, 0, 5, 96, 0, 0, 135, 119, 105, 0, 211, 31, 117, 0, 213, 155, 121, 0, 154, 151, 37, 0, 95, 164, 209, 0, 226, 158, 237, 0, 136, 35, 48, 0, 212, 98, 240, 0, 233, 58, 12, 0, 164, 153, 155, 0, 19, 133, 184, 0, 68, 189, 225, 0, 253, 7, 116, 0, 134, 172, 172, 0, 167, 158, 81, 0, 13, 14, 137, 0, 72, 75, 11, 0, 174, 69, 76, 0, 108, 12, 57, 0, 89, 12, 161, 0, 193, 229, 140, 0, 8, 193, 116, 0, 2, 39, 70, 0, 159, 244, 29, 0, 128, 175, 165, 0, 83, 183, 31, 0, 114, 90, 235, 0, 52, 64, 232, 0, 116, 154, 243, 0, 198, 131, 202, 0, 96, 201, 223, 0, 140, 215, 178, 0, 46, 239, 50, 0, 64, 117, 204, 0, 4, 1, 227, 0, 213, 55, 24, 0, 22, 226, 151, 0, 51, 145, 79, 0, 182, 61, 122, 0, 122, 101, 116, 0, 74, 119, 6, 0, 23, 11, 150, 0, 95, 128, 96, 0, 252, 105, 105, 0, 238, 33, 63, 0, 119, 16, 210, 0, 86, 250, 53, 0, 104, 235, 238, 0, 65, 191, 251, 0, 209, 11, 57, 0, 48, 109, 200, 0, 104, 201, 106, 0, 92, 84, 148, 0, 115, 185, 62, 0, 129, 162, 104, 0, 76, 19, 63, 0, 33, 41, 88, 0, 11, 114, 204, 0, 18, 133, 236, 0, 224, 24, 156, 0, 29, 193, 64, 0, 237, 192, 12, 0, 137, 91, 140, 0, 16, 139, 62, 0, 207, 41, 167, 0, 206, 6, 142, 0, 221, 205, 145, 0, 61, 163, 171, 0, \ +3, 252, 212, 0, 189, 249, 185, 0, 91, 72, 43, 0, 53, 97, 45, 0, 218, 159, 101, 0, 110, 2, 75, 0, 82, 247, 228, 0, 25, 78, 248, 0, 197, 102, 11, 0, 174, 48, 231, 0, 228, 148, 167, 0, 170, 115, 149, 0, 138, 48, 141, 0, 57, 3, 142, 0, 81, 31, 78, 0, 92, 169, 94, 0, 157, 156, 148, 0, 117, 125, 146, 0, 211, 28, 220, 0, 19, 26, 228, 0, 140, 45, 59, 0, 156, 97, 189, 0, 22, 196, 119, 0, 186, 168, 129, 0, 175, 170, 233, 0, 190, 39, 7, 0, 7, 182, 54, 0, 1, 41, 234, 0, 27, 52, 9, 0, 85, 232, 164, 0, 91, 119, 143, 0, 206, 195, 144, 0, 249, 200, 82, 0, 53, 208, 192, 0, 132, 23, 185, 0, 80, 81, 60, 0, 15, 211, 192, 0, 114, 87, 46, 0, 3, 63, 224, 0, 8, 168, 88, 0, 245, 199, 173, 0, 187, 242, 12, 0, 253, 20, 201, 0, 125, 136, 133, 0, 252, 181, 241, 0, 230, 18, 10, 0, 55, 248, 138, 0, 66, 73, 207, 0, 157, 73, 29, 0, 87, 244, 214, 0, 37, 64, 197, 0, 124, 114, 124, 0, 104, 6, 80, 0, 58, 146, 129, 0, 132, 67, 21, 0, 110, 166, 178, 0, 191, 65, 253, 0, 149, 201, 145, 0, 230, 236, 171, 0, 174, 222, 251, 0, 139, 249, 197, 0, 96, 170, 222, 0, 22, 94, 244, 0, 184, 167, 7, 0, 235, 35, 134, 0, 221, 23, 157, 0, 147, 80, 226, 0, 141, 247, 11, 0, 120, 175, 43, 0, 217, 72, 158, 0, 218, 212, 113, 0, 32, 157, 195, 0, 84, 224, 194, 0, 179, 241, 240, 0, 158, 248, 167, 0, 151, 199, 211, 0, 207, 160, 213, 0, 198, 6, 4, 0, 2, 63, 186, 0, 111, 41, 102, 0, 12, 182, 227, 0, 27, 28, 211, 0, 124, 248, 64, 0, 26, 112, 59, 0, 20, 145, 220, 0, 119, 2, 59, 0, 39, 13, 179, 0, 190, 44, 209, 0, 109, 108, 102, 0, 69, 31, 86, 0, 141, 166, 63, 0, 15, 216, 157, 0, 95, 225, 82, 0, 181, 101, 6, 0, 124, 71, 98, 0, 91, 57, 230, 0, 244, 147, 73, 0, 157, 236, 154, 0, 116, 110, 13, 0, 197, 212, 35, 0, 20, 106, 149, 0, 168, 155, 239, 0, 192, 47, 199, 0, 94, 144, 200, 0, 148, 57, 153, 0, 130, 238, 114, 0, 82, 69, 150, 0, 3, 209, 199, 0, 94, 176, 137, 0, 212, 108, 127, 0, 156, 164, 83, 0, 37, 179, 143, 0, 125, 98, 106, 0, 47, 84, 85, 0, 87, 169, 199, 0, 16, 207, 91, 0, 38, 75, 191, 0, 92, 174, 61, 0, 62, 36, 148, 0, 17, 194, 231, 0, 161, 206, 25, 0, 209, 163, 164, 0, 27, 227, 159, 0, 242, 104, 206, 0, 53, 154, 79, 0, 35, 14, 192, 0, 253, 152, 132, 0, 138, 78, 165, 0, 3, 52, 26, 0, 143, 169, 173, 0, 73, 46, 80, 0, 194, 191, 3, 0, 78, 169, 30, 0, 249, 161, 52, 0, 125, 88, 118, 0, 51, 159, 143, 0, 29, 74, 156, 0, 41, 87, 68, 0, 31, 199, 187, 0, 160, 186, 189, 0, 5, 203, 79, 0, 65, 132, 135, 0, 211, 182, 61, 0, 86, 117, 81, 0, 173, 55, 137, 0, 238, 232, 120, 0, 153, 14, 243, 0, 154, 188, 178, 0, 5, 208, 217, 0, 117, 131, 36, 0, 197, 47, 191, 0, 20, 8, 164, 0, 106, 18, 62, 0, 198, 50, 194, 0, 41, 226, 138, 0, 242, 241, 196, 0, 150, 81, 72, 0, 243, 133, 243, 0, 141, 57, 71, 0, 244, 106, 97, 0, 221, 38, 42, 0, 86, 7, 189, 0, 45, 145, 152, 0, 149, 59, 110, 0, 48, 91, 39, 0, 21, 154, 135, 0, 118, 77, 241, 0, 33, 234, 40, 0, 167, 7, 112, 0, 187, 211, 83, 0, 56, 108, 129, 0, 27, 117, 127, 0, 215, 49, 181, 0, 64, 134, 60, 0, 64, 94, 7, 0, 239, 102, 216, 0, 80, 85, 252, 0, 99, 160, 33, 0, 102, 49, 37, 0, 191, 247, 183, 0, 91, 167, 90, 0, 125, 203, 179, 0, 199, 104, 65, 0, 127, 251, 186, 0, 185, 85, 220, 0, 209, 203, 223, 0, 99, 170, 43, 0, 250, 111, 176, 0, 2, 248, 17, 0, 133, 36, 184, 0, 191, 189, 19, 0, 180, 111, 21, 0, 160, 117, 61, 0, 44, 171, 29, 0, 206, 161, 163, 0, 236, 182, 33, 0, 109, 19, 67, 0, 210, 59, 181, 0, 118, 114, 101, 0, 25, 149, 157, 0, 118, 209, 102, 0, 113, 125, 122, 0, 210, 184, 116, 0, 118, 230, 40, 0, 173, 249, 40, 0, 91, 223, 19, 0, 131, 193, 99, 0, 103, 151, 125, 0, 115, 201, 80, 0, 55, 90, 190, 0, 119, 241, 126, 0, 196, 172, 221, 0, 107, 216, 35, 0, 141, 92, 150, 0, 25, 227, 90, 0, 130, 135, 139, 0, 68, 159, 28, 0, 101, 227, 155, 0, 4, 174, 38, 0, 137, 47, 59, 0, 196, 236, 116, 0, 7, 2, 95, 0, 122, 226, 109, 0, 240, 129, 175, 0, \ +112, 95, 6, 0, 251, 129, 111, 0, 58, 127, 102, 0, 246, 125, 160, 0, 90, 188, 197, 0, 32, 34, 227, 0, 17, 110, 14, 0, 203, 180, 152, 0, 185, 240, 8, 0, 237, 182, 117, 0, 109, 139, 48, 0, 143, 117, 51, 0, 153, 29, 222, 0, 76, 38, 200, 0, 83, 159, 2, 0, 237, 240, 38, 0, 14, 5, 55, 0, 63, 209, 244, 0, 211, 86, 64, 0, 22, 135, 37, 0, 172, 154, 9, 0, 151, 12, 231, 0, 227, 176, 139, 0, 45, 239, 199, 0, 32, 193, 232, 0, 215, 102, 129, 0, 168, 211, 243, 0, 194, 110, 198, 0, 111, 66, 68, 0, 138, 84, 20, 0, 121, 155, 138, 0, 202, 190, 38, 0, 216, 44, 93, 0, 42, 100, 102, 0, 92, 153, 120, 0, 17, 126, 158, 0, 2, 102, 206, 0, 161, 162, 229, 0, 219, 187, 239, 0, 23, 179, 36, 0, 11, 47, 206, 0, 88, 105, 12, 0, 59, 7, 185, 0, 68, 125, 31, 0, 168, 145, 65, 0, 157, 2, 37, 0, 58, 152, 117, 0, 115, 83, 79, 0, 25, 129, 116, 0, 165, 207, 61, 0, 148, 90, 1, 0, 232, 138, 46, 0, 80, 178, 56, 0, 41, 166, 50, 0, 68, 172, 128, 0, 142, 75, 206, 0, 80, 83, 166, 0, 8, 46, 90, 0, 137, 36, 224, 0, 175, 109, 174, 0, 114, 40, 240, 0, 65, 144, 215, 0, 178, 209, 238, 0, 117, 81, 111, 0, 59, 181, 50, 0, 8, 37, 140, 0, 31, 184, 2, 0, 134, 229, 239, 0, 160, 28, 2, 0, 156, 177, 203, 0, 72, 137, 94, 0, 97, 224, 194, 0, 120, 128, 170, 0, 254, 79, 180, 0, 102, 109, 208, 0, 126, 231, 224, 0, 213, 254, 89, 0, 90, 95, 1, 0, 114, 165, 182, 0, 15, 248, 124, 0, 133, 250, 190, 0, 198, 90, 238, 0, 46, 167, 151, 0, 18, 165, 50, 0, 252, 213, 19, 0, 48, 113, 106, 0, 121, 125, 17, 0, 235, 153, 64, 0, 172, 5, 3, 0, 218, 4, 150, 0, 197, 45, 143, 0, 204, 52, 1, 0, 95, 192, 69, 0, 148, 154, 111, 0, 229, 39, 178, 0, 161, 141, 193, 0, 139, 231, 94, 0, 130, 149, 141, 0, 10, 58, 149, 0, 31, 229, 106, 0, 125, 246, 247, 0, 173, 56, 10, 0, 31, 160, 216, 0, 175, 174, 186, 0, 65, 233, 130, 0, 16, 111, 224, 0, 217, 204, 95, 0, 4, 50, 232, 0, 111, 213, 174, 0, 64, 117, 183, 0, 73, 5, 103, 0, 222, 72, 167, 0, 76, 167, 20, 0, 21, 73, 106, 0, 39, 82, 200, 0, 49, 117, 222, 0, 149, 170, 45, 0, 51, 55, 99, 0, 58, 153, 194, 0, 32, 197, 26, 0, 129, 179, 73, 0, 216, 14, 79, 0, 181, 211, 110, 0, 135, 191, 104, 0, 215, 117, 186, 0, 74, 116, 153, 0, 31, 116, 91, 0, 118, 16, 102, 0, 206, 61, 189, 0, 252, 219, 254, 0, 219, 186, 224, 0, 142, 104, 98, 0, 228, 125, 142, 0, 20, 66, 69, 0, 114, 92, 28, 0, 187, 103, 26, 0, 2, 193, 66, 0, 172, 125, 124, 0, 216, 86, 243, 0, 12, 244, 194, 0, 97, 101, 65, 0, 253, 212, 223, 0, 35, 161, 218, 0, 117, 68, 237, 0, 41, 189, 51, 0, 218, 17, 134, 0, 165, 129, 116, 0, 28, 205, 11, 0, 98, 207, 67, 0, 16, 136, 118, 0, 176, 159, 89, 0, 154, 189, 126, 0, 55, 229, 145, 0, 86, 252, 241, 0, 236, 232, 175, 0, 107, 63, 129, 0, 242, 131, 85, 0, 0, 24, 17, 0, 212, 139, 20, 0, 120, 101, 190, 0, 164, 59, 217, 0, 32, 187, 96, 0, 174, 232, 139, 0, 133, 88, 24, 0, 29, 66, 72, 0, 162, 146, 59, 0, 3, 135, 144, 0, 16, 137, 170, 0, 212, 48, 196, 0, 161, 180, 185, 0, 26, 154, 121, 0, 172, 70, 151, 0, 60, 90, 148, 0, 104, 79, 230, 0, 146, 229, 227, 0, 17, 102, 23, 0, 73, 22, 224, 0, 38, 203, 192, 0, 37, 124, 243, 0, 78, 141, 92, 0, 157, 82, 120, 0, 193, 142, 163, 0, 244, 212, 79, 0, 22, 215, 145, 0, 63, 169, 196, 0, 251, 81, 221, 0, 64, 78, 217, 0, 231, 6, 28, 0, 24, 246, 111, 0, 46, 240, 56, 0, 63, 200, 241, 0, 70, 45, 183, 0, 203, 164, 144, 0, 63, 51, 179, 0, 240, 2, 80, 0, 31, 212, 164, 0, 9, 147, 12, 0, 157, 47, 35, 0, 51, 200, 0, 0, 252, 241, 108, 0, 246, 195, 28, 0, 101, 33, 135, 0, 126, 233, 213, 0, 95, 91, 92, 0, 235, 32, 101, 0, 174, 34, 228, 0, 182, 141, 153, 0, 113, 140, 247, 0, 250, 25, 85, 0, 104, 196, 24, 0, 90, 50, 225, 0, 210, 229, 49, 0, 130, 5, 235, 0, 47, 12, 194, 0, 107, 102, 70, 0, 251, 4, 30, 0, 15, 50, 3, 0, 96, 47, 235, 0, 224, 204, 42, 0, 52, 205, 17, 0, 158, 147, 163, 0, 4, 246, 60, 0, 239, 212, 47, 0, 164, 25, 228, 0, \ +4, 55, 35, 0, 231, 106, 119, 0, 41, 177, 78, 0, 244, 43, 1, 0, 95, 162, 206, 0, 46, 209, 241, 0, 235, 63, 63, 0, 30, 39, 182, 0, 205, 23, 126, 0, 37, 81, 139, 0, 201, 234, 83, 0, 131, 4, 233, 0, 221, 217, 105, 0, 225, 86, 148, 0, 210, 164, 67, 0, 136, 92, 189, 0, 197, 173, 8, 0, 138, 135, 199, 0, 246, 66, 51, 0, 152, 89, 10, 0, 169, 54, 176, 0, 9, 167, 86, 0, 4, 135, 177, 0, 197, 75, 93, 0, 24, 124, 63, 0, 16, 57, 73, 0, 213, 44, 242, 0, 195, 58, 231, 0, 189, 183, 246, 0, 229, 185, 169, 0, 112, 223, 223, 0, 184, 55, 132, 0, 67, 175, 31, 0, 33, 73, 202, 0, 155, 235, 237, 0, 75, 60, 53, 0, 6, 95, 48, 0, 115, 199, 152, 0, 34, 90, 228, 0, 96, 162, 214, 0, 119, 225, 120, 0, 180, 135, 12, 0, 244, 63, 176, 0, 254, 8, 205, 0, 92, 44, 221, 0, 219, 126, 215, 0, 180, 155, 49, 0, 54, 180, 44, 0, 133, 138, 36, 0, 170, 192, 157, 0, 150, 74, 55, 0, 51, 23, 16, 0, 6, 249, 125, 0, 31, 83, 238, 0, 190, 68, 196, 0, 21, 14, 12, 0, 175, 96, 27, 0, 48, 4, 248, 0, 80, 129, 206, 0, 91, 56, 200, 0, 208, 32, 67, 0, 55, 89, 19, 0, 53, 57, 184, 0, 249, 40, 246, 0, 138, 85, 125, 0, 5, 254, 124, 0, 245, 52, 235, 0, 105, 245, 126, 0, 172, 24, 244, 0, 218, 146, 89, 0, 129, 131, 130, 0, 180, 41, 97, 0, 102, 41, 2, 0, 165, 96, 182, 0, 23, 229, 116, 0, 152, 225, 254, 0, 76, 148, 72, 0, 28, 27, 1, 0, 139, 126, 70, 0, 11, 116, 22, 0, 57, 186, 88, 0, 188, 225, 165, 0, 166, 211, 89, 0, 121, 37, 79, 0, 156, 75, 115, 0, 122, 54, 16, 0, 83, 199, 199, 0, 26, 236, 187, 0, 171, 251, 202, 0, 99, 37, 131, 0, 219, 69, 84, 0, 99, 208, 8, 0, 71, 153, 1, 0, 130, 200, 42, 0, 217, 22, 18, 0, 49, 154, 184, 0, 22, 184, 80, 0, 121, 5, 184, 0, 231, 150, 189, 0, 114, 115, 90, 0, 161, 205, 45, 0, 203, 251, 187, 0, 161, 95, 38, 0, 99, 169, 189, 0, 97, 15, 152, 0, 115, 197, 125, 0, 75, 48, 68, 0, 16, 99, 226, 0, 152, 106, 249, 0, 137, 163, 113, 0, 232, 84, 100, 0, 33, 77, 20, 0, 144, 19, 78, 0, 5, 40, 7, 0, 70, 194, 72, 0, 57, 125, 183, 0, 56, 223, 114, 0, 114, 115, 122, 0, 59, 158, 203, 0, 56, 28, 104, 0, 93, 145, 169, 0, 240, 22, 30, 0, 127, 69, 223, 0, 93, 116, 211, 0, 104, 242, 30, 0, 244, 13, 22, 0, 153, 187, 58, 0, 33, 173, 78, 0, 239, 122, 252, 0, 219, 10, 56, 0, 88, 117, 111, 0, 189, 229, 64, 0, 80, 3, 119, 0, 120, 247, 213, 0, 252, 134, 221, 0, 99, 100, 231, 0, 39, 162, 56, 0, 249, 198, 82, 0, 202, 49, 11, 0, 182, 21, 5, 0, 4, 18, 17, 0, 12, 242, 224, 0, 33, 40, 157, 0, 103, 234, 252, 0, 230, 213, 183, 0, 51, 116, 25, 0, 154, 102, 106, 0, 114, 170, 220, 0, 180, 33, 37, 0, 194, 225, 118, 0, 187, 59, 248, 0, 98, 74, 241, 0, 250, 93, 8, 0, 81, 250, 57, 0, 35, 134, 211, 0, 188, 55, 106, 0, 212, 47, 39, 0, 146, 55, 185, 0, 89, 2, 180, 0, 193, 189, 14, 0, 166, 90, 27, 0, 243, 185, 179, 0, 211, 56, 38, 0, 15, 112, 176, 0, 179, 53, 212, 0, 92, 42, 185, 0, 6, 209, 74, 0, 131, 83, 177, 0, 7, 42, 195, 0, 74, 41, 230, 0, 132, 81, 210, 0, 229, 65, 130, 0, 239, 204, 136, 0, 61, 135, 208, 0, 173, 39, 64, 0, 186, 43, 142, 0, 41, 188, 152, 0, 184, 122, 52, 0, 235, 127, 238, 0, 12, 87, 254, 0, 114, 83, 23, 0, 166, 241, 92, 0, 232, 239, 72, 0, 111, 58, 100, 0, 8, 165, 182, 0, 123, 61, 116, 0, 4, 8, 146, 0, 175, 136, 142, 0, 113, 69, 250, 0, 69, 231, 230, 0, 11, 164, 109, 0, 31, 46, 193, 0, 247, 63, 144, 0, 158, 61, 119, 0, 223, 35, 13, 0, 198, 58, 10, 0, 91, 122, 27, 0, 164, 250, 87, 0, 200, 94, 140, 0, 124, 23, 104, 0, 91, 20, 218, 0, 246, 54, 107, 0, 177, 244, 128, 0, 239, 220, 67, 0, 142, 233, 77, 0, 174, 0, 110, 0, 47, 14, 171, 0, 124, 97, 115, 0, 45, 66, 111, 0, 225, 110, 125, 0, 231, 119, 148, 0, 41, 149, 75, 0, 148, 228, 87, 0, 214, 125, 56, 0, 166, 139, 142, 0, 251, 180, 52, 0, 68, 45, 144, 0, 140, 170, 182, 0, 213, 191, 180, 0, 140, 139, 65, 0, 254, 211, 243, 0, 46, 216, 57, 0, 32, 66, 62, 0, 34, 88, 50, 0, \ +33, 146, 69, 0, 100, 7, 205, 0, 106, 30, 241, 0, 179, 129, 32, 0, 181, 159, 9, 0, 34, 192, 12, 0, 147, 10, 57, 0, 218, 128, 232, 0, 41, 248, 153, 0, 216, 212, 228, 0, 2, 48, 83, 0, 161, 80, 3, 0, 160, 102, 225, 0, 113, 157, 90, 0, 83, 170, 168, 0, 92, 90, 148, 0, 107, 218, 241, 0, 238, 206, 144, 0, 161, 163, 36, 0, 86, 122, 252, 0, 143, 47, 91, 0, 44, 207, 84, 0, 176, 247, 45, 0, 145, 205, 53, 0, 105, 240, 6, 0, 236, 62, 203, 0, 15, 83, 102, 0, 221, 251, 217, 0, 248, 35, 128, 0, 168, 106, 77, 0, 54, 121, 93, 0, 240, 46, 154, 0, 179, 145, 182, 0, 33, 62, 216, 0, 31, 35, 63, 0, 219, 191, 144, 0, 50, 133, 204, 0, 152, 16, 49, 0, 77, 39, 154, 0, 125, 146, 63, 0, 29, 53, 20, 0, 0, 73, 85, 0, 32, 119, 155, 0, 10, 113, 163, 0, 238, 27, 146, 0, 37, 118, 95, 0, 226, 22, 102, 0, 129, 102, 155, 0, 90, 40, 186, 0, 139, 193, 45, 0, 180, 153, 104, 0, 149, 246, 49, 0, 191, 6, 239, 0, 50, 210, 144, 0, 11, 125, 38, 0, 230, 14, 254, 0, 220, 131, 121, 0, 130, 164, 48, 0, 187, 52, 155, 0, 30, 95, 70, 0, 62, 118, 177, 0, 241, 37, 201, 0, 197, 148, 159, 0, 219, 203, 207, 0, 220, 86, 87, 0, 196, 161, 112, 0, 157, 249, 115, 0, 9, 76, 171, 0, 120, 201, 115, 0, 158, 112, 148, 0, 246, 190, 131, 0, 29, 80, 80, 0, 108, 218, 248, 0, 168, 102, 63, 0, 180, 204, 252, 0, 160, 25, 202, 0, 233, 162, 27, 0, 208, 134, 40, 0, 25, 159, 137, 0, 146, 165, 226, 0, 179, 160, 15, 0, 209, 47, 16, 0, 237, 239, 196, 0, 204, 158, 52, 0, 242, 5, 64, 0, 176, 171, 248, 0, 54, 39, 54, 0, 45, 171, 233, 0, 239, 62, 27, 0, 21, 104, 254, 0, 168, 184, 40, 0, 120, 196, 28, 0, 126, 247, 42, 0, 3, 80, 167, 0, 213, 125, 60, 0, 15, 112, 235, 0, 233, 158, 73, 0, 139, 39, 32, 0, 246, 60, 224, 0, 156, 97, 225, 0, 136, 185, 31, 0, 0, 110, 41, 0, 243, 0, 45, 0, 116, 45, 184, 0, 182, 15, 11, 0, 168, 134, 126, 0, 59, 21, 202, 0, 57, 99, 139, 0, 70, 136, 147, 0, 207, 191, 2, 0, 245, 67, 74, 0, 68, 17, 51, 0, 110, 88, 181, 0, 128, 192, 26, 0, 17, 249, 54, 0, 144, 97, 219, 0, 172, 210, 222, 0, 90, 198, 204, 0, 76, 83, 60, 0, 170, 20, 187, 0, 96, 242, 254, 0, 244, 102, 42, 0, 159, 191, 86, 0, 50, 168, 113, 0, 151, 135, 194, 0, 16, 209, 185, 0, 141, 137, 134, 0, 145, 237, 107, 0, 61, 44, 10, 0, 133, 163, 162, 0, 80, 74, 224, 0, 236, 45, 108, 0, 249, 67, 235, 0, 161, 11, 190, 0, 163, 151, 225, 0, 173, 206, 128, 0, 179, 57, 188, 0, 183, 241, 254, 0, 140, 201, 249, 0, 133, 224, 186, 0, 231, 120, 30, 0, 39, 124, 242, 0, 94, 223, 189, 0, 153, 132, 170, 0, 107, 252, 41, 0, 31, 128, 88, 0, 109, 36, 182, 0, 13, 250, 166, 0, 152, 214, 0, 0, 31, 23, 135, 0, 108, 143, 58, 0, 38, 244, 210, 0, 185, 194, 153, 0, 112, 252, 112, 0, 146, 129, 92, 0, 77, 184, 218, 0, 14, 197, 33, 0, 149, 125, 102, 0, 131, 95, 201, 0, 134, 253, 132, 0, 167, 94, 11, 0, 47, 111, 195, 0, 216, 36, 158, 0, 99, 75, 73, 0, 159, 136, 162, 0, 129, 67, 74, 0, 169, 75, 70, 0, 5, 1, 150, 0, 198, 211, 47, 0, 99, 214, 23, 0, 185, 71, 238, 0, 229, 174, 89, 0, 176, 41, 124, 0, 163, 162, 50, 0, 247, 202, 171, 0, 12, 125, 244, 0, 60, 206, 151, 0, 118, 80, 166, 0, 230, 157, 144, 0, 113, 178, 53, 0, 221, 214, 176, 0, 195, 2, 159, 0, 35, 180, 247, 0, 56, 44, 134, 0, 112, 210, 200, 0, 116, 22, 27, 0, 243, 55, 225, 0, 60, 102, 134, 0, 26, 26, 74, 0, 113, 24, 234, 0, 101, 19, 96, 0, 32, 161, 70, 0, 2, 235, 104, 0, 116, 148, 63, 0, 142, 99, 98, 0, 156, 146, 208, 0, 33, 51, 152, 0, 70, 44, 23, 0, 119, 254, 199, 0, 155, 196, 127, 0, 218, 58, 64, 0, 204, 3, 161, 0, 106, 104, 254, 0, 20, 229, 232, 0, 242, 96, 201, 0, 60, 37, 117, 0, 66, 237, 93, 0, 236, 15, 32, 0, 66, 174, 206, 0, 145, 86, 211, 0, 234, 88, 187, 0, 242, 247, 97, 0, 214, 209, 135, 0, 173, 35, 12, 0, 63, 238, 254, 0, 64, 170, 194, 0, 47, 33, 87, 0, 45, 218, 82, 0, 97, 144, 158, 0, 54, 80, 217, 0, 85, 64, 50, 0, 182, 244, 113, 0, 21, 53, 150, 0, 86, 181, 163, 0, \ +17, 88, 41, 0, 40, 1, 58, 0, 244, 194, 106, 0, 1, 218, 62, 0, 108, 251, 182, 0, 202, 191, 42, 0, 100, 233, 112, 0, 149, 180, 102, 0, 247, 188, 160, 0, 132, 176, 232, 0, 117, 248, 143, 0, 136, 28, 210, 0, 147, 204, 89, 0, 139, 146, 227, 0, 223, 19, 72, 0, 211, 113, 60, 0, 66, 215, 154, 0, 71, 98, 167, 0, 19, 207, 123, 0, 136, 25, 105, 0, 22, 23, 133, 0, 0, 137, 37, 0, 120, 126, 65, 0, 18, 12, 148, 0, 6, 158, 158, 0, 75, 121, 48, 0, 192, 130, 106, 0, 169, 184, 202, 0, 146, 248, 218, 0, 55, 68, 199, 0, 183, 76, 115, 0, 150, 207, 154, 0, 27, 179, 75, 0, 47, 226, 121, 0, 85, 86, 109, 0, 120, 174, 219, 0, 168, 28, 165, 0, 208, 148, 243, 0, 119, 88, 233, 0, 34, 41, 140, 0, 198, 78, 230, 0, 78, 245, 21, 0, 79, 62, 249, 0, 208, 93, 215, 0, 76, 52, 184, 0, 183, 135, 177, 0, 238, 140, 179, 0, 192, 108, 244, 0, 5, 161, 42, 0, 17, 108, 181, 0, 193, 105, 112, 0, 74, 213, 187, 0, 4, 174, 51, 0, 104, 174, 107, 0, 19, 178, 102, 0, 155, 41, 150, 0, 36, 243, 50, 0, 113, 178, 175, 0, 187, 202, 100, 0, 233, 209, 76, 0, 190, 21, 222, 0, 33, 158, 191, 0, 70, 195, 38, 0, 191, 243, 236, 0, 182, 172, 53, 0, 16, 53, 102, 0, 208, 236, 89, 0, 197, 70, 197, 0, 70, 146, 124, 0, 101, 145, 167, 0, 82, 186, 151, 0, 10, 177, 76, 0, 63, 108, 7, 0, 107, 2, 150, 0, 206, 128, 26, 0, 31, 48, 28, 0, 125, 115, 246, 0, 171, 234, 61, 0, 143, 147, 247, 0, 216, 101, 188, 0, 198, 169, 83, 0, 38, 180, 201, 0, 8, 133, 45, 0, 166, 12, 246, 0, 147, 225, 146, 0, 105, 17, 130, 0, 167, 157, 69, 0, 133, 56, 166, 0, 168, 236, 137, 0, 55, 201, 192, 0, 207, 136, 112, 0, 206, 224, 27, 0, 221, 8, 21, 0, 111, 211, 212, 0, 215, 121, 27, 0, 253, 125, 62, 0, 222, 223, 235, 0, 225, 150, 17, 0, 238, 221, 112, 0, 89, 247, 37, 0, 158, 148, 36, 0, 76, 5, 14, 0, 103, 105, 67, 0, 241, 66, 125, 0, 157, 250, 123, 0, 148, 9, 92, 0, 133, 50, 215, 0, 88, 80, 193, 0, 240, 109, 177, 0, 151, 22, 29, 0, 205, 206, 144, 0, 188, 199, 195, 0, 83, 211, 30, 0, 55, 226, 79, 0, 152, 30, 89, 0, 146, 207, 92, 0, 140, 213, 88, 0, 167, 188, 107, 0, 25, 116, 174, 0, 68, 48, 110, 0, 66, 58, 32, 0, 57, 81, 33, 0, 177, 236, 98, 0, 199, 233, 36, 0, 115, 215, 243, 0, 60, 38, 74, 0, 150, 46, 206, 0, 159, 169, 126, 0, 238, 206, 92, 0, 15, 129, 51, 0, 8, 153, 208, 0, 228, 196, 219, 0, 245, 245, 65, 0, 3, 208, 199, 0, 11, 30, 24, 0, 149, 201, 179, 0, 243, 201, 50, 0, 59, 184, 223, 0, 212, 114, 247, 0, 240, 229, 16, 0, 30, 201, 199, 0, 39, 10, 229, 0, 69, 97, 42, 0, 22, 230, 84, 0, 172, 65, 190, 0, 214, 20, 125, 0, 33, 244, 187, 0, 124, 194, 213, 0, 168, 7, 118, 0, 99, 169, 151, 0, 65, 28, 95, 0, 107, 246, 119, 0, 7, 61, 183, 0, 151, 223, 46, 0, 95, 210, 200, 0, 162, 191, 34, 0, 202, 226, 199, 0, 232, 199, 60, 0, 141, 62, 253, 0, 63, 85, 68, 0, 13, 226, 98, 0, 253, 202, 192, 0, 78, 39, 49, 0, 45, 75, 15, 0, 198, 222, 231, 0, 197, 13, 127, 0, 183, 174, 100, 0, 233, 148, 198, 0, 167, 62, 19, 0, 236, 244, 63, 0, 174, 239, 87, 0, 92, 61, 168, 0, 118, 251, 158, 0, 107, 29, 152, 0, 22, 13, 253, 0, 189, 187, 42, 0, 174, 188, 1, 0, 160, 0, 31, 0, 116, 194, 80, 0, 124, 99, 239, 0, 158, 29, 225, 0, 26, 68, 39, 0, 196, 216, 40, 0, 172, 218, 166, 0, 74, 199, 225, 0, 67, 153, 151, 0, 191, 36, 152, 0, 217, 73, 65, 0, 55, 65, 88, 0, 127, 20, 177, 0, 39, 249, 62, 0, 171, 121, 81, 0, 78, 149, 41, 0, 111, 47, 253, 0, 43, 230, 14, 0, 41, 215, 88, 0, 99, 97, 113, 0, 151, 68, 131, 0, 107, 189, 246, 0, 157, 32, 167, 0, 241, 130, 39, 0, 156, 153, 3, 0, 139, 223, 193, 0, 43, 114, 66, 0, 168, 58, 33, 0, 95, 221, 100, 0, 10, 143, 34, 0, 192, 135, 194, 0, 6, 171, 230, 0, 83, 235, 153, 0, 245, 66, 87, 0, 195, 188, 201, 0, 84, 129, 84, 0, 94, 2, 47, 0, 242, 74, 22, 0, 195, 197, 19, 0, 10, 22, 99, 0, 53, 183, 151, 0, 135, 207, 141, 0, 160, 47, 146, 0, 155, 79, 228, 0, 82, 20, 104, 0, 22, 37, 52, 0, 120, 237, 173, 0, \ +31, 189, 60, 0, 97, 171, 34, 0, 161, 101, 138, 0, 111, 20, 14, 0, 237, 196, 118, 0, 189, 91, 38, 0, 213, 21, 49, 0, 47, 27, 104, 0, 133, 124, 33, 0, 106, 94, 40, 0, 185, 160, 124, 0, 118, 105, 15, 0, 111, 137, 56, 0, 171, 31, 17, 0, 98, 216, 32, 0, 127, 8, 102, 0, 241, 203, 152, 0, 165, 61, 85, 0, 0, 198, 43, 0, 67, 84, 72, 0, 91, 174, 164, 0, 204, 218, 48, 0, 139, 35, 96, 0, 11, 225, 236, 0, 31, 190, 211, 0, 177, 35, 114, 0, 212, 176, 238, 0, 38, 19, 64, 0, 234, 190, 242, 0, 46, 134, 111, 0, 223, 117, 87, 0, 232, 43, 55, 0, 119, 100, 137, 0, 144, 145, 190, 0, 186, 80, 218, 0, 172, 184, 101, 0, 63, 241, 138, 0, 88, 85, 100, 0, 212, 62, 192, 0, 148, 201, 102, 0, 102, 113, 44, 0, 84, 145, 172, 0, 88, 225, 145, 0, 45, 213, 136, 0, 79, 150, 43, 0, 103, 20, 73, 0, 86, 53, 229, 0, 241, 217, 129, 0, 240, 76, 183, 0, 63, 237, 5, 0, 187, 94, 133, 0, 184, 158, 15, 0, 214, 72, 16, 0, 206, 232, 145, 0, 225, 77, 72, 0, 177, 245, 233, 0, 138, 223, 12, 0, 119, 147, 168, 0, 88, 62, 146, 0, 116, 105, 225, 0, 96, 145, 74, 0, 94, 76, 23, 0, 63, 118, 208, 0, 212, 53, 197, 0, 18, 125, 31, 0, 196, 168, 97, 0, 141, 65, 222, 0, 146, 177, 238, 0, 65, 137, 74, 0, 253, 34, 174, 0, 168, 82, 102, 0, 122, 166, 184, 0, 39, 87, 62, 0, 195, 90, 7, 0, 108, 94, 23, 0, 2, 56, 191, 0, 24, 182, 78, 0, 86, 133, 16, 0, 208, 117, 51, 0, 97, 145, 204, 0, 209, 114, 64, 0, 133, 237, 123, 0, 123, 156, 151, 0, 169, 131, 24, 0, 228, 154, 80, 0, 71, 177, 5, 0, 11, 47, 238, 0, 24, 62, 184, 0, 64, 71, 144, 0, 26, 59, 116, 0, 6, 125, 198, 0, 121, 9, 116, 0, 53, 203, 231, 0, 22, 234, 198, 0, 13, 215, 49, 0, 196, 38, 22, 0, 151, 71, 111, 0, 184, 156, 73, 0, 30, 167, 67, 0, 254, 219, 247, 0, 177, 172, 188, 0, 174, 66, 88, 0, 16, 127, 1, 0, 124, 103, 27, 0, 215, 209, 140, 0, 136, 202, 141, 0, 66, 109, 21, 0, 162, 0, 152, 0, 84, 145, 0, 0, 185, 95, 124, 0, 209, 62, 155, 0, 236, 252, 55, 0, 122, 219, 112, 0, 93, 22, 187, 0, 91, 253, 189, 0, 182, 145, 150, 0, 135, 199, 9, 0, 17, 135, 106, 0, 36, 196, 195, 0, 123, 165, 225, 0, 83, 130, 143, 0, 41, 178, 131, 0, 164, 157, 22, 0, 170, 77, 228, 0, 243, 106, 158, 0, 20, 136, 88, 0, 11, 152, 143, 0, 248, 103, 70, 0, 24, 1, 111, 0, 64, 28, 23, 0, 214, 249, 183, 0, 140, 183, 74, 0, 181, 149, 214, 0, 142, 69, 127, 0, 97, 140, 46, 0, 39, 137, 229, 0, 245, 28, 165, 0, 66, 19, 180, 0, 108, 153, 181, 0, 0, 125, 145, 0, 9, 134, 219, 0, 222, 226, 9, 0, 172, 94, 254, 0, 189, 54, 137, 0, 163, 149, 204, 0, 192, 111, 180, 0, 196, 33, 74, 0, 59, 115, 220, 0, 178, 52, 49, 0, 186, 252, 171, 0, 17, 182, 162, 0, 59, 127, 3, 0, 50, 114, 28, 0, 85, 34, 126, 0, 25, 23, 186, 0, 193, 21, 3, 0, 233, 127, 69, 0, 18, 173, 38, 0, 211, 75, 226, 0, 217, 30, 217, 0, 13, 173, 46, 0, 250, 215, 61, 0, 156, 116, 186, 0, 28, 115, 234, 0, 14, 199, 82, 0, 212, 78, 2, 0, 26, 119, 119, 0, 10, 99, 124, 0, 239, 206, 122, 0, 178, 238, 62, 0, 24, 168, 151, 0, 110, 77, 76, 0, 33, 170, 169, 0, 229, 3, 213, 0, 191, 209, 199, 0, 217, 2, 82, 0, 78, 158, 47, 0, 85, 186, 172, 0, 179, 45, 136, 0, 3, 94, 19, 0, 224, 21, 75, 0, 20, 250, 201, 0, 133, 150, 8, 0, 84, 40, 208, 0, 204, 235, 161, 0, 14, 168, 19, 0, 94, 78, 147, 0, 192, 178, 195, 0, 166, 198, 100, 0, 65, 254, 138, 0, 239, 92, 151, 0, 127, 26, 76, 0, 249, 131, 183, 0, 87, 46, 85, 0, 73, 201, 174, 0, 229, 224, 235, 0, 113, 160, 125, 0, 96, 177, 102, 0, 138, 220, 102, 0, 25, 71, 118, 0, 2, 79, 80, 0, 1, 161, 26, 0, 39, 123, 95, 0, 225, 178, 215, 0, 91, 29, 5, 0, 172, 19, 156, 0, 243, 154, 182, 0, 160, 223, 102, 0, 159, 230, 194, 0, 251, 35, 98, 0, 208, 227, 28, 0, 136, 181, 126, 0, 172, 158, 39, 0, 21, 161, 28, 0, 119, 82, 25, 0, 96, 197, 125, 0, 104, 12, 48, 0, 159, 102, 47, 0, 216, 180, 20, 0, 74, 21, 176, 0, 235, 196, 202, 0, 212, 159, 169, 0, 197, 220, 207, 0, 158, 126, 60, 0, \ +127, 111, 142, 0, 205, 15, 140, 0, 54, 138, 164, 0, 62, 214, 81, 0, 22, 210, 187, 0, 245, 194, 173, 0, 116, 228, 183, 0, 91, 205, 165, 0, 217, 125, 215, 0, 84, 205, 28, 0, 21, 175, 89, 0, 33, 160, 102, 0, 132, 153, 157, 0, 5, 99, 174, 0, 168, 81, 170, 0, 159, 231, 85, 0, 20, 181, 13, 0, 175, 78, 5, 0, 221, 110, 8, 0, 29, 226, 175, 0, 41, 3, 88, 0, 87, 161, 254, 0, 153, 191, 64, 0, 50, 251, 126, 0, 215, 109, 79, 0, 170, 190, 191, 0, 30, 248, 208, 0, 19, 11, 91, 0, 158, 131, 245, 0, 1, 83, 194, 0, 152, 24, 91, 0, 151, 159, 72, 0, 180, 135, 230, 0, 80, 229, 164, 0, 233, 171, 195, 0, 68, 150, 50, 0, 4, 168, 186, 0, 24, 10, 106, 0, 221, 171, 128, 0, 11, 152, 55, 0, 142, 83, 116, 0, 245, 51, 203, 0, 127, 39, 146, 0, 193, 243, 196, 0, 204, 161, 107, 0, 250, 4, 133, 0, 228, 28, 192, 0, 62, 190, 12, 0, 130, 160, 205, 0, 45, 182, 50, 0, 103, 250, 235, 0, 14, 57, 73, 0, 152, 176, 204, 0, 60, 58, 147, 0, 244, 96, 6, 0, 163, 202, 73, 0, 137, 187, 81, 0, 163, 75, 62, 0, 128, 94, 252, 0, 53, 169, 183, 0, 107, 141, 180, 0, 92, 84, 137, 0, 80, 128, 220, 0, 243, 141, 37, 0, 27, 59, 228, 0, 11, 5, 155, 0, 101, 94, 105, 0, 254, 153, 201, 0, 212, 10, 14, 0, 77, 214, 177, 0, 213, 210, 139, 0, 29, 53, 152, 0, 11, 109, 48, 0, 19, 107, 239, 0, 123, 183, 143, 0, 199, 25, 53, 0, 101, 9, 63, 0, 203, 15, 131, 0, 142, 53, 214, 0, 27, 228, 0, 0, 119, 78, 223, 0, 37, 228, 68, 0, 56, 236, 188, 0, 240, 100, 87, 0, 238, 56, 45, 0, 53, 143, 73, 0, 211, 30, 216, 0, 155, 156, 126, 0, 1, 1, 210, 0, 100, 188, 143, 0, 65, 35, 119, 0, 130, 53, 224, 0, 225, 48, 89, 0, 13, 191, 182, 0, 30, 3, 163, 0, 54, 42, 7, 0, 122, 19, 113, 0, 195, 152, 157, 0, 218, 24, 127, 0, 152, 27, 221, 0, 252, 238, 139, 0, 222, 170, 150, 0, 136, 98, 209, 0, 34, 78, 97, 0, 124, 51, 36, 0, 52, 237, 102, 0, 154, 83, 154, 0, 34, 153, 108, 0, 2, 163, 14, 0, 35, 224, 64, 0, 46, 85, 104, 0, 225, 6, 31, 0, 58, 182, 104, 0, 33, 216, 124, 0, 164, 167, 228, 0, 219, 232, 252, 0, 232, 133, 155, 0, 227, 199, 181, 0, 0, 46, 48, 0, 171, 106, 148, 0, 200, 51, 90, 0, 52, 224, 99, 0, 199, 37, 70, 0, 130, 4, 165, 0, 80, 235, 248, 0, 167, 156, 170, 0, 27, 44, 177, 0, 251, 16, 195, 0, 93, 133, 202, 0, 76, 191, 129, 0, 111, 44, 163, 0, 186, 130, 139, 0, 133, 237, 171, 0, 97, 84, 157, 0, 148, 64, 65, 0, 6, 201, 169, 0, 226, 53, 48, 0, 51, 210, 101, 0, 185, 182, 118, 0, 98, 107, 188, 0, 69, 243, 68, 0, 108, 83, 88, 0, 202, 117, 191, 0, 195, 145, 173, 0, 117, 62, 210, 0, 204, 118, 130, 0, 113, 19, 93, 0, 17, 99, 137, 0, 85, 96, 140, 0, 219, 171, 188, 0, 191, 148, 207, 0, 60, 171, 194, 0, 99, 166, 147, 0, 52, 68, 220, 0, 158, 99, 1, 0, 234, 229, 195, 0, 97, 74, 145, 0, 71, 12, 179, 0, 155, 125, 80, 0, 69, 134, 17, 0, 242, 46, 213, 0, 55, 143, 35, 0, 149, 119, 78, 0, 248, 46, 73, 0, 83, 251, 186, 0, 4, 145, 232, 0, 90, 45, 27, 0, 62, 22, 51, 0, 102, 123, 234, 0, 137, 166, 229, 0, 122, 166, 116, 0, 191, 83, 153, 0, 159, 233, 244, 0, 177, 218, 234, 0, 222, 46, 21, 0, 0, 36, 212, 0, 143, 253, 70, 0, 103, 195, 188, 0, 105, 144, 94, 0, 208, 33, 45, 0, 220, 74, 122, 0, 219, 70, 196, 0, 241, 13, 231, 0, 31, 247, 226, 0, 26, 192, 193, 0, 188, 16, 248, 0, 200, 88, 40, 0, 28, 10, 140, 0, 174, 122, 143, 0, 76, 123, 174, 0, 31, 218, 72, 0, 49, 31, 231, 0, 223, 96, 47, 0, 77, 135, 142, 0, 48, 175, 16, 0, 32, 36, 104, 0, 32, 241, 223, 0, 204, 244, 233, 0, 116, 210, 165, 0, 16, 251, 30, 0, 202, 14, 166, 0, 237, 168, 19, 0, 130, 107, 107, 0, 27, 253, 37, 0, 217, 17, 170, 0, 40, 104, 190, 0, 109, 119, 173, 0, 221, 51, 83, 0, 129, 224, 222, 0, 109, 228, 23, 0, 97, 73, 166, 0, 30, 168, 232, 0, 22, 8, 186, 0, 232, 165, 117, 0, 47, 126, 64, 0, 58, 18, 204, 0, 93, 60, 200, 0, 235, 195, 43, 0, 17, 114, 78, 0, 161, 191, 42, 0, 62, 33, 241, 0, 95, 9, 246, 0, 15, 49, 183, 0, 198, 186, 5, 0, \ +128, 121, 154, 0, 128, 5, 174, 0, 20, 219, 169, 0, 78, 227, 188, 0, 100, 132, 181, 0, 138, 111, 243, 0, 49, 243, 20, 0, 93, 57, 230, 0, 224, 67, 178, 0, 166, 0, 125, 0, 179, 159, 199, 0, 117, 27, 137, 0, 228, 13, 181, 0, 172, 235, 196, 0, 182, 168, 87, 0, 47, 125, 155, 0, 194, 6, 169, 0, 52, 51, 214, 0, 5, 155, 42, 0, 187, 221, 7, 0, 153, 106, 147, 0, 209, 89, 250, 0, 43, 203, 214, 0, 31, 239, 195, 0, 251, 176, 66, 0, 117, 111, 50, 0, 174, 60, 228, 0, 138, 230, 129, 0, 178, 11, 31, 0, 177, 64, 186, 0, 161, 202, 102, 0, 184, 89, 84, 0, 57, 27, 229, 0, 209, 178, 247, 0, 46, 82, 187, 0, 146, 176, 152, 0, 237, 53, 18, 0, 253, 217, 249, 0, 24, 245, 237, 0, 249, 106, 213, 0, 57, 187, 95, 0, 77, 37, 163, 0, 33, 21, 205, 0, 18, 16, 131, 0, 70, 23, 19, 0, 203, 139, 42, 0, 42, 252, 50, 0, 189, 158, 251, 0, 169, 198, 109, 0, 55, 23, 73, 0, 253, 161, 107, 0, 110, 21, 72, 0, 233, 144, 163, 0, 209, 140, 225, 0, 122, 100, 186, 0, 165, 87, 36, 0, 104, 187, 93, 0, 195, 71, 76, 0, 153, 220, 141, 0, 109, 186, 100, 0, 230, 188, 57, 0, 178, 17, 66, 0, 43, 85, 58, 0, 37, 229, 225, 0, 4, 207, 214, 0, 73, 31, 167, 0, 188, 57, 44, 0, 217, 213, 13, 0, 144, 38, 6, 0, 40, 154, 102, 0, 125, 11, 151, 0, 212, 82, 189, 0, 198, 82, 30, 0, 50, 207, 159, 0, 210, 5, 114, 0, 99, 189, 137, 0, 29, 59, 11, 0, 43, 60, 93, 0, 218, 142, 43, 0, 137, 187, 92, 0, 97, 188, 58, 0, 180, 50, 117, 0, 90, 222, 49, 0, 217, 43, 211, 0, 166, 198, 166, 0, 1, 239, 71, 0, 212, 64, 60, 0, 111, 74, 37, 0, 180, 153, 78, 0, 184, 158, 25, 0, 158, 141, 186, 0, 134, 226, 250, 0, 8, 252, 124, 0, 92, 163, 38, 0, 241, 151, 114, 0, 136, 195, 157, 0, 95, 88, 254, 0, 25, 44, 240, 0, 138, 71, 228, 0, 55, 241, 146, 0, 108, 140, 135, 0, 204, 184, 114, 0, 87, 63, 114, 0, 44, 20, 108, 0, 224, 174, 245, 0, 10, 143, 232, 0, 98, 13, 233, 0, 58, 9, 140, 0, 78, 123, 100, 0, 48, 212, 77, 0, 10, 204, 10, 0, 133, 90, 146, 0, 31, 122, 126, 0, 19, 198, 211, 0, 31, 174, 12, 0, 152, 78, 135, 0, 121, 12, 253, 0, 8, 4, 251, 0, 177, 192, 229, 0, 175, 140, 180, 0, 189, 66, 21, 0, 52, 92, 34, 0, 222, 220, 49, 0, 238, 199, 186, 0, 195, 159, 41, 0, 15, 44, 33, 0, 80, 205, 144, 0, 147, 83, 246, 0, 3, 49, 19, 0, 31, 161, 219, 0, 40, 116, 119, 0, 19, 65, 244, 0, 216, 203, 10, 0, 117, 35, 211, 0, 109, 226, 200, 0, 53, 147, 34, 0, 219, 86, 0, 0, 216, 19, 106, 0, 243, 209, 16, 0, 133, 66, 4, 0, 177, 76, 215, 0, 194, 237, 248, 0, 117, 211, 141, 0, 227, 101, 224, 0, 140, 4, 60, 0, 167, 153, 121, 0, 118, 194, 115, 0, 105, 249, 232, 0, 67, 79, 77, 0, 108, 191, 118, 0, 26, 232, 8, 0, 50, 185, 58, 0, 46, 84, 37, 0, 179, 87, 158, 0, 174, 165, 53, 0, 206, 148, 69, 0, 72, 168, 203, 0, 87, 165, 214, 0, 163, 139, 213, 0, 106, 211, 122, 0, 219, 161, 53, 0, 120, 137, 211, 0, 213, 2, 215, 0, 6, 92, 55, 0, 21, 96, 73, 0, 98, 99, 124, 0, 157, 30, 160, 0, 66, 63, 90, 0, 252, 138, 163, 0, 126, 121, 51, 0, 192, 9, 23, 0, 50, 198, 56, 0, 87, 102, 200, 0, 127, 66, 39, 0, 253, 105, 129, 0, 111, 66, 168, 0, 126, 205, 206, 0, 147, 168, 117, 0, 147, 63, 216, 0, 2, 247, 177, 0, 123, 114, 176, 0, 143, 241, 242, 0, 109, 236, 59, 0, 52, 235, 116, 0, 92, 22, 176, 0, 181, 10, 129, 0, 23, 27, 66, 0, 105, 134, 31, 0, 108, 123, 178, 0, 247, 243, 241, 0, 127, 3, 213, 0, 90, 13, 42, 0, 33, 188, 220, 0, 123, 180, 68, 0, 177, 88, 29, 0, 127, 27, 83, 0, 213, 240, 142, 0, 101, 86, 80, 0, 71, 219, 37, 0, 84, 224, 80, 0, 57, 202, 83, 0, 98, 48, 193, 0, 29, 160, 73, 0, 201, 163, 91, 0, 161, 91, 148, 0, 86, 84, 40, 0, 184, 17, 125, 0, 198, 24, 56, 0, 65, 220, 227, 0, 39, 214, 202, 0, 173, 186, 126, 0, 175, 13, 49, 0, 235, 182, 188, 0, 51, 55, 25, 0, 94, 208, 20, 0, 46, 228, 36, 0, 59, 171, 186, 0, 190, 238, 139, 0, 223, 24, 103, 0, 26, 76, 2, 0, 215, 227, 152, 0, 139, 74, 218, 0, 166, 78, 84, 0, 201, 221, 88, 0, \ +63, 136, 33, 0, 94, 146, 198, 0, 110, 251, 149, 0, 194, 133, 156, 0, 16, 212, 148, 0, 24, 156, 121, 0, 187, 8, 127, 0, 231, 224, 71, 0, 233, 150, 231, 0, 42, 213, 211, 0, 86, 101, 171, 0, 140, 235, 254, 0, 0, 240, 92, 0, 2, 21, 128, 0, 201, 30, 170, 0, 88, 85, 151, 0, 118, 30, 98, 0, 215, 74, 146, 0, 129, 49, 75, 0, 165, 64, 48, 0, 221, 26, 115, 0, 177, 248, 135, 0, 167, 75, 163, 0, 168, 113, 195, 0, 113, 7, 173, 0, 174, 19, 90, 0, 123, 254, 138, 0, 177, 158, 25, 0, 108, 118, 157, 0, 198, 211, 6, 0, 152, 26, 190, 0, 50, 54, 47, 0, 165, 243, 130, 0, 154, 238, 237, 0, 128, 13, 50, 0, 168, 245, 175, 0, 200, 133, 193, 0, 207, 188, 128, 0, 220, 104, 33, 0, 118, 61, 202, 0, 34, 79, 65, 0, 4, 136, 143, 0, 149, 91, 210, 0, 74, 79, 214, 0, 253, 41, 72, 0, 138, 64, 23, 0, 151, 123, 251, 0, 216, 191, 71, 0, 159, 228, 243, 0, 34, 243, 21, 0, 198, 226, 232, 0, 122, 45, 228, 0, 141, 162, 136, 0, 110, 171, 235, 0, 67, 3, 128, 0, 214, 68, 23, 0, 44, 142, 200, 0, 166, 171, 197, 0, 214, 4, 2, 0, 64, 4, 93, 0, 201, 5, 208, 0, 121, 8, 129, 0, 175, 158, 0, 0, 188, 204, 75, 0, 143, 183, 73, 0, 161, 174, 230, 0, 82, 199, 87, 0, 254, 188, 173, 0, 160, 246, 239, 0, 209, 161, 110, 0, 187, 204, 13, 0, 65, 127, 185, 0, 12, 4, 65, 0, 123, 221, 52, 0, 28, 85, 125, 0, 116, 141, 107, 0, 111, 182, 0, 0, 150, 136, 220, 0, 106, 21, 171, 0, 75, 17, 206, 0, 184, 149, 108, 0, 56, 78, 20, 0, 150, 145, 20, 0, 44, 178, 59, 0, 97, 149, 8, 0, 74, 124, 242, 0, 39, 105, 40, 0, 228, 172, 94, 0, 133, 208, 96, 0, 104, 30, 4, 0, 132, 129, 219, 0, 60, 223, 245, 0, 23, 144, 98, 0, 140, 223, 43, 0, 229, 101, 237, 0, 221, 89, 79, 0, 74, 247, 11, 0, 51, 21, 101, 0, 3, 230, 250, 0, 208, 244, 6, 0, 130, 0, 216, 0, 17, 170, 100, 0, 54, 235, 75, 0, 179, 20, 217, 0, 108, 9, 230, 0, 246, 198, 61, 0, 185, 217, 36, 0, 102, 61, 8, 0, 253, 159, 59, 0, 145, 127, 25, 0, 66, 237, 145, 0, 247, 162, 77, 0, 97, 153, 214, 0, 242, 186, 125, 0, 31, 216, 91, 0, 86, 91, 85, 0, 103, 203, 53, 0, 153, 52, 210, 0, 39, 121, 244, 0, 14, 206, 247, 0, 224, 103, 223, 0, 3, 123, 144, 0, 61, 75, 52, 0, 38, 223, 159, 0, 51, 207, 161, 0, 78, 155, 14, 0, 160, 124, 36, 0, 115, 104, 153, 0, 91, 120, 77, 0, 91, 148, 73, 0, 188, 45, 229, 0, 114, 128, 84, 0, 36, 187, 23, 0, 141, 97, 38, 0, 40, 226, 175, 0, 161, 187, 130, 0, 14, 70, 67, 0, 40, 117, 109, 0, 207, 186, 85, 0, 205, 69, 64, 0, 153, 113, 28, 0, 94, 8, 168, 0, 68, 140, 166, 0, 199, 247, 171, 0, 119, 133, 150, 0, 157, 105, 44, 0, 95, 202, 152, 0, 160, 183, 114, 0, 4, 212, 45, 0, 171, 123, 26, 0, 124, 149, 61, 0, 102, 213, 111, 0, 158, 10, 84, 0, 58, 5, 176, 0, 10, 199, 243, 0, 47, 178, 100, 0, 211, 202, 252, 0, 16, 216, 160, 0, 72, 201, 233, 0, 154, 122, 95, 0, 106, 51, 117, 0, 152, 72, 111, 0, 244, 188, 165, 0, 152, 7, 197, 0, 179, 102, 166, 0, 114, 217, 248, 0, 156, 176, 179, 0, 103, 196, 244, 0, 20, 10, 132, 0, 148, 210, 201, 0, 81, 164, 36, 0, 144, 111, 223, 0, 231, 43, 40, 0, 202, 141, 70, 0, 5, 66, 183, 0, 69, 207, 114, 0, 74, 63, 112, 0, 201, 94, 205, 0, 149, 53, 229, 0, 25, 211, 72, 0, 0, 166, 5, 0, 52, 201, 156, 0, 67, 108, 121, 0, 227, 179, 227, 0, 13, 106, 224, 0, 75, 186, 224, 0, 93, 110, 104, 0, 252, 71, 37, 0, 47, 203, 225, 0, 54, 41, 11, 0, 173, 184, 169, 0, 246, 117, 167, 0, 81, 7, 115, 0, 89, 144, 174, 0, 142, 232, 184, 0, 165, 37, 215, 0, 242, 45, 182, 0, 85, 212, 92, 0, 143, 234, 118, 0, 64, 52, 119, 0, 34, 89, 168, 0, 233, 89, 235, 0, 82, 130, 70, 0, 99, 130, 75, 0, 187, 84, 195, 0, 95, 77, 36, 0, 184, 203, 134, 0, 189, 99, 28, 0, 153, 102, 197, 0, 20, 24, 69, 0, 136, 162, 223, 0, 19, 161, 225, 0, 78, 93, 75, 0, 157, 87, 171, 0, 128, 75, 194, 0, 191, 181, 213, 0, 33, 218, 15, 0, 185, 136, 168, 0, 232, 92, 129, 0, 219, 164, 129, 0, 134, 241, 8, 0, 20, 243, 218, 0, 165, 250, 216, 0, 172, 168, 172, 0, \ +120, 206, 28, 0, 39, 145, 233, 0, 127, 20, 219, 0, 210, 160, 195, 0, 179, 122, 92, 0, 92, 157, 31, 0, 198, 36, 67, 0, 210, 253, 161, 0, 161, 235, 28, 0, 213, 179, 108, 0, 211, 118, 10, 0, 13, 113, 103, 0, 172, 154, 153, 0, 144, 65, 141, 0, 36, 98, 49, 0, 177, 38, 196, 0, 199, 171, 56, 0, 8, 18, 104, 0, 21, 81, 66, 0, 181, 43, 0, 0, 36, 218, 134, 0, 30, 119, 202, 0, 234, 197, 132, 0, 50, 117, 238, 0, 185, 242, 197, 0, 126, 188, 29, 0, 48, 228, 2, 0, 77, 11, 203, 0, 105, 30, 197, 0, 238, 211, 48, 0, 218, 130, 230, 0, 107, 144, 131, 0, 225, 41, 254, 0, 212, 241, 164, 0, 48, 201, 137, 0, 209, 216, 177, 0, 67, 131, 153, 0, 129, 90, 84, 0, 181, 188, 73, 0, 38, 154, 230, 0, 22, 79, 241, 0, 24, 209, 78, 0, 204, 165, 203, 0, 177, 122, 122, 0, 247, 170, 251, 0, 158, 109, 250, 0, 131, 223, 41, 0, 171, 188, 37, 0, 84, 61, 86, 0, 195, 204, 209, 0, 29, 170, 219, 0, 214, 169, 200, 0, 172, 12, 162, 0, 44, 145, 204, 0, 181, 130, 133, 0, 37, 20, 157, 0, 165, 53, 68, 0, 163, 213, 201, 0, 217, 97, 138, 0, 196, 48, 77, 0, 45, 253, 251, 0, 95, 89, 76, 0, 86, 53, 10, 0, 152, 36, 96, 0, 67, 132, 74, 0, 125, 242, 194, 0, 80, 193, 143, 0, 248, 248, 129, 0, 154, 208, 81, 0, 108, 80, 156, 0, 148, 7, 77, 0, 100, 232, 165, 0, 142, 22, 154, 0, 242, 47, 76, 0, 145, 88, 38, 0, 227, 12, 55, 0, 252, 169, 44, 0, 56, 24, 215, 0, 185, 181, 44, 0, 247, 32, 66, 0, 13, 251, 128, 0, 41, 227, 204, 0, 130, 33, 223, 0, 161, 237, 136, 0, 240, 160, 3, 0, 141, 211, 83, 0, 91, 69, 118, 0, 55, 172, 205, 0, 164, 128, 193, 0, 173, 72, 208, 0, 172, 124, 159, 0, 129, 81, 145, 0, 192, 37, 239, 0, 99, 32, 174, 0, 155, 41, 140, 0, 203, 0, 61, 0, 177, 161, 35, 0, 18, 32, 26, 0, 215, 28, 191, 0, 247, 88, 73, 0, 57, 116, 86, 0, 242, 244, 96, 0, 144, 115, 94, 0, 9, 197, 27, 0, 75, 79, 141, 0, 89, 19, 244, 0, 220, 86, 36, 0, 71, 79, 121, 0, 196, 146, 25, 0, 9, 173, 177, 0, 112, 245, 180, 0, 75, 78, 74, 0, 244, 131, 247, 0, 176, 236, 231, 0, 239, 235, 107, 0, 56, 215, 71, 0, 129, 28, 202, 0, 41, 222, 60, 0, 81, 2, 221, 0, 116, 191, 233, 0, 118, 86, 113, 0, 87, 124, 16, 0, 38, 26, 108, 0, 125, 103, 54, 0, 106, 145, 156, 0, 92, 229, 139, 0, 42, 204, 117, 0, 120, 189, 106, 0, 76, 227, 19, 0, 154, 203, 138, 0, 154, 221, 48, 0, 4, 185, 158, 0, 113, 138, 132, 0, 153, 80, 177, 0, 119, 11, 59, 0, 65, 234, 219, 0, 171, 30, 51, 0, 2, 240, 79, 0, 5, 21, 70, 0, 27, 21, 42, 0, 44, 96, 237, 0, 3, 126, 146, 0, 52, 44, 186, 0, 33, 35, 169, 0, 132, 179, 46, 0, 238, 42, 128, 0, 158, 210, 65, 0, 45, 145, 131, 0, 48, 215, 180, 0, 109, 41, 117, 0, 213, 59, 233, 0, 108, 0, 83, 0, 169, 21, 82, 0, 42, 224, 250, 0, 245, 217, 200, 0, 121, 150, 195, 0, 22, 248, 146, 0, 190, 144, 116, 0, 193, 197, 152, 0, 165, 102, 237, 0, 84, 56, 24, 0, 2, 110, 119, 0, 139, 102, 3, 0, 198, 95, 81, 0, 58, 253, 48, 0, 68, 207, 119, 0, 210, 1, 109, 0, 59, 139, 95, 0, 84, 95, 102, 0, 30, 81, 83, 0, 153, 59, 127, 0, 110, 162, 131, 0, 47, 159, 74, 0, 52, 91, 191, 0, 153, 186, 131, 0, 179, 115, 135, 0, 140, 182, 93, 0, 174, 169, 202, 0, 107, 58, 208, 0, 118, 28, 180, 0, 214, 217, 245, 0, 28, 47, 0, 0, 206, 55, 57, 0, 232, 155, 24, 0, 97, 0, 82, 0, 178, 155, 164, 0, 139, 139, 234, 0, 32, 159, 175, 0, 133, 254, 0, 0, 105, 41, 213, 0, 32, 217, 129, 0, 85, 185, 9, 0, 248, 49, 25, 0, 178, 232, 81, 0, 152, 107, 91, 0, 167, 91, 105, 0, 233, 12, 176, 0, 116, 103, 184, 0, 206, 77, 198, 0, 74, 179, 60, 0, 92, 42, 244, 0, 101, 203, 238, 0, 130, 12, 214, 0, 244, 6, 12, 0, 165, 133, 43, 0, 44, 20, 203, 0, 204, 161, 182, 0, 212, 68, 158, 0, 141, 228, 62, 0, 70, 172, 118, 0, 231, 241, 76, 0, 6, 58, 179, 0, 206, 204, 115, 0, 210, 252, 57, 0, 155, 79, 35, 0, 237, 122, 142, 0, 74, 190, 124, 0, 38, 77, 253, 0, 138, 9, 167, 0, 240, 226, 73, 0, 138, 98, 39, 0, 87, 59, 12, 0, 175, 49, 52, 0, 178, 224, 159, 0, \ +174, 88, 84, 0, 213, 17, 61, 0, 171, 51, 73, 0, 84, 2, 63, 0, 178, 228, 70, 0, 227, 64, 27, 0, 120, 244, 8, 0, 121, 92, 23, 0, 186, 244, 132, 0, 22, 221, 80, 0, 236, 75, 225, 0, 97, 246, 227, 0, 144, 186, 207, 0, 215, 204, 64, 0, 31, 33, 247, 0, 141, 171, 196, 0, 77, 94, 195, 0, 2, 166, 252, 0, 196, 201, 97, 0, 47, 137, 150, 0, 62, 201, 184, 0, 69, 193, 249, 0, 101, 58, 154, 0, 176, 144, 81, 0, 163, 24, 130, 0, 70, 194, 234, 0, 114, 228, 162, 0, 150, 105, 32, 0, 225, 48, 241, 0, 115, 51, 253, 0, 104, 101, 175, 0, 31, 5, 67, 0, 241, 126, 134, 0, 218, 19, 29, 0, 73, 170, 43, 0, 239, 12, 17, 0, 36, 66, 22, 0, 164, 26, 93, 0, 65, 244, 30, 0, 91, 220, 220, 0, 176, 17, 193, 0, 25, 221, 83, 0, 189, 107, 54, 0, 87, 231, 53, 0, 7, 70, 91, 0, 146, 203, 171, 0, 126, 85, 90, 0, 121, 188, 86, 0, 235, 96, 188, 0, 90, 89, 47, 0, 227, 113, 67, 0, 23, 137, 141, 0, 163, 190, 185, 0, 222, 14, 232, 0, 207, 33, 133, 0, 163, 7, 136, 0, 61, 123, 89, 0, 232, 216, 100, 0, 103, 68, 220, 0, 233, 98, 20, 0, 95, 79, 6, 0, 161, 47, 142, 0, 162, 157, 241, 0, 105, 100, 108, 0, 21, 104, 201, 0, 55, 37, 74, 0, 206, 18, 202, 0, 30, 29, 243, 0, 61, 27, 5, 0, 183, 11, 237, 0, 241, 233, 139, 0, 40, 68, 121, 0, 93, 62, 49, 0, 92, 180, 89, 0, 150, 254, 105, 0, 74, 0, 232, 0, 37, 70, 153, 0, 124, 133, 155, 0, 87, 171, 177, 0, 173, 74, 168, 0, 41, 116, 207, 0, 247, 15, 116, 0, 141, 236, 218, 0, 180, 109, 129, 0, 178, 198, 205, 0, 224, 173, 186, 0, 52, 51, 1, 0, 218, 105, 31, 0, 254, 70, 190, 0, 7, 184, 107, 0, 223, 170, 201, 0, 138, 224, 180, 0, 87, 131, 67, 0, 235, 116, 65, 0, 60, 117, 4, 0, 215, 114, 14, 0, 141, 198, 78, 0, 245, 183, 23, 0, 165, 220, 128, 0, 211, 103, 114, 0, 59, 125, 161, 0, 250, 84, 154, 0, 71, 174, 236, 0, 206, 184, 88, 0, 152, 249, 40, 0, 246, 130, 150, 0, 71, 114, 169, 0, 21, 160, 224, 0, 241, 226, 87, 0, 239, 76, 134, 0, 160, 240, 117, 0, 81, 64, 59, 0, 98, 48, 243, 0, 156, 136, 74, 0, 182, 235, 101, 0, 203, 241, 213, 0, 84, 8, 211, 0, 251, 24, 204, 0, 49, 69, 149, 0, 35, 108, 58, 0, 195, 170, 65, 0, 238, 0, 113, 0, 173, 106, 2, 0, 45, 235, 1, 0, 192, 89, 127, 0, 115, 73, 150, 0, 52, 13, 36, 0, 94, 24, 75, 0, 228, 34, 163, 0, 145, 217, 47, 0, 79, 49, 165, 0, 20, 169, 177, 0, 77, 71, 105, 0, 241, 82, 108, 0, 18, 140, 98, 0, 146, 13, 142, 0, 211, 75, 205, 0, 238, 221, 31, 0, 132, 43, 94, 0, 76, 168, 122, 0, 238, 100, 171, 0, 230, 173, 12, 0, 209, 241, 67, 0, 147, 79, 85, 0, 43, 3, 5, 0, 67, 124, 99, 0, 43, 247, 148, 0, 76, 56, 240, 0, 209, 147, 142, 0, 87, 166, 237, 0, 140, 80, 33, 0, 52, 168, 48, 0, 122, 36, 180, 0, 38, 64, 152, 0, 128, 221, 163, 0, 132, 242, 225, 0, 64, 122, 251, 0, 99, 158, 199, 0, 248, 11, 81, 0, 175, 18, 106, 0, 247, 158, 13, 0, 190, 162, 184, 0, 18, 206, 126, 0, 216, 81, 109, 0, 41, 73, 198, 0, 254, 121, 247, 0, 226, 201, 185, 0, 11, 72, 72, 0, 25, 104, 82, 0, 158, 142, 63, 0, 164, 88, 165, 0, 15, 90, 8, 0, 17, 58, 193, 0, 95, 61, 183, 0, 35, 155, 138, 0, 227, 111, 186, 0, 131, 59, 133, 0, 24, 205, 139, 0, 79, 74, 20, 0, 54, 141, 213, 0, 161, 3, 251, 0, 246, 54, 31, 0, 51, 52, 192, 0, 122, 149, 55, 0, 58, 29, 193, 0, 195, 121, 109, 0, 254, 134, 118, 0, 0, 60, 116, 0, 10, 30, 126, 0, 222, 240, 87, 0, 230, 167, 8, 0, 144, 152, 144, 0, 57, 214, 126, 0, 45, 172, 218, 0, 195, 37, 43, 0, 117, 47, 102, 0, 252, 187, 168, 0, 73, 122, 118, 0, 46, 211, 172, 0, 40, 186, 103, 0, 143, 237, 103, 0, 233, 11, 43, 0, 168, 211, 246, 0, 163, 173, 228, 0, 58, 110, 97, 0, 252, 69, 253, 0, 130, 199, 23, 0, 118, 223, 131, 0, 149, 48, 25, 0, 216, 214, 187, 0, 89, 133, 134, 0, 20, 32, 200, 0, 204, 155, 185, 0, 177, 38, 134, 0, 137, 140, 204, 0, 23, 158, 154, 0, 222, 33, 4, 0, 201, 219, 71, 0, 15, 225, 224, 0, 27, 97, 78, 0, 206, 110, 103, 0, 187, 40, 58, 0, 184, 167, 64, 0, 17, 46, 137, 0, \ +172, 246, 215, 0, 3, 154, 45, 0, 134, 11, 144, 0, 223, 168, 79, 0, 52, 56, 8, 0, 230, 83, 118, 0, 96, 90, 47, 0, 46, 202, 146, 0, 19, 213, 105, 0, 81, 191, 169, 0, 136, 118, 149, 0, 145, 9, 200, 0, 215, 154, 180, 0, 245, 250, 168, 0, 185, 212, 144, 0, 71, 169, 40, 0, 66, 234, 1, 0, 40, 234, 190, 0, 29, 195, 195, 0, 140, 168, 167, 0, 204, 56, 180, 0, 107, 135, 35, 0, 229, 65, 64, 0, 167, 63, 251, 0, 194, 248, 156, 0, 48, 51, 65, 0, 49, 250, 142, 0, 132, 179, 221, 0, 38, 151, 123, 0, 201, 208, 160, 0, 0, 165, 170, 0, 63, 67, 27, 0, 32, 58, 158, 0, 203, 209, 101, 0, 221, 56, 52, 0, 16, 250, 126, 0, 252, 138, 237, 0, 98, 117, 16, 0, 209, 188, 163, 0, 126, 160, 239, 0, 81, 102, 153, 0, 247, 209, 230, 0, 41, 208, 221, 0, 162, 191, 39, 0, 182, 0, 0, 0, 204, 141, 55, 0, 205, 161, 62, 0, 84, 153, 241, 0, 192, 41, 44, 0, 141, 125, 170, 0, 186, 142, 238, 0, 152, 124, 25, 0, 223, 119, 139, 0, 55, 241, 228, 0, 37, 34, 124, 0, 252, 144, 144, 0, 154, 221, 150, 0, 105, 237, 60, 0, 124, 7, 222, 0, 186, 150, 61, 0, 202, 56, 77, 0, 220, 19, 210, 0, 243, 0, 133, 0, 116, 177, 204, 0, 157, 121, 187, 0, 202, 250, 15, 0, 132, 102, 62, 0, 201, 155, 235, 0, 148, 171, 213, 0, 81, 174, 14, 0, 217, 201, 35, 0, 54, 56, 29, 0, 198, 97, 236, 0, 91, 81, 163, 0, 71, 159, 42, 0, 209, 108, 81, 0, 186, 209, 6, 0, 21, 124, 178, 0, 176, 53, 79, 0, 44, 56, 227, 0, 1, 104, 78, 0, 178, 57, 119, 0, 251, 128, 51, 0, 12, 191, 176, 0, 44, 39, 74, 0, 170, 244, 78, 0, 237, 100, 55, 0, 168, 129, 223, 0, 175, 200, 128, 0, 138, 143, 227, 0, 89, 207, 251, 0, 132, 107, 172, 0, 204, 150, 254, 0, 156, 253, 5, 0, 167, 96, 161, 0, 152, 31, 240, 0, 138, 123, 177, 0, 61, 216, 250, 0, 9, 235, 128, 0, 168, 239, 91, 0, 43, 62, 88, 0, 23, 93, 37, 0, 49, 181, 104, 0, 17, 113, 232, 0, 67, 28, 165, 0, 80, 201, 74, 0, 169, 62, 236, 0, 17, 108, 142, 0, 157, 57, 186, 0, 114, 106, 36, 0, 27, 47, 133, 0, 233, 238, 204, 0, 171, 47, 127, 0, 42, 96, 218, 0, 216, 37, 161, 0, 105, 190, 220, 0, 108, 56, 252, 0, 151, 191, 228, 0, 53, 19, 179, 0, 80, 150, 77, 0, 212, 115, 213, 0, 73, 8, 38, 0, 179, 211, 56, 0, 69, 78, 65, 0, 44, 152, 132, 0, 81, 106, 128, 0, 106, 178, 162, 0, 229, 224, 25, 0, 238, 222, 158, 0, 132, 114, 105, 0, 93, 94, 190, 0, 252, 71, 95, 0, 45, 147, 124, 0, 114, 185, 133, 0, 167, 211, 236, 0, 254, 67, 48, 0, 172, 221, 63, 0, 90, 222, 21, 0, 44, 15, 99, 0, 165, 28, 177, 0, 213, 168, 102, 0, 50, 229, 5, 0, 99, 8, 56, 0, 233, 53, 59, 0, 82, 198, 231, 0, 249, 96, 51, 0, 124, 153, 62, 0, 91, 76, 219, 0, 173, 24, 197, 0, 95, 56, 64, 0, 237, 236, 94, 0, 80, 213, 84, 0, 130, 127, 212, 0, 55, 150, 128, 0, 113, 246, 66, 0, 60, 89, 81, 0, 106, 123, 83, 0, 168, 33, 11, 0, 238, 127, 20, 0, 114, 249, 67, 0, 48, 5, 237, 0, 24, 95, 188, 0, 119, 43, 103, 0, 1, 236, 200, 0, 123, 152, 164, 0, 100, 216, 55, 0, 146, 102, 49, 0, 67, 124, 178, 0, 135, 238, 245, 0, 96, 156, 163, 0, 77, 80, 10, 0, 147, 142, 206, 0, 136, 220, 233, 0, 60, 231, 58, 0, 191, 14, 83, 0, 4, 161, 205, 0, 186, 250, 142, 0, 207, 73, 7, 0, 50, 127, 213, 0, 226, 238, 106, 0, 112, 85, 97, 0, 2, 85, 106, 0, 15, 47, 110, 0, 62, 58, 104, 0, 41, 97, 154, 0, 249, 95, 57, 0, 190, 180, 38, 0, 36, 3, 110, 0, 219, 233, 225, 0, 252, 104, 52, 0, 188, 172, 107, 0, 47, 50, 223, 0, 99, 78, 237, 0, 235, 72, 26, 0, 25, 249, 37, 0, 177, 1, 121, 0, 78, 165, 13, 0, 192, 136, 77, 0, 105, 106, 147, 0, 118, 194, 78, 0, 134, 152, 170, 0, 135, 252, 119, 0, 146, 117, 36, 0, 68, 3, 134, 0, 27, 165, 168, 0, 231, 188, 5, 0, 134, 77, 7, 0, 39, 201, 2, 0, 18, 77, 76, 0, 43, 14, 118, 0, 181, 221, 181, 0, 215, 124, 106, 0, 54, 231, 196, 0, 163, 122, 46, 0, 242, 140, 15, 0, 193, 95, 44, 0, 238, 160, 205, 0, 144, 142, 212, 0, 235, 223, 17, 0, 40, 247, 125, 0, 46, 33, 130, 0, 244, 55, 76, 0, 108, 47, 164, 0, 87, 57, 225, 0, \ +224, 119, 161, 0, 56, 4, 67, 0, 206, 48, 31, 0, 71, 100, 123, 0, 29, 186, 163, 0, 239, 236, 200, 0, 14, 80, 109, 0, 35, 94, 173, 0, 218, 8, 220, 0, 84, 142, 66, 0, 205, 197, 161, 0, 227, 250, 124, 0, 175, 235, 205, 0, 19, 27, 47, 0, 28, 189, 193, 0, 59, 153, 131, 0, 174, 203, 97, 0, 155, 5, 154, 0, 239, 148, 192, 0, 144, 26, 72, 0, 41, 40, 45, 0, 226, 213, 5, 0, 97, 26, 220, 0, 107, 107, 57, 0, 83, 183, 95, 0, 151, 34, 220, 0, 233, 68, 232, 0, 44, 103, 65, 0, 214, 212, 146, 0, 135, 104, 208, 0, 106, 96, 28, 0, 190, 160, 28, 0, 66, 65, 244, 0, 14, 62, 65, 0, 53, 24, 8, 0, 166, 123, 130, 0, 63, 137, 241, 0, 178, 192, 48, 0, 130, 155, 249, 0, 67, 189, 168, 0, 1, 161, 173, 0, 192, 126, 210, 0, 95, 131, 243, 0, 224, 205, 104, 0, 140, 119, 26, 0, 229, 217, 75, 0, 70, 200, 50, 0, 226, 73, 234, 0, 59, 209, 18, 0, 166, 32, 39, 0, 170, 45, 101, 0, 142, 53, 213, 0, 53, 223, 33, 0, 43, 101, 96, 0, 72, 109, 201, 0, 99, 159, 128, 0, 128, 119, 251, 0, 96, 72, 96, 0, 22, 250, 24, 0, 252, 22, 224, 0, 122, 181, 10, 0, 134, 137, 98, 0, 226, 7, 83, 0, 191, 81, 236, 0, 229, 111, 12, 0, 217, 52, 107, 0, 115, 104, 181, 0, 66, 58, 38, 0, 40, 236, 35, 0, 202, 82, 138, 0, 40, 8, 6, 0, 51, 184, 67, 0, 197, 46, 169, 0, 81, 133, 205, 0, 153, 165, 212, 0, 116, 66, 197, 0, 167, 216, 232, 0, 190, 244, 7, 0, 99, 53, 244, 0, 63, 126, 50, 0, 41, 13, 191, 0, 83, 78, 144, 0, 57, 68, 69, 0, 27, 170, 39, 0, 178, 251, 33, 0, 206, 115, 169, 0, 140, 124, 26, 0, 188, 10, 63, 0, 15, 234, 12, 0, 96, 129, 7, 0, 235, 27, 108, 0, 104, 225, 208, 0, 229, 117, 0, 0, 22, 222, 44, 0, 235, 25, 21, 0, 24, 90, 124, 0, 18, 25, 249, 0, 58, 22, 185, 0, 30, 87, 89, 0, 135, 58, 9, 0, 203, 65, 74, 0, 26, 218, 18, 0, 138, 200, 42, 0, 188, 20, 12, 0, 208, 180, 149, 0, 122, 27, 114, 0, 202, 153, 145, 0, 206, 48, 117, 0, 243, 160, 148, 0, 219, 66, 180, 0, 94, 216, 108, 0, 168, 74, 203, 0, 21, 164, 239, 0, 206, 232, 62, 0, 235, 228, 61, 0, 206, 213, 34, 0, 223, 150, 148, 0, 254, 235, 19, 0, 72, 210, 137, 0, 149, 37, 134, 0, 86, 227, 215, 0, 218, 15, 215, 0, 209, 249, 155, 0, 124, 105, 59, 0, 155, 54, 17, 0, 40, 130, 217, 0, 91, 5, 49, 0, 47, 241, 108, 0, 132, 215, 196, 0, 115, 72, 74, 0, 114, 82, 48, 0, 196, 167, 39, 0, 5, 81, 199, 0, 251, 23, 101, 0, 211, 78, 77, 0, 113, 45, 74, 0, 239, 165, 33, 0, 58, 223, 202, 0, 136, 190, 204, 0, 6, 6, 217, 0, 30, 204, 104, 0, 55, 80, 104, 0, 40, 155, 241, 0, 100, 126, 250, 0, 214, 130, 118, 0, 184, 131, 180, 0, 250, 99, 36, 0, 20, 11, 217, 0, 13, 32, 107, 0, 137, 246, 112, 0, 5, 253, 205, 0, 142, 84, 63, 0, 132, 99, 248, 0, 97, 245, 221, 0, 164, 39, 48, 0, 91, 187, 34, 0, 98, 8, 112, 0, 20, 41, 31, 0, 96, 70, 76, 0, 232, 221, 153, 0, 231, 5, 100, 0, 119, 69, 179, 0, 108, 51, 131, 0, 169, 98, 94, 0, 203, 243, 205, 0, 167, 228, 9, 0, 157, 216, 26, 0, 69, 227, 6, 0, 161, 208, 225, 0, 20, 155, 74, 0, 241, 113, 194, 0, 46, 241, 42, 0, 60, 108, 92, 0, 169, 52, 15, 0, 170, 110, 195, 0, 79, 6, 84, 0, 80, 158, 142, 0, 231, 131, 138, 0, 237, 217, 92, 0, 84, 68, 119, 0, 12, 81, 33, 0, 91, 16, 191, 0, 123, 190, 243, 0, 91, 192, 240, 0, 178, 150, 158, 0, 79, 189, 219, 0, 252, 184, 82, 0, 76, 89, 249, 0, 82, 53, 194, 0, 118, 194, 225, 0, 142, 62, 238, 0, 211, 214, 106, 0, 155, 174, 12, 0, 231, 124, 160, 0, 218, 138, 155, 0, 71, 58, 196, 0, 139, 137, 185, 0, 71, 123, 98, 0, 6, 46, 184, 0, 160, 168, 127, 0, 99, 51, 20, 0, 191, 53, 100, 0, 73, 69, 146, 0, 108, 106, 179, 0, 136, 8, 154, 0, 201, 216, 170, 0, 92, 37, 29, 0, 179, 91, 147, 0, 8, 142, 196, 0, 237, 66, 92, 0, 48, 231, 248, 0, 251, 157, 129, 0, 34, 184, 188, 0, 222, 171, 14, 0, 229, 175, 252, 0, 141, 150, 174, 0, 93, 217, 209, 0, 247, 0, 236, 0, 158, 79, 225, 0, 105, 119, 166, 0, 214, 59, 181, 0, 220, 136, 231, 0, 122, 253, 237, 0, 40, 115, 42, 0, \ +39, 89, 235, 0, 154, 57, 39, 0, 167, 214, 92, 0, 161, 253, 229, 0, 158, 9, 234, 0, 230, 85, 109, 0, 133, 112, 139, 0, 42, 181, 70, 0, 56, 13, 104, 0, 154, 58, 172, 0, 13, 186, 29, 0, 113, 14, 95, 0, 109, 151, 96, 0, 41, 109, 78, 0, 218, 208, 87, 0, 18, 117, 112, 0, 87, 205, 201, 0, 74, 146, 55, 0, 97, 75, 187, 0, 27, 106, 118, 0, 122, 241, 210, 0, 198, 50, 157, 0, 31, 245, 37, 0, 123, 110, 209, 0, 219, 84, 222, 0, 22, 251, 212, 0, 63, 13, 7, 0, 222, 72, 24, 0, 82, 203, 158, 0, 41, 42, 215, 0, 221, 154, 143, 0, 55, 198, 126, 0, 240, 124, 35, 0, 132, 166, 116, 0, 104, 214, 208, 0, 20, 47, 146, 0, 204, 57, 234, 0, 207, 171, 36, 0, 217, 17, 71, 0, 20, 122, 188, 0, 31, 213, 199, 0, 198, 12, 160, 0, 36, 238, 90, 0, 201, 231, 52, 0, 202, 136, 252, 0, 66, 214, 227, 0, 32, 117, 108, 0, 49, 61, 124, 0, 224, 70, 214, 0, 184, 15, 82, 0, 59, 228, 247, 0, 248, 226, 26, 0, 216, 194, 176, 0, 53, 91, 107, 0, 169, 201, 118, 0, 168, 121, 112, 0, 233, 64, 49, 0, 167, 35, 243, 0, 175, 102, 45, 0, 227, 13, 167, 0, 215, 156, 113, 0, 252, 54, 127, 0, 126, 146, 54, 0, 24, 58, 74, 0, 36, 186, 29, 0, 59, 148, 36, 0, 156, 146, 74, 0, 41, 29, 212, 0, 223, 144, 233, 0, 191, 20, 53, 0, 134, 204, 39, 0, 233, 76, 225, 0, 89, 47, 220, 0, 64, 205, 181, 0, 88, 0, 90, 0, 202, 193, 25, 0, 163, 70, 128, 0, 103, 175, 196, 0, 97, 41, 254, 0, 29, 63, 72, 0, 167, 222, 128, 0, 229, 121, 126, 0, 76, 148, 114, 0, 130, 147, 96, 0, 210, 182, 183, 0, 201, 73, 201, 0, 58, 14, 149, 0, 222, 197, 32, 0, 168, 158, 18, 0, 225, 190, 106, 0, 166, 153, 75, 0, 7, 12, 21, 0, 130, 164, 236, 0, 5, 62, 49, 0, 164, 158, 187, 0, 177, 32, 236, 0, 84, 62, 243, 0, 250, 39, 4, 0, 119, 55, 11, 0, 20, 173, 209, 0, 31, 233, 184, 0, 36, 179, 149, 0, 246, 94, 245, 0, 178, 214, 127, 0, 78, 38, 242, 0, 6, 241, 172, 0, 6, 203, 14, 0, 61, 195, 139, 0, 203, 107, 68, 0, 159, 193, 133, 0, 34, 67, 117, 0, 83, 193, 178, 0, 33, 0, 15, 0, 102, 230, 197, 0, 219, 56, 10, 0, 27, 78, 44, 0, 174, 75, 115, 0, 39, 179, 45, 0, 32, 226, 176, 0, 243, 172, 46, 0, 118, 67, 122, 0, 213, 154, 124, 0, 128, 247, 179, 0, 177, 196, 1, 0, 66, 9, 21, 0, 46, 216, 100, 0, 77, 213, 73, 0, 109, 199, 228, 0, 16, 164, 157, 0, 13, 68, 239, 0, 138, 252, 136, 0, 125, 105, 223, 0, 132, 136, 182, 0, 24, 121, 226, 0, 202, 5, 79, 0, 68, 209, 78, 0, 63, 135, 42, 0, 134, 41, 217, 0, 39, 218, 97, 0, 85, 78, 6, 0, 44, 56, 104, 0, 195, 116, 110, 0, 57, 77, 17, 0, 207, 184, 110, 0, 169, 71, 198, 0, 24, 177, 146, 0, 182, 189, 67, 0, 148, 3, 68, 0, 41, 48, 139, 0, 236, 114, 225, 0, 1, 151, 194, 0, 143, 132, 201, 0, 47, 15, 151, 0, 249, 119, 133, 0, 187, 61, 164, 0, 183, 239, 22, 0, 11, 164, 225, 0, 37, 181, 248, 0, 205, 172, 4, 0, 227, 239, 203, 0, 99, 169, 177, 0, 92, 81, 207, 0, 187, 75, 138, 0, 155, 71, 200, 0, 153, 58, 6, 0, 95, 144, 74, 0, 125, 104, 51, 0, 226, 79, 155, 0, 249, 80, 95, 0, 53, 173, 197, 0, 77, 63, 147, 0, 176, 3, 102, 0, 53, 172, 177, 0, 84, 158, 30, 0, 162, 125, 119, 0, 220, 126, 204, 0, 4, 225, 207, 0, 100, 153, 102, 0, 177, 86, 230, 0, 159, 86, 233, 0, 50, 67, 146, 0, 240, 217, 1, 0, 110, 134, 38, 0, 97, 100, 60, 0, 105, 170, 100, 0, 127, 63, 44, 0, 121, 103, 76, 0, 112, 133, 158, 0, 91, 138, 159, 0, 143, 108, 181, 0, 55, 101, 104, 0, 17, 195, 240, 0, 156, 136, 154, 0, 232, 227, 140, 0, 23, 171, 23, 0, 91, 254, 159, 0, 218, 55, 145, 0, 9, 54, 223, 0, 44, 43, 86, 0, 77, 108, 163, 0, 114, 139, 181, 0, 7, 119, 184, 0, 4, 60, 122, 0, 64, 142, 159, 0, 84, 36, 180, 0, 115, 16, 157, 0, 16, 201, 89, 0, 119, 124, 166, 0, 146, 122, 117, 0, 218, 239, 249, 0, 3, 206, 121, 0, 155, 148, 22, 0, 199, 126, 144, 0, 188, 194, 170, 0, 147, 189, 100, 0, 185, 12, 92, 0, 105, 221, 112, 0, 69, 217, 192, 0, 237, 163, 142, 0, 9, 51, 124, 0, 139, 13, 169, 0, 138, 98, 145, 0, 210, 11, 69, 0, 6, 126, 26, 0, \ +102, 251, 101, 0, 241, 195, 209, 0, 17, 183, 86, 0, 204, 203, 151, 0, 199, 1, 99, 0, 252, 173, 65, 0, 112, 25, 8, 0, 63, 238, 58, 0, 156, 137, 238, 0, 27, 64, 100, 0, 102, 41, 238, 0, 240, 235, 53, 0, 251, 13, 100, 0, 208, 157, 252, 0, 214, 85, 253, 0, 49, 190, 55, 0, 198, 97, 28, 0, 181, 36, 137, 0, 212, 165, 32, 0, 253, 240, 142, 0, 80, 157, 91, 0, 170, 37, 45, 0, 177, 235, 23, 0, 27, 83, 136, 0, 184, 152, 125, 0, 89, 22, 244, 0, 250, 200, 0, 0, 177, 84, 233, 0, 139, 38, 201, 0, 200, 195, 203, 0, 227, 116, 252, 0, 87, 12, 45, 0, 237, 67, 58, 0, 191, 27, 41, 0, 55, 176, 178, 0, 22, 50, 131, 0, 219, 121, 236, 0, 52, 219, 121, 0, 229, 64, 63, 0, 232, 7, 181, 0, 195, 140, 254, 0, 198, 164, 98, 0, 12, 43, 35, 0, 210, 103, 246, 0, 241, 244, 36, 0, 68, 56, 85, 0, 249, 41, 183, 0, 203, 84, 40, 0, 52, 231, 161, 0, 239, 209, 43, 0, 165, 220, 106, 0, 37, 205, 214, 0, 195, 16, 44, 0, 128, 230, 221, 0, 97, 181, 231, 0, 162, 31, 140, 0, 216, 90, 200, 0, 1, 180, 243, 0, 65, 123, 76, 0, 157, 221, 144, 0, 203, 95, 221, 0, 138, 238, 37, 0, 218, 30, 76, 0, 221, 142, 177, 0, 170, 197, 179, 0, 154, 42, 38, 0, 58, 179, 103, 0, 142, 166, 145, 0, 216, 54, 32, 0, 163, 234, 21, 0, 15, 246, 35, 0, 138, 159, 133, 0, 174, 218, 158, 0, 124, 63, 101, 0, 212, 136, 191, 0, 4, 209, 248, 0, 246, 232, 180, 0, 221, 102, 7, 0, 108, 156, 253, 0, 216, 141, 1, 0, 254, 219, 86, 0, 202, 167, 153, 0, 177, 131, 79, 0, 109, 203, 247, 0, 56, 253, 30, 0, 26, 74, 62, 0, 244, 13, 148, 0, 31, 140, 83, 0, 89, 236, 244, 0, 2, 100, 226, 0, 88, 201, 200, 0, 187, 144, 144, 0, 27, 154, 171, 0, 23, 182, 229, 0, 63, 170, 217, 0, 109, 238, 210, 0, 236, 81, 53, 0, 138, 218, 122, 0, 194, 109, 221, 0, 47, 132, 251, 0, 48, 27, 27, 0, 78, 251, 143, 0, 146, 53, 118, 0, 2, 18, 42, 0, 12, 111, 151, 0, 107, 41, 68, 0, 232, 91, 154, 0, 139, 195, 129, 0, 176, 181, 103, 0, 231, 123, 132, 0, 3, 45, 82, 0, 211, 78, 134, 0, 60, 142, 122, 0, 189, 185, 40, 0, 136, 79, 27, 0, 214, 188, 81, 0, 134, 11, 32, 0, 124, 61, 168, 0, 145, 146, 97, 0, 220, 51, 40, 0, 167, 105, 168, 0, 112, 107, 180, 0, 12, 204, 16, 0, 39, 138, 28, 0, 249, 149, 26, 0, 74, 149, 150, 0, 55, 154, 207, 0, 11, 120, 246, 0, 20, 221, 163, 0, 91, 9, 32, 0, 75, 71, 119, 0, 191, 110, 187, 0, 204, 6, 113, 0, 217, 19, 46, 0, 95, 163, 107, 0, 160, 242, 86, 0, 226, 112, 111, 0, 192, 145, 90, 0, 189, 217, 65, 0, 233, 59, 206, 0, 202, 61, 244, 0, 87, 123, 112, 0, 132, 131, 217, 0, 232, 12, 182, 0, 157, 129, 36, 0, 192, 90, 157, 0, 117, 32, 52, 0, 22, 1, 220, 0, 3, 85, 179, 0, 51, 8, 134, 0, 174, 130, 124, 0, 53, 112, 153, 0, 33, 221, 116, 0, 88, 153, 214, 0, 6, 20, 56, 0, 58, 225, 184, 0, 194, 53, 53, 0, 117, 86, 112, 0, 60, 220, 238, 0, 125, 169, 124, 0, 0, 9, 191, 0, 111, 17, 114, 0, 166, 232, 189, 0, 240, 39, 27, 0, 120, 102, 3, 0, 176, 73, 148, 0, 4, 223, 228, 0, 166, 220, 49, 0, 168, 6, 115, 0, 207, 30, 253, 0, 61, 152, 69, 0, 181, 70, 42, 0, 69, 201, 227, 0, 47, 247, 204, 0, 219, 121, 11, 0, 152, 8, 153, 0, 13, 201, 162, 0, 53, 220, 161, 0, 143, 86, 107, 0, 218, 12, 27, 0, 175, 83, 82, 0, 237, 178, 175, 0, 69, 96, 240, 0, 195, 199, 14, 0, 81, 243, 108, 0, 93, 29, 32, 0, 95, 186, 95, 0, 149, 60, 124, 0, 131, 200, 145, 0, 58, 19, 17, 0, 189, 51, 21, 0, 181, 138, 138, 0, 153, 125, 157, 0, 240, 134, 8, 0, 12, 121, 123, 0, 134, 27, 64, 0, 23, 227, 26, 0, 99, 14, 118, 0, 147, 2, 230, 0, 71, 228, 136, 0, 5, 246, 95, 0, 91, 11, 69, 0, 7, 20, 109, 0, 178, 170, 121, 0, 181, 72, 67, 0, 15, 231, 134, 0, 100, 72, 106, 0, 36, 220, 185, 0, 247, 68, 79, 0, 82, 52, 192, 0, 206, 200, 240, 0, 228, 120, 204, 0, 253, 17, 25, 0, 205, 169, 89, 0, 63, 184, 159, 0, 48, 200, 20, 0, 208, 192, 221, 0, 31, 203, 225, 0, 220, 110, 98, 0, 94, 93, 207, 0, 96, 166, 183, 0, 85, 251, 80, 0, 161, 42, 212, 0, 238, 205, 35, 0, \ +131, 12, 196, 0, 191, 214, 66, 0, 218, 75, 213, 0, 25, 141, 116, 0, 252, 65, 175, 0, 184, 131, 231, 0, 141, 77, 61, 0, 231, 76, 117, 0, 80, 62, 84, 0, 29, 81, 111, 0, 248, 161, 158, 0, 172, 153, 147, 0, 57, 55, 102, 0, 194, 65, 187, 0, 155, 138, 7, 0, 55, 254, 163, 0, 128, 213, 52, 0, 130, 209, 254, 0, 221, 66, 222, 0, 208, 166, 13, 0, 20, 224, 101, 0, 46, 141, 152, 0, 160, 211, 209, 0, 33, 143, 201, 0, 92, 9, 216, 0, 133, 141, 105, 0, 163, 131, 131, 0, 39, 156, 233, 0, 213, 83, 84, 0, 79, 161, 88, 0, 250, 26, 32, 0, 15, 27, 225, 0, 215, 32, 54, 0, 169, 227, 40, 0, 20, 217, 105, 0, 75, 253, 209, 0, 4, 154, 46, 0, 208, 207, 165, 0, 195, 220, 162, 0, 238, 35, 69, 0, 52, 127, 179, 0, 165, 50, 198, 0, 125, 224, 122, 0, 105, 94, 49, 0, 200, 130, 116, 0, 74, 103, 176, 0, 145, 183, 0, 0, 74, 1, 36, 0, 216, 15, 112, 0, 10, 222, 221, 0, 63, 61, 5, 0, 212, 93, 184, 0, 106, 249, 160, 0, 140, 239, 156, 0, 108, 131, 145, 0, 202, 45, 79, 0, 53, 215, 131, 0, 126, 34, 237, 0, 238, 2, 52, 0, 145, 16, 202, 0, 239, 195, 147, 0, 156, 42, 131, 0, 233, 78, 19, 0, 213, 106, 248, 0, 161, 175, 149, 0, 49, 50, 252, 0, 237, 5, 238, 0, 126, 132, 132, 0, 60, 227, 165, 0, 50, 213, 250, 0, 162, 167, 149, 0, 99, 197, 207, 0, 217, 178, 167, 0, 181, 197, 194, 0, 7, 149, 38, 0, 174, 154, 150, 0, 64, 59, 3, 0, 125, 239, 77, 0, 130, 88, 22, 0, 101, 87, 97, 0, 126, 131, 27, 0, 205, 24, 216, 0, 106, 114, 16, 0, 250, 28, 162, 0, 124, 134, 244, 0, 183, 43, 135, 0, 104, 122, 175, 0, 111, 123, 244, 0, 126, 19, 193, 0, 33, 144, 252, 0, 205, 65, 126, 0, 19, 220, 159, 0, 248, 155, 211, 0, 135, 9, 35, 0, 120, 213, 65, 0, 80, 155, 225, 0, 247, 95, 71, 0, 211, 103, 232, 0, 20, 214, 98, 0, 216, 6, 146, 0, 42, 147, 113, 0, 64, 97, 124, 0, 133, 105, 106, 0, 3, 62, 204, 0, 56, 107, 245, 0, 29, 99, 29, 0, 254, 218, 86, 0, 131, 33, 74, 0, 61, 84, 74, 0, 150, 216, 203, 0, 28, 66, 124, 0, 243, 129, 220, 0, 79, 104, 66, 0, 202, 222, 126, 0, 192, 108, 215, 0, 33, 70, 122, 0, 39, 104, 218, 0, 241, 164, 51, 0, 69, 42, 190, 0, 254, 173, 248, 0, 232, 149, 188, 0, 68, 28, 12, 0, 227, 146, 181, 0, 178, 83, 184, 0, 232, 22, 90, 0, 25, 180, 142, 0, 6, 105, 194, 0, 193, 137, 254, 0, 5, 128, 192, 0, 29, 123, 80, 0, 49, 114, 237, 0, 185, 69, 129, 0, 152, 247, 229, 0, 203, 227, 170, 0, 93, 182, 68, 0, 27, 187, 200, 0, 22, 220, 159, 0, 182, 51, 68, 0, 35, 245, 160, 0, 124, 179, 192, 0, 0, 228, 110, 0, 192, 109, 230, 0, 25, 85, 52, 0, 207, 253, 151, 0, 72, 172, 106, 0, 222, 61, 6, 0, 235, 66, 103, 0, 148, 150, 16, 0, 21, 49, 230, 0, 218, 149, 34, 0, 185, 67, 17, 0, 15, 157, 210, 0, 81, 11, 99, 0, 211, 9, 67, 0, 148, 227, 150, 0, 232, 106, 191, 0, 202, 209, 102, 0, 159, 221, 62, 0, 168, 169, 108, 0, 252, 114, 169, 0, 181, 182, 241, 0, 40, 118, 2, 0, 181, 206, 118, 0, 150, 206, 182, 0, 94, 157, 91, 0, 188, 45, 217, 0, 76, 126, 13, 0, 164, 208, 165, 0, 204, 140, 218, 0, 105, 113, 253, 0, 149, 213, 85, 0, 154, 124, 55, 0, 2, 83, 163, 0, 187, 44, 127, 0, 253, 190, 71, 0, 186, 209, 227, 0, 200, 147, 8, 0, 141, 141, 252, 0, 110, 13, 195, 0, 113, 212, 189, 0, 60, 245, 18, 0, 218, 91, 99, 0, 10, 15, 23, 0, 155, 26, 191, 0, 56, 106, 3, 0, 167, 56, 78, 0, 186, 9, 19, 0, 82, 167, 28, 0, 6, 233, 10, 0, 18, 21, 55, 0, 181, 48, 32, 0, 209, 152, 151, 0, 7, 100, 132, 0, 153, 26, 241, 0, 250, 20, 189, 0, 200, 94, 1, 0, 185, 220, 209, 0, 139, 39, 27, 0, 201, 252, 16, 0, 2, 61, 65, 0, 56, 136, 108, 0, 138, 46, 0, 0, 57, 14, 34, 0, 156, 205, 202, 0, 192, 146, 43, 0, 134, 222, 161, 0, 111, 143, 195, 0, 23, 149, 134, 0, 32, 95, 233, 0, 212, 50, 102, 0, 79, 75, 208, 0, 87, 179, 87, 0, 230, 216, 177, 0, 115, 211, 49, 0, 162, 130, 54, 0, 241, 186, 124, 0, 113, 76, 68, 0, 99, 15, 214, 0, 101, 197, 215, 0, 41, 16, 112, 0, 231, 247, 55, 0, 117, 173, 69, 0, 88, 103, 193, 0, 97, 21, 123, 0, \ +106, 120, 70, 0, 29, 231, 178, 0, 115, 188, 53, 0, 193, 238, 231, 0, 131, 202, 109, 0, 195, 121, 198, 0, 97, 48, 168, 0, 196, 128, 27, 0, 57, 157, 232, 0, 71, 142, 144, 0, 247, 0, 38, 0, 50, 192, 213, 0, 178, 196, 58, 0, 244, 168, 17, 0, 114, 238, 111, 0, 204, 225, 243, 0, 219, 213, 237, 0, 135, 234, 226, 0, 97, 161, 89, 0, 209, 20, 252, 0, 129, 195, 63, 0, 102, 166, 104, 0, 211, 202, 153, 0, 197, 61, 171, 0, 103, 199, 49, 0, 97, 93, 131, 0, 247, 101, 135, 0, 151, 245, 149, 0, 19, 164, 75, 0, 48, 114, 211, 0, 30, 249, 245, 0, 165, 120, 187, 0, 243, 75, 162, 0, 228, 81, 84, 0, 108, 135, 234, 0, 174, 55, 120, 0, 180, 235, 194, 0, 219, 246, 211, 0, 93, 107, 151, 0, 208, 190, 113, 0, 119, 68, 75, 0, 160, 219, 252, 0, 108, 43, 155, 0, 196, 62, 166, 0, 188, 2, 225, 0, 48, 0, 68, 0, 252, 94, 64, 0, 98, 152, 172, 0, 57, 221, 110, 0, 21, 242, 141, 0, 141, 139, 24, 0, 2, 219, 108, 0, 143, 24, 222, 0, 233, 132, 199, 0, 55, 6, 119, 0, 25, 98, 156, 0, 123, 110, 62, 0, 153, 79, 1, 0, 208, 152, 157, 0, 203, 225, 48, 0, 89, 123, 51, 0, 45, 169, 43, 0, 23, 105, 34, 0, 175, 150, 170, 0, 159, 49, 192, 0, 206, 232, 15, 0, 193, 215, 194, 0, 222, 64, 199, 0, 29, 233, 22, 0, 42, 140, 188, 0, 245, 95, 142, 0, 149, 150, 58, 0, 23, 84, 235, 0, 186, 99, 35, 0, 146, 158, 109, 0, 47, 85, 47, 0, 151, 61, 2, 0, 130, 54, 236, 0, 19, 159, 193, 0, 128, 171, 79, 0, 236, 242, 167, 0, 21, 112, 26, 0, 49, 102, 135, 0, 166, 12, 98, 0, 137, 44, 23, 0, 186, 11, 143, 0, 132, 150, 181, 0, 11, 244, 52, 0, 136, 216, 52, 0, 84, 209, 58, 0, 81, 67, 37, 0, 35, 11, 11, 0, 29, 198, 146, 0, 229, 213, 110, 0, 245, 95, 98, 0, 155, 213, 9, 0, 77, 134, 7, 0, 211, 59, 111, 0, 32, 64, 218, 0, 73, 254, 104, 0, 173, 165, 166, 0, 79, 7, 13, 0, 170, 105, 229, 0, 147, 3, 80, 0, 77, 125, 100, 0, 150, 102, 135, 0, 195, 22, 113, 0, 162, 146, 138, 0, 51, 248, 174, 0, 243, 227, 2, 0, 87, 6, 87, 0, 27, 124, 134, 0, 171, 0, 226, 0, 6, 150, 121, 0, 240, 52, 190, 0, 5, 235, 147, 0, 229, 208, 112, 0, 194, 45, 197, 0, 192, 57, 176, 0, 242, 227, 5, 0, 78, 36, 246, 0, 242, 73, 226, 0, 93, 27, 119, 0, 140, 249, 64, 0, 43, 24, 225, 0, 59, 251, 187, 0, 165, 214, 128, 0, 56, 91, 229, 0, 226, 193, 79, 0, 214, 113, 27, 0, 31, 164, 196, 0, 246, 112, 73, 0, 156, 111, 166, 0, 26, 187, 104, 0, 221, 95, 84, 0, 135, 21, 193, 0, 236, 55, 9, 0, 197, 74, 77, 0, 158, 249, 144, 0, 65, 102, 165, 0, 239, 19, 162, 0, 96, 232, 63, 0, 22, 122, 50, 0, 108, 115, 50, 0, 103, 186, 13, 0, 72, 193, 225, 0, 251, 55, 125, 0, 227, 94, 110, 0, 6, 71, 217, 0, 35, 125, 79, 0, 164, 26, 65, 0, 116, 59, 35, 0, 45, 155, 198, 0, 209, 94, 71, 0, 214, 52, 179, 0, 216, 203, 111, 0, 135, 37, 38, 0, 90, 157, 159, 0, 225, 44, 222, 0, 39, 149, 13, 0, 152, 219, 173, 0, 14, 93, 245, 0, 247, 170, 134, 0, 55, 120, 81, 0, 187, 98, 122, 0, 17, 124, 16, 0, 189, 223, 151, 0, 135, 189, 70, 0, 75, 149, 140, 0, 162, 179, 95, 0, 179, 178, 97, 0, 230, 169, 139, 0, 103, 4, 212, 0, 107, 251, 179, 0, 96, 119, 153, 0, 246, 4, 226, 0, 54, 64, 56, 0, 1, 175, 132, 0, 251, 142, 216, 0, 112, 205, 81, 0, 231, 65, 96, 0, 27, 8, 35, 0, 6, 145, 169, 0, 191, 80, 154, 0, 52, 244, 86, 0, 215, 86, 97, 0, 99, 228, 225, 0, 75, 5, 153, 0, 5, 131, 108, 0, 78, 105, 252, 0, 250, 70, 48, 0, 191, 251, 127, 0, 212, 146, 252, 0, 114, 80, 52, 0, 108, 158, 177, 0, 4, 97, 177, 0, 157, 88, 109, 0, 201, 107, 85, 0, 212, 244, 206, 0, 142, 232, 127, 0, 71, 201, 15, 0, 109, 120, 31, 0, 103, 217, 86, 0, 66, 231, 51, 0, 147, 6, 208, 0, 108, 151, 134, 0, 142, 20, 85, 0, 26, 238, 71, 0, 152, 209, 222, 0, 71, 11, 204, 0, 82, 166, 13, 0, 56, 157, 99, 0, 1, 29, 129, 0, 137, 68, 171, 0, 5, 214, 74, 0, 19, 183, 185, 0, 165, 98, 144, 0, 68, 243, 158, 0, 160, 178, 107, 0, 130, 85, 142, 0, 82, 51, 26, 0, 204, 65, 174, 0, 28, 27, 238, 0, 43, 181, 0, 0, \ +110, 63, 136, 0, 26, 137, 108, 0, 64, 23, 155, 0, 213, 103, 219, 0, 75, 129, 230, 0, 98, 10, 73, 0, 2, 248, 237, 0, 229, 152, 148, 0, 5, 8, 78, 0, 119, 249, 32, 0, 207, 7, 180, 0, 201, 234, 80, 0, 226, 250, 246, 0, 232, 205, 234, 0, 12, 196, 204, 0, 221, 125, 134, 0, 66, 190, 253, 0, 57, 7, 6, 0, 10, 222, 131, 0, 245, 160, 245, 0, 42, 82, 247, 0, 164, 248, 42, 0, 249, 5, 127, 0, 112, 31, 91, 0, 208, 190, 184, 0, 39, 155, 200, 0, 30, 244, 16, 0, 139, 45, 111, 0, 193, 254, 129, 0, 84, 217, 44, 0, 147, 173, 59, 0, 226, 187, 12, 0, 16, 116, 232, 0, 96, 70, 143, 0, 138, 178, 68, 0, 233, 68, 232, 0, 186, 185, 129, 0, 134, 228, 231, 0, 5, 48, 220, 0, 22, 86, 214, 0, 133, 64, 249, 0, 202, 220, 227, 0, 86, 161, 5, 0, 32, 182, 223, 0, 36, 102, 219, 0, 186, 83, 199, 0, 9, 225, 205, 0, 58, 35, 196, 0, 11, 248, 102, 0, 155, 119, 25, 0, 212, 201, 191, 0, 228, 105, 212, 0, 172, 62, 228, 0, 183, 223, 77, 0, 216, 135, 15, 0, 56, 74, 178, 0, 129, 190, 109, 0, 181, 254, 0, 0, 157, 95, 230, 0, 70, 113, 114, 0, 132, 99, 247, 0, 114, 77, 49, 0, 223, 93, 131, 0, 117, 100, 230, 0, 28, 172, 73, 0, 247, 171, 111, 0, 162, 5, 70, 0, 163, 206, 1, 0, 46, 32, 249, 0, 161, 89, 110, 0, 13, 50, 39, 0, 90, 206, 99, 0, 114, 161, 179, 0, 49, 148, 119, 0, 48, 252, 171, 0, 7, 126, 216, 0, 41, 130, 183, 0, 7, 241, 183, 0, 227, 171, 161, 0, 24, 140, 140, 0, 176, 81, 58, 0, 131, 81, 139, 0, 113, 105, 0, 0, 105, 64, 198, 0, 235, 55, 194, 0, 95, 237, 45, 0, 231, 143, 135, 0, 140, 240, 19, 0, 244, 146, 27, 0, 176, 193, 150, 0, 56, 54, 219, 0, 39, 203, 79, 0, 38, 23, 142, 0, 122, 214, 162, 0, 94, 146, 106, 0, 70, 124, 30, 0, 66, 223, 186, 0, 2, 30, 16, 0, 37, 202, 133, 0, 194, 51, 29, 0, 173, 248, 212, 0, 11, 47, 39, 0, 227, 24, 14, 0, 54, 99, 137, 0, 112, 207, 200, 0, 239, 87, 121, 0, 135, 201, 32, 0, 25, 10, 149, 0, 100, 63, 232, 0, 98, 136, 2, 0, 36, 53, 229, 0, 202, 37, 206, 0, 21, 200, 195, 0, 188, 206, 253, 0, 77, 236, 134, 0, 209, 251, 104, 0, 153, 64, 79, 0, 234, 8, 141, 0, 132, 102, 217, 0, 97, 220, 143, 0, 125, 161, 183, 0, 67, 58, 7, 0, 8, 156, 42, 0, 76, 215, 252, 0, 91, 6, 143, 0, 9, 168, 6, 0, 117, 39, 221, 0, 88, 205, 100, 0, 97, 149, 1, 0, 96, 103, 139, 0, 121, 205, 86, 0, 172, 188, 115, 0, 221, 212, 53, 0, 97, 184, 223, 0, 218, 56, 18, 0, 0, 87, 43, 0, 118, 215, 221, 0, 245, 227, 179, 0, 151, 208, 207, 0, 102, 193, 89, 0, 170, 196, 134, 0, 33, 239, 73, 0, 185, 1, 21, 0, 61, 94, 228, 0, 98, 192, 75, 0, 159, 95, 239, 0, 244, 149, 175, 0, 218, 140, 175, 0, 234, 183, 52, 0, 76, 181, 124, 0, 113, 144, 182, 0, 235, 29, 16, 0, 180, 62, 183, 0, 104, 156, 113, 0, 162, 66, 124, 0, 250, 17, 254, 0, 244, 86, 73, 0, 208, 115, 140, 0, 52, 101, 170, 0, 239, 91, 31, 0, 158, 104, 39, 0, 105, 173, 41, 0, 167, 199, 23, 0, 145, 15, 76, 0, 104, 159, 46, 0, 162, 229, 58, 0, 235, 158, 147, 0, 191, 96, 42, 0, 210, 132, 97, 0, 218, 133, 126, 0, 44, 84, 24, 0, 230, 124, 70, 0, 109, 162, 122, 0, 170, 48, 130, 0, 236, 238, 227, 0, 241, 71, 99, 0, 106, 119, 48, 0, 138, 25, 228, 0, 84, 213, 34, 0, 192, 191, 162, 0, 211, 51, 98, 0, 123, 95, 157, 0, 92, 118, 165, 0, 81, 106, 188, 0, 88, 216, 104, 0, 84, 192, 210, 0, 174, 201, 237, 0, 33, 179, 55, 0, 104, 65, 171, 0, 202, 195, 140, 0, 15, 59, 85, 0, 127, 196, 37, 0, 147, 13, 253, 0, 241, 28, 223, 0, 230, 192, 38, 0, 118, 62, 65, 0, 68, 234, 1, 0, 56, 120, 139, 0, 163, 207, 201, 0, 35, 140, 203, 0, 146, 157, 124, 0, 141, 99, 167, 0, 202, 40, 78, 0, 230, 128, 154, 0, 121, 140, 113, 0, 108, 22, 89, 0, 33, 226, 33, 0, 145, 157, 136, 0, 90, 228, 239, 0, 89, 122, 224, 0, 95, 222, 229, 0, 118, 150, 183, 0, 199, 161, 235, 0, 198, 59, 249, 0, 88, 251, 88, 0, 125, 71, 162, 0, 154, 164, 14, 0, 84, 217, 23, 0, 91, 139, 12, 0, 222, 59, 92, 0, 226, 46, 74, 0, 145, 107, 179, 0, 47, 190, 177, 0, 28, 26, 23, 0, \ +80, 43, 62, 0, 229, 64, 70, 0, 67, 112, 150, 0, 250, 68, 139, 0, 205, 244, 28, 0, 123, 121, 127, 0, 243, 239, 79, 0, 242, 244, 77, 0, 22, 65, 146, 0, 222, 137, 2, 0, 115, 242, 189, 0, 141, 136, 117, 0, 30, 17, 176, 0, 103, 23, 41, 0, 95, 215, 158, 0, 101, 144, 209, 0, 97, 164, 98, 0, 91, 220, 60, 0, 197, 169, 91, 0, 156, 210, 56, 0, 110, 205, 76, 0, 165, 194, 232, 0, 75, 86, 245, 0, 13, 192, 152, 0, 60, 116, 185, 0, 43, 110, 56, 0, 107, 111, 216, 0, 40, 165, 181, 0, 215, 2, 232, 0, 101, 33, 63, 0, 121, 112, 137, 0, 231, 119, 223, 0, 119, 99, 75, 0, 97, 128, 5, 0, 15, 202, 15, 0, 166, 106, 120, 0, 237, 254, 34, 0, 218, 18, 230, 0, 243, 202, 94, 0, 104, 194, 42, 0, 123, 199, 217, 0, 235, 144, 113, 0, 174, 52, 212, 0, 216, 250, 125, 0, 86, 167, 162, 0, 70, 120, 188, 0, 108, 79, 173, 0, 254, 190, 231, 0, 219, 20, 108, 0, 111, 69, 212, 0, 18, 52, 195, 0, 62, 158, 205, 0, 235, 196, 177, 0, 116, 18, 223, 0, 236, 175, 128, 0, 121, 192, 33, 0, 110, 214, 33, 0, 31, 13, 93, 0, 71, 83, 244, 0, 69, 63, 132, 0, 51, 120, 119, 0, 31, 156, 177, 0, 128, 35, 20, 0, 42, 68, 182, 0, 224, 155, 21, 0, 119, 168, 62, 0, 253, 41, 59, 0, 105, 207, 38, 0, 80, 14, 105, 0, 192, 5, 92, 0, 129, 72, 176, 0, 175, 9, 237, 0, 233, 189, 161, 0, 135, 23, 48, 0, 43, 46, 142, 0, 149, 205, 215, 0, 40, 229, 43, 0, 207, 158, 188, 0, 189, 93, 84, 0, 39, 49, 21, 0, 6, 129, 165, 0, 7, 88, 77, 0, 225, 158, 120, 0, 74, 233, 161, 0, 214, 94, 102, 0, 103, 12, 142, 0, 176, 242, 119, 0, 127, 20, 110, 0, 3, 132, 218, 0, 64, 197, 6, 0, 145, 26, 108, 0, 14, 239, 175, 0, 244, 40, 146, 0, 229, 162, 14, 0, 234, 51, 79, 0, 226, 12, 235, 0, 27, 3, 67, 0, 236, 61, 86, 0, 81, 31, 197, 0, 242, 43, 219, 0, 216, 62, 88, 0, 231, 129, 19, 0, 170, 201, 121, 0, 46, 172, 24, 0, 173, 82, 191, 0, 47, 154, 132, 0, 145, 156, 244, 0, 48, 139, 243, 0, 105, 65, 238, 0, 249, 57, 178, 0, 24, 236, 154, 0, 195, 111, 43, 0, 23, 251, 168, 0, 0, 130, 168, 0, 181, 198, 121, 0, 205, 146, 35, 0, 213, 244, 174, 0, 184, 84, 76, 0, 189, 162, 201, 0, 181, 96, 72, 0, 103, 159, 26, 0, 20, 54, 30, 0, 44, 44, 27, 0, 77, 71, 125, 0, 53, 145, 254, 0, 225, 136, 37, 0, 123, 106, 194, 0, 213, 8, 189, 0, 242, 30, 210, 0, 161, 107, 93, 0, 134, 126, 206, 0, 193, 44, 180, 0, 25, 73, 236, 0, 232, 238, 172, 0, 246, 153, 167, 0, 82, 32, 53, 0, 146, 96, 122, 0, 205, 49, 223, 0, 198, 105, 134, 0, 217, 57, 82, 0, 73, 83, 123, 0, 201, 37, 151, 0, 67, 78, 249, 0, 248, 4, 222, 0, 48, 50, 88, 0, 4, 187, 16, 0, 38, 137, 214, 0, 39, 118, 87, 0, 109, 192, 76, 0, 230, 53, 128, 0, 132, 167, 244, 0, 145, 240, 111, 0, 145, 197, 220, 0, 151, 250, 66, 0, 147, 81, 133, 0, 106, 60, 152, 0, 205, 20, 185, 0, 5, 13, 169, 0, 122, 209, 130, 0, 209, 187, 115, 0, 254, 31, 63, 0, 192, 121, 61, 0, 47, 102, 159, 0, 51, 43, 77, 0, 167, 23, 178, 0, 57, 19, 0, 0, 182, 179, 6, 0, 80, 248, 187, 0, 226, 122, 218, 0, 197, 209, 123, 0, 65, 171, 208, 0, 7, 163, 213, 0, 129, 37, 153, 0, 101, 24, 29, 0, 67, 10, 161, 0, 67, 83, 191, 0, 237, 202, 248, 0, 211, 246, 162, 0, 75, 223, 226, 0, 184, 57, 74, 0, 203, 52, 223, 0, 129, 226, 121, 0, 17, 78, 107, 0, 219, 201, 242, 0, 245, 58, 188, 0, 209, 91, 50, 0, 186, 226, 66, 0, 232, 170, 1, 0, 223, 129, 151, 0, 234, 99, 209, 0, 15, 163, 144, 0, 36, 215, 69, 0, 215, 38, 114, 0, 224, 1, 183, 0, 84, 9, 44, 0, 237, 161, 121, 0, 199, 123, 194, 0, 29, 247, 6, 0, 12, 111, 197, 0, 172, 157, 163, 0, 85, 151, 112, 0, 80, 177, 87, 0, 182, 68, 163, 0, 39, 196, 181, 0, 172, 211, 110, 0, 25, 200, 168, 0, 16, 179, 197, 0, 90, 227, 127, 0, 18, 50, 230, 0, 175, 83, 205, 0, 218, 183, 157, 0, 14, 121, 7, 0, 46, 180, 103, 0, 142, 156, 48, 0, 115, 73, 167, 0, 92, 22, 30, 0, 194, 162, 198, 0, 104, 6, 22, 0, 7, 205, 51, 0, 239, 206, 158, 0, 112, 29, 226, 0, 194, 174, 15, 0, 93, 140, 159, 0, 32, 49, 94, 0, \ +178, 156, 100, 0, 236, 97, 91, 0, 191, 64, 158, 0, 6, 11, 28, 0, 205, 68, 23, 0, 34, 72, 11, 0, 74, 217, 93, 0, 220, 248, 6, 0, 119, 49, 17, 0, 36, 241, 155, 0, 59, 226, 194, 0, 236, 175, 225, 0, 1, 21, 61, 0, 121, 11, 25, 0, 113, 128, 44, 0, 99, 137, 68, 0, 58, 232, 176, 0, 219, 233, 252, 0, 149, 137, 167, 0, 219, 202, 22, 0, 104, 199, 221, 0, 92, 135, 210, 0, 180, 249, 230, 0, 254, 0, 52, 0, 245, 74, 96, 0, 134, 24, 44, 0, 233, 207, 20, 0, 212, 34, 159, 0, 252, 176, 95, 0, 177, 80, 179, 0, 216, 64, 56, 0, 40, 145, 232, 0, 112, 211, 181, 0, 186, 236, 145, 0, 219, 71, 125, 0, 185, 154, 121, 0, 224, 184, 10, 0, 97, 27, 39, 0, 36, 42, 115, 0, 108, 99, 100, 0, 12, 214, 238, 0, 109, 117, 123, 0, 196, 69, 246, 0, 59, 210, 81, 0, 51, 83, 21, 0, 172, 231, 78, 0, 167, 160, 106, 0, 204, 14, 200, 0, 31, 135, 164, 0, 12, 156, 162, 0, 28, 36, 26, 0, 19, 44, 128, 0, 41, 25, 164, 0, 69, 28, 130, 0, 127, 52, 198, 0, 229, 64, 199, 0, 253, 59, 220, 0, 237, 249, 159, 0, 62, 40, 101, 0, 0, 250, 4, 0, 121, 107, 233, 0, 186, 179, 53, 0, 34, 125, 66, 0, 111, 177, 249, 0, 254, 178, 127, 0, 214, 137, 25, 0, 100, 243, 48, 0, 237, 118, 173, 0, 248, 191, 16, 0, 69, 136, 179, 0, 110, 125, 232, 0, 160, 40, 241, 0, 100, 62, 98, 0, 81, 88, 75, 0, 50, 171, 238, 0, 107, 207, 238, 0, 116, 173, 7, 0, 29, 163, 84, 0, 139, 137, 218, 0, 139, 80, 231, 0, 227, 165, 143, 0, 74, 159, 208, 0, 184, 222, 13, 0, 100, 142, 193, 0, 65, 32, 90, 0, 150, 136, 69, 0, 144, 57, 4, 0, 64, 230, 137, 0, 126, 223, 239, 0, 237, 249, 16, 0, 235, 23, 179, 0, 95, 223, 212, 0, 29, 77, 86, 0, 12, 40, 163, 0, 19, 49, 95, 0, 26, 213, 86, 0, 27, 161, 192, 0, 114, 99, 1, 0, 230, 35, 100, 0, 56, 51, 118, 0, 79, 154, 172, 0, 225, 191, 67, 0, 42, 20, 72, 0, 158, 228, 102, 0, 141, 22, 179, 0, 70, 60, 133, 0, 159, 91, 43, 0, 56, 211, 220, 0, 1, 64, 86, 0, 77, 6, 150, 0, 50, 230, 168, 0, 104, 28, 9, 0, 169, 118, 180, 0, 240, 105, 188, 0, 157, 77, 107, 0, 203, 168, 118, 0, 127, 143, 89, 0, 125, 108, 114, 0, 246, 235, 130, 0, 184, 38, 197, 0, 144, 192, 26, 0, 105, 17, 230, 0, 87, 130, 110, 0, 193, 220, 121, 0, 165, 9, 66, 0, 243, 142, 141, 0, 111, 32, 126, 0, 234, 65, 154, 0, 237, 159, 124, 0, 227, 150, 75, 0, 199, 83, 108, 0, 44, 141, 63, 0, 129, 188, 240, 0, 170, 133, 50, 0, 77, 44, 85, 0, 48, 116, 144, 0, 188, 108, 236, 0, 87, 149, 110, 0, 214, 242, 145, 0, 165, 127, 137, 0, 82, 222, 153, 0, 71, 198, 154, 0, 236, 108, 72, 0, 72, 1, 197, 0, 189, 39, 50, 0, 45, 48, 52, 0, 45, 148, 229, 0, 212, 162, 55, 0, 233, 15, 89, 0, 81, 69, 45, 0, 249, 112, 170, 0, 250, 239, 194, 0, 23, 208, 170, 0, 94, 93, 53, 0, 136, 227, 26, 0, 250, 48, 51, 0, 30, 68, 221, 0, 157, 53, 28, 0, 120, 113, 96, 0, 92, 136, 13, 0, 242, 193, 7, 0, 215, 166, 75, 0, 235, 227, 193, 0, 197, 159, 53, 0, 221, 183, 252, 0, 132, 150, 230, 0, 85, 0, 85, 0, 234, 167, 240, 0, 60, 182, 209, 0, 230, 170, 164, 0, 215, 117, 110, 0, 14, 151, 10, 0, 39, 171, 137, 0, 112, 49, 9, 0, 217, 71, 14, 0, 201, 129, 2, 0, 223, 30, 3, 0, 214, 58, 17, 0, 86, 240, 230, 0, 245, 204, 155, 0, 199, 76, 81, 0, 31, 9, 92, 0, 206, 137, 153, 0, 88, 218, 29, 0, 114, 124, 149, 0, 201, 101, 211, 0, 32, 46, 52, 0, 211, 153, 218, 0, 238, 221, 102, 0, 192, 23, 219, 0, 174, 193, 18, 0, 46, 33, 216, 0, 215, 96, 58, 0, 242, 182, 86, 0, 178, 109, 81, 0, 219, 95, 20, 0, 237, 168, 129, 0, 203, 170, 61, 0, 41, 221, 86, 0, 25, 25, 109, 0, 139, 217, 223, 0, 46, 69, 73, 0, 44, 128, 60, 0, 193, 241, 155, 0, 49, 181, 36, 0, 75, 176, 44, 0, 126, 72, 179, 0, 74, 240, 101, 0, 213, 121, 70, 0, 35, 88, 163, 0, 212, 202, 229, 0, 2, 219, 66, 0, 112, 8, 168, 0, 150, 83, 246, 0, 136, 78, 118, 0, 221, 164, 181, 0, 59, 202, 212, 0, 107, 172, 205, 0, 46, 130, 35, 0, 143, 61, 49, 0, 36, 109, 112, 0, 71, 153, 138, 0, 15, 135, 116, 0, 248, 18, 78, 0, \ +60, 26, 220, 0, 218, 169, 9, 0, 10, 247, 34, 0, 126, 48, 230, 0, 28, 72, 67, 0, 109, 247, 233, 0, 184, 146, 224, 0, 113, 110, 77, 0, 106, 38, 233, 0, 0, 157, 194, 0, 66, 69, 75, 0, 8, 212, 93, 0, 230, 19, 237, 0, 118, 138, 23, 0, 160, 133, 242, 0, 32, 37, 254, 0, 5, 173, 110, 0, 238, 15, 88, 0, 175, 82, 198, 0, 67, 152, 44, 0, 105, 26, 79, 0, 37, 74, 56, 0, 64, 164, 6, 0, 107, 224, 223, 0, 44, 40, 5, 0, 202, 237, 3, 0, 35, 146, 29, 0, 105, 228, 93, 0, 202, 163, 237, 0, 142, 130, 253, 0, 48, 3, 135, 0, 144, 171, 100, 0, 159, 22, 238, 0, 218, 234, 69, 0, 79, 38, 127, 0, 52, 35, 78, 0, 49, 202, 28, 0, 63, 240, 24, 0, 120, 245, 24, 0, 218, 34, 221, 0, 25, 195, 102, 0, 175, 173, 70, 0, 203, 141, 193, 0, 235, 200, 106, 0, 189, 228, 2, 0, 70, 112, 145, 0, 243, 227, 47, 0, 234, 62, 210, 0, 166, 100, 205, 0, 191, 29, 185, 0, 185, 180, 228, 0, 93, 65, 28, 0, 144, 134, 60, 0, 244, 103, 24, 0, 254, 22, 98, 0, 230, 2, 136, 0, 105, 116, 15, 0, 194, 144, 47, 0, 131, 96, 65, 0, 204, 28, 241, 0, 105, 26, 165, 0, 56, 66, 121, 0, 33, 96, 89, 0, 74, 131, 197, 0, 245, 74, 17, 0, 98, 4, 16, 0, 33, 4, 131, 0, 97, 103, 214, 0, 4, 38, 172, 0, 21, 103, 83, 0, 152, 163, 0, 0, 1, 54, 224, 0, 235, 31, 236, 0, 189, 243, 29, 0, 112, 33, 201, 0, 92, 18, 64, 0, 187, 173, 87, 0, 180, 68, 5, 0, 153, 39, 23, 0, 239, 27, 193, 0, 52, 98, 121, 0, 12, 36, 72, 0, 154, 201, 222, 0, 75, 118, 67, 0, 176, 3, 32, 0, 106, 13, 179, 0, 212, 67, 201, 0, 193, 106, 174, 0, 56, 157, 97, 0, 124, 248, 195, 0, 219, 133, 97, 0, 157, 128, 155, 0, 120, 75, 227, 0, 29, 97, 127, 0, 47, 138, 24, 0, 178, 185, 96, 0, 134, 131, 251, 0, 96, 19, 23, 0, 113, 148, 89, 0, 106, 243, 217, 0, 19, 242, 189, 0, 156, 3, 111, 0, 118, 244, 73, 0, 208, 100, 249, 0, 9, 83, 109, 0, 247, 16, 146, 0, 136, 169, 243, 0, 78, 94, 140, 0, 169, 193, 156, 0, 88, 68, 113, 0, 209, 177, 2, 0, 174, 93, 40, 0, 113, 19, 186, 0, 132, 106, 112, 0, 96, 110, 111, 0, 237, 217, 165, 0, 73, 180, 138, 0, 44, 176, 178, 0, 8, 190, 192, 0, 136, 218, 163, 0, 179, 4, 65, 0, 227, 200, 228, 0, 190, 87, 81, 0, 29, 38, 180, 0, 89, 160, 36, 0, 67, 166, 62, 0, 9, 121, 37, 0, 42, 215, 207, 0, 60, 173, 165, 0, 24, 195, 95, 0, 225, 124, 125, 0, 22, 148, 61, 0, 190, 189, 61, 0, 136, 32, 232, 0, 169, 137, 41, 0, 134, 36, 209, 0, 151, 184, 251, 0, 132, 25, 130, 0, 89, 193, 227, 0, 222, 127, 187, 0, 0, 126, 86, 0, 210, 242, 171, 0, 215, 2, 38, 0, 158, 84, 0, 0, 121, 162, 43, 0, 191, 188, 189, 0, 146, 84, 208, 0, 246, 92, 223, 0, 49, 71, 205, 0, 254, 116, 49, 0, 18, 90, 191, 0, 219, 190, 173, 0, 19, 11, 110, 0, 92, 4, 203, 0, 6, 149, 126, 0, 251, 176, 138, 0, 240, 165, 8, 0, 38, 97, 159, 0, 225, 102, 171, 0, 173, 10, 120, 0, 84, 24, 66, 0, 76, 254, 46, 0, 117, 102, 185, 0, 93, 43, 71, 0, 137, 76, 171, 0, 211, 121, 177, 0, 126, 177, 25, 0, 42, 152, 26, 0, 227, 84, 247, 0, 213, 17, 225, 0, 101, 119, 60, 0, 107, 215, 211, 0, 100, 198, 111, 0, 209, 2, 45, 0, 105, 180, 233, 0, 103, 113, 195, 0, 155, 34, 25, 0, 89, 169, 239, 0, 171, 231, 44, 0, 33, 236, 153, 0, 202, 31, 40, 0, 248, 171, 48, 0, 210, 187, 102, 0, 102, 252, 109, 0, 181, 44, 198, 0, 233, 160, 251, 0, 171, 243, 197, 0, 221, 170, 24, 0, 89, 126, 221, 0, 152, 204, 83, 0, 31, 70, 102, 0, 128, 134, 96, 0, 164, 182, 191, 0, 243, 34, 39, 0, 219, 58, 93, 0, 60, 87, 131, 0, 220, 220, 114, 0, 183, 168, 119, 0, 119, 183, 176, 0, 21, 202, 177, 0, 254, 130, 49, 0, 54, 8, 245, 0, 70, 39, 76, 0, 109, 247, 208, 0, 131, 239, 212, 0, 193, 232, 14, 0, 208, 93, 175, 0, 30, 63, 74, 0, 76, 39, 34, 0, 231, 219, 43, 0, 99, 137, 135, 0, 121, 10, 145, 0, 150, 210, 188, 0, 71, 174, 253, 0, 138, 213, 119, 0, 100, 20, 0, 0, 132, 66, 121, 0, 243, 210, 224, 0, 21, 139, 254, 0, 71, 86, 177, 0, 124, 16, 150, 0, 77, 247, 211, 0, 130, 96, 48, 0, 243, 76, 124, 0, \ +25, 202, 153, 0, 53, 135, 235, 0, 251, 11, 133, 0, 141, 72, 206, 0, 141, 190, 27, 0, 234, 87, 153, 0, 195, 245, 65, 0, 62, 30, 2, 0, 243, 130, 227, 0, 174, 21, 176, 0, 50, 50, 193, 0, 48, 102, 34, 0, 10, 247, 254, 0, 247, 194, 38, 0, 170, 38, 181, 0, 193, 6, 68, 0, 248, 41, 169, 0, 106, 18, 99, 0, 191, 158, 71, 0, 253, 61, 180, 0, 147, 106, 120, 0, 85, 193, 212, 0, 47, 20, 42, 0, 22, 239, 140, 0, 31, 240, 154, 0, 223, 184, 164, 0, 221, 74, 115, 0, 120, 128, 166, 0, 150, 59, 139, 0, 4, 237, 51, 0, 185, 52, 167, 0, 142, 171, 122, 0, 178, 170, 108, 0, 211, 110, 69, 0, 192, 246, 135, 0, 193, 4, 229, 0, 246, 95, 66, 0, 242, 135, 245, 0, 12, 115, 224, 0, 129, 220, 78, 0, 171, 174, 220, 0, 153, 142, 159, 0, 10, 233, 251, 0, 199, 159, 85, 0, 254, 161, 173, 0, 129, 99, 246, 0, 176, 185, 53, 0, 24, 45, 241, 0, 76, 121, 43, 0, 104, 90, 60, 0, 113, 42, 193, 0, 185, 99, 187, 0, 229, 46, 200, 0, 104, 91, 33, 0, 95, 168, 3, 0, 97, 179, 114, 0, 151, 112, 229, 0, 192, 206, 102, 0, 63, 54, 90, 0, 41, 216, 198, 0, 1, 139, 160, 0, 183, 94, 125, 0, 122, 218, 253, 0, 21, 111, 204, 0, 109, 97, 175, 0, 121, 223, 229, 0, 83, 148, 166, 0, 66, 124, 156, 0, 227, 82, 93, 0, 170, 48, 152, 0, 71, 83, 126, 0, 205, 33, 87, 0, 157, 69, 243, 0, 78, 223, 134, 0, 194, 8, 31, 0, 110, 215, 14, 0, 153, 199, 216, 0, 27, 127, 233, 0, 65, 118, 140, 0, 126, 2, 212, 0, 85, 127, 180, 0, 40, 74, 177, 0, 131, 10, 236, 0, 186, 9, 126, 0, 95, 174, 35, 0, 53, 189, 234, 0, 109, 247, 9, 0, 226, 51, 60, 0, 224, 62, 140, 0, 184, 117, 39, 0, 93, 9, 109, 0, 145, 226, 29, 0, 100, 63, 113, 0, 27, 206, 194, 0, 29, 39, 190, 0, 110, 137, 72, 0, 158, 136, 176, 0, 151, 123, 233, 0, 131, 212, 65, 0, 113, 122, 122, 0, 26, 163, 140, 0, 208, 103, 142, 0, 46, 34, 1, 0, 231, 32, 45, 0, 169, 251, 173, 0, 47, 112, 21, 0, 152, 84, 102, 0, 145, 177, 140, 0, 88, 131, 94, 0, 183, 82, 27, 0, 254, 87, 78, 0, 34, 94, 6, 0, 131, 207, 132, 0, 71, 57, 76, 0, 137, 2, 225, 0, 172, 120, 87, 0, 118, 171, 89, 0, 119, 148, 194, 0, 254, 68, 229, 0, 154, 109, 61, 0, 239, 190, 250, 0, 38, 96, 238, 0, 134, 130, 95, 0, 132, 99, 160, 0, 61, 13, 220, 0, 214, 220, 247, 0, 70, 220, 145, 0, 150, 24, 187, 0, 121, 170, 28, 0, 153, 211, 230, 0, 208, 119, 80, 0, 214, 47, 160, 0, 123, 63, 107, 0, 56, 135, 87, 0, 95, 202, 15, 0, 58, 129, 184, 0, 44, 186, 222, 0, 61, 162, 157, 0, 42, 146, 52, 0, 156, 213, 243, 0, 235, 173, 101, 0, 97, 52, 183, 0, 79, 110, 46, 0, 39, 203, 7, 0, 52, 168, 220, 0, 146, 76, 220, 0, 112, 230, 60, 0, 80, 59, 55, 0, 180, 167, 110, 0, 214, 129, 119, 0, 16, 125, 195, 0, 44, 233, 193, 0, 16, 114, 54, 0, 124, 214, 156, 0, 97, 113, 223, 0, 201, 127, 223, 0, 213, 62, 70, 0, 157, 26, 99, 0, 69, 254, 224, 0, 98, 157, 21, 0, 29, 46, 158, 0, 3, 212, 147, 0, 228, 209, 127, 0, 86, 7, 188, 0, 9, 1, 251, 0, 219, 45, 129, 0, 157, 188, 202, 0, 137, 171, 52, 0, 41, 192, 134, 0, 59, 219, 154, 0, 254, 219, 239, 0, 37, 212, 210, 0, 234, 205, 253, 0, 220, 13, 244, 0, 224, 41, 187, 0, 45, 245, 158, 0, 153, 219, 174, 0, 138, 138, 131, 0, 174, 13, 149, 0, 113, 134, 105, 0, 107, 59, 70, 0, 4, 43, 209, 0, 53, 229, 138, 0, 197, 212, 222, 0, 39, 88, 75, 0, 212, 13, 60, 0, 187, 195, 47, 0, 58, 84, 191, 0, 76, 241, 76, 0, 128, 127, 219, 0, 70, 132, 169, 0, 74, 122, 244, 0, 2, 160, 40, 0, 201, 246, 183, 0, 100, 28, 152, 0, 111, 34, 57, 0, 163, 229, 41, 0, 238, 83, 232, 0, 170, 108, 236, 0, 76, 159, 185, 0, 167, 46, 127, 0, 142, 106, 71, 0, 156, 112, 136, 0, 70, 181, 181, 0, 142, 57, 129, 0, 142, 41, 57, 0, 238, 219, 121, 0, 211, 26, 65, 0, 135, 95, 251, 0, 204, 59, 110, 0, 17, 149, 196, 0, 17, 53, 178, 0, 84, 122, 252, 0, 208, 229, 181, 0, 85, 120, 79, 0, 64, 11, 87, 0, 40, 225, 180, 0, 128, 51, 10, 0, 71, 158, 66, 0, 243, 97, 176, 0, 16, 30, 49, 0, 103, 34, 217, 0, 85, 229, 188, 0, 92, 115, 210, 0, \ +135, 41, 106, 0, 27, 73, 116, 0, 84, 54, 12, 0, 159, 148, 43, 0, 98, 247, 135, 0, 132, 199, 26, 0, 16, 236, 233, 0, 115, 127, 120, 0, 250, 20, 73, 0, 158, 42, 81, 0, 205, 126, 30, 0, 137, 11, 34, 0, 65, 132, 197, 0, 196, 227, 114, 0, 254, 190, 45, 0, 135, 219, 115, 0, 28, 99, 4, 0, 234, 209, 165, 0, 173, 46, 72, 0, 170, 92, 109, 0, 228, 78, 19, 0, 178, 23, 57, 0, 159, 18, 194, 0, 122, 59, 16, 0, 51, 253, 2, 0, 224, 201, 63, 0, 237, 98, 50, 0, 247, 118, 99, 0, 212, 216, 54, 0, 115, 126, 221, 0, 173, 171, 234, 0, 165, 176, 103, 0, 142, 200, 154, 0, 132, 26, 117, 0, 87, 207, 132, 0, 250, 212, 251, 0, 183, 132, 126, 0, 251, 140, 190, 0, 145, 19, 51, 0, 48, 107, 46, 0, 34, 148, 57, 0, 119, 126, 208, 0, 151, 91, 188, 0, 3, 20, 95, 0, 188, 188, 231, 0, 53, 21, 211, 0, 106, 209, 66, 0, 50, 144, 62, 0, 156, 199, 129, 0, 24, 31, 73, 0, 68, 25, 42, 0, 106, 236, 249, 0, 236, 196, 45, 0, 222, 220, 180, 0, 94, 183, 198, 0, 181, 249, 174, 0, 173, 146, 192, 0, 229, 167, 119, 0, 75, 15, 4, 0, 88, 2, 54, 0, 57, 183, 73, 0, 205, 105, 10, 0, 108, 61, 155, 0, 225, 225, 53, 0, 177, 226, 236, 0, 195, 197, 189, 0, 99, 179, 117, 0, 86, 191, 136, 0, 167, 163, 173, 0, 170, 186, 38, 0, 224, 183, 64, 0, 209, 38, 132, 0, 3, 148, 239, 0, 86, 20, 65, 0, 30, 12, 48, 0, 209, 185, 39, 0, 120, 123, 206, 0, 87, 90, 79, 0, 123, 181, 76, 0, 24, 125, 96, 0, 43, 144, 53, 0, 135, 106, 88, 0, 139, 254, 97, 0, 12, 160, 219, 0, 251, 54, 133, 0, 220, 147, 203, 0, 84, 17, 35, 0, 244, 253, 161, 0, 174, 65, 246, 0, 65, 173, 59, 0, 81, 189, 210, 0, 82, 84, 126, 0, 20, 39, 66, 0, 120, 110, 116, 0, 51, 95, 141, 0, 9, 35, 162, 0, 143, 89, 253, 0, 116, 129, 151, 0, 185, 45, 161, 0, 49, 173, 183, 0, 112, 105, 3, 0, 171, 148, 207, 0, 1, 10, 77, 0, 189, 168, 239, 0, 35, 178, 55, 0, 245, 67, 71, 0, 138, 199, 159, 0, 85, 32, 1, 0, 71, 217, 44, 0, 186, 49, 13, 0, 133, 176, 109, 0, 92, 230, 124, 0, 247, 173, 250, 0, 200, 63, 150, 0, 33, 70, 182, 0, 150, 79, 112, 0, 189, 242, 70, 0, 78, 101, 229, 0, 74, 149, 52, 0, 89, 49, 82, 0, 74, 149, 229, 0, 58, 228, 138, 0, 253, 188, 107, 0, 204, 23, 45, 0, 241, 130, 153, 0, 194, 199, 80, 0, 93, 185, 145, 0, 34, 6, 111, 0, 204, 129, 129, 0, 199, 156, 245, 0, 110, 147, 188, 0, 80, 159, 131, 0, 49, 9, 67, 0, 85, 115, 228, 0, 124, 73, 108, 0, 146, 31, 54, 0, 253, 70, 188, 0, 204, 104, 240, 0, 19, 34, 138, 0, 137, 149, 100, 0, 47, 65, 165, 0, 241, 136, 98, 0, 156, 83, 198, 0, 27, 50, 160, 0, 149, 186, 204, 0, 84, 119, 20, 0, 97, 68, 220, 0, 20, 169, 186, 0, 163, 41, 36, 0, 217, 78, 13, 0, 227, 206, 44, 0, 168, 187, 41, 0, 119, 13, 198, 0, 76, 1, 154, 0, 142, 12, 252, 0, 164, 23, 159, 0, 210, 5, 226, 0, 108, 157, 231, 0, 111, 26, 53, 0, 112, 42, 81, 0, 133, 246, 74, 0, 151, 180, 58, 0, 180, 207, 68, 0, 88, 142, 224, 0, 37, 117, 198, 0, 48, 167, 221, 0, 227, 76, 5, 0, 25, 254, 163, 0, 88, 6, 239, 0, 153, 83, 160, 0, 111, 220, 219, 0, 57, 5, 94, 0, 221, 45, 108, 0, 34, 100, 75, 0, 251, 234, 240, 0, 72, 252, 128, 0, 231, 176, 169, 0, 122, 102, 51, 0, 84, 225, 20, 0, 172, 110, 91, 0, 71, 157, 220, 0, 227, 237, 172, 0, 171, 36, 127, 0, 218, 157, 170, 0, 230, 165, 188, 0, 98, 219, 158, 0, 80, 114, 105, 0, 106, 29, 130, 0, 90, 130, 99, 0, 144, 72, 134, 0, 122, 127, 219, 0, 152, 233, 231, 0, 158, 73, 208, 0, 156, 100, 60, 0, 109, 49, 239, 0, 242, 1, 240, 0, 136, 253, 120, 0, 181, 253, 141, 0, 71, 219, 199, 0, 12, 146, 219, 0, 135, 29, 157, 0, 4, 54, 199, 0, 145, 72, 121, 0, 216, 156, 132, 0, 242, 151, 166, 0, 200, 2, 126, 0, 251, 149, 193, 0, 198, 49, 142, 0, 217, 6, 125, 0, 182, 86, 220, 0, 111, 41, 89, 0, 187, 102, 142, 0, 183, 163, 141, 0, 216, 32, 156, 0, 87, 222, 24, 0, 49, 191, 6, 0, 212, 244, 87, 0, 216, 25, 136, 0, 115, 21, 205, 0, 47, 195, 233, 0, 87, 169, 148, 0, 77, 160, 28, 0, 234, 224, 186, 0, 240, 125, 72, 0, \ +31, 128, 161, 0, 17, 16, 144, 0, 104, 127, 77, 0, 157, 97, 93, 0, 148, 221, 157, 0, 206, 35, 1, 0, 105, 243, 133, 0, 107, 25, 228, 0, 32, 153, 252, 0, 199, 58, 254, 0, 214, 248, 247, 0, 34, 175, 2, 0, 156, 15, 219, 0, 166, 117, 185, 0, 152, 114, 80, 0, 67, 108, 147, 0, 0, 7, 109, 0, 131, 24, 241, 0, 31, 14, 123, 0, 217, 41, 15, 0, 120, 226, 139, 0, 50, 174, 152, 0, 129, 41, 227, 0, 4, 213, 59, 0, 218, 115, 117, 0, 19, 117, 139, 0, 149, 245, 247, 0, 31, 118, 246, 0, 105, 219, 120, 0, 1, 44, 169, 0, 26, 83, 164, 0, 58, 236, 212, 0, 235, 45, 34, 0, 239, 210, 111, 0, 25, 97, 127, 0, 218, 220, 21, 0, 248, 97, 158, 0, 187, 188, 188, 0, 165, 27, 237, 0, 151, 99, 108, 0, 226, 106, 139, 0, 92, 129, 41, 0, 146, 47, 169, 0, 34, 234, 132, 0, 231, 191, 102, 0, 36, 109, 189, 0, 180, 50, 220, 0, 79, 193, 240, 0, 94, 252, 127, 0, 152, 229, 241, 0, 207, 110, 142, 0, 54, 199, 143, 0, 154, 137, 164, 0, 124, 134, 213, 0, 225, 33, 35, 0, 95, 235, 209, 0, 77, 64, 93, 0, 234, 156, 205, 0, 38, 82, 153, 0, 62, 48, 150, 0, 178, 221, 143, 0, 230, 231, 90, 0, 17, 200, 182, 0, 246, 19, 132, 0, 141, 211, 185, 0, 107, 233, 164, 0, 134, 73, 109, 0, 179, 54, 118, 0, 226, 200, 60, 0, 138, 214, 242, 0, 17, 120, 122, 0, 12, 151, 120, 0, 151, 55, 128, 0, 170, 140, 208, 0, 68, 248, 206, 0, 55, 7, 78, 0, 183, 220, 181, 0, 105, 22, 236, 0, 164, 228, 245, 0, 16, 2, 225, 0, 177, 253, 196, 0, 243, 4, 129, 0, 214, 227, 87, 0, 132, 196, 33, 0, 140, 123, 21, 0, 42, 210, 151, 0, 33, 0, 230, 0, 124, 18, 130, 0, 239, 103, 217, 0, 155, 32, 159, 0, 243, 216, 60, 0, 173, 79, 3, 0, 116, 147, 242, 0, 169, 250, 89, 0, 110, 205, 196, 0, 10, 243, 240, 0, 68, 109, 100, 0, 135, 130, 92, 0, 20, 28, 12, 0, 148, 6, 148, 0, 252, 225, 167, 0, 29, 246, 76, 0, 190, 18, 135, 0, 250, 161, 94, 0, 110, 147, 208, 0, 213, 70, 83, 0, 149, 44, 197, 0, 143, 207, 51, 0, 62, 96, 179, 0, 110, 81, 119, 0, 130, 147, 199, 0, 230, 185, 247, 0, 136, 138, 159, 0, 125, 60, 162, 0, 57, 19, 34, 0, 209, 140, 213, 0, 231, 79, 51, 0, 39, 173, 209, 0, 66, 96, 227, 0, 186, 10, 199, 0, 132, 111, 170, 0, 126, 79, 130, 0, 77, 24, 54, 0, 68, 10, 192, 0, 104, 166, 106, 0, 17, 191, 123, 0, 124, 46, 69, 0, 247, 189, 133, 0, 94, 44, 239, 0, 6, 130, 0, 0, 66, 33, 38, 0, 117, 222, 175, 0, 40, 225, 110, 0, 11, 1, 202, 0, 145, 142, 221, 0, 225, 16, 61, 0, 118, 187, 53, 0, 142, 7, 5, 0, 236, 172, 162, 0, 27, 161, 45, 0, 250, 206, 236, 0, 50, 165, 30, 0, 209, 109, 251, 0, 229, 183, 249, 0, 185, 193, 127, 0, 84, 44, 181, 0, 135, 82, 116, 0, 239, 17, 5, 0, 48, 184, 199, 0, 49, 29, 205, 0, 89, 25, 147, 0, 212, 198, 171, 0, 54, 203, 14, 0, 75, 103, 206, 0, 166, 70, 48, 0, 178, 17, 76, 0, 226, 120, 226, 0, 211, 87, 115, 0, 237, 73, 39, 0, 52, 171, 224, 0, 77, 34, 200, 0, 224, 207, 215, 0, 239, 177, 46, 0, 85, 196, 2, 0, 97, 97, 12, 0, 140, 195, 185, 0, 58, 99, 178, 0, 60, 215, 182, 0, 96, 75, 236, 0, 68, 140, 108, 0, 109, 231, 176, 0, 23, 11, 123, 0, 113, 42, 104, 0, 156, 104, 230, 0, 244, 165, 19, 0, 20, 171, 250, 0, 211, 41, 213, 0, 161, 114, 91, 0, 241, 134, 201, 0, 50, 232, 136, 0, 150, 162, 123, 0, 173, 147, 151, 0, 111, 86, 76, 0, 243, 142, 85, 0, 241, 110, 180, 0, 139, 6, 122, 0, 175, 196, 174, 0, 164, 37, 21, 0, 116, 232, 152, 0, 78, 185, 56, 0, 204, 184, 154, 0, 100, 179, 252, 0, 157, 25, 7, 0, 3, 245, 75, 0, 157, 240, 14, 0, 233, 69, 47, 0, 228, 244, 180, 0, 237, 76, 46, 0, 179, 3, 95, 0, 48, 215, 135, 0, 24, 77, 64, 0, 111, 244, 224, 0, 111, 225, 176, 0, 9, 131, 60, 0, 252, 215, 171, 0, 158, 2, 226, 0, 233, 94, 196, 0, 128, 132, 253, 0, 153, 54, 48, 0, 57, 126, 34, 0, 103, 250, 45, 0, 117, 44, 97, 0, 169, 191, 231, 0, 60, 54, 5, 0, 13, 66, 58, 0, 190, 125, 202, 0, 193, 173, 234, 0, 169, 100, 63, 0, 224, 81, 139, 0, 217, 89, 126, 0, 166, 54, 72, 0, 43, 67, 116, 0, 164, 93, 222, 0, 150, 125, 131, 0, \ +108, 111, 68, 0, 170, 245, 80, 0, 56, 194, 137, 0, 206, 59, 83, 0, 156, 167, 64, 0, 241, 152, 57, 0, 36, 93, 131, 0, 230, 197, 210, 0, 190, 3, 176, 0, 253, 177, 15, 0, 193, 157, 252, 0, 48, 234, 46, 0, 91, 0, 62, 0, 34, 2, 201, 0, 40, 93, 176, 0, 163, 32, 55, 0, 9, 51, 195, 0, 147, 10, 134, 0, 236, 63, 108, 0, 58, 194, 63, 0, 172, 107, 161, 0, 236, 216, 74, 0, 145, 216, 34, 0, 125, 190, 54, 0, 183, 37, 95, 0, 21, 233, 75, 0, 227, 41, 21, 0, 168, 243, 161, 0, 59, 10, 25, 0, 103, 119, 18, 0, 71, 90, 252, 0, 165, 236, 248, 0, 107, 12, 5, 0, 6, 43, 102, 0, 95, 81, 196, 0, 91, 54, 78, 0, 4, 218, 53, 0, 214, 182, 122, 0, 189, 105, 123, 0, 170, 244, 130, 0, 96, 113, 185, 0, 20, 114, 64, 0, 72, 10, 224, 0, 131, 113, 231, 0, 173, 151, 97, 0, 158, 75, 165, 0, 115, 11, 223, 0, 245, 206, 125, 0, 176, 200, 253, 0, 3, 101, 220, 0, 93, 179, 2, 0, 9, 193, 6, 0, 148, 133, 127, 0, 111, 24, 15, 0, 135, 40, 215, 0, 242, 91, 240, 0, 63, 172, 34, 0, 49, 181, 36, 0, 218, 163, 15, 0, 59, 238, 0, 0, 18, 16, 174, 0, 103, 65, 236, 0, 98, 43, 218, 0, 44, 197, 236, 0, 177, 150, 170, 0, 109, 226, 140, 0, 188, 127, 239, 0, 233, 247, 237, 0, 12, 28, 58, 0, 85, 63, 221, 0, 59, 156, 65, 0, 232, 164, 77, 0, 88, 178, 251, 0, 22, 12, 89, 0, 179, 68, 10, 0, 41, 205, 8, 0, 32, 90, 248, 0, 19, 183, 177, 0, 40, 196, 22, 0, 2, 213, 215, 0, 9, 177, 221, 0, 97, 100, 250, 0, 210, 108, 174, 0, 133, 197, 204, 0, 248, 95, 234, 0, 151, 205, 129, 0, 143, 144, 155, 0, 151, 3, 163, 0, 26, 27, 161, 0, 79, 124, 36, 0, 27, 230, 174, 0, 126, 71, 99, 0, 155, 125, 227, 0, 180, 112, 61, 0, 136, 77, 141, 0, 154, 118, 40, 0, 106, 155, 14, 0, 152, 125, 223, 0, 13, 17, 77, 0, 171, 35, 44, 0, 254, 206, 239, 0, 133, 20, 143, 0, 241, 63, 48, 0, 253, 133, 106, 0, 174, 33, 2, 0, 187, 10, 216, 0, 205, 122, 228, 0, 211, 183, 55, 0, 2, 73, 139, 0, 29, 226, 160, 0, 88, 185, 31, 0, 74, 17, 190, 0, 18, 217, 252, 0, 106, 222, 100, 0, 49, 34, 190, 0, 112, 30, 211, 0, 190, 34, 6, 0, 27, 175, 51, 0, 113, 77, 234, 0, 76, 176, 78, 0, 139, 175, 175, 0, 31, 242, 153, 0, 210, 18, 130, 0, 136, 191, 120, 0, 125, 46, 95, 0, 130, 56, 35, 0, 205, 209, 93, 0, 4, 230, 190, 0, 129, 117, 242, 0, 210, 14, 203, 0, 202, 46, 39, 0, 177, 216, 41, 0, 208, 123, 175, 0, 45, 13, 182, 0, 73, 169, 147, 0, 17, 107, 141, 0, 134, 222, 86, 0, 25, 216, 109, 0, 203, 152, 224, 0, 112, 11, 5, 0, 28, 0, 24, 0, 131, 218, 126, 0, 166, 60, 209, 0, 189, 134, 83, 0, 24, 99, 163, 0, 49, 11, 109, 0, 238, 132, 232, 0, 47, 208, 25, 0, 45, 69, 176, 0, 120, 215, 93, 0, 223, 203, 241, 0, 146, 53, 147, 0, 79, 242, 157, 0, 254, 100, 189, 0, 139, 39, 251, 0, 75, 232, 137, 0, 172, 93, 244, 0, 232, 149, 21, 0, 165, 84, 170, 0, 168, 1, 190, 0, 178, 212, 222, 0, 92, 246, 78, 0, 173, 21, 226, 0, 205, 131, 38, 0, 252, 133, 174, 0, 82, 221, 59, 0, 242, 233, 140, 0, 181, 72, 110, 0, 10, 194, 25, 0, 178, 223, 196, 0, 236, 211, 251, 0, 138, 1, 137, 0, 228, 110, 179, 0, 212, 69, 218, 0, 174, 142, 218, 0, 198, 246, 90, 0, 254, 210, 243, 0, 213, 244, 113, 0, 173, 248, 227, 0, 23, 26, 70, 0, 148, 96, 123, 0, 166, 179, 137, 0, 197, 76, 75, 0, 13, 251, 170, 0, 75, 101, 173, 0, 228, 212, 214, 0, 37, 237, 245, 0, 131, 189, 126, 0, 74, 30, 105, 0, 43, 128, 136, 0, 109, 72, 184, 0, 252, 184, 15, 0, 228, 114, 120, 0, 233, 184, 204, 0, 89, 250, 71, 0, 101, 54, 126, 0, 245, 224, 43, 0, 35, 194, 201, 0, 45, 65, 213, 0, 0, 58, 166, 0, 88, 115, 82, 0, 194, 180, 229, 0, 130, 198, 133, 0, 50, 144, 251, 0, 21, 218, 38, 0, 165, 49, 145, 0, 194, 148, 15, 0, 22, 77, 50, 0, 165, 54, 205, 0, 124, 251, 247, 0, 222, 157, 219, 0, 108, 32, 155, 0, 82, 150, 14, 0, 134, 205, 113, 0, 175, 65, 19, 0, 251, 18, 77, 0, 154, 137, 32, 0, 137, 208, 114, 0, 217, 236, 67, 0, 249, 191, 7, 0, 211, 112, 101, 0, 93, 62, 107, 0, 189, 100, 253, 0, 181, 23, 150, 0, \ +144, 184, 190, 0, 158, 63, 50, 0, 124, 59, 85, 0, 163, 205, 252, 0, 129, 123, 146, 0, 123, 28, 249, 0, 43, 186, 82, 0, 138, 54, 154, 0, 172, 86, 116, 0, 147, 100, 109, 0, 200, 46, 22, 0, 190, 129, 173, 0, 197, 168, 100, 0, 100, 209, 69, 0, 100, 5, 143, 0, 90, 23, 49, 0, 237, 42, 199, 0, 62, 24, 115, 0, 82, 109, 155, 0, 177, 141, 165, 0, 125, 215, 212, 0, 73, 53, 104, 0, 221, 49, 202, 0, 48, 116, 252, 0, 18, 141, 102, 0, 88, 244, 228, 0, 4, 126, 96, 0, 251, 140, 180, 0, 108, 233, 30, 0, 163, 245, 30, 0, 18, 7, 139, 0, 174, 24, 169, 0, 29, 13, 136, 0, 38, 61, 26, 0, 31, 142, 239, 0, 149, 129, 75, 0, 238, 78, 164, 0, 10, 67, 49, 0, 114, 117, 232, 0, 188, 116, 249, 0, 149, 32, 76, 0, 115, 146, 2, 0, 196, 6, 61, 0, 73, 83, 102, 0, 205, 43, 94, 0, 223, 26, 124, 0, 252, 219, 210, 0, 146, 115, 32, 0, 128, 61, 47, 0, 44, 204, 172, 0, 208, 237, 19, 0, 128, 165, 132, 0, 92, 117, 198, 0, 106, 232, 145, 0, 249, 168, 152, 0, 40, 119, 168, 0, 92, 182, 211, 0, 192, 225, 243, 0, 156, 142, 95, 0, 38, 83, 36, 0, 30, 212, 31, 0, 80, 231, 131, 0, 248, 207, 2, 0, 121, 178, 51, 0, 43, 36, 38, 0, 124, 62, 188, 0, 222, 120, 243, 0, 151, 119, 85, 0, 24, 191, 47, 0, 80, 133, 224, 0, 254, 149, 73, 0, 147, 18, 167, 0, 197, 16, 239, 0, 73, 167, 85, 0, 167, 107, 232, 0, 189, 62, 130, 0, 195, 211, 56, 0, 96, 205, 49, 0, 225, 133, 228, 0, 172, 147, 240, 0, 36, 181, 46, 0, 210, 95, 181, 0, 18, 249, 30, 0, 199, 250, 144, 0, 59, 189, 247, 0, 240, 110, 4, 0, 162, 117, 144, 0, 235, 243, 231, 0, 53, 141, 214, 0, 158, 168, 72, 0, 156, 161, 82, 0, 175, 181, 63, 0, 185, 84, 6, 0, 189, 210, 28, 0, 34, 211, 155, 0, 154, 141, 86, 0, 118, 55, 136, 0, 225, 187, 160, 0, 25, 216, 118, 0, 224, 116, 119, 0, 164, 128, 35, 0, 118, 196, 170, 0, 199, 102, 114, 0, 5, 211, 140, 0, 186, 24, 220, 0, 109, 191, 66, 0, 205, 31, 21, 0, 98, 248, 135, 0, 234, 73, 171, 0, 111, 135, 105, 0, 43, 43, 98, 0, 99, 43, 4, 0, 96, 193, 118, 0, 21, 8, 95, 0, 57, 158, 81, 0, 129, 190, 120, 0, 56, 134, 14, 0, 207, 138, 37, 0, 159, 119, 94, 0, 243, 121, 151, 0, 77, 162, 183, 0, 124, 80, 7, 0, 114, 84, 162, 0, 189, 43, 182, 0, 220, 178, 160, 0, 35, 83, 224, 0, 13, 127, 138, 0, 149, 85, 251, 0, 23, 239, 65, 0, 204, 235, 25, 0, 203, 8, 136, 0, 209, 12, 123, 0, 77, 117, 90, 0, 163, 178, 198, 0, 196, 93, 212, 0, 70, 91, 152, 0, 175, 207, 253, 0, 206, 227, 52, 0, 145, 88, 118, 0, 105, 38, 72, 0, 204, 173, 53, 0, 52, 111, 246, 0, 250, 245, 249, 0, 65, 230, 244, 0, 24, 140, 18, 0, 128, 3, 162, 0, 198, 143, 226, 0, 35, 165, 93, 0, 229, 246, 43, 0, 155, 143, 247, 0, 164, 174, 207, 0, 2, 6, 3, 0, 205, 118, 200, 0, 23, 163, 136, 0, 168, 170, 183, 0, 81, 167, 185, 0, 209, 237, 164, 0, 206, 47, 210, 0, 83, 233, 142, 0, 220, 194, 244, 0, 155, 154, 45, 0, 55, 165, 170, 0, 15, 98, 169, 0, 133, 239, 126, 0, 147, 205, 106, 0, 209, 103, 83, 0, 8, 231, 218, 0, 147, 215, 219, 0, 233, 231, 169, 0, 92, 197, 165, 0, 139, 18, 28, 0, 41, 82, 1, 0, 241, 137, 121, 0, 88, 13, 143, 0, 101, 175, 241, 0, 182, 1, 146, 0, 235, 4, 236, 0, 194, 23, 102, 0, 44, 217, 38, 0, 190, 72, 66, 0, 20, 212, 87, 0, 26, 132, 243, 0, 104, 201, 30, 0, 27, 226, 52, 0, 82, 243, 122, 0, 146, 26, 153, 0, 15, 112, 21, 0, 26, 157, 99, 0, 39, 1, 28, 0, 28, 133, 8, 0, 165, 129, 68, 0, 181, 98, 152, 0, 199, 87, 120, 0, 234, 118, 202, 0, 111, 213, 199, 0, 170, 24, 110, 0, 98, 60, 142, 0, 60, 33, 76, 0, 129, 38, 243, 0, 102, 226, 76, 0, 183, 39, 16, 0, 28, 221, 192, 0, 167, 188, 221, 0, 149, 188, 232, 0, 152, 201, 47, 0, 13, 93, 158, 0, 141, 41, 162, 0, 77, 248, 117, 0, 195, 194, 15, 0, 83, 74, 95, 0, 31, 54, 146, 0, 82, 228, 28, 0, 215, 246, 172, 0, 77, 52, 27, 0, 198, 28, 176, 0, 53, 162, 123, 0, 84, 201, 165, 0, 194, 110, 19, 0, 104, 45, 29, 0, 67, 55, 132, 0, 134, 46, 227, 0, 57, 85, 164, 0, 35, 192, 236, 0, 211, 27, 59, 0, \ +61, 88, 88, 0, 151, 18, 150, 0, 118, 19, 91, 0, 151, 231, 60, 0, 228, 85, 57, 0, 69, 43, 87, 0, 84, 233, 43, 0, 111, 64, 111, 0, 141, 76, 206, 0, 124, 119, 96, 0, 5, 80, 12, 0, 141, 82, 87, 0, 24, 84, 54, 0, 84, 123, 21, 0, 143, 73, 7, 0, 38, 173, 91, 0, 28, 181, 48, 0, 87, 135, 51, 0, 54, 122, 107, 0, 37, 171, 146, 0, 229, 177, 246, 0, 241, 14, 41, 0, 76, 87, 175, 0, 168, 17, 186, 0, 204, 220, 21, 0, 206, 189, 84, 0, 79, 139, 93, 0, 231, 202, 24, 0, 50, 207, 169, 0, 106, 231, 158, 0, 23, 217, 147, 0, 2, 109, 112, 0, 109, 151, 211, 0, 69, 120, 144, 0, 170, 136, 1, 0, 72, 113, 248, 0, 124, 5, 77, 0, 59, 54, 200, 0, 148, 18, 121, 0, 99, 160, 226, 0, 121, 97, 213, 0, 99, 163, 74, 0, 17, 136, 117, 0, 225, 119, 117, 0, 95, 195, 140, 0, 240, 31, 174, 0, 166, 245, 10, 0, 16, 148, 210, 0, 105, 177, 196, 0, 117, 125, 48, 0, 8, 18, 88, 0, 94, 242, 74, 0, 217, 188, 203, 0, 219, 79, 250, 0, 247, 119, 7, 0, 97, 48, 27, 0, 96, 204, 156, 0, 65, 215, 243, 0, 126, 209, 189, 0, 150, 159, 221, 0, 97, 252, 205, 0, 32, 183, 106, 0, 182, 3, 53, 0, 232, 232, 223, 0, 5, 84, 244, 0, 233, 207, 112, 0, 155, 71, 141, 0, 1, 5, 89, 0, 13, 167, 129, 0, 218, 82, 126, 0, 56, 153, 251, 0, 4, 225, 214, 0, 235, 91, 201, 0, 44, 117, 231, 0, 45, 73, 97, 0, 49, 244, 136, 0, 156, 36, 64, 0, 63, 88, 230, 0, 26, 144, 136, 0, 178, 113, 212, 0, 150, 52, 209, 0, 199, 72, 249, 0, 222, 133, 19, 0, 159, 121, 20, 0, 238, 69, 248, 0, 118, 49, 178, 0, 13, 32, 229, 0, 173, 73, 186, 0, 57, 55, 26, 0, 65, 190, 153, 0, 4, 249, 26, 0, 85, 207, 233, 0, 130, 36, 119, 0, 220, 199, 95, 0, 227, 249, 165, 0, 246, 192, 147, 0, 63, 129, 52, 0, 214, 152, 69, 0, 131, 130, 122, 0, 194, 106, 220, 0, 146, 152, 45, 0, 183, 113, 112, 0, 236, 192, 201, 0, 239, 120, 17, 0, 235, 32, 164, 0, 68, 182, 82, 0, 203, 174, 131, 0, 36, 252, 218, 0, 36, 200, 51, 0, 14, 177, 15, 0, 73, 248, 253, 0, 232, 41, 119, 0, 31, 100, 242, 0, 97, 139, 183, 0, 58, 254, 41, 0, 118, 136, 189, 0, 158, 167, 214, 0, 90, 214, 11, 0, 223, 70, 13, 0, 241, 46, 41, 0, 15, 156, 45, 0, 35, 212, 70, 0, 178, 107, 22, 0, 210, 60, 204, 0, 39, 175, 118, 0, 219, 217, 153, 0, 82, 235, 13, 0, 57, 126, 140, 0, 22, 176, 236, 0, 240, 155, 137, 0, 153, 29, 117, 0, 23, 9, 38, 0, 153, 105, 54, 0, 77, 53, 210, 0, 216, 20, 97, 0, 146, 243, 209, 0, 233, 251, 178, 0, 12, 24, 203, 0, 99, 188, 52, 0, 218, 196, 151, 0, 243, 237, 27, 0, 33, 230, 11, 0, 164, 119, 127, 0, 246, 122, 94, 0, 234, 217, 164, 0, 63, 136, 176, 0, 32, 234, 68, 0, 153, 203, 228, 0, 27, 189, 198, 0, 41, 226, 115, 0, 159, 167, 194, 0, 122, 248, 13, 0, 94, 217, 42, 0, 216, 138, 131, 0, 247, 192, 184, 0, 90, 78, 87, 0, 153, 195, 147, 0, 196, 41, 128, 0, 132, 176, 149, 0, 245, 2, 7, 0, 173, 81, 161, 0, 129, 177, 209, 0, 235, 242, 147, 0, 63, 41, 232, 0, 19, 73, 109, 0, 52, 108, 35, 0, 31, 125, 165, 0, 28, 224, 208, 0, 50, 197, 44, 0, 47, 67, 171, 0, 81, 21, 34, 0, 223, 254, 45, 0, 56, 93, 38, 0, 76, 59, 163, 0, 214, 37, 141, 0, 24, 53, 30, 0, 21, 29, 179, 0, 123, 63, 239, 0, 41, 54, 20, 0, 59, 149, 124, 0, 42, 190, 148, 0, 127, 192, 83, 0, 36, 195, 93, 0, 156, 176, 244, 0, 94, 64, 201, 0, 65, 117, 161, 0, 51, 90, 140, 0, 165, 158, 141, 0, 127, 154, 13, 0, 242, 128, 86, 0, 53, 57, 26, 0, 155, 165, 49, 0, 131, 123, 52, 0, 48, 164, 76, 0, 13, 93, 213, 0, 235, 120, 98, 0, 84, 149, 250, 0, 241, 27, 9, 0, 230, 160, 107, 0, 229, 128, 75, 0, 102, 206, 208, 0, 77, 15, 236, 0, 73, 75, 82, 0, 204, 89, 153, 0, 131, 204, 27, 0, 95, 118, 101, 0, 232, 117, 121, 0, 175, 158, 132, 0, 187, 205, 114, 0, 137, 55, 189, 0, 195, 21, 179, 0, 91, 77, 102, 0, 138, 210, 65, 0, 224, 118, 154, 0, 140, 239, 152, 0, 112, 210, 9, 0, 150, 27, 55, 0, 100, 68, 23, 0, 29, 177, 100, 0, 230, 229, 181, 0, 20, 31, 187, 0, 126, 106, 117, 0, 194, 189, 51, 0, 193, 118, 208, 0, \ +187, 23, 160, 0, 4, 146, 81, 0, 55, 215, 88, 0, 41, 90, 0, 0, 147, 183, 57, 0, 113, 44, 60, 0, 83, 117, 21, 0, 212, 150, 66, 0, 24, 149, 189, 0, 196, 185, 165, 0, 234, 102, 235, 0, 160, 127, 206, 0, 201, 183, 3, 0, 170, 150, 124, 0, 19, 24, 66, 0, 119, 136, 208, 0, 159, 67, 6, 0, 173, 58, 203, 0, 6, 192, 132, 0, 222, 107, 109, 0, 127, 148, 209, 0, 60, 153, 191, 0, 124, 88, 34, 0, 5, 62, 241, 0, 115, 64, 153, 0, 188, 130, 34, 0, 146, 128, 25, 0, 201, 57, 80, 0, 140, 178, 34, 0, 19, 231, 227, 0, 116, 15, 252, 0, 44, 58, 162, 0, 189, 101, 174, 0, 77, 28, 239, 0, 146, 224, 134, 0, 214, 119, 118, 0, 40, 33, 8, 0, 237, 146, 130, 0, 111, 27, 167, 0, 4, 188, 156, 0, 173, 45, 20, 0, 66, 138, 192, 0, 197, 170, 93, 0, 79, 14, 116, 0, 174, 90, 1, 0, 78, 249, 135, 0, 188, 235, 195, 0, 26, 17, 228, 0, 192, 177, 6, 0, 158, 202, 91, 0, 127, 218, 48, 0, 112, 224, 226, 0, 147, 189, 180, 0, 119, 118, 48, 0, 242, 220, 195, 0, 36, 151, 150, 0, 188, 58, 216, 0, 182, 121, 135, 0, 132, 176, 134, 0, 71, 22, 43, 0, 201, 34, 117, 0, 9, 0, 88, 0, 97, 32, 69, 0, 8, 122, 180, 0, 25, 206, 9, 0, 23, 52, 27, 0, 176, 65, 234, 0, 14, 136, 37, 0, 76, 27, 59, 0, 124, 138, 128, 0, 196, 126, 135, 0, 50, 148, 26, 0, 235, 45, 93, 0, 89, 61, 94, 0, 33, 141, 30, 0, 219, 140, 157, 0, 167, 100, 72, 0, 107, 140, 137, 0, 160, 216, 31, 0, 16, 27, 241, 0, 211, 99, 177, 0, 254, 56, 124, 0, 148, 203, 199, 0, 100, 151, 119, 0, 53, 127, 52, 0, 159, 63, 37, 0, 217, 129, 243, 0, 63, 132, 161, 0, 37, 197, 222, 0, 66, 204, 68, 0, 32, 87, 199, 0, 155, 214, 229, 0, 24, 69, 109, 0, 253, 31, 142, 0, 154, 61, 67, 0, 43, 150, 154, 0, 80, 188, 126, 0, 177, 205, 218, 0, 130, 51, 142, 0, 150, 170, 65, 0, 85, 109, 151, 0, 208, 19, 247, 0, 93, 29, 202, 0, 253, 143, 85, 0, 228, 150, 172, 0, 116, 125, 111, 0, 143, 57, 252, 0, 59, 229, 83, 0, 77, 230, 212, 0, 161, 99, 152, 0, 193, 157, 139, 0, 79, 45, 243, 0, 240, 17, 84, 0, 226, 85, 107, 0, 58, 188, 172, 0, 149, 158, 28, 0, 205, 28, 191, 0, 2, 71, 39, 0, 221, 204, 64, 0, 72, 68, 246, 0, 62, 110, 199, 0, 192, 34, 225, 0, 141, 21, 183, 0, 163, 227, 225, 0, 111, 30, 235, 0, 118, 218, 222, 0, 192, 212, 58, 0, 59, 221, 220, 0, 12, 9, 112, 0, 49, 36, 3, 0, 130, 213, 6, 0, 146, 238, 41, 0, 225, 202, 229, 0, 36, 50, 119, 0, 72, 80, 37, 0, 200, 148, 250, 0, 240, 194, 24, 0, 126, 97, 117, 0, 168, 176, 108, 0, 136, 99, 95, 0, 13, 66, 205, 0, 173, 85, 59, 0, 4, 128, 201, 0, 248, 6, 231, 0, 17, 248, 32, 0, 82, 229, 200, 0, 168, 113, 18, 0, 14, 201, 95, 0, 246, 181, 142, 0, 106, 19, 191, 0, 15, 30, 117, 0, 242, 122, 34, 0, 60, 31, 148, 0, 115, 250, 177, 0, 85, 93, 2, 0, 106, 133, 123, 0, 149, 14, 149, 0, 250, 137, 57, 0, 25, 26, 164, 0, 1, 126, 46, 0, 216, 8, 39, 0, 180, 170, 48, 0, 209, 97, 49, 0, 22, 211, 46, 0, 60, 134, 24, 0, 85, 62, 218, 0, 107, 8, 45, 0, 224, 17, 174, 0, 55, 38, 228, 0, 50, 65, 150, 0, 212, 234, 190, 0, 12, 214, 151, 0, 38, 186, 221, 0, 168, 204, 66, 0, 222, 161, 217, 0, 7, 33, 37, 0, 118, 83, 131, 0, 111, 116, 210, 0, 59, 237, 52, 0, 20, 93, 241, 0, 10, 109, 223, 0, 196, 86, 68, 0, 209, 197, 74, 0, 76, 65, 226, 0, 219, 117, 177, 0, 221, 102, 16, 0, 102, 184, 199, 0, 152, 229, 111, 0, 151, 46, 182, 0, 82, 103, 46, 0, 79, 131, 82, 0, 45, 136, 38, 0, 194, 205, 50, 0, 172, 52, 250, 0, 5, 176, 77, 0, 19, 13, 93, 0, 116, 191, 175, 0, 8, 193, 97, 0, 125, 250, 140, 0, 87, 119, 117, 0, 212, 121, 51, 0, 79, 74, 174, 0, 77, 235, 84, 0, 242, 234, 45, 0, 216, 218, 34, 0, 154, 5, 107, 0, 225, 72, 244, 0, 238, 221, 116, 0, 45, 183, 27, 0, 89, 248, 128, 0, 45, 100, 182, 0, 24, 30, 172, 0, 148, 103, 230, 0, 230, 217, 179, 0, 44, 218, 69, 0, 218, 86, 7, 0, 10, 139, 135, 0, 210, 234, 226, 0, 92, 224, 217, 0, 210, 130, 230, 0, 33, 85, 3, 0, 45, 74, 83, 0, 216, 43, 141, 0, 39, 51, 16, 0, \ +135, 66, 233, 0, 220, 75, 177, 0, 154, 51, 98, 0, 172, 11, 66, 0, 87, 160, 115, 0, 155, 87, 221, 0, 102, 160, 180, 0, 230, 247, 250, 0, 252, 184, 116, 0, 104, 170, 177, 0, 93, 236, 198, 0, 173, 189, 14, 0, 251, 22, 201, 0, 183, 64, 47, 0, 46, 249, 250, 0, 156, 15, 165, 0, 120, 215, 212, 0, 90, 201, 134, 0, 54, 251, 47, 0, 21, 146, 100, 0, 162, 72, 220, 0, 48, 197, 37, 0, 87, 4, 199, 0, 75, 148, 79, 0, 29, 152, 132, 0, 251, 99, 116, 0, 208, 229, 109, 0, 188, 4, 172, 0, 123, 72, 32, 0, 161, 107, 73, 0, 125, 52, 78, 0, 221, 27, 50, 0, 193, 140, 64, 0, 231, 3, 27, 0, 203, 97, 161, 0, 107, 136, 17, 0, 81, 68, 252, 0, 140, 84, 9, 0, 188, 138, 101, 0, 133, 203, 72, 0, 235, 79, 239, 0, 114, 72, 120, 0, 159, 231, 40, 0, 68, 130, 150, 0, 55, 120, 115, 0, 227, 113, 196, 0, 112, 123, 35, 0, 28, 182, 238, 0, 156, 221, 153, 0, 123, 113, 119, 0, 146, 76, 214, 0, 190, 163, 198, 0, 45, 13, 168, 0, 9, 208, 145, 0, 148, 9, 72, 0, 176, 182, 47, 0, 114, 32, 64, 0, 22, 1, 204, 0, 120, 92, 111, 0, 47, 0, 239, 0, 157, 8, 193, 0, 53, 196, 229, 0, 201, 179, 252, 0, 78, 228, 140, 0, 62, 224, 197, 0, 200, 81, 160, 0, 212, 66, 220, 0, 63, 126, 35, 0, 153, 143, 80, 0, 192, 105, 19, 0, 12, 89, 196, 0, 80, 249, 125, 0, 79, 70, 158, 0, 22, 191, 52, 0, 30, 36, 136, 0, 190, 240, 93, 0, 50, 77, 10, 0, 213, 240, 43, 0, 206, 64, 212, 0, 223, 159, 200, 0, 178, 105, 86, 0, 194, 230, 237, 0, 99, 138, 222, 0, 178, 40, 39, 0, 84, 169, 26, 0, 81, 98, 219, 0, 244, 100, 185, 0, 115, 146, 193, 0, 92, 22, 227, 0, 7, 200, 48, 0, 214, 101, 202, 0, 225, 214, 144, 0, 12, 185, 31, 0, 64, 115, 240, 0, 121, 34, 29, 0, 116, 63, 192, 0, 181, 111, 248, 0, 50, 194, 229, 0, 159, 249, 107, 0, 121, 167, 44, 0, 46, 98, 52, 0, 86, 95, 44, 0, 121, 79, 116, 0, 122, 52, 174, 0, 253, 40, 78, 0, 19, 90, 96, 0, 51, 100, 96, 0, 73, 213, 57, 0, 80, 3, 91, 0, 190, 229, 173, 0, 245, 52, 204, 0, 184, 144, 101, 0, 40, 175, 51, 0, 170, 177, 232, 0, 217, 231, 56, 0, 206, 246, 71, 0, 169, 25, 108, 0, 101, 237, 56, 0, 29, 144, 46, 0, 119, 106, 183, 0, 131, 118, 191, 0, 166, 188, 178, 0, 173, 221, 142, 0, 88, 128, 33, 0, 175, 192, 99, 0, 246, 184, 51, 0, 174, 16, 161, 0, 28, 153, 158, 0, 167, 8, 34, 0, 77, 35, 156, 0, 188, 21, 217, 0, 201, 52, 170, 0, 208, 104, 216, 0, 80, 80, 149, 0, 214, 141, 167, 0, 78, 177, 138, 0, 170, 60, 194, 0, 97, 220, 3, 0, 152, 91, 131, 0, 59, 237, 230, 0, 29, 68, 214, 0, 161, 207, 95, 0, 239, 130, 143, 0, 23, 82, 204, 0, 200, 41, 147, 0, 211, 124, 23, 0, 248, 92, 0, 0, 92, 87, 247, 0, 43, 211, 24, 0, 140, 141, 153, 0, 156, 120, 125, 0, 78, 176, 47, 0, 56, 207, 142, 0, 165, 119, 99, 0, 218, 84, 26, 0, 156, 206, 180, 0, 47, 128, 85, 0, 27, 119, 9, 0, 145, 178, 9, 0, 169, 53, 78, 0, 251, 4, 106, 0, 252, 225, 162, 0, 93, 66, 219, 0, 252, 206, 36, 0, 18, 128, 87, 0, 130, 14, 160, 0, 201, 198, 252, 0, 178, 170, 45, 0, 35, 49, 203, 0, 84, 54, 184, 0, 117, 71, 156, 0, 223, 157, 70, 0, 171, 224, 135, 0, 9, 52, 106, 0, 245, 210, 214, 0, 170, 234, 102, 0, 128, 39, 161, 0, 34, 69, 193, 0, 153, 229, 57, 0, 22, 222, 168, 0, 22, 124, 92, 0, 215, 241, 47, 0, 105, 228, 201, 0, 58, 243, 158, 0, 113, 134, 137, 0, 254, 82, 160, 0, 250, 8, 179, 0, 185, 15, 68, 0, 100, 246, 85, 0, 22, 211, 158, 0, 246, 114, 78, 0, 23, 178, 203, 0, 102, 215, 213, 0, 104, 209, 70, 0, 62, 193, 241, 0, 37, 150, 152, 0, 55, 66, 58, 0, 126, 131, 138, 0, 215, 121, 71, 0, 81, 53, 37, 0, 254, 206, 34, 0, 39, 201, 60, 0, 105, 177, 36, 0, 66, 45, 185, 0, 135, 15, 37, 0, 86, 195, 167, 0, 7, 77, 176, 0, 177, 169, 126, 0, 182, 71, 140, 0, 237, 129, 65, 0, 123, 153, 43, 0, 16, 228, 210, 0, 156, 116, 244, 0, 207, 56, 203, 0, 206, 119, 235, 0, 113, 109, 90, 0, 139, 118, 215, 0, 144, 50, 148, 0, 168, 49, 41, 0, 16, 208, 42, 0, 17, 16, 154, 0, 98, 5, 176, 0, 110, 12, 163, 0, 76, 32, 120, 0, \ +120, 121, 206, 0, 25, 154, 119, 0, 216, 175, 163, 0, 12, 245, 31, 0, 78, 18, 172, 0, 130, 37, 83, 0, 201, 124, 169, 0, 216, 143, 225, 0, 107, 37, 119, 0, 77, 178, 64, 0, 160, 181, 110, 0, 179, 242, 152, 0, 7, 169, 121, 0, 1, 167, 62, 0, 143, 164, 80, 0, 112, 2, 122, 0, 118, 240, 163, 0, 101, 101, 182, 0, 130, 142, 104, 0, 127, 4, 94, 0, 195, 163, 41, 0, 112, 176, 65, 0, 30, 80, 12, 0, 250, 251, 210, 0, 197, 122, 202, 0, 11, 128, 149, 0, 70, 90, 210, 0, 67, 230, 11, 0, 245, 73, 214, 0, 13, 5, 1, 0, 92, 33, 35, 0, 52, 151, 82, 0, 247, 73, 121, 0, 252, 73, 167, 0, 252, 232, 250, 0, 197, 73, 214, 0, 59, 57, 79, 0, 3, 26, 45, 0, 15, 78, 67, 0, 80, 249, 19, 0, 36, 8, 13, 0, 5, 120, 139, 0, 62, 109, 78, 0, 31, 211, 101, 0, 44, 78, 48, 0, 177, 205, 75, 0, 184, 161, 116, 0, 184, 177, 105, 0, 105, 148, 91, 0, 204, 150, 147, 0, 42, 130, 101, 0, 85, 200, 73, 0, 35, 42, 46, 0, 52, 56, 221, 0, 16, 2, 99, 0, 21, 197, 198, 0, 136, 223, 41, 0, 57, 122, 185, 0, 96, 154, 103, 0, 190, 217, 111, 0, 4, 210, 252, 0, 233, 140, 184, 0, 112, 121, 95, 0, 192, 147, 131, 0, 208, 193, 158, 0, 99, 12, 239, 0, 27, 183, 4, 0, 180, 246, 13, 0, 236, 202, 243, 0, 146, 123, 118, 0, 108, 26, 93, 0, 118, 234, 200, 0, 38, 71, 19, 0, 21, 94, 159, 0, 20, 46, 7, 0, 216, 121, 171, 0, 61, 182, 146, 0, 161, 111, 91, 0, 244, 243, 143, 0, 76, 2, 90, 0, 200, 207, 101, 0, 21, 141, 115, 0, 48, 225, 63, 0, 178, 39, 196, 0, 149, 172, 104, 0, 85, 181, 38, 0, 16, 36, 21, 0, 25, 250, 56, 0, 108, 30, 225, 0, 75, 148, 138, 0, 113, 224, 170, 0, 140, 9, 121, 0, 15, 189, 57, 0, 194, 103, 196, 0, 97, 180, 26, 0, 49, 79, 242, 0, 56, 69, 70, 0, 205, 220, 216, 0, 9, 92, 56, 0, 37, 208, 98, 0, 23, 90, 0, 0, 45, 87, 173, 0, 99, 22, 240, 0, 104, 91, 75, 0, 146, 151, 161, 0, 168, 37, 156, 0, 163, 5, 33, 0, 127, 121, 219, 0, 119, 69, 147, 0, 3, 114, 69, 0, 75, 123, 121, 0, 0, 103, 15, 0, 155, 86, 179, 0, 119, 250, 137, 0, 220, 137, 42, 0, 110, 107, 240, 0, 142, 155, 98, 0, 10, 42, 226, 0, 23, 247, 199, 0, 230, 190, 190, 0, 59, 206, 141, 0, 227, 100, 252, 0, 226, 166, 220, 0, 203, 170, 155, 0, 154, 64, 203, 0, 88, 173, 72, 0, 176, 215, 35, 0, 147, 12, 130, 0, 231, 7, 202, 0, 219, 168, 224, 0, 6, 58, 14, 0, 220, 106, 208, 0, 190, 70, 78, 0, 94, 227, 122, 0, 203, 108, 191, 0, 40, 7, 213, 0, 62, 103, 211, 0, 163, 241, 90, 0, 236, 223, 31, 0, 230, 51, 120, 0, 166, 179, 140, 0, 0, 73, 121, 0, 127, 224, 110, 0, 89, 6, 114, 0, 239, 136, 131, 0, 220, 162, 126, 0, 118, 26, 96, 0, 8, 250, 242, 0, 16, 20, 140, 0, 221, 152, 64, 0, 227, 174, 85, 0, 40, 232, 119, 0, 165, 155, 20, 0, 248, 12, 30, 0, 11, 40, 233, 0, 53, 94, 214, 0, 113, 191, 13, 0, 54, 34, 185, 0, 51, 14, 221, 0, 147, 126, 96, 0, 144, 207, 29, 0, 89, 81, 130, 0, 252, 39, 238, 0, 34, 228, 168, 0, 62, 192, 224, 0, 54, 2, 105, 0, 199, 58, 26, 0, 17, 92, 254, 0, 131, 6, 128, 0, 226, 102, 49, 0, 232, 140, 198, 0, 235, 13, 75, 0, 13, 133, 162, 0, 112, 87, 29, 0, 124, 250, 21, 0, 5, 141, 136, 0, 189, 94, 229, 0, 170, 184, 188, 0, 253, 103, 197, 0, 1, 145, 32, 0, 115, 229, 61, 0, 120, 180, 41, 0, 148, 176, 152, 0, 27, 132, 85, 0, 171, 81, 253, 0, 0, 4, 152, 0, 205, 150, 65, 0, 200, 99, 107, 0, 140, 65, 169, 0, 115, 97, 52, 0, 78, 58, 69, 0, 56, 175, 197, 0, 138, 186, 194, 0, 39, 107, 162, 0, 197, 132, 5, 0, 98, 22, 124, 0, 110, 254, 213, 0, 234, 71, 203, 0, 19, 98, 234, 0, 104, 16, 16, 0, 52, 101, 85, 0, 141, 108, 224, 0, 251, 92, 97, 0, 169, 7, 135, 0, 215, 109, 254, 0, 51, 247, 23, 0, 159, 159, 81, 0, 89, 167, 150, 0, 121, 208, 13, 0, 60, 173, 185, 0, 23, 176, 240, 0, 35, 97, 122, 0, 92, 185, 52, 0, 142, 224, 66, 0, 254, 200, 247, 0, 6, 33, 136, 0, 176, 228, 219, 0, 102, 228, 96, 0, 33, 94, 203, 0, 250, 228, 126, 0, 169, 70, 149, 0, 12, 112, 27, 0, 43, 165, 34, 0, 148, 234, 223, 0, \ +10, 77, 118, 0, 153, 157, 162, 0, 164, 16, 247, 0, 135, 89, 231, 0, 147, 167, 45, 0, 186, 254, 32, 0, 189, 127, 165, 0, 242, 182, 166, 0, 144, 202, 25, 0, 123, 187, 67, 0, 33, 198, 210, 0, 240, 113, 156, 0, 100, 26, 78, 0, 95, 119, 161, 0, 59, 47, 122, 0, 182, 249, 92, 0, 230, 2, 49, 0, 158, 59, 63, 0, 95, 16, 80, 0, 117, 236, 248, 0, 115, 85, 52, 0, 172, 73, 158, 0, 61, 187, 16, 0, 175, 221, 251, 0, 124, 33, 90, 0, 98, 17, 79, 0, 197, 228, 27, 0, 61, 239, 252, 0, 61, 127, 233, 0, 150, 133, 225, 0, 227, 212, 244, 0, 141, 176, 162, 0, 0, 252, 225, 0, 7, 194, 215, 0, 6, 25, 254, 0, 108, 199, 94, 0, 103, 212, 109, 0, 244, 95, 62, 0, 251, 230, 181, 0, 192, 179, 213, 0, 50, 167, 225, 0, 73, 82, 158, 0, 90, 167, 183, 0, 163, 220, 252, 0, 249, 163, 60, 0, 104, 41, 62, 0, 72, 21, 161, 0, 86, 82, 124, 0, 5, 21, 29, 0, 0, 122, 196, 0, 139, 114, 78, 0, 62, 63, 2, 0, 186, 53, 178, 0, 214, 57, 209, 0, 63, 252, 167, 0, 57, 98, 165, 0, 205, 38, 197, 0, 134, 118, 28, 0, 103, 20, 70, 0, 204, 164, 158, 0, 81, 59, 130, 0, 118, 156, 185, 0, 226, 180, 172, 0, 44, 209, 237, 0, 92, 61, 75, 0, 202, 227, 39, 0, 47, 190, 33, 0, 59, 202, 33, 0, 9, 227, 67, 0, 153, 147, 135, 0, 87, 186, 144, 0, 235, 236, 143, 0, 151, 139, 28, 0, 49, 218, 53, 0, 160, 132, 134, 0, 150, 139, 94, 0, 183, 239, 217, 0, 187, 67, 202, 0, 167, 22, 41, 0, 196, 63, 183, 0, 215, 14, 221, 0, 88, 221, 100, 0, 4, 163, 90, 0, 182, 42, 252, 0, 23, 131, 252, 0, 230, 251, 226, 0, 195, 116, 173, 0, 218, 71, 69, 0, 90, 58, 216, 0, 108, 2, 58, 0, 64, 135, 143, 0, 184, 15, 76, 0, 27, 90, 196, 0, 130, 189, 116, 0, 75, 215, 232, 0, 122, 100, 73, 0, 216, 197, 234, 0, 106, 64, 235, 0, 87, 116, 66, 0, 24, 162, 247, 0, 48, 30, 58, 0, 215, 100, 217, 0, 54, 106, 202, 0, 241, 95, 4, 0, 142, 220, 55, 0, 181, 4, 215, 0, 111, 25, 94, 0, 56, 117, 122, 0, 127, 29, 128, 0, 215, 12, 54, 0, 116, 100, 134, 0, 166, 200, 41, 0, 32, 36, 146, 0, 192, 234, 232, 0, 128, 119, 122, 0, 200, 163, 217, 0, 36, 165, 129, 0, 53, 68, 233, 0, 214, 67, 20, 0, 137, 40, 87, 0, 145, 189, 236, 0, 87, 98, 128, 0, 241, 30, 24, 0, 160, 149, 231, 0, 99, 89, 75, 0, 225, 24, 141, 0, 221, 140, 1, 0, 172, 120, 64, 0, 100, 174, 19, 0, 125, 135, 56, 0, 64, 151, 207, 0, 197, 88, 134, 0, 53, 76, 224, 0, 249, 202, 144, 0, 149, 143, 181, 0, 123, 163, 237, 0, 79, 190, 30, 0, 37, 74, 39, 0, 121, 159, 241, 0, 18, 97, 213, 0, 56, 212, 126, 0, 240, 144, 14, 0, 117, 184, 47, 0, 166, 63, 250, 0, 224, 8, 112, 0, 33, 143, 101, 0, 168, 67, 250, 0, 137, 228, 41, 0, 242, 19, 210, 0, 223, 240, 166, 0, 216, 46, 162, 0, 58, 209, 37, 0, 204, 208, 146, 0, 197, 196, 61, 0, 188, 232, 168, 0, 238, 48, 94, 0, 237, 229, 40, 0, 190, 245, 136, 0, 168, 178, 249, 0, 166, 144, 11, 0, 112, 100, 227, 0, 12, 172, 43, 0, 147, 31, 108, 0, 203, 160, 190, 0, 35, 32, 10, 0, 74, 220, 246, 0, 120, 221, 188, 0, 253, 104, 118, 0, 60, 110, 245, 0, 98, 17, 87, 0, 40, 182, 11, 0, 36, 252, 158, 0, 224, 153, 177, 0, 17, 135, 46, 0, 172, 39, 99, 0, 119, 146, 238, 0, 231, 220, 195, 0, 24, 90, 90, 0, 49, 211, 200, 0, 34, 231, 59, 0, 64, 44, 114, 0, 35, 86, 251, 0, 139, 33, 121, 0, 122, 47, 204, 0, 26, 23, 230, 0, 247, 82, 123, 0, 216, 212, 83, 0, 164, 14, 115, 0, 241, 66, 53, 0, 103, 207, 70, 0, 136, 191, 208, 0, 236, 201, 46, 0, 181, 192, 118, 0, 247, 212, 110, 0, 203, 112, 147, 0, 221, 82, 89, 0, 16, 64, 120, 0, 210, 245, 56, 0, 125, 242, 197, 0, 2, 209, 145, 0, 40, 140, 108, 0, 203, 140, 218, 0, 172, 92, 197, 0, 7, 199, 240, 0, 209, 13, 230, 0, 76, 36, 214, 0, 73, 200, 113, 0, 71, 215, 42, 0, 98, 229, 67, 0, 77, 78, 225, 0, 36, 238, 227, 0, 116, 126, 22, 0, 191, 197, 151, 0, 249, 164, 241, 0, 138, 247, 43, 0, 69, 197, 92, 0, 181, 219, 227, 0, 45, 176, 242, 0, 30, 49, 227, 0, 128, 180, 109, 0, 45, 210, 198, 0, 87, 128, 40, 0, 183, 190, 181, 0, 13, 64, 95, 0, \ +105, 226, 51, 0, 96, 67, 250, 0, 251, 21, 109, 0, 113, 109, 4, 0, 29, 50, 135, 0, 190, 73, 93, 0, 210, 92, 144, 0, 248, 154, 51, 0, 176, 201, 10, 0, 102, 11, 69, 0, 123, 98, 164, 0, 226, 216, 32, 0, 14, 143, 55, 0, 106, 99, 239, 0, 89, 133, 184, 0, 11, 82, 28, 0, 70, 75, 244, 0, 96, 249, 232, 0, 36, 251, 33, 0, 108, 50, 62, 0, 28, 14, 225, 0, 108, 95, 72, 0, 102, 212, 208, 0, 206, 104, 98, 0, 40, 32, 101, 0, 45, 185, 198, 0, 39, 136, 218, 0, 17, 224, 156, 0, 102, 43, 9, 0, 36, 247, 38, 0, 114, 47, 229, 0, 179, 17, 186, 0, 21, 8, 215, 0, 214, 202, 92, 0, 11, 250, 236, 0, 6, 0, 103, 0, 62, 109, 95, 0, 158, 162, 165, 0, 64, 105, 168, 0, 69, 145, 206, 0, 239, 105, 132, 0, 227, 199, 3, 0, 207, 228, 34, 0, 44, 97, 53, 0, 139, 252, 171, 0, 173, 217, 61, 0, 170, 16, 113, 0, 98, 59, 230, 0, 188, 229, 28, 0, 139, 122, 133, 0, 53, 143, 148, 0, 102, 28, 218, 0, 223, 52, 46, 0, 119, 171, 5, 0, 226, 14, 104, 0, 140, 11, 84, 0, 195, 69, 101, 0, 110, 228, 120, 0, 32, 152, 49, 0, 175, 165, 246, 0, 66, 167, 246, 0, 41, 67, 119, 0, 151, 179, 36, 0, 82, 125, 228, 0, 190, 86, 75, 0, 99, 89, 67, 0, 6, 28, 165, 0, 153, 19, 7, 0, 175, 22, 113, 0, 33, 33, 171, 0, 242, 225, 60, 0, 42, 247, 49, 0, 254, 248, 250, 0, 208, 76, 30, 0, 166, 184, 19, 0, 208, 221, 180, 0, 123, 85, 96, 0, 58, 28, 173, 0, 176, 91, 126, 0, 132, 30, 76, 0, 192, 127, 254, 0, 1, 125, 50, 0, 54, 6, 82, 0, 206, 37, 217, 0, 64, 217, 138, 0, 108, 105, 132, 0, 226, 220, 147, 0, 102, 61, 210, 0, 224, 120, 95, 0, 29, 164, 71, 0, 170, 196, 212, 0, 77, 68, 171, 0, 119, 36, 46, 0, 80, 65, 14, 0, 178, 190, 5, 0, 191, 94, 17, 0, 82, 113, 228, 0, 244, 203, 27, 0, 201, 240, 101, 0, 50, 69, 252, 0, 111, 57, 34, 0, 71, 231, 194, 0, 144, 235, 159, 0, 28, 98, 178, 0, 144, 44, 38, 0, 187, 200, 29, 0, 78, 62, 243, 0, 141, 202, 119, 0, 72, 21, 34, 0, 162, 16, 114, 0, 199, 158, 96, 0, 176, 134, 99, 0, 49, 252, 141, 0, 201, 222, 233, 0, 151, 198, 144, 0, 221, 44, 112, 0, 23, 203, 50, 0, 79, 77, 186, 0, 200, 238, 62, 0, 46, 38, 66, 0, 84, 115, 253, 0, 129, 223, 139, 0, 217, 170, 155, 0, 56, 87, 143, 0, 21, 147, 112, 0, 95, 252, 57, 0, 146, 71, 229, 0, 10, 244, 21, 0, 52, 62, 241, 0, 232, 180, 37, 0, 146, 144, 12, 0, 242, 29, 212, 0, 173, 244, 111, 0, 118, 84, 49, 0, 27, 229, 205, 0, 39, 252, 224, 0, 236, 66, 198, 0, 196, 123, 169, 0, 47, 240, 53, 0, 180, 84, 179, 0, 2, 176, 66, 0, 196, 142, 236, 0, 156, 38, 190, 0, 24, 209, 227, 0, 37, 102, 20, 0, 210, 222, 91, 0, 193, 93, 16, 0, 204, 234, 144, 0, 234, 72, 106, 0, 205, 75, 2, 0, 78, 104, 205, 0, 15, 26, 199, 0, 106, 187, 42, 0, 89, 121, 246, 0, 205, 242, 206, 0, 204, 114, 33, 0, 109, 203, 162, 0, 229, 148, 161, 0, 66, 147, 94, 0, 55, 237, 118, 0, 199, 207, 120, 0, 49, 42, 12, 0, 196, 78, 136, 0, 130, 42, 131, 0, 117, 23, 26, 0, 186, 200, 240, 0, 79, 70, 200, 0, 25, 194, 104, 0, 59, 72, 100, 0, 84, 216, 231, 0, 150, 189, 126, 0, 171, 198, 154, 0, 202, 7, 32, 0, 41, 222, 218, 0, 162, 224, 124, 0, 204, 187, 151, 0, 140, 73, 222, 0, 4, 8, 51, 0, 240, 168, 37, 0, 10, 169, 132, 0, 185, 28, 136, 0, 109, 115, 203, 0, 155, 132, 83, 0, 221, 196, 70, 0, 50, 227, 7, 0, 120, 212, 206, 0, 176, 67, 235, 0, 118, 31, 99, 0, 121, 178, 226, 0, 76, 194, 164, 0, 108, 33, 136, 0, 172, 227, 206, 0, 156, 29, 96, 0, 50, 221, 44, 0, 148, 58, 186, 0, 138, 191, 230, 0, 62, 137, 81, 0, 83, 169, 211, 0, 81, 208, 92, 0, 128, 47, 229, 0, 246, 188, 136, 0, 208, 163, 247, 0, 88, 18, 248, 0, 80, 45, 11, 0, 230, 75, 120, 0, 14, 244, 35, 0, 112, 88, 189, 0, 206, 162, 41, 0, 251, 45, 143, 0, 198, 109, 1, 0, 183, 42, 30, 0, 194, 74, 253, 0, 182, 148, 54, 0, 29, 124, 222, 0, 78, 223, 215, 0, 137, 149, 153, 0, 208, 139, 7, 0, 140, 238, 173, 0, 176, 202, 98, 0, 16, 179, 46, 0, 193, 147, 37, 0, 55, 252, 107, 0, 54, 249, 69, 0, 78, 179, 204, 0, \ +212, 106, 218, 0, 156, 171, 13, 0, 152, 43, 128, 0, 67, 5, 144, 0, 81, 158, 173, 0, 211, 28, 13, 0, 83, 74, 52, 0, 221, 202, 117, 0, 211, 3, 237, 0, 174, 247, 12, 0, 196, 70, 4, 0, 128, 57, 139, 0, 150, 131, 156, 0, 94, 13, 62, 0, 162, 176, 251, 0, 96, 224, 165, 0, 126, 60, 181, 0, 132, 202, 2, 0, 227, 16, 68, 0, 41, 243, 6, 0, 40, 221, 126, 0, 150, 73, 168, 0, 63, 238, 228, 0, 60, 58, 69, 0, 228, 156, 220, 0, 66, 108, 118, 0, 140, 175, 16, 0, 135, 89, 155, 0, 145, 246, 150, 0, 43, 75, 153, 0, 84, 164, 46, 0, 214, 25, 143, 0, 208, 131, 37, 0, 17, 122, 77, 0, 145, 139, 74, 0, 198, 130, 4, 0, 220, 37, 199, 0, 22, 157, 49, 0, 142, 187, 170, 0, 10, 132, 212, 0, 176, 209, 233, 0, 168, 29, 229, 0, 223, 161, 30, 0, 208, 179, 151, 0, 141, 113, 28, 0, 129, 166, 33, 0, 145, 116, 226, 0, 239, 41, 99, 0, 95, 198, 94, 0, 188, 160, 167, 0, 124, 188, 180, 0, 200, 184, 107, 0, 242, 246, 153, 0, 199, 59, 128, 0, 177, 155, 207, 0, 127, 105, 243, 0, 162, 52, 59, 0, 213, 135, 77, 0, 217, 239, 74, 0, 117, 245, 162, 0, 167, 107, 65, 0, 58, 105, 128, 0, 124, 53, 8, 0, 233, 174, 87, 0, 91, 242, 31, 0, 44, 5, 6, 0, 135, 40, 246, 0, 8, 164, 176, 0, 3, 243, 170, 0, 93, 64, 12, 0, 76, 187, 147, 0, 199, 50, 160, 0, 51, 93, 219, 0, 3, 18, 81, 0, 112, 181, 57, 0, 42, 249, 238, 0, 222, 72, 217, 0, 23, 84, 240, 0, 100, 6, 114, 0, 175, 38, 125, 0, 12, 224, 179, 0, 185, 204, 29, 0, 20, 228, 136, 0, 175, 62, 55, 0, 162, 113, 75, 0, 38, 201, 180, 0, 246, 103, 244, 0, 157, 37, 60, 0, 248, 59, 251, 0, 47, 129, 81, 0, 172, 151, 44, 0, 190, 199, 142, 0, 22, 72, 4, 0, 33, 99, 104, 0, 78, 55, 220, 0, 102, 229, 220, 0, 96, 194, 37, 0, 1, 13, 115, 0, 20, 246, 94, 0, 36, 159, 237, 0, 145, 231, 8, 0, 95, 93, 9, 0, 50, 102, 217, 0, 205, 58, 72, 0, 142, 64, 191, 0, 100, 126, 18, 0, 14, 209, 15, 0, 211, 251, 245, 0, 237, 222, 18, 0, 234, 221, 189, 0, 198, 248, 215, 0, 22, 248, 47, 0, 194, 160, 41, 0, 244, 228, 100, 0, 134, 243, 224, 0, 198, 100, 147, 0, 126, 2, 190, 0, 23, 10, 26, 0, 242, 48, 176, 0, 92, 195, 139, 0, 183, 82, 18, 0, 214, 226, 3, 0, 190, 252, 240, 0, 146, 220, 225, 0, 93, 119, 184, 0, 1, 118, 83, 0, 90, 75, 142, 0, 215, 213, 139, 0, 201, 112, 76, 0, 62, 157, 97, 0, 243, 200, 80, 0, 164, 64, 24, 0, 221, 28, 87, 0, 85, 247, 117, 0, 52, 170, 184, 0, 149, 216, 250, 0, 65, 80, 114, 0, 174, 93, 104, 0, 171, 113, 62, 0, 243, 202, 146, 0, 122, 212, 55, 0, 246, 87, 63, 0, 218, 35, 94, 0, 237, 151, 121, 0, 53, 229, 108, 0, 50, 245, 157, 0, 37, 226, 176, 0, 206, 100, 211, 0, 244, 75, 58, 0, 208, 135, 180, 0, 164, 0, 58, 0, 183, 84, 2, 0, 200, 101, 17, 0, 176, 97, 118, 0, 30, 125, 113, 0, 125, 9, 205, 0, 216, 230, 37, 0, 108, 109, 196, 0, 0, 125, 14, 0, 200, 53, 247, 0, 168, 39, 235, 0, 136, 45, 34, 0, 223, 163, 192, 0, 90, 83, 84, 0, 135, 145, 212, 0, 112, 169, 126, 0, 100, 83, 100, 0, 7, 3, 206, 0, 53, 27, 108, 0, 137, 77, 3, 0, 109, 39, 130, 0, 129, 76, 210, 0, 185, 234, 65, 0, 195, 251, 235, 0, 114, 86, 154, 0, 142, 128, 47, 0, 160, 207, 180, 0, 140, 253, 158, 0, 90, 167, 250, 0, 43, 70, 193, 0, 246, 3, 22, 0, 108, 15, 140, 0, 37, 70, 115, 0, 208, 75, 100, 0, 228, 240, 208, 0, 30, 216, 225, 0, 50, 62, 245, 0, 221, 176, 195, 0, 230, 187, 143, 0, 105, 52, 80, 0, 227, 127, 243, 0, 102, 160, 144, 0, 135, 149, 57, 0, 212, 209, 176, 0, 226, 96, 0, 0, 224, 244, 107, 0, 217, 67, 119, 0, 153, 126, 45, 0, 163, 106, 184, 0, 241, 170, 115, 0, 11, 142, 59, 0, 176, 206, 10, 0, 52, 65, 168, 0, 103, 149, 122, 0, 215, 47, 64, 0, 54, 121, 72, 0, 66, 225, 4, 0, 168, 149, 230, 0, 47, 194, 171, 0, 143, 27, 97, 0, 171, 26, 153, 0, 198, 158, 195, 0, 133, 182, 215, 0, 99, 17, 18, 0, 1, 149, 53, 0, 214, 15, 165, 0, 243, 12, 191, 0, 134, 244, 25, 0, 77, 25, 67, 0, 28, 160, 120, 0, 199, 116, 209, 0, 223, 115, 22, 0, 83, 231, 1, 0, 251, 90, 52, 0, \ +197, 123, 79, 0, 172, 23, 251, 0, 241, 77, 155, 0, 162, 125, 179, 0, 149, 80, 85, 0, 73, 101, 212, 0, 190, 76, 147, 0, 83, 8, 242, 0, 177, 83, 131, 0, 162, 5, 216, 0, 4, 164, 201, 0, 210, 253, 158, 0, 25, 217, 103, 0, 102, 233, 184, 0, 111, 99, 193, 0, 23, 90, 104, 0, 221, 237, 167, 0, 77, 37, 195, 0, 120, 230, 32, 0, 250, 249, 125, 0, 189, 36, 239, 0, 97, 72, 42, 0, 19, 24, 247, 0, 232, 150, 251, 0, 223, 223, 160, 0, 12, 126, 207, 0, 190, 95, 179, 0, 56, 81, 3, 0, 216, 162, 185, 0, 47, 15, 77, 0, 37, 88, 244, 0, 176, 13, 189, 0, 53, 53, 191, 0, 208, 207, 137, 0, 107, 96, 9, 0, 62, 56, 250, 0, 186, 207, 67, 0, 18, 99, 99, 0, 134, 122, 252, 0, 129, 168, 157, 0, 59, 22, 135, 0, 93, 109, 20, 0, 129, 6, 31, 0, 46, 77, 81, 0, 33, 202, 179, 0, 87, 165, 170, 0, 7, 85, 59, 0, 109, 254, 57, 0, 195, 149, 129, 0, 135, 18, 5, 0, 27, 48, 245, 0, 101, 56, 119, 0, 111, 252, 89, 0, 141, 47, 189, 0, 227, 108, 215, 0, 29, 87, 239, 0, 124, 18, 46, 0, 106, 75, 96, 0, 109, 222, 109, 0, 97, 84, 253, 0, 91, 57, 250, 0, 132, 236, 59, 0, 22, 102, 78, 0, 248, 37, 45, 0, 98, 127, 156, 0, 162, 48, 99, 0, 30, 25, 117, 0, 117, 208, 161, 0, 172, 79, 230, 0, 214, 34, 96, 0, 86, 217, 51, 0, 110, 252, 221, 0, 146, 166, 84, 0, 158, 155, 119, 0, 253, 168, 66, 0, 31, 133, 113, 0, 71, 48, 235, 0, 172, 39, 93, 0, 146, 61, 183, 0, 65, 206, 179, 0, 73, 158, 234, 0, 219, 188, 91, 0, 77, 148, 63, 0, 101, 244, 81, 0, 0, 174, 78, 0, 196, 121, 86, 0, 249, 34, 106, 0, 229, 88, 213, 0, 60, 127, 65, 0, 2, 201, 9, 0, 30, 42, 193, 0, 51, 142, 45, 0, 168, 218, 220, 0, 92, 22, 20, 0, 235, 41, 220, 0, 82, 118, 230, 0, 66, 174, 76, 0, 115, 163, 108, 0, 35, 226, 134, 0, 163, 173, 248, 0, 177, 66, 146, 0, 157, 26, 207, 0, 23, 82, 113, 0, 96, 136, 178, 0, 107, 85, 196, 0, 22, 76, 200, 0, 13, 254, 128, 0, 112, 89, 136, 0, 203, 45, 35, 0, 172, 75, 145, 0, 177, 50, 181, 0, 74, 83, 60, 0, 165, 159, 229, 0, 88, 70, 88, 0, 71, 189, 183, 0, 221, 29, 95, 0, 193, 40, 104, 0, 26, 32, 144, 0, 107, 247, 32, 0, 160, 5, 236, 0, 220, 20, 192, 0, 230, 70, 7, 0, 139, 138, 29, 0, 171, 138, 47, 0, 24, 150, 48, 0, 208, 237, 74, 0, 240, 114, 94, 0, 203, 190, 123, 0, 91, 12, 241, 0, 251, 174, 241, 0, 128, 148, 221, 0, 138, 239, 96, 0, 119, 121, 247, 0, 4, 205, 5, 0, 150, 155, 153, 0, 47, 176, 96, 0, 140, 181, 217, 0, 157, 33, 42, 0, 239, 103, 116, 0, 92, 9, 100, 0, 153, 75, 92, 0, 224, 235, 88, 0, 96, 225, 60, 0, 81, 204, 136, 0, 225, 132, 125, 0, 147, 210, 135, 0, 146, 70, 103, 0, 206, 166, 238, 0, 88, 68, 167, 0, 208, 176, 219, 0, 151, 51, 156, 0, 95, 131, 74, 0, 39, 214, 15, 0, 190, 137, 39, 0, 186, 71, 132, 0, 96, 6, 226, 0, 211, 35, 129, 0, 45, 245, 235, 0, 4, 216, 166, 0, 155, 6, 240, 0, 54, 229, 22, 0, 39, 74, 70, 0, 73, 130, 140, 0, 97, 45, 147, 0, 79, 199, 63, 0, 57, 54, 228, 0, 17, 198, 111, 0, 56, 233, 207, 0, 155, 125, 243, 0, 248, 10, 130, 0, 102, 178, 201, 0, 241, 154, 199, 0, 190, 6, 93, 0, 225, 44, 96, 0, 173, 139, 160, 0, 143, 40, 199, 0, 249, 219, 3, 0, 80, 0, 111, 0, 246, 143, 146, 0, 60, 202, 131, 0, 243, 246, 126, 0, 41, 6, 105, 0, 99, 224, 53, 0, 14, 248, 251, 0, 73, 103, 4, 0, 72, 139, 188, 0, 93, 38, 238, 0, 91, 198, 66, 0, 49, 157, 189, 0, 222, 109, 246, 0, 83, 106, 169, 0, 232, 6, 143, 0, 183, 178, 83, 0, 231, 87, 66, 0, 19, 87, 50, 0, 14, 236, 210, 0, 66, 230, 169, 0, 218, 144, 180, 0, 90, 247, 65, 0, 203, 151, 107, 0, 89, 74, 139, 0, 0, 163, 9, 0, 139, 12, 175, 0, 9, 51, 198, 0, 11, 21, 102, 0, 71, 241, 146, 0, 70, 225, 236, 0, 92, 74, 166, 0, 34, 141, 124, 0, 171, 231, 187, 0, 90, 43, 135, 0, 146, 26, 72, 0, 91, 65, 129, 0, 187, 14, 241, 0, 166, 251, 207, 0, 156, 186, 142, 0, 96, 156, 60, 0, 194, 79, 133, 0, 91, 137, 98, 0, 54, 190, 130, 0, 101, 16, 246, 0, 201, 109, 29, 0, 191, 219, 146, 0, 199, 202, 242, 0, \ +198, 99, 6, 0, 158, 135, 5, 0, 68, 139, 185, 0, 236, 79, 147, 0, 126, 25, 96, 0, 217, 145, 236, 0, 19, 218, 67, 0, 221, 158, 60, 0, 248, 14, 249, 0, 130, 58, 94, 0, 52, 205, 254, 0, 250, 219, 132, 0, 220, 148, 70, 0, 94, 232, 74, 0, 232, 62, 53, 0, 223, 201, 105, 0, 89, 52, 198, 0, 50, 19, 178, 0, 243, 66, 115, 0, 193, 203, 128, 0, 90, 102, 143, 0, 151, 54, 177, 0, 16, 250, 251, 0, 102, 109, 168, 0, 114, 64, 184, 0, 147, 89, 86, 0, 221, 243, 16, 0, 34, 176, 16, 0, 245, 248, 228, 0, 139, 248, 91, 0, 111, 186, 109, 0, 104, 159, 28, 0, 155, 3, 153, 0, 192, 213, 121, 0, 198, 38, 144, 0, 253, 212, 17, 0, 105, 95, 93, 0, 229, 157, 7, 0, 34, 51, 7, 0, 3, 131, 254, 0, 230, 67, 6, 0, 133, 164, 74, 0, 94, 236, 224, 0, 22, 14, 119, 0, 201, 197, 99, 0, 77, 121, 212, 0, 88, 238, 186, 0, 79, 151, 209, 0, 247, 104, 111, 0, 94, 112, 119, 0, 2, 4, 58, 0, 195, 8, 180, 0, 174, 22, 206, 0, 99, 216, 91, 0, 32, 206, 241, 0, 220, 102, 192, 0, 24, 33, 7, 0, 188, 34, 122, 0, 127, 137, 141, 0, 239, 109, 75, 0, 165, 49, 71, 0, 239, 148, 167, 0, 100, 189, 231, 0, 215, 42, 107, 0, 113, 248, 74, 0, 31, 56, 63, 0, 234, 242, 171, 0, 127, 159, 68, 0, 14, 49, 109, 0, 15, 59, 70, 0, 64, 230, 120, 0, 64, 124, 9, 0, 193, 88, 10, 0, 111, 51, 2, 0, 11, 245, 52, 0, 151, 203, 206, 0, 43, 16, 50, 0, 159, 50, 116, 0, 121, 219, 128, 0, 122, 26, 239, 0, 30, 94, 88, 0, 175, 188, 148, 0, 174, 81, 65, 0, 222, 71, 17, 0, 204, 226, 21, 0, 200, 115, 10, 0, 6, 149, 111, 0, 46, 145, 94, 0, 118, 103, 187, 0, 97, 177, 227, 0, 99, 33, 137, 0, 136, 44, 127, 0, 76, 169, 102, 0, 33, 179, 31, 0, 191, 148, 231, 0, 118, 50, 226, 0, 210, 111, 222, 0, 189, 55, 60, 0, 69, 217, 216, 0, 25, 23, 152, 0, 35, 37, 57, 0, 164, 203, 222, 0, 134, 238, 177, 0, 115, 229, 153, 0, 84, 44, 44, 0, 207, 41, 115, 0, 168, 9, 223, 0, 69, 165, 148, 0, 10, 58, 133, 0, 109, 47, 148, 0, 122, 254, 172, 0, 179, 36, 32, 0, 100, 24, 153, 0, 171, 145, 162, 0, 192, 32, 19, 0, 115, 215, 87, 0, 62, 241, 45, 0, 144, 57, 234, 0, 165, 242, 128, 0, 236, 70, 72, 0, 8, 186, 151, 0, 231, 250, 191, 0, 41, 79, 174, 0, 167, 230, 97, 0, 34, 85, 220, 0, 132, 171, 57, 0, 226, 81, 27, 0, 117, 113, 85, 0, 12, 177, 90, 0, 115, 21, 166, 0, 80, 81, 19, 0, 244, 138, 65, 0, 215, 41, 24, 0, 222, 146, 221, 0, 31, 119, 6, 0, 32, 88, 240, 0, 220, 222, 231, 0, 223, 33, 216, 0, 56, 176, 12, 0, 211, 53, 222, 0, 198, 60, 141, 0, 206, 202, 160, 0, 65, 153, 169, 0, 139, 206, 142, 0, 241, 145, 172, 0, 157, 53, 164, 0, 215, 187, 78, 0, 192, 16, 4, 0, 247, 102, 160, 0, 46, 251, 68, 0, 113, 79, 103, 0, 183, 231, 102, 0, 179, 125, 171, 0, 131, 63, 53, 0, 175, 150, 85, 0, 31, 151, 215, 0, 119, 138, 23, 0, 216, 220, 250, 0, 149, 3, 54, 0, 75, 36, 142, 0, 188, 17, 196, 0, 245, 177, 71, 0, 122, 149, 198, 0, 64, 5, 161, 0, 243, 186, 55, 0, 2, 53, 125, 0, 12, 233, 223, 0, 237, 75, 198, 0, 82, 134, 2, 0, 170, 243, 36, 0, 44, 212, 11, 0, 125, 72, 249, 0, 132, 143, 177, 0, 44, 225, 231, 0, 13, 13, 247, 0, 201, 1, 215, 0, 94, 62, 71, 0, 172, 104, 91, 0, 113, 75, 200, 0, 201, 90, 189, 0, 63, 60, 139, 0, 206, 38, 151, 0, 204, 115, 26, 0, 81, 238, 165, 0, 235, 156, 39, 0, 143, 36, 119, 0, 79, 156, 151, 0, 228, 246, 117, 0, 193, 83, 71, 0, 49, 98, 226, 0, 82, 251, 18, 0, 223, 43, 218, 0, 143, 172, 251, 0, 18, 221, 133, 0, 63, 46, 218, 0, 108, 24, 200, 0, 185, 232, 192, 0, 164, 165, 163, 0, 50, 40, 186, 0, 44, 58, 186, 0, 69, 136, 136, 0, 84, 137, 21, 0, 246, 112, 208, 0, 131, 194, 62, 0, 247, 229, 246, 0, 53, 16, 251, 0, 94, 29, 60, 0, 7, 111, 190, 0, 138, 203, 142, 0, 201, 45, 159, 0, 223, 162, 144, 0, 137, 148, 19, 0, 114, 96, 145, 0, 152, 20, 17, 0, 251, 160, 175, 0, 40, 10, 226, 0, 144, 20, 13, 0, 152, 233, 1, 0, 120, 52, 80, 0, 18, 221, 72, 0, 76, 118, 230, 0, 183, 130, 59, 0, 36, 97, 54, 0, 223, 53, 173, 0, \ +183, 105, 23, 0, 156, 216, 180, 0, 171, 120, 204, 0, 19, 22, 223, 0, 199, 185, 139, 0, 214, 103, 237, 0, 30, 143, 0, 0, 46, 189, 63, 0, 53, 225, 131, 0, 168, 91, 41, 0, 142, 54, 77, 0, 104, 204, 179, 0, 145, 236, 169, 0, 105, 96, 16, 0, 236, 196, 209, 0, 167, 208, 131, 0, 108, 230, 11, 0, 175, 31, 21, 0, 67, 225, 215, 0, 128, 87, 149, 0, 86, 17, 82, 0, 210, 41, 97, 0, 162, 243, 191, 0, 55, 91, 61, 0, 207, 17, 161, 0, 31, 198, 45, 0, 83, 169, 65, 0, 55, 133, 47, 0, 241, 108, 149, 0, 72, 179, 43, 0, 168, 154, 192, 0, 81, 245, 192, 0, 84, 107, 226, 0, 177, 171, 193, 0, 252, 30, 31, 0, 210, 75, 149, 0, 168, 162, 152, 0, 143, 215, 74, 0, 62, 78, 59, 0, 5, 243, 102, 0, 145, 191, 42, 0, 216, 123, 201, 0, 102, 229, 78, 0, 116, 214, 24, 0, 20, 129, 9, 0, 42, 46, 237, 0, 90, 23, 138, 0, 236, 80, 230, 0, 153, 129, 67, 0, 189, 241, 154, 0, 194, 46, 119, 0, 208, 11, 239, 0, 229, 189, 91, 0, 74, 12, 198, 0, 103, 5, 71, 0, 0, 34, 139, 0, 126, 181, 140, 0, 137, 169, 39, 0, 134, 73, 208, 0, 198, 48, 150, 0, 140, 111, 242, 0, 243, 191, 118, 0, 59, 174, 88, 0, 70, 184, 210, 0, 70, 203, 90, 0, 197, 129, 31, 0, 178, 248, 190, 0, 135, 138, 250, 0, 26, 124, 251, 0, 247, 179, 250, 0, 105, 114, 218, 0, 116, 62, 254, 0, 25, 85, 92, 0, 25, 172, 126, 0, 212, 208, 35, 0, 26, 250, 116, 0, 115, 167, 78, 0, 187, 18, 83, 0, 49, 254, 35, 0, 199, 233, 98, 0, 216, 153, 95, 0, 139, 76, 203, 0, 177, 151, 175, 0, 94, 46, 33, 0, 124, 86, 221, 0, 37, 181, 85, 0, 216, 208, 61, 0, 176, 171, 90, 0, 167, 65, 46, 0, 15, 52, 182, 0, 21, 90, 149, 0, 170, 186, 199, 0, 239, 94, 197, 0, 131, 184, 123, 0, 81, 57, 136, 0, 0, 1, 103, 0, 137, 76, 12, 0, 77, 220, 37, 0, 35, 171, 138, 0, 47, 165, 114, 0, 125, 166, 43, 0, 187, 88, 121, 0, 200, 218, 202, 0, 111, 164, 34, 0, 181, 32, 252, 0, 204, 30, 88, 0, 109, 176, 23, 0, 137, 77, 240, 0, 229, 141, 15, 0, 145, 80, 56, 0, 83, 57, 219, 0, 117, 185, 239, 0, 127, 139, 2, 0, 9, 217, 76, 0, 68, 83, 72, 0, 61, 112, 85, 0, 111, 235, 32, 0, 122, 0, 228, 0, 5, 23, 110, 0, 88, 137, 221, 0, 43, 48, 113, 0, 56, 50, 149, 0, 41, 29, 184, 0, 177, 239, 190, 0, 158, 215, 85, 0, 114, 120, 234, 0, 158, 242, 92, 0, 117, 13, 197, 0, 244, 183, 152, 0, 188, 246, 99, 0, 34, 71, 238, 0, 149, 244, 180, 0, 191, 44, 243, 0, 17, 5, 176, 0, 84, 40, 77, 0, 9, 247, 100, 0, 199, 205, 20, 0, 204, 154, 183, 0, 47, 198, 24, 0, 154, 149, 92, 0, 96, 86, 251, 0, 201, 35, 213, 0, 20, 206, 197, 0, 232, 49, 132, 0, 186, 159, 179, 0, 136, 27, 180, 0, 97, 78, 36, 0, 182, 5, 230, 0, 61, 21, 68, 0, 36, 196, 145, 0, 189, 179, 164, 0, 160, 252, 23, 0, 232, 184, 163, 0, 39, 20, 215, 0, 151, 6, 51, 0, 9, 73, 36, 0, 143, 177, 113, 0, 89, 92, 166, 0, 110, 224, 29, 0, 112, 156, 72, 0, 165, 152, 21, 0, 173, 120, 133, 0, 131, 33, 235, 0, 128, 151, 188, 0, 134, 133, 103, 0, 16, 9, 5, 0, 184, 12, 137, 0, 51, 193, 193, 0, 6, 216, 156, 0, 125, 245, 217, 0, 78, 44, 243, 0, 183, 90, 82, 0, 70, 180, 36, 0, 185, 36, 239, 0, 10, 89, 178, 0, 184, 4, 253, 0, 175, 101, 172, 0, 136, 134, 153, 0, 21, 193, 227, 0, 221, 171, 187, 0, 197, 232, 9, 0, 55, 73, 27, 0, 208, 198, 151, 0, 123, 217, 236, 0, 51, 115, 73, 0, 14, 29, 122, 0, 38, 54, 174, 0, 51, 184, 50, 0, 7, 227, 140, 0, 20, 233, 161, 0, 93, 184, 27, 0, 141, 133, 9, 0, 242, 68, 155, 0, 30, 15, 90, 0, 252, 223, 128, 0, 122, 67, 162, 0, 118, 114, 207, 0, 37, 182, 30, 0, 109, 196, 213, 0, 140, 111, 37, 0, 32, 9, 59, 0, 110, 200, 181, 0, 42, 74, 167, 0, 171, 62, 22, 0, 138, 179, 226, 0, 155, 38, 25, 0, 52, 209, 49, 0, 61, 107, 254, 0, 145, 254, 137, 0, 100, 121, 230, 0, 120, 162, 88, 0, 97, 48, 49, 0, 189, 218, 232, 0, 248, 89, 20, 0, 249, 99, 168, 0, 25, 66, 174, 0, 29, 67, 158, 0, 52, 12, 111, 0, 227, 59, 26, 0, 47, 190, 143, 0, 137, 41, 32, 0, 120, 98, 55, 0, 145, 217, 233, 0, 159, 238, 93, 0, \ +8, 42, 69, 0, 140, 28, 166, 0, 247, 184, 81, 0, 182, 157, 39, 0, 128, 226, 233, 0, 109, 175, 142, 0, 160, 254, 208, 0, 184, 74, 132, 0, 133, 188, 166, 0, 44, 132, 248, 0, 240, 120, 195, 0, 137, 112, 7, 0, 60, 37, 179, 0, 2, 253, 171, 0, 250, 83, 189, 0, 178, 56, 153, 0, 93, 23, 2, 0, 44, 2, 69, 0, 226, 21, 232, 0, 93, 187, 86, 0, 147, 99, 226, 0, 124, 52, 82, 0, 240, 138, 80, 0, 111, 160, 59, 0, 168, 88, 138, 0, 95, 206, 82, 0, 92, 200, 59, 0, 205, 16, 134, 0, 221, 15, 215, 0, 73, 28, 93, 0, 24, 50, 144, 0, 243, 211, 156, 0, 97, 48, 63, 0, 198, 39, 210, 0, 53, 165, 77, 0, 204, 122, 66, 0, 156, 244, 198, 0, 233, 122, 116, 0, 89, 245, 42, 0, 115, 239, 47, 0, 25, 114, 27, 0, 172, 187, 206, 0, 128, 234, 105, 0, 43, 183, 223, 0, 3, 109, 213, 0, 150, 105, 205, 0, 197, 202, 116, 0, 164, 196, 108, 0, 244, 185, 156, 0, 53, 8, 175, 0, 145, 124, 100, 0, 146, 4, 199, 0, 111, 183, 139, 0, 142, 72, 48, 0, 42, 184, 154, 0, 185, 157, 8, 0, 205, 29, 125, 0, 131, 227, 71, 0, 101, 9, 84, 0, 97, 178, 14, 0, 103, 61, 151, 0, 176, 40, 200, 0, 233, 124, 177, 0, 73, 66, 86, 0, 65, 139, 46, 0, 32, 174, 254, 0, 199, 44, 78, 0, 124, 219, 130, 0, 192, 13, 45, 0, 27, 204, 23, 0, 67, 63, 220, 0, 56, 144, 248, 0, 237, 132, 21, 0, 99, 196, 175, 0, 24, 115, 119, 0, 249, 45, 180, 0, 39, 60, 184, 0, 122, 238, 3, 0, 126, 28, 93, 0, 172, 235, 21, 0, 25, 22, 152, 0, 14, 11, 98, 0, 85, 237, 123, 0, 30, 142, 155, 0, 197, 2, 3, 0, 191, 60, 41, 0, 15, 142, 19, 0, 19, 214, 59, 0, 252, 52, 242, 0, 96, 171, 248, 0, 1, 68, 225, 0, 224, 213, 195, 0, 95, 224, 76, 0, 138, 201, 89, 0, 110, 246, 35, 0, 174, 138, 2, 0, 50, 41, 139, 0, 182, 53, 143, 0, 252, 75, 204, 0, 164, 227, 42, 0, 129, 7, 78, 0, 16, 104, 102, 0, 181, 4, 115, 0, 191, 127, 172, 0, 180, 86, 128, 0, 189, 95, 170, 0, 128, 104, 89, 0, 213, 219, 221, 0, 34, 22, 188, 0, 201, 201, 251, 0, 102, 151, 6, 0, 244, 109, 29, 0, 9, 176, 203, 0, 52, 153, 79, 0, 57, 45, 92, 0, 34, 78, 143, 0, 157, 45, 55, 0, 152, 165, 54, 0, 26, 90, 9, 0, 140, 233, 55, 0, 177, 20, 160, 0, 51, 207, 3, 0, 24, 169, 20, 0, 68, 97, 207, 0, 102, 118, 73, 0, 3, 250, 177, 0, 203, 123, 219, 0, 2, 219, 64, 0, 198, 201, 217, 0, 134, 235, 199, 0, 212, 97, 91, 0, 147, 225, 242, 0, 93, 254, 112, 0, 188, 247, 8, 0, 150, 229, 232, 0, 97, 177, 138, 0, 23, 177, 154, 0, 224, 165, 234, 0, 245, 205, 9, 0, 208, 226, 1, 0, 61, 42, 107, 0, 180, 240, 106, 0, 152, 185, 58, 0, 110, 178, 241, 0, 98, 199, 35, 0, 173, 98, 148, 0, 9, 72, 156, 0, 34, 12, 96, 0, 112, 41, 200, 0, 151, 43, 146, 0, 209, 18, 2, 0, 173, 49, 68, 0, 224, 5, 15, 0, 10, 14, 170, 0, 4, 254, 200, 0, 59, 77, 135, 0, 194, 100, 235, 0, 10, 30, 64, 0, 80, 129, 36, 0, 207, 12, 42, 0, 231, 60, 146, 0, 10, 143, 170, 0, 222, 222, 181, 0, 124, 82, 199, 0, 219, 59, 36, 0, 131, 197, 92, 0, 237, 20, 212, 0, 221, 96, 146, 0, 22, 127, 188, 0, 1, 116, 19, 0, 84, 194, 181, 0, 33, 91, 249, 0, 173, 34, 68, 0, 74, 22, 117, 0, 239, 40, 226, 0, 28, 240, 126, 0, 210, 245, 163, 0, 199, 210, 43, 0, 33, 91, 101, 0, 222, 84, 231, 0, 197, 220, 99, 0, 141, 82, 160, 0, 128, 79, 248, 0, 158, 195, 133, 0, 32, 245, 92, 0, 92, 248, 85, 0, 210, 208, 203, 0, 227, 74, 253, 0, 245, 65, 160, 0, 41, 140, 180, 0, 104, 237, 183, 0, 230, 183, 140, 0, 138, 30, 10, 0, 155, 34, 136, 0, 77, 105, 197, 0, 226, 71, 63, 0, 53, 48, 242, 0, 108, 239, 73, 0, 222, 153, 83, 0, 142, 112, 144, 0, 83, 175, 241, 0, 151, 126, 24, 0, 122, 248, 1, 0, 85, 58, 118, 0, 179, 58, 83, 0, 44, 34, 34, 0, 158, 22, 80, 0, 162, 25, 62, 0, 139, 25, 238, 0, 147, 78, 110, 0, 195, 236, 222, 0, 24, 181, 77, 0, 175, 122, 246, 0, 61, 239, 42, 0, 248, 191, 52, 0, 230, 212, 250, 0, 133, 215, 48, 0, 173, 96, 36, 0, 141, 87, 226, 0, 178, 89, 39, 0, 27, 14, 152, 0, 246, 186, 21, 0, 187, 140, 245, 0, 12, 50, 84, 0, \ +242, 183, 223, 0, 222, 178, 246, 0, 211, 81, 162, 0, 39, 164, 13, 0, 99, 209, 205, 0, 90, 106, 53, 0, 226, 25, 218, 0, 149, 198, 233, 0, 155, 108, 74, 0, 197, 4, 67, 0, 82, 190, 2, 0, 244, 215, 153, 0, 169, 218, 181, 0, 217, 232, 245, 0, 24, 219, 243, 0, 172, 221, 151, 0, 170, 160, 107, 0, 79, 176, 224, 0, 251, 189, 5, 0, 83, 169, 118, 0, 120, 85, 197, 0, 155, 57, 26, 0, 101, 98, 121, 0, 85, 186, 202, 0, 238, 208, 55, 0, 125, 120, 28, 0, 94, 223, 108, 0, 24, 185, 25, 0, 36, 74, 241, 0, 220, 128, 120, 0, 60, 224, 163, 0, 66, 225, 239, 0, 59, 3, 205, 0, 9, 64, 39, 0, 135, 151, 202, 0, 161, 222, 196, 0, 99, 45, 39, 0, 237, 174, 72, 0, 183, 249, 121, 0, 35, 174, 121, 0, 169, 122, 53, 0, 231, 70, 140, 0, 222, 115, 190, 0, 83, 222, 18, 0, 107, 15, 228, 0, 189, 91, 29, 0, 75, 128, 115, 0, 157, 155, 105, 0, 93, 69, 16, 0, 175, 183, 207, 0, 130, 210, 4, 0, 95, 69, 36, 0, 248, 237, 94, 0, 98, 0, 201, 0, 181, 161, 186, 0, 177, 59, 125, 0, 244, 143, 219, 0, 203, 246, 7, 0, 64, 101, 51, 0, 229, 37, 142, 0, 52, 57, 186, 0, 55, 108, 32, 0, 205, 112, 196, 0, 212, 222, 174, 0, 253, 60, 170, 0, 120, 159, 225, 0, 100, 142, 13, 0, 179, 50, 107, 0, 32, 6, 240, 0, 199, 2, 97, 0, 73, 150, 136, 0, 191, 242, 125, 0, 204, 0, 162, 0, 194, 230, 192, 0, 240, 238, 167, 0, 208, 91, 215, 0, 72, 122, 204, 0, 92, 35, 235, 0, 34, 147, 161, 0, 137, 179, 35, 0, 132, 231, 189, 0, 111, 93, 67, 0, 0, 118, 207, 0, 179, 7, 20, 0, 194, 246, 195, 0, 127, 75, 208, 0, 196, 187, 81, 0, 195, 223, 251, 0, 207, 94, 227, 0, 120, 92, 243, 0, 134, 55, 250, 0, 63, 123, 165, 0, 77, 246, 159, 0, 83, 133, 243, 0, 191, 19, 198, 0, 67, 231, 11, 0, 83, 186, 51, 0, 145, 102, 142, 0, 55, 185, 117, 0, 76, 113, 166, 0, 187, 61, 35, 0, 151, 101, 220, 0, 19, 5, 180, 0, 238, 80, 224, 0, 149, 192, 88, 0, 154, 68, 138, 0, 62, 230, 201, 0, 152, 70, 72, 0, 157, 228, 107, 0, 142, 42, 156, 0, 37, 110, 196, 0, 59, 50, 223, 0, 216, 118, 224, 0, 135, 134, 85, 0, 140, 205, 169, 0, 74, 84, 98, 0, 243, 184, 202, 0, 54, 49, 26, 0, 71, 11, 73, 0, 201, 141, 48, 0, 190, 201, 75, 0, 206, 245, 239, 0, 207, 135, 53, 0, 113, 226, 14, 0, 163, 18, 194, 0, 117, 42, 224, 0, 161, 203, 117, 0, 49, 198, 222, 0, 184, 223, 148, 0, 94, 47, 41, 0, 228, 36, 249, 0, 174, 129, 210, 0, 217, 116, 117, 0, 228, 174, 59, 0, 167, 121, 56, 0, 130, 157, 174, 0, 121, 146, 236, 0, 45, 29, 122, 0, 70, 0, 254, 0, 2, 70, 145, 0, 28, 102, 120, 0, 187, 129, 204, 0, 95, 143, 187, 0, 40, 206, 214, 0, 181, 240, 177, 0, 65, 48, 31, 0, 115, 225, 125, 0, 75, 210, 232, 0, 92, 94, 178, 0, 119, 160, 88, 0, 11, 32, 97, 0, 172, 179, 113, 0, 165, 231, 54, 0, 136, 200, 241, 0, 200, 200, 185, 0, 63, 203, 149, 0, 61, 241, 3, 0, 89, 57, 62, 0, 98, 189, 222, 0, 102, 79, 238, 0, 2, 215, 96, 0, 219, 217, 240, 0, 59, 149, 206, 0, 71, 154, 173, 0, 105, 244, 10, 0, 195, 196, 92, 0, 131, 17, 90, 0, 96, 253, 224, 0, 234, 205, 167, 0, 183, 93, 104, 0, 103, 67, 148, 0, 145, 18, 169, 0, 176, 141, 175, 0, 38, 45, 149, 0, 160, 223, 133, 0, 149, 223, 253, 0, 43, 56, 52, 0, 221, 159, 58, 0, 166, 90, 245, 0, 88, 103, 167, 0, 120, 202, 233, 0, 98, 26, 8, 0, 59, 48, 80, 0, 230, 75, 251, 0, 41, 225, 74, 0, 75, 253, 145, 0, 108, 213, 78, 0, 20, 64, 97, 0, 165, 252, 74, 0, 137, 238, 131, 0, 118, 33, 90, 0, 33, 223, 210, 0, 179, 89, 226, 0, 19, 163, 214, 0, 8, 185, 238, 0, 154, 161, 102, 0, 108, 155, 164, 0, 65, 147, 190, 0, 119, 123, 151, 0, 17, 12, 127, 0, 76, 105, 20, 0, 144, 2, 84, 0, 244, 54, 251, 0, 72, 214, 229, 0, 97, 173, 168, 0, 224, 233, 10, 0, 230, 106, 66, 0, 185, 221, 230, 0, 67, 22, 74, 0, 52, 10, 101, 0, 184, 200, 80, 0, 50, 14, 147, 0, 133, 184, 175, 0, 235, 247, 86, 0, 3, 221, 177, 0, 167, 195, 226, 0, 214, 226, 77, 0, 164, 206, 139, 0, 248, 178, 31, 0, 135, 52, 179, 0, 172, 145, 21, 0, 98, 115, 172, 0, 93, 137, 118, 0, 121, 209, 58, 0, \ +182, 11, 248, 0, 244, 135, 113, 0, 36, 141, 87, 0, 63, 0, 151, 0, 55, 153, 49, 0, 112, 142, 120, 0, 142, 109, 107, 0, 166, 134, 183, 0, 178, 76, 29, 0, 233, 211, 74, 0, 74, 252, 208, 0, 163, 221, 94, 0, 70, 181, 116, 0, 7, 82, 117, 0, 218, 249, 140, 0, 48, 8, 150, 0, 135, 64, 174, 0, 90, 108, 20, 0, 166, 67, 53, 0, 128, 87, 51, 0, 37, 244, 234, 0, 11, 207, 146, 0, 42, 33, 218, 0, 70, 8, 57, 0, 121, 6, 87, 0, 11, 152, 220, 0, 160, 80, 114, 0, 194, 174, 188, 0, 176, 56, 9, 0, 127, 141, 181, 0, 1, 254, 183, 0, 65, 33, 85, 0, 81, 67, 94, 0, 130, 68, 168, 0, 60, 178, 38, 0, 230, 239, 32, 0, 185, 186, 89, 0, 94, 183, 210, 0, 199, 252, 156, 0, 206, 11, 182, 0, 239, 51, 189, 0, 32, 177, 180, 0, 84, 225, 102, 0, 173, 72, 188, 0, 130, 91, 164, 0, 232, 122, 22, 0, 168, 41, 171, 0, 162, 31, 106, 0, 118, 192, 146, 0, 14, 61, 22, 0, 108, 8, 185, 0, 1, 214, 156, 0, 82, 43, 52, 0, 85, 78, 248, 0, 216, 191, 108, 0, 28, 81, 192, 0, 215, 210, 29, 0, 59, 132, 72, 0, 180, 176, 166, 0, 63, 239, 254, 0, 8, 65, 22, 0, 254, 198, 208, 0, 23, 235, 75, 0, 4, 251, 8, 0, 16, 41, 188, 0, 85, 91, 166, 0, 199, 120, 47, 0, 180, 210, 120, 0, 122, 230, 199, 0, 228, 146, 82, 0, 25, 74, 116, 0, 161, 115, 175, 0, 185, 206, 147, 0, 3, 126, 195, 0, 28, 125, 219, 0, 105, 161, 186, 0, 20, 238, 240, 0, 253, 91, 168, 0, 47, 230, 155, 0, 170, 44, 224, 0, 33, 183, 52, 0, 120, 110, 200, 0, 130, 101, 87, 0, 129, 166, 189, 0, 67, 248, 215, 0, 8, 208, 135, 0, 79, 80, 241, 0, 29, 169, 235, 0, 85, 204, 25, 0, 8, 54, 7, 0, 128, 21, 99, 0, 219, 34, 79, 0, 86, 131, 220, 0, 41, 73, 45, 0, 146, 67, 246, 0, 55, 83, 190, 0, 246, 186, 222, 0, 169, 44, 161, 0, 60, 114, 41, 0, 148, 159, 61, 0, 147, 71, 56, 0, 15, 157, 235, 0, 22, 26, 35, 0, 165, 133, 123, 0, 28, 16, 21, 0, 163, 210, 84, 0, 115, 88, 223, 0, 123, 48, 142, 0, 24, 16, 136, 0, 179, 239, 82, 0, 11, 243, 4, 0, 69, 199, 233, 0, 153, 130, 133, 0, 103, 157, 128, 0, 129, 129, 196, 0, 174, 27, 12, 0, 156, 108, 254, 0, 184, 227, 198, 0, 196, 33, 118, 0, 29, 128, 140, 0, 130, 14, 84, 0, 26, 97, 88, 0, 199, 74, 162, 0, 235, 79, 191, 0, 182, 151, 229, 0, 141, 46, 206, 0, 174, 29, 190, 0, 76, 226, 176, 0, 125, 65, 193, 0, 14, 95, 119, 0, 43, 102, 56, 0, 58, 121, 60, 0, 48, 48, 235, 0, 60, 222, 121, 0, 202, 160, 253, 0, 60, 220, 37, 0, 3, 127, 250, 0, 87, 47, 165, 0, 130, 66, 125, 0, 3, 190, 120, 0, 95, 52, 121, 0, 213, 199, 243, 0, 122, 175, 38, 0, 209, 90, 220, 0, 124, 204, 65, 0, 89, 182, 76, 0, 233, 249, 92, 0, 113, 47, 30, 0, 176, 171, 19, 0, 51, 190, 247, 0, 224, 65, 251, 0, 224, 151, 171, 0, 118, 139, 86, 0, 62, 253, 232, 0, 41, 156, 228, 0, 57, 91, 232, 0, 155, 104, 3, 0, 207, 194, 135, 0, 231, 138, 159, 0, 94, 54, 136, 0, 131, 170, 142, 0, 142, 78, 57, 0, 15, 72, 93, 0, 202, 153, 197, 0, 14, 234, 104, 0, 57, 172, 14, 0, 138, 155, 68, 0, 74, 144, 2, 0, 4, 189, 106, 0, 40, 182, 210, 0, 48, 216, 31, 0, 53, 10, 142, 0, 45, 114, 162, 0, 103, 166, 83, 0, 32, 228, 95, 0, 77, 246, 5, 0, 184, 178, 181, 0, 82, 138, 143, 0, 189, 239, 214, 0, 93, 16, 206, 0, 226, 107, 220, 0, 121, 111, 251, 0, 106, 74, 159, 0, 67, 45, 233, 0, 138, 61, 158, 0, 224, 56, 199, 0, 93, 77, 30, 0, 186, 155, 19, 0, 222, 212, 56, 0, 191, 38, 187, 0, 25, 77, 143, 0, 69, 87, 199, 0, 206, 184, 198, 0, 114, 252, 26, 0, 187, 26, 29, 0, 181, 142, 229, 0, 164, 152, 105, 0, 5, 242, 252, 0, 141, 42, 78, 0, 151, 158, 58, 0, 117, 51, 124, 0, 2, 195, 253, 0, 228, 80, 138, 0, 127, 199, 69, 0, 225, 179, 208, 0, 95, 95, 42, 0, 157, 163, 126, 0, 222, 179, 128, 0, 51, 181, 157, 0, 169, 42, 250, 0, 246, 210, 208, 0, 212, 104, 98, 0, 216, 212, 24, 0, 192, 37, 97, 0, 38, 188, 165, 0, 92, 157, 220, 0, 1, 140, 111, 0, 126, 215, 134, 0, 66, 17, 193, 0, 77, 203, 229, 0, 241, 76, 214, 0, 66, 163, 146, 0, 251, 39, 21, 0, 194, 72, 252, 0, \ +50, 197, 107, 0, 197, 71, 195, 0, 201, 181, 24, 0, 32, 40, 23, 0, 243, 186, 204, 0, 249, 236, 74, 0, 0, 139, 24, 0, 138, 44, 9, 0, 83, 38, 176, 0, 66, 221, 38, 0, 62, 251, 86, 0, 150, 109, 164, 0, 243, 117, 109, 0, 100, 19, 105, 0, 82, 224, 253, 0, 22, 20, 249, 0, 241, 22, 114, 0, 184, 164, 76, 0, 219, 203, 243, 0, 46, 153, 195, 0, 29, 6, 197, 0, 73, 217, 26, 0, 197, 152, 55, 0, 174, 228, 212, 0, 42, 212, 164, 0, 124, 137, 47, 0, 156, 78, 98, 0, 46, 113, 49, 0, 229, 35, 175, 0, 102, 104, 17, 0, 138, 90, 122, 0, 189, 108, 242, 0, 206, 156, 47, 0, 234, 192, 54, 0, 220, 22, 2, 0, 125, 71, 109, 0, 113, 31, 48, 0, 124, 64, 83, 0, 17, 68, 223, 0, 125, 34, 247, 0, 181, 96, 158, 0, 199, 203, 42, 0, 239, 236, 242, 0, 88, 52, 71, 0, 80, 24, 59, 0, 80, 126, 166, 0, 93, 26, 84, 0, 188, 165, 57, 0, 148, 76, 44, 0, 75, 88, 127, 0, 136, 8, 175, 0, 86, 114, 60, 0, 37, 175, 39, 0, 17, 205, 21, 0, 127, 245, 133, 0, 106, 29, 5, 0, 108, 150, 253, 0, 147, 54, 175, 0, 132, 218, 140, 0, 218, 135, 213, 0, 89, 122, 7, 0, 230, 131, 46, 0, 140, 52, 125, 0, 72, 31, 102, 0, 153, 251, 3, 0, 167, 102, 123, 0, 8, 195, 234, 0, 48, 222, 202, 0, 162, 114, 86, 0, 148, 56, 242, 0, 158, 48, 248, 0, 79, 176, 79, 0, 89, 118, 93, 0, 23, 152, 42, 0, 40, 7, 106, 0, 135, 39, 223, 0, 65, 217, 254, 0, 167, 202, 186, 0, 179, 119, 63, 0, 75, 128, 19, 0, 121, 18, 183, 0, 151, 28, 235, 0, 19, 217, 35, 0, 117, 52, 121, 0, 89, 188, 7, 0, 203, 246, 65, 0, 56, 252, 221, 0, 160, 183, 188, 0, 27, 133, 44, 0, 20, 109, 186, 0, 158, 175, 124, 0, 241, 114, 131, 0, 66, 155, 115, 0, 75, 142, 161, 0, 251, 169, 247, 0, 246, 249, 166, 0, 44, 116, 43, 0, 61, 150, 191, 0, 34, 141, 115, 0, 18, 213, 26, 0, 234, 49, 110, 0, 206, 169, 175, 0, 240, 181, 87, 0, 160, 171, 2, 0, 15, 56, 146, 0, 23, 101, 167, 0, 234, 182, 59, 0, 83, 237, 209, 0, 156, 204, 64, 0, 211, 201, 134, 0, 101, 0, 220, 0, 57, 195, 184, 0, 228, 204, 48, 0, 147, 235, 160, 0, 49, 105, 196, 0, 73, 254, 3, 0, 191, 100, 217, 0, 250, 68, 66, 0, 6, 85, 26, 0, 76, 3, 5, 0, 112, 206, 175, 0, 10, 101, 154, 0, 223, 136, 55, 0, 103, 88, 149, 0, 157, 57, 181, 0, 146, 208, 16, 0, 18, 134, 55, 0, 236, 10, 223, 0, 15, 232, 208, 0, 17, 105, 222, 0, 181, 13, 236, 0, 105, 117, 239, 0, 229, 243, 181, 0, 190, 73, 115, 0, 155, 123, 126, 0, 132, 81, 163, 0, 187, 19, 165, 0, 244, 96, 206, 0, 35, 87, 81, 0, 115, 202, 150, 0, 133, 122, 21, 0, 100, 72, 53, 0, 205, 247, 43, 0, 222, 250, 127, 0, 233, 61, 234, 0, 163, 119, 134, 0, 17, 183, 118, 0, 105, 144, 117, 0, 60, 175, 73, 0, 140, 120, 189, 0, 199, 4, 118, 0, 84, 112, 30, 0, 156, 7, 134, 0, 172, 16, 17, 0, 191, 125, 47, 0, 81, 2, 80, 0, 61, 108, 91, 0, 224, 131, 180, 0, 10, 12, 75, 0, 210, 97, 60, 0, 115, 108, 235, 0, 107, 83, 35, 0, 12, 178, 173, 0, 76, 109, 183, 0, 53, 100, 24, 0, 88, 227, 120, 0, 221, 137, 154, 0, 94, 40, 157, 0, 95, 27, 136, 0, 215, 45, 26, 0, 86, 142, 144, 0, 145, 176, 51, 0, 221, 29, 109, 0, 109, 159, 56, 0, 56, 27, 239, 0, 83, 206, 69, 0, 237, 79, 130, 0, 110, 244, 96, 0, 120, 119, 164, 0, 194, 83, 223, 0, 184, 80, 146, 0, 195, 237, 229, 0, 30, 11, 58, 0, 50, 185, 73, 0, 79, 80, 49, 0, 41, 117, 217, 0, 244, 155, 9, 0, 44, 70, 31, 0, 223, 93, 216, 0, 65, 172, 125, 0, 217, 148, 57, 0, 72, 96, 233, 0, 107, 89, 223, 0, 64, 32, 25, 0, 108, 3, 82, 0, 96, 188, 77, 0, 143, 67, 23, 0, 88, 232, 13, 0, 237, 18, 118, 0, 128, 150, 221, 0, 155, 102, 233, 0, 25, 100, 215, 0, 216, 133, 170, 0, 44, 129, 110, 0, 99, 166, 127, 0, 146, 46, 103, 0, 227, 123, 18, 0, 230, 199, 215, 0, 123, 82, 70, 0, 210, 147, 152, 0, 47, 23, 145, 0, 251, 252, 66, 0, 36, 11, 14, 0, 215, 8, 243, 0, 197, 184, 160, 0, 157, 47, 210, 0, 231, 225, 103, 0, 189, 48, 22, 0, 241, 12, 130, 0, 212, 134, 116, 0, 15, 249, 202, 0, 55, 129, 105, 0, 100, 76, 233, 0, 124, 122, 97, 0, \ +149, 4, 113, 0, 113, 161, 33, 0, 234, 120, 151, 0, 250, 149, 54, 0, 165, 232, 114, 0, 188, 158, 104, 0, 58, 6, 205, 0, 13, 32, 145, 0, 251, 186, 221, 0, 101, 169, 33, 0, 5, 18, 80, 0, 171, 139, 17, 0, 216, 249, 60, 0, 194, 235, 59, 0, 189, 18, 13, 0, 42, 36, 125, 0, 204, 85, 0, 0, 43, 117, 125, 0, 84, 245, 48, 0, 128, 24, 109, 0, 132, 58, 243, 0, 23, 63, 233, 0, 176, 122, 26, 0, 108, 13, 79, 0, 119, 185, 114, 0, 209, 66, 168, 0, 207, 40, 80, 0, 231, 56, 237, 0, 160, 78, 86, 0, 55, 188, 68, 0, 125, 108, 204, 0, 226, 55, 95, 0, 146, 246, 2, 0, 199, 160, 150, 0, 104, 131, 67, 0, 194, 99, 156, 0, 53, 184, 88, 0, 228, 25, 233, 0, 165, 161, 67, 0, 48, 41, 146, 0, 25, 180, 132, 0, 184, 176, 97, 0, 110, 200, 10, 0, 153, 227, 234, 0, 179, 179, 114, 0, 70, 92, 110, 0, 89, 123, 135, 0, 48, 238, 190, 0, 39, 82, 7, 0, 232, 127, 229, 0, 25, 140, 66, 0, 66, 80, 107, 0, 85, 168, 67, 0, 91, 144, 83, 0, 230, 11, 201, 0, 245, 212, 25, 0, 135, 230, 97, 0, 179, 216, 0, 0, 35, 93, 4, 0, 226, 34, 183, 0, 225, 85, 228, 0, 98, 11, 245, 0, 208, 247, 88, 0, 178, 7, 150, 0, 178, 12, 198, 0, 8, 179, 101, 0, 228, 168, 129, 0, 142, 205, 210, 0, 36, 123, 252, 0, 131, 1, 70, 0, 83, 39, 41, 0, 5, 125, 96, 0, 71, 214, 126, 0, 146, 86, 174, 0, 225, 190, 246, 0, 111, 55, 14, 0, 227, 121, 111, 0, 233, 146, 64, 0, 59, 87, 171, 0, 12, 24, 224, 0, 76, 30, 41, 0, 208, 117, 238, 0, 34, 252, 72, 0, 104, 100, 19, 0, 144, 131, 175, 0, 15, 86, 24, 0, 84, 248, 157, 0, 49, 27, 72, 0, 221, 211, 166, 0, 237, 134, 29, 0, 228, 176, 185, 0, 106, 143, 242, 0, 24, 14, 185, 0, 81, 161, 236, 0, 250, 175, 233, 0, 131, 196, 230, 0, 223, 150, 8, 0, 237, 49, 104, 0, 73, 26, 149, 0, 150, 41, 28, 0, 176, 217, 244, 0, 171, 99, 119, 0, 56, 46, 97, 0, 236, 106, 127, 0, 252, 134, 105, 0, 38, 21, 79, 0, 55, 70, 135, 0, 201, 20, 55, 0, 79, 96, 97, 0, 126, 107, 206, 0, 160, 137, 25, 0, 23, 101, 198, 0, 212, 96, 112, 0, 56, 201, 135, 0, 217, 149, 90, 0, 2, 185, 171, 0, 251, 108, 222, 0, 204, 44, 167, 0, 31, 199, 68, 0, 184, 149, 66, 0, 195, 24, 71, 0, 106, 189, 137, 0, 31, 61, 118, 0, 239, 25, 226, 0, 89, 159, 152, 0, 87, 168, 51, 0, 136, 178, 146, 0, 19, 134, 198, 0, 215, 19, 121, 0, 6, 58, 194, 0, 135, 112, 186, 0, 231, 192, 96, 0, 120, 0, 11, 0, 124, 215, 214, 0, 2, 121, 112, 0, 48, 53, 31, 0, 209, 106, 147, 0, 16, 0, 86, 0, 55, 54, 244, 0, 161, 29, 28, 0, 114, 231, 160, 0, 250, 119, 144, 0, 119, 53, 125, 0, 61, 161, 34, 0, 122, 234, 159, 0, 40, 158, 154, 0, 94, 232, 27, 0, 1, 25, 146, 0, 177, 169, 21, 0, 189, 181, 76, 0, 103, 93, 148, 0, 59, 187, 85, 0, 6, 118, 31, 0, 198, 197, 113, 0, 77, 101, 231, 0, 189, 192, 161, 0, 149, 70, 175, 0, 252, 233, 112, 0, 134, 222, 160, 0, 224, 58, 79, 0, 80, 23, 94, 0, 168, 100, 56, 0, 125, 180, 165, 0, 100, 213, 33, 0, 66, 74, 48, 0, 127, 226, 176, 0, 232, 130, 165, 0, 145, 87, 122, 0, 57, 156, 51, 0, 204, 172, 130, 0, 48, 108, 59, 0, 114, 46, 82, 0, 247, 123, 243, 0, 244, 142, 24, 0, 16, 234, 186, 0, 178, 91, 226, 0, 193, 241, 115, 0, 121, 114, 16, 0, 135, 95, 61, 0, 27, 121, 182, 0, 202, 16, 121, 0, 108, 230, 108, 0, 89, 95, 179, 0, 15, 57, 35, 0, 250, 166, 195, 0, 173, 143, 188, 0, 10, 50, 0, 0, 48, 85, 223, 0, 176, 124, 8, 0, 116, 5, 191, 0, 20, 143, 3, 0, 85, 194, 139, 0, 35, 213, 34, 0, 80, 26, 156, 0, 100, 140, 222, 0, 100, 67, 19, 0, 173, 119, 143, 0, 98, 43, 72, 0, 38, 195, 37, 0, 99, 28, 45, 0, 243, 168, 25, 0, 245, 63, 203, 0, 139, 91, 169, 0, 199, 229, 85, 0, 121, 73, 103, 0, 37, 74, 64, 0, 40, 65, 190, 0, 155, 53, 128, 0, 2, 39, 179, 0, 35, 224, 75, 0, 83, 118, 174, 0, 185, 194, 34, 0, 166, 116, 76, 0, 126, 204, 88, 0, 43, 57, 54, 0, 253, 66, 40, 0, 19, 165, 224, 0, 16, 84, 65, 0, 104, 109, 127, 0, 86, 183, 72, 0, 114, 126, 107, 0, 150, 51, 48, 0, 125, 209, 20, 0, 120, 137, 253, 0, \ +193, 52, 190, 0, 243, 53, 30, 0, 250, 254, 148, 0, 169, 238, 15, 0, 145, 173, 17, 0, 11, 69, 55, 0, 152, 137, 239, 0, 115, 189, 45, 0, 69, 251, 184, 0, 82, 92, 144, 0, 250, 95, 240, 0, 63, 117, 215, 0, 227, 66, 106, 0, 204, 217, 45, 0, 153, 63, 18, 0, 35, 1, 221, 0, 216, 142, 254, 0, 90, 131, 56, 0, 187, 22, 171, 0, 97, 184, 138, 0, 228, 120, 157, 0, 3, 227, 205, 0, 205, 247, 35, 0, 207, 104, 147, 0, 145, 219, 101, 0, 237, 234, 189, 0, 27, 11, 142, 0, 131, 178, 159, 0, 238, 34, 123, 0, 230, 40, 102, 0, 178, 107, 129, 0, 78, 124, 115, 0, 40, 90, 126, 0, 178, 133, 34, 0, 95, 172, 229, 0, 23, 151, 48, 0, 85, 156, 67, 0, 159, 151, 4, 0, 178, 73, 235, 0, 180, 109, 252, 0, 27, 228, 25, 0, 64, 28, 132, 0, 87, 161, 93, 0, 247, 64, 89, 0, 192, 82, 58, 0, 226, 25, 150, 0, 141, 15, 184, 0, 231, 125, 76, 0, 50, 64, 6, 0, 214, 205, 246, 0, 200, 51, 30, 0, 42, 245, 6, 0, 188, 128, 211, 0, 73, 43, 84, 0, 31, 87, 47, 0, 161, 75, 242, 0, 59, 38, 232, 0, 36, 70, 16, 0, 5, 238, 157, 0, 54, 237, 144, 0, 218, 103, 206, 0, 111, 207, 133, 0, 174, 50, 180, 0, 183, 16, 200, 0, 226, 149, 143, 0, 132, 115, 234, 0, 199, 79, 163, 0, 149, 78, 157, 0, 55, 201, 63, 0, 128, 103, 224, 0, 26, 231, 13, 0, 15, 114, 19, 0, 102, 125, 118, 0, 181, 53, 231, 0, 156, 34, 1, 0, 161, 91, 45, 0, 228, 115, 97, 0, 13, 38, 100, 0, 69, 204, 195, 0, 250, 180, 89, 0, 88, 33, 10, 0, 45, 66, 12, 0, 38, 182, 171, 0, 214, 215, 121, 0, 106, 54, 214, 0, 77, 2, 144, 0, 135, 27, 33, 0, 228, 203, 64, 0, 94, 38, 37, 0, 15, 199, 171, 0, 219, 131, 193, 0, 170, 16, 95, 0, 158, 236, 182, 0, 17, 3, 87, 0, 117, 82, 110, 0, 232, 95, 111, 0, 177, 232, 171, 0, 109, 223, 135, 0, 167, 82, 210, 0, 110, 180, 64, 0, 188, 169, 123, 0, 235, 143, 137, 0, 198, 78, 234, 0, 95, 52, 29, 0, 75, 180, 190, 0, 65, 177, 222, 0, 2, 219, 13, 0, 18, 88, 116, 0, 189, 115, 232, 0, 75, 197, 245, 0, 234, 68, 186, 0, 67, 54, 151, 0, 40, 4, 101, 0, 147, 211, 250, 0, 204, 159, 34, 0, 172, 31, 189, 0, 108, 171, 238, 0, 170, 223, 241, 0, 235, 54, 218, 0, 236, 152, 12, 0, 215, 112, 2, 0, 17, 81, 190, 0, 49, 249, 153, 0, 74, 58, 233, 0, 130, 165, 210, 0, 100, 226, 144, 0, 174, 31, 12, 0, 123, 156, 136, 0, 6, 35, 36, 0, 138, 189, 20, 0, 167, 122, 238, 0, 85, 40, 66, 0, 126, 208, 167, 0, 220, 212, 246, 0, 29, 242, 34, 0, 83, 190, 178, 0, 71, 5, 40, 0, 180, 29, 189, 0, 79, 189, 108, 0, 19, 137, 100, 0, 43, 57, 143, 0, 194, 237, 153, 0, 116, 96, 14, 0, 73, 131, 223, 0, 163, 104, 35, 0, 198, 204, 235, 0, 182, 122, 115, 0, 155, 56, 19, 0, 148, 233, 114, 0, 239, 19, 203, 0, 189, 159, 30, 0, 119, 167, 100, 0, 58, 22, 211, 0, 219, 40, 104, 0, 154, 92, 33, 0, 111, 137, 95, 0, 237, 236, 152, 0, 166, 235, 233, 0, 171, 48, 33, 0, 71, 235, 20, 0, 47, 117, 251, 0, 145, 63, 246, 0, 125, 212, 148, 0, 148, 254, 195, 0, 126, 78, 31, 0, 79, 194, 254, 0, 7, 38, 24, 0, 97, 31, 44, 0, 77, 3, 138, 0, 127, 75, 167, 0, 225, 208, 55, 0, 197, 75, 51, 0, 248, 231, 188, 0, 135, 173, 6, 0, 50, 187, 124, 0, 199, 77, 118, 0, 35, 87, 100, 0, 31, 220, 222, 0, 229, 147, 29, 0, 76, 202, 40, 0, 167, 169, 57, 0, 89, 37, 226, 0, 39, 122, 18, 0, 153, 80, 207, 0, 53, 176, 43, 0, 56, 26, 213, 0, 46, 167, 31, 0, 220, 0, 145, 0, 7, 220, 82, 0, 59, 125, 224, 0, 140, 42, 142, 0, 146, 144, 70, 0, 122, 115, 144, 0, 141, 248, 0, 0, 194, 101, 190, 0, 203, 141, 208, 0, 175, 129, 45, 0, 161, 176, 9, 0, 180, 117, 254, 0, 111, 217, 66, 0, 80, 143, 35, 0, 235, 250, 159, 0, 26, 121, 66, 0, 59, 246, 109, 0, 201, 194, 240, 0, 62, 19, 84, 0, 39, 58, 1, 0, 3, 90, 96, 0, 127, 155, 205, 0, 95, 31, 233, 0, 24, 96, 229, 0, 41, 204, 231, 0, 163, 23, 89, 0, 205, 228, 234, 0, 248, 27, 163, 0, 237, 64, 111, 0, 4, 11, 242, 0, 58, 128, 6, 0, 153, 68, 47, 0, 99, 194, 210, 0, 199, 239, 54, 0, 159, 169, 149, 0, 85, 115, 174, 0, 158, 254, 104, 0, \ +183, 26, 76, 0, 51, 43, 67, 0, 180, 113, 87, 0, 214, 174, 182, 0, 140, 156, 124, 0, 155, 94, 165, 0, 234, 244, 181, 0, 151, 60, 82, 0, 116, 190, 60, 0, 88, 205, 138, 0, 254, 179, 175, 0, 154, 67, 66, 0, 15, 93, 73, 0, 169, 192, 44, 0, 166, 232, 28, 0, 35, 210, 245, 0, 189, 126, 3, 0, 184, 57, 155, 0, 155, 232, 64, 0, 65, 128, 174, 0, 97, 217, 199, 0, 103, 202, 155, 0, 227, 158, 253, 0, 142, 206, 100, 0, 1, 0, 142, 0, 149, 152, 40, 0, 126, 86, 100, 0, 128, 180, 254, 0, 69, 73, 195, 0, 48, 239, 220, 0, 74, 248, 221, 0, 131, 223, 167, 0, 65, 146, 193, 0, 212, 229, 10, 0, 87, 13, 24, 0, 2, 219, 9, 0, 47, 225, 112, 0, 80, 238, 235, 0, 249, 80, 87, 0, 137, 247, 151, 0, 39, 204, 100, 0, 147, 187, 204, 0, 237, 74, 238, 0, 111, 80, 53, 0, 222, 123, 10, 0, 161, 153, 165, 0, 75, 241, 85, 0, 191, 13, 77, 0, 178, 252, 57, 0, 37, 63, 14, 0, 100, 216, 26, 0, 222, 204, 75, 0, 158, 187, 147, 0, 44, 62, 113, 0, 113, 66, 111, 0, 32, 220, 165, 0, 181, 23, 148, 0, 198, 77, 229, 0, 9, 213, 210, 0, 254, 226, 237, 0, 91, 78, 143, 0, 245, 185, 78, 0, 23, 30, 61, 0, 85, 116, 162, 0, 248, 64, 37, 0, 45, 222, 127, 0, 33, 121, 217, 0, 80, 23, 156, 0, 164, 103, 46, 0, 85, 115, 226, 0, 88, 0, 201, 0, 6, 52, 177, 0, 220, 193, 25, 0, 237, 63, 185, 0, 108, 18, 33, 0, 55, 110, 175, 0, 143, 153, 135, 0, 158, 46, 96, 0, 122, 175, 37, 0, 79, 198, 26, 0, 203, 183, 177, 0, 31, 179, 137, 0, 194, 136, 10, 0, 16, 41, 224, 0, 109, 48, 118, 0, 59, 170, 211, 0, 51, 75, 185, 0, 103, 205, 214, 0, 163, 148, 29, 0, 200, 160, 135, 0, 218, 131, 107, 0, 243, 196, 247, 0, 27, 40, 122, 0, 144, 148, 63, 0, 235, 65, 195, 0, 43, 239, 145, 0, 104, 105, 223, 0, 94, 65, 247, 0, 34, 107, 23, 0, 198, 157, 130, 0, 145, 70, 244, 0, 207, 253, 144, 0, 206, 177, 238, 0, 80, 162, 191, 0, 64, 40, 126, 0, 59, 164, 119, 0, 180, 108, 195, 0, 229, 107, 209, 0, 64, 68, 20, 0, 35, 70, 125, 0, 132, 225, 15, 0, 231, 94, 7, 0, 99, 34, 232, 0, 75, 204, 111, 0, 137, 75, 214, 0, 22, 185, 155, 0, 65, 100, 112, 0, 184, 173, 252, 0, 150, 180, 244, 0, 148, 31, 28, 0, 129, 57, 53, 0, 201, 80, 50, 0, 201, 146, 2, 0, 237, 2, 169, 0, 105, 143, 181, 0, 172, 235, 240, 0, 246, 106, 168, 0, 227, 152, 178, 0, 123, 151, 160, 0, 49, 203, 104, 0, 47, 219, 176, 0, 22, 3, 87, 0, 142, 101, 126, 0, 226, 149, 25, 0, 137, 232, 54, 0, 227, 29, 235, 0, 174, 215, 28, 0, 135, 148, 246, 0, 220, 56, 96, 0, 27, 187, 98, 0, 80, 35, 47, 0, 204, 0, 240, 0, 92, 247, 36, 0, 215, 58, 106, 0, 213, 169, 100, 0, 131, 182, 236, 0, 213, 220, 111, 0, 93, 247, 71, 0, 245, 117, 97, 0, 46, 215, 224, 0, 160, 195, 180, 0, 177, 10, 81, 0, 12, 90, 163, 0, 246, 131, 56, 0, 154, 79, 245, 0, 146, 15, 5, 0, 190, 210, 181, 0, 178, 210, 119, 0, 102, 135, 146, 0, 53, 176, 73, 0, 7, 233, 238, 0, 1, 200, 185, 0, 180, 204, 220, 0, 176, 253, 174, 0, 238, 125, 246, 0, 46, 126, 216, 0, 66, 111, 102, 0, 109, 184, 205, 0, 163, 225, 120, 0, 216, 49, 6, 0, 15, 57, 1, 0, 86, 212, 139, 0, 216, 58, 250, 0, 152, 106, 82, 0, 92, 6, 224, 0, 201, 15, 194, 0, 202, 252, 37, 0, 158, 235, 35, 0, 245, 89, 138, 0, 115, 182, 148, 0, 53, 111, 228, 0, 191, 36, 109, 0, 240, 90, 118, 0, 233, 117, 44, 0, 18, 105, 224, 0, 105, 100, 52, 0, 245, 235, 89, 0, 174, 67, 98, 0, 71, 108, 47, 0, 6, 20, 101, 0, 18, 196, 228, 0, 4, 188, 37, 0, 106, 45, 116, 0, 97, 44, 191, 0, 244, 245, 41, 0, 150, 144, 204, 0, 68, 69, 121, 0, 238, 219, 2, 0, 88, 158, 145, 0, 237, 59, 183, 0, 6, 212, 252, 0, 73, 83, 151, 0, 235, 137, 166, 0, 75, 139, 154, 0, 49, 178, 61, 0, 199, 145, 98, 0, 228, 170, 72, 0, 117, 212, 8, 0, 200, 76, 197, 0, 12, 109, 65, 0, 15, 191, 164, 0, 7, 72, 126, 0, 154, 242, 40, 0, 86, 176, 106, 0, 55, 225, 104, 0, 39, 27, 7, 0, 52, 190, 193, 0, 54, 8, 180, 0, 129, 187, 176, 0, 206, 17, 170, 0, 8, 172, 9, 0, 124, 137, 21, 0, 198, 150, 31, 0, 243, 63, 7, 0, \ +250, 171, 41, 0, 173, 118, 253, 0, 100, 1, 68, 0, 96, 221, 160, 0, 47, 32, 198, 0, 196, 64, 4, 0, 158, 234, 184, 0, 71, 49, 74, 0, 9, 107, 32, 0, 95, 127, 71, 0, 242, 149, 231, 0, 129, 24, 105, 0, 55, 71, 24, 0, 160, 240, 239, 0, 238, 126, 150, 0, 166, 207, 232, 0, 132, 175, 119, 0, 246, 27, 62, 0, 252, 102, 242, 0, 2, 235, 220, 0, 139, 226, 102, 0, 52, 215, 184, 0, 165, 52, 119, 0, 249, 96, 139, 0, 84, 103, 73, 0, 161, 56, 9, 0, 73, 174, 98, 0, 254, 137, 175, 0, 147, 77, 98, 0, 2, 29, 43, 0, 78, 27, 181, 0, 164, 5, 42, 0, 148, 73, 163, 0, 61, 148, 172, 0, 116, 229, 152, 0, 232, 45, 216, 0, 243, 87, 69, 0, 37, 35, 252, 0, 5, 92, 114, 0, 67, 98, 151, 0, 211, 237, 12, 0, 199, 194, 84, 0, 68, 8, 231, 0, 147, 155, 253, 0, 16, 132, 176, 0, 234, 44, 42, 0, 88, 245, 54, 0, 16, 53, 106, 0, 184, 46, 145, 0, 24, 33, 122, 0, 63, 139, 72, 0, 30, 222, 33, 0, 201, 170, 182, 0, 182, 217, 145, 0, 150, 246, 66, 0, 225, 137, 203, 0, 163, 121, 14, 0, 107, 197, 76, 0, 155, 24, 115, 0, 202, 203, 209, 0, 87, 52, 44, 0, 44, 6, 121, 0, 42, 131, 135, 0, 175, 205, 244, 0, 135, 9, 71, 0, 143, 55, 173, 0, 82, 145, 44, 0, 110, 87, 98, 0, 75, 25, 189, 0, 142, 191, 193, 0, 199, 65, 128, 0, 163, 101, 245, 0, 90, 94, 15, 0, 24, 228, 242, 0, 114, 175, 112, 0, 246, 69, 87, 0, 216, 76, 245, 0, 133, 153, 95, 0, 111, 7, 30, 0, 193, 207, 188, 0, 71, 248, 171, 0, 24, 183, 5, 0, 9, 246, 229, 0, 137, 32, 54, 0, 252, 21, 157, 0, 202, 66, 84, 0, 92, 204, 33, 0, 2, 199, 163, 0, 149, 72, 74, 0, 187, 234, 188, 0, 195, 189, 221, 0, 243, 61, 227, 0, 207, 76, 230, 0, 23, 67, 239, 0, 112, 28, 214, 0, 115, 178, 52, 0, 112, 102, 74, 0, 94, 233, 254, 0, 208, 79, 223, 0, 130, 17, 7, 0, 19, 47, 61, 0, 99, 70, 253, 0, 77, 207, 90, 0, 40, 197, 135, 0, 25, 113, 104, 0, 118, 114, 14, 0, 245, 141, 164, 0, 225, 249, 122, 0, 103, 167, 9, 0, 244, 54, 132, 0, 110, 169, 62, 0, 234, 192, 44, 0, 147, 243, 207, 0, 181, 244, 71, 0, 223, 95, 123, 0, 132, 59, 252, 0, 29, 6, 247, 0, 239, 250, 24, 0, 74, 193, 56, 0, 234, 141, 105, 0, 186, 64, 1, 0, 77, 112, 208, 0, 66, 81, 194, 0, 183, 237, 228, 0, 58, 195, 202, 0, 145, 190, 15, 0, 47, 232, 209, 0, 33, 195, 70, 0, 178, 87, 203, 0, 249, 254, 213, 0, 191, 53, 124, 0, 141, 10, 106, 0, 0, 248, 70, 0, 143, 229, 113, 0, 119, 230, 124, 0, 75, 73, 206, 0, 5, 18, 169, 0, 47, 104, 207, 0, 53, 103, 118, 0, 155, 164, 148, 0, 201, 177, 118, 0, 131, 54, 14, 0, 195, 3, 3, 0, 40, 25, 161, 0, 225, 126, 24, 0, 166, 223, 114, 0, 77, 222, 192, 0, 60, 22, 199, 0, 216, 101, 137, 0, 147, 68, 174, 0, 177, 88, 86, 0, 128, 72, 242, 0, 58, 75, 131, 0, 109, 72, 234, 0, 5, 220, 243, 0, 22, 26, 137, 0, 130, 170, 50, 0, 153, 118, 107, 0, 162, 78, 202, 0, 83, 178, 221, 0, 92, 1, 225, 0, 188, 30, 201, 0, 243, 73, 171, 0, 27, 226, 70, 0, 242, 37, 199, 0, 91, 240, 102, 0, 154, 51, 166, 0, 216, 104, 84, 0, 123, 57, 168, 0, 173, 27, 209, 0, 87, 113, 14, 0, 97, 248, 82, 0, 190, 28, 191, 0, 143, 205, 210, 0, 175, 151, 84, 0, 193, 175, 167, 0, 91, 220, 126, 0, 242, 88, 110, 0, 6, 94, 108, 0, 19, 76, 25, 0, 52, 113, 19, 0, 5, 28, 112, 0, 117, 128, 219, 0, 129, 67, 242, 0, 126, 60, 36, 0, 78, 88, 161, 0, 10, 212, 254, 0, 128, 70, 75, 0, 70, 169, 200, 0, 246, 163, 198, 0, 30, 93, 10, 0, 197, 64, 176, 0, 230, 203, 248, 0, 20, 102, 211, 0, 70, 101, 160, 0, 135, 97, 36, 0, 179, 251, 65, 0, 42, 14, 140, 0, 95, 91, 90, 0, 92, 40, 248, 0, 83, 78, 247, 0, 8, 136, 94, 0, 9, 144, 109, 0, 216, 66, 200, 0, 205, 175, 140, 0, 200, 156, 167, 0, 238, 181, 159, 0, 114, 210, 150, 0, 214, 67, 153, 0, 7, 71, 101, 0, 6, 242, 180, 0, 19, 19, 198, 0, 125, 222, 77, 0, 4, 59, 232, 0, 79, 179, 114, 0, 184, 137, 119, 0, 225, 66, 49, 0, 109, 213, 201, 0, 168, 173, 139, 0, 247, 236, 70, 0, 123, 202, 38, 0, 63, 184, 248, 0, 210, 241, 250, 0, 188, 103, 103, 0, \ +21, 154, 55, 0, 142, 15, 140, 0, 158, 243, 153, 0, 187, 52, 56, 0, 194, 102, 254, 0, 40, 123, 44, 0, 228, 55, 200, 0, 77, 116, 242, 0, 170, 170, 173, 0, 189, 143, 10, 0, 28, 62, 119, 0, 226, 158, 230, 0, 88, 120, 9, 0, 110, 163, 65, 0, 80, 66, 220, 0, 84, 218, 124, 0, 91, 27, 234, 0, 125, 114, 135, 0, 178, 65, 91, 0, 168, 203, 99, 0, 229, 165, 13, 0, 125, 142, 189, 0, 69, 132, 248, 0, 130, 188, 51, 0, 156, 101, 46, 0, 30, 97, 15, 0, 224, 88, 244, 0, 111, 138, 59, 0, 242, 45, 110, 0, 251, 110, 119, 0, 0, 122, 36, 0, 28, 65, 47, 0, 119, 6, 42, 0, 117, 74, 134, 0, 152, 197, 153, 0, 95, 8, 189, 0, 193, 4, 172, 0, 186, 65, 203, 0, 65, 238, 242, 0, 132, 82, 133, 0, 157, 157, 179, 0, 233, 42, 106, 0, 40, 108, 107, 0, 245, 33, 151, 0, 141, 234, 33, 0, 36, 14, 37, 0, 102, 5, 143, 0, 210, 133, 40, 0, 223, 116, 162, 0, 29, 143, 9, 0, 127, 33, 29, 0, 97, 160, 47, 0, 185, 109, 165, 0, 60, 8, 2, 0, 107, 195, 4, 0, 17, 223, 145, 0, 160, 52, 8, 0, 102, 214, 48, 0, 221, 103, 248, 0, 38, 173, 173, 0, 46, 179, 123, 0, 59, 163, 101, 0, 114, 117, 20, 0, 15, 201, 155, 0, 159, 20, 84, 0, 218, 235, 204, 0, 222, 218, 25, 0, 21, 163, 110, 0, 239, 119, 239, 0, 112, 69, 110, 0, 131, 170, 247, 0, 52, 22, 122, 0, 228, 198, 75, 0, 8, 104, 119, 0, 214, 220, 122, 0, 146, 192, 56, 0, 69, 141, 16, 0, 24, 165, 98, 0, 86, 165, 126, 0, 145, 231, 40, 0, 92, 7, 31, 0, 111, 134, 153, 0, 13, 212, 54, 0, 155, 71, 94, 0, 28, 58, 238, 0, 41, 14, 116, 0, 130, 114, 48, 0, 72, 126, 31, 0, 230, 32, 162, 0, 109, 180, 79, 0, 141, 103, 8, 0, 63, 249, 94, 0, 6, 218, 31, 0, 243, 44, 42, 0, 172, 2, 212, 0, 124, 74, 88, 0, 244, 78, 228, 0, 146, 146, 252, 0, 64, 1, 110, 0, 109, 116, 47, 0, 124, 248, 117, 0, 222, 194, 216, 0, 54, 243, 1, 0, 210, 75, 184, 0, 224, 239, 199, 0, 16, 191, 24, 0, 38, 155, 212, 0, 35, 178, 251, 0, 207, 213, 34, 0, 43, 129, 47, 0, 114, 87, 241, 0, 81, 248, 63, 0, 167, 199, 76, 0, 109, 163, 184, 0, 244, 217, 152, 0, 181, 174, 38, 0, 58, 189, 91, 0, 142, 214, 66, 0, 248, 227, 195, 0, 185, 13, 145, 0, 9, 191, 154, 0, 182, 3, 184, 0, 168, 175, 56, 0, 131, 223, 227, 0, 195, 69, 96, 0, 106, 174, 174, 0, 13, 1, 118, 0, 79, 252, 106, 0, 23, 113, 80, 0, 101, 213, 149, 0, 190, 102, 163, 0, 155, 146, 118, 0, 228, 100, 70, 0, 75, 109, 21, 0, 215, 58, 176, 0, 207, 6, 98, 0, 216, 139, 178, 0, 251, 213, 155, 0, 43, 51, 10, 0, 67, 15, 100, 0, 179, 56, 31, 0, 188, 20, 72, 0, 102, 199, 221, 0, 200, 94, 178, 0, 78, 225, 74, 0, 42, 159, 150, 0, 171, 254, 146, 0, 215, 186, 34, 0, 117, 55, 100, 0, 95, 244, 253, 0, 105, 236, 202, 0, 32, 27, 242, 0, 146, 6, 8, 0, 19, 62, 64, 0, 43, 226, 232, 0, 103, 186, 138, 0, 187, 195, 229, 0, 43, 134, 33, 0, 237, 150, 253, 0, 155, 85, 83, 0, 239, 124, 249, 0, 6, 115, 2, 0, 140, 179, 14, 0, 244, 26, 202, 0, 124, 164, 207, 0, 175, 155, 6, 0, 138, 163, 223, 0, 149, 193, 200, 0, 107, 95, 137, 0, 118, 17, 75, 0, 156, 38, 151, 0, 5, 23, 85, 0, 1, 115, 233, 0, 225, 247, 251, 0, 112, 107, 22, 0, 160, 156, 219, 0, 231, 200, 47, 0, 58, 77, 209, 0, 66, 139, 133, 0, 223, 13, 102, 0, 188, 162, 119, 0, 40, 169, 235, 0, 153, 108, 154, 0, 127, 22, 156, 0, 151, 93, 64, 0, 205, 5, 237, 0, 194, 180, 225, 0, 248, 42, 166, 0, 241, 202, 208, 0, 204, 34, 172, 0, 245, 60, 18, 0, 152, 161, 21, 0, 98, 27, 222, 0, 206, 118, 174, 0, 75, 62, 173, 0, 219, 219, 59, 0, 65, 152, 7, 0, 109, 154, 205, 0, 184, 43, 19, 0, 223, 204, 225, 0, 199, 244, 167, 0, 119, 9, 129, 0, 22, 150, 91, 0, 226, 238, 241, 0, 78, 243, 212, 0, 235, 162, 197, 0, 100, 101, 75, 0, 30, 156, 140, 0, 137, 139, 94, 0, 185, 99, 62, 0, 9, 6, 181, 0, 207, 75, 195, 0, 231, 123, 53, 0, 100, 105, 180, 0, 151, 136, 204, 0, 143, 0, 132, 0, 248, 76, 76, 0, 154, 94, 37, 0, 211, 76, 75, 0, 4, 102, 14, 0, 36, 170, 243, 0, 127, 65, 132, 0, 164, 104, 5, 0, 226, 184, 23, 0, \ +228, 106, 107, 0, 12, 141, 30, 0, 0, 104, 197, 0, 106, 155, 72, 0, 144, 17, 38, 0, 225, 142, 183, 0, 200, 234, 160, 0, 69, 182, 82, 0, 60, 129, 247, 0, 212, 120, 125, 0, 21, 63, 98, 0, 92, 51, 166, 0, 62, 10, 97, 0, 95, 223, 203, 0, 70, 11, 64, 0, 59, 212, 202, 0, 222, 104, 78, 0, 105, 104, 224, 0, 184, 8, 0, 0, 168, 18, 49, 0, 200, 36, 99, 0, 212, 118, 211, 0, 243, 39, 40, 0, 83, 143, 118, 0, 96, 13, 40, 0, 31, 190, 202, 0, 5, 215, 53, 0, 74, 42, 66, 0, 148, 174, 209, 0, 6, 95, 151, 0, 130, 184, 220, 0, 166, 69, 187, 0, 220, 29, 18, 0, 52, 151, 136, 0, 230, 40, 29, 0, 119, 218, 184, 0, 31, 207, 18, 0, 175, 244, 223, 0, 198, 68, 28, 0, 247, 132, 154, 0, 204, 130, 21, 0, 149, 184, 140, 0, 122, 36, 191, 0, 58, 178, 107, 0, 28, 167, 246, 0, 63, 116, 138, 0, 211, 205, 3, 0, 44, 248, 190, 0, 52, 235, 44, 0, 199, 252, 137, 0, 249, 13, 243, 0, 164, 235, 65, 0, 69, 116, 190, 0, 63, 42, 92, 0, 102, 8, 177, 0, 70, 157, 45, 0, 85, 101, 40, 0, 13, 228, 239, 0, 206, 144, 118, 0, 160, 39, 163, 0, 31, 1, 112, 0, 125, 244, 119, 0, 183, 231, 81, 0, 203, 130, 100, 0, 194, 43, 195, 0, 109, 128, 83, 0, 174, 54, 91, 0, 199, 79, 123, 0, 31, 43, 174, 0, 113, 41, 250, 0, 164, 29, 23, 0, 151, 105, 226, 0, 159, 104, 241, 0, 188, 124, 152, 0, 105, 252, 66, 0, 190, 217, 245, 0, 112, 39, 175, 0, 43, 203, 141, 0, 60, 104, 133, 0, 205, 67, 235, 0, 214, 27, 205, 0, 23, 51, 96, 0, 192, 254, 207, 0, 202, 136, 175, 0, 43, 238, 104, 0, 225, 229, 112, 0, 17, 205, 126, 0, 150, 96, 220, 0, 164, 195, 72, 0, 94, 205, 194, 0, 107, 97, 176, 0, 133, 75, 177, 0, 22, 231, 25, 0, 21, 17, 246, 0, 218, 161, 45, 0, 50, 189, 189, 0, 98, 25, 23, 0, 207, 10, 246, 0, 232, 33, 2, 0, 224, 218, 34, 0, 131, 159, 31, 0, 62, 124, 32, 0, 76, 71, 127, 0, 248, 16, 184, 0, 247, 28, 64, 0, 88, 31, 222, 0, 173, 223, 49, 0, 8, 191, 52, 0, 43, 87, 202, 0, 196, 211, 220, 0, 8, 4, 244, 0, 37, 121, 20, 0, 152, 94, 38, 0, 252, 44, 40, 0, 189, 47, 60, 0, 93, 116, 248, 0, 26, 178, 129, 0, 162, 94, 24, 0, 241, 60, 248, 0, 0, 59, 154, 0, 48, 63, 128, 0, 150, 14, 71, 0, 86, 158, 38, 0, 183, 62, 38, 0, 241, 101, 83, 0, 17, 184, 53, 0, 16, 60, 158, 0, 150, 22, 133, 0, 51, 235, 228, 0, 218, 22, 3, 0, 179, 148, 152, 0, 108, 141, 102, 0, 244, 104, 9, 0, 81, 75, 90, 0, 26, 183, 61, 0, 35, 253, 48, 0, 222, 25, 71, 0, 26, 81, 31, 0, 210, 248, 225, 0, 166, 241, 235, 0, 16, 237, 57, 0, 165, 26, 142, 0, 232, 229, 117, 0, 37, 162, 254, 0, 92, 81, 43, 0, 78, 114, 85, 0, 30, 227, 20, 0, 180, 73, 72, 0, 5, 33, 82, 0, 135, 100, 254, 0, 168, 172, 96, 0, 193, 190, 34, 0, 27, 187, 249, 0, 68, 150, 170, 0, 3, 153, 126, 0, 253, 153, 18, 0, 132, 62, 248, 0, 189, 11, 254, 0, 144, 119, 195, 0, 155, 168, 29, 0, 155, 42, 76, 0, 6, 215, 84, 0, 46, 91, 50, 0, 76, 11, 169, 0, 148, 32, 226, 0, 1, 250, 0, 0, 98, 42, 215, 0, 214, 247, 208, 0, 117, 104, 87, 0, 2, 8, 129, 0, 190, 151, 168, 0, 82, 89, 105, 0, 252, 173, 20, 0, 129, 254, 190, 0, 197, 115, 72, 0, 12, 224, 220, 0, 91, 73, 71, 0, 41, 192, 161, 0, 174, 125, 79, 0, 2, 192, 52, 0, 48, 200, 202, 0, 204, 163, 65, 0, 83, 88, 169, 0, 208, 162, 62, 0, 101, 17, 153, 0, 83, 208, 28, 0, 194, 199, 38, 0, 66, 147, 248, 0, 31, 56, 54, 0, 215, 98, 16, 0, 236, 13, 94, 0, 74, 149, 171, 0, 49, 24, 115, 0, 242, 11, 211, 0, 118, 103, 198, 0, 185, 58, 135, 0, 70, 165, 244, 0, 7, 105, 69, 0, 152, 60, 142, 0, 129, 228, 221, 0, 123, 235, 152, 0, 175, 54, 41, 0, 184, 168, 21, 0, 142, 126, 206, 0, 229, 245, 204, 0, 239, 178, 200, 0, 220, 29, 205, 0, 116, 203, 81, 0, 165, 245, 122, 0, 188, 34, 229, 0, 199, 62, 1, 0, 93, 191, 53, 0, 167, 23, 119, 0, 93, 80, 27, 0, 214, 240, 201, 0, 19, 65, 97, 0, 63, 130, 57, 0, 98, 184, 8, 0, 196, 50, 229, 0, 109, 191, 126, 0, 90, 48, 57, 0, 77, 198, 98, 0, 110, 26, 103, 0, 245, 62, 171, 0, \ +161, 179, 53, 0, 46, 234, 84, 0, 112, 177, 174, 0, 123, 57, 233, 0, 171, 23, 110, 0, 47, 29, 173, 0, 71, 39, 192, 0, 82, 125, 157, 0, 50, 245, 238, 0, 8, 85, 201, 0, 59, 178, 33, 0, 84, 198, 229, 0, 171, 220, 223, 0, 140, 106, 248, 0, 179, 23, 52, 0, 95, 73, 86, 0, 151, 100, 22, 0, 159, 31, 192, 0, 191, 24, 35, 0, 250, 219, 37, 0, 145, 56, 98, 0, 247, 233, 86, 0, 95, 188, 116, 0, 16, 110, 176, 0, 71, 47, 44, 0, 162, 96, 133, 0, 16, 235, 218, 0, 159, 206, 29, 0, 161, 26, 10, 0, 132, 106, 66, 0, 44, 186, 49, 0, 156, 110, 22, 0, 253, 32, 87, 0, 56, 147, 250, 0, 227, 61, 6, 0, 162, 82, 110, 0, 184, 224, 86, 0, 89, 210, 191, 0, 151, 69, 180, 0, 237, 97, 48, 0, 58, 24, 24, 0, 115, 148, 140, 0, 244, 175, 100, 0, 116, 182, 90, 0, 139, 16, 103, 0, 98, 101, 124, 0, 243, 104, 87, 0, 205, 155, 22, 0, 25, 185, 163, 0, 9, 56, 108, 0, 131, 108, 205, 0, 217, 160, 18, 0, 29, 247, 218, 0, 176, 76, 154, 0, 47, 149, 41, 0, 123, 211, 89, 0, 176, 194, 236, 0, 69, 17, 223, 0, 226, 63, 30, 0, 195, 33, 76, 0, 51, 27, 66, 0, 135, 196, 74, 0, 197, 185, 41, 0, 80, 108, 34, 0, 185, 109, 32, 0, 171, 94, 222, 0, 173, 123, 124, 0, 150, 210, 229, 0, 36, 186, 193, 0, 41, 185, 111, 0, 48, 188, 194, 0, 108, 141, 54, 0, 164, 49, 159, 0, 16, 204, 37, 0, 156, 1, 110, 0, 165, 23, 41, 0, 152, 46, 89, 0, 133, 110, 183, 0, 44, 231, 157, 0, 56, 254, 104, 0, 181, 96, 106, 0, 97, 175, 92, 0, 225, 216, 184, 0, 232, 154, 52, 0, 10, 159, 240, 0, 215, 135, 42, 0, 206, 109, 165, 0, 206, 225, 226, 0, 122, 162, 203, 0, 164, 207, 135, 0, 249, 144, 206, 0, 72, 173, 136, 0, 218, 109, 185, 0, 109, 10, 49, 0, 2, 228, 10, 0, 157, 248, 74, 0, 206, 216, 157, 0, 67, 239, 84, 0, 106, 140, 31, 0, 90, 71, 71, 0, 205, 179, 242, 0, 221, 96, 212, 0, 85, 21, 27, 0, 134, 38, 198, 0, 13, 60, 86, 0, 101, 105, 215, 0, 192, 13, 38, 0, 227, 143, 100, 0, 8, 185, 117, 0, 128, 215, 203, 0, 166, 47, 27, 0, 140, 219, 53, 0, 10, 177, 87, 0, 12, 239, 216, 0, 54, 247, 57, 0, 192, 61, 129, 0, 151, 186, 250, 0, 204, 142, 121, 0, 227, 138, 65, 0, 216, 52, 169, 0, 126, 203, 45, 0, 146, 120, 99, 0, 35, 194, 242, 0, 79, 8, 135, 0, 126, 251, 158, 0, 244, 56, 27, 0, 177, 233, 74, 0, 129, 208, 252, 0, 192, 141, 85, 0, 218, 169, 28, 0, 228, 164, 226, 0, 189, 65, 73, 0, 145, 222, 159, 0, 2, 172, 56, 0, 242, 47, 47, 0, 178, 157, 192, 0, 220, 164, 72, 0, 16, 128, 50, 0, 206, 212, 146, 0, 7, 150, 130, 0, 234, 170, 218, 0, 50, 214, 86, 0, 182, 163, 97, 0, 186, 101, 176, 0, 84, 156, 210, 0, 98, 221, 150, 0, 183, 13, 200, 0, 245, 3, 191, 0, 55, 100, 31, 0, 164, 2, 165, 0, 147, 65, 223, 0, 169, 17, 67, 0, 73, 108, 166, 0, 33, 57, 63, 0, 219, 42, 200, 0, 136, 71, 7, 0, 72, 88, 246, 0, 226, 26, 173, 0, 43, 9, 73, 0, 14, 48, 224, 0, 64, 67, 21, 0, 11, 154, 119, 0, 243, 61, 8, 0, 22, 211, 84, 0, 110, 157, 44, 0, 119, 209, 41, 0, 136, 152, 101, 0, 118, 196, 27, 0, 140, 21, 132, 0, 204, 224, 244, 0, 111, 250, 196, 0, 150, 10, 163, 0, 159, 15, 97, 0, 224, 110, 196, 0, 53, 16, 27, 0, 52, 15, 216, 0, 236, 159, 80, 0, 168, 60, 141, 0, 146, 174, 83, 0, 151, 145, 71, 0, 22, 199, 40, 0, 118, 16, 92, 0, 210, 14, 247, 0, 161, 98, 236, 0, 73, 197, 31, 0, 193, 203, 69, 0, 198, 19, 194, 0, 217, 165, 45, 0, 249, 133, 144, 0, 52, 62, 2, 0, 28, 250, 160, 0, 170, 172, 30, 0, 217, 167, 20, 0, 0, 132, 206, 0, 12, 41, 209, 0, 45, 229, 24, 0, 54, 140, 213, 0, 227, 104, 206, 0, 81, 150, 216, 0, 95, 219, 59, 0, 78, 230, 34, 0, 183, 53, 7, 0, 218, 93, 76, 0, 128, 198, 127, 0, 202, 115, 118, 0, 17, 48, 57, 0, 38, 40, 207, 0, 223, 133, 157, 0, 170, 246, 67, 0, 150, 52, 246, 0, 147, 240, 213, 0, 244, 231, 37, 0, 106, 112, 182, 0, 222, 197, 130, 0, 37, 29, 151, 0, 240, 113, 71, 0, 153, 234, 70, 0, 144, 102, 136, 0, 59, 223, 38, 0, 233, 234, 246, 0, 10, 11, 11, 0, 247, 110, 106, 0, 2, 98, 150, 0, 143, 178, 134, 0, \ +122, 128, 164, 0, 70, 172, 169, 0, 99, 65, 25, 0, 104, 77, 105, 0, 58, 171, 214, 0, 247, 175, 148, 0, 141, 254, 85, 0, 209, 151, 110, 0, 214, 32, 188, 0, 144, 18, 57, 0, 217, 221, 84, 0, 45, 14, 213, 0, 140, 57, 80, 0, 70, 53, 26, 0, 252, 239, 78, 0, 66, 125, 254, 0, 195, 40, 238, 0, 226, 191, 65, 0, 252, 34, 199, 0, 111, 128, 233, 0, 78, 144, 25, 0, 149, 189, 54, 0, 36, 219, 133, 0, 6, 101, 207, 0, 170, 188, 23, 0, 98, 244, 138, 0, 89, 196, 215, 0, 50, 219, 250, 0, 203, 19, 89, 0, 160, 4, 172, 0, 49, 152, 158, 0, 122, 6, 193, 0, 165, 156, 191, 0, 173, 12, 77, 0, 120, 146, 185, 0, 43, 45, 15, 0, 18, 243, 33, 0, 23, 243, 120, 0, 155, 184, 62, 0, 126, 86, 67, 0, 195, 110, 117, 0, 217, 65, 22, 0, 195, 241, 162, 0, 114, 186, 23, 0, 239, 59, 48, 0, 201, 20, 118, 0, 61, 179, 248, 0, 133, 42, 1, 0, 178, 217, 123, 0, 61, 107, 217, 0, 119, 68, 77, 0, 101, 110, 246, 0, 116, 128, 230, 0, 184, 103, 174, 0, 41, 109, 235, 0, 233, 99, 224, 0, 102, 36, 144, 0, 104, 3, 172, 0, 111, 92, 54, 0, 158, 92, 53, 0, 23, 131, 245, 0, 54, 46, 2, 0, 39, 200, 48, 0, 172, 108, 55, 0, 167, 106, 218, 0, 83, 249, 150, 0, 45, 74, 100, 0, 57, 59, 123, 0, 96, 152, 176, 0, 154, 10, 207, 0, 9, 14, 213, 0, 28, 108, 1, 0, 230, 59, 65, 0, 163, 241, 211, 0, 243, 187, 234, 0, 132, 106, 244, 0, 148, 254, 103, 0, 160, 56, 11, 0, 39, 140, 81, 0, 114, 164, 175, 0, 36, 186, 191, 0, 15, 144, 13, 0, 131, 46, 42, 0, 184, 10, 77, 0, 176, 165, 134, 0, 220, 34, 61, 0, 26, 192, 66, 0, 213, 227, 186, 0, 15, 244, 189, 0, 69, 72, 99, 0, 208, 58, 200, 0, 186, 243, 38, 0, 244, 225, 60, 0, 62, 65, 208, 0, 191, 62, 24, 0, 211, 106, 220, 0, 202, 21, 108, 0, 60, 66, 122, 0, 195, 239, 159, 0, 14, 207, 218, 0, 214, 171, 11, 0, 237, 7, 29, 0, 201, 10, 147, 0, 95, 235, 157, 0, 217, 221, 9, 0, 30, 41, 215, 0, 25, 249, 82, 0, 108, 81, 57, 0, 144, 131, 215, 0, 104, 175, 7, 0, 105, 161, 1, 0, 55, 183, 149, 0, 169, 119, 206, 0, 184, 214, 216, 0, 9, 252, 58, 0, 141, 137, 69, 0, 13, 111, 212, 0, 184, 113, 200, 0, 12, 43, 96, 0, 250, 16, 138, 0, 27, 95, 231, 0, 185, 131, 7, 0, 110, 163, 71, 0, 238, 5, 230, 0, 171, 158, 98, 0, 144, 145, 75, 0, 113, 254, 84, 0, 105, 165, 181, 0, 183, 60, 172, 0, 74, 148, 223, 0, 51, 40, 230, 0, 201, 116, 146, 0, 139, 16, 0, 0, 7, 153, 219, 0, 22, 229, 21, 0, 151, 235, 240, 0, 119, 65, 80, 0, 165, 194, 43, 0, 51, 55, 227, 0, 239, 202, 223, 0, 223, 186, 52, 0, 154, 165, 164, 0, 22, 238, 31, 0, 147, 193, 1, 0, 218, 110, 197, 0, 108, 84, 96, 0, 243, 71, 200, 0, 169, 112, 238, 0, 96, 156, 159, 0, 63, 99, 7, 0, 116, 183, 35, 0, 183, 43, 237, 0, 24, 254, 5, 0, 10, 90, 51, 0, 61, 216, 115, 0, 169, 103, 72, 0, 203, 206, 111, 0, 161, 56, 157, 0, 236, 170, 65, 0, 164, 52, 32, 0, 203, 63, 70, 0, 115, 243, 208, 0, 224, 120, 92, 0, 4, 11, 71, 0, 212, 172, 247, 0, 99, 124, 137, 0, 98, 155, 16, 0, 30, 148, 96, 0, 53, 244, 70, 0, 200, 31, 182, 0, 235, 192, 176, 0, 164, 99, 207, 0, 4, 125, 43, 0, 226, 80, 136, 0, 93, 121, 104, 0, 86, 70, 158, 0, 2, 133, 175, 0, 254, 123, 19, 0, 99, 104, 35, 0, 118, 180, 222, 0, 44, 72, 125, 0, 111, 211, 19, 0, 130, 43, 3, 0, 0, 86, 91, 0, 131, 151, 154, 0, 80, 63, 24, 0, 16, 2, 140, 0, 74, 154, 50, 0, 107, 193, 137, 0, 145, 113, 128, 0, 186, 98, 167, 0, 143, 68, 1, 0, 60, 157, 53, 0, 138, 245, 67, 0, 84, 148, 77, 0, 34, 175, 69, 0, 6, 133, 223, 0, 117, 174, 53, 0, 38, 53, 119, 0, 225, 113, 136, 0, 157, 77, 64, 0, 142, 215, 94, 0, 116, 165, 53, 0, 201, 50, 110, 0, 94, 33, 62, 0, 215, 68, 151, 0, 100, 209, 124, 0, 192, 43, 50, 0, 127, 174, 74, 0, 42, 104, 18, 0, 77, 149, 15, 0, 81, 249, 55, 0, 165, 5, 196, 0, 169, 87, 159, 0, 30, 235, 83, 0, 135, 72, 210, 0, 54, 24, 70, 0, 93, 187, 234, 0, 51, 108, 84, 0, 138, 181, 146, 0, 69, 54, 203, 0, 54, 142, 103, 0, 19, 191, 9, 0, 233, 84, 122, 0, \ +190, 149, 53, 0, 65, 41, 226, 0, 110, 119, 146, 0, 156, 97, 251, 0, 131, 168, 132, 0, 112, 231, 170, 0, 61, 184, 24, 0, 222, 106, 2, 0, 192, 165, 40, 0, 121, 190, 29, 0, 64, 101, 72, 0, 65, 250, 50, 0, 154, 52, 142, 0, 113, 91, 207, 0, 100, 236, 216, 0, 80, 149, 245, 0, 181, 32, 101, 0, 252, 189, 209, 0, 45, 78, 204, 0, 170, 239, 96, 0, 100, 109, 29, 0, 185, 8, 182, 0, 242, 152, 98, 0, 101, 191, 213, 0, 64, 223, 237, 0, 7, 126, 196, 0, 145, 200, 37, 0, 39, 74, 149, 0, 45, 98, 150, 0, 181, 57, 78, 0, 217, 135, 172, 0, 189, 24, 244, 0, 93, 49, 74, 0, 15, 93, 126, 0, 249, 241, 2, 0, 241, 23, 7, 0, 206, 157, 173, 0, 87, 78, 252, 0, 108, 249, 135, 0, 141, 124, 203, 0, 233, 135, 135, 0, 190, 125, 151, 0, 98, 253, 187, 0, 203, 29, 157, 0, 155, 206, 160, 0, 144, 10, 145, 0, 227, 190, 200, 0, 155, 21, 146, 0, 158, 112, 136, 0, 17, 189, 137, 0, 137, 194, 59, 0, 235, 130, 132, 0, 136, 85, 250, 0, 140, 29, 51, 0, 170, 172, 216, 0, 184, 181, 13, 0, 88, 223, 53, 0, 196, 168, 200, 0, 151, 68, 230, 0, 102, 136, 128, 0, 184, 218, 71, 0, 14, 91, 167, 0, 243, 242, 64, 0, 249, 251, 202, 0, 196, 63, 245, 0, 134, 46, 171, 0, 127, 131, 60, 0, 172, 55, 10, 0, 139, 54, 97, 0, 100, 145, 46, 0, 173, 58, 65, 0, 40, 77, 241, 0, 225, 232, 152, 0, 208, 36, 175, 0, 211, 227, 118, 0, 224, 210, 202, 0, 141, 205, 245, 0, 77, 70, 30, 0, 23, 74, 207, 0, 189, 157, 109, 0, 55, 223, 99, 0, 229, 104, 215, 0, 57, 99, 86, 0, 202, 7, 42, 0, 250, 108, 236, 0, 177, 88, 99, 0, 22, 197, 180, 0, 23, 73, 178, 0, 102, 10, 13, 0, 79, 69, 164, 0, 131, 138, 118, 0, 22, 240, 120, 0, 93, 59, 223, 0, 203, 19, 58, 0, 10, 235, 49, 0, 23, 181, 174, 0, 162, 170, 5, 0, 79, 229, 146, 0, 86, 186, 235, 0, 227, 151, 126, 0, 199, 147, 22, 0, 113, 46, 105, 0, 163, 15, 249, 0, 38, 56, 244, 0, 108, 139, 158, 0, 67, 173, 219, 0, 128, 107, 231, 0, 45, 4, 190, 0, 122, 59, 225, 0, 4, 187, 94, 0, 17, 86, 156, 0, 193, 15, 136, 0, 136, 30, 133, 0, 176, 64, 224, 0, 113, 48, 3, 0, 249, 142, 210, 0, 197, 70, 149, 0, 43, 68, 243, 0, 203, 90, 174, 0, 210, 36, 156, 0, 235, 174, 202, 0, 208, 207, 19, 0, 236, 27, 64, 0, 15, 252, 87, 0, 240, 33, 87, 0, 201, 125, 115, 0, 213, 41, 157, 0, 172, 113, 25, 0, 96, 185, 68, 0, 197, 238, 222, 0, 35, 112, 68, 0, 7, 205, 198, 0, 119, 226, 226, 0, 251, 216, 21, 0, 126, 121, 31, 0, 157, 228, 78, 0, 193, 105, 168, 0, 249, 162, 44, 0, 169, 21, 164, 0, 170, 205, 149, 0, 251, 152, 200, 0, 28, 221, 111, 0, 64, 0, 103, 0, 22, 155, 94, 0, 209, 119, 190, 0, 95, 88, 95, 0, 9, 211, 162, 0, 178, 86, 116, 0, 242, 98, 6, 0, 33, 18, 120, 0, 124, 74, 239, 0, 8, 188, 115, 0, 210, 160, 182, 0, 112, 110, 68, 0, 170, 180, 115, 0, 37, 156, 111, 0, 40, 89, 97, 0, 79, 20, 155, 0, 23, 238, 134, 0, 239, 1, 168, 0, 171, 99, 217, 0, 210, 108, 66, 0, 171, 108, 72, 0, 191, 225, 34, 0, 85, 242, 5, 0, 136, 47, 11, 0, 156, 202, 212, 0, 53, 160, 88, 0, 0, 149, 104, 0, 225, 89, 34, 0, 249, 252, 116, 0, 217, 6, 117, 0, 169, 200, 17, 0, 245, 129, 128, 0, 100, 248, 208, 0, 56, 185, 44, 0, 21, 116, 75, 0, 71, 5, 213, 0, 185, 140, 70, 0, 186, 126, 169, 0, 132, 171, 136, 0, 5, 211, 178, 0, 239, 28, 168, 0, 58, 202, 161, 0, 64, 254, 150, 0, 83, 80, 110, 0, 37, 129, 238, 0, 67, 110, 127, 0, 120, 182, 106, 0, 88, 113, 40, 0, 18, 171, 30, 0, 229, 91, 97, 0, 123, 190, 32, 0, 75, 168, 186, 0, 89, 22, 234, 0, 74, 153, 150, 0, 28, 209, 18, 0, 26, 127, 248, 0, 88, 55, 113, 0, 40, 37, 9, 0, 140, 53, 126, 0, 70, 160, 94, 0, 136, 48, 200, 0, 67, 7, 185, 0, 213, 121, 154, 0, 230, 31, 22, 0, 119, 153, 178, 0, 163, 174, 178, 0, 128, 50, 221, 0, 74, 182, 196, 0, 48, 2, 33, 0, 199, 88, 118, 0, 171, 30, 181, 0, 142, 28, 197, 0, 96, 188, 128, 0, 212, 119, 135, 0, 13, 162, 176, 0, 234, 222, 240, 0, 45, 88, 67, 0, 175, 227, 51, 0, 23, 208, 180, 0, 240, 236, 93, 0, 17, 122, 104, 0, 74, 102, 91, 0, \ +199, 88, 140, 0, 64, 118, 204, 0, 11, 244, 99, 0, 113, 137, 50, 0, 136, 64, 205, 0, 111, 84, 57, 0, 233, 178, 247, 0, 125, 177, 113, 0, 85, 91, 198, 0, 162, 32, 10, 0, 61, 11, 16, 0, 223, 116, 128, 0, 1, 161, 10, 0, 31, 159, 24, 0, 145, 101, 114, 0, 189, 107, 115, 0, 123, 185, 225, 0, 189, 246, 222, 0, 101, 220, 76, 0, 242, 12, 81, 0, 185, 127, 62, 0, 145, 209, 2, 0, 173, 63, 254, 0, 99, 126, 36, 0, 184, 168, 135, 0, 191, 158, 16, 0, 96, 171, 61, 0, 104, 133, 130, 0, 213, 14, 133, 0, 53, 175, 149, 0, 58, 210, 15, 0, 38, 160, 17, 0, 36, 186, 86, 0, 196, 122, 0, 0, 16, 56, 47, 0, 90, 72, 241, 0, 23, 44, 237, 0, 214, 167, 157, 0, 191, 149, 149, 0, 30, 141, 72, 0, 150, 201, 20, 0, 169, 23, 174, 0, 209, 213, 117, 0, 27, 170, 197, 0, 56, 25, 133, 0, 44, 10, 190, 0, 131, 129, 35, 0, 163, 60, 184, 0, 69, 62, 81, 0, 139, 49, 162, 0, 193, 249, 104, 0, 80, 117, 92, 0, 9, 230, 112, 0, 55, 188, 205, 0, 243, 70, 59, 0, 56, 158, 72, 0, 221, 236, 78, 0, 95, 250, 53, 0, 142, 76, 21, 0, 42, 156, 220, 0, 164, 175, 66, 0, 185, 104, 166, 0, 215, 79, 7, 0, 65, 51, 9, 0, 83, 214, 75, 0, 170, 94, 163, 0, 120, 7, 201, 0, 73, 95, 217, 0, 201, 225, 11, 0, 246, 229, 76, 0, 114, 251, 148, 0, 105, 224, 236, 0, 181, 29, 20, 0, 32, 250, 224, 0, 36, 246, 12, 0, 118, 184, 79, 0, 110, 112, 95, 0, 113, 191, 120, 0, 243, 182, 139, 0, 51, 99, 153, 0, 85, 233, 193, 0, 168, 123, 134, 0, 138, 244, 176, 0, 191, 171, 75, 0, 234, 40, 244, 0, 38, 201, 143, 0, 228, 80, 185, 0, 138, 105, 62, 0, 140, 49, 235, 0, 101, 195, 160, 0, 253, 43, 137, 0, 2, 119, 139, 0, 39, 4, 125, 0, 144, 35, 16, 0, 142, 253, 82, 0, 178, 132, 198, 0, 141, 117, 69, 0, 131, 154, 60, 0, 35, 10, 169, 0, 89, 149, 19, 0, 139, 126, 148, 0, 29, 100, 25, 0, 199, 177, 13, 0, 72, 217, 140, 0, 161, 38, 33, 0, 79, 1, 149, 0, 62, 30, 180, 0, 226, 225, 245, 0, 28, 63, 56, 0, 113, 140, 134, 0, 58, 41, 13, 0, 212, 65, 159, 0, 146, 50, 241, 0, 120, 220, 56, 0, 5, 151, 194, 0, 17, 146, 235, 0, 229, 166, 162, 0, 184, 210, 182, 0, 41, 5, 71, 0, 97, 66, 17, 0, 91, 167, 75, 0, 63, 79, 132, 0, 233, 126, 234, 0, 117, 223, 188, 0, 7, 193, 54, 0, 173, 134, 36, 0, 193, 118, 102, 0, 59, 192, 18, 0, 53, 202, 1, 0, 248, 53, 9, 0, 202, 151, 170, 0, 135, 85, 54, 0, 199, 243, 156, 0, 83, 15, 102, 0, 68, 188, 179, 0, 178, 65, 39, 0, 210, 133, 68, 0, 65, 206, 67, 0, 21, 141, 8, 0, 201, 63, 103, 0, 62, 26, 213, 0, 78, 118, 112, 0, 224, 177, 77, 0, 160, 30, 228, 0, 162, 4, 253, 0, 203, 158, 241, 0, 1, 175, 89, 0, 234, 232, 9, 0, 83, 94, 34, 0, 191, 143, 13, 0, 56, 199, 59, 0, 6, 68, 239, 0, 189, 99, 87, 0, 230, 150, 32, 0, 251, 205, 42, 0, 3, 122, 158, 0, 211, 230, 66, 0, 11, 158, 161, 0, 143, 36, 220, 0, 87, 108, 92, 0, 55, 206, 216, 0, 83, 28, 189, 0, 11, 210, 95, 0, 239, 105, 50, 0, 54, 101, 143, 0, 226, 121, 109, 0, 36, 138, 11, 0, 130, 31, 31, 0, 111, 110, 171, 0, 172, 46, 136, 0, 120, 13, 50, 0, 71, 147, 253, 0, 185, 150, 32, 0, 24, 44, 64, 0, 103, 225, 23, 0, 202, 139, 105, 0, 214, 88, 105, 0, 76, 168, 97, 0, 11, 106, 117, 0, 184, 2, 148, 0, 246, 32, 247, 0, 25, 103, 41, 0, 131, 94, 240, 0, 35, 18, 8, 0, 203, 9, 122, 0, 141, 23, 167, 0, 13, 231, 234, 0, 44, 252, 185, 0, 223, 127, 80, 0, 190, 69, 40, 0, 27, 207, 103, 0, 74, 89, 68, 0, 184, 18, 16, 0, 173, 134, 55, 0, 22, 104, 60, 0, 152, 115, 154, 0, 40, 199, 208, 0, 44, 213, 197, 0, 216, 189, 242, 0, 105, 224, 157, 0, 194, 74, 137, 0, 181, 156, 64, 0, 61, 53, 35, 0, 163, 130, 199, 0, 160, 202, 115, 0, 65, 78, 132, 0, 72, 150, 34, 0, 119, 212, 44, 0, 208, 161, 62, 0, 46, 72, 170, 0, 229, 35, 74, 0, 38, 154, 98, 0, 145, 170, 61, 0, 18, 103, 196, 0, 138, 141, 167, 0, 26, 136, 247, 0, 17, 234, 183, 0, 13, 152, 29, 0, 158, 170, 180, 0, 165, 51, 151, 0, 191, 76, 186, 0, 134, 217, 194, 0, 86, 232, 107, 0, 187, 89, 176, 0, \ +201, 77, 233, 0, 70, 2, 57, 0, 88, 68, 47, 0, 174, 214, 179, 0, 112, 154, 218, 0, 227, 77, 137, 0, 195, 105, 203, 0, 196, 196, 246, 0, 146, 59, 75, 0, 64, 45, 58, 0, 244, 57, 77, 0, 191, 83, 20, 0, 55, 188, 74, 0, 5, 119, 9, 0, 69, 201, 108, 0, 150, 101, 175, 0, 209, 253, 133, 0, 50, 247, 191, 0, 123, 190, 0, 0, 180, 204, 122, 0, 231, 233, 88, 0, 24, 45, 26, 0, 109, 220, 208, 0, 229, 146, 38, 0, 177, 249, 122, 0, 99, 162, 241, 0, 156, 247, 137, 0, 90, 238, 128, 0, 42, 9, 227, 0, 2, 205, 251, 0, 157, 108, 196, 0, 221, 192, 22, 0, 125, 87, 219, 0, 109, 31, 203, 0, 199, 134, 31, 0, 202, 204, 73, 0, 8, 156, 214, 0, 174, 151, 151, 0, 70, 8, 223, 0, 99, 18, 137, 0, 6, 131, 81, 0, 192, 216, 106, 0, 201, 108, 17, 0, 117, 210, 198, 0, 186, 239, 94, 0, 14, 59, 163, 0, 171, 187, 86, 0, 90, 216, 29, 0, 100, 165, 16, 0, 107, 113, 115, 0, 52, 25, 187, 0, 207, 48, 244, 0, 244, 48, 39, 0, 185, 254, 137, 0, 81, 18, 82, 0, 79, 85, 7, 0, 66, 40, 57, 0, 13, 104, 226, 0, 192, 201, 141, 0, 1, 216, 65, 0, 135, 163, 47, 0, 21, 247, 58, 0, 106, 188, 224, 0, 76, 209, 96, 0, 239, 47, 212, 0, 158, 178, 143, 0, 104, 58, 90, 0, 88, 179, 248, 0, 120, 20, 33, 0, 73, 199, 4, 0, 33, 56, 154, 0, 188, 108, 70, 0, 41, 237, 215, 0, 182, 214, 109, 0, 82, 218, 199, 0, 1, 233, 0, 0, 29, 48, 87, 0, 49, 209, 182, 0, 109, 22, 174, 0, 126, 9, 84, 0, 30, 178, 132, 0, 122, 188, 223, 0, 157, 58, 96, 0, 173, 36, 215, 0, 47, 101, 214, 0, 26, 20, 17, 0, 242, 220, 100, 0, 107, 107, 21, 0, 213, 167, 237, 0, 164, 46, 119, 0, 254, 196, 229, 0, 35, 87, 238, 0, 64, 192, 23, 0, 152, 216, 239, 0, 45, 237, 135, 0, 15, 47, 125, 0, 28, 71, 124, 0, 53, 41, 242, 0, 132, 227, 179, 0, 182, 243, 197, 0, 208, 164, 158, 0, 35, 232, 186, 0, 190, 172, 28, 0, 171, 248, 179, 0, 147, 194, 195, 0, 216, 195, 161, 0, 2, 128, 99, 0, 81, 203, 148, 0, 51, 66, 98, 0, 88, 197, 169, 0, 93, 18, 41, 0, 158, 86, 105, 0, 95, 20, 113, 0, 22, 157, 185, 0, 124, 131, 56, 0, 215, 166, 229, 0, 102, 164, 228, 0, 72, 40, 64, 0, 238, 119, 14, 0, 134, 241, 190, 0, 191, 49, 119, 0, 81, 7, 232, 0, 220, 47, 22, 0, 29, 8, 229, 0, 26, 1, 211, 0, 92, 222, 84, 0, 188, 171, 32, 0, 231, 16, 138, 0, 71, 233, 23, 0, 18, 92, 116, 0, 246, 7, 96, 0, 208, 215, 141, 0, 112, 23, 154, 0, 237, 39, 8, 0, 14, 202, 234, 0, 44, 140, 248, 0, 145, 28, 203, 0, 87, 51, 129, 0, 222, 138, 151, 0, 123, 217, 54, 0, 166, 233, 18, 0, 201, 114, 185, 0, 234, 131, 245, 0, 244, 235, 21, 0, 252, 3, 89, 0, 35, 113, 68, 0, 235, 128, 16, 0, 214, 32, 242, 0, 235, 239, 102, 0, 13, 65, 106, 0, 217, 83, 175, 0, 12, 197, 83, 0, 86, 215, 76, 0, 63, 49, 174, 0, 209, 37, 102, 0, 87, 109, 165, 0, 89, 91, 218, 0, 221, 0, 205, 0, 204, 233, 149, 0, 227, 160, 139, 0, 165, 182, 185, 0, 115, 177, 74, 0, 238, 236, 18, 0, 193, 53, 45, 0, 138, 113, 133, 0, 237, 61, 245, 0, 206, 204, 100, 0, 173, 187, 79, 0, 204, 245, 27, 0, 254, 248, 20, 0, 167, 168, 7, 0, 140, 15, 16, 0, 140, 21, 3, 0, 181, 183, 111, 0, 56, 7, 45, 0, 178, 21, 120, 0, 89, 224, 219, 0, 204, 19, 15, 0, 144, 168, 251, 0, 207, 152, 116, 0, 59, 26, 32, 0, 56, 36, 141, 0, 166, 135, 112, 0, 40, 140, 188, 0, 57, 177, 118, 0, 220, 22, 96, 0, 21, 182, 247, 0, 163, 60, 29, 0, 241, 154, 145, 0, 171, 241, 148, 0, 99, 66, 2, 0, 244, 143, 23, 0, 16, 191, 158, 0, 254, 179, 160, 0, 163, 73, 187, 0, 38, 194, 249, 0, 73, 164, 143, 0, 95, 22, 246, 0, 143, 216, 90, 0, 45, 195, 191, 0, 96, 16, 233, 0, 180, 67, 161, 0, 225, 86, 35, 0, 163, 48, 143, 0, 210, 188, 103, 0, 54, 63, 178, 0, 254, 117, 92, 0, 57, 20, 8, 0, 117, 12, 81, 0, 230, 253, 136, 0, 50, 150, 221, 0, 195, 144, 8, 0, 121, 186, 28, 0, 95, 194, 195, 0, 211, 84, 221, 0, 160, 74, 101, 0, 1, 46, 209, 0, 165, 48, 226, 0, 205, 212, 223, 0, 39, 203, 76, 0, 227, 88, 110, 0, 177, 232, 156, 0, 166, 223, 82, 0, 112, 11, 214, 0, \ +60, 201, 153, 0, 84, 186, 174, 0, 133, 127, 177, 0, 36, 38, 225, 0, 115, 181, 239, 0, 235, 245, 63, 0, 77, 251, 137, 0, 127, 68, 236, 0, 33, 19, 116, 0, 99, 182, 124, 0, 113, 164, 90, 0, 244, 234, 105, 0, 105, 11, 27, 0, 243, 217, 81, 0, 11, 144, 121, 0, 236, 18, 252, 0, 196, 46, 188, 0, 98, 203, 242, 0, 122, 129, 241, 0, 96, 64, 216, 0, 155, 158, 95, 0, 10, 85, 242, 0, 86, 117, 190, 0, 215, 231, 146, 0, 250, 216, 173, 0, 206, 165, 220, 0, 83, 182, 165, 0, 232, 23, 109, 0, 195, 208, 97, 0, 107, 66, 8, 0, 4, 54, 251, 0, 122, 246, 63, 0, 116, 135, 251, 0, 69, 227, 192, 0, 125, 160, 214, 0, 215, 142, 114, 0, 154, 121, 120, 0, 104, 36, 221, 0, 106, 3, 180, 0, 18, 97, 142, 0, 211, 58, 167, 0, 242, 120, 143, 0, 248, 204, 80, 0, 16, 173, 136, 0, 25, 2, 14, 0, 162, 210, 243, 0, 86, 199, 137, 0, 242, 63, 133, 0, 41, 254, 179, 0, 101, 169, 248, 0, 76, 166, 200, 0, 171, 135, 178, 0, 126, 112, 179, 0, 5, 199, 91, 0, 122, 54, 25, 0, 50, 96, 23, 0, 89, 187, 239, 0, 80, 118, 177, 0, 2, 146, 207, 0, 47, 103, 23, 0, 117, 70, 52, 0, 218, 192, 251, 0, 100, 189, 186, 0, 23, 63, 121, 0, 238, 195, 173, 0, 211, 208, 212, 0, 122, 10, 84, 0, 152, 22, 187, 0, 152, 67, 12, 0, 233, 251, 173, 0, 68, 83, 109, 0, 125, 164, 183, 0, 98, 131, 9, 0, 125, 215, 92, 0, 157, 212, 97, 0, 37, 145, 34, 0, 149, 211, 133, 0, 158, 207, 127, 0, 172, 7, 6, 0, 202, 37, 59, 0, 189, 235, 139, 0, 73, 72, 29, 0, 29, 115, 252, 0, 244, 20, 99, 0, 46, 137, 11, 0, 146, 114, 213, 0, 42, 37, 4, 0, 16, 207, 239, 0, 175, 168, 161, 0, 52, 181, 21, 0, 197, 75, 161, 0, 71, 142, 127, 0, 231, 100, 34, 0, 213, 169, 49, 0, 171, 91, 152, 0, 4, 249, 203, 0, 79, 111, 229, 0, 114, 5, 222, 0, 32, 51, 85, 0, 225, 187, 146, 0, 146, 25, 52, 0, 72, 141, 181, 0, 0, 94, 136, 0, 168, 105, 101, 0, 39, 57, 69, 0, 242, 103, 63, 0, 207, 152, 233, 0, 228, 54, 66, 0, 54, 59, 217, 0, 132, 254, 215, 0, 144, 158, 170, 0, 190, 17, 196, 0, 20, 220, 231, 0, 192, 132, 240, 0, 230, 102, 203, 0, 183, 138, 43, 0, 112, 234, 156, 0, 155, 18, 157, 0, 50, 138, 184, 0, 25, 223, 195, 0, 125, 42, 15, 0, 6, 82, 46, 0, 219, 244, 115, 0, 147, 53, 92, 0, 105, 119, 8, 0, 59, 218, 202, 0, 128, 254, 139, 0, 143, 146, 154, 0, 252, 178, 10, 0, 165, 45, 209, 0, 194, 207, 133, 0, 209, 64, 129, 0, 180, 38, 6, 0, 67, 80, 233, 0, 168, 116, 17, 0, 42, 214, 41, 0, 229, 5, 71, 0, 105, 86, 55, 0, 167, 164, 196, 0, 114, 98, 195, 0, 237, 44, 58, 0, 161, 73, 137, 0, 10, 133, 91, 0, 73, 74, 68, 0, 38, 63, 228, 0, 128, 158, 229, 0, 139, 186, 238, 0, 112, 42, 250, 0, 147, 149, 36, 0, 93, 218, 21, 0, 229, 157, 69, 0, 147, 75, 100, 0, 215, 197, 152, 0, 125, 142, 166, 0, 66, 178, 168, 0, 174, 242, 112, 0, 154, 55, 132, 0, 227, 157, 27, 0, 3, 247, 254, 0, 231, 200, 172, 0, 134, 52, 229, 0, 184, 238, 88, 0, 67, 217, 220, 0, 202, 172, 3, 0, 2, 102, 197, 0, 65, 225, 16, 0, 158, 88, 199, 0, 217, 192, 60, 0, 210, 57, 196, 0, 38, 14, 39, 0, 123, 202, 252, 0, 135, 140, 165, 0, 85, 64, 140, 0, 251, 172, 4, 0, 41, 30, 124, 0, 190, 47, 115, 0, 232, 166, 105, 0, 241, 105, 63, 0, 40, 175, 28, 0, 171, 85, 182, 0, 242, 141, 107, 0, 192, 54, 96, 0, 116, 132, 35, 0, 209, 14, 138, 0, 74, 74, 254, 0, 159, 149, 109, 0, 147, 131, 206, 0, 236, 4, 226, 0, 2, 174, 121, 0, 94, 74, 144, 0, 106, 6, 96, 0, 149, 44, 183, 0, 54, 13, 248, 0, 29, 17, 234, 0, 248, 179, 152, 0, 240, 221, 160, 0, 171, 93, 187, 0, 165, 213, 95, 0, 23, 17, 57, 0, 244, 63, 29, 0, 36, 182, 204, 0, 109, 179, 96, 0, 97, 73, 225, 0, 245, 135, 60, 0, 215, 137, 200, 0, 110, 206, 11, 0, 135, 180, 171, 0, 33, 7, 192, 0, 248, 24, 26, 0, 116, 109, 30, 0, 99, 11, 77, 0, 38, 88, 6, 0, 206, 14, 242, 0, 183, 150, 89, 0, 74, 0, 188, 0, 129, 238, 34, 0, 204, 187, 29, 0, 249, 16, 190, 0, 123, 30, 124, 0, 93, 33, 105, 0, 239, 128, 90, 0, 11, 193, 199, 0, 2, 96, 244, 0, 70, 32, 37, 0, \ +214, 128, 92, 0, 212, 3, 31, 0, 118, 254, 84, 0, 111, 8, 104, 0, 222, 48, 101, 0, 25, 94, 124, 0, 70, 63, 249, 0, 52, 1, 88, 0, 85, 174, 48, 0, 96, 165, 109, 0, 127, 16, 60, 0, 74, 24, 44, 0, 26, 213, 127, 0, 208, 244, 103, 0, 154, 217, 24, 0, 205, 117, 137, 0, 173, 143, 249, 0, 114, 16, 36, 0, 190, 137, 8, 0, 238, 12, 91, 0, 178, 122, 73, 0, 123, 169, 207, 0, 253, 187, 124, 0, 228, 230, 202, 0, 49, 26, 121, 0, 191, 150, 155, 0, 64, 211, 20, 0, 169, 223, 88, 0, 95, 180, 111, 0, 241, 196, 159, 0, 182, 123, 159, 0, 251, 187, 9, 0, 133, 127, 8, 0, 19, 99, 223, 0, 38, 136, 2, 0, 141, 174, 103, 0, 130, 161, 5, 0, 44, 82, 22, 0, 129, 47, 148, 0, 45, 175, 222, 0, 232, 179, 212, 0, 98, 208, 102, 0, 183, 124, 61, 0, 131, 210, 42, 0, 158, 242, 210, 0, 123, 204, 219, 0, 41, 40, 82, 0, 233, 116, 190, 0, 253, 143, 109, 0, 69, 98, 70, 0, 198, 136, 235, 0, 199, 239, 85, 0, 204, 206, 128, 0, 11, 248, 48, 0, 1, 119, 8, 0, 190, 135, 62, 0, 156, 154, 140, 0, 196, 191, 124, 0, 207, 119, 222, 0, 206, 193, 193, 0, 25, 139, 191, 0, 183, 211, 2, 0, 108, 226, 103, 0, 209, 211, 170, 0, 130, 58, 25, 0, 38, 213, 190, 0, 153, 63, 106, 0, 169, 143, 61, 0, 56, 115, 97, 0, 151, 51, 8, 0, 138, 32, 126, 0, 206, 33, 221, 0, 225, 112, 67, 0, 109, 18, 208, 0, 58, 72, 181, 0, 195, 213, 63, 0, 78, 53, 67, 0, 231, 215, 253, 0, 209, 246, 214, 0, 247, 90, 118, 0, 30, 55, 2, 0, 40, 236, 20, 0, 145, 251, 135, 0, 181, 125, 253, 0, 239, 124, 231, 0, 238, 139, 62, 0, 64, 154, 188, 0, 253, 121, 20, 0, 216, 43, 77, 0, 107, 100, 41, 0, 172, 78, 146, 0, 28, 62, 7, 0, 134, 33, 250, 0, 25, 100, 251, 0, 51, 7, 233, 0, 60, 88, 64, 0, 235, 127, 99, 0, 46, 119, 57, 0, 159, 133, 59, 0, 205, 231, 57, 0, 77, 216, 165, 0, 51, 210, 222, 0, 117, 3, 196, 0, 240, 168, 76, 0, 64, 153, 38, 0, 45, 172, 234, 0, 67, 79, 47, 0, 231, 51, 172, 0, 108, 129, 27, 0, 128, 214, 81, 0, 197, 117, 15, 0, 246, 10, 43, 0, 147, 111, 203, 0, 100, 119, 179, 0, 241, 216, 81, 0, 110, 207, 134, 0, 49, 8, 248, 0, 71, 79, 9, 0, 196, 1, 166, 0, 161, 111, 181, 0, 73, 86, 7, 0, 209, 112, 195, 0, 42, 199, 174, 0, 236, 222, 48, 0, 99, 76, 157, 0, 236, 119, 176, 0, 155, 191, 201, 0, 144, 75, 187, 0, 61, 225, 34, 0, 123, 45, 169, 0, 224, 60, 17, 0, 126, 189, 17, 0, 51, 118, 144, 0, 91, 137, 246, 0, 44, 7, 253, 0, 110, 9, 183, 0, 118, 151, 235, 0, 25, 30, 40, 0, 37, 33, 230, 0, 54, 19, 115, 0, 140, 150, 176, 0, 144, 31, 175, 0, 203, 83, 73, 0, 220, 101, 242, 0, 239, 101, 204, 0, 38, 194, 145, 0, 146, 156, 83, 0, 5, 31, 37, 0, 7, 109, 26, 0, 11, 75, 37, 0, 0, 100, 96, 0, 142, 124, 160, 0, 106, 89, 131, 0, 174, 0, 251, 0, 9, 119, 101, 0, 66, 181, 204, 0, 88, 20, 112, 0, 114, 138, 125, 0, 211, 72, 21, 0, 186, 125, 153, 0, 184, 237, 72, 0, 243, 220, 156, 0, 171, 149, 17, 0, 220, 72, 124, 0, 4, 241, 113, 0, 189, 220, 232, 0, 170, 43, 105, 0, 138, 252, 114, 0, 73, 138, 73, 0, 40, 35, 55, 0, 95, 166, 64, 0, 73, 60, 204, 0, 215, 169, 172, 0, 47, 57, 16, 0, 131, 241, 34, 0, 207, 183, 94, 0, 94, 72, 62, 0, 86, 128, 53, 0, 201, 113, 231, 0, 135, 13, 206, 0, 142, 204, 83, 0, 253, 130, 41, 0, 171, 247, 248, 0, 12, 201, 60, 0, 144, 138, 98, 0, 221, 88, 184, 0, 121, 177, 177, 0, 129, 237, 98, 0, 19, 244, 150, 0, 55, 138, 99, 0, 248, 128, 79, 0, 19, 113, 112, 0, 144, 254, 215, 0, 220, 51, 203, 0, 39, 156, 62, 0, 92, 172, 72, 0, 161, 24, 32, 0, 34, 61, 136, 0, 132, 11, 203, 0, 26, 203, 143, 0, 231, 245, 170, 0, 132, 243, 93, 0, 45, 174, 94, 0, 74, 113, 241, 0, 191, 250, 8, 0, 171, 170, 207, 0, 56, 126, 0, 0, 103, 203, 245, 0, 202, 6, 236, 0, 228, 85, 215, 0, 155, 2, 147, 0, 114, 192, 203, 0, 14, 166, 81, 0, 211, 133, 68, 0, 87, 126, 224, 0, 199, 43, 151, 0, 247, 252, 205, 0, 162, 14, 118, 0, 150, 4, 194, 0, 153, 4, 79, 0, 2, 12, 126, 0, 93, 165, 8, 0, 113, 205, 148, 0, 247, 21, 169, 0, \ +102, 89, 15, 0, 66, 5, 47, 0, 92, 96, 213, 0, 202, 202, 173, 0, 60, 228, 103, 0, 169, 87, 100, 0, 77, 254, 71, 0, 72, 112, 119, 0, 72, 38, 127, 0, 133, 207, 106, 0, 135, 155, 121, 0, 58, 230, 193, 0, 137, 194, 116, 0, 203, 250, 139, 0, 87, 89, 3, 0, 144, 28, 152, 0, 93, 213, 41, 0, 49, 71, 111, 0, 0, 60, 101, 0, 85, 8, 47, 0, 47, 17, 144, 0, 235, 70, 60, 0, 79, 19, 188, 0, 204, 206, 239, 0, 230, 160, 136, 0, 202, 45, 14, 0, 169, 67, 93, 0, 165, 23, 71, 0, 82, 207, 37, 0, 175, 58, 0, 0, 95, 163, 230, 0, 19, 168, 99, 0, 106, 192, 134, 0, 125, 218, 61, 0, 211, 21, 28, 0, 9, 194, 178, 0, 155, 119, 152, 0, 103, 155, 26, 0, 185, 186, 146, 0, 64, 107, 58, 0, 138, 183, 246, 0, 67, 161, 100, 0, 37, 19, 142, 0, 21, 233, 133, 0, 142, 105, 243, 0, 28, 214, 24, 0, 67, 229, 51, 0, 93, 44, 91, 0, 10, 94, 240, 0, 144, 145, 76, 0, 222, 202, 212, 0, 101, 45, 93, 0, 163, 155, 195, 0, 149, 30, 6, 0, 228, 171, 217, 0, 242, 190, 171, 0, 183, 250, 80, 0, 19, 18, 121, 0, 95, 75, 59, 0, 146, 121, 77, 0, 180, 120, 109, 0, 218, 111, 110, 0, 98, 77, 130, 0, 147, 223, 180, 0, 182, 215, 30, 0, 79, 122, 67, 0, 211, 26, 100, 0, 126, 99, 105, 0, 71, 39, 216, 0, 59, 220, 210, 0, 30, 51, 194, 0, 47, 179, 32, 0, 16, 86, 154, 0, 92, 129, 134, 0, 27, 100, 208, 0, 180, 232, 238, 0, 197, 241, 245, 0, 51, 103, 12, 0, 193, 41, 47, 0, 146, 14, 187, 0, 141, 233, 202, 0, 239, 98, 98, 0, 130, 107, 33, 0, 17, 246, 28, 0, 112, 169, 135, 0, 172, 143, 6, 0, 141, 237, 136, 0, 162, 40, 48, 0, 251, 144, 8, 0, 185, 200, 96, 0, 141, 114, 166, 0, 12, 253, 24, 0, 145, 87, 44, 0, 17, 129, 167, 0, 190, 140, 65, 0, 231, 76, 133, 0, 80, 121, 242, 0, 190, 117, 24, 0, 193, 14, 105, 0, 137, 35, 46, 0, 14, 12, 37, 0, 212, 13, 31, 0, 32, 174, 141, 0, 107, 135, 139, 0, 133, 74, 119, 0, 191, 61, 52, 0, 159, 209, 9, 0, 185, 184, 230, 0, 117, 124, 89, 0, 178, 47, 2, 0, 65, 136, 126, 0, 225, 158, 82, 0, 52, 70, 190, 0, 109, 117, 248, 0, 98, 110, 210, 0, 233, 192, 49, 0, 235, 145, 121, 0, 132, 111, 144, 0, 14, 215, 44, 0, 104, 254, 203, 0, 143, 244, 13, 0, 35, 133, 190, 0, 57, 63, 222, 0, 248, 58, 168, 0, 125, 4, 24, 0, 223, 52, 217, 0, 97, 230, 59, 0, 192, 97, 254, 0, 101, 250, 250, 0, 24, 132, 227, 0, 241, 32, 74, 0, 31, 3, 126, 0, 198, 72, 32, 0, 200, 5, 135, 0, 45, 189, 220, 0, 187, 239, 16, 0, 134, 198, 143, 0, 244, 126, 65, 0, 39, 192, 196, 0, 136, 65, 226, 0, 203, 243, 60, 0, 209, 134, 186, 0, 65, 239, 17, 0, 76, 129, 221, 0, 251, 4, 204, 0, 148, 103, 63, 0, 186, 210, 136, 0, 54, 135, 114, 0, 88, 202, 12, 0, 61, 199, 118, 0, 170, 217, 172, 0, 92, 92, 7, 0, 222, 248, 93, 0, 205, 102, 144, 0, 238, 129, 52, 0, 185, 113, 221, 0, 6, 136, 82, 0, 17, 248, 103, 0, 132, 214, 246, 0, 215, 106, 213, 0, 76, 189, 158, 0, 195, 228, 67, 0, 220, 240, 83, 0, 20, 100, 10, 0, 208, 47, 94, 0, 132, 31, 89, 0, 196, 119, 169, 0, 14, 137, 74, 0, 154, 19, 226, 0, 63, 235, 72, 0, 82, 54, 81, 0, 42, 35, 205, 0, 126, 212, 103, 0, 128, 34, 41, 0, 101, 124, 91, 0, 95, 42, 52, 0, 202, 248, 79, 0, 122, 222, 119, 0, 200, 104, 240, 0, 49, 15, 132, 0, 226, 118, 70, 0, 115, 51, 185, 0, 237, 52, 19, 0, 211, 135, 171, 0, 205, 38, 60, 0, 13, 41, 113, 0, 27, 113, 126, 0, 134, 122, 68, 0, 74, 146, 93, 0, 18, 197, 36, 0, 62, 144, 27, 0, 196, 144, 47, 0, 184, 83, 131, 0, 19, 51, 216, 0, 67, 213, 128, 0, 200, 170, 108, 0, 142, 224, 78, 0, 166, 41, 26, 0, 8, 138, 57, 0, 155, 169, 154, 0, 167, 87, 123, 0, 208, 52, 117, 0, 246, 60, 61, 0, 113, 237, 196, 0, 132, 107, 214, 0, 169, 13, 244, 0, 139, 233, 215, 0, 57, 115, 178, 0, 115, 48, 218, 0, 119, 148, 72, 0, 249, 96, 206, 0, 151, 199, 146, 0, 126, 243, 167, 0, 207, 179, 139, 0, 229, 190, 73, 0, 191, 22, 246, 0, 33, 190, 13, 0, 239, 96, 65, 0, 148, 208, 86, 0, 64, 124, 73, 0, 199, 11, 205, 0, 36, 12, 251, 0, 190, 172, 119, 0, 169, 237, 29, 0, \ +149, 26, 39, 0, 136, 135, 70, 0, 246, 5, 10, 0, 99, 189, 112, 0, 41, 239, 62, 0, 185, 82, 11, 0, 35, 244, 155, 0, 41, 213, 37, 0, 221, 26, 155, 0, 113, 140, 159, 0, 139, 162, 235, 0, 118, 210, 240, 0, 39, 132, 72, 0, 30, 172, 32, 0, 141, 45, 64, 0, 20, 56, 152, 0, 178, 34, 150, 0, 157, 102, 127, 0, 18, 216, 78, 0, 38, 143, 234, 0, 40, 56, 168, 0, 220, 183, 193, 0, 185, 139, 36, 0, 25, 193, 117, 0, 134, 250, 151, 0, 209, 54, 83, 0, 51, 182, 231, 0, 162, 100, 77, 0, 233, 245, 55, 0, 141, 30, 40, 0, 221, 171, 130, 0, 68, 245, 198, 0, 218, 193, 28, 0, 7, 210, 16, 0, 89, 81, 53, 0, 170, 71, 37, 0, 153, 63, 2, 0, 81, 95, 57, 0, 215, 193, 6, 0, 38, 119, 61, 0, 184, 35, 89, 0, 5, 87, 170, 0, 202, 237, 73, 0, 189, 24, 240, 0, 200, 132, 16, 0, 126, 39, 205, 0, 159, 201, 208, 0, 223, 104, 75, 0, 62, 46, 12, 0, 202, 175, 171, 0, 23, 223, 178, 0, 66, 233, 146, 0, 34, 29, 188, 0, 29, 228, 236, 0, 5, 67, 106, 0, 178, 41, 147, 0, 62, 104, 104, 0, 54, 71, 167, 0, 196, 92, 245, 0, 40, 36, 253, 0, 71, 236, 169, 0, 94, 74, 10, 0, 116, 189, 52, 0, 115, 190, 211, 0, 104, 93, 23, 0, 162, 10, 97, 0, 14, 105, 138, 0, 200, 136, 68, 0, 40, 252, 90, 0, 35, 231, 110, 0, 154, 231, 2, 0, 164, 58, 36, 0, 129, 254, 215, 0, 72, 24, 181, 0, 68, 58, 57, 0, 181, 231, 225, 0, 199, 4, 14, 0, 228, 235, 40, 0, 161, 181, 218, 0, 82, 68, 45, 0, 128, 211, 4, 0, 23, 155, 215, 0, 49, 83, 188, 0, 96, 107, 157, 0, 23, 237, 67, 0, 222, 68, 18, 0, 34, 173, 231, 0, 215, 38, 8, 0, 240, 5, 14, 0, 93, 48, 84, 0, 106, 164, 98, 0, 254, 105, 186, 0, 98, 38, 28, 0, 124, 52, 140, 0, 251, 59, 91, 0, 137, 114, 80, 0, 221, 237, 29, 0, 190, 83, 192, 0, 186, 134, 34, 0, 250, 184, 91, 0, 236, 103, 126, 0, 2, 178, 5, 0, 186, 181, 122, 0, 186, 111, 239, 0, 79, 134, 125, 0, 57, 49, 225, 0, 167, 86, 111, 0, 183, 158, 131, 0, 242, 199, 210, 0, 247, 12, 244, 0, 72, 42, 154, 0, 88, 129, 141, 0, 223, 236, 70, 0, 143, 202, 140, 0, 176, 167, 169, 0, 33, 105, 78, 0, 14, 43, 82, 0, 20, 57, 219, 0, 109, 222, 184, 0, 243, 1, 173, 0, 220, 9, 25, 0, 146, 136, 54, 0, 109, 16, 189, 0, 179, 66, 7, 0, 74, 123, 213, 0, 189, 54, 13, 0, 1, 38, 137, 0, 159, 245, 224, 0, 139, 105, 117, 0, 89, 239, 9, 0, 128, 162, 188, 0, 27, 83, 34, 0, 81, 124, 64, 0, 52, 29, 121, 0, 253, 111, 144, 0, 24, 92, 101, 0, 186, 46, 163, 0, 143, 169, 37, 0, 223, 223, 184, 0, 174, 240, 74, 0, 221, 221, 74, 0, 16, 17, 45, 0, 233, 53, 249, 0, 181, 102, 39, 0, 161, 3, 251, 0, 223, 218, 184, 0, 144, 224, 197, 0, 1, 102, 247, 0, 135, 249, 10, 0, 21, 150, 189, 0, 157, 73, 58, 0, 235, 74, 1, 0, 242, 130, 240, 0, 106, 141, 193, 0, 194, 114, 87, 0, 16, 90, 57, 0, 231, 3, 238, 0, 93, 0, 185, 0, 234, 161, 66, 0, 238, 150, 146, 0, 130, 228, 36, 0, 116, 238, 168, 0, 64, 191, 12, 0, 150, 37, 162, 0, 69, 211, 137, 0, 57, 169, 173, 0, 7, 156, 12, 0, 241, 203, 109, 0, 243, 60, 77, 0, 232, 7, 151, 0, 200, 219, 147, 0, 227, 23, 128, 0, 62, 63, 251, 0, 219, 3, 175, 0, 21, 2, 43, 0, 205, 254, 214, 0, 133, 155, 112, 0, 14, 243, 71, 0, 45, 193, 142, 0, 229, 250, 80, 0, 92, 225, 97, 0, 130, 228, 113, 0, 23, 71, 121, 0, 220, 246, 84, 0, 195, 58, 18, 0, 145, 87, 61, 0, 167, 233, 165, 0, 188, 245, 52, 0, 189, 176, 75, 0, 160, 211, 201, 0, 39, 205, 2, 0, 183, 89, 54, 0, 81, 141, 214, 0, 45, 228, 196, 0, 171, 102, 37, 0, 233, 176, 201, 0, 125, 37, 145, 0, 79, 203, 65, 0, 82, 138, 134, 0, 89, 31, 23, 0, 149, 11, 202, 0, 197, 15, 93, 0, 200, 189, 76, 0, 81, 252, 234, 0, 87, 126, 13, 0, 227, 13, 121, 0, 22, 62, 228, 0, 2, 116, 31, 0, 234, 55, 213, 0, 253, 6, 181, 0, 241, 229, 223, 0, 224, 240, 92, 0, 58, 42, 216, 0, 146, 89, 149, 0, 217, 162, 149, 0, 176, 219, 250, 0, 171, 224, 224, 0, 243, 30, 112, 0, 249, 118, 229, 0, 65, 59, 205, 0, 66, 212, 242, 0, 214, 8, 136, 0, 160, 34, 107, 0, 167, 45, 31, 0, \ +233, 37, 38, 0, 97, 208, 156, 0, 207, 173, 154, 0, 2, 182, 200, 0, 203, 132, 98, 0, 46, 176, 70, 0, 50, 200, 159, 0, 94, 221, 173, 0, 205, 148, 127, 0, 127, 230, 152, 0, 105, 20, 87, 0, 122, 93, 1, 0, 149, 194, 47, 0, 66, 18, 186, 0, 230, 128, 214, 0, 254, 231, 204, 0, 164, 32, 32, 0, 49, 134, 195, 0, 71, 50, 63, 0, 47, 146, 198, 0, 45, 157, 85, 0, 244, 127, 166, 0, 181, 16, 61, 0, 139, 238, 87, 0, 152, 32, 164, 0, 227, 117, 149, 0, 8, 34, 119, 0, 244, 87, 162, 0, 196, 74, 90, 0, 14, 141, 177, 0, 174, 85, 55, 0, 252, 187, 98, 0, 74, 82, 114, 0, 254, 43, 29, 0, 158, 238, 140, 0, 125, 144, 211, 0, 226, 153, 130, 0, 129, 166, 111, 0, 194, 35, 4, 0, 179, 60, 38, 0, 67, 99, 233, 0, 175, 251, 40, 0, 158, 137, 83, 0, 182, 83, 221, 0, 25, 75, 173, 0, 168, 233, 164, 0, 57, 86, 4, 0, 176, 157, 173, 0, 82, 115, 203, 0, 253, 133, 61, 0, 96, 28, 166, 0, 187, 49, 153, 0, 97, 245, 224, 0, 151, 116, 191, 0, 132, 135, 196, 0, 169, 230, 91, 0, 1, 237, 3, 0, 39, 198, 83, 0, 85, 76, 96, 0, 246, 99, 75, 0, 241, 17, 181, 0, 134, 168, 15, 0, 85, 224, 13, 0, 234, 152, 78, 0, 103, 134, 113, 0, 69, 107, 117, 0, 19, 248, 193, 0, 242, 194, 249, 0, 187, 194, 123, 0, 226, 157, 79, 0, 149, 236, 163, 0, 214, 15, 7, 0, 203, 55, 141, 0, 4, 88, 43, 0, 68, 215, 76, 0, 102, 208, 176, 0, 18, 95, 11, 0, 73, 42, 197, 0, 221, 43, 192, 0, 26, 99, 58, 0, 145, 204, 136, 0, 229, 117, 133, 0, 129, 25, 247, 0, 79, 89, 152, 0, 196, 133, 126, 0, 108, 224, 113, 0, 152, 148, 18, 0, 46, 188, 38, 0, 203, 19, 76, 0, 143, 70, 201, 0, 188, 60, 234, 0, 160, 178, 74, 0, 27, 62, 190, 0, 56, 198, 37, 0, 228, 93, 153, 0, 174, 216, 75, 0, 61, 77, 17, 0, 150, 72, 95, 0, 85, 166, 181, 0, 159, 222, 89, 0, 91, 95, 169, 0, 74, 76, 251, 0, 63, 222, 238, 0, 126, 107, 206, 0, 93, 19, 128, 0, 234, 154, 182, 0, 118, 191, 38, 0, 153, 186, 184, 0, 74, 222, 116, 0, 46, 215, 163, 0, 11, 98, 1, 0, 167, 8, 122, 0, 132, 163, 160, 0, 13, 23, 174, 0, 208, 61, 243, 0, 224, 135, 74, 0, 155, 233, 237, 0, 235, 97, 190, 0, 141, 188, 179, 0, 19, 161, 132, 0, 114, 97, 230, 0, 236, 195, 183, 0, 228, 42, 176, 0, 166, 177, 242, 0, 158, 63, 150, 0, 141, 112, 151, 0, 23, 62, 46, 0, 26, 150, 207, 0, 35, 78, 196, 0, 235, 225, 94, 0, 111, 84, 110, 0, 57, 90, 176, 0, 15, 166, 140, 0, 105, 91, 163, 0, 232, 5, 189, 0, 108, 21, 195, 0, 210, 102, 216, 0, 155, 105, 182, 0, 217, 18, 98, 0, 177, 92, 139, 0, 214, 213, 148, 0, 139, 124, 156, 0, 44, 235, 248, 0, 179, 159, 115, 0, 240, 233, 232, 0, 185, 170, 189, 0, 116, 117, 1, 0, 254, 73, 3, 0, 11, 86, 108, 0, 178, 70, 234, 0, 48, 8, 8, 0, 50, 231, 146, 0, 152, 98, 204, 0, 154, 1, 175, 0, 143, 132, 3, 0, 41, 204, 163, 0, 83, 136, 59, 0, 159, 63, 142, 0, 15, 50, 105, 0, 180, 204, 129, 0, 111, 153, 142, 0, 244, 11, 96, 0, 244, 237, 176, 0, 162, 127, 253, 0, 172, 203, 104, 0, 5, 87, 103, 0, 202, 185, 162, 0, 16, 247, 67, 0, 117, 66, 92, 0, 56, 93, 234, 0, 109, 152, 243, 0, 189, 214, 52, 0, 42, 74, 168, 0, 71, 238, 228, 0, 42, 69, 0, 0, 78, 49, 54, 0, 28, 188, 97, 0, 90, 181, 132, 0, 193, 117, 100, 0, 172, 170, 117, 0, 169, 210, 169, 0, 8, 2, 200, 0, 157, 47, 237, 0, 52, 49, 150, 0, 138, 157, 114, 0, 229, 63, 152, 0, 241, 132, 64, 0, 120, 56, 134, 0, 166, 192, 169, 0, 211, 81, 221, 0, 36, 115, 145, 0, 92, 41, 59, 0, 148, 248, 119, 0, 124, 64, 158, 0, 120, 227, 115, 0, 49, 151, 238, 0, 252, 12, 113, 0, 93, 254, 159, 0, 183, 66, 14, 0, 8, 33, 21, 0, 117, 132, 173, 0, 125, 161, 180, 0, 4, 209, 140, 0, 123, 208, 251, 0, 217, 49, 177, 0, 173, 63, 126, 0, 225, 206, 108, 0, 59, 90, 86, 0, 234, 75, 120, 0, 199, 41, 136, 0, 159, 60, 165, 0, 183, 22, 156, 0, 59, 141, 132, 0, 194, 50, 201, 0, 155, 246, 55, 0, 34, 228, 154, 0, 34, 192, 45, 0, 162, 151, 79, 0, 127, 202, 31, 0, 9, 69, 10, 0, 92, 75, 236, 0, 224, 128, 81, 0, 3, 138, 231, 0, 74, 80, 40, 0, \ +128, 36, 76, 0, 70, 40, 30, 0, 95, 181, 76, 0, 111, 23, 89, 0, 71, 21, 122, 0, 201, 68, 76, 0, 241, 200, 60, 0, 145, 223, 26, 0, 110, 74, 35, 0, 87, 174, 68, 0, 61, 82, 175, 0, 32, 52, 217, 0, 90, 175, 23, 0, 22, 112, 171, 0, 143, 26, 247, 0, 150, 19, 61, 0, 32, 58, 10, 0, 216, 61, 49, 0, 211, 10, 68, 0, 99, 0, 17, 0, 81, 73, 32, 0, 205, 20, 49, 0, 140, 185, 161, 0, 164, 243, 40, 0, 31, 168, 175, 0, 238, 119, 72, 0, 153, 140, 219, 0, 129, 220, 88, 0, 95, 252, 143, 0, 139, 220, 188, 0, 7, 226, 206, 0, 147, 25, 87, 0, 206, 64, 140, 0, 137, 228, 102, 0, 246, 197, 84, 0, 41, 221, 113, 0, 82, 94, 66, 0, 216, 155, 111, 0, 101, 20, 170, 0, 52, 168, 16, 0, 148, 66, 73, 0, 41, 125, 0, 0, 182, 215, 236, 0, 0, 92, 70, 0, 49, 245, 50, 0, 253, 176, 241, 0, 178, 247, 147, 0, 240, 42, 170, 0, 155, 198, 204, 0, 92, 130, 171, 0, 230, 233, 174, 0, 64, 243, 208, 0, 39, 46, 243, 0, 131, 127, 243, 0, 217, 165, 162, 0, 137, 5, 68, 0, 121, 141, 199, 0, 119, 180, 165, 0, 247, 22, 108, 0, 49, 20, 163, 0, 127, 144, 27, 0, 76, 146, 175, 0, 77, 136, 208, 0, 58, 48, 189, 0, 158, 163, 227, 0, 158, 244, 241, 0, 207, 251, 47, 0, 41, 67, 67, 0, 204, 128, 163, 0, 217, 42, 122, 0, 127, 50, 33, 0, 239, 65, 91, 0, 114, 248, 75, 0, 62, 154, 23, 0, 24, 206, 133, 0, 199, 171, 68, 0, 244, 200, 233, 0, 215, 251, 103, 0, 3, 104, 5, 0, 199, 201, 103, 0, 45, 103, 54, 0, 36, 212, 183, 0, 200, 83, 134, 0, 49, 221, 84, 0, 161, 13, 150, 0, 72, 151, 47, 0, 10, 178, 88, 0, 49, 195, 11, 0, 76, 65, 65, 0, 220, 212, 142, 0, 182, 34, 165, 0, 20, 21, 75, 0, 201, 165, 170, 0, 235, 33, 25, 0, 151, 215, 223, 0, 56, 157, 126, 0, 68, 106, 182, 0, 57, 40, 208, 0, 43, 100, 202, 0, 190, 74, 0, 0, 61, 24, 174, 0, 113, 179, 220, 0, 198, 205, 214, 0, 157, 180, 36, 0, 156, 179, 32, 0, 0, 233, 100, 0, 209, 101, 63, 0, 254, 232, 123, 0, 88, 164, 239, 0, 205, 18, 243, 0, 234, 151, 37, 0, 70, 235, 146, 0, 0, 12, 36, 0, 229, 104, 41, 0, 18, 142, 117, 0, 182, 199, 86, 0, 80, 104, 137, 0, 15, 213, 1, 0, 226, 92, 157, 0, 24, 11, 27, 0, 144, 27, 153, 0, 43, 222, 205, 0, 157, 201, 221, 0, 112, 2, 205, 0, 190, 85, 65, 0, 21, 141, 86, 0, 125, 74, 149, 0, 251, 251, 15, 0, 22, 57, 32, 0, 238, 41, 228, 0, 132, 241, 23, 0, 144, 76, 168, 0, 11, 158, 104, 0, 224, 131, 231, 0, 18, 217, 174, 0, 14, 177, 31, 0, 27, 69, 177, 0, 38, 108, 139, 0, 150, 28, 220, 0, 225, 53, 73, 0, 206, 245, 88, 0, 206, 163, 120, 0, 33, 57, 152, 0, 87, 218, 214, 0, 136, 159, 204, 0, 149, 60, 201, 0, 173, 115, 64, 0, 35, 70, 53, 0, 147, 101, 46, 0, 164, 134, 117, 0, 234, 183, 143, 0, 156, 83, 189, 0, 72, 223, 246, 0, 25, 63, 125, 0, 234, 207, 78, 0, 124, 239, 119, 0, 206, 206, 51, 0, 12, 52, 176, 0, 34, 246, 214, 0, 149, 166, 61, 0, 113, 118, 195, 0, 154, 216, 91, 0, 5, 35, 254, 0, 249, 20, 123, 0, 134, 152, 214, 0, 5, 160, 147, 0, 165, 214, 232, 0, 245, 216, 111, 0, 251, 247, 253, 0, 124, 86, 58, 0, 254, 222, 8, 0, 10, 143, 135, 0, 77, 72, 196, 0, 253, 198, 130, 0, 136, 154, 146, 0, 207, 63, 0, 0, 208, 48, 97, 0, 254, 254, 132, 0, 34, 182, 35, 0, 248, 160, 224, 0, 197, 41, 56, 0, 163, 6, 238, 0, 76, 153, 212, 0, 105, 37, 47, 0, 61, 83, 4, 0, 43, 149, 12, 0, 124, 30, 7, 0, 19, 217, 146, 0, 211, 42, 76, 0, 19, 243, 107, 0, 83, 229, 114, 0, 109, 183, 191, 0, 192, 102, 196, 0, 204, 201, 127, 0, 65, 16, 165, 0, 120, 40, 201, 0, 28, 169, 177, 0, 198, 140, 248, 0, 114, 109, 158, 0, 20, 154, 241, 0, 106, 29, 61, 0, 90, 234, 254, 0, 48, 136, 47, 0, 25, 141, 75, 0, 126, 138, 182, 0, 158, 92, 96, 0, 37, 205, 82, 0, 44, 20, 82, 0, 56, 174, 220, 0, 176, 213, 90, 0, 1, 237, 119, 0, 177, 245, 145, 0, 201, 199, 162, 0, 10, 185, 228, 0, 188, 195, 206, 0, 80, 80, 22, 0, 175, 31, 198, 0, 175, 38, 14, 0, 122, 48, 32, 0, 133, 125, 39, 0, 164, 73, 136, 0, 236, 210, 181, 0, 57, 108, 107, 0, 37, 221, 30, 0, \ +114, 189, 162, 0, 66, 174, 157, 0, 44, 29, 48, 0, 136, 11, 10, 0, 2, 99, 24, 0, 30, 136, 73, 0, 95, 9, 16, 0, 88, 58, 23, 0, 56, 210, 248, 0, 253, 102, 197, 0, 251, 106, 154, 0, 75, 142, 152, 0, 159, 142, 93, 0, 95, 194, 39, 0, 198, 37, 165, 0, 29, 10, 124, 0, 141, 253, 253, 0, 96, 236, 193, 0, 241, 198, 240, 0, 208, 153, 100, 0, 69, 91, 109, 0, 233, 153, 33, 0, 92, 130, 243, 0, 227, 58, 218, 0, 115, 18, 141, 0, 242, 15, 208, 0, 31, 47, 15, 0, 209, 81, 28, 0, 190, 22, 76, 0, 81, 59, 113, 0, 218, 148, 184, 0, 240, 43, 117, 0, 18, 125, 100, 0, 180, 130, 241, 0, 225, 121, 214, 0, 31, 27, 12, 0, 99, 42, 251, 0, 156, 190, 215, 0, 89, 250, 97, 0, 134, 87, 194, 0, 182, 207, 29, 0, 161, 235, 114, 0, 112, 197, 85, 0, 109, 93, 245, 0, 188, 249, 252, 0, 197, 234, 214, 0, 174, 151, 12, 0, 209, 116, 189, 0, 20, 229, 106, 0, 245, 41, 48, 0, 134, 193, 237, 0, 62, 247, 2, 0, 163, 134, 232, 0, 164, 216, 195, 0, 200, 94, 65, 0, 237, 16, 17, 0, 119, 30, 104, 0, 165, 162, 213, 0, 136, 73, 10, 0, 245, 28, 105, 0, 238, 171, 190, 0, 230, 108, 231, 0, 251, 14, 136, 0, 159, 182, 43, 0, 31, 48, 170, 0, 50, 146, 117, 0, 58, 146, 203, 0, 220, 154, 249, 0, 138, 14, 68, 0, 25, 53, 254, 0, 7, 97, 113, 0, 60, 115, 160, 0, 49, 110, 13, 0, 34, 112, 156, 0, 220, 128, 253, 0, 223, 97, 182, 0, 134, 110, 146, 0, 74, 102, 180, 0, 133, 90, 234, 0, 226, 245, 97, 0, 180, 118, 185, 0, 224, 38, 113, 0, 7, 65, 3, 0, 37, 254, 180, 0, 175, 205, 168, 0, 100, 230, 202, 0, 75, 152, 4, 0, 91, 210, 156, 0, 21, 221, 20, 0, 138, 232, 245, 0, 224, 44, 7, 0, 244, 144, 142, 0, 101, 222, 12, 0, 65, 127, 149, 0, 8, 212, 117, 0, 104, 246, 151, 0, 250, 56, 224, 0, 243, 225, 60, 0, 73, 27, 239, 0, 98, 141, 196, 0, 112, 159, 198, 0, 204, 121, 202, 0, 222, 96, 41, 0, 75, 20, 160, 0, 86, 35, 127, 0, 212, 220, 116, 0, 144, 27, 123, 0, 123, 102, 86, 0, 39, 250, 130, 0, 187, 111, 166, 0, 94, 223, 85, 0, 11, 169, 201, 0, 197, 125, 31, 0, 68, 87, 66, 0, 217, 119, 127, 0, 185, 3, 119, 0, 31, 73, 238, 0, 180, 115, 17, 0, 58, 252, 63, 0, 81, 56, 73, 0, 46, 192, 157, 0, 135, 148, 27, 0, 156, 138, 225, 0, 10, 162, 13, 0, 221, 193, 59, 0, 121, 29, 25, 0, 120, 220, 187, 0, 211, 37, 141, 0, 7, 203, 5, 0, 213, 20, 46, 0, 4, 174, 242, 0, 37, 37, 217, 0, 97, 113, 134, 0, 164, 235, 2, 0, 135, 60, 206, 0, 83, 18, 133, 0, 184, 62, 200, 0, 151, 35, 76, 0, 67, 222, 153, 0, 191, 150, 71, 0, 180, 78, 58, 0, 100, 94, 170, 0, 63, 185, 193, 0, 118, 83, 48, 0, 226, 140, 141, 0, 233, 162, 219, 0, 225, 250, 57, 0, 208, 234, 186, 0, 109, 114, 192, 0, 238, 226, 171, 0, 177, 15, 238, 0, 108, 143, 16, 0, 84, 17, 149, 0, 107, 16, 243, 0, 230, 34, 231, 0, 193, 224, 127, 0, 122, 171, 7, 0, 89, 138, 59, 0, 56, 42, 227, 0, 195, 233, 7, 0, 203, 111, 163, 0, 208, 21, 156, 0, 241, 120, 135, 0, 205, 254, 30, 0, 100, 124, 232, 0, 202, 82, 138, 0, 36, 237, 95, 0, 54, 37, 213, 0, 193, 10, 221, 0, 129, 97, 245, 0, 75, 88, 41, 0, 13, 183, 189, 0, 176, 176, 228, 0, 168, 44, 132, 0, 158, 158, 169, 0, 141, 56, 183, 0, 68, 232, 134, 0, 32, 56, 95, 0, 171, 76, 133, 0, 94, 235, 11, 0, 43, 66, 133, 0, 83, 136, 121, 0, 169, 183, 197, 0, 104, 60, 7, 0, 142, 219, 76, 0, 167, 85, 164, 0, 87, 124, 9, 0, 66, 93, 65, 0, 248, 244, 174, 0, 37, 19, 124, 0, 225, 171, 116, 0, 184, 225, 188, 0, 84, 39, 196, 0, 193, 126, 46, 0, 218, 204, 76, 0, 112, 114, 212, 0, 168, 178, 233, 0, 144, 178, 206, 0, 102, 86, 160, 0, 134, 48, 164, 0, 121, 168, 91, 0, 148, 110, 164, 0, 109, 35, 248, 0, 69, 158, 210, 0, 44, 122, 201, 0, 195, 21, 226, 0, 226, 183, 242, 0, 36, 225, 86, 0, 41, 186, 6, 0, 229, 237, 92, 0, 121, 210, 61, 0, 4, 57, 4, 0, 199, 88, 205, 0, 152, 54, 157, 0, 235, 233, 21, 0, 124, 178, 45, 0, 221, 108, 159, 0, 61, 36, 216, 0, 99, 146, 70, 0, 98, 23, 36, 0, 36, 49, 39, 0, 214, 239, 148, 0, 176, 128, 93, 0, 29, 105, 46, 0, \ +247, 24, 233, 0, 191, 89, 13, 0, 110, 199, 111, 0, 19, 238, 92, 0, 217, 155, 190, 0, 31, 211, 96, 0, 142, 252, 113, 0, 114, 229, 11, 0, 103, 189, 6, 0, 0, 253, 144, 0, 73, 64, 13, 0, 48, 189, 65, 0, 82, 174, 152, 0, 49, 38, 72, 0, 61, 183, 138, 0, 200, 124, 201, 0, 101, 220, 105, 0, 147, 40, 207, 0, 18, 220, 190, 0, 13, 65, 84, 0, 247, 165, 142, 0, 105, 168, 173, 0, 5, 195, 95, 0, 105, 138, 206, 0, 191, 41, 4, 0, 206, 227, 26, 0, 13, 191, 98, 0, 134, 172, 132, 0, 115, 226, 240, 0, 108, 241, 96, 0, 112, 31, 40, 0, 249, 66, 114, 0, 128, 184, 235, 0, 181, 13, 49, 0, 5, 26, 167, 0, 180, 54, 119, 0, 29, 117, 9, 0, 136, 107, 172, 0, 75, 206, 253, 0, 128, 120, 40, 0, 235, 54, 209, 0, 6, 151, 76, 0, 54, 114, 58, 0, 240, 33, 211, 0, 5, 77, 9, 0, 0, 98, 130, 0, 14, 162, 182, 0, 147, 108, 131, 0, 71, 243, 131, 0, 156, 4, 161, 0, 235, 166, 64, 0, 170, 13, 79, 0, 157, 228, 129, 0, 103, 101, 45, 0, 195, 183, 238, 0, 178, 190, 127, 0, 150, 159, 64, 0, 113, 155, 16, 0, 45, 67, 77, 0, 96, 124, 79, 0, 13, 4, 143, 0, 32, 9, 88, 0, 112, 244, 60, 0, 126, 6, 228, 0, 114, 11, 87, 0, 72, 70, 47, 0, 6, 163, 158, 0, 85, 221, 178, 0, 164, 169, 39, 0, 179, 13, 13, 0, 109, 21, 33, 0, 20, 242, 139, 0, 151, 211, 167, 0, 225, 37, 131, 0, 33, 89, 84, 0, 190, 138, 194, 0, 127, 15, 162, 0, 49, 204, 249, 0, 75, 25, 184, 0, 66, 254, 239, 0, 30, 163, 199, 0, 16, 82, 117, 0, 144, 248, 124, 0, 184, 131, 187, 0, 10, 177, 78, 0, 146, 94, 63, 0, 13, 175, 114, 0, 207, 164, 33, 0, 125, 103, 215, 0, 98, 84, 125, 0, 91, 219, 57, 0, 100, 47, 189, 0, 108, 232, 174, 0, 68, 76, 178, 0, 31, 254, 196, 0, 209, 192, 129, 0, 185, 64, 208, 0, 242, 224, 26, 0, 213, 251, 162, 0, 140, 74, 105, 0, 213, 250, 246, 0, 122, 242, 232, 0, 47, 77, 249, 0, 32, 34, 191, 0, 98, 216, 79, 0, 125, 133, 150, 0, 31, 207, 231, 0, 132, 205, 188, 0, 227, 6, 121, 0, 4, 226, 66, 0, 162, 11, 137, 0, 200, 144, 213, 0, 184, 128, 155, 0, 4, 189, 56, 0, 188, 39, 169, 0, 176, 30, 244, 0, 232, 168, 71, 0, 32, 161, 45, 0, 36, 202, 176, 0, 120, 171, 157, 0, 0, 2, 121, 0, 145, 139, 253, 0, 134, 188, 240, 0, 105, 75, 191, 0, 253, 115, 133, 0, 131, 93, 159, 0, 233, 126, 36, 0, 186, 104, 54, 0, 55, 87, 185, 0, 249, 141, 227, 0, 130, 8, 18, 0, 233, 151, 145, 0, 170, 84, 90, 0, 133, 44, 30, 0, 122, 137, 33, 0, 111, 103, 32, 0, 24, 102, 77, 0, 252, 230, 61, 0, 170, 173, 202, 0, 46, 44, 43, 0, 103, 5, 199, 0, 213, 176, 32, 0, 89, 248, 195, 0, 5, 9, 107, 0, 77, 133, 181, 0, 196, 6, 185, 0, 195, 155, 31, 0, 60, 35, 166, 0, 208, 18, 160, 0, 202, 0, 178, 0, 153, 54, 27, 0, 32, 17, 84, 0, 150, 229, 95, 0, 27, 12, 7, 0, 130, 26, 97, 0, 70, 98, 163, 0, 10, 127, 228, 0, 54, 60, 225, 0, 173, 117, 24, 0, 53, 162, 75, 0, 83, 16, 180, 0, 141, 97, 29, 0, 19, 68, 74, 0, 187, 79, 134, 0, 42, 215, 202, 0, 99, 240, 132, 0, 139, 196, 49, 0, 173, 132, 247, 0, 78, 50, 157, 0, 141, 43, 38, 0, 98, 119, 105, 0, 206, 108, 132, 0, 158, 99, 17, 0, 95, 202, 247, 0, 225, 96, 122, 0, 100, 91, 202, 0, 173, 19, 99, 0, 144, 107, 147, 0, 155, 125, 14, 0, 19, 64, 141, 0, 183, 242, 139, 0, 208, 43, 219, 0, 203, 39, 181, 0, 58, 163, 132, 0, 153, 56, 186, 0, 253, 165, 185, 0, 245, 198, 64, 0, 84, 156, 181, 0, 227, 207, 103, 0, 20, 224, 128, 0, 225, 75, 145, 0, 69, 25, 240, 0, 146, 237, 79, 0, 47, 153, 122, 0, 167, 18, 121, 0, 241, 241, 24, 0, 242, 153, 225, 0, 240, 241, 86, 0, 56, 13, 176, 0, 228, 153, 211, 0, 14, 246, 217, 0, 190, 210, 145, 0, 247, 5, 149, 0, 24, 167, 241, 0, 45, 191, 27, 0, 17, 22, 180, 0, 107, 125, 201, 0, 159, 131, 207, 0, 144, 58, 11, 0, 236, 250, 154, 0, 30, 74, 96, 0, 128, 220, 128, 0, 97, 113, 224, 0, 158, 229, 215, 0, 48, 136, 254, 0, 237, 224, 102, 0, 105, 177, 187, 0, 4, 100, 40, 0, 181, 110, 196, 0, 79, 156, 13, 0, 32, 224, 203, 0, 152, 3, 174, 0, 51, 153, 71, 0, 117, 170, 179, 0, \ +171, 196, 46, 0, 248, 190, 105, 0, 214, 222, 94, 0, 65, 181, 161, 0, 211, 21, 66, 0, 170, 125, 233, 0, 139, 132, 103, 0, 47, 50, 121, 0, 58, 29, 200, 0, 207, 185, 159, 0, 181, 21, 58, 0, 151, 45, 226, 0, 166, 88, 52, 0, 15, 155, 192, 0, 14, 142, 129, 0, 96, 30, 30, 0, 177, 161, 41, 0, 53, 244, 237, 0, 118, 138, 21, 0, 235, 189, 174, 0, 42, 30, 130, 0, 237, 123, 72, 0, 98, 125, 62, 0, 31, 5, 69, 0, 3, 134, 77, 0, 201, 134, 34, 0, 102, 95, 170, 0, 71, 161, 2, 0, 83, 38, 134, 0, 112, 3, 145, 0, 241, 166, 192, 0, 192, 66, 143, 0, 174, 90, 32, 0, 237, 39, 117, 0, 140, 202, 122, 0, 227, 81, 212, 0, 239, 8, 2, 0, 80, 209, 179, 0, 194, 70, 102, 0, 49, 60, 132, 0, 29, 198, 13, 0, 50, 127, 125, 0, 123, 135, 185, 0, 27, 207, 165, 0, 250, 251, 213, 0, 18, 186, 58, 0, 46, 106, 21, 0, 52, 126, 239, 0, 145, 181, 162, 0, 199, 72, 235, 0, 86, 191, 182, 0, 167, 232, 75, 0, 45, 182, 168, 0, 33, 176, 62, 0, 116, 155, 204, 0, 20, 120, 126, 0, 192, 41, 27, 0, 187, 41, 232, 0, 75, 18, 81, 0, 76, 41, 101, 0, 128, 191, 58, 0, 115, 129, 133, 0, 176, 70, 26, 0, 55, 192, 219, 0, 225, 244, 30, 0, 63, 12, 247, 0, 74, 134, 86, 0, 1, 141, 159, 0, 112, 27, 206, 0, 160, 209, 52, 0, 80, 86, 31, 0, 225, 178, 193, 0, 75, 116, 16, 0, 1, 187, 9, 0, 54, 96, 139, 0, 177, 75, 163, 0, 191, 4, 41, 0, 99, 12, 12, 0, 238, 213, 170, 0, 183, 213, 213, 0, 39, 61, 104, 0, 109, 225, 156, 0, 53, 75, 4, 0, 216, 184, 166, 0, 79, 72, 125, 0, 199, 161, 152, 0, 85, 68, 194, 0, 112, 35, 244, 0, 169, 198, 150, 0, 226, 134, 219, 0, 191, 155, 126, 0, 232, 182, 50, 0, 205, 248, 213, 0, 120, 185, 66, 0, 253, 141, 198, 0, 240, 90, 24, 0, 86, 239, 210, 0, 192, 65, 50, 0, 193, 26, 193, 0, 217, 97, 133, 0, 135, 128, 189, 0, 62, 157, 185, 0, 45, 24, 119, 0, 142, 66, 222, 0, 39, 144, 39, 0, 62, 87, 123, 0, 112, 17, 60, 0, 73, 76, 132, 0, 170, 157, 39, 0, 120, 196, 156, 0, 118, 4, 143, 0, 77, 65, 6, 0, 249, 111, 230, 0, 169, 128, 116, 0, 154, 75, 51, 0, 36, 64, 248, 0, 161, 97, 164, 0, 206, 109, 76, 0, 212, 58, 126, 0, 159, 42, 24, 0, 58, 100, 208, 0, 147, 86, 232, 0, 52, 110, 188, 0, 168, 132, 96, 0, 92, 120, 73, 0, 122, 37, 19, 0, 100, 69, 74, 0, 243, 214, 233, 0, 33, 180, 62, 0, 159, 30, 154, 0, 59, 87, 196, 0, 226, 199, 43, 0, 24, 74, 237, 0, 70, 242, 166, 0, 185, 174, 206, 0, 185, 246, 175, 0, 41, 86, 218, 0, 237, 24, 248, 0, 135, 224, 102, 0, 133, 221, 158, 0, 212, 97, 169, 0, 207, 235, 201, 0, 51, 207, 230, 0, 106, 89, 155, 0, 112, 169, 130, 0, 23, 253, 21, 0, 212, 108, 241, 0, 52, 43, 14, 0, 52, 251, 77, 0, 122, 186, 188, 0, 221, 214, 69, 0, 53, 17, 107, 0, 251, 124, 187, 0, 81, 193, 2, 0, 22, 197, 76, 0, 129, 77, 61, 0, 109, 171, 234, 0, 80, 165, 62, 0, 85, 155, 13, 0, 249, 85, 5, 0, 88, 199, 6, 0, 49, 76, 34, 0, 85, 167, 211, 0, 103, 94, 100, 0, 206, 128, 3, 0, 177, 103, 38, 0, 5, 137, 99, 0, 217, 155, 66, 0, 57, 1, 202, 0, 93, 45, 42, 0, 103, 192, 74, 0, 214, 81, 42, 0, 72, 69, 106, 0, 219, 171, 187, 0, 37, 174, 70, 0, 96, 22, 84, 0, 240, 7, 143, 0, 95, 14, 62, 0, 48, 60, 162, 0, 212, 161, 18, 0, 32, 127, 202, 0, 94, 128, 228, 0, 177, 215, 164, 0, 42, 111, 151, 0, 69, 253, 215, 0, 103, 204, 7, 0, 11, 108, 27, 0, 149, 97, 226, 0, 130, 108, 99, 0, 199, 150, 114, 0, 200, 242, 168, 0, 50, 28, 141, 0, 30, 116, 212, 0, 125, 127, 133, 0, 49, 2, 160, 0, 225, 217, 235, 0, 210, 220, 124, 0, 76, 138, 106, 0, 119, 16, 244, 0, 97, 82, 254, 0, 21, 15, 246, 0, 210, 181, 238, 0, 195, 95, 19, 0, 221, 111, 210, 0, 195, 146, 238, 0, 14, 125, 185, 0, 233, 16, 214, 0, 206, 79, 36, 0, 232, 208, 190, 0, 1, 21, 48, 0, 88, 145, 111, 0, 125, 141, 100, 0, 115, 86, 156, 0, 170, 64, 10, 0, 129, 11, 232, 0, 130, 183, 170, 0, 75, 235, 134, 0, 38, 229, 229, 0, 74, 131, 18, 0, 234, 168, 142, 0, 150, 131, 140, 0, 42, 119, 221, 0, 188, 9, 94, 0, 166, 61, 26, 0, \ +76, 106, 112, 0, 220, 15, 103, 0, 171, 64, 141, 0, 47, 64, 170, 0, 169, 197, 153, 0, 145, 164, 132, 0, 237, 116, 116, 0, 225, 79, 124, 0, 250, 155, 1, 0, 37, 225, 209, 0, 107, 92, 19, 0, 106, 39, 57, 0, 103, 151, 118, 0, 225, 169, 16, 0, 145, 154, 69, 0, 180, 247, 69, 0, 41, 168, 220, 0, 51, 167, 0, 0, 193, 0, 133, 0, 169, 88, 121, 0, 139, 133, 108, 0, 73, 25, 79, 0, 119, 166, 211, 0, 197, 217, 49, 0, 200, 221, 8, 0, 240, 27, 48, 0, 11, 150, 218, 0, 191, 156, 205, 0, 207, 224, 121, 0, 13, 7, 127, 0, 223, 76, 90, 0, 163, 173, 79, 0, 13, 169, 72, 0, 82, 112, 204, 0, 132, 225, 76, 0, 92, 111, 103, 0, 250, 205, 203, 0, 23, 233, 242, 0, 151, 43, 184, 0, 25, 180, 89, 0, 72, 222, 121, 0, 96, 10, 85, 0, 140, 8, 89, 0, 155, 5, 78, 0, 134, 136, 182, 0, 71, 219, 92, 0, 7, 241, 20, 0, 13, 243, 4, 0, 144, 248, 164, 0, 229, 25, 10, 0, 90, 247, 138, 0, 42, 226, 222, 0, 107, 104, 173, 0, 16, 91, 186, 0, 194, 3, 238, 0, 10, 227, 97, 0, 69, 136, 102, 0, 141, 53, 10, 0, 6, 179, 58, 0, 216, 181, 224, 0, 200, 8, 15, 0, 196, 182, 52, 0, 236, 249, 248, 0, 102, 208, 46, 0, 109, 125, 116, 0, 84, 168, 95, 0, 235, 111, 117, 0, 29, 85, 168, 0, 115, 58, 95, 0, 189, 74, 123, 0, 93, 73, 230, 0, 159, 60, 95, 0, 201, 20, 209, 0, 251, 88, 45, 0, 183, 114, 14, 0, 171, 112, 53, 0, 121, 107, 101, 0, 85, 144, 66, 0, 171, 170, 0, 0, 15, 122, 87, 0, 138, 156, 89, 0, 76, 196, 233, 0, 4, 74, 157, 0, 112, 44, 177, 0, 143, 47, 159, 0, 8, 154, 214, 0, 5, 201, 248, 0, 237, 128, 54, 0, 233, 221, 84, 0, 130, 132, 109, 0, 22, 233, 180, 0, 107, 225, 210, 0, 161, 48, 166, 0, 3, 80, 86, 0, 193, 18, 16, 0, 248, 233, 72, 0, 75, 138, 97, 0, 82, 176, 223, 0, 59, 223, 227, 0, 59, 142, 172, 0, 131, 3, 94, 0, 115, 40, 92, 0, 106, 225, 66, 0, 167, 112, 189, 0, 216, 60, 140, 0, 220, 234, 65, 0, 237, 16, 211, 0, 210, 162, 202, 0, 99, 205, 57, 0, 15, 128, 8, 0, 36, 174, 73, 0, 160, 75, 1, 0, 251, 29, 61, 0, 1, 6, 212, 0, 77, 34, 99, 0, 79, 60, 111, 0, 234, 143, 166, 0, 11, 59, 237, 0, 206, 199, 194, 0, 16, 16, 214, 0, 222, 47, 166, 0, 61, 168, 126, 0, 69, 11, 104, 0, 183, 96, 218, 0, 133, 92, 122, 0, 198, 100, 129, 0, 142, 223, 190, 0, 30, 176, 122, 0, 191, 153, 206, 0, 12, 140, 34, 0, 179, 127, 102, 0, 69, 183, 235, 0, 194, 142, 34, 0, 67, 129, 226, 0, 82, 157, 101, 0, 101, 105, 221, 0, 136, 31, 98, 0, 1, 35, 144, 0, 56, 12, 251, 0, 24, 6, 210, 0, 63, 250, 179, 0, 2, 247, 158, 0, 204, 37, 234, 0, 76, 87, 119, 0, 102, 24, 0, 0, 226, 15, 92, 0, 74, 101, 204, 0, 222, 24, 49, 0, 200, 100, 201, 0, 145, 244, 0, 0, 205, 19, 196, 0, 21, 73, 49, 0, 108, 198, 59, 0, 92, 200, 159, 0, 207, 76, 98, 0, 144, 97, 247, 0, 176, 194, 113, 0, 247, 205, 48, 0, 222, 219, 78, 0, 252, 4, 244, 0, 141, 50, 239, 0, 200, 168, 81, 0, 198, 96, 189, 0, 15, 46, 89, 0, 227, 203, 39, 0, 23, 240, 148, 0, 78, 165, 234, 0, 86, 194, 2, 0, 37, 139, 166, 0, 63, 3, 90, 0, 108, 46, 109, 0, 28, 233, 94, 0, 165, 158, 237, 0, 134, 234, 61, 0, 185, 40, 180, 0, 203, 13, 81, 0, 251, 94, 135, 0, 228, 120, 55, 0, 227, 216, 141, 0, 243, 114, 24, 0, 204, 16, 198, 0, 105, 205, 66, 0, 125, 74, 168, 0, 70, 236, 52, 0, 174, 137, 82, 0, 131, 132, 239, 0, 99, 123, 119, 0, 60, 73, 157, 0, 56, 100, 168, 0, 84, 136, 180, 0, 60, 72, 65, 0, 79, 91, 34, 0, 116, 195, 184, 0, 26, 161, 145, 0, 127, 178, 49, 0, 76, 88, 20, 0, 177, 57, 12, 0, 125, 55, 216, 0, 15, 115, 222, 0, 74, 164, 89, 0, 207, 233, 201, 0, 203, 25, 250, 0, 125, 167, 5, 0, 116, 239, 196, 0, 106, 177, 50, 0, 250, 131, 250, 0, 73, 198, 174, 0, 123, 159, 185, 0, 37, 199, 183, 0, 187, 179, 64, 0, 52, 146, 201, 0, 193, 174, 124, 0, 42, 140, 111, 0, 14, 14, 173, 0, 188, 131, 222, 0, 112, 213, 248, 0, 142, 105, 212, 0, 66, 243, 113, 0, 238, 61, 83, 0, 85, 147, 117, 0, 198, 253, 78, 0, 206, 61, 40, 0, 146, 117, 135, 0, 189, 105, 203, 0, \ +144, 39, 170, 0, 85, 2, 72, 0, 143, 222, 110, 0, 17, 129, 168, 0, 50, 160, 65, 0, 234, 214, 58, 0, 189, 142, 51, 0, 40, 83, 61, 0, 164, 106, 160, 0, 252, 206, 152, 0, 9, 175, 249, 0, 57, 221, 179, 0, 37, 165, 129, 0, 70, 209, 133, 0, 84, 138, 78, 0, 146, 98, 192, 0, 188, 148, 50, 0, 20, 226, 21, 0, 69, 49, 3, 0, 155, 34, 163, 0, 140, 212, 147, 0, 228, 184, 8, 0, 164, 112, 114, 0, 24, 90, 146, 0, 131, 223, 204, 0, 162, 186, 45, 0, 25, 182, 151, 0, 65, 198, 7, 0, 46, 14, 234, 0, 248, 133, 28, 0, 116, 36, 85, 0, 227, 212, 47, 0, 34, 142, 216, 0, 198, 13, 185, 0, 115, 227, 200, 0, 245, 156, 129, 0, 195, 207, 67, 0, 2, 20, 111, 0, 251, 92, 121, 0, 124, 29, 36, 0, 5, 169, 116, 0, 182, 76, 108, 0, 71, 151, 171, 0, 214, 13, 16, 0, 138, 39, 19, 0, 152, 152, 224, 0, 241, 54, 133, 0, 224, 109, 137, 0, 130, 191, 158, 0, 150, 53, 108, 0, 221, 3, 84, 0, 107, 50, 171, 0, 2, 48, 71, 0, 27, 244, 149, 0, 192, 226, 124, 0, 44, 19, 148, 0, 222, 19, 11, 0, 77, 156, 242, 0, 29, 134, 5, 0, 101, 201, 50, 0, 41, 36, 102, 0, 213, 44, 4, 0, 190, 237, 80, 0, 7, 180, 54, 0, 150, 227, 150, 0, 8, 241, 238, 0, 243, 46, 52, 0, 215, 212, 61, 0, 196, 66, 162, 0, 166, 224, 3, 0, 45, 54, 105, 0, 119, 71, 4, 0, 54, 101, 24, 0, 248, 60, 79, 0, 174, 248, 42, 0, 167, 231, 23, 0, 69, 117, 43, 0, 97, 44, 82, 0, 22, 199, 187, 0, 14, 52, 71, 0, 141, 145, 111, 0, 187, 99, 22, 0, 237, 6, 151, 0, 84, 207, 219, 0, 240, 115, 248, 0, 90, 19, 47, 0, 4, 91, 46, 0, 81, 58, 36, 0, 43, 8, 110, 0, 210, 41, 123, 0, 83, 136, 32, 0, 66, 17, 105, 0, 14, 135, 220, 0, 247, 65, 59, 0, 29, 117, 150, 0, 170, 45, 244, 0, 151, 229, 79, 0, 107, 200, 109, 0, 102, 153, 163, 0, 177, 237, 55, 0, 143, 111, 222, 0, 87, 141, 186, 0, 218, 159, 189, 0, 201, 179, 74, 0, 88, 94, 141, 0, 191, 216, 134, 0, 223, 181, 153, 0, 28, 149, 111, 0, 132, 252, 129, 0, 228, 185, 67, 0, 152, 64, 33, 0, 114, 151, 49, 0, 213, 19, 242, 0, 149, 235, 199, 0, 172, 60, 210, 0, 34, 171, 9, 0, 225, 94, 224, 0, 146, 250, 100, 0, 159, 75, 151, 0, 217, 251, 192, 0, 169, 26, 51, 0, 149, 54, 0, 0, 67, 186, 229, 0, 174, 122, 77, 0, 98, 204, 4, 0, 64, 165, 108, 0, 41, 171, 80, 0, 246, 208, 219, 0, 77, 26, 94, 0, 220, 169, 253, 0, 153, 12, 120, 0, 47, 120, 165, 0, 72, 188, 17, 0, 16, 87, 227, 0, 80, 89, 131, 0, 231, 166, 68, 0, 48, 199, 97, 0, 40, 202, 126, 0, 140, 119, 188, 0, 166, 32, 34, 0, 134, 36, 254, 0, 242, 5, 194, 0, 108, 102, 159, 0, 196, 88, 205, 0, 215, 104, 205, 0, 134, 128, 179, 0, 128, 245, 202, 0, 224, 236, 219, 0, 47, 238, 106, 0, 38, 142, 67, 0, 196, 77, 207, 0, 45, 210, 6, 0, 69, 75, 178, 0, 41, 222, 152, 0, 174, 157, 99, 0, 109, 239, 40, 0, 199, 253, 245, 0, 214, 219, 129, 0, 13, 112, 18, 0, 65, 191, 251, 0, 167, 132, 99, 0, 97, 31, 91, 0, 148, 94, 133, 0, 53, 34, 204, 0, 76, 120, 80, 0, 98, 147, 149, 0, 235, 31, 137, 0, 87, 63, 93, 0, 36, 132, 197, 0, 241, 197, 148, 0, 185, 24, 120, 0, 103, 48, 50, 0, 21, 72, 97, 0, 142, 208, 253, 0, 211, 212, 3, 0, 85, 14, 218, 0, 231, 203, 212, 0, 205, 90, 91, 0, 150, 206, 114, 0, 243, 179, 42, 0, 185, 145, 136, 0, 95, 252, 96, 0, 0, 137, 38, 0, 113, 142, 37, 0, 200, 30, 231, 0, 203, 83, 246, 0, 106, 65, 88, 0, 149, 235, 136, 0, 63, 192, 174, 0, 32, 189, 1, 0, 99, 221, 70, 0, 177, 188, 57, 0, 77, 85, 59, 0, 221, 49, 156, 0, 203, 227, 141, 0, 152, 143, 22, 0, 142, 33, 17, 0, 247, 7, 49, 0, 220, 159, 100, 0, 188, 163, 109, 0, 37, 238, 103, 0, 207, 93, 229, 0, 17, 196, 69, 0, 81, 33, 2, 0, 67, 119, 41, 0, 96, 117, 238, 0, 40, 72, 20, 0, 125, 198, 197, 0, 150, 206, 26, 0, 4, 154, 211, 0, 212, 70, 102, 0, 248, 214, 53, 0, 10, 202, 155, 0, 18, 89, 246, 0, 213, 40, 29, 0, 247, 213, 23, 0, 136, 100, 29, 0, 86, 71, 162, 0, 102, 37, 248, 0, 33, 144, 236, 0, 74, 128, 135, 0, 38, 50, 176, 0, 249, 147, 170, 0, 221, 241, 36, 0, \ +59, 115, 86, 0, 197, 95, 163, 0, 159, 59, 152, 0, 178, 16, 206, 0, 77, 54, 28, 0, 237, 98, 73, 0, 128, 36, 90, 0, 183, 82, 22, 0, 201, 58, 71, 0, 194, 66, 120, 0, 70, 234, 37, 0, 75, 206, 127, 0, 130, 74, 236, 0, 194, 141, 122, 0, 20, 157, 126, 0, 213, 72, 235, 0, 245, 61, 216, 0, 80, 27, 230, 0, 86, 251, 196, 0, 145, 247, 20, 0, 219, 108, 252, 0, 60, 183, 40, 0, 246, 233, 164, 0, 117, 239, 60, 0, 103, 92, 19, 0, 222, 129, 11, 0, 219, 117, 67, 0, 74, 160, 31, 0, 150, 27, 245, 0, 106, 92, 145, 0, 83, 63, 149, 0, 202, 93, 54, 0, 110, 97, 183, 0, 109, 135, 170, 0, 212, 20, 189, 0, 232, 83, 34, 0, 187, 208, 166, 0, 93, 177, 80, 0, 235, 209, 42, 0, 82, 30, 223, 0, 210, 50, 29, 0, 84, 186, 247, 0, 78, 122, 97, 0, 174, 237, 10, 0, 188, 153, 75, 0, 136, 8, 124, 0, 47, 135, 43, 0, 53, 146, 219, 0, 101, 167, 147, 0, 38, 189, 95, 0, 39, 217, 36, 0, 72, 164, 119, 0, 33, 240, 213, 0, 254, 5, 17, 0, 109, 223, 129, 0, 133, 144, 101, 0, 245, 69, 193, 0, 125, 225, 41, 0, 128, 233, 56, 0, 179, 130, 205, 0, 210, 30, 5, 0, 103, 147, 101, 0, 182, 147, 252, 0, 226, 78, 236, 0, 203, 0, 24, 0, 88, 185, 6, 0, 41, 179, 174, 0, 99, 27, 25, 0, 172, 212, 213, 0, 238, 73, 136, 0, 87, 226, 254, 0, 14, 191, 74, 0, 248, 36, 212, 0, 234, 91, 206, 0, 121, 168, 100, 0, 17, 122, 43, 0, 239, 207, 25, 0, 58, 52, 30, 0, 158, 38, 133, 0, 205, 169, 155, 0, 70, 158, 9, 0, 200, 202, 172, 0, 173, 127, 14, 0, 36, 234, 55, 0, 186, 81, 123, 0, 156, 202, 90, 0, 35, 242, 125, 0, 113, 240, 49, 0, 209, 2, 17, 0, 42, 206, 55, 0, 233, 236, 89, 0, 47, 212, 139, 0, 165, 254, 80, 0, 140, 148, 24, 0, 103, 112, 77, 0, 123, 224, 163, 0, 35, 8, 87, 0, 165, 113, 78, 0, 51, 149, 81, 0, 171, 81, 119, 0, 56, 44, 0, 0, 5, 10, 19, 0, 44, 111, 172, 0, 235, 77, 243, 0, 15, 226, 129, 0, 42, 145, 127, 0, 1, 168, 15, 0, 99, 202, 157, 0, 153, 216, 233, 0, 70, 104, 237, 0, 193, 238, 16, 0, 39, 166, 72, 0, 171, 102, 207, 0, 188, 155, 5, 0, 81, 169, 127, 0, 80, 107, 63, 0, 206, 2, 77, 0, 243, 109, 121, 0, 250, 205, 18, 0, 127, 1, 144, 0, 204, 101, 112, 0, 233, 251, 13, 0, 83, 26, 0, 0, 143, 25, 107, 0, 245, 107, 90, 0, 146, 83, 84, 0, 161, 46, 31, 0, 2, 242, 91, 0, 138, 227, 113, 0, 13, 35, 168, 0, 102, 133, 199, 0, 79, 244, 244, 0, 47, 219, 25, 0, 128, 60, 103, 0, 252, 185, 54, 0, 72, 55, 68, 0, 44, 157, 19, 0, 120, 168, 138, 0, 161, 69, 166, 0, 185, 33, 38, 0, 239, 150, 3, 0, 183, 72, 163, 0, 34, 233, 193, 0, 20, 108, 33, 0, 176, 165, 235, 0, 80, 185, 109, 0, 254, 79, 67, 0, 62, 232, 127, 0, 205, 59, 23, 0, 185, 153, 25, 0, 152, 62, 25, 0, 204, 158, 254, 0, 5, 193, 133, 0, 135, 164, 23, 0, 160, 229, 151, 0, 1, 135, 57, 0, 3, 218, 23, 0, 253, 172, 87, 0, 240, 201, 116, 0, 112, 169, 120, 0, 41, 158, 11, 0, 73, 29, 176, 0, 1, 82, 27, 0, 75, 155, 3, 0, 102, 192, 250, 0, 65, 96, 117, 0, 84, 185, 18, 0, 48, 134, 114, 0, 92, 201, 38, 0, 36, 84, 151, 0, 57, 231, 22, 0, 139, 141, 202, 0, 170, 135, 62, 0, 24, 213, 146, 0, 223, 40, 151, 0, 52, 218, 210, 0, 142, 183, 24, 0, 110, 89, 48, 0, 247, 62, 86, 0, 4, 90, 32, 0, 203, 65, 63, 0, 166, 39, 32, 0, 85, 166, 60, 0, 19, 132, 227, 0, 179, 54, 159, 0, 141, 62, 194, 0, 52, 238, 95, 0, 247, 88, 145, 0, 192, 250, 42, 0, 65, 7, 84, 0, 103, 239, 119, 0, 175, 11, 2, 0, 55, 99, 196, 0, 203, 91, 94, 0, 116, 191, 76, 0, 54, 170, 117, 0, 21, 182, 70, 0, 212, 236, 76, 0, 110, 154, 224, 0, 230, 167, 208, 0, 31, 220, 32, 0, 237, 54, 206, 0, 82, 199, 197, 0, 230, 164, 29, 0, 113, 50, 169, 0, 199, 95, 58, 0, 58, 228, 232, 0, 37, 141, 114, 0, 246, 116, 32, 0, 77, 165, 87, 0, 253, 165, 233, 0, 209, 20, 127, 0, 215, 103, 38, 0, 67, 11, 229, 0, 223, 61, 197, 0, 72, 192, 191, 0, 235, 59, 136, 0, 73, 66, 34, 0, 36, 21, 120, 0, 230, 124, 201, 0, 200, 219, 15, 0, 34, 165, 65, 0, 71, 133, 233, 0, 241, 131, 170, 0, \ +251, 121, 183, 0, 254, 252, 147, 0, 43, 200, 176, 0, 218, 88, 4, 0, 91, 212, 199, 0, 224, 100, 205, 0, 86, 216, 201, 0, 243, 252, 204, 0, 71, 246, 51, 0, 61, 75, 108, 0, 55, 136, 69, 0, 119, 226, 172, 0, 145, 44, 132, 0, 147, 92, 99, 0, 66, 117, 54, 0, 104, 156, 176, 0, 153, 170, 24, 0, 141, 249, 250, 0, 48, 30, 244, 0, 210, 103, 35, 0, 152, 175, 76, 0, 37, 56, 90, 0, 141, 202, 217, 0, 92, 227, 25, 0, 169, 35, 107, 0, 222, 143, 40, 0, 91, 80, 226, 0, 193, 245, 125, 0, 29, 192, 176, 0, 42, 178, 102, 0, 243, 212, 91, 0, 223, 28, 218, 0, 118, 163, 192, 0, 74, 213, 95, 0, 28, 77, 112, 0, 138, 166, 123, 0, 43, 158, 136, 0, 165, 60, 236, 0, 245, 48, 24, 0, 79, 194, 183, 0, 220, 104, 19, 0, 177, 209, 210, 0, 155, 176, 123, 0, 76, 12, 56, 0, 79, 168, 134, 0, 191, 236, 68, 0, 239, 131, 61, 0, 87, 172, 212, 0, 64, 5, 54, 0, 150, 189, 50, 0, 190, 132, 81, 0, 56, 66, 143, 0, 54, 183, 78, 0, 132, 36, 102, 0, 2, 49, 167, 0, 64, 151, 216, 0, 80, 54, 84, 0, 120, 137, 232, 0, 163, 235, 225, 0, 123, 41, 116, 0, 13, 200, 66, 0, 199, 127, 254, 0, 107, 66, 64, 0, 110, 139, 209, 0, 193, 171, 243, 0, 49, 191, 102, 0, 27, 177, 181, 0, 39, 218, 20, 0, 254, 232, 6, 0, 27, 87, 233, 0, 158, 85, 33, 0, 199, 138, 171, 0, 79, 7, 244, 0, 119, 195, 5, 0, 198, 90, 233, 0, 22, 10, 155, 0, 148, 12, 243, 0, 234, 130, 239, 0, 42, 169, 240, 0, 30, 174, 69, 0, 103, 151, 53, 0, 180, 68, 38, 0, 87, 111, 176, 0, 207, 110, 234, 0, 209, 241, 164, 0, 236, 194, 18, 0, 80, 236, 157, 0, 57, 229, 27, 0, 158, 177, 190, 0, 82, 140, 110, 0, 192, 221, 133, 0, 216, 165, 100, 0, 202, 212, 98, 0, 85, 219, 142, 0, 97, 118, 178, 0, 158, 19, 102, 0, 154, 9, 238, 0, 69, 63, 252, 0, 188, 12, 50, 0, 180, 167, 125, 0, 178, 98, 40, 0, 64, 130, 23, 0, 204, 64, 16, 0, 232, 54, 99, 0, 196, 166, 245, 0, 216, 65, 199, 0, 137, 107, 92, 0, 171, 217, 32, 0, 147, 251, 205, 0, 61, 139, 95, 0, 203, 108, 239, 0, 14, 200, 79, 0, 240, 191, 191, 0, 231, 222, 134, 0, 253, 174, 150, 0, 116, 218, 164, 0, 130, 185, 189, 0, 43, 254, 253, 0, 170, 106, 189, 0, 45, 170, 120, 0, 215, 24, 136, 0, 71, 238, 64, 0, 56, 122, 216, 0, 64, 219, 176, 0, 219, 18, 47, 0, 149, 94, 217, 0, 158, 21, 67, 0, 115, 148, 39, 0, 43, 127, 76, 0, 182, 53, 38, 0, 30, 35, 153, 0, 229, 192, 147, 0, 249, 174, 65, 0, 205, 172, 17, 0, 21, 124, 253, 0, 169, 12, 77, 0, 230, 24, 215, 0, 233, 100, 201, 0, 201, 136, 191, 0, 121, 97, 110, 0, 8, 70, 246, 0, 252, 83, 218, 0, 18, 20, 219, 0, 56, 198, 61, 0, 249, 221, 11, 0, 245, 110, 139, 0, 151, 119, 99, 0, 249, 247, 114, 0, 242, 231, 188, 0, 241, 75, 205, 0, 26, 149, 65, 0, 91, 147, 246, 0, 107, 190, 102, 0, 23, 189, 212, 0, 240, 171, 170, 0, 243, 87, 31, 0, 53, 144, 102, 0, 44, 247, 196, 0, 85, 18, 211, 0, 133, 191, 2, 0, 150, 215, 156, 0, 118, 76, 164, 0, 185, 116, 11, 0, 189, 80, 102, 0, 215, 250, 161, 0, 250, 120, 135, 0, 137, 23, 211, 0, 164, 247, 136, 0, 242, 55, 152, 0, 217, 85, 114, 0, 119, 184, 106, 0, 49, 250, 155, 0, 200, 234, 21, 0, 49, 142, 112, 0, 87, 111, 96, 0, 30, 22, 171, 0, 70, 97, 118, 0, 240, 78, 62, 0, 226, 147, 242, 0, 93, 188, 241, 0, 211, 223, 146, 0, 106, 241, 103, 0, 137, 205, 29, 0, 155, 80, 182, 0, 148, 156, 42, 0, 84, 230, 113, 0, 172, 233, 147, 0, 133, 96, 141, 0, 98, 79, 199, 0, 239, 176, 133, 0, 13, 191, 169, 0, 191, 62, 133, 0, 185, 113, 239, 0, 57, 168, 213, 0, 120, 228, 21, 0, 29, 29, 160, 0, 175, 14, 254, 0, 234, 126, 30, 0, 81, 117, 76, 0, 42, 57, 65, 0, 248, 105, 216, 0, 55, 182, 165, 0, 193, 19, 226, 0, 216, 48, 10, 0, 58, 6, 13, 0, 183, 193, 192, 0, 166, 184, 132, 0, 111, 36, 219, 0, 37, 111, 97, 0, 84, 180, 159, 0, 68, 181, 97, 0, 253, 253, 242, 0, 223, 223, 21, 0, 91, 129, 133, 0, 37, 51, 128, 0, 68, 29, 105, 0, 209, 8, 179, 0, 26, 25, 253, 0, 232, 105, 212, 0, 210, 80, 232, 0, 211, 28, 144, 0, 121, 169, 36, 0, 112, 32, 48, 0, 128, 32, 241, 0, \ +186, 100, 108, 0, 22, 230, 34, 0, 51, 205, 103, 0, 127, 181, 226, 0, 129, 18, 184, 0, 240, 186, 83, 0, 192, 61, 99, 0, 176, 111, 154, 0, 13, 27, 211, 0, 66, 217, 78, 0, 237, 193, 189, 0, 95, 156, 193, 0, 250, 0, 74, 0, 125, 138, 7, 0, 127, 60, 25, 0, 27, 100, 111, 0, 160, 98, 231, 0, 33, 82, 197, 0, 47, 105, 191, 0, 186, 139, 75, 0, 173, 22, 220, 0, 152, 139, 122, 0, 52, 90, 124, 0, 127, 19, 252, 0, 10, 24, 62, 0, 193, 180, 118, 0, 53, 68, 251, 0, 43, 222, 193, 0, 200, 69, 215, 0, 42, 139, 99, 0, 142, 27, 5, 0, 180, 32, 50, 0, 63, 194, 223, 0, 10, 216, 217, 0, 47, 75, 75, 0, 54, 144, 89, 0, 232, 130, 94, 0, 151, 99, 248, 0, 61, 10, 54, 0, 126, 208, 27, 0, 170, 193, 107, 0, 59, 223, 135, 0, 167, 45, 102, 0, 85, 15, 150, 0, 195, 216, 199, 0, 195, 193, 17, 0, 101, 253, 242, 0, 65, 141, 137, 0, 5, 56, 97, 0, 163, 4, 115, 0, 194, 30, 24, 0, 235, 99, 204, 0, 234, 52, 28, 0, 123, 216, 222, 0, 220, 45, 69, 0, 66, 151, 38, 0, 99, 97, 156, 0, 204, 179, 3, 0, 27, 214, 14, 0, 49, 198, 25, 0, 161, 52, 185, 0, 26, 212, 232, 0, 186, 176, 102, 0, 128, 32, 231, 0, 132, 138, 183, 0, 105, 35, 246, 0, 98, 175, 78, 0, 159, 173, 94, 0, 83, 110, 127, 0, 191, 1, 113, 0, 17, 45, 34, 0, 165, 75, 179, 0, 4, 215, 58, 0, 9, 125, 225, 0, 248, 150, 186, 0, 19, 177, 175, 0, 103, 201, 154, 0, 1, 213, 193, 0, 106, 68, 237, 0, 59, 80, 196, 0, 115, 121, 22, 0, 236, 206, 78, 0, 16, 20, 139, 0, 85, 33, 168, 0, 106, 191, 76, 0, 95, 16, 207, 0, 101, 196, 46, 0, 99, 204, 51, 0, 252, 234, 183, 0, 231, 4, 221, 0, 191, 117, 141, 0, 226, 196, 185, 0, 75, 154, 193, 0, 160, 109, 78, 0, 218, 254, 89, 0, 105, 181, 17, 0, 27, 122, 171, 0, 37, 205, 186, 0, 207, 181, 148, 0, 250, 218, 177, 0, 56, 160, 86, 0, 107, 121, 234, 0, 52, 222, 237, 0, 91, 146, 249, 0, 7, 108, 239, 0, 69, 208, 100, 0, 48, 29, 58, 0, 76, 64, 51, 0, 56, 93, 122, 0, 27, 199, 137, 0, 149, 56, 173, 0, 40, 86, 230, 0, 233, 198, 148, 0, 21, 235, 214, 0, 24, 153, 76, 0, 152, 76, 45, 0, 166, 163, 30, 0, 59, 187, 226, 0, 49, 214, 172, 0, 208, 120, 218, 0, 152, 236, 176, 0, 9, 48, 118, 0, 210, 163, 115, 0, 153, 78, 194, 0, 198, 143, 229, 0, 248, 228, 40, 0, 242, 229, 150, 0, 14, 196, 18, 0, 169, 47, 116, 0, 81, 77, 157, 0, 70, 100, 181, 0, 77, 232, 25, 0, 64, 17, 158, 0, 66, 175, 32, 0, 77, 84, 109, 0, 215, 159, 213, 0, 121, 59, 160, 0, 100, 54, 27, 0, 43, 26, 8, 0, 148, 70, 152, 0, 198, 143, 115, 0, 212, 65, 96, 0, 42, 240, 177, 0, 82, 207, 159, 0, 4, 58, 63, 0, 88, 134, 231, 0, 102, 61, 205, 0, 79, 180, 111, 0, 10, 52, 101, 0, 55, 142, 226, 0, 31, 169, 60, 0, 74, 151, 145, 0, 46, 250, 60, 0, 238, 185, 176, 0, 122, 238, 166, 0, 247, 138, 71, 0, 251, 67, 49, 0, 210, 23, 147, 0, 5, 113, 127, 0, 217, 135, 207, 0, 158, 93, 168, 0, 179, 17, 86, 0, 233, 182, 207, 0, 32, 2, 236, 0, 88, 97, 196, 0, 203, 68, 220, 0, 63, 60, 98, 0, 182, 142, 217, 0, 24, 172, 248, 0, 18, 115, 206, 0, 231, 251, 17, 0, 116, 220, 91, 0, 11, 94, 225, 0, 40, 45, 71, 0, 238, 244, 92, 0, 231, 49, 116, 0, 183, 127, 230, 0, 79, 141, 124, 0, 67, 153, 107, 0, 217, 65, 253, 0, 120, 146, 200, 0, 58, 9, 224, 0, 99, 18, 168, 0, 136, 156, 160, 0, 254, 227, 218, 0, 85, 196, 206, 0, 83, 2, 10, 0, 18, 158, 124, 0, 207, 135, 169, 0, 158, 42, 155, 0, 128, 59, 3, 0, 80, 36, 62, 0, 38, 130, 116, 0, 185, 54, 91, 0, 111, 83, 130, 0, 12, 119, 229, 0, 37, 233, 16, 0, 41, 77, 33, 0, 104, 85, 110, 0, 200, 126, 217, 0, 92, 91, 135, 0, 52, 88, 229, 0, 12, 64, 68, 0, 204, 15, 97, 0, 46, 158, 16, 0, 183, 12, 147, 0, 157, 17, 222, 0, 127, 84, 25, 0, 26, 2, 19, 0, 180, 72, 97, 0, 149, 15, 136, 0, 152, 165, 69, 0, 165, 136, 29, 0, 111, 157, 93, 0, 241, 220, 218, 0, 150, 168, 45, 0, 147, 176, 140, 0, 107, 74, 96, 0, 44, 225, 239, 0, 157, 50, 58, 0, 140, 252, 59, 0, 126, 110, 179, 0, 77, 29, 226, 0, 171, 28, 69, 0, \ +183, 123, 92, 0, 172, 174, 173, 0, 217, 118, 236, 0, 205, 181, 6, 0, 112, 225, 64, 0, 95, 216, 251, 0, 100, 46, 27, 0, 188, 14, 62, 0, 183, 94, 30, 0, 8, 168, 228, 0, 187, 162, 239, 0, 214, 45, 0, 0, 65, 171, 158, 0, 187, 11, 21, 0, 106, 9, 184, 0, 142, 74, 147, 0, 134, 235, 241, 0, 40, 200, 100, 0, 1, 18, 211, 0, 163, 247, 199, 0, 10, 70, 39, 0, 150, 69, 186, 0, 125, 244, 174, 0, 84, 148, 105, 0, 184, 131, 108, 0, 53, 61, 109, 0, 191, 231, 196, 0, 181, 146, 9, 0, 125, 181, 95, 0, 213, 170, 14, 0, 241, 149, 109, 0, 25, 185, 40, 0, 232, 221, 38, 0, 161, 83, 99, 0, 137, 247, 31, 0, 1, 235, 29, 0, 155, 114, 70, 0, 157, 69, 149, 0, 2, 11, 130, 0, 172, 243, 163, 0, 108, 175, 47, 0, 58, 233, 106, 0, 210, 90, 181, 0, 83, 50, 234, 0, 27, 229, 2, 0, 157, 157, 254, 0, 181, 228, 251, 0, 174, 251, 21, 0, 75, 51, 167, 0, 189, 243, 119, 0, 83, 124, 250, 0, 198, 68, 93, 0, 2, 25, 241, 0, 141, 61, 125, 0, 177, 89, 91, 0, 16, 135, 163, 0, 134, 15, 240, 0, 121, 179, 190, 0, 52, 127, 181, 0, 97, 230, 129, 0, 125, 60, 211, 0, 91, 198, 184, 0, 95, 122, 203, 0, 97, 160, 56, 0, 150, 129, 19, 0, 139, 116, 104, 0, 159, 207, 155, 0, 30, 217, 141, 0, 133, 254, 64, 0, 125, 18, 200, 0, 11, 105, 34, 0, 38, 10, 127, 0, 158, 20, 7, 0, 170, 206, 174, 0, 66, 139, 170, 0, 28, 21, 124, 0, 65, 100, 100, 0, 80, 93, 172, 0, 179, 105, 151, 0, 244, 157, 100, 0, 235, 208, 166, 0, 103, 131, 36, 0, 246, 116, 137, 0, 45, 114, 145, 0, 131, 222, 195, 0, 114, 195, 136, 0, 22, 45, 10, 0, 232, 39, 144, 0, 193, 57, 114, 0, 167, 151, 61, 0, 202, 101, 235, 0, 19, 101, 76, 0, 159, 28, 200, 0, 132, 126, 24, 0, 134, 252, 5, 0, 168, 160, 221, 0, 114, 37, 251, 0, 30, 64, 21, 0, 254, 106, 204, 0, 90, 63, 154, 0, 188, 213, 62, 0, 154, 159, 227, 0, 25, 199, 111, 0, 253, 82, 215, 0, 29, 45, 44, 0, 0, 151, 85, 0, 248, 127, 138, 0, 205, 126, 99, 0, 176, 213, 52, 0, 174, 77, 43, 0, 97, 11, 147, 0, 99, 217, 235, 0, 60, 170, 157, 0, 156, 8, 65, 0, 14, 104, 140, 0, 2, 181, 233, 0, 251, 48, 65, 0, 252, 143, 135, 0, 161, 227, 247, 0, 50, 185, 98, 0, 75, 80, 151, 0, 235, 170, 145, 0, 6, 199, 107, 0, 127, 245, 236, 0, 166, 39, 190, 0, 98, 236, 178, 0, 31, 39, 92, 0, 123, 140, 68, 0, 195, 239, 40, 0, 95, 226, 48, 0, 161, 75, 210, 0, 211, 204, 106, 0, 239, 29, 48, 0, 68, 19, 241, 0, 42, 187, 54, 0, 231, 219, 247, 0, 158, 245, 144, 0, 192, 230, 67, 0, 240, 194, 29, 0, 233, 218, 55, 0, 105, 45, 239, 0, 211, 62, 136, 0, 247, 210, 196, 0, 1, 24, 162, 0, 25, 88, 250, 0, 46, 209, 120, 0, 245, 135, 19, 0, 61, 206, 102, 0, 221, 98, 91, 0, 195, 58, 157, 0, 185, 101, 127, 0, 209, 168, 154, 0, 126, 181, 4, 0, 203, 143, 13, 0, 117, 48, 66, 0, 139, 204, 238, 0, 142, 60, 15, 0, 162, 185, 214, 0, 201, 97, 116, 0, 151, 62, 242, 0, 1, 159, 60, 0, 2, 227, 51, 0, 62, 185, 60, 0, 65, 109, 54, 0, 118, 131, 41, 0, 105, 63, 123, 0, 129, 90, 128, 0, 19, 52, 231, 0, 150, 32, 162, 0, 77, 16, 102, 0, 42, 125, 144, 0, 91, 215, 222, 0, 152, 125, 240, 0, 82, 179, 203, 0, 181, 247, 155, 0, 168, 7, 124, 0, 167, 182, 15, 0, 217, 130, 159, 0, 107, 214, 50, 0, 92, 28, 208, 0, 111, 181, 132, 0, 182, 137, 186, 0, 121, 105, 62, 0, 98, 1, 171, 0, 185, 87, 156, 0, 230, 1, 28, 0, 218, 116, 163, 0, 83, 254, 150, 0, 85, 118, 123, 0, 208, 99, 22, 0, 244, 247, 254, 0, 29, 123, 211, 0, 129, 26, 42, 0, 57, 135, 131, 0, 113, 243, 77, 0, 235, 219, 250, 0, 130, 188, 102, 0, 219, 189, 178, 0, 246, 98, 223, 0, 44, 169, 56, 0, 3, 4, 131, 0, 186, 11, 253, 0, 42, 165, 52, 0, 100, 142, 12, 0, 144, 216, 209, 0, 213, 251, 48, 0, 251, 106, 141, 0, 3, 126, 157, 0, 225, 42, 220, 0, 210, 150, 126, 0, 117, 27, 228, 0, 185, 244, 95, 0, 41, 241, 19, 0, 82, 83, 6, 0, 111, 175, 163, 0, 117, 217, 158, 0, 96, 153, 208, 0, 85, 54, 79, 0, 210, 9, 124, 0, 224, 52, 168, 0, 191, 87, 213, 0, 208, 249, 153, 0, 13, 216, 94, 0, 173, 81, 160, 0, \ +95, 32, 66, 0, 125, 30, 125, 0, 78, 14, 64, 0, 86, 220, 143, 0, 44, 68, 131, 0, 215, 218, 68, 0, 17, 93, 148, 0, 91, 59, 155, 0, 19, 99, 253, 0, 120, 216, 197, 0, 49, 125, 47, 0, 89, 100, 66, 0, 12, 131, 51, 0, 86, 35, 199, 0, 176, 30, 117, 0, 12, 185, 32, 0, 151, 197, 135, 0, 58, 248, 184, 0, 137, 173, 210, 0, 50, 165, 250, 0, 231, 13, 3, 0, 66, 67, 115, 0, 71, 230, 84, 0, 41, 115, 117, 0, 241, 210, 180, 0, 234, 134, 171, 0, 73, 87, 237, 0, 122, 174, 194, 0, 182, 226, 1, 0, 33, 224, 124, 0, 115, 244, 206, 0, 103, 108, 14, 0, 54, 227, 241, 0, 168, 103, 197, 0, 133, 28, 157, 0, 74, 106, 124, 0, 205, 193, 126, 0, 107, 32, 144, 0, 180, 183, 155, 0, 59, 223, 47, 0, 18, 72, 45, 0, 26, 75, 227, 0, 210, 46, 224, 0, 74, 198, 86, 0, 143, 55, 118, 0, 224, 3, 123, 0, 199, 156, 144, 0, 158, 116, 105, 0, 104, 49, 231, 0, 113, 152, 240, 0, 160, 177, 186, 0, 85, 156, 197, 0, 62, 220, 2, 0, 101, 145, 85, 0, 38, 38, 235, 0, 8, 114, 125, 0, 162, 213, 228, 0, 191, 159, 160, 0, 252, 163, 63, 0, 197, 6, 171, 0, 14, 71, 136, 0, 114, 245, 180, 0, 232, 39, 223, 0, 120, 204, 185, 0, 208, 141, 218, 0, 3, 6, 148, 0, 227, 231, 28, 0, 7, 84, 226, 0, 61, 191, 218, 0, 133, 102, 146, 0, 116, 63, 51, 0, 205, 209, 250, 0, 217, 119, 220, 0, 219, 63, 51, 0, 161, 51, 138, 0, 248, 106, 73, 0, 113, 180, 73, 0, 174, 163, 17, 0, 236, 45, 111, 0, 32, 127, 129, 0, 78, 71, 186, 0, 238, 211, 212, 0, 2, 64, 245, 0, 125, 157, 61, 0, 244, 31, 217, 0, 33, 184, 94, 0, 213, 239, 61, 0, 167, 28, 39, 0, 116, 135, 63, 0, 16, 208, 19, 0, 234, 56, 114, 0, 94, 114, 197, 0, 4, 245, 60, 0, 198, 189, 3, 0, 64, 14, 189, 0, 124, 153, 60, 0, 216, 127, 227, 0, 96, 33, 254, 0, 248, 76, 121, 0, 67, 72, 67, 0, 45, 39, 47, 0, 228, 91, 18, 0, 157, 93, 229, 0, 36, 152, 79, 0, 216, 209, 0, 0, 122, 87, 112, 0, 192, 213, 159, 0, 42, 47, 111, 0, 72, 42, 100, 0, 34, 200, 124, 0, 243, 51, 144, 0, 28, 14, 136, 0, 138, 150, 31, 0, 2, 118, 156, 0, 221, 0, 145, 0, 80, 205, 214, 0, 69, 103, 3, 0, 245, 44, 165, 0, 50, 75, 102, 0, 226, 154, 172, 0, 157, 40, 185, 0, 78, 157, 242, 0, 88, 154, 95, 0, 242, 179, 104, 0, 111, 223, 142, 0, 240, 2, 136, 0, 197, 98, 76, 0, 28, 226, 18, 0, 228, 159, 85, 0, 197, 191, 93, 0, 44, 24, 25, 0, 194, 238, 15, 0, 230, 67, 24, 0, 25, 234, 220, 0, 208, 9, 107, 0, 234, 73, 182, 0, 100, 214, 20, 0, 205, 40, 23, 0, 231, 72, 60, 0, 197, 6, 45, 0, 8, 66, 224, 0, 136, 62, 100, 0, 125, 193, 218, 0, 136, 54, 180, 0, 208, 171, 107, 0, 106, 65, 23, 0, 79, 229, 213, 0, 40, 152, 139, 0, 201, 230, 143, 0, 108, 54, 56, 0, 158, 219, 126, 0, 69, 34, 115, 0, 254, 46, 97, 0, 251, 192, 103, 0, 138, 234, 154, 0, 118, 104, 229, 0, 233, 163, 217, 0, 99, 52, 167, 0, 174, 80, 100, 0, 182, 163, 59, 0, 253, 140, 20, 0, 108, 123, 76, 0, 165, 242, 156, 0, 162, 134, 178, 0, 47, 117, 16, 0, 68, 168, 32, 0, 58, 13, 200, 0, 195, 146, 114, 0, 173, 244, 114, 0, 211, 156, 75, 0, 115, 165, 94, 0, 27, 192, 250, 0, 169, 145, 195, 0, 8, 152, 204, 0, 90, 142, 189, 0, 184, 161, 72, 0, 242, 150, 149, 0, 224, 12, 124, 0, 204, 133, 52, 0, 126, 190, 30, 0, 105, 22, 219, 0, 111, 133, 164, 0, 246, 210, 199, 0, 97, 253, 92, 0, 126, 110, 41, 0, 253, 27, 205, 0, 47, 197, 43, 0, 35, 7, 102, 0, 222, 240, 80, 0, 59, 72, 31, 0, 170, 197, 194, 0, 81, 251, 194, 0, 152, 132, 163, 0, 247, 31, 150, 0, 128, 173, 24, 0, 161, 47, 83, 0, 61, 158, 5, 0, 183, 111, 184, 0, 132, 141, 52, 0, 23, 252, 1, 0, 168, 87, 223, 0, 91, 161, 232, 0, 237, 225, 156, 0, 211, 180, 124, 0, 103, 135, 155, 0, 94, 6, 129, 0, 132, 75, 202, 0, 74, 18, 244, 0, 126, 24, 163, 0, 77, 242, 113, 0, 225, 8, 210, 0, 241, 21, 134, 0, 107, 150, 50, 0, 163, 37, 60, 0, 25, 223, 71, 0, 190, 160, 148, 0, 246, 60, 237, 0, 184, 56, 247, 0, 239, 218, 213, 0, 122, 186, 130, 0, 77, 65, 126, 0, 56, 232, 94, 0, 67, 137, 16, 0, 111, 57, 55, 0, \ +2, 51, 188, 0, 47, 34, 43, 0, 186, 155, 184, 0, 218, 241, 21, 0, 180, 232, 126, 0, 244, 247, 211, 0, 110, 90, 93, 0, 87, 109, 243, 0, 205, 23, 24, 0, 118, 119, 212, 0, 66, 186, 28, 0, 9, 58, 50, 0, 141, 184, 33, 0, 204, 31, 207, 0, 7, 194, 192, 0, 45, 215, 144, 0, 98, 183, 120, 0, 23, 1, 138, 0, 194, 232, 103, 0, 122, 245, 146, 0, 74, 10, 11, 0, 125, 165, 40, 0, 190, 166, 164, 0, 80, 77, 72, 0, 155, 51, 68, 0, 105, 229, 103, 0, 44, 172, 151, 0, 11, 129, 44, 0, 90, 66, 15, 0, 248, 229, 195, 0, 33, 236, 55, 0, 53, 91, 226, 0, 25, 205, 2, 0, 177, 72, 103, 0, 222, 116, 152, 0, 168, 211, 36, 0, 96, 163, 150, 0, 221, 19, 200, 0, 31, 172, 200, 0, 205, 8, 156, 0, 220, 155, 71, 0, 119, 152, 218, 0, 126, 231, 208, 0, 234, 96, 141, 0, 242, 182, 249, 0, 180, 50, 161, 0, 33, 170, 37, 0, 8, 117, 53, 0, 140, 187, 56, 0, 23, 112, 0, 0, 45, 59, 199, 0, 246, 107, 99, 0, 40, 247, 15, 0, 156, 238, 238, 0, 75, 45, 60, 0, 14, 164, 209, 0, 38, 183, 108, 0, 253, 170, 194, 0, 35, 175, 62, 0, 253, 237, 80, 0, 6, 4, 186, 0, 121, 141, 152, 0, 71, 26, 161, 0, 179, 5, 181, 0, 5, 66, 232, 0, 100, 107, 47, 0, 178, 211, 165, 0, 62, 81, 249, 0, 9, 197, 229, 0, 21, 147, 38, 0, 84, 140, 167, 0, 110, 42, 194, 0, 96, 197, 230, 0, 78, 40, 239, 0, 42, 100, 188, 0, 109, 234, 24, 0, 79, 56, 97, 0, 96, 116, 218, 0, 54, 88, 136, 0, 221, 83, 30, 0, 47, 18, 238, 0, 146, 244, 191, 0, 40, 250, 88, 0, 111, 42, 239, 0, 212, 91, 84, 0, 116, 183, 169, 0, 107, 241, 91, 0, 206, 148, 102, 0, 249, 99, 40, 0, 109, 66, 133, 0, 243, 182, 37, 0, 131, 140, 80, 0, 18, 253, 246, 0, 204, 83, 4, 0, 156, 72, 102, 0, 227, 16, 21, 0, 242, 223, 5, 0, 159, 112, 99, 0, 105, 187, 110, 0, 20, 31, 139, 0, 182, 52, 11, 0, 7, 7, 20, 0, 162, 112, 164, 0, 27, 158, 122, 0, 128, 176, 154, 0, 243, 148, 16, 0, 250, 241, 230, 0, 30, 136, 251, 0, 139, 113, 216, 0, 32, 219, 19, 0, 182, 117, 57, 0, 229, 36, 244, 0, 191, 82, 124, 0, 246, 48, 181, 0, 77, 72, 54, 0, 236, 224, 247, 0, 115, 25, 202, 0, 181, 153, 142, 0, 72, 7, 201, 0, 230, 105, 139, 0, 19, 78, 71, 0, 128, 87, 82, 0, 150, 223, 207, 0, 23, 116, 2, 0, 16, 73, 152, 0, 75, 197, 43, 0, 20, 146, 169, 0, 96, 50, 58, 0, 106, 103, 86, 0, 248, 229, 213, 0, 11, 191, 34, 0, 206, 161, 110, 0, 112, 81, 32, 0, 242, 11, 42, 0, 121, 181, 28, 0, 177, 12, 237, 0, 31, 176, 71, 0, 81, 222, 172, 0, 201, 239, 160, 0, 7, 140, 209, 0, 183, 193, 103, 0, 73, 23, 150, 0, 159, 230, 12, 0, 119, 234, 237, 0, 129, 45, 166, 0, 77, 208, 219, 0, 86, 224, 195, 0, 123, 2, 47, 0, 89, 73, 62, 0, 250, 212, 233, 0, 241, 38, 52, 0, 240, 9, 161, 0, 166, 219, 253, 0, 250, 227, 239, 0, 104, 134, 83, 0, 65, 57, 194, 0, 13, 2, 254, 0, 95, 35, 21, 0, 45, 192, 59, 0, 237, 38, 135, 0, 63, 154, 66, 0, 76, 120, 128, 0, 234, 51, 113, 0, 0, 152, 73, 0, 59, 91, 143, 0, 103, 26, 172, 0, 22, 106, 75, 0, 103, 25, 218, 0, 73, 119, 183, 0, 147, 114, 114, 0, 143, 0, 29, 0, 212, 164, 238, 0, 54, 130, 251, 0, 82, 236, 110, 0, 59, 34, 197, 0, 121, 151, 181, 0, 104, 162, 227, 0, 142, 229, 16, 0, 204, 169, 239, 0, 30, 199, 89, 0, 124, 161, 250, 0, 120, 212, 66, 0, 199, 246, 248, 0, 64, 9, 223, 0, 207, 86, 197, 0, 51, 225, 86, 0, 105, 213, 253, 0, 182, 144, 197, 0, 229, 224, 191, 0, 0, 201, 215, 0, 55, 21, 112, 0, 38, 0, 176, 0, 221, 179, 248, 0, 151, 76, 159, 0, 30, 116, 156, 0, 81, 24, 68, 0, 11, 4, 151, 0, 59, 184, 213, 0, 14, 182, 129, 0, 27, 75, 136, 0, 200, 159, 44, 0, 214, 43, 17, 0, 165, 171, 194, 0, 159, 74, 199, 0, 119, 84, 120, 0, 68, 128, 254, 0, 63, 223, 36, 0, 47, 71, 95, 0, 129, 88, 88, 0, 39, 30, 252, 0, 229, 4, 250, 0, 236, 133, 33, 0, 64, 217, 154, 0, 109, 210, 104, 0, 202, 33, 212, 0, 33, 104, 194, 0, 244, 117, 59, 0, 175, 84, 187, 0, 183, 212, 219, 0, 216, 45, 157, 0, 16, 251, 126, 0, 235, 21, 189, 0, 231, 11, 4, 0, 103, 93, 20, 0, \ +66, 4, 34, 0, 75, 8, 115, 0, 161, 153, 122, 0, 15, 241, 150, 0, 166, 169, 49, 0, 45, 16, 62, 0, 215, 212, 108, 0, 121, 132, 196, 0, 217, 186, 204, 0, 213, 116, 24, 0, 224, 192, 22, 0, 98, 124, 169, 0, 32, 75, 83, 0, 58, 134, 163, 0, 128, 242, 33, 0, 99, 151, 13, 0, 135, 196, 16, 0, 132, 209, 111, 0, 127, 247, 204, 0, 111, 22, 180, 0, 206, 114, 216, 0, 245, 200, 157, 0, 173, 30, 49, 0, 207, 222, 196, 0, 79, 106, 48, 0, 182, 223, 156, 0, 111, 174, 192, 0, 218, 153, 241, 0, 234, 48, 197, 0, 251, 126, 222, 0, 119, 81, 118, 0, 116, 174, 91, 0, 224, 83, 46, 0, 147, 244, 85, 0, 129, 195, 141, 0, 177, 202, 105, 0, 110, 71, 22, 0, 9, 173, 139, 0, 1, 195, 36, 0, 45, 2, 14, 0, 245, 144, 116, 0, 123, 201, 119, 0, 210, 179, 101, 0, 107, 15, 94, 0, 134, 84, 77, 0, 32, 134, 246, 0, 140, 108, 70, 0, 189, 38, 234, 0, 15, 11, 181, 0, 128, 13, 88, 0, 225, 197, 243, 0, 108, 145, 89, 0, 49, 129, 244, 0, 236, 191, 35, 0, 214, 227, 61, 0, 37, 81, 117, 0, 189, 83, 73, 0, 28, 181, 70, 0, 236, 179, 157, 0, 144, 48, 104, 0, 213, 233, 77, 0, 165, 208, 17, 0, 138, 127, 159, 0, 47, 220, 66, 0, 99, 107, 27, 0, 204, 52, 167, 0, 39, 54, 34, 0, 113, 32, 68, 0, 198, 219, 156, 0, 114, 13, 156, 0, 118, 211, 25, 0, 232, 132, 212, 0, 210, 86, 98, 0, 201, 95, 177, 0, 186, 231, 32, 0, 116, 106, 26, 0, 193, 239, 76, 0, 55, 63, 60, 0, 79, 127, 19, 0, 169, 148, 9, 0, 181, 44, 91, 0, 148, 83, 27, 0, 107, 85, 30, 0, 232, 217, 139, 0, 139, 217, 145, 0, 83, 17, 20, 0, 112, 41, 197, 0, 119, 85, 50, 0, 164, 194, 189, 0, 247, 232, 14, 0, 104, 52, 55, 0, 20, 41, 202, 0, 9, 253, 13, 0, 249, 173, 188, 0, 85, 18, 226, 0, 171, 95, 161, 0, 105, 92, 74, 0, 172, 18, 190, 0, 54, 90, 48, 0, 112, 197, 29, 0, 12, 121, 5, 0, 127, 201, 115, 0, 0, 190, 193, 0, 60, 228, 199, 0, 159, 230, 110, 0, 23, 31, 161, 0, 49, 13, 145, 0, 124, 247, 98, 0, 189, 198, 210, 0, 124, 100, 86, 0, 120, 252, 21, 0, 172, 166, 107, 0, 250, 254, 53, 0, 42, 63, 153, 0, 241, 170, 159, 0, 206, 225, 33, 0, 173, 133, 144, 0, 102, 84, 243, 0, 60, 53, 97, 0, 144, 204, 145, 0, 50, 181, 45, 0, 245, 216, 169, 0, 144, 226, 121, 0, 121, 105, 230, 0, 229, 152, 18, 0, 122, 20, 242, 0, 237, 96, 1, 0, 112, 195, 94, 0, 104, 161, 208, 0, 114, 251, 176, 0, 226, 228, 175, 0, 221, 60, 220, 0, 126, 97, 118, 0, 110, 12, 61, 0, 244, 207, 190, 0, 254, 25, 52, 0, 207, 148, 225, 0, 152, 162, 229, 0, 254, 79, 140, 0, 122, 77, 111, 0, 247, 21, 140, 0, 80, 84, 217, 0, 56, 181, 40, 0, 25, 74, 95, 0, 155, 203, 132, 0, 139, 49, 219, 0, 233, 152, 229, 0, 80, 23, 4, 0, 68, 15, 79, 0, 247, 120, 30, 0, 193, 97, 150, 0, 74, 143, 94, 0, 7, 158, 84, 0, 30, 37, 148, 0, 212, 10, 12, 0, 79, 249, 108, 0, 23, 204, 150, 0, 138, 202, 190, 0, 122, 147, 96, 0, 91, 209, 207, 0, 132, 120, 202, 0, 234, 176, 2, 0, 187, 241, 25, 0, 58, 177, 58, 0, 173, 55, 1, 0, 249, 94, 220, 0, 178, 249, 43, 0, 225, 174, 173, 0, 24, 192, 225, 0, 171, 54, 32, 0, 72, 123, 183, 0, 200, 215, 230, 0, 28, 75, 130, 0, 91, 86, 151, 0, 135, 27, 96, 0, 47, 211, 142, 0, 15, 3, 114, 0, 192, 132, 115, 0, 36, 52, 209, 0, 65, 153, 254, 0, 159, 254, 43, 0, 166, 34, 243, 0, 239, 190, 61, 0, 110, 244, 150, 0, 88, 62, 39, 0, 142, 237, 76, 0, 229, 33, 34, 0, 74, 130, 41, 0, 210, 128, 149, 0, 48, 232, 75, 0, 69, 231, 150, 0, 55, 203, 254, 0, 162, 116, 66, 0, 78, 240, 238, 0, 116, 57, 24, 0, 102, 152, 250, 0, 66, 202, 82, 0, 148, 63, 20, 0, 76, 226, 52, 0, 202, 49, 77, 0, 46, 188, 121, 0, 230, 193, 9, 0, 186, 77, 169, 0, 62, 204, 224, 0, 189, 7, 45, 0, 59, 49, 105, 0, 162, 115, 163, 0, 58, 46, 93, 0, 71, 151, 23, 0, 216, 208, 167, 0, 133, 7, 195, 0, 130, 96, 88, 0, 154, 234, 108, 0, 158, 123, 65, 0, 61, 241, 108, 0, 189, 40, 131, 0, 110, 69, 87, 0, 6, 202, 13, 0, 152, 77, 125, 0, 197, 156, 74, 0, 2, 249, 101, 0, 4, 122, 117, 0, 252, 101, 117, 0, 183, 49, 225, 0, \ +199, 82, 129, 0, 200, 86, 203, 0, 99, 120, 45, 0, 126, 4, 13, 0, 160, 129, 75, 0, 49, 165, 230, 0, 62, 146, 210, 0, 170, 27, 159, 0, 85, 103, 10, 0, 66, 69, 63, 0, 44, 224, 98, 0, 157, 52, 233, 0, 90, 141, 63, 0, 248, 179, 212, 0, 15, 18, 84, 0, 36, 217, 200, 0, 19, 141, 92, 0, 206, 207, 134, 0, 74, 111, 72, 0, 161, 234, 238, 0, 76, 172, 86, 0, 220, 6, 192, 0, 179, 183, 165, 0, 158, 226, 165, 0, 104, 40, 228, 0, 86, 169, 10, 0, 63, 188, 182, 0, 239, 240, 57, 0, 170, 102, 50, 0, 123, 213, 91, 0, 118, 131, 207, 0, 70, 143, 242, 0, 239, 187, 137, 0, 8, 12, 135, 0, 34, 209, 217, 0, 175, 225, 120, 0, 85, 200, 75, 0, 102, 80, 72, 0, 186, 140, 166, 0, 205, 133, 67, 0, 196, 178, 138, 0, 246, 34, 232, 0, 20, 28, 118, 0, 70, 132, 71, 0, 234, 16, 145, 0, 203, 45, 177, 0, 120, 249, 253, 0, 123, 46, 51, 0, 10, 200, 117, 0, 154, 77, 60, 0, 225, 86, 189, 0, 26, 71, 67, 0, 127, 206, 39, 0, 37, 226, 104, 0, 37, 43, 2, 0, 112, 23, 17, 0, 169, 162, 226, 0, 251, 96, 198, 0, 171, 2, 232, 0, 73, 66, 173, 0, 200, 115, 253, 0, 191, 61, 96, 0, 42, 189, 150, 0, 114, 92, 179, 0, 41, 107, 126, 0, 166, 213, 72, 0, 159, 48, 54, 0, 167, 68, 72, 0, 100, 29, 213, 0, 27, 91, 211, 0, 68, 25, 160, 0, 226, 32, 88, 0, 31, 146, 254, 0, 172, 237, 239, 0, 38, 182, 198, 0, 243, 242, 13, 0, 31, 214, 52, 0, 23, 24, 37, 0, 185, 221, 178, 0, 111, 248, 7, 0, 173, 14, 245, 0, 250, 19, 36, 0, 205, 223, 219, 0, 216, 178, 127, 0, 244, 114, 28, 0, 53, 160, 133, 0, 243, 85, 190, 0, 224, 39, 243, 0, 127, 86, 114, 0, 78, 171, 86, 0, 149, 49, 172, 0, 178, 94, 14, 0, 172, 181, 45, 0, 123, 59, 94, 0, 26, 100, 127, 0, 55, 172, 229, 0, 103, 48, 134, 0, 142, 42, 202, 0, 221, 74, 163, 0, 67, 198, 206, 0, 150, 228, 102, 0, 151, 1, 107, 0, 27, 82, 155, 0, 162, 62, 104, 0, 96, 87, 197, 0, 109, 117, 65, 0, 245, 77, 132, 0, 144, 230, 130, 0, 176, 73, 48, 0, 243, 64, 50, 0, 245, 54, 226, 0, 243, 43, 22, 0, 91, 248, 193, 0, 222, 206, 190, 0, 143, 102, 79, 0, 211, 113, 213, 0, 240, 191, 230, 0, 166, 163, 134, 0, 133, 102, 24, 0, 133, 39, 208, 0, 55, 12, 251, 0, 250, 40, 40, 0, 120, 106, 179, 0, 178, 175, 26, 0, 166, 13, 215, 0, 237, 189, 159, 0, 246, 117, 188, 0, 39, 7, 192, 0, 34, 148, 199, 0, 77, 10, 39, 0, 17, 125, 98, 0, 46, 212, 107, 0, 146, 245, 224, 0, 162, 176, 119, 0, 235, 252, 48, 0, 47, 87, 229, 0, 193, 144, 149, 0, 212, 150, 246, 0, 54, 140, 246, 0, 233, 139, 134, 0, 228, 128, 75, 0, 134, 215, 76, 0, 121, 88, 171, 0, 164, 1, 202, 0, 251, 122, 3, 0, 134, 30, 7, 0, 102, 155, 91, 0, 196, 58, 51, 0, 171, 232, 142, 0, 151, 198, 241, 0, 139, 8, 111, 0, 169, 246, 252, 0, 69, 174, 10, 0, 57, 120, 60, 0, 68, 46, 223, 0, 160, 60, 230, 0, 33, 17, 13, 0, 47, 93, 142, 0, 3, 79, 11, 0, 70, 145, 86, 0, 185, 16, 172, 0, 227, 250, 5, 0, 163, 62, 96, 0, 53, 218, 155, 0, 196, 140, 220, 0, 167, 0, 27, 0, 65, 159, 210, 0, 98, 2, 191, 0, 54, 21, 61, 0, 119, 105, 223, 0, 56, 62, 182, 0, 210, 19, 239, 0, 70, 156, 225, 0, 201, 1, 5, 0, 164, 218, 102, 0, 250, 46, 181, 0, 59, 36, 149, 0, 219, 243, 94, 0, 5, 211, 16, 0, 157, 37, 19, 0, 169, 5, 28, 0, 85, 10, 230, 0, 172, 238, 99, 0, 29, 147, 140, 0, 243, 82, 253, 0, 5, 168, 157, 0, 244, 83, 206, 0, 237, 15, 8, 0, 168, 25, 181, 0, 193, 131, 218, 0, 68, 27, 183, 0, 38, 127, 195, 0, 143, 53, 81, 0, 115, 184, 193, 0, 197, 82, 106, 0, 22, 136, 250, 0, 51, 114, 133, 0, 96, 169, 189, 0, 81, 176, 49, 0, 240, 60, 161, 0, 164, 26, 45, 0, 47, 108, 113, 0, 215, 46, 30, 0, 114, 27, 80, 0, 38, 142, 13, 0, 12, 174, 107, 0, 31, 43, 214, 0, 86, 10, 91, 0, 99, 185, 71, 0, 1, 36, 168, 0, 71, 123, 35, 0, 239, 134, 117, 0, 247, 7, 123, 0, 215, 215, 227, 0, 37, 43, 138, 0, 223, 25, 137, 0, 84, 200, 200, 0, 126, 62, 78, 0, 210, 75, 15, 0, 160, 51, 77, 0, 52, 37, 189, 0, 231, 180, 111, 0, 38, 178, 66, 0, 212, 229, 161, 0, \ +96, 60, 59, 0, 40, 230, 248, 0, 250, 93, 129, 0, 52, 149, 97, 0, 52, 22, 194, 0, 20, 11, 140, 0, 253, 162, 78, 0, 46, 41, 100, 0, 84, 245, 195, 0, 250, 250, 63, 0, 199, 175, 186, 0, 172, 240, 146, 0, 98, 166, 145, 0, 121, 202, 175, 0, 142, 20, 193, 0, 49, 64, 32, 0, 165, 166, 167, 0, 130, 206, 6, 0, 2, 137, 149, 0, 203, 24, 3, 0, 70, 43, 116, 0, 30, 59, 199, 0, 53, 122, 247, 0, 70, 49, 112, 0, 83, 211, 62, 0, 113, 148, 6, 0, 118, 154, 125, 0, 198, 87, 127, 0, 125, 237, 35, 0, 29, 254, 59, 0, 75, 69, 21, 0, 5, 15, 232, 0, 95, 179, 119, 0, 34, 123, 133, 0, 205, 24, 4, 0, 139, 174, 216, 0, 232, 199, 248, 0, 5, 54, 85, 0, 58, 20, 31, 0, 94, 126, 216, 0, 59, 192, 69, 0, 181, 196, 121, 0, 197, 174, 74, 0, 182, 229, 103, 0, 124, 18, 34, 0, 170, 93, 210, 0, 51, 29, 17, 0, 21, 12, 111, 0, 241, 167, 221, 0, 174, 79, 74, 0, 202, 85, 181, 0, 240, 150, 210, 0, 163, 230, 128, 0, 37, 233, 24, 0, 64, 28, 190, 0, 167, 219, 88, 0, 14, 170, 89, 0, 11, 210, 130, 0, 123, 56, 220, 0, 53, 140, 109, 0, 68, 244, 237, 0, 154, 86, 51, 0, 59, 182, 32, 0, 145, 201, 94, 0, 235, 108, 83, 0, 171, 224, 232, 0, 105, 13, 214, 0, 154, 111, 147, 0, 204, 155, 182, 0, 218, 94, 27, 0, 126, 84, 101, 0, 215, 200, 164, 0, 52, 200, 223, 0, 0, 167, 0, 0, 41, 71, 241, 0, 110, 23, 141, 0, 199, 248, 44, 0, 229, 251, 245, 0, 210, 188, 138, 0, 149, 231, 190, 0, 100, 190, 67, 0, 121, 120, 90, 0, 36, 9, 238, 0, 85, 102, 136, 0, 188, 208, 172, 0, 154, 210, 241, 0, 131, 177, 116, 0, 62, 74, 111, 0, 12, 154, 4, 0, 244, 233, 147, 0, 218, 22, 245, 0, 114, 228, 20, 0, 164, 138, 20, 0, 214, 61, 151, 0, 97, 137, 143, 0, 213, 69, 214, 0, 125, 197, 115, 0, 236, 99, 28, 0, 23, 53, 134, 0, 108, 137, 40, 0, 10, 240, 140, 0, 87, 66, 196, 0, 59, 209, 62, 0, 240, 16, 24, 0, 32, 208, 179, 0, 48, 66, 8, 0, 59, 27, 49, 0, 17, 90, 24, 0, 79, 236, 115, 0, 249, 84, 182, 0, 8, 121, 145, 0, 106, 226, 39, 0, 127, 212, 113, 0, 75, 64, 112, 0, 77, 121, 55, 0, 175, 10, 184, 0, 222, 239, 37, 0, 218, 92, 66, 0, 55, 207, 182, 0, 182, 230, 202, 0, 64, 174, 239, 0, 109, 161, 130, 0, 36, 193, 73, 0, 71, 154, 85, 0, 234, 20, 126, 0, 234, 195, 18, 0, 97, 112, 134, 0, 187, 129, 97, 0, 243, 173, 105, 0, 140, 33, 220, 0, 46, 84, 97, 0, 39, 43, 188, 0, 137, 178, 216, 0, 177, 148, 187, 0, 168, 147, 127, 0, 27, 171, 98, 0, 92, 15, 172, 0, 43, 177, 86, 0, 72, 124, 163, 0, 238, 57, 73, 0, 232, 22, 33, 0, 53, 212, 184, 0, 156, 171, 143, 0, 29, 139, 33, 0, 182, 131, 165, 0, 170, 167, 77, 0, 71, 164, 28, 0, 117, 40, 43, 0, 233, 157, 97, 0, 161, 224, 169, 0, 175, 121, 19, 0, 186, 174, 94, 0, 110, 35, 23, 0, 238, 188, 111, 0, 68, 209, 43, 0, 183, 233, 249, 0, 197, 122, 72, 0, 105, 98, 20, 0, 209, 218, 82, 0, 50, 209, 71, 0, 222, 247, 188, 0, 97, 176, 119, 0, 207, 211, 240, 0, 129, 32, 88, 0, 83, 227, 42, 0, 176, 254, 53, 0, 80, 148, 164, 0, 61, 176, 136, 0, 193, 227, 76, 0, 101, 36, 213, 0, 217, 140, 107, 0, 174, 140, 92, 0, 33, 147, 14, 0, 120, 159, 185, 0, 233, 81, 216, 0, 153, 67, 74, 0, 39, 230, 62, 0, 19, 141, 118, 0, 156, 225, 116, 0, 190, 173, 34, 0, 223, 47, 194, 0, 54, 47, 27, 0, 179, 222, 61, 0, 140, 104, 218, 0, 199, 134, 79, 0, 243, 45, 14, 0, 135, 195, 169, 0, 233, 146, 157, 0, 45, 201, 143, 0, 111, 98, 0, 0, 181, 211, 129, 0, 145, 82, 48, 0, 158, 180, 148, 0, 233, 173, 129, 0, 168, 222, 236, 0, 177, 121, 27, 0, 169, 111, 142, 0, 181, 247, 72, 0, 25, 78, 231, 0, 175, 216, 21, 0, 57, 51, 158, 0, 246, 215, 220, 0, 139, 52, 156, 0, 147, 73, 134, 0, 25, 24, 7, 0, 185, 4, 216, 0, 204, 170, 21, 0, 66, 231, 2, 0, 232, 160, 76, 0, 93, 139, 130, 0, 195, 144, 199, 0, 166, 101, 147, 0, 126, 64, 249, 0, 91, 253, 19, 0, 59, 61, 184, 0, 8, 196, 194, 0, 173, 98, 75, 0, 20, 148, 181, 0, 180, 28, 167, 0, 68, 88, 22, 0, 149, 244, 228, 0, 56, 10, 113, 0, 168, 7, 87, 0, 235, 165, 117, 0, \ +229, 116, 24, 0, 70, 187, 100, 0, 206, 38, 237, 0, 181, 101, 22, 0, 21, 23, 115, 0, 178, 95, 64, 0, 29, 176, 169, 0, 79, 68, 140, 0, 154, 199, 6, 0, 90, 178, 77, 0, 161, 119, 175, 0, 203, 58, 117, 0, 111, 124, 29, 0, 202, 104, 17, 0, 30, 22, 144, 0, 67, 75, 251, 0, 184, 49, 71, 0, 40, 42, 60, 0, 233, 78, 120, 0, 125, 161, 228, 0, 171, 115, 153, 0, 125, 149, 38, 0, 32, 218, 4, 0, 69, 140, 31, 0, 183, 54, 198, 0, 239, 207, 37, 0, 51, 229, 119, 0, 150, 147, 19, 0, 14, 57, 72, 0, 223, 134, 227, 0, 2, 148, 24, 0, 242, 188, 235, 0, 245, 21, 82, 0, 20, 132, 250, 0, 204, 4, 249, 0, 183, 182, 170, 0, 119, 107, 38, 0, 209, 201, 111, 0, 145, 189, 150, 0, 25, 231, 7, 0, 174, 14, 6, 0, 72, 103, 127, 0, 81, 161, 248, 0, 140, 228, 105, 0, 131, 63, 121, 0, 119, 215, 95, 0, 126, 102, 2, 0, 132, 50, 105, 0, 179, 16, 76, 0, 214, 155, 36, 0, 140, 227, 174, 0, 12, 121, 89, 0, 191, 147, 102, 0, 238, 244, 148, 0, 147, 207, 199, 0, 152, 26, 182, 0, 57, 194, 71, 0, 121, 83, 198, 0, 180, 237, 157, 0, 209, 139, 99, 0, 165, 128, 29, 0, 7, 143, 117, 0, 234, 154, 253, 0, 164, 151, 221, 0, 45, 84, 149, 0, 6, 59, 240, 0, 145, 126, 213, 0, 44, 107, 174, 0, 61, 81, 107, 0, 225, 6, 185, 0, 10, 122, 65, 0, 122, 235, 123, 0, 135, 57, 136, 0, 112, 218, 148, 0, 38, 212, 16, 0, 51, 113, 53, 0, 160, 186, 154, 0, 128, 215, 184, 0, 208, 85, 155, 0, 55, 14, 245, 0, 36, 45, 169, 0, 121, 76, 57, 0, 62, 203, 85, 0, 57, 247, 57, 0, 162, 191, 254, 0, 16, 224, 102, 0, 231, 101, 141, 0, 122, 78, 92, 0, 22, 75, 53, 0, 91, 26, 92, 0, 34, 145, 37, 0, 169, 107, 48, 0, 100, 98, 173, 0, 224, 229, 188, 0, 153, 32, 80, 0, 67, 40, 201, 0, 233, 76, 95, 0, 211, 21, 83, 0, 109, 28, 162, 0, 75, 178, 80, 0, 8, 117, 167, 0, 218, 83, 45, 0, 215, 197, 237, 0, 114, 229, 112, 0, 99, 82, 1, 0, 165, 204, 247, 0, 213, 12, 12, 0, 235, 187, 244, 0, 88, 237, 70, 0, 97, 201, 22, 0, 227, 182, 214, 0, 51, 250, 115, 0, 115, 146, 177, 0, 28, 7, 56, 0, 150, 90, 206, 0, 227, 83, 95, 0, 147, 133, 64, 0, 138, 117, 182, 0, 188, 118, 195, 0, 95, 186, 146, 0, 231, 198, 34, 0, 82, 101, 46, 0, 168, 212, 205, 0, 110, 5, 130, 0, 1, 185, 144, 0, 134, 246, 106, 0, 242, 169, 202, 0, 248, 47, 99, 0, 235, 79, 108, 0, 141, 198, 163, 0, 216, 29, 179, 0, 186, 172, 227, 0, 2, 57, 31, 0, 50, 213, 84, 0, 17, 220, 54, 0, 67, 123, 200, 0, 219, 71, 138, 0, 192, 114, 169, 0, 197, 95, 28, 0, 134, 205, 100, 0, 79, 107, 170, 0, 136, 204, 142, 0, 31, 98, 197, 0, 76, 159, 212, 0, 31, 214, 67, 0, 64, 65, 87, 0, 76, 172, 206, 0, 71, 226, 41, 0, 198, 65, 58, 0, 37, 216, 106, 0, 123, 219, 180, 0, 222, 186, 5, 0, 249, 24, 154, 0, 108, 123, 217, 0, 5, 130, 203, 0, 133, 0, 80, 0, 240, 118, 62, 0, 242, 159, 199, 0, 224, 50, 134, 0, 135, 147, 168, 0, 129, 140, 0, 0, 126, 20, 1, 0, 120, 22, 20, 0, 168, 48, 244, 0, 198, 181, 235, 0, 207, 71, 164, 0, 137, 252, 236, 0, 86, 210, 92, 0, 205, 168, 31, 0, 114, 193, 211, 0, 75, 101, 49, 0, 217, 78, 185, 0, 218, 193, 142, 0, 66, 14, 91, 0, 152, 180, 49, 0, 28, 58, 191, 0, 150, 218, 136, 0, 230, 126, 33, 0, 19, 81, 182, 0, 111, 5, 56, 0, 219, 55, 45, 0, 213, 75, 104, 0, 19, 83, 79, 0, 203, 114, 213, 0, 202, 95, 26, 0, 19, 42, 41, 0, 132, 141, 194, 0, 246, 116, 137, 0, 9, 238, 179, 0, 68, 83, 166, 0, 165, 79, 35, 0, 119, 96, 42, 0, 63, 78, 12, 0, 107, 153, 48, 0, 95, 183, 237, 0, 97, 21, 123, 0, 116, 231, 235, 0, 83, 128, 83, 0, 208, 156, 160, 0, 33, 93, 25, 0, 233, 67, 165, 0, 239, 238, 104, 0, 16, 207, 214, 0, 129, 67, 69, 0, 37, 106, 203, 0, 110, 214, 22, 0, 100, 53, 152, 0, 95, 169, 186, 0, 172, 215, 136, 0, 24, 65, 171, 0, 188, 212, 216, 0, 33, 252, 150, 0, 125, 83, 118, 0, 126, 136, 182, 0, 189, 145, 182, 0, 127, 32, 95, 0, 71, 245, 93, 0, 234, 12, 120, 0, 244, 64, 23, 0, 78, 139, 37, 0, 189, 111, 83, 0, 140, 252, 7, 0, 11, 98, 204, 0, 16, 139, 184, 0, \ +251, 54, 199, 0, 67, 28, 81, 0, 176, 57, 126, 0, 111, 137, 199, 0, 30, 78, 224, 0, 124, 98, 49, 0, 43, 17, 145, 0, 251, 32, 25, 0, 158, 190, 51, 0, 239, 62, 70, 0, 116, 57, 86, 0, 54, 1, 175, 0, 27, 182, 110, 0, 237, 185, 23, 0, 36, 227, 118, 0, 39, 52, 41, 0, 234, 106, 185, 0, 171, 225, 57, 0, 53, 49, 211, 0, 0, 213, 15, 0, 50, 130, 53, 0, 23, 58, 143, 0, 75, 122, 5, 0, 131, 29, 189, 0, 39, 218, 60, 0, 223, 206, 31, 0, 31, 125, 70, 0, 121, 100, 15, 0, 94, 135, 34, 0, 9, 123, 98, 0, 133, 232, 154, 0, 16, 31, 132, 0, 33, 28, 46, 0, 158, 161, 101, 0, 116, 209, 116, 0, 183, 71, 143, 0, 95, 11, 69, 0, 85, 187, 155, 0, 146, 189, 8, 0, 159, 69, 103, 0, 36, 168, 166, 0, 208, 66, 247, 0, 183, 1, 233, 0, 223, 123, 10, 0, 201, 49, 150, 0, 198, 187, 123, 0, 122, 208, 29, 0, 197, 120, 30, 0, 145, 250, 121, 0, 208, 174, 85, 0, 243, 246, 186, 0, 180, 76, 206, 0, 60, 153, 234, 0, 227, 155, 155, 0, 174, 32, 94, 0, 131, 5, 46, 0, 1, 246, 16, 0, 203, 46, 147, 0, 142, 236, 203, 0, 85, 250, 206, 0, 85, 48, 94, 0, 136, 78, 90, 0, 29, 205, 86, 0, 16, 178, 80, 0, 231, 199, 102, 0, 85, 20, 5, 0, 24, 56, 24, 0, 44, 59, 205, 0, 215, 85, 98, 0, 170, 236, 163, 0, 55, 117, 181, 0, 162, 150, 214, 0, 155, 15, 5, 0, 42, 248, 153, 0, 94, 11, 190, 0, 125, 118, 26, 0, 59, 144, 116, 0, 60, 34, 106, 0, 130, 185, 92, 0, 179, 24, 88, 0, 87, 204, 44, 0, 45, 27, 239, 0, 118, 199, 128, 0, 3, 192, 119, 0, 139, 188, 113, 0, 0, 76, 121, 0, 218, 204, 222, 0, 126, 86, 52, 0, 33, 114, 89, 0, 175, 186, 229, 0, 121, 250, 47, 0, 196, 45, 112, 0, 63, 184, 174, 0, 104, 3, 12, 0, 171, 130, 92, 0, 51, 132, 168, 0, 166, 148, 75, 0, 114, 181, 31, 0, 241, 213, 126, 0, 188, 170, 156, 0, 176, 88, 33, 0, 233, 223, 86, 0, 161, 112, 144, 0, 157, 106, 76, 0, 64, 82, 7, 0, 27, 51, 173, 0, 101, 7, 125, 0, 220, 138, 93, 0, 72, 214, 58, 0, 196, 167, 41, 0, 125, 58, 162, 0, 156, 106, 57, 0, 5, 116, 184, 0, 135, 38, 121, 0, 254, 216, 229, 0, 89, 254, 205, 0, 170, 195, 215, 0, 2, 93, 15, 0, 49, 220, 139, 0, 31, 101, 100, 0, 160, 207, 154, 0, 246, 158, 169, 0, 145, 93, 52, 0, 76, 73, 233, 0, 95, 241, 117, 0, 163, 139, 218, 0, 3, 118, 14, 0, 85, 216, 141, 0, 249, 29, 6, 0, 191, 131, 250, 0, 104, 146, 65, 0, 231, 115, 92, 0, 182, 37, 150, 0, 128, 157, 26, 0, 16, 157, 152, 0, 34, 9, 102, 0, 45, 217, 31, 0, 186, 152, 30, 0, 145, 18, 214, 0, 21, 244, 234, 0, 98, 123, 131, 0, 140, 9, 142, 0, 167, 90, 63, 0, 172, 236, 20, 0, 15, 64, 239, 0, 33, 246, 185, 0, 250, 99, 232, 0, 171, 55, 233, 0, 78, 172, 105, 0, 250, 160, 145, 0, 23, 12, 215, 0, 0, 109, 248, 0, 231, 156, 18, 0, 148, 97, 46, 0, 169, 137, 66, 0, 80, 221, 144, 0, 249, 214, 226, 0, 203, 157, 191, 0, 156, 180, 252, 0, 163, 23, 112, 0, 211, 60, 163, 0, 121, 94, 181, 0, 95, 46, 152, 0, 204, 12, 33, 0, 97, 132, 26, 0, 149, 76, 95, 0, 134, 171, 105, 0, 177, 131, 27, 0, 29, 56, 25, 0, 207, 53, 240, 0, 230, 224, 96, 0, 162, 53, 214, 0, 204, 38, 141, 0, 204, 219, 100, 0, 181, 210, 149, 0, 84, 126, 1, 0, 241, 114, 197, 0, 200, 141, 7, 0, 169, 217, 88, 0, 250, 128, 198, 0, 44, 187, 185, 0, 121, 6, 12, 0, 185, 202, 127, 0, 189, 122, 198, 0, 87, 129, 241, 0, 76, 39, 90, 0, 101, 78, 252, 0, 54, 163, 82, 0, 135, 151, 67, 0, 73, 28, 125, 0, 41, 178, 164, 0, 53, 89, 69, 0, 253, 72, 230, 0, 72, 159, 167, 0, 8, 56, 93, 0, 120, 0, 51, 0, 57, 120, 248, 0, 240, 152, 204, 0, 99, 228, 215, 0, 127, 44, 15, 0, 139, 10, 91, 0, 145, 34, 246, 0, 165, 216, 227, 0, 217, 57, 21, 0, 119, 225, 210, 0, 85, 131, 108, 0, 203, 13, 211, 0, 190, 48, 10, 0, 64, 31, 26, 0, 243, 27, 21, 0, 222, 252, 102, 0, 139, 48, 30, 0, 36, 6, 46, 0, 213, 211, 12, 0, 216, 133, 3, 0, 41, 229, 96, 0, 106, 219, 183, 0, 175, 247, 106, 0, 252, 181, 151, 0, 49, 11, 244, 0, 53, 242, 208, 0, 51, 87, 33, 0, 0, 137, 150, 0, 186, 120, 95, 0, \ +95, 62, 104, 0, 104, 151, 3, 0, 214, 50, 225, 0, 251, 23, 92, 0, 180, 125, 87, 0, 122, 90, 126, 0, 183, 98, 199, 0, 55, 15, 86, 0, 128, 137, 90, 0, 198, 205, 201, 0, 178, 120, 147, 0, 229, 30, 12, 0, 137, 253, 131, 0, 201, 160, 217, 0, 243, 254, 156, 0, 19, 129, 240, 0, 128, 3, 4, 0, 20, 235, 54, 0, 157, 244, 147, 0, 252, 76, 56, 0, 92, 140, 214, 0, 142, 104, 20, 0, 195, 13, 47, 0, 36, 49, 136, 0, 116, 169, 114, 0, 213, 236, 201, 0, 48, 141, 205, 0, 114, 239, 82, 0, 215, 11, 55, 0, 98, 124, 2, 0, 5, 87, 206, 0, 186, 127, 250, 0, 11, 81, 221, 0, 15, 203, 38, 0, 74, 84, 40, 0, 63, 139, 166, 0, 109, 157, 197, 0, 18, 134, 75, 0, 214, 181, 124, 0, 150, 106, 215, 0, 157, 234, 213, 0, 4, 95, 219, 0, 165, 197, 134, 0, 72, 159, 216, 0, 192, 121, 109, 0, 249, 227, 83, 0, 182, 235, 196, 0, 187, 180, 95, 0, 200, 9, 135, 0, 59, 216, 199, 0, 174, 72, 214, 0, 44, 14, 202, 0, 211, 99, 148, 0, 159, 250, 106, 0, 76, 234, 252, 0, 95, 94, 241, 0, 31, 138, 43, 0, 105, 15, 19, 0, 64, 17, 177, 0, 83, 98, 61, 0, 88, 96, 8, 0, 141, 250, 28, 0, 169, 4, 0, 0, 155, 187, 100, 0, 188, 154, 28, 0, 169, 250, 175, 0, 152, 187, 50, 0, 173, 88, 33, 0, 122, 75, 201, 0, 158, 99, 140, 0, 15, 26, 28, 0, 84, 114, 210, 0, 161, 145, 139, 0, 137, 115, 245, 0, 144, 72, 169, 0, 10, 56, 193, 0, 103, 164, 124, 0, 15, 203, 101, 0, 222, 47, 103, 0, 190, 171, 169, 0, 18, 200, 186, 0, 238, 243, 246, 0, 91, 225, 209, 0, 12, 153, 199, 0, 26, 178, 192, 0, 254, 192, 125, 0, 251, 131, 25, 0, 33, 198, 87, 0, 188, 82, 75, 0, 248, 104, 170, 0, 217, 175, 191, 0, 182, 97, 5, 0, 120, 188, 204, 0, 109, 118, 187, 0, 180, 38, 244, 0, 99, 198, 110, 0, 148, 94, 61, 0, 251, 135, 104, 0, 163, 193, 75, 0, 71, 16, 207, 0, 248, 81, 230, 0, 101, 206, 220, 0, 158, 250, 143, 0, 127, 56, 232, 0, 88, 193, 153, 0, 132, 81, 70, 0, 173, 47, 28, 0, 11, 244, 16, 0, 253, 72, 224, 0, 19, 90, 132, 0, 187, 165, 233, 0, 106, 45, 6, 0, 205, 18, 32, 0, 200, 62, 159, 0, 241, 195, 164, 0, 222, 231, 115, 0, 8, 166, 218, 0, 98, 43, 98, 0, 11, 216, 66, 0, 154, 1, 8, 0, 133, 73, 72, 0, 104, 6, 160, 0, 154, 253, 183, 0, 161, 162, 185, 0, 210, 22, 37, 0, 222, 167, 82, 0, 121, 78, 171, 0, 3, 50, 190, 0, 172, 190, 229, 0, 229, 182, 69, 0, 223, 215, 31, 0, 201, 122, 21, 0, 48, 241, 82, 0, 118, 33, 213, 0, 207, 205, 155, 0, 110, 38, 121, 0, 220, 114, 206, 0, 143, 186, 97, 0, 165, 206, 16, 0, 92, 115, 219, 0, 74, 11, 108, 0, 219, 65, 98, 0, 96, 35, 182, 0, 39, 82, 232, 0, 243, 239, 129, 0, 186, 72, 50, 0, 15, 171, 61, 0, 145, 16, 136, 0, 5, 252, 25, 0, 221, 53, 169, 0, 213, 253, 3, 0, 94, 196, 124, 0, 216, 37, 79, 0, 210, 98, 73, 0, 131, 148, 81, 0, 28, 46, 26, 0, 143, 150, 73, 0, 171, 248, 146, 0, 212, 230, 217, 0, 50, 9, 243, 0, 238, 143, 254, 0, 120, 39, 7, 0, 152, 76, 164, 0, 74, 177, 0, 0, 107, 154, 245, 0, 163, 77, 171, 0, 217, 157, 232, 0, 233, 194, 8, 0, 169, 101, 80, 0, 57, 68, 228, 0, 62, 86, 43, 0, 215, 136, 171, 0, 75, 237, 120, 0, 62, 221, 190, 0, 56, 85, 175, 0, 22, 0, 192, 0, 230, 115, 94, 0, 102, 0, 154, 0, 209, 203, 48, 0, 96, 77, 184, 0, 218, 18, 64, 0, 80, 246, 75, 0, 181, 245, 146, 0, 113, 88, 29, 0, 104, 125, 89, 0, 60, 107, 161, 0, 161, 75, 110, 0, 60, 16, 224, 0, 9, 51, 108, 0, 143, 139, 48, 0, 85, 72, 228, 0, 6, 199, 174, 0, 206, 201, 194, 0, 60, 188, 79, 0, 37, 150, 25, 0, 96, 47, 183, 0, 159, 251, 42, 0, 94, 96, 79, 0, 173, 8, 113, 0, 159, 20, 42, 0, 68, 150, 74, 0, 96, 203, 252, 0, 105, 204, 137, 0, 156, 27, 85, 0, 181, 238, 163, 0, 87, 158, 124, 0, 21, 235, 35, 0, 188, 250, 127, 0, 5, 83, 99, 0, 246, 103, 38, 0, 3, 18, 97, 0, 36, 133, 27, 0, 52, 254, 59, 0, 125, 114, 123, 0, 210, 54, 115, 0, 214, 218, 189, 0, 219, 227, 89, 0, 177, 209, 85, 0, 52, 246, 161, 0, 217, 172, 126, 0, 39, 196, 49, 0, 94, 208, 29, 0, 121, 202, 85, 0, 232, 19, 187, 0, \ +85, 141, 96, 0, 88, 95, 9, 0, 240, 232, 125, 0, 244, 12, 121, 0, 223, 60, 9, 0, 163, 221, 143, 0, 136, 14, 91, 0, 26, 170, 113, 0, 88, 145, 13, 0, 208, 141, 219, 0, 51, 246, 122, 0, 32, 231, 253, 0, 248, 252, 181, 0, 146, 112, 43, 0, 237, 114, 116, 0, 121, 162, 44, 0, 0, 201, 246, 0, 119, 82, 246, 0, 146, 174, 109, 0, 210, 53, 138, 0, 49, 77, 16, 0, 189, 196, 15, 0, 135, 171, 14, 0, 224, 54, 238, 0, 100, 100, 172, 0, 45, 188, 160, 0, 103, 93, 19, 0, 119, 208, 216, 0, 170, 47, 110, 0, 102, 167, 38, 0, 215, 154, 253, 0, 141, 192, 108, 0, 142, 22, 65, 0, 15, 70, 34, 0, 110, 15, 204, 0, 242, 45, 206, 0, 113, 10, 44, 0, 221, 174, 76, 0, 71, 164, 161, 0, 78, 125, 52, 0, 88, 159, 97, 0, 224, 101, 173, 0, 235, 254, 50, 0, 216, 222, 145, 0, 143, 16, 253, 0, 110, 89, 8, 0, 250, 167, 103, 0, 38, 36, 150, 0, 226, 33, 41, 0, 160, 254, 166, 0, 38, 70, 198, 0, 148, 45, 143, 0, 158, 50, 99, 0, 80, 92, 219, 0, 187, 57, 223, 0, 223, 31, 74, 0, 165, 204, 86, 0, 66, 136, 241, 0, 119, 156, 175, 0, 183, 124, 46, 0, 147, 68, 130, 0, 63, 238, 189, 0, 0, 107, 90, 0, 30, 201, 41, 0, 14, 40, 212, 0, 188, 72, 49, 0, 217, 191, 196, 0, 232, 2, 178, 0, 5, 134, 228, 0, 107, 162, 144, 0, 147, 99, 166, 0, 68, 87, 218, 0, 28, 143, 3, 0, 56, 56, 232, 0, 150, 115, 90, 0, 148, 153, 131, 0, 148, 101, 92, 0, 162, 155, 143, 0, 13, 12, 45, 0, 54, 166, 7, 0, 104, 162, 102, 0, 173, 21, 85, 0, 246, 7, 160, 0, 124, 234, 79, 0, 102, 242, 23, 0, 253, 161, 188, 0, 20, 220, 93, 0, 16, 83, 164, 0, 69, 234, 42, 0, 146, 10, 202, 0, 43, 59, 91, 0, 229, 41, 25, 0, 76, 109, 199, 0, 17, 94, 71, 0, 135, 1, 84, 0, 139, 99, 217, 0, 211, 144, 144, 0, 229, 203, 156, 0, 149, 14, 254, 0, 177, 13, 201, 0, 194, 174, 45, 0, 101, 63, 171, 0, 27, 136, 200, 0, 82, 164, 61, 0, 105, 228, 105, 0, 222, 248, 72, 0, 20, 1, 42, 0, 41, 45, 212, 0, 153, 206, 158, 0, 220, 228, 139, 0, 68, 182, 67, 0, 17, 196, 30, 0, 56, 165, 126, 0, 214, 113, 230, 0, 253, 236, 173, 0, 5, 219, 147, 0, 119, 124, 104, 0, 233, 192, 217, 0, 93, 21, 7, 0, 111, 199, 169, 0, 109, 55, 240, 0, 24, 229, 188, 0, 180, 9, 63, 0, 80, 133, 68, 0, 26, 218, 21, 0, 138, 202, 17, 0, 114, 78, 159, 0, 189, 143, 46, 0, 147, 85, 23, 0, 252, 151, 191, 0, 77, 105, 65, 0, 195, 168, 191, 0, 87, 237, 165, 0, 141, 216, 146, 0, 15, 105, 7, 0, 58, 167, 212, 0, 219, 19, 103, 0, 124, 55, 154, 0, 83, 18, 2, 0, 145, 76, 28, 0, 91, 147, 167, 0, 124, 90, 194, 0, 13, 188, 220, 0, 73, 21, 66, 0, 40, 213, 211, 0, 10, 214, 64, 0, 211, 182, 114, 0, 113, 45, 145, 0, 177, 44, 237, 0, 225, 45, 146, 0, 150, 200, 16, 0, 140, 187, 243, 0, 92, 245, 172, 0, 195, 80, 35, 0, 131, 92, 23, 0, 171, 252, 41, 0, 122, 62, 224, 0, 125, 22, 154, 0, 40, 158, 183, 0, 97, 163, 116, 0, 81, 28, 151, 0, 224, 157, 190, 0, 160, 72, 190, 0, 122, 170, 73, 0, 80, 99, 30, 0, 152, 112, 248, 0, 245, 205, 7, 0, 118, 31, 83, 0, 95, 49, 246, 0, 119, 254, 73, 0, 182, 99, 99, 0, 144, 63, 22, 0, 65, 3, 30, 0, 178, 77, 253, 0, 116, 214, 176, 0, 153, 223, 24, 0, 115, 167, 8, 0, 55, 155, 178, 0, 59, 74, 43, 0, 206, 91, 11, 0, 226, 46, 148, 0, 86, 49, 248, 0, 116, 214, 188, 0, 114, 129, 157, 0, 223, 219, 31, 0, 106, 166, 62, 0, 122, 232, 186, 0, 130, 69, 35, 0, 122, 87, 74, 0, 120, 133, 28, 0, 76, 25, 225, 0, 107, 175, 66, 0, 230, 192, 126, 0, 81, 239, 72, 0, 196, 93, 45, 0, 87, 254, 151, 0, 10, 185, 26, 0, 56, 58, 5, 0, 89, 21, 176, 0, 57, 73, 167, 0, 89, 148, 81, 0, 154, 142, 133, 0, 17, 32, 121, 0, 160, 27, 81, 0, 219, 63, 184, 0, 151, 149, 130, 0, 16, 93, 69, 0, 229, 122, 107, 0, 214, 53, 244, 0, 225, 133, 149, 0, 114, 9, 48, 0, 144, 63, 16, 0, 217, 224, 88, 0, 226, 162, 212, 0, 55, 0, 75, 0, 66, 49, 200, 0, 49, 249, 186, 0, 130, 115, 42, 0, 67, 198, 7, 0, 251, 188, 214, 0, 32, 161, 12, 0, 201, 58, 29, 0, 156, 63, 107, 0, 38, 194, 100, 0, \ +71, 26, 187, 0, 38, 26, 254, 0, 200, 189, 136, 0, 21, 238, 29, 0, 117, 83, 116, 0, 45, 58, 60, 0, 45, 60, 10, 0, 19, 202, 243, 0, 176, 59, 1, 0, 64, 177, 124, 0, 207, 38, 196, 0, 243, 63, 240, 0, 209, 251, 191, 0, 31, 200, 135, 0, 123, 171, 97, 0, 221, 8, 148, 0, 126, 107, 23, 0, 152, 115, 72, 0, 111, 106, 31, 0, 37, 58, 51, 0, 70, 131, 73, 0, 161, 28, 139, 0, 126, 217, 57, 0, 132, 34, 145, 0, 252, 138, 8, 0, 197, 63, 194, 0, 150, 205, 147, 0, 240, 170, 87, 0, 232, 186, 189, 0, 17, 222, 52, 0, 45, 88, 90, 0, 253, 186, 147, 0, 137, 17, 254, 0, 2, 198, 246, 0, 91, 140, 17, 0, 51, 244, 24, 0, 207, 153, 154, 0, 175, 185, 195, 0, 218, 85, 124, 0, 185, 62, 179, 0, 100, 7, 140, 0, 112, 99, 49, 0, 54, 128, 160, 0, 183, 214, 45, 0, 221, 178, 133, 0, 196, 123, 111, 0, 183, 92, 13, 0, 223, 164, 13, 0, 142, 205, 243, 0, 251, 31, 123, 0, 102, 229, 107, 0, 12, 127, 198, 0, 61, 133, 22, 0, 26, 90, 5, 0, 158, 234, 27, 0, 50, 30, 22, 0, 188, 43, 191, 0, 171, 152, 113, 0, 141, 95, 237, 0, 208, 181, 156, 0, 15, 2, 85, 0, 215, 191, 208, 0, 238, 144, 182, 0, 163, 179, 69, 0, 220, 11, 158, 0, 254, 157, 165, 0, 21, 74, 202, 0, 234, 117, 101, 0, 217, 173, 237, 0, 239, 44, 5, 0, 84, 24, 35, 0, 9, 40, 224, 0, 180, 119, 183, 0, 191, 88, 60, 0, 172, 41, 193, 0, 236, 177, 121, 0, 149, 227, 190, 0, 11, 94, 134, 0, 87, 239, 91, 0, 21, 70, 153, 0, 105, 160, 79, 0, 25, 33, 43, 0, 175, 63, 216, 0, 55, 161, 150, 0, 58, 213, 30, 0, 230, 156, 182, 0, 54, 240, 114, 0, 116, 42, 94, 0, 202, 52, 103, 0, 32, 161, 8, 0, 39, 132, 152, 0, 61, 190, 202, 0, 11, 95, 110, 0, 67, 91, 65, 0, 37, 208, 198, 0, 126, 27, 210, 0, 135, 210, 194, 0, 221, 70, 7, 0, 219, 81, 199, 0, 42, 252, 60, 0, 240, 77, 61, 0, 189, 91, 6, 0, 26, 7, 218, 0, 253, 107, 144, 0, 175, 106, 204, 0, 221, 24, 111, 0, 99, 24, 117, 0, 244, 165, 169, 0, 192, 221, 99, 0, 23, 179, 191, 0, 22, 69, 147, 0, 163, 14, 132, 0, 126, 53, 148, 0, 51, 113, 40, 0, 169, 49, 126, 0, 94, 109, 69, 0, 188, 133, 59, 0, 100, 254, 30, 0, 16, 166, 125, 0, 236, 64, 0, 0, 9, 190, 124, 0, 174, 120, 116, 0, 81, 110, 189, 0, 86, 222, 141, 0, 18, 246, 225, 0, 160, 42, 225, 0, 110, 38, 96, 0, 150, 107, 251, 0, 130, 59, 194, 0, 143, 218, 32, 0, 167, 133, 75, 0, 205, 54, 92, 0, 130, 184, 70, 0, 230, 196, 177, 0, 10, 189, 42, 0, 217, 144, 91, 0, 100, 46, 146, 0, 47, 82, 20, 0, 19, 188, 242, 0, 116, 248, 198, 0, 217, 198, 151, 0, 15, 147, 84, 0, 252, 9, 146, 0, 238, 95, 91, 0, 184, 74, 194, 0, 70, 74, 108, 0, 196, 200, 94, 0, 195, 211, 74, 0, 23, 24, 110, 0, 209, 130, 169, 0, 151, 236, 237, 0, 119, 139, 229, 0, 186, 104, 158, 0, 14, 216, 119, 0, 52, 119, 102, 0, 170, 73, 254, 0, 191, 60, 199, 0, 112, 238, 150, 0, 107, 120, 80, 0, 131, 201, 228, 0, 50, 173, 68, 0, 125, 97, 104, 0, 242, 39, 194, 0, 27, 121, 128, 0, 26, 41, 11, 0, 81, 116, 151, 0, 241, 40, 147, 0, 192, 14, 215, 0, 144, 5, 244, 0, 106, 249, 60, 0, 164, 203, 149, 0, 244, 137, 243, 0, 33, 170, 169, 0, 86, 22, 213, 0, 228, 61, 151, 0, 239, 152, 163, 0, 61, 230, 228, 0, 60, 221, 170, 0, 110, 96, 141, 0, 214, 198, 214, 0, 240, 65, 52, 0, 30, 205, 123, 0, 47, 57, 21, 0, 193, 35, 31, 0, 145, 171, 61, 0, 145, 59, 253, 0, 17, 214, 195, 0, 242, 103, 52, 0, 254, 21, 142, 0, 40, 90, 43, 0, 19, 224, 33, 0, 202, 226, 223, 0, 56, 3, 154, 0, 49, 58, 126, 0, 10, 171, 117, 0, 226, 226, 10, 0, 19, 158, 122, 0, 137, 136, 220, 0, 77, 114, 20, 0, 68, 37, 55, 0, 148, 135, 124, 0, 243, 43, 115, 0, 8, 128, 172, 0, 7, 45, 3, 0, 4, 10, 139, 0, 84, 125, 211, 0, 177, 179, 152, 0, 93, 53, 48, 0, 235, 40, 133, 0, 193, 46, 227, 0, 16, 187, 2, 0, 72, 251, 249, 0, 154, 100, 157, 0, 224, 245, 212, 0, 34, 190, 159, 0, 182, 9, 143, 0, 179, 7, 73, 0, 223, 208, 109, 0, 116, 114, 82, 0, 206, 193, 234, 0, 140, 31, 156, 0, 254, 46, 203, 0, 217, 167, 106, 0, 152, 122, 131, 0, \ +166, 12, 16, 0, 55, 3, 176, 0, 162, 3, 185, 0, 249, 4, 1, 0, 37, 211, 116, 0, 7, 251, 205, 0, 57, 73, 68, 0, 198, 247, 123, 0, 163, 84, 82, 0, 245, 83, 41, 0, 164, 0, 244, 0, 223, 103, 97, 0, 172, 158, 89, 0, 116, 75, 35, 0, 154, 217, 78, 0, 4, 243, 241, 0, 101, 140, 117, 0, 81, 14, 134, 0, 31, 20, 242, 0, 165, 53, 189, 0, 125, 96, 126, 0, 53, 199, 61, 0, 63, 99, 128, 0, 173, 251, 8, 0, 104, 236, 5, 0, 229, 142, 33, 0, 28, 163, 239, 0, 135, 131, 242, 0, 182, 201, 254, 0, 189, 111, 78, 0, 92, 82, 207, 0, 39, 92, 7, 0, 151, 77, 117, 0, 8, 122, 141, 0, 235, 90, 209, 0, 230, 76, 173, 0, 90, 179, 184, 0, 165, 157, 100, 0, 227, 243, 135, 0, 40, 8, 109, 0, 51, 243, 225, 0, 33, 181, 209, 0, 182, 232, 240, 0, 125, 205, 21, 0, 132, 109, 72, 0, 244, 52, 43, 0, 121, 110, 123, 0, 220, 253, 218, 0, 247, 71, 39, 0, 16, 138, 24, 0, 25, 72, 98, 0, 191, 25, 174, 0, 139, 164, 142, 0, 245, 182, 251, 0, 189, 10, 56, 0, 253, 145, 49, 0, 39, 128, 216, 0, 47, 152, 241, 0, 24, 91, 144, 0, 253, 67, 66, 0, 218, 184, 31, 0, 242, 20, 197, 0, 217, 243, 95, 0, 189, 217, 148, 0, 155, 79, 127, 0, 42, 26, 252, 0, 208, 126, 249, 0, 19, 110, 126, 0, 214, 14, 141, 0, 232, 16, 115, 0, 8, 3, 173, 0, 31, 23, 126, 0, 237, 138, 127, 0, 178, 54, 67, 0, 93, 59, 204, 0, 211, 55, 186, 0, 227, 95, 8, 0, 22, 11, 119, 0, 192, 124, 247, 0, 42, 88, 114, 0, 62, 231, 145, 0, 226, 178, 23, 0, 41, 147, 144, 0, 66, 89, 59, 0, 15, 144, 113, 0, 102, 168, 95, 0, 201, 120, 231, 0, 235, 145, 221, 0, 74, 218, 149, 0, 31, 75, 154, 0, 81, 36, 73, 0, 82, 32, 101, 0, 82, 150, 52, 0, 195, 252, 5, 0, 80, 42, 211, 0, 10, 120, 132, 0, 154, 99, 152, 0, 36, 114, 45, 0, 33, 104, 10, 0, 77, 239, 15, 0, 6, 136, 54, 0, 136, 100, 221, 0, 23, 247, 147, 0, 5, 148, 99, 0, 165, 175, 105, 0, 31, 158, 27, 0, 246, 182, 88, 0, 27, 109, 227, 0, 196, 113, 210, 0, 184, 20, 109, 0, 15, 144, 143, 0, 229, 83, 182, 0, 136, 28, 179, 0, 85, 50, 214, 0, 156, 28, 156, 0, 162, 134, 177, 0, 124, 208, 120, 0, 55, 198, 155, 0, 185, 10, 240, 0, 186, 197, 161, 0, 194, 83, 158, 0, 48, 158, 117, 0, 91, 21, 10, 0, 29, 112, 37, 0, 189, 118, 216, 0, 135, 25, 254, 0, 94, 91, 248, 0, 180, 91, 193, 0, 155, 102, 19, 0, 222, 99, 114, 0, 182, 189, 121, 0, 106, 214, 53, 0, 39, 241, 127, 0, 110, 4, 55, 0, 176, 121, 214, 0, 86, 226, 160, 0, 189, 199, 88, 0, 154, 49, 183, 0, 29, 86, 173, 0, 75, 38, 129, 0, 233, 194, 157, 0, 34, 233, 31, 0, 34, 177, 200, 0, 215, 218, 69, 0, 150, 48, 238, 0, 25, 84, 61, 0, 88, 32, 238, 0, 31, 166, 49, 0, 138, 197, 138, 0, 199, 165, 96, 0, 247, 160, 70, 0, 191, 16, 222, 0, 225, 92, 219, 0, 158, 232, 153, 0, 239, 17, 81, 0, 3, 202, 123, 0, 12, 201, 216, 0, 169, 192, 34, 0, 166, 193, 118, 0, 160, 16, 113, 0, 237, 54, 102, 0, 230, 148, 238, 0, 160, 2, 101, 0, 83, 197, 173, 0, 75, 252, 48, 0, 3, 77, 37, 0, 226, 151, 218, 0, 160, 66, 38, 0, 244, 50, 65, 0, 110, 174, 201, 0, 181, 233, 34, 0, 178, 114, 237, 0, 223, 189, 97, 0, 98, 12, 234, 0, 11, 69, 66, 0, 13, 8, 23, 0, 21, 105, 202, 0, 73, 106, 212, 0, 95, 203, 216, 0, 84, 207, 13, 0, 54, 251, 81, 0, 57, 101, 218, 0, 170, 110, 214, 0, 97, 65, 230, 0, 195, 240, 167, 0, 178, 121, 3, 0, 214, 194, 225, 0, 91, 144, 246, 0, 80, 28, 180, 0, 179, 53, 150, 0, 207, 210, 122, 0, 88, 143, 198, 0, 185, 66, 66, 0, 148, 254, 152, 0, 14, 79, 122, 0, 162, 18, 50, 0, 208, 252, 140, 0, 185, 246, 172, 0, 5, 175, 43, 0, 158, 112, 104, 0, 179, 118, 22, 0, 102, 108, 16, 0, 48, 213, 155, 0, 175, 184, 153, 0, 112, 191, 174, 0, 37, 60, 173, 0, 20, 236, 129, 0, 120, 120, 178, 0, 52, 18, 170, 0, 132, 75, 8, 0, 169, 170, 153, 0, 188, 76, 112, 0, 141, 144, 19, 0, 165, 29, 120, 0, 42, 93, 254, 0, 126, 47, 175, 0, 47, 87, 77, 0, 174, 224, 14, 0, 99, 48, 3, 0, 183, 85, 45, 0, 197, 189, 90, 0, 56, 179, 192, 0, 169, 153, 67, 0, 87, 89, 24, 0, \ +50, 249, 133, 0, 15, 240, 169, 0, 230, 206, 228, 0, 42, 71, 185, 0, 122, 110, 156, 0, 232, 190, 87, 0, 34, 202, 231, 0, 227, 49, 187, 0, 144, 113, 216, 0, 28, 43, 238, 0, 51, 64, 246, 0, 89, 113, 142, 0, 231, 135, 98, 0, 73, 5, 108, 0, 56, 71, 113, 0, 7, 181, 200, 0, 65, 2, 156, 0, 39, 195, 80, 0, 114, 133, 16, 0, 37, 250, 51, 0, 73, 175, 111, 0, 8, 206, 136, 0, 52, 148, 179, 0, 160, 242, 165, 0, 5, 110, 194, 0, 122, 143, 18, 0, 14, 244, 169, 0, 10, 116, 254, 0, 92, 176, 222, 0, 36, 67, 156, 0, 34, 42, 18, 0, 186, 205, 53, 0, 141, 154, 179, 0, 149, 227, 206, 0, 45, 132, 174, 0, 251, 123, 230, 0, 74, 253, 241, 0, 164, 110, 153, 0, 92, 158, 162, 0, 86, 61, 31, 0, 211, 91, 168, 0, 10, 71, 200, 0, 226, 83, 1, 0, 178, 229, 36, 0, 90, 61, 51, 0, 57, 53, 120, 0, 253, 38, 208, 0, 47, 85, 56, 0, 196, 249, 21, 0, 219, 111, 5, 0, 28, 247, 241, 0, 224, 224, 232, 0, 2, 101, 231, 0, 251, 245, 198, 0, 213, 181, 228, 0, 63, 19, 83, 0, 194, 91, 249, 0, 8, 137, 127, 0, 98, 29, 69, 0, 58, 177, 220, 0, 178, 12, 13, 0, 213, 219, 16, 0, 95, 205, 59, 0, 74, 126, 43, 0, 233, 69, 64, 0, 240, 146, 125, 0, 7, 19, 211, 0, 9, 245, 116, 0, 213, 189, 85, 0, 102, 191, 81, 0, 235, 21, 154, 0, 209, 107, 153, 0, 68, 216, 40, 0, 58, 146, 185, 0, 213, 154, 251, 0, 232, 50, 16, 0, 13, 27, 6, 0, 57, 210, 42, 0, 24, 157, 104, 0, 234, 74, 7, 0, 183, 160, 23, 0, 14, 55, 34, 0, 42, 217, 137, 0, 99, 200, 69, 0, 7, 186, 167, 0, 97, 97, 162, 0, 22, 158, 254, 0, 4, 225, 179, 0, 20, 218, 235, 0, 254, 74, 232, 0, 23, 18, 235, 0, 154, 13, 125, 0, 149, 3, 100, 0, 219, 70, 201, 0, 112, 254, 79, 0, 154, 121, 10, 0, 145, 222, 104, 0, 143, 131, 195, 0, 3, 146, 74, 0, 29, 120, 111, 0, 118, 1, 6, 0, 0, 22, 237, 0, 245, 71, 152, 0, 63, 84, 65, 0, 51, 208, 54, 0, 109, 109, 234, 0, 158, 35, 51, 0, 164, 207, 38, 0, 101, 242, 232, 0, 42, 199, 217, 0, 5, 242, 175, 0, 24, 207, 27, 0, 240, 159, 238, 0, 102, 66, 61, 0, 244, 109, 146, 0, 184, 94, 53, 0, 91, 149, 19, 0, 75, 140, 211, 0, 200, 164, 19, 0, 90, 135, 112, 0, 32, 92, 90, 0, 68, 191, 102, 0, 40, 176, 118, 0, 74, 58, 43, 0, 142, 175, 197, 0, 81, 37, 144, 0, 187, 36, 10, 0, 230, 250, 197, 0, 33, 161, 78, 0, 133, 108, 210, 0, 139, 101, 117, 0, 31, 33, 175, 0, 174, 16, 66, 0, 200, 187, 106, 0, 92, 167, 156, 0, 35, 172, 151, 0, 90, 100, 225, 0, 169, 174, 201, 0, 37, 47, 25, 0, 114, 101, 223, 0, 37, 43, 7, 0, 96, 250, 117, 0, 122, 177, 194, 0, 241, 106, 5, 0, 226, 19, 147, 0, 13, 71, 178, 0, 44, 129, 128, 0, 217, 216, 93, 0, 33, 193, 18, 0, 38, 67, 208, 0, 57, 35, 123, 0, 76, 92, 211, 0, 69, 104, 8, 0, 230, 171, 59, 0, 12, 98, 178, 0, 28, 76, 234, 0, 191, 9, 135, 0, 108, 132, 232, 0, 251, 21, 16, 0, 18, 59, 31, 0, 198, 233, 222, 0, 134, 94, 181, 0, 5, 197, 45, 0, 68, 149, 182, 0, 165, 7, 113, 0, 208, 226, 183, 0, 54, 67, 104, 0, 176, 89, 23, 0, 19, 137, 107, 0, 236, 63, 109, 0, 216, 81, 187, 0, 223, 50, 155, 0, 14, 54, 161, 0, 37, 166, 98, 0, 98, 144, 215, 0, 55, 156, 137, 0, 87, 250, 233, 0, 65, 30, 59, 0, 148, 250, 195, 0, 210, 120, 133, 0, 247, 17, 148, 0, 233, 81, 231, 0, 32, 71, 71, 0, 45, 227, 237, 0, 218, 235, 254, 0, 211, 99, 200, 0, 37, 123, 51, 0, 77, 155, 126, 0, 80, 133, 236, 0, 215, 58, 182, 0, 115, 203, 22, 0, 39, 207, 58, 0, 52, 30, 83, 0, 254, 216, 171, 0, 189, 130, 147, 0, 237, 73, 1, 0, 62, 178, 191, 0, 196, 42, 30, 0, 222, 226, 244, 0, 229, 27, 87, 0, 162, 93, 149, 0, 213, 168, 162, 0, 66, 192, 240, 0, 149, 127, 199, 0, 63, 236, 209, 0, 207, 201, 131, 0, 166, 41, 151, 0, 210, 176, 17, 0, 188, 61, 230, 0, 97, 212, 15, 0, 126, 17, 96, 0, 190, 198, 136, 0, 9, 53, 189, 0, 112, 214, 179, 0, 27, 185, 135, 0, 254, 218, 55, 0, 209, 160, 103, 0, 185, 111, 183, 0, 145, 19, 48, 0, 61, 130, 222, 0, 188, 34, 100, 0, 215, 121, 15, 0, 229, 8, 206, 0, 124, 155, 215, 0, \ +231, 53, 204, 0, 189, 53, 140, 0, 95, 180, 149, 0, 93, 167, 200, 0, 69, 19, 233, 0, 235, 160, 12, 0, 37, 253, 47, 0, 14, 45, 184, 0, 166, 231, 81, 0, 185, 31, 93, 0, 42, 130, 145, 0, 35, 222, 131, 0, 156, 45, 221, 0, 251, 127, 174, 0, 28, 176, 39, 0, 211, 138, 212, 0, 24, 147, 39, 0, 75, 81, 14, 0, 27, 205, 148, 0, 163, 198, 254, 0, 147, 102, 203, 0, 226, 146, 119, 0, 121, 194, 125, 0, 249, 184, 230, 0, 68, 188, 57, 0, 191, 76, 207, 0, 210, 47, 152, 0, 123, 196, 251, 0, 249, 224, 223, 0, 127, 122, 185, 0, 13, 2, 16, 0, 220, 102, 118, 0, 228, 42, 250, 0, 109, 214, 30, 0, 205, 90, 181, 0, 106, 45, 90, 0, 214, 217, 182, 0, 31, 179, 159, 0, 46, 41, 144, 0, 85, 120, 178, 0, 91, 64, 196, 0, 212, 47, 128, 0, 131, 88, 204, 0, 2, 152, 137, 0, 211, 168, 56, 0, 175, 195, 110, 0, 110, 158, 118, 0, 236, 112, 120, 0, 233, 37, 198, 0, 196, 211, 30, 0, 236, 69, 41, 0, 193, 41, 130, 0, 149, 235, 54, 0, 204, 210, 216, 0, 175, 10, 121, 0, 193, 136, 79, 0, 150, 173, 240, 0, 126, 174, 100, 0, 101, 186, 18, 0, 83, 204, 176, 0, 106, 135, 249, 0, 46, 132, 231, 0, 112, 115, 30, 0, 246, 27, 102, 0, 19, 139, 153, 0, 130, 236, 55, 0, 175, 32, 53, 0, 96, 60, 148, 0, 109, 87, 251, 0, 11, 253, 69, 0, 40, 159, 241, 0, 121, 141, 244, 0, 234, 228, 72, 0, 155, 49, 218, 0, 241, 103, 42, 0, 175, 80, 50, 0, 121, 207, 23, 0, 239, 87, 106, 0, 69, 47, 111, 0, 83, 241, 231, 0, 154, 47, 52, 0, 144, 184, 225, 0, 36, 58, 62, 0, 79, 112, 199, 0, 121, 138, 80, 0, 169, 56, 151, 0, 106, 63, 210, 0, 173, 26, 89, 0, 141, 205, 94, 0, 127, 32, 11, 0, 192, 18, 248, 0, 137, 32, 29, 0, 231, 221, 126, 0, 79, 12, 131, 0, 175, 3, 248, 0, 141, 224, 61, 0, 160, 216, 135, 0, 252, 111, 26, 0, 154, 165, 17, 0, 133, 171, 30, 0, 210, 88, 17, 0, 50, 143, 32, 0, 40, 13, 217, 0, 41, 162, 22, 0, 2, 119, 43, 0, 22, 251, 244, 0, 108, 222, 118, 0, 219, 243, 33, 0, 89, 186, 250, 0, 99, 168, 242, 0, 214, 132, 20, 0, 151, 145, 44, 0, 177, 26, 108, 0, 38, 67, 164, 0, 139, 130, 115, 0, 81, 95, 97, 0, 24, 240, 104, 0, 54, 56, 113, 0, 16, 37, 1, 0, 82, 244, 161, 0, 22, 212, 47, 0, 100, 111, 83, 0, 236, 139, 231, 0, 203, 235, 183, 0, 69, 23, 0, 0, 73, 79, 247, 0, 253, 235, 11, 0, 223, 162, 141, 0, 244, 70, 8, 0, 129, 237, 29, 0, 182, 117, 184, 0, 223, 75, 10, 0, 166, 139, 247, 0, 96, 20, 176, 0, 232, 84, 98, 0, 202, 196, 143, 0, 177, 213, 101, 0, 28, 115, 40, 0, 141, 155, 157, 0, 108, 136, 122, 0, 41, 185, 47, 0, 223, 19, 130, 0, 254, 253, 203, 0, 128, 240, 213, 0, 68, 141, 239, 0, 93, 71, 39, 0, 130, 148, 165, 0, 199, 196, 61, 0, 237, 192, 106, 0, 182, 140, 130, 0, 26, 210, 155, 0, 234, 198, 98, 0, 151, 135, 57, 0, 107, 75, 206, 0, 97, 175, 224, 0, 38, 145, 187, 0, 95, 246, 160, 0, 226, 232, 143, 0, 131, 218, 20, 0, 37, 83, 65, 0, 47, 113, 16, 0, 29, 73, 237, 0, 29, 6, 65, 0, 76, 118, 187, 0, 176, 212, 149, 0, 167, 131, 154, 0, 159, 56, 97, 0, 129, 232, 29, 0, 94, 245, 170, 0, 228, 164, 5, 0, 41, 189, 209, 0, 119, 168, 122, 0, 237, 208, 45, 0, 56, 253, 147, 0, 169, 97, 102, 0, 190, 142, 224, 0, 115, 148, 242, 0, 225, 58, 57, 0, 134, 58, 215, 0, 18, 60, 88, 0, 110, 40, 63, 0, 106, 92, 67, 0, 114, 102, 79, 0, 111, 152, 9, 0, 5, 38, 119, 0, 45, 224, 107, 0, 192, 75, 127, 0, 8, 8, 70, 0, 48, 53, 80, 0, 197, 160, 130, 0, 131, 204, 41, 0, 139, 21, 81, 0, 207, 112, 101, 0, 208, 145, 90, 0, 1, 140, 47, 0, 37, 2, 235, 0, 193, 14, 251, 0, 238, 216, 209, 0, 67, 126, 240, 0, 2, 203, 115, 0, 23, 140, 61, 0, 21, 73, 233, 0, 143, 227, 167, 0, 35, 191, 179, 0, 149, 95, 21, 0, 48, 109, 198, 0, 131, 124, 116, 0, 232, 149, 225, 0, 88, 8, 85, 0, 161, 78, 14, 0, 61, 136, 161, 0, 175, 250, 61, 0, 96, 130, 171, 0, 17, 42, 190, 0, 246, 182, 205, 0, 115, 225, 43, 0, 39, 85, 194, 0, 209, 121, 232, 0, 90, 243, 230, 0, 142, 239, 206, 0, 46, 143, 18, 0, 33, 144, 82, 0, 151, 224, 168, 0, 222, 219, 109, 0, \ +92, 238, 25, 0, 12, 32, 173, 0, 217, 163, 0, 0, 104, 182, 187, 0, 241, 131, 160, 0, 110, 37, 43, 0, 119, 113, 76, 0, 192, 247, 66, 0, 204, 52, 76, 0, 210, 215, 44, 0, 179, 56, 34, 0, 254, 175, 190, 0, 64, 211, 181, 0, 251, 104, 237, 0, 131, 241, 165, 0, 102, 154, 244, 0, 230, 140, 241, 0, 214, 172, 234, 0, 198, 186, 60, 0, 213, 94, 157, 0, 197, 8, 243, 0, 22, 66, 23, 0, 84, 32, 23, 0, 32, 97, 105, 0, 32, 238, 193, 0, 44, 137, 126, 0, 25, 148, 210, 0, 250, 96, 159, 0, 195, 155, 244, 0, 139, 49, 2, 0, 210, 204, 158, 0, 163, 14, 84, 0, 181, 12, 214, 0, 199, 54, 77, 0, 2, 104, 141, 0, 89, 91, 41, 0, 64, 114, 64, 0, 210, 195, 194, 0, 239, 39, 226, 0, 248, 113, 209, 0, 12, 87, 126, 0, 17, 100, 145, 0, 185, 6, 87, 0, 234, 253, 179, 0, 91, 4, 15, 0, 101, 119, 51, 0, 0, 101, 160, 0, 95, 166, 185, 0, 38, 251, 151, 0, 136, 63, 27, 0, 105, 49, 84, 0, 79, 68, 144, 0, 96, 165, 81, 0, 189, 147, 177, 0, 105, 45, 203, 0, 47, 175, 56, 0, 45, 122, 101, 0, 188, 18, 155, 0, 215, 45, 98, 0, 181, 156, 191, 0, 15, 87, 51, 0, 187, 236, 32, 0, 15, 228, 153, 0, 124, 182, 127, 0, 238, 186, 53, 0, 162, 222, 216, 0, 191, 232, 249, 0, 232, 115, 169, 0, 21, 216, 163, 0, 30, 111, 55, 0, 104, 137, 139, 0, 2, 206, 131, 0, 171, 121, 177, 0, 229, 109, 11, 0, 164, 213, 81, 0, 68, 93, 72, 0, 64, 129, 233, 0, 244, 16, 23, 0, 229, 19, 172, 0, 2, 186, 201, 0, 80, 145, 102, 0, 172, 202, 237, 0, 112, 248, 224, 0, 223, 79, 19, 0, 32, 154, 120, 0, 6, 98, 151, 0, 189, 121, 42, 0, 105, 50, 188, 0, 13, 123, 241, 0, 118, 217, 241, 0, 73, 220, 31, 0, 108, 250, 128, 0, 100, 168, 83, 0, 162, 27, 82, 0, 112, 33, 145, 0, 104, 65, 34, 0, 186, 96, 51, 0, 59, 64, 182, 0, 18, 24, 242, 0, 1, 249, 139, 0, 202, 232, 131, 0, 156, 54, 140, 0, 186, 63, 32, 0, 0, 245, 102, 0, 131, 250, 236, 0, 98, 97, 9, 0, 0, 209, 192, 0, 18, 248, 209, 0, 125, 90, 188, 0, 192, 111, 15, 0, 166, 180, 50, 0, 180, 99, 42, 0, 15, 145, 102, 0, 128, 52, 128, 0, 248, 225, 105, 0, 51, 46, 92, 0, 117, 223, 138, 0, 72, 209, 166, 0, 38, 113, 87, 0, 59, 136, 33, 0, 171, 82, 191, 0, 5, 2, 61, 0, 99, 81, 98, 0, 29, 26, 60, 0, 134, 68, 153, 0, 66, 105, 38, 0, 74, 113, 156, 0, 232, 33, 202, 0, 6, 7, 33, 0, 114, 226, 100, 0, 213, 46, 165, 0, 141, 93, 124, 0, 113, 168, 51, 0, 32, 233, 40, 0, 94, 43, 135, 0, 193, 167, 95, 0, 85, 239, 4, 0, 31, 93, 91, 0, 29, 35, 252, 0, 151, 39, 34, 0, 245, 46, 179, 0, 222, 14, 76, 0, 233, 116, 118, 0, 192, 137, 34, 0, 82, 78, 83, 0, 93, 191, 101, 0, 233, 28, 173, 0, 45, 143, 199, 0, 230, 197, 171, 0, 237, 87, 162, 0, 202, 65, 58, 0, 162, 252, 252, 0, 57, 239, 78, 0, 101, 117, 227, 0, 174, 230, 73, 0, 11, 127, 247, 0, 66, 33, 33, 0, 114, 122, 65, 0, 68, 86, 43, 0, 51, 154, 180, 0, 143, 37, 55, 0, 154, 218, 73, 0, 170, 218, 190, 0, 21, 224, 210, 0, 99, 162, 152, 0, 190, 213, 82, 0, 233, 169, 187, 0, 230, 229, 166, 0, 169, 194, 127, 0, 98, 243, 43, 0, 44, 1, 153, 0, 28, 214, 249, 0, 195, 92, 23, 0, 228, 142, 147, 0, 208, 1, 152, 0, 149, 110, 189, 0, 97, 91, 36, 0, 57, 236, 67, 0, 73, 55, 41, 0, 36, 52, 132, 0, 183, 35, 110, 0, 80, 218, 76, 0, 230, 177, 81, 0, 215, 133, 85, 0, 128, 148, 203, 0, 221, 219, 8, 0, 202, 119, 229, 0, 143, 141, 45, 0, 130, 72, 211, 0, 167, 153, 248, 0, 55, 181, 22, 0, 101, 172, 82, 0, 65, 134, 182, 0, 129, 115, 213, 0, 187, 179, 233, 0, 208, 186, 59, 0, 236, 237, 112, 0, 29, 102, 146, 0, 121, 159, 201, 0, 220, 137, 6, 0, 182, 193, 106, 0, 174, 137, 242, 0, 79, 237, 178, 0, 218, 9, 129, 0, 91, 97, 23, 0, 203, 95, 76, 0, 183, 25, 13, 0, 42, 91, 12, 0, 30, 104, 123, 0, 231, 203, 53, 0, 113, 107, 203, 0, 44, 62, 252, 0, 91, 144, 173, 0, 165, 72, 42, 0, 185, 95, 112, 0, 118, 123, 203, 0, 168, 23, 65, 0, 96, 119, 12, 0, 19, 131, 69, 0, 201, 135, 137, 0, 226, 99, 184, 0, 163, 1, 155, 0, 195, 75, 111, 0, 153, 83, 50, 0, \ +81, 191, 20, 0, 149, 68, 212, 0, 63, 247, 191, 0, 73, 214, 6, 0, 225, 95, 151, 0, 40, 245, 228, 0, 67, 252, 71, 0, 26, 108, 14, 0, 95, 220, 95, 0, 21, 196, 113, 0, 17, 68, 78, 0, 195, 187, 253, 0, 198, 59, 251, 0, 12, 221, 114, 0, 52, 195, 100, 0, 16, 91, 192, 0, 123, 47, 154, 0, 68, 214, 8, 0, 181, 227, 188, 0, 236, 32, 232, 0, 31, 134, 38, 0, 164, 28, 243, 0, 42, 250, 221, 0, 159, 38, 65, 0, 216, 65, 114, 0, 234, 12, 132, 0, 153, 220, 68, 0, 226, 186, 95, 0, 127, 142, 105, 0, 151, 188, 127, 0, 191, 143, 201, 0, 91, 106, 107, 0, 55, 124, 145, 0, 29, 248, 55, 0, 14, 91, 113, 0, 144, 233, 198, 0, 235, 182, 144, 0, 44, 20, 230, 0, 82, 162, 29, 0, 200, 80, 18, 0, 50, 239, 144, 0, 208, 168, 138, 0, 81, 252, 242, 0, 147, 139, 83, 0, 55, 175, 129, 0, 243, 25, 187, 0, 231, 94, 82, 0, 21, 228, 85, 0, 21, 104, 202, 0, 237, 61, 98, 0, 150, 235, 209, 0, 222, 247, 123, 0, 59, 187, 37, 0, 168, 77, 181, 0, 193, 121, 199, 0, 171, 97, 228, 0, 146, 100, 202, 0, 55, 152, 217, 0, 197, 2, 184, 0, 38, 146, 172, 0, 214, 247, 15, 0, 83, 198, 143, 0, 74, 76, 82, 0, 200, 248, 170, 0, 243, 141, 30, 0, 8, 206, 158, 0, 27, 60, 233, 0, 109, 49, 126, 0, 5, 21, 230, 0, 67, 7, 176, 0, 39, 223, 98, 0, 53, 196, 236, 0, 252, 220, 40, 0, 13, 52, 128, 0, 104, 153, 119, 0, 141, 120, 8, 0, 179, 192, 145, 0, 138, 48, 71, 0, 49, 2, 94, 0, 153, 98, 123, 0, 174, 144, 28, 0, 48, 205, 179, 0, 208, 34, 193, 0, 84, 78, 27, 0, 192, 76, 67, 0, 211, 172, 177, 0, 13, 112, 71, 0, 179, 234, 16, 0, 171, 12, 214, 0, 31, 115, 46, 0, 183, 68, 247, 0, 69, 66, 208, 0, 232, 104, 143, 0, 204, 119, 165, 0, 74, 47, 47, 0, 111, 111, 122, 0, 183, 45, 146, 0, 83, 107, 53, 0, 120, 131, 54, 0, 182, 107, 166, 0, 135, 82, 13, 0, 125, 225, 29, 0, 26, 109, 133, 0, 236, 106, 166, 0, 161, 97, 150, 0, 78, 208, 138, 0, 6, 72, 167, 0, 215, 32, 81, 0, 34, 124, 113, 0, 194, 212, 82, 0, 217, 163, 39, 0, 222, 192, 65, 0, 99, 9, 109, 0, 136, 33, 98, 0, 67, 85, 209, 0, 221, 175, 132, 0, 211, 157, 2, 0, 57, 44, 158, 0, 149, 188, 95, 0, 227, 129, 254, 0, 103, 101, 253, 0, 0, 145, 226, 0, 112, 180, 39, 0, 16, 163, 173, 0, 57, 213, 11, 0, 112, 125, 13, 0, 208, 156, 11, 0, 206, 69, 151, 0, 79, 102, 172, 0, 24, 171, 63, 0, 142, 14, 65, 0, 232, 61, 193, 0, 198, 239, 61, 0, 178, 46, 233, 0, 127, 197, 102, 0, 11, 171, 162, 0, 83, 178, 90, 0, 195, 95, 67, 0, 152, 179, 252, 0, 249, 130, 36, 0, 57, 117, 197, 0, 100, 5, 215, 0, 7, 98, 97, 0, 178, 91, 175, 0, 182, 134, 67, 0, 151, 69, 206, 0, 91, 212, 242, 0, 212, 54, 171, 0, 236, 245, 230, 0, 146, 170, 113, 0, 45, 148, 190, 0, 243, 203, 175, 0, 157, 233, 24, 0, 109, 177, 30, 0, 47, 204, 26, 0, 73, 218, 126, 0, 250, 235, 36, 0, 123, 252, 111, 0, 74, 33, 171, 0, 128, 137, 173, 0, 93, 0, 113, 0, 198, 99, 216, 0, 182, 74, 186, 0, 142, 99, 89, 0, 206, 231, 94, 0, 192, 227, 158, 0, 75, 186, 57, 0, 225, 204, 220, 0, 87, 182, 199, 0, 233, 173, 141, 0, 191, 249, 236, 0, 130, 116, 144, 0, 100, 99, 106, 0, 13, 134, 87, 0, 107, 183, 82, 0, 158, 39, 90, 0, 179, 140, 99, 0, 154, 228, 225, 0, 139, 121, 8, 0, 97, 224, 69, 0, 20, 53, 14, 0, 230, 101, 54, 0, 114, 73, 102, 0, 48, 208, 231, 0, 115, 238, 107, 0, 204, 72, 76, 0, 15, 79, 66, 0, 9, 177, 126, 0, 139, 104, 23, 0, 191, 164, 55, 0, 29, 196, 214, 0, 1, 164, 158, 0, 16, 110, 116, 0, 215, 207, 216, 0, 239, 133, 125, 0, 242, 12, 20, 0, 108, 14, 210, 0, 172, 246, 120, 0, 170, 75, 127, 0, 202, 87, 38, 0, 75, 162, 63, 0, 53, 97, 73, 0, 181, 41, 201, 0, 84, 243, 233, 0, 101, 73, 232, 0, 57, 167, 20, 0, 181, 211, 17, 0, 133, 9, 11, 0, 69, 199, 142, 0, 49, 170, 163, 0, 113, 190, 72, 0, 38, 237, 105, 0, 30, 106, 195, 0, 206, 52, 170, 0, 61, 82, 37, 0, 198, 227, 216, 0, 211, 178, 252, 0, 253, 57, 105, 0, 47, 2, 188, 0, 68, 54, 241, 0, 240, 55, 193, 0, 163, 60, 13, 0, 247, 35, 111, 0, 215, 250, 105, 0, \ +147, 218, 146, 0, 129, 86, 231, 0, 225, 6, 152, 0, 220, 70, 207, 0, 233, 113, 64, 0, 160, 103, 18, 0, 103, 6, 228, 0, 66, 123, 239, 0, 124, 217, 212, 0, 57, 113, 1, 0, 233, 34, 176, 0, 11, 154, 194, 0, 151, 192, 200, 0, 163, 157, 86, 0, 250, 52, 6, 0, 254, 237, 243, 0, 214, 44, 116, 0, 57, 188, 16, 0, 118, 152, 117, 0, 178, 100, 70, 0, 53, 27, 20, 0, 16, 11, 179, 0, 42, 230, 228, 0, 114, 232, 182, 0, 182, 130, 166, 0, 134, 11, 46, 0, 51, 99, 85, 0, 143, 31, 249, 0, 48, 6, 32, 0, 250, 195, 89, 0, 252, 84, 251, 0, 42, 219, 178, 0, 124, 204, 187, 0, 79, 199, 36, 0, 75, 125, 139, 0, 196, 6, 236, 0, 100, 179, 178, 0, 93, 78, 228, 0, 251, 244, 203, 0, 206, 126, 51, 0, 134, 46, 164, 0, 107, 15, 150, 0, 78, 69, 43, 0, 212, 71, 20, 0, 254, 105, 217, 0, 26, 138, 61, 0, 187, 36, 103, 0, 13, 204, 43, 0, 201, 139, 241, 0, 41, 53, 126, 0, 198, 125, 134, 0, 181, 164, 35, 0, 82, 115, 71, 0, 71, 52, 189, 0, 60, 208, 91, 0, 250, 41, 34, 0, 109, 155, 150, 0, 81, 139, 226, 0, 23, 2, 26, 0, 100, 196, 244, 0, 177, 165, 74, 0, 209, 14, 184, 0, 184, 185, 243, 0, 2, 232, 110, 0, 92, 35, 48, 0, 35, 114, 31, 0, 122, 55, 156, 0, 243, 213, 215, 0, 64, 40, 105, 0, 2, 139, 76, 0, 188, 138, 47, 0, 59, 47, 146, 0, 179, 235, 0, 0, 222, 221, 223, 0, 199, 210, 228, 0, 200, 148, 229, 0, 215, 173, 197, 0, 84, 8, 121, 0, 222, 60, 39, 0, 73, 0, 229, 0, 62, 108, 41, 0, 130, 155, 225, 0, 121, 64, 184, 0, 35, 52, 43, 0, 59, 230, 12, 0, 18, 150, 163, 0, 217, 184, 234, 0, 2, 114, 103, 0, 237, 95, 63, 0, 156, 130, 234, 0, 236, 52, 61, 0, 49, 185, 51, 0, 183, 163, 212, 0, 217, 87, 111, 0, 69, 243, 137, 0, 221, 87, 3, 0, 19, 96, 16, 0, 141, 99, 55, 0, 31, 14, 195, 0, 198, 216, 85, 0, 190, 111, 93, 0, 99, 248, 36, 0, 74, 28, 95, 0, 252, 108, 37, 0, 114, 89, 250, 0, 172, 210, 44, 0, 27, 62, 202, 0, 207, 201, 210, 0, 193, 186, 66, 0, 35, 130, 62, 0, 144, 56, 225, 0, 214, 104, 37, 0, 131, 68, 241, 0, 212, 191, 65, 0, 41, 180, 57, 0, 159, 136, 3, 0, 209, 85, 7, 0, 27, 238, 41, 0, 73, 152, 199, 0, 186, 244, 5, 0, 243, 216, 0, 0, 37, 96, 52, 0, 161, 128, 243, 0, 116, 106, 189, 0, 34, 40, 98, 0, 154, 36, 51, 0, 98, 193, 26, 0, 46, 94, 153, 0, 228, 27, 137, 0, 224, 25, 210, 0, 26, 124, 5, 0, 187, 163, 158, 0, 47, 105, 166, 0, 200, 7, 138, 0, 78, 82, 142, 0, 40, 161, 2, 0, 35, 94, 210, 0, 104, 184, 156, 0, 84, 210, 178, 0, 120, 113, 22, 0, 147, 202, 66, 0, 155, 70, 126, 0, 162, 226, 194, 0, 71, 238, 33, 0, 50, 197, 74, 0, 192, 190, 84, 0, 97, 205, 124, 0, 8, 123, 138, 0, 232, 246, 76, 0, 215, 65, 64, 0, 239, 91, 64, 0, 48, 248, 48, 0, 213, 148, 200, 0, 12, 148, 204, 0, 165, 81, 99, 0, 141, 47, 181, 0, 239, 82, 50, 0, 128, 214, 199, 0, 117, 226, 60, 0, 106, 174, 148, 0, 176, 118, 177, 0, 243, 57, 234, 0, 158, 247, 13, 0, 93, 81, 247, 0, 69, 177, 229, 0, 124, 247, 94, 0, 53, 34, 202, 0, 70, 65, 28, 0, 22, 105, 101, 0, 182, 28, 221, 0, 172, 54, 90, 0, 240, 28, 237, 0, 105, 147, 139, 0, 32, 35, 42, 0, 9, 77, 142, 0, 90, 124, 76, 0, 149, 41, 235, 0, 83, 190, 90, 0, 98, 215, 69, 0, 131, 130, 46, 0, 148, 11, 6, 0, 152, 107, 99, 0, 136, 251, 83, 0, 196, 79, 1, 0, 225, 228, 190, 0, 109, 172, 191, 0, 14, 189, 161, 0, 204, 60, 163, 0, 33, 49, 26, 0, 224, 67, 72, 0, 232, 87, 248, 0, 17, 148, 178, 0, 148, 61, 8, 0, 121, 131, 55, 0, 216, 135, 88, 0, 50, 243, 71, 0, 111, 83, 248, 0, 232, 21, 11, 0, 95, 200, 206, 0, 126, 112, 82, 0, 197, 188, 192, 0, 197, 19, 45, 0, 34, 17, 122, 0, 60, 119, 228, 0, 177, 213, 49, 0, 239, 81, 184, 0, 50, 236, 236, 0, 12, 76, 103, 0, 103, 187, 49, 0, 159, 148, 75, 0, 41, 17, 127, 0, 254, 150, 230, 0, 221, 80, 201, 0, 220, 202, 111, 0, 74, 211, 24, 0, 98, 68, 235, 0, 110, 37, 246, 0, 201, 87, 225, 0, 228, 152, 28, 0, 136, 41, 75, 0, 15, 90, 42, 0, 14, 229, 241, 0, 2, 113, 212, 0, 69, 64, 141, 0, \ +161, 162, 48, 0, 124, 109, 60, 0, 182, 217, 212, 0, 11, 234, 159, 0, 74, 73, 21, 0, 63, 130, 139, 0, 61, 222, 154, 0, 12, 93, 44, 0, 196, 95, 46, 0, 227, 251, 19, 0, 53, 41, 20, 0, 137, 46, 112, 0, 184, 110, 135, 0, 88, 31, 217, 0, 229, 126, 186, 0, 234, 176, 146, 0, 148, 20, 205, 0, 163, 229, 206, 0, 105, 14, 7, 0, 26, 114, 184, 0, 200, 34, 147, 0, 0, 132, 240, 0, 140, 23, 43, 0, 88, 225, 20, 0, 103, 13, 200, 0, 169, 3, 0, 0, 230, 4, 238, 0, 237, 194, 73, 0, 100, 163, 126, 0, 27, 166, 6, 0, 27, 184, 104, 0, 72, 41, 206, 0, 156, 71, 34, 0, 180, 230, 230, 0, 134, 187, 0, 0, 142, 250, 169, 0, 20, 182, 120, 0, 62, 195, 24, 0, 180, 241, 193, 0, 187, 205, 92, 0, 73, 120, 155, 0, 176, 18, 61, 0, 161, 83, 62, 0, 99, 64, 56, 0, 57, 13, 34, 0, 160, 190, 150, 0, 42, 92, 217, 0, 90, 188, 195, 0, 10, 186, 148, 0, 17, 133, 105, 0, 218, 163, 245, 0, 133, 171, 60, 0, 234, 80, 204, 0, 13, 133, 48, 0, 149, 164, 226, 0, 185, 50, 61, 0, 119, 70, 229, 0, 160, 8, 123, 0, 22, 152, 146, 0, 243, 142, 69, 0, 250, 130, 249, 0, 217, 176, 155, 0, 94, 95, 233, 0, 248, 238, 190, 0, 170, 141, 180, 0, 51, 190, 166, 0, 66, 136, 195, 0, 236, 197, 184, 0, 2, 179, 158, 0, 36, 87, 24, 0, 1, 17, 193, 0, 215, 54, 91, 0, 236, 3, 17, 0, 31, 138, 87, 0, 25, 93, 202, 0, 229, 238, 131, 0, 164, 49, 108, 0, 232, 109, 223, 0, 163, 14, 43, 0, 6, 99, 213, 0, 69, 222, 54, 0, 22, 48, 110, 0, 79, 226, 248, 0, 91, 62, 28, 0, 99, 185, 114, 0, 213, 15, 192, 0, 159, 36, 214, 0, 172, 40, 141, 0, 89, 66, 119, 0, 242, 130, 88, 0, 60, 10, 128, 0, 252, 68, 9, 0, 20, 93, 78, 0, 42, 190, 252, 0, 182, 59, 112, 0, 200, 90, 29, 0, 110, 162, 75, 0, 39, 113, 214, 0, 234, 4, 3, 0, 223, 77, 85, 0, 224, 87, 181, 0, 250, 198, 39, 0, 61, 244, 243, 0, 43, 45, 194, 0, 88, 236, 69, 0, 233, 67, 184, 0, 220, 140, 40, 0, 83, 118, 252, 0, 168, 88, 192, 0, 162, 244, 69, 0, 214, 233, 87, 0, 109, 206, 196, 0, 61, 54, 155, 0, 86, 169, 220, 0, 104, 77, 4, 0, 4, 237, 71, 0, 106, 184, 81, 0, 87, 159, 103, 0, 80, 139, 239, 0, 33, 68, 92, 0, 54, 211, 145, 0, 248, 176, 50, 0, 12, 89, 99, 0, 16, 226, 164, 0, 63, 151, 145, 0, 67, 18, 251, 0, 190, 200, 20, 0, 156, 142, 55, 0, 22, 37, 186, 0, 179, 95, 221, 0, 74, 116, 152, 0, 50, 124, 93, 0, 229, 31, 199, 0, 242, 13, 71, 0, 72, 174, 208, 0, 11, 232, 161, 0, 93, 197, 169, 0, 103, 103, 54, 0, 117, 52, 9, 0, 47, 17, 190, 0, 110, 141, 84, 0, 60, 30, 216, 0, 209, 8, 194, 0, 105, 189, 179, 0, 222, 104, 248, 0, 93, 140, 215, 0, 112, 177, 1, 0, 82, 208, 222, 0, 194, 174, 254, 0, 105, 33, 119, 0, 111, 185, 50, 0, 232, 46, 199, 0, 10, 217, 131, 0, 36, 45, 51, 0, 145, 207, 3, 0, 144, 111, 226, 0, 102, 162, 207, 0, 199, 188, 223, 0, 57, 214, 80, 0, 116, 196, 88, 0, 94, 0, 117, 0, 96, 77, 19, 0, 84, 140, 150, 0, 235, 34, 142, 0, 55, 115, 199, 0, 34, 86, 1, 0, 199, 39, 135, 0, 195, 223, 199, 0, 163, 42, 192, 0, 140, 62, 141, 0, 133, 178, 253, 0, 9, 183, 98, 0, 114, 192, 115, 0, 43, 159, 44, 0, 136, 9, 194, 0, 254, 160, 254, 0, 200, 78, 140, 0, 176, 254, 147, 0, 157, 132, 3, 0, 94, 10, 30, 0, 230, 49, 131, 0, 140, 1, 135, 0, 70, 185, 186, 0, 178, 124, 184, 0, 130, 212, 48, 0, 3, 47, 133, 0, 175, 184, 102, 0, 161, 45, 16, 0, 195, 44, 205, 0, 107, 85, 194, 0, 185, 86, 100, 0, 49, 124, 180, 0, 55, 53, 48, 0, 213, 184, 169, 0, 146, 139, 182, 0, 175, 180, 5, 0, 165, 173, 244, 0, 180, 163, 112, 0, 63, 78, 16, 0, 73, 46, 221, 0, 109, 44, 26, 0, 56, 60, 34, 0, 214, 48, 135, 0, 124, 246, 57, 0, 41, 87, 19, 0, 180, 197, 146, 0, 241, 122, 176, 0, 231, 250, 130, 0, 47, 182, 247, 0, 205, 93, 138, 0, 232, 251, 67, 0, 161, 229, 88, 0, 228, 98, 183, 0, 88, 70, 205, 0, 116, 254, 68, 0, 116, 254, 140, 0, 234, 47, 79, 0, 110, 53, 58, 0, 198, 37, 82, 0, 156, 114, 156, 0, 52, 87, 119, 0, 237, 60, 33, 0, 42, 186, 133, 0, 183, 246, 57, 0, \ +217, 249, 235, 0, 166, 203, 223, 0, 90, 102, 164, 0, 61, 36, 110, 0, 251, 123, 139, 0, 135, 137, 17, 0, 102, 171, 170, 0, 107, 50, 51, 0, 203, 63, 190, 0, 3, 194, 223, 0, 131, 189, 162, 0, 117, 216, 184, 0, 254, 6, 93, 0, 11, 91, 30, 0, 70, 241, 83, 0, 113, 252, 35, 0, 173, 235, 235, 0, 83, 62, 254, 0, 5, 240, 183, 0, 172, 58, 81, 0, 59, 57, 165, 0, 136, 68, 223, 0, 113, 24, 163, 0, 72, 45, 126, 0, 77, 156, 179, 0, 51, 5, 171, 0, 179, 196, 215, 0, 245, 242, 48, 0, 14, 234, 42, 0, 149, 130, 44, 0, 186, 67, 80, 0, 0, 229, 133, 0, 151, 107, 36, 0, 8, 245, 93, 0, 101, 18, 181, 0, 113, 243, 193, 0, 132, 120, 123, 0, 177, 70, 177, 0, 221, 16, 40, 0, 213, 62, 246, 0, 152, 80, 137, 0, 195, 227, 114, 0, 189, 190, 78, 0, 109, 252, 237, 0, 202, 20, 46, 0, 233, 183, 165, 0, 77, 39, 231, 0, 32, 125, 217, 0, 71, 173, 41, 0, 25, 49, 68, 0, 253, 65, 161, 0, 62, 214, 154, 0, 100, 231, 243, 0, 174, 33, 171, 0, 47, 167, 204, 0, 165, 214, 161, 0, 12, 131, 235, 0, 56, 65, 35, 0, 99, 103, 100, 0, 161, 180, 194, 0, 105, 174, 205, 0, 165, 186, 226, 0, 225, 13, 238, 0, 208, 169, 125, 0, 11, 139, 115, 0, 204, 173, 179, 0, 35, 222, 208, 0, 149, 192, 43, 0, 0, 60, 209, 0, 160, 120, 140, 0, 6, 144, 17, 0, 197, 232, 44, 0, 175, 209, 115, 0, 239, 129, 253, 0, 217, 119, 222, 0, 117, 78, 60, 0, 127, 95, 30, 0, 32, 235, 30, 0, 29, 0, 227, 0, 161, 68, 189, 0, 212, 182, 23, 0, 111, 135, 15, 0, 165, 235, 207, 0, 104, 243, 249, 0, 80, 14, 94, 0, 199, 240, 59, 0, 202, 58, 41, 0, 47, 51, 5, 0, 175, 107, 69, 0, 40, 114, 35, 0, 159, 243, 48, 0, 172, 6, 81, 0, 25, 105, 59, 0, 241, 122, 198, 0, 215, 170, 197, 0, 143, 46, 217, 0, 223, 204, 120, 0, 189, 36, 84, 0, 133, 27, 17, 0, 161, 59, 170, 0, 208, 152, 99, 0, 67, 119, 4, 0, 160, 38, 165, 0, 28, 123, 57, 0, 26, 253, 188, 0, 147, 191, 71, 0, 244, 16, 185, 0, 48, 125, 113, 0, 230, 247, 135, 0, 214, 246, 186, 0, 250, 78, 31, 0, 32, 0, 202, 0, 167, 19, 80, 0, 228, 93, 247, 0, 239, 26, 83, 0, 93, 254, 66, 0, 3, 227, 69, 0, 146, 111, 83, 0, 228, 92, 167, 0, 253, 130, 35, 0, 131, 48, 235, 0, 218, 175, 178, 0, 223, 235, 139, 0, 217, 115, 232, 0, 113, 5, 222, 0, 152, 175, 252, 0, 160, 150, 252, 0, 200, 204, 168, 0, 172, 27, 163, 0, 4, 145, 68, 0, 96, 9, 149, 0, 122, 205, 114, 0, 175, 42, 37, 0, 199, 88, 103, 0, 12, 185, 241, 0, 16, 115, 21, 0, 38, 9, 166, 0, 6, 141, 28, 0, 208, 7, 239, 0, 111, 1, 92, 0, 55, 14, 42, 0, 216, 166, 88, 0, 112, 114, 193, 0, 199, 200, 218, 0, 72, 95, 58, 0, 19, 80, 26, 0, 87, 171, 133, 0, 190, 47, 99, 0, 62, 243, 247, 0, 191, 22, 106, 0, 57, 110, 240, 0, 69, 113, 209, 0, 248, 151, 220, 0, 197, 59, 11, 0, 206, 118, 80, 0, 220, 199, 77, 0, 251, 213, 161, 0, 245, 43, 112, 0, 109, 97, 4, 0, 220, 62, 169, 0, 18, 238, 197, 0, 0, 66, 15, 0, 127, 128, 7, 0, 19, 184, 34, 0, 2, 122, 204, 0, 115, 235, 38, 0, 42, 142, 95, 0, 2, 233, 235, 0, 79, 200, 71, 0, 114, 18, 151, 0, 128, 21, 48, 0, 140, 39, 47, 0, 66, 52, 63, 0, 111, 250, 60, 0, 31, 252, 138, 0, 51, 7, 218, 0, 136, 193, 1, 0, 196, 222, 208, 0, 119, 230, 235, 0, 7, 250, 251, 0, 70, 21, 249, 0, 156, 161, 241, 0, 13, 55, 200, 0, 217, 70, 105, 0, 126, 241, 44, 0, 12, 58, 239, 0, 172, 97, 218, 0, 124, 139, 5, 0, 69, 45, 147, 0, 160, 233, 174, 0, 226, 98, 127, 0, 112, 131, 185, 0, 95, 213, 188, 0, 69, 186, 217, 0, 105, 62, 5, 0, 189, 108, 132, 0, 78, 51, 190, 0, 26, 27, 175, 0, 141, 167, 213, 0, 210, 55, 233, 0, 19, 97, 161, 0, 233, 217, 250, 0, 191, 237, 79, 0, 157, 118, 149, 0, 79, 35, 141, 0, 152, 134, 10, 0, 146, 89, 20, 0, 178, 207, 91, 0, 144, 31, 28, 0, 18, 157, 115, 0, 17, 245, 138, 0, 138, 56, 50, 0, 92, 7, 8, 0, 160, 155, 45, 0, 227, 196, 117, 0, 76, 56, 80, 0, 35, 102, 193, 0, 26, 75, 116, 0, 216, 126, 94, 0, 12, 151, 171, 0, 92, 184, 149, 0, 114, 241, 181, 0, 12, 83, 87, 0, 8, 6, 168, 0, \ +28, 183, 16, 0, 200, 146, 97, 0, 228, 197, 65, 0, 122, 205, 172, 0, 114, 141, 26, 0, 130, 93, 75, 0, 76, 19, 12, 0, 68, 43, 80, 0, 90, 198, 17, 0, 110, 15, 212, 0, 62, 51, 63, 0, 249, 209, 253, 0, 110, 71, 138, 0, 147, 139, 197, 0, 1, 98, 83, 0, 116, 80, 165, 0, 131, 195, 56, 0, 168, 85, 203, 0, 19, 164, 58, 0, 16, 184, 127, 0, 143, 233, 181, 0, 112, 246, 79, 0, 110, 94, 211, 0, 196, 195, 142, 0, 246, 154, 149, 0, 206, 196, 140, 0, 85, 56, 73, 0, 44, 218, 109, 0, 132, 20, 34, 0, 221, 54, 57, 0, 228, 184, 228, 0, 41, 158, 163, 0, 126, 132, 59, 0, 206, 44, 67, 0, 170, 61, 198, 0, 176, 48, 236, 0, 146, 51, 138, 0, 15, 161, 215, 0, 214, 29, 129, 0, 168, 221, 251, 0, 123, 92, 246, 0, 162, 245, 121, 0, 40, 137, 243, 0, 246, 216, 131, 0, 43, 132, 43, 0, 97, 245, 50, 0, 105, 222, 113, 0, 108, 188, 185, 0, 243, 113, 210, 0, 44, 14, 196, 0, 120, 167, 91, 0, 186, 86, 89, 0, 26, 33, 155, 0, 69, 14, 40, 0, 163, 45, 18, 0, 242, 42, 111, 0, 102, 227, 108, 0, 169, 25, 98, 0, 19, 19, 111, 0, 127, 204, 0, 0, 109, 56, 37, 0, 33, 117, 100, 0, 23, 242, 209, 0, 168, 218, 196, 0, 102, 98, 200, 0, 158, 69, 34, 0, 242, 0, 24, 0, 186, 158, 65, 0, 66, 219, 52, 0, 224, 217, 164, 0, 73, 37, 20, 0, 25, 60, 159, 0, 70, 51, 167, 0, 82, 139, 143, 0, 61, 135, 98, 0, 197, 59, 94, 0, 121, 18, 191, 0, 174, 18, 215, 0, 227, 104, 95, 0, 100, 57, 51, 0, 94, 110, 8, 0, 213, 52, 236, 0, 170, 25, 196, 0, 17, 1, 28, 0, 200, 82, 105, 0, 248, 224, 176, 0, 69, 172, 139, 0, 7, 77, 20, 0, 158, 234, 135, 0, 196, 87, 253, 0, 234, 209, 17, 0, 171, 80, 76, 0, 51, 54, 232, 0, 198, 139, 206, 0, 198, 140, 243, 0, 57, 56, 90, 0, 58, 124, 177, 0, 231, 101, 155, 0, 235, 50, 190, 0, 230, 79, 123, 0, 244, 228, 178, 0, 121, 108, 173, 0, 192, 61, 12, 0, 43, 19, 36, 0, 156, 130, 55, 0, 209, 29, 93, 0, 237, 216, 184, 0, 123, 174, 219, 0, 106, 248, 168, 0, 176, 159, 69, 0, 234, 175, 243, 0, 100, 45, 149, 0, 131, 135, 3, 0, 112, 27, 145, 0, 72, 161, 63, 0, 178, 120, 6, 0, 32, 144, 184, 0, 223, 164, 46, 0, 228, 98, 0, 0, 33, 50, 243, 0, 13, 68, 33, 0, 159, 121, 33, 0, 147, 7, 77, 0, 86, 45, 69, 0, 211, 144, 215, 0, 14, 60, 192, 0, 82, 66, 212, 0, 132, 204, 151, 0, 13, 183, 10, 0, 167, 94, 180, 0, 2, 106, 107, 0, 241, 37, 177, 0, 116, 58, 157, 0, 219, 223, 227, 0, 252, 82, 19, 0, 1, 105, 146, 0, 95, 35, 20, 0, 179, 175, 240, 0, 174, 53, 104, 0, 136, 71, 199, 0, 1, 155, 252, 0, 211, 53, 61, 0, 239, 54, 156, 0, 209, 253, 109, 0, 106, 251, 241, 0, 135, 31, 166, 0, 86, 137, 140, 0, 135, 43, 184, 0, 148, 227, 137, 0, 178, 102, 29, 0, 226, 202, 70, 0, 50, 27, 12, 0, 180, 150, 24, 0, 163, 16, 142, 0, 138, 99, 144, 0, 87, 22, 215, 0, 94, 190, 98, 0, 27, 123, 220, 0, 77, 31, 25, 0, 18, 14, 247, 0, 132, 182, 81, 0, 159, 100, 56, 0, 175, 92, 154, 0, 51, 188, 180, 0, 131, 84, 10, 0, 124, 82, 76, 0, 12, 18, 34, 0, 237, 252, 91, 0, 223, 114, 90, 0, 253, 156, 137, 0, 80, 123, 96, 0, 122, 74, 24, 0, 101, 79, 150, 0, 158, 171, 77, 0, 19, 149, 241, 0, 161, 80, 66, 0, 135, 163, 246, 0, 27, 121, 217, 0, 135, 186, 68, 0, 163, 134, 54, 0, 199, 129, 114, 0, 34, 149, 145, 0, 15, 54, 188, 0, 248, 133, 127, 0, 57, 197, 55, 0, 146, 20, 118, 0, 157, 70, 77, 0, 250, 61, 59, 0, 125, 75, 229, 0, 204, 39, 181, 0, 9, 253, 53, 0, 72, 201, 52, 0, 102, 180, 143, 0, 243, 164, 35, 0, 223, 126, 91, 0, 177, 1, 123, 0, 195, 89, 252, 0, 35, 210, 186, 0, 183, 127, 206, 0, 192, 186, 78, 0, 233, 195, 25, 0, 222, 178, 134, 0, 133, 130, 70, 0, 49, 162, 12, 0, 135, 119, 104, 0, 17, 233, 49, 0, 53, 10, 188, 0, 51, 29, 133, 0, 207, 248, 29, 0, 116, 109, 63, 0, 210, 12, 252, 0, 23, 211, 16, 0, 168, 182, 97, 0, 241, 227, 96, 0, 178, 247, 158, 0, 96, 97, 161, 0, 250, 34, 237, 0, 224, 151, 107, 0, 95, 227, 73, 0, 240, 20, 22, 0, 234, 123, 199, 0, 248, 249, 123, 0, 245, 152, 140, 0, 176, 109, 11, 0, \ +157, 40, 196, 0, 51, 140, 227, 0, 242, 68, 120, 0, 241, 86, 171, 0, 249, 227, 40, 0, 3, 204, 142, 0, 167, 54, 252, 0, 112, 253, 170, 0, 5, 71, 224, 0, 217, 162, 82, 0, 12, 105, 73, 0, 36, 121, 85, 0, 28, 140, 219, 0, 48, 183, 104, 0, 137, 120, 18, 0, 73, 106, 119, 0, 80, 147, 1, 0, 116, 26, 244, 0, 118, 164, 87, 0, 24, 211, 105, 0, 190, 148, 64, 0, 49, 169, 247, 0, 155, 179, 8, 0, 127, 234, 232, 0, 46, 97, 224, 0, 179, 118, 213, 0, 114, 213, 241, 0, 10, 248, 213, 0, 73, 75, 140, 0, 39, 129, 93, 0, 75, 177, 173, 0, 234, 78, 176, 0, 194, 248, 132, 0, 31, 27, 241, 0, 97, 166, 61, 0, 50, 159, 224, 0, 177, 173, 147, 0, 6, 241, 30, 0, 213, 128, 234, 0, 36, 160, 233, 0, 159, 89, 69, 0, 12, 150, 204, 0, 86, 139, 231, 0, 139, 36, 191, 0, 117, 143, 176, 0, 88, 193, 58, 0, 186, 200, 89, 0, 253, 231, 254, 0, 201, 161, 138, 0, 161, 133, 97, 0, 130, 35, 214, 0, 42, 152, 169, 0, 253, 73, 181, 0, 195, 31, 173, 0, 116, 152, 195, 0, 45, 22, 220, 0, 166, 170, 236, 0, 170, 13, 22, 0, 120, 242, 187, 0, 195, 41, 185, 0, 254, 84, 61, 0, 79, 36, 119, 0, 55, 218, 78, 0, 48, 227, 47, 0, 94, 241, 34, 0, 253, 150, 135, 0, 122, 103, 53, 0, 9, 113, 225, 0, 57, 239, 21, 0, 207, 45, 143, 0, 35, 33, 229, 0, 155, 253, 92, 0, 150, 33, 19, 0, 223, 112, 62, 0, 198, 50, 18, 0, 197, 32, 159, 0, 91, 202, 52, 0, 30, 125, 180, 0, 102, 7, 154, 0, 136, 169, 165, 0, 68, 43, 5, 0, 107, 135, 99, 0, 140, 192, 242, 0, 66, 44, 46, 0, 238, 174, 2, 0, 238, 136, 28, 0, 248, 69, 110, 0, 31, 8, 205, 0, 221, 170, 127, 0, 168, 48, 231, 0, 206, 192, 98, 0, 252, 78, 142, 0, 167, 123, 122, 0, 212, 152, 239, 0, 174, 98, 77, 0, 41, 110, 232, 0, 174, 0, 125, 0, 245, 246, 178, 0, 204, 97, 140, 0, 7, 213, 28, 0, 236, 73, 169, 0, 137, 155, 107, 0, 95, 126, 207, 0, 232, 90, 56, 0, 99, 90, 10, 0, 200, 120, 1, 0, 181, 117, 80, 0, 151, 54, 199, 0, 1, 212, 38, 0, 65, 133, 197, 0, 5, 37, 101, 0, 202, 218, 18, 0, 149, 87, 207, 0, 128, 78, 158, 0, 166, 246, 33, 0, 98, 65, 75, 0, 247, 35, 74, 0, 31, 232, 52, 0, 248, 127, 133, 0, 153, 230, 85, 0, 183, 100, 57, 0, 237, 169, 159, 0, 166, 81, 159, 0, 45, 66, 126, 0, 238, 161, 235, 0, 125, 87, 44, 0, 20, 221, 213, 0, 170, 98, 113, 0, 15, 195, 17, 0, 46, 81, 43, 0, 56, 160, 244, 0, 249, 247, 198, 0, 202, 185, 170, 0, 232, 153, 15, 0, 97, 100, 102, 0, 68, 28, 219, 0, 11, 217, 69, 0, 57, 141, 219, 0, 197, 195, 88, 0, 244, 231, 63, 0, 252, 176, 16, 0, 198, 19, 154, 0, 181, 176, 206, 0, 128, 224, 204, 0, 56, 232, 157, 0, 29, 44, 13, 0, 34, 99, 116, 0, 169, 49, 7, 0, 199, 156, 45, 0, 42, 15, 188, 0, 111, 88, 101, 0, 175, 145, 220, 0, 96, 196, 254, 0, 236, 221, 52, 0, 84, 239, 229, 0, 121, 229, 74, 0, 202, 138, 59, 0, 163, 51, 184, 0, 69, 84, 29, 0, 93, 209, 207, 0, 223, 205, 124, 0, 21, 35, 207, 0, 0, 215, 102, 0, 85, 51, 97, 0, 40, 244, 214, 0, 75, 99, 181, 0, 163, 46, 120, 0, 139, 140, 106, 0, 227, 167, 143, 0, 208, 211, 228, 0, 180, 123, 214, 0, 0, 117, 20, 0, 225, 61, 178, 0, 34, 192, 11, 0, 24, 36, 189, 0, 216, 189, 206, 0, 204, 9, 35, 0, 127, 136, 106, 0, 50, 14, 32, 0, 202, 86, 164, 0, 105, 162, 130, 0, 243, 242, 244, 0, 252, 65, 8, 0, 61, 75, 48, 0, 149, 106, 175, 0, 126, 120, 18, 0, 17, 198, 103, 0, 178, 227, 131, 0, 185, 193, 22, 0, 6, 227, 215, 0, 119, 224, 47, 0, 71, 94, 77, 0, 7, 246, 114, 0, 202, 228, 181, 0, 232, 30, 149, 0, 144, 35, 19, 0, 79, 121, 24, 0, 169, 41, 237, 0, 220, 233, 65, 0, 53, 109, 219, 0, 150, 34, 99, 0, 186, 142, 154, 0, 6, 82, 246, 0, 85, 59, 194, 0, 170, 84, 108, 0, 93, 249, 250, 0, 220, 76, 15, 0, 208, 98, 132, 0, 151, 64, 26, 0, 151, 191, 91, 0, 9, 98, 233, 0, 175, 164, 246, 0, 166, 57, 205, 0, 194, 169, 94, 0, 164, 43, 169, 0, 111, 147, 202, 0, 12, 95, 103, 0, 11, 248, 99, 0, 246, 48, 245, 0, 154, 168, 206, 0, 53, 147, 31, 0, 54, 231, 247, 0, 164, 241, 237, 0, 173, 215, 105, 0, \ +129, 156, 110, 0, 156, 153, 140, 0, 81, 49, 7, 0, 245, 220, 139, 0, 80, 182, 152, 0, 121, 151, 78, 0, 23, 58, 217, 0, 211, 151, 125, 0, 78, 137, 121, 0, 17, 192, 203, 0, 57, 169, 111, 0, 13, 226, 206, 0, 107, 83, 185, 0, 232, 112, 199, 0, 240, 34, 63, 0, 124, 47, 116, 0, 58, 180, 78, 0, 236, 95, 72, 0, 191, 201, 207, 0, 196, 123, 219, 0, 151, 77, 130, 0, 196, 81, 126, 0, 16, 244, 16, 0, 165, 204, 145, 0, 246, 212, 84, 0, 113, 35, 27, 0, 251, 248, 200, 0, 13, 29, 52, 0, 198, 105, 251, 0, 61, 29, 147, 0, 117, 42, 159, 0, 83, 168, 124, 0, 51, 157, 234, 0, 219, 28, 247, 0, 73, 187, 96, 0, 112, 30, 246, 0, 64, 159, 164, 0, 185, 229, 115, 0, 61, 149, 222, 0, 214, 58, 81, 0, 68, 61, 135, 0, 202, 110, 250, 0, 21, 79, 137, 0, 243, 64, 142, 0, 146, 32, 176, 0, 73, 143, 33, 0, 25, 185, 164, 0, 104, 139, 216, 0, 232, 22, 155, 0, 25, 141, 126, 0, 121, 115, 0, 0, 206, 70, 50, 0, 66, 211, 180, 0, 100, 73, 82, 0, 245, 239, 162, 0, 40, 136, 252, 0, 34, 95, 128, 0, 158, 202, 140, 0, 160, 16, 129, 0, 235, 173, 151, 0, 207, 70, 183, 0, 183, 131, 81, 0, 8, 2, 246, 0, 1, 110, 127, 0, 197, 24, 110, 0, 78, 170, 35, 0, 22, 165, 72, 0, 153, 176, 102, 0, 84, 189, 204, 0, 12, 230, 152, 0, 219, 230, 145, 0, 170, 222, 114, 0, 234, 123, 108, 0, 222, 86, 144, 0, 205, 132, 138, 0, 61, 46, 195, 0, 189, 248, 117, 0, 110, 144, 252, 0, 155, 88, 158, 0, 104, 26, 203, 0, 86, 141, 93, 0, 38, 118, 242, 0, 45, 130, 104, 0, 179, 117, 161, 0, 64, 30, 157, 0, 238, 147, 96, 0, 115, 241, 175, 0, 29, 61, 48, 0, 134, 32, 222, 0, 188, 93, 87, 0, 163, 210, 58, 0, 30, 41, 129, 0, 126, 211, 232, 0, 135, 94, 129, 0, 129, 200, 6, 0, 22, 168, 52, 0, 112, 20, 96, 0, 224, 155, 172, 0, 20, 115, 15, 0, 71, 225, 129, 0, 154, 88, 67, 0, 147, 157, 239, 0, 35, 173, 239, 0, 106, 180, 203, 0, 6, 136, 37, 0, 68, 201, 100, 0, 132, 227, 172, 0, 50, 54, 238, 0, 158, 249, 42, 0, 54, 201, 184, 0, 213, 131, 196, 0, 50, 14, 57, 0, 55, 31, 252, 0, 226, 79, 71, 0, 163, 209, 28, 0, 38, 159, 127, 0, 57, 105, 208, 0, 101, 193, 245, 0, 163, 24, 113, 0, 233, 237, 24, 0, 181, 166, 33, 0, 105, 241, 109, 0, 19, 244, 63, 0, 5, 0, 219, 0, 22, 207, 33, 0, 253, 43, 98, 0, 222, 85, 59, 0, 197, 100, 137, 0, 53, 47, 215, 0, 157, 249, 91, 0, 121, 117, 56, 0, 117, 58, 207, 0, 125, 158, 149, 0, 212, 243, 28, 0, 119, 101, 213, 0, 61, 205, 210, 0, 45, 15, 13, 0, 90, 237, 165, 0, 214, 32, 230, 0, 43, 16, 211, 0, 18, 105, 17, 0, 162, 190, 220, 0, 24, 201, 116, 0, 22, 233, 115, 0, 70, 142, 14, 0, 27, 225, 36, 0, 213, 59, 217, 0, 164, 44, 102, 0, 219, 149, 85, 0, 134, 246, 163, 0, 161, 97, 40, 0, 61, 18, 27, 0, 110, 28, 206, 0, 216, 55, 49, 0, 203, 2, 158, 0, 198, 46, 245, 0, 77, 22, 107, 0, 136, 148, 94, 0, 150, 137, 192, 0, 179, 208, 218, 0, 123, 70, 150, 0, 49, 193, 161, 0, 237, 19, 7, 0, 178, 112, 204, 0, 207, 4, 201, 0, 23, 54, 130, 0, 249, 78, 110, 0, 28, 116, 35, 0, 120, 17, 85, 0, 173, 126, 234, 0, 108, 93, 230, 0, 2, 212, 98, 0, 211, 183, 173, 0, 41, 48, 40, 0, 15, 149, 142, 0, 97, 81, 205, 0, 147, 32, 24, 0, 231, 72, 150, 0, 48, 230, 69, 0, 175, 96, 126, 0, 234, 217, 10, 0, 178, 4, 90, 0, 215, 77, 200, 0, 191, 105, 118, 0, 57, 102, 118, 0, 59, 154, 115, 0, 79, 154, 184, 0, 102, 5, 180, 0, 57, 200, 86, 0, 175, 124, 133, 0, 245, 72, 77, 0, 214, 18, 121, 0, 21, 216, 218, 0, 162, 223, 136, 0, 243, 209, 242, 0, 202, 105, 145, 0, 168, 75, 112, 0, 221, 111, 6, 0, 75, 123, 78, 0, 159, 204, 197, 0, 27, 231, 4, 0, 226, 159, 108, 0, 75, 40, 45, 0, 129, 234, 86, 0, 117, 230, 170, 0, 1, 122, 221, 0, 240, 214, 149, 0, 120, 211, 210, 0, 190, 141, 38, 0, 191, 197, 142, 0, 7, 52, 136, 0, 238, 23, 141, 0, 239, 123, 67, 0, 150, 122, 129, 0, 87, 145, 141, 0, 49, 89, 142, 0, 4, 196, 219, 0, 163, 228, 19, 0, 87, 111, 44, 0, 89, 216, 254, 0, 155, 160, 7, 0, 56, 235, 115, 0, 239, 86, 28, 0, 78, 51, 93, 0, \ +233, 172, 32, 0, 82, 131, 14, 0, 75, 245, 93, 0, 180, 134, 109, 0, 55, 76, 16, 0, 16, 28, 27, 0, 193, 143, 96, 0, 114, 33, 27, 0, 216, 74, 74, 0, 53, 18, 89, 0, 182, 7, 98, 0, 228, 16, 97, 0, 179, 189, 236, 0, 62, 223, 161, 0, 19, 200, 143, 0, 208, 105, 0, 0, 49, 169, 251, 0, 115, 224, 248, 0, 4, 70, 83, 0, 181, 67, 86, 0, 217, 72, 196, 0, 59, 243, 101, 0, 204, 69, 181, 0, 52, 210, 107, 0, 87, 158, 78, 0, 171, 11, 243, 0, 58, 4, 111, 0, 204, 147, 227, 0, 61, 176, 197, 0, 162, 134, 181, 0, 65, 179, 146, 0, 253, 61, 197, 0, 245, 111, 151, 0, 224, 87, 49, 0, 172, 55, 141, 0, 23, 51, 112, 0, 3, 191, 0, 0, 167, 56, 136, 0, 82, 96, 64, 0, 218, 214, 233, 0, 37, 61, 164, 0, 189, 135, 201, 0, 245, 150, 53, 0, 239, 163, 79, 0, 246, 112, 141, 0, 187, 230, 179, 0, 186, 180, 189, 0, 109, 242, 58, 0, 54, 140, 61, 0, 140, 24, 159, 0, 198, 178, 32, 0, 155, 183, 104, 0, 81, 175, 71, 0, 52, 31, 49, 0, 203, 100, 187, 0, 177, 22, 242, 0, 50, 173, 96, 0, 102, 169, 121, 0, 39, 147, 163, 0, 232, 218, 228, 0, 141, 130, 94, 0, 132, 150, 28, 0, 197, 48, 76, 0, 242, 119, 251, 0, 43, 59, 116, 0, 68, 172, 221, 0, 30, 32, 126, 0, 166, 153, 124, 0, 103, 80, 233, 0, 14, 125, 144, 0, 92, 195, 227, 0, 242, 186, 6, 0, 1, 68, 93, 0, 219, 37, 57, 0, 200, 94, 162, 0, 116, 138, 5, 0, 205, 226, 187, 0, 12, 215, 202, 0, 71, 96, 181, 0, 141, 53, 133, 0, 97, 141, 199, 0, 144, 129, 23, 0, 157, 155, 151, 0, 186, 53, 251, 0, 100, 103, 30, 0, 48, 69, 122, 0, 154, 223, 75, 0, 110, 214, 89, 0, 149, 99, 178, 0, 132, 146, 249, 0, 83, 93, 137, 0, 18, 121, 140, 0, 205, 101, 163, 0, 252, 125, 50, 0, 56, 87, 195, 0, 46, 224, 73, 0, 55, 149, 105, 0, 21, 11, 171, 0, 114, 251, 156, 0, 254, 147, 248, 0, 172, 126, 177, 0, 45, 217, 250, 0, 130, 21, 180, 0, 178, 193, 245, 0, 27, 222, 143, 0, 126, 43, 84, 0, 12, 252, 180, 0, 83, 56, 32, 0, 100, 50, 109, 0, 89, 184, 228, 0, 237, 145, 117, 0, 173, 200, 111, 0, 213, 51, 130, 0, 41, 115, 9, 0, 131, 137, 11, 0, 199, 114, 170, 0, 216, 21, 134, 0, 19, 146, 182, 0, 235, 252, 214, 0, 53, 116, 188, 0, 203, 211, 66, 0, 223, 4, 123, 0, 85, 188, 84, 0, 11, 102, 43, 0, 90, 1, 111, 0, 86, 87, 93, 0, 219, 196, 203, 0, 112, 38, 77, 0, 217, 206, 247, 0, 201, 218, 50, 0, 115, 194, 118, 0, 234, 209, 157, 0, 96, 113, 159, 0, 24, 210, 6, 0, 21, 185, 163, 0, 135, 42, 36, 0, 98, 27, 14, 0, 70, 2, 125, 0, 129, 220, 171, 0, 215, 45, 168, 0, 97, 154, 16, 0, 103, 161, 12, 0, 21, 179, 14, 0, 26, 58, 64, 0, 49, 253, 12, 0, 61, 229, 173, 0, 43, 109, 3, 0, 27, 164, 39, 0, 111, 161, 215, 0, 142, 177, 7, 0, 191, 104, 244, 0, 56, 219, 145, 0, 110, 240, 67, 0, 65, 125, 79, 0, 165, 43, 102, 0, 42, 80, 204, 0, 253, 213, 139, 0, 137, 223, 99, 0, 165, 34, 189, 0, 59, 65, 113, 0, 244, 131, 194, 0, 251, 251, 163, 0, 5, 131, 153, 0, 3, 186, 129, 0, 181, 154, 50, 0, 154, 28, 231, 0, 252, 28, 128, 0, 50, 110, 219, 0, 69, 223, 197, 0, 186, 127, 18, 0, 251, 91, 110, 0, 78, 159, 207, 0, 163, 167, 58, 0, 126, 126, 195, 0, 71, 140, 149, 0, 161, 45, 18, 0, 44, 94, 131, 0, 177, 21, 34, 0, 233, 216, 227, 0, 65, 210, 43, 0, 137, 170, 53, 0, 44, 159, 218, 0, 107, 138, 225, 0, 41, 178, 82, 0, 98, 129, 138, 0, 241, 92, 59, 0, 222, 142, 55, 0, 133, 102, 79, 0, 1, 39, 2, 0, 167, 170, 51, 0, 12, 89, 51, 0, 148, 89, 59, 0, 115, 54, 7, 0, 197, 61, 169, 0, 96, 59, 113, 0, 156, 132, 44, 0, 238, 14, 68, 0, 169, 253, 73, 0, 178, 6, 232, 0, 61, 233, 6, 0, 110, 148, 96, 0, 35, 84, 9, 0, 78, 21, 118, 0, 1, 0, 189, 0, 185, 150, 156, 0, 13, 229, 11, 0, 161, 253, 240, 0, 198, 211, 81, 0, 83, 82, 252, 0, 137, 223, 10, 0, 40, 34, 90, 0, 33, 240, 240, 0, 64, 188, 12, 0, 177, 187, 105, 0, 189, 94, 17, 0, 149, 128, 78, 0, 244, 146, 39, 0, 160, 129, 37, 0, 13, 208, 133, 0, 50, 231, 64, 0, 48, 154, 56, 0, 13, 109, 200, 0, 65, 117, 169, 0, 166, 154, 53, 0, \ +40, 157, 107, 0, 74, 77, 4, 0, 17, 24, 114, 0, 15, 161, 151, 0, 140, 238, 154, 0, 6, 228, 145, 0, 30, 6, 71, 0, 91, 129, 62, 0, 73, 146, 0, 0, 133, 80, 55, 0, 173, 142, 190, 0, 144, 182, 92, 0, 242, 238, 1, 0, 153, 112, 124, 0, 109, 47, 216, 0, 18, 58, 8, 0, 59, 3, 194, 0, 124, 93, 192, 0, 24, 136, 145, 0, 168, 195, 40, 0, 168, 11, 229, 0, 110, 72, 184, 0, 49, 143, 169, 0, 124, 28, 95, 0, 74, 111, 35, 0, 145, 8, 80, 0, 25, 121, 188, 0, 224, 104, 176, 0, 192, 50, 147, 0, 186, 45, 1, 0, 41, 192, 111, 0, 150, 116, 42, 0, 52, 71, 28, 0, 215, 31, 150, 0, 108, 50, 47, 0, 250, 131, 241, 0, 116, 38, 253, 0, 190, 95, 152, 0, 223, 11, 253, 0, 5, 81, 120, 0, 133, 82, 224, 0, 202, 180, 99, 0, 156, 198, 250, 0, 47, 232, 0, 0, 13, 241, 248, 0, 194, 207, 29, 0, 95, 122, 250, 0, 247, 135, 132, 0, 67, 183, 3, 0, 141, 118, 157, 0, 192, 102, 136, 0, 20, 18, 226, 0, 160, 17, 42, 0, 95, 212, 51, 0, 85, 160, 180, 0, 64, 223, 72, 0, 220, 114, 188, 0, 193, 169, 106, 0, 216, 27, 85, 0, 159, 148, 28, 0, 45, 27, 37, 0, 54, 6, 92, 0, 107, 121, 113, 0, 33, 238, 27, 0, 44, 16, 47, 0, 237, 115, 75, 0, 19, 37, 111, 0, 50, 185, 154, 0, 131, 40, 28, 0, 219, 136, 199, 0, 110, 62, 189, 0, 229, 159, 250, 0, 114, 221, 8, 0, 125, 163, 42, 0, 51, 17, 232, 0, 180, 239, 18, 0, 165, 90, 28, 0, 218, 157, 22, 0, 58, 81, 2, 0, 76, 253, 2, 0, 212, 110, 174, 0, 161, 79, 55, 0, 112, 232, 47, 0, 12, 88, 173, 0, 184, 230, 37, 0, 4, 126, 37, 0, 254, 229, 17, 0, 249, 251, 57, 0, 45, 81, 26, 0, 84, 91, 241, 0, 154, 105, 56, 0, 100, 162, 111, 0, 46, 186, 31, 0, 26, 231, 24, 0, 212, 146, 235, 0, 199, 18, 97, 0, 165, 170, 205, 0, 127, 94, 0, 0, 92, 58, 17, 0, 113, 165, 23, 0, 195, 202, 81, 0, 100, 197, 172, 0, 71, 238, 224, 0, 154, 66, 19, 0, 68, 122, 173, 0, 188, 91, 9, 0, 197, 215, 5, 0, 124, 93, 30, 0, 167, 176, 71, 0, 228, 29, 41, 0, 155, 161, 6, 0, 154, 83, 31, 0, 200, 233, 53, 0, 233, 136, 175, 0, 66, 242, 108, 0, 106, 81, 90, 0, 166, 41, 72, 0, 226, 126, 80, 0, 17, 36, 182, 0, 234, 112, 90, 0, 135, 244, 29, 0, 149, 56, 197, 0, 244, 25, 21, 0, 178, 1, 55, 0, 191, 127, 241, 0, 125, 212, 237, 0, 170, 185, 91, 0, 58, 108, 226, 0, 113, 68, 199, 0, 57, 53, 88, 0, 105, 151, 239, 0, 68, 207, 85, 0, 97, 52, 36, 0, 89, 244, 172, 0, 70, 190, 204, 0, 140, 206, 143, 0, 179, 31, 90, 0, 73, 110, 187, 0, 60, 227, 175, 0, 134, 147, 91, 0, 172, 144, 65, 0, 165, 153, 91, 0, 102, 226, 110, 0, 192, 81, 96, 0, 210, 69, 199, 0, 190, 35, 106, 0, 99, 14, 65, 0, 46, 143, 18, 0, 7, 170, 63, 0, 227, 161, 94, 0, 198, 66, 235, 0, 199, 65, 178, 0, 66, 51, 252, 0, 250, 48, 56, 0, 90, 198, 149, 0, 142, 140, 113, 0, 203, 134, 152, 0, 168, 119, 58, 0, 90, 48, 100, 0, 146, 60, 138, 0, 187, 140, 45, 0, 218, 193, 160, 0, 98, 161, 154, 0, 203, 164, 2, 0, 155, 67, 123, 0, 40, 46, 73, 0, 45, 23, 98, 0, 178, 180, 46, 0, 121, 171, 105, 0, 238, 39, 77, 0, 207, 186, 15, 0, 30, 193, 56, 0, 83, 245, 160, 0, 5, 52, 51, 0, 22, 84, 56, 0, 65, 116, 210, 0, 246, 252, 136, 0, 177, 133, 206, 0, 249, 50, 227, 0, 130, 175, 40, 0, 54, 253, 172, 0, 238, 181, 47, 0, 246, 235, 82, 0, 132, 85, 244, 0, 90, 162, 217, 0, 97, 30, 103, 0, 189, 217, 158, 0, 18, 160, 53, 0, 96, 213, 198, 0, 125, 180, 218, 0, 28, 16, 79, 0, 164, 71, 32, 0, 117, 8, 196, 0, 175, 90, 230, 0, 126, 224, 183, 0, 1, 48, 10, 0, 75, 186, 210, 0, 63, 179, 239, 0, 154, 76, 2, 0, 83, 129, 188, 0, 87, 54, 37, 0, 107, 198, 105, 0, 93, 206, 172, 0, 89, 241, 118, 0, 61, 254, 151, 0, 212, 213, 83, 0, 90, 27, 49, 0, 90, 28, 240, 0, 215, 117, 69, 0, 102, 121, 226, 0, 95, 33, 239, 0, 74, 60, 242, 0, 133, 145, 230, 0, 167, 95, 52, 0, 70, 173, 239, 0, 175, 146, 202, 0, 87, 11, 49, 0, 45, 248, 235, 0, 27, 23, 112, 0, 212, 68, 29, 0, 113, 36, 71, 0, 53, 112, 90, 0, 20, 203, 68, 0, 27, 182, 157, 0, \ +243, 29, 187, 0, 246, 232, 66, 0, 157, 211, 152, 0, 166, 144, 203, 0, 242, 105, 50, 0, 98, 115, 82, 0, 91, 164, 200, 0, 151, 60, 109, 0, 9, 188, 196, 0, 149, 12, 145, 0, 192, 212, 96, 0, 242, 107, 201, 0, 53, 152, 157, 0, 116, 91, 30, 0, 14, 178, 243, 0, 55, 106, 188, 0, 216, 190, 134, 0, 55, 76, 216, 0, 183, 10, 162, 0, 39, 144, 164, 0, 129, 181, 84, 0, 141, 208, 26, 0, 108, 104, 50, 0, 69, 37, 75, 0, 200, 184, 189, 0, 225, 166, 194, 0, 27, 145, 78, 0, 209, 206, 72, 0, 33, 191, 131, 0, 23, 205, 48, 0, 74, 152, 137, 0, 206, 204, 37, 0, 67, 100, 188, 0, 156, 120, 133, 0, 159, 218, 115, 0, 131, 3, 138, 0, 75, 158, 219, 0, 193, 152, 81, 0, 10, 171, 214, 0, 17, 122, 35, 0, 232, 67, 101, 0, 50, 186, 128, 0, 11, 11, 199, 0, 29, 13, 77, 0, 254, 141, 93, 0, 61, 146, 75, 0, 52, 117, 170, 0, 152, 179, 35, 0, 56, 36, 32, 0, 143, 220, 154, 0, 141, 167, 176, 0, 83, 135, 245, 0, 58, 253, 234, 0, 199, 234, 97, 0, 71, 134, 200, 0, 136, 5, 56, 0, 104, 229, 196, 0, 92, 15, 0, 0, 178, 175, 19, 0, 53, 11, 153, 0, 19, 109, 4, 0, 230, 59, 153, 0, 24, 73, 3, 0, 28, 202, 34, 0, 218, 194, 0, 0, 204, 92, 113, 0, 161, 23, 93, 0, 89, 41, 103, 0, 222, 11, 247, 0, 38, 3, 93, 0, 222, 126, 107, 0, 65, 26, 4, 0, 62, 203, 31, 0, 208, 39, 164, 0, 159, 125, 70, 0, 140, 142, 233, 0, 162, 235, 47, 0, 242, 235, 164, 0, 8, 217, 22, 0, 78, 213, 132, 0, 100, 235, 156, 0, 132, 10, 127, 0, 142, 19, 45, 0, 57, 30, 137, 0, 46, 131, 226, 0, 169, 87, 121, 0, 108, 215, 231, 0, 149, 29, 45, 0, 239, 204, 4, 0, 149, 43, 162, 0, 151, 186, 200, 0, 153, 175, 52, 0, 126, 57, 85, 0, 30, 102, 243, 0, 196, 232, 146, 0, 46, 34, 210, 0, 59, 27, 90, 0, 76, 80, 163, 0, 225, 50, 201, 0, 75, 11, 172, 0, 154, 40, 197, 0, 230, 203, 91, 0, 20, 160, 86, 0, 111, 235, 81, 0, 176, 105, 147, 0, 30, 89, 45, 0, 11, 182, 17, 0, 86, 113, 12, 0, 248, 76, 170, 0, 75, 12, 178, 0, 4, 59, 119, 0, 76, 97, 200, 0, 109, 31, 71, 0, 246, 21, 4, 0, 138, 231, 197, 0, 51, 61, 133, 0, 220, 142, 159, 0, 62, 124, 68, 0, 124, 123, 91, 0, 2, 146, 175, 0, 193, 207, 110, 0, 95, 200, 68, 0, 194, 60, 246, 0, 216, 251, 32, 0, 217, 168, 155, 0, 231, 84, 39, 0, 145, 200, 92, 0, 104, 95, 83, 0, 205, 101, 195, 0, 225, 113, 235, 0, 57, 180, 55, 0, 131, 59, 184, 0, 213, 214, 206, 0, 101, 151, 135, 0, 53, 97, 93, 0, 208, 112, 13, 0, 97, 241, 98, 0, 229, 8, 58, 0, 224, 104, 211, 0, 112, 71, 8, 0, 245, 185, 82, 0, 39, 142, 128, 0, 224, 55, 109, 0, 18, 104, 154, 0, 160, 224, 100, 0, 88, 132, 200, 0, 94, 19, 96, 0, 33, 248, 7, 0, 170, 131, 189, 0, 200, 83, 38, 0, 165, 19, 26, 0, 136, 147, 191, 0, 173, 83, 232, 0, 235, 22, 22, 0, 25, 15, 72, 0, 93, 126, 194, 0, 215, 136, 80, 0, 196, 211, 92, 0, 43, 21, 154, 0, 207, 20, 230, 0, 10, 159, 249, 0, 87, 169, 65, 0, 152, 172, 212, 0, 11, 154, 30, 0, 170, 132, 166, 0, 77, 74, 149, 0, 190, 36, 191, 0, 123, 247, 189, 0, 240, 186, 44, 0, 146, 82, 188, 0, 162, 76, 182, 0, 73, 232, 171, 0, 147, 16, 76, 0, 178, 50, 198, 0, 91, 110, 192, 0, 42, 94, 228, 0, 85, 104, 154, 0, 15, 119, 67, 0, 164, 187, 209, 0, 124, 115, 68, 0, 19, 176, 78, 0, 178, 188, 244, 0, 1, 15, 129, 0, 29, 248, 8, 0, 197, 185, 155, 0, 237, 160, 249, 0, 164, 76, 117, 0, 86, 183, 9, 0, 50, 2, 248, 0, 150, 57, 176, 0, 13, 135, 3, 0, 198, 250, 153, 0, 121, 249, 89, 0, 88, 205, 233, 0, 248, 82, 128, 0, 195, 13, 24, 0, 221, 242, 193, 0, 232, 53, 121, 0, 222, 133, 50, 0, 235, 186, 24, 0, 163, 246, 216, 0, 82, 190, 173, 0, 100, 123, 113, 0, 81, 152, 147, 0, 60, 54, 20, 0, 3, 131, 37, 0, 243, 168, 59, 0, 102, 182, 78, 0, 170, 62, 101, 0, 94, 239, 233, 0, 31, 103, 197, 0, 210, 105, 66, 0, 14, 186, 29, 0, 140, 210, 114, 0, 159, 198, 64, 0, 101, 204, 72, 0, 182, 29, 195, 0, 152, 102, 169, 0, 55, 184, 111, 0, 71, 17, 237, 0, 60, 63, 183, 0, 83, 201, 248, 0, 25, 226, 169, 0, 32, 121, 245, 0, \ +170, 237, 41, 0, 154, 38, 105, 0, 119, 165, 57, 0, 44, 222, 62, 0, 154, 26, 176, 0, 147, 233, 251, 0, 233, 222, 17, 0, 196, 3, 200, 0, 214, 18, 34, 0, 94, 108, 82, 0, 234, 242, 152, 0, 170, 152, 120, 0, 25, 186, 87, 0, 185, 138, 147, 0, 177, 78, 23, 0, 104, 201, 1, 0, 92, 127, 226, 0, 136, 240, 72, 0, 47, 150, 181, 0, 235, 77, 86, 0, 17, 62, 213, 0, 85, 185, 213, 0, 42, 190, 61, 0, 14, 62, 117, 0, 221, 76, 9, 0, 88, 168, 145, 0, 48, 134, 136, 0, 197, 69, 157, 0, 13, 41, 115, 0, 15, 18, 163, 0, 208, 136, 71, 0, 152, 229, 8, 0, 23, 14, 207, 0, 73, 248, 131, 0, 81, 17, 113, 0, 33, 7, 183, 0, 192, 132, 234, 0, 55, 62, 222, 0, 246, 140, 135, 0, 155, 88, 88, 0, 165, 100, 146, 0, 129, 29, 77, 0, 244, 90, 141, 0, 136, 33, 150, 0, 164, 42, 68, 0, 91, 43, 170, 0, 206, 11, 119, 0, 67, 124, 228, 0, 215, 134, 115, 0, 130, 199, 113, 0, 121, 178, 233, 0, 12, 48, 101, 0, 104, 100, 127, 0, 49, 185, 81, 0, 174, 152, 205, 0, 59, 5, 189, 0, 166, 193, 175, 0, 227, 195, 108, 0, 6, 206, 149, 0, 93, 158, 178, 0, 156, 48, 57, 0, 85, 83, 240, 0, 77, 11, 9, 0, 211, 50, 137, 0, 82, 72, 92, 0, 95, 24, 213, 0, 44, 252, 35, 0, 48, 153, 62, 0, 181, 97, 50, 0, 231, 57, 53, 0, 251, 99, 204, 0, 203, 139, 6, 0, 203, 252, 116, 0, 31, 181, 157, 0, 236, 212, 141, 0, 206, 158, 131, 0, 74, 83, 28, 0, 199, 69, 19, 0, 104, 47, 215, 0, 143, 227, 250, 0, 10, 29, 109, 0, 43, 96, 236, 0, 115, 210, 99, 0, 129, 196, 29, 0, 95, 251, 102, 0, 164, 196, 11, 0, 117, 234, 1, 0, 23, 1, 160, 0, 70, 3, 7, 0, 163, 143, 15, 0, 79, 65, 212, 0, 154, 215, 8, 0, 126, 245, 140, 0, 33, 28, 78, 0, 157, 78, 167, 0, 208, 246, 162, 0, 169, 121, 185, 0, 243, 249, 165, 0, 0, 3, 231, 0, 71, 14, 163, 0, 220, 63, 14, 0, 192, 159, 127, 0, 205, 136, 180, 0, 206, 179, 132, 0, 188, 200, 158, 0, 81, 180, 42, 0, 29, 44, 4, 0, 14, 127, 172, 0, 25, 152, 207, 0, 235, 127, 14, 0, 10, 133, 230, 0, 53, 45, 184, 0, 67, 55, 67, 0, 171, 225, 107, 0, 48, 63, 59, 0, 211, 224, 18, 0, 81, 5, 93, 0, 232, 56, 128, 0, 134, 66, 205, 0, 13, 189, 100, 0, 31, 28, 207, 0, 63, 38, 44, 0, 28, 26, 215, 0, 196, 58, 183, 0, 150, 141, 162, 0, 148, 232, 212, 0, 116, 94, 188, 0, 127, 114, 252, 0, 202, 119, 136, 0, 64, 228, 119, 0, 202, 8, 153, 0, 208, 14, 201, 0, 165, 5, 99, 0, 176, 155, 79, 0, 147, 240, 232, 0, 74, 173, 211, 0, 254, 13, 226, 0, 181, 128, 71, 0, 145, 90, 76, 0, 163, 91, 178, 0, 149, 72, 72, 0, 121, 194, 96, 0, 153, 6, 179, 0, 0, 206, 54, 0, 31, 84, 34, 0, 229, 43, 153, 0, 15, 161, 152, 0, 120, 75, 12, 0, 185, 187, 244, 0, 235, 65, 103, 0, 80, 180, 130, 0, 208, 129, 180, 0, 166, 203, 166, 0, 120, 4, 113, 0, 212, 207, 188, 0, 6, 225, 12, 0, 91, 241, 12, 0, 196, 244, 79, 0, 214, 151, 163, 0, 156, 184, 221, 0, 128, 252, 194, 0, 28, 133, 38, 0, 20, 40, 226, 0, 152, 154, 9, 0, 98, 44, 78, 0, 119, 95, 11, 0, 25, 24, 72, 0, 80, 201, 229, 0, 99, 170, 96, 0, 130, 186, 190, 0, 41, 237, 91, 0, 150, 80, 102, 0, 53, 212, 148, 0, 58, 135, 152, 0, 187, 69, 215, 0, 249, 105, 245, 0, 44, 189, 140, 0, 144, 24, 56, 0, 46, 113, 10, 0, 77, 100, 111, 0, 180, 233, 8, 0, 196, 120, 190, 0, 151, 209, 251, 0, 130, 109, 152, 0, 24, 168, 223, 0, 213, 65, 239, 0, 128, 77, 216, 0, 56, 215, 82, 0, 60, 102, 238, 0, 124, 191, 235, 0, 137, 72, 226, 0, 219, 112, 239, 0, 109, 215, 144, 0, 131, 210, 104, 0, 127, 7, 241, 0, 182, 65, 118, 0, 249, 13, 222, 0, 47, 164, 116, 0, 145, 235, 177, 0, 59, 251, 153, 0, 101, 41, 241, 0, 225, 180, 151, 0, 217, 67, 174, 0, 43, 37, 75, 0, 46, 211, 170, 0, 225, 209, 214, 0, 252, 6, 230, 0, 79, 47, 247, 0, 192, 205, 166, 0, 106, 187, 152, 0, 89, 201, 232, 0, 142, 171, 115, 0, 213, 41, 82, 0, 85, 185, 167, 0, 40, 243, 15, 0, 38, 173, 58, 0, 32, 237, 170, 0, 155, 130, 134, 0, 210, 241, 76, 0, 251, 160, 132, 0, 82, 59, 110, 0, 182, 60, 104, 0, 236, 138, 238, 0, 51, 180, 182, 0, \ +7, 79, 226, 0, 189, 106, 222, 0, 36, 65, 19, 0, 100, 177, 213, 0, 80, 198, 50, 0, 78, 149, 153, 0, 66, 251, 227, 0, 250, 247, 179, 0, 74, 235, 61, 0, 184, 160, 173, 0, 47, 164, 171, 0, 22, 210, 181, 0, 24, 240, 217, 0, 122, 85, 156, 0, 12, 204, 43, 0, 69, 97, 145, 0, 48, 223, 64, 0, 239, 61, 187, 0, 150, 122, 48, 0, 210, 26, 108, 0, 150, 180, 126, 0, 235, 218, 100, 0, 204, 79, 247, 0, 250, 241, 181, 0, 14, 36, 115, 0, 58, 47, 115, 0, 128, 85, 220, 0, 154, 244, 153, 0, 148, 196, 182, 0, 249, 203, 126, 0, 185, 71, 98, 0, 224, 126, 164, 0, 105, 53, 217, 0, 12, 93, 76, 0, 79, 205, 229, 0, 69, 253, 245, 0, 63, 250, 48, 0, 140, 95, 81, 0, 187, 94, 241, 0, 139, 223, 16, 0, 205, 141, 9, 0, 217, 38, 58, 0, 222, 161, 196, 0, 175, 68, 199, 0, 1, 161, 34, 0, 133, 120, 179, 0, 98, 119, 5, 0, 90, 31, 25, 0, 9, 99, 186, 0, 187, 151, 20, 0, 129, 149, 106, 0, 80, 106, 155, 0, 209, 198, 234, 0, 111, 14, 225, 0, 98, 174, 169, 0, 12, 28, 164, 0, 71, 213, 6, 0, 72, 38, 44, 0, 123, 216, 100, 0, 111, 110, 154, 0, 140, 203, 99, 0, 175, 151, 51, 0, 111, 212, 153, 0, 218, 20, 144, 0, 34, 68, 34, 0, 127, 107, 137, 0, 236, 182, 209, 0, 77, 70, 3, 0, 192, 124, 201, 0, 112, 50, 58, 0, 101, 88, 175, 0, 201, 24, 176, 0, 233, 241, 174, 0, 218, 251, 14, 0, 20, 197, 9, 0, 214, 19, 209, 0, 33, 47, 218, 0, 30, 38, 244, 0, 253, 172, 25, 0, 125, 142, 35, 0, 57, 69, 84, 0, 109, 186, 54, 0, 58, 39, 93, 0, 240, 207, 159, 0, 227, 7, 82, 0, 19, 121, 237, 0, 135, 230, 19, 0, 192, 196, 1, 0, 22, 146, 135, 0, 47, 105, 219, 0, 116, 216, 22, 0, 84, 200, 169, 0, 43, 21, 208, 0, 89, 248, 99, 0, 206, 216, 19, 0, 60, 116, 134, 0, 117, 61, 203, 0, 64, 5, 199, 0, 14, 111, 238, 0, 202, 18, 52, 0, 194, 112, 42, 0, 150, 176, 111, 0, 2, 82, 127, 0, 243, 236, 186, 0, 137, 108, 78, 0, 141, 189, 63, 0, 37, 170, 245, 0, 244, 29, 184, 0, 231, 114, 215, 0, 37, 84, 223, 0, 47, 251, 150, 0, 94, 12, 216, 0, 163, 194, 170, 0, 21, 226, 171, 0, 80, 15, 106, 0, 88, 203, 79, 0, 135, 160, 169, 0, 171, 112, 242, 0, 5, 9, 101, 0, 177, 0, 132, 0, 170, 162, 216, 0, 7, 54, 10, 0, 87, 17, 133, 0, 115, 216, 154, 0, 175, 32, 66, 0, 63, 52, 98, 0, 60, 247, 47, 0, 249, 97, 242, 0, 234, 50, 188, 0, 20, 65, 11, 0, 202, 19, 87, 0, 19, 144, 200, 0, 213, 193, 163, 0, 243, 102, 178, 0, 253, 193, 156, 0, 20, 25, 105, 0, 145, 236, 58, 0, 204, 203, 185, 0, 20, 209, 8, 0, 16, 184, 118, 0, 122, 54, 222, 0, 14, 29, 137, 0, 245, 242, 99, 0, 125, 93, 247, 0, 205, 213, 165, 0, 11, 160, 121, 0, 0, 71, 67, 0, 254, 254, 131, 0, 72, 101, 70, 0, 61, 110, 89, 0, 19, 83, 211, 0, 112, 43, 245, 0, 38, 158, 97, 0, 54, 78, 153, 0, 5, 252, 34, 0, 115, 56, 71, 0, 245, 88, 50, 0, 149, 28, 21, 0, 71, 203, 183, 0, 23, 181, 94, 0, 140, 102, 191, 0, 33, 129, 82, 0, 243, 75, 42, 0, 22, 237, 201, 0, 106, 108, 223, 0, 18, 234, 50, 0, 119, 224, 128, 0, 48, 165, 248, 0, 69, 111, 56, 0, 112, 217, 105, 0, 244, 152, 194, 0, 0, 172, 43, 0, 200, 183, 226, 0, 127, 9, 238, 0, 227, 133, 24, 0, 33, 248, 102, 0, 77, 63, 99, 0, 146, 26, 196, 0, 134, 81, 143, 0, 132, 59, 125, 0, 111, 196, 139, 0, 158, 130, 231, 0, 139, 25, 117, 0, 222, 104, 5, 0, 193, 227, 172, 0, 186, 226, 184, 0, 4, 253, 64, 0, 165, 118, 138, 0, 28, 171, 242, 0, 57, 71, 117, 0, 45, 170, 180, 0, 100, 144, 77, 0, 18, 184, 134, 0, 108, 109, 229, 0, 144, 52, 254, 0, 50, 252, 239, 0, 21, 53, 60, 0, 71, 236, 65, 0, 247, 186, 138, 0, 174, 162, 22, 0, 129, 111, 161, 0, 110, 253, 117, 0, 250, 195, 30, 0, 11, 102, 254, 0, 122, 6, 10, 0, 99, 16, 202, 0, 103, 118, 9, 0, 67, 39, 241, 0, 161, 229, 29, 0, 206, 244, 1, 0, 18, 232, 66, 0, 94, 0, 25, 0, 119, 1, 159, 0, 137, 235, 217, 0, 3, 138, 210, 0, 9, 165, 245, 0, 137, 34, 109, 0, 10, 115, 199, 0, 36, 66, 53, 0, 222, 44, 198, 0, 158, 53, 226, 0, 214, 72, 210, 0, 34, 241, 241, 0, 244, 130, 245, 0, \ +147, 216, 146, 0, 103, 206, 196, 0, 61, 119, 13, 0, 84, 224, 205, 0, 69, 194, 116, 0, 214, 147, 98, 0, 250, 213, 30, 0, 155, 148, 203, 0, 173, 103, 150, 0, 228, 180, 71, 0, 75, 101, 8, 0, 2, 153, 68, 0, 51, 28, 84, 0, 51, 26, 49, 0, 146, 115, 222, 0, 13, 66, 205, 0, 53, 208, 116, 0, 241, 89, 36, 0, 23, 114, 20, 0, 3, 240, 208, 0, 87, 46, 206, 0, 134, 223, 105, 0, 160, 205, 132, 0, 215, 228, 197, 0, 191, 204, 172, 0, 102, 53, 133, 0, 3, 115, 142, 0, 79, 137, 16, 0, 70, 129, 181, 0, 79, 83, 229, 0, 73, 87, 157, 0, 231, 70, 178, 0, 196, 33, 250, 0, 190, 218, 96, 0, 220, 28, 150, 0, 56, 144, 205, 0, 185, 10, 181, 0, 130, 74, 252, 0, 33, 137, 137, 0, 109, 28, 17, 0, 67, 227, 174, 0, 72, 151, 183, 0, 167, 180, 78, 0, 202, 52, 107, 0, 238, 175, 137, 0, 123, 59, 51, 0, 37, 213, 221, 0, 73, 158, 245, 0, 81, 190, 138, 0, 138, 30, 235, 0, 174, 161, 144, 0, 83, 53, 101, 0, 123, 184, 95, 0, 205, 172, 173, 0, 89, 100, 170, 0, 199, 20, 39, 0, 164, 72, 43, 0, 183, 212, 187, 0, 180, 221, 205, 0, 18, 9, 190, 0, 36, 8, 154, 0, 187, 133, 180, 0, 253, 54, 65, 0, 177, 81, 98, 0, 31, 31, 77, 0, 51, 114, 43, 0, 200, 208, 220, 0, 224, 40, 114, 0, 76, 218, 173, 0, 214, 205, 251, 0, 217, 33, 195, 0, 211, 174, 90, 0, 88, 235, 221, 0, 54, 45, 104, 0, 212, 9, 37, 0, 18, 157, 14, 0, 31, 233, 96, 0, 61, 220, 35, 0, 31, 120, 222, 0, 63, 186, 106, 0, 72, 90, 188, 0, 217, 55, 204, 0, 217, 130, 4, 0, 54, 6, 103, 0, 223, 216, 88, 0, 185, 126, 253, 0, 78, 100, 133, 0, 86, 115, 186, 0, 228, 32, 251, 0, 73, 156, 188, 0, 3, 230, 245, 0, 145, 80, 117, 0, 64, 174, 129, 0, 220, 38, 126, 0, 10, 121, 253, 0, 22, 235, 170, 0, 197, 232, 156, 0, 163, 109, 95, 0, 0, 106, 19, 0, 184, 71, 203, 0, 50, 61, 76, 0, 2, 167, 14, 0, 95, 105, 240, 0, 197, 94, 204, 0, 139, 205, 57, 0, 136, 94, 217, 0, 62, 17, 17, 0, 229, 34, 162, 0, 84, 113, 209, 0, 244, 36, 110, 0, 151, 3, 33, 0, 222, 41, 147, 0, 50, 179, 80, 0, 18, 56, 168, 0, 153, 48, 115, 0, 140, 133, 103, 0, 241, 4, 125, 0, 79, 177, 237, 0, 12, 223, 246, 0, 232, 97, 103, 0, 92, 32, 99, 0, 162, 107, 211, 0, 161, 159, 86, 0, 217, 70, 137, 0, 249, 114, 62, 0, 247, 157, 138, 0, 60, 101, 122, 0, 30, 125, 246, 0, 27, 113, 201, 0, 63, 34, 81, 0, 213, 116, 154, 0, 148, 86, 4, 0, 34, 136, 188, 0, 161, 76, 1, 0, 230, 69, 252, 0, 16, 83, 170, 0, 68, 101, 3, 0, 190, 246, 229, 0, 12, 27, 153, 0, 112, 233, 21, 0, 123, 155, 58, 0, 249, 149, 141, 0, 54, 151, 195, 0, 92, 69, 235, 0, 252, 178, 167, 0, 87, 70, 204, 0, 182, 254, 105, 0, 86, 196, 125, 0, 196, 18, 59, 0, 128, 190, 163, 0, 231, 204, 16, 0, 93, 13, 127, 0, 7, 212, 161, 0, 49, 185, 173, 0, 115, 15, 87, 0, 6, 154, 1, 0, 157, 132, 6, 0, 195, 230, 239, 0, 184, 50, 225, 0, 205, 185, 59, 0, 235, 208, 213, 0, 208, 35, 73, 0, 32, 167, 91, 0, 115, 5, 107, 0, 146, 193, 27, 0, 179, 38, 199, 0, 205, 15, 169, 0, 48, 17, 29, 0, 227, 80, 7, 0, 145, 208, 199, 0, 224, 156, 105, 0, 58, 91, 143, 0, 59, 141, 140, 0, 173, 0, 174, 0, 16, 104, 249, 0, 136, 89, 155, 0, 214, 213, 91, 0, 119, 138, 195, 0, 234, 116, 244, 0, 9, 109, 240, 0, 246, 140, 143, 0, 55, 61, 74, 0, 89, 161, 195, 0, 213, 22, 203, 0, 156, 241, 57, 0, 180, 242, 60, 0, 7, 239, 134, 0, 13, 242, 40, 0, 27, 176, 141, 0, 109, 0, 244, 0, 123, 209, 4, 0, 120, 113, 1, 0, 166, 209, 190, 0, 128, 182, 33, 0, 204, 22, 52, 0, 223, 245, 165, 0, 248, 184, 170, 0, 53, 230, 50, 0, 155, 123, 238, 0, 197, 34, 218, 0, 86, 121, 162, 0, 210, 47, 129, 0, 23, 141, 167, 0, 206, 99, 135, 0, 96, 86, 181, 0, 218, 191, 142, 0, 45, 148, 203, 0, 54, 224, 114, 0, 108, 123, 137, 0, 188, 245, 250, 0, 234, 115, 112, 0, 149, 240, 128, 0, 134, 107, 149, 0, 172, 65, 227, 0, 119, 146, 212, 0, 185, 147, 92, 0, 26, 86, 240, 0, 0, 226, 140, 0, 106, 176, 81, 0, 37, 235, 85, 0, 127, 87, 83, 0, 31, 60, 60, 0, 92, 90, 41, 0, 164, 225, 96, 0, \ +83, 167, 183, 0, 200, 45, 117, 0, 165, 213, 162, 0, 21, 94, 150, 0, 56, 157, 96, 0, 177, 225, 132, 0, 172, 180, 30, 0, 212, 118, 80, 0, 128, 55, 135, 0, 185, 113, 226, 0, 89, 204, 31, 0, 172, 152, 191, 0, 220, 4, 222, 0, 226, 112, 199, 0, 31, 27, 111, 0, 60, 96, 233, 0, 201, 164, 89, 0, 2, 119, 26, 0, 172, 45, 164, 0, 22, 229, 95, 0, 198, 13, 51, 0, 185, 227, 76, 0, 189, 61, 220, 0, 10, 195, 157, 0, 211, 76, 140, 0, 20, 46, 120, 0, 28, 52, 54, 0, 104, 204, 54, 0, 15, 18, 118, 0, 14, 69, 110, 0, 166, 127, 30, 0, 162, 68, 49, 0, 32, 102, 245, 0, 79, 142, 48, 0, 138, 247, 233, 0, 229, 190, 198, 0, 175, 39, 172, 0, 157, 87, 38, 0, 230, 91, 100, 0, 121, 4, 247, 0, 21, 37, 148, 0, 159, 216, 33, 0, 71, 125, 198, 0, 185, 19, 59, 0, 127, 141, 35, 0, 197, 242, 111, 0, 150, 114, 59, 0, 214, 79, 26, 0, 39, 71, 12, 0, 93, 60, 167, 0, 16, 122, 152, 0, 236, 34, 27, 0, 253, 182, 194, 0, 233, 35, 170, 0, 199, 78, 227, 0, 104, 131, 149, 0, 106, 191, 181, 0, 99, 86, 192, 0, 51, 106, 210, 0, 205, 109, 94, 0, 222, 215, 149, 0, 121, 39, 206, 0, 184, 233, 196, 0, 63, 61, 191, 0, 177, 2, 231, 0, 15, 30, 110, 0, 208, 122, 97, 0, 55, 167, 24, 0, 209, 222, 214, 0, 65, 111, 139, 0, 57, 251, 179, 0, 32, 80, 250, 0, 163, 216, 88, 0, 67, 144, 224, 0, 245, 201, 193, 0, 89, 173, 107, 0, 107, 167, 15, 0, 214, 70, 68, 0, 133, 89, 118, 0, 250, 231, 32, 0, 166, 240, 30, 0, 79, 22, 235, 0, 73, 201, 161, 0, 123, 207, 190, 0, 149, 155, 102, 0, 132, 229, 196, 0, 209, 191, 76, 0, 193, 226, 224, 0, 1, 4, 14, 0, 55, 46, 78, 0, 171, 228, 150, 0, 91, 223, 91, 0, 113, 141, 77, 0, 174, 194, 16, 0, 147, 10, 49, 0, 103, 249, 4, 0, 203, 14, 89, 0, 109, 208, 143, 0, 103, 214, 69, 0, 121, 185, 175, 0, 198, 17, 211, 0, 65, 147, 40, 0, 13, 117, 32, 0, 206, 227, 170, 0, 150, 93, 225, 0, 37, 133, 214, 0, 42, 89, 10, 0, 151, 247, 86, 0, 50, 82, 30, 0, 21, 10, 147, 0, 17, 164, 193, 0, 30, 218, 94, 0, 138, 4, 160, 0, 97, 29, 165, 0, 12, 253, 87, 0, 41, 132, 152, 0, 86, 103, 223, 0, 148, 124, 19, 0, 136, 34, 145, 0, 122, 230, 148, 0, 139, 3, 181, 0, 166, 38, 115, 0, 156, 7, 170, 0, 226, 243, 83, 0, 149, 94, 48, 0, 117, 185, 210, 0, 17, 228, 87, 0, 86, 111, 169, 0, 17, 146, 126, 0, 230, 19, 121, 0, 163, 158, 220, 0, 75, 66, 215, 0, 57, 214, 145, 0, 195, 72, 203, 0, 7, 244, 104, 0, 5, 199, 131, 0, 0, 56, 54, 0, 188, 131, 25, 0, 170, 175, 206, 0, 90, 25, 129, 0, 71, 206, 208, 0, 137, 174, 29, 0, 68, 157, 107, 0, 250, 232, 114, 0, 169, 84, 189, 0, 196, 233, 195, 0, 206, 33, 166, 0, 158, 144, 223, 0, 65, 188, 16, 0, 213, 58, 156, 0, 11, 27, 152, 0, 72, 14, 46, 0, 97, 144, 219, 0, 78, 10, 199, 0, 176, 85, 109, 0, 107, 44, 90, 0, 5, 56, 77, 0, 154, 68, 148, 0, 207, 12, 182, 0, 60, 188, 238, 0, 66, 93, 143, 0, 78, 251, 31, 0, 51, 19, 240, 0, 74, 238, 192, 0, 229, 244, 224, 0, 209, 110, 241, 0, 86, 151, 183, 0, 25, 195, 28, 0, 208, 73, 227, 0, 155, 142, 240, 0, 168, 113, 189, 0, 43, 29, 149, 0, 16, 119, 82, 0, 24, 69, 223, 0, 110, 149, 13, 0, 148, 67, 132, 0, 230, 144, 228, 0, 99, 237, 140, 0, 53, 38, 19, 0, 238, 140, 125, 0, 115, 76, 121, 0, 221, 175, 195, 0, 160, 33, 236, 0, 211, 112, 73, 0, 87, 129, 239, 0, 97, 83, 235, 0, 114, 112, 162, 0, 237, 49, 144, 0, 244, 31, 38, 0, 75, 75, 140, 0, 62, 225, 34, 0, 120, 73, 250, 0, 111, 212, 150, 0, 224, 122, 111, 0, 5, 249, 37, 0, 41, 190, 245, 0, 237, 114, 111, 0, 20, 214, 125, 0, 184, 251, 180, 0, 43, 1, 4, 0, 137, 16, 188, 0, 96, 28, 34, 0, 232, 42, 235, 0, 213, 9, 244, 0, 225, 156, 249, 0, 226, 68, 132, 0, 71, 9, 117, 0, 39, 11, 70, 0, 4, 206, 176, 0, 57, 181, 78, 0, 143, 24, 40, 0, 35, 38, 140, 0, 61, 169, 125, 0, 145, 83, 153, 0, 252, 185, 91, 0, 141, 240, 39, 0, 182, 115, 15, 0, 122, 20, 22, 0, 11, 68, 122, 0, 248, 111, 73, 0, 51, 16, 108, 0, 26, 45, 128, 0, 82, 219, 204, 0, 220, 85, 63, 0, \ +11, 212, 147, 0, 182, 38, 116, 0, 70, 200, 0, 0, 116, 77, 33, 0, 172, 166, 98, 0, 3, 125, 26, 0, 14, 237, 94, 0, 51, 188, 70, 0, 145, 137, 160, 0, 187, 237, 82, 0, 97, 24, 45, 0, 211, 231, 58, 0, 12, 34, 186, 0, 49, 90, 121, 0, 105, 40, 205, 0, 242, 12, 137, 0, 9, 240, 251, 0, 13, 25, 70, 0, 241, 115, 71, 0, 181, 180, 250, 0, 227, 174, 79, 0, 98, 234, 219, 0, 210, 51, 134, 0, 219, 182, 167, 0, 124, 133, 78, 0, 68, 180, 133, 0, 178, 33, 162, 0, 166, 212, 214, 0, 202, 87, 218, 0, 160, 230, 206, 0, 47, 20, 231, 0, 69, 206, 3, 0, 239, 68, 52, 0, 57, 16, 134, 0, 201, 111, 12, 0, 39, 249, 250, 0, 191, 81, 203, 0, 186, 140, 73, 0, 76, 235, 155, 0, 69, 151, 217, 0, 254, 158, 34, 0, 70, 7, 70, 0, 70, 224, 7, 0, 142, 43, 200, 0, 3, 154, 130, 0, 127, 40, 173, 0, 178, 180, 44, 0, 65, 235, 30, 0, 26, 168, 202, 0, 122, 31, 46, 0, 199, 45, 20, 0, 228, 132, 153, 0, 109, 251, 64, 0, 88, 166, 16, 0, 59, 187, 186, 0, 26, 114, 200, 0, 222, 100, 155, 0, 40, 131, 164, 0, 110, 191, 59, 0, 5, 156, 118, 0, 239, 38, 243, 0, 1, 92, 26, 0, 184, 196, 150, 0, 93, 201, 104, 0, 206, 193, 119, 0, 228, 107, 126, 0, 99, 233, 57, 0, 40, 135, 239, 0, 153, 192, 80, 0, 88, 215, 225, 0, 146, 2, 196, 0, 5, 204, 16, 0, 81, 172, 217, 0, 235, 239, 141, 0, 200, 231, 79, 0, 13, 77, 116, 0, 20, 246, 91, 0, 14, 206, 44, 0, 108, 133, 52, 0, 109, 216, 88, 0, 50, 43, 111, 0, 0, 15, 110, 0, 107, 70, 63, 0, 38, 226, 3, 0, 225, 64, 70, 0, 92, 92, 203, 0, 131, 119, 194, 0, 224, 205, 45, 0, 234, 193, 64, 0, 201, 231, 110, 0, 108, 107, 181, 0, 192, 143, 152, 0, 238, 141, 169, 0, 181, 16, 56, 0, 70, 106, 214, 0, 118, 33, 242, 0, 132, 37, 223, 0, 72, 167, 150, 0, 197, 23, 104, 0, 55, 15, 74, 0, 162, 205, 124, 0, 210, 60, 23, 0, 196, 148, 107, 0, 187, 24, 19, 0, 67, 113, 42, 0, 49, 134, 34, 0, 22, 207, 24, 0, 210, 158, 202, 0, 59, 176, 66, 0, 195, 189, 183, 0, 215, 15, 224, 0, 152, 185, 41, 0, 108, 12, 193, 0, 50, 38, 44, 0, 212, 201, 218, 0, 108, 102, 46, 0, 169, 15, 118, 0, 71, 87, 186, 0, 26, 199, 97, 0, 37, 187, 64, 0, 153, 95, 245, 0, 66, 156, 244, 0, 200, 129, 9, 0, 104, 112, 175, 0, 249, 58, 240, 0, 88, 76, 83, 0, 17, 65, 56, 0, 207, 95, 17, 0, 19, 130, 227, 0, 117, 170, 11, 0, 181, 222, 88, 0, 134, 21, 211, 0, 106, 2, 178, 0, 211, 17, 61, 0, 158, 15, 251, 0, 74, 152, 44, 0, 184, 208, 0, 0, 232, 158, 196, 0, 54, 83, 158, 0, 80, 174, 222, 0, 178, 93, 150, 0, 95, 169, 83, 0, 243, 9, 21, 0, 12, 4, 216, 0, 91, 110, 184, 0, 208, 10, 84, 0, 17, 46, 65, 0, 50, 218, 107, 0, 130, 58, 233, 0, 12, 246, 227, 0, 171, 66, 225, 0, 33, 103, 133, 0, 137, 158, 155, 0, 77, 205, 160, 0, 197, 165, 150, 0, 174, 57, 49, 0, 231, 245, 44, 0, 130, 25, 92, 0, 101, 225, 163, 0, 82, 154, 223, 0, 52, 94, 189, 0, 18, 82, 37, 0, 121, 17, 184, 0, 57, 54, 108, 0, 222, 150, 49, 0, 202, 145, 24, 0, 207, 254, 135, 0, 20, 142, 131, 0, 70, 48, 204, 0, 12, 103, 193, 0, 235, 147, 6, 0, 136, 194, 73, 0, 60, 237, 210, 0, 128, 120, 50, 0, 176, 182, 164, 0, 152, 67, 196, 0, 161, 238, 62, 0, 147, 108, 164, 0, 212, 185, 166, 0, 71, 202, 54, 0, 228, 189, 141, 0, 75, 95, 213, 0, 0, 171, 49, 0, 254, 200, 232, 0, 206, 81, 34, 0, 192, 63, 138, 0, 66, 88, 59, 0, 149, 34, 37, 0, 77, 28, 44, 0, 117, 0, 107, 0, 105, 68, 220, 0, 191, 13, 77, 0, 120, 19, 250, 0, 189, 231, 178, 0, 16, 242, 88, 0, 222, 94, 169, 0, 153, 195, 184, 0, 131, 101, 14, 0, 33, 199, 186, 0, 223, 140, 49, 0, 164, 187, 252, 0, 218, 103, 149, 0, 249, 149, 36, 0, 149, 69, 104, 0, 231, 206, 1, 0, 151, 114, 228, 0, 185, 168, 208, 0, 159, 30, 201, 0, 28, 37, 105, 0, 210, 179, 81, 0, 114, 10, 25, 0, 180, 239, 11, 0, 52, 182, 249, 0, 228, 184, 28, 0, 61, 205, 30, 0, 172, 200, 166, 0, 206, 78, 23, 0, 169, 59, 175, 0, 140, 245, 38, 0, 34, 187, 5, 0, 61, 93, 26, 0, 204, 32, 27, 0, 150, 68, 126, 0, 51, 63, 214, 0, \ +19, 195, 254, 0, 157, 120, 91, 0, 250, 212, 141, 0, 152, 120, 223, 0, 120, 119, 15, 0, 64, 96, 120, 0, 21, 18, 192, 0, 42, 250, 16, 0, 225, 118, 178, 0, 248, 217, 221, 0, 116, 12, 4, 0, 138, 225, 48, 0, 120, 130, 37, 0, 67, 74, 199, 0, 102, 247, 172, 0, 252, 248, 214, 0, 3, 64, 149, 0, 48, 114, 181, 0, 241, 227, 148, 0, 171, 99, 164, 0, 156, 250, 163, 0, 116, 24, 155, 0, 107, 210, 118, 0, 81, 228, 131, 0, 193, 253, 42, 0, 61, 39, 116, 0, 222, 36, 216, 0, 234, 228, 238, 0, 235, 85, 35, 0, 155, 178, 235, 0, 241, 163, 60, 0, 172, 51, 76, 0, 24, 104, 119, 0, 161, 100, 55, 0, 186, 185, 10, 0, 11, 125, 140, 0, 192, 221, 24, 0, 109, 174, 61, 0, 58, 249, 59, 0, 98, 142, 4, 0, 84, 94, 5, 0, 97, 90, 139, 0, 164, 155, 200, 0, 160, 244, 127, 0, 198, 197, 58, 0, 104, 179, 179, 0, 56, 139, 18, 0, 111, 206, 223, 0, 132, 236, 110, 0, 89, 9, 204, 0, 136, 187, 247, 0, 161, 59, 113, 0, 254, 118, 105, 0, 209, 21, 241, 0, 10, 82, 75, 0, 94, 125, 241, 0, 233, 42, 104, 0, 13, 184, 116, 0, 65, 72, 44, 0, 189, 213, 150, 0, 237, 28, 196, 0, 37, 46, 208, 0, 7, 35, 34, 0, 148, 37, 122, 0, 37, 174, 222, 0, 84, 244, 218, 0, 254, 198, 9, 0, 113, 132, 97, 0, 30, 98, 123, 0, 47, 164, 101, 0, 73, 78, 74, 0, 110, 176, 49, 0, 69, 202, 42, 0, 59, 98, 217, 0, 62, 180, 87, 0, 203, 151, 201, 0, 149, 30, 225, 0, 188, 24, 199, 0, 183, 152, 200, 0, 138, 137, 159, 0, 40, 16, 44, 0, 242, 182, 124, 0, 63, 227, 21, 0, 83, 54, 44, 0, 54, 121, 203, 0, 217, 168, 116, 0, 229, 73, 228, 0, 133, 151, 129, 0, 233, 221, 228, 0, 183, 226, 47, 0, 177, 134, 206, 0, 249, 253, 149, 0, 91, 7, 64, 0, 102, 106, 124, 0, 19, 12, 232, 0, 16, 47, 237, 0, 86, 122, 26, 0, 53, 23, 72, 0, 150, 41, 175, 0, 74, 153, 47, 0, 180, 176, 171, 0, 185, 214, 65, 0, 129, 78, 0, 0, 41, 225, 48, 0, 193, 168, 252, 0, 178, 156, 167, 0, 47, 96, 80, 0, 45, 158, 35, 0, 199, 9, 145, 0, 136, 4, 92, 0, 194, 19, 106, 0, 190, 128, 4, 0, 166, 50, 9, 0, 109, 199, 242, 0, 243, 50, 62, 0, 210, 234, 50, 0, 189, 74, 140, 0, 105, 227, 167, 0, 168, 171, 166, 0, 8, 134, 202, 0, 137, 226, 213, 0, 187, 87, 25, 0, 207, 186, 110, 0, 118, 88, 253, 0, 176, 228, 178, 0, 54, 172, 208, 0, 87, 141, 84, 0, 34, 48, 190, 0, 171, 150, 158, 0, 52, 69, 13, 0, 90, 128, 59, 0, 129, 48, 224, 0, 150, 36, 26, 0, 161, 98, 198, 0, 0, 34, 157, 0, 25, 97, 194, 0, 113, 229, 160, 0, 200, 102, 56, 0, 107, 71, 0, 0, 163, 169, 237, 0, 32, 195, 29, 0, 149, 206, 2, 0, 6, 131, 138, 0, 162, 136, 248, 0, 245, 124, 129, 0, 52, 219, 43, 0, 102, 253, 16, 0, 142, 175, 153, 0, 101, 209, 208, 0, 118, 168, 29, 0, 225, 149, 67, 0, 41, 248, 90, 0, 53, 50, 46, 0, 69, 139, 115, 0, 8, 159, 144, 0, 233, 61, 253, 0, 238, 210, 74, 0, 209, 60, 47, 0, 93, 222, 98, 0, 128, 244, 57, 0, 63, 15, 251, 0, 160, 89, 75, 0, 116, 229, 245, 0, 17, 66, 3, 0, 30, 129, 132, 0, 8, 43, 7, 0, 252, 173, 19, 0, 44, 48, 39, 0, 29, 0, 160, 0, 241, 76, 4, 0, 99, 201, 21, 0, 35, 211, 164, 0, 174, 136, 230, 0, 76, 77, 61, 0, 67, 222, 108, 0, 121, 98, 3, 0, 139, 35, 52, 0, 102, 15, 218, 0, 57, 61, 102, 0, 153, 77, 61, 0, 25, 118, 236, 0, 206, 72, 7, 0, 20, 56, 6, 0, 98, 150, 53, 0, 202, 213, 141, 0, 213, 27, 55, 0, 106, 247, 151, 0, 157, 36, 206, 0, 176, 103, 149, 0, 235, 22, 113, 0, 16, 254, 154, 0, 228, 203, 111, 0, 237, 61, 68, 0, 199, 5, 39, 0, 204, 123, 220, 0, 44, 86, 20, 0, 237, 133, 90, 0, 45, 99, 98, 0, 52, 229, 176, 0, 254, 145, 3, 0, 58, 143, 176, 0, 25, 208, 194, 0, 184, 160, 224, 0, 126, 175, 231, 0, 44, 110, 189, 0, 207, 63, 128, 0, 250, 45, 214, 0, 244, 186, 89, 0, 80, 219, 174, 0, 84, 30, 46, 0, 111, 199, 231, 0, 168, 107, 13, 0, 223, 208, 138, 0, 147, 54, 117, 0, 112, 71, 119, 0, 49, 27, 125, 0, 169, 111, 99, 0, 129, 193, 152, 0, 64, 78, 45, 0, 231, 234, 240, 0, 82, 198, 77, 0, 114, 246, 218, 0, 36, 191, 84, 0, 58, 222, 113, 0 } + + +#endif /*__160_INPUT_IMAGE_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/128_0_25_parameters.h b/Inc/intq-mobilenet-v1-models-pc/128_0_25_parameters.h new file mode 100644 index 0000000..5e752e2 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/128_0_25_parameters.h @@ -0,0 +1,365 @@ +#ifndef __128_0_25_PARAMETERS_H__ +#define __128_0_25_PARAMETERS_H__ + + +// Layer 1 Topology Parameters +#define CONV1_IM_DIM (224) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (32) +#define CONV1_OUT_DIM (112) + + + +// Layer 2 Topology Parameters +#define CONV2_IM_DIM (112) +#define CONV2_IM_CH (32) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (32) +#define CONV2_OUT_DIM (112) + + + + // Layer 3 Topology Parameters / + #define CONV3_IM_DIM (112) + #define CONV3_IM_CH (32) + #define CONV3_KER_DIM (1) + #define CONV3_L_PADDING (0) + #define CONV3_R_PADDING (0) + #define CONV3_T_PADDING (0) + #define CONV3_B_PADDING (0) + #define CONV3_STRIDE (1) + #define CONV3_OUT_CH (64) + #define CONV3_OUT_DIM (112) + +/* + + Layer 4 Topology Parameters +#define CONV4_IM_DIM (64) +#define CONV4_IM_CH (16) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (16) +#define CONV4_OUT_DIM (32) + + + Layer 5 Topology Parameters +#define CONV5_IM_DIM (32) +#define CONV5_IM_CH (16) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (32) +#define CONV5_OUT_DIM (32) + + + Layer 6 Topology Parameters +#define CONV6_IM_DIM (32) +#define CONV6_IM_CH (32) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (32) +#define CONV6_OUT_DIM (32) + + + Layer 7 Topology Parameters +#define CONV7_IM_DIM (32) +#define CONV7_IM_CH (32) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (32) +#define CONV7_OUT_DIM (32) + + + Layer 8 Topology Parameters +#define CONV8_IM_DIM (32) +#define CONV8_IM_CH (32) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (32) +#define CONV8_OUT_DIM (16) + + + Layer 9 Topology Parameters +#define CONV9_IM_DIM (16) +#define CONV9_IM_CH (32) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (64) +#define CONV9_OUT_DIM (16) + + + Layer 10 Topology Parameters +#define CONV10_IM_DIM (16) +#define CONV10_IM_CH (64) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (64) +#define CONV10_OUT_DIM (16) + + + Layer 11 Topology Parameters +#define CONV11_IM_DIM (16) +#define CONV11_IM_CH (64) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (64) +#define CONV11_OUT_DIM (16) + + + Layer 12 Topology Parameters +#define CONV12_IM_DIM (16) +#define CONV12_IM_CH (64) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (64) +#define CONV12_OUT_DIM (8) + + + Layer 13 Topology Parameters +#define CONV13_IM_DIM (8) +#define CONV13_IM_CH (64) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (128) +#define CONV13_OUT_DIM (8) + + + Layer 14 Topology Parameters +#define CONV14_IM_DIM (8) +#define CONV14_IM_CH (128) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (128) +#define CONV14_OUT_DIM (8) + + + Layer 15 Topology Parameters +#define CONV15_IM_DIM (8) +#define CONV15_IM_CH (128) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (128) +#define CONV15_OUT_DIM (8) + + + Layer 16 Topology Parameters +#define CONV16_IM_DIM (8) +#define CONV16_IM_CH (128) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (128) +#define CONV16_OUT_DIM (8) + + + Layer 17 Topology Parameters +#define CONV17_IM_DIM (8) +#define CONV17_IM_CH (128) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (128) +#define CONV17_OUT_DIM (8) + + + Layer 18 Topology Parameters +#define CONV18_IM_DIM (8) +#define CONV18_IM_CH (128) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (128) +#define CONV18_OUT_DIM (8) + + + Layer 19 Topology Parameters +#define CONV19_IM_DIM (8) +#define CONV19_IM_CH (128) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (128) +#define CONV19_OUT_DIM (8) + + + Layer 20 Topology Parameters +#define CONV20_IM_DIM (8) +#define CONV20_IM_CH (128) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (128) +#define CONV20_OUT_DIM (8) + + + Layer 21 Topology Parameters +#define CONV21_IM_DIM (8) +#define CONV21_IM_CH (128) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (128) +#define CONV21_OUT_DIM (8) + + + Layer 22 Topology Parameters +#define CONV22_IM_DIM (8) +#define CONV22_IM_CH (128) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (128) +#define CONV22_OUT_DIM (8) + + + Layer 23 Topology Parameters +#define CONV23_IM_DIM (8) +#define CONV23_IM_CH (128) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (128) +#define CONV23_OUT_DIM (8) + + + Layer 24 Topology Parameters +#define CONV24_IM_DIM (8) +#define CONV24_IM_CH (128) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (128) +#define CONV24_OUT_DIM (4) + + + Layer 25 Topology Parameters +#define CONV25_IM_DIM (4) +#define CONV25_IM_CH (128) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (256) +#define CONV25_OUT_DIM (4) + + + Layer 26 Topology Parameters +#define CONV26_IM_DIM (4) +#define CONV26_IM_CH (256) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (256) +#define CONV26_OUT_DIM (4) + + + Layer 27 Topology Parameters +#define CONV27_IM_DIM (4) +#define CONV27_IM_CH (256) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (256) +#define CONV27_OUT_DIM (4) + + + Layer 28 Topology Parameters +#define FC28_IM_CH (256) +#define FC28_OUT_CH (1000) + +*/ + +#endif /*__128_0_25_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/128_0_25_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/128_0_25_weights_bias.h new file mode 100644 index 0000000..24905b9 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/128_0_25_weights_bias.h @@ -0,0 +1,418 @@ +#ifndef __128_0_25_WEIGHTS_BIAS_H__ +#define __128_0_25_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS {-1184, 37926, -2187, -255, 6301, 9263, 448, 111131, -204, -2236, -514, 14123, 16585, 45686, 386, 14021, -7732, 52100, 10137, 20210, -320, -289, -987, 54248, -1145, 29218, 85270, -249, 8635, 8601, -213, 34929} +#define CONV1_WT \ + { 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +53, 44, 83, 136, 78, 68, 97, 136, 136, 131, 130, 136, 113, 122, 132, 136, 109, 116, 126, 136, 125, 134, 133, 136, 123, 130, 122, 136, 123, 124, 130, 136, 134, 137, 138, 136, \ +169, 111, 104, 136, 192, 109, 99, 136, 163, 125, 111, 136, 198, 110, 100, 136, 220, 111, 98, 136, 168, 118, 109, 136, 173, 117, 104, 136, 179, 117, 108, 136, 148, 130, 113, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +138, 135, 132, 136, 136, 131, 135, 136, 184, 196, 161, 136, 138, 135, 132, 136, 57, 25, 90, 136, 167, 178, 149, 136, 157, 161, 145, 136, 101, 96, 119, 136, 159, 157, 141, 136, \ +137, 135, 134, 136, 169, 181, 155, 136, 93, 80, 105, 136, 147, 147, 142, 136, 197, 216, 167, 136, 74, 65, 100, 136, 147, 137, 139, 136, 185, 184, 161, 136, 89, 96, 107, 136, \ +135, 136, 134, 136, 134, 135, 134, 136, 135, 136, 134, 136, 136, 136, 135, 136, 134, 135, 134, 136, 136, 136, 135, 136, 136, 136, 135, 136, 135, 135, 134, 136, 137, 136, 134, 136, \ +125, 136, 243, 136, 115, 114, 254, 136, 123, 110, 198, 136, 119, 136, 255, 136, 131, 128, 254, 136, 138, 116, 201, 136, 104, 128, 196, 136, 120, 112, 213, 136, 140, 111, 159, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +35, 0, 78, 136, 218, 248, 184, 136, 147, 155, 141, 136, 50, 27, 94, 136, 218, 244, 177, 136, 144, 148, 140, 136, 112, 109, 124, 136, 166, 159, 150, 136, 128, 127, 131, 136, \ +94, 151, 191, 136, 89, 150, 188, 136, 102, 141, 171, 136, 81, 144, 189, 136, 76, 143, 183, 136, 102, 142, 175, 136, 106, 146, 181, 136, 102, 143, 171, 136, 112, 135, 158, 136, \ +203, 7, 215, 136, 211, 0, 191, 136, 158, 74, 163, 136, 208, 0, 208, 136, 226, 11, 162, 136, 140, 100, 167, 136, 189, 27, 199, 136, 190, 47, 166, 136, 126, 131, 154, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 135, 136, 136, 136, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +165, 171, 149, 136, 164, 171, 147, 136, 145, 140, 140, 136, 68, 34, 96, 136, 68, 33, 100, 136, 121, 112, 118, 136, 169, 174, 154, 136, 166, 182, 150, 136, 141, 146, 143, 136, \ +151, 124, 107, 136, 211, 184, 143, 136, 167, 124, 105, 136, 161, 122, 110, 136, 199, 155, 125, 136, 180, 128, 117, 136, 168, 127, 128, 136, 164, 109, 107, 136, 164, 109, 120, 136, \ +254, 135, 114, 136, 254, 104, 94, 136, 209, 110, 96, 136, 254, 120, 101, 136, 254, 98, 99, 136, 214, 114, 113, 136, 201, 121, 101, 136, 202, 106, 115, 136, 186, 120, 126, 136, \ +98, 136, 183, 136, 94, 131, 187, 136, 96, 129, 171, 136, 86, 132, 190, 136, 84, 129, 194, 136, 95, 137, 187, 136, 96, 136, 169, 136, 94, 132, 171, 136, 107, 143, 173, 136, \ +114, 103, 123, 136, 157, 173, 147, 136, 138, 128, 133, 136, 204, 246, 190, 136, 50, 1, 58, 136, 152, 159, 162, 136, 171, 180, 142, 136, 71, 53, 131, 136, 174, 180, 140, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +111, 99, 97, 136, 197, 192, 162, 136, 190, 182, 159, 136, 194, 196, 191, 136, 89, 87, 123, 136, 30, 26, 85, 136, 101, 104, 112, 136, 122, 134, 127, 136, 181, 190, 162, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +45, 20, 81, 136, 76, 63, 98, 136, 145, 145, 142, 136, 77, 61, 97, 136, 98, 89, 111, 136, 144, 145, 147, 136, 152, 150, 138, 136, 145, 148, 137, 136, 145, 148, 148, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +127, 134, 129, 136, 134, 157, 145, 136, 146, 175, 163, 136, 143, 142, 134, 136, 167, 178, 157, 136, 150, 170, 149, 136, 129, 120, 120, 136, 119, 131, 127, 136, 120, 151, 151, 136, \ +171, 47, 141, 136, 183, 29, 169, 136, 174, 82, 166, 136, 184, 42, 138, 136, 191, 9, 157, 136, 183, 60, 160, 136, 166, 100, 138, 136, 181, 68, 166, 136, 172, 107, 167, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +58, 27, 96, 136, 78, 54, 102, 136, 171, 180, 155, 136, 173, 203, 167, 136, 140, 153, 147, 136, 134, 124, 134, 136, 177, 184, 160, 136, 177, 192, 158, 136, 113, 109, 121, 136, \ +131, 128, 130, 136, 143, 141, 143, 136, 134, 126, 132, 136, 131, 142, 139, 136, 129, 147, 148, 136, 126, 137, 141, 136, 125, 143, 135, 136, 130, 158, 155, 136, 130, 150, 150, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +163, 175, 155, 136, 234, 254, 196, 136, 232, 248, 195, 136, 125, 118, 123, 136, 113, 95, 113, 136, 120, 106, 117, 136, 125, 125, 120, 136, 116, 110, 113, 136, 117, 110, 116, 136 } +#define CONV1_W_Z (136) +#define CONV1_IN_Z (0) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1362347904, 1249787904, 1246434176, 1087344640, 1380389120, 1309298048, 1929699072, 1212727936, 1176849664, 1475720064, 1138506240, 1881448704, 1925620736, 1725419904, 1912742016, 1155661824, 1932207104, 1895287040, 1278542848, 1156866688, 1162923776, 1631301120, 1467689088, 1232602624, 1213067520, 1844125568, 1217895552, 1159044608, 1559450240, 1121125376, 1124509184, 2073477120}; +static const int8_t CONV1_N_ZERO[] = {7, 11, 10, 6, 9, 9, 8, 12, 6, 8, 6, 10, 10, 12, 7, 9, 10, 12, 9, 10, 6, 10, 6, 11, 6, 11, 11, 6, 9, 9, 6, 11}; + + + + +// Layer 2 Learned Parameters +#define CONV2_BIAS {42, 52, 30, -4, 84, 199, 39, 58, -11, -1, -4, 679, 255, 25, 43, 358, 34, 1855, 232, 46, -1, 373, -1, 180, 0, 68, 749, -1, 464, 142, -3, 584} +#define CONV2_WT \ +{147, 163, 117, 102, 101, 200, 101, 128, 140, 155, 136, 125, 132, 138, 120, 126, 126, 132, 135, 135, 123, 99, 144, 129, 115, 126, 133, 130, 125, 114, 115, 136, \ +141, 184, 140, 103, 139, 77, 111, 125, 142, 150, 124, 136, 128, 113, 134, 0, 143, 120, 116, 172, 114, 100, 143, 129, 115, 135, 123, 128, 112, 107, 112, 121, \ +149, 149, 122, 99, 129, 122, 112, 130, 143, 149, 129, 129, 128, 133, 131, 139, 129, 132, 133, 126, 109, 127, 139, 126, 118, 127, 128, 120, 129, 131, 121, 133, \ +132, 141, 139, 116, 159, 157, 100, 133, 144, 151, 131, 161, 133, 99, 124, 138, 163, 107, 118, 121, 123, 106, 147, 255, 134, 94, 109, 123, 104, 120, 112, 40, \ +138, 141, 168, 106, 114, 89, 116, 182, 139, 148, 140, 47, 91, 193, 127, 230, 180, 59, 102, 95, 125, 108, 142, 132, 141, 109, 86, 121, 196, 111, 104, 23, \ +143, 150, 133, 111, 128, 137, 123, 127, 145, 142, 130, 138, 136, 112, 126, 128, 146, 111, 130, 128, 120, 123, 136, 0, 127, 135, 134, 116, 121, 126, 110, 138, \ +145, 85, 122, 113, 130, 121, 103, 125, 131, 132, 131, 123, 127, 134, 142, 123, 146, 140, 132, 128, 138, 119, 137, 183, 144, 126, 136, 121, 132, 140, 106, 215, \ +134, 62, 128, 106, 129, 142, 105, 131, 136, 129, 146, 141, 138, 128, 128, 156, 171, 98, 124, 127, 129, 121, 136, 139, 142, 137, 135, 115, 118, 130, 102, 235, \ +141, 87, 119, 114, 128, 130, 114, 133, 140, 125, 130, 130, 123, 128, 131, 121, 148, 130, 130, 128, 129, 133, 127, 65, 123, 128, 118, 126, 127, 138, 115, 119} +#define CONV2_W_Z (128) +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) + static const int32_t CONV2_M_ZERO[] = {-1110803840, 1451959936, 1682024704, 1097808512, 1524621952, 1615360128, 1970581632, 1187041792, 1532959872, 1566966528, 1336570880, 2015266176, 1620083072, 1463740160, -1244759168, 1914026624, 1561028864, 1658252288, 1683698048, 1798832000, 1745099392, 2026010624, 1205196416, 1315971456, 1465439232, 1579828096, 1294515072, 1611228288, 1831686656, 1883736064, 1375875200, 1176384128}; + static const int8_t CONV2_N_ZERO[] = {2, 4, 3, 0, 3, 5, 6, 4, 1, -2, -1, 5, 4, 3, 4, 5, 5, 6, 5, 3, -2, 4, -3, 4, -2, 3, 4, -2, 5, 5, -1, 4}; + + + +// Layer 3 Learned Parameters +#define CONV3_BIAS {409, -203, 1092, 235, 19, -126, 56, -913, 801, 242, -366, 15, -450, -218, -450, -95, 388, 249, 9, -41, -658, -138, 226, 1321, 788, -612, 821, 1258, 1460, 160, 293, -373, 1067, -516, -1, -54, -844, -35, 657, -290, 730, 0, 333, 111, -78, 625, -344, 161, 8, -270, 233, 127, -45, -1, 247, -758, 116, 1318, 482, -39, -80, -442, -846, 844} + +#define CONV3_WT \ +{127, 130, 130, 127, 126, 133, 126, 138, 127, 127, 127, 118, 132, 121, 128, 74, 131, 127, 128, 134, 127, 104, 127, 137, 127, 116, 131, 127, 151, 115, 127, 149, \ +127, 130, 115, 127, 122, 214, 125, 124, 127, 127, 127, 125, 120, 115, 127, 128, 126, 119, 126, 129, 127, 131, 127, 130, 127, 160, 110, 127, 137, 145, 127, 118, \ +127, 131, 129, 127, 73, 108, 127, 134, 127, 127, 127, 30, 131, 132, 127, 149, 128, 133, 128, 131, 127, 144, 127, 122, 127, 128, 129, 127, 60, 139, 127, 142, \ +127, 123, 148, 127, 140, 99, 127, 170, 127, 127, 127, 103, 120, 120, 127, 129, 180, 90, 137, 124, 127, 128, 127, 175, 127, 119, 153, 127, 124, 114, 127, 130, \ +127, 130, 120, 127, 125, 187, 127, 117, 127, 127, 127, 124, 131, 135, 127, 124, 127, 130, 124, 129, 127, 128, 127, 128, 127, 144, 123, 127, 131, 133, 127, 126, \ +127, 130, 118, 127, 125, 123, 128, 121, 127, 127, 127, 128, 116, 93, 127, 132, 132, 183, 107, 124, 127, 129, 127, 126, 127, 120, 177, 127, 113, 112, 127, 128, \ +127, 135, 110, 127, 111, 221, 128, 119, 127, 127, 127, 150, 137, 130, 127, 124, 118, 133, 134, 141, 127, 130, 127, 111, 127, 143, 128, 127, 147, 130, 127, 135, \ +127, 138, 118, 127, 145, 130, 126, 126, 127, 127, 127, 123, 127, 128, 128, 229, 129, 130, 126, 120, 127, 113, 127, 127, 127, 152, 125, 127, 149, 127, 127, 169, \ +127, 126, 123, 127, 126, 128, 128, 131, 127, 127, 127, 128, 125, 127, 127, 80, 130, 126, 126, 130, 127, 125, 127, 129, 127, 126, 133, 127, 101, 121, 127, 76, \ +127, 153, 138, 127, 124, 127, 125, 135, 127, 127, 127, 129, 128, 132, 127, 47, 125, 142, 130, 131, 127, 114, 127, 133, 127, 110, 132, 127, 140, 130, 127, 146, \ +127, 122, 129, 127, 132, 122, 127, 135, 127, 127, 127, 133, 131, 132, 127, 127, 130, 132, 129, 129, 127, 138, 127, 127, 127, 126, 133, 127, 127, 124, 127, 135, \ +127, 130, 116, 127, 138, 119, 128, 172, 127, 127, 127, 137, 101, 140, 127, 129, 153, 116, 114, 134, 127, 129, 127, 129, 127, 116, 149, 127, 126, 102, 127, 129, \ +127, 137, 122, 127, 129, 135, 126, 122, 127, 127, 127, 168, 125, 129, 128, 95, 132, 124, 123, 128, 127, 136, 127, 67, 127, 140, 130, 127, 157, 134, 127, 140, \ +127, 131, 125, 127, 136, 95, 127, 128, 127, 127, 127, 117, 130, 126, 127, 125, 132, 125, 125, 128, 127, 124, 127, 255, 127, 127, 130, 127, 134, 127, 127, 126, \ +127, 171, 127, 127, 114, 126, 127, 123, 127, 127, 127, 126, 128, 130, 127, 118, 129, 131, 126, 126, 127, 140, 127, 123, 127, 128, 128, 127, 165, 131, 127, 162, \ +127, 119, 126, 127, 138, 102, 126, 131, 127, 127, 127, 99, 123, 116, 127, 120, 136, 125, 126, 126, 127, 134, 127, 196, 127, 143, 124, 127, 130, 143, 127, 140, \ +127, 94, 125, 127, 134, 122, 127, 124, 127, 127, 127, 115, 129, 123, 127, 148, 125, 126, 128, 130, 127, 123, 127, 143, 127, 148, 121, 127, 116, 139, 127, 107, \ +127, 125, 128, 127, 137, 131, 127, 127, 127, 127, 127, 129, 126, 131, 127, 124, 128, 129, 127, 40, 127, 132, 127, 125, 127, 125, 131, 127, 126, 121, 127, 127, \ +127, 122, 88, 127, 120, 133, 124, 111, 127, 127, 127, 118, 95, 142, 127, 127, 155, 162, 100, 129, 127, 124, 127, 127, 127, 120, 123, 127, 126, 119, 127, 125, \ +127, 131, 128, 127, 126, 134, 129, 119, 127, 127, 127, 123, 135, 126, 127, 132, 131, 137, 90, 130, 127, 125, 127, 132, 127, 209, 117, 127, 129, 138, 127, 128, \ +127, 139, 127, 127, 145, 127, 126, 121, 127, 127, 127, 123, 125, 130, 127, 229, 126, 129, 123, 134, 127, 119, 127, 124, 127, 120, 123, 127, 112, 130, 127, 145, \ +127, 120, 163, 127, 124, 123, 126, 124, 127, 127, 127, 121, 137, 228, 127, 123, 134, 89, 137, 125, 127, 130, 127, 124, 127, 105, 70, 127, 121, 136, 127, 126, \ +127, 131, 142, 127, 130, 129, 124, 103, 127, 127, 127, 127, 112, 56, 127, 129, 128, 147, 134, 125, 127, 127, 127, 129, 127, 124, 222, 127, 132, 158, 127, 125, \ +127, 122, 128, 127, 116, 134, 130, 132, 127, 127, 127, 131, 124, 126, 127, 19, 129, 123, 127, 131, 127, 135, 127, 128, 127, 121, 128, 127, 77, 131, 127, 73, \ +127, 125, 165, 127, 125, 119, 128, 32, 127, 127, 127, 123, 121, 35, 127, 125, 138, 142, 135, 124, 127, 123, 127, 128, 127, 118, 236, 127, 123, 139, 127, 126, \ +127, 125, 119, 127, 128, 129, 127, 199, 127, 127, 127, 128, 100, 216, 127, 131, 132, 165, 89, 129, 127, 123, 127, 127, 127, 143, 70, 127, 131, 136, 127, 129, \ +127, 133, 134, 127, 138, 138, 127, 147, 127, 127, 127, 33, 133, 121, 127, 136, 131, 137, 139, 111, 127, 130, 127, 135, 127, 130, 125, 127, 123, 117, 127, 134, \ +127, 124, 255, 127, 123, 126, 129, 80, 127, 127, 127, 128, 202, 161, 127, 129, 173, 9, 206, 124, 127, 128, 127, 125, 127, 124, 39, 127, 124, 172, 127, 126, \ +127, 62, 122, 127, 120, 127, 126, 130, 127, 127, 127, 131, 124, 125, 127, 137, 133, 124, 126, 131, 127, 116, 127, 131, 127, 129, 129, 127, 40, 123, 127, 54, \ +127, 134, 148, 127, 150, 0, 126, 152, 127, 127, 127, 149, 127, 125, 127, 141, 146, 135, 145, 129, 127, 141, 127, 143, 127, 104, 129, 127, 122, 125, 127, 134, \ +127, 120, 121, 127, 119, 125, 126, 128, 127, 127, 127, 158, 124, 130, 127, 143, 135, 126, 123, 121, 127, 110, 127, 90, 127, 130, 132, 127, 104, 120, 127, 117, \ +127, 128, 118, 127, 128, 126, 127, 141, 127, 127, 127, 121, 123, 227, 127, 125, 129, 128, 127, 127, 127, 125, 127, 127, 127, 123, 104, 127, 126, 146, 127, 123, \ +127, 130, 125, 127, 107, 119, 126, 137, 127, 127, 127, 123, 131, 128, 127, 66, 129, 122, 128, 127, 127, 51, 127, 126, 127, 138, 134, 127, 155, 126, 127, 121, \ +127, 127, 122, 127, 130, 128, 127, 127, 127, 127, 127, 210, 126, 131, 127, 125, 123, 124, 132, 144, 127, 134, 127, 123, 127, 114, 131, 127, 137, 127, 127, 128, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 128, 128, 127, 127, 136, 128, 150, 127, 127, 127, 167, 135, 121, 127, 130, 147, 108, 132, 133, 127, 132, 127, 77, 127, 125, 153, 127, 128, 108, 127, 134, \ +127, 168, 122, 127, 114, 122, 127, 131, 127, 127, 127, 104, 126, 118, 127, 123, 133, 121, 129, 131, 127, 127, 127, 129, 127, 134, 123, 127, 194, 145, 127, 174, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 129, 197, 127, 134, 121, 127, 133, 127, 127, 127, 129, 129, 129, 127, 123, 255, 8, 113, 128, 127, 126, 127, 127, 127, 136, 124, 127, 125, 178, 127, 131, \ +127, 124, 126, 127, 75, 101, 128, 125, 127, 127, 127, 144, 124, 127, 127, 136, 128, 128, 124, 253, 127, 135, 127, 131, 127, 135, 121, 127, 116, 140, 127, 127, \ +127, 115, 124, 127, 171, 127, 128, 126, 127, 127, 127, 25, 125, 123, 127, 102, 129, 126, 125, 105, 127, 117, 127, 114, 127, 140, 122, 127, 166, 138, 127, 128, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 125, 137, 127, 125, 123, 126, 79, 127, 127, 127, 128, 164, 87, 127, 129, 126, 123, 155, 126, 127, 129, 127, 126, 127, 130, 176, 127, 125, 128, 127, 128, \ +127, 122, 89, 127, 119, 118, 125, 210, 127, 127, 127, 115, 1, 111, 127, 124, 127, 211, 6, 121, 127, 118, 127, 122, 127, 113, 143, 127, 120, 105, 127, 123, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 129, 127, 127, 122, 127, 127, 120, 127, 127, 127, 62, 131, 126, 127, 127, 133, 139, 123, 107, 127, 131, 127, 133, 127, 138, 120, 127, 122, 130, 127, 122, \ +127, 140, 124, 127, 132, 119, 125, 208, 127, 127, 127, 123, 89, 126, 127, 120, 144, 114, 97, 127, 127, 115, 127, 128, 127, 161, 149, 127, 125, 135, 127, 118, \ +127, 130, 83, 127, 126, 127, 127, 193, 127, 127, 127, 122, 0, 128, 127, 126, 120, 251, 1, 123, 127, 125, 127, 127, 127, 122, 152, 127, 129, 106, 127, 130, \ +127, 120, 124, 127, 146, 177, 127, 127, 127, 127, 127, 46, 124, 120, 127, 124, 127, 124, 124, 160, 127, 126, 127, 129, 127, 131, 124, 127, 164, 127, 127, 135, \ +127, 135, 108, 127, 130, 107, 126, 139, 127, 127, 127, 143, 121, 124, 127, 121, 153, 110, 114, 121, 127, 120, 127, 120, 127, 140, 167, 127, 126, 137, 127, 120, \ +127, 117, 130, 127, 121, 153, 127, 124, 127, 127, 127, 163, 125, 125, 128, 137, 132, 128, 122, 125, 127, 122, 127, 15, 127, 137, 125, 127, 113, 144, 127, 120, \ +127, 116, 157, 127, 130, 115, 124, 184, 127, 127, 127, 140, 120, 127, 127, 97, 179, 93, 124, 125, 127, 122, 127, 116, 127, 119, 194, 127, 110, 118, 127, 112, \ +127, 122, 125, 127, 85, 82, 128, 121, 127, 127, 127, 215, 127, 133, 127, 127, 127, 131, 126, 95, 127, 139, 127, 127, 127, 133, 125, 127, 64, 135, 127, 131, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 125, 125, 127, 189, 115, 127, 131, 127, 127, 127, 126, 129, 130, 127, 102, 128, 130, 128, 174, 127, 131, 127, 126, 127, 137, 130, 127, 49, 137, 127, 138, \ +127, 177, 129, 127, 132, 124, 125, 124, 127, 127, 127, 126, 123, 127, 127, 60, 127, 131, 125, 127, 127, 147, 127, 121, 127, 132, 127, 127, 139, 128, 127, 197, \ +127, 143, 140, 127, 130, 135, 117, 103, 127, 127, 127, 141, 114, 119, 127, 142, 147, 152, 125, 121, 127, 97, 127, 127, 127, 194, 98, 127, 149, 198, 127, 119, \ +127, 117, 252, 127, 119, 124, 130, 44, 127, 127, 127, 120, 201, 136, 127, 124, 165, 30, 202, 113, 127, 125, 127, 123, 127, 138, 70, 127, 112, 170, 127, 121, \ +127, 132, 121, 127, 145, 129, 126, 126, 127, 127, 127, 128, 126, 131, 127, 134, 132, 129, 127, 134, 127, 136, 127, 128, 127, 138, 130, 127, 89, 133, 127, 71, \ +127, 106, 155, 127, 119, 98, 127, 126, 127, 127, 127, 192, 133, 144, 127, 158, 153, 135, 140, 152, 127, 143, 127, 109, 127, 115, 137, 127, 100, 157, 127, 114, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 140, 120, 127, 111, 126, 128, 118, 127, 127, 127, 122, 129, 125, 127, 148, 131, 129, 126, 129, 127, 122, 127, 126, 127, 155, 121, 127, 173, 126, 127, 172, \ +127, 127, 125, 127, 219, 115, 128, 127, 127, 127, 127, 200, 125, 128, 127, 98, 128, 126, 127, 145, 127, 136, 127, 125, 127, 127, 127, 127, 127, 129, 127, 123, \ +127, 3, 120, 127, 124, 123, 127, 121, 127, 127, 127, 119, 125, 128, 127, 150, 131, 128, 123, 120, 127, 117, 127, 132, 127, 148, 125, 127, 99, 136, 127, 60} +#define CONV3_W_Z (127) +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) + static const int32_t CONV3_M_ZERO[] = {1631400448, 1603639680, 1326431616, 1476798336, 1163601280, 1268766848, 1455976704, 1550106880, 1890438528, 1998059904, 1956692096, 1331947904, 2142378112, 1128721792, 1580546560, 1721848448, 1317113344, 2103928704, 1453649664, 1240539520, 1447776256, 1290888064, 1756483712, 1268774656, 1976968832, 1268005888, 1482283136, 1112096512, 2091364608, 1832580224, 1361480960, 1109507200, 1887771392, 1519959168, 1396600320, 1680600448, 1552041472, 1583885824, 1275714944, 1263178752, 1515803776, 1404723712, 1953836288, 2120322048, 1361698048, 1139372928, 1862532608, 2001431808, 1926645376, 1399393792, 1078259712, 2142835200, 1203050624, 1323609600, 1379479808, 1478853888, 1482976512, 1172461568, 1096058240, 1252237824, 1259625728, 1256639488, 2005131776, 1729905664}; + static const int8_t CONV3_N_ZERO[] = {7, 7, 7, 7, 6, 5, 6, 7, 7, 6, 5, 7, 7, 5, 6, 7, 6, 6, 5, 5, 6, 7, 7, 6, 8, 6, 5, 7, 7, 5, 6, 6, 7, 5, 2, 6, 7, 4, 6, 7, 7, 2, 7, 8, 5, 6, 6, 8, 6, 6, 6, 7, 6, 2, 7, 7, 7, 7, 6, 5, 5, 6, 6, 7}; + +/* + Layer 4 Learned Parameters +#define CONV4_BIAS \ + {27, -2171, 77612, 5493, -18065, 43671, 4610, 91, 44367, 343588, 94144, 16209, 2953, -907, 202537, -458} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-118, -71, -254, -102, -87, -162, -133, -133, -213, -380, -256, -127, -130, -85, -234, -220}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1322734976, 1134758016, 1348022656, 1273081984, 1652372096, 1952627200, 1085421568, 1735207808, 1174988288, 1203381632, 1195678208, 1120543232, 1192572672, 1111458944, 1098113408, 1523896704}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 5 Learned Parameters +#define CONV5_BIAS \ + {-37383, -16398, -23510, -19341, -111, -9237, 10952, -24839, 62298, -11883, 6938, -3878, -18981, 615, 8856, 4483, 23717, -6784, -73407, 61593, 2549, -3309, 8540, 45039, 61646, 4171, 6042, 20040, -43915, -2832, -5387, 49315} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-39, -51, -85, -135, -42, -173, -187, -15, -229, -8, -77, -165, -21, -68, -80, -250, -160, -77, -7, -226, -132, -149, -131, -235, -129, -124, -130, -185, -36, -161, -42, -254}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {2043811200, 1390383616, 1933345024, 1704348672, 1242737792, 1137042560, 2072006784, 1189417728, 1224201728, 1359258752, 2085980032, 1357783168, 1922697216, 1203271552, 1153666560, 1177610368, 1251998080, 1497188864, 1828179328, 2017261440, 1476337664, 1190422784, 1425880576, 1534568320, 2115736960, 1595657088, 1348655744, 2061228160, 1463527168, 1407988480, 1304309632, 1819874304}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 6 Learned Parameters +#define CONV6_BIAS \ + {-2032, -384, 14658, -4989, 20514, 124685, 38857, 167, 74048, -46, 62239, 593, 26346, 36584, 2509, 2389, 1167, 10380, 27044, 11391, -9034, -285, 40210, 1053, 58407, 91061, 222, 39184, 9624, 295, 7120, 48075} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-107, -80, -246, -15, -210, -229, -114, -80, -203, -65, -212, -127, -59, -183, -122, -184, -131, -65, -215, -17, -5, -115, -167, -101, -231, -212, -142, -211, -66, -126, -151, -180}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1204732416, 1240363648, 1459639552, 2120055552, 2102622080, 1129098496, 1678429952, 1628413824, 1921336832, 1125402112, 1288523648, 2037210368, 1198905088, 1579204480, 1105000320, 1429190272, 1389385600, 1927537792, 1746770304, 1692431872, 1278767104, 2142078976, 2005453696, 1957782400, 1151240960, 1210109440, 1279844864, 1755763200, 1224119424, 1138749824, 2012618624, 1201900672}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 7 Learned Parameters +#define CONV7_BIAS \ + {69324, 106108, 12458, -15146, 32817, -34002, -13719, 19749, -16915, 8394, 23816, -11633, 7496, -19320, -37187, 91701, 336, 29143, 28615, 51869, 12910, 59191, 16058, -18795, 65176, 36131, -67652, 42732, -28975, 109316, 48687, -30732} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-237, -119, -80, -51, -189, -78, -106, -146, -49, -143, -168, -59, -202, -150, -70, -215, -191, -88, -169, -95, -60, -99, -88, -75, -226, -85, -102, -153, -117, -156, -104, -116}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1350022656, 1561838848, 1337139840, 1940857728, 1152964352, 1947718912, 1305012864, 2105846912, 1411969920, 1907247872, 1609423616, 1827011968, 1884197888, 1073907328, 1136379136, 1262184064, 1971925632, 1830424960, 1308443392, 1281176192, 1652410112, 1522547200, 1613490944, 1567098496, 1406556544, 2046666240, 1900480896, 1643484672, 1442355584, 1847799040, 1082637824, 1256032768}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 8 Learned Parameters +#define CONV8_BIAS \ + {-326, -24223, 243415, 41330, 77, -3530, 151072, 2394, 49230, -1713, 37728, 93432, 63631, 167222, 390, 17372, 4074, -651, -6201, 7121, 259154, 198607, -54779, -601, 265912, 3965, 27489, -843, 1155, 48054, -102499, 4837} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {36, 19, -254, -331, -126, 55, -269, 108, 57, 36, -114, -300, 52, -299, 35, 88, 46, -114, 12, -153, -275, -285, 49, 47, -276, -153, 58, -81, 40, -112, 25, 68}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1473393664, 1298719360, 1461849984, 1847566976, 1087853312, 1263546880, 1495948160, 1471018624, 1223396096, 1395506304, 1445066624, 2040607744, 1604999936, 1264264192, 1777122560, 1337988736, 1928360192, 1358520064, 1363430016, 1175934976, 1177937536, 1241485056, 1572320256, 1553138432, 1120302976, 1299877760, 1550239616, 1271783168, 1126476160, 1704510848, 1879734784, 1990449792}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 9 Learned Parameters +#define CONV9_BIAS \ + {49720, -6308, 14654, 39107, 31873, -36513, 16321, 27379, 32111, 100794, 23918, 16566, 13388, 22323, -1701, 16808, 5325, -27023, 8529, 48223, 20722, -8131, 27218, -16887, 14590, -1114, 8588, -21633, 29564, -18286, -14076, 62415, 22234, 24745, 32701, 44996, -11267, 19484, -12261, -5665, 80369, 87199, -18468, 50487, 20463, -1267, 30231, 17488, 20948, 17428, -31608, 29988, 19043, 22469, 4368, 85467, 34733, 36432, 40168, 10024, -4731, 122664, -5332, 20105} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-199, -116, -106, -184, -66, -69, -105, -134, -160, -180, -144, -103, -123, -125, -42, -151, -93, -17, -134, -138, -102, -131, -120, -121, -106, -91, -40, -114, -131, -68, -55, -116, -116, -51, -209, -113, -30, -99, -61, -152, -215, -119, -108, -62, -107, -211, -203, -131, -171, -89, -25, -104, -121, -28, -84, -156, -125, -87, -142, -97, -44, -210, -178, -116}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {2012951296, 1422525440, 2141083904, 1385264768, 1350632832, 1772888064, 1988186240, 1194654208, 1415560832, 1464482688, 1458458624, 1662934528, 2043845888, 1433858432, 1085334016, 1464452352, 1228977664, 1566917376, 1370697856, 1522570624, 1102494592, 1188410112, 1116185728, 1100282112, 1678420864, 1098173312, 1422734848, 1282443520, 1197184512, 1240603776, 1367015680, 1091689472, 1295507328, 1248311168, 1229116032, 1137224192, 2119382912, 1770003968, 1825097600, 1550906112, 1947757184, 1977396096, 1151301376, 1860886400, 1431796608, 1208021632, 1817940736, 1343068288, 1793536640, 2077375104, 1781574144, 1382664320, 1670938496, 1143978496, 2063079552, 1996536448, 1282220288, 1607043840, 1135555072, 2026609920, 1791707520, 1235284992, 2043595648, 1219289984}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 10 Learned Parameters +#define CONV10_BIAS \ + {188, -8023, -646, 12120, 372, 447, 41680, 112888, -668, 1556, 42854, 366, 29862, 3514, 7750, -24746, 500, -87, 42700, 3018, 66749, -11272, 329, -1749, 3712, -967, -124, 41634, -2832, 12602, 19591, 52, 41119, -233, -2208, -20, 19335, 42006, 146307, -1722, -5053, 78484, 31365, -7426, 12184, 3587, 13181, 21227, -1383, 756, 5478, 143473, 40669, -16116, 11013, 39098, -8118, 42733, 10, -11689, 45020, 76, -13913, -145} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-163, -29, -115, -82, -130, -56, -217, -259, -77, -58, -213, -123, -229, -38, -52, -24, -137, -127, -224, -150, -227, -40, -113, -126, -75, -91, -65, -228, -123, -173, -190, -140, -201, -121, -61, -110, -209, -225, -258, -54, -130, -229, -228, -54, -119, -156, -68, -235, -37, -46, -89, -231, -238, -37, -135, -220, -62, -216, -121, -55, -211, -18, -47, -112}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1390877824, 1572992512, 1413241472, 1458036864, 1968878464, 1538479744, 1195972224, 2038540928, 1990734464, 1228187008, 1359772288, 1718071296, 1180844416, 1288098688, 1626809856, 1854192384, 1628398464, 1235704960, 1966037248, 1352108800, 1895652352, 1095642880, 1357233792, 1236845312, 1604719104, 2070305408, 1726000000, 1607405952, 1262509312, 1258989440, 1379960960, 1192160512, 1213728384, 1401894272, 1104313600, 1920340992, 1850693248, 2020884736, 1284750464, 1190663296, 1255310464, 1415860224, 2082510080, 1938047872, 1439055872, 1695152128, 1655091712, 1289696384, 1177442688, 1366406016, 1654100992, 1687164032, 1244334848, 1351161216, 1591897088, 1795744512, 1419699584, 1731981312, 1558758656, 1141832704, 1840665728, 1212345600, 1447138560, 1231730688}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 11 Learned Parameters +#define CONV11_BIAS \ + {-705, 59359, -5479, -441, 17598, -8153, -31617, -38653, 20285, 16425, 20309, 41107, -43163, 3563, -2828, -35590, -185, -10888, -37314, -13939, 42357, -26062, 59402, -25024, 16633, -13043, -22287, 13062, 59276, 627, 2628, 9127, 17161, 11340, 41093, 15118, -7485, 11719, -6246, -6762, -10590, 50009, 54276, 4704, 11514, -52811, 14376, 11594, 6895, 3047, -17979, -15591, -30821, 16658, -4394, -24969, -8544, 16280, 2545, -1608, -23260, 19850, 38578, -53408} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-153, -146, -109, -82, -163, -167, -60, -84, -133, -136, -133, -106, -117, -146, -65, -91, -175, -44, -94, -196, -145, -77, -172, -73, -162, -101, -60, -181, -137, -173, -76, -130, -116, -159, -135, -132, -101, -163, -138, -136, -73, -133, -179, -105, -97, -71, -101, -154, -66, -92, -87, -115, -95, -87, -147, -94, -113, -104, -50, -74, -108, -153, -207, -58}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1607701888, 1382195712, 1215935232, 1400517888, 1937890944, 1273187840, 1375628672, 1651565824, 1615455232, 1909650688, 1835000448, 1128706304, 2084837632, 1418575872, 1227979264, 1243735552, 1374485632, 2100222336, 1589349120, 1982588288, 1366045696, 1120283648, 1973750656, 2019835008, 1322647296, 1241039232, 2040846720, 1631625600, 1822147840, 1180592000, 1614332288, 1921385984, 1095705344, 1463056768, 1149926656, 1274362624, 1914185472, 1104749824, 1741263232, 1296155008, 1973803264, 1218655744, 1465817088, 1941938688, 2030148992, 1666379648, 1571136256, 2145014144, 1616094208, 1403259008, 1763077888, 1212487680, 1079477888, 1388380928, 1127835136, 1561222784, 1816762880, 1709794432, 1582655232, 1092512768, 1125440512, 1177401216, 2015030784, 1312996608}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 12 Learned Parameters +#define CONV12_BIAS \ + {3803, 266817, 35662, 971, 11318, 12288, -745, 3070, -3836, 308405, 130329, 208806, 14149, 957, -1611, 205, 135349, 89121, 9786, 7902, 225056, 6752, 143549, 830, 11324, 151502, 266762, -503, -30243, 200587, 116139, -315, 8121, 13779, 2723, 210309, -186, 85247, 186154, 5843, 174356, 249, 270523, 98572, 167543, -169, 1566, -2765, 23639, 3039, 269299, 71192, 1006, -44697, -534, 95882, 76265, 267675, 1518, 318445, 12517, -421, 5023, 11864} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {62, -317, 81, -155, 38, 84, 81, 49, 38, -301, -270, -309, 55, 65, 96, 51, -325, -282, 69, 77, -319, 56, -302, 77, 84, -336, -309, 74, 50, -297, -272, 57, 74, 80, -91, -299, 74, -330, -296, 53, -321, -156, -312, -341, -324, 68, 59, -149, 65, 56, -316, -290, 70, 42, 60, -337, -367, -320, -115, -304, 88, 98, 64, 102}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1751732096, 1913649280, 2115795072, 1138776704, 1723626624, 1400779648, 1443274880, 1267940992, 1186973952, 1907217792, 1109381376, 1097450240, 1519323392, 1148355200, 1238609152, 1566282368, 1385443328, 2144841728, 1873848832, 1968749952, 1449848704, 1132817280, 1656351872, 1080032000, 1655828736, 1895572608, 1097932672, 1903190528, 1458025728, 1335442432, 1089142784, 1759872512, 1974227712, 1238139392, 1987397888, 1725485568, 1244886784, 1173691392, 1901899776, 1081701760, 1609353856, 1625730176, 1124315520, 1320708864, 1216307200, 1196045312, 1936910592, 1307885568, 1938277632, 1509894400, 2075208960, 1395038336, 1227447808, 1519199104, 1321825280, 1312119552, 1998015104, 1233826304, 1866485504, 1168461952, 1906054656, 1796870016, 1988015488, 1131995008}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 13 Learned Parameters +#define CONV13_BIAS \ + {61221, 45399, 108978, -8567, 49602, 86997, 4583, 44872, 95921, 86014, 75949, -7435, 4663, 28154, 1027, 15986, 65292, 37245, -4196, 181058, 10672, 69789, 39678, 34344, 65001, 87079, 24779, 43049, 9721, -27437, 30426, 29484, 119496, 69641, 18900, 20216, 20809, 31267, 51879, 48563, -33315, 6265, 957, -3489, 23549, -15466, 20196, 43593, 7494, 43186, 64029, 44091, 15312, -17526, 112920, 26808, 53438, 17045, 57224, 43103, 47823, 60922, -4565, -11878, -12271, 60191, 22263, 20597, 13221, 24478, -21425, 60877, 26149, 78308, 3769, -23052, 47428, 40560, 20332, 11625, -40540, 12809, 27958, 30056, 12965, 78273, 99809, 97045, 49869, 8321, 34783, 56104, 48588, 56558, -36528, 60599, 25077, -8845, 19924, 44059, 18271, 46936, 57001, 63877, -18427, -28605, 25628, 21200, -18877, 58101, 9173, 26175, 40549, 9111, -9298, 32174, 41510, -4246, 112818, 20275, 38035, 22584, 19799, 44153, 27582, -14784, -13293, 33717} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-109, -165, -143, -143, -123, -131, -101, -152, -152, -176, -168, -62, -98, -126, -166, -81, -87, -126, -109, -161, -123, -141, -136, -147, -131, -173, -124, -165, -112, -111, -130, -99, -160, -179, -84, -114, -99, -107, -138, -117, -102, -117, -177, -90, -117, -81, -86, -137, -126, -156, -113, -151, -148, -67, -150, -97, -141, -134, -170, -107, -203, -121, -74, -98, -107, -110, -70, -98, -100, -102, -133, -146, -124, -123, -118, -71, -164, -95, -71, -171, -108, -78, -80, -147, -88, -167, -190, -111, -141, -101, -119, -87, -141, -152, -38, -166, -94, -100, -139, -149, -96, -178, -100, -105, -68, -69, -182, -172, -98, -127, -123, -94, -113, -172, -73, -183, -99, -107, -136, -124, -123, -67, -70, -137, -135, -101, -100, -120}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1395880320, 1862763776, 1342794880, 2007141120, 1797063424, 1573258880, 1502672640, 1087259776, 1696222848, 1109893376, 1331332352, 1765337728, 1800734592, 1238603392, 1798566912, 2047986176, 1477191424, 1649431808, 1386906368, 2016692224, 1526746880, 1749126912, 1582200064, 1638959360, 1716136064, 1311992576, 1370340608, 1912689280, 1318782336, 1082690048, 1168638080, 1357723776, 1924574720, 1338068352, 1983476608, 2099709312, 1676307584, 1774205696, 1649069696, 1213179648, 1217479936, 1120590464, 1847302272, 2081527424, 1439764480, 1238618112, 1931391616, 1224896640, 1573043712, 2015570304, 1627023360, 1725668224, 1913279744, 1925818496, 1887116544, 1240574976, 1145069440, 1986425984, 1432505984, 1617032192, 1115999488, 1178847872, 1214355968, 1287634560, 1611894784, 1597195904, 1474784512, 1096422272, 1126536448, 1289415168, 1277211136, 1503190272, 1909963776, 1281822208, 1166383104, 1626182784, 1678996608, 1412553472, 1681889024, 1478513920, 1836572672, 1618938112, 1390214272, 1713584256, 1697234432, 1135973376, 1101991168, 1682054784, 1233010176, 1131409152, 1761423872, 1726939520, 1092240384, 1198943488, 1737366912, 1435895936, 1243979008, 1076613888, 1515832064, 1211296640, 2110728320, 1408071040, 2045199232, 1445919488, 2048953984, 1693045120, 1795309952, 1989458560, 1169381120, 1081434752, 1647866752, 1319627392, 1139789312, 2105888640, 1105571072, 1471504256, 2009228032, 1273146240, 1184060416, 1740916224, 1197772800, 1626861312, 1211310208, 1734053120, 2088648064, 1416985600, 2053350784, 1240632064}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 14 Learned Parameters +#define CONV14_BIAS \ + {74609, 480, 1339, -2529, -2498, 400, 24, 47531, 76156, -1046, -1002, 376, 602, -141, -5743, 160, -2874, 949, 13978, 28123, 776, 23057, 220, 47184, -953, 32038, 13385, 3499, 135851, 2988, 38770, -3923, 9584, -106, 1572, 1982, -2555, 17158, 3609, 2800, 1944, -67, -1922, 4857, 27438, 19194, -12838, 1951, 40697, -7648, 52223, 14523, 20591, 569, -1148, 3972, 14566, 953, 536, -3846, 47762, 587, 52810, -778, -7, 66930, 1864, 135434, 23047, -374, -24337, 8224, -7606, 3381, -8490, -258, 306, 5831, 504, 161, -15766, 1090, 33068, 31631, 445, 46277, 6589, 472, 341, 5669, 12186, 8253, 2961, -387, 736, 406, 57257, -56, 14438, -7936, 8307, -7530, 854, -1779, -6, 493, 468, -10196, 105585, -927, 180, 6737, 12635, -12343, 14794, 20248, 143, -10922, 1602, 638, 15066, 33, -54, -12858, 469, 5026, 8546, -2008} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-260, -122, -79, -19, -17, -111, -23, -241, -265, -93, -119, -101, -114, -128, -13, -128, 10, -80, -87, -221, -99, -251, -128, -254, -126, -238, -227, -119, -264, -8, -248, -139, -58, -122, -65, -66, -34, -86, -78, -101, -28, -72, -100, -62, -250, -222, -18, -106, -247, -25, -249, -187, -244, -122, -94, -40, -239, -128, -128, -22, -236, -100, -251, 13, -122, -252, -100, -268, -238, -99, 12, -99, 1, -26, -16, -132, -25, -39, -128, -119, 2, -107, -248, -244, -110, -243, -79, -132, -112, -41, -35, -38, -32, -114, -103, -115, -243, -101, -95, -21, -114, -23, -14, -35, -117, -113, -122, -13, -266, -9, -120, -90, -57, -22, -42, -243, -123, -18, -21, -116, -232, -125, -112, -15, -105, -40, -121, -73}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1455831168, 1261106304, 1438067456, 1336447232, 1238399872, 1295717760, 1786418048, 1768474880, 1101602176, 1509302784, 1276021504, 1777134720, 1990859904, 1867839872, 1148163072, 1535661312, 1698449536, 1830432128, 1319839872, 1240853760, 1146927872, 1859168256, 1659308416, 1860462976, 1378560896, 1914232320, 1156334976, 1477411584, 1254990208, 1704367616, 1557353344, 1605386368, 1294385024, 1738100864, 1250917376, 1162935808, 1460650368, 2083209600, 1090746752, 1547818496, 1826426240, 2044348160, 1475568384, 1874276096, 1906816640, 1266200064, 1114439168, 1361822592, 1406343808, 1318949888, 1448208768, 2048007040, 1383428224, 1571860224, 1541501568, 2029111936, 1895153152, 1328362496, 1835110016, 1620434816, 1179407744, 2076732416, 1180753536, 1619471232, 1202152704, 1121421312, 2069764608, 1697580800, 1934238592, 1221751168, 2120232832, 1085773824, 1752237184, 2105478656, 1557207552, 1318022400, 1169225088, 1960077056, 1581739520, 1318377728, 1245386496, 1669187328, 1924988288, 1357601920, 1257685120, 1662337920, 1298033152, 2111861376, 1272872832, 2110520960, 1287001344, 1803086592, 2131548800, 1151063680, 1108878080, 1363314304, 1249766784, 1239639680, 1371441664, 1548207488, 1324278912, 1805075712, 1343419648, 1789865728, 2133665024, 1549889536, 1342043136, 1499640576, 1226723200, 1991307008, 1173447680, 1914717696, 2110244736, 1292727808, 2127774464, 1635042048, 1204034176, 1486836992, 1646622336, 1086838272, 1259509760, 1513265408, 1344814464, 1312149376, 2055789056, 1598263168, 2125627648, 1511537152}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 15 Learned Parameters +#define CONV15_BIAS \ + {55092, 36080, 33199, -28262, 74727, -5732, 39682, -3132, 30537, 43444, 44755, 30722, -23548, -26826, 93545, 8189, 37719, -55747, -50182, 48114, 19584, 88170, 8353, 40308, 15163, 90065, -11523, 22972, -516, 34684, -14376, 28916, 16469, 589, -750, 1994, 64292, 64340, 19244, 6576, -6122, -5588, -1273, 12786, 30033, 19168, 38290, -19600, 83925, 11634, 13404, 7180, -20072, 4464, 6005, -21375, 57508, -20768, -1998, 39117, 56149, 80125, 29955, -10236, 60173, -3338, 33246, 40537, 27027, 10744, 44195, 34267, -20281, 23073, 51691, 82618, 27723, 13347, 82378, 4527, 19776, 35397, 52836, 53118, 89422, 82533, 2117, -3621, -30209, 4293, 50495, -21510, -9830, 28537, 13994, 23377, -28464, 23128, -13267, 6623, -34468, 50011, 21374, 36491, 13994, 2444, 4255, -9684, 4636, -22041, 35371, -5844, 8100, 34289, 5790, 15759, 4056, 18306, 118811, 67371, 88604, 40213, 44899, -26715, 53778, 25354, -13256, 45674} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-131, -153, -120, -101, -142, -137, -136, -80, -150, -160, -144, -134, -149, -77, -161, -109, -75, -89, -135, -107, -109, -143, -128, -132, -180, -107, -103, -141, -117, -129, -111, -167, -133, -119, -103, -127, -144, -156, -148, -97, -148, -132, -83, -118, -81, -69, -129, -155, -124, -119, -170, -135, -128, -129, -134, -155, -151, -117, -86, -161, -129, -76, -144, -152, -89, -154, -160, -152, -131, -35, -149, -141, -97, -208, -122, -144, -119, -191, -112, -136, -136, -146, -117, -129, -171, -79, -221, -141, -149, -191, -146, -146, -111, -90, -154, -123, -117, -112, -91, -152, -103, -128, -92, -148, -117, -125, -207, -78, -74, -127, -82, -152, -106, -67, -138, -98, -138, -111, -134, -137, -136, -94, -133, -120, -147, -103, -165, -109}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1749424768, 1560987136, 1141365504, 1333067904, 2000446848, 1121488896, 2073230592, 1483535104, 1107986432, 1397563392, 1939926528, 1583194368, 1457983104, 1948823296, 2108868096, 1625493760, 1829125248, 2137598976, 1344598912, 1543435008, 1776033408, 1138314880, 1284649728, 1148718720, 1287454080, 1131483648, 1194710144, 1467361280, 1635850880, 1287990272, 2121089920, 1094087296, 2056847744, 1814505856, 1575205760, 2077500032, 1228676608, 1408492288, 1862205184, 1653508864, 1816096256, 1149653248, 1249218176, 1941931520, 1674752768, 1448394880, 1355146496, 1849418752, 1514235136, 1280760448, 1116390272, 1767977088, 1514235008, 1111243264, 1448411648, 1485435136, 1294377472, 1205742848, 1139680512, 1416792192, 1956815360, 1742821632, 1138773120, 1434717184, 1216640384, 1201460352, 1609910912, 1190204288, 1302089984, 1541460736, 2017697024, 1317063808, 1807744896, 1363384320, 1562430208, 1744393344, 1115607296, 1390406016, 1464830464, 2002930432, 1254964224, 1506479104, 1431184128, 1624257280, 1832281216, 1266962432, 1236482560, 2135038464, 1744400384, 1241588992, 2009833088, 2132815744, 1166563584, 1118828032, 1122088576, 1108781056, 2073683584, 1509279872, 1684100608, 1160775040, 1573939712, 1168275328, 1292488576, 1250737280, 1687391616, 1225316736, 2114295168, 1359341824, 1131353216, 1286029184, 2113716096, 1226490880, 2034620416, 1336579712, 1279594624, 1852878208, 1862894848, 1607409536, 1252678016, 1779652992, 1655797760, 1475884160, 1431482240, 1284049664, 1147461248, 1107760512, 1854717312, 1368076672}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 16 Learned Parameters +#define CONV16_BIAS \ + {-24792, -604, -15880, 14639, -4727, -14231, 35201, -19940, 13489, 2691, -18698, 34528, 148194, 43235, 40703, -11171, -5529, -15100, -5351, 16230, -24112, 44743, 40007, 5873, 1427, -16516, -23260, 92838, 81245, 10900, -2701, 87053, -20960, -25064, 42789, 26572, 2767, -29669, -30461, 13364, 11760, -374, 4058, 27805, 33457, 23326, 302, -3874, 2882, -1535, -21170, 39397, 89835, -15141, -7065, 97130, -3459, 1440, 74965, -533, -798, -34215, 2091, 9191, 10327, 97319, 36283, 2052, -14781, 10851, -12641, -8115, -3041, 547, 28609, -115, -8689, 15219, 34381, -18443, 180198, -17874, -652, 6904, 9466, 51873, 21905, 22796, 650, 19497, 20134, 7901, 6086, 57575, 13880, 3095, 25273, 48727, -1589, 76059, 863, -958, 42860, 4071, 17984, 5721, 30, 161525, -3540, 28103, 36357, 6828, 125594, -4498, 6540, 27617, -9835, -21772, -12391, 30833, 34422, 2467, -7382, -2650, 3682, -18926, 5880, 6906} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {13, -90, 8, -112, -94, -7, -253, 14, -99, -112, 7, -251, -497, -216, -259, -79, -21, 7, 1, -65, 17, -273, -251, -45, -78, -24, 22, -310, -267, -84, 29, -255, 39, -32, -248, -121, -102, -16, 26, -63, -82, 25, -47, -227, -233, -251, -27, 9, -103, -6, 20, -216, -258, 32, -27, -303, 8, -123, -266, 33, -82, 37, -122, -125, -94, -266, -261, -60, 4, -228, 13, -6, -20, -8, -256, -126, -38, -92, -240, 26, -356, 22, -125, -33, -68, -240, -96, -117, 33, -105, -195, -43, -61, -191, -94, -154, -103, -106, -86, -290, -28, -124, -228, -33, -136, -27, -29, -477, -40, -132, -230, -76, -285, -29, -87, -245, 14, -10, -23, -209, -234, -105, -25, 17, -131, 17, -120, -53}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1168284544, 1863570944, 2140524800, 2118195200, 1697443968, 1262055296, 1253936384, 1838217856, 2073659264, 1664713984, 1206054784, 1953331968, 1871969536, 1149677568, 1405673088, 1654719488, 1843874944, 1547218048, 1404982400, 1362169600, 1877843840, 1665616000, 2111944960, 1880798592, 1210173952, 1323780864, 1816809984, 1142571520, 1127020032, 1595103744, 1276713216, 1739015808, 1834879104, 2093055744, 1148914816, 1168508288, 1483287168, 1723801216, 1326852352, 2092348160, 1117945984, 1700813312, 1465815808, 1442152320, 1917523328, 1210075520, 2091608320, 1240031872, 1960405248, 1988434048, 2046284928, 1296293888, 2110296064, 1092377216, 1718368128, 1115107072, 2003677696, 1865801984, 1506297344, 2110212096, 1085433600, 1515586560, 2013684736, 1915528192, 1757982336, 1651412864, 1722087680, 1291746560, 1098537984, 1407845376, 1537773440, 1108206208, 1530584832, 2100191872, 1893816192, 1435935872, 1128206848, 1959110400, 1699048704, 1395981184, 1873727232, 1265722496, 2056923392, 1414442752, 1641907712, 1088256512, 1486089088, 1354348416, 1226158336, 1421799680, 1252519808, 1598575360, 1157744512, 1620926208, 1172369280, 2130916864, 1492492928, 1342847872, 2118450560, 2060902912, 1740148992, 1241543168, 1811934592, 2064320128, 1352035456, 1734321920, 1186442240, 1778049280, 1097484672, 1380871424, 1488474752, 1114046336, 1583170688, 1758280832, 1331748224, 1566470016, 1687611264, 1325444992, 1182792448, 1158752128, 1078587008, 1546956928, 1175640576, 1781245440, 1909581056, 1760994816, 2098997120, 1806053632}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 17 Learned Parameters +#define CONV17_BIAS \ + {5668, 7718, -21969, 23590, 44256, -5932, 36981, -37380, 52178, 27873, 45948, 84951, 8555, 35892, 91114, 19692, 41704, 77094, 37015, -9009, 74492, -21096, 3727, 45898, 55701, -23033, 76202, 81331, 18343, 84756, 3422, 10127, 5633, 9598, 8556, 32056, -33807, 9848, -4334, 18865, -22723, 1192, 71761, 12354, 47803, 27380, 6414, 6709, 85574, 33951, -2446, 73781, -5334, 50925, 10187, -35922, 25413, 83171, 59393, -8422, -2730, 56514, -17108, 135116, 22625, 20033, 22444, -16468, 32658, -24171, -14643, -25534, -4326, 61046, 26585, 20740, -59395, 14766, 44192, -12397, 64405, -39005, 13702, -44180, 56902, 74144, -6391, 9354, 60308, 31226, 10824, -2364, 46215, -19650, 23739, 14820, -22632, 23281, -3596, 25639, 47944, 61141, 47539, -22380, 78542, 24574, 45886, 66815, 12862, 5017, 19495, 43409, 50125, 25847, 29477, 26163, 10544, 8836, -5197, 10834, 84985, 59860, 49955, 33877, 71006, 5558, 27154, 92047} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-129, -100, -147, -74, -132, -148, -166, -126, -151, -131, -83, -124, -140, -88, -143, -186, -116, -143, -174, -102, -153, -105, -135, -143, -162, -129, -164, -104, -125, -127, -152, -106, -61, -90, -45, -130, -84, -95, -97, -129, -115, -58, -147, -98, -107, -92, -121, -122, -210, -129, -133, -153, -124, -133, -146, -77, -125, -142, -136, -104, -72, -155, -104, -126, -193, -153, -121, -137, -104, -124, -127, -134, -164, -134, -157, -94, -105, -122, -120, -125, -153, -111, -140, -108, -120, -180, -164, -137, -146, -132, -128, -90, -141, -34, -64, -123, -105, -88, -119, -142, -127, -142, -100, -99, -147, -82, -165, -161, -106, -115, -152, -131, -118, -102, -93, -77, -122, -160, -105, -129, -114, -127, -103, -200, -137, -111, -154, -135}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1128812288, 1496692736, 1202102272, 1696916608, 1135849984, 1177790080, 2021614336, 1221506304, 1754389504, 2063920896, 1478531712, 1592558720, 1946210432, 1393413504, 1127596928, 1597970432, 1634782976, 1246183680, 1321465984, 1614509184, 1092107904, 1694223488, 1219573632, 1762013696, 1681201408, 1929276928, 1344078208, 1600686464, 1257325952, 1823215744, 1271928320, 1180603904, 1481221504, 1075431040, 1764693504, 1133353088, 1745061120, 1498744960, 1211395584, 1348020480, 1821739520, 1440143232, 1628242560, 1144451712, 1568467968, 1212950144, 1687206272, 1144381696, 1160275584, 1553078016, 1306353024, 1311214720, 1822538624, 1951988608, 1241637760, 1916679296, 1399157376, 1266242560, 2028805120, 1976654720, 1243130112, 1890308352, 1250623616, 1665433088, 1304634752, 1238104704, 1432415104, 1414705152, 1147744768, 1494350336, 1464467584, 1217191424, 1909589376, 1958455168, 1363591552, 1559497216, 1770133632, 1623686912, 1639387392, 1440288256, 1782406784, 1297086336, 1849049088, 1930683648, 1377905408, 1891315072, 1777139456, 1290110720, 1347760128, 1246574592, 1788361984, 1693046528, 1764527872, 1173286144, 1147344896, 1793067776, 1213632896, 1748418944, 1547450112, 1830105856, 1169297408, 1570848640, 1286901632, 1266098432, 2005159552, 1341827072, 1749570304, 2018318592, 1405315456, 1710149248, 1606182272, 1680217984, 1549877120, 1159657216, 1523450112, 2142137088, 1616375680, 1298554880, 1370086016, 1218015616, 1691532160, 1747658624, 1990683392, 1107303168, 1660301568, 1618388864, 1148754304, 1271228928}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 18 Learned Parameters +#define CONV18_BIAS \ + {-14601, -18698, 32089, -1716, 5961, -10302, 159, 11300, -6542, 30290, 24949, -9495, -2507, 5352, 36238, 30170, 69732, 11466, 12198, -34141, 30341, -23288, -3798, 13896, -14185, -3492, -4326, 2740, 3148, 51681, -6031, 18325, -1102, 158, 55734, -1838, 4194, -83, -9402, -1484, -13457, -839, -5330, 26685, 14881, 50417, 92221, 5752, -35061, -12554, 84440, 19109, -7067, -5736, 49328, 30451, -5710, 77, 11895, 19867, 69643, 626, -8920, 29474, 29416, 59089, -1834, -13763, 8290, -11066, -5614, 2223, 37368, 33250, 6892, 38154, -2410, 13317, 40344, -4879, 30075, -4438, 17790, -1980, 17644, 28639, 27, 25084, 24364, -6943, 39758, -2181, -3417, -35029, 12359, 56998, 35909, 3291, 87148, 77902, 34735, -5502, 31935, -11468, 983, 30399, -13968, 112171, 23280, 69326, 147106, 34989, 89763, 3638, -3464, 46568, -1499, -2145, 120, 16510, 40217, 11086, 16070, -14264, 26292, -20290, -56, 78697} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-21, -12, -251, -88, -29, -42, -17, -27, -16, -212, -141, -16, -92, -17, -191, -141, -240, -39, -52, 20, -146, 7, -23, -137, -15, -24, -79, -20, -117, -197, -47, -245, -104, -27, -204, -40, -101, -24, -15, -135, -14, -98, -15, -182, -180, -320, -361, -84, -35, -6, -202, -73, -12, -86, -201, -121, -63, -123, -68, -35, -274, -23, -7, -254, -106, -302, 13, -1, -19, -2, -85, -93, -115, -227, -78, -189, -11, -26, -262, -23, -235, -86, -115, 26, -70, -124, -42, -119, -252, -22, -258, -56, -105, -10, -38, -286, -248, -23, -309, -250, -221, -12, -255, 7, -89, -100, -59, -397, -111, -340, -299, -149, -324, -101, -18, -139, -101, -62, -106, -132, -230, -45, -107, -4, -56, -4, -76, -284}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1556415488, 1404381568, 1582629376, 1667417088, 1986844288, 1831333120, 1761834368, 1691632000, 1624775424, 2131757056, 1422530688, 1075311104, 1673917696, 1170158208, 1505767040, 1258189696, 1224299776, 1267683456, 1095750912, 1180710912, 1247060480, 2058527232, 1195943040, 2086841472, 2126805376, 1683573760, 1807987840, 2013561216, 1813947008, 1757421952, 1160272768, 1250396928, 1259322112, 1796988672, 1527458432, 1560343040, 1152038656, 1979917824, 1534210816, 1207471744, 1681530368, 1102943616, 1773497728, 1621755776, 2055011456, 1614457856, 1532093824, 1505105920, 1205136896, 1304754816, 1876838656, 1372086784, 1197515520, 1443596544, 1638303872, 1282020480, 1098922240, 1105453696, 1864677376, 1260859904, 1651455744, 1117543168, 1823205120, 2083836416, 1184157440, 1713582848, 1509737984, 1148170752, 1464540416, 1601968000, 1809673984, 1370853888, 2037701120, 1853043072, 1798688768, 1137912704, 1760575872, 1847726720, 1921215744, 1359485312, 1090088064, 1467138048, 1425474048, 1629740928, 1460748928, 1220644352, 1359824128, 1125649664, 1371740032, 1867107328, 1385887616, 2041335296, 1820534144, 1620377344, 1861395840, 1560366592, 1760110848, 1245931264, 1318064640, 2090210816, 1079231744, 1667848576, 1349636864, 1706270208, 1658537216, 1089036032, 1940862976, 1407421312, 1170668928, 1634571136, 1738326272, 1429877376, 1661251456, 1191863168, 1453931520, 1557080064, 1507242624, 1107867520, 1166426112, 1392147968, 1940550144, 1212929152, 2071482880, 1307598976, 1771343744, 1117966336, 1217451136, 1387782656}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 19 Learned Parameters +#define CONV19_BIAS \ + {1803, -17796, -16035, 2932, 7120, 71398, -7701, -13600, 276, 40708, 12057, -9421, 14163, 7621, 41643, -18400, -40065, 46284, 48175, 7178, -18852, 35857, 48046, 37299, 44245, -15840, 38899, 16147, -4040, 64289, 16400, 6556, 32584, -66977, 29704, -16539, 6922, 900, 45612, 6182, 32995, -5513, 50233, 3856, -28384, 16293, 350, 31320, 1955, -13030, -27369, 17587, 60952, 6604, 17533, -35414, 8510, 11296, -18154, 9808, 37802, -35251, 21964, -227, 37295, 97963, 74075, -17105, 5585, 7787, -18194, -36338, -66243, -2029, -13131, 7497, 26038, -25561, -2690, 27219, 13740, 153866, 81166, -45476, 2169, 16, 37266, 9392, 8124, -3263, 105896, 50063, 4407, 20749, -12315, -2362, 29202, 33417, 28252, 54052, -39523, 40234, 18828, -28233, 67572, 7935, 28213, 18435, 26613, 16870, -6670, 41895, 5797, -13485, -40630, -15244, 58404, 33888, 53028, 8226, -20914, 14897, -28108, 5757, -35084, 47737, 3519, 31748} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-118, -131, -136, -133, -97, -189, -134, -113, -121, -163, -127, -124, -121, -93, -110, -142, -114, -75, -124, -107, -85, -156, -108, -152, -137, -94, -72, -134, -118, -109, -133, -115, -112, -129, -115, -149, -82, -145, -116, -121, -117, -114, -124, -123, -131, -75, -131, -119, -94, -110, -98, -117, -147, -103, -115, -129, -130, -121, -142, -147, -88, -115, -141, -119, -135, -109, -133, -84, -124, -144, -128, -105, -150, -129, -122, -131, -143, -119, -122, -132, -98, -114, -144, -111, -107, -106, -84, -124, -114, -68, -155, -120, -54, -137, -58, -128, -106, -88, -133, -94, -109, -136, -124, -77, -109, -132, -107, -190, -108, -122, -119, -134, -115, -134, -110, -119, -116, -154, -114, -102, -121, -163, -117, -129, -109, -147, -105, -162}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1411406976, 1929924864, 1688800512, 1322626560, 1744994176, 1903277696, 1098507136, 1664052864, 1665857408, 2041284992, 1778512768, 1174094720, 1500028928, 1195559936, 1173176960, 1219953280, 1753322752, 1818004992, 2087447808, 1548642176, 1844338432, 1091069696, 1407346944, 1237726080, 1505366656, 1160651904, 1309177216, 1284719232, 1694298624, 2066497152, 1258703488, 1409073408, 1676801920, 1734397056, 1148997504, 1163138176, 1429517696, 1467313536, 1131602176, 1835422208, 1767505920, 1683435904, 1373960320, 1790486400, 1216497408, 1309604992, 1285270656, 1101440000, 1790118272, 2011518976, 1166459264, 1525398272, 1571034624, 1136108928, 1274400512, 1497416320, 1259624832, 2029625344, 1307670272, 1507989504, 1307196928, 1082200576, 1471758848, 1887936000, 1758924928, 2079716096, 1551460480, 2113381632, 2056581504, 1567137408, 1210216064, 1667998464, 2135666432, 1992735232, 1946062720, 2038668032, 1374675584, 1998593792, 1191659776, 1638777856, 1486853376, 1854438528, 2028714240, 1705146240, 1128538752, 1229692288, 1079393152, 1706505088, 1357405440, 1222139776, 2026562688, 2119614720, 1150367232, 1882601856, 1907581824, 1259194624, 1110592640, 1183752192, 1289767680, 1115625600, 1994855936, 1697952384, 1538569600, 2037603456, 1730003584, 1582545152, 1106281344, 2024892672, 1285130624, 1176170496, 1276802048, 1533834112, 1697611776, 1594693888, 1740589440, 1288374784, 1848143872, 1996655104, 1904952448, 1252645120, 1929220096, 1995057536, 1613788032, 1117752960, 1980594944, 1814684032, 1571952640, 1964972928}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 20 Learned Parameters +#define CONV20_BIAS \ + {32157, -6877, -16617, 57878, 68995, 9060, 6434, 79967, -9858, -15548, -921, -23891, 41802, 6992, 8471, -3800, -15923, 24745, 21115, 11398, 10776, 36391, 8696, 3966, -9576, -6753, 334, 29287, 27022, 19162, 72107, 81427, 8600, -24757, 71890, -8958, -2869, 145768, 18360, 78482, 20224, 13636, 27555, 129977, 71114, 75, -19117, -687, 83882, 52825, 97345, 25824, 36188, 53641, 2847, 3476, 21934, -15743, 8493, 51554, 62468, 3835, 22131, 66391, -5442, 24044, 36242, 49, 21606, -19919, 1098, 19000, -2702, 11044, 15681, -24766, 54894, -12576, -11874, 23241, 32099, 22659, -13078, 54, 149027, -15692, 108121, 1917, -13508, 31296, 20235, 24036, 44063, 28568, -13833, 4954, 10164, -3381, 86807, 52453, 140960, 102084, 82476, -18018, 30844, 75999, -5627, 52172, 5202, -3835, 22922, 15555, 50155, 81027, 175179, -5612, 38996, 406, 19851, 4841, -4821, 8482, 68320, 2513, -45368, 24918, 79756, 58148} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-109, -86, -8, -242, -244, -43, -129, -257, -2, -34, -13, 17, -212, -26, -37, -9, -14, -247, -237, -39, -28, -148, -35, -67, -4, -5, -15, -118, -94, -45, -276, -266, -60, 29, -233, -4, -102, -315, -61, -259, -139, -21, -214, -455, -321, -52, -31, -90, -247, -221, -305, -253, -237, -275, -26, -51, -98, -12, -30, -172, -256, -63, -112, -284, -16, -247, -225, -140, -95, -8, -9, -39, -8, -69, -36, 2, -251, -37, -5, -79, -198, -225, -12, -146, -676, 5, -412, -44, -26, -268, -232, -255, -151, -108, 9, -19, -83, -18, -249, -251, -265, -286, -323, 0, -232, -338, -40, -255, -109, -26, -83, -65, -237, -326, -379, -38, -251, 47, -242, -26, -39, -30, -266, -102, 46, -164, -224, -145}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1673446656, 1189438208, 1684992384, 1609083520, 1074934016, 1352449536, 1147118720, 1999016576, 1627012352, 1127394816, 1820284928, 1432388736, 1525456896, 1142851968, 1698379008, 2088502144, 1153289472, 1656321408, 2042296064, 1669492608, 1088024064, 1254400000, 1892147712, 1629827328, 1233986176, 1390448768, 1266391808, 1836748544, 1758344320, 1127919488, 1294631808, 1822996608, 2144932864, 1242417408, 1282301184, 1690440448, 1747995008, 1967411072, 1621347584, 1849674752, 1674778240, 1621419520, 1903488512, 1865711232, 1976274176, 1340096000, 1271430144, 1968303104, 1662140928, 1891547264, 1663374592, 1836706560, 1950274816, 1920459776, 1242776960, 1444073856, 1281007104, 1620763008, 1089865728, 1455547776, 2025123584, 1563225472, 1758371200, 1521523072, 1612285184, 1133829120, 1499910400, 1386424576, 1337123840, 1480684416, 1835654272, 1506179712, 2034676864, 1358119296, 1144578816, 2094446464, 1612930560, 1265112192, 1113621120, 1178420096, 1280121088, 1319794304, 1608969984, 1729362688, 1332103040, 1984044672, 1120668800, 1499435008, 1412745600, 1216505344, 1280200704, 2122819584, 1295667328, 1175131520, 1985885440, 2120991616, 1595276928, 1120171520, 1507747584, 1780437760, 1870597120, 1497004032, 1095347968, 1441749248, 2020853888, 1361631616, 1166168064, 1164234112, 1460083840, 1497743872, 1535432192, 1203836160, 1161830400, 2140525952, 1131686400, 1354925952, 1794660096, 1975860736, 1348542080, 1107871744, 1346539648, 1180391040, 1782983424, 1880386688, 1381796224, 1847527680, 1777682176, 1108258688}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 21 Learned Parameters +#define CONV21_BIAS \ + {16999, -2954, 6654, 9364, -13167, 11894, -389, -19831, -8941, -19238, -80782, 31263, -9968, 8203, 1216, -27999, -1786, 27728, 7206, 61974, 33808, -59328, -24652, 87799, -14781, 25431, 40063, -3184, 6842, -944, 10164, 11154, -31832, 69100, -11472, -16513, 2931, 2963, 22983, 60494, -54909, 70678, -40284, 19002, 42989, 79687, 74333, -16007, 23997, -58338, -10907, 15635, 51459, 26230, -49678, 29643, 18003, 44115, -30899, 69565, 92966, -8793, -31548, -15810, -47532, -959, -21201, 36032, 60083, 55417, 9726, 27271, 11059, 24736, 10963, -17607, 50025, -24132, -18773, -4925, 12008, 45797, -2919, -27589, 90019, 5197, 46557, -6763, -48185, 60915, -9280, 38445, -22235, 21696, -5794, -5376, 45350, 53682, -52335, 51872, 10014, 1875, -25338, -36934, -9228, 3131, -649, -8727, -61211, 17778, -13278, -12447, -7664, -31677, 108978, 72502, -17161, -22757, -34243, 6317, -36323, 7490, 34468, -1564, 61986, 69884, 18881, -4022} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-122, -164, -114, -113, -122, -95, -118, -140, -132, -82, -108, -97, -130, -130, -95, -90, -102, -126, -146, -126, -160, -117, -120, -139, -114, -135, -104, -140, -73, -96, -140, -122, -121, -136, -147, -115, -131, -133, -115, -96, -75, -127, -116, -144, -145, -126, -158, -131, -111, -108, -140, -117, -128, -143, -138, -130, -112, -158, -121, -144, -134, -134, -77, -115, -110, -117, -114, -138, -125, -121, -136, -143, -122, -92, -118, -98, -122, -108, -104, -112, -109, -137, -132, -87, -107, -139, -145, -99, -112, -123, -148, -122, -125, -124, -154, -148, -120, -178, -122, -135, -124, -151, -109, -101, -111, -88, -134, -143, -99, -65, -111, -147, -93, -117, -108, -136, -109, -116, -132, -105, -107, -86, -122, -146, -97, -178, -163, -119}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1850785280, 1317480960, 2034176768, 1899744128, 1204963456, 1081866880, 1205560704, 1125030272, 1550603136, 2104162688, 1892018688, 1426219136, 1285162880, 1125178624, 1512499840, 1823454720, 1905990016, 1891647360, 1137432320, 1460226688, 1145982720, 1503158400, 1671780608, 1554288640, 1411272192, 1981855872, 2123687680, 1376994688, 1242517888, 1948795136, 1884414464, 1642956032, 1902160896, 1819356928, 1558716032, 1175692032, 2050492160, 1467089792, 1808029568, 1778978304, 1453673856, 1108287104, 1487346560, 1797830784, 2028931584, 1490503936, 1993123328, 1441034496, 1394181888, 1273641728, 1235212800, 1720167552, 1206810368, 1320093440, 1567677056, 1085081600, 1512144896, 1129527552, 2116567040, 1916676352, 1767274624, 2030232320, 1482524928, 1231171584, 1317982720, 1948050176, 1956891136, 1775461760, 1242931072, 1840733056, 1929264512, 1790818304, 1586125696, 1361537536, 2002748928, 1471074432, 1578435200, 2018351232, 1636499712, 1333490304, 1558137472, 1494983552, 1524144896, 1207818368, 1749259520, 1957465984, 1882224640, 1513300736, 1905289216, 1449746560, 1754856448, 1516676352, 1670015104, 1808701696, 1235703680, 2133760384, 1665386368, 1375670528, 1836726912, 2064437504, 1135090560, 1181335168, 1773361280, 1934279296, 1125444736, 1438205312, 1477598464, 1710162432, 1084912896, 1385237248, 1417908352, 1306924672, 1198797568, 1797626240, 1552837120, 1392542976, 1805698432, 1465008256, 1623230080, 1698219904, 1734863232, 1123838720, 1903578368, 1291169152, 1821442944, 2088631168, 1634851840, 1107313536}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 22 Learned Parameters +#define CONV22_BIAS \ + {153631, 69440, -15447, -1853, -1704, 112810, -6451, 70379, -3630, -34277, -5386, -7735, -10720, 190771, 102371, 2302, 67143, -982, 46409, 71023, -2441, -7692, -3111, 44557, -3371, 81825, -1235, -96, -17603, 3970, -9158, -2264, -28866, 155309, 41756, -28241, -5868, -22194, 86164, -21767, 77509, 164303, -1174, -10310, -2, 172992, -9983, 89101, 48148, -7010, -18497, -3987, 35988, 108887, -6484, -12139, 68136, 106167, 148804, 121998, 183313, 265214, -1453, 80037, -3350, -5643, -529, 242953, 24117, 14491, -8697, 185663, -20767, -5149, 85807, -11861, 35727, 130324, -9570, -16, 141245, 59830, 133893, -52, -2905, -4741, -2321, -3294, -29082, -6573, -9295, -1088, -3014, -16724, -6796, -2651, 37634, -13583, -13310, 26771, 87959, -5221, 124483, 144173, 9953, 62910, -7873, -11239, -12969, 25719, -3849, -6251, -4988, 89073, 56152, 34612, 1774, -6113, -6746, -4335, -21866, 950, 70040, -14627, 119550, 81128, -9302, 106114} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-255, -259, 5, -2, -23, -277, -39, -215, -14, -33, -10, -4, -22, -490, -139, -26, -242, -29, -160, -291, -101, 8, -51, -246, -14, -263, -17, -35, -3, -24, -82, -14, -12, -326, -230, 16, -10, 8, -260, 2, -447, -320, -10, -74, -57, -307, -56, -373, -186, -9, -21, 25, -237, -248, -49, -11, -297, -207, -261, -265, -250, -421, -18, -271, -29, -75, -24, -638, -244, -119, -66, -405, 0, -21, -242, -12, -221, -297, -12, -22, -492, -242, -387, -11, -95, -27, -13, -6, 44, -33, -96, -12, -11, -16, -51, -80, -252, -5, -78, -252, -344, -40, -273, -307, -133, -232, -5, -16, -73, -252, -42, -15, -13, -291, -257, -242, -67, -37, -69, -29, 20, -21, -230, 18, -256, -256, -12, -418}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1989384832, 1353612928, 1357012736, 1372612864, 1295173120, 1497325568, 1269079680, 1264306176, 2145524224, 2082959872, 1233825280, 1084886016, 1411869440, 1464431744, 1184678912, 1211433984, 1457662080, 1241915008, 1088835968, 2123117952, 1708365056, 2032190464, 2049318272, 1501166208, 1171523200, 1121668096, 1157609344, 1521357568, 1610369920, 2036528256, 1291669760, 1122847360, 1949980416, 1848711680, 1570935936, 1997595392, 1102922624, 1261789696, 1835689856, 1985889664, 1514301312, 1323851648, 1302292864, 1510075520, 2093963520, 1927185280, 1863923840, 2029675776, 1584893056, 2135378816, 1119032576, 1253823744, 1133830656, 1182704640, 1482017152, 1762204928, 1932125824, 1359800192, 1240246656, 1407485056, 1191502336, 1307458176, 1095552000, 1833587584, 2069844352, 1906046208, 1130078208, 1136228864, 1216064256, 1395650304, 1095165696, 2035615872, 1222570368, 2019445888, 1176850048, 1218693504, 2062710272, 1606311296, 1162113920, 1106675456, 1770047232, 1656188544, 2077678976, 2091993472, 1484996480, 1847905536, 1113156480, 1982445312, 1287680000, 1741690368, 1492492672, 2068013440, 1551689216, 1900843776, 1099326720, 1790788736, 2015469440, 1742263040, 1295502464, 1420471168, 1395942144, 2045609728, 1638058112, 1080368768, 1390070400, 1584393600, 1192765184, 1527121792, 1145653248, 1458306304, 1355600768, 1174731008, 1228049024, 1983905920, 2127830016, 2052531328, 1287304448, 1266003072, 1514707328, 1787801216, 1410655616, 1179570432, 1266984960, 1223794688, 1616385408, 1690681344, 1926404352, 1209985280}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 23 Learned Parameters +#define CONV23_BIAS \ + {-33805, -93461, 4705, -67542, -18223, -7064, -47721, 35239, 26182, -12281, -22162, 26312, -41465, -60571, -29482, 9584, 7982, 16499, 70166, -57730, 25809, -34929, 25216, -34895, 18007, 14390, -25136, 21172, -25162, 28276, 57991, 20107, 4698, -30652, -64877, -26373, 77927, -12543, -18158, 79999, 30659, 4634, 13997, -39120, 72647, -24706, -65328, -2458, -12548, 145917, 13332, 18103, -7193, 45649, 12611, -30830, -18528, -65396, -1421, -46211, 11046, -23425, -24215, -46788, -4684, -17924, -31196, -66238, 3308, 23170, -12641, 33728, 15536, -869, 40612, -50147, -3249, 44797, -24357, 20571, -6109, 5977, -20832, 48284, -26207, 25493, 6784, 38937, 62545, -31041, -13524, 73440, -27788, -44954, 10286, 48475, 39411, -12862, 7302, 12534, -34980, -35256, 5536, 93154, -11107, 60379, -37281, 26895, 24976, 61759, -10468, 7012, -62198, 56816, -47537, -9377, -6722, -14060, 43787, 34028, 17445, -30007, -1022, -5323, -70233, 80280, 11207, 26326} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-121, -131, -121, -127, -82, -131, -135, -129, -118, -100, -99, -95, -129, -124, -138, -158, -170, -151, -141, -105, -167, -103, -130, -115, -160, -105, -123, -92, -119, -114, -131, -138, -109, -147, -123, -98, -117, -157, -112, -127, -119, -131, -125, -135, -166, -156, -120, -118, -123, -146, -119, -79, -139, -130, -122, -116, -120, -106, -155, -126, -150, -154, -95, -82, -63, -158, -148, -144, -127, -103, -143, -113, -124, -135, -136, -141, -127, -118, -114, -147, -139, -105, -135, -121, -135, -156, -107, -136, -170, -126, -79, -114, -118, -106, -145, -131, -159, -131, -119, -125, -111, -96, -110, -145, -132, -120, -151, -130, -168, -133, -126, -131, -136, -139, -93, -160, -87, -144, -102, -82, -127, -111, -129, -129, -83, -115, -144, -146}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1869677312, 1608679424, 1557154304, 1589047040, 1178074752, 1177193472, 1952356480, 1254899328, 1105629440, 1578611072, 1738978176, 1672886272, 1247480064, 1177962240, 1464512000, 1384561792, 1512608640, 1662266496, 2121177216, 1872137600, 1607115520, 1427956736, 1128764928, 1765703424, 1788812800, 1828656384, 1311346304, 2133158912, 1589657088, 1176922112, 2011521792, 1452814208, 1558354432, 1354769152, 1982250752, 2042837632, 2019915904, 1953865216, 1602366720, 1457218176, 1657014016, 1143033216, 1527639168, 1179132800, 1636284416, 1344119552, 1268311808, 1929578368, 1495443200, 1247420416, 1709079040, 1455540736, 1347676800, 1831622528, 1934822784, 2039677568, 1836499072, 1734859392, 1759869056, 1541552128, 1457308800, 1106061056, 1976440448, 1342859264, 1478797824, 1688876800, 1561659776, 1512333440, 1418311808, 2121119872, 1481900032, 2060199296, 1673508992, 1624483328, 1925956608, 2085561344, 1353649536, 1188874240, 1576714880, 1652001664, 1103879296, 2120265088, 1205244672, 2095876096, 1594394496, 2091331968, 1790583296, 1307223424, 1944524416, 2110718976, 1899925504, 2110867456, 2051570560, 1094771840, 1815249152, 1166609024, 1472542080, 1194241664, 2081952640, 1930250240, 1291832320, 1899394304, 1730928000, 2146813184, 1736475136, 1180770944, 1684583296, 1417922432, 1264620800, 1116177664, 1722265728, 1473628928, 1140995712, 1617854592, 1357245952, 1912717440, 1125741824, 1583724800, 1141806336, 1175250304, 1613604224, 1901601792, 1541653632, 1342805120, 1576344320, 1698884864, 1365169920, 1107860224}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 24 Learned Parameters +#define CONV24_BIAS \ + {199131, 2442, 177052, -36, -4407, -1588, 198350, 21492, 178364, 544, 178169, 198569, 179003, 135844, -274, -594, 157300, -1571, 80377, -82, 70788, -46, -1444, -32, 170558, -944, -5408, 122261, -568, -3183, 11880, 2985, 209207, 1365, 1566, 204949, -7126, -1358, -403, 154305, -580, 3986, 148910, -449, 110896, -19970, -7128, -9322, -662, 100168, 207208, 63787, 173214, 96339, 139531, -916, -1433, 175216, 156709, -213, 76646, -1367, -1864, -49, -23965, 5482, -2272, -812, 387, 107034, -145, 129326, 176788, -27, 124811, -450, 175645, 91282, -508, 23009, -1773, 160464, 109136, 208884, -1583, -8750, 186734, 150669, 95902, -313, 77987, 79377, -56493, 177770, -1493, 162810, -983, -852, 210873, 154296, -948, -145, 89257, 106761, 164, 17647, -474, 103819, 204769, 79271, 153033, -63, 2357, 124180, 446, -244, -1200, 513, 66679, -21823, 151571, -666, 123798, -239, 8, 100106, -604, 27935} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {-291, 11, -305, 42, 20, 54, -280, -124, -289, 28, -305, -277, -289, -282, 51, 27, -325, 35, -241, 21, -231, 7, 70, 72, -275, 47, 45, -258, 19, -103, -126, 30, -286, 54, 48, -292, 31, 18, 46, -256, 14, 52, -262, 44, -269, 99, 40, 30, 29, -270, -288, -236, -312, -262, -275, 41, 26, -275, -295, 20, -239, 46, 29, 38, 38, 59, 31, 37, -29, -260, 49, -253, -276, 31, -260, 23, -295, -249, 40, -32, 28, -306, -273, -266, 18, -5, -282, -282, -258, 35, -281, -252, 100, -298, 55, -275, 44, 47, -291, -278, 43, 29, -207, -243, 18, -149, 23, -302, -307, -244, -319, 53, 25, -275, -63, 26, 40, 39, -261, -59, -259, 40, -255, 12, -68, -250, 20, -28}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1989137536, 1580566656, 1911955712, 1849046400, 1896559744, 1336235136, 1099430784, 1476488448, 1077652224, 1243546112, 1992814592, 1080368768, 2090222848, 1644004096, 1815356544, 2043013504, 1478147456, 1584193792, 2078013184, 2037371392, 1210796800, 2058695936, 1258103808, 1258023296, 1121588480, 1574266496, 1624918144, 1090354688, 1135466752, 1277946880, 2040019968, 1300801280, 1177494144, 1632247936, 1996580608, 1894156416, 1979910528, 1394652160, 1628578944, 1329395200, 1764617088, 1590528640, 1455290496, 2030428160, 1095886208, 1542093056, 1881003776, 2031747456, 1820133632, 1272043904, 1083015040, 1459714688, 1435369856, 1762637184, 1605891968, 1488365312, 1587157120, 1109792128, 1525685888, 1080240512, 1563659264, 1268117760, 1195571328, 1456279808, 1412271488, 1519612800, 2030070400, 1991836672, 1252109952, 1988514432, 1256663936, 2067395712, 1211086848, 2104132992, 2017636480, 1465125120, 1123026816, 1583979392, 2098757760, 1693799808, 1774301184, 1507348608, 1270173696, 1973301248, 1836145152, 1446108032, 1095293696, 1507844352, 1122258944, 1844930176, 1100370688, 1501323264, 1237199488, 1275248512, 1175029248, 1796073472, 1175924480, 1959197568, 2036075264, 1523530240, 1616130048, 1089163520, 1636783744, 1579034368, 1086400512, 1143835904, 1080170624, 1703751936, 1405806592, 1418259712, 1543836672, 1820820352, 1664962560, 2060930560, 1107960064, 1690481920, 1557139712, 1329733248, 1328233216, 1208075776, 1185089408, 1370902784, 1387356032, 1965969408, 1810605056, 1209993088, 1947833856, 1638291200}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 25 Learned Parameters +#define CONV25_BIAS \ + {25551, 24405, -7472, 9266, 61268, -77263, -12573, -39643, -2173, 17438, 27699, 20188, -68111, 69613, 14336, -46199, 25240, 32236, 23332, 43746, -47644, 18003, -1004, 15311, 9328, 46435, -20804, 18875, 140251, 10927, -4387, -713, 53329, 10285, 8493, -7106, -2302, -32778, 343, -13609, 43434, -12207, 13436, -53056, 83892, -58752, 45179, -5961, 14914, 48093, -14927, 52964, -69330, -71398, -13065, -50465, -2121, 9433, -14569, 1522, -67889, -15810, 119426, 7111, -59194, -5569, -2119, -67050, -27207, -20690, 10591, -21946, 50336, -17219, 27739, 19576, 32713, 65375, -20343, 4206, 5699, -27518, 31183, 35400, -14076, 75766, 4743, -10890, 17670, -23126, 36393, -66664, 50514, -48178, -42373, 41987, 81389, 3667, 1262, -8489, -1656, -12123, -1767, 37682, 584, -7062, 118845, -71986, 56803, 16724, -35435, 70125, -18527, 17987, -30702, 53618, 12907, 23170, 55218, 17390, 29849, 12374, 12301, -23663, 28542, 80285, 84823, 46006, -2677, 26025, -26126, -10763, -42733, 37129, 4508, 60499, -3671, 56218, -1138, 61989, 30248, 91357, -20111, 12073, -25529, -3835, -29375, 84391, -29176, 44678, 20879, 15054, -10349, -15201, 37986, 31684, 57096, -18694, 9081, -52954, 71071, 60018, 40475, -62518, -34787, -12718, 8652, -82553, 49803, 14865, -33848, 48368, 9723, -41317, 79925, 40496, 24683, -1416, -6978, -6525, -48381, 44058, -10271, -42316, 9391, 50250, -3981, 17999, -20337, -11496, 56033, 15392, 8045, -33337, -472, 2741, 10968, 21539, 29140, 26080, -17823, -32657, 5753, 16629, 48853, 62430, -16896, 5168, 40012, -20043, -78029, 8013, -72469, 10252, -42512, 26240, 20694, 86206, -36175, 21131, -983, -1644, 25914, -46171, -42061, -22194, -32904, -32084, 61024, -9694, -3876, 27629, 15030, -35961, 15532, 4305, 4928, 59956, 66398, -37612, 34605, 1694, -9524, 39675, -97014, -41348, -38441, 3908, -5222, -33771, -33382, 13763, -8495, 68388, -7517, -16072} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-104, -80, -44, -120, -116, -104, -38, -121, -96, -101, -112, -122, -107, -138, -87, -115, -101, -143, -134, -133, -156, -150, -105, -84, -142, -101, -61, -131, -122, -147, -88, -81, -134, -131, -102, -99, -126, -144, -140, -132, -122, -139, -104, -126, -136, -112, -121, -152, -140, -154, -130, -136, -101, -143, -135, -96, -159, -140, -133, -98, -118, -105, -121, -132, -126, -158, -123, -96, -121, -109, -119, -111, -132, -151, -104, -121, -132, -115, -120, -71, -97, -100, -138, -118, -129, -149, -120, -85, -133, -116, -136, -135, -142, -125, -105, -97, -127, -140, -124, -112, -116, -115, -133, -135, -110, -122, -133, -101, -137, -141, -156, -156, -149, -119, -120, -142, -125, -100, -131, -163, -104, -148, -93, -129, -141, -164, -175, -106, -94, -114, -116, -129, -130, -118, -119, -128, -118, -140, -157, -129, -97, -141, -146, -93, -115, -110, -128, -127, -87, -149, -128, -130, -153, -107, -126, -124, -135, -92, -171, -107, -112, -134, -119, -121, -161, -109, -112, -112, -143, -117, -137, -150, -91, -134, -170, -125, -131, -38, -118, -115, -119, -126, -125, -67, -114, -157, -129, -170, -152, -120, -122, -114, -141, -113, -133, -114, -103, -172, -122, -144, -141, -103, -136, -101, -124, -167, -134, -98, -128, -125, -129, -163, -120, -97, -100, -133, -125, -139, -131, -139, -128, -107, -132, -155, -114, -74, -100, -137, -136, -126, -127, -72, -109, -124, -114, -100, -125, -124, -151, -111, -181, -118, -111, -165, -127, -136, -104, -97, -134, -121, -102, -118, -118, -114, -74, -154}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1491094400, 1110342016, 1425445632, 1999295616, 1989752320, 1519344000, 1727943424, 1132131200, 1904436992, 1318871168, 1815450880, 1747623424, 1858556032, 1927456768, 1279224192, 1941237376, 1804068608, 1088572544, 1336276864, 1148744192, 1933788032, 1714023424, 1074309248, 1139022336, 1247339904, 1453766912, 1402655104, 1382394880, 1689646848, 1327430656, 1304465664, 1305399168, 1541602176, 1943151616, 2068067456, 1934482304, 1214384000, 1100387840, 1079003776, 1808127744, 2064302848, 1726678784, 1519915904, 1735668096, 1940630144, 1539632384, 1862027392, 1515390848, 1377266304, 1533780864, 1733478912, 1364024192, 1212427392, 1408648448, 1742302848, 1088300672, 1409576704, 1968693760, 1400284544, 1455429376, 1896963072, 1863313408, 1651263616, 1112185728, 1148464256, 1638456192, 2013760640, 1591552640, 2130707200, 1298849536, 1571047296, 1757698304, 2054832896, 2085508736, 1556899328, 1903487616, 1909063936, 1643647232, 1510660480, 2027819392, 1290627968, 1773269120, 1740902016, 1796642048, 1257487616, 1858977024, 1975147648, 1346758784, 1734420864, 1434734336, 1082484096, 1958805248, 2021712000, 1732219136, 1248173696, 2057102464, 1110896256, 1141217792, 1488841728, 1412359040, 1827647232, 1666652288, 1910599808, 1507604864, 1411783552, 1847677184, 1837177088, 1882138368, 1095490560, 1085283328, 1863662336, 1524760704, 1165487232, 1705163136, 1571483776, 1548120320, 2056063488, 1433725056, 1476633472, 1930073344, 1214086912, 1809468416, 1945136128, 1158368512, 1991312896, 1120593280, 1514150272, 2069809664, 1522939264, 2124849152, 1172798592, 1473339008, 1663666816, 1707609216, 1910574720, 1322763776, 1624954112, 1334492160, 1862473856, 1385617536, 1572001280, 2060148736, 2002818688, 1763092864, 1871725312, 1661225344, 1994026368, 1938733440, 1699398400, 1929716096, 2137848960, 1868018176, 1588227072, 2051989248, 1838189696, 1389623168, 1428315904, 1182500864, 1795997312, 1936558592, 2103418496, 1139921792, 1258063360, 1571431936, 1097827584, 1140851584, 1623309952, 1698616448, 1994472960, 1878493696, 2075254656, 1075708544, 1582503680, 1903714816, 1765994368, 1585194240, 2048418048, 1801908480, 1881761408, 1095030272, 1898717184, 1924409856, 2132453760, 1217210624, 1912995200, 1169180160, 1183223936, 2084204800, 1206503552, 1708875136, 1477443328, 1637457920, 1749642368, 1914534528, 1726335488, 1119196288, 1459276544, 1155252480, 2054242048, 1108267520, 1263518464, 2121591040, 1390318592, 1084848512, 1862023424, 1599786880, 1193535104, 1669084800, 1528711424, 1606398976, 1391653888, 1830798720, 2105500544, 1804111744, 1449335296, 2021269504, 1339775360, 2115679104, 1911210880, 1115143296, 1170397952, 1094173952, 1128406400, 1099633152, 1148627200, 1411004416, 1353337344, 1199958912, 1964916608, 2114607872, 1786707456, 1782521856, 1349161344, 1643156352, 1803237760, 1118351872, 2014088576, 2132978304, 2143474944, 1573020032, 1621586688, 1663836032, 1077373824, 1791907200, 1422682496, 1948725248, 2021621632, 1945134592, 1631422464, 1224112896, 1258890624, 1950262656, 1513984512, 1455587072, 1998786432, 2050550272}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 26 Learned Parameters +#define CONV26_BIAS \ + {68247, 11554, 59848, -17444, 73373, -563, 69601, -359, -1929, -976, -1017, -1123, 92021, -695, 64965, 88522, 94851, -450, -1104, 105468, 75395, -470, 147962, 100580, 133352, 56084, 47791, -1484, 45212, -254, 88979, 103824, 66299, 158241, 65752, -588, 118698, -5816, 224003, -889, 79427, -946, 217255, -7292, 10596, -971, -399, 104096, -29020, -775, -905, 103793, 3296, 9806, -1138, -753, -117, 79837, -1258, 45001, -7207, -351, -15413, -19025, -8300, 349225, -1086, -3566, -1250, -19644, 39592, -1323, -15213, 201727, 70031, -1396, -13034, 118230, -754, 58759, 76732, -572, 115050, -3447, -776, -2590, -926, 50024, -1579, -460, 5724, -243, 156190, -284, 526, 51618, 4034, 85186, -604, -137, -101, 100829, -2257, -4640, -102, -1141, 106229, -693, 22415, -547, 121731, 1296, -727, 66513, -52, -446, 22785, -422, -1057, 1713, 10384, 89411, -1302, -7758, 426, 52133, 36630, 88679, 98647, 62841, 76792, 121012, -1460, 889, -5570, 70825, -159, 57561, -2870, 62345, 80431, 163667, -17659, -2892, -2084, 130120, 2479, 150902, 68592, -2727, -15415, -3760, 38, -1252, -397, 98899, -5660, 111722, -18143, 105825, 58875, -11176, 3007, -829, -313, -4510, -6680, -1243, 86178, 197099, -6552, 95752, 54666, -1409, 134376, -580, -3646, 57847, 88576, -3836, 47417, 80447, -1383, 103056, -64, -535, 55338, -417, -7273, 96891, -1896, -319, 3237, 77000, -300, 59281, 76, -1310, -3486, -2371, -1418, -680, 3331, -406, -399, 58353, 2492, -136, -2511, -32703, -560, -7629, 7047, -1497, -19168, 78285, -46, 88352, -1058, -4823, 81508, 8727, -19413, -1251, 181186, 189109, 62697, -32326, 38830, 122167, -84, 92301, -1244, 11914, -480, 83226, -3466, 160037, 67504, -155, 92527, -332, -29396, -4034, -4476, -1344, 95015, -1180, -2624, 106306, -25657, -441, 91446, 2186, 153837, -3166} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-362, -90, -407, 20, -381, -94, -529, -51, -96, 56, -5, -14, -336, -37, -307, -443, -389, -41, -55, -417, -279, -61, -529, -260, -363, -300, -401, -31, -226, -141, -279, -492, -332, -317, -323, -59, -406, 58, -432, 49, -299, -50, -659, -90, -94, -62, -67, -349, -16, -130, -48, -294, -123, -111, -24, -36, -155, -368, -43, -234, 133, -44, 65, -70, -96, -705, -55, 158, -2, -30, -160, 49, -49, -381, -278, 14, 121, -295, -15, -388, -437, -51, -448, -51, -69, -51, -96, -210, 1, -171, -137, -139, -316, -102, -148, -262, -116, -321, -62, -167, -148, -250, -150, -89, -134, -28, -320, -6, -115, -40, -253, -112, -175, -314, -197, -64, -79, -67, -74, -106, -121, -295, -27, -7, -101, -216, -215, -410, -331, -255, -255, -471, -13, -119, 12, -242, -134, -279, 43, -266, -248, -326, -59, -86, 58, -307, -121, -305, -345, 42, -55, -103, -170, -17, -137, -348, -86, -479, -21, -505, -228, -138, -110, -25, -135, -44, -35, 7, -243, -441, -67, -373, -196, -189, -446, -158, 118, -462, -222, -4, -210, -231, 127, -289, -160, -41, -236, -71, -25, -267, -72, -48, -131, -312, -118, -226, -86, -8, 201, -22, -122, -34, -104, -155, -147, -269, -115, -135, 16, 57, -50, 38, -138, 17, -43, -473, -204, -295, -150, -100, -277, -113, -57, 40, -441, -777, -343, -34, -211, -250, -82, -307, -75, -122, -5, -370, -104, -268, -254, -126, -516, -120, -3, 67, 61, -23, -478, -24, 30, -286, -38, -154, -284, -92, -566, 68}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1596213120, 1940788480, 1562248832, 2130702848, 1456617728, 1572334464, 1364891264, 1725425664, 1187767424, 1931315968, 1603895040, 1175727360, 1644242304, 1396189056, 1715993216, 2143826048, 1089100288, 2079353344, 1431327872, 1751437440, 1545481216, 1969434368, 1409922432, 1820310912, 1875897856, 1258831744, 1738244224, 1655208320, 1203801856, 1949542016, 1528017920, 1748682496, 1524066432, 1120303360, 1754957184, 2057380096, 1260616064, 1687706496, 1473066880, 2022253952, 2092557696, 1353187072, 1869984896, 1531312896, 1373124224, 1449266944, 1638945664, 1162968448, 1940902272, 1284114816, 1589400832, 1436688128, 1076610944, 1343130880, 1466701184, 1508307072, 1419481600, 1270742272, 1387442176, 1117091840, 1601187840, 2087951616, 1683200640, 1257906944, 1231993088, 1589637248, 1293014144, 1321259904, 2105931904, 1108567808, 1815746816, 1991196416, 1480442752, 2093704192, 1091660672, 1970964480, 1238016384, 1649341568, 1222680320, 1470494080, 1237409920, 1335872768, 1795335680, 1551641984, 1892333440, 1282251648, 1081998336, 1740685184, 2031219328, 1780950400, 1074977280, 1848407296, 1143515776, 1349554944, 1074388224, 2116903040, 1878507264, 1402292480, 1313554816, 1168092544, 1194526208, 1976849536, 1565251200, 1257645184, 1693145984, 1181249280, 1327863296, 1443780352, 1163457664, 1569855104, 1664085888, 1486895232, 1161345408, 1462572800, 1172872832, 1251446912, 1494128384, 1074932864, 1720616832, 2058646400, 1483524608, 1147745024, 1263854208, 1239104640, 1135380608, 1206032896, 1303169536, 1315706240, 1485278080, 1764935552, 1324888192, 2098771584, 2109654656, 1557252736, 1894223104, 1424736256, 1783096704, 2043154560, 1720078464, 1383842944, 2055537280, 1167602304, 1492582528, 2054773376, 1135806080, 1700503680, 1097094016, 1258941952, 1453471872, 1521247104, 1472214144, 1383413120, 2080345728, 1083723392, 1924617216, 1630273920, 1454840448, 1674269696, 1338349184, 1955227520, 1401028992, 1388883456, 1325668736, 1228091904, 1587174656, 1601058560, 1597096832, 1999656064, 2010908800, 1871316992, 1502186112, 1114850176, 1900944896, 2115456256, 1777055744, 1809240064, 1275754368, 1624227840, 1840519552, 1083122048, 1259940224, 1423039872, 1883120384, 1209505280, 1858836352, 2051418624, 1316275584, 2045745792, 1078982528, 1726217856, 1894988544, 1388154496, 1688536448, 1502024704, 1376149120, 1696321152, 1306606208, 1253851776, 1150122240, 1079662464, 1386751744, 1089946880, 1493423744, 1929327616, 2043024768, 1380704000, 1078535936, 1337085440, 1895571328, 1560046720, 1614509440, 1115013504, 1781838080, 2060430592, 1397418240, 1122607872, 1359544704, 1176494720, 1705853312, 1477125504, 2103585536, 1601108096, 1173940736, 1871149568, 1607827584, 2083969792, 1353687168, 1232178304, 1568594432, 1720984448, 1248348032, 1946990976, 1259584128, 1456142720, 1967955968, 1226803072, 1375103616, 1271435392, 1598327040, 1248045952, 2130422272, 1619915776, 1653797120, 1275164288, 1367629184, 1226566656, 2063602304, 1562551680, 1546334720, 1411415936, 1726928384, 1747452416, 1764941952, 1430427904, 1580986624, 1374579200}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 27 Learned Parameters +#define CONV27_BIAS \ + {-1024, 26631, 50947, 3641, -2897, -19094, -4457, -7495, 1136, -16964, -16514, 30866, -22139, -25608, 26306, -28398, 15009, 15726, 3406, -32752, -37756, 11641, 6384, -25551, -50604, 8720, 4392, 34823, -18650, -6218, -994, -432, -25690, -7090, 14043, 9387, 18039, -41050, -303, -10167, -3546, 26493, -23201, -14671, -19746, 3455, 22100, -52653, 9350, -1736, -9378, -29218, -25707, -1354, 54092, 13763, -39872, 15719, -282, 5520, 8404, 11178, 41947, -14343, -12972, -7340, -2244, -1776, 1463, -23240, -32876, -45552, 40365, -14897, 12037, 24378, 32997, 12643, 3884, -36622, -52124, -665, -25680, 23289, -13341, -16753, -419, -30293, 1777, 11436, 3355, -18051, -7263, 17676, -11231, -18506, -28437, -9481, -12078, -52659, -2714, -7646, 2397, -55218, -26450, -18558, -46129, 4620, 5847, 846, -2579, -29390, 2314, -5253, 41668, 52857, -7541, 12441, 36094, 5617, -53522, -11781, 18306, -8004, 22514, -21256, 17894, 16332, 55626, -36221, -17823, -42052, -6732, 219, -26650, -68200, -3135, 5424, -18426, 22894, 30304, 9958, -15755, 36200, -6720, 3944, -15991, -64477, 1188, -4726, 63541, -7690, -62128, -39862, 8510, -25229, -9651, -19776, -19344, -407, -4174, 18761, 16184, 13710, 2970, 7880, -13298, 13444, -30765, -24627, 32916, 31764, 3626, 35763, -16944, -19385, -17131, -21605, 10157, 2313, 27981, 2503, -49676, -22357, -21003, 24686, 8362, 24996, -17167, -25622, 74920, 13854, -1205, -13583, 18748, 30247, -12717, -23694, -10653, 9980, 781, -20765, 9660, -16907, -16645, -18841, 672, 7315, -7100, -25283, 54779, 918, 20354, -30223, -3221, -30462, 9667, 40981, 4690, -17677, 18919, 58097, 37743, -25242, 31215, -24650, 29296, -36125, -13881, 41926, 4408, -9473, 15669, -4482, 467, -11667, 6469, 86677, 13667, -20658, 327, 26930, -14346, 36091, -43335, -6017, -10417, -43718, -23750, -22962, -7647, -40648, -11281, 18200, 26330, -22797} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-164, -118, -174, -167, -113, -141, -168, -177, -124, -119, -136, -150, -129, -165, -152, -155, -164, -162, -155, -129, -136, -132, -139, -146, -119, -140, -154, -180, -119, -176, -128, -126, -157, -157, -134, -143, -160, -108, -188, -127, -140, -131, -115, -121, -137, -127, -123, -120, -142, -148, -108, -120, -107, -126, -146, -92, -131, -123, -156, -147, -158, -181, -136, -115, -136, -127, -134, -154, -206, -149, -149, -133, -145, -140, -135, -130, -138, -134, -163, -142, -127, -136, -112, -166, -144, -158, -128, -130, -133, -131, -124, -143, -139, -172, -135, -120, -135, -137, -149, -122, -138, -145, -146, -142, -147, -114, -130, -200, -137, -120, -137, -153, -128, -171, -155, -140, -121, -152, -135, -115, -127, -158, -174, -130, -128, -147, -162, -133, -110, -148, -117, -129, -135, -127, -131, -170, -153, -107, -152, -139, -109, -124, -135, -121, -147, -110, -129, -123, -138, -142, -122, -149, -136, -133, -173, -106, -136, -145, -171, -122, -143, -206, -159, -174, -137, -123, -123, -109, -126, -114, -116, -140, -197, -158, -150, -112, -161, -61, -148, -140, -131, -140, -147, -138, -126, -154, -131, -142, -114, -118, -124, -196, -153, -141, -119, -168, -138, -148, -154, -135, -162, -130, -125, -144, -130, -109, -119, -164, -140, -117, -127, -161, -164, -108, -125, -155, -167, -132, -125, -162, -131, -138, -143, -125, -151, -109, -124, -127, -150, -144, -153, -140, -201, -131, -132, -116, -176, -135, -127, -131, -130, -163, -144, -125, -126, -154, -143, -130, -116, -130, -168, -127, -136, -158, -142, -193}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1156704384, 1347862784, 1680952576, 1143324032, 1287608960, 1325080576, 1229016192, 1950808448, 1977229568, 2107282944, 1113354752, 1087332352, 1469879936, 1931300480, 1791814656, 1106587520, 1214349696, 1373920256, 2037711488, 1268704768, 1611823488, 2124030464, 1787257472, 1437656576, 1721386240, 1850566528, 1554615040, 1312936192, 2138782720, 1135496704, 1795712640, 2133735552, 1365279488, 1113299328, 1811310464, 1226668416, 1393559680, 2009432704, 1155115008, 1115449728, 1091069056, 1626189184, 2038799232, 1458061184, 1277131648, 1363052928, 1258909312, 1739376768, 1450578816, 1818916992, 1166501376, 1149873024, 1865473280, 1196296576, 2027565696, 1814941824, 1703710976, 1213776384, 1295006720, 1807075712, 1114525568, 1135056256, 1665224704, 1112920448, 1620199168, 1272668288, 1085438848, 1107700480, 1790434944, 1146035968, 1145831680, 1619170432, 1590893056, 1891485696, 1779810176, 2034246784, 2122524032, 1269404800, 1086520576, 1139542144, 1203382784, 1264234624, 2035730432, 1149628928, 1845799936, 1141544064, 1857987840, 1670700032, 1155310464, 1722400512, 2097540864, 2086328320, 1289818112, 1314078720, 1861340544, 1896353408, 1154032640, 1889985024, 2118783104, 1610238336, 1832748032, 1839772544, 1128918528, 2025496320, 1958551296, 2040070016, 2014716032, 1896503552, 1903843200, 1733584640, 1998189312, 1163921024, 1950100736, 1272499456, 1854480512, 1125220224, 2025088128, 2115421824, 2108152704, 2030469888, 1844777472, 1150230656, 1210321152, 1271554944, 2143174656, 1658209664, 1188624512, 2083551872, 2047788160, 1235877120, 1304972288, 1152006656, 1664262912, 1161147904, 1743089792, 2115568000, 2105662464, 1175968768, 1184931200, 2050508288, 1871202432, 1113939968, 2079637120, 1161290880, 1831636352, 1973119232, 1172213248, 1531466112, 1168352384, 1311311616, 1158586496, 1954286720, 1240103424, 1762970880, 1084417024, 1795744768, 1714271360, 1151115136, 2133618816, 1151293568, 1493374464, 1836988160, 1091734784, 1306093184, 1857040128, 1773359488, 2146256000, 1147918080, 1877892480, 2081489408, 2099762304, 1233042944, 1649706880, 1842812288, 1232754304, 1099364992, 2041225088, 1694907520, 1134433408, 1151154944, 1853354240, 2072180096, 2009706880, 1943487488, 1802527360, 1078204800, 1453747712, 1127698048, 1928917504, 2082318976, 1136185088, 1719685632, 1796707328, 1411927168, 2103864320, 1080442240, 1231121920, 2090198144, 1706006784, 1488579584, 1423920640, 2111822336, 2003377536, 1546348800, 1235912832, 1837082496, 1985867648, 1747797504, 1503140224, 1874336000, 1936281984, 1965161472, 1088836352, 1763328768, 1445476992, 1129902464, 1135988736, 1205104128, 1644134656, 1125931904, 1639577984, 1887902080, 1713350656, 1672404352, 2059905024, 1852944384, 1748259584, 1244187264, 1307433344, 1114415104, 1824407040, 1092029952, 2046196096, 1091212288, 1918094464, 1890924544, 1199521152, 1743104896, 1327508736, 1177780608, 1841114368, 1915369984, 1936907136, 1692405376, 1891856000, 1335694976, 1163753984, 1127434496, 2098800512, 1670566912, 1159503616, 1932881792, 1160898432, 2016149248, 1554314240, 1862019328}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 28 Learned Parameters +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {2656, 6736, -6264, -4796, 5968, 3266, 6161, 214, -2271, -3061, -5971, -6079, 106, -3954, -175, -2575, -1518, -423, 2935, 1591, 2030, 4738, 5755, 1971, 1596, -4911, 4590, -3775, 5103, 26, 2914, 1166, -3887, -4266, -4930, -11063, 1518, -473, 2337, -2580, -1240, 5005, -66, -2680, 3111, 2868, 1073, -655, -1388, -1196, -209, 2254, 6882, 5101, -3575, -4248, -2991, -1063, 5928, 2825, -5085, 1991, 2255, 8299, 450, 3057, -2790, -3209, -1731, 3365, -4085, 5265, 5097, -880, 919, 4982, 3215, -2698, 747, 2038, -8740, -5187, -1914, -19133, -7826, -1665, -6370, 4194, 4393, 7149, -3592, -4333, 1178, 497, 548, -4921, 2572, -11994, -12844, -8027, -2609, -9307, 219, 3389, 936, 3737, 4507, 1632, -3691, -9420, -7730, 19102, 1653, 1015, -1521, -8962, -9010, 4551, 2140, -7190, 685, -1069, -3562, -4141, -373, -6527, 1988, -4559, -3854, -2454, -140, -5372, -805, -2286, -11459, -5878, -9597, -7255, -3845, -4584, -6388, -342, -4994, -5374, -9853, -2711, -50, -8141, -8069, -3580, -1412, 3534, -9109, 5310, -900, 8272, 3951, -5734, -3778, -1838, -4514, 10213, 8894, 1178, 1301, -1834, 31, -6711, 1588, -2357, -1499, 12618, -1824, -3289, 8783, -9975, -5653, -2810, 5161, -3000, -1823, 2325, 7353, 3195, 2122, 1646, -1329, 1793, -2086, 2655, 2145, 5971, -2903, -2480, -3051, 11685, 4569, -1031, -8273, 6336, -5916, -951, 4148, 6416, 5047, -5081, -4618, -7291, -6513, 3813, -3521, -1336, 617, 506, 1427, -1977, -919, 8530, 245, -887, -1218, -2442, -1306, 7668, -6990, -1023, -6277, -7050, -5385, 5952, 2541, -6393, -4670, 4592, 2481, -331, 3829, 9476, 274, 4738, -2060, -3320, 2117, -1105, -419, 5461, -1888, 6147, -5515, -5252, -552, 8946, 1140, 323, 12639, -6858, 3485, 1577, -278, -25, 6880, 7828, -6047, 755, 2764, 10266, 3854, -3892, -2298, -741, 1243, -497, 3820, -3814, -5895, -6885, -4470, 1294, -5009, 2975, 3699, 9434, -2871, 2646, 7022, 4270, 3333, 1710, 634, 1027, 1384, -6710, 194, -3281, -3992, 1479, 1336, 285, -2568, 6216, -5417, -5778, -1922, -2264, -11055, 3046, 1693, -6429, -3925, -6326, -7665, -4683, -6622, 1110, 7074, 2901, 520, -4091, -887, -5654, -9322, -11625, -10978, -8802, -7038, -9785, -8266, -714, -8310, -5973, -779, -1845, 6742, 2835, -2969, -968, 4255, -4633, -9612, -751, -2261, -1686, -5756, -7682, -1565, -3491, 2125, -1927, 581, 5118, 2528, -5278, -6382, -1922, 3508, 992, 817, -992, 1042, 7100, -7483, -1862, -516, 1396, -1760, 4396, 3538, 9944, 2663, 6616, -525, -980, -2547, 5322, 2737, 1808, 2784, 3964, 1880, 1165, 322, 1579, 2568, 2248, -5821, 2387, -2536, -5323, -2591, 5991, 751, 8307, -7002, -2633, 2251, 5710, -8491, -2344, -2521, 11110, 2548, 5358, 3513, -3925, -9327, 6126, -3024, -2000, -5928, -5418, 3499, -1560, 5685, 7090, 946, -1413, 10567, -3988, -2526, 3933, 1422, 11127, 5287, 6878, 9499, 1597, -11004, -2241, -477, 1850, 6752, -3177, 88, -2465, 3894, 2253, -3652, -3822, -1212, -5337, 2312, -1178, 1549, 1349, -1668, 6407, 668, -5181, 4813, 2557, 3226, 1166, 845, 2677, 1686, 1949, 4293, 121, 521, -718, -11439, 8787, 1586, 729, 6391, 14287, 1307, -841, -2904, 1445, -3105, 3576, -7612, 7751, -4872, 6657, 543, 816, -3133, -8925, 1621, 3259, -1731, -3261, -6128, 3671, 3443, 2142, 812, -2767, 537, -1119, 6259, -10994, 456, -1337, 810, -6836, -91, 6683, 3312, 2829, -4851, -5366, 4921, 229, 1895, -351, 274, -5779, -2946, -3946, -294, -203, 6136, 9997, -1056, -5100, -4980, 5426, -3297, -5564, -8254, 9647, 4831, 5094, 3517, -6721, 2022, 3912, 47, -1373, 2009, -2204, 2919, -3986, -9774, -1298, -3885, 809, -9532, -39, 9355, 6716, -630, 9352, -297, -10833, -8569, 12631, -2553, 4150, 12157, -3018, -4197, -2718, -3222, 4025, 237, -947, -2654, -1055, -4480, 4673, -5642, -469, -956, 735, 7358, -589, 1393, -3125, -4106, 6773, 5647, 5988, 2307, 5075, 3403, 1636, -6163, -4380, -1938, 1806, 5348, 1298, -3885, 7912, -2129, 1991, -6700, 3823, 404, 2124, 5862, -4567, 3555, 7826, -9569, -1442, 11294, 246, 9788, -2050, -309, -5929, 7797, -4734, 9577, 692, 5848, -4178, 19, -2355, -2864, -4534, -2050, 2387, 11639, -7535, 6800, 154, 1920, 11451, -4918, -3704, 2209, 5964, -5002, -1839, 5649, -1202, 3075, 2897, 2117, -2019, 3425, -1244, -1089, -1921, -9316, -1660, 3750, 1918, -2295, -6769, -266, -3167, 3842, -137, 11706, -1748, 1509, -337, 5166, 6087, -2501, -1021, -1899, 303, 4743, -163, 2009, -122, 6257, 4540, -3252, 4145, -6782, 6706, 3020, -537, 1165, 1151, 2364, 1562, -7038, 1938, 4414, -2924, 2184, 8275, -553, 4467, -1689, -2681, 2849, 572, -8287, -2751, -3650, 3363, 5559, -9183, 2050, 6470, 6801, 388, -3979, 1351, 9035, 46, 4583, 6277, -323, -9318, 3789, 7100, -3737, -4315, -363, 3213, 1936, 3380, 7958, 1442, 5001, -5188, -5922, 6564, 937, -4260, 4816, 468, -10004, -1791, 11786, -3889, -235, -448, -2039, 3083, 1033, 539, -7134, -2634, -6150, 1473, 4411, 9422, -2837, -4020, -3152, 4689, -406, 3400, 617, 8631, -3275, 13949, 5394, 3756, 5844, 1484, -235, -4358, 3658, 205, 2977, -3065, 9734, 1813, -3375, 5857, 11800, 1580, -4948, -6057, -5750, -3292, 4620, -5381, -1523, -1043, 6492, 6039, 7562, 16929, -11978, -1645, -6027, 424, -1055, 1513, 2541, 8017, -929, -3078, 7591, -2819, -6737, 8775, 6717, 1372, 4834, -885, 4090, 11441, -631, 8622, -9852, -874, -7614, -1655, 964, 680, -4104, 1501, 7369, -2347, -4945, -1319, 1350, 3281, -3628, -3984, 3250, -6752, -5048, 7540, 843, -3717, 8168, 3777, 6087, -987, -2829, -7588, 3043, -3606, 2491, 1304, 320, -1399, 7076, -5782, 11386, 13022, 2426, -3140, -440, -451, 6900, 6033, 512, 10519, -5970, 1675, 3034, -4270, 8688, 1362, 993, 6757, -5006, 9685, -4095, -1269, 7111, 6354, -2004, 3971, 2134, -1975, -5206, -1636, 859, -681, -839, -5537, 5526, -5650, -933, -3696, -8316, 2716, 3871, 1035, -6906, 7523, 8994, -1130, -979, 2942, -2369, 22412, -7949, -4523, 1239, -262, 5858, 174, 6643, 6182, -3226, 1047, -361, 3529, 7386, -1702, -5872, -1614, -4434, 7479, 7228, 9748, 8148, 1852, -6034, 4345, 1336, 9102, -3245, 299, 543, -2547, 2340, 5358, -1099, 5818, -5641, 2133, 3637, -396, -5049, -248, -1768, -2532, 458, 3263, -2932, -7077, 1803, -13776, -3902, -1028, 6572, -1351, 1597, -2720, 804, 2433, -436, -5248, -7827, -3206, -7431, -11256, -2965, -2717, -2331, -6183, -4181, -45, -1787, -2120, -107, -2636, 3811, -10827, 4105, 2737, -448, -2274, -3357, 568, 2113, 3614, -744, 537, 2198, 5516, 3923, -5911, 2118, 3960, 904, 8453, -1900, -1319, 2275, 9743, 10190, -9385, -9872, 2585, -2876, -5275, -7944, -13851, -8172, -7327, -8890, -10838, 1028, -9717, -1566, -5705, -2821, 10138} +#define FC28_W_Z (178) +#define FC28_IN_Z (0) +*/ + + +#endif /*__128_0_25_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/128_0_5_parameters.h b/Inc/intq-mobilenet-v1-models-pc/128_0_5_parameters.h new file mode 100644 index 0000000..c47552d --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/128_0_5_parameters.h @@ -0,0 +1,361 @@ +#ifndef __128_0_5_PARAMETERS_H__ +#define __128_0_5_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (128) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (16) +#define CONV1_OUT_DIM (64) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (64) +#define CONV2_IM_CH (16) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (16) +#define CONV2_OUT_DIM (64) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (64) +#define CONV3_IM_CH (16) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (32) +#define CONV3_OUT_DIM (64) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (64) +#define CONV4_IM_CH (32) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (32) +#define CONV4_OUT_DIM (32) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (32) +#define CONV5_IM_CH (32) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (64) +#define CONV5_OUT_DIM (32) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (32) +#define CONV6_IM_CH (64) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (64) +#define CONV6_OUT_DIM (32) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (32) +#define CONV7_IM_CH (64) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (64) +#define CONV7_OUT_DIM (32) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (32) +#define CONV8_IM_CH (64) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (64) +#define CONV8_OUT_DIM (16) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (16) +#define CONV9_IM_CH (64) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (128) +#define CONV9_OUT_DIM (16) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (16) +#define CONV10_IM_CH (128) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (128) +#define CONV10_OUT_DIM (16) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (16) +#define CONV11_IM_CH (128) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (128) +#define CONV11_OUT_DIM (16) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (16) +#define CONV12_IM_CH (128) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (128) +#define CONV12_OUT_DIM (8) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (8) +#define CONV13_IM_CH (128) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (256) +#define CONV13_OUT_DIM (8) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (8) +#define CONV14_IM_CH (256) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (256) +#define CONV14_OUT_DIM (8) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (8) +#define CONV15_IM_CH (256) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (256) +#define CONV15_OUT_DIM (8) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (8) +#define CONV16_IM_CH (256) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (256) +#define CONV16_OUT_DIM (8) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (8) +#define CONV17_IM_CH (256) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (256) +#define CONV17_OUT_DIM (8) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (8) +#define CONV18_IM_CH (256) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (256) +#define CONV18_OUT_DIM (8) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (8) +#define CONV19_IM_CH (256) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (256) +#define CONV19_OUT_DIM (8) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (8) +#define CONV20_IM_CH (256) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (256) +#define CONV20_OUT_DIM (8) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (8) +#define CONV21_IM_CH (256) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (256) +#define CONV21_OUT_DIM (8) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (8) +#define CONV22_IM_CH (256) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (256) +#define CONV22_OUT_DIM (8) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (8) +#define CONV23_IM_CH (256) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (256) +#define CONV23_OUT_DIM (8) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (8) +#define CONV24_IM_CH (256) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (256) +#define CONV24_OUT_DIM (4) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (4) +#define CONV25_IM_CH (256) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (512) +#define CONV25_OUT_DIM (4) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (4) +#define CONV26_IM_CH (512) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (512) +#define CONV26_OUT_DIM (4) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (4) +#define CONV27_IM_CH (512) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (512) +#define CONV27_OUT_DIM (4) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (512) +#define FC28_OUT_CH (1000) + + +#endif /*__128_0_5_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/128_0_5_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/128_0_5_weights_bias.h new file mode 100644 index 0000000..360b7d8 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/128_0_5_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __128_0_5_WEIGHTS_BIAS_H__ +#define __128_0_5_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {11090, 18737, -141852640, -65995, 245808, -13840503, -1937192, 120584, 24185, 3685, 31320, 330827, 40908, -36379, 26989, -469365472} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-130, -62, -216, -231, -90, -10, 76, -114, -171, -158, -74, -255, -575, -211, -176, -77}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1109447680, 1669703040, 1976648960, 1634546816, 1386732672, 1479262080, 2065184640, 1750467072, 1339099776, 1225715200, 2051171712, 1727559936, 1921561088, 1364750336, 1227321984, 1254648576}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {3054, 3728, 203, -2583, -10280, -182, -187, 37598, 2824, -123, 11636, 5978, -2401, -109190, 17997, -126} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-93, -191, -53, -33, -48, -158, -219, -201, -122, -91, -126, -33, -265, -38, -32, 186}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1151257984, 1303596416, 1800575616, 1217279232, 1503238016, 1779670784, 1218162688, 1798994560, 1761533440, 1646392192, 2027565184, 1318727936, 1780001920, 1841894144, 1744101888, 1198718592}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {2193, 2669, 92541, -253602, 74754, -22366, 43069, 34118, 73497, 48939, 47749, 87705, 6988, 65332, 52539, 38038, -1218, -10678, -7525, -3305, 23596, 48556, 23442, -4484, 26619, 29752, -19641, 103546, 84573, 44073, -627858, 15177} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-81, -76, -208, -107, -238, -112, -234, -215, -251, -237, -159, -246, -105, -232, -242, -113, -155, -128, -102, -96, -129, -164, -186, -137, -215, -155, -83, -234, -241, -207, -122, -159}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1830964480, 1704184064, 1882393600, 1882164096, 2010015744, 1354175872, 1128495744, 1426943360, 1153004928, 1982632192, 1124127616, 1775125248, 1961246208, 1183143168, 1918754944, 1586338816, 2131492352, 1318371712, 2094379648, 1269226624, 2083690624, 1486057856, 1649644672, 1573198720, 1375979008, 1354819328, 1616672256, 1101374080, 1394939264, 1667770752, 1105019008, 1311990656}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {3736, 918, 17696, -429, 12558, 1424, 390, 971, 2819, 10018, 9676, 1640, 5595, 4900, 3356, 9265, 13936, -456, 1525, 1406, 9739, 164420, 2456, 11648, 3981, 90098, 106230, 900, 49724, 9106, -836, 1873} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-2, -129, -139, -315, -106, -22, -101, -103, -128, -92, -98, -132, -133, -126, -124, -112, -18, -99, -93, -4, -138, -267, -113, -104, -4, -265, -285, -126, -146, -134, -263, 17}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1490336512, 1613613184, 1293979904, 2064837504, 1899412096, 1313940992, 1471553024, 1573232512, 1605778560, 1116885888, 1846007168, 1926265600, 1870803968, 1982416128, 1934525568, 1317642112, 1149180288, 1995787264, 1988035456, 1177421952, 1659082112, 1412319872, 1418732288, 1089189376, 1720828032, 1368907008, 1826196096, 1257304320, 1726961408, 1533974272, 1893929600, 1988276352}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {104878, 33899, -20067, -7464, 3411, 38771, -26183, 14889, 6044, 21173, 30255, 15210, -3937, -6401, 13550, -62200, 9468, 24152, -16625, -5590, -18993, 46284, 8247, 59032, 59791, 946, -34225, 19663, 19923, -32143, 32539, -13529, 41658, 21314, -7330, 16084, 8850, 13240, 8871, -20154, 6004, -42748, 5072, -55291, 45281, 19520, 11527, 70143, 59541, 7849, -350553, 2040, -14051, 4657, 9650, -461, -4118, 3778, 38338, 15375, -18751, 15764, -16550, -53027} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-97, -100, -126, -96, -98, -140, -32, -98, -127, -79, -220, -112, -122, -96, -98, -75, -42, -122, -102, -89, -117, -175, -113, -216, -143, -72, -81, -140, -103, -85, -84, -60, -229, -139, -79, -117, -124, -132, -105, -21, -137, -34, -53, -91, -216, -79, -126, -171, -207, -114, -106, -70, -90, -170, -215, -72, -97, -93, -130, -199, -53, -173, -52, -24}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1969048960, 1491309952, 1166907136, 1421878400, 1554479744, 1141289856, 1203139200, 1986542464, 1946807424, 1970619264, 1746983424, 1178646400, 2007922944, 2086116480, 1590760704, 1083181568, 1798169472, 1641169792, 1827217536, 2034267264, 1187851008, 1595317376, 1245292544, 1586250112, 1477346560, 1839011584, 1554182144, 1705261952, 1738825088, 1516752896, 1718677888, 1916532608, 1786932096, 2095655552, 1429431808, 2036693504, 1304761216, 1971560320, 1882493184, 1427413888, 1477505024, 1796765568, 1147520384, 1938818048, 1993526144, 1924381824, 1215874688, 1880368384, 1304972032, 1460239104, 1804044032, 2090928256, 1411045504, 2047369344, 1318556160, 1267143296, 1486192128, 1556631808, 1324840192, 1585916544, 1303251584, 1213117440, 1608471040, 1118352896}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {323420, 24098, 70911, 82, 48469, -16, 12531, 35600, 38745, 11491, 66268, -173, -2049, 13264, 7312, 79213, 19618, 201, -4973, 1388, -3124, -1457, 23341, 2520, 10715, 5306, 1592, 10354, 33122, -5605, 2062, 6, 3957, 44665, 1468, -1232, -15406, 66356, 36652, -3404, 112956, 32998, 14486, 72377, 30018, 1436, 2204, -5148, 74899, -181, -4277, 751, -378, 1044, 43809, 2730, -415, 87029, 34654, -23292, 44648, 3884, 1344, 42293} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-257, -197, -226, -110, -168, -123, -63, -220, -156, -131, -201, -81, -103, -69, -98, -220, -217, -112, -45, -77, -25, -119, -98, -130, -69, -180, -24, -53, -244, -47, -118, -129, -116, -238, -133, -116, -16, -246, -171, -61, -178, -233, -189, -231, -208, -155, -84, -106, -228, -89, -93, -136, -105, -66, -229, -150, -66, -220, -208, -10, -215, -32, -58, -224}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1364297088, 1089140992, 1951645184, 1149385344, 1842951552, 1365224832, 1566339456, 1439059584, 1153606016, 1373440896, 1145966464, 1375305856, 1899704064, 1765044224, 1661924352, 2030671104, 1766201856, 1396064384, 1884995712, 1322441600, 1303772032, 1340041088, 1090490752, 1244424832, 1325313792, 1480823552, 1406465280, 1220046336, 1634797952, 1992784640, 1988370176, 1178576384, 1678908160, 1546873728, 1740534016, 1165177216, 1789204352, 1657467264, 1818491008, 1309394432, 1140488448, 2054669568, 1301981184, 1641805312, 1680505344, 1081464576, 1883010816, 1432593536, 1331668352, 2122229376, 1997725056, 1505327360, 1664158848, 1464268800, 1458056832, 1533166976, 1769264768, 1928860800, 1207561216, 1432581376, 1393809536, 1686278144, 1311400960, 1812412032}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {49741, -44338, 54713, 403, 1773, 25549, -2169, 97175, -7819, 90409, -12833, -24345, 40714, -7182, 11000, 27433, -13762, -78146, 179, 42860, -5103, -30067, -24, 7822, 35904, 24677, -9114, -10932, -65351, 67618, -13626, 51322, 52047, -67741, -32397, -2283, 19159, 24993, 42629, 10350, 939, -28136, -5973, 119855, -32294, 36037, -13119, -4383, -24097, -56593, 25115, 78060, 65981, 24069, 21328, -70746, 93563, 49628, 12654, 8207, 73351, -17608, -30231, 31398} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-143, -110, -125, -78, -97, -148, -141, -147, -59, -226, -35, -126, -150, -23, -108, -74, -102, -93, -73, -68, -161, -152, -94, -103, -188, -134, -201, -132, -75, -150, -93, -116, -183, -78, -102, -41, -90, -122, -93, -138, -92, -68, -129, -147, -120, -172, -103, -176, -134, -77, -122, -123, -125, -60, -166, -104, -122, -129, -178, -111, -173, -171, -143, -112}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1541973632, 1605545856, 1186375424, 1185906176, 1537711488, 1712208896, 1569386240, 1818806656, 1174381696, 1112580736, 1297008384, 1494616192, 1165612672, 1258115072, 2030173952, 1216858624, 1983622144, 1659820672, 1098108416, 1374154880, 1097521920, 1194718720, 1459958784, 1453061504, 2085289728, 1347185408, 1123233408, 1398720384, 1195176320, 1107757184, 1806669312, 1400588288, 1422578688, 1761783168, 1086996736, 1164695168, 1676751360, 1551761024, 1437065856, 1127433600, 1150320512, 1961385600, 1586014976, 1162308864, 1144553088, 1328765952, 1106971648, 1195170304, 1974620544, 1898101888, 1119839104, 1716094208, 1197248896, 1074518272, 1756652032, 1515701248, 1446368256, 1200864512, 1431485184, 1410995072, 1795898752, 1767369216, 1272944256, 1620838400}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {586, -400, -49472, -15061, 13870, 222902, 89747, 5393, -24429, 1224, 74638, -636, 1445, 292339, -41861, 26805, -46798, 4519, 85556, 1699, 85102, 32692, 61810, 9110, 7114, 7985, 182119, 41000, -821, 119, 2731, 239734, -685, 135072, 133235, 1213, 231501, 26517, 106076, 57786, 254899, 690, 184287, 3442, 4945, 67138, 1151, 91297, 187164, 131657, -9206, 46372, -47822, 145394, 30826, 276033, 53975, 100276, 172790, 4557, -109433, 925, 169324, 81634} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-175, 71, 8, 73, 106, -295, -334, -155, 86, 45, -252, 51, 57, -304, 79, -83, 48, 41, -315, -110, 78, 92, -297, 101, 72, 47, -360, -313, 54, -88, 61, -322, 46, -297, -347, -156, -319, -289, -295, -145, -333, 46, -290, -128, 91, -319, 32, -332, -294, -296, -112, -187, 16, -281, 104, -305, -132, -315, -310, 86, 72, 55, -305, -276}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1158463488, 1976260736, 1233026688, 1292386048, 1093118336, 1413069952, 2022671104, 1889019904, 1241992576, 1843841408, 2002860544, 1717633664, 1932633344, 2104115968, 1301912704, 1384066304, 1143499904, 1755668864, 1982000896, 1509530880, 1336473088, 1370328832, 1335493888, 1383925504, 1367935360, 2044254592, 2108111488, 1180301440, 1760291200, 2136256512, 1574075520, 1569280640, 1490267136, 1637022720, 1486749312, 1561234304, 1810280064, 1812993408, 1169485952, 2003982464, 1512450688, 1680296704, 1132347136, 1205778176, 1825661952, 1654587264, 1473785088, 1256843520, 1408522240, 1153910016, 1381955968, 1733071232, 1983389952, 1324742656, 1725799808, 2075126528, 1974222976, 1923160960, 1219511040, 1184436224, 2017665792, 1568507264, 1706656896, 1677957632}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-27642, -16735, 99928, 61134, 46242, 19945, -4619, 12425, 7069, 36715, 85626, 13341, -39958, -14386, 42854, 41659, 39640, 35042, 47246, 11001, 52562, 51964, 108011, 66443, 28048, 19037, 19040, -9181, -7192, -2865, -6217, 28422, 2746, -35696, 20233, -27236, -1523, 13647, -16370, 68288, -20353, -18168, -2911, 35475, 39460, -9468, -13849, 53010, 45312, 8088, 5281, 17592, -27387, 17527, -2887, 48296, -2248, 10363, 40779, 42951, -28064, 4496, 23139, 57596, 12597, 32128, 15192, 35572, -68946, 7387, 49488, -40400, 1444, 42470, 51084, -74231, -1568, -60150, -10162, 72610, 61723, -18640, 63383, 60930, 11744, 5138, 49470, -18107, -44911, -10409, 15001, -21220, -25803, 49214, -10174, -51317, 42765, 60442, 175817, 143213, 7625, 1536, -5927, 25409, 28838, 47941, 32489, 46004, 36894, 34177, -30959, -30837, 5726, -1808, -10648, 19565, -52084, -10856, 59547, 39854, 75454, 25044, -19909, 66248, 27621, 64318, 75363, 76573} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-90, -60, -151, -112, -208, -144, -45, -68, -56, -115, -129, -99, -89, -121, -79, -187, -89, -185, -116, -129, -161, -122, -118, -224, -118, -140, -107, -81, -111, -104, -140, -105, -132, -89, -174, -162, -174, -178, -93, -90, -103, -78, -145, -143, -154, -100, -87, -163, -106, -121, -48, -93, -54, -137, -94, -173, -167, -119, -134, -118, -81, -183, -101, -139, -75, -111, -89, -122, -113, -143, -161, -160, -124, -143, -144, -76, -99, -70, -104, -158, -166, -102, -204, -168, -50, -29, -62, -115, -106, -83, -116, -73, -131, -99, -155, -112, -150, -191, -168, -165, -104, -99, -139, -149, -96, -145, -96, -83, -148, -154, -112, -88, -171, -106, -124, -100, -36, -103, -128, -106, -195, -123, -107, -160, -176, -196, -158, -140}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1240082688, 1201198208, 1703104896, 1189821824, 1220146176, 1393693312, 1854044288, 1468302208, 1327025408, 2002117120, 1139543296, 1571555712, 1521425024, 1371318528, 1789430528, 1993467904, 1811845632, 1489655936, 1342101120, 1396924800, 1827004544, 1680847872, 1872632576, 1643676928, 1142664320, 1641914880, 1221439872, 1896235008, 1257361920, 1259420032, 2144323968, 1675517184, 1488940928, 1218177024, 1681591808, 1582954368, 1430306176, 1392090880, 1745768960, 1256636288, 1367202688, 1929278336, 1591653888, 1954641152, 1595438848, 1194335232, 1660776576, 1153836800, 1175624576, 1244058624, 1090035328, 1836339584, 1717782272, 1970660224, 1104911360, 1351812608, 1365554432, 1837231872, 1152561024, 1271156992, 1566861952, 1879602816, 2098389632, 1217208704, 1693341696, 1239831296, 2042952064, 1178072192, 1695951488, 1653460864, 1409663232, 1578696960, 1763231872, 1211823744, 1217805568, 1254471168, 1843916544, 1584177920, 1154656896, 1658019840, 1139462400, 1107192704, 1389327104, 1686358144, 1458460800, 1555187584, 1356318720, 2096602112, 2021598976, 1925338624, 1215417472, 1167069184, 2127170944, 1084551936, 1791361152, 1209366528, 1325333888, 1906458368, 1246250240, 1836959232, 1559059712, 1228918272, 1489282176, 1162783360, 1301357440, 1336047232, 1375479040, 1746320256, 2009527168, 1232695552, 1411625472, 1788273024, 1719189376, 1224871552, 1310515840, 1506071168, 1397654144, 1519965184, 1835344256, 1077461120, 1665924480, 1585492096, 1596842240, 1319639552, 1294301824, 1091413632, 2032974592, 1825513088}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {2989, 30854, -419, -373, 22097, -292, 43702, -13711, 5702, 24298, 273, 107, 6196, 25124, 697, 48, 429, 63, -145, 11638, 9175, 6514, 8489, 78, 916, 338, 12345, -5862, 916, 1365, -215, 385, -555, 8481, 242, 186, -2770, 21310, 191, 38761, 119, -6897, 30124, 1, -175, -12745, 21617, -4914, 627, 6064, 4790, 1129, 359, -450, 9692, -7286, 31074, 39136, 24, 23827, -3984, -2954, 19811, 3280, -37, 601, 22566, -424, -6286, -33, -46, -4736, 170, 36803, 181, -326, 50311, 4308, 6134, 78565, 368, 161, 6530, 21647, -35, 14264, 37856, 1780, 86016, 61658, -222, 42363, -611, 12522, 6583, 772, -7223, 5389, 20940, 21705, 17314, -55, 84, -59, 40976, 29273, -151, 27549, 15233, 220, 48825, 137, 4783, -417, -2990, 245, -13597, 4343, -531, 935, 16661, 18170, -3319, 7322, -6963, 1164, 31768, 107} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-115, -217, -123, -119, -228, -124, -244, -46, -60, -233, -104, -110, -216, -229, -132, -87, -125, -103, -133, -26, -66, -52, -176, -112, -140, -25, -36, -22, -125, -75, -41, -149, -62, -65, -26, -31, -44, -183, -110, -224, -105, -62, -220, -109, -100, -60, -155, -61, -78, -77, -87, -88, -97, -44, -203, -24, -228, -239, -97, -219, -31, -43, -218, -155, -90, -131, -195, -125, -47, -107, -35, -42, -138, -226, -53, -44, -215, -154, -202, -236, -113, -59, -59, -231, -108, -209, -227, -40, -247, -228, -48, -175, 40, -88, -33, -105, -30, -171, -239, -233, -221, -158, -59, -100, -237, -237, -112, -247, -111, -106, -241, -39, -44, -54, -35, -102, -29, -60, -21, -141, -233, -64, -47, -72, -85, -152, -209, -123}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1186223744, 1935244928, 1258739968, 1484589696, 1649870976, 1170962944, 1646300416, 1141884416, 1959516800, 1183948928, 1114699264, 1831023488, 1849626880, 1753032064, 1331739904, 1455094912, 2132604032, 1982090752, 1831632256, 1971181312, 1299032576, 2130796416, 1504991104, 1134558080, 1188301184, 1392550784, 1158768128, 1634792704, 1915464576, 1885596288, 1095901312, 2143330176, 1294814848, 1916309504, 1183942528, 1888591616, 1126187008, 2008508544, 1696839040, 1427895040, 1275567488, 1998906496, 1728063232, 1853219840, 2117880192, 1239797248, 2105015936, 1760901248, 1227965056, 1730784896, 1946916352, 1746097280, 2064072320, 1161153792, 2023440640, 1316926208, 2021919104, 1268876160, 1525746304, 1229810176, 1622481792, 1287662336, 1399225216, 1627964544, 1224908800, 1522177280, 1409999104, 1563351040, 1581902976, 1204822144, 1511597568, 1914326016, 1747100288, 1433365248, 1191300480, 1223438464, 1257395200, 1275077632, 1246324992, 2022425216, 1168969984, 1405794560, 1632671232, 1177340032, 1820335744, 1834878848, 1414183936, 1746041472, 2013320832, 1373139840, 1400945408, 1952505984, 1880537472, 1732687232, 1635021184, 2078489216, 1604051584, 1171244288, 1279167232, 1467193984, 2075138304, 1401506304, 1230179328, 1241056000, 1360184320, 1676685824, 1092177792, 1136503680, 1827465984, 1897913344, 1110550912, 1717798912, 2128786816, 1389755136, 1449841664, 1655379584, 1529730432, 1253900160, 1668375936, 2096002176, 1272278400, 1851787648, 1203595648, 1476894080, 1995420544, 1428584960, 1943717888, 1381287424}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {-2831, 43666, 34970, 5835, 13317, 16539, 48610, 38775, 9125, -7372, 36060, 14869, 27269, 25903, 39107, -5550, -35628, 85988, -1676, 2898, -17519, -20856, -11404, 32459, -20117, 3149, 39607, -3820, 26739, 20284, -17641, 18987, 37477, 18300, 119405, 16450, 4095, -17028, 3252, -5232, 43135, 41156, 78027, 82973, 15152, -15657, -6140, -16376, 22637, 53624, -2573, 69449, 3125, 36832, 6229, 4484, -263, 38090, 1030, -590, 4062, 16441, -48700, 6689, -10487, 38311, 14522, 20561, -1172, -12152, 63659, 34199, 32115, 6234, 12921, 17498, -2134, 31472, -7646, 46582, 2286, 58180, -1289, 60773, 28624, -41739, 2432, 15128, 104667, 24286, 16349, 971, 105688, 51710, 393, 7245, -33681, 439, 26121, 4834, 17336, 75096, -15194, -17585, 57904, 34376, 14357, -3562, 18420, 15543, 7120, 19672, 77193, 20762, 18895, 5272, -4708, 1643, 1239, 58637, 905, -45000, 29362, -20296, 33437, -31649, 40169, -16280} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-154, -119, -139, -81, -140, -180, -174, -137, -173, -98, -152, -76, -144, -126, -133, -90, -157, -123, -115, -165, -99, -104, -131, -128, -102, -97, -131, -87, -155, -114, -133, -126, -170, -132, -135, -109, -149, -90, -115, -155, -127, -138, -109, -153, -136, -124, -82, -76, -88, -89, -85, -110, -87, -196, -83, -129, -71, -123, -169, -86, -84, -152, -134, -136, -130, -138, -107, -162, -89, -112, -142, -128, -118, -84, -96, -160, -154, -105, -83, -107, -134, -143, -123, -116, -100, -72, -91, -155, -125, -149, -169, -122, -150, -176, -122, -111, -130, -162, -130, -104, -69, -130, -110, -110, -151, -149, -96, -63, -119, -172, -90, -124, -119, -111, -123, -79, -132, -139, -137, -176, -127, -96, -146, -74, -122, -118, -166, -145}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1879177344, 1191973888, 1092802176, 1767590400, 1765585024, 1574371968, 1215097600, 1434793088, 1341745792, 1140328576, 1541381504, 1836254464, 1839412992, 1610389120, 1958240384, 1086165376, 1406060416, 1095235712, 1504213248, 1915966336, 2009123072, 1889422976, 2038015744, 2114766720, 1094823936, 1109998848, 1241449088, 1952729344, 1951925760, 1309028608, 1767608704, 1199805440, 1805296640, 1264199808, 1566858368, 1113872384, 1868721408, 1168231680, 1760052480, 1255179776, 1162563200, 1749682432, 1784599296, 1300907520, 1529772032, 1117841536, 1704225536, 1497243136, 1490004352, 1195917824, 1221090176, 1369215360, 1145767808, 1460282368, 1740879360, 1603734016, 1546999168, 1081991424, 1710469248, 1835685504, 1989022976, 1714266112, 2070768512, 1278350464, 1668418304, 1122027392, 1936126848, 1838974336, 2143704064, 1185321472, 2010882432, 1223264384, 1551511936, 1794238592, 1703709440, 2132918528, 2016442240, 1586499072, 1538584704, 1299595392, 1977869184, 1318177408, 1660834688, 1400289920, 1439109376, 1300716288, 1124840576, 1157609856, 1901192832, 1153226368, 1865167104, 1360603392, 1514930304, 1266382080, 1804499328, 1894327936, 1846172672, 1867879168, 1109639936, 1197999232, 1821059456, 1935513984, 1606767232, 2102752128, 1747678720, 1182222208, 1154160128, 1454534912, 1149482752, 1861251200, 1998277760, 1624328320, 1369360768, 2013031680, 1172460032, 2021428096, 1636641536, 1568556800, 1229976576, 2121267072, 1601623168, 1618976256, 1585740800, 1549607296, 1572278144, 1483068032, 1431327872, 1162266752}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {-1194, 11202, 22809, -1839, 155695, -2635, 147284, -1136, 138095, 72930, 146417, -790, 135112, 176618, -1187, -16373, -194, -383, -2550, 55693, 17855, 955, 970, 152020, 10727, 312, 3850, 109783, 6987, 12, 126835, 14805, 90908, 57, -1487, 79246, -884, -1200, 62943, 1441, 1717, 250510, 176736, 1500, 88085, 48968, 162903, 2771, 94968, 23666, 6998, 61765, 66549, 138581, 103782, 83859, -27725, 23966, -335, -964, 571, -815, 9658, 54178, 4547, 165294, 87766, 27680, 246867, -514, 699, 123715, 674, 114651, 553, 251517, 398, 30544, 17781, 125471, 14900, -3150, 147817, 47111, 123969, 769, 107406, -50407, -3521, 270, 37755, -1713, 6455, 217339, 19793, 156306, 1387, 66592, 62823, 3166, 1394, 225657, 90167, 189348, 28935, -894, -34396, 87509, 240298, 122542, 248966, 110144, 282845, 960, 13471, 34026, 72769, -1612, -278, 209788, 2275, -758, 180903, 814, -372, 4428, 213930, 70986} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {-1, -184, 103, 51, -302, 76, -316, -111, -330, -275, -303, -152, -307, -310, 55, 43, 105, -114, 61, -333, 50, 51, 65, -308, 7, -157, 47, -298, 66, 84, -301, 84, -330, 118, -135, -340, 82, 81, -387, 79, 75, -325, -282, -110, -309, -326, -356, 80, -324, -207, 72, -208, -314, -296, -322, -333, 46, -161, 16, 69, 59, 60, 99, 68, 53, -307, -345, -100, -328, 64, -137, -299, 97, -318, -117, -327, 53, -113, 105, -289, 57, -102, -302, -179, -300, 96, -323, 127, -95, 57, -127, -85, 57, -307, 91, -335, 48, -360, -307, 50, 101, -316, -377, -310, 128, 94, 55, -265, -325, -345, -312, -307, -322, -128, 62, 91, -307, 53, 56, -300, 60, 54, -336, 51, -105, 90, -305, -324}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1506831744, 1668245504, 1153633408, 1390343936, 1503213056, 1442163072, 1429161088, 1951944064, 1638091904, 1597097856, 1555740672, 2012525568, 1202588032, 1118874240, 1636532224, 1173264000, 1483020416, 1131652224, 1522773504, 1636018176, 1654005760, 1666761088, 1671274752, 1301589888, 1597764992, 1454702720, 1510047360, 2089085056, 1463784448, 1216841472, 1536310016, 1998694912, 1718744960, 1435275904, 1240760960, 1515864704, 1588396544, 1425998848, 1429665664, 1265604992, 1585981056, 1144144512, 1788416384, 1144509568, 1556540672, 1216559744, 1599308288, 1228629504, 1087214592, 1537734784, 1862574848, 1087725184, 1753539584, 1699248128, 2145211904, 1771625216, 1506446720, 1406490624, 1333999104, 1747801856, 1404608512, 1420579968, 1264438144, 1875225856, 1574763520, 1489046144, 2100672256, 1116219904, 1453179904, 1585041152, 1450377216, 1110734720, 1115835392, 1410903936, 1095051648, 2120990592, 1271093760, 2007611392, 2124772992, 1683485696, 1518857344, 1772617088, 1493332608, 1138603264, 1269873664, 1333771392, 1377246592, 1949486592, 1150165632, 1370861824, 1678521472, 1499111680, 1580441344, 1482649088, 2082106112, 2029834112, 1707074048, 1436441856, 1574037248, 1482355456, 2092056832, 1454380544, 1480222720, 1295938560, 1997824384, 1308744832, 1123091968, 1553937152, 1517038976, 1824669696, 1119178496, 1856957440, 1170036736, 1120523904, 1932718976, 1653396992, 1507079808, 1107489792, 1205025024, 1334176896, 1840597376, 1352306304, 1267842176, 1505242240, 1431256960, 2103748480, 1693448448, 1223152000}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {-160, 2662, -1829, 48607, -16289, -9630, 6540, 42628, 73395, 35560, -12268, 631, -84578, 4398, 23741, 38780, 30807, 25204, 12845, 5267, 49767, 2951, 21272, -69674, 32142, 21554, 53976, 12775, 57313, 111630, 31837, 93795, 39175, 32333, 40989, 21261, 122131, 90202, 18966, 7842, -40223, -18278, 20843, 124498, 19909, 47962, 14962, 94412, 32707, -12708, -15957, -1736, 25692, 6387, 39968, 82987, 85, 63276, 47395, -18138, -86838, 42275, 21802, 87003, 62063, 19075, -57150, 15279, 43560, 74749, 28059, 40790, -10735, 41153, 41985, 14158, 55610, 58490, 28856, 13210, 3731, 34658, 58343, 6616, 74612, 43102, 97313, 55482, 45689, 61990, 69770, 92293, 59137, 2175, 16482, 51108, 30355, 7247, 48550, 29745, -13549, 22750, 36320, 55100, 34373, -19142, 34104, 26909, 40828, 14123, -5143, 29414, 14049, 517, 6480, 5187, -20946, 42077, 21927, 119230, 43136, 49044, 81751, 100803, 71613, 36824, 40202, 26084, 22853, 78157, 60209, 38738, 82719, -18903, 6177, 10417, 17166, -35039, 16081, -36396, 7370, 4089, -18222, 15653, 26884, 32462, 14075, 32455, 21856, 7851, 21248, -43263, 51327, -11332, 57935, 10462, -13932, 1699, 45629, 45945, 103880, 57854, 87648, 28878, 24385, 30131, -7346, 26810, 93944, 36452, 26182, 71033, 15514, 66731, 78366, 32880, 54997, 49288, 36374, 31156, 127490, -81826, 53697, -31636, -27145, 65758, -24639, -21247, -8161, 41856, -33094, 24502, 11901, 57728, 1991, 19337, 18720, -25192, 39511, -10816, 36703, -3754, 14965, 62667, 89546, 1004, 4391, 4053, 4618, 86934, 103709, 26551, 39250, -1803, 83601, -11175, 24264, 66707, 33167, -603, -13603, -42701, 59281, -35923, 42723, 46478, 16315, -10789, 9833, 44516, 30742, -54304, -29414, 13459, 30343, 62546, 11298, 12838, 24641, 31787, 21994, 35051, 22083, 88709, 59768, 28079, -33208, 40874, 30522, 17890, 21130, 24536, 23153, 50519, 91960, 33241} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-98, -157, -104, -93, -85, -88, -132, -88, -159, -87, -54, -52, -105, -73, -95, -137, -96, -143, -103, -90, -135, -142, -79, -79, -146, -147, -135, -76, -127, -130, -132, -127, -141, -115, -143, -127, -182, -166, -153, -116, -98, -76, -141, -100, -138, -155, -122, -151, -64, -121, -38, -142, -120, -142, -89, -145, -144, -122, -97, -115, -103, -158, -108, -161, -113, -118, -140, -48, -157, -155, -124, -126, -125, -132, -119, -113, -118, -108, -160, -87, -124, -106, -148, -135, -154, -123, -119, -103, -119, -99, -137, -151, -129, -92, -47, -120, -107, -139, -119, -129, -105, -165, -162, -152, -139, -76, -134, -141, -154, -103, -119, -116, -142, -103, -78, -108, -107, -115, -67, -171, -148, -164, -167, -110, -140, -114, -128, -134, -134, -134, -129, -165, -118, -117, -125, -145, -71, -68, -81, -85, -111, -136, -110, -151, -147, -184, -133, -143, -91, -84, -104, -49, -176, -134, -161, -137, -86, -78, -130, -96, -173, -128, -163, -130, -138, -163, -120, -112, -103, -116, -150, -105, -104, -136, -156, -106, -107, -121, -145, -108, -101, -103, -110, -94, -93, -158, -83, -51, -147, -132, -105, -133, -102, -181, -94, -132, -143, -159, -87, -115, -135, -149, -104, -109, -157, -96, -110, -154, -100, -168, -137, -113, -123, -133, -141, -62, -144, -113, -149, -124, -139, -85, -112, -155, -128, -119, -125, -107, -133, -94, -136, -112, -93, -78, -124, -110, -107, -155, -97, -112, -134, -109, -86, -121, -121, -125, -83, -106, -164, -143, -140, -120, -91, -88, -134, -129}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1560005376, 1497535232, 1735522048, 1162677504, 1212398592, 1938165632, 2014091520, 1114714112, 1208997120, 1813224576, 1483761664, 1824552448, 1156927104, 1694347008, 2036743040, 1984232448, 1449014528, 1128777856, 1187482624, 2044636160, 1979347584, 1817227776, 1955765888, 2147397632, 1365450624, 1111196160, 1889676672, 2007834880, 1459361664, 1674064128, 1120368384, 2129582976, 1671696000, 1129906432, 1461435392, 1265965184, 1225919616, 1100211328, 1814923136, 1870009344, 1147893120, 1778689280, 1149917440, 1812104960, 1176026880, 1771611136, 1366552064, 1379637760, 1446356608, 1627592192, 1532694400, 1092083712, 1785248768, 2032037120, 1629834880, 1087905664, 1163403392, 1584992256, 1456388480, 1870009216, 1632159616, 1863686400, 1532312704, 2111526912, 1257643904, 1115843456, 1509304832, 1927937280, 1461989632, 1468958464, 1588486912, 1549811840, 1920880128, 1463457024, 1344692352, 1193543040, 2049759616, 1090104064, 1926291584, 1909719424, 1799525248, 1918034432, 1566680320, 1082082944, 1834862848, 1330318720, 1906441216, 1139857536, 1793811072, 1463468928, 1274499584, 1918327936, 1721914496, 1607709824, 1543070720, 2031869568, 1975964032, 1653894528, 1779547648, 1934771584, 1913499904, 1243019520, 1559095168, 1924835328, 1155127936, 1207263616, 2133738496, 1891086464, 1170074624, 1659825920, 1359176960, 1566033280, 1771309440, 2123591040, 1826000000, 1985051776, 1538639104, 1336924288, 1550467968, 1983213824, 1698964864, 1277162112, 1263393408, 1353957120, 1425312768, 1456102528, 1547094528, 1204812672, 1451335552, 1465408768, 2100615424, 1187495808, 1146647808, 1426003840, 1919251840, 1512536704, 1122263168, 1237414784, 1224595072, 2098971008, 1137518080, 1336761216, 1611661056, 1992464896, 1212329088, 1302779264, 1880089600, 1836842112, 1126161152, 1292400896, 1746910080, 1547769472, 1943990016, 1272781056, 1216808832, 1762583296, 1894571392, 1884291328, 2075591936, 1488153344, 1276259840, 1289807872, 1324085504, 1359174528, 1584933760, 1344603520, 1332298496, 1567410560, 1626209536, 1818831872, 1414917632, 2042621568, 1147255552, 1798624000, 1639996672, 1297364992, 1602243840, 1124364032, 1379143296, 1625217536, 1702808960, 1598545024, 1261202816, 1382222464, 1081277952, 1302495360, 1320222976, 2074374400, 1912379520, 1710917632, 1218464128, 1074024960, 1519803648, 1824365184, 1976883456, 1818352128, 1110111488, 1743928320, 1108042880, 2096549632, 1829133952, 1638665600, 1972886272, 1354689792, 1814212736, 2051549568, 1722183680, 1514758528, 1585682048, 1312268672, 1329607296, 1776771200, 1463136768, 2004846720, 1617043968, 1113419392, 1891395328, 1456704896, 1289229568, 1296050304, 1924448640, 1269194752, 1444510208, 1498792320, 1277068800, 1322494848, 2086475264, 1207261440, 1991489024, 1270802432, 1429678336, 1325897088, 2022701440, 2046802816, 1720978176, 1772920448, 1962594048, 1843250048, 1309545472, 1837201792, 1201042432, 1251966592, 1443777280, 1327748864, 1402881152, 1915218944, 1973794048, 1643750016, 1881405568, 1381515520, 1808751232, 1162702848, 2126747264, 1243814272, 1446521472, 1495535872}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {112, 287, 101, 1089, 480, 23642, -3469, 6224, 1555, 121, 729, 287, -2987, -7737, 38905, 657, 600, -8629, -1032, -7800, -6347, 6200, -78, 1914, 18852, -183, 1049, 24970, -8408, 4990, 23583, -357, -7232, 1031, -3914, -21115, 1724, 331, -310, -10755, 154, 908, -21043, 16770, -2007, 49839, -22, 7858, 1032, -538, 157, 23788, -418, 33023, 7476, 10426, -1615, 7868, -75, 50, -9231, -1255, 327, 352, -3090, -2406, -3305, 40578, 5210, -7316, -13082, 5439, 27748, 97629, 2118, 22050, 438, 858, 39074, 26275, 56, 8699, -318, -323, 831, 2537, -814, 117, 1110, 1408, 7573, -1173, 3757, -110, 534, 20134, 10606, -1006, 14846, -401, -1030, -7477, -76, -8060, 25102, -79, -7311, 2241, 63933, -112, 358, -8300, 6857, 463, 17026, 137381, -12146, -7134, 73607, 5613, 649, 6808, -9149, -1623, -4156, 21525, 6234, -394, 144, 6998, 991, 12488, -2461, 20, 529, -701, 2625, 74, -6288, 13201, -661, 27495, -17684, 31152, 377, 46604, -14314, 25925, 29740, -11304, -2362, 4813, 36360, -1886, 426, -8229, 678, 52452, 462, 1173, 787, 1517, 1477, 4940, -263, -9450, 64473, -6279, 14807, 310, -1671, -3409, 16041, 361, 14943, 1749, -8866, 1082, 22286, -13906, 1493, -1958, 622, -7713, 176, 383, 689, 4139, -66, -913, -4079, 196, 41764, -3306, 8562, 31, 110, -16755, 6682, -14492, 6065, -3811, 83, -17693, 8152, 1312, -1462, 160637, 25378, -457, 14354, -15922, 1503, -6791, 215, 65, -343, 930, 10875, -10201, -995, -16006, 19089, -9385, 28223, -10141, -1737, 232, -10465, 8006, 619, -6033, -167, 38546, 25459, -2012, -191, -5867, 10533, 23740, -6, 1021, 12, 20625, -8619, -331, 1535, 269, 417, 4371, -3171, 38331, -1851, 9913, 38701, 158597} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-108, -11, -119, -86, -127, -247, -3, -43, -104, -91, -101, -112, -12, -58, -257, -56, -107, -30, -111, -6, -85, -44, -71, -18, -233, -89, -108, -230, -62, -17, -252, -105, -64, -114, -72, -24, -105, -104, -16, -25, -128, -104, -5, -217, -1, -248, -125, -202, -132, -126, -87, -95, -107, -238, -38, -52, -18, -138, -114, -28, -25, -136, -125, -100, -14, -53, -13, -277, -108, -54, -7, -34, -135, -281, -89, -248, -90, -85, -267, -261, -132, -40, -120, -107, -21, -100, -133, -104, -103, -91, -48, -144, -27, -116, -170, -254, -117, -107, -233, -108, -10, -62, -20, -56, -216, -99, -8, -31, -328, -131, -2, -19, -187, -119, -31, -302, -32, -67, -299, -40, -101, -111, -33, -92, -57, -245, -51, -112, -99, -32, -97, -235, -148, 25, -92, -99, -107, -132, -59, -45, -114, -86, -32, -243, -128, -323, -45, -250, -234, -4, -21, -89, -223, -34, -83, -20, -84, -329, -97, -116, -104, -93, -105, -97, -92, -39, -308, 0, -181, -100, -66, -12, -41, -113, -229, -108, -30, -113, -210, -13, -104, -34, -93, -82, -111, -109, -111, -109, -48, 18, -24, -101, -263, -1, -44, -63, -135, -13, -55, -35, -33, -26, -126, -16, -75, -97, -8, -573, -249, -100, -237, -23, -104, -9, -114, -123, -7, -120, -52, -48, -34, -6, -246, 19, -239, -20, -26, -109, -38, -57, -105, -11, -69, -232, -153, -81, -49, -16, -49, -241, -101, -101, -113, -247, -90, -115, -81, -113, -112, -13, -62, -236, -126, -47, -236, -225}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1235463936, 1344924928, 1264309632, 2125076096, 1199812864, 1960599936, 2087161344, 1209166848, 1826937216, 1172193280, 1250906624, 1367187072, 1729314432, 2053220608, 1755592960, 1857387392, 1210301952, 1395494912, 1120322560, 1331309952, 1231200640, 1076994048, 1519813888, 1621271040, 1441652224, 1192826112, 1097506304, 1649574912, 1614529792, 1966363136, 1126694016, 2016175104, 1583476224, 2126362880, 1115965696, 1166962432, 1958076928, 1507451904, 1948026240, 1328388352, 1132600448, 2092906240, 1787164416, 1278529152, 1161963392, 1846625792, 1205203328, 1109667968, 1196745984, 1223929472, 1487806080, 1120266240, 1354327808, 1829156992, 1819123456, 1090867072, 1722926720, 2133371520, 1251901824, 1129998720, 2001017728, 1353045248, 1664182272, 1504002816, 1388422528, 1440928768, 1246597376, 1438381184, 2091636992, 1241226368, 1222048256, 1314772480, 1202310528, 1168768256, 1194666880, 2065326720, 1323521280, 1110395008, 1149336448, 1111842816, 2116363776, 1073851520, 1387110400, 1092577408, 2075494784, 1258473472, 1704161408, 1191157888, 2132719872, 1328628992, 1142902656, 1530397568, 1176801664, 1254076544, 1276248576, 1086929664, 1293129600, 1135200768, 1625002624, 1832964480, 2097308032, 1675451136, 1397083264, 1886132224, 1762062080, 1089286400, 1572827648, 1162584192, 1837677440, 2004069504, 1400670848, 1433343488, 1374335488, 1287460352, 1109179648, 2115424000, 1191518976, 2133626368, 1489515264, 1210006400, 1834525312, 1438859904, 1418651776, 2058771200, 2064924160, 1553582720, 1657852416, 1079226752, 1380252032, 1699716608, 1333539968, 1789463296, 1415680128, 1726466304, 1415134336, 1830117248, 1611526656, 1291006208, 2003766784, 1821248256, 1237596416, 1125977984, 1142013184, 1523744128, 1208298112, 1563760128, 1649454720, 1824019200, 1659084032, 1672398208, 1888364800, 2131486208, 2111288960, 1536199808, 2039719808, 1114113792, 1330268160, 1569098240, 1529167488, 1892162432, 1994521216, 1607679872, 1111019008, 1607457408, 1327724544, 1494366464, 1182345984, 1213503616, 1107906816, 1480746880, 1727799168, 1506326912, 1458424576, 1240332800, 1926608256, 1251715712, 1302794496, 1955612672, 1620237696, 1139968128, 1391525376, 1212362112, 1112829312, 1451244288, 2054911872, 1193630208, 1163189632, 1347820160, 1716774912, 1663459328, 1680038400, 1407379584, 1318315776, 1248761856, 1114824320, 1371875840, 1335733248, 1265745024, 1133709056, 1513607936, 1560635776, 1386595456, 1175281664, 1251163904, 1120896128, 1269026816, 1983457536, 1874591872, 1766070656, 1082421120, 1221176960, 1539011072, 1108379904, 1979003264, 2001778304, 1467435392, 1411211520, 2124498816, 1939461504, 1256908032, 1830814976, 1173799808, 1385743744, 1882908288, 1897844608, 1288551296, 1444909184, 1252124160, 1657707520, 2061723264, 1113362432, 1634441216, 1433362688, 1407789184, 1932176256, 1774136960, 1122212224, 1968221184, 2146643200, 1962849920, 1316109184, 1775757696, 1987722624, 1107181312, 1581736576, 2137465216, 1162537216, 1373757952, 1186804736, 1651870336, 2043251200, 1696242688, 1175621632, 1080016768, 1183861504, 1414917120}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {26203, 7534, 18665, 11787, -11730, -16605, 66552, -12820, -22220, 23828, 28796, -4554, 4559, -30763, 28741, 43207, -12133, -14952, 25270, 80690, 48316, 8331, -17812, -6645, 19281, -4086, 20055, 4820, 28296, 35492, 9203, -24223, -28662, 48629, 18381, 7954, 73942, -3907, -3255, -1134, -12206, 34881, -388, 20337, -13012, -267, 1172, 726, 43018, 8824, 3778, 3860, 38930, 25447, 13018, -16347, -20604, 53028, -13759, 902, -40541, -14686, 34797, 13115, -39056, 5198, 22414, -15831, 21832, 17928, -298, 52694, 41074, -1928, 13445, -34081, 3098, -54354, 24946, 9955, 3254, 2940, -8497, 16186, 9392, 12143, -5044, -23488, 31357, -2314, 70645, -2247, 43384, -10072, 22298, 120151, 63783, 3325, 3352, -62923, 25099, 18192, -8204, -397, -5944, 27491, 32841, 16665, 35668, 43479, 5334, -11116, -7426, 35794, 17714, 4825, -5176, 4995, 107221, 956, -4815, -41745, 49892, -4988, -529, 31645, 31908, 216, -17474, 23556, 3198, 2120, 41449, 101942, 60283, 86437, 1156, 65402, -19214, -11930, 41192, 38079, 34417, 10710, -43385, 30599, 35820, 27390, 12610, -58076, 21862, -26183, 1093, 14485, 33093, 26423, -2303, -6328, 101977, -4549, 43387, 17283, 3382, -21265, 10740, 19171, -10110, -58542, 56334, 1006, 38058, 43534, 109556, 43, 8736, -8110, 13525, 7871, 57950, -11874, -14647, -788, -7746, -27064, 27222, -42050, 1148, 18328, 56778, 30224, 36906, 29742, -7332, -55204, 41183, 21028, 28800, -14777, 9324, 42087, 4432, 34749, 31088, -35543, 27543, 31110, -43611, 55281, 30061, -22477, 90104, -4778, 15229, 25344, 30849, 86383, -15422, -14838, 568, 43608, 50350, 11990, 40109, -6579, 13442, 38494, -21468, 49097, 2921, 32871, -10807, 102575, 5546, -19079, -2216, -8583, 14057, -32767, -12477, 8842, 68213, -46498, 18097, -14005, -8016, 15023, -131, 118206, -32258, 8098, 20971, 67681, 104, -3387, 53725, 11722} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-180, -126, -179, -136, -116, -135, -132, -176, -115, -101, -211, -161, -80, -111, -176, -104, -112, -117, -109, -119, -112, -167, -150, -137, -179, -122, -110, -176, -129, -128, -154, -98, -114, -96, -174, -113, -137, -113, -161, -119, -122, -69, -108, -49, -129, -77, -97, -129, -121, -168, -97, -109, -133, -110, -102, -158, -145, -127, -129, -107, -114, -132, -184, -142, -139, -165, -124, -144, -170, -181, -161, -188, -214, -120, -108, -120, -115, -130, -119, -96, -103, -121, -138, -124, -162, -103, -139, -119, -164, -123, -109, -105, -139, -143, -176, -121, -159, -106, -187, -103, -113, -136, -88, -104, -96, -169, -115, -68, -151, -128, -82, -39, -80, -112, -115, -165, -146, -121, -148, -46, -159, -98, -101, -157, -109, -175, -104, -167, -119, -140, -110, -94, -172, -111, -123, -67, -133, -143, -130, -121, -122, -114, -146, -101, -120, -95, -130, -131, -97, -103, -98, -145, -137, -144, -134, -176, -120, -176, -128, -132, -78, -187, -126, -132, -41, -145, -98, -105, -125, -173, -165, -139, -150, -98, -134, -66, -115, -154, -121, -143, -120, -60, -126, -172, -87, -143, -83, -137, -113, -68, -130, -151, -153, -117, -129, -138, -144, -138, -108, -141, -140, -123, -97, -131, -142, -135, -129, -100, -143, -160, -124, -113, -69, -120, -92, -106, -153, -144, -98, -137, -134, -126, -105, -146, -143, -97, -136, -138, -136, -123, -92, -121, -121, -98, -180, -120, -125, -119, -127, -112, -151, -86, -137, -126, -119, -94, -126, -129, -170, -91, -119, -89, -106, -177, -79, -107}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1388369280, 1461105408, 1674901376, 1456043776, 1495753216, 2095254144, 1502075904, 2028913152, 2043315456, 1730744832, 1601526272, 1331059840, 2082302592, 2029367296, 1596599040, 1210551808, 1707235840, 2020772608, 1649278976, 1571244544, 1540527232, 1750829568, 1180455680, 2043253632, 1274033408, 1397088384, 1854250880, 1318664192, 1482675712, 1288904192, 1277615232, 1589756800, 1716527104, 1403395328, 1765843968, 1171621248, 1247875072, 1891641856, 2083460992, 1718378624, 1679615232, 1962862464, 1997322112, 1208657664, 1695283968, 1844203904, 1186277632, 1676734976, 2112171776, 1088899200, 1122098304, 1304333056, 2114267520, 1385059840, 1122754944, 1084633472, 1371743616, 2078416128, 1371847168, 1539510400, 1386106240, 1252148992, 1711501184, 1355724032, 1378092672, 2080801920, 1227951744, 1935788288, 1711860096, 1118941056, 1278373504, 1144669440, 2073061120, 1735940736, 1127970432, 1181268224, 1319345152, 1693323264, 2129912192, 1829931904, 2068344448, 1245424384, 1906803200, 1107049088, 1842717184, 1739794688, 2085308800, 1665087360, 1417544960, 1456785408, 1249311488, 2050469760, 2097773312, 1490304512, 1897878528, 1795449856, 1860783104, 1832755712, 1228408960, 1608038400, 1832291712, 1198997120, 1594271232, 1723885696, 1885898624, 1244423680, 1433424256, 1518794112, 1261863424, 2131271680, 1125746432, 2020625920, 1139671552, 1348690560, 1330683264, 1813133312, 1534804608, 1542180992, 1354435840, 1123918336, 1254730240, 1974201088, 1304069760, 1343282688, 1856511744, 2062506112, 2001566592, 1097489536, 1848060928, 1435375872, 1086127232, 1342183936, 1375392128, 1206209280, 1440678912, 1073886336, 1826279680, 1603674880, 1574462592, 1319963008, 1663286400, 1492246016, 1752697472, 1471555456, 1530035456, 1082043008, 2099537664, 1487051392, 1405456640, 1962777344, 1210187008, 1430837888, 1599475456, 1137153792, 1354564096, 1436499712, 1702330112, 1220023168, 1152544000, 1467280896, 1390749568, 1224924416, 1298674432, 1434215808, 1324760704, 1252964352, 1804040192, 1193158784, 1412165888, 1484462336, 1734609920, 1840380032, 1531722112, 1168263040, 2026939520, 1946269952, 1560636416, 1365428096, 1209563904, 1428100352, 1349463296, 2092523520, 1505738368, 2057649536, 1289279232, 2145730304, 1582492416, 1775299072, 1414070656, 1712953216, 1323308544, 1657387776, 1727570688, 1331799680, 1105726336, 1703429248, 1597936000, 1636426368, 1079168640, 1168512000, 1338834816, 1805389056, 1858001792, 1097962112, 1145419904, 1075521024, 1769686272, 1686680960, 1601383040, 2136042880, 1711490688, 1703732352, 1666473856, 1229419392, 1730101120, 1326084864, 1618731904, 1891171840, 1458972544, 1831891712, 1972124288, 1342713984, 1739282944, 1109427840, 1893060736, 1502085632, 1133988224, 1801877120, 1630597376, 1103575680, 1821130496, 1323683712, 1119408256, 1659986816, 1807090304, 1189715200, 1710280448, 1074556032, 1513657856, 1160285824, 1248758400, 1120599552, 1705904896, 1657229056, 1798954112, 1956452352, 1256832384, 1976847616, 1753935872, 1083405440, 2018634368, 2100115456, 2074479360, 2036337920, 1369921280, 1230267008}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {23080, -15957, -420, -5684, -17077, -7636, 41637, 104277, -6823, 6630, 81, -3291, 36371, -22457, 42598, 25937, -16673, 4568, 4176, 9198, -16650, 11282, 146014, 17766, 6586, 98629, -4127, 11727, 14675, 2783, 22405, 57904, -11641, 280, -12523, 53842, 32634, 6017, -25716, -1860, -6395, -530, 23759, 13264, -35437, -9969, 47885, 34601, 7008, 25217, 49887, -2574, 9682, -3720, 18110, -8280, 13992, 7565, 2868, 12697, -8463, -4146, -4410, -454, 655, -4907, 7219, -10773, -16939, 11755, 16687, -2183, -4103, -3817, 36765, -22843, -3011, -4117, 10542, -58, 1292, 308, -19607, 3013, -57475, -5658, 52155, 4097, 25323, -5963, 1080, 774, -4148, -2624, -5277, 974, 27199, -3063, 8131, -11881, -6480, -12428, 44235, 97029, -21634, -41337, -20275, 21279, -10038, 12588, 34789, 7836, 68860, 53824, 41302, 35828, 51239, 28966, 615, 27525, -25210, -30407, 7978, -20556, 39629, 25949, -6495, -14743, -698, -12026, 36516, 7571, -13744, -7380, 13458, 27193, 17663, 29184, -23440, -37331, -4260, -20495, 11021, -37050, 12685, 26263, 1319, 19792, 76155, 2635, 91105, 40153, 10689, -48856, 23174, -34859, 94491, 11519, 5513, -13412, -5590, -3018, -2736, 194088, 33836, -8466, -6244, -4786, -9147, 11410, -22995, 14630, 20792, 1013, -22166, -7182, -1265, -29899, 59802, 18317, 144205, 63481, 67945, -2580, 885, -4181, 27269, 19641, 26593, -1202, -13632, -9880, -24066, -508, -9228, 72366, -843, -16989, -19007, 23470, -1365, 21437, 54, -8757, 10676, 19458, 147909, 48967, 4372, 9804, 15571, -13966, 56, -18998, -21212, 8837, 67512, 52034, -2296, -19281, 21494, 3377, 771, 72679, -8583, 50260, 58918, -16615, -139, -18485, 78972, 8352, 10223, -9652, 31119, 11656, 147, 87028, -5993, -53756, -8307, 15645, 20817, -1530, -30725, 41589, 40810, 2231, 1254, 82668, -6291, 1085, 70776, 12448, 30972, 3153} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-128, 32, -54, 15, 13, 0, -246, -215, -10, -38, -38, -20, -300, 31, -199, -253, 15, -54, -71, -39, 8, -147, -341, -104, -15, -303, -11, -51, -65, -28, -66, -299, -11, -67, -11, -240, -258, -115, -10, -43, 14, -18, -103, -209, 58, 7, -332, -252, -49, -151, -275, -9, -82, -109, -132, -53, -87, -46, -38, -56, 6, 9, -49, 65, -85, -7, -145, 4, 26, -100, -177, -14, -19, -132, -270, 32, -23, -50, -82, -10, -103, -120, -15, -83, 37, -8, -276, 2, -259, -100, -44, -130, -17, -126, -86, -51, -252, 2, -136, 9, 1, -31, -134, -352, 14, -27, 7, -152, -15, -95, -250, -57, -324, -221, -290, -153, -342, -181, -25, -263, -25, 4, -124, -57, -292, -233, -9, 18, -149, -13, -263, -66, -6, -50, -192, -233, -101, -255, 33, 40, -100, 16, -28, 2, -91, -257, -17, -116, -319, -76, -359, -180, -73, 8, -250, 29, -398, -78, -148, 18, -33, 5, 13, -431, -249, -11, -59, 0, -72, -131, -11, -49, -249, -134, 5, -14, -78, -2, -248, -151, -383, -323, -253, -47, -16, -14, -230, -123, -245, -11, -10, 4, -29, -5, -11, -219, -155, 20, -10, -235, -9, -46, -17, -30, -60, -154, -287, -258, -34, -76, -69, 13, -31, 0, 24, -176, -218, -223, -5, -3, -258, -20, -20, -212, -57, -258, -271, -11, -43, 12, -306, -38, -81, -9, -150, -50, -96, -273, -35, 34, -34, -158, -253, -12, 29, -259, -247, -120, 24, -307, -85, -147, -377, -132, -266, -26}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1186232320, 1118074112, 1257426176, 1382638976, 1240763136, 1902438528, 1201812224, 1372025984, 2045447680, 1857666048, 1080973824, 1839743360, 1214488960, 1695313792, 1823335552, 2057015808, 1897446144, 1371100416, 1207311488, 2101611904, 1422415488, 1106605312, 1213479168, 1279938560, 2010330496, 2116972544, 1480586240, 1469907072, 1805738624, 1128259328, 1972585984, 1566871680, 1217399296, 1553861888, 1269230464, 1933199360, 1144462592, 1819733376, 1764555008, 1275045632, 1890832896, 2128154496, 1949324416, 1491135360, 1603265792, 2118491648, 1312515456, 1836241664, 1102012928, 1750941056, 1199234944, 2107093760, 1700747520, 1880676736, 1587710592, 1154496640, 1974295168, 1955500672, 1461328256, 1085029376, 1765983488, 1834931072, 1383053696, 1368077440, 1659741952, 1099771648, 1349308544, 1728237056, 1972028288, 2116745216, 1484044416, 1082556288, 1779005440, 1437504128, 1083913856, 1448003968, 1652875264, 1175274240, 1377755776, 1924179072, 1114272640, 1138915968, 1738658176, 1539449088, 1451611392, 1722324992, 1804237952, 1700738816, 1839614592, 1899031936, 1290457216, 2019814400, 2126690816, 2115645184, 1877631744, 1485606272, 1111159680, 1794469504, 1190404736, 2068961792, 1921989248, 2086276480, 1447032448, 1764220672, 2053602688, 1994457344, 1097387520, 1817692544, 1156693504, 1387632128, 1692071552, 1434763520, 2109822464, 1129309952, 2090199296, 1563129344, 1559915776, 1375489152, 1931550848, 1743946112, 1741114368, 1198974464, 1824440064, 1539380480, 1775945472, 1518120192, 1159968256, 1474932224, 1591752192, 1919417472, 1383607680, 1746689408, 1805432448, 1699541376, 1886359424, 1699735936, 1354041856, 1542136192, 1186804096, 1414047872, 2106596736, 1106614912, 1550354816, 1216305792, 1169061120, 2093689856, 2005481600, 1212524288, 1381043712, 1302018688, 1420373248, 1378238464, 1367139712, 1415321472, 1911583360, 1585048960, 1672797568, 1817119872, 1214300288, 1997775872, 1851143424, 1196111488, 1957900288, 1469210496, 2136294656, 1713933184, 1559280384, 1943762560, 1145818496, 1997460992, 1641680384, 1392458624, 1537344256, 2140753536, 1321849728, 1156085760, 1373828224, 1397104512, 1495803392, 1624942080, 1551576832, 1195541376, 1353377280, 1509873536, 1094514688, 1597200000, 1604294400, 1343082880, 1505115648, 2052239744, 2135796736, 1727641216, 1156811136, 1729591552, 1674525312, 1422637696, 1176548096, 1722915840, 1085478528, 1135475968, 1156963072, 1091639680, 1503921920, 1496142464, 1469430784, 1541697408, 1174923520, 1264256512, 1165320320, 1268045568, 1965780352, 2055540864, 1645058944, 1678009728, 1099483392, 1445609344, 1849067008, 1476567296, 1486530048, 1974016512, 1847189504, 1874050944, 1591140992, 1749603584, 1310282752, 1596244608, 1318980864, 1521471232, 1261469952, 2088877952, 1980961152, 1121381888, 2014890368, 1186319872, 1996747776, 2044726400, 2138062976, 1677367296, 2051517312, 1152569472, 2036800512, 1874248832, 1193769600, 2035139840, 1966530176, 1595586560, 1095102720, 2080286976, 1209319808, 1618680192, 1628664448, 1829178752, 1172119424, 1416561408, 1424825600, 1101983744}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-45004, -10774, 38713, 25317, 53603, 55723, 9773, 8596, 25380, 19907, -47849, -68879, -61341, 81995, -10479, -35419, -10056, 5670, -10554, -5668, -18267, -10376, -9946, -3265, 3626, -29949, 47796, 23215, 8693, 1700, -1542, -8979, -25268, -8422, -18801, 34654, -32623, 1427, -5008, -3229, -8478, 58408, 29141, 16946, 29823, 38958, 50509, 67079, 30551, 50901, 16716, -9918, 2817, -40072, -15604, -17849, -4347, -9586, -2819, -16947, 38176, 21478, -29813, -8446, 19679, 9815, 59784, 8557, -30208, 16501, 147948, -15353, 32554, -26358, -20394, 75323, 37369, 52916, 62554, 8893, -17791, 19237, 15921, 15357, 91349, -18824, 29313, 57835, 82859, 43008, -27643, 15523, -37952, 11969, 21972, 7733, -7350, 16108, 16525, 58620, -22487, 37774, -28710, -4918, -47424, -29986, -6954, 17086, 15573, 34802, 6354, 30786, -29861, -55621, -27344, -8933, 36752, 41784, -6791, -103185, -11567, -29503, 11242, 14984, 12866, 26715, 55081, -49601, -20452, 22405, 10211, 19632, -18286, 13574, -32158, 10193, -12136, 18474, 5177, -1123, -6398, -39807, -26717, 7688, 10803, 11236, 72887, 4682, 26459, 21471, -46857, -28831, 10552, -45667, -16575, -10393, -50825, 29085, -46287, -55047, -23751, -18024, -28717, -9477, 17660, 1334, 38586, -47458, 29840, -31430, 129115, 11131, 260, 7472, 100513, -32233, -11645, -11293, 67862, -12547, 35686, 77709, 81413, 27968, -7824, 10226, 35393, -1693, 6778, 44873, 13550, -28779, -33877, -8045, -30900, 6341, 10729, 15733, -43909, 97, 35388, 17321, 73906, -2653, -45276, -7851, 40746, 27816, -29299, 62691, -12287, 28598, 8190, -38194, 30893, -6705, 3278, 70955, -23127, 7945, 48066, 15204, 2165, 27540, 54173, -42438, -28573, -25939, 22283, 65139, -18472, 10890, 17338, 8198, 9997, -5102, -3015, 45321, 12549, -72766, 15208, 8756, -52024, 54661, -8578, -52462, -5251, -26016, 24464, 84178, 7594, 88671, 119221, 109687, -10993, 59986} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-131, -136, -127, -120, -117, -135, -132, -114, -122, -111, -175, -109, -117, -145, -107, -138, -143, -139, -174, -97, -178, -124, -131, -106, -106, -150, -141, -105, -101, -134, -132, -134, -94, -97, -107, -150, -134, -163, -131, -106, -155, -180, -136, -158, -145, -101, -115, -141, -155, -109, -139, -131, -107, -128, -102, -131, -80, -87, -126, -116, -176, -158, -82, -109, -138, -131, -145, -123, -141, -96, -139, -116, -118, -104, -134, -119, -137, -150, -98, -138, -126, -115, -112, -79, -146, -148, -127, -109, -140, -154, -97, -123, -113, -144, -140, -156, -112, -132, -122, -162, -149, -149, -108, -123, -88, -173, -103, -110, -144, -103, -120, -160, -143, -71, -128, -122, -106, -151, -82, -108, -161, -123, -120, -100, -109, -126, -73, -156, -129, -140, -125, -148, -100, -113, -135, -148, -156, -150, -92, -72, -147, -121, -114, -111, -142, -120, -139, -115, -122, -138, -79, -127, -122, -126, -102, -114, -103, -112, -115, -117, -70, -136, -155, -156, -139, -132, -79, -119, -115, -114, -135, -101, -130, -98, -130, -137, -129, -108, -148, -147, -141, -141, -129, -120, -126, -152, -126, -152, -107, -121, -104, -101, -121, -125, -111, -116, -88, -151, -105, -124, -117, -135, -128, -123, -99, -147, -113, -90, -105, -132, -143, -139, -124, -127, -113, -124, -111, -119, -90, -84, -107, -149, -139, -99, -116, -128, -127, -112, -111, -125, -140, -128, -88, -128, -97, -100, -90, -130, -142, -138, -107, -131, -148, -152, -131, -99, -119, -78, -158, -140, -115, -110, -148, -141, -114, -109}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1580816896, 2078122496, 1643140480, 1135641088, 1193713792, 1946484992, 1599731200, 1493718016, 1168738560, 1287519488, 1593099136, 1777714944, 1327296768, 1239883648, 2085341440, 1374826496, 2121293184, 1804513792, 1915761664, 1283418880, 1134145664, 1614918016, 1126266496, 1145755264, 1343829504, 1226555136, 2140826368, 1892764160, 1163402624, 1675012736, 1517953280, 1299155072, 1190499072, 2127692672, 1650782592, 1481832192, 1700363392, 1725749632, 1300744832, 1601252480, 1178956416, 1869293568, 1350400768, 1737613952, 2135701632, 1275987200, 1402103040, 1171611520, 1558928128, 1511821568, 1601477376, 1139847680, 1294493440, 1739285632, 1789975936, 2093293568, 1167986176, 1258800768, 1325409792, 1655941120, 1236926336, 1136112640, 1427508096, 1193601536, 1936001536, 1507164928, 1727341952, 1219483904, 1317941632, 1165795968, 1482168192, 1361670656, 1122736512, 1288459520, 1078683520, 1427854848, 1680440960, 1237566080, 1614313984, 1247321344, 1166441344, 1478965504, 1550007936, 1669421696, 1804879616, 1116990592, 1770381696, 1882209024, 1438203648, 1917954432, 1596829440, 2042323456, 1254961152, 1283453312, 1847043712, 1472800000, 1943935616, 1590907776, 1470212352, 1525480192, 1480835968, 2093094016, 1264613120, 1136963968, 2037693952, 1880896768, 1652169728, 1096883456, 2082774016, 2141872128, 1840760576, 2057327616, 1988999936, 1947657088, 1839742208, 1859001984, 1181728896, 1611996544, 1278388224, 1585217920, 1357645824, 1198465280, 1121349248, 1257211008, 1473878400, 1942977920, 1148832384, 1664162048, 1542678912, 1319721984, 2142261504, 1541211008, 1403841152, 1082661376, 1626150528, 1859473920, 2095286656, 1849448704, 1095638272, 1832109056, 1736397824, 1361993600, 1196019072, 1264298240, 1156521728, 1309820544, 2010275456, 1931515904, 1490259072, 1411777408, 1531599232, 1678810240, 2072977024, 2140494080, 2069911552, 1164364416, 1303514624, 1429506688, 1822124032, 1180381312, 1692492288, 1858907904, 1622272768, 1416445952, 1432991872, 1125252352, 1537097472, 1597253248, 1216890496, 1949145728, 1134135424, 1562474112, 1768157184, 1887078016, 1404754048, 2028384640, 1330950016, 1274105856, 1200713216, 1945153280, 1494354432, 2126002688, 1473698944, 1531157888, 1645541632, 1158989952, 1237449600, 1130616960, 1443990144, 1233647360, 1286928128, 1438579200, 1205678336, 1325263488, 1214070912, 1806039168, 1261054592, 1582985856, 1346064512, 1639534720, 2088204672, 1329001472, 1286638336, 1155386752, 1096519040, 1585079296, 1948826112, 1436467200, 1775079040, 1135336704, 1365085056, 1188693888, 1131737344, 1501636864, 1532368640, 1489243648, 1908006400, 1104320768, 2058131968, 1200846080, 1220711040, 1949387776, 1240246400, 1124344832, 1865557632, 1440363264, 1227537280, 1564022272, 1348478336, 1366607744, 1916814080, 1276609792, 1423324544, 1153833472, 2046536960, 1233984512, 1690431232, 1356979200, 1476517504, 1135801472, 1164714112, 1544889088, 2131778176, 1525172736, 1305838080, 1557059968, 1792695040, 2002513664, 1618576640, 1600943232, 2021650688, 1930578688, 2108940544, 1344854400, 1568469632, 1354178944}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-5182, 13465, 29151, -4172, 2343, -3768, -7254, 55814, -10352, 22130, -627, -7144, -1405, -14722, 59302, 120288, 24784, 31060, 67299, 30888, -14636, -7139, -13536, 27628, 18570, 3817, 7768, 22750, 34683, -23050, -1676, -24839, 6747, -33947, -3642, -5734, 2947, 29533, 37750, 47546, 26747, 6263, -2813, -1733, 9720, 24346, 35794, 21899, -10317, -2665, -13196, 111668, -24988, -10816, 55439, 45560, 8569, -6588, 101235, 8207, 170626, 14701, -6687, -21625, 32642, 22717, 23093, 49313, -24920, 12855, 20278, -7957, -16491, -25929, 1551, 32324, 27609, -14095, 193935, -4888, 33957, 41775, 3702, -2603, -14625, -29680, -163, -274, 2002, 260, -2649, 52462, -1850, -21299, 27733, -3236, -38271, 14148, -14468, 49978, -4941, -7871, -6874, -19546, 7505, 80555, -190, -9375, 8281, 54639, -6059, -13536, -16106, 14536, 106966, 30383, 7860, 64520, -3603, -12889, 32163, 37699, 20912, -37, 18617, 315, 28942, 26544, -4254, 26373, -7968, 1533, -2596, 16177, 17197, -1790, -3981, 14903, 2000, -5378, 106248, 52996, 14249, -894, 80524, -18551, 2767, -966, 11611, 40561, 10087, -39613, 84944, -26224, 5879, -4042, -5757, 17266, -1241, 42026, 43908, -27094, 81692, -3606, -5518, -13661, 39683, -4436, -3810, -4998, 24276, -1709, -19323, 31233, 15442, 67466, 42402, 2563, 32273, 120240, -19149, 22132, -1138, -8606, 23684, -764, 38560, -17785, -10512, -15018, -7697, 31177, 7192, 54309, -5082, -13011, -20979, -2888, 86927, 29385, 23514, 395, 4977, -3901, 57390, 15005, 27758, 22545, 8263, -8119, 1993, 27985, 24027, 12264, 56354, -21185, 8167, -342, -6820, 29680, 17701, -12261, 635, 16128, 10694, -4992, 56244, -1803, 8692, 59390, 43255, -7490, 4704, -13319, 24891, 28154, -1960, 2331, 1012, 12428, -12311, 35947, -6659, 4799, -9054, -21548, -13566, 14513, 11478, -16660, 908, 20882, 21579, 32880, -1472, 17556} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-78, -92, -261, -126, -33, -44, -25, -339, 10, -172, -107, -45, -13, -64, -351, -322, -83, -269, -225, -138, 15, 3, 4, -132, -139, -77, -37, -136, -214, 6, -83, 75, -57, 57, -99, -16, -125, -290, -141, -247, -105, -99, -24, 8, -43, -223, -248, -231, -87, -12, 3, -281, 8, 25, -269, -187, -66, -1, -373, -76, -365, -55, -16, 10, -122, -134, -250, -261, 18, -199, -247, -37, 13, 76, -27, -246, -180, 10, -402, 7, -163, -293, -99, -23, -69, -19, -107, -5, -17, -76, -83, -222, -37, 29, -120, -57, 79, -160, -11, -179, -20, -78, -8, -2, -37, -300, -18, 3, -61, -304, -30, -18, -15, -19, -334, -93, -43, -290, -8, 10, -111, -177, -144, -111, -108, -136, -267, -170, -63, -195, -13, -55, -60, -117, -113, -8, -74, -64, -16, 5, -338, -334, -94, -18, -414, 8, -27, -34, -59, -311, -34, 34, -483, 16, -109, -12, -16, -154, -21, -253, -282, 19, -261, -2, -34, -11, -289, -43, -89, 14, -261, -68, -35, -257, -242, -285, -254, -29, -234, -340, 12, -249, -13, -35, -156, -105, -235, -25, -14, 0, -20, -271, -27, -290, 1, 3, 8, -92, -301, -93, -263, -146, -39, -139, -346, -2, -240, -254, -51, -1, -107, -266, -102, -79, -354, 30, -43, -2, -24, -136, -199, -34, -31, -58, -115, -9, -286, -147, -61, -250, -287, 19, -94, -23, -251, -132, -56, -75, -82, -73, 0, -143, -64, -37, -70, 15, -22, -25, -84, 6, -111, -253, -248, -186, -5, -58}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1847157888, 1148646656, 1231881600, 1371099904, 1120832128, 1974419072, 1354432512, 1987611264, 2004879104, 1122920320, 1073758208, 1318035200, 1282512768, 1093664128, 1161538688, 2049133696, 1507370496, 1362910592, 1894094336, 1786932352, 1880314368, 1353665280, 1202717952, 1158350336, 1121672576, 1217881984, 1599576064, 1122608384, 1804826496, 1483560320, 2105066112, 1179806336, 1186029184, 1337764224, 1916654208, 1254764544, 1399748992, 2123683200, 1561022208, 1484463104, 2113334400, 1590289152, 1117235968, 1118027264, 1457343616, 1711058944, 1429801216, 1159132032, 1677153280, 1363849856, 1125456896, 1618281728, 1111447168, 1211696512, 1941081600, 1592518400, 1474854784, 1931585152, 1214446848, 1255201024, 1313087360, 1445048448, 1676822912, 1191663744, 1780137984, 1722755968, 1259660032, 1504226048, 1490071552, 1672707840, 1270997888, 1983618688, 2033388928, 1134771968, 1883855232, 1735972992, 1234513664, 1826894336, 1979801216, 1667156224, 1401212416, 1237059968, 1151607552, 1143664512, 2070255872, 1516166016, 2053397120, 1709917312, 1763798016, 1497858432, 1556224512, 1236888960, 1267501824, 1413675008, 1635451264, 1249206016, 1816195840, 1363037824, 1198943360, 1182640640, 2020323328, 1776939008, 2003676160, 1742636800, 1410073600, 1601761280, 1630994176, 1771776256, 1211996288, 1918235264, 1957286016, 1507464448, 1655653376, 1634540032, 1931163904, 2054348800, 1243688704, 1607631360, 2031530752, 1632678528, 1972475264, 1675188608, 1819331840, 1617280128, 1120867840, 1950336768, 1952799872, 1677895552, 1146817024, 1709569920, 1514392832, 1481810176, 1651786496, 1090171008, 1666312576, 2037267584, 1538668160, 1637626880, 1148823424, 1670760960, 1449110016, 1741664768, 1965127680, 1149391744, 1588864512, 1665177088, 1085178368, 1438015616, 1963597952, 1174390784, 1182056576, 1907404288, 1509582976, 1853808512, 1846873984, 1095878144, 1640869504, 1698655616, 1189217280, 1427724416, 1620251264, 1105071104, 1786824448, 1095051392, 1972267392, 1132566272, 1734993792, 1238571008, 1426145920, 1101645952, 1669546624, 1366200832, 1132836992, 1605899264, 2080030080, 1082418560, 1142467840, 1937923840, 1104769152, 1460094720, 1992628480, 1179008256, 1441179264, 1857226752, 1593137664, 1094068224, 2007810560, 1910248320, 1273157120, 1172496768, 1852849024, 1661156864, 2137290112, 1238489600, 1897615488, 1092050688, 1306858880, 1590581376, 1193048960, 1982614528, 1700884480, 1762978944, 2093829248, 1362939648, 1499313408, 1936325888, 2002790400, 1386694144, 1598490624, 1116568960, 2082716544, 1505788544, 1136549888, 1536194304, 1248677760, 1210716160, 2009345664, 1431698560, 2061940096, 1955074304, 1121363840, 1164798208, 1268518144, 1288283008, 1648476672, 1617048704, 1357388800, 1123568384, 1112862208, 1293360128, 1226842112, 1426610304, 1957797504, 1811358080, 2102726272, 2121016576, 1802445440, 1633572480, 1533777536, 1081127680, 1239002624, 1618748672, 1543637632, 1174966016, 2094952960, 1118186496, 1677838720, 2144410624, 1508192000, 1080306176, 1851540096, 1078922624, 1076521984, 1076167424, 1253539456, 1123036032}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {-36656, 8893, 37246, 49285, 16429, 5887, 88, -116, 55139, 57463, -36062, 81503, -72539, -16743, -24279, -7070, 22623, -15187, -5285, 5019, 40403, -4197, 7074, 863, -7771, 16968, -1614, -21393, -26784, -28959, 8259, 48216, 5617, 23154, 7588, 21448, -25750, -42730, -37796, 62676, 8804, 5106, -9790, 5264, 2112, -55119, -3809, 234, -17687, -18414, 8543, -3593, 41614, -24375, -20098, 13342, 52490, -21700, 23681, -74623, 556, 18646, 16676, 41414, 10039, -22938, -20318, 35616, 81657, -7703, -30757, -1232, 61002, -34402, 9800, 38131, 14702, 78, 25432, 17652, 18414, 16408, -58656, -1860, 39114, 1890, -37343, 57651, 54314, 12307, 26356, -7733, 16392, 114427, -16644, 79043, -24722, -22268, -34013, -27681, -1161, -12980, -3771, 55638, -40157, -38119, -28763, 14906, -2682, 24514, -21713, 12591, -28110, -19757, -14140, 11675, -71464, 115319, 59407, -57215, -4948, -30828, 22187, -753, 49092, -15036, -22401, 19374, 38176, -14470, 11603, 47294, -4347, -21285, 16928, -29089, -41538, 30355, -22877, 37208, -9456, 14169, 7908, -27246, -5839, -8191, -3488, -7872, -40825, -5936, 56046, 25586, -17973, 33966, 26336, 24834, -14427, -7577, 49346, -53001, -23964, 58479, 7554, 16699, -10191, -17073, -3728, 2818, -12196, 36596, 54016, 2583, -265, -59274, -27193, 15546, 109329, -17808, -9587, 26368, 23334, -15429, -41604, 71786, -18278, -11446, -6240, 43968, 13404, 16213, 54184, 39631, 57794, 4954, 29819, -21229, -18272, 15536, 51089, 35108, 42569, -9029, -29622, 11332, -35036, -27430, -25601, -12181, 34698, 18513, -16998, 4544, 23778, -1824, -20733, -5830, -50254, 26880, -24492, 19818, 6078, 9829, 5328, 54596, -3802, 23842, -9945, -14346, -36769, 18018, 28148, -40686, -19991, 12158, 25691, -13418, 24482, 34898, 11266, 55773, 11002, 38536, 5024, -781, -12323, -18672, 89297, -32740, 44942, -43272, 27855, 4916, -5454, 14701, 9020, -9158} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-127, -151, -111, -119, -113, -150, -99, -149, -113, -139, -108, -137, -121, -108, -118, -113, -84, -115, -90, -99, -142, -101, -128, -122, -118, -115, -174, -144, -98, -148, -82, -107, -121, -103, -116, -120, -142, -119, -92, -120, -110, -131, -115, -87, -117, -120, -134, -127, -125, -99, -103, -116, -89, -152, -146, -102, -138, -109, -125, -117, -122, -112, -149, -138, -114, -90, -115, -142, -115, -150, -112, -112, -137, -137, -147, -106, -138, -134, -135, -118, -117, -80, -140, -98, -145, -123, -81, -141, -112, -115, -131, -129, -112, -103, -162, -110, -117, -132, -109, -108, -150, -118, -121, -132, -117, -119, -121, -132, -98, -155, -111, -88, -157, -135, -127, -125, -66, -129, -116, -146, -111, -147, -126, -120, -138, -154, -88, -117, -120, -85, -143, -102, -98, -118, -129, -82, -130, -140, -118, -141, -119, -126, -69, -101, -108, -160, -143, -105, -125, -117, -134, -85, -97, -129, -138, -126, -139, -106, -126, -135, -111, -110, -95, -134, -129, -133, -99, -80, -97, -98, -160, -126, -103, -133, -159, -148, -119, -126, -135, -128, -122, -122, -106, -126, -123, -79, -121, -107, -128, -128, -122, -101, -152, -131, -159, -164, -131, -126, -100, -130, -120, -118, -160, -136, -135, -97, -133, -85, -134, -123, -102, -128, -107, -135, -78, -105, -123, -109, -121, -133, -112, -136, -142, -135, -126, -108, -121, -135, -146, -136, -134, -94, -141, -129, -128, -89, -141, -121, -147, -143, -123, -80, -145, -107, -123, -120, -146, -145, -129, -134, -107, -128, -84, -124, -130, -100}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1425523328, 2104331264, 1846271360, 1398858240, 1323694720, 1894001408, 1453937152, 1530428160, 1498872448, 1133256960, 1285850112, 1236625664, 1294812160, 1530728832, 1332790656, 1160542720, 1287907456, 2110734848, 1578864000, 1295079680, 2034974848, 1227696000, 1634628608, 1476194816, 1573977856, 1339734400, 1625368192, 1941952000, 1869882112, 1460848768, 1646269440, 1342837632, 1865636096, 1863661440, 1334336640, 1528676480, 1354122112, 1238837248, 2120562944, 1122884096, 1233761024, 1549095936, 1226022912, 2073579264, 1949911168, 1511338240, 1277898368, 1272941568, 1871217280, 1451342720, 1784127360, 2063370752, 1709904896, 1662092544, 1648750208, 1382866560, 2077946624, 1672857216, 1794359168, 1093768064, 1820471680, 1396066560, 1666916352, 1839575296, 2093893888, 1881098496, 1348761600, 1602605568, 2034361344, 1652115072, 1887716480, 1798125440, 1303358336, 1652789248, 1998974336, 2006110080, 1439929088, 1218250496, 1530903168, 1489802624, 1079945216, 1811550720, 1082440576, 1336784640, 1347209344, 2078779008, 1981820160, 1912358144, 1204547072, 1872325248, 1132349184, 1122502272, 1693811840, 1970767872, 1674874624, 1646015872, 1376994688, 1116984576, 1836754176, 1519813888, 1645386752, 2135638528, 1140738560, 1107316352, 1466870272, 1492506624, 1351627136, 1475337472, 1738485120, 1175900928, 1366761984, 1303222272, 1508991360, 1741479168, 1379162752, 1833820672, 2031306240, 1792846976, 1921181824, 1322374016, 1081800320, 2026361344, 2056941056, 1397781504, 1620416256, 1152306176, 1542110720, 1183938304, 1479586944, 1371103744, 1310685824, 1574728192, 1287393024, 1226665216, 1344564480, 1363564672, 1162347776, 1993819136, 1359903232, 1397811840, 2020204672, 1197856128, 1382411264, 1137136000, 1422384000, 1251907840, 1332472320, 1493205888, 1253774976, 1640351104, 1264216576, 1453974784, 1480544512, 1211767040, 1490670720, 1483589120, 1278967552, 1759113984, 1096257664, 1898811136, 1720807424, 1156502656, 1969907584, 1213717248, 2074465920, 2088094464, 1551998848, 1176629760, 1839092480, 1317018624, 2134496640, 1314083968, 2110077056, 1197400448, 1732906368, 1216740224, 2017447936, 1227412608, 1301491840, 1379994112, 2062587008, 1327499776, 2100726016, 1860235008, 1199491968, 1544767488, 1460421632, 1857728384, 1128044672, 1669364992, 1833389696, 2060941056, 1454574208, 1176741248, 1949087616, 1811297664, 1198971776, 1821782656, 1251381376, 1237413248, 1623611008, 1597122176, 1385953152, 1085584896, 1300310272, 1498689920, 1556846208, 1613310976, 1954110080, 1984940800, 1442939520, 1785348608, 1546022528, 1205319936, 1860100608, 1789243392, 2128676480, 1651868544, 1623410304, 1306120576, 1292394368, 1140110976, 1973201792, 1904433792, 1258327296, 1336816896, 1112014720, 1605837824, 1968388608, 1342333056, 1220104576, 1333593216, 1482395264, 1490420864, 1745650944, 1148218880, 1265393536, 1365576320, 1190857856, 1986799232, 1588823424, 1164260480, 1373328256, 1155166848, 1394026496, 1298080768, 1537824768, 1572384768, 2147341952, 1380644864, 1937956224, 1536393856, 1175539072, 1906176896, 1619004160, 1332590080}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-14283, 1267, -4795, 16305, -4789, 48423, -1535, -9309, 7062, -4503, -8339, 27504, 3202, -3458, -7569, -2372, 67055, 6158, -184, 112059, 99960, 64999, 3129, -4562, 17550, 33713, 50236, -1370, 20688, -914, 1133, 50707, 27674, 11870, 112567, 7838, -6041, -522, -14525, 17169, -12443, -1755, 16726, 60016, 13104, -1347, 9784, 95054, 4401, -3309, -2515, -4975, 2521, -1150, -3683, 226734, 34904, -61, 34794, 35662, 10450, 12790, 76273, 5992, 111941, -2718, 70057, 41589, -6310, -16441, -3812, 65238, 140737, -9029, 26273, 11022, 196607, 47304, -9108, 18826, 34135, 261, 4361, -6953, -3068, 1072, -2869, 15283, -23166, 4581, -23879, -5601, 59032, 17394, -18320, 24768, -2578, 35690, -2196, 6976, -7013, 11027, -12457, 69517, 33133, 20062, 42710, -9591, -4287, 23927, -10237, 5572, 13421, -3858, -21937, 21795, 10007, 17582, 21875, 11300, -8964, -6076, -6281, -5775, 31001, 14487, -2622, -11742, -4222, 10944, 17330, 25011, -2198, -9045, 17852, 25, -14058, 10440, -11601, 20808, 1249, -27351, -6487, 53258, 10418, -29582, -12744, -8433, -27588, 315, 40266, 15015, 64330, 932, -6107, -11392, 777, 91873, 16368, 26168, -7410, 59829, 3141, 56070, 54622, 20238, -5666, -10193, 12664, -7274, -3740, 57343, 29189, -6533, 20327, 49800, -4686, -20097, -8087, 39272, 22895, -14189, -15704, 35152, 17321, -18857, 15999, -26004, -3891, -10089, 33728, 2023, 14342, 40320, -27809, -3283, -8390, 43911, 76331, -10022, -16775, 130656, 53, 20115, 80164, 45334, -21031, -13044, -7701, 4108, 77151, 67986, -3072, 7278, 64045, -1290, 16762, 35654, 10480, -2957, -2236, 36875, 11227, 6816, 84468, 67616, 2627, -3147, 81794, 17919, 61496, 3108, -18388, 100275, -16243, -2738, 63146, 1933, -1447, 29562, -4772, 15252, 25290, 5156, 17582, 56808, 4168, 59101, 19595, -1256, 44908, 75996, 18099, 29846, 21610, 2811} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {9, -29, -134, -229, -83, -296, -6, -6, -43, -23, -37, -191, -39, -14, -52, -37, -322, -20, -15, -437, -237, -284, -119, -24, -215, -216, -325, -23, -134, -14, -41, -253, -236, -43, -450, -122, -3, -59, -1, -242, -5, -20, -154, -420, -132, -90, -129, -448, -109, -46, -34, -92, -31, -71, -19, -390, -266, -15, -219, -128, -38, -36, -291, -24, -534, -8, -354, -243, -28, -40, -50, -460, -417, 16, -176, -60, -484, -214, -85, -170, -185, -88, -176, -5, -67, -21, -35, -46, 16, -26, -35, -21, -282, -235, 5, -238, -28, -131, -23, -27, -8, -36, -10, -159, -183, -193, -164, -24, -46, -79, -18, -58, -148, -27, -29, -94, -31, -246, -254, -43, -31, -48, -3, -56, -245, -106, -23, -1, -17, -40, -120, -182, -24, -19, -138, -24, -37, -31, 9, -89, -23, 19, -18, -276, -165, 4, 4, -19, 19, -31, -251, -83, -344, -79, -34, -29, -61, -407, -49, -123, 41, -273, -25, -283, -279, -126, -71, -4, -155, -25, -100, -307, -160, -8, -126, -155, -53, -6, -61, -225, -177, -36, -61, -238, -174, 10, -136, -8, -10, -4, -188, -3, -96, -257, -1, -54, -15, -177, -397, 2, -1, -362, -72, -214, -381, -288, -13, 6, -19, -78, -219, -396, -19, -18, -379, -2, -71, -248, -107, -19, -18, -301, -31, -133, -374, -354, -31, -31, -361, -35, -296, -146, 9, -598, -30, -177, -349, -54, -102, -257, -18, -41, -99, -24, -69, -265, -38, -152, -239, -49, -226, -291, -82, -220, -208, -128}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1846509824, 1370547200, 1125249408, 1397204352, 1170527104, 1186842624, 1747650304, 1132274560, 1919335424, 1119872640, 1234373376, 1321364864, 1920659072, 1106437248, 2059781760, 1747532672, 1966283136, 1095711872, 2127046656, 2090542848, 1193959680, 1660074496, 1532575360, 1682872960, 1702136704, 1695727104, 1386804224, 1102077952, 2006897152, 1727960576, 1338146560, 1488614016, 1518288384, 2001075968, 1279708032, 1711689344, 1926518016, 1853080960, 1099867264, 1475289984, 1930835584, 1121888640, 1243217536, 1463252352, 1665461888, 1198179712, 1143201536, 1308892800, 1927666304, 1179410688, 1330267264, 1142713728, 1707855872, 1472951424, 1237087744, 1160812032, 1115885056, 1975220608, 1249064192, 2012211584, 1191877632, 1080127104, 1417925504, 1371760640, 1415513728, 1906738944, 1881760384, 1887091840, 1731855488, 1736776576, 1421238016, 1510481920, 2075134336, 1692215424, 1223178624, 1177222272, 1857466240, 1948341760, 1899460992, 1187114752, 1160020224, 1747496704, 1670124800, 2142356096, 1294480512, 1226071040, 1509086592, 1582673920, 1489636608, 1765000448, 1764516608, 1746611584, 1267856128, 1178324096, 1264050944, 1809693184, 1964723968, 1487520256, 1824287232, 1108028672, 2067659904, 1121270400, 1807441792, 1319376000, 1308564864, 1516490496, 1616226816, 1895471616, 1649717248, 1153841920, 1761607296, 1683088512, 1086408576, 1676876800, 2087921408, 1111227648, 1621947904, 1541311488, 2070318592, 1641258112, 1120014976, 1349134080, 1707028224, 1118805888, 1321175424, 1471949440, 1920823296, 1116757120, 1180743168, 1231657728, 2115171840, 1239926016, 1816547072, 1212913920, 1357769600, 1143309056, 2054192512, 1436136832, 1831935616, 1366503296, 1741543168, 1188572160, 1715287040, 1488682368, 1438667520, 1122132352, 1433800320, 1156394496, 1356808576, 1638501248, 1390017024, 1240035200, 2008503424, 1126035328, 2110978688, 1996601856, 1205798528, 1870625792, 1645716864, 1197139584, 1151021952, 2053858816, 1344497920, 1438640640, 1483859584, 1249111168, 1702330368, 1278299520, 1592151296, 1243887488, 1218522240, 2079860224, 1445895296, 1427160704, 1835887104, 1075585536, 1236422016, 1486165760, 1352382976, 1479652992, 1394684288, 1829365760, 1724478080, 1941371008, 1321477888, 1841019392, 1898748288, 1664549504, 1858356096, 1519916416, 1993988352, 1658776320, 2110796544, 2012059776, 1304670592, 1284187904, 1183108224, 1177114496, 1919091456, 1956787072, 1236247808, 1334027776, 1116826624, 1504672768, 1350694400, 1465393792, 1481971328, 1834765056, 1408697088, 1616270080, 1127166592, 1624390912, 1263856256, 1074511232, 1870736768, 1155616512, 1349706880, 1361137792, 1611524352, 1541545984, 1219216640, 1944310784, 1175884288, 2030307328, 1308195328, 1303199360, 1874412032, 1339580544, 1924490112, 1123497728, 1121643648, 2033375488, 1210572032, 1124882688, 2055751040, 1532982784, 1093998464, 1918321408, 1506220672, 1176017664, 1221875584, 1517412736, 1821921024, 1586693248, 2138638464, 1390242688, 1105865600, 1819721728, 1875308416, 1342131200, 1631495424, 1811104768, 1991703680, 2010993792, 1798291328, 1428436992}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {-40394, 56061, -11768, 98583, 66648, 60770, -57920, -730, -13831, -9984, -6711, 3366, -50538, -22789, -9772, -23342, -16484, 11986, -7394, 8436, 24233, 29751, 1841, -40856, -41702, 12644, -25934, 28256, 18095, 3131, -19222, 54739, -51739, 25087, 10555, -8095, -17762, -47220, -16657, 41933, -45801, 11022, -14857, -8804, -8556, 39010, -6429, 9896, 32532, -37918, -18331, 21869, -54644, -28229, -64213, 10629, 28664, 42854, 18435, -37138, -5260, 6435, -14227, -24526, -56718, -75983, 5278, -46087, -33602, -5155, 46143, -17856, -37451, -8430, -18244, 40855, 4467, 10131, -25756, 22939, 22436, -20329, 9526, 9114, 27391, -1387, 71276, 31887, 12062, 20750, -26119, -23811, -49444, -55466, 23925, -80482, -23677, 7280, 16080, 19382, 6695, -21861, 109451, -21229, -22039, 7, 22693, 22980, -12494, 3248, 43464, 16024, 3068, 4002, 36175, 42190, -35101, -18668, -13719, -22308, -9863, -7896, -55657, 101435, -28327, -3187, -7355, -46470, 30833, -21278, -22411, -13287, -22312, -47, 23590, 6128, 18856, 82760, 37275, -30321, 13691, -8685, -28608, 19437, -3398, 17438, -10015, 16293, 11706, 25353, -28462, -4182, -9751, -3433, 5191, 9701, -22253, -32395, -7185, 26821, -11520, 5925, -260, 12728, 50135, -15135, -23041, 32305, 1998, -5609, -26156, 10384, -13467, 8980, 19726, -9399, -13288, 12626, -10342, -15551, -3272, -4357, -16464, 6847, -13991, -13033, -2804, 44884, 13729, -38215, 16064, -32606, 16378, -22209, 9011, 6355, 18861, -9933, 1134, -23578, 331, 31877, 17367, 11050, -3662, 33636, -66877, 21701, -7562, 4127, -16459, 11296, 35234, -45442, -5982, 5935, -5246, 22695, 953, -21831, -318, 11993, -34780, -8369, -13852, -41750, -17585, 29360, -27470, -47835, -23391, -43583, -16247, -49891, -46789, -28947, -31291, 41285, -29069, 5672, 4042, -38151, 4904, 625, 8679, 11599, -31873, 7522, 22583, -1507, -67707, 5193, -38656, 16199, -13308, -4311} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-123, -116, -115, -132, -127, -137, -147, -106, -140, -104, -145, -102, -137, -122, -87, -122, -135, -127, -131, -131, -119, -89, -77, -118, -102, -126, -103, -124, -163, -130, -129, -134, -124, -142, -88, -105, -114, -112, -143, -115, -131, -121, -99, -126, -123, -136, -129, -125, -119, -120, -138, -138, -119, -120, -129, -121, -156, -112, -140, -93, -80, -141, -136, -131, -118, -150, -122, -121, -162, -145, -146, -141, -126, -120, -152, -106, -92, -117, -144, -173, -124, -126, -125, -153, -106, -135, -139, -151, -125, -131, -119, -142, -140, -115, -147, -124, -91, -123, -92, -128, -125, -100, -142, -130, -146, -110, -137, -133, -132, -98, -111, -145, -122, -126, -154, -138, -119, -124, -138, -96, -127, -100, -145, -136, -88, -121, -116, -137, -151, -143, -102, -108, -133, -111, -121, -130, -122, -132, -163, -154, -135, -115, -91, -147, -116, -123, -111, -131, -118, -119, -135, -109, -111, -111, -80, -126, -132, -169, -148, -140, -136, -134, -100, -109, -149, -111, -123, -117, -90, -106, -105, -136, -131, -105, -115, -99, -125, -131, -136, -123, -145, -124, -74, -116, -79, -95, -146, -137, -117, -99, -64, -137, -139, -108, -119, -110, -121, -128, -116, -57, -154, -125, -113, -113, -112, -136, -130, -97, -124, -107, -111, -110, -107, -131, -98, -100, -95, -122, -142, -125, -133, -112, -127, -101, -96, -94, -127, -132, -107, -112, -93, -127, -123, -120, -114, -141, -108, -122, -127, -93, -143, -108, -106, -118, -118, -104, -129, -144, -113, -116, -125, -143, -107, -155, -124, -109}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1292671488, 1203203072, 1279709056, 1730436992, 1175957248, 1229465728, 1133094528, 1655201408, 1244232704, 1489785728, 1527927296, 1323392128, 1305726720, 1444127872, 1587211008, 1276600960, 1369418240, 2035184768, 1585201024, 1915593088, 1765916800, 1393372416, 1485155840, 1939292160, 1207566336, 1378940288, 1464869888, 1229155840, 1217305088, 1621611008, 1240922368, 1301428736, 1529386368, 1232703744, 1360962560, 2119422848, 1167311232, 1301894784, 1283182208, 1625069696, 2115925888, 1108520704, 1639645568, 1251989376, 1794572032, 1325091072, 1739274880, 1277704704, 1643227392, 1562470784, 1573465856, 1554120576, 1081821696, 1422587264, 1369026688, 1343151232, 1559912704, 1450769280, 1137650560, 2146940416, 1657913088, 1530956032, 1087426688, 1701859072, 1157347456, 1747416448, 1590719488, 1372164864, 1150132480, 1254684160, 1203561728, 1270919680, 1475698048, 1440790528, 1881951872, 2046622336, 1648776192, 1554101632, 1186998400, 1279913984, 1529170176, 1615758336, 1125975680, 1626618752, 1369602304, 1349638016, 1781798400, 1106140160, 2069698816, 1546500736, 1354486528, 1138927488, 1166438656, 1472195968, 1182606592, 1305478784, 1827002240, 1604777728, 1227265408, 1140450688, 1824053248, 1567056512, 1572525824, 1087096064, 1728540032, 1323310464, 1267917568, 1561526272, 1654862336, 1689760128, 1768804352, 1596108800, 1496202880, 1755658240, 1862317056, 1383954560, 1379055360, 1832054144, 1139745152, 1233468800, 1792459904, 1103402496, 1482484224, 1073888640, 1092777216, 1331063040, 1569441152, 2070175488, 1538414720, 1301001472, 1713294976, 1497832960, 1984468352, 1395104384, 1910704640, 1359505280, 1376023296, 1152653440, 1517416576, 1955024384, 1972032640, 1623210496, 1743438080, 1673536640, 1643437184, 1368551808, 1535256960, 1502990464, 1558219904, 1382340864, 1560841984, 1564123648, 1220843264, 1742778624, 2032467200, 1554263936, 1391978624, 1971330944, 1293200896, 2100786048, 1326541952, 1744462592, 1617379968, 1656378624, 2073006976, 1393528320, 1545519360, 1310719360, 1165011712, 1333545088, 1093966080, 1150299520, 1323492608, 1274398976, 2111169792, 2004188928, 1188762880, 1305830144, 1553649152, 1144503936, 1651653632, 1315138944, 2087051776, 1641884800, 1793456384, 1641907328, 1950747264, 1530657024, 1242810880, 2048019840, 1583651840, 1425427200, 1161308800, 1319379968, 1231705984, 1359885056, 1807612672, 1775032320, 1752950528, 1260196864, 1355940864, 1652314880, 1277555456, 1316404736, 1338301824, 1898904832, 1346248576, 2005041024, 1672210560, 1246810112, 1115678592, 2022061056, 1961579776, 1338754944, 1708148352, 1914040320, 1858780928, 1305634304, 1411240448, 1370367232, 1991888896, 1712499328, 1481035520, 1964450176, 1272932608, 1619793280, 1274500480, 1449347968, 1244274560, 1665420416, 1637511552, 1375618816, 1613325952, 1399032192, 1715978240, 1883236864, 1074993536, 1567667456, 1822940416, 1869364224, 1582326144, 1465147136, 2097355136, 1451141888, 1421809152, 1936654208, 1143803136, 1352552064, 1220243712, 1931286656, 1134951040, 2039712896, 1389444096, 1118418688, 1127338112, 1574505088}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {56740, -15807, 8413, 22812, 34534, 33192, 93294, 16633, 87713, 74454, -7755, 4552, -1519, -4205, 2220, -5734, -3471, -12770, 51630, 93187, 14379, 82557, -5369, 4285, -9143, 49108, 56104, -2432, 62562, -4036, -2340, 25632, -3495, 70064, -4244, -2591, -4046, -5543, -2028, 69857, 47337, -11742, 75376, -7372, -1627, 99294, -5383, -4444, 20634, -7731, 100668, -3119, -4719, -5621, -8116, -2443, 38106, 112082, 78994, 83433, -1455, 169640, -3291, -19079, -3193, -1692, -3099, -3890, 10507, -4076, -5312, -8, -2845, -16191, -12075, 20261, 97314, 86719, -3857, 55742, -2886, -8250, -8411, -2995, -8544, -2208, 26624, 58078, 54535, 88681, -2778, -6244, 29951, -8937, -6877, -635, -9390, -16141, -6280, 197634, -16504, -3981, 157506, 152695, -2836, 34890, 57993, -5503, -19753, 35457, -16466, 27328, -7303, 130159, 18611, 32920, -3049, -10251, 12083, -4639, 3749, -1995, 23494, 28219, -1170, -8634, 61160, 53236, -3216, 3905, 25218, 164659, -19135, -2288, -3248, 71239, -17344, 22076, 18123, -29333, 54622, 99403, -5531, 23839, -7851, 19563, -3113, -6330, 108457, 38140, 103286, -1372, 18020, 11477, -88, 141960, -4434, 116076, 124217, -2593, -4995, -14691, -2428, -8367, 50632, -3509, 63991, -8350, 2691, -429, -18987, -3797, -4650, 94180, 69366, -5751, 6621, 50459, 132684, -4862, 24520, 92982, 14, 24055, -383, 81723, 32840, -9110, -4701, -6517, 79036, 5992, 94296, -8787, -1398, 1397, 24640, -7105, 35197, 346, 5299, -3551, -3094, 112962, -1309, 42916, -1462, -8984, -1816, 127903, 10770, -15194, 5858, 4499, 59241, -22470, 75903, 93974, 12661, -4151, -4159, 69847, 1500, -2202, 67064, -3463, 114710, 11878, 74971, -7730, -5732, -7639, 98618, 200901, -3098, -16422, 64218, -19350, -14019, 48905, 114993, -3551, 104042, 93006, 122426, 950, -608, 46165, 53783, 46121, -2026, 54920, 73971, -4073, -3569, -4065} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-242, 4, -170, -208, -247, -238, -302, -88, -262, -331, -17, -70, 13, -3, -40, -21, -37, -16, -285, -371, -123, -271, -11, -34, 0, -286, -318, -12, -335, -23, -67, -90, -20, -215, -11, -32, -64, -6, -28, -362, -252, 2, -461, -16, -35, -278, -27, -27, -139, -78, -305, -21, -78, -18, -32, -25, -128, -418, -423, -319, -28, -478, -16, 108, -16, -70, -40, -19, -128, -53, -61, -36, 14, -13, -118, -186, -356, -265, -46, -275, -6, 1, -22, -21, -15, -28, -196, -260, -243, -419, -59, -22, -161, 7, -32, -22, 20, 2, -12, -651, -28, -53, -215, -314, -92, -241, -261, -19, -3, -276, -40, -127, -20, -312, -120, -263, -22, -34, -120, -16, -25, -46, -154, -236, -17, -22, -247, -198, -57, -26, -122, -641, -10, -16, -54, -307, 8, -52, -208, 25, -243, -291, -3, -153, -26, -154, -11, -10, -400, -257, -319, -15, -121, -86, -57, -530, -96, -451, -285, -54, -34, -4, -31, -17, -246, -21, -264, -43, -27, -56, -50, -21, -24, -382, -363, -10, -49, -276, -366, -75, -102, -287, -61, -172, -51, -282, -122, -27, -5, -93, -333, -54, -344, -11, -16, -80, -235, -41, -145, -39, -39, -46, -42, -462, 12, -273, -2, -2, -85, -526, -144, -26, -83, -39, -250, 38, -288, -271, -112, -11, -26, -314, -90, -35, -477, -13, -365, -98, -328, -89, -12, -9, -300, -713, -76, -41, -293, 0, 5, -256, -481, -28, -420, -328, -302, -17, -15, -194, -267, -248, -35, -318, -274, -69, -58, -18}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1114797568, 1097655936, 1155442304, 1435114624, 1258171520, 1949769472, 1653397376, 1163816192, 1330583168, 1710562560, 1468623232, 1342737536, 1182017408, 1523353600, 1162275072, 1117205248, 1208857216, 1448666624, 1372059776, 1208421120, 1158693376, 1998764672, 1343293952, 1189287296, 1110048512, 1265813504, 1640084096, 1879417344, 1643022720, 2017816960, 1384774912, 1959561344, 1535435648, 1902679168, 2002773120, 1235667712, 2079673984, 1561939072, 1888705792, 1275415168, 1488247168, 2139315840, 1327603328, 2056259456, 1390430592, 1547287680, 1373488000, 1606228608, 1185007360, 1183448704, 1694173312, 1421317632, 1816501888, 1730794624, 1508748800, 2047277696, 2113362944, 1243108352, 1313243648, 1535147264, 1097562624, 1713660160, 1736445696, 1487286656, 2078741504, 1300368896, 1388903168, 1924699008, 1742770816, 1322208640, 1974443648, 1937547904, 1394908032, 1627607296, 1583155712, 1664793600, 1308333056, 1376552448, 1445259648, 1697005312, 2139790208, 1616726272, 1943690240, 1236569472, 1161395712, 2001634688, 1692904448, 1774173696, 2038086784, 1226775552, 1810818304, 1172863488, 1181874048, 1574907776, 1721217024, 1355874304, 1228012800, 1344104832, 2127854336, 1657454720, 1129653888, 1224251648, 1604104064, 1562197888, 1544416000, 1159845632, 1083963008, 1162092672, 1549824768, 1656659072, 1185563904, 1866550784, 1895686912, 1139969024, 1819924992, 1332759040, 1102498688, 1220061056, 1669239680, 1811390464, 2119976960, 2087380096, 1281628288, 1442758656, 1143153280, 2112764416, 1335248256, 1303119232, 2025837184, 1088435584, 1597247616, 1371943424, 1331783296, 1931097344, 1193893632, 1986169344, 2088139520, 2001477760, 2010492672, 1418833408, 1273003264, 1150371072, 2102547712, 2101832064, 1093367808, 1658951936, 1838179456, 1137844096, 1104913152, 1613659520, 2100918528, 2028827520, 1485924864, 1133178112, 1357851136, 1279041920, 1150329856, 1958931328, 1796191872, 1870784640, 1297923328, 1759784320, 1105601152, 1146921216, 1499175680, 1858905216, 1087703296, 2093489536, 2082408448, 1744365056, 1840676480, 1694096512, 1166320000, 1491403904, 1894170880, 1228941440, 1195583616, 1579184896, 1397349376, 1239934336, 1290557184, 2112941696, 1136150784, 1581255552, 1596852608, 1911064448, 1842128256, 1181100800, 1562909312, 1412115840, 1146807424, 1964471040, 1711812096, 1158217856, 2040150528, 1330529920, 1171825152, 1281100672, 1760354304, 1432798720, 1308812288, 1626674176, 1284242048, 1442602624, 1580559104, 1118222464, 1635566080, 1113198720, 1772558208, 1765546880, 1926160768, 1598615424, 1480667520, 1096162944, 1400239616, 1196629504, 1087611904, 1326647168, 1411409024, 1942639872, 1324424960, 1937540480, 1603284352, 1300179968, 1340534656, 1506459136, 1283999488, 1983280768, 1689698944, 1595417728, 1902331392, 1225292416, 1141929472, 1390869120, 1406307968, 1452322944, 1083234432, 1282201472, 1129024128, 1657815680, 1100322048, 1379021312, 1978719104, 1623784960, 1613455104, 1326657280, 1076907392, 1575494784, 1473980672, 1579100416, 1929290624, 1232548992, 1786966528, 1154676992, 2124877440, 1991453312}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {22203, 28200, -33553, -47356, 11754, -16529, -17250, 25072, -65280, -19208, -13046, -60517, -41009, -45128, -59376, -23342, -12030, -35826, -37144, -24453, -23343, -17448, -32620, -95183, 76592, 23664, -55139, -18223, -8184, -51693, -11799, -47489, -13539, -67698, 42295, -20060, 35709, -23419, -85571, -20525, -11633, -41869, 59154, 12569, 51875, -9902, 51428, 59095, 15575, -19155, -33363, -45781, 68084, 21384, -28297, -43439, -61871, -12703, 84416, -6683, -52270, -37785, -79779, -28604, -49368, 6628, 48365, 1027, 36532, -48532, 76909, -32218, -71095, 63205, 103402, 56128, -7513, -28488, 26485, -14219, -8609, -31934, -46893, 26733, 41128, -19380, -39287, -17176, 17872, -12430, -23274, -24990, -2285, -18348, -15036, 70357, 51660, -14638, -31307, 19457, 52274, 10807, -71473, -16176, -12688, 54794, 22827, -44936, 40042, 14723, -46387, 21301, 48669, -85556, -40132, -19910, -25924, -79704, -647, -71000, -68356, 23672, -8529, 22496, -22112, 7264, 25118, -46661, 40993, -4425, -21491, 5873, -60883, -54189, -19083, -49232, 71047, -33710, -45779, 1873, -27193, -101864, 5553, -11491, -13696, 53965, -55653, -2143, 9803, -41708, -6717, 87294, 40127, -36941, -66779, -51911, -29790, -30628, -27717, -40756, -406, -44849, 14906, -70582, -4764, 4608, -11465, -55548, -722, 32841, 127188, -14092, -5305, -9902, -8615, 62055, 37703, 2550, -17405, -8362, -24072, -10919, 23534, -36996, -20273, 20410, -78328, -28686, -64297, -49525, 49091, 35799, 43803, 7083, -3069, -134, -41199, -34553, 4676, -30189, 24136, -43764, 33454, 66182, -19251, -17551, 19643, 13340, -49102, -87429, -99219, -85253, -8187, 26442, 7720, -33737, 54907, 34634, 46759, -73726, 62691, -70797, -65532, -11822, -52358, 40558, 13638, -37305, 85183, -70997, -19874, -17025, -46874, -15978, -50404, 82678, -10811, -26961, -30257, -37448, -70427, 53602, 100876, 14918, 71272, 16986, -35695, -57728, 28843, -17888, 23180, 47097, -75830, 7587, 15749, -9389} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-111, -149, -139, -136, -141, -109, -120, -98, -133, -116, -114, -142, -156, -130, -121, -137, -116, -125, -135, -140, -129, -146, -126, -126, -144, -120, -141, -139, -106, -108, -134, -121, -123, -110, -119, -112, -133, -122, -122, -116, -137, -120, -166, -112, -117, -103, -162, -129, -121, -143, -107, -135, -135, -135, -114, -134, -106, -104, -112, -116, -117, -102, -129, -134, -117, -144, -137, -117, -102, -116, -129, -131, -115, -86, -140, -139, -132, -118, -145, -145, -130, -103, -157, -159, -143, -100, -139, -113, -132, -151, -131, -130, -90, -115, -95, -126, -116, -104, -124, -136, -98, -145, -117, -123, -101, -114, -102, -123, -83, -150, -139, -104, -127, -110, -139, -120, -118, -120, -101, -142, -145, -90, -119, -129, -108, -142, -120, -127, -141, -126, -99, -123, -140, -138, -143, -130, -140, -84, -125, -103, -135, -114, -125, -137, -126, -139, -137, -115, -128, -139, -140, -146, -136, -132, -136, -93, -129, -112, -105, -127, -136, -130, -105, -122, -129, -144, -91, -127, -133, -150, -181, -139, -131, -107, -121, -115, -109, -125, -121, -136, -114, -153, -119, -129, -137, -157, -113, -126, -122, -115, -113, -164, -116, -125, -112, -151, -129, -134, -118, -116, -83, -136, -112, -110, -112, -138, -123, -116, -151, -136, -78, -121, -131, -136, -185, -137, -139, -147, -149, -99, -129, -120, -154, -134, -134, -131, -118, -146, -153, -131, -141, -131, -118, -135, -117, -154, -108, -130, -125, -103, -116, -160, -124, -150, -142, -116, -100, -154, -113, -106, -124, -109, -130, -172, -134, -132}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1791381888, 1402385024, 1864192128, 1975387264, 1558495744, 1186129024, 1817357824, 1814025856, 2141185664, 1514693120, 1811470976, 1162930304, 1272108160, 1462483456, 1296128768, 2118951552, 1512161408, 1158424320, 1135310208, 1175039616, 1444642304, 1895548928, 1316587520, 2056086016, 1420815744, 1358767872, 1485875840, 1400269568, 1422538624, 1422800640, 1187074176, 1338855552, 1261420928, 1478669952, 1151996032, 1398841984, 1374675712, 1707055104, 1894487680, 1421510272, 1645654016, 1641026816, 1520228224, 1864511872, 1158880640, 1186773376, 1592379520, 1191408896, 1473507072, 1642199936, 1753971840, 2092540160, 1131618176, 1843787776, 1624924160, 1366791808, 1274529792, 1151981440, 1333665152, 1435293696, 1357090816, 1564388864, 1403824512, 1316835712, 1849759872, 1383867008, 1846494720, 1926987904, 1570644352, 1280043136, 1479360768, 1235223680, 1170368384, 1794357504, 2093055232, 1852741376, 1635524736, 1392455808, 1660219904, 1583728640, 1488576384, 1328692096, 1601840000, 1604887424, 1713120768, 1338512256, 1742698624, 1653076480, 1315795584, 1840147328, 1361493120, 1410061312, 1781165056, 1506724096, 1484569728, 1266326400, 1121281920, 1122650752, 1459453184, 1314521728, 1852776064, 1612937600, 1947404544, 1428545152, 1169992832, 2024779648, 1367022848, 1492023936, 2144577024, 1580337920, 1729021696, 1539071744, 1180578560, 1287053184, 1456181632, 1648915328, 1543182208, 1271789184, 1502735232, 1965392768, 1309246848, 1214976000, 1271892224, 1450508416, 1761765248, 1427414144, 1896159488, 1121094144, 1387479680, 1122594816, 1516231808, 1594421632, 1373458304, 1358510464, 1328447232, 1686521344, 1271317760, 1281828096, 1203435136, 1365172480, 1520969216, 1284927744, 1522708864, 1190259712, 1396598272, 1150020480, 1812056320, 1538132224, 1546397568, 1100549376, 1188528128, 1182419200, 1360606720, 1483608192, 1103342336, 1285559680, 1614657152, 1876495744, 1230074368, 1606145664, 1826827904, 1191996288, 1542625920, 1257042560, 1482091648, 1428434816, 1428081024, 1141040512, 1438195584, 1222959744, 1922594560, 1833672448, 1411291392, 1205917440, 1838320256, 1224852992, 1235558784, 1400925440, 1555502720, 2022852864, 1090050560, 2067587456, 1549029888, 1245896064, 1984332672, 1635577984, 1623061632, 1215081472, 1305410048, 1835182592, 2000200064, 2031778944, 1270289664, 1745663872, 1774047232, 1164336128, 1130689792, 1113738112, 1620873088, 1288834176, 1425997056, 1735184256, 1813444736, 1790951552, 1167154432, 1683893760, 1696742912, 1435707520, 1209211264, 1389879552, 1696583424, 1236497024, 1264276736, 1429703808, 1694399616, 1926453504, 1879202176, 1787780224, 1792743936, 1334868480, 1475981952, 1844466816, 1430879360, 1342564224, 1475530240, 1261049728, 1591676416, 1883451008, 1333867392, 1366552320, 1255649664, 1317850880, 1232044160, 1420549248, 1197755776, 1105000832, 1903285376, 1124196480, 1456867840, 1217876736, 1692869632, 1725185792, 1153220864, 1310396800, 1593817600, 1391729792, 1088877312, 1559580288, 1999510784, 1697685376, 1245118336, 1327143552, 1570265600, 1819412352, 1272933376, 1172768128}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {135332, 157804, 138025, -577, -203, -726, -3600, -29468, -833, 122976, -213, -636, -515, -691, 156210, -1121, 132337, 154521, 117344, 148150, 152449, -169, -906, -477, 86290, 98081, -282, -163, -495, -580, 41495, -940, -483, -545, 159225, 137227, 75896, -327, -605, 138830, -956, -515, 65853, -71644, 101247, -22156, 115189, 33549, 150473, 165270, -1043, 874, 60105, 72098, 132395, 5111, -1182, 1812, 80837, 133427, -982, 149287, -961, -1327, -726, -20330, 68204, 40254, 24162, -806, 90480, -781, -578, -40072, 95410, 61188, -433, -518, -328, 430, 167229, 106044, 145467, 18550, 118362, 153702, 203584, 147306, 102014, -709, 41115, -426, -14608, -548, 79170, 66349, 79496, -9381, -629, -334, 131894, 13574, -998, -329, 134094, 64646, 76282, -409, 66701, 73401, -191, -574, -308, -1185, -1051, -3163, 175688, 7354, 50489, -731, -696, 11902, -7930, 155439, 1370, 79007, 84066, -511, 103946, 98799, 122965, -499, -1277, 129208, 148028, 130473, 63379, -382, -292, 149589, 150913, -380, 74, -347, -659, 69309, 158649, 154643, 77607, 58362, 167584, 84578, 126162, 158000, -586, -1099, 3291, -432, 11803, 2849, 91336, 157820, 74898, -365, 126772, 92425, 105854, -169, -1088, -6675, 127334, -681, -553, 105505, 138491, 86346, 72659, 157028, -845, -16, 147037, -4920, 5512, -3025, -426, 79966, -1651, 144217, -1034, 36977, -21573, 65013, 186280, 88710, 157143, -1974, 107288, -266, 158233, -808, 61579, -759, -991, 132869, -83, -381, 103034, -772, -840, -1782, -610, -510, -20841, 4445, 115932, -382, 57661, 101685, 127719, -379, 75008, 57488, -517, 91568, 133298, 116934, -541, -672, 96574, -707, -796, 126858, 171566, 170970, 108758, 82783, 278, -644, -624, -650, -506, 50835, 74809, 135551, 41536, 85924, 135413, -570, 86376, -1317, 185571, 107255, -947, -2324, 1823, 163353} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {-308, -300, -292, 58, 25, 61, 43, -39, 26, -284, 32, 29, 53, 38, -275, 20, -301, -307, -314, -324, -292, 64, 48, 42, -268, -241, 29, 19, 51, 74, -131, 46, 31, 30, -272, -302, -258, 42, 34, -309, 24, 34, -234, 149, -277, 75, -314, -158, -320, -294, 38, 41, -269, -318, -312, 41, 45, 41, -262, -294, 61, -290, 49, 60, 55, 53, -255, -152, -120, 41, -341, 78, 42, 65, -255, -269, 65, 35, 19, 38, -307, -320, -318, -110, -270, -293, -308, -310, -308, 51, -156, 62, 117, 43, -293, -256, -324, 53, 91, 50, -330, 72, 34, 45, -313, -267, -282, 40, -281, -318, 20, 61, 34, 63, 58, 31, -310, 38, -286, 44, 30, -121, 49, -307, 30, -298, -289, 49, -270, -293, -299, 67, 26, -311, -301, -425, -238, 34, 47, -312, -292, 38, 62, 70, 28, -248, -320, -326, -293, -276, -303, -262, -292, -307, 54, 38, -69, 41, 24, 39, -304, -318, -347, 37, -319, -322, -330, 64, 39, 24, -279, 24, 28, -298, -303, -286, -292, -296, 38, 56, -292, 54, 55, 66, 39, -292, 58, -300, 37, -136, -139, -251, -305, -279, -322, 51, -311, 33, -305, 46, -252, 97, 33, -322, -2, 42, -275, 27, 42, 44, -3, 34, 43, 48, -301, -8, -272, -309, -317, 38, -276, -198, 69, -335, -325, -288, 34, 41, -277, 30, 50, -291, -298, -307, -311, -282, 51, 48, 38, 50, 23, -236, -274, -315, -145, -305, -291, 65, -294, 41, -312, -280, 65, 24, 28, -318}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1276013952, 1708561664, 1125747712, 1563880704, 1753480448, 1648116608, 1076284928, 1352178816, 1881813120, 1495496192, 1432478720, 1236938112, 1335418880, 1980286592, 1958125952, 1558750848, 1683581952, 2143129088, 1429405568, 1131579776, 2060955648, 1363395200, 1556952576, 1884230144, 2008567680, 2018865664, 1206188288, 1275247232, 1196924288, 1607427840, 1419076864, 1657844352, 1729528320, 1099131776, 1995676160, 1324349312, 1108532480, 2041643648, 1852953984, 1112610432, 2128273152, 1883862784, 1278675456, 1313520512, 1121815936, 1098791296, 1409757056, 1699488768, 1203031808, 1116197632, 2054024704, 1875708160, 1333707008, 1691298816, 1516728192, 1479238400, 1969507072, 2031856384, 1100551168, 2033200256, 1845101696, 2092614272, 1614050176, 1630990976, 1775487744, 1163897856, 1124382976, 1390668288, 1623018752, 1848461440, 1594132096, 1634628224, 1149373824, 1109597056, 1122724992, 1886470528, 1164717184, 1365333504, 2019535232, 2064642688, 1226303872, 1216589440, 1596842112, 1195648000, 1863629696, 2007043200, 1643640064, 1164297088, 1710876288, 1968421248, 1490002560, 1958994432, 1171994880, 2053522304, 1735355904, 1235409536, 1148525824, 1301332224, 1402075264, 1146134784, 2112503680, 1202464768, 1795506560, 1486539648, 1574113792, 1744086400, 1248492544, 1515842560, 1861742464, 1854036992, 1261887360, 2068934528, 2003616768, 1522116352, 1708398976, 2129298048, 1075722624, 1951194368, 1135391232, 1921546880, 1243754752, 1211484672, 1880317440, 1687897728, 1118002816, 1865639680, 1553446656, 2123215360, 1920156416, 1620102656, 1334177408, 1397569408, 1718436864, 1262741120, 1229417216, 1312312704, 1591810048, 1962787328, 1783614976, 1231129216, 1249111296, 1810571264, 1166102016, 1854883072, 1694733056, 1120069376, 1291831552, 1764172544, 1601905792, 1264400128, 1959816576, 2114930048, 1500547840, 1077370368, 1875313920, 1848556288, 1631762688, 1942371328, 1575396352, 1411549568, 1537427328, 1999285888, 1741411456, 2144595200, 1665935232, 1526769408, 1507774720, 2056209664, 1285616256, 1579122944, 1753047040, 1075719168, 1406798464, 1456552832, 1746763008, 1827789824, 1276292352, 1079493120, 1768436480, 1126327808, 1311790592, 1731095936, 1704097536, 1772512128, 2017839744, 1916137856, 1369040128, 1791191680, 1651323008, 1557465600, 1638598144, 1337591168, 1940675968, 2024943104, 1953532416, 1929664896, 1510013824, 2103590272, 1129476736, 1630101376, 1326204544, 1322560768, 1418153344, 1182453248, 1876980864, 1605672960, 1668819840, 1190275456, 1950702464, 1458778624, 1094450304, 1979030912, 2021887616, 1458639104, 1530845440, 1285460224, 1784741376, 1331822720, 1978340992, 1789542144, 1721451520, 1779591168, 1145125248, 1679136256, 2143350144, 1112694912, 1210882816, 1936539520, 1768560000, 1464878336, 1492299136, 1380983296, 1786510208, 1985913344, 1662909696, 1867817600, 2069678464, 1782674944, 1405004416, 1533000960, 1550855552, 1223694720, 2143459840, 1126939136, 1256285824, 1123735936, 1163593344, 1794702592, 1454541824, 1659055232, 1798330496, 1703110400, 1270049536, 1892206720, 1130661120, 1083939072}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {56425, -11192, -6813, -11829, 27511, -16649, -53164, 13303, -11829, -36780, 1888, 94593, 11135, -21188, 56702, -11883, 31420, -74310, -5517, 26909, 34618, -42389, -15723, 28310, 31655, 1516, 6084, 56557, 19385, 77150, 56476, 90626, -15200, -4819, 23196, -6425, -9485, -4781, 11073, 48486, -57586, -6039, 52560, -45684, -21308, 12316, 5320, -31799, 7513, -12122, -6726, 7930, -14592, 50268, 2353, 45168, 16277, -21759, -55337, 5417, -11268, -4717, 34421, -20414, 32743, 12297, 24268, 25380, -43580, -2158, -57791, 15579, 36108, 12012, -3992, 45764, 70842, 27171, -11540, -29483, 3558, 33203, 40959, -43029, -336, 29817, 4017, -69316, 25138, -90832, 34095, -42138, -10657, -31845, -10895, 65692, -220, -2122, 7174, -92, 17510, -54861, 59845, -44856, -9209, 19471, 10315, 117486, -22335, -16151, 29414, -83413, -21348, 21777, 61193, 22759, -14614, -25428, 63628, -15376, 40213, 33444, 23624, -33348, -3475, -20664, -718, -21538, -50232, 6253, 41718, 30573, -44203, 15802, 4911, -6720, 8524, 5247, 50269, 35554, -68164, 17037, 79775, 26767, -28575, -26417, 39340, 31318, -17660, -32335, 38352, -2472, 54910, -26806, -66906, 17298, 19312, 4571, 13194, 32050, -9314, 1017, 11871, 30208, 37660, 13860, 2797, 25590, -36825, 30357, 10047, -74098, 77795, -8616, 6121, 33062, 85183, 57601, -50014, -57044, -40249, 54075, 14921, 33205, -21992, -42386, -9420, 26336, 10500, 47325, 2863, 68202, -56941, 23380, 44243, 3641, -32452, 34811, 8427, -30423, -5327, -22729, 14584, 32779, -24263, -63314, -8899, 9583, 60502, 24157, -7931, 7204, 6424, -24489, -27670, 19232, -24801, -30767, -14714, 12656, 21725, 70805, 21550, 38300, -30555, 26501, 1193, 51325, 6014, -39885, -26487, 5041, 26748, 47702, -19918, -54465, 72980, 16237, -34541, -19048, -9900, 72352, -42874, -25690, 39978, -71680, -21463, 24370, 26338, 34473, -50906, 2503, 14181, 36509, -9251, -39307, 55083, -27892, -2682, -9250, 25053, -5552, 28931, 56335, -31091, -58161, -28947, -4860, -9431, -18377, 50586, 35942, 2850, 38879, 40546, -31041, 2412, 28167, -61383, -12475, 42100, -12368, 92154, -2186, -38506, 53431, -40671, -6872, -6949, 64441, -35911, -2799, 78909, 98180, -31237, -7591, 11580, 19650, 19442, -92293, -43038, -26708, -10481, 14949, 121109, 61086, 2327, 44318, -95487, 23803, 56593, 9174, -4390, 4027, 3821, -6709, 17351, 6953, -8979, 16843, 46390, 9721, 137, 7981, 5394, 85597, 2177, -11306, -72597, -28803, 41592, 74055, -48414, -22204, -45231, -51701, -58427, -3814, -39642, -12473, -36576, 33724, -75001, -46585, 28793, 23129, 18943, -47963, 57557, 13154, 19607, 7248, -7585, 52670, 8268, 9062, 32574, 39933, -44391, 13997, 45460, -23296, -7867, -52437, 39766, 10954, -28720, -25979, 15981, -59477, 11255, -50400, -22865, -33925, -36306, 14949, 34574, -25359, 72934, 37288, -26532, -5135, 24825, 743, -11305, -22684, -37704, 15696, 61906, 11769, 81943, -5470, 15075, 60649, 16339, -62217, -33303, -8498, 67543, -11476, 33115, 30889, 96113, -29645, 23921, 70743, 81817, 27951, -59823, 30127, 43392, 22993, -31834, -36093, 46125, 10429, 17662, 63931, 12169, 29706, 23202, -35776, 7487, 83701, 32289, 64560, -16265, 109663, -67521, 11138, -2339, -49193, 27851, 20164, 39554, -36534, 62102, 66989, -20448, -56827, -15111, 35850, 41404, -40359, 50093, 2390, -29358, 14915, 61292, -11636, -16358, -6301, -22620, 19383, -34138, 19016, -15871, -38502, 52273, -14730, -35509, 34396, 22072, -23425, 30666, 19847, -7775, 23824, -151597, 42494, 26738, -32861, -57975, -3588, 29257, 12556, -4179, -29545, 7199, 21916, 39139, 57671, 2517, -2447, -5571, -23655, 35454, -2957, 16944, 35954, -28903, -83737, -64980, -57742, 10495, -11062, 11914, 23828, 201, -68567, -7335, 20117, 36447, 6650, 3643, -73324, 30179, 52842, -38108, 92960, -7640, -48211} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-138, -154, -142, -137, -138, -160, -139, -102, -125, -143, -107, -148, -140, -101, -92, -169, -110, -122, -131, -110, -153, -131, -172, -118, -115, -138, -106, -129, -126, -138, -92, -150, -101, -132, -95, -85, -161, -109, -118, -137, -115, -106, -140, -114, -104, -128, -148, -76, -141, -147, -147, -139, -103, -113, -76, -137, -109, -134, -132, -158, -129, -115, -136, -135, -164, -121, -89, -122, -142, -118, -108, -131, -112, -131, -74, -132, -125, -95, -110, -105, -132, -127, -151, -135, -111, -125, -119, -120, -132, -121, -130, -140, -138, -137, -101, -119, -137, -93, -82, -134, -117, -132, -118, -149, -108, -114, -130, -136, -108, -141, -144, -118, -102, -118, -102, -130, -106, -105, -161, -125, -145, -134, -131, -138, -138, -109, -155, -116, -128, -135, -106, -127, -123, -112, -121, -153, -106, -97, -104, -140, -117, -141, -143, -99, -129, -82, -94, -108, -157, -141, -119, -95, -135, -113, -101, -129, -132, -122, -155, -107, -123, -126, -136, -137, -154, -90, -147, -112, -140, -151, -120, -127, -146, -124, -112, -154, -117, -158, -127, -105, -126, -114, -143, -123, -109, -94, -71, -126, -110, -138, -120, -150, -126, -111, -145, -119, -113, -131, -91, -111, -111, -114, -140, -120, -143, -133, -150, -130, -120, -125, -118, -128, -142, -133, -157, -123, -103, -97, -136, -136, -98, -107, -111, -140, -112, -121, -117, -123, -136, -106, -133, -151, -119, -136, -125, -121, -115, -129, -109, -130, -79, -143, -156, -122, -107, -133, -86, -142, -159, -109, -136, -148, -100, -120, -140, -157, -130, -115, -142, -113, -98, -132, -130, -117, -129, -122, -129, -162, -142, -141, -137, -146, -137, -128, -144, -138, -92, -145, -125, -138, -116, -129, -114, -124, -119, -110, -138, -120, -118, -131, -156, -100, -159, -127, -151, -123, -121, -147, -84, -119, -118, -150, -134, -104, -136, -129, -100, -144, -122, -145, -127, -97, -120, -127, -112, -185, -148, -121, -99, -82, -105, -125, -84, -94, -185, -93, -47, -143, -119, -139, -112, -154, -119, -116, -113, -94, -137, -109, -127, -138, -114, -150, -131, -133, -136, -103, -104, -138, -136, -132, -123, -90, -111, -108, -84, -120, -129, -130, -163, -117, -176, -153, -129, -179, -141, -54, -107, -131, -122, -119, -117, -130, -143, -119, -138, -114, -110, -149, -127, -81, -146, -101, -139, -137, -126, -124, -120, -160, -132, -143, -119, -150, -125, -137, -142, -93, -98, -133, -105, -135, -115, -115, -130, -156, -133, -134, -146, -131, -100, -127, -118, -96, -144, -139, -127, -128, -101, -123, -102, -123, -104, -121, -144, -122, -131, -109, -125, -130, -133, -105, -114, -152, -126, -137, -144, -112, -161, -140, -122, -109, -113, -124, -142, -124, -117, -124, -110, -159, -117, -199, -128, -137, -118, -124, -114, -173, -102, -136, -120, -118, -118, -146, -100, -147, -161, -121, -104, -129, -109, -80, -140, -116, -126, -132, -141, -125, -118, -126, -114, -127, -127, -103, -107, -122, -133, -109, -103, -89, -132, -135, -115, -127, -91, -118, -146, -109, -146, -148, -84, -130, -147, -92, -104, -150, -144, -128, -109, -131, -130, -139, -125, -110}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1113996288, 1603571328, 1357614208, 1526053248, 1962248832, 1591275648, 1591005824, 1882690048, 1283262720, 1971686784, 1517238144, 1290319744, 1734519296, 1446481024, 1888269184, 1667913600, 1733152640, 1518182784, 1260101248, 1647232512, 1895690496, 1628241536, 2120391552, 1283006208, 1539098880, 1497422976, 1700160256, 1572459392, 1080619520, 1202472832, 2077534976, 1430448768, 1210850176, 1393836800, 1233703040, 1496276864, 1976563072, 1337707264, 2091819648, 1367555584, 1443091072, 1332757888, 1354497280, 1111813504, 1696177280, 1319414912, 1561558912, 2085742080, 1782557568, 1512637184, 2086499456, 1847946496, 1085864192, 1856211072, 1120508288, 1686248576, 1464679296, 1513027968, 1737894528, 1808564352, 1712449664, 1085976960, 1609332864, 1787754496, 1630400640, 1388219392, 1349321344, 1554377600, 1373159040, 1608020352, 1733656064, 1584539520, 1663105408, 1651481216, 1936677248, 1325761024, 1127784192, 1742726528, 1545077888, 1356476160, 1780442752, 1476966400, 1676845952, 1729641344, 1862289024, 1939899904, 1335461376, 1270549120, 2108450560, 1490544000, 1718316416, 1788904832, 1456883072, 1545917696, 2033916544, 2014170368, 1828378880, 1309170560, 1135417344, 1935424256, 1545514880, 1497077248, 1429147264, 1799059328, 1387542784, 1140603520, 1440470016, 1259418880, 1523515648, 1491271808, 1690312448, 1662919424, 1234500352, 1410142080, 1631268608, 1562210944, 2138459392, 1553848576, 1403975424, 1637114112, 1732194688, 1870111488, 1920454144, 1606813440, 1232513920, 1812074624, 2003012224, 1617370624, 1093938944, 1648106880, 1626357632, 1798969344, 1497362432, 1813632256, 1145920768, 1663921920, 1374187648, 1829330304, 1471669760, 1452938624, 1606252416, 1340752768, 2053782656, 1591010944, 1556204544, 1876739968, 1373234304, 1321202560, 1510071552, 1964223872, 1844043008, 1106071552, 1238671360, 1855003520, 1471063040, 1513708800, 1426456064, 1552150912, 2100482048, 1623447296, 1397966720, 1406142592, 1486302592, 1411344640, 1767578624, 1967980800, 1741816320, 1900275712, 1126549248, 1600636672, 1319026048, 1467361280, 1657382784, 1723456896, 1555852928, 1572430592, 1260857344, 1739923200, 1563523968, 1609365632, 1424259712, 1948185344, 1576771456, 1382618368, 1676016640, 1832103552, 1812326144, 1564013184, 1430965376, 1291360256, 1377067392, 1719108224, 1622600064, 2045403776, 1311623168, 1205081984, 1577184896, 1638956416, 1916817536, 1113706752, 1373400448, 1573516160, 1191016448, 1398474624, 1504485760, 1442521216, 1755473792, 1352574592, 1305866496, 1529017856, 1574007040, 1859843712, 1842204160, 1759310592, 1184732928, 1395405568, 1719166848, 1737633664, 1500394752, 1556323840, 1649451648, 1966449536, 1455101824, 1796354944, 1581896192, 1702027264, 1922680960, 1401868800, 1282252928, 1507550720, 1519060864, 1684525184, 1511333376, 1560370560, 1568231040, 1531231232, 1463138816, 1738523904, 1221046016, 1570375424, 1843025664, 1367717888, 2008650240, 1566617728, 1241318656, 1123319808, 1839432192, 1641985024, 2033522944, 1215622912, 1814726912, 1381130880, 1428209792, 1916664576, 1680075520, 1981560064, 1793550976, 1295718272, 1483199488, 1549999488, 1104054400, 1450869760, 1816308352, 1667021952, 1294288128, 1241014528, 1658875904, 1177925120, 1335688448, 1796612224, 1348807296, 1681206912, 1531095680, 1306884352, 1139087360, 1288238208, 1351997696, 1438014592, 1247490432, 2095283584, 1586011008, 1819201792, 1630324992, 1562262016, 1581676928, 1858926976, 1753903616, 1593958912, 1238815488, 1707254016, 1691395456, 1729990528, 1759002496, 1251433216, 1619184128, 1525058304, 1965253248, 1640103936, 1642818048, 1562207744, 1439456000, 1665970560, 1402618112, 1856727552, 1943498752, 1341870976, 1294298496, 1100308608, 1265260416, 1242917760, 1318192128, 1395022848, 1357707008, 1599142016, 1658448512, 1550540416, 1737168384, 1732947712, 1693161600, 1290947968, 1325981312, 1337704832, 1746676992, 1127572224, 1543997184, 1725474688, 1648972672, 1529725824, 1337288576, 1629885440, 1690269440, 2053289984, 1359463936, 1405085824, 1413061632, 2037923328, 1448918144, 1217979904, 1904002688, 1380911616, 1450447744, 1546698880, 1149049344, 1685667584, 1396064128, 1498462592, 2116713216, 1256172032, 2095602432, 1663252352, 1284494336, 1758043136, 1611372544, 2004578688, 1338650496, 1810361984, 1356944768, 1622998016, 2009853952, 1503967872, 1191825664, 1585007232, 1289449600, 2009186304, 1721285248, 1880687360, 1590050432, 1520531456, 1566164480, 1199820160, 1654685312, 1167432576, 1700581376, 1275071488, 1777133312, 1608136192, 1763332736, 1143048320, 1603069952, 1385413376, 1515297920, 1514234752, 1517571072, 1816215680, 1474366336, 1789545344, 1652897408, 1932482304, 1607459584, 1738939520, 1685928320, 1493615232, 1496120704, 1228451840, 1938858496, 1825719424, 1628107648, 1536217856, 1259884160, 1685702144, 1473351552, 1401486720, 1154299776, 1302259456, 1251398912, 1949460224, 1123084160, 1896720768, 1233782656, 1505966080, 1479191552, 1285129600, 1956551808, 1681846016, 1329461120, 1397620608, 1782963712, 1249007744, 1548899584, 1359381760, 1658562048, 1437545472, 1892582144, 1339646848, 1486549888, 1593468672, 1744710784, 1293300224, 1239658752, 1623890048, 1460704640, 2016550144, 1723422208, 1870192128, 1479547136, 1629895168, 1516589440, 1139797248, 1550253184, 1375571200, 1999917440, 1232886784, 1989041664, 1268319744, 1813555200, 1367678592, 1604129152, 1786820352, 1994598400, 1508393216, 1407276288, 1429035648, 1849640960, 1677970688, 1451957888, 1269416448, 1586853632, 1513344384, 1527455104, 1271413248, 1238772736, 1632377216, 1102658176, 1899453952, 1545177984, 1450651136, 1372223744, 1830159360, 1438861952, 1109672832, 1668091776, 2062113280, 1454586368, 1439463424, 1405982464, 1241312000, 2018420608, 1326105856, 1192291840, 1629056768, 1279616384, 1362583936, 1648783232, 1500756224, 1880380672, 1564784512, 1353729280, 1674503552, 1512460800, 1244200832, 1424733312, 1466801920, 1990455296, 1798125568, 1448010752, 1447581696, 1672504448, 1295228160, 2088511488, 1431050112, 1085378944, 1329249664, 1405853696, 1606461312, 1343439232, 1439288960, 1625707904, 1786826368, 1232711808, 1975590656, 1817899136, 1716320640}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-606, 121285, -9862, -243, 5128, -454, -2632, 72941, -662, 107807, -7260, 92052, -964, 37680, 7712, -112, 121316, -1376, -1265, 97095, -462, -1930, -592, 123281, -1166, -556, 49405, 171958, 104185, 3184, 2136, -1841, -641, 101993, 88633, -19698, -903, -10924, 89492, 105011, -992, 90825, -559, -172, -215, -196, -1902, 106713, -899, -165, -6685, -4812, 82814, -9755, 102957, 126380, 84832, 87429, -1076, 8411, -3603, -5776, -2672, -2123, -14523, -11573, 109520, -496, -885, 37912, -427, -1930, -1618, -1929, 137255, 169115, 36367, 52959, 138358, 135095, -767, -2754, 161479, -3104, 3325, 77862, 106235, -11327, 1152, -260, -990, -141, -575, 153360, 103331, 127856, -381, -3138, -286, 15002, -6626, -777, 122270, -1143, -18281, 70552, 39443, -6024, -11870, -887, 138360, -1167, 65052, 37550, 146349, 89782, 106275, -1909, -478, -1548, -3161, 106927, 5717, -2770, 55019, -83, 46828, -627, -755, -14117, -4524, -823, -1137, -14757, -1423, -652, 110794, -388, 163258, -4619, 548, 80817, 63334, -20989, -7414, -469, 714, 74094, -151, 134632, 27462, 13851, 174218, -8995, -596, -4277, 130913, 52673, -313, 134006, 143193, -3279, -4881, 107096, 98704, 108132, -1861, 70328, 75, -3315, -1260, 1191, -1595, -327, 984, 116218, 126505, 6826, -12083, -1429, -639, 78938, -7024, -2063, -600, 185374, 90670, -3436, 109224, 88528, 69841, -17157, -12153, 68991, -2691, -32253, -356, 82901, 72425, 99639, -1444, -846, 2747, 138717, -9295, -293, 140758, 67302, -2191, -1560, -165, -427, 66839, -11327, 62284, 80138, 192, -274, -581, -949, 47204, 18222, 7449, 127324, -6570, 112772, 99568, -1225, -4083, -1925, -781, -87, -934, -2570, -778, -660, -2013, 100616, -734, -8483, 180840, -5096, -755, -288, 65966, -1685, -5988, -1478, -3062, 1395, 7605, -108, -4741, 50859, -1788, -579, 97941, -1157, -1193, 141457, 1703, -12568, 86981, 68738, -788, -1584, -1940, 6359, -235, 74851, -661, -3453, 203380, 61036, 62085, -414, 60347, -1692, -2751, -1512, 9231, 106293, 12410, -36933, -466, 72995, -870, -1244, -5960, 80373, -9939, -1556, 135029, 4979, -8489, 79177, 2520, -2152, 2155, 681, -16738, -263, -228, 56506, 18778, -2474, 1192, -21424, -171, -1822, 110501, 81048, -9516, -1176, 59640, -231, -5418, -498, 48499, 1314, -2412, -460, 76955, 84430, 79696, 1770, 110564, -1486, 68068, -2456, -1082, 3271, -350, 76894, -88, 33, -186, 63862, -513, -13557, -440, -4521, 2498, -1074, -2667, -57, -192, -971, 65605, 39395, -460, 232154, 59751, 83692, 75284, -1853, 111853, -20301, -510, 1521, 63973, -2913, -562, -62, 87515, 83418, 147332, 147163, 76855, -1053, -2853, -2198, 43524, -7, -377, -3298, 78437, -233, 144332, 4807, -2387, -336, -2675, -6556, -817, -2020, -1976, 102357, -10435, -1673, 54850, -610, -1084, 59941, 66170, -4594, 64516, 130503, 77059, -714, 156045, -32149, -16015, -65, -1354, 57198, -22254, 2103, -848, -964, 167, 78771, -839, -4192, -1877, -1972, 94924, 18380, 95602, -475, -1087, -7028, -1146, 103828, 119814, 4094, -1002, -448, -1649, 55574, -603, -2674, -6543, 80277, -10006, -537, -2705, 3119, 632, -1826, -1184, -41955, -1920, 3504, 217333, -8897, -2241, -1260, 5175, 213277, -1380, -905, -3219, -2681, -17708, -97, -6416, -25149, 549, -143, 40, 654, 131511, -9884, -2669, -3105, -1914, 55926, -1021, 826, 55954, 97940, -4482, -1002, 99489, -569, 10353, 78291, 216675, 117242, 88155, 95095, -347, 5324, -6423, -351, 5930, 217460, -4213, 66376, -1844, -1128, -1154, -631, 55670, -2230, -1300, 105478, 39842, -1025, -1195, 100660, -18757, 136381, -1077, -1343, 76701, 90680, -877, 1920, -1262, 83927} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-125, -514, -57, -113, -115, -197, 222, -324, -52, -392, 16, -486, 6, -372, -126, -171, -583, -57, 73, -343, -73, 149, -149, -514, -28, -22, -265, -513, -464, -114, -96, 143, -109, -473, -527, 6, 21, 155, -454, -655, -2, -325, -80, -141, -199, -135, 54, -630, -26, -115, -47, -75, -499, 80, -697, -396, -400, -543, 35, -99, 5, 40, 38, -51, -67, 23, -519, -63, -13, -217, -87, -60, -122, 168, -696, -464, -209, -285, -415, -755, -61, 63, -693, 180, -99, -333, -440, 80, -116, -82, -148, -131, -132, -652, -449, -546, -90, -84, -119, -148, 102, -56, -362, 10, 162, -452, -207, -102, -89, -20, -457, 52, -302, -222, -403, -384, -585, 69, -37, 21, 75, -512, -113, -20, -321, -151, -271, -40, -168, -137, 89, -69, 49, -21, 37, -111, -525, -94, -671, 74, -82, -380, -379, 121, 9, -79, -89, -397, -192, -738, -163, -89, -500, -6, -133, -15, -430, -240, -189, -566, -671, 129, 65, -486, -472, -495, 71, -359, -152, 130, -121, -70, -20, -131, -113, -528, -561, -63, -101, 50, -77, -329, -116, 80, -69, -716, -574, -116, -459, -355, -407, -40, -9, -357, 82, -23, -65, -358, -377, -392, -33, -25, -139, -575, 12, -118, -497, -317, 70, -69, -142, -66, -264, -1, -305, -439, -179, -102, 120, -56, -276, -128, -180, -476, -58, -419, -468, -123, 19, -121, -91, -174, 45, 138, -83, -77, 126, -535, -39, 84, -928, 21, 0, -124, -268, -13, -4, -82, 141, -63, -98, -158, -65, -271, 70, 19, -449, -53, 99, -362, -105, -35, -278, -307, -160, -100, 46, -150, -103, -367, -174, -95, -789, -450, -328, -71, -444, 110, 151, -146, -126, -293, -137, -34, -51, -269, -28, 33, 88, -271, 3, 121, -390, -153, 137, -293, -97, 102, -77, -95, 87, -199, -143, -254, -203, 105, -126, -52, -173, 78, -590, -688, -107, 99, -467, -133, 50, -77, -244, -106, -107, -70, -403, -384, -514, -94, -527, 103, -295, 86, 36, -120, -152, -487, -133, -169, -159, -296, -72, 55, -61, 50, -101, -24, -93, -177, -130, -21, -290, -215, -172, -646, -249, -358, -441, 87, -437, 18, -186, -102, -342, 54, -1, -149, -435, -480, -610, -453, -279, -94, 26, 33, -317, -126, 84, -98, -419, -185, -540, -109, -122, -74, 25, 183, -2, -72, 67, -431, -120, 52, -411, -61, 12, -299, -343, 60, -358, -698, -380, -82, -630, 3, -48, -149, 41, -239, -40, -104, -39, -27, -144, -311, -60, 26, 57, 110, -533, -197, -445, -114, -192, 92, -29, -592, -603, -118, -21, -68, 83, -328, -71, 194, -142, -387, -12, -108, 15, -99, -111, 73, 63, -26, -130, -97, -604, 31, 54, -120, -76, -795, 23, -30, -127, 191, 138, -182, 36, 186, -104, -173, -163, -105, -627, 87, 158, 142, 32, -250, -140, -87, -482, -409, 164, 28, -486, -93, -116, -452, -960, -660, -405, -532, -71, -92, -117, -95, -124, -448, 73, -421, 41, 94, -6, -145, -438, 108, 82, -544, -447, -10, -178, -372, -82, -423, -45, -159, -391, -520, -154, -99, -42, -444}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1422850944, 1588029312, 2017185280, 1144203904, 1275597312, 1755008640, 1206487168, 1381906432, 2056408064, 1503017472, 1385773056, 2100007552, 1453061760, 1266589952, 1330013696, 1571665920, 1521833088, 1927859840, 1092829952, 2041506048, 1262477056, 1680141824, 1499686656, 1751270016, 1322415360, 1761412352, 1910813312, 1450937344, 1959174016, 1134384896, 1228230528, 1319604864, 1707305088, 1997971968, 2075542912, 1849398656, 1482997632, 1614395264, 1151660928, 1854757504, 1237082240, 1429798400, 1174170240, 1286649728, 1692607744, 1136770944, 1214292480, 1595412864, 1373763712, 2111382656, 1785629056, 2031504384, 2139122944, 1597292288, 1700489728, 2066393600, 1308025472, 1939696256, 1285014912, 1128064384, 1106152704, 1417165696, 1689504512, 1144869376, 1250267264, 1142272896, 2147360512, 1173250944, 1735227008, 1662212352, 1100048128, 1084062976, 1816762368, 1088469760, 1555193600, 1797148288, 1651834880, 1863734272, 2064085248, 1192205824, 1767619712, 1184611200, 1150971648, 1214741888, 1217319296, 1190660480, 2008074496, 1837856000, 1435644544, 1800245504, 1127115008, 1075967104, 1317531264, 1179315712, 1440336000, 1753065344, 1539607808, 1088948352, 1769382272, 1354470400, 1496386816, 1886324736, 1081252608, 1258438400, 1364754688, 1463409664, 1414174080, 1979144192, 1522242304, 1679043328, 1558754432, 1107430656, 1729445248, 1435383168, 2123709952, 2100030080, 2056823808, 1964602112, 1478797696, 1200315392, 1927140864, 1882246016, 1146731520, 1492972416, 1164423808, 1082653824, 1161492480, 1136050048, 1501494528, 1939359616, 1384077952, 2102212608, 1110052096, 1818973568, 2040176000, 1077475584, 1747362688, 1325125888, 1306927232, 1719151104, 1764974464, 1436661760, 1805994752, 1870897664, 1165351168, 1127380992, 1326740480, 2004540672, 1416605568, 1312262400, 1411911040, 1368961280, 1587717120, 1722763136, 1899910656, 1557544192, 2020329088, 1857849344, 2112801024, 1486686336, 1272962304, 1603866752, 1637755776, 2132626944, 2112471552, 1852166144, 2115905792, 1314993408, 1711805184, 1451196800, 1754088832, 1351910656, 1323436928, 1924289408, 1669348608, 2093678720, 1985316096, 2058594432, 1482930560, 1808778368, 1861112064, 1891249408, 1144472832, 1842013696, 2087654016, 2121959424, 1975637248, 1584577664, 1998109568, 1404172672, 1390665472, 1905536640, 1183264512, 1385246976, 1775464960, 1734412672, 1218614528, 1407752064, 1279422720, 1315023488, 1257047296, 1715723520, 1563260416, 2119240064, 1131410432, 2009159936, 1597479424, 1702355328, 1894276992, 1967927296, 1156945664, 1367477632, 1117787904, 1439124224, 1267620992, 1242727168, 1549802624, 1495564800, 1100317568, 1766580864, 2103122176, 1383409152, 1707701760, 2055898624, 1120553472, 1890874496, 1856746112, 1558091264, 1248253056, 1646982272, 1300440192, 1296499712, 1199761280, 2109912576, 1103108864, 1380017024, 1431429248, 1821461888, 1909706624, 1230023808, 2034754816, 1992183424, 1468340608, 1731769344, 1183477632, 1462028032, 1461810048, 1444813056, 1260502400, 1332558208, 2004676096, 1527553024, 2056944768, 2095348608, 1107026176, 1367395968, 1172871552, 1125393152, 1127973760, 1095108864, 1284051328, 1407521280, 1147200256, 1661113600, 1158456832, 1933552384, 1612442240, 1185628672, 1614772864, 1280251136, 2067382016, 1430746624, 1190080000, 1547817984, 1772856448, 1324027776, 1428059264, 1404997632, 1628889344, 1802300416, 1243035904, 1243393920, 1378825216, 1170228608, 1175522304, 1171492736, 1758711040, 1134982912, 1155133056, 1219590400, 1525054592, 1562798848, 1846842880, 2069883776, 1485089664, 1438498048, 1093771520, 1420690688, 1609785728, 1243343616, 1689441024, 1170311296, 1960783360, 1503969152, 1732493056, 1916316160, 1363833600, 1783496960, 1110410624, 2140397568, 1569949696, 1998252672, 1982686848, 1098415488, 1538987136, 1198137088, 1239141760, 1810866944, 2024453504, 1217566848, 1822010880, 1255294976, 1251227648, 1199363456, 1130882560, 1227197184, 1884115840, 1754657408, 1435154176, 1424309632, 1578294656, 1850733184, 1105083904, 1189744000, 1332338560, 1327681024, 1258427904, 1827836288, 1293899776, 1678390912, 2063994496, 1135889792, 2112771456, 1391878144, 1652705280, 1261402112, 1204104192, 1655638272, 1887870464, 1210469248, 1244812288, 1867503232, 1623878528, 1199568640, 1253812864, 1667215360, 2078910080, 2128291456, 1393799936, 2087197824, 1724785408, 1734385152, 1733145728, 2006131712, 2051577600, 1079560704, 1310095616, 1671734272, 1336446080, 2064871552, 1286696064, 1118083328, 1145334528, 1738247808, 1175536256, 1717968000, 1209876992, 1158394368, 1356674048, 1467868416, 1220818816, 1506058624, 1963445248, 1202808576, 1550914560, 1948416128, 1938581632, 1205851264, 1294144384, 1839832576, 1497303552, 1244926848, 1166953600, 1963638656, 1453389568, 2019127424, 1542980864, 1618015616, 1387367424, 1407650944, 1623006080, 1560246016, 2094243456, 1930676480, 1861040256, 1477416576, 1711825408, 1472674560, 1586845440, 1406273536, 1732221568, 2045532288, 2014216192, 2052060672, 1864075776, 1615122944, 1946962432, 1580554624, 1104304256, 1518114560, 1232583936, 1734014080, 1464976768, 1779876096, 1515447808, 1528901376, 1463435392, 1176450944, 1255842688, 1743179520, 1236023296, 1163628672, 1462213248, 1214024320, 1742599296, 1436163200, 1825571456, 1618159104, 1212081024, 1161280256, 1225849088, 1743645440, 1676912256, 1944717696, 1145929728, 1164985344, 1930172928, 1200813824, 1188935168, 2055008128, 2093739520, 1755479168, 1129885312, 1352651904, 1476286720, 1074520832, 1948788992, 1078064256, 1151779712, 1819494656, 1099904256, 2132466688, 1439697024, 1919066240, 1234907904, 1316316544, 1877567104, 1777254656, 1784220032, 1195395840, 1524059904, 1630570752, 1378585856, 2086597504, 1870653952, 1299638912, 1616802560, 1125044864, 1100491008, 1659758848, 1230519040, 1926652288, 1447936768, 1129161216, 1542617600, 1565138048, 2134634240, 1218833408, 1590501888, 1547684096, 1565912448, 1969375360, 1224400000, 1946646784, 1521276416, 1575478144, 1721925632, 1626630144, 1923732224, 1447288448, 1170754432, 1101160960, 1232761216, 1760681472, 1365771904, 1685592064, 1250829440, 1808876672, 1398710656, 2061431552, 1399225344, 1123029504}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {42897, 14516, 28095, 25920, 30277, 10080, -17179, 285, 25401, 18651, 1445, 53824, -6478, 15124, -10084, -3801, 38241, -2069, -3293, -6262, 27327, 8672, 12677, -60668, -20554, 12871, 6076, 55444, 26837, 12700, 45746, 56001, 12039, 46937, 14381, -10017, 38664, -3497, 32216, 16227, 43958, 31884, 13297, 9034, -2630, 16299, 700, 18943, 24582, 2573, 21720, 23240, 23659, 14276, 29574, 23337, 22508, 25976, -30803, 15592, -27670, 3338, 22536, 26537, 24730, 26665, 1070, -14718, 5648, -2509, 49906, 37893, 1216, 37413, 26708, 19217, -24837, 11574, -22578, -27222, 4756, 24175, 19485, 57026, 22097, -34480, 16635, -503, -26586, 35183, -20720, -14760, 7088, -5440, 27038, 55937, 4545, 22267, 10967, 2386, 25168, 28378, -1238, -3820, -1077, -1743, 24583, -3811, 12388, 13479, -4598, 11071, 17672, 54489, 8289, 14017, 14578, 1193, 16454, 16149, 38726, -9370, -24338, -2591, -19220, 46623, 14550, -27724, 36279, 36597, 36411, 49467, 16025, 3393, 867, 28435, 10195, 10563, 22882, 17269, 12403, -3384, -16159, 23460, 30723, 29926, 19241, 14813, -1775, -2159, 3982, 29536, -26342, 4343, 6233, 19954, -1613, 13673, -36608, 1359, -361, -17798, 9576, 22305, 24218, 9620, 13780, -16830, 1647, 7121, 24677, -4314, 28381, -4935, -41654, 40512, 35092, 10738, 10405, 16528, 14930, 23818, 41379, -13905, -9427, 17355, -15025, -3895, -959, 21790, 11005, 47649, 5521, 6293, 60680, -19608, 35219, 11475, 15547, -9019, 32294, -29652, 6379, 9686, 8524, -12739, -41388, -15259, 6353, 14209, 27051, 2550, 16413, -192, -15297, -9799, -12331, 33085, 15235, 36207, 23329, 36861, 26770, -17555, 18229, 28734, -3910, 27765, -7162, 7174, 1539, -3529, -8944, 13480, -4405, 10907, 35238, 51478, -2659, 20581, -13774, -6492, 36486, 30769, 9239, -12551, -10224, 22619, 11042, 56188, 28960, -561, 4858, 18797, 9073, 352, -8115, -1705, 13796, 30306, 39381, 57483, -536, -8401, -13327, -5510, 5834, 14003, -10892, -3150, -39401, 15416, 20896, -14832, -38337, 15996, 1228, 6138, -4819, 5041, -2697, 26406, 14167, 32997, 10673, 12196, 22790, 51752, 24545, -5441, 32559, -2230, 30399, -19909, 10892, 19086, 17397, 38639, 31817, -6788, 32656, 20780, -24286, 47322, 27148, 10418, 45872, 38665, 13711, 25741, 500, -6591, 20944, -7206, 35282, -101, 26576, 10809, 33153, 26147, 16064, -3269, 14650, -11134, -1917, 6727, 3383, 19230, -1769, 13938, -7872, 60494, 37555, -2951, 5225, -19176, 46613, 19984, -3057, -7325, 341, 73846, -9324, 17959, 60695, 22535, 3463, 17985, -11293, 3176, 4526, -5579, -4880, 38000, 7873, 19698, 21606, 20933, 13540, -8661, 2517, 65114, 31382, 28575, 43547, 10444, 53726, -17892, -9728, 4953, 9871, 17034, 26347, 13110, 22521, 32395, 21107, 32798, -9155, 17341, 36773, -24686, 10147, -14982, 4753, -39484, -3707, -16646, -3769, -4522, 11226, -3680, 33204, 845, 57366, 36452, 19136, 7720, -4926, 39780, 43024, 22320, -11499, 47859, 24404, -2127, 13929, 549, 6348, -5601, -10488, 15238, -6434, 21336, -19909, 22345, -6508, -15369, 4785, 22681, 50239, -12631, 28495, 24139, -36902, -2111, 45890, -15214, -7326, 44266, 29285, -9874, 12965, 21832, 8298, 16818, 23927, 12023, -17636, -9352, -11193, 36488, 266, 23547, -14161, -41953, -40679, 52506, 9929, 493, 38733, 5093, 28768, -21740, 59628, 11239, 32050, 1196, 41000, 8364, 31839, 36023, 35642, 6759, 12683, 6643, 14987, -2313, 3030, 37179, 10271, -10379, 27150, -17117, 5020, 33879, 9231, 48833, 74, 62456, 45734, -27847, 17600, 38943, -659, 35216, 25462, 40185, 20983, 17785, 24051, -19448, 65971, 49097, 23102, 15038, 15648, 20010, 2646, -11368, -4112, 22136, 47584, 33297, 11677, 1958, 41127, 27115, 30534, 5009, 5172, 13191} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-149, -144, -139, -107, -144, -143, -120, -135, -156, -128, -124, -124, -143, -160, -106, -154, -120, -137, -164, -166, -133, -135, -134, -114, -137, -151, -177, -139, -141, -150, -153, -151, -160, -130, -135, -98, -131, -132, -129, -130, -146, -122, -130, -133, -141, -128, -112, -117, -143, -149, -171, -148, -170, -124, -137, -148, -138, -178, -141, -144, -125, -147, -142, -171, -125, -190, -101, -108, -125, -116, -139, -161, -154, -157, -141, -128, -111, -142, -138, -145, -110, -128, -161, -141, -128, -151, -148, -128, -124, -139, -137, -137, -115, -73, -124, -130, -138, -155, -131, -159, -147, -137, -137, -147, -127, -123, -180, -129, -129, -136, -127, -155, -137, -163, -130, -163, -133, -145, -147, -147, -142, -119, -116, -125, -132, -135, -139, -126, -169, -145, -115, -125, -132, -176, -143, -186, -127, -110, -135, -134, -132, -143, -125, -151, -130, -144, -135, -129, -119, -145, -144, -146, -130, -131, -143, -132, -142, -176, -137, -135, -123, -114, -147, -117, -156, -149, -161, -132, -163, -141, -147, -142, -152, -126, -144, -111, -133, -128, -113, -168, -175, -132, -108, -173, -134, -160, -162, -145, -122, -163, -135, -169, -118, -146, -138, -106, -162, -184, -128, -127, -112, -137, -132, -150, -125, -138, -105, -145, -146, -135, -132, -123, -136, -159, -158, -161, -130, -162, -140, -142, -128, -121, -158, -131, -139, -130, -164, -131, -138, -129, -114, -129, -124, -135, -143, -136, -133, -146, -120, -166, -143, -109, -143, -161, -146, -158, -129, -109, -119, -144, -127, -161, -111, -115, -142, -129, -140, -154, -168, -175, -139, -152, -129, -135, -136, -148, -145, -151, -133, -159, -154, -136, -118, -119, -124, -139, -129, -134, -115, -129, -170, -146, -165, -138, -129, -144, -153, -140, -133, -158, -137, -164, -152, -123, -137, -142, -132, -170, -120, -101, -135, -122, -133, -160, -110, -167, -134, -134, -110, -123, -144, -150, -121, -161, -137, -133, -117, -151, -169, -138, -175, -169, -143, -115, -135, -125, -176, -144, -148, -125, -136, -147, -135, -118, -135, -115, -148, -154, -141, -122, -151, -140, -136, -127, -153, -147, -140, -170, -153, -140, -130, -125, -146, -136, -134, -124, -145, -137, -145, -107, -123, -136, -129, -136, -126, -125, -134, -130, -77, -131, -124, -151, -149, -143, -152, -164, -132, -121, -140, -140, -121, -132, -132, -125, -136, -47, -156, -124, -143, -106, -125, -160, -184, -186, -141, -130, -151, -155, -122, -136, -139, -117, -138, -156, -130, -136, -134, -128, -140, -131, -154, -134, -129, -158, -116, -118, -142, -123, -155, -131, -152, -116, -151, -180, -112, -141, -123, -118, -122, -126, -147, -124, -119, -132, -170, -146, -124, -147, -144, -136, -121, -147, -150, -131, -147, -143, -138, -128, -140, -165, -153, -137, -123, -141, -137, -134, -136, -148, -129, -141, -135, -120, -139, -134, -139, -151, -157, -128, -152, -162, -141, -136, -122, -131, -122, -125, -131, -155, -184, -121, -136, -135, -152, -147, -145, -149, -117, -125, -131, -133, -172, -123, -151, -143, -151, -134, -117, -148, -115, -135, -156, -143, -142, -128, -136, -118, -125, -148, -132, -124, -129, -125}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1540463488, 1557500544, 1575701120, 1893226624, 1853948160, 1887532288, 1607904896, 1572580608, 1850327040, 1918186880, 1768661760, 1767757696, 1612899584, 1963016704, 1984453248, 1944459776, 1949099392, 1768945408, 1273587840, 1981168768, 1678979072, 1997636992, 1650836736, 1774358144, 1471519104, 1781954560, 1205996672, 1616172928, 1930935552, 1688823296, 2009413248, 1939700864, 1372161280, 1923582720, 1740345856, 1231245312, 1840977792, 1431599104, 1890239744, 1825124480, 1596098816, 1938078080, 1724818176, 1625190016, 1498452224, 1701850240, 1763545856, 1704441216, 1580762112, 1218267008, 1265590272, 1485917184, 1977755776, 1788351872, 1588316416, 1168643328, 1131229696, 1493246208, 1475188480, 1657914368, 2063630080, 1613266048, 1508028160, 1247875200, 1738301312, 1690647552, 1124362880, 1983063424, 1599955328, 1079465728, 2055958656, 1891600256, 2127930112, 1675843328, 1474156032, 1545604480, 1614970240, 1751869056, 2022569856, 1860323200, 1784147840, 1779267968, 1562009600, 1873768960, 1833600256, 1575518720, 1844851584, 1837348992, 1385084416, 1623830912, 1584825600, 1575414784, 1423047680, 1631768192, 1724822912, 1559725952, 1930919296, 1742724864, 1502313216, 1608017280, 1561433984, 1453451776, 1826499456, 1796539776, 1704124672, 1478902144, 1209082368, 1540978560, 1514052480, 1774479744, 1779929344, 1824119296, 1957560960, 1747025152, 1936678656, 1111462784, 1737540224, 1634278528, 1825335168, 1682425216, 1578548864, 1862711680, 1514377088, 2023517184, 1773367808, 1737093632, 1794049792, 1845403392, 1116740608, 1246240000, 1750176384, 1600756352, 1677649536, 1757456896, 1474440704, 1347824640, 1484725120, 1613084800, 1778827264, 1835845632, 1936036992, 1951204992, 1907026944, 1712587136, 1786817536, 1270651904, 2052936192, 1083068672, 1875776128, 1828207616, 1923204480, 2009101568, 1645632768, 2058047360, 1625328640, 1455715456, 1805023616, 1172587904, 1585844864, 1119785472, 1638857472, 1927126144, 1567072512, 1584935680, 1728780928, 1803343616, 1092811008, 1797264384, 1819542400, 1561869056, 1994699136, 2120397440, 1587562112, 1506045312, 1979644288, 1719457024, 1451639680, 1777306880, 1194039680, 1453061888, 1135349248, 1728208128, 1712447744, 2095058048, 1706986496, 2123328256, 1691593856, 2084172416, 1697252352, 1286070144, 1785674240, 1148256128, 1943436544, 2004614400, 1503353216, 1980545536, 2021668352, 1255456768, 1666761216, 1735343232, 1531040000, 2056480768, 1910415488, 1854145280, 1822299648, 1877360000, 1838808320, 1733502080, 1613635968, 1135957376, 1399055616, 1414555776, 2090828416, 2033678080, 1101683968, 1126040576, 1927739648, 1925527040, 1923761024, 1737750656, 1952879104, 1627002368, 1188282112, 1821685376, 1760724736, 1692592512, 1767820288, 1768207104, 1994267520, 1606478336, 1928366464, 1174183680, 1855891456, 1235461120, 2073480832, 1733805440, 1148833792, 1949945344, 2011013120, 1413936128, 1679841152, 1965049984, 1682584960, 1926691328, 1554543744, 1634067584, 1890023040, 1779892480, 1542468992, 1942553856, 1824025856, 1178822272, 1615879936, 1573682304, 1821812864, 1593096064, 1703928576, 1884198912, 1077901184, 1094448384, 1720630656, 1583881728, 1512816640, 1611737600, 1870877696, 1432287488, 1987511424, 1956697088, 1771631744, 1812677888, 1628854272, 2074741888, 1872942592, 1908068864, 1531450368, 1911950208, 1832891904, 2145031808, 1707863040, 1952420608, 1129501952, 1838746240, 1194390144, 1806988160, 1814469376, 1558902400, 1986253440, 1466448128, 1796063744, 2026091008, 1625004800, 2011366912, 2022073984, 1721589632, 1640486656, 1600203008, 1592945152, 2125294848, 1546284672, 1142168448, 1733024256, 1728775040, 1541520384, 1714759552, 1742190336, 1201004800, 1528368256, 1776534016, 1132417920, 1639293184, 1706212096, 1527418880, 1700451456, 1707696384, 1892401408, 2051743488, 1747712000, 1821184768, 1166906368, 1722301056, 1318343424, 2102683776, 1641404928, 1824126976, 1308242816, 1826628224, 1741710080, 2037345536, 1946443136, 1146091904, 1698344192, 1122604544, 1478193408, 1802026112, 1691678720, 1568149888, 1837388288, 2128913536, 1785086720, 1569152512, 1862766336, 1510290432, 1372746240, 1485174016, 1912335872, 1694128512, 2051979904, 1596688640, 1928666880, 1769741056, 1773993088, 1629947264, 1510700416, 1688518656, 1987461504, 1746686464, 1125091456, 1709126784, 1652523520, 1421873664, 1675697152, 1860742400, 1599011072, 1750504064, 2013003008, 1684924672, 1550978432, 1570331392, 1667962112, 1595998208, 1884120448, 1809018496, 1551347968, 1636186752, 1957237120, 1206684544, 1691455744, 2041560704, 1648126976, 1713356800, 1821863168, 1322339328, 1896679808, 1721765504, 1895041152, 1476174464, 1549902848, 1843925504, 1711313408, 1125936384, 1630771712, 1886467328, 1253292416, 1569588096, 2111181184, 1645385728, 2140584704, 1945386752, 1809612160, 1768694528, 1560145536, 1745470336, 2016177664, 1845411456, 1840634368, 1406265216, 1976221696, 1662915328, 1874643328, 1921248000, 1759323648, 1784681216, 1750542336, 1843864064, 1867948160, 2050499584, 1795002240, 1688529152, 1097923712, 1761670656, 1850787072, 1194666368, 2044782976, 1394366464, 1837078656, 1654605440, 1469429376, 1541708032, 1813129344, 1803080320, 2044003456, 1790576896, 1453387136, 2096118400, 1950106240, 1571313408, 1813201152, 1741252736, 2030109824, 1831319040, 1775036288, 1674635648, 1445144448, 1814622848, 1073777280, 1398620928, 1435354880, 1996220544, 1491730688, 1398062464, 1829501312, 1433733248, 1989445632, 1942424832, 1528756096, 1520538624, 1694782208, 1165555200, 1858470656, 1562545024, 1584576384, 1133908480, 1528412544, 1881310848, 1777595264, 1976576256, 2055164672, 1778117760, 1114469504, 1076592640, 1803624704, 1864807168, 1782908288, 1619693952, 2013199360, 2026416000, 1599507968, 2087299968, 1377945600, 1562736384, 1631394304, 1895159424, 1698728704, 1717997312, 1657110528, 1557708544, 1606795520, 1586989824, 1747416832, 1629928320, 1168104832, 1544659712, 1534885760, 1215867776, 1890561920, 1516872064, 1101895552, 1773741568, 1881885696, 1611701632, 1818987264, 1561724288, 1751912832, 1749489792, 1656802176, 1687960960, 1593362176, 1945879296, 1591106176, 1990809984, 1704883200, 1842284288}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {1492, 2767, -9106, -13761, 4530, -1390, 452, 2489, -644, -2727, -7131, -7023, -1290, -3767, -4544, 534, -1384, -2472, 5318, 437, 2688, 8833, 6526, 1832, 590, -3252, 1351, -7766, 2424, 3427, 6114, 888, 3202, -3392, -2631, -5708, -742, -3008, 1139, 2420, -1619, -3873, -2043, -657, 4598, 5479, -809, -757, -1321, 110, 3347, -208, -23, 1636, -3045, -3407, -849, -2680, 2858, 1597, -6160, 6510, -2072, 6884, 2733, 387, -4083, -5758, -2551, 1878, -4869, 3751, 760, 1115, -3009, 5577, 1431, 2259, 4712, 5936, -9747, -2813, 1738, -15636, -3801, 5148, -5706, 6544, -486, 11264, -3411, -4674, -1201, -162, -361, -6187, 3773, -7202, -9594, -8686, -4696, -10139, 24, 3897, -625, -22, 3836, 433, -2666, -8297, -6741, 11160, -311, -4746, 205, -11008, -2586, -890, 3762, -1625, -4327, -1744, -3009, -8951, -6452, -1681, -2480, -3803, -1461, -2649, -3149, -5071, -3780, -88, -10507, -11001, -9684, -12292, -5900, -5483, -7324, -6625, -7199, -4969, -2780, -7518, -1455, -6787, -5993, -2768, 799, 9101, -9793, 4166, -655, 7593, 1829, -2821, -2499, 947, 1909, 9350, 11479, 2241, 5788, -1017, -1414, -9033, 2400, -1168, 2916, 9401, -652, -1482, 5966, -9397, -2639, -1777, 7647, 1156, 2804, -163, 9431, 695, 4348, 4457, -2973, 3251, -1183, 1865, -2030, 7228, -2535, -7471, -2249, 10964, 5397, 2902, -1567, 5143, -7942, 2336, 6151, 3018, 4817, 306, -3780, 966, -1513, 5453, -4143, 1809, 1369, 487, 2127, -2639, -777, 6424, -1140, 3911, -6678, -3166, 588, 11069, -5101, 3677, -1625, -774, -8471, 3487, 91, -3588, -897, 2637, 5103, 3618, 5822, 11951, 5032, 10009, 1863, -2834, 2538, -789, 1152, 4508, 3788, 8098, -644, -4439, -994, 4440, -1733, 1071, 11281, -6112, -262, 3179, -5674, -927, 2901, -1048, -4014, 1947, 4649, 6242, 2325, -1056, -3584, 1438, 2316, 613, 4233, 3343, -4229, -7007, -6288, 1016, -4268, -17, 3516, 11701, -2745, -3482, 7018, 5278, 6721, 104, -4929, 494, -2037, -4447, 909, -6683, 2610, 4849, 1330, -2138, -3138, 5016, -7208, -5574, -4095, -4406, -9417, -856, 4772, -4766, -961, -4947, -4647, -2313, -743, 10212, 5597, 6839, 773, -4944, -1393, -3599, -7908, -10710, -10501, -9309, -6427, -10348, -9266, -3558, -5401, -4977, 261, -1631, 3132, 5286, -2345, -575, 4455, -3916, -8232, 838, -1652, -1906, -6027, -2462, -2004, -1328, -2183, -3013, -195, 1352, 3476, -5889, -3410, -2848, 1520, -1692, 178, 1599, 981, 5113, 1417, 2472, 1322, 3281, -4064, 1573, 2491, 6307, -564, 4778, -5141, -7183, -1391, 3200, 199, -2928, -751, -1101, -285, 2073, -5281, 3567, 7390, 942, -5584, 321, -3308, -773, -719, 1863, -7323, 6263, -11059, -4716, 3264, -1694, -10356, -3480, -4744, 9756, -2436, 3980, 903, -4477, -12402, 1196, -1632, -3047, -4845, -6523, 122, -2945, 6454, 8992, 4683, -4478, 6798, -9035, -1003, 1724, -678, 2605, 2363, 9396, 4474, -4275, -9550, -1269, 4228, 2503, -503, -1483, -2961, -2255, -1897, -1590, -177, -5063, -668, -7623, 6389, 4027, 4524, 1808, 1250, 8270, -809, -1233, 13474, -1019, 4652, 2422, 1278, -696, 819, 1187, 3770, 4223, -3286, 2877, -3889, 3743, 2960, 837, 13693, 8346, -1761, -3210, 5229, 144, 4713, 2771, -5662, 2411, -5519, 9676, -8587, 7775, -1080, -834, 5712, 4102, 229, -7866, -9701, 795, 2807, 6914, -1289, -165, -5543, 2286, 5429, -7355, -4, -4482, 1604, -12991, 1173, 3429, 1638, 4081, -2866, -1623, 4918, -116, -4392, 454, -436, -4091, -8457, -2293, -3249, -608, 2620, 2820, -1446, -5296, -2164, 4412, -4280, 476, -678, 10028, -1220, 177, 3246, -3132, -3024, 8991, 4283, -5053, -16, 3848, 1385, -911, -7605, -507, -1994, 3331, -9645, -3574, 4549, 5289, 2473, 7037, 179, -10130, -6655, 13971, -2464, 1029, 1674, -317, -6986, -2234, 352, 159, -1758, -4130, -3133, 565, 753, 11062, -2640, -1371, -7402, 603, 6321, 2342, -1961, 3164, -298, 2491, 10078, -2389, 3293, 8139, -868, 1595, -4605, -2368, -2256, 1050, 2293, 2363, -3765, 7497, 4641, 3015, -115, 2429, 1884, 6397, 2935, -8720, 3073, 11966, -3724, 4323, 8559, 549, 189, 3691, -2193, -232, 4396, -456, 8941, -905, 6721, -28, 3446, 2058, 1231, -2855, 383, 2067, 3923, -5995, 8864, 2654, 4040, 9772, 790, -3311, 4643, 4777, -7678, 5416, 10468, 1471, 6038, 7866, 7662, -634, 2069, -922, -2135, -7543, -11839, -3167, -870, 2328, 4891, -8566, -711, -3677, -1739, 914, 7716, -1020, -1061, 816, 2749, 6005, -31, 2635, 1032, -48, -274, -7838, 8122, -2089, 5474, 5204, 1861, -348, -8162, 1692, 5946, 2398, -3853, 3795, 6509, -3628, -6816, 3135, 9682, -418, 3297, 3478, -4516, 5102, 4437, -500, 7129, -4343, -5908, -6579, -3966, 347, 6807, -5472, -752, 6609, 5243, 1118, -3959, -1032, 5882, -4457, -95, 8898, 8962, -6850, 3680, 4802, -6995, -1189, 951, 2940, -2207, 6039, 3860, 1588, 6815, -3939, -2418, 7257, 5074, -496, 1633, -1801, -10834, -3451, 11135, -6103, 2293, 1384, -1937, 6110, 1083, -4225, -2579, -1139, -1376, 2497, 6761, 4412, 383, -924, -2660, 3474, -2436, 4527, 1513, 5409, -59, 6979, 8566, 2317, 4867, -4236, -3290, -9018, 6744, -2124, 2657, -2351, 5374, 9510, 1007, 3876, 9020, 106, -2878, 241, -1828, 953, 5418, -5190, -4809, -3555, 3014, -1866, 4956, 20912, -5904, -2890, -8988, -5068, -292, 1720, 3487, 8625, 892, -2210, 7013, -4727, -7046, 6957, 3506, 3213, 2281, -2236, 1573, 5986, 658, 8783, -4908, -602, -4290, -2459, -2701, 1567, -2550, -1203, 3590, -2211, -5538, -2728, 1970, -508, -936, -2788, 4574, -3963, -7386, 6849, 858, -4005, 5753, 8020, 3390, -2184, -1277, -3226, 3298, -4913, 3479, 4855, -2889, 3491, 9755, -5617, 5376, 7957, 2310, -5600, 528, -730, 1991, 6760, 4001, 7882, -3683, 3072, 3182, 314, 6910, -2013, 1672, 2153, -4523, 2903, -4970, -90, 4399, 7209, -3570, 5098, -440, 2474, -2902, 834, 161, -2566, 3778, -4648, 3040, -8224, 2571, -6568, -11060, -880, 506, 748, -7267, 6750, 11328, -531, 3767, 2722, -1172, 17507, -8487, -10336, -3283, 2004, -988, -4810, 3542, 9303, -4552, -1267, 3141, 1727, 1374, -2651, -8648, -3600, 345, 5582, 13086, 6567, 7527, 8778, -8563, 3377, -423, 9254, -6869, -1002, -6982, -189, -2215, 3581, 3552, 13430, 1869, 869, -570, 1468, -5223, -3248, -4405, -2632, 1893, 7470, -1003, -2596, 223, -6619, -217, -3780, 1469, -2129, -103, -6460, -1638, 1573, -588, -6110, -8565, 601, -10505, -7097, -3817, 1528, -1954, -4142, 2382, -3584, -280, 2359, 170, -2395, -3214, -11188, 5851, -606, -2717, -5736, -2488, 279, 7910, 2096, -2837, 3065, -2944, 6095, -2160, -8003, 985, 6835, -1994, 3645, -957, -5644, 2696, 1004, 6263, -8308, -4365, 132, -5748, 193, -3091, -2614, 490, -6924, -6368, -11672, -3785, -2944, -2591, -5894, -1578, 6334} +#define FC28_W_Z (174) +#define FC28_IN_Z (0) + + +#endif /*__128_0_5_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/128_0_75_parameters.h b/Inc/intq-mobilenet-v1-models-pc/128_0_75_parameters.h new file mode 100644 index 0000000..380a6c1 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/128_0_75_parameters.h @@ -0,0 +1,361 @@ +#ifndef __128_0_75_PARAMETERS_H__ +#define __128_0_75_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (128) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (24) +#define CONV1_OUT_DIM (64) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (64) +#define CONV2_IM_CH (24) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (24) +#define CONV2_OUT_DIM (64) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (64) +#define CONV3_IM_CH (24) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (48) +#define CONV3_OUT_DIM (64) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (64) +#define CONV4_IM_CH (48) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (48) +#define CONV4_OUT_DIM (32) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (32) +#define CONV5_IM_CH (48) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (96) +#define CONV5_OUT_DIM (32) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (32) +#define CONV6_IM_CH (96) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (96) +#define CONV6_OUT_DIM (32) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (32) +#define CONV7_IM_CH (96) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (96) +#define CONV7_OUT_DIM (32) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (32) +#define CONV8_IM_CH (96) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (96) +#define CONV8_OUT_DIM (16) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (16) +#define CONV9_IM_CH (96) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (192) +#define CONV9_OUT_DIM (16) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (16) +#define CONV10_IM_CH (192) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (192) +#define CONV10_OUT_DIM (16) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (16) +#define CONV11_IM_CH (192) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (192) +#define CONV11_OUT_DIM (16) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (16) +#define CONV12_IM_CH (192) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (192) +#define CONV12_OUT_DIM (8) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (8) +#define CONV13_IM_CH (192) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (384) +#define CONV13_OUT_DIM (8) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (8) +#define CONV14_IM_CH (384) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (384) +#define CONV14_OUT_DIM (8) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (8) +#define CONV15_IM_CH (384) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (384) +#define CONV15_OUT_DIM (8) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (8) +#define CONV16_IM_CH (384) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (384) +#define CONV16_OUT_DIM (8) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (8) +#define CONV17_IM_CH (384) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (384) +#define CONV17_OUT_DIM (8) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (8) +#define CONV18_IM_CH (384) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (384) +#define CONV18_OUT_DIM (8) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (8) +#define CONV19_IM_CH (384) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (384) +#define CONV19_OUT_DIM (8) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (8) +#define CONV20_IM_CH (384) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (384) +#define CONV20_OUT_DIM (8) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (8) +#define CONV21_IM_CH (384) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (384) +#define CONV21_OUT_DIM (8) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (8) +#define CONV22_IM_CH (384) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (384) +#define CONV22_OUT_DIM (8) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (8) +#define CONV23_IM_CH (384) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (384) +#define CONV23_OUT_DIM (8) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (8) +#define CONV24_IM_CH (384) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (384) +#define CONV24_OUT_DIM (4) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (4) +#define CONV25_IM_CH (384) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (768) +#define CONV25_OUT_DIM (4) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (4) +#define CONV26_IM_CH (768) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (768) +#define CONV26_OUT_DIM (4) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (4) +#define CONV27_IM_CH (768) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (768) +#define CONV27_OUT_DIM (4) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (768) +#define FC28_OUT_CH (1000) + + +#endif /*__128_0_75_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/128_0_75_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/128_0_75_weights_bias.h new file mode 100644 index 0000000..b2c7578 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/128_0_75_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __128_0_75_WEIGHTS_BIAS_H__ +#define __128_0_75_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {-24936544, -206, -164947, 73777272, -58200972, 786111, 122512, 9091, 1884664, -739962, 146038, -369496, 68038, 15756, 95548, 11287, -2439873, -11001, 8901, 21004, 96972, 8827, 576944, -3424812} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {19, -163, -56, -640, 156, -637, -216, -140, -60, -54, -100, -193, -119, -117, -117, -127, -270, -58, -109, -87, -133, -126, -146, 65}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1326271744, 1248955392, 1938788480, -1373031552, 1973194752, 1268425472, 1078947200, 2044238336, 1249770112, 1524132736, 1911683712, 1240815360, 1187645696, 1682061696, 1747005184, 1382015744, 1926467712, 1958453376, 1479305856, 1124036224, 1534393984, 1940920832, 1919355904, 2020934272}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {1, 458, -129, 277, -631, -5527, 49994, 19405, -2603, 865, 854, -166, -8274, 7679, 12956, 13349, 923, 568, 8218, 2966, -2544, 46352, 34553, -517} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-30, -48, -4, -160, -3, -194, -234, -100, -41, -129, -23, -36, -47, -96, -214, -57, 110, -64, -42, -174, -23, -47, -199, -195}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1409544832, 1542096768, 1633476736, 1431984000, 1715699200, 1794971008, 1453839616, 1105718400, -2044088832, -1868739840, 1467748992, 1448312960, 1372758400, 1483459456, -1597571840, 2044520576, -1211357952, 1117206144, 1981476736, 1657532288, 1580090496, 1674407552, 1826319232, 1513104384}; +static const int8_t CONV2_N_ZERO[] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {30541, 54113, 1676, 4111, -22687, 16808, 52310, 61610, 14085, 116917, 119827, 17065722, -11589, -1313539, 41315, 28425, -3145, 25393, 25124, 124763, -2992071, 89731, 12981, 9005, 10742, 41224, 28207, 13354, -1496, 32950, 43150, 29170, 20177, 267127, 7290, 76348, -4351, -3460, -20329, -4962, 10637, 13861, 27771, 24520, 40687, -6436, -1652, 3550} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-159, -248, -105, -152, -105, -115, -213, -224, -139, -240, -245, -123, -107, -92, -125, -181, -127, -156, -159, -247, -73, -222, -110, -124, -102, -129, -127, -114, -136, -129, -219, -167, -158, -101, -137, -230, -133, -126, -114, -114, -141, -128, -179, -130, -207, -123, -142, -139}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {2065107072, 1797732480, 1215901696, 1522230528, 1386766592, 1122489088, 1425354752, 1231438848, 2080025984, 1435278848, 1187732480, -1130944896, 1521139712, 1186371840, 1140957952, 1160344832, 1114883968, 2043043328, 1918481280, 1737688960, 1687688448, 1222172928, 1237430400, 1309058816, 1268668800, 2105926016, 1133481984, 2003858560, 1204552064, 1280264832, 1258192768, 1307034112, 1125870720, 1111615232, 1763686656, 1620073472, 1526529920, 1424320896, 1621274880, 1789665536, 1142553344, 1886195456, 1349743360, 1291318272, 1133921792, 1169541760, 1744405760, 1803552896}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {-490, 11681, 5791, 335201, 13730, 1846, 34144, 7727, 21309, 1374, 1451, 33, 1624, -353, 592, 135827, 8842, -2676, 35742, 609, -213, -4295, 100511, 65165, 138419, 534, 113757, 9152, 9830, 1621, 10702, 209695, 25450, -12302, -5652, 20886, 9194, 5679, 127266, 1254, 121188, 1487, 289, 773, 3860, 963, 1039, 4533} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-109, -60, -32, -344, 46, 12, -148, -139, -182, -121, -128, 24, -138, 4, -150, -227, -98, -102, -184, -90, -255, -85, -281, -165, -295, -126, -312, -99, -52, -134, -152, -249, -125, -68, -112, -98, -28, -142, -332, -124, -274, -111, -97, -131, 11, -121, -128, -17}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1931849344, -1328261504, 1524740096, 1168905472, 1594695424, 1260669184, 1481000960, 1772672384, 1549050496, 1191026176, 1948503296, 1310891136, 2038891392, 1446317568, 1295232256, 1987028352, 1870678912, 2129419904, 1752741120, 1100543616, 1966434176, 1571996800, 1575300096, 1782947840, 2029953408, 1167626752, 1280079872, 1302161792, 1266479488, 1791291520, 1342758528, 1823670912, 1255667968, 1133037184, 1223981312, 1847686400, 1339262208, 1870862848, 1998962560, 1990602496, 1156101760, 1468036352, 1213495552, 2005377408, 1174842752, 1512842624, 2052759808, 1771941504}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {-1300, -31733, 10401, -38950, 48741, 14150, 65262, -11313, -18057, -5895, 289, 16616, 7029, 33758, 65414, -25185, 1077, -30736, 75273, 63653, 78405, 263918, 10485, -82200, 8097, 20671, 2544, -1962, -9936, 32780, 118479, 144591, 16880, -18276, -26091, -937926, 14400, 34040, 13275, 10448, 13004, 37066, -1553, 14826, -1274, -12005, 79238, 72149, -2536, 40838, -19787, 2860, -9378, 10041, -6325, 67355, 13432, 62387, -20173, 33691, -3583, -12128, 28466, 38757, 59277, 61402, 91712, 57040, 18609, 8396, 49685, -35108, 22077, 25352, -1204948, -14526, 28180, 39556, -80085, 12446, 12506, 11159, 2129, 8219, 2138, 19053, 53098, -23432, -49611, -60945, -35416, 40468, 20236, -49887, 10744, -22728} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-172, -138, -160, -113, -140, -152, -106, -42, -161, -73, -146, -106, -186, -230, -131, -63, -120, -122, -164, -100, -152, -104, -161, -21, -119, -131, -154, -189, -44, -92, -163, -225, -169, -114, -106, -91, -75, -151, -112, -166, -205, -207, -139, -165, -143, -117, -155, -154, -147, -136, -58, -68, -177, -205, -147, -231, -129, -116, -147, -173, -185, -132, -179, -145, -138, -161, -136, -195, -126, -170, -161, -66, -147, -166, -127, -94, -198, -118, -48, -130, -129, -180, -92, -101, -158, -200, -148, -155, -61, -32, -109, -156, -166, -33, -180, -124}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1692624768, 1165924992, 1107753728, 1674175744, 1597517568, 1311887104, 1367519104, 1792592640, 1727957504, 1273799424, 1769028864, 1350101888, 1080283648, 2125804032, 1731912832, 1227312128, 2026357120, 1612377984, 1239677824, 1449978112, 1713295744, 1370328576, 1312113408, 1835595264, 1118558464, 1447199104, 1167075840, 1346146816, 1364437120, 1524352768, 1919642240, 1499354752, 1440035840, 1253495424, 1236138496, 1726998528, 1872721152, 1398589824, 1402693888, 1150990464, 1730172288, 1796100224, 2131314432, 1394512896, 1194610048, 1353944064, 1779090176, 1241040000, 1637795200, 1475087744, 2068790912, 2084185600, 2027580160, 1502774656, 1085418496, 1673455616, 1418401024, 1275938432, 1971062400, 1265644800, 1401337344, 1265653760, 1534137088, 1600454016, 1929868928, 1285632896, 1409148160, 1388298496, 1139968000, 1664840064, 2128849792, 1185844352, 1512173824, 1590552576, 1790003072, 1520055808, 1516849792, 1739093632, 2121380480, 1554155776, 2115351552, 1329772032, 1306722176, 2011260544, 1781581952, 1625466880, 1329502976, 2030608000, 2041539072, 1545533696, 1432732800, 1641389696, 1283166464, 1257666176, 1728089344, 1215831552}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {49854, 1054, -1662, -687, 36147, -602, 1681, -7403, 19887, 21795, 40291, 6912, -2595, 21532, 56115, 58169, 33577, 74736, -338, 71439, -2842, 183627, -1811, 11694, -851, 12653, 15151, 1423, 2672, 12032, 27544, 7387, 553, 21293, 7905, -489, 1708, 34675, 111796, 5176, 387, -6596, 31856, -2608, -97, 4391, 203, 16602, 2475, 5031, 93, 115435, 3077, -650, -6455, 17716, 31742, 10370, 31638, 15514, 10165, 54310, 1590, 27636, -468, 43212, 5370, -374, -7885, -3693, 11883, 1557, 5577, 3656, -527, 1741, 22542, 98, 7334, -616, 51754, 11417, 45655, -2048, -91, 11417, 11945, 13210, 8957, -19549, 1496, 2309, 5571, -108, 43148, 20480} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-239, -180, -42, 23, -186, -88, -127, -32, -168, -236, -232, -94, -17, -116, -226, -226, -147, -156, -97, -210, -68, -275, -56, -175, -30, -70, -127, -35, -168, -103, -91, -36, -64, -157, -117, -336, -135, -216, -204, -75, -33, -48, -212, -90, -61, -17, -124, -90, -134, -146, -117, -237, -74, -105, -20, -249, -100, -152, -179, -55, -49, -210, -53, -202, -119, -217, -114, -63, -16, -32, -58, -149, -159, -37, -14, -13, -79, -110, -97, -78, -203, -41, -224, -37, -53, -91, -167, -235, -82, -13, -34, -120, -121, -101, -187, -207}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1340863488, 1484087040, 1150727168, 1086155776, 1748501248, 1237820672, 1587353728, 1087332096, 1541549056, 1573698688, 1277476352, 1859188096, 2129739264, 1088728960, 1658394624, 1712660224, 1721959808, 1489979520, 1233782400, 1130155648, 1582793984, 1927607424, 1568850560, 1170173696, 2052740352, 1586931456, 2066191104, 1635803776, 1595297920, 1107574912, 1392375424, 1373946368, 2135435520, 1274879616, 1589202560, 1378425984, 1550003968, 1763503488, 1175271168, 1945150720, 1317564928, 1690585856, 1561511936, 2029771008, 1655987840, 1081213952, 2116073600, 1109285376, 1556982400, 1391368448, 1205276288, 1758058496, 1191851904, 1738922112, 2108743296, 1343254656, 1925798912, 1879415936, 1157706880, 1478401920, 1096723968, 1187869568, 1477208832, 2098422912, 1936937600, 1268690304, 1625267200, 1970208128, 2078642304, 1401425792, 1644575488, 1093139968, 2125910656, 1559860480, 1767741696, 1747747328, 1692811264, 1424748032, 1389729664, 1168120192, 1908032128, 1185003136, 1273214976, 1222764800, 1507366656, 1338277888, 1414263552, 1779288576, 1724690688, 1676238976, 1309715968, 1265896576, 2098039168, 1303261824, 1896181120, 1162827648}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {4021, 52516, -42130, 2896, 52614, -38262, 25127, -31470, 16547, 23536, -9712, -341, 1558, 8824, -11877, 43966, -42919, -23365, 193, 18883, 26781, 75416, -39383, -1074, 21632, 16444, -38669, 18964, -29435, -35911, 23458, 10944, -26773, -24546, 5596, 31904, -3430, 8214, -50771, -43095, 24221, 37253, -44096, 13685, 83138, -33549, -54917, -14429, 36051, 42282, 18384, -9099, -43468, 55294, -15216, -18862, 4312, 32924, 68870, -3815, 5056, 24537, -14052, -21609, 41641, 12533, 43638, 11041, 25084, -13541, 39130, 59952, -14586, 21812, 13295, 28770, -1352, 16238, 796, -38596, -8207, -54302, -30609, -26295, 2112, -22148, -26362, 14919, 21743, 1009, -3053, 27983, 36226, 65337, 19532, -47930} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-81, -150, -69, -97, -154, -126, -132, -85, -117, -132, -129, -145, -147, -130, -112, -144, -133, -126, -108, -117, -69, -119, -156, -19, -158, -131, -108, -145, -86, -80, -170, -139, -99, -114, -187, -120, -90, -141, -133, -113, -130, -105, -106, -171, -149, -123, -122, -180, -134, -140, -148, -125, -75, -143, -103, -113, -104, -150, -171, -93, -145, -80, -175, -63, -167, -110, -127, -121, -174, -86, -140, -170, -128, -195, -115, -141, -124, -164, -109, -150, -188, -120, -85, -103, -147, -130, -121, -121, -82, -118, -131, -177, -175, -119, -129, -90}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1306191872, 2050280832, 2141174784, 1370202368, 1766721536, 1866256000, 1294677120, 1332186496, 2097862016, 1805695104, 1672327680, 2114871936, 2056378496, 1323621248, 1095775744, 1147758976, 1522407808, 1976775040, 1890603008, 1998753792, 1123181184, 1981366016, 2037890176, 1909394560, 1271707776, 1454540928, 1838363648, 2056034688, 1465243264, 1688179840, 1670589312, 1733147264, 1737978240, 1137379200, 1575015936, 1836197760, 1212892672, 1834577152, 1763202816, 1174551424, 1417127808, 1929532416, 1306816384, 1240721920, 1183520128, 1189435392, 1921805184, 1915950592, 1611408768, 1256194048, 1288900224, 1804132352, 1785081088, 1964619264, 1995396864, 1908874496, 1653824000, 1642269696, 1810277376, 1762276480, 1885585920, 1293681408, 1131104128, 1897356544, 2098076416, 1310141568, 1090427264, 1716806528, 1142078848, 1869913216, 1453513344, 1773582080, 2113377920, 1861948928, 1456779008, 1944160256, 2027210752, 2080413952, 1503850496, 1679093888, 1671468160, 1917765248, 1730286464, 1639815680, 1666852352, 1593449728, 1357485312, 1388268032, 1545610496, 1134223360, 1812781056, 1210558720, 2101683072, 1968174848, 1235027712, 1218996096}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {22609, 1948, 111032, 202764, 659, -431, 2132, 1658, 83128, 8146, -26, 11167, 16362, 113135, 42882, 109888, 134801, 12822, 240045, -617, -28310, -5241, 134450, 122036, 7927, 140858, 37302, 2963, 29140, 21689, 159050, 374, 719, 4512, 33794, 32257, 5103, 5215, 10894, 4231, 3594, 56418, 5997, 8255, -3884, 108331, 142198, 1610, 11897, 31923, 5711, 156455, 48534, -1506, 80189, 8500, -321, -46627, -8601, 111902, 21603, 4246, 107140, 109, 1502, 150787, -281, 69578, 4163, -14671, 86369, 159742, -1033, -8, 66323, -57605, 2368, 1198, 5472, 6254, 35015, 67, 11306, 4280, -430, 183509, -4, 263108, 91979, 172966, 84198, 10563, -11912, 1877, 7284, 6381} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-127, -128, -316, -332, 5, 47, -154, 43, -331, 52, 37, 73, -282, -309, -297, -294, -294, 54, -307, 97, 57, -97, -304, -272, 66, -300, 45, 60, 72, 78, -318, 37, 88, 75, 43, 60, 39, 49, 68, 45, 68, -173, 54, 62, -101, -320, -320, 40, 51, 53, 73, -283, -287, -111, -334, 76, 58, 59, -99, -279, 60, -137, -327, 67, 73, -344, -167, -322, 29, 37, -294, -310, 58, 24, -145, 15, 67, 59, 63, 56, 80, 46, 73, 85, -101, -305, 55, -327, -249, -244, -328, 62, 82, -133, 35, 66}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1369484288, 1076884608, 2131652224, 1785426560, 1140627712, 1795354624, 1742473600, 1905371008, 1301704064, 1782967680, 1887340544, 1410469120, 1539927552, 1975290496, 2002250240, 1120653184, 1970002688, 1545506048, 1114223616, 2101763968, 2128320128, 1356485248, 1623513600, 1854379392, 1509388288, 1426362240, 2043556992, 1305736320, 2128594688, 1433085056, 1346446336, 1438462080, 1830520320, 1934266752, 1648084608, 1958197120, 1488506624, 1817870464, 1682909184, 1892465024, 1370328832, 1538502528, 1203140096, 1246944640, 1156791296, 1402564224, 2075147264, 1144287872, 1582000128, 1607492736, 1645513344, 1625944832, 2059363968, 1122521856, 1351378304, 2123585152, 2038706048, 1363980160, 1982068096, 1893149696, 2049085440, 1460987264, 1954678784, 1555452032, 1748252800, 1200532480, 1367612800, 1433863168, 1240194176, 1705096576, 1351545216, 1426255744, 1633524992, 1875921792, 1572839168, 1309957760, 1698600448, 1560977792, 1508124800, 2064772224, 1163718784, 2104015488, 2031864704, 2095200256, 2095264000, 1155114880, 1245120512, 1739314560, 1887003648, 1446983424, 1661290624, 1448210944, 1278158464, 1587797504, 1120697344, 1917968256}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {14154, 40128, 50034, 539, 39725, 106480, -4230, 27491, -16322, -73729, 10576, 4905, 21959, -9834, 703, 13429, -84331, -16613, -15951, 31631, 2436, 35697, 9761, 55116, 36756, -26072, 47309, 55582, 15949, -44472, 113771, 11681, 15958, 37809, 11285, 34698, 65641, 116144, 85207, -30833, 4251, -18256, 47853, 26838, -565, 15530, -62783, 12341, -4826, 94047, -35113, 2544, 26017, 12583, -10845, 19230, 64995, 13677, 43222, 47693, 43520, 85505, 66149, 11645, -1553, 48443, 70500, -26885, 6214, 9106, -15785, 16016, 75608, 63435, 59793, 14255, 60972, 79969, 13313, 72890, -36633, 82603, -7097, 65689, 31350, 15882, 58311, 39314, 59297, 6726, 21584, 33435, 83901, 24357, 48750, 61469, 11815, 63412, 23633, 25011, 100608, 65245, 10196, -19187, 2283, 10006, 5502, 14382, -1129, -22282, 36050, 866, 86877, 69179, 15470, 13167, 26916, -14432, -9861, 4069, -2039, 16356, 80788, 60191, 62778, -25337, -36037, 27141, -35445, 13348, 72013, -4823, -29347, 56397, -32877, 33808, 20398, 46933, 20746, 22559, 5199, 31621, 65177, -8333, 8564, 7132, 31584, -45222, 63366, -1532, -3907, -51406, -38137, -4680, 13976, 55715, 24112, 19690, 48299, 76695, -7135, 13825, 1656, 6801, -17200, -33023, -688, 34763, 39945, 24609, 16061, 111561, 48378, 80847, 35683, 31402, 19330, -21026, 45373, 13056, 74378, 143974, 10908, 6106, 23521, 22669, 51183, 14143, 2034, 8960, 28361, 332} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-108, -82, -113, -100, -151, -143, -108, -96, -48, -134, -120, -131, -115, -127, -122, -70, -127, -103, -48, -127, -115, -89, -79, -123, -154, -119, -164, -79, -93, -73, -107, -111, -52, -124, -146, -111, -151, -118, -125, -117, -91, -82, -145, -144, -87, -95, -99, -130, -63, -150, -103, -122, -132, -182, -79, -117, -105, -131, -114, -125, -121, -195, -98, -114, -123, -129, -135, -96, -144, -124, -108, -136, -95, -172, -173, -201, -113, -96, -99, -153, -134, -122, -154, -122, -141, -149, -156, -119, -143, -36, -162, -124, -127, -96, -147, -151, -92, -129, -126, -145, -121, -188, -88, -56, -107, -120, -161, -165, -70, -122, -59, -161, -144, -127, -97, -91, -156, -96, -46, -109, -97, -171, -105, -192, -156, -100, -91, -86, -136, -115, -151, -139, -95, -111, -100, -170, -75, -124, -141, -74, -138, -143, -112, -142, -113, -72, -134, -139, -130, -111, -54, -88, -126, -83, -94, -118, -97, -66, -121, -124, -146, -105, -97, -127, -90, -120, -98, -131, -84, -66, -112, -139, -121, -146, -117, -134, -195, -94, -115, -115, -165, -172, -156, -194, -107, -177, -148, -93, -129, -70, -197, -121}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1340801664, 1696762368, 1371852544, 1212708096, 1497573120, 1948619648, 2114767744, 2032992640, 1562865664, 1616697728, 1584757632, 2024222208, 1543610112, 1722896384, 1414381824, 1196627072, 1798828416, 2119383680, 2032962304, 1857653760, 1141515648, 1873449600, 1913664000, 1798212352, 1720398592, 1735179008, 1300095744, 1113403264, 1466224384, 1078679552, 1766337408, 1211984512, 1624777728, 1225040000, 1078733056, 1557635968, 1178896768, 1080194048, 1531316864, 1372786304, 1229883648, 2052747008, 1946750336, 1369331968, 1706675968, 1276462208, 1342795136, 1346265856, 1213315840, 1426811008, 1435077632, 1217632640, 1307384832, 1206838016, 1230041984, 1635598208, 1231253248, 1522232448, 1107586304, 2146230272, 1997437952, 1371123968, 1140267264, 1410060800, 1875860992, 2029012864, 1234559360, 1658357632, 1982794496, 1493495424, 1454733184, 1802440064, 1108157952, 1175961728, 1686836352, 1105656832, 2029646848, 2036190592, 1208712960, 1191265408, 1083731072, 1219117696, 1333397248, 1247556864, 1566925696, 1739029888, 1481565568, 1718827136, 2012802688, 1710824704, 1654336768, 1088962176, 1421283712, 1369582976, 2049728000, 1584074240, 1767156608, 1159476480, 1631480832, 1621872896, 1539077632, 1279141248, 1595009536, 1235484160, 1222082304, 1830385408, 1158026496, 1424400512, 1487471360, 1976690688, 1558343936, 1990844800, 1134647424, 1501189504, 1757371904, 1674720640, 1768017408, 1312700800, 1233199104, 1742419456, 1151498240, 1356658176, 1133398784, 1279704704, 1521443712, 1822480512, 2100281344, 1664051200, 1321314688, 1245431936, 1802880768, 1493315840, 1206548352, 1835592320, 1918688768, 1231355136, 1836346112, 1308925312, 1226850944, 1546597504, 1617104384, 1422117120, 1452196864, 2129431808, 1741323136, 1608214272, 1187270784, 1989344896, 1258283904, 1683732096, 1631200384, 1662657280, 1721804160, 1405933696, 1083743104, 1190822400, 1422306304, 1078839936, 1424592384, 1252454784, 1494537344, 1290160896, 1651256064, 1391779072, 1103343616, 1172039168, 1599402752, 1158566656, 1673543680, 1493238272, 1163335680, 2074094592, 1703424384, 1309829632, 1429041280, 1486900736, 1639955968, 1919471616, 1186561664, 2071420544, 1209300096, 1856168192, 2033815424, 1077057536, 1652897792, 1964366336, 1479999616, 1852863872, 1852572160, 1759198976, 1958607360, 1808276352}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {-10326, 28400, 559, 24715, -436, 19457, -726, -60, 39961, -3055, 59384, -9697, -1648, 33015, -7192, 274, -4061, 62873, 10309, 17348, 160, 26966, -1920, 19072, 13505, -2588, -1560, 24206, 27949, -10302, 1004, 3769, -1, -200, 797, -884, -12732, 57896, 129, -17905, -1151, -3722, 17426, -3984, 4899, 3476, 30321, -131, 5056, 1227, 18411, 39380, 1982, -1484, -8522, 6968, 1358, -3018, 2783, 26861, 21146, 22344, 22505, -2900, -1274, -10959, 1752, 27231, 21525, 119, 48339, -5004, 2047, 9990, -395, -1828, 1263, 10262, 18367, 12619, -7450, 8954, 9, 15855, 827, -6749, 21317, 80970, -15398, 54, -1237, -15625, -5973, 1745, -1501, 356, 124, 1372, 1843, 221, -599, 8681, 664, 4618, -1025, 235, -4198, -20300, 23086, 40371, 388, 10828, -240, 6155, 28440, 22610, 29939, -5735, 22941, -198, 1467, 4611, -4892, 9250, 1205, 2744, 35115, 16619, 10472, -272, 25154, -6624, -1267, 423, 14535, -96, 2227, 35943, 42945, -3316, -5213, -950, 31055, -1908, 330, 5626, 853, 8880, 157955, -4643, 69, -7096, 25822, 15277, 10850, 22536, 691, 365, 35690, 41410, 8728, 228, -580, 2868, 20565, -115, 21573, 25983, 28162, 1113, 22112, 45139, -286, 13774, -11076, 43651, -13194, -407, 13517, 6524, 31006, 22038, -12518, -2530, -21, 1632, 43978, 181, 880, -504, 6629, 64307} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-71, -239, -111, -235, -157, -224, -103, -120, -257, -49, -243, -29, -135, -252, -84, -121, -30, -223, -52, -224, -104, -233, -48, -240, -227, -23, -131, -239, -218, -25, -120, -161, -110, -99, -91, -67, -91, -241, -117, -22, -27, -41, -230, -102, -50, -141, -209, -126, -87, -126, -123, -268, -107, -92, -33, -48, -125, -103, -40, -229, -65, -215, -229, -134, -75, -44, -132, -236, -113, -93, -224, -63, -36, -184, -96, -63, -114, -70, -237, -118, -46, -67, -122, -206, -93, -69, -203, -122, -38, -101, -142, -11, -82, -18, -67, -117, -109, -39, -136, -123, -122, -50, -85, -78, -49, -34, -24, -10, -220, -324, -104, -46, -116, -58, -215, -220, -247, -38, -227, -34, -51, -37, -65, -47, -130, -172, -225, -239, -49, -68, -229, -97, -72, -137, -108, -29, -119, -214, -272, -91, -27, -70, -215, -140, -103, -69, -99, -45, -312, -52, -114, -39, -139, -66, -92, -220, -87, -93, -245, -240, -69, -88, -25, -133, -225, -54, -245, -232, -231, -164, -230, -196, -33, -62, -56, -244, -21, -65, -238, -76, -239, -208, -44, -86, -106, -141, -227, -148, -97, -52, -140, -226}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1111890944, 1230383744, 1415975552, 1969735808, 1282478208, 1120262656, 1214025344, 2095158784, 1826455936, 1253379840, 1863244032, 1208075136, 1449078144, 1923688576, 2024785536, 1380918400, 1567650048, 1243180544, 1557695616, 1965822464, 1854836608, 1375329664, 2094163712, 2089478912, 1713595648, 1290030336, 1375205248, 1360132608, 1988098560, 1198960256, 1606165504, 1758319616, 1382775936, 1536668160, 1660326528, 1919813248, 1838093056, 2125776512, 1471106560, 1257968896, 1955973888, 1352888320, 2044106112, 1245086592, 2081366528, 1227319424, 1406327552, 1753439872, 2003471360, 1260164992, 1218259584, 1819854336, 1399449856, 1546489856, 1594635648, 1115572864, 2030936064, 1758274432, 2126760448, 1356776832, 1574125824, 1154506624, 2049014912, 1690744064, 1124531712, 1537992960, 1086147712, 1473346048, 1166256640, 1798365568, 1923487872, 1247888256, 1138396800, 1399860480, 1448499584, 1819616128, 1257135232, 1513859200, 1105183616, 1489148544, 1819759360, 1181650560, 1809642752, 1867370496, 1500363776, 2065637632, 1598143744, 1865649536, 1172422400, 1474913408, 1129391232, 2123213184, 1379872512, 1345098880, 1434503168, 1964909568, 1567254528, 2056822400, 1431870080, 1605210752, 1196519936, 1797217408, 1605270912, 1100704896, 1453040640, 1984830080, 1095914496, 1279585024, 1438724864, 1193778944, 1139853056, 2048491776, 1922517120, 2074914304, 1650047616, 1186420864, 1126704128, 1146799744, 2097088384, 1624989696, 1788704512, 1204964608, 2093011328, 1197583104, 1523810560, 1796469376, 1886321920, 1323587456, 1829995136, 1364235776, 1791009024, 1335098880, 1742188416, 2058063360, 1711325568, 1207274496, 1074062208, 1836827136, 1717607680, 1558072320, 1081004928, 1179801856, 1463309440, 1720566656, 1773775744, 1493817216, 2146407808, 1206477184, 1411988224, 2067813632, 1762498560, 1937186816, 1446446592, 1854749696, 1634116096, 1393970432, 1217710976, 1634726656, 1586846592, 1155914752, 1924846976, 1143144832, 2074467968, 1978730496, 1285525376, 1308310144, 1395137408, 1098791040, 1910248704, 2025955328, 1520972288, 1834892160, 1889794048, 1275056640, 1113125376, 1256149760, 1124884736, 1550006912, 2036216832, 1142103680, 1459463808, 1267261312, 1536259968, 1948231680, 2057472384, 1354333696, 1237651968, 1971744768, 1497271808, 1255775104, 1116019712, 1725719040}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {16527, -3265, 13435, 16681, 13161, -15950, -7573, 4626, 19111, -52087, -23806, -38104, 33001, 957, -3666, -16672, -5967, -13072, 31526, -6883, 41947, 68929, -11874, 18837, 5206, -6598, 10479, 19641, 34212, 26257, -18056, 24676, 5912, 15725, 5658, -20091, 61830, 46907, 3514, 33361, -24858, 49285, 67101, 24738, -21157, -105504, 2597, 28398, 8806, 26863, 1506, -16598, -10249, 26751, -35084, 3918, 1641, 17212, -20836, -9493, 37550, 23010, 53563, -25757, -47977, -266, 15532, 7739, 58502, -36595, -12378, 19239, -12842, 30085, 46711, 12679, 4651, 1478, 59188, 4514, 2188, -8951, 13228, 10159, -1177, 15088, 29195, -19441, 3360, 34997, 18771, 24676, 52633, -20738, -29731, 9180, 22711, 97301, 20113, 18308, 32842, 7083, 9848, -46530, 28333, -23742, -29149, 37080, 26608, -35479, 18996, -95262, 26753, 8805, -5649, -62767, -10608, -23917, 69113, -32416, -34259, -5961, -3162, -30530, -4124, -31834, 21540, 8350, 411, 21570, -12807, 28596, 14181, 14157, 74240, 13267, 10772, -3529, 111925, 16964, 18721, -31751, -27547, 33554, -62123, -17989, -36703, 5892, -2603, 18188, 36064, 23604, 102936, 161031, 25461, 54334, 123259, 7238, -2860, 12557, -18761, 24412, 25981, 22121, -11026, 508, 23413, 15072, -15315, 3275, -27365, 16143, 23713, 35156, -2488, 77440, 40645, 37608, 49032, 2522, 19203, 38860, 65664, 11341, -23388, -19029, 38514, 78640, 24180, 3369, 14387, -2918} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-158, -176, -122, -118, -111, -108, -114, -105, -159, -113, -108, -129, -127, -135, -174, -112, -134, -98, -98, -131, -138, -122, -98, -100, -142, -111, -153, -135, -111, -112, -110, -136, -90, -130, -173, -93, -103, -157, -137, -154, -88, -106, -148, -122, -148, -98, -116, -127, -110, -155, -93, -139, -141, -161, -129, -154, -119, -146, -111, -167, -77, -151, -114, -142, -156, -93, -148, -105, -114, -146, -58, -158, -139, -86, -120, -143, -132, -157, -144, -84, -141, -112, -98, -100, -145, -114, -129, -74, -125, -145, -171, -161, -88, -111, -124, -95, -122, -196, -110, -107, -180, -156, -172, -110, -149, -104, -108, -133, -147, -135, -94, -75, -114, -119, -157, -80, -71, -129, -139, -118, -103, -100, -138, -146, -99, -135, -120, -69, -122, -58, -127, -146, -126, -143, -130, -115, -148, -128, -123, -146, -100, -103, -130, -98, -104, -123, -82, -132, -142, -156, -74, -157, -149, -147, -121, -112, -166, -108, -143, -166, -124, -172, -154, -127, -101, -149, -163, -109, -106, -143, -134, -181, -105, -119, -77, -139, -150, -119, -136, -120, -128, -133, -144, -91, -122, -142, -115, -114, -113, -147, -127, -49}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1203859328, 1131073152, 1721562752, 1292282112, 2067130880, 1489577216, 1579615104, 1536910976, 1626483584, 1357528832, 2078417024, 1444325120, 2023512064, 1502779904, 1225121024, 1959961472, 1259044352, 1952780544, 1796003072, 1533313792, 2015015424, 1283942784, 1776868608, 2024900224, 2121183488, 1991736576, 1940368768, 1763006464, 1768881792, 1959855488, 1348515456, 1407481856, 1443784448, 1740125312, 1168145024, 2063412864, 1354013952, 1709473152, 2013060096, 2118376448, 2140034304, 1161526016, 1429838592, 1486601600, 2131195776, 1195215104, 1710038400, 2096971648, 1566680320, 1704067584, 2102766208, 1814538496, 1530670720, 1499064576, 1090354432, 1561444864, 1886027904, 1824389760, 1791575168, 1206269056, 1944720640, 1899182080, 1407254272, 1094392448, 1808599936, 1481355520, 1133517440, 1410068224, 1891427200, 1085170176, 2112219776, 1085220480, 1393627520, 1775014912, 1307971584, 1289390976, 1453516800, 1909507200, 1802301696, 1343088896, 1288069376, 1883072640, 1155347584, 1761733504, 1087830272, 1262406016, 1819002368, 1339049984, 1784844672, 1148697856, 1418510976, 1135808128, 1899871232, 1652092160, 2105494912, 1352442496, 1258385152, 1098250880, 1790150144, 1915953280, 1674301056, 1929584000, 1514582400, 1821077888, 1363140224, 1413365504, 1596485120, 1987360640, 1408670848, 1826618240, 1427898880, 1208199424, 2030484480, 1084206080, 1397082752, 2000450816, 1112510336, 1489080832, 1092807552, 1901931392, 1759936768, 1253047936, 2005467136, 1778859264, 1652967552, 1437261056, 1633862784, 1237267712, 1490276992, 1298557184, 1626749440, 1115205248, 1295397504, 1094018048, 1239447296, 1423405184, 1710951552, 1910187648, 1684385280, 1756738048, 1850167296, 1625261312, 1779204864, 1303159424, 1124890496, 1289376768, 2097053952, 1733562368, 1857754496, 1339391616, 1231706112, 1630877440, 1755778816, 1164434560, 1738914816, 1351560448, 1298039680, 1627641984, 1841760768, 1141021184, 1698680448, 2012645632, 1749129216, 1452533632, 1208435200, 1636727936, 1130343296, 1559292032, 1219504512, 1209836544, 1400209152, 1492436736, 1199431552, 2097706112, 1801141504, 1184726272, 1189061504, 2103844736, 2101150336, 1510736128, 1297293312, 1827398400, 1449793920, 1497251968, 1818648576, 2055112960, 1914053632, 1402202880, 1730309888, 1810280320, 1503612416, 1310764544}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {117740, 819, 1482, 492, 104464, 25531, 110414, 4944, 120660, -3497, 5240, 957, 1590, -862, -394, -308, -1791, 10707, 74437, 1478, 85092, 143706, 108556, 90314, 96466, 4202, 126354, 155, 142062, 1070, 189, 124835, 10551, 8370, 1778, 5316, 3031, 126301, 98440, 64952, -1497, 125452, 22356, 74838, 128394, -9807, 25973, 64088, -1943, 127721, 81340, 40072, -5817, 111290, 1177, 7840, 399, 1401, 1551, 146974, 59602, 405, 229901, -5938, 5472, 139962, 1523, 60684, -7650, -3608, 3867, 99048, 39, 170523, 1970, 144453, 165767, 112981, 191027, 118923, 105476, 107208, -8475, -418, -638, -791, 864, 4810, 156380, -887, 109185, -631, 107541, 5079, 54809, 78657, 120447, 203481, -71, 68186, 104134, 20559, 2484, 157465, 192381, -1261, 99045, 113688, 165309, -913, 105573, -5954, 27, 30601, -6404, -3058, 2387, 10964, 85323, 168, 3524, -58, 21028, 1136, -12601, 14546, 144696, -2536, -14042, 145011, 4332, -4892, -1247, 85377, 17348, 142622, -1880, 1779, 663, 95471, 340, -494, 4440, 86349, 93, 123577, 87609, -183, -269, 141838, 125885, 113, 1703, 721, 5837, 57181, 177659, -30455, -1232, 166950, 70365, 122088, -18601, 59771, 5338, -1947, 70642, 94520, -1699, 122505, -37, 99017, -2588, 31316, 4078, 25524, 217269, 62811, 2258, -628, 101850, 147246, 1881, 72292, 1954, 141988, -9638, 8543, 187958, 19690, 120416, 62480} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {-321, 112, 53, -126, -324, 37, -291, 46, -410, -92, 75, 43, 61, 32, 68, 59, 81, 127, -338, 84, -260, -279, -294, -281, -317, 75, -333, -168, -311, -161, 74, -331, 85, 73, 48, 78, 60, -279, -325, -347, 63, -316, -117, -400, -325, -115, -135, -350, -154, -343, -355, -128, 60, -395, 74, 69, 102, 76, 56, -349, -261, -87, -320, -106, 77, -319, 112, -316, -115, 113, 65, -265, 153, -311, 62, -325, -342, -382, -310, -297, -372, -302, -86, -167, 106, 71, 80, 80, -338, -93, -256, 104, -293, 82, -202, -331, -325, -318, -119, -368, -330, 86, 61, -327, -306, 91, -318, -303, -304, 59, -306, -70, 63, -93, 91, 95, 57, 81, -390, 84, 89, 67, -144, 89, 57, 68, -343, 107, 78, -350, 15, 90, 93, -406, -138, -309, 86, 120, -153, -299, 51, 80, 103, -284, 85, -314, -342, 51, 50, -280, -308, -110, -162, -140, 55, -298, -306, 114, 82, -331, -319, -330, 41, -359, 79, 86, -385, -423, 26, -324, 101, -418, -154, -153, 67, -97, -308, -333, -131, -153, -390, -311, 66, -302, 58, -321, 21, -102, -316, 79, -311, -297}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1308760832, 1354539776, 1886662272, 1671034496, 1299670656, 1410867200, 1830006784, 1078299904, 1121716864, 1527118080, 1199734528, 1728588800, 1664948480, 1707532672, 1948674176, 2091833216, 1168253824, 2108999424, 1772638592, 1829707776, 1329638272, 1074544768, 1236556416, 1514103552, 1385549056, 1795762048, 1924693632, 1340561536, 2028753664, 1316438016, 1135571200, 2083390464, 2082753408, 1288052736, 2082849920, 1163370240, 1687765632, 1328321408, 1348316672, 1573404800, 1432989440, 1770380672, 1797698304, 1626660736, 1434289408, 1780659200, 1402090752, 1271379456, 1493561216, 1792112896, 1474418304, 1145079168, 1218403968, 1992718336, 1316698240, 1743562368, 1362115840, 1123613568, 1756708480, 1531352192, 1516252544, 1848907264, 2138784640, 1764393088, 1112428928, 1470470784, 1535499904, 1935750016, 1191212544, 1494733568, 1273016192, 1465349888, 1307296128, 2008228992, 1675336448, 1385609856, 1331555456, 2109316736, 1697448576, 1426242816, 1468993024, 1641989376, 1989319808, 1643414400, 1492706176, 1142750208, 1587706112, 1977653120, 1436558336, 1904186496, 1701978368, 1686270720, 1696443136, 1158244608, 1477355520, 1295155200, 1679930112, 1601472256, 1206779520, 1543415552, 1135135872, 1330124160, 1887673088, 1449682304, 1588821248, 1579827584, 1493751680, 1879392896, 1211663104, 1448262272, 1421361152, 1142165504, 1871197184, 1831701376, 1508657152, 1591300608, 1443194112, 2009615744, 2020849536, 1717884800, 1994734464, 1312853120, 1166570752, 1629046528, 1323447424, 1407202688, 1155003904, 1911356800, 1287113856, 1999213952, 1491079168, 1228299520, 1452300928, 1819127424, 1410217344, 1383337216, 1465170432, 1506446976, 1394784128, 1919164800, 1399825792, 1788184576, 1521705344, 1702624512, 1470342400, 1256352512, 1472416256, 1649601920, 1767076608, 1333963648, 1562393344, 1669634560, 1361344384, 1779078272, 1571522048, 1772136832, 1950426752, 1682157696, 1608339584, 1182144512, 1634520064, 1892790400, 1930988160, 1532066304, 1449685504, 1910754816, 1551816832, 1777701888, 1489188480, 1354820096, 1510462720, 1885033088, 1461659008, 1325272960, 1151410304, 1149246720, 1594015360, 1843346816, 1213505792, 1690948608, 1902395008, 1937886464, 1632950656, 1976607104, 1328980224, 1416966528, 1740666368, 1918482560, 1713365760, 1391736448, 1593631872, 1337732352}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {15480, 33309, 68432, 43783, 27111, 21700, 7139, 28050, 38460, 37224, 30202, 37328, 71861, 10366, 1337, 32667, 14299, 23704, 40785, -25637, 124492, -21680, 38389, -23021, 33011, -29623, -31612, 44129, 28917, 44256, -12215, 53758, 24216, 10765, 12172, -7702, 13287, 26386, -50025, 726, 59604, 52780, -16636, 54024, 142461, 30091, 23128, 46518, -8905, 18458, 36583, 13092, 87472, -3675, 44185, 21426, -29278, 97741, 11678, 57394, 15763, 55004, 11280, -430, -19461, 36426, 34980, 116651, -7344, -32610, -1807, 11098, -13122, 22110, 3010, -6125, 1227, -57675, 10381, 15564, 37330, -6730, 3076, 7142, 39183, -5367, -13625, 85001, -27227, -21397, 80804, 21327, -90922, -25386, 55682, 17349, 93863, 94325, 26925, 3614, 11461, 63457, -4758, 52778, 39917, -3686, -93237, 44640, 1056, 13272, 10800, -10786, 43734, 6578, 49981, 110465, 11260, 57981, 1948, 24579, 29677, 28122, 12637, -27791, 40973, 21060, 48458, 5845, 60008, 125097, 53878, 13166, -8637, 52319, -54943, 18193, 70251, 47849, 17353, 52183, 36519, -3685, 43712, 64157, 212, 5527, 21647, -7861, 165689, 6493, 9500, 13773, 1633, -11250, 3, 15513, 31453, 5300, 20389, 11743, -37641, 12761, -11101, -11832, 61, 127965, 32751, 20873, 7143, 46578, 72894, -2469, 6316, 37520, 49342, -27338, 44143, -92735, -2317, -10814, 82733, 57102, 40173, 43194, 49982, 25972, 79328, 6714, 16934, 15497, 62073, 21794, 27526, 40540, 42143, -11329, 3212, 80830, 16229, 73836, 7551, 5829, 6505, 13873, 12154, 69977, 22533, -2991, 24392, 25412, 90635, 108012, 23097, 7678, -38746, -87722, 35264, 12695, 21173, 133720, 15686, 2348, 17236, -4108, 21576, 41693, 34463, 80805, 58627, 21672, 12971, -7885, 43707, 99820, 39483, 71598, 57666, -12961, -22435, -39805, -6785, 70236, 77725, 24176, 67552, 9843, 19064, 67062, -5326, 47194, -4068, -3381, 4355, 33474, 20963, -5814, 59710, 59856, 77260, 15555, -14738, 36512, 52890, 22565, 75897, 46621, 83078, 413, 67379, 39747, 21276, 25195, -7385, 5681, 67288, 28365, 45149, 40589, 3244, 23726, 50548, 20935, 49810, 95720, -15372, 26569, -14374, 7311, -9466, 54576, 22348, 69183, -21705, 35246, 126269, 34129, 48410, 21840, -11189, 20404, -26557, -28619, -29437, 126176, -5640, -12296, 27851, 53538, -72508, -992, -14520, 72332, 55656, 12573, 66544, 14734, 19859, -37724, 20173, 62159, 47562, 20598, 67659, 16750, 47658, 959, 46233, 50859, 70924, 13740, 167845, 30045, 27554, 61970, 55890, 69802, -47521, 82807, 8168, 98401, 16271, -1774, 118714, 48887, 57104, 16029, -16240, -10649, 47791, 82553, 33454, 51243, 18678, 38989, -8865, 47857, 2230, 24328, -28410, 32226, -35141, 55696, 5135, -17698, 12940, 45459, 63288, 20255, 65732, 74540, 18593, 11536, 72658, 12348, 14060, -36681, -40149, 125282, -92247, -70963, 77381, 19436, 26242, 95077} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-106, -143, -113, -143, -127, -90, -135, -148, -142, -136, -108, -152, -147, -97, -108, -92, -106, -111, -132, -131, -160, -139, -124, -122, -107, -47, -99, -118, -119, -149, -125, -142, -80, -130, -151, -102, -107, -101, -104, -106, -166, -137, -73, -136, -146, -110, -141, -95, -161, -93, -102, -95, -146, -113, -175, -134, -97, -129, -139, -113, -95, -159, -141, -133, -133, -120, -116, -118, -84, -127, -117, -120, -123, -91, -145, -111, -65, -111, -129, -85, -199, -94, -130, -106, -91, -66, -112, -164, -107, -164, -147, -125, -97, -105, -112, -123, -139, -131, -150, -50, -106, -138, -94, -175, -127, -107, -114, -143, -126, -72, -97, -104, -107, -111, -112, -137, -126, -137, -124, -91, -99, -130, -53, -126, -97, -113, -141, -162, -124, -113, -132, -136, -121, -140, -104, -92, -126, -158, -137, -147, -117, -122, -136, -117, -136, -116, -94, -75, -131, -168, -78, -149, -133, -136, -154, -132, -104, -127, -80, -96, -81, -150, -102, -158, -79, -144, -81, -121, -144, -97, -156, -160, -112, -121, -157, -76, -101, -87, -145, -141, -93, -113, -95, -102, -111, -129, -107, -86, -122, -81, -109, -116, -123, -161, -179, -105, -111, -145, -90, -129, -105, -128, -118, -100, -149, -160, -137, -109, -83, -117, -135, -199, -111, -113, -124, -122, -138, -119, -130, -129, -175, -85, -84, -158, -95, -126, -122, -143, -139, -100, -161, -119, -153, -132, -105, -151, -143, -126, -78, -79, -132, -165, -147, -126, -102, -129, -91, -144, -109, -76, -113, -85, -110, -126, -112, -149, -107, -143, -142, -117, -119, -132, -166, -104, -125, -117, -145, -77, -150, -134, -130, -129, -135, -96, -116, -176, -124, -126, -124, -115, -116, -118, -134, -125, -120, -92, -162, -101, -88, -97, -97, -120, -112, -191, -118, -110, -140, -120, -115, -81, -111, -125, -70, -116, -142, -126, -99, -140, -105, -108, -96, -123, -118, -147, -119, -110, -145, -92, -105, -160, -140, -95, -182, -92, -115, -70, -133, -140, -124, -92, -126, -156, -112, -160, -126, -127, -69, -181, -77, -141, -124, -108, -148, -128, -147, -162, -112, -104, -93, -90, -126, -134, -113, -127, -142, -180, -108, -105, -103, -115, -116, -98, -69, -117, -76, -144, -106, -118, -159, -141, -140, -80, -134, -161, -133, -121, -105, -143, -109, -89, -138, -91, -117, -127}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1784485888, 1860248704, 1705489024, 1301438720, 1533556992, 1342308224, 1144506496, 1399323520, 1271380224, 1308655616, 1740171264, 1691861376, 1474142336, 2080081792, 1925002752, 1630188160, 1609169408, 1490344192, 1760752000, 1179076864, 1414535424, 1701378688, 1742142976, 1755934464, 1465972736, 1392542464, 1989543552, 2050749952, 1124733952, 1806867072, 1749175680, 2001322368, 1485009408, 1109033856, 1297472512, 1090863744, 1709559296, 1273858560, 1499175040, 1482834432, 2146528512, 1363178368, 1097642880, 1853013632, 1227169024, 2025714944, 1775592704, 1919849088, 1515983232, 1152350976, 1849645696, 1372836224, 1543282560, 1276708352, 1778827648, 1107307776, 2142467456, 1079286784, 1827593472, 1540464896, 1161141248, 1182295936, 1592159232, 1321491968, 1898993920, 1704078720, 1245136512, 1596749312, 1164457344, 1702579712, 1835745920, 1377104640, 1643191040, 1263888384, 1221455232, 1666690176, 1122204160, 1342920192, 1099509248, 1807999744, 1220588544, 1756897536, 1235521280, 1168893696, 1280632064, 1486727168, 1408880768, 1800986880, 1981548544, 1177740928, 1772675584, 1871350528, 1667885824, 1573076352, 1998789632, 1970651904, 1077073664, 2096054784, 1846792320, 1383375232, 1128579328, 1502358528, 2121248128, 1740699136, 1133554048, 1609251200, 1673011584, 1270693504, 2070583040, 2043185152, 1168539776, 1109065472, 1263532544, 1585029632, 1152709120, 1295750784, 1972584832, 1666461696, 1404174976, 1324795392, 1287963264, 1243166848, 1955757184, 1104089088, 1081225856, 1117050752, 1906680448, 1174774912, 1177103360, 1582020736, 1535127680, 1136510848, 1680890112, 2036115840, 2017474816, 1858042368, 1339457664, 1933379840, 1160358400, 1133356672, 1111865472, 1319598464, 1543006464, 1842593664, 1749725824, 1693962624, 1949039488, 1403582592, 1375722624, 1245422080, 1176219008, 1601278464, 1357167616, 1183162240, 1933657472, 1799040384, 2004782848, 1164048896, 1274508672, 2043633280, 1844419968, 2122672000, 1295875200, 1144521344, 1947219072, 1089836160, 1445477376, 1720424320, 1402288384, 1122770048, 2112691584, 1212916992, 1684912000, 1451809280, 1900614784, 1214855936, 1108792704, 1941226112, 1307399680, 1240775424, 1795111424, 1296721920, 1124400384, 2080761984, 2067364736, 1400192768, 1477826304, 1361575168, 1740799616, 1424618112, 1300365056, 1952614400, 1806618624, 2004639104, 1501995008, 1084609664, 1185367168, 1864212608, 2146305024, 1247803904, 1151211392, 1264647040, 1393210368, 1508725504, 1367925248, 2065777920, 1335737216, 1670895872, 1481338496, 1327185792, 1365929088, 1510934784, 1679993728, 1823292416, 1104328832, 1093791616, 1399514880, 1768381824, 2028432256, 1179855616, 1925096704, 2051202688, 1837266176, 2101024000, 1087228160, 1111799936, 1171022720, 1434449792, 1100125952, 1406960640, 1872474240, 1611590912, 1731802496, 1435538944, 1761028480, 1509907200, 1178506368, 1141319552, 1960133888, 2037409024, 1420450944, 1683325568, 1130079360, 1419261056, 1127990784, 1131232128, 1239984512, 2079122176, 1665242752, 1567611008, 1202706816, 1117377024, 1500127232, 1758100224, 1695824640, 1675194240, 1130011520, 1495511168, 1714121344, 1328561792, 1876788864, 1352202624, 1483369472, 1975922176, 1116952064, 1449489920, 2016103424, 1547703552, 1715624832, 1207614976, 1823299584, 1708370816, 1242170496, 1704839424, 1082687488, 1964117632, 1427495040, 1079469312, 1512000768, 2077395584, 1667618944, 1563363840, 1667869312, 1074035328, 1397830656, 1278980992, 1149479808, 1251318016, 1732658176, 1907943424, 1292908160, 2109094272, 1147194240, 1972680960, 2015146496, 1415303808, 1209664000, 1172280192, 1738787584, 1780459136, 1177457664, 1563664384, 1893449344, 1574396544, 1225634944, 1850684160, 1706020736, 1110349312, 1302199040, 1959412992, 1244018944, 1598262656, 1282594688, 1909191296, 1614830848, 1385557120, 1514912768, 1098335360, 1658351744, 1999008768, 1527926912, 2118113536, 1495394176, 1217382272, 1490689792, 1253185792, 1913044736, 1084434944, 1467060096, 1440017664, 1396889088, 1780549120, 1754681728, 1370960896, 1247412992, 1177584000, 1780718976, 2116983296, 2025745152, 1458846976, 1189400192, 1171188224, 1106988544, 1701079040, 1162134656, 1499004032, 1218058624, 1210618240, 1352774912, 1631832832, 1607046528, 1205968128, 1129429760, 1176860800, 1429681408, 1352843904, 1398761728, 1288295168, 1465827072, 1127908736, 2095558016, 1396410752, 1322362880, 1126948096, 1770018432, 1894228736, 1780659200, 1205624320, 1367071104, 2048625024, 2091872256, 1354844800, 1739458304, 1114392064, 1802659584, 1280405248, 1209060736, 1413242752, 1657191040, 2081165696, 1121535744, 1648965632, 1119264512, 1373417088}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {-199, 373, 37089, -3477, 281, 164, 3700, 1727, 1157, -3065, 10330, 610, -14, -419, 7554, -4465, 2941, -2326, 811, 4413, 3309, 158, 121436, 8664, -222, 62989, 21353, 6158, -2813, 134021, -5288, 205, -279, 2579, 1699, 14383, -166, -1017, 7793, -12957, 426, -60, 43675, 360, 4059, 919, -9143, 27948, -374, -14624, 22, 16487, 3790, -4718, -148, -2651, 5337, 1699, -291, -6289, 281, 14147, -24273, -2081, -10104, 21780, -7411, 646, -9806, -16376, -10749, 1955, -279, -6457, -8623, -3727, 635, -1770, 7112, -4091, 18644, 1154, 1063, -7485, -30, 53246, -219, 172, -4069, -1078, 34189, 270, 176, -5955, -825, -125, 548, -2408, 6062, 72393, -326, -1737, -64, 60324, 646, -3527, 6652, -25, 105, 5637, -6604, 1467, 280, 16596, 174, 20454, 29631, -661, -11106, 681, 3587, -2775, 22169, 1823, 7775, 40937, 17879, -17242, 2321, 188, 2036, 1123, -1213, 567, -510, -507, 89, 1747, -2093, -1308, -6140, 167, -8514, -798, -339, -115, -5847, 1571, 55, 3196, 186, 100992, 28204, -13062, 1854, -3674, 44863, -1994, 105340, 5370, -3410, 636, 949, 136, -7233, 71, 1497, -343, 59, -8511, 1024, -6002, -5274, 221, 13834, 61467, 9235, 6188, -5023, 1374, 114, 12837, 4392, 5111, 121, -306, 23052, 23578, 486, -10249, 547, 12633, -3102, -12491, 557, 21672, -16162, 98, -7254, -444, 4445, 4742, -177, 4332, 842, 1110, -1113, 183, -4660, -4494, 25608, 4138, -949, 432, 730, -4679, 71062, 142, 541, 3468, 1729, 3493, 432, 13764, 70904, 1267, -619, 5644, -5184, 422, 886, 3713, 1081, 174, 1733, -14260, 83893, -605, -103, 38281, 3290, 22344, -481, -1028, -1330, -354, 1609, 16687, 98494, -56, 6334, 4523, 2498, 1849, -24428, 26025, -593, 12230, 115511, 4487, -6649, -102, -25518, 6360, 517, -195, 2112, 123378, -871, 5090, 338, 301, -743, 17294, 7, 42980, 35533, -2928, -3843, 1131, -809, 20539, -263, 22327, 6218, 21035, -602, 23738, 12703, 124, 8285, -451, 102433, -349, 21965, -22499, 91, -9271, -8508, 1179, 690, -8650, 9724, 2136, 1304, -1790, -82, 19075, -334, -13, 44212, -107, 553, 103, 15470, 6166, 11842, -14002, -158, 436, 14703, 16760, 65099, 1097, 16858, -137, -23123, -35, 4602, 404, 2236, -7308, 1996, 2704, -21577, -902, 109, 42154, 36576, 2166, -2422, 43395, 81, 418, 325, -7320, -1593, 1799, 1037, 2909, 6159, -3376, -82, -3001, 25386, 37021, 12735, -7945, -17975, 4, 594, 48598, 31193, -6927, -690, -8384, 487, 228, 657, -1227, -7602, 150, -364, 19884, 6429, -1719, -11763, 158, -3317, -4374, 18391, 611, 15385, -14} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-103, -110, -240, -23, -80, -95, -156, -20, -48, 0, -50, -113, -104, -137, -27, -41, -82, -10, -100, -26, -23, -128, -360, -107, -114, -347, -168, -73, -21, -316, -69, -115, -107, -107, -145, -215, -91, -152, -40, -71, -15, -93, -356, -85, -38, -102, -24, -226, -80, 2, -107, -226, -51, -33, -104, -122, -167, -30, -2, -65, -107, -202, -11, -55, -128, -246, -58, -102, -10, -5, -16, -139, -15, -67, -16, -58, -111, -16, -108, -4, -220, -124, -20, -68, -96, -318, 24, -87, -26, 37, -233, -84, -112, -12, -90, -41, -93, -22, -181, -400, -91, -91, -93, -323, -93, -17, -22, -77, -29, -60, -93, -18, -115, -223, -80, -232, -216, -160, -22, -106, -16, -52, -244, -176, -72, -377, -219, -36, -90, -112, -81, -105, -25, -19, -28, -126, -133, -16, -100, -139, -10, -121, -45, -95, -59, -4, -65, -94, -99, -100, -107, -457, -252, -45, -61, -58, -280, -100, -437, -26, -27, -93, -92, -62, 6, -111, -79, -26, -110, -23, -107, -7, -13, -125, -158, -298, -44, -26, -5, -103, -108, -37, -108, -65, -111, -130, -250, -210, -123, -86, -110, -32, -46, 2, -72, -119, 1, -99, -21, -97, -31, -109, -133, -32, -116, -105, -16, -162, -6, -83, -234, -57, -37, -129, -98, -17, -472, -47, -103, -133, -119, -91, -80, -156, -386, -161, -127, -155, -19, -86, -97, -20, -81, -115, -45, 23, -290, -26, -138, -268, -80, -252, -126, -71, -72, -138, -142, -242, -352, -109, -22, -25, -137, -116, -32, -215, -25, -223, -249, -139, -23, -85, 23, -32, -89, -17, -101, -496, -116, -41, -89, -101, -10, -244, -118, -336, -261, -65, -13, -25, -7, -228, -88, -233, -44, -254, -63, -225, -39, -14, -63, -91, -379, -140, -235, -17, -79, -55, -28, -99, -102, 0, -48, -111, -92, 3, -145, -248, -129, -98, -259, -106, -116, -112, -251, -110, -235, -3, 13, -117, -218, -255, -261, -82, -232, -109, -14, -101, -23, -138, -16, -14, -133, -87, -6, -119, -120, -235, -267, -92, -18, -268, -107, -111, -115, -49, -116, -80, -61, -99, -36, -17, -143, -102, -218, -266, -184, -81, -37, -102, -87, -333, -255, -32, 37, -48, -86, -94, -155, 16, -8, -78, -118, -210, -151, -71, -7, -126, -11, -12, -230, -111, -241, -91}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1481406464, 1189652736, 1631607552, 1619795584, 1977027200, 1874636032, 1987010432, 1157591936, 2048012672, 1743952896, 1150650624, 1712692736, 1970486400, 1822038656, 1534782976, 1536734464, 2014277504, 2117947264, 1617625472, 1828219392, 1146317312, 1293019904, 1139915648, 1416118912, 1458109184, 2029399552, 1091567232, 1211624960, 1271254784, 1804524288, 1557226752, 1547237760, 1387145088, 1770392320, 1337782144, 1342303104, 1389604736, 1625391488, 1279962368, 1094536576, 1528377088, 1101641344, 1363910400, 1817959552, 1141423616, 1839638912, 1890582016, 1105238528, 2086741888, 1181074816, 1601335040, 1200956032, 1980548608, 1851078272, 1347251584, 2082397056, 1893221632, 1342612480, 1129965952, 1112104832, 1558901632, 1565742976, 2063927168, 1906256128, 1113385728, 1152474624, 1426001536, 2061512960, 1131269760, 1767663872, 1220954240, 1501313152, 2050744192, 1168432640, 1395489152, 1471705088, 1715118208, 2113233920, 1582733440, 1721995904, 1485659904, 1349328256, 1073862400, 1191679360, 1292787072, 1456417408, 1755457664, 1879195520, 1190799104, 1783964672, 2100009856, 1522588544, 1176847360, 1898696192, 1414231296, 1118088064, 1490817792, 1092243968, 1526562816, 2071556352, 1578236800, 1181350528, 1465585408, 1592347008, 1668689152, 1201571968, 1255514496, 1136282496, 1810575872, 1913796480, 1127637248, 1838241408, 1590628864, 1537427328, 1636126464, 1941981312, 1082248448, 1588061056, 1197900032, 1663365888, 1176867840, 1179252096, 1333383168, 1329561088, 1504616448, 1680682368, 2054012288, 1475513600, 1095420032, 1431129216, 1514284544, 1150887296, 1143347456, 1418256384, 1511683072, 1423858816, 1698053120, 1620273536, 1431150720, 1082884480, 1367884544, 1365039360, 1641230208, 1905938560, 2075668224, 1348812800, 1753897472, 1083510656, 1314248064, 1210619264, 1450974336, 1364945536, 1782655872, 1119054592, 1224911232, 1322962688, 2123829504, 2097251328, 1191894272, 1534119808, 1737248000, 1344836224, 1933878784, 1805490944, 1447435904, 1470753408, 1328349312, 1261773696, 1177223552, 2059425280, 1538973696, 1494197248, 1234977664, 1749135104, 1222364160, 1442046848, 1118052864, 1390266752, 1974728064, 1886372864, 1210027136, 1968715392, 1258012160, 1765852416, 1231594880, 1384042496, 1804701696, 1783463680, 1334129024, 1331683200, 1671776896, 1524687360, 2083593472, 1144391552, 1573356800, 1942404224, 1451775360, 1334229248, 1080714240, 1146133888, 2098592128, 1485640064, 1141040256, 1151751424, 1642762368, 1637144192, 2015667072, 1325579136, 1839890432, 1359044480, 1433804544, 1444256640, 1379723776, 1378586624, 1581823872, 1138935680, 1797919872, 1309077120, 1556572672, 2138237952, 2120526720, 1076267264, 1667929088, 1157274112, 1180562944, 1290523264, 1107947776, 1366853376, 1283983744, 1480038272, 1479547008, 1919907584, 1167757952, 1282092672, 1145900160, 1622383872, 1120835456, 1328966016, 1151985920, 1215896320, 1685277184, 1591741184, 1205976704, 1274426112, 1130622464, 1587695232, 1157750912, 1607635968, 1423955072, 2131208448, 1127006208, 1546755584, 1550812544, 1419809280, 1915759872, 1306714624, 1443347328, 1297520640, 1707260416, 1141012480, 1145908480, 1557180800, 1159213824, 2090195072, 1764088576, 2103441536, 1096253312, 1403289728, 1690636032, 2077281664, 1997885056, 1141889152, 1911162880, 1895556608, 1480348032, 2022629248, 1513563008, 1201651456, 1456083328, 1518086912, 1779866752, 1476524544, 1282721408, 1850653056, 1703046400, 1522403840, 2043220224, 2089080704, 1610983296, 1731733120, 1661584640, 1095277568, 1359699072, 1433834112, 1161986816, 1894977024, 1134356736, 1475853568, 1938741888, 1181236992, 1416139264, 2017805696, 2039513472, 1381110912, 1626636800, 1611282944, 1726222208, 1994766080, 1279558144, 1882482816, 1080254720, 1570998272, 1220436480, 1133505536, 1612120832, 1135147136, 2110159872, 1075017216, 2069204608, 1412032640, 1692467712, 1457673984, 1952381184, 1757588096, 1177017216, 1879359104, 2115944064, 1341672192, 2082799360, 1958445184, 1177976832, 1641194240, 1488298624, 1387082496, 2074996864, 1589321088, 1438118400, 1949367424, 2074462080, 1406344960, 1551788800, 1182521344, 1351163648, 1258878208, 1249004544, 1453165952, 1730907904, 1609472768, 1189335680, 1920719872, 1291813888, 1227148672, 1772071808, 1384544256, 1955328896, 1317552128, 1863151488, 1234862720, 2130262528, 1402612480, 2019841920, 1488232448, 1356843520, 1207625728, 1353253504, 1746497792, 1416347136, 1277192704, 1362299136, 1257347456, 2113123072, 1358409088, 1569154048, 1148422144, 1379063424, 1242131456, 1996238208, 1342856960, 1486989952, 1698820992, 1303136512, 1389954560, 1246127104, 1773730176}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {11532, -20088, -3569, 11859, 318, 37021, -21304, 15138, 25855, 37437, -6165, 12054, -50012, -2483, 24651, 18664, 15590, -55810, -42200, 15737, -36279, 3309, 13577, 38022, -30650, 58639, 16298, 23178, 10669, -1464, -11481, 36112, 14539, 35443, 39194, 31133, 36416, 112853, -11689, -22701, 49881, -27616, -28741, 86667, 2936, -45720, 8207, 25535, 5875, -22192, 38924, 14251, 15200, 35200, 44369, 108582, -52042, -12618, 1596, 51966, 11606, 7822, 921, 71352, 34833, 19975, 11479, 30121, 21253, -2634, 16130, 30102, 20449, -8456, 7995, -10338, 30210, -45753, 26972, 2202, 62265, 21488, 34995, 10341, 54591, 111079, -14173, -30137, -3563, 11812, 692, 5429, -18033, -13294, 132511, 68899, 9602, 30195, -24653, 10728, 17085, -16858, -2441, 11973, 50089, 69623, 23769, 75849, 82456, -2924, 82080, 19172, -40543, 53071, -9969, -17597, -9311, 10765, 92058, 87699, 52155, 63447, 75340, -1791, -8381, -40535, 26215, 818, 19983, 11048, 24290, 32751, 28022, 6612, 72553, 10915, 32240, 33246, 18994, 5042, 8694, 2084, 24248, 16069, 100, 10542, 52936, 18511, 33442, 12153, 22084, 8937, 15997, 34456, 15662, 26209, 14585, -5343, 23289, 85601, -22773, 26561, -4321, 25065, 19044, 7825, 37253, 78829, -30217, -6010, 89451, 5408, -15297, -16464, 9417, 46916, 21997, 40790, 11698, 47912, -25113, 4970, 92620, -26322, 7148, 25708, 96785, 1394, -10089, 53601, -19146, 16587, 12978, -32363, 10543, -15871, -12445, -2153, -8838, 38310, 21904, 6472, 62029, 28382, 9439, 22638, 23265, 21429, 29145, 18556, -17646, 6894, 7643, -21073, 44487, 7605, 19850, -4055, 15332, 16891, -44822, -35589, -16007, -25820, 13147, -17351, 27073, -49120, 60734, -32850, -4518, 45897, 25694, 13011, -14737, 21918, 39338, 56776, 7436, -39761, 43476, 18855, 33516, 10290, 38662, -2951, -43762, -6397, -5787, 1016, 20801, 27821, 7318, 3588, 82520, 48299, 20578, 37381, -2823, -9756, 22656, -29978, 18626, 31247, 6723, -25995, -51212, 70045, -10556, 1090, 12475, 31, -34770, 71418, 14045, 21423, 8277, 1442, 57540, 49826, 70908, -52419, 18800, 10873, 35422, 47213, -8625, 44511, 3581, 41288, 44999, 18472, 11185, 72642, -34290, 39771, 5468, -14814, -14783, 73012, 3221, 12659, 5331, 13747, 106014, 43030, 11739, 9982, 10482, 2207, -24604, -2520, 5213, 1996, 10559, 38717, 35339, -11623, 11678, 62513, 8333, 20490, 62979, -537, -8377, 16646, 21449, 15016, 13792, 11166, 8411, 12237, 11516, 34851, 3590, 5359, 45737, -7926, -18591, 7924, 34933, -21918, 70276, 13661, 30052, 222, 5345, -15195, 55791, 37399, -3459, 56259, 839, -13618, 9428, 11986, 15573, 148410, -1618, 25415, 16559, 12215, -3048, 12381, 17699, -29344, -1474, 36197, -10569, -18621, 6531, 50238, 3478, 53273, 13859, 15352, 42755, 25560, 244, 17458, 15378, 23231, -17702, 10912} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-116, -139, -173, -127, -102, -150, -117, -146, -118, -144, -139, -164, -127, -90, -118, -179, -144, -132, -91, -101, -95, -113, -110, -180, -94, -181, -99, -106, -109, -149, -105, -113, -140, -143, -177, -115, -190, -124, -90, -122, -116, -132, -103, -119, -95, -62, -168, -121, -120, -101, -115, -125, -109, -156, -163, -139, -95, -132, -152, -156, -88, -163, -65, -126, -203, -132, -165, -131, -139, -155, -77, -106, -123, -134, -75, -125, -91, -115, -115, -129, -157, -161, -104, -149, -105, -138, -93, -144, -105, -144, -91, -101, -119, -93, -140, -120, -148, -123, -152, -161, -54, -103, -162, -141, -112, -141, -170, -121, -120, -124, -112, -113, -99, -130, -123, -103, -151, -106, -116, -147, -113, -100, -112, -117, -107, -140, -148, -126, -130, -115, -142, -102, -141, -144, -118, -125, -130, -107, -150, -126, -91, -128, -146, -114, -137, -140, -120, -142, -133, -124, -133, -134, -102, -129, -124, -170, -134, -126, -173, -70, -124, -68, -173, -120, -81, -131, -155, -174, -112, -120, -130, -114, -163, -124, -96, -148, -106, -131, -142, -158, -190, -118, -125, -131, -118, -210, -114, -135, -150, -116, -151, -94, -134, -121, -138, -75, -162, -183, -114, -107, -138, -179, -107, -71, -102, -95, -116, -110, -150, -150, -144, -118, -173, -131, -105, -133, -98, -137, -113, -168, -148, -110, -123, -131, -133, -97, -153, -119, -141, -112, -93, -138, -124, -143, -126, -143, -133, -129, -127, -112, -118, -115, -168, -146, -121, -176, -114, -102, -89, -86, -127, -155, -148, -123, -134, -110, -170, -121, -97, -94, -77, -161, -109, -133, -105, -137, -113, -97, -171, -109, -109, -136, -111, -123, -128, -105, -71, -125, -130, -136, -125, -97, -146, -102, -115, -174, -147, -110, -133, -113, -134, -63, -136, -154, -135, -84, -107, -146, -127, -89, -137, -86, -114, -131, -102, -148, -144, -110, -128, -85, -110, -88, -151, -142, -70, -130, -136, -164, -134, -204, -120, -155, -130, -169, -107, -162, -149, -191, -137, -105, -167, -140, -114, -128, -136, -129, -194, -117, -130, -131, -133, -140, -119, -131, -134, -121, -126, -132, -101, -137, -161, -123, -92, -128, -110, -116, -144, -102, -123, -106, -94, -110, -118, -124, -129, -109, -180, -74, -140, -66, -140, -131, -168, -113, -166, -120, -116, -96, -113, -144, -156, -97, -117, -159}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1113147904, 1323612928, 1760177536, 1889320192, 2034817664, 1724552576, 1474557952, 1693232640, 1626462720, 1787657216, 1544409984, 1303986816, 1478952448, 1827463040, 1379478272, 1886123008, 1570031744, 1448225792, 1292077568, 1196569216, 1175768192, 1623813632, 1409660672, 1118126848, 1361355264, 1627028608, 1233830400, 2062590720, 1871059328, 1222815360, 1446665728, 1211111424, 1228664576, 1120244992, 1446042496, 1990557184, 1110307328, 1514263040, 1772202240, 2046936320, 1109140736, 1962807680, 1531422336, 1309411968, 1171394304, 1522908928, 1332604928, 1253835648, 1090419328, 1570538496, 1299437184, 1111156352, 1424678272, 2046435840, 1517344896, 1100838912, 1153751168, 1703918208, 1785230592, 1101238400, 2007568000, 1206680576, 2061883776, 1583416064, 1080798592, 1517257728, 1086692096, 1131242752, 1348982272, 1463285248, 1312397568, 1796579200, 1280810752, 1419614464, 1873937408, 1165838208, 1590495872, 2115863936, 1379745152, 1086125056, 1628301952, 1117195008, 1243085312, 1101172352, 1115360256, 1945307776, 1825843200, 1686350720, 1286314368, 1812275072, 1197462784, 1627828352, 1339552512, 1988790784, 1688441344, 2022671744, 1740364544, 1862634368, 1405170560, 1939126016, 1867287296, 1556043648, 1593080320, 2132311552, 1151906432, 2037323520, 1109927168, 1395443200, 2073342592, 1126621056, 1076308864, 1274032640, 1297749632, 1941329280, 1614835456, 1775933952, 1167477888, 1473459456, 1264952576, 1953109760, 1228545280, 1129560576, 1603972608, 1127848448, 1477373696, 2000269184, 1231584128, 1736410368, 1665322752, 1745907072, 1509575552, 2041448576, 1748074496, 1536204032, 1356355456, 2068365952, 1299293184, 1587450496, 1133808768, 1597840000, 1339779584, 1875120128, 1096385920, 1187292928, 1508285440, 1744735616, 1144495360, 1112827648, 1986232576, 1601040000, 1744278272, 1552708352, 1483891584, 1477239040, 2055189760, 1190811264, 1902596736, 1465237632, 1445628416, 1927240064, 1302855424, 1898190336, 1080523904, 1872742528, 1926518016, 1080015360, 1587166208, 1433460224, 1508674304, 1253693440, 1288264320, 2081596416, 1515332224, 1949362176, 1480557056, 1262760192, 1158651648, 1604729600, 1629220480, 1113629952, 1810881920, 1811174528, 1500732800, 1424774784, 1094363136, 1114465920, 1685450240, 1615473792, 1711064832, 1699446912, 1739961728, 2139309568, 1276232832, 1357347584, 1751632256, 1657662336, 1535588480, 1087938560, 1619268096, 1468546304, 1512871296, 1976418560, 1785139072, 1227269248, 1702242944, 1787359744, 2068194688, 1439872128, 1358238720, 1952690432, 1638700032, 2023771904, 1266711040, 1574200192, 2097835392, 1092038784, 1984357888, 2072255360, 1111682688, 1934525056, 2140308736, 2069982720, 1584354560, 1140743808, 1245868288, 1595819776, 2053886976, 2043246848, 1098299648, 1175036032, 2027662336, 1074392192, 1461848448, 2002441728, 2053992192, 1504950144, 1657265408, 1203171968, 1178547072, 1111221504, 1903847936, 2023654784, 1807723904, 2099625088, 1131827456, 1169842432, 1664691584, 1173157504, 1619925504, 1639871360, 1613704064, 2038043136, 1386905088, 1500411264, 1809108736, 1606813184, 1945031680, 1148062336, 1439244288, 1740647424, 1483087104, 1964607360, 1091173632, 1345059456, 1327661696, 1683144064, 1674920448, 1499841408, 1603241088, 1769409536, 1174694912, 1103521920, 1088600320, 1521895424, 1927544192, 1274056064, 1535197056, 1636446976, 1899168640, 1519618688, 1171306112, 1388726784, 1981834624, 1411295360, 1385091200, 1351660288, 1793074304, 1835551232, 1583583872, 1475471104, 2044610816, 2125865600, 1141849088, 1274368768, 1295006720, 1571218688, 1079675392, 1648548992, 1403547520, 1078826368, 1543110144, 1991749760, 1135512448, 1273001088, 1842544512, 1575899904, 1737723136, 1205018752, 1168047616, 1111364224, 1224114432, 1779103872, 1252716928, 1360021760, 1329491200, 2013957120, 1651218816, 1792266752, 1101234816, 1237929344, 1401322240, 1246503168, 1216216064, 1711539840, 1757560064, 2074389376, 1085182720, 2043844992, 1768059648, 1177685504, 1081921536, 1113628544, 1294723328, 1208263680, 1797283456, 2023812608, 1135772672, 1155664768, 1758733312, 1509366784, 1617663232, 1879355264, 1448302848, 1881522304, 2050369920, 1669101568, 1162913408, 1374725888, 1983221632, 1433632128, 2047060480, 1185572096, 1300389504, 1616688512, 1675481728, 1297059328, 1406571008, 1141036032, 1163549952, 1562891904, 1729975552, 2110001536, 1487291520, 1961291776, 1885555712, 1192232576, 1239640832, 1221998720, 1251243264, 1325737984, 1101196928, 1167221632, 1434185856, 1285192448, 1753957376, 1160081280, 1955573376, 1310526720, 1368804224, 1120525440, 1869316736, 1824171648, 1905584768, 1875580160}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {-2400, -419, 26769, -3347, -1112, 1015, 1662, -15340, -6549, 3166, -19014, -3997, 37997, -13322, -11335, 41847, 79460, -24895, -7789, -4178, -2729, -15554, 60682, 2252, -496, 41051, 47986, 6364, -7982, 8229, -20149, 9703, 19591, -3128, -1524, -3930, -40245, 29979, -8607, -2907, -90, -4555, 753, -9915, -10375, 133947, 16143, -775, -9687, -7148, 2704, 22655, 3085, -34634, 29914, 5668, -23209, 7739, -13047, 19429, 8319, -12471, 55896, 20005, 260, 32752, -21756, 22957, -19047, -6131, -10708, 4083, 2734, 1891, 34095, -9687, 34632, -3665, 34681, -1664, 18848, 19907, 657, -4360, -4699, 6337, 39895, 20850, -10881, 10759, 19442, -21299, 182, 55794, 5881, 23866, -12378, -2525, -6371, -15701, 41617, -184, -1112, 21865, 12575, 6185, 15846, 3983, -11430, 94841, -14122, 41605, 101654, 29761, 3350, 51809, -1733, 27722, 5258, 2700, 1687, -7273, 19202, -3919, -15456, -6262, -18100, -6775, 11178, 28374, 1196, -1278, -1290, -15174, 516, -11951, 29262, 19528, 67374, 121560, 7223, -5550, -8208, -14573, -16675, -17882, 42564, -5216, -3435, 34518, -19233, -14853, -29233, 13721, 257, 17316, 76244, 9067, -2816, 19790, -7529, -7635, 14120, 7461, -7176, -10368, 1272, 15975, 539, 52560, 21927, -7447, 134087, -5281, -6944, 251910, -19609, 42879, -84, -36, 155988, 4524, 22632, -5791, 48838, 178, 4325, 8905, -17844, 1525, 13474, 692, -20887, -28145, 1493, 98754, -9698, 15729, -35364, -255, 8523, 3458, 19602, 30530, 15129, 69558, -15040, 27798, 6136, 5632, 12883, 344, 9856, -9561, -1382, 3045, -4485, 33864, 38367, 79374, 3980, -24207, -256, -8730, -14420, 21270, -1924, -12391, -1200, -20663, -1365, 4533, 6822, 17068, -4151, 1463, -240, -9531, 14557, -1230, 16344, -19942, -28188, 365, -28, 13130, 9003, 8504, -15119, 12309, -18658, -30354, 10414, -6015, 2815, 40041, 6065, -15177, 7478, -8367, -11097, -4373, 39199, -7626, 13553, 7184, -4135, 1782, 7451, -14811, -12692, -27114, -3140, -9769, -25856, 32921, 76486, 60152, 3987, -8663, 21777, -1761, 24975, -9564, 10214, 34256, 5776, 32801, -16825, -338, -3431, 26764, 148923, 40612, -5929, -19206, 75284, -10598, -10921, 1837, -2110, -9656, 3722, -2038, 22683, -9398, -5161, -2208, 52876, 33763, -1026, -17224, 17628, -3308, 35594, 8196, -18486, 24868, 55112, -133, -5890, -15652, -11626, 10426, 14582, -11722, 7953, -13116, 2761, -18097, 8752, -12042, -4670, -14137, -4478, -2682, 322, -7404, 32508, -7828, 28239, 42418, 28092, 26253, -1202, 76976, -633, 22734, 2609, -15314, -3894, 26065, 57946, 32455, 13049, -7326, -35711, 14651, -6024, -9608, -5401, -361, -3266, 52107, 298, -7597, -2485, 2828, -34030, 34483, -15447, 35612, 8966, -4323, -10882, -6695, 7261, 74461, -270, -10886, -40380, 2083, 125, 7415} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-29, -41, -211, -118, -4, -28, -196, 9, -75, -110, 19, -98, -286, 7, -59, -338, -298, 7, -54, -20, -63, 6, -297, -27, -29, -384, -344, -39, -37, -124, 7, -80, -178, -20, -79, -10, -15, -238, -24, -1, -117, -92, -7, -76, -16, -406, -75, -61, -7, 5, -40, -227, -119, -21, -246, -31, 20, -57, -12, -232, -62, -42, -365, -243, -47, -308, 4, -174, 26, -68, 7, -114, -44, -98, -291, -4, -261, 0, -145, -26, -159, -100, -114, -11, -16, -42, -272, -192, 21, -145, -113, 25, -44, -263, -50, -254, -4, -124, -14, -2, -259, -2, -119, -72, -61, -142, -106, -41, -48, -278, -17, -250, -287, -252, -130, -258, -33, -282, -183, -26, -24, -77, -234, -24, 10, 3, 13, -9, -73, -82, -80, -104, -102, 14, -112, 0, -271, -82, -377, -448, -98, -49, 3, 8, -4, -29, -201, -67, -97, -91, -4, 9, 74, -136, -102, -159, -334, -95, -100, -224, 6, -21, -157, -108, -63, -123, -42, -169, -17, -351, -243, -37, -597, 38, -18, -825, -11, -258, -26, -89, -317, -30, -224, 38, -329, -34, -39, -102, 35, -41, -153, -18, 15, 34, -71, -491, -27, -158, 17, -50, -76, -55, -244, -256, -128, -303, 53, -283, -72, -81, -116, 16, -129, 0, -68, -73, -14, -245, -250, -266, -48, 75, 2, 2, 47, -160, -49, 75, -116, 23, -15, -76, -48, -131, -29, -151, -93, 1, -107, -8, -138, 6, -9, -69, -12, -117, -61, -67, 24, -27, 5, 1, -84, 5, -31, -261, -137, 9, -55, -65, -49, -32, -217, -8, -118, -68, -9, -104, -149, 24, 6, 17, 0, -25, -52, -261, -484, -370, -40, -28, -257, -12, -231, -36, -109, -277, -27, -247, 24, -96, -27, -263, -416, -262, 15, 17, -427, -2, 12, -30, -50, -19, -100, -111, -230, -30, -115, -8, -318, -247, -16, 5, -134, -61, -301, -31, -45, -203, -280, -17, 3, -16, -1, -72, -159, -57, -116, -2, -53, -29, -120, -33, -69, -21, -48, -148, -40, 12, -225, 8, -289, -200, -256, -143, -81, -470, -12, -119, -125, -23, -22, -270, -347, -233, -137, 3, 2, -225, -31, 6, -36, -113, -71, -270, -84, 2, -90, -45, 50, -155, 23, -257, -132, -66, -6, -6, -106, -346, -22, -57, 26, -88, -172, -171}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1654814592, 1774731136, 1202082944, 2034047488, 1075840000, 1657850880, 1193718272, 1114489088, 1567185024, 2071105920, 1284702208, 1783490816, 1156120704, 1883088896, 1464127488, 1930136448, 1206145024, 2109019904, 1160727168, 1231192576, 1725083264, 1878999040, 1494397184, 2140465280, 1852663808, 1431794048, 1524479488, 1865142272, 1995425536, 1692400640, 1361526528, 1431299712, 1477322240, 2086168832, 1854171136, 2073833600, 1285105920, 1385787904, 1212282496, 1774199552, 1416506240, 1976647168, 1311645952, 1134511744, 2115552896, 1116567680, 1074209536, 1979582592, 1216337024, 1748077568, 1342362624, 1359499520, 2015789056, 1382854528, 1551535232, 2130505856, 2146467072, 1863949056, 1255497600, 1642797824, 1582257280, 1425715072, 1276427520, 1164041344, 1157883008, 1107366656, 2031448704, 1541456768, 2092841216, 1204836480, 1837025664, 1701250944, 1897420928, 1582802048, 1848948096, 1242814080, 1399572864, 1856468992, 1704150400, 1680513024, 1655869312, 2108429696, 1898040960, 1973182464, 1790405760, 1187084928, 1619286144, 2018286720, 1464577536, 1592020608, 1656166400, 1356874880, 1825051264, 1734514304, 1195785088, 2002148352, 1985469952, 1076059776, 1217420800, 1128882944, 1442869504, 1096421376, 1457433856, 1982943104, 2090597760, 1260227200, 1850017664, 1456827648, 1283794432, 1208029184, 1320895616, 1538169728, 1147536640, 1200377984, 1857601536, 1105047808, 1133794048, 1560029184, 1127811712, 1084074624, 1980033792, 1362943360, 1222125312, 1174757504, 1099674752, 2003589632, 1676054016, 1227471616, 1405871104, 1448814720, 1147273728, 1999665664, 1444153216, 1106297216, 1096935168, 1347618304, 1369047680, 1093480704, 2059691776, 1458480000, 1893059584, 1552498432, 1778762496, 1986001792, 1781545088, 1157019776, 1300098048, 1797396096, 1614774528, 1235360512, 1697133440, 1812889984, 1160483200, 1165254784, 1330560512, 1992746368, 1928013184, 1250327424, 1124261504, 1692289536, 1138474496, 1340800128, 1375966592, 1723586432, 1241878272, 1792187008, 1711762816, 1193457280, 1087566208, 1922062208, 1213235840, 1465475968, 1828135936, 1167931648, 1172407552, 1142268032, 1910270080, 1712014208, 1126497536, 1162169472, 1561319040, 1457058304, 1495523456, 2041219328, 1136490240, 1443055488, 1264415872, 1406763776, 1415568512, 1761580416, 1615551872, 1205912576, 1238487808, 1172686848, 1849241600, 1430122368, 1202100352, 1413978240, 1758364032, 1238264832, 1189095680, 1272323328, 2124494464, 1159128576, 1741857792, 1666653568, 1300887552, 1396455168, 1233589376, 1544446080, 1358980736, 1116535936, 2084044288, 1144348800, 1389554176, 1382658432, 2116166656, 1209765888, 1440631424, 1467857280, 1712998784, 1648726144, 1415712512, 1821592064, 1327462400, 1628416000, 1198392064, 1700668032, 1297638784, 1990544256, 2083358208, 1706028288, 1768638720, 1552347776, 1329054080, 1660021120, 1975773568, 1138569856, 1618630528, 1733638272, 1331652992, 1084991232, 1702459264, 1300396672, 1919308032, 1958314368, 1084313600, 1124643584, 1687152384, 2087837824, 1167040128, 2025141504, 1892325504, 1892491392, 1408969856, 2093703808, 1799449472, 1568101504, 1472387328, 1558984960, 1605596160, 1707882368, 2029997440, 1295688576, 1296637440, 1290887552, 2006818944, 1143349120, 1209655296, 2088225408, 1716643456, 1386721920, 1247346944, 1139056768, 1151233024, 2038128768, 1884402304, 1306114048, 1300865024, 1458590336, 1674367232, 1821477632, 1602179968, 1226128768, 1444293760, 1188969088, 1387999360, 1303371776, 1083473664, 1783587328, 1930305664, 1257024000, 1368580864, 2013790080, 1440121216, 1092721024, 1914548736, 1155624320, 2080943744, 1143134336, 1624095360, 1142192256, 2022639616, 1093444480, 1287972864, 1345041536, 1525546368, 1853729792, 1845387520, 1295460352, 1466052736, 1176538240, 1675217280, 1422330752, 1285916160, 1467120000, 1783183872, 2118454912, 1450622592, 1972032128, 1135173632, 1099763584, 2082078976, 1958341120, 1673748608, 1649876608, 2020920320, 1755787520, 1715556608, 1387324800, 2145228160, 1383286272, 1178287232, 1551821568, 1442744960, 1301208448, 1317379712, 1743490688, 1373012864, 1137957504, 2071875968, 1313871872, 1487323008, 2142992640, 2095089664, 1731232768, 1540604800, 1176445568, 1833951872, 1490046208, 1337065088, 1726041344, 1803365760, 2142694016, 1082696832, 1381164928, 1444203776, 1852057856, 1611731968, 1359785088, 1331411840, 1303432960, 1415179904, 1116257024, 1104158080, 1648024704, 1573249280, 1278434688, 1201733376, 1260042240, 1587475072, 1674359296, 2119710720, 1496971392, 1184765312, 2134735104, 2123581056, 1985049472, 1896298880, 1366477696, 1932929664, 2091205888, 1258454144, 1683130752}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {53878, -30594, 13249, 69319, 8583, -18190, 9867, 4009, 17008, 23094, -10292, 3329, 37689, 90473, -1985, 24129, -41738, 17279, -4661, -37100, -5662, 38292, 90679, 9972, -34169, 13929, 14595, 8233, 2769, 3781, 14084, 19933, -30752, -22851, 19304, 8187, 3063, 4614, 23726, 21011, 19156, 7129, -22809, 14641, 20754, 849, 22751, 23969, 2799, -6774, 34542, 28811, 3980, 22801, -12636, 15678, 34351, 40935, 12834, -13424, -9060, 13673, 10751, -4619, -17935, -22638, 16404, 10713, -46308, -54845, -12060, -21626, -17081, 66875, -12323, 36042, -25090, 60721, 53497, 1321, -29462, 37871, 60319, 1924, 22723, -14200, -17157, 3948, 20740, 16202, 39424, 14781, 3176, -9508, 117, -25926, 18182, -27602, 21560, -10766, -25418, 7159, 78228, 12462, 37658, -47395, -9565, 2955, -7722, 23507, -16052, -15410, -28762, 26100, -5224, 12659, 13225, -59697, 52508, -13860, -24740, -20416, 4192, -28449, -18335, 14218, -18218, 56719, 3973, -590, -11355, 7882, 20596, 63918, 62057, 2040, -61639, -8102, 33792, 9870, -35260, -14074, -36675, 1479, -19613, 34382, 14757, -1269, -52998, -4057, -27020, 13461, 3861, 16448, -1973, 39788, 15372, -706, 6819, -19878, 59546, 41375, -18993, 15446, 18543, 15488, 11236, 6095, 11191, 7100, -24736, 1767, -32692, 22733, -15129, 27860, -7699, -44385, -57017, -40358, -32807, -2662, 22643, -30644, -10471, 14810, -2353, -5669, 19468, 9549, -16586, 28106, 7914, -56722, 10496, -33079, 40328, 34238, 30610, 14086, 32848, -21285, 32363, -56, 59378, -81796, -7642, 2076, 3430, -8019, 662, 22845, -9475, 5033, 14743, -9810, 5074, 354, -39459, 3149, -4879, -22376, 15194, 28535, -150, 69746, 6768, 814, -58296, 5583, -21684, 35149, -29463, 38128, -2113, 5673, -21008, 14555, 16207, -5316, -13509, -31492, 492, -30720, -6083, -12902, -4312, -6979, -6415, -16626, 32285, 40413, 87493, 2124, -757, -8683, 7696, 1549, 47658, -5201, 57569, 26304, 27843, 27787, 9815, 11979, -11892, -165, 47510, -13473, 19478, 10377, -19417, 17165, 12330, -15926, -9682, 54149, 57022, -15612, -10943, -18740, 30788, -10640, -36421, 30623, -65913, 92289, -28282, 46625, -29877, -9771, 24143, -4248, 9710, 16549, 18240, 44066, 23465, 28211, -6820, -8987, 40673, -8800, -32692, 93441, -26609, 30698, -4289, 16094, -47266, 43820, 36993, 19398, -30301, 16128, 8739, -1135, -11866, -32883, -9290, 114802, 6904, 12080, 64017, 31414, 60621, 133319, -43155, -4191, 54164, 43153, 20090, -38044, -13078, 453, -17558, -12131, 42203, 54545, -10056, 55749, -9111, -5004, -24892, 9092, 27158, -7421, 21518, -33673, 37659, 12004, 19460, 2684, 7966, 10890, 12856, 30992, 5862, 12120, 54231, 13212, 1967, -8811, -17662, 29784, -30468, 7852, -2885, -2330, 74, 1634, -15694, -38056, 121433, 19734, -10373, -58684, 3770, -10310, -3537, -34288, 1416, 1188} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-131, -99, -104, -115, -159, -164, -118, -103, -152, -105, -93, -130, -125, -99, -130, -135, -93, -142, -124, -97, -133, -109, -142, -165, -94, -161, -111, -158, -147, -91, -121, -176, -127, -134, -119, -109, -127, -138, -117, -147, -132, -141, -154, -129, -81, -111, -87, -112, -102, -117, -134, -106, -151, -88, -147, -133, -181, -123, -108, -125, -144, -93, -82, -100, -118, -95, -86, -114, -123, -118, -103, -131, -138, -96, -101, -102, -107, -120, -159, -139, -118, -136, -85, -113, -135, -158, -131, -139, -111, -110, -128, -111, -137, -142, -120, -100, -128, -131, -82, -153, -146, -88, -134, -88, -147, -117, -106, -131, -133, -130, -92, -138, -127, -119, -111, -148, -135, -84, -131, -153, -127, -107, -97, -117, -90, -92, -113, -138, -98, -88, -93, -94, -98, -152, -119, -115, -139, -134, -148, -90, -140, -105, -116, -146, -120, -134, -109, -108, -145, -130, -117, -90, -129, -96, -122, -129, -103, -108, -94, -99, -167, -115, -117, -129, -142, -145, -130, -102, -133, -110, -113, -66, -103, -99, -125, -142, -143, -112, -97, -122, -118, -107, -90, -126, -123, -126, -131, -149, -107, -111, -149, -134, -87, -137, -137, -121, -128, -127, -108, -108, -107, -101, -141, -137, -136, -124, -141, -113, -143, -130, -64, -146, -120, -157, -123, -162, -111, -111, -133, -121, -111, -176, -132, -102, -112, -133, -101, -124, -139, -116, -159, -104, -113, -129, -104, -128, -138, -140, -141, -137, -118, -96, -128, -111, -150, -150, -135, -114, -134, -120, -124, -122, -137, -128, -134, -95, -131, -126, -104, -112, -138, -88, -123, -99, -162, -113, -125, -147, -127, -99, -86, -133, -110, -112, -134, -133, -153, -122, -128, -115, -120, -99, -103, -122, -103, -122, -124, -148, -147, -117, -133, -67, -133, -134, -144, -97, -97, -137, -105, -97, -120, -117, -122, -99, -127, -157, -128, -100, -143, -111, -124, -119, -110, -97, -103, -101, -134, -82, -115, -103, -98, -162, -149, -126, -140, -128, -154, -139, -118, -143, -149, -98, -134, -130, -112, -99, -154, -160, -119, -109, -111, -116, -123, -88, -127, -154, -146, -89, -145, -126, -156, -111, -80, -136, -122, -110, -132, -134, -128, -132, -129, -128, -131, -144, -157, -121, -130, -119, -162, -60, -127, -125, -128, -101, -136, -124, -108, -124, -153, -118, -113, -108, -124, -87}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1552056192, 1356741248, 2002103168, 1081697792, 1628301056, 1716787200, 1215468160, 1295057152, 1290776064, 1456823808, 1623844864, 1570166656, 1536615040, 1387531264, 1250993536, 1336726528, 1677692416, 1363756544, 1273200512, 1114918400, 1462247552, 1661891840, 1521175680, 1242187648, 1321045632, 2068945152, 1147076352, 1431648128, 1798711552, 1736171136, 1409026048, 1711924352, 2139040256, 1144702848, 1367672320, 1402141056, 1336448128, 1737746304, 1736041600, 1636571776, 1392423936, 1640038016, 1882739840, 2143185152, 1773507840, 1851028992, 1288430720, 1171210368, 1266719360, 1597103232, 1817634432, 1691070080, 1726995584, 1767752192, 2046306048, 2022356224, 1151446144, 1189983104, 1175353600, 1745410048, 1418509568, 1098904192, 1596459008, 1417031168, 1699524864, 2037444224, 1297655168, 1420981248, 2123638016, 1174809216, 1164465536, 1091474176, 1405574016, 1529214720, 2020727936, 1253546880, 1950056960, 1140117888, 1730835072, 2135546240, 1219521792, 1158910336, 1713400704, 1146099968, 1153354624, 1740003200, 1978160000, 1904363648, 1749009280, 1077240192, 1859978624, 1494149760, 1179733632, 1548235136, 1408702720, 1101698688, 1300509056, 1176585472, 1834408960, 1289421312, 1862301824, 2050394496, 1459463424, 1122795904, 1426049024, 2024188288, 2011344768, 1601090816, 1468904448, 1327624576, 2129774208, 1876859008, 1115835904, 1311179008, 2134696704, 1525082752, 1360356096, 1279260672, 1554406400, 2037956608, 1571553280, 1958285696, 1451658240, 1787832832, 1656921984, 1655546368, 1593337088, 1672983552, 1796668672, 1180489216, 1097732992, 1429064576, 1530011392, 1132433024, 1639912448, 1462262656, 1915905408, 1564783104, 1602066304, 1309490688, 2105225856, 1577536512, 1309552512, 1516389760, 2065736576, 1301283840, 1990198272, 1273239168, 1161454976, 1217662720, 2076281600, 1765452416, 1581664896, 1587560320, 1339401728, 1248137856, 1424528512, 1096712192, 1193961984, 1169281280, 1417373696, 2066060800, 1650178048, 1153272448, 1711705728, 1424194176, 1486921088, 2013676416, 1313027968, 1129213056, 1623243776, 1592257408, 2107559424, 1442993664, 1687177600, 2031710848, 1264538368, 1982416384, 2011539072, 1452435840, 1650926848, 1894668416, 1240006912, 1515482880, 1163606400, 1413686272, 1890090240, 2063555584, 1778252672, 2076215040, 1910834944, 1105840896, 1336339456, 2030365952, 1119679104, 1894584320, 1514778240, 1288495232, 1925602048, 1417722112, 1142355968, 2139910528, 1721476736, 1450287872, 2057169280, 2018627840, 1740400640, 1469148160, 1424083200, 1169271424, 1500167552, 1196135680, 2023668736, 1217026176, 1622033792, 1667828608, 1292902144, 2123200768, 1426014720, 1462487808, 1474521856, 1113242112, 1195896960, 1517488512, 1193792768, 1252677376, 1238819200, 1287633536, 1948143232, 1759464064, 1609470208, 1339523968, 2005606144, 1179276544, 1272882304, 1200707840, 1497775872, 1130908928, 2053801216, 1260617088, 2033393920, 1300672640, 1535113216, 1278949760, 1192031360, 2052666368, 1110213632, 1125319424, 1214862336, 2055066880, 1190293248, 1309952256, 1427882496, 1449350272, 2102513664, 1091094528, 1240604416, 1375061504, 1929626496, 1119549696, 1643236480, 2080579712, 1521386368, 1182071168, 2139320064, 1554522880, 1146065408, 1296107008, 1146299904, 1083371520, 1999382016, 1410231680, 1668769920, 1223190272, 1277830144, 1673234048, 1573937792, 1764331904, 1700164608, 1387021824, 1153028096, 1203656832, 2096896512, 1170041088, 1484162304, 1720164352, 1778840832, 2013887872, 1287767040, 1314046592, 1886593408, 1498899328, 1212752128, 1391946368, 1280278144, 1501624192, 1664416128, 1653240832, 1138139008, 1449723776, 2079114368, 1166200064, 1192418944, 1106169344, 1140064768, 1650794624, 1511572864, 1124928000, 1331113216, 1501531904, 1732531072, 2005439360, 1285569280, 2138831232, 2089206784, 2131061376, 1354274176, 1504673408, 1303607168, 1257269120, 1789374464, 1508083328, 1256170880, 1905856640, 1799457536, 2101979648, 1120810112, 1888674432, 1159839616, 1454235648, 1195647488, 1969780352, 1086556416, 1595408256, 1815309056, 1281006592, 1679098240, 1442448896, 1249515648, 1185992704, 1680041472, 1653050624, 2122188160, 2020524672, 1287046528, 1918689408, 1817977472, 1677635328, 1432059008, 1885329024, 1273491712, 1190321536, 1751267456, 1175570048, 1089708288, 1203801600, 1596956032, 2035168512, 1240857984, 1169825536, 1677800832, 1310374784, 1947575040, 2041468800, 1360293632, 1215213440, 1297197952, 1991847296, 1673104384, 1208519936, 1167993984, 1633905536, 1747216896, 1705746816, 1989972352, 1984208768, 1998352256, 2082658432, 1698542976, 1599555456, 1618537216, 1214845952, 1233713152, 1185032832}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {19438, -6141, 1971, 25271, 8744, 21381, 238, -9136, 37691, 29790, -10303, 38149, -5092, 5038, -6023, 56943, 48841, 19759, 33341, -6850, -2197, 21459, 25958, 41961, -5851, -7873, -19201, 10847, 25813, -4099, 10821, -1406, -95, 953, 14362, 38973, -22683, -8370, 22690, -1334, 23369, 32720, -12662, 16556, 1596, -12190, -6611, 49060, 24410, 13930, -18607, 22445, 18310, 4544, -7891, -5350, 40325, 61293, 11215, 7607, -6294, -944, 61073, -6385, 46424, 24515, 16764, 519, -876, -4074, -19056, -27229, 3980, 5910, 22771, -11825, -11914, 7893, 291, 111499, 12632, 29724, 20234, -3654, 84141, -20146, 62015, 4519, -482, 1143, 7754, 2657, 20254, 27349, -832, -7342, 39132, -12831, 30423, -831, -1170, 19870, 22876, 13124, 4770, -7637, 88704, 7147, -930, 8417, -7107, 56004, 8999, 35662, -5206, 16105, 1040, -8475, 8698, -8072, 79657, -9238, 164, -947, 8602, 35626, -20978, 8041, -17177, 44529, 46336, 70458, 39760, 12577, 16522, -2216, -4863, 52352, 20804, 14986, -5531, 29560, 12928, 31885, -10199, -7507, -16877, 36837, -4125, -6262, 44674, -15384, -7867, 53988, -9515, -6507, 1580, -11993, -976, 1596, 2816, 16326, -8222, -11665, -12701, 147, 7719, 764, -1234, 35427, 78976, 47456, 76367, 23202, 9132, 46062, -517, -4684, -523, -6324, 31714, 37952, 23086, 16755, -13141, 46196, 26818, 11600, -17442, 20853, -4375, -7784, -3821, -8360, -9327, 378, 35784, 538, 17049, 18413, -10606, -4601, 3475, -13053, 11690, 850, 49799, 3631, -3307, -8836, -26932, 13306, 1047, 117615, 34927, 11617, 5294, -2421, -8869, -3038, 15317, 60467, 8366, 3607, -11692, 7588, 3275, 17012, 4397, 20024, -6008, -2118, 1395, -5168, 63490, 10490, -22776, 63871, -17564, -2985, -7046, 54186, 31518, -9841, -1093, -4961, 16567, 10863, 76727, -605, -3946, -3001, 119622, 19640, -2517, -15194, -4269, 90484, -944, 37286, 21000, 13, 5884, 18, 341, -226, -14459, -8036, 8177, 89257, -831, -15318, 34045, 39729, -3927, 19448, -45714, -5176, 26012, -25090, -4764, -2590, 21631, 5412, -3342, -26019, -30187, 22855, 7546, -11564, -1125, -1806, 19613, -6551, -1069, -244, 12338, -1439, -2224, -6728, -1747, 7210, -13749, -1238, -17517, -61, 7279, -1684, -2759, 10125, -13569, 1011, -23444, 40452, -16793, 32322, 25311, 78905, -18679, -2533, 32369, -2225, -17780, -1479, 21996, -13002, 25523, 12623, -19161, 12379, -4049, 40201, 62822, 414, 48639, -9695, -3043, -41752, 28736, 31510, 38679, 20248, -19150, 51792, 3900, 23733, 22469, -390, -1505, 28480, -9311, 54913, 35601, 37465, -6526, 71, -24132, 7095, -35140, 2276, -26372, -10268, 18732, 19549, -7559, -9584, 87737, -14759, -8670, 50, 56405, -16668, -4471, 9141, 9015, -5611, 9483, -14375, 25750, 9302, -3195, -381, 35920, 33917} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-113, -5, -27, -261, -53, -91, -34, -5, -326, -215, -11, -221, -38, -43, -107, -273, -295, -154, -180, 4, -1, -240, -247, -365, 2, -12, 18, -69, -122, -16, -92, -27, -115, -11, -102, -297, 26, -14, -228, -63, -245, -110, -12, -148, -57, -14, 3, -160, -116, -105, 8, -263, -104, -43, -3, -7, -324, -316, -75, -27, 9, -22, -287, -9, -179, -262, -180, -91, -140, 21, 19, 26, -92, -44, -178, -51, -6, -49, -143, -311, -67, -304, -247, 8, -451, 25, -425, -108, -12, -24, -57, -116, -123, -241, 0, -15, -255, 35, -257, -2, 12, -245, -233, -125, -81, -2, -453, -80, -25, -62, 11, -332, -49, -360, 36, -45, -21, -5, -64, -3, -316, 1, -61, 12, -60, -305, 0, -37, 14, -248, -344, -283, -271, -113, -225, -183, -127, -266, -120, -187, -77, -234, -58, -132, 25, -3, 19, -219, 52, -10, -311, 16, -3, -309, -73, -5, -112, -59, -26, -16, -82, -123, 10, -15, 0, -97, -98, -118, -23, -304, -381, -270, -266, -212, -88, -275, 73, -5, -9, -11, -171, -254, -202, -88, -10, -354, -137, -145, 30, -106, -21, -48, -15, -9, -98, -42, -246, -135, -123, -190, -46, -20, -84, 17, -106, -68, -199, -28, -98, 11, 29, -61, -137, -434, -274, -180, -72, -17, 14, -60, -144, -373, -74, -27, 8, -52, -27, -96, -139, -111, 5, -16, -143, 5, -355, -65, 42, -387, 11, -5, -13, -305, -233, -15, -2, -96, -107, -122, -312, -78, -68, -117, -516, -64, -113, -6, -80, -474, -19, -276, -249, -175, -24, -9, -119, -86, 9, -56, -55, -580, -30, 1, -286, -196, -46, -101, 5, -26, -255, 25, -8, -26, -200, -70, -5, 30, 43, -258, -129, -15, -62, -16, -119, -103, -25, -72, -79, -115, -45, -4, 6, -77, -19, -48, -1, -12, -101, -89, -75, -156, -8, -55, 83, -247, 10, -196, -166, -323, 13, -81, -241, -47, -1, -18, -237, 11, -243, -64, -1, -102, -160, -263, -378, -158, -258, 5, -17, -5, -207, -231, -141, -241, 11, -287, -46, -116, -99, -6, -14, -144, -11, -322, -277, -270, -84, -86, -27, -150, 21, -6, -37, 10, -141, -176, 9, 2, -424, -72, 0, -14, -340, 10, -50, -59, -63, -74, -33, 13, -108, -95, -23, -125, -227, -273}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1671119360, 1631488384, 1533160832, 1698725632, 1711597952, 1864267264, 1928233728, 1147391360, 1890150656, 1214974208, 1499412480, 1349110144, 1195351424, 1986852224, 1378267648, 1317038080, 1380847104, 1786183936, 1193917440, 1840819840, 1648688128, 1837855744, 1562865408, 1870409216, 1754727040, 1843301888, 1368553984, 1274879360, 2059040512, 1706178816, 1179761920, 1700568064, 1113721728, 1084797312, 1681957504, 1858649088, 1706922880, 1971599744, 1476103424, 1564722304, 1897591168, 1441458944, 1891891584, 1189601920, 1970907008, 2006134272, 1627468928, 1347267840, 1539585152, 1417510144, 1280864896, 1777511424, 1240507392, 2053095040, 1996672640, 1879825024, 1711438464, 1746567424, 2102052352, 1086196096, 1937760256, 1369569920, 1216115968, 1788670592, 1115674496, 1601885952, 1210355456, 1190562560, 1869675136, 1560939904, 1281523456, 1710096896, 1844657280, 1964231936, 1558643584, 1693380864, 1788318848, 2122067712, 1110360576, 1952204032, 1475355264, 1147456384, 1307389824, 1315037184, 1679508352, 1969029248, 2020003712, 1694845440, 1926675584, 2104622976, 1825672576, 2009883136, 1091935232, 2132367616, 1550931712, 1169395072, 2095997696, 1380731776, 1956869888, 1473956736, 1595720448, 1776799104, 1775727360, 1808110592, 1900385024, 1106207744, 1990795648, 1234906624, 1145776000, 1751187712, 1420763520, 1268487168, 1324408320, 1826910080, 1573332608, 1229177088, 1964771072, 1986432256, 1680797824, 1285476608, 1470950528, 1091687680, 1449516672, 1833805440, 1567789568, 1608093312, 1410615936, 1377973888, 1378739712, 1788942208, 1704353152, 1764103808, 1340284160, 1194878848, 1482945408, 1523290496, 1278975872, 1555618432, 1953406208, 1548767104, 1190174720, 1468452480, 1138920064, 1583164416, 1311493504, 1375224576, 1772470528, 1855063040, 2052454656, 2103601792, 1463076864, 1716646400, 1923083648, 1750991104, 1830924800, 1830243840, 1249185280, 1223508480, 2106045440, 1847940096, 1694880896, 1467212032, 2094131712, 1108024064, 1341678976, 1854461184, 2106909952, 1891384704, 1131465216, 1190612864, 1190533248, 1580107520, 1493016192, 1628545920, 2064366080, 1882797312, 1486666752, 2075542912, 1516606464, 1883612416, 1575845248, 1301462016, 1719271296, 1161233024, 2015275520, 1382407296, 1955755008, 1197654144, 2053900160, 1117775616, 1181634048, 1129083776, 1943632256, 1124326016, 2069625984, 1471765888, 1899329024, 1405833856, 1141390080, 1193807232, 1480836480, 1889468288, 1863007744, 1088478336, 1426425600, 1537302528, 1171690368, 1486368640, 1165933824, 1692132224, 1174471424, 1248292736, 1079855488, 1316148864, 1424514560, 1433275520, 1406270848, 1740180608, 1394142720, 1417892864, 1520922368, 1099124224, 2145550464, 1532524800, 2002924032, 1121088384, 1995358464, 1509404032, 1594399616, 2115422976, 1772608000, 1149443200, 2110569344, 1612864512, 1991932160, 1976505216, 1850092928, 1263388928, 1148614656, 1942140288, 1207296256, 1300494208, 1626809856, 1608275200, 1407219328, 1559334528, 2053435008, 1612039424, 2105688960, 2118385408, 1416190080, 1220356096, 2056254848, 1834207104, 1342243584, 1196926592, 1824483456, 1436903296, 1455532416, 2071320832, 1210288256, 1483491584, 2111529088, 2034413824, 1300335872, 1862635136, 1711111296, 2052987392, 2114064512, 1582659840, 1398033024, 1160733824, 1214631424, 2080598656, 1744418816, 1500448768, 1564215040, 1332067456, 1717460864, 1244351744, 1278111744, 1462337152, 1574490624, 1876441344, 2094572160, 1450969088, 2040853888, 1120535168, 1167903104, 1387230464, 1209362816, 1646353792, 1228828928, 1354522752, 1830045824, 1336158080, 1312412544, 2077395584, 1311720192, 2089892736, 1449945856, 1724615296, 1224610944, 2071061888, 1268393856, 1969202944, 1776484992, 1674375680, 2096230144, 1392374272, 1203797632, 1274843648, 1437987200, 1216384512, 1272614272, 1510091392, 1168827392, 1731521664, 1117362176, 1765148160, 1643973376, 1162918912, 1879323776, 1932013056, 1175457920, 1799729920, 1666599040, 1152035712, 1379921024, 1984627584, 2042324096, 1776678528, 1089673984, 1528103552, 1149924224, 2134710656, 1538967552, 1184597632, 1126109312, 1783850112, 1325481472, 2137696512, 1196966016, 1542284928, 1110073728, 2007552640, 1092609024, 1875923584, 1280643712, 1442286720, 1838807680, 1243971072, 1757452928, 1092203264, 1564992768, 1572216704, 2122496384, 1605080576, 1123546112, 1600037120, 1431708416, 1975459456, 1326434432, 1176463232, 1564797440, 1820036096, 1122082176, 1796628352, 1141764736, 1097106304, 1467719296, 1333454976, 1331867136, 1100383488, 1156514304, 1079892480, 1248755200, 1790707584, 1918210176, 1679917952, 1826621696, 1130598784, 1359204096, 1154039552}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {-9914, 3375, -8863, 14994, 6497, 3629, 7899, -13164, 78770, 25178, 24893, 9326, -13324, 4953, 7287, -1782, -14170, 20020, 8222, 26120, -4415, -14018, 37320, 10199, -1818, 30525, -24508, -46617, -29816, 1704, 16051, -1953, 45869, -31207, 7193, -79992, 7546, 15281, 2919, -5744, -34324, 47484, -5578, -8463, 7110, 16726, 7797, 31623, 12787, -40631, 36444, 14228, 7820, 21603, 21603, 93476, -23472, -12045, -62426, 15140, -75884, 30124, -35499, 24343, -16593, -66182, 10378, -7891, 76018, -45328, -38906, 101265, 2687, 5152, 37352, -6754, 61624, -19429, -19123, -36509, -8845, 249, -5644, 75632, 9116, 113836, 43834, -36163, 51223, 39977, -6856, 20881, 23315, 140987, 1898, -8602, -65233, -9354, 28554, -9666, -14184, 12833, -1465, 7238, -10896, 44845, 13652, 23675, 36447, -6946, 120237, 41750, 16908, -1048, 38183, 93419, 15029, 59451, -18463, -13045, -4395, -6828, -7529, 46878, -105484, -39621, 37872, -29381, -1508, -27260, 43174, 30926, 11951, 30288, 28224, -15418, -3242, 6945, 60954, -35884, 50065, 10034, -1021, -9960, 95750, 3964, -6674, -12475, 6977, -8533, 33645, -8684, 63510, -25638, 4776, 71939, 113237, -28083, 2666, 50966, 4695, -3135, -71887, 25627, 20531, 33450, 82205, -12502, 13977, 103639, 3346, -28124, -1585, 61459, -47970, -5864, 8881, 30811, 468, -17289, -53709, -4319, -24576, -51345, -29206, 9355, 59014, 37291, -16336, 18948, 12651, 11885, 26570, 13871, -23098, 53925, 24024, -332, 38088, -19582, 17216, 43174, 34470, 35653, 28105, -18830, -26787, -54642, 35187, -13202, 29576, 12683, -34318, 15857, -11467, 14435, 43634, 22420, 20977, -16685, -25465, -54, -12589, -16451, -43820, 1281, -41117, -13144, 32511, 41269, -21249, 17424, 85672, 49154, 9567, -2596, 26638, -16454, -17638, 54586, -32941, -16644, 25834, -33104, 7059, 23525, 31927, 56333, 5709, 6109, 33260, 82207, 24032, 5396, -24511, 57555, -43211, 26530, 5476, -17485, 466, -68103, -4597, 46847, -21363, 8239, 9512, -55666, -6287, -12116, 16574, -22921, -20115, -42626, -27345, -22915, 19673, -20761, -34852, -2141, 33469, 8619, 11549, -16978, 137317, -5326, -7092, 7517, 43893, 4202, 8260, 1056, 33381, -4537, -59931, 7160, 2371, 12738, -18955, 5343, -36591, 26077, -40550, -12809, -30944, 10052, 27682, 31425, 29166, -19614, -9322, -19297, 9884, 26588, 22574, 40571, 16708, -18432, 8391, 39716, 29201, 16730, -25274, -18332, -40935, 16772, 38, 18080, 5142, -25017, 38454, -53234, 3538, 15394, 85570, 40751, 44430, 34349, 12138, 68961, -10348, 15993, 11854, 17227, 44731, 426, -6252, 14306, -2008, -2250, -31062, 70870, -1166, -11074, -4728, -8285, 15869, -28510, 13799, -25501, 5362, 60653, -20361, -14353, 7040, 69930, 57917, -3437, 29974, 2635, -8702, 11719, -11807, 159089, -55849, -35448, 74735, -14037, 30838, -2178, 50761, -38232, 14539, 89475} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-126, -121, -124, -121, -125, -116, -150, -131, -181, -142, -58, -103, -148, -123, -127, -68, -115, -117, -86, -109, -118, -131, -112, -142, -117, -135, -113, -120, -134, -128, -137, -94, -105, -104, -136, -135, -155, -92, -76, -93, -135, -142, -85, -121, -103, -103, -158, -153, -114, -109, -146, -50, -83, -137, -135, -140, -136, -124, -136, -126, -112, -150, -95, -95, -108, -141, -109, -111, -121, -97, -132, -95, -138, -116, -119, -157, -104, -98, -105, -124, -166, -137, -111, -144, -117, -142, -137, -129, -146, -160, -130, -126, -140, -140, -138, -123, -118, -139, -106, -126, -113, -110, -119, -144, -99, -99, -134, -105, -84, -115, -123, -164, -126, -112, -117, -105, -125, -135, -99, -104, -110, -116, -118, -118, -135, -117, -126, -141, -126, -124, -110, -112, -147, -132, -105, -66, -126, -95, -145, -120, -119, -162, -120, -146, -114, -110, -123, -128, -125, -105, -123, -170, -108, -109, -91, -146, -111, -138, -139, -110, -132, -131, -133, -102, -100, -162, -128, -108, -129, -138, -110, -142, -137, -130, -107, -114, -129, -127, -88, -127, -117, -136, -108, -103, -129, -127, -108, -116, -90, -113, -145, -125, -97, -134, -130, -127, -153, -132, -107, -109, -128, -145, -119, -136, -81, -126, -138, -108, -119, -137, -126, -140, -108, -106, -150, -125, -107, -112, -116, -114, -103, -98, -111, -143, -142, -111, -108, -136, -117, -149, -97, -146, -127, -134, -93, -141, -100, -128, -107, -143, -138, -173, -121, -139, -149, -142, -152, -145, -122, -144, -112, -132, -166, -149, -146, -119, -127, -115, -143, -152, -126, -116, -132, -117, -137, -128, -135, -127, -118, -113, -87, -139, -111, -149, -126, -123, -123, -133, -123, -102, -128, -117, -124, -100, -124, -74, -106, -159, -115, -151, -137, -145, -113, -160, -118, -118, -162, -119, -110, -128, -126, -119, -128, -143, -90, -71, -124, -136, -108, -114, -141, -157, -138, -121, -132, -159, -86, -130, -124, -114, -114, -168, -113, -96, -168, -81, -126, -104, -105, -101, -133, -103, -100, -121, -135, -157, -169, -117, -126, -141, -121, -103, -57, -99, -128, -109, -131, -121, -115, -134, -131, -113, -133, -133, -123, -165, -124, -111, -100, -150, -107, -116, -132, -87, -83, -129, -125, -132, -94, -132, -121, -115, -113, -124, -120, -108, -115, -117, -129, -97, -104, -110, -126, -114}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {2120674432, 1177784576, 1167365376, 1361137792, 1808167808, 2040913408, 1104398336, 1949805312, 1374591872, 1609896576, 1384681088, 1893853056, 1701023744, 1336638720, 2126277760, 1743006080, 1932108672, 1079120256, 1392026752, 1851936640, 1087780352, 1635757568, 1291231744, 1450783744, 1707699328, 1580986368, 2050223488, 2098916352, 2136043264, 1140098304, 1300045568, 1430906368, 1844532992, 1294927616, 1233677824, 1235961088, 1083192320, 1505882624, 1524999424, 1532855424, 1268157952, 1388298112, 1803185536, 1827393024, 1107527552, 1188935936, 1141740544, 1699840000, 1396396160, 1831379456, 1775526528, 1500023680, 1430891776, 2019572608, 1486225024, 1448289664, 1207627648, 1956068864, 1234966016, 1183375616, 1226916096, 1297043456, 1397567104, 1460295808, 1334715776, 1087682176, 1904540160, 1434482304, 1628169600, 1385254912, 1421211008, 2013763456, 1117171072, 1170479232, 1723722880, 1407420800, 1992688384, 1498677248, 1104927104, 1147492224, 1357652352, 1131478528, 1773097216, 1896443776, 1798620416, 1898606080, 1094783616, 1150199424, 1860991104, 1665011584, 1205919488, 1768339584, 1111202816, 1235623808, 1076291072, 1830247168, 1082071040, 1318146048, 2104363904, 1792709760, 1702656128, 1089797632, 1960853120, 1078832128, 1208073088, 1642201984, 1829569920, 1411030272, 1112347776, 1880335872, 1912551552, 2095185024, 1235197184, 1232536832, 1271404032, 1250749184, 1744123392, 1076808448, 1341043584, 1229933184, 1396799616, 1886333568, 1235935616, 1571206912, 1488810496, 1123624576, 1243629056, 1278714240, 1325018368, 1775394816, 2136408704, 2019618560, 1820594560, 1127776896, 1337255552, 1525924608, 1126015616, 1087955712, 1543376256, 1989562752, 1981154816, 1656503808, 1600273664, 1325132928, 1562424960, 1383725440, 2022297600, 1384240256, 1943644288, 1175233280, 2032071168, 1165543424, 1324586240, 1138347008, 1298519552, 1193949696, 2022870656, 1083524352, 1466622976, 1265354496, 1429474688, 1139491712, 1292641664, 1574578176, 1555754112, 1434906880, 1455548288, 1234747776, 1496057984, 1355987968, 1190185728, 1269693696, 1270976128, 1898534528, 1843924608, 1884099840, 1414797568, 1781050240, 1250900864, 1179043072, 1197624192, 1208654208, 1142580480, 2033026432, 1290638848, 1076681088, 1117707392, 1903696000, 2143543680, 1647021184, 1717905536, 1569839360, 1205658880, 1108600704, 1720786432, 1832982400, 1881206656, 1535961472, 1346833664, 1208440704, 1322186240, 1554685568, 1331608320, 2063325440, 1342192128, 2110950528, 2052270976, 1939084160, 2115952256, 1099521664, 1779138944, 1862289024, 1417141120, 1195236608, 1372812032, 1537115264, 2062656128, 1393662080, 1168127232, 1471296000, 1602681984, 1219709824, 1265956096, 1231780352, 1778249088, 2018856960, 1146845824, 1607629824, 1940025472, 1800159488, 1428436224, 1267300736, 1270966528, 2120713088, 1319700864, 1272338688, 1100076672, 2068024576, 2014044032, 1260806528, 2026999936, 1560759168, 1647629696, 1075305600, 1632239232, 1302708864, 1205639296, 1318773376, 1247077888, 1478565504, 1498536448, 1540461952, 1234279296, 1413252096, 1085211392, 1145148672, 1793132928, 1195484032, 1182789504, 1175501952, 1878918784, 1228537472, 1514177280, 1211868928, 1341761408, 1178990080, 1273411840, 1419282560, 1265724032, 1244035584, 1616504576, 1233158144, 1669318912, 2071271936, 1102887168, 1173172480, 1221148032, 1377429632, 2053261568, 1955993472, 1168708096, 1095845888, 1534080384, 1978441728, 2086685824, 2124970368, 2141409408, 2054750208, 1635061376, 1177986944, 1225949824, 1802117248, 1717171328, 1088574976, 1967461376, 1352589056, 1137682688, 1082883200, 1556396672, 1225447040, 1815724672, 1163192448, 1268479744, 1256602112, 1240780160, 2132649344, 1092163968, 1959819136, 1488530944, 1228273280, 1636980736, 2018945536, 1797158656, 1810828416, 1686652160, 1971869824, 1337472256, 1442217088, 2059909248, 1988620160, 1782251648, 2072853120, 1477275520, 1388462080, 1477282048, 2119258112, 1808360832, 1886215936, 1360659584, 2013266560, 2020488960, 2019298816, 1609215744, 1469261568, 1521683328, 1400196864, 1721863296, 1735411072, 1262742272, 1434929664, 1081317632, 1348654208, 1082060160, 1774808960, 1576553216, 1092668672, 1999429120, 1818918400, 1143543424, 1083871744, 1333052544, 1297325824, 1125732736, 1539819520, 2068377472, 1204291968, 1610642816, 1825357696, 1884614272, 1531778304, 1346940160, 1755953536, 1422926080, 1714822272, 1358989952, 1956626432, 1727555328, 1230291584, 1640800896, 1461175552, 1675586304, 1136055680, 2043201024, 1593803648, 1843615488, 1158531840, 1451021696, 1258897664, 1344929152, 1640222720, 1466843776, 2130716544, 1086892672, 1935442048}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {54067, 8077, -12538, 9389, -4213, 20446, 42375, 7157, -1079, 61494, 7954, -46464, -11895, 54017, 14268, 10404, -105, 18300, 73023, -10601, -5022, -16569, 6685, -19033, 47579, 47816, 8951, 146, -3673, 29147, 24985, 11605, 20203, -615, -22098, -8910, -31186, 2111, -11027, -5503, 1383, 6176, 418, 9113, -10273, 12916, -901, 16649, -3690, 62287, 25090, 70587, 20816, -1484, -6206, 167760, -625, 54765, -73, -10848, -14, -6316, 35254, 7421, -39643, -3093, 4426, 207, 14709, 14051, -7289, 14242, 102859, -11253, 7634, 48949, 26552, 3420, 70767, 76781, 521, -5422, -6472, 44597, 74654, 4332, 111323, -10573, -12164, 40194, -3410, 6247, -7746, 19461, -2602, 115070, 3132, 7703, 47755, 33151, -10858, 94500, -1889, -327, -2274, 32200, 26591, 6582, 616, 74931, 16051, -34416, 8941, 5923, 21708, 4423, 7433, -18743, 3927, -3860, 12552, 31139, -10048, 7061, -5877, -5383, 51670, 72319, 16305, -8841, 19538, 51308, -14814, 25300, 371, -6398, 16831, 11897, 9308, 998, 43379, 36780, -2105, -1332, 33315, -1195, -30955, 8514, 5657, 8315, -13921, -23225, 18212, 80728, -1, -2037, -6571, -5161, -17075, 68554, 37674, 44462, -23448, 16136, 172, -22925, 17779, 5314, 105969, 16178, -1216, 5897, 11537, -5579, -9272, 6316, 25085, -1937, -5579, -7628, -2294, -4058, 12278, 13713, 173743, -2283, 5231, 50118, -20504, 80771, 26300, 2778, -971, 13006, -17809, 20980, 1667, 16412, -6215, 12428, 7174, 8663, -16711, 29925, 5733, -7180, -5674, -9554, 30718, -4621, -1834, -1409, 50670, -1891, 5918, 62242, -4643, 5693, -8480, -9117, 70854, 40820, -3460, 9112, -714, 27330, -10352, 9516, 46847, -10176, 7691, 7014, 13818, 18752, 53528, 49761, -5372, -2694, -11815, 24967, 98793, 7696, 22153, 5629, 3529, -8824, -1702, -14624, -10876, 72902, 5604, 65820, 3190, 18078, -9852, 16671, -1714, 5459, 11099, -9334, 2742, 51780, 12963, 6229, -10932, 97830, -2922, -121, 41233, -4438, -8391, -1432, -8073, -3104, 18678, 84162, 15072, 21087, -5248, 106787, 16108, -2089, 35215, -278, 17785, 98878, -7315, 5697, 10459, -5044, 14082, -6434, 28267, 15889, -13818, 109659, 11196, 45557, -2910, -4072, -12442, 3989, -9214, -546, -7522, 6081, 39744, 20904, 45111, 2413, 185, -4214, 10367, 4770, 41885, -5140, 18482, -9915, 5403, 9045, 40831, 18741, 5548, -4041, -18111, 5313, 3741, 19488, -2682, -7776, -6900, -6022, 13210, -1211, 5759, 9722, -2121, -338, 16387, 2041, -32920, 75282, 97221, 18156, 38138, 3912, -12611, -53781, -12479, -9221, -10300, 3144, -1561, -2342, 11255, -9787, 584, -2475, 6040, -4255, -2009, 142486, -10164, 48667, -3391, -4851, 10841, 46405, 13470, -23500, 297, 15884, 18229, 15956, 15653, -3622, 31822, 1384, 130, 24912, -26, -3527, 16516, 16647} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-340, -54, -41, -194, -15, -99, -225, -53, -31, -286, -27, 36, -66, -443, -104, -196, -18, -237, -383, -13, -7, -31, -41, 1, -283, -271, -30, -89, -22, -222, -223, -167, -264, -22, 7, -4, 12, -125, -26, -20, -88, -39, -20, -141, -3, -105, -119, -112, -15, -231, -149, -402, -130, -116, -18, -575, -73, -292, -20, -60, -25, -37, -271, -36, -21, -23, -24, -80, -109, -103, -64, -203, -373, 4, -39, -477, -268, -22, -377, -278, -86, -25, -20, -225, -275, -36, -600, -62, 4, -274, -5, -108, -24, -252, -71, -433, -90, -99, -332, -236, -6, -276, -51, -138, -4, -266, -199, -72, -22, -269, -200, -33, -35, -29, -74, -176, -93, 0, -139, -4, -38, -167, -39, -66, -31, -8, -407, -293, -46, -84, -206, -317, -7, -106, -119, -8, -147, -28, -63, -75, -294, -171, -94, -9, -258, -91, -9, -108, -158, -177, -13, -9, -242, -357, -167, -120, -32, 1, 2, -382, -214, -318, -45, -162, -82, -48, -243, -127, -606, -248, -26, -67, -52, -38, -38, -23, -116, -105, -18, -5, -19, -10, -138, -92, -608, -54, -33, -265, 10, -431, -257, -116, -136, -42, -36, -255, -52, -130, -26, -87, -54, -152, -8, -214, -31, -40, -26, -2, -215, -58, -38, -10, -336, -17, -30, -403, -11, -54, -12, -15, -359, -283, -88, -170, -173, -261, -20, -68, -222, -73, -34, -77, -237, -136, -352, -170, -23, -69, 3, -134, -373, -11, -110, -97, -25, -20, -92, -79, -12, -362, -152, -374, -135, -116, 6, -217, 38, -29, -155, -74, -127, -297, -140, -26, -44, -354, -99, -29, -406, -2, -13, -149, -55, -43, -215, -401, -64, -130, -14, -461, -249, -73, -269, -38, -227, -523, -8, -111, -162, -135, -104, -18, -190, -51, -1, -475, -166, -294, -24, 14, -42, -56, -50, -29, -30, -51, -284, -174, -288, -21, -175, -18, -164, -102, -274, -23, -209, 32, -25, -28, -265, -143, -22, -89, -74, -162, -49, -117, -108, 61, -20, -9, -45, -45, -36, -110, -63, -34, -47, -39, -29, -335, -417, -159, -266, -43, -64, 120, -14, -12, -126, -44, -8, -37, -106, -7, -198, -39, -28, -23, -16, -612, 11, -329, -136, -66, -47, -193, -189, -14, -24, -63, -125, -237, -158, -18, -250, -60, -132, -176, -15, -100, -58, -220}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {2050819584, 1075690624, 1473119360, 1406914048, 1162619008, 1314030720, 1291815424, 1309887360, 2096725632, 2052997248, 1300962816, 1768059008, 1327844224, 2073991808, 1097808768, 2114702336, 1862645632, 1328410368, 1355403264, 1427252736, 1424036736, 1078724736, 1124085888, 1332113408, 1129066752, 1822952448, 1297628800, 1243666432, 1329903104, 1897403392, 1716245248, 1935858048, 1311486080, 2100433664, 1773705600, 2112340224, 1384574208, 1501942656, 1127090688, 1941246080, 1573026688, 2073835136, 1362206592, 1566342912, 2140182400, 1329435648, 1947038336, 1187853696, 1869323904, 1831442304, 1132245376, 2033823104, 2017359872, 1942627200, 1391571072, 1957159808, 1592232192, 1124489216, 1884928000, 1792353152, 1143003520, 1109214848, 1248443648, 1976713344, 1794126336, 1135610880, 1564307200, 1974017280, 1360544512, 1212076672, 1953427328, 2094438912, 1155894016, 2082596864, 1803109504, 1862119808, 2131950848, 1744214144, 1514242176, 1710588672, 2013118976, 1311547648, 1218942720, 1255580032, 1772402432, 1323146496, 1651888512, 1675412480, 2147282816, 1980808960, 1977399808, 1703258752, 1484029440, 1321465472, 1443680256, 1684703488, 1208797952, 1093040896, 1416404864, 1965398144, 1435241088, 1543252864, 2061850368, 2083458176, 1754450560, 1747979392, 1912561536, 1543027584, 1643556096, 1425227264, 1184020352, 1818598016, 1308499840, 1805373824, 1499886080, 2006475776, 1457974656, 1307304832, 1120219136, 1921986688, 1126778368, 1149805824, 1741046400, 1430017536, 1209926656, 1103092480, 1100082304, 1536629120, 1095947392, 1314811008, 1245989632, 1138802432, 1431316608, 1559368192, 1459612288, 1693475712, 1104279424, 1163687168, 1473830912, 1694326528, 1424110720, 1819626368, 1760189568, 1930839040, 1992020352, 1740154368, 1190856576, 1619226240, 1172013184, 1936545408, 1176905088, 1152674944, 2034854016, 1379707648, 1473881344, 1400936704, 1388021504, 1106527488, 1768299904, 1866584832, 1215103744, 1144532864, 2003025152, 1666013696, 1854705024, 1725132416, 1337145344, 1621290624, 1744448512, 1627734272, 2067094528, 1515854464, 1520798208, 1505479552, 1317432064, 1265541120, 1974507520, 1764278016, 1219243008, 1947586688, 1149864320, 1110438656, 1287585280, 1132436352, 1366992768, 1775620224, 1518082688, 1375963136, 1184348544, 1099455872, 1180288640, 1255525504, 1527753984, 1434463488, 1353504512, 1867203072, 1704621696, 1897158144, 1123074688, 1150841472, 1445815680, 1553276928, 1259037184, 1196139648, 1987415680, 1546236544, 1856436224, 1373006336, 1511386752, 1512696960, 2037623808, 1165454592, 2031847936, 1902865920, 1382828800, 1732720000, 1184536192, 1114129024, 1216308096, 1339382784, 2013863936, 1927739392, 1787135488, 1942567168, 1884801792, 1117324544, 1200999424, 1094264448, 1097543424, 1187868800, 1230599168, 1366749184, 1744366208, 1801073152, 2011164544, 1846504192, 1230376576, 1458942208, 1806504192, 1965179136, 1203764480, 1258125440, 1648035456, 1973792768, 1321257984, 2088203648, 1084518016, 2023271680, 1437593856, 2008607232, 1647757568, 2091232640, 1104005888, 1259584128, 1973363328, 1156654720, 2130598400, 2004995840, 1286653440, 1409948800, 1433422976, 2056823680, 1929897088, 1386631040, 1651047040, 1231306624, 1774787968, 1199294336, 1414701824, 1718895232, 1903153280, 1624310144, 1133222656, 1553221120, 1212788992, 1215496192, 1149237248, 1785028864, 2116506496, 1087283968, 1163614208, 1518317952, 1145356160, 1086658176, 1394025472, 1727336832, 1368730496, 1455137408, 1682577152, 1757384576, 1959985024, 1119328768, 1730335616, 1290402944, 1268186496, 1800265216, 1110750464, 1118992512, 1703035904, 1771240576, 1393690112, 1179451264, 1266222464, 1355971712, 1509595648, 1839211008, 1657684096, 1258894080, 1150024064, 2096045568, 1202361344, 1225904640, 1256153216, 1385300480, 1264578944, 1906864000, 1843371392, 1556494848, 2143059328, 1388264192, 1559267072, 1208105856, 1362776704, 1556487680, 1159659520, 1485516160, 1129961088, 1374185984, 1161483136, 1985440512, 2068572032, 1949233664, 1156892544, 1618813824, 1961366656, 2076412288, 1289450240, 1835805952, 1389611904, 1599045376, 1617012224, 1553200000, 1164009984, 2057674752, 1753177984, 2066891264, 2034904448, 1551016960, 1113289856, 2122476672, 1124219264, 1947905024, 1845869440, 1748510720, 1277104512, 2021379456, 1220781952, 2108070528, 1434315392, 1251663744, 2038377856, 1681008256, 1320191360, 1941528192, 1551676160, 1517350272, 1894723584, 1344676608, 1099743744, 1551369216, 2109982720, 2022938368, 1145979520, 1562221312, 1469143680, 1483373568, 1802833792, 1527003648, 1492098176, 1588865152, 1387888640, 1121120640, 1435391488, 2116114176}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {21591, 6284, -26368, -39030, -34679, 11435, -23553, -7555, -4249, -2614, 17055, -5735, -13181, -26575, -45848, -27875, 2294, 4102, -33936, -33124, -34190, 14477, 25834, 16271, -20047, 6820, 1423, -27535, -19265, 38975, -21823, -13064, 12156, 17014, -49205, -44624, 26235, 7604, -24319, -4288, -59526, -40003, -12350, 1428, -39527, -7884, 2636, -21886, 5836, -37827, -33187, -8967, -12608, -9762, -20681, -781, -21714, -27257, -10242, -17497, 60968, 1578, -9093, 1382, 21079, 37255, -13823, -19300, -87615, 2065, -12585, -65822, -30131, -21858, -34076, -74801, -35721, -10574, 10979, 3342, -40021, 10473, -16518, 27598, 9148, 14119, 20980, -53746, -36476, -1070, -19356, 19826, 23185, -16040, -9485, -17682, 3323, 1112, -28862, -22180, 7195, -32964, -55487, -35871, 70386, 34147, -6207, 1612, 2484, -34889, 24664, -14219, 10367, 60911, 21756, -18255, -50702, -58373, -13227, -4674, -20905, -23357, -43963, -20853, -4609, -49985, -31408, -38605, -4321, 4712, -49452, -19498, -7389, 12120, -12069, -16114, -7784, 11617, -50148, -23340, -44905, -27373, -36679, -33117, -27033, 11549, -18978, -24063, 37883, -22197, 28318, 25999, 55075, 33184, 18044, -21716, -3029, -19661, 13899, -1962, 64985, 14639, 659, -3740, -11760, -1691, -57410, -8004, -2121, -41066, -24952, 23548, -10027, -7288, 7636, -6754, 39424, -32725, 24442, 6023, -42487, -51360, 11860, -5991, -47240, 17433, -70076, 18123, -7946, -6256, 8478, -29017, -40062, -36675, -35483, 41808, -3668, -57669, -5068, -9675, -10900, -1070, 7028, -3392, -30141, -14690, 14863, -36178, -23816, -48074, -4496, -17828, 133805, -35832, -12604, -46236, -3370, -17064, 25824, -31016, -23312, -5701, -5950, -18653, -37391, -10594, -46, 15538, 96282, -23556, 36947, 12910, -46028, 3299, 11469, -19595, -29351, -24280, -42800, -1675, -20595, 6534, -22402, -23266, -35588, -6940, 5625, -12397, 17196, -16148, -40792, -17649, -26982, -27292, -10406, -11855, -29834, -31381, -12734, 12630, 7132, -33027, -22105, -15958, -7917, -25637, -20662, -14557, -34739, -17103, -93483, -44746, -6626, 303, 14939, -37631, 16633, -15322, -16778, -54998, -7435, 37892, -27557, -11564, -49131, -15498, 11824, 20082, -21378, 28211, 84587, 4714, -1337, -20781, -17554, 20225, -17809, 35859, 17329, 30669, -3715, -21183, -12556, -58584, 156, -31151, 11553, -47245, -3928, -31417, -27661, 5737, -25225, 19215, 47416, 10630, 20901, -15231, 27747, 18639, -1042, -4093, 2669, -4233, 5611, 69400, 33176, -8308, -737, -22373, -5471, 8823, -11904, -19353, -21575, 37318, -15657, -3122, -12223, -7270, 32688, 6913, -21775, -23219, 15680, 5779, -23853, -2571, 5938, 21429, -6402, -3934, -42707, -7353, -27374, -40142, -10441, 42914, -21712, -24666, 24127, 4354, -23024, 3004, 17243, -19722, -6912, -44210, 18454, -33656, -26132, 77453, -14332, -28187, -1666, -31943, 8773, -42258, -40815, -13253, -46070, -21572, -1369, -28543} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-110, -122, -100, -136, -164, -159, -121, -114, -119, -119, -168, -163, -125, -105, -135, -113, -144, -170, -116, -135, -133, -129, -121, -107, -125, -122, -103, -141, -122, -105, -131, -128, -134, -114, -116, -140, -88, -120, -124, -122, -115, -124, -120, -108, -111, -116, -137, -136, -131, -103, -120, -117, -82, -105, -118, -71, -124, -120, -123, -120, -150, -158, -131, -126, -153, -88, -114, -133, -126, -143, -86, -115, -141, -159, -106, -110, -105, -148, -134, -126, -111, -108, -115, -103, -111, -101, -151, -117, -126, -162, -90, -115, -120, -119, -135, -85, -134, -130, -129, -121, -133, -111, -136, -142, -114, -115, -134, -147, -144, -107, -130, -97, -139, -107, -128, -113, -112, -112, -112, -99, -144, -131, -121, -103, -117, -120, -119, -92, -110, -104, -119, -150, -139, -116, -145, -121, -138, -157, -130, -116, -135, -111, -129, -106, -115, -99, -131, -125, -138, -116, -141, -130, -155, -141, -122, -113, -152, -155, -176, -119, -101, -141, -88, -145, -99, -118, -164, -123, -131, -105, -114, -130, -121, -114, -107, -151, -113, -123, -108, -123, -129, -115, -128, -107, -124, -120, -123, -138, -118, -121, -108, -116, -104, -110, -126, -93, -99, -124, -142, -110, -136, -131, -146, -96, -116, -145, -131, -109, -131, -127, -96, -102, -134, -117, -88, -128, -112, -132, -126, -95, -143, -114, -138, -125, -121, -126, -118, -168, -118, -93, -97, -123, -100, -96, -124, -136, -139, -103, -137, -128, -137, -103, -147, -134, -118, -85, -159, -130, -133, -107, -114, -119, -84, -105, -140, -133, -135, -78, -122, -140, -111, -113, -95, -137, -136, -114, -87, -109, -124, -101, -114, -112, -126, -131, -181, -101, -113, -89, -148, -133, -115, -115, -118, -94, -133, -115, -145, -152, -121, -119, -129, -118, -123, -106, -86, -140, -130, -134, -121, -152, -123, -94, -133, -105, -137, -119, -139, -126, -123, -96, -110, -124, -78, -159, -130, -98, -132, -116, -140, -144, -101, -143, -132, -112, -109, -153, -132, -129, -104, -134, -132, -137, -119, -127, -133, -119, -126, -115, -131, -141, -147, -109, -65, -94, -34, -138, -148, -106, -112, -128, -109, -152, -133, -159, -121, -110, -87, -106, -101, -115, -125, -118, -105, -143, -132, -111, -67, -116, -113, -88, -124, -132, -151, -65, -108, -106, -146, -130, -139, -90, -112, -157, -129, -123}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1518161280, 1335618688, 1561181056, 1509248384, 1764269440, 1222321792, 1236921984, 1493805568, 1080272000, 1600779648, 1799970688, 1330406912, 1096473472, 1129905408, 1160566400, 1169196544, 1913172864, 1431572480, 1232716160, 1932553216, 2128594816, 1194660864, 1648002944, 1079769088, 1154285696, 1851492736, 1178801408, 1342133760, 1729340160, 1548247808, 1227456256, 1191999232, 1102028672, 1497043072, 1195533056, 1106647424, 1493932672, 1941337984, 2125702784, 2067220992, 1268739968, 1957238400, 1489391616, 1422075136, 1126678272, 1167793792, 1391941632, 1173050880, 1211348352, 1345231616, 1081133440, 2067446912, 1607177344, 1322460672, 1370577152, 1553630080, 2074887936, 1235170304, 1380429824, 1996433280, 1794492672, 1538061824, 1392077824, 1179666816, 1806100480, 1242331520, 1325905408, 1164476672, 1253452160, 1616370176, 1271612672, 1297596032, 1105554432, 1460874368, 1674443520, 1689681920, 1219320704, 1273229312, 1200819712, 1988853632, 1470147712, 1622282112, 1075505280, 1147785984, 1287364992, 1323395712, 1388419968, 2142764544, 1235528704, 1454335488, 1377737856, 1118543616, 1316615552, 1230416768, 2053646336, 1898444416, 1176678912, 1350215680, 1391882112, 1960609792, 1465430400, 1948707200, 1948966656, 1178382208, 1629600384, 1923805056, 1869953664, 1161920128, 1424135808, 1224294400, 1340983168, 1186720896, 1127433984, 1476088576, 1751754368, 1187998080, 1156739840, 1190685312, 1846046720, 1246848128, 1294184192, 2000203776, 2099208576, 1140156416, 1965746944, 1508534784, 1317344128, 2097283584, 1390335616, 1172560896, 1169854080, 1390168064, 1237318784, 1883206272, 1623764224, 1167663744, 1166051712, 1219973376, 1114773120, 1364758528, 1195415808, 1223012608, 1127881984, 1268487552, 1957518208, 1272025472, 1149271808, 1502934528, 1347406208, 1392993792, 1321596800, 1547168640, 1866629504, 1921305984, 1816685056, 1127315328, 1347622272, 1410621184, 1218852992, 1438024576, 1754584192, 1235120384, 1284816000, 1810659584, 1528157184, 1757889536, 1451252352, 1851865088, 1178005504, 1195059840, 1343393792, 1698242432, 1979760640, 1640341632, 1442133632, 1256215040, 1741230208, 1732017024, 1227772928, 1801438720, 1770255488, 1280482560, 1458183936, 1554643200, 2104083968, 1123413248, 1693540096, 2022480896, 1724336000, 2142328192, 1464736896, 1259424000, 1324265088, 1376294272, 1375308672, 1694344320, 1402932480, 1569261184, 1303573760, 1303384576, 1284325888, 1892365568, 1685795968, 1294006784, 1352626432, 1663070848, 2055372544, 1184946688, 2026674304, 1485196160, 1420866176, 1652424192, 1157362048, 1137873920, 2138108544, 1082295552, 1983683712, 1243115776, 2042850816, 1342192384, 1125459840, 1327853312, 1217612928, 1170598528, 1205240192, 1415003648, 1165743104, 1602758784, 1501436800, 1430140928, 2015995392, 1814481280, 1302871936, 1443263616, 1757853184, 1426141056, 1268258048, 2131144960, 1538380544, 1265104000, 1585250816, 1544437120, 1109149696, 1320258688, 1328501632, 1179866752, 1331450624, 1121218304, 1613871360, 1216746880, 1123592448, 1777473664, 1539811584, 2097700864, 1538461312, 1693900800, 1482903552, 1396799616, 1301220736, 1113230592, 1385210240, 1399044096, 1626890624, 2112272000, 1109859712, 2141931392, 1468162304, 1092375808, 1305762432, 2052270848, 1230266112, 1995633024, 1424652928, 1473766912, 1210799360, 1323234304, 1274211584, 1599558784, 2016495232, 1194954368, 1156652544, 1993226368, 1840744192, 1331517568, 1483383040, 1086530304, 1135927680, 1198568960, 1309635968, 1759777024, 1163324288, 1686999168, 1131107456, 1364311680, 1301101440, 1800031616, 1217300352, 1177975040, 1579320320, 1124465792, 1158934784, 1296337152, 1213229952, 1281814912, 1439872640, 1139278080, 1135178752, 1352929920, 1115372288, 1471689728, 1779737728, 1499814528, 1496603904, 1292508032, 1400536064, 2027614080, 1148037760, 1445453568, 1230298496, 1359923072, 1770042624, 1164184064, 1583100672, 1463437056, 1485840128, 1273956992, 1196934912, 1152334080, 1227953792, 1474718592, 1355204352, 1079541120, 1521405440, 1238945024, 1574629504, 1264556288, 1294980096, 1141263744, 1324100480, 1256496640, 1615584768, 1718653824, 1911732736, 1610888320, 1955966592, 1280183168, 1528145536, 1598322176, 1750511232, 1185907712, 1197118208, 1679105920, 1743966464, 1492756352, 1245957120, 1305114752, 2070287616, 1605441792, 1468987136, 1797007872, 1250997376, 1247908608, 2120109568, 1294760320, 1786455552, 1573301504, 1915528064, 1283806976, 1130478848, 1422493696, 1616268928, 1376937728, 1266892416, 1652221312, 1839316224, 1306208384, 1178626304, 1280930816, 1260259072, 1125049856, 1075486080, 1161915008, 1617800448, 1645127936}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-964, -9592, -3403, 148170, -5651, -10246, -9458, -3090, 67274, -1222, 100613, -5857, 24262, -15984, -2580, -8471, -10680, 17307, -3059, -4672, -4183, 16833, -12559, 59748, 5454, 58960, 87176, -916, 13183, 25579, 53892, 61025, -9664, -13282, -7194, 72077, -10584, -3792, 80114, -2632, -9265, 115144, 30643, -6672, 111107, 46965, 21528, -7996, 10846, -2332, -9621, -5841, -1810, -8209, 21073, 70384, -2233, 34347, 7796, -2303, 23608, 67854, -4403, 37115, 9429, 33979, -4207, -5900, -5223, -5135, -17654, -6851, 71796, 66109, -3223, -22297, 57319, 22026, 71900, -10349, -9051, 74397, -854, -13213, -2346, 54054, -3015, -3159, -5789, 188599, -2438, -4336, 80280, 32772, 4141, 72882, -12273, -3538, -7508, -2354, -6042, 48601, -6154, 75559, 25176, 21733, 58407, -11707, 28947, -25827, 43601, 6308, -8120, 18884, 65764, 20064, -6456, -7973, -14550, 58365, -11678, 11939, -4691, 67649, 162113, 57147, -6343, -1730, -13782, 37887, -6836, -11429, 10353, -1660, 87408, -4762, 3386, -5199, -10916, 61475, -4083, -8697, -5241, -3041, 90144, 45645, -1700, 57961, 74366, 84182, -3191, -34797, 34324, -2691, 48017, -1047, 82737, 99780, 13545, 100728, 17759, -6323, -4869, 48662, 245, 59442, 1659, -4727, 81387, 72960, 8805, -2755, 7566, -6804, 11495, -3957, -35951, -13364, -4069, 57818, 62458, -10629, 3968, -5800, -3348, -17445, -16042, -5192, -3435, 76582, 46474, 1732, -345, 137606, -5565, 44890, -313, -576, -5137, 107110, -10910, -2908, 13812, -5849, 42819, -10777, -11761, -6069, -1912, -8285, 99383, 13092, 18802, 3507, 32550, 61949, -13930, -6097, 48256, -3860, 99326, -4547, -290, 88883, -9733, -3608, -808, 71536, 15576, -10362, 22611, 31967, 100639, -6797, 48195, -2238, -5908, 26666, 19686, 84132, -3536, 10182, -4714, -7034, 7663, 4528, -8917, -2491, 22467, -2325, -4924, 69552, 114717, 117729, -16120, 46125, -7079, -3444, -5104, -7565, -31040, -3228, -45, -8976, -5153, 65711, -13936, -4971, 64641, 55074, 7028, 91698, -4177, -4657, 17716, -7511, -337, 67410, -1615, -6369, 24026, 59821, 100325, 98765, 9481, -5422, 3885, 52940, -4292, 29533, -14104, 51269, 56591, 2259, 86405, 22723, 39559, 86174, 45082, -13056, -6625, 51939, -4831, -3621, -2814, -3528, -5901, -5549, -2544, -2928, 47572, 134816, -2815, -8349, -6849, -17514, 63257, -2990, 11171, -1170, 50556, -8576, 40249, -9501, 33610, 78107, 30001, 78654, -5594, 55637, 69948, -4521, -10498, -4025, 19375, 10267, -9327, 68550, -5464, 85453, 400, 32182, 67844, -3057, 92757, -17628, -3268, 52187, 29653, -22627, 19681, 11650, -4561, -4908, 69967, 99794, 69268, 19177, -6023, -7085, 17376, -13268, -3143, -3864, 90045, 26793, 4842, -6466, -3441, -3292, -3753, 12486, -19875, -7831, 76039, -1652, 88190, -12373, -6970, -4021, -2517, 5652, 45355, 51494} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-55, 9, -22, -501, -37, 31, -30, -71, -303, -23, -535, -98, -156, -13, -72, -9, -42, -119, -13, -15, -31, -135, -17, -287, -24, -309, -356, -107, -101, -223, -283, -253, 2, -44, -7, -434, -7, -28, -341, -21, 2, -349, -137, -75, -593, -241, -210, 7, -76, -23, -5, -20, -28, -37, -145, -315, -21, -274, -43, 9, -244, -340, 89, -278, -117, -217, -31, -27, -59, -29, 6, -6, -276, -318, 2, -27, -260, -161, -445, -7, 2, -327, -31, -7, -18, -273, -27, -15, -11, -597, -74, -23, -318, -143, -25, -457, -40, -49, -44, -66, -92, -252, -1, -280, -183, -204, -312, -51, -134, 33, -253, -103, -19, -237, -266, -154, -4, 12, -5, -384, -27, -85, -85, -385, -727, -229, -16, -29, -41, -282, -6, -22, -144, -35, -410, -29, -97, -46, -62, -254, -13, -27, -94, -43, -297, -330, 29, -289, -353, -279, -19, 6, -84, -67, -298, -22, -346, -314, -194, -394, -233, -78, -14, -227, -95, -306, -79, 0, -365, -303, -108, -20, -27, -4, -120, -50, 2, -31, -48, -331, -259, -32, -40, -15, -45, 4, 17, -22, -7, -381, -331, -74, -36, -674, -104, -297, -22, -104, -50, -416, -74, -19, -128, -22, -264, -2, 0, -3, -21, -26, -359, -81, -247, -76, -261, -281, -22, -59, -313, -14, -354, 5, -89, -331, -10, -6, -108, -328, -235, -3, -223, -235, -435, -51, -326, -108, -7, -193, -96, -402, -24, -115, -72, -18, -37, -33, -6, -10, -68, 6, -47, -308, -454, -408, 7, -399, -22, -9, -6, -12, -3, -39, -22, 14, -104, -276, -2, -10, -352, -354, -107, -362, -8, -100, -124, -17, -16, -391, -145, -17, -153, -296, -485, -575, -107, -13, -71, -341, -36, -252, 17, -342, -293, -98, -342, -116, -255, -523, -273, 0, -9, -388, -52, -18, -56, 7, -36, -12, 27, -36, -294, -377, -17, -24, -22, 8, -380, -49, -194, -36, -320, -49, -244, -38, -203, -216, -182, -393, 1, -372, -284, -8, -4, -22, -107, -122, -4, -291, -14, -423, -26, -274, -369, -19, -298, -26, -58, -272, -245, 26, -201, -125, -21, -9, -290, -403, -382, -239, -5, -86, -120, -61, -16, -2, -328, -136, -110, -11, -10, -22, -24, -59, -101, -43, -365, -110, -285, 7, 1, -22, -14, -81, -306, -281}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1574162944, 2091232256, 1076332288, 1749735552, 1237320320, 1122440960, 1245377280, 1241110656, 1761707008, 1208404224, 1131837312, 1721379200, 1370185984, 1281721600, 1263241088, 2100581504, 1206286848, 1621802752, 1796984192, 1910579456, 2116632064, 1181918720, 1986648448, 1100179328, 1106218112, 1085689856, 1432660992, 1730160128, 1126687744, 1806575488, 1210969600, 2035610240, 1135939200, 1748430336, 2083386112, 1397361664, 1229892096, 1181999744, 1850185984, 1184898688, 2026644352, 2127135616, 1822324480, 1092535936, 2041655808, 1456626560, 2018930560, 1119059456, 1119334016, 1165138304, 1829730560, 1977856256, 1246227072, 2135659776, 1111407232, 2000772352, 1987627264, 1169993344, 1166329344, 1902157184, 1845071360, 1848086784, 1172643584, 1565911936, 1533120000, 1809137664, 1838454144, 1474240512, 2084580480, 1439344256, 1689543296, 1254335872, 1492929280, 1093368192, 1585932160, 1272334336, 1247007872, 1135920256, 1492538240, 1591092736, 2052969600, 2026454400, 2146855168, 1598171904, 1801357824, 1839271168, 1277333376, 1719968896, 1556275584, 1452459008, 1099826560, 1109790976, 2057939456, 1776090368, 1187729152, 1552015616, 1601936128, 1198752256, 1214040576, 1735485952, 1978887552, 1098432128, 2049709184, 1215925760, 2085010176, 1365059584, 1874810624, 1381047808, 1600250496, 1263270400, 1274955776, 1822463232, 1226975104, 1152114048, 1471377536, 1346862720, 1087836928, 1812673408, 1966449280, 1976437248, 1332072704, 1151693568, 1306208640, 1930150528, 1354865280, 1877203456, 1842391040, 1196855424, 1367383296, 1984233472, 1177755904, 1995176192, 1530880384, 1878710400, 1214891776, 1992696320, 1205529216, 1849631488, 1649068928, 1507225984, 1104157184, 1138420096, 2140504704, 1594749568, 1745361280, 1572856320, 1247045376, 1119188480, 1756229504, 1429091072, 2126800896, 1309722368, 1286108928, 1783980416, 1210155776, 1173713920, 1124219904, 1528989056, 1080904064, 1447282560, 1245440896, 1399307008, 1372119040, 1288798080, 1449310976, 1288837504, 2002355712, 1160256512, 2125862528, 1425030272, 1443192960, 1149050112, 1114500736, 2022238976, 1309087488, 1079056512, 1711626752, 2037695872, 1183996032, 1130042112, 1850117504, 1098433152, 1714906496, 1144260608, 1164443520, 1246685184, 1696491648, 1082606080, 1983810432, 1516071168, 1141926656, 2074903040, 1448272512, 1569124480, 2124780032, 1147637376, 1105900800, 1220421376, 1694573568, 1126395008, 1294095360, 1155264768, 1358519936, 1355297408, 1859977344, 1077675776, 1418885632, 1105163648, 1970432896, 1403036160, 1337480576, 1227350144, 1471665024, 1445165568, 1404834560, 1360973056, 1270453504, 1103027840, 1725266304, 1562301440, 1727115008, 1363611776, 1871772544, 1922857088, 2023839360, 1989744384, 1652713728, 1819406336, 1653156480, 1482940928, 1633387008, 1236085888, 1167074688, 1947248768, 1642833024, 1188436608, 1760593152, 1077895552, 1107892736, 1361207168, 2101457536, 1689948928, 1101215232, 1836758656, 1216726272, 1161982720, 1293752448, 2002391296, 1333836928, 1861930496, 1701819520, 1213768960, 2137107456, 1728419712, 1157228928, 2089841280, 1915282560, 2131446912, 1116892800, 1231598848, 1253221632, 1176828288, 2132146816, 1329986944, 1260047104, 1450038528, 1568897792, 1867232000, 1787034624, 1225878272, 1098614784, 1642649600, 1184820096, 1877516928, 1125679104, 1275429376, 2041170304, 1702694912, 1212010112, 1788386560, 1189286528, 2139913856, 1412725632, 2127385344, 2022326784, 2097205760, 1192333312, 1262005376, 1794667648, 1178319488, 1905762688, 1293240704, 1373935232, 1894923264, 1329587712, 1169261312, 1429750272, 1248368896, 1816343168, 1992734592, 1083110144, 1151591936, 1683225984, 1178248320, 1331235712, 1665458560, 1087747840, 1224961536, 1137531520, 1336683136, 1828087296, 1741866880, 1179002880, 1193708160, 1549242368, 1406315008, 1891582848, 1842909440, 1362125184, 1187731840, 1583644160, 2071003776, 1142059648, 1389786624, 1199205120, 1351884288, 1689791872, 1524637440, 1921509120, 1980482432, 1530393600, 1148568832, 1346141056, 1082789888, 2123168384, 1229804544, 1262622720, 2007788672, 1781403136, 1279143680, 1331633408, 1826288896, 1574947072, 1340042112, 1604302848, 1499937664, 1351852288, 1404039168, 1133042560, 1370744448, 1626865920, 1084535936, 1899370112, 1990344832, 1548570496, 2008424064, 1673704832, 1171020672, 1761595904, 1212948096, 1283137536, 1090748672, 2093494144, 1772296064, 1724990080, 2129039744, 1190773120, 1533232768, 2035468160, 1334579200, 1900746880, 1113873408, 1746648192, 1284218112, 1411061760, 1605231232, 1220868096, 1961805696, 1877999616, 1325624704, 1995324800, 1347880832, 1652439168, 1311110784}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-41305, 73941, -6950, -1382, 18999, 659, 12004, -72075, 80674, -1305, -37368, -20440, -34848, -27061, 116980, -10221, -23823, 24643, 69944, 5344, -9645, -39285, -52388, -1664, 22755, 4520, -33561, -21289, 15283, -8930, -19904, -3778, 54163, -58669, -21597, -47046, 45040, 5643, -64016, 20107, 24231, 26171, -21369, 19086, 3049, -619, -33889, -70460, 47239, -14628, 46158, -17575, 45946, 1190, 17083, 16950, -36429, -23283, -28741, 1402, 66758, -2063, 11295, 4983, -13307, 11414, -34143, -29374, -20895, -24403, 21084, 52079, -76299, -49827, 18866, -10244, -13238, -257, -43178, -91932, 1379, 80537, 74754, 7444, -57899, -69497, -16904, -18946, 7817, 56, -57187, -51105, -29362, 223, -4738, 16223, -11008, 28089, 53188, 90423, -44336, 6378, 18723, 829, -7908, 9273, -212, 27062, -36336, 5371, 6291, 20046, -25074, -12866, -1577, 3896, 28911, 13694, -41841, -20533, -16558, -34883, -22066, 2339, -32195, 12339, -2344, -13230, 228, -15212, -85962, -18413, 37266, -36981, -2396, 45060, 1051, 7438, -19158, -4429, 46185, 4770, -12903, 20858, 21511, 40061, -1886, -31064, -67531, -77208, 33228, -37068, 12159, 47345, -9218, -21803, -22606, -35629, -15832, -4551, 16386, -32289, 28322, -60761, -15037, -25022, -14306, 1792, 2406, -7538, -20302, 25065, 18838, -45861, -62077, 9369, -8502, -16828, -18492, 11400, 10541, -21765, -21446, 21395, 46104, 6569, -10300, -5844, 42778, -28067, -28724, 17157, 4152, -9569, -49251, -1960, -26976, -3901, 7228, -61153, 18223, -17136, -55491, -7585, -20756, -37058, 8654, 28098, 6262, 587, -21286, 30079, 7312, -20711, 50497, -49592, -41096, 2365, 5012, -14065, -13568, -64753, -46343, -30591, -29389, 1318, -6649, 12813, -35505, 5173, 13056, -48323, -22295, 23132, -26363, 77327, 13737, -8787, -37934, -23663, -47969, 26404, 15963, -21548, 43446, -1814, 7976, 78068, -19020, -35668, -20543, 90175, 24590, -795, 15172, 218, -14966, 85084, 87577, 9679, 209, -17018, -50237, 26574, 13478, 16277, 43590, -41170, 18973, 742, 104943, -21125, 38980, -28048, -20477, -18490, 20756, 15814, -55396, -19283, 5877, -5320, -45468, 25563, 11698, -878, 42267, -12659, 57633, 4196, 40868, 46229, -2398, -3525, 19536, 20504, -26300, -28011, 28855, -17388, -42175, -24504, 5231, -24991, 23045, 23225, -41100, -16768, -33, 3373, 2318, -12003, -38909, 43501, -8371, -40584, 45330, 6279, -59369, -35289, 12108, -47631, -30231, 18733, 35359, 102013, 7546, -47074, -13123, -1213, 8162, -48244, -39688, 94, 2810, -21470, -20487, -39220, -339, 13823, 54558, -16143, 32409, -2240, -7516, -52301, 35872, 24106, 69771, 47212, -12173, 9974, -29089, -1105, 37333, -9860, -20686, 30657, 62080, -4240, -6692, -31853, -11870, -14144, 38973, -37830, 50277, -36353, 22823, -15408, -7345, 4125, -14247, -43067, -64572, -42529, -44769, 4949, 2620, -2608, 36597, -35306, -30732, -15710} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-125, -134, -132, -160, -122, -123, -165, -131, -134, -130, -156, -118, -134, -139, -117, -142, -144, -142, -129, -115, -149, -123, -130, -128, -110, -121, -100, -165, -145, -137, -162, -102, -130, -118, -135, -107, -160, -145, -100, -107, -156, -125, -124, -131, -131, -123, -80, -127, -120, -109, -133, -147, -122, -111, -139, -131, -103, -100, -119, -100, -134, -118, -97, -116, -105, -124, -108, -125, -124, -144, -149, -123, -105, -126, -110, -114, -99, -107, -124, -137, -104, -118, -138, -132, -129, -147, -91, -110, -118, -139, -124, -117, -134, -100, -136, -128, -118, -114, -119, -127, -142, -98, -187, -125, -127, -116, -132, -138, -131, -140, -115, -128, -98, -118, -131, -121, -136, -129, -102, -135, -177, -118, -132, -143, -139, -112, -114, -103, -111, -132, -107, -188, -124, -128, -78, -122, -123, -156, -121, -125, -124, -145, -127, -91, -118, -152, -135, -132, -125, -126, -125, -111, -121, -118, -122, -110, -140, -122, -143, -123, -135, -148, -127, -85, -116, -120, -124, -133, -90, -128, -147, -137, -110, -128, -112, -69, -145, -116, -161, -133, -120, -104, -133, -135, -130, -129, -125, -113, -128, -149, -137, -133, -127, -137, -128, -155, -130, -132, -125, -137, -132, -129, -128, -98, -107, -150, -133, -134, -127, -152, -81, -130, -90, -128, -127, -115, -130, -122, -127, -105, -131, -142, -118, -108, -127, -141, -116, -137, -118, -128, -90, -130, -145, -144, -133, -124, -127, -137, -132, -125, -124, -137, -112, -116, -129, -140, -137, -119, -102, -108, -133, -120, -138, -138, -108, -118, -127, -128, -121, -138, -122, -128, -116, -125, -136, -143, -120, -156, -145, -132, -136, -120, -88, -166, -122, -100, -117, -125, -126, -127, -117, -133, -126, -130, -142, -117, -154, -132, -127, -152, -159, -136, -132, -106, -143, -143, -108, -115, -137, -142, -119, -113, -120, -119, -95, -130, -108, -138, -126, -114, -102, -114, -138, -121, -156, -124, -130, -125, -119, -113, -146, -145, -119, -148, -137, -102, -122, -109, -118, -130, -118, -142, -129, -110, -124, -148, -131, -108, -134, -160, -147, -129, -117, -122, -114, -131, -118, -133, -124, -130, -132, -121, -131, -139, -134, -128, -124, -116, -109, -132, -99, -133, -137, -130, -151, -121, -99, -126, -134, -118, -125, -133, -124, -142, -149, -110, -103, -131, -142, -120, -114, -105, -122, -109}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {2122536320, 2137974912, 2059100416, 1964515968, 1956677632, 1534571392, 1261592960, 2024787456, 1669262592, 1095664896, 1438074496, 1676265344, 2138076416, 1936769024, 2134398464, 1187289856, 1169583232, 1084065664, 1551048832, 1097338368, 1334108032, 1631015680, 1141901056, 1727533312, 1425639808, 1982245376, 1118803584, 1572373888, 2038797056, 2046743936, 1736786304, 1365555840, 1082482432, 1440723328, 1092834944, 1170039680, 1505617152, 1252601344, 1401365888, 2099497344, 1383905024, 1720053632, 1917371648, 1270670976, 1973579648, 1188126720, 1806156032, 1117747200, 1864789504, 2001824512, 1220953984, 1622818176, 1692894336, 1367656960, 1317768320, 1807183744, 1077862656, 1579267456, 2078971008, 1204805248, 1995591040, 1344981760, 1149611776, 1630305792, 1261155200, 1788589696, 1390536064, 1914774144, 2045573760, 1336286720, 1471026944, 1172366080, 1574936448, 1867518464, 1252902912, 1397865600, 1327497984, 1095097472, 1425008640, 1133007744, 1252444032, 1786375296, 1867987200, 1645207680, 1553324928, 1962482688, 1421453184, 1953831424, 1138020096, 1354794624, 1152934144, 1126792064, 1580579328, 1671462272, 1356370048, 2021143296, 1200710016, 1624156928, 1690563328, 1803744640, 1151708928, 1883808640, 1480310272, 1174462976, 1316353920, 1604131200, 1540268544, 1179907712, 1172768384, 1417666560, 2098746496, 1407547904, 1586660864, 1322274816, 1200697472, 1150471168, 1082717056, 1116372096, 1392156416, 1237952640, 1094272512, 1292180992, 1925265664, 1193515264, 1250340480, 1181784320, 2028909440, 1436213760, 1440243968, 1377706368, 1234600704, 1288411392, 1319923712, 1271175168, 1258263552, 2105995392, 1220823296, 1275246208, 1526161664, 1774910080, 1187018112, 1121047424, 1376496512, 1484894208, 1240380928, 1261970560, 2035370496, 1976912384, 1146640512, 2070188672, 1260953600, 1426179584, 1580090880, 1211614080, 1924874112, 1497665280, 1170868352, 1343804288, 1259396480, 1196337920, 2026891008, 1648757888, 2002478336, 1326843008, 1283283584, 1394548096, 1432595712, 1367661440, 1541131904, 1122648576, 1197047808, 1276733184, 1561495040, 1795869056, 1365201024, 1746620032, 1130970368, 2105168896, 1194937472, 2035348736, 1433069568, 1420308992, 1314802560, 1206828672, 1210481408, 1303171328, 1316714880, 1778771840, 1372970240, 1601314048, 1881265024, 1093756416, 1928818688, 2097619072, 1953922944, 1121757056, 1173264384, 1184135808, 1225266432, 1964223104, 2072211712, 1893958784, 2036437760, 1491895936, 2055753216, 1256355712, 1835492736, 2046790656, 1446708352, 1253106304, 1883257728, 1158218880, 1137579264, 1351081600, 1129439744, 1105026688, 1421746432, 2001221632, 1094587648, 1205811712, 1232405120, 1988742528, 1501067392, 1511410048, 1221346944, 1166690432, 1087595008, 1304536448, 1272168064, 1270255744, 1761193856, 1173067008, 1393233536, 1454688896, 1428809600, 1750566144, 2004063488, 1147454336, 1315220608, 1325153664, 1977248896, 1608833024, 1558229504, 2141210496, 1243846528, 1258190464, 1117840128, 1384213376, 1282639616, 1127239424, 1949594496, 1960175616, 1353457664, 1243288960, 1295057280, 1333670272, 1284284544, 1789515008, 2131235584, 1185059584, 1488795648, 1486466560, 1149970176, 1387812608, 1282970624, 1097881472, 1745193344, 1240636288, 1176270464, 1360929024, 1130107264, 1145387776, 2056255488, 1579886848, 1368621824, 1242398208, 1186059648, 1124806144, 1263400320, 1699767424, 1255120512, 1985886080, 2132540288, 1713470976, 1088111360, 1235082880, 1185959168, 1419042944, 1428787200, 1794413184, 1994041216, 1962008064, 1082723712, 1258358016, 1497904256, 1303365760, 1753552896, 1423723776, 2109831424, 1324258944, 1274911616, 1269644928, 1574609152, 1078180736, 1102931840, 2042407552, 1117120640, 1095026816, 1097499392, 2067397504, 1145274496, 1222952832, 2108413696, 1668806784, 1404375040, 1207921664, 2127357056, 1374563584, 1096228224, 1316815744, 1281791744, 1248852736, 1403582336, 1341634944, 1184792704, 1187418752, 1189176832, 1570591872, 1691227904, 1998016768, 2132392832, 1375398272, 1121174528, 1277856512, 1195542656, 2001107328, 1724810624, 1207283200, 1303703552, 1418915200, 1127146624, 1987574656, 1840298112, 1328064000, 1199033856, 1822976128, 1198841472, 1158663680, 1870939904, 1193955840, 1112228224, 1172777344, 1590949376, 1400847872, 2002087296, 1242655744, 1920552704, 1437992704, 1204756992, 1218199296, 1360308096, 2077964288, 1143580800, 2048509952, 1284207488, 1234799232, 1415358976, 2058075648, 1806717184, 1354349184, 2103612160, 1327563776, 2114813312, 1193921792, 1308428928, 1285915136, 1323583488, 1443410304, 1858852864, 1122079488, 1275321216, 1236677888, 1168410368, 1347424896}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-846, 143861, -327, 49987, -1385, 16166, 49930, -616, -15053, -715, -589, -1564, -764, 3943, 72120, -623, -1043, -756, 94519, 66671, 18087, -808, 116338, 61205, 148293, 112356, -944, 141757, -122, 156670, 113920, -4195, 58051, -1144, -574, -1066, 107272, 45428, -960, 86784, 53694, 66472, -4380, 127834, 63189, -578, -1534, -386, 96142, -803, 94453, 65188, 58477, 147550, 107160, 69311, -1018, -495, -992, 134330, 68341, 888, 98589, 25906, -1001, -932, -971, -527, -619, 118720, 69816, 122817, -484, -818, -273, -3733, -381, -1014, -2148, -890, 86543, 67670, 62823, -969, -547, 4799, 35, -245, -474, 95879, 101, -851, -2051, 69206, -563, -457, 988, 74468, 74381, 74308, -918, 20419, 25134, -1066, 5015, 106893, -957, 89648, -1503, -779, -687, 81270, 82165, 94909, 114078, 125067, 103308, -909, -511, 117760, -17138, -711, 4826, -163, 7, -739, -14346, 17868, 101214, 122987, -274, 179160, 101291, -513, 43969, 65150, -1173, -324, -577, -229, -515, -530, -1390, 61324, 56422, 108218, 667, 128076, -1029, -737, 137622, -2928, 110934, 13645, 67267, 50877, -787, -399, -981, 3477, -423, 69, 80657, -908, 98191, -735, 110352, 122974, -349, 129549, -2252, 141617, 86257, 1442, -393, 116099, -390, 11478, -538, 4503, 168866, 93324, -764, 88327, 122369, 77831, 66964, -578, 75085, 119778, 85830, -326, -767, -1113, -2419, -517, 160971, 41964, 116706, -268, 119395, -996, 97730, -2966, 149110, 136914, -602, 66556, 84414, -622, -7397, -461, 148688, -11231, 62509, 94457, 126716, -182, 93703, 138266, 129132, -496, 136511, 132452, 162494, 127947, -969, -846, -560, -760, 102915, 123812, -694, 70938, 76208, 52031, 22139, -246, 106318, -677, -446, -351, -1174, 119019, 60630, -1279, 112158, 119296, -585, -827, -995, 79914, 4908, 134427, 124638, -750, -157, 67146, 105201, -331, -316, -845, -532, 18066, 131485, -678, -15953, -2633, -1880, 3950, 7222, -2246, 63641, 226, -546, -973, 146368, 73238, -1305, -29069, 13915, 68699, 5228, 73641, 57161, -890, 13400, -707, 75170, -471, 66904, 124128, -684, -562, 80905, 50913, 3013, 92267, 87946, 116676, -413, 119442, 106440, -82, 67096, -844, -824, -988, -1110, -907, -1230, 131604, -688, 60600, 89919, -471, 54129, -266, -3520, -1974, -375, -5860, -795, -3438, 58032, -3417, -960, -318, -9182, 106191, 120758, 86445, -908, 5100, -14048, 105595, 112986, -1042, -3966, 73200, -852, 8697, 63978, 158679, 97501, -226, 146236, 122544, 63171, -6, 104, -935, 121993, 115064, 65294, -333, -618, -1084, 5344, -164, -2269, -630, -494, 59003, -701, -16733, 71249, -595, -407, 118076, -657, 62904, -1354, -670, -1044, -395, -716, 75165, -491, 10609, 104120, 3096, -9487, -890} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {60, -336, -66, -355, 45, -125, -331, 46, -127, 53, 59, 3, 66, 55, -273, 73, 83, 72, -263, -295, -143, 45, -295, -372, -356, -282, 56, -307, 53, -322, -317, -94, -288, 38, 46, 50, -325, -324, 62, -273, -237, -324, 59, -332, -283, 63, 71, 29, -297, 68, -302, -308, -241, -327, -344, -309, 83, 58, 32, -313, -258, 31, -259, -136, 70, 33, 34, 44, 43, -329, -320, -330, 67, 47, 46, 58, 43, 61, 47, 64, -323, -244, -255, 104, 56, 46, 52, 43, 42, -319, 63, 71, 64, -360, 49, 45, 75, -290, -320, -264, 41, -100, -125, 63, -105, -367, 31, -276, 59, 67, 53, -308, -301, -346, -328, -314, -259, 27, 52, -318, 73, 45, 49, 46, 29, 44, 71, 28, -333, -308, 55, -294, -285, 63, -289, -342, 77, 63, 38, 72, 48, 47, 50, -305, -340, -328, 46, -329, 66, 71, -286, 50, -346, -103, -394, -319, 88, 62, 57, 40, 64, 66, -341, 33, -428, 63, -350, -307, 75, -337, 68, -308, -279, 49, 57, -277, 60, 52, 70, -61, -324, -364, 47, -344, -324, -340, -397, 27, -295, -351, -324, 70, 47, 14, 46, 71, -333, -170, -301, 20, -339, 42, -332, 77, -288, -350, 66, -262, -327, 60, 103, 70, -297, 64, -256, -312, -329, 58, -367, -324, -335, 39, -336, -320, -274, -374, 40, 40, 79, 39, -399, -306, 50, -295, -310, -247, -75, 51, -327, 67, 53, 41, 63, -351, -266, 61, -326, -287, 66, 37, 60, -260, -15, -282, -327, 62, 65, -254, -244, 37, 63, 78, 51, -32, -272, 44, -119, 49, 65, -111, -117, 62, -307, 58, 44, 74, -283, -334, 64, 81, -47, -269, 34, -297, -342, 53, -132, 58, -296, 35, -324, -283, 45, 57, -267, -342, -41, -316, -284, -337, 42, -286, -310, 49, -266, 63, 58, 51, 42, 56, 51, -329, 92, -280, -314, 75, -244, 47, 24, 68, 90, 89, 79, 44, -370, -107, 52, 44, 88, -331, -339, -328, 28, 51, 47, -302, -345, 70, 75, -324, 55, 20, -273, -288, -371, 51, -322, -358, -253, 5, 70, 52, -318, -306, -272, 41, 62, 60, -49, 60, 49, 52, 42, -328, 42, 45, -280, 70, 71, -337, 49, -331, 83, 64, 56, 39, 50, -313, 54, -117, -271, 86, 91, 57}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1695840640, 1531841024, 1729376896, 1151492864, 1487853824, 2126453888, 1081164544, 1099660544, 1708092672, 1593534848, 1705583360, 1991903488, 1994167424, 1972504832, 2097194496, 2026462720, 1377203072, 1382718976, 1259292288, 2121807232, 1974424448, 1349306240, 1298657280, 1870427136, 1904391424, 1944835840, 1690995456, 1692715904, 1142877440, 2075273472, 1910241920, 2091332864, 1324198784, 1552668928, 1354904960, 1969825408, 1473492736, 1676655616, 1789633280, 1853951488, 1685482880, 1713674752, 1077507968, 1582562560, 2026700032, 1956207744, 1798293632, 1178629760, 1090842624, 1489600512, 1659335552, 1861051008, 1571467008, 2101877632, 1498179456, 1527794304, 1777007488, 1121303808, 1631931136, 2087291008, 1179558400, 1995774464, 1937005824, 1588204160, 1720139520, 1987400448, 1822222848, 2005660800, 1804506880, 1307222912, 1754042112, 1214278656, 1309161856, 1884367360, 1096256512, 1680059648, 1234717440, 1637739136, 2082897280, 1709376256, 1661218176, 1144043136, 1202528896, 1346031616, 1429841408, 1750951808, 1158599808, 1648389888, 1434658432, 1636127232, 2069732608, 1129954048, 1819691520, 1570965248, 1796720000, 1854822400, 1870696064, 1390969984, 1106765312, 1152364544, 1932778112, 1590191104, 1692975232, 1912719744, 1870797824, 1230323328, 2019197824, 1708935552, 1562481024, 1347411456, 1859248512, 1305083904, 1592202880, 1748483584, 1617207680, 1134969728, 1132592512, 1153489024, 1766743424, 1171223296, 2116648064, 1090453120, 1737006336, 1756931968, 1199126144, 1960438144, 2116822400, 1469146880, 1455716736, 1810460800, 1215919232, 1418349184, 1622471040, 1646386560, 1371108480, 2045224064, 1298249984, 1104643840, 1941648896, 1162529792, 1942235008, 1934009728, 1579968000, 2041425024, 2086028672, 1629200256, 1886578688, 2102118144, 1164832256, 1095511424, 1886302720, 1118212736, 1604657408, 1378441344, 1183172736, 1394054784, 1670963328, 1632363008, 1581986688, 2029321728, 1611383168, 1328478848, 2004779776, 1128816768, 1152248832, 2008592640, 1132560512, 1171432064, 1086946560, 1965305344, 1087569408, 1620648064, 1593637632, 1864392832, 1089606912, 1986522496, 1315822080, 1584605568, 1900392320, 1333663104, 1733105792, 1284446720, 1292872832, 1232299008, 1462512896, 1784939904, 1253295872, 1870188928, 1815671808, 1912190592, 1559098624, 1435071744, 2086981888, 1829386112, 2129895296, 1270769536, 1850518400, 1158424832, 1335254656, 1400521600, 1114861312, 2120085632, 1609749504, 1152868864, 1956149632, 2146088448, 1724769536, 1081268352, 1547487360, 1628118400, 1913612672, 1866326400, 2033880832, 1440645632, 1149635584, 1375232128, 2021883520, 1900549248, 1619348096, 2080113408, 2024409728, 1129439360, 1951072896, 1879159552, 1869142528, 1247819264, 1898128256, 1925603328, 1769731840, 1954889984, 1258282496, 1252123264, 1953529088, 1179461888, 1188016896, 1862916608, 2130416768, 1127576704, 2117506944, 1272283776, 1898431104, 2066274048, 1761931392, 1902123136, 1237037952, 1626965120, 1364650112, 1395675008, 1095594368, 2108070528, 1550351744, 1161480192, 1840917504, 1713573504, 1818033792, 1095068288, 1124123392, 1281172864, 1297544192, 1259891456, 1236354688, 2055728000, 1267046400, 1850286592, 1789401728, 1906090240, 1373583104, 1088930176, 1775102336, 1525561344, 1211973120, 1767040000, 1248217856, 1720826752, 1845991040, 2033650560, 2025347840, 2125868288, 1827869056, 1607616768, 1519075584, 1977187328, 2015702144, 2031400704, 1128544896, 1895417856, 1381478912, 2089721088, 1193619968, 1281590784, 1215077888, 1092321536, 1107330560, 1863176704, 1581815808, 1138404480, 1786410624, 1804176128, 1729617920, 1720006144, 1963651200, 1874610688, 2085694720, 1888480256, 2044903040, 1559399552, 2022929280, 1557231104, 1487210752, 1906048384, 1516757120, 1988475008, 1742533120, 1869149824, 1796524416, 1423342208, 1586105216, 1949577600, 1308353920, 1158073984, 1934177536, 1247170176, 1522406784, 1815102464, 1211065472, 1103810304, 1703016960, 1669998592, 1734926592, 1807438208, 1181939840, 1874683392, 1395484416, 1688151424, 1141558016, 1356226816, 1296719104, 1442780544, 1224908288, 1693000448, 1621430656, 1708054912, 1224315392, 1647772800, 1450163072, 2021276544, 1647730944, 1159643136, 1159480320, 1103147776, 1594608768, 2107752576, 1615588608, 1792150272, 2083994496, 1175431680, 1855911424, 1689710720, 2020649984, 1292087552, 1790909952, 1748256768, 1772091904, 2057344896, 1662139776, 1646760960, 1836227072, 1173044096, 1752401280, 1119120384, 1769789568, 1183201664, 1353248256, 1606311680, 1585669120, 2006041856, 2041077376, 1291602432, 1823211904, 1343940096, 1634009728, 1495217024, 1398545024, 1700182912}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-6656, 2459, -22345, 55573, -7773, 15777, 37471, 32783, 3711, 49514, 18627, -1010, 58583, -1884, 33620, -8166, 35747, 2035, 75208, 7049, -696, 31156, -4172, 6935, 2921, -24576, 41422, 10054, 34483, 29647, 50747, 23760, 621, 63402, 38620, 46834, 12615, -2757, 38319, 38470, 7955, -28090, 27349, 12214, 77865, 19775, 8467, 22300, 34668, 54470, -3502, 24387, -38033, -12440, 85744, -12267, 9304, -16987, 61479, 41198, 8633, 29710, -8074, -5011, 43653, 20775, 18968, 15980, 13380, 58213, -1128, 14823, 37433, 89785, -41250, 7927, 13963, 18617, 5018, -23754, -11990, -13049, 7012, -38875, 10161, 7053, -90557, 38459, 14203, 37913, -15614, 37605, 14299, -20050, 36006, 9464, 10471, 3572, 12141, 12063, -44804, 17129, -11523, 12088, 12995, 14646, 41300, 23956, 2505, 2922, 85032, 44798, -13303, 75278, 3937, 46874, 13060, 5116, 24259, 49195, 47888, -46136, -29752, -30515, -13700, -21317, 5679, 25570, -3996, 16915, 10010, 10708, 4650, 5108, -2112, -5977, 19519, 68987, 6433, 20330, -2097, 18625, 7502, -9749, 32639, 6975, 41491, -26107, 63802, 32620, 3262, -32381, -52732, 33965, 39540, 9331, 115718, 2863, 4048, 12017, -30508, -32007, 304, 1881, 12812, 1885, -4154, 23875, 46521, -4282, 6851, -8143, -6298, 51837, -24199, -3082, 35814, -14779, 9555, 6096, -41047, -5500, -27622, 11363, 14459, -19809, 7398, 22750, -23981, 75945, -22233, 27264, 18808, 4193, 16807, -6733, 12589, -49793, 15119, 54, 2084, -7672, 13367, -39150, 2188, -57548, 42380, -4192, 18411, 27139, -2551, 3842, 44075, -2962, 14935, 35952, -22126, 46377, -46864, 19207, 23465, 31717, -605, -1854, 10914, 26517, -24368, -61683, 32511, 8188, -16630, -1523, 3810, 30079, -25502, -1056, 52772, -71531, 76279, 17067, 72421, 13037, 28154, -37515, -3859, 4599, 9868, 89734, -46030, -33490, 4406, -2622, 6458, -11021, 65525, 19545, 50318, 22884, -25751, -23735, 19206, -10599, 18684, -33814, -800, -36262, 6875, -22742, 10011, 11658, 11685, -2872, 12128, 1701, -2947, 37790, -2245, 24569, -30459, -7579, -35949, 2233, -10242, 41242, -10798, -9178, -29148, 12426, 42337, 23902, 59742, 25138, -73988, 32841, 23892, 42119, 46102, 3247, 48343, 22140, 49058, -19634, 6903, 29796, 1585, 2619, 36065, 107602, 29319, 64388, 1778, -3666, -17789, 8426, -65189, -12219, -15150, 24512, -2200, 28710, 52708, -4798, 52343, -17675, 61936, -14695, -1341, 95452, 44273, -12324, -20163, -882, -15714, -69232, 5848, 851, 24214, 31394, 24161, 1156, 41257, 2542, 8660, 13837, 68653, 55282, 5552, 13321, -3785, 25005, 30964, -36825, -7342, 84232, 38582, 25417, -19493, -33193, -2227, 26803, 35963, 10980, -14660, 730, 16360, -8403, 76841, -4385, -31917, -4144, 11028, -38247, 7977, 45148, -36342, 159, -19309, 43307, 83015, -8636, 46435, -26912, 15070, 31943, -32616, -26361, 211, 53708, 39437, 25974, -17722, -31022, 35624, 30650, -7956, 31882, 17555, 62849, 12351, 13744, -7078, -46459, -40363, 23621, -84367, 33749, 52545, 10850, 50838, 34444, 6541, 18311, 65587, 58370, -13441, 51201, 41176, -1642, 8032, 32624, -34682, -15667, 28873, 24920, 35718, -24228, 12929, -4540, -38581, -15114, 22437, 88565, -18454, 7240, 3186, 40313, 42217, -12412, 41946, -50514, 21964, -16033, 13661, 3133, 9292, 65964, 12540, 25646, 31229, -21967, -14642, 10570, 61045, -1774, 26472, 10583, -32, 34610, -12426, 48754, 47695, 32072, 3224, 16550, 35266, -18770, 29399, 29184, 48729, 14081, -13032, 32707, 29647, 45410, -7640, 11677, 15287, -8595, 62441, 22396, 33135, -52930, 56533, -4691, 26052, 27421, 11369, 9092, -9750, 69624, 48506, 41602, -5804, 40062, 7780, 18969, 9786, -6580, -15500, -3225, -7332, -46360, -43689, 31912, 28614, -51225, 14808, 63465, 9833, 66529, 2199, -20169, -49381, 63732, 34159, 35873, -9763, -61376, 56926, 7877, 6409, 45438, -2814, 36538, 18954, 58389, -78, 64106, 11446, -25578, 17960, 15777, -2150, 26775, -13390, 27345, -25520, 37499, 24281, -21233, 58405, 53120, 17652, 29286, -11233, 25485, 29397, 37561, -3007, -8135, 38502, -32380, 25399, 22783, 9965, -63274, -1297, 41273, 27100, 33566, -51051, -4663, 79696, 38804, -3916, -50340, 26058, 39440, 81350, 8340, 21156, 31050, 41854, 16227, 42781, 26789, -13526, -14676, 59728, -17503, 12385, 22302, -8970, 88521, 62181, 79551, 38888, -12705, 21148, 79812, 16882, 2953, 12511, -11608, 30342, 2198, 4793, 11433, 21396, -25418, 24839, 25278, 23571, 13192, -4530, 4289, 21195, 42138, 15277, -21813, -21955, 45817, 23956, -2450, 18891, -5387, -5448, 16231, 12589, 16614, 15696, -6652, -44343, -23251, 34875, -5514, 23366, -24790, 18500, 44474, 51011, 11483, 17576, -1034, -9297, 102, -38613, 24898, -27972, 35197, 15648, -990, 13706, -39000, 11809, 73503, 51691, -18726, 4934, -26551, -7080, -16377, 2450, -8067, 6992, 25531, 56952, -6410, 10022, 13177, 2379, -2305, -17544, -12696, 30341, 1360, 37177, 33907, 37950, 16521, 100464, -5567, 6548, -15620, 14743, 17390, 36085, -41945, 6235, 36974, -38367, -536, -24605, 63589, 20541, 38257, 30880, -4892, 89742, 35972, 49384, -8739, 38654, -3009, 35709, -13194, 33176, 913, -19392, 10260, 10812, 17755, 15543, 10439, 17549, -27603, 58098, 6322, 33495, -49736, -4013, 11002, 14532, -8999, 24194, 4929, 17332, 51868, -968, -2239, -40346, 26709, -11605, 22006, 17132, 35491, 68636, -2243, 5409, 8667, -25772, -16991, 34111, 25726, -32219, -8369, 67940, -814, 69323, 31708, 17483, 13077, 34634, -2909, 20069, 30696, 23611, -43013, -8522, -35356, 4318, 2644, 22576, -21261, 1760, -7225, 79092, 8586, 10646, 46876, -29456, -18165, 16729, 3715, 36465, -2975, -5900, 11215} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-114, -134, -114, -146, -138, -117, -140, -117, -130, -145, -136, -134, -125, -155, -120, -131, -140, -119, -134, -121, -130, -141, -122, -140, -141, -131, -106, -111, -93, -97, -140, -112, -129, -117, -137, -122, -120, -136, -116, -110, -144, -118, -141, -86, -112, -145, -138, -150, -154, -137, -159, -118, -119, -114, -120, -139, -135, -131, -117, -135, -129, -141, -147, -135, -126, -131, -156, -151, -79, -123, -147, -106, -125, -109, -102, -135, -122, -151, -103, -113, -144, -111, -143, -135, -117, -145, -134, -146, -141, -148, -134, -111, -131, -148, -113, -119, -109, -127, -133, -125, -125, -138, -129, -135, -115, -116, -117, -135, -139, -147, -138, -133, -116, -106, -116, -102, -133, -50, -140, -134, -139, -112, -140, -131, -142, -137, -151, -102, -122, -103, -179, -104, -127, -130, -141, -113, -138, -129, -130, -142, -148, -170, -146, -119, -138, -136, -150, -129, -124, -101, -147, -141, -176, -96, -150, -130, -120, -137, -112, -105, -121, -142, -130, -126, -124, -136, -140, -133, -112, -132, -134, -102, -125, -142, -122, -102, -117, -149, -155, -138, -130, -116, -156, -106, -148, -148, -151, -139, -129, -130, -136, -127, -143, -148, -131, -112, -93, -143, -150, -136, -147, -120, -109, -134, -116, -126, -87, -122, -156, -109, -25, -131, -142, -127, -123, -111, -149, -168, -127, -93, -135, -131, -142, -158, -140, -103, -115, -120, -140, -95, -111, -128, -123, -141, -140, -121, -125, -141, -154, -89, -130, -97, -153, -127, -133, -200, -127, -120, -114, -97, -136, -137, -129, -107, -113, -144, -152, -113, -101, -142, -103, -111, -131, -129, -121, -131, -129, -138, -86, -93, -119, -104, -79, -171, -134, -154, -106, -128, -117, -145, -93, -113, -135, -73, -139, -100, -114, -74, -147, -136, -138, -107, -126, -129, -109, -116, -138, -80, -107, -120, -127, -122, -139, -85, -126, -137, -145, -121, -137, -131, -125, -128, -108, -142, -135, -109, -122, -127, -130, -125, -138, -139, -126, -132, -102, -132, -141, -119, -124, -134, -88, -121, -131, -122, -137, -132, -118, -117, -130, -139, -145, -111, -123, -123, -107, -123, -123, -105, -177, -147, -147, -130, -130, -119, -100, -122, -122, -135, -94, -180, -199, -122, -133, -152, -115, -139, -95, -154, -117, -136, -141, -142, -110, -135, -124, -150, -129, -130, -130, -113, -133, -120, -141, -137, -119, -128, -121, -149, -130, -124, -114, -145, -128, -152, -143, -131, -111, -129, -120, -127, -143, -118, -120, -127, -134, -103, -119, -136, -147, -121, -105, -84, -148, -125, -133, -117, -145, -115, -124, -119, -124, -131, -127, -115, -111, -112, -144, -123, -121, -84, -105, -131, -99, -98, -102, -143, -120, -137, -121, -123, -109, -137, -99, -70, -116, -142, -125, -129, -138, -157, -142, -103, -104, -96, -133, -142, -94, -123, -122, -129, -111, -127, -104, -130, -148, -163, -111, -132, -138, -123, -130, -150, -149, -127, -126, -146, -121, -129, -101, -124, -109, -110, -156, -90, -131, -142, -134, -127, -125, -111, -131, -128, -126, -125, -153, -111, -132, -127, -120, -129, -126, -112, -150, -138, -142, -133, -132, -120, -83, -125, -126, -122, -138, -124, -135, -133, -141, -125, -147, -133, -113, -167, -115, -167, -67, -144, -125, -117, -140, -127, -133, -153, -143, -140, -97, -116, -141, -102, -138, -143, -125, -116, -125, -117, -97, -96, -129, -139, -127, -125, -137, -139, -135, -121, -117, -136, -138, -119, -122, -118, -114, -107, -144, -121, -155, -144, -114, -130, -113, -130, -132, -138, -143, -100, -118, -125, -133, -139, -149, -109, -120, -116, -132, -130, -110, -124, -131, -111, -162, -135, -178, -125, -137, -166, -148, -124, -155, -117, -91, -125, -135, -93, -127, -133, -140, -115, -146, -116, -155, -143, -95, -143, -109, -106, -135, -134, -171, -164, -123, -146, -134, -121, -126, -120, -119, -111, -132, -109, -110, -100, -105, -120, -125, -149, -114, -130, -129, -110, -88, -120, -119, -120, -123, -104, -121, -128, -123, -103, -128, -126, -133, -123, -103, -126, -117, -136, -115, -130, -190, -132, -137, -128, -112, -110, -136, -176, -141, -84, -135, -115, -125, -155, -100, -115, -135, -145, -98, -125, -102, -106, -111, -124, -108, -106, -146, -124, -139, -127, -130, -115, -126, -136, -115, -125, -123, -143, -137, -116, -124, -116, -123, -138, -127, -128, -103, -123, -109, -131, -102, -115, -156, -129, -152, -133, -129, -90, -128, -112, -109, -88, -146, -132, -144, -99, -132, -116, -134, -127, -120, -136, -136, -119, -134, -127, -130, -149, -123, -145, -132, -152, -149, -122, -123, -124, -122, -118, -127, -152, -118, -105, -146, -91, -113, -121, -120, -76, -123, -107, -106, -104, -123, -126, -92, -115, -108, -113, -177, -100}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1404395264, 1283757184, 1814357632, 1240211072, 2135941888, 1146597120, 1762043904, 1545279744, 1290753280, 1234516992, 1147475712, 1221483264, 1834717184, 1256807680, 1204758528, 1273633280, 1412279936, 1351442048, 1418456960, 1355527296, 2122968960, 1200305024, 1546302976, 1144761728, 1355139584, 1142417536, 1769764096, 1940188800, 1131820800, 1464247808, 1271281664, 1233737216, 1395989760, 1870373120, 1213581824, 1978909184, 2101362816, 2009380992, 1395102336, 1975108992, 1341897984, 1240999936, 1557239424, 1470468864, 1376296576, 1389778048, 1301435008, 2140036736, 1511063680, 1227610496, 1338326272, 1223953664, 1380776320, 1196536320, 1118934784, 1224970240, 1426277248, 1372045056, 1301123968, 1113937408, 1735323904, 1401008000, 1328593408, 1817872256, 1351363584, 1358939136, 1764560128, 1268029056, 1998117120, 1232649344, 1343621504, 1832860160, 1503051648, 1338981888, 1318702720, 1242110592, 1316810880, 1651684992, 1093557504, 1342952576, 1685259520, 1527065984, 1308820096, 1138066432, 2050363264, 1255484160, 1333613440, 1269018240, 1281924864, 1621329664, 2121786880, 1534849408, 1116154240, 1236310656, 1405334144, 1091611392, 1963598848, 1550689408, 1556696064, 1331178752, 1733766912, 1247528704, 1103509632, 1116650368, 1417012992, 1451364992, 1172326656, 1360300032, 1530255488, 1356690688, 1077621120, 2051462656, 1174888832, 1458444800, 1639871488, 1274325248, 1645465216, 1462516096, 1537749504, 1164816256, 1480712832, 1161271040, 1324228096, 1240071040, 1933888128, 1249265024, 1669191936, 1810145920, 1433995904, 1377112832, 1672113152, 1666933120, 1452685952, 1086950144, 1737726592, 1679653888, 1353306752, 1155692032, 1378056832, 1372314624, 1310529792, 1892258176, 1199644288, 1200507520, 1983474816, 1344103296, 1121091328, 1466663808, 1107966336, 1720000384, 1116278272, 1270278912, 1851611136, 1758141952, 1561825920, 2104426880, 1986507392, 1331725056, 1558893568, 1926996864, 1693791360, 1183790976, 1571612544, 1559045632, 1711741312, 1420648960, 1586717824, 1496368256, 1485869440, 1196970112, 1254565888, 1391725312, 1110706688, 1290763008, 1555697920, 1884571776, 1333270400, 1848701952, 1241167616, 1192545536, 1148737536, 1340454144, 1105028736, 1223634432, 1247541376, 1358450304, 1585080192, 1588776064, 1331527424, 1109331200, 1319542528, 1096783488, 1134221440, 1494403200, 1187905024, 1469565568, 1813772032, 1582754432, 1184561664, 1287120128, 1363317504, 1391047168, 1420601472, 1613598592, 1171347584, 1328831616, 1614885376, 1191714688, 1167287680, 1396880512, 1089521152, 1233269888, 1208759936, 1269597056, 1572407296, 1438562048, 1169424000, 1779698432, 1200273024, 1629596800, 1814054144, 1585505920, 2073627904, 1706750848, 1422670336, 1987963008, 1824459904, 1312525440, 1542215936, 2011902080, 1281687808, 1692435456, 2026959744, 1348631680, 1327752064, 1531970432, 1675520128, 2146691968, 1654271360, 1285263232, 1101691776, 1758110848, 1792647424, 1375129600, 1226297088, 1124659584, 1292260352, 1168907904, 1866264192, 1729598336, 1960283008, 1534020992, 1397256832, 1435457280, 1583697152, 1378301184, 1326123520, 1367972352, 1505670528, 1100502784, 1400100352, 1831542016, 1560914944, 1387858432, 1866062080, 1078040576, 1717477248, 1798884352, 1109210624, 1193694592, 1456806912, 1473042560, 1140081024, 1227656192, 1617063168, 1543670400, 1704731136, 1311287424, 1607682688, 1274371200, 1280982528, 1348838784, 1217425280, 1131598464, 1473661568, 1963516416, 1248775936, 1738935680, 1280315008, 1398734720, 1177229952, 1532234880, 1684560256, 1480753024, 1373678208, 1203569920, 1381787136, 1837703040, 1243836032, 1443616512, 1360875136, 1773703936, 1288838272, 1662356480, 1541623680, 1293490560, 1440211456, 1118668160, 1280345728, 1194574464, 1247463808, 1351999744, 1213757952, 1153859456, 1198630784, 1364992512, 1155796736, 1425651712, 1829447552, 1157884544, 1523856384, 1282565248, 1680813312, 1324067968, 1971459328, 1268174720, 1438151040, 1188392320, 1315013632, 1825765376, 1835881088, 1367135360, 1090191488, 1131191808, 1688504320, 1807554944, 1151654144, 1751565696, 1423959168, 1335241600, 1386276608, 1831764352, 1769764736, 1496102656, 1383960320, 1568533376, 1572573824, 1177467904, 1905605504, 1430089344, 1277198080, 1634063872, 1435571584, 1335648640, 1465755008, 1300927360, 1116196224, 1248767360, 1431737216, 1756924928, 1446099968, 1509463936, 1136885632, 1347488512, 1959491072, 1781535488, 1927241984, 1865473664, 1530115328, 1456347520, 1344306560, 1767333504, 1429160960, 1130807424, 1225691008, 1576052736, 1155981568, 1374151040, 1659573760, 1462511872, 1483299712, 1397101056, 2112577664, 1157995520, 1643442048, 1854119936, 1350363648, 1414215552, 1360098176, 1108686592, 1228260608, 2076865920, 1086386432, 1235389056, 1500342144, 1369342336, 1233266304, 1367126144, 1819735552, 1675292160, 1608887936, 1094327040, 1247816832, 1465910400, 1357724672, 1274790400, 1190575104, 1258720896, 1471227136, 1196737536, 1583620608, 1188756224, 1579698176, 1669252736, 1804024704, 1294495104, 1730827008, 1487021824, 1323047040, 1320760320, 1616434176, 1331364608, 2008279040, 1539844736, 1381446912, 1206984192, 1360444544, 1185031552, 1259671296, 1594249984, 1168672512, 1314254208, 1522004352, 1695956736, 1947683456, 1661969792, 1610075008, 1521304832, 1089887104, 1344427008, 1310471296, 1781854976, 1676843264, 1570379648, 1414000640, 1311101824, 1254568832, 1279426176, 1420335104, 1454867712, 1460353536, 1138890496, 1183003776, 1942390144, 1138693120, 1767108864, 1808335232, 1485922176, 1265895808, 1264270336, 1367076096, 1440065920, 1305966080, 1302491008, 1505765760, 1685770368, 1836669056, 1166644608, 1311524096, 1312039552, 1295642624, 1319139200, 1211757056, 1740621696, 1094050432, 1206698880, 1202716288, 1465673216, 2110998016, 1349281536, 2129393664, 1421846528, 1295381504, 1790548864, 1313667456, 1384104448, 1299331840, 1300168192, 1436548096, 1175055232, 1191091712, 1135453184, 1091555840, 1595708288, 1126806784, 1600967296, 1321548800, 1254635776, 1422307456, 1238724736, 1149404416, 1492415360, 1779604096, 1773501056, 1089900544, 1222437248, 1516857472, 1212343808, 1383880576, 1753869184, 1552917632, 1248258048, 1386368384, 1244967680, 1508139520, 1198849152, 1189239424, 1455511552, 1475279616, 1425686400, 1818715392, 1629986304, 1499310336, 1696720384, 1530331904, 1271795200, 1528792832, 1893683200, 1129654784, 2070727424, 1691104512, 1427278848, 1208131968, 1225072512, 1587281024, 1400625152, 1525416832, 1166278272, 1383058688, 1517709568, 1485155456, 1832404352, 1239864192, 1213870848, 1453939200, 1479877632, 1337749504, 1275719680, 1261927808, 1530368512, 1122058496, 1371260160, 1169970560, 1354617728, 1350451072, 1199948800, 1194239744, 1288461312, 1341973376, 1893616384, 1549705216, 1448397056, 1771650560, 1220546816, 1105170816, 2073528960, 1354925056, 1373542272, 1617700224, 1455345920, 1435539712, 1355399040, 1813242880, 1393340288, 1143902848, 1417512448, 1455657088, 1747557120, 1419584640, 1572613888, 1240233344, 1282791296, 1096284800, 1506309376, 2019564672, 2110280704, 1784900096, 1764571136, 2021927936, 2006482048, 1683676800, 1589769216, 1273234176, 1550416128, 1577664896, 1302888192, 1681002112, 1522161664, 1794299264, 1244370048, 1859861120, 1133889280, 1426616448, 1433604224, 1680437504, 1412132096, 1378714880, 1814832128, 1728286592, 1110110464, 1399758976, 1097600128, 1255242624, 1431250432, 1879979648, 1217500672, 1941442176, 1212464640, 1340013056, 1389801344, 1575739264, 1356870272, 1383388672, 1346109824, 1092802048, 1522432000, 1417362944, 1343817472, 1230473600, 1391656576, 1901505920, 1380314112, 1504753792, 1391934976, 1735419392, 1481002624, 1229691520, 1706117376, 1731682816, 1443780864, 1190527872, 1698732800, 1350685056, 2109156224, 1243277952, 1132441728, 1402965376, 1370185600, 1326592000, 1350276480, 1990592384, 1211054080, 1103870336, 1588246272, 1278220160, 1540572544, 1364280320, 1119509632, 1898711040, 1581501184, 1163430656, 2013272320, 1505586048, 1402311040, 1445208704, 1081387136, 1295610368, 1710975744, 1135979776, 1474430336, 1911494400, 1552127872, 1145555200, 1603070336, 1191369856, 1497814400, 1559232128, 2111828480, 1500383232, 1723338240, 1371304320, 1375627648, 1211111936, 1243942400, 2060029952, 1371452544, 2035398784, 1373458304, 1116760832, 1859000320, 1638253696, 1694452736, 1993405440, 1202218496, 1802148608, 1343746560, 1332056064, 1648486016, 1376383488, 1842899072, 1713541504, 1185426816, 1351841792, 1596247424, 1299697792, 1380044672, 1245929472, 1586648064, 1989190400, 1182151296, 1160784896, 1621575168, 1421379712, 1347784576, 1093504512, 1605840256, 1335214976, 1655890816, 1513768320, 1683830272, 1214247680, 1372534528, 1244590720, 1556802176, 1227976192, 1223696000, 1239694208, 1426848000, 1413097600, 1160356096, 1255530368, 1373998848, 1355568640, 1434757760, 1425251200, 1376281344, 1659046528, 2073553152, 1162056704, 1614831360, 1907447424, 1316835200, 1401212672, 1473237504, 1764354432, 1460695424, 1155517952, 1997896192, 1302683264, 1246380544, 1106459264, 1960990720, 1268929280, 1422736256, 1238480512, 1192721920, 1154064128, 1252360960, 1268258560, 1094507392, 1146389632, 1240559232, 1639103488, 1259719680, 1766927232, 1695182464, 1782155008, 1749160064}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {223580, -82, -5456, 1846, -431, 6127, 55487, -887, -3544, -1153, -1265, -274, 5977, -10826, -1315, -7437, -2773, 73397, -1851, -3535, 3834, -1477, -2655, -203, -5493, -200, 82912, 94901, 80253, -1130, -2662, 58246, 1087, 70211, -2295, 70064, 83525, -1255, 155041, 79367, -719, -4566, -6606, 83293, 180284, -1624, 89061, -442, -2357, -2183, -3230, -2608, -869, 56870, -7850, -9267, -4867, -10977, -26562, 72, 134410, -1639, -100, -259, 724, -5076, -366, 134361, 71102, -19904, 90091, -1387, 76697, 4686, -9426, -3461, -864, 90843, 88332, -636, 8790, 78933, 195210, -1300, 104360, -679, -137, 507, -2083, 107306, -2799, 146532, -7195, -3326, 54314, 5703, 76315, 57752, 94815, -5079, -1535, 139495, -4986, -1292, -955, 117164, -2265, -3941, -21316, 75748, 5386, 94106, -1026, 87139, -21813, -471, -835, 83744, 2691, -2339, 136489, 99113, -1627, -7659, -789, -1555, 194, 136379, 79702, -1248, -408, 54875, -1560, -521, 54812, 120526, 432, 3600, -3466, 67993, 92360, 109089, -6014, -2020, 108002, 92314, 89462, 131290, 74425, -990, -9379, -1871, -3070, 79826, -45681, -3343, 162, 675, -132, 80137, 106200, -2826, -4813, 70508, 120122, -2462, 48419, -2788, 6228, -1378, -4250, -5886, -10785, 81716, 4198, 56545, -12413, -114, -1122, 81555, -2367, -1820, -698, -1725, 98159, -4324, -1504, 10791, -1860, 120186, 75, -1863, -656, 130520, 157866, -4462, -1321, -2949, 107878, -867, 99675, -2698, 68927, -830, -1189, -2498, 72111, -11118, 92, -821, 169014, 1967, -3536, -1387, -4955, 144288, -253, 843, 1573, 53957, 167946, 119078, -65, -10724, -2411, 76074, 78671, 1100, 93667, 55743, -2166, 197425, 83058, -1031, 10616, 83198, 89706, -7220, 28489, -2216, -552, 89245, 3416, -10098, 111700, 1166, 116907, 58837, -2631, 369, -60, 2513, -1132, -2924, -4566, 142625, -27265, -9826, -15986, -188, 130706, 262889, 109310, -613, -796, -151, -1120, -16442, 122187, 3965, 110692, 80996, 109140, -456, -254, 74472, 98975, -1691, -3206, -243, 85679, -9704, -17424, 103581, -547, -2540, 84535, 108961, -6468, 109903, -25, 112038, -10761, -6505, 76315, 79278, -6930, 61532, 84636, -1498, -2296, -16280, -8844, 68913, -7044, -4801, 113563, 2520, -28387, 2760, -50907, 80898, -1863, -596, -2502, -1492, -1603, -445, -9417, -35617, 157949, 131920, 47933, -7192, 100650, -7912, -520, 994, -4091, -626, 98448, -6125, -2127, -3747, 79, -590, -916, 55982, -203, -847, -4152, -1381, 217323, 124538, 216, 232589, -6194, 4730, -141, 46720, -1517, -2502, -35287, 79185, 62424, -9670, 53638, -1136, 2405, -18, 56351, 102822, -3297, -17052, 188296, 79869, 5298, -3803, -2128, -1055, -1193, -246, -931, -1284, -5999, -2156, 163249, -8113, 80589, -1159, -2094, 124820, -3687, -313, -12061, -76, 90897, -44887, 187889, -2657, -367, -819, 129965, -6160, -1481, -14067, 3918, 207555, 65494, 159427, -4863, -566, -241, -639, -185, 5193, 145188, -6683, -32374, 1246, -1627, -257, 55911, 131688, -21273, -4301, -16215, 164190, 180981, -11840, -24734, -14591, 138730, 5955, -6057, -4285, 79393, -3278, -1343, -29142, 110286, 82942, 79567, 94718, 94153, 54606, 93514, -149, 115, -7809, 75053, -6391, -2735, 83351, -1435, -9427, 115617, -724, -7669, -820, -1127, 119536, 110140, -12635, 110154, 18937, 9032, -8562, 117888, 71013, 48311, 226571, -1477, -9332, -646, 1685, 71637, -1590, -148, 65156, -1180, -5073, 95566, 79780, -24418, -1475, -2652, 100206, 45024, 185277, 6898, -4151, -969, 116968, -8098, 74007, -211, -1120, 72573, 98078, 88871, 69989, 85115, 91526, -2711, 115025, 100347, -5017, -896, 62615, -491, -329, -598, 64660, -50, -802, -2686, 6043, 93732, 1975, -2348, -914, -1481, 92462, 194234, 4708, -319, 33712, -885, 101963, -784, 106627, 264166, 111768, 84002, 96814, -328, 7591, -5747, 118281, 85758, -185, -1522, -5989, 33355, 124295, -2401, 104087, -1257, -401, 68438, 86264, -113, 110479, -3997, 95912, -2200, -1082, -253, 151180, -811, -6551, -979, -3463, -3121, -3899, -4671, -3844, 86320, 4644, -874, 64916, 54753, 180888, -37653, -1194, -740, 48766, -168, -2455, 63335, -31493, 94405, 204148, 62744, 85873, -456, -4449, -11461, -3500, 60603, -1083, 75397, 130780, 54895, 71522, 96627, -2178, -97, 4427, -1674, -1214, -12070, -762, 114558, -5265, -1693, 95383, 72875, -1347, -11897, 93396, 88310, -22560, 82660, -18548, -1703, 69755, 88733, -6843, -364, 2272, 114696, -1711, 2106, -705, -160, 107494, 140864, -1927, -60154, -1425, -12541, -19979, 87837, -4861, 153997, -724, -136, 97794, 44069, -8322, -1580, 98909, 59123, -2586, -970, -2951, -73, 83283, 95861, -12039, -584, -1259, -70183, -2561, 78631, -496, -540, -2920, -1102, 62588, -1263, -1236, -11329, 98436, 76460, -59341, -176, 83599, -384, -2647, -743, -7835, -3321, 51, -1364, 75007, -1103, -115, 13197, -1511, 84356, 94031, -2167, -1350, 96573, -127, 79520, 83363, -10228, -983, -19663, 7187, -3262, 268004, 79802, -295, 1824, -646, 147083, -653, 1519, -32668, 209, -654, 556, 123796, -1368, 9269, 74068, 3351, -3105, -4004, -4370, 113618, 70453, 93070, -31633, -472, -466, -9241, 98563, -144, 2887, 1235, -661, 102008, -5902, -34731, -4351, 2073, -1666, -1002, 141531, 147008, -11714, -12771, -4179, -18411, -1819, -474, -5590, -1363, -144, -1547, 3857, -25, 1048, -1311, -1574, -714, -2024, -566, 76522, -1544, -4954, 5359, 111932, -3990, -9342, 124128, -6233, 3175, -1816, 52857, -23201, 82700, 91924, 159847, 1826, -654, 39473, 45850, 115676, -5595, -10234, 76324} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-807, -200, -108, -93, -156, -114, -473, 65, 119, 169, 94, -169, -184, -48, 111, 188, -10, -475, -115, 259, -108, -42, 173, -68, 144, -110, -379, -573, -503, 41, 104, -528, -176, -375, -84, -505, -572, 50, -707, -387, -100, 32, 211, -531, -834, 111, -647, -33, -149, -119, -85, 253, -79, -322, 209, 193, 320, 240, -49, -104, -408, 57, -132, -141, -93, -55, -97, -677, -504, 75, -483, 34, -570, -112, 282, 432, -33, -443, -560, -190, -128, -508, -600, 116, -619, -96, -150, -110, -141, -733, 202, -565, 118, 70, -288, -104, -561, -265, -369, 62, 90, -627, 9, 24, 67, -717, 232, 183, 135, -398, -109, -439, -181, -387, 34, -100, -181, -586, -162, 231, -468, -647, 204, 175, 31, 101, -197, -713, -439, 76, -171, -518, 67, -175, -177, -688, -103, -170, -118, -519, -429, -564, -28, 145, -564, -386, -569, -545, -492, 38, 138, 46, 119, -580, 50, 162, -105, -110, -160, -685, -494, 149, 63, -481, -667, -142, -366, -119, -125, 57, 248, 51, 46, -377, -106, -559, 243, -135, -81, -584, 136, 123, -190, 75, -447, 46, 96, -80, 111, -479, -195, 4, -171, -649, -532, 67, -96, -92, -710, -134, -607, 79, -459, 20, 24, -84, -419, 1, -174, -14, -897, -83, 15, 117, -77, -765, -177, -111, -112, -489, -648, -712, -180, 106, 39, -418, -571, -98, -626, -515, 183, -599, -482, 17, -105, -526, -509, 61, -165, 197, -108, -463, -115, 369, -560, -120, -775, -376, 144, -99, -177, -122, 134, 95, -131, -550, 25, 79, 141, -109, -722, -667, -657, -41, 11, -130, -27, 51, -682, -99, -564, -488, -628, -168, -101, -431, -504, 106, 130, -185, -409, 146, -79, -537, -64, -152, -427, -466, 159, -767, -159, -708, 76, -35, -583, -539, 92, -571, -629, -77, 175, 127, 27, -348, 59, -6, -571, -88, 376, -112, 136, -421, 136, -150, 128, 109, -153, -49, -135, 258, -527, -801, -253, -89, -459, 191, -61, -79, 5, -182, -596, -34, -20, 329, -95, -154, -164, -460, -171, 37, -82, -30, -815, -467, -119, -631, -80, -102, -176, -403, 148, -48, 88, -491, -442, 151, -346, 79, -106, -209, -353, -573, 106, 167, -864, -549, -117, -57, -26, 109, -80, -107, -34, 95, 18, 396, -659, 179, -455, 80, 35, -569, 172, -116, 185, -181, -417, 19, -551, 154, -124, 40, -746, 307, 137, 77, -105, -540, -310, -563, 88, -150, -181, -127, -123, -111, -691, -119, 48, -107, 121, -127, -278, -566, 173, 249, 69, -585, -656, 82, 248, 169, -679, -96, 128, -20, -505, 138, 204, 14, -529, -497, -532, -460, -502, -309, -590, -173, -185, 192, -459, 123, 244, -565, 19, 136, -672, -20, 125, 0, 83, -771, -593, -105, -541, -151, -165, 80, -572, -501, -418, -829, 184, 243, -62, -83, -308, 44, -179, -319, 76, 39, -545, -330, 70, 2, -45, -500, -308, -790, -179, 93, 85, -609, -80, -502, -138, 3, -559, -385, -619, -454, -358, -627, 161, -730, -640, 267, -166, -402, -54, -92, -192, -416, -174, 37, -92, -97, -553, -156, 158, -42, -168, -380, -549, -101, -192, -372, 5, -530, -38, -540, -874, -644, -571, -562, -57, -119, 146, -575, -535, -156, 99, 176, -384, -747, -71, -690, -86, -123, -511, -526, -155, -588, 280, -552, 115, 114, -121, -654, 42, 27, 59, -149, 138, 218, 115, 108, -529, -161, 31, -406, -346, -593, -3, 65, -81, -399, -127, 2, -318, 188, -579, -668, -343, -619, -80, -48, -3, 91, -482, -26, -364, -701, -310, -389, -566, 124, -181, -108, 201, 87, 103, 90, -719, 168, -26, -491, -308, -172, -95, -465, -561, 331, -419, 27, 199, -381, -571, -85, -179, -117, -592, -86, -102, 0, -146, -632, -710, 147, 349, 105, -66, 27, -504, 231, -534, -81, -115, -449, -357, 365, 137, -566, -306, 123, 38, 80, -125, -513, -520, 139, -17, -83, 280, 262, -449, -54, -41, -40, -141, -346, 34, 84, 213, -639, -497, 605, -201, -490, -189, -155, -45, -142, 186, -199, -73, -510, -38, -153, -205, 270, -642, -459, 156, 76, -639, -180, -590, -470, 191, 55, 447, -104, -78, -1210, -550, -89, -129, -169, -782, 22, -103, 8, -111, -172, -147, -603, 61, -120, -381, -109, -69, -197, 359, -360, -379, -627, 95, -43, -50, 45, -523, -133, -110, -67, -73, -533, 230, 99, 50, -102, 279, -3, -526, -597, 294, 359, 132, -71, 112, -105, 92, 134, -123, 79, -104, -188, -81, -84, -165, -164, 135, -74, -531, 141, 147, -105, -624, 149, 85, -468, 213, -104, 151, -442, 98, -528, -579, -562, -89, -166, -430, -273, -678, 266, 198, -431}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1803006976, 1550677504, 1269650560, 1867893888, 1824280448, 1653659904, 1447447936, 1218539136, 1836387072, 1526866688, 1898572928, 1730650752, 1763164032, 1755544448, 2123858688, 1804830080, 1350613632, 1301882240, 1670656256, 2144559744, 1280160256, 1853985792, 1707843840, 1209670144, 1361291648, 1577716224, 1513185920, 1757225728, 2081295616, 1084256896, 1676825600, 1422053376, 1447163776, 1106131456, 1359328128, 1510715904, 1310917760, 2106608128, 1229085184, 1771817344, 1229246848, 1461112448, 1188372480, 2138134016, 1219784448, 1761322368, 1900731776, 1113395328, 2011118592, 2137088896, 1356401152, 1427530496, 1975941120, 1277041536, 1473119872, 1217701760, 1800548096, 1536233600, 1315798528, 1265067648, 1814914816, 2091222400, 1780659200, 1843860736, 1805569536, 1258526208, 1502604800, 1453762560, 1238069248, 1167498880, 2112641536, 1579581312, 1098110720, 2014868480, 1152490880, 1585690496, 1538192384, 1114090368, 2000808960, 1723538304, 1464859392, 1163984640, 1522018432, 1976623488, 1112220032, 1844960384, 1731040000, 1173756288, 1816860032, 1585772416, 1327042560, 1383560576, 1776523904, 1210340736, 1354412416, 1997574784, 1289831552, 1514228992, 1145480832, 1148189184, 1981433600, 1559261312, 1662384256, 1338012160, 1981492096, 1380314368, 1415467136, 1269063808, 1402801408, 1830580608, 1941521024, 1505044096, 2104769152, 1170711680, 2102850560, 1354442240, 1399518464, 1117657600, 1368828032, 1272183040, 1826764288, 1783086336, 1408861312, 1208753024, 1503070848, 2077382016, 1190449664, 1288360576, 1101721216, 1155177600, 1142185984, 1423725312, 2050992896, 1448996992, 1164349696, 1417011456, 1237804800, 1603020544, 1884428544, 1153743232, 1111569408, 1666671488, 1785199744, 1960623360, 1131907712, 1152821248, 2030146048, 1391292032, 1254343936, 1277998848, 2038644480, 1453911168, 1861805952, 2044912640, 1171114624, 1350279168, 1778937984, 1923723776, 2002456576, 2037723264, 1701338880, 1432609664, 1133115648, 1267718272, 1580406272, 1367469440, 1790906240, 1457789824, 1316025600, 1639448192, 2108415616, 1927069184, 1308076160, 1233503104, 1416615936, 1369888512, 1165646592, 1232394752, 1336033024, 2130043008, 1766541568, 1624157952, 1472468096, 2030026240, 1080875520, 2106355456, 2124515456, 1381715072, 2126822400, 1932182144, 1832082176, 1286046848, 1266811264, 1360133504, 1857079936, 1898959872, 1751629056, 1771602944, 1720236928, 1581465600, 1673777152, 1892498944, 1272646912, 1249308288, 1242581376, 1251950464, 1308600192, 1976163200, 2122024064, 1823023360, 1115742208, 1699984512, 1612100736, 1159727232, 1451277056, 1243340800, 1445366016, 2013043968, 1763619328, 1385768064, 1253196032, 1486410752, 1299466368, 1841836288, 2092107264, 1611065216, 1976049408, 1232750848, 1756222848, 1301635456, 1600503936, 1098807936, 2058125952, 1460983424, 1533140352, 2112779904, 1965381376, 1416007680, 1207268992, 1339336192, 1320084864, 2082635904, 1272951680, 1723226368, 1907309824, 1081740160, 1383650048, 1542595968, 1656427392, 1081285632, 1357369856, 1105417088, 2131470592, 1833304320, 2069782400, 1958056832, 1360421632, 1834610944, 1351731584, 1081771392, 1454531840, 1978284160, 1600177152, 1813933312, 1147627904, 1392252160, 1838680064, 1207919360, 1510159744, 1985507072, 1768163328, 1170495872, 1636624000, 1637539072, 1513598336, 1221015808, 1887216256, 1827323648, 1616201216, 1579033472, 1287143936, 1495821056, 1406013184, 1894617984, 1274098176, 1382400768, 1176827392, 1281143552, 1759221248, 1541065728, 1094465152, 1561221120, 1309608832, 1674389760, 1109575552, 2047955968, 1930075136, 1307464064, 2039027328, 1370467840, 1588043136, 1359436544, 1993829376, 1552729088, 1365066112, 1713514240, 1810662656, 1635066496, 1543773952, 1314703232, 1761740544, 1181487360, 1678826496, 2144854784, 1660278272, 1921232128, 1905058688, 1181393152, 1765160832, 1080792832, 1302297216, 1419580160, 1817359872, 1570296448, 1221438464, 1251618304, 2088240512, 1588257280, 1336064128, 1495808512, 1622931968, 1080900992, 1670775680, 1103354368, 1923435648, 2041703552, 2034801024, 1596325760, 1485855488, 1417752832, 1793231488, 1918535424, 1840658944, 1680091776, 1116036480, 1164358272, 1252509696, 1752873600, 2004811904, 1074438400, 1539637376, 1994770176, 1790132352, 1088613376, 1454241792, 1195639808, 1743697152, 1225167744, 1186816128, 1317916032, 1666176512, 1741317376, 1706631040, 1180849280, 1824121344, 2086437760, 1213747200, 1469634176, 1635999488, 2025923072, 1670396288, 2012236928, 1756518656, 2056191616, 1204499712, 1261969536, 1636902144, 1356418048, 2090408064, 1925386368, 1192754432, 1801309696, 1461055232, 1176220672, 1339869952, 2008138368, 1083260416, 1199009920, 1276384000, 1781287040, 1825018112, 1324845184, 1454870144, 2035414656, 1858214400, 1644505728, 1665563520, 1181298560, 1144263168, 1316214016, 1339005568, 1174497280, 1086974720, 2136979072, 1090151808, 1381985152, 1469026304, 1637467648, 1356214400, 1983689472, 1249312640, 1958040448, 1613496960, 1501772544, 1450479616, 1259028992, 1756392320, 1258653184, 1169096704, 1797040512, 1753900928, 1500263808, 1388465792, 1329543040, 1519140608, 1412391552, 2115556480, 1855534208, 1476147840, 1753963264, 1834704256, 1108022144, 2072817536, 1631847936, 1212361856, 1655497088, 1848886016, 1734848384, 1547584128, 1210220800, 1347159680, 1880437376, 1168128768, 1095232896, 1216785664, 1340427136, 1512613376, 1706142976, 1804122752, 1814071680, 1225267840, 1570347392, 1802435200, 1132221184, 1993759488, 1077189760, 1152820096, 1770344960, 1598413952, 1394697472, 1740398464, 1766265344, 1462201472, 1319428608, 1099490304, 1538971008, 1209692160, 1227593472, 1138743040, 1225499904, 1226985984, 1085743872, 2061132544, 1869225344, 1712991744, 1546526592, 1479417984, 1775914368, 1232912512, 2070027648, 2032516224, 1337419904, 1286090496, 1465223424, 1809186432, 1142064768, 1607357312, 1463306496, 1086831872, 1109248896, 1772494336, 1414285696, 1432872576, 1814447104, 1450431616, 1357930112, 1807980416, 1295686912, 1222093824, 1620791808, 1340887040, 1477923840, 1481579264, 1453927168, 1239124864, 1691415936, 1666567424, 1759811072, 1891397376, 1757003520, 1863998720, 1889726336, 2032418816, 1128489600, 1305412864, 1694296448, 1123931776, 1295504896, 1337388672, 1244382208, 1786179584, 1770000640, 1534852736, 1577681792, 1916263168, 1247548800, 1105310720, 1941828608, 1942342144, 1986755584, 1073874688, 1430182656, 1096637824, 1575128960, 1281327232, 1370586368, 1431830528, 1624387712, 1508150528, 1152753920, 1166529920, 1240514176, 1099009536, 1079723264, 2040041472, 1832188032, 1670962560, 1103869440, 1907703424, 1140862080, 1289449984, 1250868864, 1220089088, 1287343232, 1346767232, 1361373056, 1835878784, 1882349312, 2032443264, 1144460032, 1403783552, 1366205056, 1451144576, 1174879104, 1907465472, 1222023168, 1499488768, 1751459328, 1155170688, 1096422400, 1370712832, 1202996224, 1902341376, 1088995584, 1594778368, 1890668672, 1497786112, 1887896832, 1167981952, 1790166912, 1447102080, 1650008064, 1433990144, 1357115264, 2074341248, 1314724480, 1825279104, 1687007744, 2076754816, 2106452992, 1420956160, 1139643008, 1643270912, 1439417984, 1682248832, 1296463104, 1210415616, 1856676992, 2001623168, 1128214784, 1307316224, 1284471552, 2021107456, 1097301888, 1193535872, 1275907968, 1417550976, 1791144320, 1946626176, 1997123968, 1526010368, 1415614080, 2014220928, 1793821056, 1081499904, 1637511296, 1544984960, 1792026496, 1279956608, 1577080448, 1972452224, 1104678016, 1256768896, 1315744128, 1105873664, 1940938880, 1407814912, 1095942272, 1406186624, 1963772416, 1413054720, 2036098176, 1670707712, 1917542656, 1500047744, 1893094656, 1272566912, 1222407168, 1934694656, 1181901056, 1079914880, 1858652928, 2032136064, 1200174336, 1917014656, 1984404864, 1376789120, 1274353920, 1080809472, 1989611392, 1277236736, 1591032576, 1663205888, 1915533056, 1200351104, 1699651072, 1355750528, 1104302592, 1804517632, 1178498176, 1534242048, 1937917824, 2036576256, 1258907520, 1375180160, 1406880512, 1247139328, 1158498304, 1967961984, 1142789632, 1843304064, 1489987200, 2039242624, 2065558400, 1256797056, 1195473152, 1650329984, 1379222016, 2124146048, 2088461056, 1571960576, 1543440640, 1675309824, 1786659328, 1581132800, 1369354880, 2108003072, 1722117248, 1652094976, 1875130112, 1207331072, 1596727936, 1935463040, 1377427584, 1999234688, 1370805760, 1180861184, 1510559488, 1178108288, 1624588160, 1978209024, 2107287424, 1119388544, 1692402176, 1085796992, 1134158976, 1528224896, 1823070848, 1900792192, 1203381504, 1704562688, 1503320064, 1970441088, 1411960320, 1886848512, 1524832512, 1380535936, 1689514624, 1280485888, 1628902016, 2075052928, 1274297984, 1379856768, 1519869696, 1672325120, 1389850368, 1093298816, 1673655040, 1239761408, 1086684672, 1956359040, 2044339968, 1623720192, 1099757184, 1757550336, 1962842752, 1173461376, 1280425984, 1463878016, 1444258816, 1879933696, 1428455168, 1527438336, 1193203328, 1167144960, 2090676480, 1799014016, 1997858688, 1490972288, 1684422528, 2020324736, 1502094464, 1315754880, 1834665600, 1575015936, 1608313600, 1601267968, 1168856192, 1841937024, 1625844992, 1092555136, 2071792896, 1895029376, 1147946752, 1486549888, 1347274880, 1494169984, 1203898880}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {468, 1199, -828, 667, 760, 2563, 2094, 2209, -395, -850, 2551, 1522, 3164, 1026, -1025, 1686, 1780, 373, 4164, -2794, 1213, -616, 147, -785, 514, -100, 615, 644, -117, 1368, -691, -1847, 674, 752, 1818, -419, -1038, 2240, 1457, 1236, 1734, -3128, 2154, 546, 4317, -187, 1331, 766, -863, -1099, -21, 940, 537, -49, -956, 544, 780, 2502, 720, 883, 618, 1833, -677, 2850, -1053, -1264, 1133, 666, -137, 290, 1393, -672, -2123, -1088, -2278, 2043, -2030, 2489, 67, -570, 346, 372, -2373, 674, -1991, -155, 108, 661, 1376, 588, -749, 963, -380, 720, 946, -196, -924, 2600, -539, 336, 2836, -69, 302, 34, 830, 529, 1545, 78, -1120, 518, 922, 730, 1071, -954, 153, -903, -1162, 2249, 1472, 757, 1252, -89, -1331, 585, 1517, -1877, 5705, 924, 1154, 2084, 1263, 453, -742, -55, 661, 3237, 753, -843, 1759, 903, -345, 658, 1311, -43, 1225, 108, 2608, 969, 1017, 452, 1340, 332, 1996, 4, 1611, 416, 493, -903, 1620, -1779, 1097, 40, 1568, 1141, 745, -698, 742, 492, -815, 988, -1233, -397, -230, -416, 1348, 493, 1433, -345, 3102, -331, 577, -709, 995, -1132, -343, -266, 1258, -481, 3031, 2569, -133, 1167, 696, -126, -314, 3515, -721, -532, -272, 2394, -644, 1221, 247, 1573, 987, -2463, 1185, -989, 999, -805, -2546, -1735, 1510, -92, 1262, -79, 480, 524, 2230, -1377, 821, 1267, 521, 984, 342, 3417, -558, 648, -537, 1355, 1805, 513, 1554, -209, 773, 1083, -565, 706, 1659, 738, 489, 162, 3491, 825, 1329, -467, 755, -1328, 11, -927, -409, 2145, -1146, 798, 1317, 224, -388, 549, -171, 1087, 730, -878, -1295, -1420, -1103, 355, 1454, 980, 1027, -650, 2958, 619, 112, 554, 1970, 706, 1203, 2826, 3345, 2303, 1258, 2549, 299, 1636, 1377, 312, -256, 1455, 83, 879, -1855, 2406, 1425, 1440, 1540, -183, -1457, 1419, -459, -2865, 1801, -115, -233, 1260, 1276, 119, 811, 828, -268, 1932, 2308, 2348, 999, -1268, 1828, 1127, 2291, 67, 140, 907, 1958, 1701, -397, -1535, 555, 152, -890, 3360, 1354, -1411, 1413, -321, -206, -488, 2523, 1314, 2503, -375, 31, -216, 2584, 2639, 2597, -279, -1621, -1198, -344, -427, -477, 660, -171, 914, 427, 648, 985, 506, 1400, 677, -1262, 1035, 172, 1004, 1315, -34, -376, -1226, 1707, -17, 1822, 1149, 352, 1133, 660, -887, 147, 954, 1914, 2813, 1383, 890, 3095, 1744, -994, -1818, 2568, 351, 381, 727, -2237, 2801, 1460, 2350, 2078, 1371, 1321, 1851, -1447, 734, -705, 1848, -1318, 860, 3786, 1677, 1667, -389, 1385, 1292, -844, -97, 2971, -187, -1270, 750, 2778, -833, 257, 568, 1352, 313, -1193, 2246, 1537, 2088, 1189, 652, -1023, 935, 639, 3822, 689, 2117, 1323, -403, 658, 269, -1971, -1098, 1531, 384, 1096, 2094, 532, 1853, 2023, 2299, -1009, 1822, 145, -740, 685, 2168, 1893, -2324, -1838, 1205, 2143, -218, -102, 1468, 1586, 1768, -652, 1075, 8, -992, -2211, 943, 3829, 227, -591, -1082, 3920, 1048, 1572, 1972, -372, -929, -1137, -636, -2029, -189, 726, -719, -56, -2143, -220, 1146, -1413, 3293, -916, 1006, 3356, -1336, 3059, -153, 4009, 1045, 613, -1399, 1444, 4184, -1803, -170, 1398, -734, 1029, 2326, 1078, 268, 3525, 290, 1722, 2814, -1007, 1536, -1443, -356, -329, 2910, 416, 27, 1814, 924, -164, 1368, -309, 2117, 179, 117, 781, 606, 285, 2127, -1348, 2989, 1153, -1796, -1727, 468, -2360, 1020, 824, 1179, -1814, 406, 1517, -197, 288, -502, 1446, 2623, 1273, 708, 1851, 2923, -520, 1580, -149, 2488, 2309, 915, -1188, -1660, 3517, 2716, -95, 1753, 342, -851, 2596, 1042, 538, -59, 1350, 4143, 4949, 2387, 2945, -90, 684, -1459, 669, -1047, 3265, -187, 103, -1530, 906, 2508, 797, -526, -1906, -833, -664, 2010, -937, -151, 3078, 1116, -999, 208, 601, 938, 709, 1887, -1834, 1813, 1260, 207, 1663, 644, -326, 1243, 1416, -2863, -180, 399, 2141, 2746, 1508, 347, -1097, 653, 923, 1293, 705, 886, -1400, -944, 829, -62, 913, 1292, 875, 523, -573, 1448, -349, -751, 2594, 855, 1645, 1939, 787, 527, -1026, 1606, -1421, 964, 2388, -1506, 263, 447, 2770, 1016, 347, -2551, -2603, -2184, -359, 1119, -2062, 2626, 703, 1317, -904, 2102, 2551, -1242, 690, -1003, 3052, 377, 2633, -804, 2041, 2149, 3216, 1343, 1964, 2652, 1636, -653, 1110, -1202, 4927, -2309, -1322, 1725, 278, -380, 2357, -660, 1341, -1559, 965, -630, 1389, 2166, -2184, 2405, 397, 777, 3279, 1483, 266, 4569, 1322, -867, 1434, -588, 662, 2800, 2206, -1158, -477, 2211, -836, -418, 495, 739, 1027, 1907, -811, -128, -711, 106, 232, -972, 2915, -2352, 600, -2068, 145, 105, 1685, 948, -241, 1032, 1916, -976, -702, -345, 136, 1529, -70, 1112, 1380, -253, 4136, 1702, 1268, 2426, 944, 1562, 43, 964, 1656, 1265, 1620, -202, 900, -156, 2027, 1680, 258, -440} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-10, -9, -8, -8, -8, -9, -8, -8, -8, -8, -7, -9, -8, -9, -9, -6, -7, -8, -8, -8, -9, -8, -7, -8, -11, -8, -8, -8, -6, -8, -8, -7, -6, -8, -7, -8, -10, -8, -8, -9, -8, -8, -8, -8, -9, -7, -10, -8, -8, -8, -8, -7, -9, -8, -8, -8, -9, -8, -7, -8, -7, -8, -8, -8, -8, -8, -9, -8, -9, -9, -8, -9, -7, -8, -7, -9, -9, -10, -8, -8, -8, -8, -7, -7, -7, -9, -8, -8, -8, -8, -7, -8, -8, -8, -7, -7, -8, -7, -8, -8, -8, -8, -9, -8, -8, -8, -7, -6, -8, -7, -9, -9, -8, -8, -11, -8, -7, -8, -8, -11, -8, -9, -8, -11, -7, -7, -8, -8, -8, -9, -7, -8, -9, -8, -9, -8, -9, -4, -11, -8, -7, -8, -7, -8, -11, -8, -8, -9, -10, -9, -8, -8, -9, -7, -8, -9, -6, -8, -9, -8, -7, -8, -8, -7, -7, -8, -6, -8, -9, -8, -9, -7, -8, -8, -9, -8, -9, -8, -8, -9, -7, -7, -10, -8, -8, -8, -7, -7, -9, -8, -7, -7, -9, -8, -8, -7, -8, -8, -8, -8, -9, -9, -7, -9, -8, -6, -9, -9, -7, -8, -7, -8, -9, -8, -7, -8, -8, -9, -9, -8, -8, -7, -8, -7, -8, -8, -8, -10, -9, -7, -8, -7, -9, -8, -9, -8, -9, -8, -7, -8, -7, -8, -8, -7, -8, -8, -9, -9, -7, -7, -8, -8, -8, -9, -7, -8, -8, -9, -9, -8, -9, -8, -8, -8, -7, -8, -7, -8, -7, -9, -7, -9, -7, -8, -8, -8, -7, -9, -7, -10, -8, -9, -8, -8, -8, -9, -8, -8, -7, -9, -7, -8, -7, -9, -8, -9, -7, -8, -8, -8, -8, -9, -7, -8, -8, -8, -9, -9, -8, -8, -10, -9, -10, -4, -8, -9, -9, -8, -9, -11, -8, -7, -7, -9, -8, -7, -9, -8, -8, -9, -8, -9, -8, -8, -10, -9, -7, -11, -10, -8, -9, -8, -9, -8, -7, -8, -7, -9, -8, -9, -8, -11, -10, -10, -8, -8, -9, -10, -8, -8, -12, -7, -8, -8, -9, -7, -10, -9, -9, -8, -9, -9, -9, -7, -7, -8, -11, -8, -7, -7, -8, -9, -7, -10, -8, -7, -9, -8, -8, -9, -9, -7, -7, -8, -8, -8, -7, -8, -9, -7, -8, -7, -9, -7, -9, -8, -8, -8, -8, -7, -7, -8, -8, -8, -9, -6, -8, -9, -8, -8, -7, -8, -9, -9, -9, -7, -9, -7, -8, -8, -8, -8, -7, -8, -8, -8, -7, -7, -8, -6, -8, -8, -9, -7, -8, -8, -9, -9, -7, -8, -9, -8, -6, -8, -7, -8, -8, -9, -8, -9, -8, -8, -8, -9, -9, -8, -9, -8, -8, -9, -9, -8, -8, -9, -7, -9, -9, -8, -8, -8, -9, -9, -9, -9, -7, -9, -7, -9, -7, -7, -7, -8, -6, -8, -8, -7, -9, -8, -9, -8, -8, -7, -8, -8, -8, -8, -10, -9, -9, -8, -8, -8, -7, -7, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -9, -9, -7, -9, -7, -8, -8, -9, -8, -8, -7, -10, -9, -8, -8, -8, -9, -7, -10, -8, -9, -9, -8, -9, -8, -8, -8, -8, -8, -7, -8, -9, -8, -8, -9, -8, -9, -7, -9, -8, -8, -9, -8, -8, -8, -8, -9, -8, -8, -7, -9, -9, -7, -6, -8, -10, -9, -11, -7, -7, -10, -8, -8, -8, -8, -7, -7, -8, -2, -8, -8, -8, -8, -9, -9, -8, -8, -7, -8, -10, -8, -7, -9, -8, -9, -6, -9, -8, -9, -9, -8, -8, -8, -9, -8, -10, -8, -5, -7, -8, -10, -9, -8, -8, -9, -8, -8, -8, -8, -7, -8, -8, -8, -7, -8, -8, -8, -9, -7, -9, -8, -8, -8, -8, -8, -9, -8, -7, -8, -8, -8, -8, -9, -8, -9, -8, -7, -7, -7, -8, -10, -7, -9, -8, -9, -8, -8, -8, -7, -9, -7, -7, -9, -7, -9, -9, -8, -9, -8, -8, -8, -7, -7, -7, -8, -7, -7, -8, -7, -9, -8, -10, -7, -8, -8, -7, -8, -9, -7, -8, -8, -8, -9, -9, -7, -7, -9, -9, -8, -9, -8, -9, -8, -6, -8, -11, -8, -8, -10, -8, -7, -9, -9, -8, -7, -10, -8, -8, -8, -7, -9, -9, -9, -8, -8, -8, -9, -9, -6, -7, -7, -8, -8, -8, -8, -8, -9, -7, -6, -8, -8, -8, -9, -9, -9, -7, -9, -8, -7, -9, -8, -7, -8}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1418269440, 1980855808, 1748667776, 1344972544, 1531062272, 1704998016, 1403964032, 1512132992, 1349414784, 1935933568, 1547447296, 1861739008, 1621848448, 1712082688, 1861555712, 2117691904, 1570111360, 1745974528, 1510178688, 1560796928, 2101111168, 1841408896, 1669933184, 1617394048, 1387175552, 1800009216, 1463422208, 1629101440, 1767708288, 1687041664, 1794269440, 1475876096, 1986140416, 1838015104, 1383904000, 1629198464, 1278017920, 1634364160, 1779710720, 2030958720, 1098286336, 1614037632, 1612461184, 1927246208, 1785956480, 1786141312, 1096941568, 1633915648, 1767219072, 1684707456, 1705946624, 1781777536, 1552702976, 1631932928, 1819785728, 1600148736, 1131870464, 1687688192, 2020266752, 1752863872, 1680787456, 1540614528, 1670229760, 2060231424, 1672978304, 1605207552, 1969091840, 1754488320, 2054498432, 1520260096, 1608197760, 1652754944, 1828876672, 1567051008, 1614932736, 1696142080, 1845339776, 2131889024, 1678396288, 1510541184, 1657779456, 1660339968, 2009809536, 1501736832, 1748014080, 1952269056, 1577081600, 1452999296, 1949705216, 1661452800, 1926487424, 1149130240, 1856092288, 1663439616, 1085734528, 1508160128, 1445927680, 1829385856, 1964070016, 1550496896, 1807613312, 1820557952, 1919781248, 1727549184, 1602208512, 1605138944, 1657214976, 2056176384, 1638328448, 1161983104, 1754443520, 1855482752, 1138615040, 1866192768, 1219719424, 1772944512, 1570942464, 1485147136, 1840984192, 2095080448, 1549671936, 1650010880, 1703759104, 1593974400, 2087789824, 1595163008, 1610093952, 1566134528, 1737767552, 1757039104, 1670656512, 1748625536, 1709378048, 1687127808, 1441855360, 1818599168, 1985272448, 1823693696, 1545513600, 1749713920, 1170611712, 1076952576, 1462371584, 1742753792, 1270334976, 1622275456, 1728747264, 1918525056, 1199178624, 1873857280, 1833426048, 1849463808, 1691464064, 1631453952, 1638262912, 1953917440, 2119197440, 1717030528, 1195403136, 1557028224, 1836007808, 2123443072, 1875277184, 2016699392, 1895810048, 1117895424, 1763545088, 1467697536, 1861479168, 1718493824, 1215752960, 1857824640, 2115390976, 1708899584, 1622244480, 1510675712, 1846649600, 1148668288, 1934584960, 1151405952, 1731703424, 1915320064, 1968220544, 1649461760, 1484677504, 1824236416, 1714068736, 1114517632, 2066541056, 1492675584, 1095585920, 1502824448, 1523128448, 1756557952, 1700770944, 1602525952, 1752249088, 1516768768, 1993773056, 1747302144, 1806968064, 2038849792, 1904545920, 1413833216, 1442311424, 1332361984, 1095233664, 1515025664, 1142704768, 1613730304, 1760858752, 1424163072, 1923330304, 1896191616, 1962166272, 1487047040, 1602499584, 1665337216, 1888632064, 1544963712, 1615258624, 1605325568, 1586667264, 1895485056, 1563718528, 1708154880, 1514193536, 1164358656, 1872024448, 1818017408, 2018001408, 1074197760, 1081021056, 1534188800, 2060648960, 1760178560, 1811687808, 1524306432, 1083559680, 1995832448, 1761495296, 1880830080, 1958777984, 2141268352, 1420198400, 1534969216, 1770886144, 1564842752, 1736855808, 1755641216, 1574412160, 1813968384, 1608532864, 1111093632, 2046920832, 1081105408, 1489539840, 1946007680, 1089964800, 1695290368, 1725892352, 1356816512, 1474156160, 1353550976, 1195785856, 1399926528, 1706922624, 1237086592, 1721034624, 1825269376, 1600781440, 1643757184, 1772609792, 1428774912, 1691898880, 1697115648, 1908490624, 1753057152, 1525860480, 1419473152, 1077761664, 1876331648, 1686422272, 1676674176, 1739614464, 1900397952, 1968566656, 1902214784, 1553273984, 1758014464, 1493592704, 2116593280, 1823169024, 1509816832, 1587400704, 1907014656, 1147243136, 1786683904, 2018301568, 1510131456, 1530966144, 1081038848, 1627971840, 1617556992, 2005674752, 1647010304, 1315129984, 1085664000, 1611515008, 1826677632, 1155332480, 1642052608, 1147051648, 1339145472, 1724882816, 1620531968, 1635700096, 1816919040, 1944240896, 1222801408, 1660241408, 2105763456, 1533858432, 1556518912, 2122392832, 1634752384, 1716277504, 1812870144, 1734921216, 1634221056, 1854727552, 1681843072, 1680886528, 1547623680, 1193112576, 1862578688, 1598835968, 1579791232, 2059496320, 1688587264, 2036054144, 1909511168, 1921615488, 1826969472, 2036097792, 1752551040, 1604474880, 1911736320, 1611084416, 1494204160, 1430109440, 1163651328, 1108083072, 2093293184, 1785184512, 1772550144, 1161928448, 1245270528, 1776053376, 1569804032, 1497110400, 1268814336, 1908187264, 1085566336, 1621057152, 1594169984, 1106477568, 1660168192, 1673429376, 1562117376, 1714632576, 2081350528, 1664792448, 1720023936, 1707355520, 1686400768, 1305767296, 1402355712, 1797316736, 2119150208, 1828593920, 1948016640, 1772817536, 2063660416, 1777020928, 2029003776, 1404349696, 1672438144, 1620453504, 1739641856, 1718457472, 1823897600, 1504200064, 1954778112, 1911817216, 1508329728, 1691344000, 1903749760, 1952609024, 1775057664, 1468940416, 1633724672, 1972948096, 1736495232, 1920223744, 1853106048, 1745506048, 1646966016, 1423135616, 1735158144, 1899638528, 1959440512, 2040542976, 1542384512, 1708684032, 1766934016, 1441455360, 1655256448, 1484483584, 1824521344, 1576428032, 1753905920, 1554852736, 1687370240, 1432360320, 1777100032, 1504865664, 1813435136, 1656518272, 1632674560, 1540401280, 1161452672, 1727153280, 1852782336, 2027608832, 1588414464, 1513929728, 1815315712, 1845608320, 1470556160, 1323185664, 1686451840, 1940591872, 1484852480, 1762049152, 1605692160, 1606213248, 1763833856, 1681489152, 1773603328, 1888414592, 1895024640, 1857624320, 1606616832, 1457021440, 1490866432, 1080543232, 1731938176, 1621422720, 1813204736, 1667149056, 1673758848, 1757245184, 1702852992, 1833716992, 1767270656, 1628250752, 1688413056, 1818062720, 1974960768, 1687775744, 1418793728, 1677217792, 1762441216, 1995243904, 1764797952, 1747249024, 1437373824, 1642203776, 1934515712, 1512954368, 2047910656, 1839943424, 1992067200, 1891328896, 1792882560, 1536004224, 1746579072, 1660806272, 1590928256, 1709433088, 1731499392, 1830424448, 1791992320, 1652865152, 1657113984, 1782846848, 1917438848, 1084402304, 1805347584, 1485077248, 1565569920, 1283274752, 1737183232, 1725853184, 1915450240, 1925047424, 1078275840, 1642799232, 1672835200, 1626764288, 1575710976, 1890100608, 1733707904, 1641044608, 1545572352, 1663917696, 1597937792, 1799853440, 1952199168, 1462996992, 1530030464, 1724804864, 1594201472, 1647990016, 1973120512, 1717803136, 1612026368, 1696976128, 1817932416, 1723435008, 1875080320, 1900230784, 1717559296, 1560286720, 1742327040, 1739151232, 2026626816, 1994066048, 1230144128, 1771242880, 1500594816, 1745864192, 2081637632, 1761806976, 1618660992, 2054520576, 1616775552, 1695369600, 1821355776, 1559459712, 1708958336, 1625525120, 1338232960, 1633122432, 1566998912, 1703206016, 1509817856, 1783000320, 1740455808, 1469765632, 1820344832, 1678754560, 1848170240, 1948936320, 1619299072, 1771004160, 1778966272, 1748094848, 1585888768, 1870939520, 2014492160, 1493837056, 1685700608, 1995935488, 1681144704, 1852299904, 1781693312, 1981077120, 1861628672, 1250586240, 1866336000, 1240203648, 1539360384, 1791552256, 1211476224, 1804932608, 1501801728, 1565396096, 1878022144, 1554825984, 1815123584, 1496857984, 1952609152, 1683579904, 1775750912, 1442233856, 2103023488, 1865689600, 1705616640, 1766572544, 2113802112, 1743832320, 1645861760, 1451597440, 1653691520, 2071447680, 1228837504, 1601609216, 2009380608, 1770783360, 2098868608, 1497003392, 1632097408, 1688991360, 1866453120, 1887234688, 1828497792, 1986848128, 1965269248, 1195536896, 1488930944, 2080276096, 1783645440, 1938058624, 1915039744, 1772655360, 2054699136, 1700199296, 1813706368, 1619837696, 1620260992, 1808124416, 1809289856, 1999920128, 1585045760, 1706014592, 1516196608, 1743150080, 1864221312, 1743613440, 1621849728, 1074544768, 1853867520, 1083393664, 1806998784, 1731772160, 1660661760, 1464364928, 1868843264, 1853477120, 1537862912, 1692768512, 1715503744, 1620609920, 1586302336, 1651084416, 1753207168, 1957239040, 1745915776, 1809123456, 1799005568, 1996659584, 1624572544, 1799833216, 1537832704, 1617555584, 1651233408, 1697943808, 1829922176, 1544088448, 1127954560, 1366947200, 1465855232, 1751640704, 1993657856, 1728676736, 1994542208, 1833235200, 1546039552, 1721595648, 1789904768, 1655851520, 1871710976, 2082526720, 1556763520, 2107966080, 1847838592, 1453543168, 1597395712, 1721123200, 1750201344, 1690351872, 1668834688, 2057179136, 1594403072, 1851544192, 1694888960, 1469453952, 1534940544, 1889791488, 1859717504, 1076681088, 1644010880, 1470730624, 1983665152, 1878648960, 1523412736, 1589506304, 1763786752, 1620565504, 1841496960, 1195657600, 1569361024, 1688555520, 1774108544, 1683564800, 1762767360, 1889153792, 1460934656, 1897790848, 1787244032, 1864030464, 1164070528, 1093547136, 1749681664, 1565201792, 1715410816, 1697134848, 1184629120, 1979856128, 1995544448, 1832679680, 1476732288, 1798386560, 1583509760, 1887164544, 1793079680, 1801452800, 1795963520, 1820505216, 1846431232, 1910328448, 1778180736, 2028119808, 2063786880, 1709319296, 1551278464, 2048679168, 1748549888, 1654475392, 1672518144, 1560524416, 1616213248, 1767486080, 1583667200, 1554346880, 1828016896, 1721563136, 1864490496, 1928256512, 1702793088, 1718238848, 1521672448, 1856951424, 1282391680, 1926882048, 1821489536}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-155, 112, -449, -631, 164, -178, 20, 21, 30, -268, -304, -270, -237, -137, -248, -327, -262, -191, 6, -71, 60, 374, 285, 143, 61, -276, -76, -508, -16, 17, 262, 152, 259, -318, -305, -382, 189, -193, 49, 149, -106, -130, -34, -106, 247, 88, 157, 15, -62, -94, 111, -239, -2, 272, -138, -136, -58, -115, 258, 267, -339, 338, -39, 317, 274, 38, -220, -162, -20, 284, -489, 49, 69, -30, -492, 309, 281, 143, 385, 339, -518, -264, -2, -639, -110, 182, -201, 373, 25, 371, -229, -225, -47, -18, 30, -420, 48, -427, -687, -534, -223, -492, -27, 198, 145, -107, 17, -83, -381, -699, -598, 503, 129, -97, 28, -854, -186, -208, 100, -101, -178, -190, -60, -370, -110, -341, -442, -440, -304, -255, -473, -396, -119, -49, -632, -521, -508, -564, -382, -439, -424, -226, -498, -439, -260, -203, -261, -714, -497, -288, -53, 767, -572, 257, 221, 348, 124, -218, -336, -127, 251, 647, 694, 0, 130, -188, -107, -596, 74, 123, 190, 863, 12, -175, 233, -250, -109, 135, 539, 119, 158, 37, 422, -168, 187, 388, -166, 230, -56, 16, 19, 361, 123, -390, -16, 761, 223, 154, -259, 414, -303, -89, 202, 336, 416, 186, -325, 174, -105, 559, -167, 356, -19, 14, 147, 72, -36, 520, 309, 283, -18, -230, 29, 826, -302, 279, 23, 191, -398, 493, 68, -182, 262, 58, 152, 17, 255, 524, 298, 728, 91, -142, 166, -130, -45, 477, -61, 430, -102, -282, 18, 448, 41, -32, 751, -327, 108, 294, 48, -90, 99, -45, -17, 173, 200, 241, 310, -176, -430, -82, 119, -139, 57, 135, -245, -395, -96, 24, -271, 188, -167, 463, -366, -176, 474, 158, 87, -79, -99, -152, -125, -500, -149, -127, -53, -123, -182, -124, 104, 295, -371, -311, -304, -291, -421, 70, 434, -572, -31, -336, -224, -69, -140, 510, 482, 335, -17, -337, -171, -181, -337, -645, -718, -546, -701, -789, -567, -213, -347, -470, -130, -138, 83, 324, -160, -179, 150, -276, -348, -135, -183, -105, -280, -473, -311, -207, 106, -164, 9, -173, 35, -481, -483, -292, -44, 21, -124, -35, 184, 375, -77, 125, -76, 76, -129, -76, 103, 359, -396, 3, -182, -222, -226, 281, -73, -228, -41, 9, 75, 9, -202, -91, 60, 31, -426, -154, -270, -194, -190, -76, -132, 250, -455, -427, -49, -237, -523, -322, -179, 358, 54, 321, 162, -72, -687, 278, -180, -211, -656, -227, 35, 6, 149, 426, 65, -89, 310, -311, 144, 474, -17, 283, 59, 519, 315, -176, -634, -183, 354, 48, 35, -48, -137, 41, -42, -89, 48, 44, 19, -291, 115, 100, 294, -71, -3, 686, 241, 127, 743, 45, 248, 321, 259, 60, 207, 337, 345, 499, -30, 468, -233, 388, 156, 159, 682, 254, -170, -339, 158, -8, 290, -145, -135, 29, -216, 466, -459, 104, 154, -63, -85, 156, 106, -267, -438, 63, 36, 389, -137, 261, -416, 137, 341, -257, 105, -237, 54, -608, 13, 363, -417, 224, -79, -83, 230, 264, -87, -154, -91, -220, -289, -256, -36, -25, 97, 274, -124, -324, -19, 27, -156, -160, -65, 629, -29, -128, 182, -237, -190, 390, 189, 65, 72, 26, 98, -245, -210, -11, -78, 575, -408, -115, 247, 200, -205, 156, 128, -600, -467, 650, 86, 166, 147, -69, -164, -78, -136, 179, 108, -10, -134, -165, -174, 596, -236, -162, -267, 115, 128, 29, 109, -24, 133, -205, 314, 126, 242, 185, 134, 482, -180, -180, -87, 189, 553, 198, -558, 668, 1, 669, -96, -84, 10, 412, 67, -404, 247, 541, -465, 101, 492, 123, 154, 132, 81, 39, 369, -77, 673, -193, 465, -152, 151, 8, -82, -346, -36, 329, 279, -349, 460, 261, 547, 661, -8, -195, 317, 240, -270, 353, 312, 48, 357, 84, 128, -214, 163, -185, -23, -318, -606, -133, 67, 154, 235, -369, -75, -264, 59, 17, 760, -306, 16, 175, 175, 439, 41, 113, 183, -89, 293, -449, 229, 15, 312, 401, 96, -51, -418, -75, 272, 263, -21, 288, 242, -347, -95, 361, 288, 83, -18, 344, 24, 468, 166, -189, 200, -336, -657, -262, -234, 60, 446, -267, -59, 238, 440, 227, -184, -63, 89, -116, 49, 470, 575, -274, 285, 216, -225, -86, -72, 243, -52, 255, 219, -26, 697, -229, 34, 431, 49, -128, 325, -122, -431, 14, 353, -485, -36, 58, -302, 269, 308, 66, -280, -81, -28, 56, 273, 446, 89, -114, -130, 230, -23, 127, 86, 85, 39, 734, 125, 86, 349, 160, -303, -176, 283, -101, 235, -107, 351, 247, 21, 381, 445, -19, -332, 327, -146, 401, 269, -206, 76, 284, 355, -32, 238, 1157, -202, -333, -516, -307, 98, 237, 261, 502, 117, 49, 159, -297, -536, 678, 245, 172, -68, -65, 56, 345, -59, 423, -131, -242, -223, -137, -1, 209, -183, 42, 115, 99, -497, 28, 164, 140, -441, -362, 196, -244, -173, 373, -304, -200, 303, 529, 120, -94, -79, -60, 207, -203, 324, 136, 6, -130, 664, -228, 268, 538, 478, -31, 192, 172, 455, 617, 250, 566, -14, -222, 197, 55, 624, -173, 257, 71, -408, 508, -485, -116, 307, 62, -320, 275, -83, 271, -190, 3, -163, -138, 467, -172, 335, -549, 277, -203, -409, -15, 52, -104, -364, 373, 752, 116, 507, 163, 233, 976, -538, -273, 49, 37, -45, -128, 194, 473, -95, -16, 189, 150, 304, -28, -365, 166, 47, 332, 203, 463, 385, 309, -331, -11, 69, 257, -467, -153, -291, -45, 43, 5, -92, 661, 201, -86, 10, 8, -97, -261, -452, -430, 223, 453, -56, -85, -49, -509, 63, -108, -24, -363, -127, -336, -164, -133, -163, -222, -340, -111, -607, -559, -43, -210, -346, -284, 12, -161, 49, -79, -48, -199, -352, -564, 322, 208, -393, -228, -286, 254, 274, 265, 9, -41, -31, 754, -271, -526, 42, 448, 241, 473, 17, -270, 73, 343, 423, -483, -38, -52, -592, 100, -44, -460, -117, -493, -480, -891, -258, -302, -450, -385, 10, 350} +#define FC28_W_Z (10) +#define FC28_IN_Z (0) + + +#endif /*__128_0_75_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/128_1_0_parameters.h b/Inc/intq-mobilenet-v1-models-pc/128_1_0_parameters.h new file mode 100644 index 0000000..ab5e4cb --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/128_1_0_parameters.h @@ -0,0 +1,361 @@ +#ifndef __128_1_0_PARAMETERS_H__ +#define __128_1_0_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (128) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (32) +#define CONV1_OUT_DIM (64) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (64) +#define CONV2_IM_CH (32) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (32) +#define CONV2_OUT_DIM (64) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (64) +#define CONV3_IM_CH (32) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (64) +#define CONV3_OUT_DIM (64) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (64) +#define CONV4_IM_CH (64) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (64) +#define CONV4_OUT_DIM (32) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (32) +#define CONV5_IM_CH (64) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (128) +#define CONV5_OUT_DIM (32) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (32) +#define CONV6_IM_CH (128) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (128) +#define CONV6_OUT_DIM (32) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (32) +#define CONV7_IM_CH (128) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (128) +#define CONV7_OUT_DIM (32) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (32) +#define CONV8_IM_CH (128) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (128) +#define CONV8_OUT_DIM (16) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (16) +#define CONV9_IM_CH (128) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (256) +#define CONV9_OUT_DIM (16) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (16) +#define CONV10_IM_CH (256) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (256) +#define CONV10_OUT_DIM (16) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (16) +#define CONV11_IM_CH (256) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (256) +#define CONV11_OUT_DIM (16) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (16) +#define CONV12_IM_CH (256) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (256) +#define CONV12_OUT_DIM (8) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (8) +#define CONV13_IM_CH (256) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (512) +#define CONV13_OUT_DIM (8) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (8) +#define CONV14_IM_CH (512) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (512) +#define CONV14_OUT_DIM (8) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (8) +#define CONV15_IM_CH (512) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (512) +#define CONV15_OUT_DIM (8) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (8) +#define CONV16_IM_CH (512) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (512) +#define CONV16_OUT_DIM (8) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (8) +#define CONV17_IM_CH (512) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (512) +#define CONV17_OUT_DIM (8) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (8) +#define CONV18_IM_CH (512) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (512) +#define CONV18_OUT_DIM (8) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (8) +#define CONV19_IM_CH (512) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (512) +#define CONV19_OUT_DIM (8) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (8) +#define CONV20_IM_CH (512) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (512) +#define CONV20_OUT_DIM (8) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (8) +#define CONV21_IM_CH (512) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (512) +#define CONV21_OUT_DIM (8) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (8) +#define CONV22_IM_CH (512) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (512) +#define CONV22_OUT_DIM (8) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (8) +#define CONV23_IM_CH (512) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (512) +#define CONV23_OUT_DIM (8) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (8) +#define CONV24_IM_CH (512) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (512) +#define CONV24_OUT_DIM (4) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (4) +#define CONV25_IM_CH (512) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (1024) +#define CONV25_OUT_DIM (4) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (4) +#define CONV26_IM_CH (1024) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (1024) +#define CONV26_OUT_DIM (4) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (4) +#define CONV27_IM_CH (1024) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (1024) +#define CONV27_OUT_DIM (4) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (1024) +#define FC28_OUT_CH (1000) + + +#endif /*__128_1_0_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/128_1_0_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/128_1_0_weights_bias.h new file mode 100644 index 0000000..e8da0d2 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/128_1_0_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __128_1_0_WEIGHTS_BIAS_H__ +#define __128_1_0_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {13717, 6606, 5955, 177471, 9432, 7942, 7012154, 95155, 7492, 1234656, -69524584, 7292276, 103962, 89105, 120013, -47626092, 99975, 41425, 12689, 286143, 5483, -5388450, -39918, 10510, -40287816, 46434, 76260, 7155, 10929, 18187, 4680, -1143} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-139, -149, -129, -219, -147, -92, -358, -196, -150, -67, -68, 31, -149, -137, -90, -53, -24, -72, -120, -71, -147, -129, -93, -132, -186, -346, -71, -134, -119, -120, -164, -153}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1746676352, 2069023360, 1358542720, 1691783168, 2110652928, 1577703936, 1178420352, 1539448576, 1216512000, 2111758592, 1099581952, 1990255104, 1366382720, 1549870464, 1891961856, 1373424640, 1367793920, 1591255680, 1637148928, 1610286848, 1556849792, 1865013760, 1233112960, 1999040768, 1712384896, 1172364544, 1307042176, 1214213248, 1339097472, 1839655168, 1963404544, 1676096640}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {42187, 36307, 6354, 2549, 3182, 18714, -53424, 74, 90331, -4912, -533, 9217, 4207, 200, 2759, 1197, 1135, 8505, 43409, 42844, 44015, -161, -815, 1279, 6, 6970, -78457, 31105, 31639, -1428, -562, 53769} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-205, -182, -37, -129, -42, -200, 177, -51, -214, -193, 20, 3, -113, -52, -105, -282, -123, -84, -192, -206, -231, -248, -988, -35, -172, -74, -21, -149, -174, -55, -98, -200}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1407650432, 2065051648, 1777024896, 1641310336, 1736258432, 1513087360, 1382328192, 1546718336, 1380992000, 1560691200, 1698236416, -1389670912, 1364135168, 1524735744, 2039606400, 1150155776, 1516517248, 1104900096, 1711389056, 1636857344, 1256083968, 1552107392, 1167278592, 1309415936, 1517665152, -1321482112, 1602152192, 1362742528, 1741067904, 1623303424, 1597092224, 1648404864}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {15663, 4361, 60224, -4956, 676, 409, -14992, 12072, -2984, -22706, -6328, -343, 1060, -36675, -26979, 12519, 18655, -3150075, 22965, -57586, 35296, -321, -11993, -43090, -259344, -7087, -19026, -11579, -29696, 16720, -5510, 7679, 20457, 630, 35852, -2129, -1229, -16913, 26025, 4957, 11064, 2449, -3420, -71711, -19460, -142, -64868, -41800, -8417, 18614, 2235, -10543, -3433, 829, 11401, -21471, -81701, -18135, 64894, -18683, -12105, 39405, -30786, 36656} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-133, -103, -170, -92, -129, -135, -15, -108, -78, -88, -153, -134, -148, -99, -99, -99, -96, -124, -109, -37, -86, -72, -118, -40, -60, -73, -74, -114, -117, -111, -127, -109, -138, -105, -147, -75, -149, -107, -111, -98, -80, -45, -47, -31, -98, -98, -17, -119, -139, -143, -93, -45, -80, -94, -133, -107, -54, -100, -123, -49, -112, -44, -50, -111}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1385226112, 1875373312, 1254586752, 1208995072, 1989556736, 1939256064, 1085575040, 1938805760, 1217600000, 1943379072, 1996513920, 1361304064, 1569540480, 1138288512, 1262837504, 1538062336, 1717087616, 1326749184, 1626619904, 1750470528, 1766353152, 1428241408, 1845764864, 1275102208, 1769177472, 1560618368, 1802002944, 1219811456, 1206040064, 1761425280, 1878348544, 1108411904, 1394151168, 1275243392, 1661292416, 1197512192, 1785546624, 1463079040, 1238422144, 1500572416, 1571023744, 2080660992, 1684945024, 1106629376, 1823088896, 1617856512, 1175183360, 1668867840, 1621470336, 1594593920, 1935864960, 1073771008, 1727853312, 1785641728, 1389796992, 1725006592, 2123160320, 1074819840, 1958558976, 1861948288, 1101217664, 2139237120, 1954757632, 2049254272}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {136706, 5187, 2344, 149, 5698, 1905, 199180, 90314, 16343, 19052, 5980, 26747, 151264, 163180, 6415, 1439, 45, -130, 59662, 220225, 3560, -1247, 1521, 3119, -2037, 10722, 984, -1232, 1394, 53719, 1123, 112217, 66604, 10417, 2587, 554, 232605, 2988, 16593, 4880, -1091, 544, 292, 956, 53790, 8555, 3552, 8940, 143073, 78753, 5872, 415, 144983, 48313, 544, -473, -228, 3146, -34290, 20570, 116650, 43652, 576, 1258} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-174, -86, -132, -142, 95, 52, -305, 46, -73, 42, 34, -220, -268, -335, -52, -5, -149, -257, 39, -286, -129, -92, -9, -128, -234, -131, -140, -102, 16, -208, 5, -193, -244, -153, -121, -88, -234, -71, -128, -120, -102, -147, -140, -65, -174, -21, 5, 66, -323, -255, -9, -133, -283, -188, -130, -136, -104, -121, -68, -97, -340, -234, 0, -67}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {2013602944, 1894552576, 1530817152, 1450108288, 1500563328, 2046232448, 1223571328, 1374838016, 1485121536, 1225002624, 1778414976, 1820223744, 1855908224, 1678903168, 1476855936, 1558378368, 1434234624, 1175105024, 1793922304, 1254554112, 1588813824, 1235271296, 1150002432, 1731115904, 1825667712, 1477791488, 1203857408, 1177779328, 1181668096, 1236731776, 1196408576, 1885198976, 1494582400, 2049791488, 2091932288, 1178570880, 2119001600, 1795828224, 1695012224, 1114213120, 2043013248, 1196387456, 1599092480, 1890134272, 1154224384, 1420775168, 1807506304, 1610846592, 1968790016, 1292127744, 1127878400, 2108534272, 1194022784, 1354690432, 1431709056, 1343597696, 1181551360, 1263579776, 1383876992, 1727331072, 1144335360, 2099514496, 1128091136, 2078237696}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {86571, 57477, -702, -2300, -15288, 42312, 50460, 15817, 96700, 29080, 12642, 16614, 15359, 11163, 22165, 5543, 17142, 9577, -1024, 6208, 12623, 1739, -29389, 15502, -32333, 87977, 51463, 35157, -1159, -27405, 1719, 49741, 199960, 33288, 24181, -10348, 37564, 8349, 30465, 78621, -5935, -3573, 42901, 17421, -33532, 9929, 108760, -5738, 2785, 56159, -14105, -3722, -7781, 325, 32199, 33770, 2837, 1956, -61547, 1451, -1562, 3645, -23582, -17730, 9036, 91276, -834, 5652, -16908, 56865, 19150, -3462, 30680, 6726, -26232, 37207, 54493, 21589, -622, 19426, 2110, 18656, 54314, -27193, -11645, -11077, -10559, 5563, 62253, 20970, 5089, 15602, 2516, 2847, 104656, 11513, 38335, 80055, 765, 7870, 26649, 10247, 94246, 10455, 3280, 42485, -4439, 17558, 9617, -11012, 27277, 3236, 13873, -48981, 1365, 45119, -5243, 9490, -10247, 21106, -13127, 40054, -20353, 59572, 25577, -19067, 15042, -36931} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-191, -225, -114, -140, -130, -187, -105, -131, -113, -178, -122, -86, -165, -169, -120, -154, -120, -173, -108, -200, -92, -115, -123, -155, -132, -159, -131, -152, -115, -56, -145, -168, -118, -160, -104, -124, -79, -122, -112, -122, -123, -151, -136, -138, -49, -152, -152, -75, -111, -126, -88, -142, -45, -130, -142, -141, -100, -151, -44, -156, -173, -203, -164, -115, -171, -117, -130, -125, -73, -135, -80, -129, -96, -113, -49, -186, -138, -107, -82, -116, -142, -109, -126, -138, -30, -103, -120, -128, -180, -110, -205, -164, -87, -116, -155, -39, -122, -117, -111, -173, -75, -146, -161, -95, -71, -100, -87, -134, -219, -113, -150, -144, -99, -87, -142, -121, -39, -99, -78, -128, -79, -112, -93, -156, -158, -111, -133, -125}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1551379968, 2013843968, 1241873152, 1152871552, 1722240640, 1518082560, 1486176896, 1330516224, 1615915904, 2097920384, 1950600448, 1097959936, 2063094784, 1270484096, 1128697728, 1154814080, 2051661568, 1160872064, 1752905856, 1448547584, 1341137152, 2123721600, 1311368064, 1512714112, 1292741248, 1617102976, 1714031744, 1087935104, 1809710336, 1146588672, 1352299520, 1104836736, 1603358848, 1603839744, 1594275200, 2052634880, 1636510976, 2038532864, 1436867712, 1442360704, 1158273408, 1622389248, 1236700416, 1113514496, 1077198720, 2042876672, 1825331456, 1665765504, 1304153600, 1386253440, 1978532608, 1414869120, 1725584512, 1620775168, 1457757184, 1141211008, 1722137984, 1339761408, 1625977216, 1535828736, 1153853824, 1147911808, 1575292800, 1866631040, 1913666176, 1315786624, 1269239296, 1980002176, 1089741568, 1491668352, 1244008960, 1381311488, 1947387648, 1293652352, 1918747648, 1987666048, 1842895488, 1689077248, 1406524160, 1893325312, 1665782144, 1180417152, 1082350080, 1124926720, 1512504320, 1599296384, 1136442368, 1186592128, 1336902400, 2032887680, 1683423104, 1348346496, 1408000000, 1378913792, 1138712320, 1322977920, 1138599552, 2048841216, 1391740544, 1075828864, 1911264000, 1490718592, 1322028672, 2079891840, 1168101632, 1882914048, 1542318592, 1370228608, 1662825600, 2106995968, 1411242112, 1669204864, 1195870976, 1774462336, 1561119616, 1725564416, 1443947648, 1353564928, 1092816384, 1311073792, 1448227840, 1727097984, 1188884480, 1426848000, 1910331264, 1524914816, 2095864192, 1828003200}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {2882, 1539, 98425, 6796, 15714, 1000, 817, 161, 3833, 2000, 12948, -2205, 10312, -3480, -1386, 31508, 38040, 3240, -367, 29176, 7373, 39374, 20688, -11123, -681, 8100, -1066, 8270, 9293, 15709, 36371, -13486, -11317, 5779, 25391, 34431, 3724, -3427, -21, 1303, 22703, -4344, 2231, 29221, -6333, -4571, -870, 22677, 12442, 19126, 58653, 9336, 5488, 8194, -4433, -5180, -12156, -4241, 2016, -4737, -1121, 15171, 6888, 66707, 53880, 48268, 3365, 18504, 13452, -1820, 35438, -4474, 1440, -7621, -2991, 9964, 21776, -19584, 20005, -13283, -2791, 15389, 456, -9048, 12643, 796, -6506, 36056, -11264, 2727, 1176, 1475, 6764, -11335, 24715, 1114, 47283, 96, -5892, -6756, 2672, 9783, -6543, 10649, 1013, 15794, 386, 26511, 12394, -494, 63673, 48915, -4208, 28880, 482, 814, 12314, 5729, -4983, -14933, 2217, 7467, 17009, 8813, 7912, 33265, 172, 44785} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-129, -139, -225, -34, -209, -45, -94, -123, -58, -22, -93, -34, -54, -136, -67, -220, -207, -44, -29, -226, -65, -139, -59, -34, -93, -73, -88, -109, -104, -258, -248, -34, -33, -171, -133, -212, -95, -66, -128, -87, -227, -84, -151, -196, -56, -63, -106, -247, -235, -225, -152, -123, -64, -100, -47, -24, -28, -26, -94, -31, -25, -129, -181, -241, -200, -219, -132, -108, -195, -145, -208, -48, -101, -34, -56, -132, -136, -32, -218, -23, -55, -186, -126, -33, -279, -72, -54, -123, -36, -164, -43, -173, -102, -52, -243, -114, -213, -127, -47, -69, -139, -118, -72, -46, -127, -48, -112, -196, -92, -62, -196, -248, -78, -221, -66, -157, -277, -126, -26, -46, -130, -48, -98, -96, -135, -211, -123, -211}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1629663616, 1731175552, 1506556928, 1337672192, 1198416384, 1788109056, 1361970176, 1310022912, 1643541248, 1403929728, 1272447744, 1382172416, 1112932608, 1402929792, 1690624256, 1098068864, 1397710976, 1449417088, 1692889472, 2129359104, 1658293632, 1846612736, 1294161152, 1445576576, 1383733632, 1862275712, 1135138944, 1096948224, 1075788672, 1483677440, 1929098240, 1269448576, 1402119424, 1677961216, 1551172736, 1534705152, 1235963392, 1340973184, 1591417856, 1177027072, 1389054976, 1216900992, 1789896704, 1375911424, 2126873344, 1268039424, 1508371584, 2140296448, 1141714816, 1305487360, 1079327872, 1618070144, 1509011584, 1178737280, 1923747968, 1122851328, 1901619456, 1105256576, 1264971392, 1887627904, 1123288320, 1567465216, 1793409664, 1359758976, 1719911424, 1354755200, 1762253824, 1927116160, 1668116096, 1252224768, 1892810240, 1164513280, 1335500544, 1390096000, 1909591168, 1801419008, 1882037888, 1412967168, 1187941888, 1233936640, 1477855744, 2057237888, 1324583424, 2056370560, 2047574912, 1724719104, 2046890240, 1994996224, 1705376128, 1961157888, 1235330944, 1661685888, 1478989056, 1744804992, 1586465408, 1490570112, 1288375680, 1501245312, 1149196800, 1670782592, 1937943552, 1591081856, 1555155072, 1599165440, 1211437568, 1479831424, 1227028608, 1405982592, 1769813888, 1407454464, 1134191488, 1561775360, 1329819520, 1930769920, 1514905344, 1685959680, 1632122880, 1782666880, 1216398848, 1309212416, 2108167936, 1520131712, 1380313856, 1905999104, 1150125312, 1815707392, 1733455232, 1275268608}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {-55826, 22833, -1420, 2664, -4166, 39609, -7649, 7584, -27118, -16835, -23091, -20677, 24610, 2180, 50154, 23389, -15291, -13476, 33944, 32033, 44921, 3007, 18146, 40056, 61950, 44286, -37143, -1784, 68854, 16700, 25311, -40718, -5230, -7294, 664, 43280, 49570, 14030, 22724, -42038, -7749, -43485, 16360, 7006, -4093, 31387, -21108, 5890, 9531, -41897, -8309, -5675, 68745, -17053, -29289, -3308, -8029, -34072, -15826, -51776, 22675, -4359, 42757, 66523, -21132, 58903, -37096, -34360, -28653, 68187, 19025, 202, -748, -629, 25092, 22134, -32091, -8515, 13143, -11681, -42560, -2982, 13935, -504, -26637, -10761, 17119, -13639, -10229, -3818, -19098, -18618, -70, 28852, -49710, 28013, 11812, 13606, 2895, 744, -2901, 99170, -7363, -41542, -9191, 65629, 5133, -47931, 40919, 3105, -42225, 506, 57695, 5223, 23944, -82293, -45360, -46249, -41380, 567, 16388, 26290, -14564, 37408, 67634, -20277, 6827, -1014} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-136, -97, -153, -117, -132, -126, -137, -98, -116, -142, -155, -118, -122, -110, -123, -164, -114, -101, -139, -77, -98, -109, -137, -102, -160, -152, -104, -149, -118, -156, -110, -124, -101, -120, -117, -160, -141, -129, -122, -69, -143, -116, -87, -151, -105, -136, -74, -85, -135, -113, -94, -121, -123, -107, -78, -45, -98, -130, -80, -109, -131, -96, -156, -121, -96, -125, -167, -116, -118, -109, -130, -89, -168, -99, -139, -136, -137, -158, -127, -109, -129, -77, -125, -150, -101, -114, -86, -105, -125, -117, -105, -85, -89, -151, -91, -206, -127, -128, -139, -147, -126, -105, -144, -122, -154, -126, -122, -130, -66, -119, -115, -161, -126, -187, -143, -122, -107, -145, -123, -112, -174, -120, -134, -167, -67, -67, -147, -114}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1884924288, 1407675904, 2054725376, 1648243584, 1634782976, 2026706176, 1138040320, 1240556160, 1163202688, 1124504192, 1562171264, 1287794816, 1462824704, 1497696384, 1980561664, 1915973376, 1724146176, 1682973952, 1492530176, 1374827008, 1243903744, 1394653696, 1973211008, 1819836416, 1997585280, 1256099968, 1713421696, 1437056000, 1966493824, 1238047360, 1391701120, 1971066368, 1496366592, 1921673088, 1223951616, 1303387264, 1976323968, 2125082880, 1422890240, 1904025600, 1102343040, 2119563264, 1995449216, 1216414592, 2094719488, 1426725248, 2063423616, 1129120256, 2064184832, 1857986304, 1891813376, 2066301056, 1543474944, 1595697024, 1902864896, 1343662848, 1675847552, 1426234112, 1652082048, 1570849280, 2032830336, 1951876608, 1437799680, 1661874688, 2003365120, 1325860864, 1468557824, 1248070400, 2107200640, 1436173952, 1244515456, 1565999360, 1225661184, 1165998464, 1487856384, 1538296064, 1585203200, 1130338304, 1360832384, 1764741504, 1167859072, 1146640000, 1120682368, 1849693184, 1127176448, 1212596224, 1778377344, 1419329664, 1844599808, 1620283392, 1890763520, 1280154112, 1767800832, 1108289024, 1520499840, 2116297216, 1221445632, 1408659584, 1488539904, 1227487360, 1888483200, 1485739264, 1969408640, 1247854080, 1477507840, 1297221120, 1539583360, 2109554688, 1397804800, 1515646208, 1461691136, 1375519488, 2108802432, 1891831808, 2129863040, 1807522048, 1940712320, 2134706176, 1291579648, 1941722240, 1801883520, 2096292864, 2036808192, 1480685440, 1223706880, 1223859968, 2099244800, 1652033920}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {57715, 54588, 6540, 61639, 59618, 3485, 462, 99397, -635, 15669, -1735, 1703, 188629, 424, 44169, 72873, 543, 717, 67785, 86174, 78700, 76467, -1132, 40392, -775, 197871, 74400, 54478, 241631, 166314, -23341, -278, 7906, 57936, 118767, -1421, 1124, 22581, 106225, 464, 145242, 58204, -11515, -1373, 6368, 48201, -26, 148094, 401, 4943, -6736, 7175, 1613, 325, 117236, 56600, 80157, 122522, 133325, 63663, 4419, 2618, -49140, 3497, 10428, 177594, -1444, 7232, 34778, 105637, 67035, -34791, 17353, 2689, 66675, 7140, 5273, 1624, 2903, -758, -246, -896, -397, 64391, 557, -160, 63353, 642, 90241, 152714, -100, 71754, 64241, -2110, 81697, 31612, 41014, 10661, 10829, 191465, 1189, -2867, 591, 143435, 1850, -501, 77, 171589, 95382, 136526, 69611, -133, 30691, 625, 798, 152229, 1032, 654, 1978, 162319, 3821, -792, 189066, -40802, -92919, 106240, 285, 166} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-135, -328, 76, -339, -346, 79, 36, -292, 95, 73, 47, 84, -306, 88, -188, -317, -71, -110, -375, -246, -240, -318, -158, -92, 62, -305, -325, -342, -325, -347, -39, 46, 81, -305, -333, 56, 57, 117, -429, 87, -313, 77, 53, 78, -115, -345, -102, -312, 108, 75, 40, 80, -119, 60, -273, -302, -370, -425, -313, 63, -160, -96, 60, -154, 62, -287, 63, 83, -312, -301, -312, 55, -173, -115, -312, 50, 89, 108, 88, 66, 27, 49, -92, -343, 44, 42, -269, -100, -287, -317, 44, -318, -347, 61, -375, -355, -349, 28, 89, -311, -177, -139, 37, -328, 58, 53, 65, -334, -277, -320, -301, -146, -170, 72, -137, -330, 109, 57, 72, -329, 68, -120, -301, 58, 53, -347, 26, 33}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1478769536, 1546953216, 1353765504, 1635316608, 1704004736, 1586794368, 2033924736, 1447579392, 1357144064, 1135163904, 1235831040, 1980522752, 1734965248, 1537295360, 1932238720, 1336729600, 2007991296, 2147166976, 1600751104, 1782195072, 1148499200, 1529207808, 1652790528, 1080003712, 1697053824, 1864276480, 1245728384, 1657760640, 1650518912, 1504824832, 1716769792, 1743807744, 1624084608, 1177167616, 1332113664, 1615592320, 1845084928, 2023551744, 2039690112, 1503010176, 1615983360, 1893650176, 1457321216, 1413340416, 1807328512, 1931060352, 1091306880, 1809504128, 1337248256, 1624242816, 1429187840, 1435753856, 1299384320, 2034998912, 1406109952, 1112606336, 1209965056, 1826339712, 1534059392, 1280364160, 1938291328, 1852729088, 1996363904, 1679269248, 1509498240, 1178749568, 1595459200, 1349385728, 1477545600, 1909329536, 1443192320, 1788283904, 1622877696, 1666669440, 1367333760, 1755610496, 1928007552, 1369342976, 1503606528, 1846809600, 1853059456, 1956188544, 1575642496, 1508032000, 1193317760, 1784176768, 1224134272, 1725784832, 1134264192, 1351825920, 1142444288, 1655972864, 1697084288, 1368636928, 1204286208, 1820357248, 1276967680, 1804842112, 1796128512, 1243332992, 1429970432, 1548187008, 1936012544, 1547160832, 1323960704, 2061186944, 1913884800, 1380178432, 1319015552, 1554735104, 1726630272, 1095842944, 2086313728, 1698982784, 1787442560, 1615272704, 1702335616, 1832222720, 1493975168, 1415512832, 1633244800, 2145850496, 2043856128, 1637083904, 1156044928, 1344501248, 1415486848, 1614054144}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {92791, 17911, 26427, 35362, -5193, 54707, 40724, -9016, 32822, -30417, 4651, -36317, 261, 25083, 4054, 30212, 29814, 14326, -53786, -7229, 4047, -16009, 6284, 33872, 14698, 4544, 355, 102640, 94115, 42623, 70283, 15501, 5171, 35855, 47234, 37574, -8350, 2441, 114781, 33111, 9880, 75609, 56043, -4759, -4506, 6665, 12000, 106471, 31313, -46702, 49935, 31863, -37671, 15195, 3260, 24832, -30487, 35625, 56644, 14723, 17623, -54848, -23625, -22193, 42044, 37786, 7456, 26669, 963, 34739, 34029, -6793, -10179, 45768, 90119, 40641, -3638, 63407, 22498, 22221, 22061, 22507, 26612, -1980, -34344, 2409, 42278, 9060, 50660, 26294, 30497, 67294, 2071, -28975, -1881, 42662, 984, 63163, 15951, -18331, 22196, 7601, 20631, 56682, 26576, 35749, 49104, 34320, 93063, -68171, -3443, 13230, -36749, 81572, 11848, 26398, 44272, 14243, 97914, 27224, 52592, 375, 76727, 8012, -10569, -19915, 24029, 54990, 23441, -1235, 22361, -763, 35989, 6773, 17837, 36168, -45402, 24943, -58677, -8918, -8335, 52740, 34929, 66259, -10849, 27247, -7437, 125381, 38191, 40419, 64162, 41135, 27753, 39457, -89967, -3641, 79903, -27046, 35807, -8732, 20388, -20711, 41830, 6658, 25356, 10945, 60506, 50050, 26734, -18031, 19654, 27215, 6472, 30185, 46162, 39280, 62816, 26338, 25008, 102830, 7196, 110567, 11369, 135275, 70865, -26597, 2610, 5560, -17982, 104234, 17414, -2650, -6328, 25859, -13743, -16850, 25488, 137905, 2676, 57989, 13014, -14920, 19706, 52979, 49373, -22038, 42214, 39496, 23724, 5216, 13146, -808, 24430, 65027, -2676, -76335, 26730, 35221, 38943, 87235, 56938, 34944, -8920, -22248, 899, 57786, 21490, -30797, 2, 37984, 19162, -15266, 9639, 79731, 59866, 8137, 32623, 57596, 15663, -37471, 14915, 61483, -4361, 46973, 28813, 20625, 18722, 106, 23670, -1430, -23142, 29769, 13865, 7429, -27611, -3132} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-134, -121, -124, -79, -118, -122, -112, -87, -116, -88, -116, -114, -110, -117, -87, -89, -114, -134, -87, -112, -70, -74, -119, -138, -96, -66, -72, -137, -137, -103, -188, -87, -83, -155, -102, -99, -124, -82, -155, -132, -156, -142, -126, -140, -134, -177, -100, -130, -163, -91, -141, -97, -100, -124, -90, -108, -95, -203, -165, -108, -96, -114, -110, -93, -102, -200, -105, -132, -116, -148, -125, -79, -67, -172, -126, -139, -114, -145, -111, -91, -88, -123, -99, -140, -114, -62, -188, -54, -113, -117, -130, -151, -95, -93, -154, -103, -113, -184, -76, -133, -99, -144, -120, -105, -117, -111, -133, -128, -141, -101, -74, -103, -87, -158, -86, -119, -103, -102, -146, -122, -91, -94, -157, -68, -129, -65, -94, -139, -116, -138, -142, -80, -141, -104, -156, -144, -73, -98, -103, -96, -82, -125, -126, -135, -49, -102, -114, -151, -123, -84, -144, -100, -84, -129, -88, -91, -118, -122, -167, -83, -166, -129, -129, -116, -119, -128, -166, -140, -100, -108, -94, -122, -71, -100, -210, -114, -174, -138, -127, -173, -118, -131, -63, -119, -103, -107, -106, -145, -116, -142, -102, -127, -121, -127, -87, -138, -82, -170, -110, -122, -136, -117, -125, -135, -139, -124, -142, -128, -132, -138, -104, -128, -143, -115, -90, -95, -99, -113, -133, -148, -145, -134, -94, -123, -85, -128, -140, -115, -110, -136, -176, -97, -105, -126, -129, -61, -91, -129, -138, -51, -133, -129, -125, -198, -99, -147, -77, -122, -156, -109, -88, -104, -118, -188, -84, -131}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1671087744, 1782377728, 1747838720, 2134911744, 1498352512, 1201330304, 1609388928, 2080146560, 1200158720, 1132341888, 1122652800, 1505226240, 1523129472, 1576574080, 1183692672, 1581359872, 1311974528, 1185342976, 1440940928, 1722186240, 1150935296, 1154293504, 1821509888, 1890363776, 1898427648, 1220455680, 1089432448, 1137671168, 1166593664, 1432517760, 1574690432, 1120623616, 1582155264, 1733121152, 2105208960, 1303065600, 2146292096, 1562083328, 2067212416, 1757863808, 1573249280, 1424222976, 1860887936, 1413296896, 1933636864, 1371723008, 1256801024, 1179035904, 1549593600, 1361551872, 1397670656, 1195133312, 1280774016, 1830423040, 1782570496, 2082761856, 1112099712, 1569090048, 1789961088, 2103876736, 1781032704, 1885329024, 1577621504, 1192326272, 2106869120, 1965233792, 1291190528, 1449398016, 1198016384, 1381060864, 1238496896, 1741397888, 1868486016, 1141397632, 1527348992, 1608237056, 1916529408, 1990622080, 1686687616, 1401985792, 1128262912, 1157256832, 1358618368, 2085250944, 1146317312, 2085291520, 1574295936, 1075908992, 2024250112, 1807202944, 1328919040, 1418642688, 1269335040, 1120440448, 2041108352, 1762751232, 2123525760, 1807413888, 1781220992, 1170993664, 2134411264, 2134135040, 2031191040, 1993729408, 1762283136, 1242060416, 1099211648, 1305144448, 1192105216, 1345635968, 1396169472, 1286998528, 1406714624, 1175667712, 1774045824, 2019602048, 1447611008, 2136943488, 1518306688, 1660424320, 1326658560, 1964783872, 1671964672, 1405144448, 1224585088, 1667416960, 1405617152, 1562557056, 1432378496, 1211213440, 1885757952, 1924188800, 1388470784, 1944818560, 1397295872, 1385387904, 1908703872, 1420408960, 1300716032, 1238007040, 1409547008, 1234776320, 1774399488, 1895665024, 1189351296, 1102552960, 1698214400, 1273059456, 1100968192, 1916448128, 1877039744, 1780477952, 1216231168, 1540679552, 1157441024, 1831215104, 2114247936, 1263556736, 2080281216, 2131548288, 1816241664, 1851451904, 1235745920, 1125683584, 1556902400, 2089259776, 1153544832, 1783699968, 1648769024, 1123457152, 2042720768, 1535064960, 1227492736, 1774752768, 1150418432, 2047007488, 1091525120, 1103078272, 1261909632, 2054696960, 1206399488, 1086251520, 1580328832, 1891112576, 1862837120, 1860980224, 1475381632, 1250554880, 1424640640, 1951192704, 1580794496, 1599798400, 1391620224, 1344016512, 1245272320, 1887154176, 1216205312, 1283700224, 1976067200, 1110844800, 1759826688, 1295915392, 1352183680, 1394157312, 1118254208, 2031406208, 1516878080, 1580418432, 1135812224, 1549362944, 1638086528, 1431310464, 1493175296, 1595084416, 1634982144, 2075781888, 1450381824, 1691196928, 1983916672, 1598387328, 1151775232, 1144786304, 1832833536, 1323975936, 2102125312, 1946963712, 1539398144, 1696031488, 1226258560, 1153534464, 1292297728, 1712948608, 1597037952, 1481501568, 1426400000, 1881730432, 1709817984, 1778124928, 1286086912, 1194959616, 1460845184, 1186434688, 1861432448, 1385365120, 1565461248, 1879346176, 1499586048, 2040149504, 1302388992, 1523909120, 1662287104, 2118399616, 1557604352, 1251774464, 2006401920, 1609395456}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {-892, -5093, 2626, -719, 33746, 71241, -2011, 22165, -476, 33798, 7721, -11, -4381, 15762, 330, -256, -6068, 22085, -32, -11480, -446, 8475, -1149, -4690, -217, 452, 4631, 535, 9900, -11447, -496, 46703, -197, 18110, 699, -4441, 32490, -574, -3231, 17239, -7891, 20724, -5851, 229, 28447, 3472, 49162, -4343, 31535, 2649, -500, 11328, -1717, -1595, -1066, -385, -272, 102189, -4824, -571, 186, -9776, 34943, -4161, 778, -8512, -1225, 2149, 479, 2225, -63, 6806, -204, -12346, 145, 16933, 27554, 34642, 5859, 60166, 484, 18171, 47963, -7559, -144, -97, 29, -1336, -469, 320, 111815, -1035, -35610, -2641, 6650, 27601, 514, -5758, 56234, -71, 167, -4155, 157, 471, -305, -1967, 403, 26346, 12389, 1601, -643, -715, 43269, 99029, 30203, 18187, 177, -93, 24169, 7972, 532, 77889, -1385, 411, -4356, 224, -527, 4578, 19129, 77, 14158, 69055, 31418, -115, 1469, 16642, -1373, -283, 6561, 44958, 25, 69689, 27026, 21403, -315, 23190, 12341, 23808, -5644, -251, -81, 25157, 353, 533, -5750, 509, 22055, -3248, -9723, 4897, -327, 47958, -3504, 144, 885, 561, 31018, 21828, 87378, -87, 528, 105, -3, 490, 16682, 3308, -6685, -190, -28158, 11242, -5732, 13866, 60, 20473, 19953, 16601, 5425, 374, -163, 702, 1271, -993, 22745, -250, 40925, -7757, 36802, 36533, -10271, 1985, 161, -4682, 3646, 21883, 56398, -3196, -449, 17479, 2458, -617, -3335, -1878, -7026, 6019, 198, -2150, 41539, 59547, 45, 12831, 24483, -1338, 1481, 17623, -194, 1000, -344, 11637, 25879, 14193, 5913, -4140, 133424, 14, -435, -495, 6809, 32741, -426, -234, -3499, 513, 13726, -233, -156, 33036, 20349, 94, -32, -11819, -17820, 1218, 17382, 309, 5132, 876} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-117, -75, -119, -54, -233, -260, -59, -216, -33, -219, -71, -68, -31, -231, -90, -142, -37, -228, -71, -37, -108, -63, -76, -43, -124, -131, -49, -102, -59, -49, -113, -234, -95, -237, -102, -118, -282, -44, -48, -225, -71, -219, -145, -47, -191, -90, -297, -72, -239, -108, -134, -58, -33, -47, -95, -118, -135, -348, -62, -22, -93, -31, -240, -16, -107, -85, -90, -149, -37, -106, -30, -148, -133, -30, -125, -226, -209, -266, -55, -293, -92, -224, -256, -42, -23, -101, -145, -112, -86, -52, -474, -29, 1, -21, -70, -216, -118, -91, -260, -128, -109, -95, -93, -20, -95, -41, -131, -156, -53, -39, -60, -101, -272, -234, -214, -234, -89, -91, -211, -211, -51, -274, -100, -77, -24, -137, -100, -59, -247, -88, -168, -217, -252, -103, -29, -215, -31, -145, -46, -280, -41, -345, -232, -226, -100, -240, -144, -220, -74, -99, -49, -216, -131, -109, -38, -52, -229, -19, -43, -141, -6, -156, -71, -149, -138, -54, -210, -239, -322, -65, -92, -123, -128, -116, -192, -150, -23, -72, -15, -56, -33, -62, -114, -214, -84, -126, -80, -56, 11, -116, -98, -33, -208, -155, -313, -49, -194, -231, -48, -114, -93, -26, -76, -251, -251, -36, -41, -224, -79, -143, -95, -9, -53, -38, -24, -63, -229, -196, -46, -217, -234, -139, -140, -90, -90, -119, -128, -217, -190, -224, -137, -26, -256, -101, -168, -100, -49, -205, -131, -138, -51, -43, -60, -149, -125, -280, -241, -124, -119, -62, -14, -103, -223, -208, -143, -145}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1372326400, 2064085248, 1800635520, 1445543680, 1532789504, 1196786048, 1559216128, 1617226368, 1856848384, 1276683392, 1255635712, 1213278720, 1140769920, 1297790336, 1268977408, 1169116032, 2025504256, 1762630016, 1108494976, 1117708416, 1421752064, 2116572416, 1637960320, 1245083264, 1616776704, 1566052736, 1821842176, 1347742848, 1410997504, 1567635456, 1749088256, 2087790464, 2042065280, 1431649792, 1310246272, 1553315328, 2141876096, 1702224000, 1252535680, 1409841024, 1326115328, 1665881472, 1515940352, 1209250688, 1259751552, 1831149696, 1229110656, 1304190592, 1437092992, 1592983936, 1263848320, 1087940608, 1241248640, 1376831488, 1358276608, 1479892608, 2125347328, 1583634176, 1679453824, 1733782272, 1929472128, 1888677632, 1394170240, 1821342336, 1335707904, 1958225024, 1941849984, 2050883968, 1155663488, 1639682048, 1185217280, 1388589440, 1743554688, 1775749888, 1093366656, 1253503744, 1448060032, 1811798784, 1735131776, 2028073472, 1512608640, 1593125504, 1348183424, 1430620800, 1487557504, 1372964992, 2126338048, 1392380672, 1791139840, 1240671232, 1098365696, 1196021248, 1603631360, 1611288704, 1086098432, 1315714304, 2074816512, 1714030976, 1727447936, 2020379520, 1271365248, 1724455040, 1600915200, 1545941632, 1785443712, 1251638656, 1367977216, 1110582400, 2016142208, 1216641664, 1595341440, 2096270336, 1897185664, 1154928512, 1515100800, 1911219712, 1406397440, 1730959232, 1582216704, 1413014144, 1459741184, 1116126976, 1611509632, 1538004352, 1841255680, 2039941376, 1284948480, 1424080896, 1193084416, 1780668928, 1769070976, 2019600896, 1879201792, 1303476864, 1259859840, 1957155328, 1414080512, 1682458880, 1565460864, 1134982784, 2028725120, 1157804032, 1479200768, 1157485952, 2013845248, 2022485888, 1120067968, 1269540480, 1429615360, 1421461632, 1394176000, 1277848192, 1188302720, 1384774784, 1621748480, 2030928256, 1956499712, 1204637696, 1548198528, 2134811904, 1340276096, 1610454016, 2026685184, 1673502080, 1409813376, 1889043072, 1734828672, 2004124800, 1582337408, 1611147136, 1287987840, 1165132032, 1281532928, 1544344320, 1730375296, 1853391744, 1965583104, 1415910272, 1900337152, 1925030400, 1903863168, 1270750720, 2088818176, 1376736768, 1258193792, 1529452416, 1631191168, 1449271168, 1458183680, 1410524800, 1461429120, 2055558272, 1461995008, 1293009536, 1225995264, 1935790464, 1668632704, 1416909056, 1948261888, 1605344640, 1325581696, 1903695488, 1526427520, 1127804800, 1864047872, 2007582848, 2007269248, 1417544320, 2129115136, 1250756736, 1090495616, 1594595328, 1099885312, 1449240192, 1158967808, 1816395136, 1848882944, 1273701504, 1405870720, 1655876096, 1525445504, 1393357824, 1571452032, 1447720192, 1386976256, 1153893632, 1530619264, 1129000832, 1746513408, 1205611392, 1830182784, 1407042816, 1937232128, 2078136064, 1085708928, 1524952832, 1751517824, 1480206848, 1907298048, 2036657408, 1240560000, 1303207424, 1088609024, 1492087296, 2046715008, 1103947264, 1929781632, 1799565568, 1184503936, 1504893312, 1155402368, 1242048768, 1076402688, 1534287360, 1202520064, 2060630016}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {-40820, -16025, -12912, -27076, 1994, 26582, 11449, 12483, -5236, -2662, -76554, 94514, 37296, -19440, 372, 9647, -4483, -13594, 2654, -30945, -6797, 5451, 5657, -55905, 16063, 8970, 38428, 2626, -86989, 9780, -609, 224, 137813, 5321, -11732, -7725, -13376, 10158, 18508, 20212, -6743, -3996, -6622, -33249, 31034, 14641, 12963, 11443, -1079, -2697, -7344, 4306, -27727, -39657, -14049, 50464, -28683, -11817, 26334, 16456, -27655, 49120, 17503, -45002, 4180, 24977, -19959, 3934, -24971, 14692, 60628, -6394, 26623, 98, -23040, -31816, -24559, 9220, -30434, 3127, 2152, -62177, -172, -3917, -28358, -4620, -17758, 9144, 4235, -50649, -6680, 23496, -7355, -11373, 2279, 31741, 9884, 6692, 57190, -49465, 1177, -16647, 16674, -22819, -2813, 5233, 20810, 15051, -5823, -33673, -30853, 1819, -16294, 36582, 33256, 12607, 28730, -16165, -17730, 42703, 16410, 8373, -17928, -10566, 4274, -8522, -1645, -14719, -10901, -29678, -10063, 11398, -105846, -64632, -2568, -29218, 28810, 27706, -8660, -24984, -16477, 18533, -9376, -13957, -19348, -28486, 125379, -39987, -14260, 9232, -6524, 15527, 37525, -5857, 56999, 12618, -3095, -18413, 38859, 12481, 25973, -21429, -657, 19667, 17858, 4226, -22989, -44245, 17960, -3306, 2971, 8515, -12678, -32004, 40758, -28736, 1937, -4349, -22794, 17930, 34890, -38546, 14612, -29871, 70525, -11488, -34238, -14414, 6359, 20993, -9613, -46992, 5342, -9340, 14722, -14664, -21237, 24495, 22882, 6981, -46017, 15725, 95794, -43188, -4434, 46231, -24116, 36499, 12563, -9754, -21651, -12337, 25544, -15251, -26428, 4541, 39726, -14638, -7521, -2471, 8630, 11480, 16033, 35164, -8463, 104078, -264, -41689, 11338, 529, -29558, 5581, -10441, 9171, 14086, -7884, -10722, 21112, -6852, -4686, -38939, -13598, -5092, -11536, 82388, 3253, -36458, -23302, -21749, -6765, 7337, -29086, 25358, -22539, 117644, -9056} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-147, -118, -78, -114, -147, -109, -145, -93, -120, -142, -107, -139, -132, -141, -119, -108, -131, -94, -132, -138, -143, -132, -101, -113, -134, -116, -121, -92, -116, -116, -136, -124, -135, -120, -134, -123, -80, -94, -156, -191, -106, -139, -116, -118, -128, -118, -151, -134, -120, -148, -146, -155, -118, -108, -154, -109, -131, -141, -121, -100, -115, -124, -135, -107, -126, -100, -150, -119, -103, -125, -152, -146, -160, -160, -105, -95, -99, -149, -119, -92, -146, -131, -158, -119, -119, -134, -103, -118, -83, -90, -146, -108, -119, -91, -156, -113, -102, -118, -120, -139, -92, -146, -118, -65, -128, -152, -155, -98, -93, -146, -111, -86, -145, -112, -151, -56, -107, -86, -92, -126, -160, -142, -134, -152, -112, -126, -128, -107, -108, -153, -114, -95, -136, -97, -136, -141, -143, -151, -164, -127, -124, -148, -134, -83, -118, -117, -128, -90, -71, -136, -141, -90, -93, -125, -148, -109, -134, -125, -109, -134, -142, -88, -100, -114, -118, -119, -127, -96, -122, -118, -87, -74, -108, -106, -105, -146, -167, -155, -126, -144, -110, -127, -102, -145, -119, -116, -120, -130, -131, -135, -97, -140, -161, -110, -170, -146, -133, -127, -118, -120, -129, -163, -142, -104, -133, -116, -147, -104, -156, -177, -134, -112, -148, -77, -142, -108, -147, -101, -115, -65, -118, -119, -111, -125, -147, -129, -197, -142, -121, -154, -121, -137, -111, -131, -166, -94, -139, -157, -170, -67, -141, -129, -88, -131, -135, -117, -114, -97, -116, -175, -90, -111, -118, -114, -112, -139}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1397716864, 1148157440, 1727780096, 1411961472, 1309883264, 1260140416, 1228358400, 2120263808, 1346141568, 2084375168, 1816828800, 1104350336, 1507449344, 1097403136, 1172257920, 1107737216, 1088809344, 1490207104, 1244228608, 1265639936, 2123914368, 1143886080, 1232415744, 1239438976, 1271655808, 1578076160, 1649380864, 2038777216, 2100948480, 1203404800, 1776714624, 1294688768, 1310523136, 1245798272, 1457318656, 1215929600, 1378412800, 1497486976, 1479027328, 1526767872, 1419995776, 1660990336, 1722621440, 2033693696, 1301510656, 1884849664, 1693531008, 2003907328, 1778948096, 1783401344, 1616749952, 1939350784, 1320050816, 1216632192, 1993445120, 1216109568, 2044560256, 1986995584, 1649086976, 1999836160, 1751830528, 1866135040, 1422284288, 1899517824, 1765320576, 1301672064, 1301546368, 2060386688, 1274466688, 1697750016, 1360284544, 1519833600, 1799270912, 1957475840, 1745888896, 1104317184, 1207358336, 1088621184, 1351581696, 1575795072, 1231252864, 1509122304, 1945518464, 1454490496, 1758901760, 1222823936, 1272295552, 1290842112, 1113566208, 1277417728, 1595263360, 1408985344, 1728067328, 1991440768, 1312932864, 1824214144, 1793957248, 1909518208, 1306267136, 1574141696, 1429834496, 1224352128, 1365830656, 1136572288, 1455146112, 1422565888, 1862152960, 1345703936, 1316172672, 1097243392, 1097684352, 1950271616, 1546197888, 1684024576, 1104173568, 1973828096, 1654582784, 2108470912, 1871617408, 1919919104, 2037016832, 1470876928, 1896973824, 1817980928, 1495610112, 1650365568, 1869894912, 1805927296, 1770213120, 1316087680, 2146596480, 1463252224, 1814195328, 1752543360, 1915097728, 1347867392, 1176142080, 1087742976, 2030604288, 1606251776, 1472886784, 1415043712, 1121280256, 1594396032, 1606606464, 1925035648, 1513026176, 1075157376, 1967784832, 1947534208, 1108746880, 1941101056, 1372138880, 1752892160, 1869996544, 1491410304, 2042252928, 1373553920, 1113577984, 1160902784, 1458136320, 1120005888, 1679946624, 1105730816, 1133051392, 1511026944, 1301496448, 1647904640, 1233244160, 1977947648, 1276009088, 1144935296, 1922943616, 1832888320, 1874004224, 1606297600, 1697374976, 1792364288, 2137741184, 1393911552, 1736898048, 1825016192, 2040021376, 1566495872, 1306412288, 1824833920, 1603257728, 1899622400, 1355165696, 1245102848, 1635390848, 1752857344, 1474037120, 1917502720, 1346853248, 1403986176, 1435716480, 2043648768, 1912525056, 2023081344, 1296031488, 1695730944, 1670768896, 1851224064, 1555387136, 1565206016, 1995204352, 1510083072, 1074295296, 1481836416, 1815765120, 1193795584, 1494151552, 1160666496, 1142490880, 1908841728, 1404382976, 1229072896, 1307980416, 2018629120, 1681703168, 1115529728, 1344458880, 1478567168, 1563125760, 1276925696, 1107309056, 1739021440, 1408319744, 1809413632, 1092785536, 1178275328, 1470699136, 2128940544, 1324148864, 1522986880, 1951992064, 1705734144, 1437547392, 1397614464, 1650896256, 1074618752, 2084052992, 1680787456, 1438204672, 1160266368, 1718968960, 1435042304, 1325220352, 1362087168, 1712581760, 1763787648, 1317057920, 1448976512, 1472912640, 1546638976}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {748, 981, 91184, 3863, -825, 77583, 6231, 135617, 54207, -143, -1766, -1859, 106194, -368, -1706, 4507, 120293, -344, 1844, 4959, 104354, 63030, 86314, 513, 3811, 95046, 122818, 2574, -6911, 56978, 271, -2431, 14674, 71706, -1861, -221, 9117, 81093, 40503, -1614, 72009, 14053, 2401, 6891, 4609, 2381, -816, 254, 172393, -842, -97, 67746, 5061, 10368, 8646, 10767, -816, 4864, 141305, 76621, 1811, -23885, 114656, 6509, 232, 89289, 2589, 56628, 1844, 935, 683, -1048, 93676, 60886, 48905, 7024, -1491, 107021, 129051, -288, -573, -2804, 6563, 9801, 91277, -441, 113868, 100299, 211599, 1162, 223, 74317, 115898, 8440, 117228, -1002, 34962, 85931, 77646, 3607, 62759, 163879, 60376, -46, 49455, 99615, 96477, 46640, 1803, 21233, 2490, 1420, -554, 8069, -261, 74274, 209, 67773, -809, 62813, -598, -94, 44909, -599, 96605, -608, -5134, -895, -1071, 1630, -222, 10298, 206, 206, -555, 147438, 101368, 88655, -977, 4106, 2684, 127072, 5512, -763, -1557, -855, 13227, 94514, 16271, 488, 9375, 98173, 127102, 2533, -50213, 63102, -1178, -1369, -3191, 159258, 3725, -755, 111489, 61204, 80232, 87816, -2452, -3925, 93325, 99898, 87354, 65397, 710, 2869, 498, 145380, 157769, 137062, -639, 192303, 177593, -712, 72680, -175, -92, -4145, -1677, 122632, 5797, 29831, 6512, -1211, -610, 130337, 84609, 84527, 18587, 162621, 1439, 756, 10312, 6161, -108, 63927, -1083, 18471, -72217, 88779, 8231, 108514, 11175, -740, -382, 5709, 85432, 4894, 418, 825, 1125, 120387, 2155, 59916, 87014, 2430, 99053, 921, -522, 130821, 76242, 114180, -25389, 90542, -228, 102548, 183998, -3, -2987, 142650, -1282, 3854, 4490, 26095, -1919, 42128, -2200, -700, -747, -3106, 460, 88806, 75760, 2852, 2696, 844, 11541, 124687} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {0, -158, -319, 82, 80, -368, -94, -375, -357, 94, 98, -101, -290, 80, 125, 121, -329, 47, 94, 34, -322, -398, -292, 40, -29, -369, -298, -147, -84, -326, 100, -93, -134, -342, 49, 102, 119, -350, -241, 92, -372, 75, -93, 65, -120, 88, 99, 77, -317, 82, 60, -352, 79, 81, 134, -175, 82, 54, -300, -281, 84, 77, -303, 79, 107, -294, 45, -302, 64, -170, -118, 74, -313, -362, -346, 83, 72, -367, -357, 101, 78, -69, 97, 53, -305, 51, -269, -379, -328, 42, 76, -322, -359, 103, -325, -94, -323, -341, -286, 115, -389, -332, -318, 58, -316, -337, -284, -327, 98, 115, 76, 103, 32, -126, -38, -279, -111, -348, -97, -256, 66, 89, -153, 79, -306, 72, 95, 95, 75, -38, 97, 63, 19, 95, 138, -360, -297, -258, 55, 77, 45, -363, 118, -96, -129, 42, -191, -361, 102, 20, 81, -339, -297, 90, 70, -339, 66, 51, -109, -336, -161, 141, -334, -357, -306, -334, 109, 86, -289, -338, -308, -282, 83, 67, -120, -429, -336, -345, 75, -295, -319, 126, -300, -110, -127, 55, 81, -341, 51, -184, 71, 80, 92, -373, -373, -327, -107, -291, 77, 72, 66, -199, -141, -380, 113, -146, 121, -301, 92, -301, 57, 107, 93, 84, -350, 70, -159, 63, 51, -367, 113, -318, -305, 74, -407, -151, 96, -303, -440, -356, -52, -331, 117, -323, -312, 83, -135, -328, 56, 52, 68, -139, -164, -330, -117, 64, 68, 108, 77, -362, -299, 82, 112, 17, -105, -340}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {2089085184, 1202558848, 1719975808, 1816629632, 1311816320, 1338087936, 1440612224, 1902156928, 1757509504, 1735785344, 1377799552, 2087697664, 1357705728, 1515300096, 1241244672, 1174556160, 1136358144, 1735213312, 1300380800, 2069150592, 1486708352, 1340444544, 1619099392, 1850302592, 1924676224, 1075355136, 2107648384, 1938411904, 1716489216, 1237746048, 1558396288, 1572998016, 1374590592, 1270504448, 1687286656, 1744712704, 1445928192, 1453621504, 1233364992, 1814650368, 1334725632, 1086824448, 1273914240, 1337142400, 1607247488, 1673829248, 1887081984, 1530627456, 1579831040, 1469063680, 1987159552, 1443475072, 1279453824, 1275378816, 1162328064, 1258104576, 1273299968, 1777880320, 1230208000, 2120968448, 1417618944, 1474887168, 1617367936, 1361818624, 1415951360, 1201609600, 1465566208, 1746036736, 1508929280, 1318067584, 1963091328, 1953609088, 1585694464, 1569692800, 1895292928, 1721282944, 1667790720, 1077509888, 2033268992, 1090774272, 1452746880, 1120509056, 1815187584, 1146889728, 1672832384, 1578372992, 1581212544, 2001011200, 1542855168, 1113637248, 1442111104, 1469410816, 2142802304, 1953104640, 1370139648, 1339840640, 1385066496, 1845726080, 1263725952, 1075786752, 1766128512, 1378993664, 1578299392, 1117558272, 1861056000, 1192055936, 1417201536, 1113500160, 1794135040, 1300215552, 1894294784, 1226762112, 1781664512, 1825860608, 1698295040, 1772378112, 1269934720, 1346622464, 1915874944, 1679780864, 1829510784, 1569539328, 1677851136, 1267466624, 1895248000, 1793359744, 1117031424, 1522736000, 1377418624, 1500924288, 1257480448, 1770314880, 1992856704, 1665897344, 1621879296, 1152147584, 1615823872, 1120246400, 1669474304, 1461997952, 1951504512, 2029349888, 1215464192, 1437857664, 2041608576, 1250869888, 1889470976, 1315187840, 1645286016, 1249280256, 1572120192, 1093802368, 2051782400, 1342520576, 1574782208, 2044674688, 1751463808, 1313868800, 1511002112, 1251732736, 1382381056, 1222153344, 1207830656, 1583644800, 1092968832, 1996725888, 1414536064, 1496424704, 1688500096, 1346419968, 1713938048, 1341594752, 1803361024, 2092893568, 1091550208, 1504702208, 1095021440, 1942354560, 1073899392, 1300443008, 1700508544, 1377600256, 1461763456, 1713582208, 1251654272, 1305684608, 1715559424, 2113492480, 1793760768, 1492920320, 1827032192, 1431362944, 1815439232, 1355628672, 1278535936, 1561667840, 1507508480, 1829351680, 1258088064, 2005362944, 1534408576, 1257659904, 2094929024, 1278009472, 1717564928, 1222340480, 1512318976, 1213798912, 1819695360, 1644621696, 1617626624, 1663056384, 1402783872, 2068150912, 1179194368, 1306258944, 1519106048, 1209258368, 1213319936, 2080617472, 1932071296, 1776418432, 1940863488, 1451665792, 1138140416, 1790849408, 1522493440, 1336628352, 1199037440, 1337754880, 1080960000, 1354536064, 1247708928, 1577864576, 1326127360, 1641092352, 1183768192, 1716498560, 1477644288, 1319760384, 1378256384, 1839588736, 1399294592, 1179266688, 1811202816, 1093044224, 1594156032, 1483611520, 1187907328, 1171143936, 1549600640, 2096355584, 1603519360, 1180825728, 1525259520, 1210608896}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {1461, 3986, 37951, 9975, -5810, 507, 29639, -45361, 64953, 6222, 83718, -3002, -26655, 70699, -38494, 62879, 21255, 15953, -233, 5993, 34933, 12696, 47885, 42069, 66395, 33974, 11630, 79734, 16682, 38068, 15992, 28619, 53144, 37173, 18001, 57220, 29116, 81970, 24064, 49585, 49592, -24931, 36585, 39649, 60334, 30474, 7451, 40180, -9220, 29706, 635, 16716, 37630, -21917, 56966, 12564, 20452, 15837, 52734, -10302, 61537, 21825, 19206, 8463, 6051, 55563, 26817, 85373, 13660, 1261, 54457, 108123, -15229, -30129, 13223, 52877, 27579, 73048, 50189, 77703, 58088, -14208, 50888, 59176, 58642, 18064, 63141, 28762, 79897, 49375, 66805, 18611, 28782, 25591, 50528, 17907, 43785, 16341, -44077, 79829, -12262, 47623, 38108, 39539, 123671, 26406, 18979, -483, 7626, 46040, 18722, 6079, 34933, 30917, 73912, 56581, 26715, 34194, 51527, 22824, 17120, 27039, 11665, -11010, 30153, 22459, 61858, 41267, -66716, 9922, 24851, 22494, 56082, -56194, 63785, -45643, 121, 27989, 14824, 58573, -12580, 38219, 23700, 29291, -3350, 48753, 175, 11852, 10541, 48783, 78301, 56976, -47638, -2007, 19422, -12533, 24430, 46141, 8028, 73747, -5044, 48945, 54205, 7867, 35114, 30827, 12995, 18841, -7548, 5681, 16117, 15110, 84220, 12567, 47056, 35495, 22556, 9632, 19567, 35335, -6809, 33003, 40453, -13634, 24456, 12267, 2089, 37928, 2454, 69933, -4449, -42033, 769, 39934, 68873, -22902, -57490, -19397, 19870, 13393, 60784, -24693, 20270, 5126, 70878, -24838, 4582, -33019, 24827, 44823, 4035, 51331, -32459, 42848, 34536, -411, 19509, 36360, 12984, 68725, 35482, 27239, 16626, 29318, -48794, 41142, 4223, 22522, 17381, -19618, 35815, -589, 55761, -1380, 83779, 1966, 23961, 2549, 92655, 53770, 26979, 52835, 20194, 4309, 28347, 86, 52089, 8093, 51142, 22366, 43385, -8575, -50911, 89982, 22601, 54180, 54577, 40062, 67170, 24796, 16803, 9516, 40253, 31577, 41123, 7676, 23527, 26784, 21674, 7876, 16124, 16687, 54434, 79422, 43422, 48444, 7109, -6752, 19442, -875, 50350, 16783, 20094, 12807, 96712, 22288, 1241, 13532, 36743, 5728, 58758, 30637, -17279, 54656, 22409, 23090, 64792, -1225, 25403, 5824, 46889, -17252, 44028, -28534, 19818, -9574, -30413, -4584, 43204, 68644, 67479, -289, 11096, -30181, 73659, 36335, 42634, 34317, 87112, 96206, -7040, 69120, 494, 31115, 22051, 21271, 35094, 91050, 10936, 79854, 29848, -14176, -15271, 36476, 33438, 13831, 18815, -4165, 48289, 97409, -12428, 27849, -15188, 24017, -16045, 43872, 39432, 43973, 23515, 118336, 106394, 43031, 35817, 13392, 43760, 28595, 55149, 67866, -3841, 39568, -8630, 82456, 63488, 30330, -15167, 75992, 69139, 35229, 6130, 60643, 36586, 23831, 61220, 51536, 25425, 13982, 30017, 8624, 66716, -18630, -31344, 16137, 66214, 3690, 76146, 26374, -20042, 70912, 33745, 6246, 2839, 6235, 11525, -6365, 13982, -984, -14776, 54013, 67995, 95899, 25352, -6573, 43471, -59020, 40341, 43463, 38490, 28667, 1473, 45740, -11545, 23736, 34699, -9159, 55067, 25848, 17784, 1950, 48874, 50210, 24748, -1890, 877, 1079, 21549, 4268, 27496, -8842, 24147, 68308, 28691, 48608, 139202, 90540, 22073, 25298, 16425, 25480, -4180, 29730, -4321, 16313, 2764, 83913, 43596, 9253, 31710, 5853, -13211, -58084, 5187, 92165, -323, 18583, 27032, 89190, 49064, 61776, 30107, 39826, 24653, 58891, 80289, 68825, 66368, -23504, 10789, 38436, 6783, 28697, 30616, 21539, -497, 53591, 16833, 20965, 43325, 68091, 73626, 35762, 17869, -935, -27498, 44483, -9855, -5422, 95143, 10438, 11633, 95005, 28681, 22439, -23018, 19487, 26508, 57415, 30086, 58883, 127671, 73778, -34439, 36294, 21251, 14368, 43975, 34149, 37035, 63924, 11650, 52702, 62817, 2030} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-101, -144, -166, -120, -120, -107, -151, -124, -130, -80, -112, -107, -80, -142, -115, -154, -106, -140, -162, -133, -120, -127, -123, -89, -150, -104, -88, -160, -117, -125, -140, -102, -116, -102, -125, -118, -76, -132, -95, -139, -135, -123, -128, -141, -143, -142, -87, -124, -138, -86, -89, -162, -125, -140, -112, -82, -137, -173, -111, -85, -178, -92, -116, -101, -125, -142, -125, -124, -112, -101, -177, -167, -123, -113, -98, -151, -115, -146, -195, -153, -100, -142, -144, -145, -133, -84, -118, -120, -123, -186, -102, -110, -118, -104, -103, -101, -112, -86, -93, -164, -125, -120, -107, -153, -164, -121, -86, -103, -155, -136, -88, -81, -133, -164, -163, -114, -130, -115, -104, -133, -73, -128, -101, -72, -109, -106, -116, -175, -98, -102, -122, -76, -114, -86, -118, -93, -122, -83, -116, -111, -90, -138, -91, -116, -146, -118, -127, -92, -111, -183, -134, -145, -82, -81, -99, -118, -123, -146, -118, -151, -115, -123, -119, -84, -118, -129, -113, -116, -128, -124, -112, -175, -149, -147, -129, -109, -116, -129, -131, -128, -114, -123, -121, -144, -118, -122, -124, -119, -134, -138, -74, -128, -148, -95, -127, -122, -76, -93, -79, -101, -165, -105, -120, -151, -120, -81, -75, -146, -132, -154, -105, -149, -144, -163, -148, -134, -111, -106, -90, -85, -134, -108, -76, -157, -130, -112, -124, -139, -106, -104, -102, -122, -75, -115, -122, -144, -134, -112, -147, -117, -97, -81, -137, -42, -138, -106, -154, -136, -119, -118, -89, -100, -121, -117, -127, -147, -115, -131, -150, -131, -88, -97, -157, -142, -110, -151, -148, -143, -121, -86, -97, -82, -145, -127, -139, -105, -90, -86, -128, -113, -131, -110, -107, -108, -119, -146, -87, -92, -133, -160, -119, -111, -105, -99, -139, -129, -182, -85, -105, -131, -118, -88, -126, -96, -118, -135, -105, -100, -101, -118, -159, -161, -123, -108, -162, -124, -130, -109, -167, -138, -109, -128, -105, -149, -176, -120, -137, -161, -78, -124, -136, -135, -81, -105, -111, -81, -88, -92, -151, -119, -89, -107, -124, -139, -117, -105, -126, -95, -92, -119, -129, -94, -121, -95, -150, -138, -102, -125, -156, -123, -109, -136, -106, -81, -130, -126, -172, -114, -110, -188, -92, -111, -121, -154, -81, -87, -111, -123, -129, -106, -96, -108, -116, -110, -154, -128, -114, -152, -137, -105, -139, -111, -116, -105, -102, -82, -89, -128, -155, -101, -96, -138, -121, -92, -128, -112, -151, -122, -66, -129, -139, -91, -141, -60, -96, -139, -121, -121, -129, -153, -87, -126, -120, -102, -115, -87, -124, -90, -137, -112, -132, -132, -107, -145, -78, -116, -126, -75, -133, -118, -139, -75, -92, -130, -112, -96, -119, -127, -124, -136, -112, -122, -100, -140, -110, -130, -134, -132, -138, -98, -97, -102, -136, -128, -124, -103, -82, -127, -105, -124, -100, -101, -144, -115, -141, -163, -127, -149, -108, -121, -124, -105, -139, -129, -80, -70, -149, -145, -96, -103, -152, -128, -90, -103, -117, -126, -98, -145, -169, -133, -98, -122, -135, -79, -152, -149, -152, -145, -122, -151, -99, -92}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1140148224, 1201581440, 1520293632, 1091572992, 1127170560, 1202900864, 1776169600, 1271112064, 1765122432, 1949503488, 1845537024, 1102274688, 1957490688, 1455514240, 1588606592, 1344787840, 1980397568, 1721396608, 1098923264, 1658673280, 1259271424, 1845378560, 1716583040, 1561929344, 1194711680, 1476344064, 1284296576, 1765672320, 1946192000, 1406327552, 1164894976, 1822940928, 1715030016, 1905872384, 1138661888, 1397782912, 1949222400, 1336413824, 1331392128, 1098674944, 2098415744, 1996179328, 1147107584, 1267119488, 1336355456, 1111443328, 1314535680, 1249205248, 1208638208, 1246021120, 1534918784, 2064180736, 1547484288, 1150208640, 1663584128, 1197364992, 1618777984, 1349014144, 1142309376, 1711925760, 1473496320, 1781203840, 1819533568, 1215627904, 1677728000, 1197972608, 1098979328, 1315954432, 1967632640, 1651273344, 2075604608, 1550670208, 1118478336, 1125297920, 1420099712, 1282540800, 1871472640, 1826591616, 1608723200, 1133542912, 1521883904, 1923676032, 2136233856, 2106700800, 1621412352, 1569024256, 1435501696, 1165152896, 1310718720, 1236973824, 1292816256, 1740968576, 1404694144, 1185992064, 1499774336, 1839957376, 1592505216, 1163077120, 1364561152, 1438320768, 1338029312, 1120919296, 1484162816, 1279602816, 1902666496, 1869711744, 1377968128, 1259331200, 2039209344, 1193634944, 1293840000, 1474355200, 1816219392, 1798124928, 1127460224, 1510475776, 1564543872, 1611063296, 1114801536, 1209247488, 1536855680, 1656855552, 1685186176, 1831438464, 1348939392, 1670553088, 1970437888, 1831589632, 1222802560, 2011014784, 1837619456, 2146099072, 1322297984, 1148343168, 1114192512, 1356941056, 1087676416, 1569090176, 2137880704, 1351046528, 1775868160, 1511138432, 1589079168, 1478556416, 1944352128, 1657992960, 1850627328, 1084652416, 1955066624, 1184981248, 1200830336, 1173243136, 1983677824, 1630365056, 1817268480, 1234584704, 1845989120, 1787173504, 2120104576, 1198562304, 1921328256, 1266184832, 1843196160, 1096075008, 1165625344, 1321640576, 2012445312, 1277400704, 1406255616, 1185872000, 1646897792, 1978087808, 1669864320, 1137701504, 1904324096, 1548374912, 1632127488, 1476500352, 1260665472, 1932567168, 1196386688, 1555230848, 1668444544, 1444375936, 1885537280, 1293682688, 1694589952, 1601599616, 1810560512, 1166811008, 1786647680, 2036504448, 1759679872, 1206634496, 1656709248, 1402945792, 1488353920, 1199501440, 1077675648, 1121711488, 1741380608, 1081058304, 1865458048, 1122051712, 1531032320, 1776797568, 1564682752, 1201202432, 1819553152, 2110901376, 2047610880, 1677371136, 1435004288, 1369520000, 1145871360, 1381090176, 1912495232, 1629242368, 1404888320, 1601694976, 1798172672, 1534354560, 1311907968, 1455212160, 1707893248, 1962227968, 1546417792, 1139773824, 1838512768, 1207014144, 1970023040, 1882956160, 2115337600, 1546498176, 1960872320, 1622128384, 1751560320, 1144171008, 1200250752, 2025236608, 1098446208, 1383371648, 2001611264, 2091086464, 1347862656, 1147825280, 1611929344, 2057852800, 1948846080, 1409186944, 1166183296, 1631390336, 1304213760, 1894209664, 1749828736, 1076908032, 1078483584, 1090092928, 2100090240, 1212837376, 2010702976, 1257324416, 1817672704, 1926670976, 1257014400, 1736655616, 1753340544, 1577799296, 1492102400, 2011251968, 1432560512, 1580821888, 1996810752, 1723172096, 1085364608, 1297973760, 1084657920, 1990950528, 1507168896, 2098681088, 1309800960, 1911064064, 2095947136, 1448368512, 1244033280, 1435185920, 1691148928, 1870881792, 1637164544, 1103932672, 1482170624, 1687775616, 1278584448, 1719854592, 1754464768, 1492337664, 1724448896, 1173607424, 1385600640, 1896909184, 1647621632, 1900878080, 1794780416, 2067244672, 1882064384, 2132807680, 1802278400, 2132609024, 2110399872, 1596398976, 1773782400, 1175275520, 1791680768, 1226258816, 1536088704, 1273626624, 1420126592, 2093458048, 1279851648, 1230700928, 1416354816, 1289764352, 1777570688, 1258451968, 1773473024, 1214640768, 1357738752, 1672855296, 2021778560, 1497794176, 1440646528, 1959095552, 1290156288, 1705245952, 1138594432, 1523163264, 1863617920, 1433200768, 1448355200, 1841310976, 2006116224, 1160174848, 1287647104, 1856069120, 1756273536, 1527660800, 1130140928, 1412038400, 1155904768, 1578456064, 1859452032, 1297462656, 1212757504, 1213667584, 1975808896, 1759465216, 1751284992, 1519394048, 1398836736, 1139861760, 1737817344, 1222174592, 1243392256, 1488954624, 2102680448, 1949787776, 1427170432, 1438542720, 1242632448, 1823961856, 1500268032, 1302088320, 2026834176, 1658455552, 1299106816, 2049309056, 2114043008, 1277894528, 1499235328, 1173425536, 1431532416, 1367869440, 1628411136, 2001445504, 1460392064, 1381621504, 1508866304, 1944560256, 1563519616, 1924997760, 1159921280, 2015781632, 1459963776, 1665968512, 1523198976, 1566920448, 1960254080, 1098624640, 2005212416, 1219514624, 1364572544, 2063410816, 1118786048, 1179893888, 1679182080, 1296085248, 1726485888, 1785761152, 1817778688, 1970664064, 1708982656, 1662278144, 1525707264, 1201810816, 1556537344, 2041479552, 1967505408, 1751452288, 1366151040, 1930813696, 1611203200, 1946230784, 1214672640, 1936209792, 1088704384, 1463206912, 1375030912, 1202640640, 1151771520, 2005267200, 1415205760, 1112230912, 2004938624, 1811310976, 1813612544, 1202095616, 1342187904, 1435885696, 1174872960, 1320798336, 2039152640, 1314421376, 1803253888, 1708299392, 1238802176, 1269321472, 1331728128, 1207732480, 1599467520, 1771837184, 1366161280, 1737029376, 1671372800, 1254288512, 2113561344, 1209182848, 1217652736, 1571962240, 1134923776, 1813664000, 2026314368, 1329783040, 1389781760, 1288055808, 1180163968, 1494617984, 1937534848, 1086926208, 1935628288, 1513659776, 2098987136, 2092791552, 1723710336, 1178517120, 1750447872, 1198931712, 1933172352, 2079614720, 1183358464, 1531264896, 1186512384, 1211275904, 1180893440, 1166083840, 1379870080, 1290718976, 1961450880, 1625744896, 1315824256, 1538430848, 1303442304, 1381049472, 1996070656, 1584147456, 1905398016, 1689410432, 1193742720, 1557367680, 2125227264, 2062508416, 1342862464, 1407410560, 1796083840, 1655329152, 1661144192, 1190536832, 1106525440, 1346094464, 1309037056, 2013582976, 1934828544, 2137359360}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {-626, 10215, -1304, 2848, 5232, -935, -25, -9830, 11, 1616, -239, -8855, 3034, -596, -2642, -335, -3964, -3943, 2129, -9232, 21661, 41480, -2113, 2631, 15776, -2914, 122839, 14462, -195, 852, 129, 4640, 16000, 33989, -8200, -11276, -2634, -3360, 2, 594, 37097, -3367, 34151, -3448, -3835, -27777, -127, 31994, -4915, 1881, 837, 4623, -12736, -886, -13170, 888, 8702, -140, 2785, 423, 1320, 81, -3532, -9856, 15280, 13270, 14576, -235, -8260, 2808, 2110, 82, 510, -6109, -833, 208, -10730, -2304, 95320, -143, 232, -13452, -4067, -7120, -209, 18174, 737, 23299, 31237, 7567, 1124, 20320, -8823, 49919, -849, -1736, 2341, 16032, 8216, -131, -1456, -2514, 25749, 5534, -55, 22253, -21443, -157, 26316, -1800, -588, -323, 20874, -5318, 1264, 1419, -10327, -10397, -4396, 21460, 15436, -2005, 1610, 1189, 108, -2590, 1986, 881, 2443, 215, -7849, 113, 3967, 451, -2996, 7401, 155, 665, 2087, 11, 11309, 5115, 10153, -301, 105722, 7249, 3193, 100, 283, -569, -270, 136, -26, 33375, 393, 239, -5577, -581, 70489, 3051, -1189, -3426, 3103, -177, 5207, 56437, 17557, 7758, 42137, -60, -4432, 36246, -105, 67738, 229, 4216, -4094, -11667, -84, 7651, 17789, 376, -2703, -4391, -111, -1083, 9228, 14959, -593, 19084, 33620, -4368, -3550, 1323, 28102, 123556, 4022, -7011, -3896, 58868, -2815, 2301, 1499, 45889, 108723, -17890, 9747, 12621, -1184, 39085, 177, 2642, -8577, 38890, -7833, -4535, 20317, 27787, 1443, 17040, -1259, 4917, 3028, 78429, -4868, 25851, -2002, 239, -6002, 4337, 24441, 5359, -2580, 2489, 1216, -330, 1015, 4763, 71962, 17721, 311, -129, -8312, 59, 58126, 8447, 674, 2067, 4115, 57, 3309, 6536, -3077, 6704, 20284, -680, 390, -166, 48122, 225, 31413, -195, -191, 17450, 325, 21908, -147, -695, -6269, -106, -8141, 942, 17295, 19029, -146, -5412, 208001, 14262, -13, 313, -619, 695, 342, -19292, 396, 61743, -1366, 4359, 1390, 38153, -11661, 154, -312, 10237, -3951, 4320, 15285, 7465, 203, -345, -315, 190, 446, -668, -4764, -26, 8191, -8930, 2833, 6317, 3538, 37423, 62797, 18886, 1295, 10906, -1428, -27626, -240, -187, -8604, 1311, -284, 35633, 435, 2043, 90418, 14954, 1804, -6495, 45523, 8501, 5867, -393, 242, 2495, -15, -3256, -58, 3228, 23041, -6374, 46185, -570, 4351, 381, 13601, 1333, 25508, 958, 1315, -1374, 63536, -1477, -381, 57, -297, 1854, -5200, 17471, -34666, 237, 5289, 25177, -3258, 12494, 392, 40, 5627, 273, 793, 22201, 22038, -297, 45, -7631, -4607, -232, 59, -3698, -13672, 1386, 19090, -1447, 3676, 3274, -7356, 18493, -244, -2656, -2972, 144, 49, 13687, 915, -3720, -3107, 356, -3873, -972, -11347, -362, 11375, -1658, 1754, 28900, 29074, 36821, 144399, -5457, -14341, 6952, 99978, 50629, 17, 7724, 476, -300, -5822, 1031, 79999, 1848, 3197, 25561, -240, 6326, 79082, -513, 18883, 16136, -1764, 378, 1503, -1645, 884, 62033, 1052, 875, -4280, 49089, -6630, 37019, 93412, 10562, -45, 110974, -188, 9608, -158, -5941, -31, -733, 33661, -87, 32, -28, 248, 116, 154, 904, 332, 2207, 486, -795, 9904, -12586, 1749, 33193, 2144, 3742, 25687, 950, 3952, 48101, 110070, -560, 31574, -211, -1623, -84, -1234, -5481, -2692, 155, -1697, 75, 24960, -4122, -5468, 1067, 29256, -4043, -10959, -65, -1998, -1937, 74419, -339, -198, 18458, 422, 3391, -2354, 1664, -589, -1125, 253, 13348, -50, -25, 1627, 276} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-135, -178, -128, -97, -29, -55, -131, -14, -17, -142, -99, -94, -66, -91, -11, -93, -19, -96, -167, 10, -242, -272, -121, -21, -196, -3, -545, -238, -98, -111, -92, -40, -237, -289, -20, -9, -84, -49, -87, -104, -231, -14, -300, -71, -7, 2, -135, -265, -54, -50, -76, -187, -38, 16, -35, -96, -59, -148, -63, -87, -119, -47, -18, -29, -205, -193, -228, -96, -15, -129, -87, -114, -148, -14, -53, -130, -84, -109, -603, -137, -96, -45, -74, -66, -120, -239, -105, -219, -248, -143, -26, -243, -37, -313, -91, 1, -15, -200, -53, -85, -81, -56, -245, -193, -108, -157, 11, -101, -233, -100, -120, -101, -241, -48, -112, -76, -20, -9, -78, -205, -94, -86, -82, -165, -111, -86, -105, -81, -23, -134, -32, -95, -14, -47, -106, -28, -96, -96, -50, -108, -170, -30, -59, -117, -417, -42, -124, -5, -84, -80, 14, -98, -153, -289, -107, -99, -29, -17, -355, -130, -78, 13, -97, -99, -187, -261, -221, -167, -249, -93, -34, -318, -88, -385, -182, -134, -103, -31, -139, -44, -223, -150, -44, -21, -108, -23, -22, -237, -108, -256, -223, -8, -12, -88, -257, -403, -24, -29, -82, -550, -56, -114, -84, -384, -349, -31, -84, -70, -9, -234, -151, -113, -5, -234, -5, -1, -197, -241, -100, -231, -78, -59, -87, -477, -7, -250, -87, -100, -55, -27, -225, -186, -73, -96, -109, 28, -96, -144, -295, -238, -90, -135, -1, -142, -241, -34, -97, -21, -28, -100, -33, -43, -15, -50, -232, -135, -96, -115, -231, -114, -252, -147, -92, -233, -102, -237, -95, -98, -24, -125, -91, -26, -221, -238, -141, -37, -682, -167, -102, -101, -119, -104, -105, -31, -98, -263, -30, -60, -80, -180, 7, -92, -69, -59, -30, -47, -245, -50, -91, -136, -91, -119, -106, -121, 7, -78, -40, 5, -95, -43, -57, -245, -399, -113, -67, -34, -128, 19, -112, -131, -12, -85, -167, -257, -117, -127, -327, -246, -107, -18, -330, -95, -140, -92, -116, -137, -144, -70, -103, -141, -181, -56, -284, -151, -22, -90, -206, -30, -240, -108, -109, -89, -282, -18, -107, -93, -99, -39, -25, -240, -9, -110, -128, -241, -27, -229, -99, -104, -33, -88, -103, -251, -254, -114, -107, -105, -34, -133, -93, -4, -15, -83, -249, -152, -100, -143, -8, -241, -87, -21, -128, -111, -101, -77, -124, -32, -126, -93, -48, -105, -37, -57, -224, -34, -125, -214, -211, -278, -776, -56, -46, -35, -317, -363, -120, -25, -120, -129, -29, -94, -273, -122, -137, -130, -79, -78, -361, -97, -232, -246, -141, -102, -99, -90, -102, -333, -178, -83, -46, -403, -10, -276, -444, -187, -132, -461, -86, -50, -47, 0, -158, -102, -250, 15, -142, -96, -106, -105, -89, -26, -92, -106, -120, -133, -215, 14, -80, -247, -162, -30, -245, -93, -135, -322, -464, -14, -256, -95, -87, -104, -164, -28, -136, -87, -91, -91, -285, -109, -11, -115, -165, -8, -33, -139, -20, -135, -537, -128, -102, -235, -49, -70, -15, -100, -127, -85, -101, -119, -94, -97, -32, -135}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1935384832, 1406993920, 1732069376, 1142955648, 1569516544, 1671025152, 1887153280, 2103373952, 2079301888, 1191199744, 1251720064, 1766812928, 1928376448, 1927009536, 1659056384, 1193269120, 1318215296, 2142409088, 1120941056, 1381859456, 1553352320, 1323437056, 1868454144, 2023761536, 1610743680, 1597256320, 2049233792, 1324805504, 1598917888, 1776256896, 1606098304, 1193314304, 2139474688, 2146463488, 1572207232, 1561372928, 1541202304, 1442274688, 1531928832, 1907931392, 1648754944, 2117220480, 1762130176, 1894826112, 1837305472, 1803145728, 1095803904, 1753312384, 1356015232, 1174447232, 1467086592, 1820176128, 1418897920, 1605366656, 1536529024, 1412993664, 1868887296, 2092764928, 1627157760, 1671302784, 1270167808, 1725283968, 1718257536, 1947833856, 1891561600, 1594588800, 1213066240, 1299224576, 1852440192, 1556835328, 1600905344, 1284047360, 2083403264, 1823184640, 1219222400, 1809674112, 1092608896, 1243595904, 1192551424, 1183261056, 1110153344, 1373473536, 1145175552, 1192360192, 1445794304, 1119062016, 1162804864, 1826401152, 1139420288, 1596499328, 1294533760, 1568277760, 1225033728, 1314356096, 1768241536, 1513600640, 1725154048, 1811205632, 1173741824, 1597706112, 1214078592, 1386172672, 2036586880, 1398192640, 1628327808, 1678362368, 1737972736, 1351762816, 2063899264, 1368947328, 1457457664, 1729606144, 2078563584, 1239072768, 2072176000, 1735338752, 1181038336, 1782664064, 1590031744, 1155858048, 1218332672, 1143345536, 1890550400, 2118267392, 1231405952, 1146290304, 2051025920, 1620123008, 2104187904, 1109895424, 1465091712, 1704170112, 2120621312, 1208021120, 1464164480, 1749981184, 1669521152, 1908650752, 1310291840, 1241632640, 1112950528, 1255253120, 2059369856, 1186001792, 1222800000, 2133017472, 2038471936, 1464187520, 1387723008, 1769480320, 1614275584, 1171639296, 1702378368, 1226268288, 1697776128, 1293663744, 1247901056, 1211565440, 1117753728, 1516003328, 1299359872, 1497090304, 1535674368, 1353343744, 1117696128, 1177437824, 1287755520, 2040073984, 1638924032, 1605143168, 1320640640, 1570683008, 1763161600, 1793309696, 1660422784, 1543121280, 1196135040, 1555840256, 2092333952, 1074904832, 2031506048, 1876628096, 1710567936, 1464006272, 2105494528, 1097312640, 1111828608, 1968451584, 1474697216, 2049216128, 1162505088, 2018416384, 2114337408, 1308137856, 1469731968, 1559597568, 1842862720, 1501828992, 1292112640, 1810087040, 1131040640, 1395501056, 1185771904, 1374919552, 1120938240, 1974699904, 1456429056, 1762738432, 1647326208, 1154602112, 1172647680, 1443217664, 1239892096, 2039275520, 1144985856, 1727549440, 1302640768, 1669914752, 2068108160, 1242791040, 1535803776, 1122030080, 1393603456, 1691228160, 1574917888, 1471715712, 1964030336, 1795093888, 1365353472, 1507678976, 1235497216, 2112083712, 1335809664, 1577308288, 1794003328, 2024483712, 1074421632, 1413739648, 1211627392, 1242118784, 1601037568, 2120485376, 1589118720, 1558476032, 1267645312, 1649657600, 1573712384, 1533064832, 1177206656, 1319809024, 1447357824, 2028777216, 1311616640, 1395766912, 1214860160, 1781887616, 1559023104, 1592125312, 1700689024, 1208891520, 1547769216, 1361625856, 1142336256, 1482740096, 1218882688, 1857645056, 1812874496, 1266629120, 1076834048, 1894387840, 1998672896, 1227139840, 1213316736, 1082381312, 1704273152, 2039447424, 1267313408, 1309038592, 1495476608, 1196261760, 2053421056, 1162619392, 1260923904, 1670354560, 1290903296, 1750221696, 1238229376, 1210157824, 2146626304, 2108944896, 1243044992, 1828825088, 1703450624, 1090142592, 1803371264, 1883828352, 1538153216, 1612312704, 2144224000, 1615042816, 2115618432, 1373495808, 1780607616, 1451504128, 1521360128, 1663779456, 1705067392, 1509197824, 1694091776, 1135126912, 1597525760, 2080331904, 1159239552, 1338932480, 1663020032, 1468677888, 1132585856, 1127228800, 1352793216, 1544737152, 1277890944, 2005752576, 2107733504, 1197308160, 1466292736, 1718245120, 1577722496, 1682062848, 2088965376, 1296136448, 1482431872, 1172127360, 1186611584, 1176847104, 1198465920, 1692120192, 1681681792, 1933383552, 1336840704, 1714714240, 1143113344, 1449839872, 1921515008, 1902844544, 1512035200, 1881492992, 1940329216, 1219711616, 1189300480, 1887742464, 1494758144, 1950974592, 1198804096, 1935709312, 1928404864, 1192095872, 1757414784, 1108520832, 1541721600, 1321912704, 2055864960, 1556866688, 1730976512, 1701102720, 1529753728, 1286174976, 1226106880, 1265422720, 1548987008, 1172750592, 1598655744, 1696926336, 1205823872, 1211457536, 1436389888, 1797498624, 1717211648, 1952708224, 1715505664, 1098584960, 1337570048, 1855718016, 2094142720, 1738475136, 1728831360, 1566319872, 1239360000, 1950909440, 1819722880, 2146306304, 1341678080, 1560917888, 1570070656, 1235037184, 1687308544, 1554293376, 1164548224, 1844247808, 1270348416, 1276621568, 1146320384, 1081461888, 1402611456, 1939436800, 1794494592, 1870009984, 2070936448, 1535119744, 2103877760, 1316090368, 1288064256, 1663875072, 1112628224, 1075280000, 1289403520, 1186861952, 2108428160, 2093551360, 1301347200, 1477788672, 1101058432, 1462146048, 1188007936, 1179580928, 1564467968, 1739971968, 1115494016, 1284719232, 1128636032, 1268811136, 1201507200, 1314388864, 1226484864, 1181538048, 1099657472, 1449211648, 1315973248, 1655816448, 1836452992, 1444894720, 1200372224, 1654394752, 1666859520, 2050502528, 1484080000, 1335488256, 1300883584, 1666074112, 1601044480, 1857125888, 1238896768, 1795509632, 1142731136, 1513649280, 1526213760, 1217646848, 1339476096, 1258308224, 1788337536, 1300001664, 1569950720, 1455998592, 1462062720, 1766220544, 1555741952, 1602995200, 1533185152, 1174885632, 1810978944, 1096652928, 1680080000, 2061832320, 1273904896, 1919991168, 1093690880, 1153426048, 1407970560, 1737884800, 1557300096, 1345495680, 1323491072, 1288765568, 2027484032, 1436412288, 1407233408, 1291820800, 1359596032, 1204546688, 1216699520, 1626359808, 1624153216, 1509543680, 1795294464, 1437007360, 1242632192, 1832364672, 1530925056, 1507896576, 1415535360, 2001534080, 1279494144, 1440333696, 1090697984, 1435327232, 1350464512, 1386533376, 1688921856, 1356171264, 1584107648, 1168824192, 1397709056, 1214416384}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {2561, 75, 583, 1089, 916, 4197, 636, 1025, 1172, 245, 346, 6105, 4088, -1265, 298, 1284, 397, 551, 1531, -125, -582, 971, 427, 1785, 1454, 583, -887, 1215, 2174, -1994, 3185, 2647, -56, 6410, 1454, 1712, 2569, 547, -240, 3096, 969, 3003, 570, 4096, -400, -470, -262, -69, 3455, 51, 930, 2529, 540, 1358, 319, 647, 3644, 637, -1375, -114, 2288, 1800, -1192, 2619, 2192, 858, 2616, 7247, -1107, 2189, -1437, -3522, 3272, 2235, -2473, 371, 25, 3006, 508, 1960, 924, -856, 920, 3568, 1283, 4155, -321, 1933, -192, 410, -527, 2615, -843, 6333, -35, 1218, -124, -371, -128, -1316, -434, 3117, -2441, 2276, 180, 1003, 4653, 2389, -697, 1655, 475, 311, 8097, 2160, 399, -206, -1976, 2551, -2025, 1454, -348, -6, 1318, -389, -116, 1056, 1078, 359, 2180, 3222, -135, 113, 712, 282, 955, 666, 2609, 1601, 5743, -553, 288, 1136, -729, 1638, 2258, 1525, -297, -43, 661, 1285, 629, -159, -9, 1934, 848, 4546, 1526, 187, -1523, 2386, 805, 1213, -11, 3832, 881, 1074, 2574, -202, 865, 1812, 74, -47, 8999, 738, -118, 934, 1275, -3184, 969, 887, 532, -271, 606, 339, 510, 2614, 1432, -2452, -770, 1943, 1848, 97, 2149, 2999, -1640, -1324, -427, 1142, -414, 3458, -1229, 413, -353, 1128, 1313, -239, -595, 2805, -1920, 1539, 4816, 1602, -214, -339, 772, 1906, 2185, 1751, -1298, -110, -272, 1638, 1834, -203, 454, -853, 4736, -2141, -323, 2797, -132, 396, -152, -233, 1340, 7723, -142, 1836, 662, 1058, 33, 625, 4312, 3529, 3495, 2135, -1130, 3437, 4155, 796, -2047, 747, 94, 2261, 650, -808, 406, -4519, 714, 1672, 4832, 1258, 1881, 290, -1273, 3235, -734, 1892, 1558, -953, 5049, 138, 2114, 243, 2346, -19, 1344, 785, 437, 1950, 2042, 1965, 2945, 472, 2550, -23, 2343, 324, -893, -1121, -1001, -320, 1026, 1498, 777, -188, 3002, 2711, 5703, -1368, 769, 1420, 1901, -1128, 315, 611, 2797, 522, 2047, 5495, 1409, 346, 1773, -558, 518, 331, 3813, -582, 3588, 1213, -987, 669, 3950, 739, -2939, -655, 952, 1856, 575, -593, -355, 262, -1099, 2162, 2176, 2832, 1221, -271, 1647, 2160, -1229, 75, -1100, 1168, 642, 709, 467, 650, 1409, -896, 729, 1764, -497, 498, 1395, 2045, 2615, 135, 760, 605, 413, 554, 27, 1368, 1507, 809, -115, 329, 5837, -1863, 1506, 3123, -803, 1041, 1198, 129, -691, -2114, 984, -559, 3587, 1481, 997, 5505, 3707, 2532, 877, 1144, 1677, 2369, 1438, -1574, -54, 1908, 1087, 627, 4273, -1157, 1597, -1983, 182, -467, -273, 448, -582, 520, 1972, 1085, 1634, 2144, -1118, 4814, 687, 3308, 49, 1487, -279, 6231, 1207, 4368, -527, 1620, 1011, 345, 3277, 388, -394, 622, -174, -960, 2329, 3709, 2669, 5779, 1149, -733, 4194, -123, 1114, 300, 2991, -123, 978, 1953, -563, 697, -873, -280, -447, 4026, 2359, 1481, 1459, 5016, 737, -1735, 551, 573, 2776, 1398, 1611, -723, 4965, 4657, 774, -254, -1023, -1888, 76, -134, 240, 3159, -15, 600, -296, 95, 1159, -877, -994, -1787, 804, 191, 266, 1767, 2521, 2968, 570, 1464, -213, 811, 1527, 2434, 713, 437, 446, 793, 1686, 1536, -161, -2090, -3485, 159, -206, 818, 592, 1795, 590, 104, 70, 2302, 170, 950} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-6, -6, -6, -10, -9, -7, -5, -8, -8, -7, -7, -9, -9, -9, -6, -9, -6, -7, -7, -7, -7, -6, -7, -8, -6, -8, -7, -9, -8, -6, -6, -5, -6, -7, -8, -6, -7, -7, -8, -9, -8, -7, -10, -8, -9, -8, -7, -8, -6, -7, -8, -12, -8, -7, -5, -9, -12, -8, -6, -6, -4, -6, -6, -8, -6, -6, -5, -8, -7, -9, -8, -7, -8, -9, -4, -9, -8, -6, -5, -8, -6, -8, -7, -10, -8, -7, -7, -7, -8, -7, -6, -7, -8, -8, -8, -8, -8, -7, -7, -8, -7, -7, -8, -7, -7, -8, -9, -6, -8, -8, -8, -9, -8, -6, -7, -9, -7, -10, -7, -6, -6, -9, -7, -7, -5, -10, -6, -8, -6, -7, -9, -7, -6, -6, -6, -7, -9, -6, -5, -7, -6, -7, -5, -8, -8, -7, -7, -10, -6, -10, -8, -9, -8, -9, -8, -8, -9, -4, -10, -11, -9, -7, -7, -7, -8, -7, -7, -9, -8, -6, -7, -8, -8, -7, -9, -7, -7, -6, -8, -6, -11, -8, -8, -7, -10, -6, -8, -8, -5, -9, -8, -6, -9, -6, -7, -5, -9, -7, -8, -7, -6, -7, -5, -9, -8, -9, -8, -7, -7, -7, -8, -8, -8, -8, -4, -7, -9, -5, -8, -7, -9, -7, -7, -10, -7, -8, -10, -7, -7, -8, -7, -7, -8, -6, -7, -7, -9, -8, -6, -6, -5, -7, -7, -10, -7, -7, -6, -8, -8, -5, -8, -8, -9, -7, -6, -7, -7, -5, -8, -9, -9, -8, -9, -7, -8, -7, -6, -9, -5, -8, -8, -8, -6, -7, -5, -8, -9, -8, -8, -6, -7, -8, -7, -8, -7, -7, -4, -6, -8, -6, -8, -9, -6, -7, -8, -8, -9, -8, -7, -7, -6, -9, -8, -6, -5, -7, -9, -8, -6, -9, -6, -8, -8, -8, -11, -9, -9, -5, -8, -6, -6, -5, -8, -6, -6, -10, -8, -10, -5, -7, -8, -7, -8, -5, -6, -7, -7, -6, -8, -8, -7, -6, -7, -6, -6, -5, -5, -8, -8, -8, -7, -8, -7, -6, -9, -9, -7, -8, -8, -6, -6, -9, -6, -8, -8, -8, -11, -7, -8, -7, -9, -8, -8, -7, -5, -8, -8, -9, -9, -8, -6, -7, -7, -9, -8, -7, -7, -9, -8, -11, -8, -8, -9, -7, -8, -8, -9, -7, -7, -6, -9, -8, -5, -8, -8, -7, -7, -6, -6, -7, -7, -6, -7, -8, -7, -5, -7, -7, -8, -8, -5, -7, -11, -8, -7, -7, -7, -8, -6, -7, -6, -8, -7, -8, -9, -9, -8, -8, -8, -6, -7, -7, -7, -6, -4, -6, -5, -9, -7, -8, -7, -7, -8, -7, -10, -7, -7, -8, -8, -7, -7, -7, -9, -7, -6, -8, -6, -8, -6, -10, -6, -9, -8, -7, -6, -6, -6, -7, -6, -7, -9, -6, -7, -7, -8, -6, -8, -8, -7, -7, -6, -8, -6, -5, -7, -9, -9, -9, -6, -8, -7, -10, -8, -7, -8, -9, -9, -6, -8, -7, -7, -7}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1958530560, 1353431552, 1821018368, 1373325824, 1077597056, 1911829760, 1876154368, 2020922752, 1148439296, 1238810752, 1100929664, 1712997888, 1441586816, 1101525120, 1689489152, 1509467776, 1402376704, 1623777024, 1295982336, 1075654144, 1227165952, 2035755648, 1262985984, 1117920128, 1094222208, 1375373312, 1242492672, 1334112896, 1418774528, 1926178432, 1948313984, 1424810624, 1247737728, 1276390016, 1496580224, 1457199232, 1596299648, 2067963008, 1075482240, 1219682432, 1498294272, 1781936896, 1656225792, 1417855232, 1638296448, 1735724672, 1302754560, 1377418880, 1295348608, 1824372864, 1729990528, 1169207296, 1234684416, 1124729856, 1674068992, 1681758592, 1430773376, 1276838400, 1262044928, 1241175680, 1971289856, 1911152128, 1146275200, 1157596160, 2029885952, 2015929728, 1163965952, 1861098624, 1591977984, 1198702208, 2035540352, 1102874112, 1743024512, 1877483648, 1527122816, 1910363392, 1223806464, 1268558720, 1212704512, 1175304192, 1532656128, 1149027840, 1847257472, 1695426816, 1193351040, 1777824768, 1138463488, 1784949504, 2027634176, 2139571968, 1238980608, 1198751488, 1381211520, 1363694208, 1470157568, 1782102656, 2021399552, 1898161792, 1236219136, 1990634752, 1607073152, 2009595520, 1074183040, 1646363008, 1508753408, 2101857664, 1120451968, 1238620288, 1151457280, 1517608320, 1340868864, 1463884160, 1758424704, 1424458240, 1923416576, 1090980224, 1829234304, 2040020864, 1865625472, 1967291264, 1215726336, 2101893376, 1364622720, 1549158656, 1531327232, 1413066240, 1305291904, 1671029632, 1611011712, 1575870208, 2128285696, 1112243328, 1788133376, 1227096576, 1646012160, 1484729216, 1597142400, 1607351680, 1179299072, 1117086336, 1509778304, 1863810048, 1362622464, 1632398592, 1599015296, 1995094144, 1498403584, 1089443328, 1732285440, 1406439552, 1475532160, 1466812416, 1484057728, 1433578240, 1800092800, 1143953792, 1131888896, 1252080256, 1234201472, 1506525824, 1969699072, 2082255360, 2051142400, 1433466880, 1209788800, 2050952320, 1419344512, 1719281536, 1107061504, 1229505536, 1443300096, 1178238720, 1668285184, 1330078720, 1256487680, 1968470272, 1541085824, 1381814528, 1680550272, 2056858368, 1882738176, 1839393024, 1482402432, 1679406720, 1263584256, 2033740032, 1334306560, 2068147072, 1426258560, 1982900992, 1395176320, 1213824768, 1593651968, 1812895360, 2132176768, 1846579456, 1518680832, 1708272128, 1668396032, 1257358976, 2037499648, 1822994688, 1561298048, 1138983808, 1086238848, 2088386048, 1327631872, 1203933056, 1619632768, 1602974720, 1122233088, 1958880256, 1597193344, 2081533312, 1712903936, 1616042880, 1594956928, 1460486016, 1404422400, 1126206208, 1375558272, 1138188544, 1119362944, 2031344768, 1344147072, 1823467904, 1128651264, 1406746624, 1748996608, 1276175488, 1208870528, 1137749376, 1334425856, 1095111040, 2058411008, 1341022848, 2034659456, 1469435008, 1764428416, 1309828096, 1354125312, 1748814976, 1258276736, 1935602560, 1927067904, 1598595456, 1430825472, 1565027584, 1165819776, 1421382656, 1959848960, 1913606656, 1163705728, 1082557440, 1079248384, 1880391424, 1948583296, 1109975936, 1914593792, 2054993920, 1364631680, 2029823360, 1474700672, 1306697984, 1580952832, 1866877056, 1967124224, 1138092928, 2018881408, 1269826944, 1609583616, 2024144000, 1773690112, 1810316672, 1692839296, 2074929408, 1857287296, 1702322816, 1603770752, 1499998080, 1139195776, 1705893760, 2010390912, 1389395712, 1538516224, 1931861376, 1533804032, 1325061760, 1144669312, 1697552256, 1918610944, 1853573376, 2096844800, 1832894464, 1202416512, 1274082560, 1441820928, 1783133824, 1850149376, 1332343936, 2138208256, 1249309312, 1961492608, 1993234432, 1524084736, 1781978496, 1177038592, 1183710080, 1171391488, 1915476480, 2079323392, 1541646720, 2070936448, 1317619968, 1548542720, 1513621376, 1543734144, 1756388864, 1263419136, 1691009920, 1807041152, 1079203840, 1554260480, 1105327744, 1155191040, 1434578048, 1782341632, 1307330176, 1397384576, 1420511104, 1167421184, 2035101440, 1222640640, 1107163008, 1702461824, 1381517056, 1196011776, 1112617728, 2116096000, 1242046848, 1082408576, 1132088832, 1154035200, 1125916928, 1598929152, 1475919616, 1110094848, 1359179264, 1794611456, 1685836416, 1756597504, 1218897536, 1938512384, 1215977344, 1487481728, 1939421440, 2139131904, 1315625600, 1886591232, 1989449216, 1210022400, 1849412224, 1141111552, 1113484672, 1302456320, 1083874816, 2053544192, 1257602560, 1622370304, 1314449792, 1508438656, 1691535232, 1188332416, 1374080000, 1920726144, 1888553344, 1135952256, 1912759680, 1989045376, 1904832128, 1287572992, 1950090240, 2023473920, 1490397824, 1260152576, 1957673984, 1890267904, 1844456064, 1391933184, 1205504128, 1709937664, 1112123904, 1871739648, 1934085248, 1339570944, 1580382336, 1266593280, 1852771072, 1326969728, 1125343360, 1517505664, 2109907584, 1102240640, 1425080960, 1213713152, 1380565504, 1261005440, 1651858688, 1871491072, 2136793088, 1549858176, 1603489408, 1110463744, 1771415680, 1662457472, 1561230592, 1435007616, 2012406016, 1332946688, 1562305920, 1254845568, 1317379968, 1532091904, 1222139904, 1787763840, 1513180416, 1828963584, 1091008768, 1542772992, 1118854272, 1594029568, 1420052352, 1269127680, 1739939072, 1658902656, 1341014144, 1385025792, 1177112704, 2088607616, 1129621376, 2064586240, 1591302528, 1235076608, 1444525952, 1370164736, 1272074112, 1130594816, 1080374144, 2053534592, 1208823936, 2002923776, 2110918656, 2020041856, 1741901696, 1945024768, 1221814656, 1319497088, 1651468672, 1310797696, 1725964672, 1637690240, 1090843008, 1436308480, 1822147840, 1589175552, 1288518016, 1760038400, 1566974208, 1567031680, 1306703744, 1117024512, 1285963520, 1840103552, 1398154368, 2066450944, 1226245248, 1190719744, 1271057792, 1623880064, 1139637376, 1558801536, 2067116544, 1130315520, 1837131136, 1878596224, 1764836608, 1471193856, 1204264320, 1193413248, 2021844864, 1116988032, 1783745408, 1131950208, 1157593216, 2036143360, 1635129984, 1688172928, 1774171136, 1586757248, 1370576000, 1223708800, 1080364928, 1357468032, 1124550016, 1559216256, 1653226496, 1079483264, 1519661184, 2078692480, 2094488704, 2064691712, 1826947328}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {32856, -3203, -3565, -6084, 47138, -3079, -11151, -5990, 24416, -2115, 12877, 16481, -10885, -6170, -230, 3426, -7078, 2428, 5434, -4610, 15352, 38825, -5265, -11892, -6426, 43510, -5876, -5392, 24168, 17470, 21652, 15705, 7289, 17543, -8994, 38022, 1254, 7028, 7590, 2172, -6289, 22523, 84694, 21203, 3431, 42752, -6690, -529, 6329, -12382, 37878, 5388, 8506, -26220, -13159, 2711, -5139, 13736, -9541, 13010, 9938, 4467, -13315, 21663, 24318, 48485, 25332, 4126, -11668, -2343, 46565, -2871, 8434, -36281, -6053, 40307, -2163, 2603, 13304, -856, -2410, -1357, 43957, 15808, 9715, 19044, -10907, 5739, -8651, -951, -146, -7624, -876, 13441, 15745, 7557, 41949, 12162, -95, -9900, 179259, -7555, 86039, 13977, -7074, -4777, 4506, 15738, 61323, -16362, -11289, -338, -2243, 16096, -11692, -41996, -1964, 10395, 1778, 57451, 5602, 59469, 2284, 22009, 41728, -15773, 12848, -23811, 17162, -5403, 1994, -2888, 95970, -15956, -19861, -4394, 1710, -20198, 29889, 12007, -2745, 19836, 408, 31001, -2262, 3017, -18133, -25, 5227, -6513, -247, -8608, -5280, -13719, -3946, -8106, -8878, 27391, 10219, 96, -10346, -1312, 108774, -5879, 34562, 38789, -8031, -5968, -1616, 86129, -6208, -6623, 6054, 49169, -2530, 4233, 58085, -4473, 15466, 33099, 120817, -8597, 34367, 9871, 16924, 11976, 15933, -3124, -10550, 12925, -12316, -7141, 81227, 31219, 3052, 4942, -888, 36744, -10824, 11332, -12927, -7947, -10174, -3833, 10524, 15639, 100897, 1505, -6688, 21238, 5055, -26091, 15850, -1451, 37050, -6067, 3514, 35187, 801, -6660, -4649, -703, 31613, 56957, 53097, -10794, -1020, -5125, -5790, -12560, -7079, -3912, -1233, 52132, 22724, 3699, 8502, -708, 10273, 22445, 33438, 8337, 4659, -8357, 22328, -17533, -5284, -5814, 952, 40541, -1044, -2869, 1918, -6474, -10752, 5336, 2331, -2657, 6003, 21174, 3089, -4058, -13348, 3585, -7562, 15954, -11237, 29675, -292, -5538, 10601, -12084, 28849, 43403, 1686, 10667, -9382, -6026, -25574, 8733, -10739, 1250, 27506, 65681, 3414, 7784, -3602, -6733, 23, -3209, -4258, 12971, 20030, 13795, 27, 6246, -4137, 8014, -2278, -130, -4455, 16204, 217, -94, 28045, 196, -100, -6693, 5277, 8469, 102247, 8961, -7326, -1732, -5568, -11031, 28247, 61099, -9913, 25359, -3626, -2630, -12808, 27793, 2849, 6413, -4304, -6848, -12989, 26418, -8893, 9472, 9955, 22910, 22320, 22359, -3120, 13618, 104769, -11963, 45725, 9446, -4532, 64241, 37372, 25235, 42149, -915, 6474, -477, 6099, 24945, 34744, -1462, 22495, -1700, -5757, -247, -15889, -1304, 20863, 16653, 2322, 8642, 35943, 30482, 5649, 96, -5164, 5974, 21387, 22824, 169315, -14830, 25979, -4694, -8227, -11800, 20613, 3289, 17233, 58930, -15290, -518, -9986, -9863, -2435, 15211, -781, -3733, 109700, -14913, 10306, 55217, 14128, -2200, 20538, 16104, 4148, -3055, 10406, 30683, 84045, -10955, 9483, -1743, 42647, 6665, 5384, 18183, -12972, 44041, -11171, -9832, 46848, 30944, -2295, 15690, -7021, 22107, 1781, 14051, 17190, -1873, 3438, 4292, 19343, -557, 59743, -1226, -5828, 2512, 1996, 22719, 5842, -10389, 9261, -16379, 24200, -3308, 21599, 56549, -5051, -8431, -7762, 5882, 7792, 8408, -2596, 2550, 25040, 3926, 9139, 22143, 9361, 37674, -9401, 24355, 26899, 59800, 6865, -3098, 18888, -663, 31353, -2538, -3250, -10637, 5114, -5322, 6886, -33479, -580, 27065, 82923, -8527, 48226, -2675, 1661, -2144, 94, -17042, 20689, 31439, -8655, -7130, 47763, -35139, -6967, -3439, -1902, 152161, -5235, 28987, -3695, -16942, -2257, 15368, 25020, -9401, -12328, -2666, 4712, -10118, 39548, -27736, -15323, 39668, -13617, -4747, 28241, 29702} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-256, -66, -6, -73, -191, -149, 2, -25, -284, -129, -80, -231, 8, -6, -78, -75, 0, -31, -83, -29, -112, -323, -14, -2, -14, -309, -40, -23, -287, -152, -253, -150, -42, -213, 7, -167, -132, -81, -59, -113, -32, -249, -408, -242, -170, -255, 2, -50, -85, 1, -241, -55, -101, 23, -20, -89, 6, -101, 1, -105, -56, -45, -63, -251, -230, -309, -231, -43, 29, -107, -275, 12, -83, -30, -23, -297, -63, -110, -113, -10, -17, -102, -296, -247, -88, -254, 7, -33, -27, -104, -39, -5, -35, -237, -130, -177, -245, -90, -124, -44, -737, -4, -286, -164, -53, -55, -31, -230, -317, -42, 14, -129, -47, -88, 2, 45, -23, -52, -115, -221, -31, -388, -87, -144, -308, -43, -123, 11, -214, -112, -60, -48, -530, 17, 30, -3, -149, 20, -214, -143, -53, -79, -85, -147, -114, -69, 39, -33, -214, -70, -78, -7, -20, -12, -37, -54, -15, -253, -79, -28, -23, -128, -360, -64, -245, -360, -65, -17, -15, -492, -41, -66, -56, -308, -127, -131, -316, -13, -98, -268, -495, -39, -273, -54, -96, -74, -81, -19, -1, -122, 20, -40, -448, -261, -127, -49, -13, -244, 3, -143, -10, -9, 2, -53, -116, -66, -390, -20, -18, -84, -57, 8, -101, -76, -236, -33, -129, -268, -70, -3, -10, -41, -278, -214, -302, 9, -48, 4, -26, -19, -6, -59, -27, -232, -257, -48, -73, -104, -78, -250, -305, -113, -72, -8, -252, 32, -7, -59, -25, -279, -42, -70, -100, -99, -27, -45, -113, -48, -114, -149, -33, -21, 19, -48, -5, -156, 6, -253, -29, -14, -53, 10, -236, -261, -35, -121, 4, -15, 49, -181, -68, -125, -244, -367, -64, -133, -34, -85, -127, -16, -80, -108, -179, -68, -102, -33, -104, -161, -56, -18, -3, -69, -67, -192, -291, -159, -27, -72, -136, -157, -332, -58, -64, -38, -65, 7, -239, -318, -69, -261, 12, -19, -58, -245, -80, -77, -28, -29, 1, -168, 17, -147, -33, -240, -183, -229, -69, -155, -437, 9, -242, -101, 5, -337, -275, -258, -295, -107, -98, -55, -102, -263, -250, -76, -177, -91, -32, -144, 5, -34, -218, -131, -165, -120, -273, -197, -72, -96, -53, -56, -265, -251, -270, -4, -267, 1, 2, -13, -252, -86, -227, -300, 23, -87, -91, 7, -121, -126, -131, -30, -843, 48, -67, -277, -101, -25, -247, -45, -53, -10, -135, -253, -328, -2, -80, -20, -436, -92, -154, -211, 6, -287, -28, -86, -342, -280, -64, -240, -82, -244, -116, -90, -128, -82, -59, -61, -77, -112, -355, -52, -37, -112, -120, -250, -126, 56, -118, 24, -111, -33, -121, -372, -49, -41, 0, -40, -122, -56, -13, -73, -215, -87, -130, -251, -52, -227, -50, -258, -226, -327, -106, -107, -228, -92, -281, 27, -22, 27, -68, -11, -32, -21, -14, -181, -294, -68, -391, -76, -34, -56, -97, 48, -110, -292, -79, -73, -307, 63, -2, -73, -4, -782, -49, -259, -16, -9, -19, -115, -196, 33, 9, -22, -106, -4, -278, -2, 6, -317, 5, -31, -251, -265}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {2111558144, 1390952576, 1785317120, 1182632448, 1247222144, 1641110912, 2141438848, 1186571648, 1679514880, 1655174400, 1487063936, 1088381440, 1795820416, 1322962560, 1763169408, 1136596480, 2134925696, 1784162048, 1108655232, 2037741824, 2109482880, 2100714880, 2023878784, 1361843840, 1397828480, 1223628544, 1418638208, 1414634368, 2118977664, 1946311296, 1936368768, 1304026112, 1198805632, 1810635136, 1572724352, 1176826624, 1311926272, 1813619584, 1314581504, 2043259648, 2062072192, 1193712768, 1384966784, 1667395072, 1635837568, 1845959680, 1859830016, 1887600000, 1106542848, 1126318848, 1205841792, 1186473344, 1503704320, 1160833280, 1084656128, 1309796608, 1350893696, 1670059392, 2050513024, 1477020800, 1076866432, 2021286784, 1287268096, 1161294464, 1149586688, 1157754496, 1863188352, 1152644864, 1613770368, 1836850560, 1685325184, 1499521152, 1639413120, 1797465728, 1388981504, 1493157632, 1442752640, 1218882048, 1695567616, 1138351616, 1187626624, 1094240128, 1808632320, 1327717632, 2006150784, 2078681344, 1087563776, 1871202560, 1218393984, 1892373248, 1403897984, 1970636032, 1606961792, 1548514304, 1372942976, 1932175232, 1920811520, 1108739840, 1881373056, 1329449728, 1171905792, 1877847552, 1156615808, 1362483712, 1423249664, 1750108160, 1245783936, 1611557760, 1296253184, 2057059712, 1663143296, 1314073216, 1384208128, 2132915072, 1327101440, 1741510400, 1152777472, 1676106112, 1452591360, 1124817152, 1232403840, 1978830464, 2019749248, 1474836864, 1583932416, 1442276480, 1341545984, 1382079872, 1499546752, 1769251200, 1978942976, 1532064640, 1226068224, 1403496320, 1188203520, 1849271680, 1409443456, 1179655296, 1755421952, 1147024768, 1250300928, 1455671040, 1198689024, 1282127616, 2010967808, 1866926080, 1264880896, 1297375360, 1687107072, 1158406656, 1076108544, 1412651648, 2027645696, 1260300288, 1485387264, 1488229760, 1250172800, 2132054784, 1109261824, 2073353088, 1397423360, 2121982976, 1741517312, 1436204544, 1327570432, 1622636800, 1514671488, 1414070016, 1378574720, 1787218944, 1157223552, 1334172160, 1353542272, 1332955648, 1446312448, 1968609152, 1193517056, 2021132544, 1145987584, 1788278400, 2077807360, 1695940992, 2042525312, 1113467136, 1130537600, 1897465472, 1552795904, 1826655872, 1735458432, 1808204800, 1474226816, 1338567808, 1359330688, 1488092672, 2093378176, 1348743424, 2135307008, 1677533056, 2068270976, 1506696576, 1714369024, 1136220288, 1806489344, 1151036800, 1944327296, 2071020928, 1598976256, 1852885248, 1505518208, 1767447680, 1204482432, 1471611904, 1424174976, 1666943488, 1850801024, 1512587648, 1713957760, 1715263488, 1846878080, 1511971712, 2136498688, 2025217920, 1240398976, 1904538752, 1371594240, 1322206336, 1766108416, 1647948032, 1906273408, 1279171584, 1923530240, 1497740928, 1873147264, 2033901184, 1966770560, 1225570944, 1286844288, 1368378240, 1954612736, 1272380032, 1471375104, 1642651776, 1321832832, 2098137600, 1531941760, 2144598784, 1941309440, 1594348928, 2079840640, 1438130688, 1655508992, 1375105152, 1366816000, 2065804544, 1283088768, 1382538240, 1625376768, 1398773248, 1729905920, 1198320512, 1877798016, 1874692480, 1964415872, 1385671808, 1721987968, 1755730304, 2137442176, 1722055552, 1629372928, 1799590528, 1721074560, 1183450112, 1489215360, 1577840512, 1224240128, 1386625920, 1082177536, 1490565888, 2042550400, 1698689920, 1571303040, 1163301760, 1144369024, 1849277312, 1914066688, 1471182976, 1339513472, 1579882368, 1166394240, 1123826688, 1160639232, 1154363904, 1200980352, 1365458560, 1383195264, 1215818752, 1286087168, 2024132352, 1418967808, 1666620160, 1923578112, 2026809984, 1112533120, 1538534528, 1207368320, 1492070016, 1664036480, 1775980288, 2044151552, 1188418304, 1979230336, 1547639168, 1375362560, 1841061376, 2057734016, 1126050176, 1583916672, 1172125312, 1401939456, 1689120640, 1620310528, 1908849792, 1154840960, 1651388544, 1752665728, 1546854528, 1101490304, 1226359040, 1157633792, 1413819904, 2043638656, 1470462720, 1289019264, 1269799168, 1172619008, 1327496704, 1419030400, 1564492160, 1672753792, 1471289216, 1801090432, 1986749696, 1890870656, 1113484928, 1820621696, 1102254080, 1528680320, 1505670784, 1618019328, 1950957056, 2133698304, 1511517696, 1922781824, 1751081728, 2024435840, 1088457472, 1284226944, 2128034816, 1196348032, 1214984576, 1713960448, 2002781184, 1150694144, 1424643456, 1397248256, 1674928384, 2107687552, 1478770048, 2002500480, 1243067904, 1618045568, 1653528192, 1259097216, 1462144128, 1855778688, 1791100416, 1909102848, 1117757568, 1254571136, 1384353024, 1402711808, 1152559104, 1309726976, 1417103104, 1835704064, 1708550400, 1199905280, 1094611072, 2011630464, 1101470080, 1099299456, 1127309312, 1095144704, 1914985728, 1412725888, 1259301888, 1255555456, 1365420032, 1147984256, 1885027712, 1748621952, 1189596544, 1232807168, 1887747200, 1952053120, 1139400960, 1345378432, 1704687104, 1843908864, 1929879296, 1951940096, 1474640384, 1218699136, 1719739136, 1207577856, 1442065792, 1264185216, 1698811648, 1116149248, 1870798720, 1138809472, 1542651648, 1168519936, 2044240768, 1382377600, 1370270208, 1533588608, 1283777024, 1116082816, 1678786048, 1930655232, 1241362048, 1612463104, 1964033664, 1903388288, 1535413760, 1610343808, 1803049600, 1192169088, 1271979008, 1475196288, 1541236736, 1208288384, 1362862080, 1577933696, 1179844736, 1345973248, 1245704576, 1851825152, 1156811392, 1234500992, 1501009920, 1206961408, 1160516096, 1825478272, 1887543680, 1912532992, 2138286208, 1664616064, 1848322048, 1301622144, 1761688576, 1246867968, 1748720768, 1577849472, 1298318720, 1637295232, 1088210048, 2097963008, 1516621056, 1589198720, 1847650688, 2115714304, 1570111616, 2129711872, 1630819584, 1715848448, 1336519168, 1374552704, 1486126336, 1184434176, 1984173568, 1278828416, 2029652864, 2128028928, 1974174592, 1391572480, 2001786496, 2138631424, 1322021760, 1079418752, 1928362240, 1747534080, 1671828736, 1286524416, 1603902464, 1270260608, 1246076160, 1317200512, 1573764864, 1946341888, 1310958464, 1688953088, 1854469376, 1929218176, 1610597888, 1695838720, 1535410560, 1262290048, 1220898944, 1231891584, 1308920320}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-443, 1288, 34, 1704, 1805, 1748, -255, -808, -1027, 1212, 122, 1498, -683, -1138, -634, 373, 2617, -1855, 418, 43, -582, -907, -467, -114, -1444, -3115, 1858, -430, -342, 2407, 6, 2865, -1081, 2315, 1072, 2221, 1222, -90, 1085, -1236, 1532, 2460, 1008, 2453, 5584, 267, -349, 4526, 757, 1927, -1432, 22, -392, 2845, 2334, -3777, -153, -882, 510, 1718, -418, 2610, -146, 1586, 2311, -258, -13, 1436, 664, -140, -1006, -727, 1703, 1724, 101, -865, 1280, 1180, 236, -264, -160, -1521, 809, -542, 459, -1244, -1872, 4050, 1007, 1634, 1517, 1850, 597, 535, 1924, -3579, -783, -1844, 2915, 367, 307, 1420, 1462, -1788, 1809, 1086, 2161, 2230, 723, -1433, 2029, -326, 81, -430, 1320, 53, -102, 271, 885, -953, -747, -896, 621, 1592, 1181, 2139, -700, -1286, -369, -57, 1621, 23, 940, 3885, -182, 503, 812, -820, 1747, -596, 993, -212, 412, 559, 248, -3670, 437, 3347, 4102, -303, 3002, 3596, 683, 1138, -937, 23, 469, 790, 823, 702, 1088, -175, 1606, -959, 437, -1244, 1945, 537, 447, 2225, -392, 358, 18, 683, -359, -854, 293, 5419, -3306, 5186, 1780, 1491, 1692, 334, 2666, -933, 721, 733, -2032, 412, -1016, -4077, 1487, 2707, 224, 303, 995, 1813, -1340, 1754, -1464, 451, -937, 353, -1014, -335, -99, 858, 1703, -984, -763, -740, -1204, 3645, 2675, -1630, -288, -1130, -560, 1047, -1777, -1630, 643, 205, -278, 693, -702, 262, 295, 2950, 2041, -133, -2192, -2131, 947, 761, -1770, 498, 2037, -1317, 2374, -23, 343, 338, -890, 662, 649, 2657, -907, -412, -86, 175, 559, 542, 3263, -26, -336, 526, -1072, 2426, 2417, -1675, 575, -393, 1860, 395, -549, 179, 359, 1861, -781, 575, -3314, 752, -2206, 609, 1010, 873, 250, 7272, 1751, -142, -66, 355, -2197, -2022, -220, -2609, 2041, 1266, 2, 3031, 1404, -2147, -975, -1190, -1922, -366, 2721, 1950, -2594, 132, 409, -285, 1093, 1165, 941, 2208, 2746, 353, -1062, 663, 1003, 1648, 1631, 2448, -821, 893, -1737, 1051, 751, -1938, 859, 1187, -1242, 1398, -1015, 1343, 2609, 1868, 2650, 1343, -2547, 1003, -1792, 1070, -220, -966, 1294, -1494, 1797, 3515, 410, 208, 1032, -1471, -462, 1019, -691, -704, -26, 618, 1962, 3142, 1264, 1277, 1612, -612, 207, -1214, -1739, 1562, 3470, 2394, 3065, 1760, -1693, 2571, -2007, -1370, -1390, -381, -402, -2244, -439, -487, 549, -9, 2078, 3507, 1682, 1236, 540, -3627, -971, -1689, 161, 5124, -16, 3091, 1170, 2824, -8, -1105, 1843, -491, 1225, -1346, 2573, -1696, -816, -3539, -766, 285, 769, -1128, -773, -1876, 1494, -923, 927, -1933, 692, -146, 7924, -154, -469, 56, 961, -1186, 404, 2869, -335, 508, -3137, 530, -1598, -446, 2850, 714, 2002, 305, -2093, 1035, 3377, -1420, 3216, -1810, -82, -1576, 5399, 1250, -748, 1202, 834, -1794, 2342, -1081, -1437, -201, -103, -1167, -1195, -601, 2981, 3560, 23, -173, -296, 248, 1321, 2099, 4190, -2480, 1858, -277, 907, 2127, 2650, 395, 2243, -286, 337, -1037, -756, 7, 544, -662, 2912, -333, 879, 826, 430, 2397, -558, 308, 1180, -1255, 2722, -1169, -1801, 1410, 396, 818, 3517, -1251, -509, 3227, 2452, 78, -1229, 346, -40, 2778, 1225, 1418, 456, -581, 688, 1916, -1906, -516} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-8, -7, -10, -10, -6, -7, -8, -7, -6, -6, -8, -6, -7, -8, -7, -8, -8, -7, -7, -7, -8, -6, -8, -7, -6, -7, -8, -7, -8, -8, -8, -8, -7, -8, -7, -8, -9, -8, -8, -7, -8, -8, -8, -9, -6, -8, -8, -8, -6, -8, -6, -5, -8, -9, -6, -6, -9, -9, -7, -10, -9, -8, -7, -6, -8, -6, -7, -6, -7, -7, -6, -5, -9, -7, -7, -8, -8, -7, -5, -7, -7, -6, -7, -7, -11, -8, -9, -8, -8, -7, -8, -9, -8, -6, -6, -7, -6, -7, -9, -6, -9, -7, -6, -8, -7, -9, -6, -7, -7, -6, -6, -6, -7, -7, -9, -10, -7, -8, -7, -7, -8, -8, -6, -8, -8, -7, -9, -7, -8, -7, -8, -5, -8, -6, -7, -6, -8, -7, -8, -8, -9, -6, -4, -5, -8, -7, -8, -9, -7, -9, -6, -7, -8, -9, -8, -5, -6, -6, -6, -8, -6, -7, -7, -7, -6, -8, -7, -8, -8, -7, -7, -9, -9, -9, -7, -6, -7, -8, -8, -7, -7, -8, -8, -9, -8, -5, -7, -7, -8, -9, -7, -7, -7, -7, -8, -7, -7, -9, -7, -8, -8, -6, -5, -6, -6, -8, -6, -6, -7, -6, -8, -9, -8, -8, -8, -6, -9, -9, -8, -8, -7, -8, -7, -9, -7, -6, -6, -7, -6, -8, -7, -7, -8, -7, -8, -8, -5, -8, -6, -6, -8, -8, -6, -8, -8, -8, -7, -8, -9, -7, -7, -6, -6, -8, -8, -10, -6, -10, -8, -8, -8, -5, -7, -9, -7, -11, -8, -10, -8, -7, -10, -8, -9, -10, -7, -7, -7, -6, -8, -8, -9, -8, -8, -7, -6, -9, -9, -8, -7, -9, -8, -8, -8, -7, -8, -6, -6, -7, -8, -5, -7, -7, -7, -6, -7, -8, -7, -8, -8, -8, -7, -8, -9, -8, -8, -7, -7, -8, -6, -5, -10, -7, -6, -8, -6, -8, -6, -6, -7, -9, -9, -7, -9, -6, -7, -6, -7, -7, -9, -10, -8, -8, -8, -7, -6, -7, -7, -8, -7, -8, -8, -6, -8, -10, -6, -6, -8, -6, -7, -7, -7, -8, -5, -6, -6, -7, -7, -5, -7, -7, -6, -7, -7, -7, -8, -8, -7, -7, -9, -6, -6, -5, -8, -8, -8, -7, -8, -6, -9, -9, -9, -8, -7, -7, -9, -7, -7, -6, -7, -7, -8, -7, -7, -9, -7, -6, -7, -7, -8, -7, -7, -7, -5, -6, -6, -8, -9, -8, -7, -8, -8, -8, -8, -7, -6, -9, -8, -8, -8, -5, -7, -6, -8, -8, -7, -8, -7, -7, -8, -8, -9, -7, -9, -9, -8, -6, -8, -7, -7, -6, -8, -7, -6, -9, -7, -6, -7, -4, -6, -5, -9, -7, -8, -7, -9, -8, -8, -7, -7, -8, -10, -9, -3, -9, -8, -6, -4, -6, -6, -8, -8, -9, -9, -8, -6, -8, -8, -6, -7, -8, -7, -8, -8, -8, -7, -7, -7, -8, -7, -6, -8, -8, -7, -7, -8, -8, -7, -7, -7, -7, -9, -6}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1917620992, 1983922816, 1498412288, 1610029952, 1927012096, 1413448576, 1301454592, 1724974336, 1137080064, 1129411840, 1923553408, 1859576448, 1431477632, 1157973888, 1944200064, 2117780096, 1089065984, 2079421824, 1226325632, 1603112192, 1897039872, 1625721472, 1140019072, 1442791040, 1192295936, 1774219776, 1176762624, 1442308992, 1359522048, 1279609472, 2018504960, 1615593088, 1697105408, 1604065920, 1391928192, 1213139712, 1531655808, 1153669376, 1362401408, 1572895488, 1301923200, 1287800448, 1754376960, 1498134784, 1138233600, 1909354880, 1305642624, 1726156672, 1230011776, 1150100864, 1411419520, 1209570176, 1131225216, 1958816000, 1547891328, 1617990400, 2001743488, 1840586880, 1347012736, 1684335360, 1494397952, 1093512576, 1093264256, 1383053952, 2088449024, 1548711936, 1317558784, 1398781952, 1624072960, 1858066304, 1443287552, 1438640384, 1437180928, 1144863232, 1292692224, 2098293504, 1535376896, 1778167424, 1583165312, 1196258048, 1197763072, 2000728704, 1846529408, 1298588800, 1416943360, 1921643776, 1510849536, 2146525696, 1172324608, 1795203456, 1645768832, 1852515840, 1854154112, 1250492800, 1440805120, 1665323776, 1444901888, 1180352512, 1541627008, 2081145984, 1218007808, 1845520640, 1672669696, 1460536192, 1803170816, 1710823552, 2011947008, 1396754688, 1377523712, 2142867072, 1126196736, 1376645760, 1730290944, 1236477056, 1801257728, 1534993408, 1740130688, 1192567168, 1533332736, 1270554752, 1727105024, 1438627072, 1402766976, 1774957952, 1628170368, 1286681472, 1449430784, 1456455040, 2110782208, 1598784640, 1631737856, 2137394560, 1234694272, 1926477312, 1993262720, 1561667200, 1772316032, 1959985536, 1713185920, 1759651840, 2139252864, 1297015552, 1420376704, 1328488576, 1114625536, 1797701248, 2035823872, 1837856256, 1557796096, 1156059392, 1385471744, 1491026816, 2126285056, 1222002432, 2147212800, 1412779008, 1078604544, 1347590144, 1386582528, 1173392256, 1357309696, 1682615040, 1252309504, 1159207040, 1918587520, 1840296832, 1989206400, 1287759232, 2056708608, 1877928192, 1800844160, 1534755584, 1446570880, 1216227968, 1854463744, 1853545472, 1244525824, 2111009536, 2122470528, 1499353600, 1206444416, 1113194880, 1089713664, 2125474176, 2042497152, 1776995584, 1747466112, 2070113792, 1453063552, 1825579648, 1612551936, 1885405312, 1325223936, 1210320256, 1229543296, 1361733376, 1291997312, 2048194176, 1111603712, 1126401920, 1331379200, 1764442624, 2113021056, 2031569920, 1444548352, 1110633984, 1186795008, 1771000832, 1395315584, 1222498816, 2147067904, 1530535168, 2027134848, 1196732672, 1763914496, 1267974144, 2067922048, 1227599360, 1274718848, 1207780480, 1761067904, 1328432896, 1314463872, 1143077760, 2114035584, 1756532096, 1333499392, 1246918784, 1176481024, 1097296384, 1080583552, 2035190656, 1148699648, 1331910016, 1208120576, 1810119168, 1098206208, 1397605376, 1250829696, 1291938816, 1091725824, 2137863808, 1341700480, 1340476672, 2037268864, 2145295104, 1124202368, 1374709120, 1202579968, 2053036672, 1724276608, 1132768128, 2008158208, 1763286784, 1085650944, 1948356736, 1795164928, 2130101248, 1157494016, 1953610368, 1535914624, 1471324032, 1820555776, 1270958720, 1641491584, 2024574208, 1642196608, 1274867968, 1485267840, 1178609152, 2079664768, 1615368192, 1774652544, 1312534272, 1265398272, 1324328832, 1584054784, 1120438144, 2041266816, 1902341888, 1108901632, 1089684992, 1111937920, 1213061504, 1304052224, 1316263296, 1244718336, 1493721216, 1822699008, 1131271936, 2069393280, 2074809344, 1289227776, 1251908480, 1795273344, 1343511936, 1207423872, 1186914688, 1893188352, 2142796160, 1319711104, 1484160000, 1588921600, 2135063936, 1524368512, 1079394816, 1405173504, 2086157952, 1849374336, 1186189696, 1104329088, 1229709312, 1166213248, 1624629248, 1164513024, 1171002368, 2038441984, 1353018624, 1518857856, 1806151040, 1097159936, 2007108736, 1342868992, 1461488256, 1771674240, 1260246400, 1443256448, 1538106624, 1155006464, 1839494400, 1150828544, 1090893184, 1254543104, 1364203136, 1216649216, 1830321152, 2085838464, 1416061952, 1356915712, 1981294464, 1941988352, 1581339264, 1664408064, 2101919744, 1875634304, 1223945984, 1088614400, 1151936640, 1126095488, 1330515712, 1126500224, 1295325952, 1720806272, 1266188672, 1347092736, 1132662912, 1344554368, 1208446976, 1265199488, 1103348096, 1295127040, 1159410176, 1955673472, 1241182848, 1851525504, 1671771776, 1701622912, 1295853440, 1746342016, 2109160448, 1404007552, 1372748288, 2107327360, 1968076032, 1842515328, 2108554496, 1101299584, 1275274112, 1118400896, 2131334272, 1141591424, 1962091904, 1548374016, 1866722304, 1729220864, 1290363520, 1159585920, 1934706304, 1401334016, 1167644416, 1232749440, 1868380800, 1796102912, 1954198144, 1949733120, 1358454656, 1108731520, 1878484864, 2027202944, 1934999680, 1102279680, 1847944576, 1729043200, 1116383232, 2073982080, 1418204672, 1151109248, 1101375104, 1090550144, 1787303552, 1843889152, 1409948032, 1125429760, 1405622272, 1983849600, 1096380928, 1622993280, 1819040256, 1915950080, 1955119744, 1189155712, 1899414912, 1336671616, 1112443648, 1144648448, 1497945472, 1308207872, 1180968064, 1863602944, 1263343488, 1239195520, 1281820032, 1928250752, 1832597760, 1179480320, 1915740416, 1169549056, 1251153152, 1119585024, 1398957952, 2080719104, 1677401856, 1636599040, 2137803264, 1747487360, 1178811264, 1534790784, 1739198720, 1235331456, 1232203136, 1184791936, 2044085504, 2072281472, 1180113536, 1249272704, 1370971904, 1077202176, 1475342592, 1964840832, 1530422016, 1161355648, 2146923648, 1637669760, 1217972992, 1898278656, 1978114560, 1075078656, 1478523392, 1323728512, 1889389568, 2020987904, 1308668416, 1394955648, 2024207616, 1418192640, 1096000768, 1350838016, 1298353920, 1311042176, 1844623744, 1096988160, 1369198592, 1203350656, 1766187008, 1933730560, 1159899520, 1174370176, 1290199168, 1458227200, 1827565312, 2032476032, 1721111936, 2021575936, 1499918080, 1793481344, 1869681152, 1141342592, 1981549824, 1853357696, 1126887168, 1424253184, 1793235840, 2015169536, 2087703936, 2118551936, 1249509376, 1160700032, 1078720768, 1254025728, 1244823168, 1483089024, 1896596224}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {64663, -2423, -8422, -3595, -3003, 22041, 26337, -13510, 3472, -5445, 13545, 803, -8201, -9957, 31603, 11581, 39664, -9319, 22773, 37970, 124, 38817, -8536, 4282, 7967, -11451, -8063, -14383, 7687, -5975, -10870, 16080, 2603, 7940, 25616, -10462, 9085, -6428, -13942, 17882, 6421, -7129, 61023, -7898, 7117, 48982, -4607, 24608, 7241, -2243, -1309, -11038, -1810, 25093, 13341, -3660, 4341, 44797, -14554, 8461, 13045, 7080, 123865, -4129, 21552, -4582, -1676, 221, 26346, 49314, 446, -5370, -9783, 3771, -9020, -9176, 35414, -5166, -34, -4636, -30737, -7410, -10129, 18431, -4962, -12449, -9081, 2044, -3433, 2012, -7509, 14809, 21180, 51241, 1883, -3121, 44633, -3502, -10164, 133222, -19954, 11746, 45114, -5913, 13779, -19047, 19212, 7458, 5191, -6606, 30805, 26076, -6749, -11801, 1556, 7568, 3393, 4212, 13077, 35243, -2618, -2582, 25067, 16940, 42106, 3531, -10424, -2737, 57097, -10985, -2253, 47755, 540, -12, -1957, -9530, 43244, -1131, 66635, -1534, 12987, -863, 39736, 35710, 4666, -3751, -11916, 22475, 18866, 5271, 39554, 466, -5357, -13683, -7042, -9430, -2660, 12416, 10711, 22087, -19179, -17376, -7201, -8023, 9323, 17788, 8402, -9567, -6840, 24272, -1968, -37328, 26289, -5252, -22387, -3728, -3212, 5084, 15044, 15537, 991, 17454, 37267, 29629, -3835, 3805, -11527, 30419, -547, 18561, 35637, -591, -5098, 57901, 6132, 43001, 28046, -2364, -5432, -21591, 12896, 48026, 27061, 28182, 48460, -1791, -4626, -6054, 37, 3332, -1158, -5064, 66250, 5885, -1625, -25735, -9748, -5161, -18335, -4126, 52128, -6047, 80039, 10951, 28482, 73074, -3061, 12683, -4845, -12638, 31971, -7778, -1701, 5778, 14754, -29094, -4496, 8762, 23506, 11499, -7858, -4175, -7148, -16266, 2806, -8392, -3047, 33240, -6359, -3006, 6315, -11897, 27513, 6887, 2674, -12368, 54537, 28540, -7783, -3242, -344, 28488, -2797, -9227, -9085, 63865, -7816, 2735, 10806, -3100, -1799, -4356, -4073, 5107, -4434, -3722, -4085, 30723, -10038, 64916, -7584, -31473, -1540, -2282, -6679, 79547, 7497, -5887, 20691, 4451, 64973, 16614, -4563, -713, -22681, 52657, 9101, 20599, -10694, 40701, -1910, 108965, 19989, 26477, 2555, -7645, -1797, 42888, -8711, 5717, 54196, -6641, 9841, 36902, -5106, 67094, 5422, -8881, 178233, 38017, 310, -10244, 7807, -12722, 1605, 5985, 13239, 23768, 1144, 16178, 21416, 22850, -1746, -2986, -9473, 426, 53710, -3270, 32192, 3537, 3824, -773, -5589, -12169, -2655, 22615, 315, -18807, 47678, 7688, -11972, -12858, -933, 3322, 7616, -16174, -1622, 50963, -2915, 6206, -10599, 9116, 4872, 3034, -8154, 26338, -3423, 7167, -11869, 15346, -9189, -32998, -17655, -3637, -8996, -5844, -2767, -2763, 26244, -331, -1493, 1687, 19495, 3407, -8953, -6313, -5721, 14814, -486, 9163, -12413, -6409, -32455, -5984, 8958, -6527, -17700, 55243, 13172, -3438, -7763, -6081, -389, -8832, 6410, 17656, 7373, -4686, -6801, 39412, 8431, 30586, -4620, -1958, 3085, -2721, -11965, -8508, 6504, -19329, 58639, 47586, 18640, -9239, -2761, 19696, -6383, 18740, -15585, 41973, 121656, 17228, -6214, -4649, 33250, -1189, 3718, -11960, -2854, 11773, -6060, 51287, -1291, 17826, 23473, 9864, -5355, 2106, -86, 60701, 55947, -2713, 63950, -4676, 16909, 13900, 447, 89719, 38674, 93401, 32906, -4077, 24336, 74281, 2062, -8501, -22947, 8680, -1470, -1459, 9252, -2789, 133424, 94955, -1024, 3788, 58704, 5879, 40037, 45888, -14217, -10427, -1355, -4665, 1631, -9279, -260, 1706, 22305, 6889, -12486, 41238, 12445, -37940, -4097, -8772, 10540, -4402, 24608, 31030, 52847, -2997, -5525, 204305, -5699, -2376, 14006, 6745, -2476, -4197, 6614, -13977} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-299, -37, -33, -109, -125, -180, -244, 16, -99, -23, -77, -20, 29, 36, -112, -147, -259, 0, -155, -153, -137, -321, 2, -85, -121, 24, 17, 6, -139, -73, -19, -160, -165, -80, -272, -23, -113, -95, -1, -234, -80, -14, -498, -7, -53, -310, -15, -249, -53, -172, -101, 5, -45, -235, -121, -4, -63, -349, -4, -104, -69, -35, -657, -1, -155, -48, -12, -82, -219, -367, -165, -49, -25, -47, -12, 3, -309, 53, -72, -12, 58, -7, 10, -136, -6, 14, -26, -70, -119, -23, -23, -184, -107, -371, -31, 3, -340, -9, -23, -590, 33, -154, -394, 3, -141, -28, -257, -48, -103, -5, -275, -288, -22, -6, -99, -145, -30, -69, -88, -222, -15, -69, -214, -141, -341, -33, -21, -95, -338, -1, -37, -221, -20, -49, -18, 22, -290, -11, -339, -7, -164, -50, -301, -284, -86, -45, 5, -264, -237, -148, -304, -36, -47, -2, -46, 9, -75, -107, -82, -166, 13, -18, -8, 31, -39, -125, -59, -88, 1, -244, -23, -5, -110, -10, -10, -7, -18, -38, -162, -225, -76, -183, -259, -117, -105, -153, -12, -203, -80, -127, -229, -23, -84, -330, -116, -268, -268, -44, -36, -21, -99, -340, -233, -307, -368, -74, -11, -111, -12, -136, -102, -38, -599, -95, -50, 22, 26, -27, 21, -2, -312, -10, -505, -100, -248, -464, -23, -128, -20, 14, -157, -23, -43, -80, -167, -8, 13, -85, -267, -87, -73, -6, -168, -8, -109, -10, -117, -282, -64, -20, -29, 10, -241, -165, -38, -5, -344, -280, -6, -54, -17, -295, -43, -1, -17, -396, 33, -61, -122, -14, -32, 3, -20, -56, -68, -7, -83, -275, -14, -331, -13, 9, -129, -32, 1, -557, -84, -1, -247, -59, -470, -220, -18, -96, 6, -278, -128, -223, -45, -255, -55, -548, -121, -136, -84, -5, -69, -335, -46, -56, -286, 4, -55, -287, -110, -606, -165, -142, -674, -302, -45, 6, -64, -6, -21, -92, -176, -178, -22, -116, -258, -194, -58, -44, -21, -106, -364, -6, -170, -62, -135, -55, 2, 17, -26, -119, -57, 19, -349, -128, 7, -8, -125, -81, -71, 8, -20, -271, -43, -170, -29, -74, -42, -21, -48, -287, -6, -67, 15, -168, -26, -26, 1, -28, -8, 2, -4, -13, -189, -37, -26, -23, -76, -33, -18, -74, -5, -234, -137, -193, -89, -42, 87, -10, -58, 1, 10, -518, -118, -66, -16, -33, -145, -10, -133, -137, -84, -11, -6, -371, -56, -247, -41, -24, -32, -16, -8, 4, -162, -9, -426, -262, -153, -12, -40, -100, -18, -196, 13, -337, -524, -141, -12, -18, -291, -116, -72, 3, -77, -80, -75, -255, -51, -174, -268, -100, -49, -157, -164, -268, -377, -86, -318, -9, -221, -232, -135, -773, -293, -433, -277, -36, -267, -293, -83, 7, -1, -171, -32, -15, -67, -115, -501, -607, -97, -27, -341, -28, -311, -278, 13, 6, -30, -10, -42, 3, -82, -82, -251, -47, 31, -296, -106, 14, -47, -2, -118, -20, -224, -286, -335, 23, -67, -727, -65, -20, -134, -111, -33, -51, -70, -54}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1122524544, 1475367296, 1372445952, 2016041472, 1124631296, 1232071040, 1436158720, 1663248512, 1924409728, 2056508416, 1593967360, 1133536768, 1790136192, 1442773248, 1350323456, 1163012992, 1884145280, 1521472896, 1973792768, 1544873216, 1587588864, 1187398784, 1090938496, 1127041280, 1905132544, 1525767936, 1499632384, 1182788096, 1330032896, 1928957696, 1641563008, 1430757376, 1641739392, 1706492800, 1623522304, 1178770688, 1953607936, 1611594880, 1579186048, 1573227648, 1388613376, 2057409792, 1983823744, 1162622848, 2052762752, 1565648640, 1944245888, 1259851776, 1725611648, 1558504448, 1458755456, 1078076544, 1539947648, 1435564288, 1532310912, 1222520448, 1584242944, 1897068928, 1536406528, 2055214592, 1134853888, 1443461632, 1928596480, 1355687424, 1816329472, 1359649280, 1824456448, 1274541824, 1265641984, 1455348992, 1784620416, 1539219200, 1992294912, 1238900352, 1201100288, 1163586304, 2041584128, 1196315648, 1188596224, 1393545728, 1608142080, 1297491712, 2078140544, 1185392256, 1868652928, 1124377088, 2005413888, 1640298368, 1444200064, 1591630080, 1147978880, 1080204416, 1967757440, 1141668096, 1606054912, 1859400192, 1451929088, 1991980160, 1208662144, 2095468160, 1681147904, 1291901184, 1165218176, 1155740544, 1363876352, 2035615488, 1981223936, 1573779968, 1493011968, 1952823168, 2018335616, 1730083712, 2130183296, 1797957120, 1199662976, 2105561344, 1098138496, 1512158592, 1600233984, 1117134208, 1143794944, 1887248000, 1438342400, 2131330432, 1370593280, 1968350080, 1140627968, 1274048000, 1284956928, 2027183488, 1703897088, 1506032512, 1315898496, 1221713536, 2145650048, 2102373760, 2121182848, 2097266688, 1881280768, 2057110784, 1076002432, 1169404544, 1607997696, 1654429184, 1424723328, 1566813440, 1972635776, 1845248384, 1306844928, 2044626304, 1823732480, 1230191616, 1115024384, 1518372224, 1385251072, 2032458240, 1467877888, 1398310272, 1777728512, 2009312128, 1869735040, 1751708032, 1136748160, 1820080128, 1265101952, 2012231040, 1548702208, 1260432768, 1956466944, 1519580672, 1930208128, 1941586304, 1194975232, 1286254464, 1302896512, 2032248064, 1570508928, 1204900096, 1248610944, 1985323904, 1266554752, 2032710144, 1901429376, 1562937472, 1728940160, 1216634112, 1121255424, 1190276224, 1627595136, 1089757824, 1086723712, 1817227136, 1235598464, 1116998272, 2047078784, 1128390656, 1815047808, 1381598592, 1160335744, 1508905600, 2046123648, 1312567808, 1723818752, 1190290944, 1126254208, 1936565888, 1216491776, 1515921024, 2088170624, 1206274432, 1682541184, 1678315264, 1525587456, 1180910976, 1082806784, 2033736192, 2141742336, 1086184192, 1470089600, 2014754048, 1181577856, 2107693440, 1635718400, 1272224512, 1552953088, 1771716480, 1516856832, 1176110592, 1372732544, 1983250048, 1136006144, 1100910720, 1298564736, 1381709568, 1457889024, 1111848960, 1230465408, 1741732608, 1529113088, 2065102464, 2100447744, 1873674752, 1135320832, 1162822016, 1303915264, 1865705728, 1443388928, 1233215488, 1886437248, 1168068608, 1282201600, 1488841472, 1426382336, 1453199104, 1075460736, 2137310080, 1176320128, 1335353600, 1092272256, 1331168128, 1121004160, 1395029632, 1379293312, 1122042368, 1250395264, 1865745920, 1928196736, 1442969344, 1171940864, 1971148800, 1601169024, 1989404032, 1633288064, 2018376320, 1481098240, 2142355328, 1571358336, 1833081600, 1344482560, 1497233408, 1552172928, 1336397056, 1745091968, 1980660096, 2033002368, 1387831936, 1225084416, 2083168512, 2053627136, 1526556544, 2135752192, 1991708544, 1320028672, 1322818432, 2053782912, 1460615168, 1292477056, 1466494720, 1867664640, 1330243456, 1810669056, 2049469696, 1142913536, 1463672448, 1857289984, 1254915456, 1366969472, 1868389504, 1649534976, 2014296192, 1239080960, 1964832000, 1660689536, 1324831744, 1909350912, 1665386624, 1628768128, 1106167808, 1452198912, 1184669952, 1567829376, 1101002496, 1360897408, 1272506112, 1345708544, 1085242112, 1650159872, 1485473536, 1841269632, 1490510208, 2022168192, 1744292224, 1127139200, 1825778816, 1324878080, 1236042880, 1202929792, 1973203840, 1301665408, 1130972032, 1211716096, 1806950272, 2065514240, 1753316352, 1235629824, 1585079040, 2041014784, 2014399872, 1122672000, 1717736960, 1716513792, 2074962560, 1457794432, 1352986496, 1326856320, 1806318592, 1321187328, 1576785792, 1938973312, 1828771456, 1306758656, 1514085376, 1205292544, 1853936640, 1417108736, 1137653760, 1849870208, 1164789120, 1239299456, 2142474240, 1363631744, 2005059072, 1467576832, 1315721088, 2112265088, 1816980608, 1880286464, 1294785664, 1975250048, 2096697600, 1893841280, 1081220992, 1753837696, 1356745472, 1352579712, 1453857792, 2008798208, 1224187904, 1588827776, 1203345152, 1284507008, 1492872320, 1138386048, 1177439744, 1783020800, 1728470016, 1940049536, 1116697728, 1757225216, 1911910784, 1853191680, 1184203136, 1821814656, 1119585792, 1088511360, 1694028032, 1137966080, 1990968192, 1159860352, 1594524032, 1343070592, 1386027904, 1452619648, 1086734848, 1172178560, 1154535040, 1398482048, 2000892160, 1829306496, 1318485632, 2093902592, 1472405376, 1914609152, 1701695104, 1505088256, 2084088448, 1954840832, 2144599680, 1258256384, 1617339776, 2145043200, 1935821184, 1860607360, 1731965568, 1655171456, 1485432448, 1959356800, 1304282752, 1717611392, 2009442432, 1637939456, 1657775232, 1338511872, 1452003072, 1221248128, 1302923008, 1502272256, 2137296640, 1279308416, 1317467392, 1241454336, 1952123904, 1322089472, 1086541952, 1812946048, 1377741312, 1535128064, 1355837312, 1649140480, 1457052544, 2039299200, 1431591680, 1636144768, 1080371840, 1917227776, 2099159296, 1281898752, 1708459520, 1464659456, 1872347136, 1331711616, 1106003712, 1594785792, 1685775232, 1826868352, 1804921728, 1495236608, 2107830656, 1322321920, 1582752384, 1728216960, 1135142016, 1441319424, 1202541952, 1500128768, 1522799616, 1924598912, 1080718592, 2000964864, 1215627264, 1790912384, 1965237504, 1196953472, 1848203392, 1133561984, 2136384896, 1313530752, 1162309504, 1133792896, 1538995456, 1260698752, 1967557888, 2032155392, 1360915456, 2094066048, 1518516480, 1117495040, 1986531072, 1191668480, 1199804160, 1559748864, 1931818624}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {439, -10, -619, -1393, -2243, 462, -1012, -356, 1220, -225, -1059, -458, 2461, 153, 752, 1180, 1123, 3316, -493, 1438, 895, 1279, 607, 2415, 312, -652, -1095, 78, -1968, 2603, -1950, -1166, -326, 125, -358, -931, -563, 1125, 862, -32, 3191, -472, 1056, 804, 1535, -1150, 1068, 500, -187, -1336, 2901, -760, 1523, 3929, -887, -608, 2364, -2180, 398, 2704, -1206, 73, -679, -2415, -1404, -269, 749, 664, 497, -404, 925, -1103, -1402, 340, 258, -212, -857, 1499, 9418, 1195, 122, 763, 763, 3927, 262, 474, -764, -232, -811, 1110, -959, 3428, -946, -98, 2493, 1955, -514, 698, 1177, 405, 2728, 728, 1301, -71, 635, -950, -512, -1231, -163, 1760, -967, -815, -1287, -254, -124, -105, 1777, 339, -555, 5255, 196, 2643, 1244, -1922, 1136, -79, -595, 3336, -1986, -1111, -1066, 163, -382, 2023, -2230, -2299, 1209, 800, 3546, 258, 1016, 2161, 470, -1096, -314, 436, -108, 187, 974, -618, 171, 20, -577, 533, -736, 376, 197, -582, 446, -987, 2402, -212, 2972, -2951, -959, -16, 1483, -174, -655, 915, 215, 6644, 1386, -1682, 627, -1192, -63, -3277, 3578, -1316, 195, -2458, -2524, 889, 1796, -5042, 1661, 878, -1305, -778, 2042, -401, -14, 4414, 1902, 1550, 4515, 1329, 20, 1019, -892, -295, -873, -277, 1426, -846, -1565, -384, -246, -424, -1926, 1333, -959, 2200, 806, -181, -987, 1356, 5238, -60, 1505, 3397, -162, 1604, 1981, -2828, -267, 1718, -397, 84, 1393, 828, 5153, 1100, -2175, 482, 3, 1509, -1353, 240, -308, 1980, -1029, -296, -959, 945, -209, 893, 977, 1187, -1258, 1084, 392, -1750, -1550, 1334, -927, -284, 389, -224, -1172, -34, 217, -823, 4036, -1346, -1449, 519, 1348, -376, -739, -559, 4120, 2966, -2449, 2, 999, -1634, -117, 2051, -437, 972, 268, 1448, 767, -94, -646, -1432, 708, -633, 937, -1175, 1541, 640, -66, -523, -779, 1020, 428, 603, -2244, 880, 7710, -1189, 2350, 469, 307, -2427, -2273, 1572, 1230, -88, 391, 2344, 4161, -374, -3429, 658, 2033, 553, -1210, -17, 511, -252, -1852, -335, -181, 2960, 566, -52, -1890, 3010, -812, 4305, 162, 3331, -40, -23, 585, 35, 1072, 630, 109, 1274, -1178, -651, -3949, -658, 2373, 1392, 839, 422, -772, -1095, 717, 516, 334, 1734, -1671, 1257, -696, 592, -867, -1355, -388, 593, 2072, 1922, -711, -88, 1779, -570, -975, 180, -1519, 2378, 1221, -146, 1808, 1147, 951, 1047, 308, 534, 746, -2485, 932, -1428, 1783, -1281, 376, 173, -2621, -85, 1301, 363, -1995, -134, -337, 2300, -1154, 2086, 1798, 29, 3033, -2506, -389, 230, 209, 7265, -1431, -1638, 163, 1313, -144, 1423, 361, -1695, -13, -1121, 903, -1364, 1149, 209, 1592, 230, -2254, 264, -2306, 3791, -445, 798, -1323, -194, 870, -1953, -1531, 328, 896, 1141, -1091, -122, 3549, -1928, -1001, -430, -709, 1222, -366, -87, -2355, 566, 1810, -2430, 900, -1475, 1130, 389, 325, -933, -2961, 243, -2508, 2758, 47, -1880, -1041, -191, 2116, -748, 840, -1108, 944, 1915, -774, -3207, 365, 491, -165, -357, 310, -2387, -611, -1587, 860, -1328, 173, 1402, 1859, -899, -622, 2423, -1405, 1039, 837, 1533, -355, 55, 4, -2270, -1235, -1241, -816, -2457, -450, 190, 1955, -1601, 564, -604, -1535, -1191} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-8, -7, -7, -6, -8, -6, -6, -8, -9, -8, -6, -8, -6, -8, -6, -7, -6, -8, -8, -7, -9, -7, -7, -8, -6, -8, -5, -6, -7, -7, -7, -5, -8, -8, -6, -8, -8, -9, -8, -7, -8, -8, -8, -6, -7, -10, -7, -7, -6, -8, -7, -7, -6, -7, -8, -7, -8, -6, -7, -7, -10, -10, -7, -8, -7, -8, -7, -7, -8, -7, -8, -9, -9, -7, -8, -8, -7, -7, -7, -8, -7, -7, -7, -6, -8, -6, -9, -7, -7, -7, -7, -7, -8, -8, -4, -8, -8, -8, -6, -8, -10, -6, -7, -7, -10, -8, -8, -9, -7, -11, -6, -9, -7, -7, -8, -6, -7, -5, -7, -8, -7, -5, -7, -7, -7, -7, -9, -10, -7, -8, -10, -7, -9, -7, -7, -7, -6, -6, -8, -7, -9, -7, -9, -8, -6, -8, -7, -5, -6, -6, -8, -7, -9, -7, -6, -7, -7, -7, -7, -6, -6, -6, -8, -9, -8, -6, -8, -9, -6, -6, -5, -6, -8, -7, -9, -8, -7, -8, -7, -9, -6, -7, -8, -7, -7, -8, -6, -8, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -7, -8, -9, -5, -9, -7, -9, -6, -10, -6, -8, -7, -9, -6, -5, -8, -9, -5, -5, -9, -8, -8, -8, -7, -6, -7, -7, -6, -6, -8, -7, -10, -7, -8, -7, -6, -7, -5, -8, -7, -6, -8, -7, -7, -9, -7, -8, -8, -6, -8, -8, -7, -7, -7, -7, -6, -7, -7, -7, -7, -6, -8, -6, -9, -9, -8, -8, -5, -7, -7, -7, -6, -5, -6, -7, -7, -7, -9, -7, -9, -10, -7, -7, -8, -7, -8, -6, -7, -7, -7, -6, -6, -8, -8, -7, -5, -9, -6, -6, -7, -7, -7, -8, -7, -8, -8, -7, -7, -6, -8, -8, -5, -8, -8, -8, -9, -7, -7, -8, -8, -6, -9, -7, -7, -6, -8, -6, -8, -7, -7, -7, -7, -6, -8, -8, -9, -8, -7, -8, -7, -9, -7, -7, -7, -6, -8, -7, -7, -9, -7, -9, -7, -8, -8, -7, -8, -9, -7, -7, -8, -7, -8, -9, -7, -9, -7, -7, -8, -6, -6, -8, -8, -8, -8, -7, -7, -7, -7, -7, -6, -9, -9, -7, -9, -7, -8, -7, -8, -7, -8, -8, -8, -8, -6, -5, -7, -8, -6, -8, -6, -8, -6, -7, -8, -8, -7, -6, -8, -7, -8, -8, -8, -6, -7, -8, -6, -7, -7, -8, -7, -6, -9, -6, -7, -6, -8, -6, -8, -6, -8, -8, -8, -7, -8, -6, -9, -9, -8, -7, -5, -7, -7, -9, -9, -7, -8, -8, -7, -6, -7, -6, -8, -8, -5, -6, -11, -6, -9, -9, -8, -7, -5, -5, -7, -10, -8, -8, -7, -7, -7, -8, -7, -9, -7, -11, -7, -7, -7, -8, -7, -7, -8, -7, -8, -8, -10, -6, -6, -8, -6, -8, -7, -4, -6, -8, -6, -9, -9, -7, -8, -8, -4, -9, -10, -8, -7, -8, -6, -8, -5, -8, -7, -7}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1839012352, 1940921088, 2102747392, 1147468160, 1930207360, 1674601088, 1371186944, 1350064256, 1132442496, 1518299008, 1447416704, 1570141312, 1232374528, 1104705920, 2127257600, 2143265920, 1329327744, 1092487936, 1251324800, 2144483328, 1685122048, 1164506496, 1500424064, 1911961216, 1823848064, 2145473920, 1166489216, 1157545088, 2068201216, 1396572160, 1330944640, 1443245440, 2045147520, 1389150720, 1401239680, 1385930880, 1122711296, 1498936448, 1887759104, 1141168128, 1150418304, 1742835200, 1393410688, 1541608960, 1159314944, 1192698752, 2132227328, 1275356800, 1200443648, 1773440256, 1768479872, 1119239552, 1897995264, 2016724096, 1789656192, 1903818112, 1976519424, 1791986688, 1206430336, 1217269248, 1148156544, 2107692416, 1581522048, 2101042816, 1164986368, 1861288064, 1802828160, 1805992448, 1726065152, 1120944000, 1125614080, 1391025280, 1371288576, 1131781248, 1429735296, 1222940672, 1225427584, 1884936448, 1683277312, 1242513664, 1081766144, 1811384320, 1860202368, 2107698176, 1263869824, 1196344448, 1999063424, 1120317824, 1232635904, 1112971008, 1182763008, 1163590400, 1100580352, 1561224064, 1672392960, 1409543680, 1316467968, 2145676672, 2061869696, 1119828352, 1503587328, 1079447680, 1383212928, 1948583552, 1528175360, 1273166336, 1362369152, 1181593344, 1510191360, 1856510464, 1734520320, 1349014784, 1787744256, 2086305408, 1146859904, 1140325376, 1981790208, 1319004416, 1857286528, 1157222400, 1664831488, 1157396096, 1264880512, 1128979200, 1429752832, 2128416896, 1989928320, 1765888896, 2058271232, 1500362496, 1285638656, 2100044800, 1371774976, 2146617856, 2013111168, 1978308864, 1262934528, 1725089408, 2086295040, 1926710272, 1878260864, 1650974336, 1181944320, 1642598144, 1770445440, 1182403328, 1336763648, 1436985728, 1184112512, 1530860544, 2026171264, 1787198976, 1218708864, 1135182720, 1428169216, 2134259200, 2092765568, 1905594752, 1149123968, 2045847424, 1258278784, 1172374784, 1276840832, 1334432256, 1505867776, 1271544704, 1772216320, 2039602816, 1873578112, 1434564608, 1191871232, 1842772992, 1381730432, 1919889408, 1744780928, 1075775104, 2054412160, 1851340288, 1108806144, 1733675392, 1193277696, 1967371648, 1127940608, 2062962048, 2032775552, 1953552768, 1360664704, 1346789248, 1255705856, 2132518272, 2117515520, 1424255616, 1603961984, 1382692224, 1205961088, 1853480448, 1166049792, 2052516096, 1497121536, 2054100736, 2113198848, 1730396544, 2043915904, 1275875328, 1615949056, 1673971712, 1157119360, 2129814016, 1610464256, 1374318336, 1151297920, 1098328832, 1186709760, 1663396096, 1823269888, 1783233664, 1553087360, 2062124544, 1287135744, 1086913536, 1173460608, 1204512640, 1106307328, 1100761984, 2141305600, 2118905600, 1748713728, 1127969664, 1852911744, 1099279616, 2145920128, 1260462848, 1711351424, 1963104640, 1097743360, 1530441216, 1173332352, 2064295936, 1499168640, 1462610560, 1896731520, 1556646912, 1494770176, 1347664000, 1472173056, 1219750784, 1784378752, 1360287104, 2141134080, 1876852096, 1204802176, 1466115712, 1522004608, 2100610304, 1694336896, 1773330432, 1967815936, 1791313152, 1087869440, 1082083456, 2100563840, 2005605248, 1962233472, 1215431296, 1630130176, 1087218176, 1538465024, 1800261120, 1149800320, 1183472000, 1587946752, 2076788352, 1801127552, 1456428800, 1906543232, 1204182144, 1185665792, 1768776832, 1179206400, 2120342656, 1141118208, 1220453888, 1169545472, 1783961984, 2024817408, 1806705152, 1768200320, 1986529280, 1198477440, 1372891776, 1573395584, 1803106560, 1597650176, 1368644224, 1645295360, 1128818688, 2134193536, 1373039616, 1124311680, 1945691392, 1942441728, 1354737408, 1100952192, 1446418560, 1356843776, 1106215296, 1768682496, 1469843584, 2065003648, 1727228928, 1347989888, 1846921088, 2055924608, 1685558272, 1584428544, 1141467264, 1890355840, 1199895936, 2055631232, 1215826048, 1485263744, 2078574720, 1192141696, 1300614528, 1120762368, 1288502784, 1373196928, 1753166208, 1132162560, 1277466240, 1888763008, 1598676096, 2055231616, 1324972672, 1926188160, 1984983552, 1578570496, 1868479104, 2055541120, 1673503232, 1664736256, 1453222912, 1754675712, 1809009152, 1334266752, 1906075264, 1750819200, 1674472704, 1585777536, 1245661184, 2093395328, 1892980608, 1943256064, 1079073536, 1848528128, 1922335104, 1670555392, 1991141888, 1112313984, 1096913792, 2002952448, 1169620480, 1189322880, 1625684608, 1310616960, 2038612224, 1657620608, 1854062464, 1162537216, 1405839872, 1242822272, 1242192768, 1424805504, 1190106496, 1710394240, 1131535232, 1813021696, 1307360512, 1821713408, 1904280192, 1561056000, 1728657408, 1444808960, 1775565312, 1093655552, 1714248832, 1945445504, 1845376256, 1330470016, 1357536000, 1271893888, 1120519424, 1857205888, 1086022784, 1519187456, 1514627072, 1076127616, 1281916032, 1340231680, 1107933824, 1274837376, 1492256768, 1128948480, 1725494144, 1409647872, 1445358592, 1182012928, 1542891904, 1077187072, 1283065856, 1119520768, 2015412480, 1754701312, 1839183488, 1118891648, 1921319552, 2066321152, 1914685824, 1377846656, 1951837952, 1437222784, 1129548160, 1768148224, 1133402496, 1982726272, 1360477952, 1515969408, 1150821504, 2135263616, 1361640064, 1483083264, 1164777856, 1325460736, 2015913088, 1149995008, 2020504192, 1862019968, 1243125632, 1119192064, 1548939648, 1902550912, 1367385216, 1775450496, 1968672768, 1979091072, 2061668352, 1432215936, 1565658880, 1549740928, 1135666688, 1094156544, 1097631872, 1582761088, 1194674944, 1773563520, 1258876288, 1591259008, 2032182656, 1743153920, 1097543808, 1194320000, 1548605440, 1193693824, 2097832448, 1486847360, 1414530048, 1248388992, 1816355072, 1688340608, 1593166464, 1563262720, 1228665600, 2027444864, 1244698112, 1269597696, 1829499648, 2104256256, 1786443776, 1090896896, 1955444992, 1494904064, 1998461824, 1165077376, 1274731264, 1824964608, 1178655744, 2017618048, 1331861888, 1174872448, 1900829824, 1236962560, 1398549504, 1187360128, 1824123264, 1110966912, 1979570560, 1275076224, 1245360384, 2094483072, 1109283072, 1434938112, 1299224320, 1092587648, 2146284032, 1739162368, 1208314752, 1429061248, 1274076800, 1427454976, 1178643200, 1346296704, 1150059136}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {353, 42166, -1566, -12733, -7053, -2138, 113047, 60942, 27574, 12368, -8843, 46621, 33883, -13096, -6049, 66293, 5204, 7220, -5795, 24363, -10754, 52656, 8117, 32725, 5123, 7389, -1281, 40539, -5587, -2056, 8107, 5516, -6441, 21766, 59079, 859, 11794, 34044, 2102, -2081, -2819, 11176, 51768, -12765, 111718, -11219, -11417, -1576, 62011, -2684, -7532, -8341, 8924, 12411, -10789, 16241, -17130, 50307, -29245, 6226, 14614, -13829, -10063, -5030, -812, 6471, 9038, 9229, 36236, 17133, -3280, -11470, 69019, -730, -3231, -13648, -4061, -851, 106431, 16230, 85499, 23428, -3341, 11810, -4959, 68711, -10164, -12339, 34723, 11188, 39075, 16807, -16373, -7294, 13331, 10253, 10615, -9725, 33740, -13529, -7886, -992, 43104, 68611, -10018, -5076, 21338, 63188, -1935, -4923, -575, -4797, 48137, 5339, 50797, 48589, 29948, 33684, -11885, 14633, 995, -1119, -126, -5030, 36108, 134532, 14675, 49294, 11824, 55315, -4126, -3674, -5269, 17098, -1001, 14141, -6977, -3632, 3997, -2473, 15503, 2804, -841, 3687, 27162, -12367, 51014, 22735, 9569, 37014, -928, 27362, 21154, -3643, -8642, 45137, -4078, 2, 10148, -2664, 4773, 7801, 5005, -5553, 9657, 13431, -19589, 9730, 6377, -9061, 121712, 13052, 9774, -769, -1653, -6960, -5682, -3735, 8856, -5318, 41093, 29440, -10805, 8243, 9797, -13789, -4091, 15507, 13728, -1937, 22448, -2861, -4979, 11982, 4615, 5796, 1280, 32210, 32182, -6761, -3793, 14880, -2078, 45447, 10194, -19315, 50034, -14299, 18087, 341, -5682, 77410, 60721, 11712, 1711, 9977, 18349, 38715, 11136, -4321, -3873, 390, -4734, 10714, -5474, -3324, -3533, 8742, 8658, 1863, -17706, -4825, 14668, 28168, 92187, -1411, 2799, -346, -6559, -2069, -8462, 10761, 14455, -8193, 13527, 40964, 33295, 8369, -5426, -5547, -589, 18121, -8905, -4086, -4094, 23327, -7283, -7146, -7959, 40470, 29366, 45458, 29523, -1493, 35876, -3127, 27445, 8492, 4814, 8663, -1645, 36327, 14176, 39256, -109, -1339, -6601, 2807, 31316, -1446, -3262, 19917, -1224, -937, -5035, -98, -7878, -19575, 4886, 29827, 19843, -6825, -4311, 13007, 7452, 38974, 64230, -3518, 15767, 11091, 10924, -16670, 14750, 12636, -1990, -8873, -9434, 5398, 2159, 49379, 2234, -15733, 64260, 12840, 18712, -2686, 21544, 9157, -8464, -6908, -3134, 7568, -2877, -24375, 7681, 53993, 27422, -11505, 44414, 2592, 3557, 20451, -2607, -2694, -4409, 10069, -2605, 31758, -705, -6520, 47161, -7126, 13870, 15979, -11039, 48182, 5316, -10508, 37040, 5899, 8189, -6224, 11682, 15546, 17503, -5491, -10564, 36761, 11722, -7447, 9657, 71291, -2829, 73506, 47082, -5959, -3407, 47201, 49290, 15473, -5855, 23844, 17136, -5645, -2853, -2240, 5230, -7566, 8951, -1788, -3440, 9691, -3669, 14447, 26711, 5564, 6265, 25041, 3600, -12010, -5621, 42863, -4500, 39097, -3349, -6414, -2075, -18375, -7139, 23073, -5721, 20031, -2504, 35385, 25675, 35192, 59830, 27075, 19201, 18983, 31443, -3392, 12342, 57004, -5159, 41575, -10928, -6397, -1390, -15974, -11191, 8803, -1854, 9450, 38691, 29589, -7285, 41487, -17168, 13941, -6305, -6383, -7366, 32500, -6181, -3028, 102005, -162, 6272, 13780, 33036, -7996, 14324, 87798, -1601, -2628, -3988, 16711, 6558, -4520, -6461, 90094, 17625, 56522, -3373, -2420, 21695, 17709, 7175, 44815, -2741, 91115, -5366, 10407, 12069, -9309, 4608, 6587, 2118, -4378, 9290, -3869, 10221, -7955, 32291, -5782, 7761, 22761, -6057, 32119, 28329, 3464, 114179, -15756, 15307, 53714, 2751, -7305, 34166, 80254, 6706, 18571, 78836, -7907, 38553, -4090, -9081, 13932, 14834, -5071, 4188, -5390, -9521, -2361, 34815, -7523, 19511, 10343, 55198, 62335, -3345, -12480} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-138, -305, -19, 1, -8, -24, -631, -321, -199, -134, -2, -408, -248, 13, -11, -349, -188, -62, -36, -222, -36, -332, -167, -280, -96, -61, -21, -328, -13, -33, -28, -19, -3, -172, -378, -148, -56, -244, -172, -67, -32, -144, -364, -5, -502, 8, -9, -51, -344, -86, 16, 8, -43, -203, 7, -133, 5, -343, -3, -40, -87, -9, -8, -32, -20, -39, -40, -151, -260, -113, -33, -2, -456, -33, -14, -5, -35, -23, -350, -113, -499, -177, -15, -219, -18, -382, -32, 1, -270, -36, -281, -212, 29, -92, -150, -154, -162, -3, -289, -13, -116, -87, -279, -324, -27, -89, -217, -504, -76, -19, 8, -67, -363, -61, -359, -255, -332, -238, -11, -245, -171, -101, -14, 3, -228, -445, -158, -154, -155, -417, -12, -26, -11, -161, -24, -134, -7, -14, -163, -12, -141, -48, -16, -92, -240, -17, -480, -183, -38, -290, -14, -267, -119, -23, -10, -361, -17, -120, -122, -31, -64, -28, -39, -2, -82, -129, 6, -77, -69, -8, -512, -245, -132, -49, -77, -7, -117, -40, -220, -38, -331, -187, 10, -38, -146, 1, -87, -128, -147, -26, -219, -72, -2, -219, -48, -153, -71, -160, -230, 7, -36, -142, -47, -312, -137, -57, -259, 5, -130, -30, -16, -383, -356, -50, -57, -105, -167, -429, -61, -38, -74, -98, -69, -162, -27, -57, -10, -44, -177, -31, -2, -13, -251, -271, -627, -20, -25, -60, -8, -123, -5, -162, -168, -83, -114, -258, -310, -88, -8, -51, -41, -138, -11, 6, -38, -138, -20, -52, -32, -290, -189, -413, -166, -25, -249, -10, -223, -75, -41, -109, -72, -308, -233, -320, -115, -7, -90, -178, -133, -140, -46, -170, -173, -56, -15, -18, -41, -11, -30, -200, -241, -61, -57, -201, -31, -249, -338, -19, -168, -62, -126, -11, -244, -148, -63, -23, 1, -118, -69, -391, -23, -36, -276, -171, -224, -56, -199, -149, -21, -19, -8, -92, -21, 32, -33, -392, -231, -26, -233, -71, -127, -253, -53, -162, -15, -199, -89, -229, -13, -80, -378, -19, -136, -144, 15, -303, -95, -28, -273, -78, -151, -14, -96, -178, -134, -22, -3, -321, -124, -18, -86, -396, -18, -331, -411, -1, -51, -368, -299, -109, -101, -171, -185, -9, -33, -88, -184, -32, -94, -30, -34, -172, -93, -156, -304, -158, -25, -182, -120, -20, -25, -192, -5, -335, -21, -21, -9, -98, -41, -251, -37, -245, -31, -290, -236, -270, -346, -230, -98, -228, -287, -62, -38, -565, -24, -354, -8, -43, -39, -24, -18, -33, -11, -180, -311, -274, -7, -334, 3, -67, -41, -15, -13, -233, -16, -51, -459, -94, -44, -188, -313, -72, -235, -692, -63, -69, -71, -37, -78, -23, -11, -662, -221, -330, -52, -27, -204, -110, -32, -365, -50, -486, -21, -115, -115, -20, -46, -105, -50, -11, -29, -57, -169, -64, -281, -8, -52, -168, -23, -329, -267, -58, -321, 26, -109, -336, -154, -35, -259, -278, -18, -250, -369, -70, -267, -69, -61, -77, -197, -11, -28, -105, 2, -29, -280, -37, -235, -38, -358, -419, -39, -5}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1782667136, 1482487168, 1089096320, 2126926976, 1093717632, 1884063488, 1669553664, 1974428032, 1156816128, 1628779264, 1260050560, 1378690944, 1547421184, 1483448960, 2008438400, 1878255232, 1346886144, 1931751424, 1848006272, 1998951296, 1807003776, 1191168000, 2002472320, 1475566336, 1474754688, 1295092352, 2071038592, 1195437440, 1565281408, 1188564480, 1225194624, 1170537728, 1337158784, 2089775104, 1173739520, 1723116288, 1443870080, 2124059648, 1639347584, 1547092480, 2066010368, 1329592704, 1282980224, 1355908736, 1908037504, 1422325888, 1728412032, 2028787072, 1797101440, 1444811264, 1721542784, 1155048192, 1793802880, 1506070656, 1170189568, 1679351168, 1658344832, 2140532352, 1213421696, 1126066944, 1813644928, 1629249792, 1153537152, 1833695232, 1084489856, 1381699328, 1514983552, 1135873920, 1417864832, 2111847808, 1806874880, 1310347648, 1561944832, 1145408512, 2118349824, 1414094336, 1397020160, 1087776640, 1363555840, 1339349760, 2140518784, 1578228608, 1904971392, 1246064128, 1256700672, 1296110976, 1310180352, 1222444032, 1167176320, 1181710848, 1406435328, 2052560256, 1845831296, 1692679424, 1784109184, 1400543616, 1590410240, 1548593408, 1935279360, 1500411264, 1767519616, 1210635520, 1942286208, 1766483456, 1913153152, 1744828160, 1705931136, 1647801984, 1241009024, 1298843392, 1122738304, 2081549824, 1277126144, 1115893760, 1861158144, 1135468032, 1867117184, 1715059456, 1156695680, 1280161920, 1487722112, 2011864448, 1908569344, 1840631808, 1494249984, 1144438272, 1848101120, 1923750016, 1228105984, 1256613120, 1184107136, 1116528128, 1135581696, 1248733952, 1137423488, 1856619008, 1177110784, 1116263808, 1697080576, 1905371264, 1966056064, 1121572992, 2024878336, 1650056448, 1160036992, 1860166528, 1668740736, 1348094592, 1411384192, 1969493120, 1945756032, 1178436224, 1772380672, 1104015616, 1080419072, 1208418816, 1240707328, 1804597888, 1566330880, 1382959744, 1286621312, 1088803968, 1941145856, 1964990336, 1108321664, 1859599616, 1699179136, 1895639040, 1513501696, 1153476992, 1094384256, 1588664064, 1758710272, 1131699584, 1918472192, 1135472128, 1487521152, 1849073536, 1170863872, 1559299072, 1155985152, 1492352512, 1083894784, 1264328960, 1399402112, 1914007936, 1688511872, 1835671040, 1835852672, 2025121792, 1895733504, 1594671488, 1157649792, 1410687232, 1999338496, 1245821440, 1199231360, 1575524352, 1088800896, 1523475712, 1630348672, 1904869120, 1182217088, 1119662848, 1283940864, 1310696832, 1592896384, 1699688448, 1211110912, 1149509888, 2142915328, 1409330688, 1608971904, 1929713792, 1373396864, 1561714048, 1806659968, 1664090880, 2027638912, 1404255104, 1404737664, 1699263744, 1102628224, 1502213376, 1418336128, 1232163712, 2071685504, 1975798528, 1634723072, 1495020416, 1551032192, 2041536512, 1222262272, 1205316608, 1078970496, 1119438848, 1349503232, 1219206784, 1223979520, 1315097856, 1751733376, 1375318784, 1389410560, 1877308672, 1312209024, 1507774080, 1593931264, 1474439168, 1917242112, 1468676224, 2061580288, 1501012480, 1316396032, 1801542528, 2002623488, 1738385920, 1102215040, 1827102208, 1866933248, 1799680256, 1456381952, 1376870656, 1902995840, 1470261376, 1902378496, 1818884992, 2060912640, 1330488576, 1242650624, 1181052544, 1436642688, 1200199168, 1103964288, 1672981376, 1626146688, 1770542208, 1225739392, 1964322560, 1586220544, 1407649536, 1395770496, 1772297344, 1202851840, 1227102976, 1857421440, 1125492480, 2117857536, 1751407360, 1324732032, 2009959424, 1440430720, 1652133120, 1272135040, 1279776768, 1093656704, 1422862848, 1609376512, 1182958592, 1185144448, 1580790528, 1896602112, 2090563712, 1451793920, 1474576640, 1672521216, 2130032000, 1185830016, 1285225472, 1488247424, 1403408896, 1095813888, 1099394048, 1694851072, 1425166720, 1992174208, 1241641856, 1133498368, 1575915648, 1567520000, 1361849216, 1332961152, 1666627712, 1278815104, 1647103488, 1353187328, 1709869696, 1426062336, 1723438464, 2056018432, 1351669632, 2124252160, 1556652032, 1882659072, 1617772416, 1271112320, 1196550656, 1543882624, 1834670080, 1087203328, 1132506752, 1836878464, 1620261888, 1095697920, 1241907072, 1938324736, 1091390080, 1299202560, 2092687104, 1664792448, 1480740608, 2126231424, 1349486336, 1096037504, 1253152896, 2046155264, 1141785600, 1145303424, 1247546624, 1447203712, 2090662912, 1203595136, 1519962624, 2115470208, 1453536128, 1965132032, 1084030208, 1895800064, 1334867968, 1210106240, 1306916096, 2049269632, 2082421248, 1667228544, 2043543808, 1481662848, 1089719168, 2114965248, 1238741248, 1515652608, 1100835968, 1108074496, 1140076288, 1442761344, 1262612352, 1675233664, 1556012288, 1248646656, 1401463424, 1449612544, 1446093184, 1570982784, 1634653696, 2021425280, 1295870720, 1255373824, 1311752576, 1094147712, 2077017344, 1943847680, 1252260864, 1332861312, 1419464832, 2050703616, 1572578176, 1234765184, 1566301312, 1821942656, 1147213184, 1683054848, 1731991808, 1374398208, 1536018176, 1621682176, 1414355840, 1084470144, 1735929088, 1235654400, 1565584000, 1616645888, 1854662272, 1818559872, 1350062208, 1985264768, 1391260288, 1840944640, 1824826496, 1229070208, 1474510208, 1976411136, 1964976000, 1961670400, 1164416256, 2005908480, 1885621632, 1300733184, 1197013760, 1475064960, 1400416640, 1832956160, 1456934656, 1571347328, 2054348288, 1722523392, 1215705216, 1207192576, 1547357056, 1681602304, 1123610752, 1851931648, 1995862912, 1839099776, 1766137344, 1827490944, 1670011264, 1521533568, 1076509056, 2113231616, 1094850560, 1165034880, 1171099648, 1210060160, 1097219968, 1318681984, 1187501824, 1258083328, 1293676416, 1524300032, 1976311552, 1611868032, 1277549184, 2060571008, 1651262464, 1171072256, 1901504896, 1607416832, 1913064960, 1265576064, 1879928064, 1254732416, 1407004288, 1177620352, 1371546368, 1409088000, 1640975232, 2097354752, 1542735104, 1284131072, 1514275200, 1442248192, 1568512256, 2128696448, 1578033280, 1883117568, 1452437632, 2103580160, 1950432512, 1987754624, 2038434560, 1444159360, 1091075584, 1269832704, 1584232832, 1940624640, 1680371200, 1872992768, 1414818176, 1654279808, 1464249472, 1284054400, 1749008768, 1779367680, 1214757120}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {2063, 493, 209, -759, 392, 502, 47, 1094, 1502, 1068, 501, 75, -676, 67, -1232, 261, -894, -40, -95, -95, 1105, -1107, -1173, -896, 2332, -2192, -531, -1365, 766, -1796, 54, 336, 313, -412, 467, 1131, 655, 528, -2458, 641, -271, 620, 14, 407, 1700, -667, -1132, 651, -1824, 152, 1343, -1739, -1683, -851, -765, -1798, -478, -239, -68, 1740, -1847, -51, 683, 1449, -1101, 1561, 885, -267, -386, -1243, -1539, -3178, -323, 726, -1362, 290, 473, 2524, 372, 1486, 849, 1379, -1263, -684, 737, -265, -2489, 1947, -317, -1304, 660, -676, 2403, 1823, -1530, 1623, -956, -509, 506, 2282, 2103, -3303, 662, 257, -408, -546, 1176, -655, 1556, 684, 108, 814, -497, -1472, 740, -182, -443, 923, -1319, 1164, -2109, -1384, -1252, -118, 32, -269, -2025, 486, -170, 184, -591, 113, -1668, 1270, -1318, 902, -1380, -824, 5108, -1689, -2017, 400, 366, 385, 191, 1331, 2672, -205, -35, 353, -15, 267, 931, -801, -918, 1389, -21, 195, -1480, 386, -2050, 1645, -3006, 2296, 963, -2445, 983, 1156, -526, 1755, -206, -2090, 395, 445, -192, 533, -1613, 110, 1332, -161, 921, 1454, -127, 1735, -478, -3791, 405, -182, -1830, 995, -829, 2949, -2186, 2717, 1037, -23, 225, -200, 565, -3315, 3165, 492, 4728, 1902, -937, -247, -758, 3238, -954, -560, 533, -31, 2770, -1191, -925, 1941, 947, 3058, 381, 539, -869, -139, 785, -309, 2687, -1437, -1140, -311, 849, -214, 1748, -705, -341, 7059, -149, -101, -2835, 2263, 443, 855, -1716, 383, 148, -1664, -168, -3454, 306, 1146, 303, 395, 1568, -259, 1147, 260, 139, 722, 466, -295, -1539, 4274, 1386, -1165, 86, 1106, 777, 3874, 473, -493, -1373, 450, -734, -436, -679, -810, -4157, 95, -1964, -839, -724, -2457, -199, -1784, 867, 1908, -1518, -547, -3077, -694, 799, 105, 2271, 2814, -242, 565, -698, 2648, 32, 362, -1419, 72, 1705, -1411, 740, 60, 1015, 363, 3974, 216, 26, 916, 866, -2082, 176, 1695, -684, -1727, -1383, 259, 12, -2102, -629, -648, 45, -470, -762, 736, -116, -1017, -1120, 2488, 794, -658, -568, 12, -2033, -450, -1193, -1182, 829, 3462, -2498, -40, -1409, 657, 80, 945, 5, -1343, 160, -521, -324, -852, -1929, -3779, -870, -673, 640, 1909, 1614, -1523, 205, -2223, 19, -1214, -2317, -1782, 40, 779, 1084, 142, -1701, 382, 4505, -368, 191, 390, -357, 740, 286, 4818, 1405, 245, 2402, -663, 698, 2382, 27, 3517, 286, -564, -1338, 280, -985, 2966, -790, 1532, 77, 411, 435, -1915, -264, 76, 2641, -1078, 469, -1638, -55, 2316, -382, 1247, 1037, -1529, -203, -1733, -3440, -301, -1169, -33, -1241, -1466, 1267, -3103, -830, 990, 271, 1793, 215, -865, -2096, -2118, -631, -1313, -378, -757, 2364, -767, 1391, 2751, 888, 1779, 1882, 438, -697, -693, -1376, 1093, -1886, -708, -152, 332, -874, 1093, -1716, 1053, -449, 69, 960, 1193, 3100, 69, -378, -1671, 2086, -1727, -2563, -1221, 1043, -102, -1482, 849, -883, 1649, 527, 659, -2657, -327, 464, -1024, -3552, 2289, 390, 1572, 1505, -85, -600, 29, 1607, 593, 357, -2004, -1707, -611, 67, -59, 296, -1049, 537, -791, -2805, -1589, -5221, -266, -949, -1335, -776, 263, 1184, -887, -1062, -1689, -712, -127} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-6, -9, -6, -8, -7, -7, -5, -6, -9, -8, -8, -8, -6, -6, -7, -8, -5, -8, -8, -8, -6, -6, -6, -9, -7, -9, -6, -8, -8, -6, -7, -7, -5, -6, -8, -8, -7, -6, -6, -7, -7, -6, -9, -8, -8, -8, -8, -7, -7, -8, -7, -7, -7, -5, -7, -8, -9, -6, -7, -6, -7, -10, -9, -5, -8, -10, -9, -8, -9, -8, -6, -7, -7, -8, -7, -9, -8, -8, -9, -9, -7, -8, -7, -8, -7, -10, -7, -8, -6, -7, -7, -8, -6, -6, -8, -8, -8, -9, -6, -8, -6, -6, -6, -6, -8, -8, -7, -7, -5, -8, -7, -7, -7, -8, -8, -6, -7, -9, -7, -7, -6, -8, -8, -9, -7, -9, -6, -10, -8, -9, -7, -7, -7, -8, -8, -8, -6, -6, -8, -7, -8, -6, -7, -6, -9, -7, -7, -8, -6, -8, -6, -8, -5, -7, -7, -7, -8, -8, -7, -8, -7, -8, -8, -8, -8, -8, -8, -7, -8, -8, -7, -7, -7, -9, -8, -7, -5, -4, -8, -7, -9, -8, -8, -7, -9, -7, -7, -7, -7, -6, -7, -8, -7, -6, -7, -7, -5, -6, -8, -5, -8, -7, -6, -8, -7, -8, -6, -7, -9, -8, -7, -7, -8, -8, -7, -7, -9, -8, -6, -7, -7, -8, -7, -9, -8, -7, -7, -6, -7, -7, -8, -7, -6, -7, -7, -7, -7, -7, -6, -8, -6, -7, -7, -7, -7, -6, -9, -7, -8, -8, -10, -6, -7, -6, -9, -8, -6, -8, -9, -9, -6, -8, -6, -6, -7, -7, -6, -10, -7, -8, -7, -6, -8, -8, -8, -8, -9, -8, -8, -8, -5, -8, -7, -6, -7, -5, -8, -8, -8, -5, -9, -6, -8, -6, -8, -9, -7, -8, -8, -7, -7, -7, -8, -7, -8, -8, -7, -7, -7, -8, -7, -7, -7, -8, -8, -5, -7, -8, -8, -8, -6, -5, -8, -5, -6, -8, -8, -6, -6, -6, -9, -8, -7, -4, -6, -6, -9, -9, -9, -7, -6, -8, -7, -8, -7, -7, -8, -7, -8, -7, -8, -7, -7, -8, -9, -7, -7, -5, -7, -7, -8, -9, -8, -5, -8, -8, -8, -6, -5, -7, -6, -8, -7, -7, -10, -7, -6, -7, -8, -8, -8, -7, -7, -6, -11, -8, -9, -6, -7, -7, -8, -7, -7, -10, -7, -9, -7, -7, -7, -7, -7, -10, -7, -6, -8, -7, -9, -8, -6, -8, -8, -6, -7, -8, -8, -5, -8, -7, -7, -8, -6, -8, -7, -8, -8, -7, -6, -8, -8, -7, -7, -8, -7, -8, -9, -8, -7, -8, -9, -8, -7, -6, -10, -7, -8, -7, -7, -6, -7, -7, -8, -8, -9, -6, -5, -7, -9, -7, -10, -6, -6, -5, -8, -7, -6, -7, -9, -9, -9, -6, -10, -6, -8, -7, -7, -6, -8, -7, -6, -7, -8, -6, -9, -9, -9, -8, -5, -8, -8, -7, -8, -9, -8, -6, -8, -7, -7, -7, -8, -7, -8, -6, -7, -8, -7, -7, -7, -8, -8, -6, -8, -8}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1986336384, 2009939712, 1966532736, 1077054720, 1256776448, 1152204672, 2053636608, 1427246848, 1191718656, 1282305920, 1820469760, 2025820160, 1355364352, 1390830976, 1562472448, 2089917184, 1798594304, 2106028672, 1125019648, 1927602432, 1545193728, 2147095040, 1671493504, 1257496960, 1179735040, 1602680448, 1388331520, 1103809280, 1430468608, 1211590784, 1167959296, 1964332928, 1115147648, 1106011904, 1373492096, 1134330752, 1092608896, 1592814848, 1238462720, 2137020416, 1210939648, 1486742400, 1974656768, 1332690816, 1309510528, 1272392064, 1407817088, 2122691968, 1109566336, 1862660736, 1672443904, 1522082688, 1211923200, 1482432256, 1225926656, 1194887936, 1180228736, 1175700480, 1923174016, 1521403520, 1980091904, 1300751232, 1464451712, 1527674112, 1382937472, 1504905088, 1228690688, 1184262912, 1516608256, 1163065728, 1921838208, 1910313344, 1126896896, 1105678720, 1087297408, 1445325312, 1710751488, 2039880448, 1217440256, 1076455936, 1413605504, 1781321728, 1487194112, 1862320128, 1248939008, 1464406784, 1207968512, 1858026368, 1076188288, 1346307712, 1123373696, 1221979136, 2133425024, 1123181824, 1093264896, 1077834624, 1197565952, 2067777152, 1658643072, 1415297536, 1307263616, 1146142976, 1748784896, 1399628416, 2037486976, 1212355712, 2013155072, 2141889280, 1280017536, 1466991104, 1337374976, 2012087296, 1464457216, 1994713216, 2100480896, 2138447104, 1885584896, 1289493632, 1149634176, 1307508224, 1400204160, 1195258752, 1237265280, 1320237952, 1256328448, 1286209152, 1245542144, 2015191552, 1520560768, 1268556160, 1487938816, 1168059392, 1482961536, 1106241024, 1864339968, 1139967872, 1093239040, 1429847424, 1382150016, 1141742336, 1248848256, 1383644928, 1159852544, 1315241216, 1997726208, 1771200768, 1987857024, 1756478848, 1379217536, 1600441216, 1847011200, 1669247232, 1764384256, 1207797888, 1082629760, 1689137024, 1135958912, 1785848960, 1236583424, 1147997056, 2131789312, 1340268160, 1119614848, 1863691392, 1337392896, 1223136768, 1395117184, 1241229952, 1099480192, 2058011776, 1144966272, 1371265792, 1729599744, 1593611008, 1228220800, 1365213184, 1182934656, 1161711616, 1081908608, 1724745984, 1170965760, 1694669952, 1261727488, 1131076992, 1434870400, 1104690560, 1195884416, 2120632320, 1202850688, 1625648384, 1088374400, 1958895232, 1087746176, 1525826176, 1196839424, 2069238272, 1807634944, 1591138176, 1519953408, 1259719808, 1698717056, 1656134528, 1731444352, 1272210048, 1993455360, 1966817920, 1152723840, 1781331072, 1870528768, 1333623040, 1909509760, 1519806848, 2022692224, 1631538048, 1817380480, 1253824256, 1762266624, 1319928320, 1671903744, 1928381440, 1328745728, 1454877568, 1230641664, 1569906048, 1403938176, 1107676288, 1182368512, 1220611712, 1746033152, 2099967232, 1233193216, 1228599552, 1249994496, 1135893248, 1080599552, 2133314816, 1250682240, 1836533760, 1534777472, 1458599680, 1615952896, 1313258240, 1540058880, 1254366976, 1670542336, 1977706496, 1951148160, 1229784576, 1958944128, 1214251008, 1648852096, 1410346752, 2130256768, 1354892672, 1261227904, 2125031680, 1097891200, 1245896320, 1318554880, 1211962112, 1333017472, 1430284288, 1257357312, 1314160384, 1918332160, 1469464448, 1422405504, 1268002176, 1239206784, 1473753600, 1870349056, 1419811200, 2038785664, 2133115648, 1987894528, 2011309952, 1243633536, 1290431104, 1527889536, 2091379328, 1557237632, 1129984128, 1275290752, 1444403072, 1190685184, 1856416768, 1918688384, 1300700288, 1168264192, 1276508288, 1889534336, 1284581760, 1550643712, 1595136768, 2000807680, 1405769344, 1337314560, 1606009088, 1248669952, 1383863296, 2023859072, 1360639104, 1404598144, 1695775360, 1361784832, 1218900736, 1520878208, 1230053248, 1442924416, 1960337408, 1372422912, 1989229312, 1161466368, 1122242816, 2058990976, 1411940992, 1792195840, 1940120448, 1841341568, 1133126656, 1481934592, 1907332608, 1155459328, 1996621696, 1209647360, 1992694656, 1454762752, 1646721920, 1428908672, 1166845056, 1767172608, 1097196672, 1142213248, 1878358656, 1400651520, 1392412416, 1581805568, 1904658816, 1463062912, 1260529792, 1157773440, 1588582528, 1292883328, 1182356352, 2043534720, 1094679680, 1962307712, 1482397184, 2055482368, 1993638272, 1268483968, 1401480448, 1147171840, 1243694080, 1931187840, 1232891520, 1142755584, 2006346496, 1737070720, 1156740480, 1298186240, 1303050112, 2045442048, 1103067008, 1140538880, 1258734208, 1086246272, 1659030528, 1310020480, 1649270144, 1310520960, 2003287424, 1438398720, 1208334080, 2109565440, 1182151296, 1138682752, 1269555968, 1458601088, 1252076416, 1087154560, 1387312256, 1338176256, 1219062528, 1947399552, 1984287872, 2078364288, 1377052928, 2147431808, 1535469440, 1083206912, 1545998848, 1138198912, 1135052672, 1187696768, 1307682944, 1605026304, 2115283584, 1933230720, 1191716096, 1292848256, 1351837824, 1168596224, 1503643008, 1080082176, 1274153728, 1342449664, 1123399680, 1324447104, 1213113472, 1340528512, 1321644672, 1343042816, 1127070208, 1542780544, 2112314496, 1083873408, 1956911104, 1295206912, 2004235776, 1347309440, 1976928128, 2061929600, 1124104448, 1942155136, 1804471040, 1206155520, 1878927488, 2020248320, 1928520832, 1094297600, 1734497792, 1726758272, 1322156672, 2095442944, 1206868480, 1439060608, 1458177792, 1195047552, 1646100480, 1437932928, 1488951808, 1291736448, 1363005440, 1179134976, 1843111040, 1152312192, 1547273088, 1271221376, 1288510208, 1516855424, 1561085568, 1123203200, 2099063936, 1105688960, 1077560960, 1671206016, 1708907392, 1597988224, 1510882944, 1216081280, 1103945600, 1121478144, 2029984384, 1587060736, 1085896960, 1269725056, 1299028352, 1912182912, 1731275776, 1355303424, 1324321664, 1355733632, 1999889792, 1250904576, 1131187840, 1351509248, 1603936384, 1205904256, 1368317056, 1096899840, 1335666816, 1129415168, 2117388160, 1614830208, 1264334080, 1152970368, 1869019648, 1325569152, 1921387776, 1415921792, 1950190720, 1103813632, 1404885632, 1608095488, 1143182336, 1827809536, 1293663104, 1320927872, 2093351040, 1342062464, 1250339840, 1217653632, 2036463488, 2059777664, 1250854784, 1337982976, 1316529920, 1398371456, 2070321024, 1438755328, 1798105216}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {61900, -13778, -18770, -4699, 12629, -4331, -3114, 71473, -12420, -4066, -3219, 13433, 77750, 57244, -2635, -5165, -4940, -25051, 9586, 3840, -1945, -4269, -1736, -18782, -3004, -1361, 73063, -4315, -5811, -4656, -6351, 65987, 107909, -3751, 38133, 52216, -11193, -6018, -4022, 4212, 23643, -6662, -6025, 6509, -1562, 93279, 9271, -6940, -6081, 1136, -2404, -3919, 28700, -5143, -4600, 1969, -4172, -3070, 29228, 64262, -13716, -12683, -11621, 96182, -4133, -3738, -16160, 89274, 70062, 167475, -5607, -3628, 36480, 65244, 25701, 16700, 10441, -4299, 20391, 13978, -7121, -4522, -2324, 41563, 84653, 65940, 2809, -27771, 19286, 14354, 96777, -7744, 37994, 97332, 98811, -1160, -10044, 9739, -14603, 100846, 43703, -6423, 101930, 59404, 64357, -5996, -4184, 41513, 7032, 80802, 81134, 120411, 4844, 39208, -1503, -3164, 49058, 15222, -9282, 35175, 59502, -7303, 24843, -5141, 45083, 7015, 129514, 12349, 43524, 4100, -8493, -7018, 55896, -30414, 5991, -3244, -10235, -8250, 16015, -5540, -4190, 58797, -3863, 1537, 8886, 161488, 23455, -1919, 104537, 25559, -4364, 6169, -3042, 3315, 43377, 1303, -3411, 30915, 46018, -1539, 49772, 96591, 109997, 108, 16636, -124, -7632, -535, 9682, 3761, 784, -3287, 48598, 57791, -2502, -10, 86433, 38295, -10773, 138656, -5115, 16259, 75270, -3915, -2045, 73941, 52962, -3249, -2803, 58899, -3047, 71691, -3015, 28140, -12883, -15855, 49502, 4812, -13569, -3455, 16564, -4285, 13672, 18082, 75065, 86430, -1083, 5314, 90238, -5323, -614, -586, 47077, 114292, 24287, -6760, 47559, 160054, 57796, 5974, 51600, -912, 2237, -17261, -7065, -502, -6411, -4068, -4190, -3748, 51426, 5599, 122652, 15930, -4546, 25436, -1060, 42869, -378, 26039, 10299, -15374, -17659, 38004, 49283, -6347, -4554, -3806, -5218, 71994, -7457, 43512, -11298, 1290, -4434, -10817, -409, 10497, 5386, -17145, 92487, 54376, -7251, 73043, 11029, 15948, -3889, -4999, -8432, -7930, 99007, 26820, 12761, -2706, 61270, 54780, -7845, 87942, 6869, -4495, 46935, -4838, -2535, 25211, -4610, 58523, 69665, 52408, -5776, 85080, 5713, 12263, 5939, 16030, 74475, -481, -18401, -9159, 53836, 25822, 24436, -5957, -9281, 15969, 64704, -9861, 22326, 108452, -7740, 67494, 60390, -9468, -6771, 8044, -1524, 84868, -3699, 30834, -128, 52375, -1531, 86091, -14892, 77367, -2232, 18620, -19048, 26457, 12833, 3459, -29842, -8801, -12403, 8487, -1445, 145, -8684, -9837, -19956, -6190, -2143, 51002, -6418, -4918, 379, -9314, -1860, 7659, -8970, 13187, -2920, 141872, -9729, -4504, 59838, -2488, -2212, 29629, 9836, 2166, 28316, 4112, -2235, 125131, 82949, 53589, 57324, 21726, 39572, 61490, 11005, 59432, 17472, 15262, -4337, 68322, 48600, 60854, -14189, 13151, 4780, 50692, 22349, 49846, -19080, 45050, 37157, 16082, -849, -5039, -5074, -2348, -1636, 13055, -3128, -7352, -3368, 54180, 22989, -12797, -17574, -11397, 48011, -8700, 38760, -8595, 19297, 55915, -4179, 57874, 60322, -1728, -3475, -3447, -40, -1922, 77459, -4768, 79965, -5878, 123815, -5418, -2724, -23745, -8595, 24890, -16066, -9199, -5048, -10659, -3156, -13970, -1726, 152, 36435, -2628, 61933, -4593, 37828, -2741, 150, 27065, -1536, 6374, -3364, 12399, 125485, -1192, -2722, -3864, -9872, -11200, -5117, 2083, 1844, -1742, 49104, 24197, -23975, 61408, -981, 10195, 70914, 13498, -14318, 87413, -13049, 80988, 48545, 5586, -1034, -2379, 78501, 44356, -6881, -1782, 91338, -2407, -3206, 222, -15536, 43000, 35800, -2726, -7152, 21247, -7513, 11150, -2293, -6168, -10982, -8391, -4663, 7791, 24128, 41120, 32981, 194857, -4183, 98805, -6778, 69533, -6095, 71394, 14977, 38113, 49588, 16737, -4922, -5832, 15461, -16939} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-415, -66, -43, -8, -128, -2, -51, -371, -35, -46, -44, -160, -486, -373, -56, -25, -12, -15, -51, -104, -69, -7, -78, -24, -15, -90, -337, -86, -5, -6, -22, -483, -558, 2, -270, -441, -3, -98, -20, -62, -153, -32, -22, -142, -50, -440, -84, -25, -13, -139, -24, -61, -245, -17, -73, -67, -1, -48, -154, -579, 14, 7, 53, -446, -18, -5, 4, -425, -313, -658, 0, -26, -398, -445, -238, -183, -140, -42, -99, -151, -65, -27, -17, -235, -698, -352, -67, 21, -195, -127, -513, -30, -371, -444, -412, -50, -65, -133, 11, -493, -270, 17, -475, -322, -332, -10, -60, -227, -165, -444, -502, -525, -29, -292, -55, -23, -415, -94, 18, -291, -412, 19, -318, -15, -245, -77, -736, -106, -253, -36, 1, -23, -322, 4, -40, -23, -3, -54, -214, -13, -13, -436, -14, -112, -88, -508, -243, -35, -711, -170, -60, -117, -134, -129, -271, -57, -10, -288, -379, -14, -405, -403, -773, -51, -98, -21, -11, -140, -74, -170, -63, -60, -367, -401, -14, -143, -317, -305, -24, -727, -34, -200, -398, -41, -104, -497, -370, -23, -11, -418, -32, -425, -61, -241, 1, -25, -190, -36, -22, -33, -218, -30, -240, -207, -470, -345, -91, -51, -429, -45, -26, -16, -213, -574, -200, -3, -387, -415, -313, -86, -226, -62, -41, 15, -68, -14, -41, -4, -31, -18, -358, -30, -761, -242, -11, -193, -108, -261, -133, -232, -117, -14, 5, -293, -365, 2, -11, -14, -40, -412, -70, -220, 20, -76, -75, 12, -9, -132, -24, -27, -615, -441, -8, -368, -156, -246, -18, -18, -70, -61, -357, -152, -153, -29, -308, -221, -23, -362, -123, -1, -299, -9, -7, -236, -60, -432, -337, -316, -44, -466, -149, -123, -27, -126, -456, -81, 8, -36, -240, -194, -257, -74, -33, -178, -445, -35, -236, -491, -97, -422, -375, 3, -1, -144, -62, -381, -40, -339, -69, -294, -58, -536, -1, -439, -82, -112, -1, -151, -117, -113, 37, -29, 11, -43, -16, -122, -8, -40, -42, -90, -26, -343, -21, -2, -15, -93, -107, -34, -2, -94, -15, -646, -5, -15, -352, -13, -45, -254, -190, -26, -101, -40, -89, -504, -538, -377, -306, -102, -284, -482, -101, -267, -237, -43, -26, -527, -376, -301, -71, -205, -31, -325, -245, -414, -45, -346, -218, -106, -59, -21, -11, -131, -17, -64, -48, -82, -105, -417, -187, 9, -15, -37, -313, -10, -228, -6, -102, -355, -70, -502, -311, -32, -13, -10, -108, -36, -463, -13, -411, -16, -546, 1, -18, 46, 1, -238, -39, -30, 7, 21, -57, -51, -21, -85, -264, -61, -382, -127, -263, -62, -142, -267, -42, -104, -16, -152, -635, -7, -15, -103, 0, -22, 2, -135, -170, -177, -166, -183, 15, -442, -30, -121, -382, -164, -35, -350, 28, -400, -296, -193, -23, -36, -375, -262, -6, -39, -506, -20, -19, -44, -10, -397, -352, -18, -10, -189, -46, -122, -127, 9, -11, -16, 6, -56, -168, -240, -279, -815, -27, -393, -45, -357, -5, -355, -150, -196, -341, -135, -41, -7, -158, -109}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1833647232, 1979935104, 1696841472, 1899366144, 2066221312, 1751404416, 1775433984, 1400160640, 1148226048, 1644952192, 1787245696, 1216625920, 1134232192, 1854109056, 1542068864, 1784726400, 1952971008, 1212149760, 1313010816, 2085139584, 1986409344, 1127625728, 1312673280, 1542214912, 1787310720, 1130499456, 1705827712, 1442707968, 1818570752, 1140085632, 1305278464, 1149368704, 1915102208, 1696994048, 1353917824, 1868805760, 1282212736, 1805791744, 1202128896, 1148631168, 1191904640, 1100717696, 1241085568, 1427174912, 1809213312, 1212348800, 1087977472, 1244240768, 1957178624, 1098110080, 1178351232, 1168658560, 1972050176, 2095275648, 1752348160, 1150044160, 1251058176, 1514872320, 1409768448, 1562452224, 1585208320, 1294761088, 1754696064, 1154855936, 1728126080, 1245822976, 1334494464, 1504306688, 1299636992, 1790042496, 1869748992, 1224397824, 1495323136, 1749138944, 1342790784, 1529106816, 1131887744, 1212765952, 1224501760, 1863043712, 1312213760, 1156887296, 1095030016, 1075107328, 1175803136, 1778967936, 1158470144, 1365247872, 2055026944, 1749236352, 1141077376, 1254786176, 1156439168, 2069619328, 1277389440, 1224153344, 1150314240, 1669494400, 1967826560, 1136673664, 1623712384, 2076573184, 1928608512, 1798783488, 2144978432, 2080583808, 1218036352, 1311609728, 1564266880, 1192705408, 1152118400, 1812660864, 1117772928, 1437108480, 2027722496, 1287339136, 2011974144, 1509243776, 1418610048, 1085472768, 1509165440, 2021115776, 1898078080, 1103641728, 1903974272, 1445458560, 1303430272, 1936838656, 1240726272, 2013424256, 1120072448, 1307453184, 1119487616, 1349857792, 1399342080, 2101148160, 1679851776, 1351818624, 2107065344, 1962166400, 2096697344, 1477410816, 1305549568, 1457849472, 1141695872, 1556070528, 2011166720, 1322762752, 1648148864, 1817043200, 1836067968, 1441514112, 1334937088, 1259648384, 1480071552, 1801961344, 1090743552, 1719332992, 1113684352, 1809457792, 1934168704, 1593408000, 1739170944, 1584553984, 1152175104, 1861053440, 1837306624, 1472847232, 1473160832, 1505023872, 2145359488, 1559900416, 1802620800, 1124122880, 1108867712, 1151243008, 1684990080, 1317410816, 1594975872, 1363857536, 1659796224, 1662447744, 1421942400, 1459940608, 1582290688, 1308627072, 1689257600, 1155170560, 2053785856, 1601575808, 2131808256, 1480835968, 1515493120, 1358936576, 1461317376, 2002448512, 1874525312, 1488801152, 1643972480, 1151464064, 1170293632, 1880255104, 1735868288, 1084177408, 1270720128, 1953686400, 1750295040, 1745155328, 1681179392, 1157671168, 1181671808, 2009310336, 2067668608, 1239920128, 1773286528, 1103954944, 1074131968, 1795162368, 1790360192, 1854931200, 1580951808, 1392222464, 1414934016, 1359432064, 1628743680, 1590851840, 1159182848, 2086875264, 1977986304, 2134285312, 2145819648, 1103848192, 1491164032, 1548249344, 1077505408, 2019352192, 1108400896, 1517716352, 1201670272, 2010582400, 1946175744, 1942798720, 1185401600, 1463578880, 1311695616, 1112168576, 1942898432, 1602549120, 1736962560, 1286283392, 1564981248, 1178421888, 2067920256, 1830188288, 1670116096, 1899205504, 1103700096, 2108599296, 1156379520, 2022799360, 1874902528, 1781659264, 1336336768, 1840690048, 1222648960, 1557414656, 1826746112, 1660920064, 1207834752, 2045768320, 1580670976, 1600440448, 1219204864, 1678802560, 1948438272, 1477776640, 2012950912, 2070105728, 1900922752, 1921608960, 2120121472, 1100118272, 1636126080, 1889426176, 1301934592, 1614469120, 1812622592, 2001183744, 1501590272, 1341367808, 1486595584, 1741971456, 1105545600, 1177427712, 1278223104, 1473522048, 1235125632, 1646713472, 1390303232, 1475683712, 1357164032, 1613676288, 1303211904, 1299519232, 1617392128, 1748994944, 1305391232, 1125044352, 2022472704, 1729896192, 1867704576, 1078356096, 2009740288, 2122819200, 1644985472, 1177852800, 2146357888, 1378165888, 1135275008, 1185794304, 1592647296, 1225497728, 1352659200, 1656353408, 1500794368, 1213992448, 1505348352, 1518743680, 1406017664, 1817299328, 1596637056, 1372231936, 1233954304, 1477863040, 1111139456, 1666608896, 1105873408, 1283957376, 1378011648, 1939312000, 1132628992, 2123014016, 1236383360, 1691072256, 2069771776, 1760066048, 1348229760, 1152753280, 1949849600, 1445441408, 1910946304, 1454454016, 1346128256, 1238022656, 1831592576, 1082316416, 1078405376, 1190873088, 1703977984, 1140827392, 1162847616, 1533409664, 1848866304, 1205655168, 2055332736, 2013948928, 1972746880, 1132516224, 1331385344, 1534285952, 1270634240, 1710276224, 1889951744, 2036987520, 1527582848, 1316986496, 1679250304, 1478144128, 1588814592, 1271493888, 1551764992, 2071517568, 1788467584, 1759194496, 1212257664, 1110275200, 1986404736, 2035887744, 2132370432, 2089406592, 1828233856, 1379359488, 2002467072, 1686597760, 1383458048, 1458435712, 1263938304, 1924122624, 1243875968, 1420561920, 1475195904, 1644402304, 1558776704, 1149532928, 1431060224, 2054144512, 1392388352, 1925405696, 1563725824, 1679048704, 1933838848, 2002943872, 2055947904, 1398196480, 2088249088, 1637572608, 1426988928, 1889604608, 1279075584, 2081323520, 1731600128, 1669183232, 1535940224, 1283441920, 1755258496, 1520142592, 1277823488, 1724366080, 1629154816, 1841749760, 2147435520, 1624226560, 1257855360, 1906811392, 1275730176, 1383351296, 1410340864, 1778143104, 1502341504, 1122671872, 1928997376, 1586624640, 1084242688, 1960328192, 1202768128, 1974672256, 1554926080, 2126456320, 1797738880, 1576663040, 1208444288, 1586504192, 1506497152, 1623437440, 1472902016, 1575172352, 1352141696, 1279252864, 1755651712, 1394171776, 2086307968, 1359468544, 1419430656, 1266984064, 1773652096, 1258152960, 1159079552, 1601718144, 1382580864, 1753710592, 1974096128, 1160401792, 1674015744, 1116365696, 1078699648, 1266819584, 1923804032, 1078401536, 2075556224, 1920447232, 1886831488, 1216137216, 1272063872, 1661000960, 1260375936, 1564163328, 1453491200, 2078807808, 1223376384, 2142429696, 1516195456, 1423051264, 1908222080, 1199223424, 1598179968, 1741857920, 1820096640, 1749852928, 1194267776, 2007096192, 1382063616, 1735338240, 1121295104, 1794391680, 2014226048, 1725303680, 1209782912, 1682325888, 1561291264, 1815155840, 2002058368, 1701716096}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-47213, -14741, 9148, -40438, 13441, -17973, -19228, 14114, -17384, -5989, -18682, -5543, -4062, -9990, -48018, 16923, 39216, -1630, -952, -28268, -20060, 40817, 47969, -33300, -5092, -13051, -65555, -45061, 3095, -13820, 58464, -9499, 9376, -749, -8815, 21345, -3422, -8982, 33388, 3641, 3844, 16664, 16092, -22225, -48035, -35331, 9034, 84247, -26010, -25561, -24125, -16518, 5903, -34322, -21661, -26778, 23731, 8958, -8219, 14166, 5665, -69377, -26673, 11197, 48213, -37440, 4749, -24162, -13854, -17629, 10433, -7408, -18405, -56739, -10275, -11939, -9753, -16287, 35281, -23451, 23917, 63581, 24996, -21235, -8560, -35232, 61773, -13912, 31274, -4385, -17109, -4789, -11516, 58337, -23970, -12279, -23527, 33504, -53813, -4032, 12691, 10942, 1197, -7938, 2113, 5501, -45811, 38362, 30012, -16863, -3457, -9540, -10237, -58075, 5887, -48681, -26787, 4927, -20091, 31468, -14196, -32506, -12544, 38049, -8007, -27591, -54165, 17637, -22448, -4166, 12581, 6505, -12562, 15979, -54952, -23555, 10920, 36922, -8889, 41172, 4971, -33209, 27515, 29499, 32839, -4679, 52254, -553, -39702, 4558, -45683, 14084, -16015, -20920, -24486, -121, 3381, 48534, 4074, 10225, -18750, 14714, 8059, 31191, 13695, -27035, -20127, -46343, 10633, -20605, 24982, 15387, -11808, -41380, -28948, -833, 32748, 28451, -9074, 7509, 5195, -8354, -25080, -21725, -45274, -13636, 6655, -5362, -5863, 42278, 3552, 39004, 28352, -32421, -94187, -10465, -23379, 856, 2391, -35638, -23572, 4298, -44115, 31779, -11291, -12199, 3111, -29285, -42752, -1990, -51020, 9931, 12154, 75770, 23292, -20686, -43331, 4337, 12079, 42292, 31951, -8614, 14101, 16402, -10342, -5427, -27456, 10783, 49191, -25117, -18675, -1590, 17366, 2015, -28144, -1140, -41539, 4637, 5743, 7032, -34669, 278, -3052, 5473, -18485, -34230, -32323, -22057, -31060, 201, -713, 47459, -46885, -36316, -54905, -29128, -6842, -7711, 17788, -8034, 21528, 14056, -4689, 2480, -5718, 25212, -11256, 41812, -2727, 12424, -19805, 774, 40668, 3667, 12288, -32317, 34841, -10419, -16231, 23186, -15575, -16385, 7378, -3861, -28521, 23163, -4798, 29020, -14937, 19642, -32894, 5204, -23927, -13080, -24513, -32287, 24384, -7420, -24543, -9150, -33833, 10177, -14545, -40605, -37156, -24471, 14411, 13169, -10553, -4808, -62934, -15746, 75161, -33920, -21826, -15753, -52188, -5091, -641, -41501, -19022, -11290, 32730, -18729, 61290, -16406, -1909, -57032, -42458, -15539, -53003, 5185, -2038, 24127, -1729, 18331, -29466, -19746, -11610, 103591, 65153, -28817, -32765, 17164, 5469, -6534, 21682, -18813, 10817, 23887, -67722, 26347, 25754, -6661, -17080, -5359, -45248, 368, -9779, -41966, -10520, -15069, 22761, -36670, -14700, -15256, -33345, 3659, 2044, -15979, -34425, -13719, -6157, 8723, -27181, 12281, -2167, -32640, 4304, -7253, -10259, -21379, 3332, -39667, 2309, 14332, -73204, -27172, -32805, -60355, -25438, -17694, 1202, -31944, -28250, 6506, 8590, -23194, 13731, -47522, -31320, -49615, 9143, 1776, -7597, -22274, 19874, 12286, 20888, 23201, -26294, -3799, -17191, -21090, -24283, 12007, 33297, 10022, -16590, -797, 18534, -16586, 7087, 15466, -25588, -505, -190, 41375, -18156, -1633, -25127, -14195, 12362, -13877, 17189, -5608, 2954, -9502, 8076, -27200, -33382, -16849, 5840, -6705, 6249, -44246, -18607, 4325, -26905, 45701, -22519, 32393, -10759, -20300, 10687, -14983, 30155, 8953, -33166, 22172, -728, -3211, -7214, 13633, 6340, 14965, -48210, -25915, -2399, 18067, -22863, -4053, -17962, 5483, -40267, -17906, 4981, -6890, -19988, -10140, -2562, -7904, -20651, 11040, -24817, -13368, 7797, -5398, -24929, 22507, 13407, -16270, -18091, 25428, -34951, 23088, -19261, -22380, -28219, -14622, 2761, -22014, -12141, -21238, 15080, 4165, 4450, 11776, -19711, 988, -4239, -23672} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-98, -152, -139, -119, -129, -136, -91, -111, -157, -125, -122, -115, -139, -152, -138, -141, -151, -127, -132, -148, -137, -136, -133, -151, -111, -136, -132, -133, -131, -116, -125, -158, -139, -126, -128, -109, -162, -88, -114, -124, -134, -133, -135, -116, -141, -139, -135, -128, -111, -149, -134, -120, -118, -135, -129, -130, -107, -136, -126, -131, -105, -123, -131, -115, -130, -122, -112, -81, -124, -118, -108, -128, -131, -117, -114, -132, -111, -163, -124, -86, -150, -161, -130, -136, -129, -135, -133, -154, -136, -135, -138, -156, -138, -113, -104, -112, -119, -95, -168, -138, -132, -116, -128, -139, -130, -106, -133, -111, -145, -98, -115, -109, -116, -142, -110, -121, -133, -120, -135, -107, -114, -127, -130, -121, -135, -151, -130, -166, -98, -134, -142, -125, -123, -131, -129, -125, -108, -133, -150, -133, -116, -137, -123, -131, -134, -125, -91, -159, -169, -143, -115, -150, -104, -135, -99, -120, -140, -124, -128, -113, -138, -115, -121, -79, -111, -136, -128, -137, -124, -140, -129, -119, -116, -137, -128, -106, -102, -116, -124, -120, -147, -130, -131, -112, -127, -159, -101, -149, -118, -137, -77, -111, -121, -111, -118, -175, -127, -123, -125, -101, -111, -116, -115, -168, -119, -144, -135, -131, -130, -107, -130, -140, -122, -124, -121, -125, -138, -118, -152, -120, -94, -129, -119, -123, -136, -138, -123, -165, -114, -143, -139, -121, -128, -145, -143, -124, -135, -125, -134, -93, -134, -149, -109, -109, -148, -136, -120, -145, -104, -142, -166, -111, -118, -87, -145, -121, -153, -101, -103, -144, -102, -102, -138, -132, -153, -108, -114, -136, -106, -133, -112, -154, -136, -122, -133, -115, -120, -112, -139, -131, -155, -105, -111, -105, -156, -135, -103, -124, -138, -109, -103, -126, -140, -106, -123, -148, -138, -127, -139, -106, -139, -61, -81, -103, -143, -125, -159, -131, -106, -128, -139, -132, -94, -175, -126, -136, -141, -153, -138, -143, -134, -139, -132, -134, -156, -113, -97, -130, -135, -142, -105, -124, -131, -139, -142, -144, -133, -123, -108, -111, -121, -154, -144, -100, -205, -125, -95, -149, -116, -137, -138, -142, -120, -113, -134, -125, -154, -128, -144, -143, -127, -125, -124, -135, -120, -143, -123, -129, -120, -110, -127, -108, -114, -136, -138, -146, -127, -133, -116, -109, -121, -129, -113, -135, -101, -130, -120, -118, -135, -133, -124, -110, -151, -123, -101, -128, -117, -126, -111, -130, -123, -154, -114, -90, -146, -145, -140, -117, -116, -129, -125, -129, -147, -122, -137, -186, -124, -132, -174, -143, -108, -124, -142, -148, -144, -118, -120, -110, -128, -126, -138, -136, -102, -142, -141, -108, -127, -139, -131, -135, -135, -91, -114, -140, -110, -151, -139, -157, -123, -117, -120, -116, -109, -116, -133, -127, -134, -129, -144, -140, -117, -109, -122, -133, -156, -123, -120, -137, -73, -134, -125, -103, -134, -122, -143, -133, -126, -138, -127, -131, -156, -122, -122, -146, -129, -124, -107, -124, -106, -115, -84, -131, -117, -139, -150, -107, -116, -143, -127, -128, -116, -150, -105, -125, -133, -151, -127, -136, -107, -145, -145, -132}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1182821632, 1936340352, 1262428416, 1154547968, 1984468608, 2035010304, 1080598144, 1199274624, 1940621952, 2079027584, 1770489472, 2139506816, 1151289344, 1901224576, 1895954560, 1679878912, 1148166144, 2024059008, 1235845504, 1788336640, 1124251136, 1239715328, 2065906688, 1222440320, 1368455936, 1100625920, 1141808128, 2142682752, 1938286208, 1125212416, 1854394112, 1119678336, 1140288512, 1452231296, 2035070208, 1323454720, 1397550848, 1639197824, 1664599808, 1918834816, 1340089344, 1556903936, 1091715456, 1901467776, 1118871936, 1688440192, 1329969792, 1815841536, 1170322816, 1255553152, 1410891264, 1586895744, 1275499392, 1961486336, 1221442944, 1456405632, 1871250688, 1121042304, 2124492288, 2039722752, 1196733056, 2010385920, 1260563968, 2122086784, 2135187328, 1127497344, 1181884544, 1137426432, 1412637184, 1110104704, 1375294592, 1167461888, 1139483264, 1850448768, 1080604032, 2091764096, 1187436928, 2012844288, 1584428416, 1977703808, 1289871104, 2038685952, 1189565440, 1930944256, 1709145856, 1857511424, 1273805568, 1080740736, 1458229248, 1504596352, 1333137408, 1652863232, 1301913984, 1133131776, 1326110848, 1999724928, 1207553280, 1304218880, 1679186176, 1076993152, 1223299968, 1123096704, 2019292800, 1260412416, 1130388608, 1661419008, 2012856832, 1205918208, 2143577984, 1402105984, 1273391744, 1641117696, 1747003904, 1091101056, 1997062400, 1796794368, 1955396096, 1555692672, 1988960384, 1240446976, 1215608960, 1898445952, 1152305152, 2087986432, 1156755968, 1228116992, 1249498624, 1580056064, 1427548672, 1282108032, 1515016064, 1849696896, 1538162176, 1081635584, 1224184064, 1899054976, 1231121792, 1333972736, 2091304960, 1796371840, 2128970624, 1971627776, 1079665280, 1088623104, 1224135168, 1090690560, 1296943744, 1774346752, 1251548672, 1168756608, 2037290624, 1233812480, 1239907072, 1719168128, 1146593664, 1191190656, 1313591808, 1868786816, 1227274368, 1280291200, 2142605312, 1874733184, 1158097024, 1468944256, 1107728768, 1302957312, 1914034048, 1166487424, 1973313024, 1676666496, 1161781248, 1963632640, 1319618304, 2004783104, 2028466176, 1551580544, 1094170240, 2121235328, 1910344576, 1324511104, 2043096448, 2037001088, 1206382848, 1157958400, 2135944832, 1465026048, 1102411264, 1087987968, 1255732480, 1984092288, 2140040704, 1148678784, 1142779392, 1971904640, 1176158592, 1473410944, 1803459072, 1200614144, 2040172160, 1303660800, 2071026304, 1948242560, 1126212224, 1734786816, 1094999424, 1188355584, 1130751616, 2106313984, 1116377088, 1126569600, 1779717888, 1980838528, 1376508032, 1243384576, 1333165440, 1202634624, 1743055744, 1355415680, 1304610048, 1123627392, 1223137024, 1912886528, 2003450240, 1180493824, 1281527808, 1960770688, 1855659904, 1263823872, 1635408768, 1851349888, 2023157888, 1195803904, 1972817408, 1409500416, 1350766080, 1107975040, 2079746432, 1402608896, 1139559552, 1176528128, 1808805888, 1261473664, 1186599168, 1246370304, 1293916032, 1441716608, 2062111232, 1429356160, 1188519680, 1210454400, 1363223936, 1099133824, 1301845120, 1932835712, 1082082048, 1423469184, 1290198784, 1485841536, 1409855232, 1736315008, 1922250368, 1292090112, 1824325248, 1503707136, 2135687808, 1243809664, 1503816320, 1207321728, 1136078080, 1299623168, 1223918592, 2018365824, 1334117632, 1792232704, 1206805376, 1946613504, 1359417344, 1713562368, 1738420224, 1962680704, 1433728640, 2075759744, 1380892288, 1086002944, 1164784512, 1153210496, 1208982784, 2074803456, 2131511936, 1863299328, 1298886528, 1190700160, 1996842752, 1372225408, 1440998400, 1948035200, 2089819264, 2053605632, 1879595520, 1168179072, 1185330560, 1297137024, 1671083392, 2131442432, 1275249920, 1393418112, 1647463552, 1280152448, 1158094592, 2020998912, 1948672512, 1241975552, 1133767808, 1712761600, 1193247488, 1094381184, 1162537984, 1502232576, 1412828288, 2144669824, 1259162880, 1559628160, 1135618688, 1125102464, 1179783680, 1509016704, 1515870848, 1937415424, 2087174528, 1996094720, 1715070336, 1993926912, 1152370176, 1411557888, 2088364416, 1112138880, 1742755712, 1201664128, 1810149120, 2081872128, 1552363776, 2072286976, 2004407808, 1816210048, 1259390720, 1194425472, 1414346368, 1114151808, 1128110592, 1881664000, 1980768640, 1957291136, 1954062080, 1243490176, 1486483712, 1851278464, 1136691968, 2098277120, 1312635776, 2027060096, 1091495552, 1189738240, 1301420288, 2089499392, 1231106048, 1532548864, 1135612544, 1288843776, 1163778304, 1214940160, 1827195136, 1238642304, 1889228288, 1853081856, 1723744640, 1351357440, 2121929088, 1112896512, 1135266304, 1275926144, 1976016640, 1393631744, 1388982784, 1919171456, 1336616960, 1317417728, 1993118208, 2145966720, 1840066560, 1981922304, 1945612928, 1203921152, 1610930688, 2121750400, 2055177344, 1149937024, 1269319680, 1090805632, 1433721216, 1867333120, 2006273792, 1849113344, 1370237056, 1841257728, 1346842880, 1076515456, 1213190016, 1270014720, 1811532416, 1679402112, 1077639296, 1206133248, 1502964864, 1167755520, 1988655232, 1974764032, 1151704960, 2080211840, 1621193216, 2112835328, 1541925632, 1483602816, 1105873920, 1922895744, 1131039616, 1531040000, 1778764928, 1447249920, 1924479360, 1900748288, 1202433408, 1286467968, 1506324992, 1111673472, 1311131136, 1099002880, 1115659648, 1232145920, 1125489024, 1185775232, 1307685504, 1381314048, 1679590912, 2094253696, 1908140288, 1954105344, 1127261184, 1209613312, 1312049920, 1567148544, 1293678464, 1133536128, 1905608064, 1267971328, 1358013440, 1275721728, 1414923520, 2023173376, 1985799552, 2102295296, 1257530752, 1530337408, 1149368576, 1749579648, 1302656256, 1168690176, 2114061440, 1219766016, 1813618176, 1832725760, 1086918528, 1234557312, 1942664576, 1177254400, 1235326464, 1781034240, 1703344768, 1986603264, 1497462656, 1169335680, 2081413760, 1354396032, 1075541376, 1211077120, 1847973504, 2114457728, 1217206272, 1969522560, 1089206912, 1090415872, 1138931200, 1918212864, 1102114816, 2039257088, 1281106304, 1428703488, 1714220928, 1096231424, 1090244352, 2012846336, 1279340160, 2059839872, 1362404864, 1125117568, 1166337920, 1181426688, 1135721344, 1362155904, 1237234432, 1976978560, 1180149248, 2046539264}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-3745, -716, 136347, -1967, 51299, 78779, -2032, 39942, 75754, -1229, 24795, 8, -1134, -240, -1026, 34774, 83810, -629, 165935, -223, 98182, 125923, 41791, -3227, 91768, -859, -432, -508, -639, 103217, 54898, -632, 82112, 49011, 116163, 61433, -809, 76896, 81459, -785, 45220, 113849, -2771, -1204, -833, -686, -898, 57956, -721, -1206, 18190, 47273, 91474, -943, 121716, -658, -2697, 52091, 97934, 106108, 69157, 1498, -3948, -890, 80903, -479, 4091, 13996, -9620, -627, 13732, -2945, -1670, 61469, 96747, -584, -2117, -803, 56464, -671, 3799, 14536, 104398, -750, 110439, -799, 60319, -3791, 140954, 100641, -897, 75833, 96321, 117741, -850, -424, 19855, 28149, -557, -692, 96692, -615, 105238, 110378, -1072, 27630, 97911, -17807, 3093, -1177, 42147, 53359, -991, -850, -716, -499, -622, 8857, -15896, 54310, -919, -799, 97984, -987, 4468, -269, -864, 5922, -504, 115960, 21576, -642, -744, 103368, -1489, -799, 42674, -31979, -789, 59637, 72361, -991, 113087, 135424, 3641, -370, 83661, 41711, -584, -904, 131908, -1576, -2178, -105, -551, -769, 117260, 90669, 7820, 54298, 130044, -34027, 49150, 25493, 60730, -992, -928, -1106, 43570, 95615, 144333, 100750, 115635, -432, -16070, 63067, 88364, 145633, -521, -946, 76292, -1069, 104722, -995, -612, 90622, 1892, -1312, 111276, 58304, 77921, 54079, 122237, -549, -427, -360, 44567, 91909, 122781, 90991, 111527, 108608, -641, 49544, -911, 87666, -969, -845, 2582, -755, -424, 100667, 4650, -1034, 67715, -838, -1209, 90784, 165742, -719, 73488, 8772, 64106, 86138, -1205, 105667, -679, 66919, 48576, -1097, 250, -469, 65095, 96058, -5932, -526, -252, 90235, -847, 95843, 86458, 5318, 119734, 116000, -442, 127242, -602, 48216, -201, 59638, -873, 63207, 96678, 121577, -466, 126135, -561, 58006, 62628, -415, 98951, -8342, 2565, -1235, -701, 57318, -831, 99987, 67500, 65674, 109364, -415, 72792, -222, 72455, -601, 75712, -4330, -903, -497, 139270, -352, 125475, -529, -968, 152475, -1040, 63898, -614, 113075, -1307, -533, 113550, -769, 55284, -1042, 57195, -1570, -1936, 135607, 2142, 63604, 85083, -617, -615, 135853, -1043, -623, -1123, -498, -979, -501, 51024, 126440, -534, 97711, -3379, 45396, 86451, -440, 90916, 56858, 50849, -422, 105009, 56194, -37119, -611, -556, -1501, -329, 126378, 100854, 89910, 86818, 3413, -1314, -452, 71059, 41165, 45947, -374, -533, -5346, 133546, -479, 508, 262, -968, 74048, -433, 94583, 113922, -498, -657, -1271, -524, -1016, -529, -3051, -1913, 100486, 11175, -746, 55974, 130632, -588, -1140, 111342, -1065, -563, -609, 68788, -510, -490, 8034, -1430, -798, -1071, 57060, 108364, -421, 50492, -582, 86588, 7221, -368, -1036, -778, 11148, 37488, -873, 47424, -1711, -869, 81678, 86583, -981, -416, -599, -16116, -619, 74699, 89655, 74489, -1191, -3369, 64853, -15484, 74746, -611, 107437, 22834, -282, -507, 113858, 87662, 60380, 57320, -954, 97937, -323, -1313, -752, -1548, -6128, -654, 63983, -567, -267, -1673, 71211, 81208, 97526, 77970, 54677, 88164, 36068, 49048, -679, -442, -1055, 51771, -812, 38404, -411, 101502, -836, -947, 75305, -854, -21528, 135596, 117908, 126086, 150175, 92343, 85456, -837, -1201, -2148, 98224, -377, 20772, 80369, 53705, -347, -688, -1515, -658, -1280, 122690, -1652, 97173, 135162, -454, 113282, -366, -1966, -807, 8176, 46698, -167, 86416, -6623, -4091, 73059, -3351, -10392, 100405, 25278, -2316, -1931, 91337, -591, 87976, -888, 100232, 96404, -1099, 122352, -4110, -159, -755, -906, 78271, 59448, 62246, -365, 129731, -647, 2338} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {-69, 84, -268, 51, -363, -308, -129, -358, -364, 66, -61, 67, 55, 70, 73, -346, -233, 53, -372, 63, -356, -328, -324, 55, -345, 71, 65, 83, 57, -341, -256, 34, -288, -328, -383, -346, 49, -341, -329, 74, -311, -333, 66, 46, 94, 76, 74, -289, 75, 69, -85, -316, -409, 65, -322, 78, -149, -339, -355, -343, -338, 47, 66, 101, -303, 64, 50, -149, 122, 96, -105, 89, 62, -399, -305, 99, 100, 54, -298, 51, -117, -136, -345, 77, -303, 64, -316, 31, -334, -314, 80, -332, -330, -322, 66, 75, -125, -153, 33, 72, -241, 49, -360, -356, 65, -152, -289, 204, 52, 44, -362, -393, 67, 84, 81, 63, 48, -111, -8, -271, 64, 79, -354, 79, -107, 80, 63, -110, 52, -344, -87, 71, 56, -342, 83, 33, -337, 51, 78, -271, -410, 86, -330, -347, -6, 71, -288, -315, 69, 66, -364, 43, 71, 81, 44, 49, -346, -404, 85, -296, -316, 97, -300, -142, -345, 88, 88, 57, -176, -369, -371, -294, -346, 62, 126, -317, -319, -353, 64, 96, -366, 77, -345, 82, 60, -344, 66, 62, -464, -279, -362, -283, -353, 42, 65, 75, -331, -451, -331, -360, -365, -339, 70, -265, 58, -341, 40, 76, 88, 61, 89, -384, -95, -105, -360, 73, 14, -367, -384, 79, -253, -125, -298, -303, 70, -358, 64, -276, -246, 59, 67, 43, -388, -361, -157, 105, 24, -363, 66, -341, -347, -131, -338, -293, 67, -302, 58, -353, 111, -348, 73, -226, -305, -257, 67, -318, 37, -355, -354, 57, -519, 81, 72, 55, 81, -419, 90, -336, -338, -374, -333, 77, -294, 76, -321, 104, -299, 50, 76, 34, -359, 54, -356, 62, 65, -324, 65, -261, 53, -357, 60, 101, -394, 52, -363, 84, -343, 72, 89, -322, 61, -360, -326, 58, 80, -283, 72, 95, 52, 69, 62, 73, -246, -310, 41, -354, 69, -377, -459, 54, -322, -353, -351, 35, -364, -295, 150, 70, 58, 100, 67, -337, -459, -373, -322, -94, 92, 77, -334, -227, -249, 44, 58, -64, -271, 81, -151, 80, 53, -345, 82, -335, -303, 90, 71, 89, 52, 59, 64, 80, 57, -372, -116, 68, -288, -373, 90, 65, -378, 62, 76, 7, -317, 57, 62, -79, 67, 72, 102, -436, -287, 70, -412, 68, -327, -133, 85, 66, 83, 32, -315, 46, -322, 63, 64, -342, -337, 88, 63, 73, -125, 51, -342, -355, -356, 103, 76, -335, -143, -362, 100, -343, 16, 93, 50, -353, -381, -276, -358, 80, -305, 31, 76, 67, 73, 28, 59, -241, 54, 75, 65, -402, -299, -346, -346, -212, -336, -353, -346, 38, 61, 59, -324, 68, -323, 54, -313, 71, 74, -411, 67, 72, -378, -335, -328, -375, -296, -381, 50, 63, 71, -329, 69, -163, -309, -284, 61, 67, 57, 33, 83, -335, 73, -358, -372, 22, -345, 66, 56, 89, 56, -346, 73, -351, 92, 52, -285, 69, -142, -342, -123, 61, 67, -413, 71, -317, 55, -347, -332, 83, -307, 40, 79, 41, 78, -321, -407, -206, 60, -308, 58, 31}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1834559360, 2020145536, 1752883968, 2050697728, 1156963584, 1414692608, 1609678848, 1212968704, 1716636416, 1656571520, 1175593728, 1386977280, 1075393792, 1933198208, 1784615936, 1373463040, 1256298624, 2059970304, 1269281664, 1086718208, 1173658112, 1335263488, 1405012736, 1718385792, 1343156224, 2060984704, 2032466176, 1108451328, 2069437056, 1172049408, 1312364544, 2051829376, 1966039168, 2052886656, 1929061376, 1774582656, 1902040832, 1646026112, 1538157440, 1684959360, 1133392384, 1220922880, 1553812352, 1925448832, 1638026496, 2000414848, 1985740416, 1889347584, 1096971392, 1814347264, 1174720640, 1366962048, 1310275584, 1927368576, 1641141760, 2089807872, 1502687360, 2096157824, 1192017792, 2042809088, 1420156800, 1857500544, 1862848000, 1830563072, 1908153600, 1214430720, 1926466432, 1561540608, 1947579904, 2068889984, 1258427904, 1274072960, 1670336768, 1918287104, 1274768384, 1108468864, 1265352960, 1567084032, 1287098752, 1186058880, 1349428992, 1781799168, 1539352960, 1999000320, 1543836544, 1914405888, 1991384704, 1321169152, 1411253504, 1337858432, 1247068928, 1636719872, 1447986816, 2065124992, 2014421120, 1227336832, 1283230592, 1327206912, 1261283200, 1830504192, 2144721536, 1782884608, 1099572096, 1608547712, 1949413248, 1722121984, 1259932288, 1957134464, 1733491072, 1995060480, 1234880640, 1885344256, 1219211776, 1926539520, 1891263872, 1192479872, 1127506304, 1623186048, 2126847616, 1197235968, 1194283136, 1797650432, 1318528384, 1461392896, 2064854400, 1634991360, 1327162624, 1439423104, 1885966208, 1672948992, 1592405248, 1808519296, 1738523264, 1190246784, 1314523904, 1916515328, 1108566656, 1569573504, 1802364544, 1150333440, 1359072000, 2137087232, 1188258304, 1520865152, 1158931456, 1354362496, 1543351424, 1211893248, 1136501760, 1805030144, 1913713536, 1388075264, 1296469760, 1352368128, 2112714368, 1835883904, 1739485824, 1455507072, 1986175744, 2109917312, 1763881600, 2000733184, 2119944576, 1193431552, 1163393152, 1845526656, 1208130560, 1621394304, 1999928064, 1163090304, 2141097344, 1247320704, 1383540352, 1134719488, 1616871424, 1386117760, 1703071872, 1188062336, 1093260928, 1758294912, 1811162880, 1628667136, 1125210240, 1896115456, 1399307520, 1583079808, 1989250048, 1089802368, 1943857920, 1237825152, 1613188096, 1131172224, 1812347648, 1248737408, 2120683264, 1177090432, 1504333824, 1651180160, 1754484608, 2021803008, 1138701696, 1133332992, 1090123776, 1408341248, 1638164608, 1174166400, 1896902912, 1819863424, 1262172288, 1120552576, 1223434112, 2052158464, 1203732352, 1281572096, 1383236352, 1228396288, 2137941120, 1515656832, 1362662400, 1647602432, 1857153408, 1614803968, 1546495744, 1301494528, 1713501696, 1136003712, 2080585856, 2038033280, 1565495936, 1905456768, 2013995264, 1372032896, 1733730048, 1669930240, 2106937344, 1799894528, 1303661312, 1517588608, 1800034816, 1289689088, 1439239936, 1930629248, 1484231808, 1935748480, 1403685248, 1931908864, 1929882240, 2135318016, 1515807104, 2023792512, 1729987840, 2001892992, 1691948032, 2108197632, 1347785600, 2046054272, 1227099008, 1900287232, 1979450496, 2110658688, 1386596096, 2103025792, 2145907584, 1891304320, 2078260864, 1804183040, 1208189568, 1467828096, 1150684544, 1712451712, 1215418240, 1109796608, 1522381056, 1316924800, 1248396032, 1128899968, 1345862656, 1183049088, 1936395776, 1709679488, 1670111616, 1848972800, 1173933696, 2130761472, 1783944448, 1450880512, 1277249920, 1917418752, 1182188416, 1589855872, 1798965888, 1124728832, 1682192768, 1762864000, 2120976256, 1920048128, 1931348608, 2049527168, 1225800064, 1672696576, 1777962624, 1615703936, 1402021632, 2107042944, 1107901696, 1691450112, 1829613440, 1298997376, 2041471616, 1999777536, 2009725824, 1498472448, 1435382912, 1471719680, 1949931904, 1111018624, 1534138752, 1131465088, 1202710272, 1392388864, 1120576640, 1867390080, 1992049024, 1165736320, 1963172864, 1582288512, 1111136512, 1199769472, 1163277952, 1252707968, 1567489664, 1813851904, 1197015168, 1393172480, 1092368896, 1550471936, 1676593920, 1203037952, 1897491712, 1735362048, 1891643392, 1999292672, 1099286784, 1481559296, 1678794624, 1155694976, 1688472448, 1277681408, 1662613120, 2078849920, 1105241856, 1477119616, 1841934080, 1099087232, 1683957760, 1559540992, 1288185984, 1598576128, 1300821632, 1700599936, 1309202176, 1296298240, 1564552704, 1894692480, 2082644352, 1260659072, 2084653440, 1609285376, 1693313920, 1796628608, 2119938944, 1157666048, 1908656384, 2065011584, 2075949568, 1871173888, 1631686912, 1647538048, 1942694272, 1754948736, 2123134976, 1253533568, 2055623040, 1967114240, 1481085056, 1295749888, 1861032192, 1935550336, 1774225280, 1794280192, 1429326336, 1091625216, 1078135936, 1927127680, 1645731072, 1718213376, 1577806208, 1583848320, 1504336640, 1155849984, 1228012544, 1818173312, 1509309568, 1232488960, 1496466560, 1421986176, 1321801984, 1620945408, 1821741568, 1871353856, 2106790016, 1535800320, 1418049664, 1130347008, 1208407808, 1112207104, 1390477184, 2070350080, 2131513216, 1810424576, 1410270336, 1527937664, 1528619904, 2025707520, 1954412544, 1157517312, 1782843392, 1597418112, 1102077056, 1994600192, 1559647232, 1433899648, 1200185728, 1103837312, 1513107968, 2094166272, 1702722688, 1377027200, 2061736832, 1365828992, 1181895680, 2058349312, 2133776640, 1353319040, 1302076032, 1911017856, 1318051584, 1740522240, 1692127488, 1912292352, 1236905216, 1765263360, 1693836800, 1899547264, 1434712704, 1283053824, 1287504128, 1100220416, 1074613376, 1767939584, 1607148288, 1923161088, 1629200640, 1469205248, 1100817792, 2140911360, 1377840128, 1858546816, 1360972416, 1111871488, 1625562496, 1888932096, 1690591616, 2140875264, 1642747136, 1280161408, 1363161728, 2087377536, 1375538304, 1646820864, 1729902976, 1092277504, 2037317888, 1837498880, 1816052736, 1733212672, 1570150528, 1565768448, 1565145600, 1897243776, 1809421696, 1359335424, 1675301632, 1338345344, 1170429696, 1518842496, 1605012736, 1467636992, 1095081728, 1627154304, 1441144192, 2002617856, 1972973952, 1148852864, 1233116416, 1696469376, 1736115712, 1542769408, 1302672128, 1719611904, 1173307776, 1223931008}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {1247, -1084, -1872, -2793, -781, -848, -204, 3957, 66, -1377, 176, -230, 1123, 3647, -1670, 4129, -2322, -2091, 339, 825, -1894, 2240, -1223, -580, 1836, -2252, -225, 3819, -231, -1689, -724, -1688, 930, 3064, -2164, -1370, 412, 200, 179, -1793, 1966, 485, 2224, -938, 2701, -704, 314, -727, -848, -1939, -403, -1564, 2275, 2844, 759, -2028, 1042, -1355, 407, 272, 890, -41, 2770, -2616, 25, 2479, 3741, -114, -2221, -840, 486, -736, -230, -1523, -1138, -4601, -272, -1654, 4100, 84, -840, 2012, -1940, -3083, -796, 500, 410, -793, -1152, -1548, 2856, -42, 3452, -1216, 380, 441, -833, -4015, -207, -1273, 754, -455, 444, 443, 3705, 104, -1159, -1296, 1567, -450, 606, -1871, 4059, -1766, 1933, 854, 1141, 3468, 1553, -1604, 1090, 2364, -1160, -1686, 184, -3675, 79, 1672, -2376, 886, 501, 4131, 710, 2022, -579, 3046, -717, 329, -320, -36, -1943, -2450, 243, -2421, -1091, 3047, -319, 1992, 684, 52, -892, 2594, -2931, 2161, 2730, 299, -181, -1198, -798, -267, 67, 1148, 303, 543, 2237, 1649, 993, 1497, 700, -420, -519, -1378, 1572, -2448, -830, -753, 1202, -960, 938, -47, -2289, 3070, -1086, -768, 85, 640, 2147, 1722, -2182, 632, -3221, -2031, -432, 1739, -2507, -2871, -659, -542, 9, -379, -615, 2718, -818, 643, -301, 285, -2745, 187, 3122, 442, -20, 3528, -49, -1137, -238, -1124, 211, 2828, 725, -1542, 650, 2729, 920, 368, -2696, 1017, -189, -176, 4011, 1754, 104, 208, 212, 1044, 965, -1561, -1358, -2851, -2438, 1541, 1382, -346, 2230, -604, -2650, -269, -1047, 22, 1893, 3859, 1460, 1183, 908, -2103, -1409, -951, -2322, 2834, 3313, 775, -1843, 2408, -1347, 424, 247, -1667, -442, -1304, 246, -1662, 996, 2084, -609, -56, -810, 5001, 2597, -27, 4272, 516, 5003, -1812, 1329, -1401, -2176, 750, 1471, -2385, 963, -1560, 393, 1234, -867, 3674, -454, 1232, 2422, -180, 101, -311, 784, -2856, -1057, 721, 1770, 2005, -1072, 1487, 1103, 590, -97, -2523, -592, 190, -1270, 1809, -1780, -983, -973, 105, -3284, 446, -627, -480, 1751, 2724, 1195, 2303, -778, 101, -754, -1822, -1358, -286, 1339, -413, 2296, -1881, -1891, -1278, 2162, -2238, -1058, 620, -2292, 228, 2759, 1232, -1043, 1108, 703, 1519, -1953, -1515, -1582, -1175, 434, 3449, -1952, -2106, 1833, -2167, 1564, -1328, -1842, -1193, 495, -3030, -1723, -1693, -972, -628, -1458, -9, -531, 42, -1013, -1982, 2475, 1627, 725, 4128, -855, 535, -616, 1722, 919, -165, 13, 532, -2181, -1315, 1534, -261, -61, 1459, 194, 2608, -5296, 1324, -541, -2725, 779, 1231, -58, -1985, -3734, 2106, 1663, 4122, -10, 1294, 1298, 1344, 1215, 1584, 419, -3534, -4801, 307, -2302, 110, 2265, 272, 667, -806, -1500, 392, 1286, -1025, -1503, -2679, 1460, 916, -2466, 2024, 500, 2181, 812, 81, 139, 435, -895, -530, -1717, -93, 752, 1478, 198, -392, -2703, -2307, 1224, 1374, 104, 663, 786, 624, 239, -856, 5152, 640, 877, 1676, -110, -1675, 484, 1645, -14, -795, 1917, -404, -1282, -2197, 4468, 2389, -466, 1030, -952, 1401, 409, 1499, -2585, 4323, 2266, 914, 392, 2263, 926, 1970, -1110, 4353, -2834, -705, -2462, -800, -2640, 1802, 1556, -506, -792, 1738, -824, 37, -1004, -1797, 901, 2169, 137, 1079, -883, -1454, -57, 1757, -799, -3238, 0, -1583, 679, 1454, -2970, 23, 2452, 880, 441, -2930, -761, 952, -735, -1741, 995, -755, 2235, 2676, -1120, 1706, 1327, 704, -278, 3422, -975, -1346, -166, 1962, 1611, -1476, 280, -2035, -1331, -761, -2570, -1315, 2502, 1454, -572, 477, 1595, -1479, -1738, 1572, 1058, -456, 2660, -713, -1531, 390, -1628, -437, 2031, 1725, 1967, -2910, 834, 1702, 431, 875, -2429, 2502, 2774, 2412, -68, 1469, -1676, 1164, 883, -573, 1001, 1751, 1453, 673, 2164, -399, 2731, 546, -1270, 282, 862, -1684, -3649, -1693, 185, 1045, 1799, 698, 103, 686, 1680, -670, -2689, -776, -754, 907, 1110, 1088, -178, 747, -2300, 400, -968, 34, -1113, -581, 1049, 1401, 1743, -1319, 1113, -677, 929, 1921, -2045, 1713, -1988, -52, 1288, -305, -1125, 1317, -1579, 1723, -1669, -1949, -1412, 623, 2217, 1146, 1373, 839, 1634, 1088, 1128, 3282, -637, -1893, 1503, -864, 2316, -1662, 1913, 671, -1685, -3954, -1766, -4448, -354, -2171, 2832, 1864, -1701, -1957, 816, 5008, -679, 847, 168, -96, 542, -2142, -435, 2635, -1201, -144, 2579, -1668, -1088, -1371, -270, 1991, 922, -1361, 2318, -2669, 4389, -660, -1413, -1153, 130, 2091, -830, 1145, 3193, -1564, -3915, -2090, 349, -1696, -488, -3059, 464, 466, 615, -1548, -522, 2174, 756, 1231, -1380, -1527, 516, -1224, 3658, -1189, 248, 1551, 3226, -274, -2414, 387, 3114, -330, 148, 1963, -434, -706, -77, 927, -3616, -2309, 35, -660, 295, -2102, -820, 1426, -2120, -883, 253, -1228, 8, -1773, 645, -866, -1293, 3021, 2112, -349, -409, -342, -532, -572, 1489, -415, -298, -1623, -2106, 2194, 604, 1597, 318, 928, 411, 1726, 359, -248, -934, -2225, 357, -233, 564, -620, 594, 857, 415, -202, 2156, 2491, -226, 1983, -732, 1050, -1230, 40, 2504, -383, -1999, 1148, -2171, 1514, -1344, -1540, 3426, 1488, 637, 504, 353, 1862, 1419, -838, 4517, -1746, -1611, 496, 2406, -648, 1400, 835, -744, -329, 1855, 293, 1227, -655, -833, -1010, -352, 372, 992, 1282, -402, 1376, 1912, 2455, -791, 1976, 2353, 593, -277, -305, 236, -223, 52, -570, -194, -797, -144, 1741, -1481, -241, 2242, 2652, -462, 55, -515, 719, -1246, 536, -250, -1481, -427, 2364, -161, -1417, 304, -2095, 1297, 598, -3257, 885, -2481, 1942, -610, 891, -594, -322, 738, -547, -1949, 3056, -106, 84, 485, 801, -1170, -573, 1217, -2008, -1030, 1050, 1146, 112, 568, 577, 77, -988, -2366, -1207, 3974, -261, 663, 1454, 2436, 1171, -1265, 358, 3007, 1209, 1609, 2057, -361, -1642, -300, -751, -446, -847, 940, 1560, 464, 2036, -914, 830, 1269, -2791, 1630, 1490, 621, 388, -2733, 1136, -357, -1743, 3024, -913, 2732, -356, 2427, -777, 700, -2796, 58, -1792, 1628, -979, -93, 712, 452, 814, 2080, -744, 441, 1413, 225, 837, 3800, 83, 1626, 1304, -2420, 13, 2170, 1854, 1031, -2433, -705, 328, -2413, 2714, 562, 1874, -609, 645, -31, -335, 1274, 1817, 510, 1140, -354, -2024, 1430, 632, 295, -1532, 196, 423, -798, 1466, -3342, 1297, 80, -574, -425, -2944, -434, 869, -331, -983, -606, 2877, -1439, -2140, -1642, 204, 2677, -1303, 1587, 1405, 2363, -1273, 2587, 602, -1313, -763, -2927, 442, 1636, -160, 17, -2743, -200, 1922, 2565, 718, 1153, 434} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-9, -6, -9, -7, -7, -7, -8, -7, -6, -6, -7, -6, -6, -8, -8, -8, -8, -9, -7, -6, -8, -7, -7, -9, -6, -7, -8, -7, -7, -7, -7, -7, -9, -8, -6, -9, -7, -9, -8, -5, -7, -8, -7, -7, -8, -8, -9, -7, -9, -8, -8, -8, -6, -8, -6, -8, -5, -8, -8, -8, -5, -10, -6, -6, -8, -7, -7, -8, -7, -6, -8, -6, -7, -7, -8, -6, -8, -8, -6, -7, -7, -8, -8, -7, -11, -7, -7, -7, -8, -8, -7, -8, -9, -5, -7, -7, -7, -6, -6, -7, -5, -7, -8, -7, -8, -6, -6, -7, -8, -10, -9, -7, -7, -8, -8, -7, -7, -8, -7, -7, -8, -7, -4, -6, -9, -8, -8, -8, -8, -6, -8, -6, -9, -6, -7, -8, -7, -7, -8, -8, -8, -8, -7, -8, -8, -8, -7, -9, -9, -8, -8, -7, -8, -7, -9, -8, -8, -8, -7, -7, -6, -8, -10, -8, -7, -7, -6, -7, -6, -7, -8, -8, -8, -8, -6, -9, -8, -7, -8, -9, -8, -8, -8, -9, -7, -7, -6, -7, -9, -9, -8, -8, -10, -7, -7, -7, -8, -7, -6, -9, -9, -8, -9, -8, -7, -6, -9, -8, -8, -7, -7, -8, -5, -9, -10, -8, -7, -8, -8, -7, -8, -7, -7, -8, -8, -6, -7, -7, -7, -7, -8, -7, -6, -7, -10, -7, -8, -8, -8, -8, -6, -7, -8, -6, -8, -7, -8, -7, -7, -7, -8, -7, -8, -8, -9, -6, -8, -6, -5, -8, -9, -5, -7, -5, -7, -8, -7, -9, -6, -8, -9, -7, -7, -7, -9, -7, -6, -8, -8, -9, -8, -8, -7, -9, -8, -8, -7, -8, -5, -8, -5, -6, -7, -7, -7, -7, -4, -7, -8, -7, -6, -9, -7, -5, -7, -7, -7, -8, -9, -5, -7, -8, -6, -9, -5, -7, -9, -8, -7, -8, -8, -8, -8, -7, -7, -8, -6, -7, -6, -7, -8, -8, -7, -7, -9, -8, -7, -9, -7, -8, -7, -7, -7, -6, -8, -5, -7, -8, -8, -6, -7, -6, -9, -7, -8, -7, -9, -7, -8, -7, -7, -9, -8, -8, -7, -8, -7, -5, -8, -9, -7, -7, -7, -6, -8, -5, -8, -7, -6, -6, -8, -9, -8, -8, -7, -6, -4, -5, -6, -8, -9, -8, -8, -7, -9, -8, -7, -7, -8, -9, -8, -5, -10, -8, -7, -8, -6, -7, -7, -7, -7, -6, -10, -8, -7, -8, -6, -8, -8, -4, -8, -7, -10, -7, -5, -10, -9, -7, -7, -8, -9, -7, -9, -7, -10, -7, -7, -7, -6, -8, -8, -8, -7, -8, -8, -6, -7, -6, -7, -9, -8, -7, -8, -9, -6, -8, -7, -8, -7, -7, -8, -8, -8, -7, -9, -8, -7, -6, -6, -7, -7, -7, -6, -9, -7, -6, -6, -8, -7, -6, -8, -5, -8, -7, -8, -8, -6, -8, -8, -7, -7, -8, -8, -7, -8, -8, -8, -8, -7, -9, -9, -6, -8, -8, -9, -8, -7, -8, -9, -4, -6, -8, -9, -6, -9, -7, -7, -8, -7, -8, -7, -9, -7, -8, -7, -8, -8, -8, -8, -8, -8, -9, -8, -7, -8, -9, -8, -3, -8, -6, -9, -6, -7, -6, -6, -6, -8, -5, -9, -6, -8, -6, -7, -6, -8, -8, -7, -7, -7, -7, -8, -8, -7, -9, -7, -8, -8, -6, -8, -7, -8, -7, -8, -8, -7, -7, -7, -7, -6, -9, -8, -7, -9, -7, -6, -8, -9, -7, -5, -7, -7, -7, -8, -7, -7, -10, -9, -7, -8, -8, -7, -8, -8, -7, -8, -5, -8, -8, -8, -8, -9, -7, -8, -9, -5, -7, -9, -8, -8, -7, -8, -8, -6, -6, -6, -8, -6, -9, -6, -5, -7, -7, -9, -5, -9, -8, -6, -7, -7, -8, -8, -9, -8, -6, -9, -10, -8, -8, -6, -8, -11, -7, -9, -6, -7, -8, -8, -5, -7, -6, -7, -8, -8, -8, -9, -7, -9, -7, -9, -7, -9, -8, -7, -9, -9, -7, -7, -7, -6, -8, -8, -8, -8, -10, -8, -8, -5, -8, -6, -8, -9, -8, -7, -9, -6, -8, -7, -8, -9, -8, -9, -7, -9, -8, -5, -7, -8, -8, -5, -8, -8, -7, -8, -8, -7, -8, -6, -8, -7, -7, -6, -8, -5, -5, -6, -6, -7, -8, -8, -7, -6, -8, -6, -7, -7, -8, -7, -8, -7, -10, -7, -6, -9, -7, -8, -8, -8, -7, -7, -7, -7, -7, -6, -7, -8, -8, -9, -7, -7, -8, -7, -9, -7, -7, -7, -8, -8, -8, -6, -4, -9, -7, -7, -7, -8, -8, -7, -8, -8, -8, -7, -5, -6, -10, -5, -7, -8, -7, -7, -8, -7, -5, -7, -8, -8, -8, -7, -7, -7, -8, -6, -6, -8, -8, -2, -9, -8, -9, -6, -8, -6, -8, -5, -7, -8, -9, -7, -8, -8, -7, -8, -8, -6, -9, -6, -8, -6, -6, -8, -6, -8, -7, -8, -5, -7, -7, -7, -7, -9, -7, -8, -7, -8, -8, -7, -7, -8, -8, -8, -9, -7, -6, -9, -5, -7, -8, -6, -7, -5, -6, -5, -7, -7, -7, -7, -7, -7, -8, -7, -8, -8, -6, -8, -8, -8, -8, -7, -7, -7, -8, -8, -7, -8, -8, -6, -7, -8, -7, -6, -7, -8, -8, -7, -9, -7, -7, -7, -7, -4, -7, -8, -7, -9, -5, -8, -8, -5, -7, -7, -8, -8, -7, -8, -8, -6, -9, -8, -8, -8, -6, -7, -7, -8, -7, -8, -10, -8, -7, -5, -8, -7, -10, -8, -6, -8, -7, -7, -8, -9, -7, -7, -7, -8, -7, -11, -6, -7, -7, -8, -7, -8, -7, -7, -7, -8, -5, -10, -6, -7, -8, -8, -9, -6, -7, -7, -7, -8, -7, -8, -8, -9, -6, -7, -8, -8, -9, -7, -6, -6, -8, -8, -8, -5, -8, -6, -7, -6, -7, -7, -7, -6, -8, -8, -6, -6, -5, -6, -7, -8, -7, -8, -9, -7, -7, -10, -8, -6, -8, -7, -8, -6, -7, -8, -6, -7, -8, -8, -8, -7, -8, -8, -7, -6, -9}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1181244416, 1514774528, 1322680448, 1467842048, 1341383808, 1437565824, 1289587712, 1114923904, 1914563328, 1465760384, 1368657024, 1617262848, 1490333184, 1298475776, 1995906688, 1249082112, 1133754112, 1303939072, 1356466304, 1472288128, 1883425792, 1628416000, 1506593408, 1516193024, 1454987520, 1639193856, 1317329920, 1451318656, 1934934016, 1158939264, 1228763136, 1307504512, 1974120320, 1295592576, 1224667136, 1251199488, 1201584512, 1892027776, 1247212416, 1700753408, 1276356480, 1799079936, 1845654400, 1294008704, 1202321024, 1152170240, 1322349696, 1414874624, 1616878080, 1569275904, 1499201152, 2111544576, 1555907584, 1354624768, 1376857216, 1264268416, 1756444160, 1080366976, 1324433536, 1461755648, 1281574272, 1404386944, 1510154368, 1524280832, 1272347776, 1446017792, 1632527232, 1399915776, 1589996928, 1301033856, 1770707712, 1382471808, 1584528640, 1199084416, 1206718592, 1462574080, 1421567872, 1431666304, 1249508864, 1683660416, 1813006720, 1745873792, 1174430592, 1377649408, 1687420800, 1163329152, 1269889920, 1300220928, 1132828416, 1376790656, 1922286336, 2113497600, 1217380352, 1418267264, 1277956992, 1460373760, 1718296320, 1313424256, 1915415936, 1437923712, 1908976768, 2138154368, 1419998720, 1796304000, 1255292928, 1913504384, 1462939392, 1135632512, 1367929984, 1712824960, 1456668160, 1484612352, 2105044864, 1241990144, 1285606784, 1305556224, 1898520704, 2108530432, 1860764288, 1450039680, 1514008960, 1647526656, 1444210816, 1749470592, 1442136576, 1090949376, 1323118976, 1286720384, 1235507840, 1877034496, 1204298112, 1331338368, 1177774336, 1564092288, 1315362176, 1177754624, 2092432384, 1448386048, 1171641600, 2142543488, 2032717184, 2046270720, 1359519488, 1284320256, 1378664064, 1117419136, 1357269504, 1123282304, 1444492544, 1750620160, 1971311360, 1263004160, 1886581632, 1174886400, 1526173824, 1285634432, 1649025152, 2101139712, 1255462272, 1287185024, 1658219904, 1731143680, 1384202112, 1143917824, 1800652928, 1381252096, 1474370176, 1135486848, 1324732288, 2084273536, 1252193664, 1286237312, 1545934976, 1219214720, 2049709440, 1566753664, 1106878464, 2033061248, 1229670784, 1473963904, 1126729984, 1291972864, 1272344064, 1714809472, 1483017216, 1365557120, 1716188288, 1105763456, 1790096768, 1882262656, 1146728704, 1106029568, 2084709120, 1698350592, 2103601024, 1317253504, 1410534016, 1436332928, 1585268352, 1180542720, 1894754304, 1643175552, 1503108480, 1333331456, 1301574528, 1586704896, 1087200256, 1558477568, 1557932416, 1497359488, 1095381248, 1154461312, 2011605376, 1200638592, 2050941056, 1456350720, 1239698816, 1246477184, 1323097216, 2133040896, 1194579840, 1178085376, 1268657152, 1478916096, 1172561920, 1417161088, 1582398336, 1753552128, 1556680448, 1277048064, 1266174720, 1150040320, 1249487488, 1502002176, 1988763520, 1087627648, 1428127104, 1240767360, 1189325440, 1712839680, 1574475008, 1919768064, 1181286912, 1862383232, 1171034112, 1261845760, 1220264960, 1397207552, 1734033408, 2122182144, 1658667008, 1747906816, 1634792960, 1425501312, 1514248192, 1936880256, 1355763456, 2121336320, 1325429760, 1143200256, 1205494272, 1369354496, 1214525440, 1888781696, 1322335360, 1084584576, 1172632320, 1681342080, 2146418432, 1322315776, 1323169536, 1635082368, 2064099840, 1860373888, 1493658880, 1317059584, 1977946496, 1537305088, 1533292928, 1450389248, 1260605568, 1411041536, 1108236800, 1238940288, 1169477888, 1706461568, 1362085888, 1147994880, 1737970176, 1192454784, 2079368576, 1912897024, 1341812608, 2101366656, 1686709376, 1555368704, 1197523456, 1204999680, 1151194240, 1467004288, 1327082752, 2018334976, 1314533376, 1151220864, 1705644416, 1343588352, 1156393088, 1815267840, 1170159232, 1283425280, 1249109888, 1204784384, 2101251456, 1219319040, 1752194816, 2102151168, 1378058368, 1569647104, 1677607808, 1344070144, 1514916096, 1306468864, 1397688064, 1173242752, 1275404928, 2130821504, 1553830272, 1631255424, 1267496576, 1209264000, 1350487936, 1571917184, 2079149568, 1119001728, 1380664576, 1301073408, 2129534976, 1190664960, 1460495488, 1115212544, 1750504320, 1075844864, 1854899968, 1999489536, 1168397952, 1845250688, 1632057472, 1736533760, 1246083456, 1186335488, 1150402432, 1830808448, 1221683840, 1688523520, 1476226176, 2145368576, 1258099072, 1432633216, 1509208192, 1358431232, 1966033408, 1956300800, 1385751424, 1279407104, 1467968512, 1348740096, 1116999424, 1501637888, 1244564608, 1095818496, 1633847296, 1336101760, 1164082304, 1880999168, 1204566400, 1685511424, 1313719680, 1371287168, 1215426176, 1331862528, 1113238784, 1228893696, 1483936512, 1327209216, 1245535872, 1484886656, 1890694912, 2047635968, 1932806400, 1394880384, 1688456960, 1422242304, 1529201536, 2062191104, 1384217856, 1497490176, 1303718400, 1170679552, 1206749056, 1124397440, 2064924928, 1631956992, 1137278464, 2113548672, 1129192448, 1445458560, 1289198592, 1998752128, 1701232128, 1266467072, 1729471616, 1840148864, 1430137344, 1404215936, 1765187584, 1093384064, 1646231168, 1284457344, 1287417984, 1969735296, 1230527488, 1302258944, 1638940032, 1490757632, 1455783168, 1081815936, 1511528192, 1830869760, 1341262720, 1412761728, 1699832320, 1205900032, 1318490624, 1455012608, 1276882176, 1655350912, 1583871616, 1921128064, 1404155264, 1300064384, 1255431936, 1119919360, 1173573376, 1167744512, 1901020544, 1491006464, 1600511104, 1388538752, 1409847552, 1349675776, 2095924608, 1726427520, 1233887744, 2098626176, 1355674496, 1899618048, 1264251136, 1106123264, 1284768128, 1350549888, 1869725312, 1986740608, 1074288384, 1223740288, 1502964992, 1140105856, 1836109440, 1542371584, 1508877952, 1231436288, 1374473344, 1248034432, 2022030592, 1553755392, 1260358272, 1546062848, 1661731200, 1670804224, 1458117120, 1877133824, 1613073152, 1772528896, 1360370304, 1736934016, 1150453376, 1585168000, 1456263552, 1368742272, 1288290816, 1124589440, 1503268864, 1362020352, 1123289472, 1971032832, 1140393216, 1146942464, 1298626816, 1220104832, 1781412480, 1840966528, 1202253056, 2041521664, 1428720128, 1733190016, 1486793088, 1108402304, 1436982784, 1169308928, 1283997312, 1112685824, 1156436352, 1654218880, 1408218496, 1320828288, 1566402432, 1251235840, 1105993856, 1371301504, 1584358656, 1221746304, 1254817152, 1674458368, 1163349248, 1442512128, 1862036480, 1409197184, 1444346368, 1364075008, 1139193984, 1580748416, 1605720704, 1094675968, 1204911232, 1089286784, 1361191040, 1488418048, 1489784192, 1984246016, 2002705792, 1754560768, 1318605824, 1450096896, 1428649344, 1737399680, 1678070528, 1266882176, 1687715584, 1712624896, 1414912768, 1217137792, 1296193536, 1262189824, 1846311168, 1373828608, 1396953856, 1204469376, 1426168064, 1677502592, 1680029312, 1911090944, 1122067328, 2071707520, 1441383168, 1475024640, 1294773632, 1577560192, 1743517440, 1191563904, 1796959616, 1455985664, 1123125376, 1107919488, 1793662976, 1345393408, 1398611456, 1453993984, 1698551168, 1754143872, 1141785216, 1305801728, 1605883264, 1264914816, 2090196864, 1400320256, 1114005888, 1826477440, 1218135168, 1369168512, 1453153024, 1912214784, 1769537152, 1611401728, 1250181504, 1652943616, 1632922240, 1913929600, 1224519296, 1578514048, 2113871744, 1196601216, 1426185472, 1480123648, 1368968192, 1182396416, 1658018176, 2068764032, 1552947840, 1170593920, 1190752512, 1306548608, 1457914496, 1266042624, 1533584512, 1549133696, 1879731968, 1780551296, 1447601152, 1664949888, 1306193024, 1362843392, 2078730112, 1717278464, 1812312576, 2133558272, 1714988416, 1229193216, 1366744832, 1371595008, 1700265344, 1954754048, 1679321472, 1426300800, 2062490880, 1876553344, 1787742848, 1819346432, 1406880768, 1469618688, 1560380288, 1383566336, 1260793984, 1575774464, 1311293440, 1369606528, 1468708096, 1457993600, 1300924032, 2065361920, 1424830208, 1560359424, 1839236480, 1607988992, 1296946176, 1236670080, 1296970880, 1364370304, 1147697920, 1660218752, 1089789184, 1376653184, 1367619072, 1158655744, 1956749440, 1263145728, 1243214080, 1359321216, 1120322816, 1363416320, 1970706048, 1114004992, 1154865664, 1939004672, 1279379840, 1171214080, 1738114432, 1428897920, 2001865600, 1396746112, 1912252672, 1447585536, 1239912064, 1413477248, 2122014848, 1593028736, 1608233344, 1307207424, 2009924224, 1098570368, 1682304768, 1487465344, 1422359424, 1229773184, 1380369024, 1937631360, 2039944320, 1621406464, 1323149696, 1973596928, 1635502848, 1453582848, 1287616512, 1434382592, 1370678912, 1286708736, 1726471424, 1483906304, 1320800000, 2129861120, 1355948416, 1843075456, 1375202304, 1150007936, 1166253568, 1417112448, 1320867968, 1319095936, 1165446656, 1730574080, 1555136128, 1427994240, 1316204160, 1452524928, 1922717312, 1763713536, 1416036736, 1329975424, 1307963648, 1350231680, 1415057408, 1401325440, 1442036224, 1612276608, 1460487424, 1282631680, 1141264896, 1152191360, 1338650112, 1160176384, 2063017216, 1838551168, 1394484992, 1336413952, 1790377984, 1206151680, 1489234304, 1287436416, 1516094848, 1624206336, 1217748480, 1275475328, 1454513920, 1475814912, 1301445376, 1276841344, 1728768256, 1386946816, 1157424768, 1594534912, 1907234688, 1139918720, 1428507264, 1216889856, 1127152512, 1159204864, 1226350592, 1254634112, 1324532608, 1148304000, 1940569856, 2117107712, 1472519040, 1497303040, 1432647424, 1292547200, 1313225984, 1298565376, 1241374208, 1820034432, 1835650304, 1377028992, 1630972288, 1999436160, 1147873664, 1088931712, 1628009088, 1627777792, 1196765184, 1786104320, 1446222464, 1270516736, 1221155456, 2144207104, 1327322368, 1350174080, 1285769728, 1347078144, 1435365120, 1411791104, 1570665344, 1143487616, 2136718336, 1873295872, 1419705984, 1502346368, 2145474176, 1246377344, 1217593344, 1323652352, 1976599936, 1118751104, 1565074432, 1612235776, 1295548416, 1203931776, 2083204224, 1292292736, 1610166784, 1184295680, 1241337856, 1408878208, 1243558144, 1121558528, 1375643008, 1285587072, 1149683584, 2059084928, 1645530368, 1964355840, 1247101440, 1741693952, 2130122752, 1235929984, 1938941184, 1474510336, 1327839744, 1902460160, 1809368448, 1490761088, 1330394624, 1197480448, 1985981952, 1456674944, 1202277632, 1309837696, 1293613824, 1435186304, 2007811840, 1278545152, 2134709120, 1827012480, 1338432512, 1209697408, 1315042688, 1103259520, 1313044480, 1273112960, 1448465536, 2073732096, 1223276288, 1842746112, 1091374080, 1220463104, 1334684160, 1179860352, 1111854976, 1189565056, 1122190976, 1133542016, 1373277824, 1143961856, 1833808512, 1843046400, 1303848320, 1142392960, 1237094784, 1667661824, 1100780928, 1737604480, 1392879872, 1106407296, 1253180032, 1290214656, 1272798208, 2130708992, 1325969152, 1217633408, 1234889728, 1437015040, 1506446336, 1440300800, 1415549056, 1412974848, 1452266240, 1098761600, 1292174848, 1416299648, 1311970944, 1305234304, 1671652224, 1341545344, 1726776576, 1701916288, 1820623488, 1724486272, 1528820224, 1410316544, 1233568000, 1326099968, 1310785920, 1135022464, 2130321408, 1106478720, 1380864768, 1260134912, 1356061440, 2126593280, 1140074880, 1464618880, 1373232384, 1784981120, 1230715264, 1172045440, 2134998912, 1738764288, 1825746688, 1543901952, 1286182528, 1208898048, 1929812608, 1346173056, 1125432192, 1503533440, 1283729664, 1686027776, 1378578432, 1186765824, 1374245248, 2126949248, 1080161664, 1772895744, 1114622208, 1295813632, 1395219200, 1653330560, 1512344320, 1829487488, 1452562944, 1454791040, 1679655168, 1410592128, 1575927552, 1507547008, 1355016704, 1375435648, 1427334016, 1474054272, 1655953024, 1409672320, 1399139584, 1247079040, 2030473472, 1228739968, 1500974592, 2056296832, 1312717056, 1852081536, 1285193216, 1178261120, 1110979840, 1435111680, 2116665856, 1737826048, 1567792640, 1096154624, 1230627072, 1412704000, 1306970752, 1368677504, 1618532480, 1699378688, 1167490048, 1227109248, 1432751616, 1187943680, 1440478208, 1245566080, 1413061248, 1635073664, 2088114048, 1155770624, 1206959744, 1133044736, 1223391232, 1774425984, 1838970880, 1422898176, 1522618624, 1698363520, 1997511808, 1388813568, 1327716608, 1527194240, 1419866752, 1158534016, 1232079232, 1502358912, 1911559296, 1081039872, 1378769664, 1632506624, 1466134016, 1252662784, 1173170944, 1367946240, 2091026048, 1601404288, 1151174400, 1124323584, 1346743424, 1295859456, 1293826304, 1393324928, 1425058432, 1354416896}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {45352, -9117, -330, -8880, -5675, 77635, -3420, 63870, 74700, 54516, 1650, 48461, 32733, 75502, -162, -15510, -1569, -189, 88825, 32663, -2, 84103, -1237, 1380, 79037, 77961, -541, 111244, -263, -736, -11311, -1887, 50037, 1301, -4719, -330, -1693, -1602, -4173, 74990, -14652, 73591, -17934, 89763, 66692, -251, -3450, 61652, 74469, -431, -2061, -765, 123004, 8, -30012, -3499, 87035, -5966, -1537, -2616, 89526, -210, 1147, -5280, 144, 32405, 81233, -970, 82364, 44661, 6523, 102667, -616, 6301, -22994, -2548, -5654, 96095, 89383, 87704, 62166, 86410, 74278, -16231, -465, -3513, 201, -746, -1736, -7654, 92122, -343, -2716, 35908, 331, -59662, 87151, -3242, 107783, -1304, 108275, -153, -2039, 64618, -23328, -818, -13237, -41, 50435, 75504, -24505, 323, 76329, -2070, 80781, -488, 67429, 103861, 2139, 99443, -1116, -703, 1159, 49131, 46831, -1643, 102454, -7075, -1866, 35060, 112230, 96112, -7744, 87927, 621, -13483, -3333, 76675, 102907, -1736, -3411, -587, -14390, -10756, -2166, 139064, -3431, 7185, 567, -2925, -1912, 105308, -426, 1059, 68838, 79344, -1172, -214, -9232, 479, 71815, -2881, -98, -3161, 65656, -1039, 4967, 61609, -2111, 87306, 63391, -18265, 98024, 1249, 58210, -7133, -3664, 41452, -1106, -2879, -772, 528, -3580, -3618, 948, 96032, 2628, 80949, 68710, -5013, -3071, -1890, 33717, 2465, -1259, -530, -18287, -1860, -10960, -189, 37190, 221430, 48036, -12890, -2414, 57722, -220, 122953, 141233, 68296, -1102, -1482, 56980, -38, -504, -14654, -1272, 55511, -3612, -2259, 60589, 61765, 71611, -6960, -1607, -1781, 65548, 45351, 97027, 73562, -4692, -2157, -6025, -25807, 54520, -14973, -25759, -1436, -465, -160, 83301, -1506, 2539, 71152, -88, -3081, -1806, 128639, 53994, -830, 55020, 201137, -4151, -2075, 65179, 63010, -7355, 58004, 91873, -134, -7141, 79257, -1454, 90479, 111705, -324, 50826, 2834, -1223, -23387, -573, 81585, 59230, 759, 4077, 54272, 93927, -1997, -6218, 77831, -8094, -188, 2022, -275, -672, -6966, 87817, -1403, 111054, -13557, -12704, 6248, 86861, 2831, 85369, 126608, 59938, -5295, 1830, 65554, 81282, -814, 3522, 53974, 3854, -1584, -1684, 3075, 490, 86458, -67, -3159, 82698, -436, -6913, -16434, -3755, -6054, 173502, 43100, -871, -5800, -8337, 76075, -10968, 73107, -2683, 64055, -12673, -1186, -6284, -662, 1324, 3560, 53060, -28, -3175, -1082, -7598, -441, 45004, -1201, -2990, 87628, -770, 68619, 85354, -117, -7537, 42635, -6903, 48869, -737, -16976, -2220, -1723, 78457, 144308, -4229, 79240, -1135, -1767, -938, -4224, -7750, -801, -7897, -33374, -2404, -1311, 47667, 54447, -5373, 97348, -1963, 61358, -363, -534, 7353, 71082, -227, -25901, 1172, -27861, 83008, 78689, -47, 79414, 56997, 807, -13, -4997, -848, 32973, -19564, 61702, -1452, 60223, -10355, -9115, -240, -215, -9018, -4734, 4342, -13099, -7550, -3039, -8385, -10487, -10600, -14779, -259, -451, 126095, 81001, 89584, -364, -7431, 61568, 3294, -660, 66395, 93592, 57787, 24416, 46002, 57294, -1968, -20055, -4566, -12449, -1537, 10812, -69, 110280, 50513, 110209, -864, -8663, -6597, -4155, -1271, -17566, -177, 4537, -19061, 53814, 77551, -331, -464, -445, -28458, -16980, 58069, 52534, 87925, -1205, 98723, -4629, 2729, -1135, -545, -3293, -3625, -5324, -11178, 101098, 56328, -223, -4187, -17331, -677, -25448, 3698, 96442, 39710, -803, -2828, 180557, 68803, 84171, -7731, 103040, -9199, 74495, 227, 53015, -1276, -3171, 93520, 41240, -421, -5174, -628, -636, -27910, 58643, 74244, -1790, -1117, 99288, -9065, 32287, -179, -788, -13320, 50648, -9931, -4031, -1817, 82225, 57685, 93202, -2882, -5240, -1908, -1454, 27964, -8174, -1487, -5668, -7068, -22450, -144, -338, -20061, -12967, -2188, -325, 58655, -708, -5569, 6917, -8496, 38299, 99559, 11611, -2472, 95975, -615, -194, -2060, 142736, 162207, 123766, 58231, 76814, -14779, 75663, -3359, 3808, 3958, 66115, -14111, -2650, 4364, 891, 106653, 90945, 5591, 91380, -2221, -24326, -2198, 72192, -923, -34, 1100, 59326, 74170, -1622, 26717, -3282, 93548, -13603, -759, -35049, 2943, -6645, -1749, 47474, -124, -1601, 37626, 84828, -1714, 55580, 71472, 93838, 69146, 105992, -816, 64521, 73720, 95218, -1575, 93276, -7244, -983, -4713, -29404, -799, -11531, -20606, 66755, 53942, -4537, -579, -1890, -213, 3228, -842, -7887, 57545, 89101, -1955, 115767, -4630, 59129, -962, 48970, 64054, 4061, -4411, -1959, 63221, -18686, 78867, 135316, 30106, 63240, -1843, 65926, -9457, -349, -4619, -10188, -368, -32278, -2339, 58983, -1978, 92733, 101348, -985, -18068, -3888, 86035, -25617, 167086, 93227, -2098, 1895, -1133, -1499, -1270, 76675, 59525, 777, -11543, -1337, -324, -31807, -184, -4883, 5631, 71088, -121, 83391, -645, 91270, -7527, -31399, -25234, -8948, 54466, -1319, -341, 43807, -3411, -20558, -319, -175, 133802, -3349, 89352, -11797, 101363, -933, -23290, -1875, 2782, -1344, -15495, 91042, 91984, -7558, -3672, -947, -9916, 102886, -934, -1583, 54041, 58869, -6646, -1935, 51300, 45211, 58045, -2565, -1236, 88153, 69543, -1416, 71830, 48491, 5967, -10802, 13713, -21954, 121302, 90560, 58920, -2272, 1367, -3022, 73700, 82839, 140273, 1861, -12653, -3038, -440, 422, -1618, -2439, 41571, -178, 72112, -399, -1920, 49756, -2737, 106863, 80088, -127, -5235, -1628, -4904, 2387, 86865, 3527, 143619, -2608, -234, 112330, -37025, -120, -6820, -3651, -2487, 67607, -2195, -6397, -41517, 90697, 85593, 103476, -6270, 108372, -22430, 518, -452, -7603, 2027, 48, -2199, -28364, 71486, 1561, 4072, -82, 143273, 75980, -1540, -46287, -2486, -1045, -16830, 31249, 62345, 3147, -6408, -4456, 61605, 79506, -2591, -3166, 1907, 108543, -1863, 56265, 41978, 57880, -15862, -1506, -5784, -889, -646, 3832, 2227, -3980, 80962, -5238, -98344, -527, -505, -26595, -3053, -10459, -6485, -577, 123123, -460, 83674, 128545, -16026, 194448, -2648, 68865, -8369, 61269, -5718, 3666, 59498, 59535, -3680, -4176, -26806, 332, -4365, -5318, -5417, 84179, -369, 78481, -2133, 92395, -6345, 11735, -364, 121824, -4138, -9718, -3758, -1066, 116241, 66151, 104037, -23061, 125552, -7880, -4473, -2456, -971, 80619, -3745, -2568, 47557, 83805, -6345, -3600, -5542, -5997, 157684, 93336, 46087, 41762, 124802, 97819, -806, -15095, 94566, -5119, -391, 50983, 55186, -8810, -20509, -9693, -421, -7625, -8388, 66890, 109434, -8770, 54265, 77846, 97341, 37418, 44374, 50688, 87370, -6266, 48920, -77, -2835, -1355, -5353, -1656, 49584, -130, 1003, -194, -12981, -9874, -2810, -2038, -10738, -6322, -6387, 69878, -1188, -238, 1207, 66855, 118787, -637, 91750, -4674, 30601, -1229, 52588, -2940, 680, -936, -1714, -6916, -20187, -7160, -3643, -319, 52801, 59372, -3562, -3669, 47333, -4235, 156702, -6670, 7202, 135877, 38361, 96671, -168, 41239, -7446, -3580, 70954, -1650, 54398, -679, -9933, 102146, -6052, 3332, -3924, -4150, -2856, 71689, 90095, -984, -214, 94788, -8031, 89030, 96073, 2947, -4374, -2380, 25735, -24202, 66803, 112395, -16080, 62570, -400, -1192, -7281, -16192, -5566, 77831, 99731, 42208, -16589, 37384, -1974, -1402, -4686, -17804, 65887, -13485, -1911, 4151, 74227, 63993, -23092, 43737, 48028, 1703, -688, 54851, 132765, 29509, -3808, -4385, 5718, 76519, -4657, 73226, 45987, -1324} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-466, -128, -112, 251, -155, -557, 456, -501, -500, -400, -67, -403, -403, -426, -127, 405, 231, -81, -497, -308, -155, -520, 97, -78, -465, -570, -134, -631, 171, 104, 568, -154, -467, -103, 293, 68, -165, 256, 8, -467, -3, -540, -88, -509, -425, -60, 83, -448, -560, -57, -46, -12, -532, -95, 165, -61, -582, 161, 122, 217, -527, -172, -97, 21, -189, -302, -584, -43, -590, -431, -116, -433, -175, -108, 274, 229, 262, -526, -352, -550, -475, -387, -466, 41, -194, 296, -97, 97, -67, 116, -516, -70, 58, -352, -92, 248, -474, -85, -762, 285, -587, -129, 23, -489, 326, 1, 281, -135, -358, -502, 151, 228, -472, -78, -449, -160, -512, -559, -97, -595, 87, -117, -182, -387, -489, 294, -496, 187, 226, -398, -420, -446, 134, -496, -178, 233, 190, -429, -581, 324, 65, -67, 105, 3, 211, -556, 27, -107, 142, -50, 205, -594, -179, -158, -425, -616, -155, 263, 455, -88, -414, -139, -160, 285, -364, -112, -100, -453, 115, -587, -451, 232, -647, -100, -484, 494, -125, -406, 119, -128, -35, -90, 110, -95, -94, -522, -71, -562, -349, 232, 193, 174, -413, -101, -131, -126, 557, -118, 274, -131, -393, -663, -415, 382, 184, -507, 4, -718, -553, -473, 129, -147, -511, -136, -167, 261, -59, -403, 125, 203, -528, -515, -517, 145, 125, -10, -461, -422, -408, -595, 254, 31, 12, 188, -363, 505, 144, 102, -76, -149, -538, 139, -99, -575, -118, 235, 144, -696, -444, -98, -439, -710, -95, -142, -471, -478, 251, -345, -565, -167, 227, -523, 97, -634, -616, -206, -432, -70, 118, 406, -159, -404, -384, -99, -65, -466, -430, 207, -104, -456, -52, -121, -99, -188, 54, 26, -513, 170, -612, 160, 20, -104, -564, -166, -560, -696, -387, 138, -101, -591, -442, -158, -98, -541, -103, 216, 303, -96, -119, -600, -82, -141, -582, -135, 153, 291, -12, 248, -762, -423, -101, 142, 229, -515, -60, -384, -101, -531, 236, -126, 199, 42, -116, -107, -337, -183, -95, 165, 305, -25, -403, 171, 98, -419, 34, -534, -512, -135, 262, -455, 83, -429, -197, 93, 74, 99, -610, -743, 193, -497, -106, 204, -37, 380, -73, -42, 291, -23, 208, 62, -382, -399, 419, -570, 340, -478, -71, 105, -172, -426, -77, 91, -106, 152, -366, -531, -166, -465, -463, -147, -123, 448, -25, -362, 126, -503, 194, -468, 170, 244, -116, -91, 393, 87, -100, 311, 246, -159, -95, 264, -78, -69, -127, -75, -512, -538, -542, -79, 281, -527, -94, -138, -609, -606, -450, -398, -343, -485, -139, 329, -134, 329, -88, -118, -169, -336, -451, -381, -50, 372, 121, 192, 108, 95, 83, -48, -67, -415, -602, -131, 11, -176, 505, 265, -427, -518, -538, -107, -573, 230, -109, -162, -153, -133, 115, 250, -99, -580, -461, -132, 336, 43, -151, 80, -109, -523, -378, -109, 388, -748, -464, -577, 136, -467, 245, -434, -56, -482, 53, 270, -537, -413, -106, 279, -65, -140, 171, -487, -459, 113, -128, -538, 323, -348, -179, -177, 141, -482, 170, -143, 214, -543, -388, -547, 282, 258, 322, -117, -405, 192, 190, 50, 259, 16, 151, -180, 191, 287, -74, -85, -532, -190, 124, -102, -40, -362, -538, -117, -1, -570, -49, -134, 220, -538, -885, -530, -388, -558, 271, -480, 218, -111, -103, -439, 18, 658, -104, -80, -489, -416, -96, -599, -141, 224, 146, -473, -148, -135, -78, -456, -530, 346, -358, 207, -567, 154, -143, 221, -93, 184, 139, -369, -179, -61, -424, -574, 191, -542, -457, -560, -524, -571, -27, -475, -365, -669, 158, -498, 151, -175, 314, 136, -165, 248, 204, -537, -473, 39, -60, -40, -83, -89, -141, 188, -504, -430, 74, -664, -37, -458, 23, -489, -499, -109, -141, -106, -492, 242, -556, -771, -349, -468, -162, -450, -156, -150, 199, 22, -52, -15, -91, -487, 127, -531, -563, 21, 220, 534, -364, 1, -638, -460, 368, -85, 59, 151, 188, -468, -446, -102, 143, 66, -49, 158, -112, -65, -115, -560, -148, -434, -176, -613, 270, 335, -61, 289, -425, 110, -177, -422, 0, 95, -42, -93, -491, 85, -504, 198, -609, -30, 51, 279, -150, 38, 186, -566, -591, 266, 59, -100, -95, -715, 113, 169, -491, -442, 184, 267, -468, -416, -438, -11, 176, -560, -524, 183, -609, -456, -214, 286, -136, 143, -571, -528, -495, 41, -94, -21, -418, -598, -710, -103, 219, 329, -171, -86, 86, 171, -428, -177, -408, -105, 273, -405, 301, -467, -350, -165, 191, -50, 146, -80, -589, -105, -775, 112, -150, -638, -8, -114, -71, -106, 145, -499, 220, 25, 64, -378, -527, -611, 188, -628, 242, -97, -35, 335, -102, -20, 128, 48, -476, -173, -84, -195, -676, -558, 294, 149, 308, 54, 322, -343, -399, -108, 262, 379, -474, -565, 76, 123, -99, -494, 278, -493, -357, -469, 312, 139, -113, 6, -70, -99, -173, 249, -429, -18, 309, -49, -121, 158, 216, 265, 289, 72, -669, -171, -555, -629, 334, -909, 233, -519, 299, -465, -112, -101, -468, -545, 173, 208, 128, -107, -59, 223, -41, -507, -185, -504, 212, -718, 337, -109, -155, -552, 122, 296, 153, -75, -745, -474, -543, 214, -625, 311, -120, 120, 106, -667, 127, 269, -457, -565, 215, 430, 349, 201, -766, -527, -380, -421, -527, -591, -89, 66, -649, 84, -54, -411, -423, 128, 104, 182, -122, 54, 345, -499, -500, -154, -509, -513, -498, -364, -394, -431, -489, 490, -429, -102, 274, -65, 287, -186, -447, -162, -81, -189, -108, 275, 29, -109, 170, 258, 230, -404, 166, -40, -67, -532, -685, -92, -502, 336, -199, 111, -392, 181, -58, -185, -100, 35, 362, 30, 115, -91, -472, -448, -140, 164, -456, 238, -628, 287, -145, -596, -378, -561, -201, -397, 36, 250, -403, -69, -395, 55, 359, -472, -177, -102, 349, 308, 142, -500, -475, 45, -85, -630, 274, -627, -467, -86, 138, 223, -399, 318, -470, -438, 447, -524, -169, -103, 309, 340, 148, -549, -471, -441, 322, -376, -126, 83, 379, 246, -459, 153, 81, -99, -421, -419, 329, -375, -416, -95, -85, -309, -639, -401, 277, -34, -129, -430, 154, -609, -428, -135}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1538429056, 1303372928, 1122237184, 1426234112, 1439170688, 1969516288, 1995074560, 1247820544, 2119724672, 1498131072, 2037995648, 1483672960, 2076061952, 1274930432, 1672578048, 1525328128, 1868291840, 1295016576, 1103757952, 1100169088, 1414231552, 2016114176, 1208263808, 2114859392, 2062336896, 1868488960, 1308008704, 1485826176, 1198053504, 1130573952, 1526091392, 1218685312, 1463065472, 1912045568, 1348887680, 1075333760, 1348851200, 1665594368, 1899374336, 1157899776, 1632780032, 1113497216, 1835443968, 1774622336, 1644381184, 1456579968, 1101872896, 1239314944, 1926802048, 1283379072, 1248992512, 1659919360, 1479901952, 1076360320, 1757748224, 1999467392, 2061564416, 1894666880, 2063800704, 1324359936, 1735048576, 1157476480, 1945787008, 1074068224, 2087795456, 1150984320, 1733206656, 1331675520, 1819551104, 1823401088, 1548484480, 2035456512, 1666646400, 1740341888, 1111289600, 1644297728, 1482118272, 1774072960, 1389869312, 1707815936, 1176211072, 1516625536, 1486784768, 1124512256, 1159146624, 1222162688, 1979425792, 1247330176, 1497765504, 1840585216, 1689523840, 1780218880, 1722902400, 1904503808, 1597077504, 2109214976, 1380826880, 1968530048, 1429202304, 1969221376, 1854013824, 1331451008, 1706977152, 1212136576, 1721815808, 1808621952, 1183815296, 1414229248, 1679122688, 1959805696, 1876858240, 2146095616, 1828092288, 1831841408, 1977205248, 1360562816, 1118761088, 1868654976, 1736730880, 1729864320, 1284371072, 1942210560, 1742051328, 1443448832, 1753842560, 1364700288, 1756221568, 1552574336, 1804100224, 2107730176, 2019345920, 1846544256, 1650916864, 2097702272, 1999331968, 1590693760, 1427789952, 1078221568, 1600778240, 1428692864, 1772107392, 1101636352, 1838404864, 2037330432, 1760068096, 1445328000, 1557476352, 1639504384, 1145927680, 1171465728, 1682275840, 1616654336, 1399907968, 1869464832, 1093773056, 2140285312, 1964499584, 1638053376, 1677371264, 1093896320, 1155978496, 1831197696, 1580116096, 1352101632, 1780410624, 1646975744, 1561193856, 1361689856, 1388809856, 1759818880, 1171694464, 1382488192, 1559284096, 1188663424, 1304208000, 1771632896, 1661266432, 1709138688, 1630542720, 1933273088, 1995656320, 1660974080, 1106959488, 1591586176, 1776210560, 1871452032, 1408636800, 1119308416, 1929702784, 1103203840, 1534371328, 1119286272, 1079910784, 2132588160, 1227132288, 1127336960, 1242349184, 2034103552, 1114481024, 1569290368, 1900640000, 1900194560, 1454395648, 1113295232, 1609240576, 1334743808, 1113245952, 1354427904, 1269414656, 1211930496, 2127110912, 1928581504, 1387447808, 2054884992, 1253874176, 1077407744, 1263744384, 1626886912, 1756163584, 1836989824, 1353245952, 1267495424, 1086477440, 1764808832, 2077195136, 1824024832, 1117143808, 1685932160, 1832080512, 1080780416, 1478135296, 1591568640, 1802507264, 1270826880, 2069548416, 2010740608, 1239956992, 1993578880, 1362651648, 1612351360, 1856056320, 1807777664, 2072008064, 2117413888, 2096835072, 1961631104, 1222229120, 1327755136, 1279151360, 1890678528, 1596113536, 2000623616, 1524206976, 1107170176, 1128944384, 1187721728, 1116130304, 1671654016, 2114192512, 1737310464, 1297328896, 1136857344, 1195086336, 1629823232, 1490594816, 1107842944, 1493318400, 1412242176, 2107135232, 1711302016, 1097022336, 1100600320, 1681839360, 1396587776, 1869280768, 1354071168, 1435187968, 1652963840, 1466776704, 2087237632, 2080077568, 1358636032, 1081756032, 1328945408, 1559467008, 1260616320, 1778723328, 2036140160, 2089900160, 1765969920, 1622183680, 1683089280, 1775592448, 1252339072, 1764143360, 1330874880, 1303269888, 1791851392, 1851979648, 2122713728, 1208500224, 1560920192, 1878369408, 1359347584, 1911019776, 1906691584, 1584485760, 1813653504, 1147613184, 1777857664, 1303518848, 1160790272, 1803455488, 1184346624, 1501572608, 1118356480, 1136711808, 1198785024, 1439761280, 1761627008, 1811171072, 1989068416, 1260206464, 2118747904, 2033489536, 2063061504, 2090802176, 1364090752, 1271360512, 1977279360, 1405078784, 1926324096, 1196243968, 1102361984, 1549976320, 1138927744, 1801555072, 1125116544, 1352054400, 2112956928, 1722578048, 1975921280, 1489610624, 1187280256, 1383927680, 2119004800, 1783671680, 1597056128, 1357882496, 1770884608, 1147167104, 1431095424, 1116182144, 1867250432, 1393445248, 1382184192, 2027036032, 1135575168, 1360523776, 1122721792, 1142677632, 1077451008, 1887173120, 1882622720, 1280140800, 1088442624, 1160273536, 1090902144, 1573175040, 1306345600, 1499101824, 1448946048, 1102201088, 1640207104, 1399840128, 1190865792, 1357342080, 1520384896, 1112196736, 1292811264, 2029084800, 2065234560, 1978570880, 2146627968, 1470590848, 2141262208, 1177189888, 2094793472, 1314792064, 1635153920, 1554736640, 1802964864, 1917178624, 2137835264, 1846183680, 1315209856, 1905951744, 1678112384, 1575361152, 1488350848, 1492569344, 1135879936, 1157872128, 1537283584, 1678726656, 1791814656, 1314902912, 1919970816, 1707152256, 1364937216, 1925845632, 1258952064, 1885319552, 1498406144, 1546442880, 1966755456, 1808467968, 1589556608, 1279338240, 1173204224, 2008280448, 1717166464, 1082694528, 1666289792, 1390990080, 1385256704, 1785242624, 1280370304, 1534173440, 1708005632, 1507337984, 1128785280, 1461872128, 1182158336, 2113614208, 2082263552, 1642691968, 1198321024, 1909165824, 2003931008, 1881060096, 1571814784, 1273662208, 2087965440, 1679682304, 1608154368, 1180886016, 1468115072, 1972950912, 1074881152, 1681957376, 1579512704, 1300511872, 1411174400, 1556940032, 1431374464, 1930631040, 1555178240, 2132511104, 1446674048, 1075478400, 1311824768, 1841061888, 1133632640, 2087542144, 1441472640, 2040731264, 1567926400, 1312449408, 1194810496, 1991584640, 1354743424, 1380414208, 2007023232, 1778121472, 1793842304, 1792320768, 1182307200, 1189283456, 1961457408, 1126610688, 1869193728, 1676100480, 1226093568, 1221622912, 1109240320, 1940941952, 1357140608, 1368870656, 1358659456, 1646132480, 1764166784, 1160253184, 1560446208, 1255694464, 1221028352, 1788253184, 1242810368, 2106056960, 2036118272, 1182153088, 1629063296, 2017009920, 1087481600, 1476494720, 1338372608, 1887171456, 1588721920, 1463489152, 1564588288, 1884869632, 1875394944, 1370655744, 1107347200, 1074934528, 1249808896, 1429683328, 1632716416, 1224134144, 1437845504, 1655289216, 2083133184, 1186017920, 1480116608, 2007438080, 1440768896, 1295211136, 1172876928, 1716162688, 1440487680, 1252401920, 1565815168, 1161379584, 1767753216, 1561332224, 2052643584, 1613044608, 1369580160, 1721618048, 1404293248, 1322897280, 1553517312, 1335219584, 1251392256, 1853434240, 1734355968, 1390948992, 1089197312, 2041811328, 1123367040, 1503701248, 2099164544, 1809773824, 1520351744, 1520856064, 1940909312, 1317598336, 1114941312, 1626657152, 1382117120, 1823751680, 1654388608, 1796964736, 1127133440, 1644244608, 2063687680, 2128398080, 1091207936, 1427645312, 1234720256, 2034552192, 1248187264, 1414901632, 1439641472, 1831572352, 1309017472, 1466632960, 1223675008, 2041740032, 1266121344, 1117352320, 1711234176, 1460344320, 1412670208, 1856338176, 1744414208, 1534474368, 1252505600, 1169454592, 1590285824, 2087579264, 1440812544, 1169655552, 1137436800, 1906909824, 1912638080, 1876370816, 1517209856, 1800739712, 1548905216, 1190479360, 1197720832, 2118345856, 1316326784, 1274783744, 1158543360, 1453272192, 2006310656, 2058176384, 1187711744, 2137053824, 1477943424, 1726540672, 1432096384, 1246026112, 2147281024, 1098519808, 1382535424, 1829982080, 1437121408, 1498005248, 1486335104, 1095617408, 1971902976, 1586465664, 1147514880, 1228698624, 2132692480, 2009673216, 1112087168, 1146695808, 1329060992, 1103650816, 1214046592, 1816651648, 1095364608, 1911072256, 1863799296, 1241683840, 1172115968, 1947017472, 1236713600, 2057304576, 1837028992, 1524259200, 1406347776, 1450253568, 1569319040, 1209629952, 1720843520, 1164478976, 1320008320, 1364656128, 1863711232, 1171653504, 2086468480, 2097240192, 1280955392, 1460283008, 1856583296, 1883302528, 1284187136, 1257945472, 1247513728, 1310305792, 1251682816, 1916826624, 1078930176, 2009518592, 1286634496, 1808453504, 2085679104, 1272450048, 1992050944, 1490436224, 2121638272, 1346313600, 1151658240, 1488007424, 1646889728, 1728282112, 2045192448, 1351358336, 1857077760, 1590408704, 1138757376, 1133194368, 1878180608, 1590412800, 1888512640, 1274659200, 1330209024, 1766160128, 1290090368, 2026687360, 1766024960, 2144815872, 1395839104, 1157244544, 2015944960, 1315841920, 1482215936, 1848500352, 1792267520, 1333117696, 1307676288, 1820649088, 1579525248, 1558567040, 1569019904, 1270366080, 1478105216, 1934147968, 1867823360, 1145297408, 1160476160, 1958876672, 1553798144, 1989449600, 1227851776, 2046213120, 1521189632, 1595968640, 1749232128, 1339572608, 1587184384, 1621361792, 1386745088, 1192382336, 1942766336, 1429498624, 1914223872, 1193698944, 1513531264, 1710729088, 1096545024, 1598554752, 1751745792, 1719522304, 1525714816, 1194856832, 1886145536, 1849422080, 1683781376, 1490529408, 1979454720, 1559810688, 1727510400, 1523565312, 2045815040, 1875024640, 1853681408, 1801764992, 1994823424, 1620037376, 1359898624, 1988606848, 1391755904, 1638212480, 2097473792, 2040800512, 1465275264, 1384534656, 1180065408, 1201464192, 1285754112, 1309289088, 1165865984, 1886916096, 1504110208, 1363073792, 1819170688, 1078162688, 1240852992, 1316699776, 1235886976, 1237424256, 1298779776, 1934882176, 2046306176, 1175565696, 1783716608, 1660509440, 2045126784, 1310663680, 1891230080, 1368800768, 1526363648, 1409325952, 1318872192, 1078108032, 1106212480, 1388814720, 1589932800, 2012453504, 2091660928, 1314832896, 1166230528, 1302622720, 1617194752, 1795282432, 1098560640, 1265989632, 1233769216, 1711277056, 1391436544, 1114894976, 1945056896, 1690132352, 2118669952, 1514402048, 1773424256, 1673429888, 1467063040, 1080670208, 2008080256, 1236742272, 1208060544, 1821984640, 1591206656, 1285968640, 1219015552, 2014717952, 1126665728, 1578850560, 1749916928, 2093194752, 1765812608, 1946525696, 1788341888, 1803224960, 1088817280, 1585903488, 1498590464, 1120625920, 1853667200, 1322852608, 1244751744, 1533944448, 1396909440, 1639875584, 1199987712, 1202822144, 1711754624, 1320571392, 2012286720, 1697337728, 1992293888, 1426302848, 1835998976, 1130145536, 1478590464, 1940413824, 1896112256, 1082123136, 1953799680, 1563999488, 1385340800, 1471638528, 1133896832, 1520898688, 1524608000, 1395127040, 1265037312, 1336905600, 1714313472, 1374205696, 1850081792, 1710743296, 1479008640, 1582673152, 1744784000, 1507464832, 2044245248, 1384480128, 1247438080, 1300146432, 1795281920, 1489540864, 1762494976, 1742016512, 1922391168, 1495620352, 1278576384, 2031324672, 2100137856, 1575329280, 1510597504, 1508577920, 1088047360, 1955625216, 2001740416, 1214085760, 1577996032, 1531169280, 2077872256, 1773727744, 2147104512, 1381874432, 1877860608, 1691351552, 1940520576, 1858139136, 1476391424, 1771960960, 1715605760, 1412137600, 1121913984, 1541720320, 1764413696, 1242370304, 1276994944, 1666833152, 1195384960, 1783909632, 1303934464, 2115559680, 2106262784, 1614402944, 2051688704, 1369928064, 1408174976, 1549861376, 1143917952, 1322319232, 1636000384, 1536684544, 1125821824, 1323217280, 2076291584, 2125525376, 1074204544, 1413825536, 1999019136, 1395993216, 1484450176, 1142302336, 1338080256, 2017815168, 1657485696, 1700469632, 1824709120, 1235862656, 1463510016, 1596040448, 1239666176, 1454066688, 1796904704, 1688603648, 1790868608, 1180428160, 2122076800, 1638610304, 1618034688, 2046976768, 2099050496, 1413004928, 1776485632, 1219732224, 1541924096, 1602075264, 1578525824, 1411570176, 1815522432, 1146003968, 1145293184, 2109188992, 1898107520, 1172319104, 1201366528, 1251279104, 2041375616, 1859054336, 1366833024, 1655097856, 1729459840, 1241558528, 1812439168, 1835505408, 1955182976, 1919299200, 1367919872, 1236536064, 1117083776, 1265318528, 1165338112, 1480748544, 1213772544, 1749347968, 1348885760, 1101734784, 2046566656, 1987502336, 1862898688, 1460931968, 1746343680, 1638035200, 1978058624, 1357207936, 1174928896, 2142246912, 1268254336, 1218824576, 1478656640, 1169753344, 1935664000, 1565446784, 1616548608, 1803959936, 1979584000, 1516312192, 1216908416, 1215624576, 1665976064, 1821657600, 1263455488, 1128321024, 1403817344, 1631808000, 1157301248, 1552480000, 2044536448, 1619325568, 2082570496}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {-15, 485, -306, 435, -77, 88, 375, 121, 170, 146, 502, 197, -449, -65, 299, 379, -83, 443, 152, 293, 494, 97, -66, 248, 274, -190, -190, 371, 141, 0, -21, 209, 293, -26, -56, 16, 475, 38, -265, -18, 440, -26, 453, -69, 201, 309, 496, 294, 57, 245, 378, 96, 265, 508, 31, -142, 280, 627, 139, 86, 92, 343, 236, -14, 126, 105, -114, 742, 0, 275, 618, -83, 70, 192, 294, 423, -251, 257, 614, 322, -164, 5, 245, -58, 62, 423, 171, 253, -207, 177, 26, 526, 234, -25, -115, 89, 47, 437, 646, 387, 170, 410, -218, 103, 528, 14, -13, 174, 171, 179, -371, 321, 336, 108, 4, 545, 57, 844, -43, 326, 101, 26, -108, 140, 506, -220, 271, -274, 284, -482, 28, 577, 511, -34, 114, -428, 143, 760, -37, 197, 210, 569, 582, 226, 275, 519, 542, 25, 448, 146, 270, -69, 289, 406, -75, 251, 320, 179, -436, -408, 246, -21, 885, 101, 211, -55, 133, 354, 17, 129, -119, 163, 194, 82, 570, 270, 40, 139, 66, 219, -27, 89, -15, 404, 255, -410, 138, 211, 835, -260, 682, 198, 50, -50, 428, 336, 14, 255, 158, -3, 689, -70, 134, 696, 84, 32, 73, 102, 700, 221, 29, 428, 325, 294, -133, 373, -88, 280, 498, -26, 130, 93, -294, 158, 331, -8, 495, 381, 492, 152, 421, -63, -76, 207, 154, 182, 135, 472, -158, -166, 336, -106, 512, 116, 105, -70, 231, 279, 199, 121, 95, -231, 684, 134, -189, 351, 13, 37, -333, 667, 430, 22, -61, 83, 23, 265, -69, 311, -347, 414, 293, 118, 397, 38, 93, -29, -1, 365, 152, 289, 335, 250, 690, 735, 81, -90, -144, 174, -37, 111, 76, 137, -470, 440, -40, 270, -136, 40, 194, 473, -249, 30, -44, 37, -58, 168, -146, -17, 383, -95, 429, 347, 918, 527, -499, 151, 157, -21, -352, 292, -41, -289, 320, -456, 347, 518, 137, 640, 92, 80, 420, 501, 271, 473, -155, 567, 334, -29, 572, 471, 368, 194, 20, 321, 241, 249, 328, -34, 365, 112, 383, 286, 150, 437, 195, -57, 553, 262, 293, -54, 795, -60, -131, -171, 173, 402, -345, 159, 360, -174, 49, 81, 339, -282, 517, -72, 379, 147, 487, 21, 238, 156, 194, 347, 30, 164, -38, 199, 1111, 61, 556, 155, 11, 287, 207, 273, 103, -187, 415, 32, -215, 398, 250, 9, -31, -112, 62, 232, 141, 670, 538, 1, 285, 517, -115, 387, -100, -188, 102, 336, -339, 301, 56, 332, 481, 152, -140, -137, 95, 248, 133, 1, 439, 300, 122, 276, 216, 66, -46, 594, -452, 456, 211, 405, -423, 681, 404, 154, 251, -48, 354, 136, 278, 160, 127, 81, 558, -52, 39, 49, 373, 156, 444, 230, -10, 343, 58, 353, 264, 578, 786, 513, 13, 277, 81, 577, 381, 717, -416, -186, -145, 140, 194, 215, 316, 407, 276, 489, 232, 430, 4, 806, -425, 34, 392, 688, 1, 373, 174, 48, 274, 187, 115, -109, -13, -141, 141, 689, 27, 33, 298, -74, 216, 250, 395, -25, 408, 133, 307, 121, 450, 100, 216, 430, 140, 164, -161, -266, 307, 311, -25, 296, 356, -5, 225, 154, 566, 337, 266, -491, 142, 278, 388, 742, 162, 95, -105, 4, 208, -81, 270, 301, 601, -60, 246, 294, 426, -328, 202, 18, 14, 81, 337, -130, 169, 322, 99, 229, 365, 496, 560, 177, 175, 101, 390, -55, 265, -134, -137, 552, 43, 240, -393, 245, 371, -113, 247, 250, 170, 529, 6, 150, -30, 218, 384, 289, 402, 372, 449, 162, 457, 550, 452, 305, -266, 5, 266, 142, 28, 210, 259, 244, -109, 723, 19, 207, 603, 215, -111, -92, 403, -4, -11, 491, -2, 121, 442, 275, 76, 53, 37, 228, 174, 285, 253, 42, -427, -71, 1169, 195, 117, 196, -70, 82, 78, -234, 197, 14, -232, 364, -106, 258, 252, 296, 204, -140, 481, 344, 54, 9, 329, -194, 280, -306, 297, 10, 428, 588, 270, -36, 428, 214, 381, -80, 349, 609, -217, -51, 485, 146, 134, 361, 123, 9, 251, 206, 154, -43, 115, 228, 172, 151, 275, 269, 10, 245, 531, -138, 563, -178, -237, 195, 690, -151, -36, 146, 482, 322, 44, 699, -39, 63, 121, -149, 301, 546, -5, 127, 210, 105, 618, 493, 382, 626, 301, 239, 81, 720, 969, 157, 138, 446, 27, 418, -268, 465, 133, -103, -6, 306, -70, 225, 195, -37, 270, 253, 16, 674, -170, 157, -169, -56, 451, 430, 183, -180, -34, 105, -43, 488, 85, 195, 407, 394, 409, 93, 265, -174, 357, 5, -96, 50, 312, 135, 177, 694, 36, -221, 105, -111, 118, 569, 332, 40, 77, -180, 485, 244, 249, 210, -297, 198, 379, 327, 682, 231, -260, 147, -122, 255, 227, 108, 175, -26, 137, 184, -27, -239, 255, 55, 282, 388, 182, 468, -224, -80, 320, -146, -228, 432, 497, -73, 51, 126, -219, 188, -198, 946, -36, 326, 60, 534, 124, 67, 408, 14, 234, -366, 335, 390, -120, -415, 390, -80, 513, 317, 63, -56, 550, -42, 121, 233, 167, 264, -100, 137, -189, 1, 770, 126, 590, 354, 701, 277, 259, 389, -21, 267, 79, 331, 128, 501, 123, -98, 269, 656, 197, 295, 509, 275, 351, -125, 230, 13, 321, -76, 287, 271, 72, 346, -42, 259, -10, 46, -259, 484, 332, 490, 313, 192, 239, 296, 239, 170, 1005, 373, 117, 186, 196, -61, 284, 334, 466, 101, 202, 578, 367, -47, -24, 345, -171, 57, -25, 262, 322, 483, 222, 258, -102, 4, 644, 180, 87, 163, -158, -109, 193, 558, 518, 122, 229, -26, 212, 110, -14, 329, 342, 462, -69, 274, 353, 707, 51, -45, 89, 238, -118, 228, -238, 240, 36, 325, 121, 423, -490, 20, 365, 214, 257, -431, -203, 247, 72, -98, 279, 268, 572, 268, 320, 405, -163, 233, 24, -459, -111, -510, 376, 453, 9, 28, -57, 221, 292, 182, -78, 127, -23, 45, -141, 366, 352, 27, 320, 9, 404, -5, 322, -736, -210, -113, 103, 483, 168, 555, 423, 306, 450, 173, 88, 239, 647, 35, 349, 283} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -1, -2, -2, -1, -2, -2, -1, -1, -1, -1, -2, -2, -2, -1, -2, -2, -1, -2, -2, -1, -1, -2, -1, -2, -2, -1, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -1, -1, -2, -2, -1, -2, -1, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -2, -1, -2, -1, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -1, -1, -2, -1, -1, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -1, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -2, -1, -1, -1, -2, -1, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -1, -1, -2, -1, -1, -1, -2, -1, -2, -2, -1, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -1, -1, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -1, -1, -2, -1, -1, -1, -2, -2, -2, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -1, -1, -2, -1, -2, -2, -1, -1, -2, -2, -2, -1, -1, -2, -2, -1, -1, -1, -2, -2, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -1, -2, -1, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -1, -1, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -1, -2, -2, -1, -1, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -1, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1215279616, 1717322112, 1328232576, 1132439808, 1834804352, 1537584256, 1541204608, 1516564096, 1639447936, 1820808064, 1768786176, 1707811712, 1392188928, 1494730496, 1667597696, 1361138560, 1750076544, 1589796096, 1300863104, 1804264448, 1233584768, 1726063616, 1409994240, 1281532288, 1472715776, 1953986432, 1280639104, 1256611072, 1390999680, 1840548864, 1751691008, 1987896832, 1617694336, 1493241728, 1477142272, 1379052160, 1501272960, 1888699904, 1292558080, 1434121984, 1587429248, 2012510976, 1542412544, 1423313664, 1227943296, 1546542720, 1494896000, 1405852544, 1213205632, 1193581952, 1890439808, 1348439296, 1381432192, 1309197184, 1396732800, 1376653056, 1786992896, 1355118976, 1674480896, 1809312640, 1443706752, 1457037312, 1443404032, 1382058496, 1864548608, 1309735808, 1222295168, 1687294464, 1415883392, 1617612928, 1320812544, 1226816128, 1885804544, 2143899520, 1604333440, 1652253056, 1409038592, 1226250240, 1418791296, 1619912064, 1431796992, 2048218240, 1447507072, 1352646272, 1588552832, 1722683904, 1394258688, 1384207744, 1617861632, 1690233088, 1379449472, 1858108928, 1463450624, 1740086656, 1538548736, 1484482048, 1659633920, 1439778688, 1305165824, 1431613696, 1656180608, 1468565888, 1383616128, 1113245696, 1210488832, 1088957184, 1416589696, 1439240064, 2044697088, 1479877632, 1301923456, 1777845376, 1635118848, 1434740224, 1529731200, 1427759744, 1447216896, 1217326464, 1479450880, 1391807616, 1862659712, 1571552768, 1565100416, 1987101696, 1210962304, 1703922304, 1543790336, 1416718336, 1384531072, 1328163712, 1791224320, 1364148224, 1789457152, 1754957696, 1367692032, 1338178048, 1548532224, 1144616320, 1322180096, 1424195712, 1225965696, 1481922304, 1356450176, 1582463232, 1497298816, 1508043264, 1282234496, 1372835328, 1337161856, 1316322560, 1495566592, 1465856512, 1169965824, 1301494912, 1493919104, 1103533056, 1476401792, 1682102272, 1579220480, 2143382912, 1422677632, 1612853120, 1505844352, 1668272640, 1833067520, 1223007232, 1784678784, 1845470720, 1425957248, 1925420416, 1317714176, 1293338496, 1435876608, 1467541248, 1466513664, 1464161152, 1538362752, 1841366016, 1211700352, 1547510656, 1399662336, 1461496960, 1477407616, 1446268672, 1529197312, 1353451392, 1340990848, 1381053440, 1497193472, 1374582016, 1310075520, 1985809536, 1492336512, 1260788992, 1509660800, 1621510912, 1516416256, 1465350272, 1555623424, 1538990976, 1328636416, 1683562752, 1569464576, 1554500480, 1176697472, 1599409536, 1509845248, 1438293376, 1314437376, 1486588416, 1381317504, 1812937472, 1696060672, 2039431424, 1583000960, 1190728576, 1280214656, 1309116288, 1649032960, 1304245376, 1410874496, 1697531776, 1343013376, 1379384960, 1434535296, 1472933760, 1322951296, 1499348736, 1390046080, 1487189120, 1311971584, 1555497728, 1636202112, 1624308608, 1740017664, 1740231680, 1388071168, 1570623744, 1441174272, 1265204352, 1506401280, 1491023744, 1503202688, 1494323968, 1420766976, 1390514688, 1680448000, 1494619392, 1575752704, 1334806528, 1125246464, 1668628352, 1443890304, 1669599872, 1403115648, 2045324672, 1434245888, 1224442240, 1586741888, 1747458048, 1415712512, 1339559168, 1337143040, 1534164608, 1301058432, 1266470784, 1692409088, 1391388672, 1356805120, 1489220608, 1570766976, 1401919360, 2001984896, 1476904704, 1293823744, 1424886656, 1448293632, 1549235072, 1562819200, 1257185920, 1723665024, 1498005888, 1392585216, 1445907712, 1412750720, 1649796480, 1825009408, 1555746432, 1791654400, 1542486144, 1641262080, 1612597504, 1391503616, 1592372096, 1406659840, 1505892608, 1901513984, 1363806336, 1753052800, 1369013760, 1503781376, 1353972864, 1531692160, 2060849152, 1492150016, 1531251328, 2025874688, 1535452416, 1452957952, 1654855808, 1636436224, 1663624704, 1422339328, 1593102592, 1241462912, 1896056448, 1445347200, 1426079232, 1331668480, 1092056704, 1382281344, 1469610752, 1530224000, 1513499776, 1281213184, 1362186752, 1436691968, 1478481792, 1140710528, 1572590848, 1355828864, 1349675392, 2039650560, 1321903104, 1287999232, 1878425088, 1382665216, 1333884544, 1509690368, 1991424512, 1727667968, 1691067264, 1245612672, 1657703552, 1531737984, 1482346624, 1332676608, 1726736768, 1560704512, 1242966528, 1762948864, 1399916160, 2052340096, 1614458240, 1455591296, 1927076352, 1625630720, 1692553344, 1329539840, 1341456256, 1426556288, 1800924928, 1364030208, 1735861248, 1513028352, 2007504768, 1430846336, 1534467712, 1831368960, 1510718848, 1763926912, 1522221184, 1523487488, 1936851968, 1459588352, 1649021696, 1841017856, 2011403904, 1176888064, 1606030336, 1482975232, 1475188480, 1487172992, 1166136192, 1678489216, 1486916096, 1196527488, 1540925568, 1270456064, 1532185088, 1496774784, 1808554880, 1357520256, 1507659008, 1409695488, 1441990528, 1462868480, 1590830336, 1505637760, 1428742272, 1485788928, 1723018240, 2116780800, 1288094592, 1312371968, 1159915136, 1689541120, 1179875200, 1685333120, 1447734016, 1715479552, 1077032960, 1870505856, 1624818816, 1578365568, 1227157120, 2057255296, 1551464704, 1144277120, 1527031680, 1597209216, 1598243072, 1554953472, 1320905856, 1516542592, 1504119936, 1484659072, 1543876992, 1584970112, 1660999936, 1430571264, 1634214272, 1735533952, 1551289600, 1141522432, 1781304576, 1104768384, 1659465344, 1423561984, 1554590080, 1469357824, 1451254144, 1547678848, 1266706560, 1212814208, 1503852416, 1312523520, 1914049792, 1447167232, 1712166656, 1399136768, 1264331008, 1478842880, 1528518656, 1429665536, 1960542336, 1573108352, 1422014720, 1434405760, 1405026432, 1329229312, 1375869568, 1284443648, 1473330304, 1498305280, 1430436480, 1473807104, 1360934656, 1523618560, 1131890944, 1165560960, 1681647744, 1822343808, 1659868160, 1364696576, 1409792128, 1343942016, 1312327040, 1709757184, 1338393856, 1424479872, 1758704640, 1533457152, 1178051200, 1394077440, 1295651456, 1331314816, 1618616704, 1596010496, 1663430656, 1669617408, 1450057600, 1461325312, 1224878592, 1589844352, 1596605312, 1624773632, 1769763072, 1850204672, 1392717696, 1605434368, 1492362752, 1450313856, 1433191040, 1896212352, 1449107968, 1361707392, 1411432320, 1795734656, 1970965120, 1557346816, 1454278400, 1224886528, 1521422208, 1889769088, 1649859712, 1626941056, 1732438784, 1443783552, 1206438016, 1271982208, 1590658176, 1289164928, 1453330816, 1497894400, 1549929344, 2089742720, 1496349952, 1393710976, 1391301760, 1491142144, 2039936768, 1749537792, 1733757696, 1461697408, 1505784704, 1538903552, 1466094848, 1310688384, 1288575872, 1987379712, 1378233984, 1610408576, 1249873792, 1430516608, 1484000768, 1619778176, 1649424000, 1268296704, 1306211328, 1168015616, 1549977856, 1780947456, 1294163584, 1786766592, 1334678912, 1702604160, 1285295360, 1785361024, 1503783424, 1671709056, 1815049728, 1571994496, 1820203648, 1410211072, 1912080896, 1597118336, 1455309312, 1490361984, 1445032704, 1622350720, 1605064704, 1579273216, 1554832896, 1571378176, 1450940288, 1675033344, 1629905408, 1397674496, 1368472960, 1333548544, 1696091136, 1651809664, 1326417664, 1541073792, 1385040640, 1443055360, 1223745920, 1501972224, 1755065984, 1104587776, 1613468416, 1638497536, 1478704512, 1827099648, 1578262784, 1300915712, 1710641664, 1197516800, 1874614528, 1360449920, 1778106624, 1470160768, 1379035520, 1502923264, 1763671936, 1901762432, 1710707712, 1445672448, 1183598592, 1678576384, 1812941056, 1694992384, 1339457152, 1332369280, 1605113344, 1624646784, 1827632384, 1581210496, 1862474752, 1225068928, 1299937152, 1475012096, 1733476992, 1694374784, 1483896064, 1506721408, 1414659584, 1183420928, 1422064128, 2012856320, 1473195264, 1454112000, 1371320320, 1217221120, 1347953024, 1905423488, 1445878784, 1355185664, 1656673408, 1839000192, 1682443008, 1919912704, 1356143104, 1455875712, 1871691648, 1525469312, 1840344704, 1407524608, 1300745984, 1391130368, 1595998848, 1558784000, 1245729664, 1454595456, 1400497280, 1451746304, 1392916480, 1840969728, 1480222336, 1635955968, 1555405568, 1675676160, 1500326528, 1375358592, 1577801344, 1509051392, 1819566720, 1477778432, 2121833344, 1456177024, 1524969600, 1895735040, 1849825152, 1735383040, 1327488128, 1591093248, 1599582720, 2010266624, 1435405824, 1251054464, 1450783360, 1099039360, 1593564928, 1131225600, 1713958272, 1629828224, 1585980032, 1933648896, 1584396160, 1531319424, 1291016448, 1377011328, 1593917824, 1474558464, 1622035712, 1840341760, 1289302912, 1406755840, 1250123904, 1481777152, 1907116160, 1424335616, 1461394816, 1417965696, 1740930304, 2006910080, 1236417792, 1276321408, 1425823488, 1508568832, 1413261824, 1526701696, 1323325696, 1409854592, 1127102976, 1479151488, 1450963200, 1758027008, 1608358656, 1757665920, 1641847168, 1293471360, 1623129856, 1655529344, 1773213312, 1173166848, 1461945728, 1231691520, 1488777600, 1934697728, 1423217920, 1630372480, 1384145920, 1277162880, 1442007040, 1548738944, 1361047296, 1843215872, 1375712128, 1489072896, 1650805248, 1359141888, 1597767296, 1768217088, 1697773952, 1431584640, 1280093056, 1732078080, 1349753344, 1407608064, 1140684032, 1522594944, 1447055104, 1739803264, 1255229696, 1729570816, 1279486336, 1738881408, 1615200768, 2043848960, 1420616576, 1968012928, 1514853376, 1518698240, 1847392128, 1939308032, 1717542144, 1669249024, 1394868480, 1097493120, 1417918592, 1405132288, 1580980992, 1811632384, 1436675968, 1417472768, 1380120064, 1751972224, 1388820352, 1246134912, 1672712576, 1761012224, 1330860928, 1604728448, 1693882880, 1639083264, 1560081408, 1490218880, 1223330432, 1655217152, 1877385088, 1238342016, 1717752960, 1416948864, 1401649920, 1714488832, 1476521856, 1667123968, 1361613312, 1802038016, 2017975296, 1455765120, 1312798336, 1647769472, 1553794944, 1746941312, 1415149184, 1627745280, 1392290432, 1496582272, 1505531520, 2121553920, 1235651072, 1534967808, 1103827712, 1749031808, 1390400000, 1395684480, 1265246848, 1523996416, 1505240064, 1613081216, 1685548544, 1387581440, 1322485888, 1404928384, 1261838464, 2117984768, 1842723840, 1378350464, 1319341696, 1625582464, 1682631552, 1365877248, 1713954816, 1444741504, 1618712448, 1486379008, 1661670528, 1635117056, 1657734656, 1567707392, 1771436800, 1448549376, 1261270784, 1449332096, 1312542592, 1599005952, 1586538112, 1440728960, 1459069440, 1175423104, 1450067840, 1238743680, 1597367808, 1572966144, 1198260224, 1525916288, 2071322368, 1389723648, 1489407872, 1500373632, 1647098240, 1670156032, 1350452352, 1213420288, 2016085760, 1381526016, 1522770944, 1552755072, 1483757696, 1284339712, 1377128448, 1701615488, 2051887104, 1370922368, 1685786368, 1336295680, 1629457536, 1739832832, 1296793728, 1521406976, 1346989824, 1516487552, 1477498240, 1348642560, 1203521664, 1366536064, 1569691776, 1640006912, 1397968256, 1444235520, 1719574016, 1410224640, 1535585408, 1613098624, 1223010176, 1515462400, 1494337664, 1365385728, 1555089792, 1542607872, 1306671872, 1622032640, 1535947136, 1651775616, 1882286208, 1501201024, 1598920832, 1335532416, 1791564800, 1529464448, 1647772160, 1385389312, 1492245376, 1681225216, 1452578432, 1420768512, 1564450432, 1597926656, 1912482944, 1581223424, 1435328640, 1201430016, 1684806144, 1570502912, 1767214464, 1462267648, 1473249664, 1126504832, 1698059520, 1349036672, 1789546112, 1458028160, 1110125952, 1509095168, 1392984448, 1350091392, 1364827520, 1615993984, 1082446976, 1409476736, 1444840448, 1658061440, 1690627328, 1416537472, 1322811392, 1879118848, 1598925568, 1778454784, 1147047424, 1542328576, 1666331648, 2118065920, 1303053440, 1974417920, 1628636288, 1536958848, 1628509440, 1568407040, 1705279360, 1701351552, 1458971264, 1646692096, 1271132032, 1698122240, 1529593728, 1665064960, 1318037248, 1735282304, 1575663744, 1514674304, 1748400640, 1647694208, 1466472832, 1437089024, 1457542912, 2081605376, 1423364992, 1669781632, 1484947456, 1185231616, 1474875520, 1334992896, 1341316608, 1619797376, 1615871616, 1105758976, 2011077376, 1821880960, 1613826304, 1732142592, 1699940736, 1463301760, 1180809088, 1182468096, 1257973760, 1553637632, 1346393856, 2029376256, 1596211328, 1409606144, 1322768128, 1329020672, 1641806848, 1460708992, 1446754816, 1540147712, 1517391872, 1528071296, 1555882112, 1985780992, 2044585472, 1721493376, 1443690112, 1595206912, 1999142912, 1595679232, 1559581824, 1498704512, 1449556480, 1356406528, 1352143104}; +static const int8_t CONV27_N_ZERO[] = {1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-34, 18, -77, -175, 48, -35, -15, 10, -48, -47, -70, -56, -67, -34, -82, -56, -60, -38, -16, -50, 8, 53, 35, -21, 11, -46, 11, -65, -27, 36, -4, -11, 43, -81, -31, -122, 16, -57, 37, -22, -49, -36, -44, -74, 50, -33, 37, -2, -39, -32, 59, -21, 34, 21, 15, -21, 1, -40, 59, 64, 2, 101, -7, 64, 55, 43, -71, -58, -35, -8, -72, 29, -1, -23, -90, 77, -20, 83, 82, 74, -178, -71, -14, -208, -96, 3, -85, 69, -45, 75, -82, -59, -1, -20, -29, -132, 0, -111, -157, -115, -71, -111, -19, 21, 15, -49, 14, -51, -92, -207, -120, 137, 52, -28, -29, -159, -62, -13, -21, -35, -10, -50, -16, -117, -22, -63, -53, -75, -71, -32, -102, -67, -43, 34, -158, -183, -128, -154, -82, -94, -117, -72, -141, -82, -86, -45, 7, -113, -68, -85, 31, 186, -177, 89, 17, 83, 39, -57, -44, -5, 25, 112, 115, 7, 57, -65, 6, -151, 67, 4, 43, 164, 15, -46, 45, -113, 18, -10, 100, 40, 54, -23, 104, -59, 58, 85, -34, 45, -23, 44, -23, 87, 86, -65, -9, 168, 41, 16, -108, 74, -123, -5, 107, 125, 93, 10, -62, 68, 1, 86, -50, 69, 36, -38, 8, 42, -49, 146, 66, 119, -16, -76, 17, 192, -47, 104, 19, 21, -83, 116, 77, -44, 62, 42, 104, -30, 52, 115, 85, 148, 18, -66, 33, -22, 44, 83, 5, 91, -24, -38, -24, 43, 5, 2, 77, -73, 38, 75, -29, 9, 27, -3, -21, 38, 51, 46, 44, -62, -100, 6, 67, -35, 33, 12, -125, -79, -48, -29, -80, 87, -34, 126, -46, -50, 72, 25, 18, 1, -44, -8, -55, -72, -12, -130, 9, -18, 8, -25, -16, 37, -110, -72, -69, -73, -143, 12, 81, -72, -55, -80, -36, -42, -36, 145, 45, 91, -28, -101, -50, -50, -114, -140, -173, -112, -85, -174, -135, -53, -68, -129, -38, -63, -6, 54, -78, -79, 68, -38, -60, -58, -47, -31, -63, -137, -78, -34, 8, -9, -11, -29, -33, -103, -101, -26, -6, 14, 17, -12, 22, 60, 3, 52, -3, 27, -63, 6, -19, 72, -74, 46, -15, -114, -53, 52, -4, -38, -19, 6, 41, -3, -37, -12, -7, 25, -221, -61, -59, -41, -33, -38, -48, 51, -132, -113, -7, -51, -169, -99, 5, 78, -19, 41, 29, -71, -217, 75, -6, -37, -193, 23, 3, -26, 86, 56, 25, -43, 84, -18, 29, 62, -32, 75, 24, 152, 101, -15, -130, -105, 84, 26, -1, 4, 9, 20, -4, -22, 5, -47, -13, -54, 23, -35, 23, -20, -17, 160, 40, 9, 193, 44, 24, 53, 58, 32, 34, 69, 81, 80, -41, 48, -48, 60, 17, 45, 136, 35, -31, -42, 103, 16, 142, -17, -29, 31, 10, 107, -85, 59, 21, -3, 70, 44, 4, -51, -134, 3, 18, 105, 14, 98, -85, 22, 95, -59, -2, -37, -8, -179, 35, 56, -38, 82, 1, -8, 64, 56, -53, -35, -2, -31, -68, -32, 35, 28, -3, 93, 8, -50, -26, 54, -51, 13, 10, 149, -29, -53, 86, 64, -45, 107, 53, -8, 14, 43, 13, -10, -43, -33, -52, 86, -123, -33, 87, 74, -19, 59, -20, -177, -85, 86, 12, 34, 3, 10, -101, -62, -40, 49, 7, -20, -67, 2, -61, 158, -97, -64, -42, 24, 42, 1, 62, 32, -6, 21, 66, 8, 33, 67, -20, 49, 0, 21, 41, 6, 109, 61, -123, 78, 11, 106, -10, 30, 11, 84, 8, -138, 38, 96, -40, 39, 91, 5, 2, 17, -11, 29, 107, -19, 99, -2, 82, -19, 12, 40, 47, -62, 30, 60, 47, -34, 138, 65, 71, 133, 17, -61, 65, 78, -69, 62, 75, 11, 128, 76, 54, 15, 40, -27, -6, -104, -135, -23, 15, 43, 72, -136, 54, -36, 15, -39, 159, -13, 2, -17, 23, 178, 39, 35, 54, 31, 79, -87, 48, 8, 94, 83, 49, 21, -119, -20, 74, 42, 3, 52, 75, -14, -16, 97, 135, 62, -13, 66, 2, 85, 16, -32, 54, -63, -72, -76, -37, 34, 98, -72, -56, 96, 42, 14, -44, -36, 94, -13, 0, 48, 89, -77, 35, 7, -78, -40, 21, 77, -3, 29, 27, -27, 109, -39, 34, 101, 50, -20, 73, -34, -98, 27, 64, -61, 66, -1, -42, 162, 42, 27, -58, 9, 12, -23, 77, 79, -2, -20, -28, 86, -31, 81, -6, 68, 7, 81, 62, 25, 40, -56, -67, -80, 53, -54, 69, -21, 72, 55, 9, 57, 57, 30, -54, 93, -11, 48, 45, -39, -24, 17, 46, 23, 95, 186, -31, -50, -122, -79, 35, 45, 56, 147, 23, 0, 60, -38, -20, 115, 57, 36, -60, -35, 25, 34, -73, 124, -55, -19, -86, -39, -4, 89, -44, 15, 68, 28, -116, -22, 41, 77, -90, -36, 36, -3, 4, 114, -34, -73, 64, 148, 95, 12, -8, -16, 168, -100, 84, 53, -45, -58, 153, -6, 73, 95, 140, -5, 69, 38, 26, 133, 22, 131, -29, -24, 75, 17, 129, -14, 52, -9, -81, 73, -103, -20, 71, 127, -70, 5, -41, 74, -63, 25, -53, -39, 150, -7, 81, -175, 71, -74, -128, -6, 13, -50, -71, 117, 109, 24, 99, 14, 15, 236, -61, -85, -25, 7, -35, -47, 108, 57, 10, -30, 75, 3, 64, -22, -103, -34, 65, 119, 74, 91, 87, 127, -57, 12, 59, 62, -36, 23, -98, -9, -78, 7, 14, 185, 15, 36, 2, 54, -79, -35, -74, -28, 77, 196, -4, -44, -8, -125, 1, -89, -25, -110, -98, -57, -26, -15, -16, -80, -94, 26, -76, -78, -62, -24, -20, -63, -37, -55, 2, -11, -44, -72, -43, -117, 52, 26, -62, -63, -72, 33, 82, 33, -24, 18, -20, 160, 7, -149, -12, 89, 33, 117, 69, -73, 77, 2, 104, -95, -13, -21, -100, 22, -5, -90, -42, -113, -109, -203, -70, -97, -67, -117, 14, 89} +#define FC28_W_Z (2) +#define FC28_IN_Z (0) + + +#endif /*__128_1_0_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/160_0_25_parameters.h b/Inc/intq-mobilenet-v1-models-pc/160_0_25_parameters.h new file mode 100644 index 0000000..5512420 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/160_0_25_parameters.h @@ -0,0 +1,361 @@ +#ifndef __160_0_25_PARAMETERS_H__ +#define __160_0_25_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (160) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (8) +#define CONV1_OUT_DIM (80) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (80) +#define CONV2_IM_CH (8) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (8) +#define CONV2_OUT_DIM (80) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (80) +#define CONV3_IM_CH (8) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (16) +#define CONV3_OUT_DIM (80) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (80) +#define CONV4_IM_CH (16) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (16) +#define CONV4_OUT_DIM (40) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (40) +#define CONV5_IM_CH (16) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (32) +#define CONV5_OUT_DIM (40) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (40) +#define CONV6_IM_CH (32) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (32) +#define CONV6_OUT_DIM (40) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (40) +#define CONV7_IM_CH (32) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (32) +#define CONV7_OUT_DIM (40) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (40) +#define CONV8_IM_CH (32) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (32) +#define CONV8_OUT_DIM (20) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (20) +#define CONV9_IM_CH (32) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (64) +#define CONV9_OUT_DIM (20) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (20) +#define CONV10_IM_CH (64) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (64) +#define CONV10_OUT_DIM (20) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (20) +#define CONV11_IM_CH (64) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (64) +#define CONV11_OUT_DIM (20) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (20) +#define CONV12_IM_CH (64) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (64) +#define CONV12_OUT_DIM (10) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (10) +#define CONV13_IM_CH (64) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (128) +#define CONV13_OUT_DIM (10) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (10) +#define CONV14_IM_CH (128) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (128) +#define CONV14_OUT_DIM (10) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (10) +#define CONV15_IM_CH (128) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (128) +#define CONV15_OUT_DIM (10) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (10) +#define CONV16_IM_CH (128) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (128) +#define CONV16_OUT_DIM (10) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (10) +#define CONV17_IM_CH (128) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (128) +#define CONV17_OUT_DIM (10) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (10) +#define CONV18_IM_CH (128) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (128) +#define CONV18_OUT_DIM (10) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (10) +#define CONV19_IM_CH (128) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (128) +#define CONV19_OUT_DIM (10) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (10) +#define CONV20_IM_CH (128) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (128) +#define CONV20_OUT_DIM (10) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (10) +#define CONV21_IM_CH (128) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (128) +#define CONV21_OUT_DIM (10) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (10) +#define CONV22_IM_CH (128) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (128) +#define CONV22_OUT_DIM (10) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (10) +#define CONV23_IM_CH (128) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (128) +#define CONV23_OUT_DIM (10) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (10) +#define CONV24_IM_CH (128) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (128) +#define CONV24_OUT_DIM (5) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (5) +#define CONV25_IM_CH (128) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (256) +#define CONV25_OUT_DIM (5) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (5) +#define CONV26_IM_CH (256) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (256) +#define CONV26_OUT_DIM (5) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (5) +#define CONV27_IM_CH (256) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (256) +#define CONV27_OUT_DIM (5) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (256) +#define FC28_OUT_CH (1000) + + +#endif /*__160_0_25_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/160_0_25_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/160_0_25_weights_bias.h new file mode 100644 index 0000000..1617d03 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/160_0_25_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __160_0_25_WEIGHTS_BIAS_H__ +#define __160_0_25_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {174940, 2029513, 113745, -58159028, 36173, 50430, -32731720, 102417} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-59, -243, -158, -44, -98, -94, -188, -112}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1614091392, 1451004544, 1332797440, 1549548800, 1289575168, 1482427136, 1539206272, 1090281600}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {13188, -4094, 83210, -294, 14340, 13992, -205, 4539} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-55, -72, -175, -94, -110, -104, -74, -64}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1514174336, 2048701696, 1757045504, 1637386752, 1625798272, 1283069056, 1883363968, 1351751040}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {2776, 70249, -6854207, 28588, 17786, 46116, 36065, 35457, 43534, 31354, -9584, 70409, -108, -2269244, -8521, 44726} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-7, -250, -34, -216, 0, -255, -255, -220, -135, -217, -29, -237, -187, -235, -24, -255}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1189695488, 1629207552, 1218008704, 1980881664, 1089945600, 1849615616, 1215221760, 1308872064, 2042571520, 2110712320, 1797107072, 1087670784, 1261402496, 2113831680, 1642729856, 1462189184}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {-12649, 160663, -424, -18854, -113, -9844, 87660, 16300, 10290, 93873, 20436, 13805, 111478, -684, -10432, 3001} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-57, -212, -37, -24, -140, -76, -288, -111, -126, -213, -97, -134, -204, -25, -32, 24}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1219700864, 1895337728, 1922213376, 1701773440, 1551001088, 1388631808, 1192139008, 2067055488, 1470724096, 1086651776, 1402858112, 1542778752, 1148628480, 2061652864, 2020189056, 1799455744}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {1147, 33164, -19169, 59304, -2894, 3465, 26578, -742, 94248, 32788, -1887, 3558, 13428, 376, -7587, -28811, 83948, 53342, 35583, -2446, -12495, 5691, 2528, 15724, 7440, 31294, 403, -2501, -1771, 224949, -41539, 45033} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-48, -189, -24, -195, -34, -77, -26, -23, -138, -233, -118, -58, -141, -92, -16, -41, -105, -140, -19, -36, -60, -63, -88, -143, -39, -174, -94, -8, -38, -97, -47, -196}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1263525248, 1128455424, 1462192640, 1571892736, 1641247616, 1468972800, 1734709248, 1197792000, 1109352192, 1125537024, 1679625600, 1660614272, 1428820736, 1621516544, 1815763584, 1466689920, 1812584704, 1189419008, 1235309952, 1653477888, 1521148544, 1601646720, 1820214400, 1315166464, 1174022784, 1213900160, 1938948096, 1803646464, 1267631104, 1700774656, 1124466432, 1252713856}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {12867, 9047, 3993, 326, 41526, -61, -10216, 2365, -28454, 5819, -39, 8191, 10528, 28327, 1524, 3603, 872, -12417, 72, 16539, 39303, 2758, 1806, -332, -74, 138, 36151, 16216, 33085, -21176, 136, 12697} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-65, -21, -134, -83, -182, -107, -66, -132, -12, -147, -111, -102, -96, -135, -124, -92, -111, -154, -114, -101, -129, -127, -116, -145, -135, -107, -139, -211, -136, -98, -31, -77}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1928469888, 2032533632, 1173871488, 2052285440, 1771151872, 1744352768, 2083288960, 1948753536, 1809327360, 1966822528, 1226083968, 1437412096, 1997628672, 1077202944, 1573228032, 1652246784, 1116240512, 1115883520, 1856320512, 1806273024, 1229849472, 1854811008, 1939238272, 1235650048, 1889778432, 1657248256, 1756912128, 1240432384, 1292369280, 1430450944, 1127010048, 1891528064}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {1694, -5120, 65789, 23010, 35838, 327, 155471, -10909, 1781, 3626, 4864, -14711, 74445, 55298, -1642, 29582, 2131, 25806, 38930, 3962, -27166, 21766, -11903, 6794, 4449, 67416, 12719, 57083, 28836, 3012, -59657, 29080} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-80, -106, -209, -119, -171, -190, -181, -75, -35, -168, -148, -117, -212, -84, -173, -101, -70, -118, -170, -118, -107, -101, -44, -107, -25, -221, -97, -138, -102, -190, -69, -102}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1537873152, 1233151744, 1859138560, 2109572480, 1683389184, 1098253184, 1536358912, 1548772864, 1360015616, 1236106240, 2130092800, 1286427520, 1123500672, 1182535424, 1958781824, 1242416512, 1290846208, 1342889216, 1936619904, 1271557504, 2031615232, 1647498496, 1811686912, 1509024256, 1159612672, 2113219968, 1134751360, 1121728768, 1316419072, 1522052480, 1203249920, 1542540800}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {56410, 57011, 16975, 88963, 240408, 1605, 11087, 11441, -88413, 24094, 10134, 36083, 168940, -90937, 2650, 68509, -8321, 274723, 51229, 101044, 64363, 16258, 4834, 128918, 199291, 111460, 210962, 81071, -47658, 25372, 173669, -87229} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-117, 111, -181, -135, -291, -79, -129, -101, 37, 35, 66, 60, -296, -13, -12, 66, -5, -288, -159, -196, -147, -103, 41, -325, -327, -317, -248, -244, 73, 46, -287, 77}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1223222272, 1715821696, 1151316224, 1114579840, 1538775936, 1262850816, 1589134720, 1372749312, 1166511872, 1158409344, 1299437568, 1876703104, 1671703296, 1622665728, 1600367616, 1489831424, 1580543872, 1346213888, 1369041664, 2049870080, 1623754752, 1732310016, 1301632896, 1541000064, 1228131328, 1927340160, 1414126208, 1201889792, 2121470848, 1373125120, 1583939200, 1171837824}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {532, 22041, 18122, 9619, 11469, 136668, 22169, -1734, 21322, 21750, -15681, 53492, 101151, 140018, 17224, 9669, 18181, -2098, -54667, 18604, -6386, 26461, -40809, 12221, 6791, -456, -38712, 8469, 25296, -26078, -34745, -19285, -20069, 20190, 7496, 17819, -11153, 42875, 37222, 2606, 34635, -12818, 15843, -10525, 50532, 83610, 32974, -3454, 28219, -7048, -31928, 21366, 14207, 30732, -57168, -67286, 50682, -56930, 26879, 138399, 29617, 49983, 21434, 32091} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-131, -108, -103, -106, -145, -208, -96, -126, -165, -101, -32, -97, -160, -183, -131, -137, -110, -80, -81, -189, -49, -140, -59, -154, -74, -96, -44, -44, -84, -88, -110, -65, -135, -152, -121, -68, -118, -117, -178, -146, -221, -149, -98, -44, -136, -139, -219, -76, -110, -94, -46, -165, -133, -98, -102, -77, -144, -70, -193, -198, -98, -244, -116, -91}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1631414272, 1332992128, 1418174720, 1392371840, 1519808512, 1616817152, 1374568576, 1309812096, 1205684352, 1918673920, 1621761920, 1632645760, 2064262912, 1270523392, 1382368640, 1574805760, 2043736192, 1771032960, 1297558912, 1701304832, 2127402368, 1502738432, 1294261888, 1463449728, 1809044992, 1471049600, 1783031296, 1997772800, 1929873024, 1553233920, 1107303424, 1183656960, 1483847936, 1854666112, 2014205952, 1759888640, 1795596288, 1201149952, 1192578944, 1285373440, 2052166144, 1245455744, 1252224000, 1320855040, 1353857664, 2127757952, 1566092800, 1988454656, 1174580480, 2091307136, 1289817216, 1100332672, 1812022400, 1755639680, 1722737664, 1656669184, 2033872640, 1142826624, 1368060928, 1589599360, 1091064960, 1436343296, 1743780736, 1223695232}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {75964, -7914, 40164, -254, 49340, 45290, 15234, -926, -5693, -1215, 44664, -1276, -1962, -24385, -857, 24254, 10106, -68, -4522, 13085, 2378, -1757, 4072, 17019, 9770, -16258, 6644, 11706, 1982, 6265, -3493, -892, 196, 1091, 1551, 70096, -554, 66389, 6359, 102, -8064, 66816, -1955, 80109, 288, -11050, 59305, 3233, 65, -14894, 12, -6787, 5473, 21179, 1023, -869, 18734, 12316, -6470, 3582, 44957, 14370, -7915, 1334} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-247, -33, -200, -130, -198, -164, -85, -124, -86, -128, -253, -115, -125, -35, -125, -125, -70, -94, -28, -46, -50, -88, -14, -251, -231, -10, -62, -47, -170, -176, -87, -32, -21, -88, -170, -247, -119, -236, -33, -32, -20, -230, -71, -246, -121, -35, -223, -88, -130, -34, -19, -81, -100, -82, -43, -107, -189, -238, -31, -107, -212, -217, -34, -122}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1241816576, 1608515456, 1471806976, 1759608064, 1199392256, 1158681856, 1552887296, 1220857856, 1980601600, 1459218432, 1341868416, 1586463360, 2093401728, 1223912576, 1964183424, 1465179520, 1835401216, 1268170752, 1392274944, 1573104000, 1485897472, 1585117056, 1148504320, 1769871872, 1267722752, 1231945728, 1084481920, 1585400064, 1621011456, 1568271360, 2054699264, 2099520128, 1671463808, 1261859712, 1545042688, 1454227072, 1317214592, 1104396416, 1647418624, 1555556992, 2028072704, 1433985024, 1099345920, 1541989504, 1169508480, 1275300992, 1575843328, 1428640128, 1467001216, 1754182528, 1152897536, 1103386368, 1524275712, 1622706816, 1941940736, 1541000576, 1942839296, 1906410496, 1276704256, 1361822720, 1666031488, 1277332352, 1981238272, 1699795584}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {-77215, -22607, 24430, 7230, -27500, 32153, 661, 41942, 9294, 3634, -55810, 2211, -7332, -6066, -3487, 20103, 40436, -29268, -45866, 55552, 71717, -28966, 11630, -71527, 26289, 1648, 14855, 9904, -11223, 51353, 94898, 13677, -54285, 8935, 21251, 25180, 2056, -2937, -24379, 30627, 12847, -23836, -25587, 4183, -5836, 38757, -47767, 27993, -9725, -36698, -9600, -29811, 103320, 12907, -1952, -48669, 60865, 67790, 17055, 3638, -8200, -20089, 17162, -20943} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-112, -133, -161, -141, -113, -83, -126, -157, -157, -97, -61, -54, -72, -135, -133, -117, -141, -74, -98, -165, -219, -112, -160, -92, -109, -91, -129, -123, -109, -111, -159, -137, -84, -68, -156, -184, -103, -114, -33, -129, -101, -98, -140, -185, -98, -173, -158, -89, -79, -119, -111, -115, -138, -131, -149, -87, -216, -193, -59, -133, -49, -122, -116, -121}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {2053476096, 1598507392, 1242238336, 1199089280, 1459651328, 1301150848, 2073702272, 1635757184, 1155239552, 1166380416, 1510827648, 1692542848, 1221696512, 1458077440, 1763803648, 1209133696, 1284852224, 1432185088, 1324743424, 1288914560, 1327545856, 1538414464, 1159112192, 1604047360, 1206617216, 1901482880, 1948634496, 1094984704, 1730013696, 1738176640, 1691941632, 2059903104, 1625663744, 1777245056, 1716578560, 1293254912, 1237357696, 1256817408, 1102462208, 1716649472, 1116019328, 1111436928, 1164442496, 1093248384, 1079625088, 1595851776, 1513704704, 1577935232, 1734460544, 1198976128, 1080599296, 1292976256, 1445302144, 1619180160, 1407064320, 1416413952, 1322440448, 1355209856, 1238594944, 1779692288, 1173916416, 2010655360, 1395665664, 1633354752}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {54, 287488, 214683, -13, -804, 3644, -10444, 40972, 29176, 85112, 37169, 76022, 239065, 78888, -5553, 332544, 220049, 135953, 2526, 128193, 135630, 7131, -1359, 10114, 184658, 100021, 101241, 9072, 9104, 259908, 1065, 5734, 66969, 9300, -2439, 218424, 3071, 61416, 201646, -69188, 65864, 160047, 316, -44287, 60, 159746, -2704, -62110, -90, 238, 80460, 21, 206552, 85, 76832, 3268, -3440, 2572, 248916, 1137, 123666, 570, -49693, 76840} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {76, -324, -316, 64, 91, -150, 72, -201, 77, -326, 57, -246, -314, -314, 38, -295, -312, -322, -100, -303, -318, 75, 62, 62, -276, -278, 69, 48, 51, -327, -166, 55, -319, -179, 61, -336, 63, -365, -338, 61, -305, -323, 43, 53, 80, -315, 69, 53, -165, 49, -325, 97, -314, 68, -304, 43, 73, 65, -322, 54, -332, 44, 59, -332}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1899199616, 1989453696, 1520331520, 1581335296, 1165483648, 1186507648, 1272198272, 1467352448, 1450260864, 1757527680, 1254450048, 2108082432, 1165115648, 1144126336, 1237620096, 1225468544, 1159159936, 1650723456, 1105424896, 1994571136, 1606642560, 2142980224, 1451870592, 1444977280, 1188829312, 1293590912, 1420809344, 1121548544, 1361514240, 1451177344, 2031967360, 1481436288, 1336053504, 1415030272, 1186943232, 1796848896, 1956880128, 1120109696, 1538199552, 1795147008, 1286775680, 1952310528, 1957937408, 1490153472, 1489900288, 1566580864, 1650473984, 1221001856, 1354550400, 2129936000, 2061570560, 1246816512, 1656855168, 1491016704, 1427846400, 1886699264, 1155439872, 1878511488, 2045987328, 1107134080, 1742646912, 1103026304, 1636285184, 2127561856}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {43479, 20904, 15515, 25492, 20952, 70345, 28435, 55253, 98464, -5534, -27667, 1741, 47626, 81850, -5869, -21630, 75459, 8891, 77506, 45135, -28977, 4085, -35355, -29960, -19702, 7306, 103870, 16854, 33638, -12582, 86535, -8222, -5249, -1967, 49398, -8591, 572, 45812, 28270, 13774, 37032, 40238, 24614, 3896, 65720, -39557, 61392, -5385, 36841, 3096, 20857, -1883, -1219, 12704, 24171, -12758, -48717, -3414, -1723, 8394, 20160, 1953, 28818, 34190, 19957, -5475, 38861, 31762, 8089, 28995, 6486, 78619, 20524, -29868, 63967, 32191, 15879, 83057, 69719, 65361, 29403, 6081, 50938, 23075, -17621, 52376, 10471, 41349, 2721, 7183, 14484, 3741, 62494, 8549, 60891, 32458, -31365, 20750, -2619, 31415, 83232, 62316, 45602, 11880, -8054, -27321, -28233, 56053, 127624, -17843, 20415, 55243, -5811, -22668, 17468, 19706, 41795, -13346, 14230, 72118, 38843, -29228, 23930, -7150, 61511, -70478, 25393, 33865} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-164, -155, -101, -152, -108, -94, -135, -134, -125, -138, -97, -161, -171, -148, -100, -131, -172, -41, -163, -75, -61, -163, -65, -112, -107, -58, -114, -125, -140, -77, -163, -37, -60, -44, -97, -136, -57, -164, -55, -92, -108, -193, -102, -93, -142, -109, -153, -155, -125, -56, -137, -144, -89, -77, -94, -133, -83, -94, -36, -188, -125, -148, -137, -181, -106, -98, -198, -147, -180, -154, -101, -132, -97, -78, -150, -182, -92, -132, -166, -177, -153, -68, -129, -123, -81, -135, -135, -88, -127, -112, -153, -65, -83, -93, -123, -131, -84, -71, -107, -137, -54, -183, -115, -187, -87, -162, -55, -129, -189, -96, -173, -115, -116, -119, -63, -87, -122, -192, -95, -147, -116, -119, -124, -135, -199, -82, -162, -168}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1933254784, 1800888320, 1696388992, 1076415872, 1722942336, 1351305600, 1891507328, 1931975296, 1096155392, 1269492736, 1776701312, 1650080384, 1901967488, 2004946688, 1318643328, 1669409536, 1181828864, 1231150592, 1409298560, 1223457792, 1138982144, 2007466880, 1122992512, 1332296576, 1898894208, 1267163264, 1876056064, 2030148864, 1458148608, 1237025024, 2066374656, 1129889152, 1145250048, 1167602304, 1466001792, 1756703616, 1106840064, 1933495424, 1112038144, 1102104960, 1551889920, 1099880448, 1542828032, 1476969856, 1089918720, 1092515456, 1212522112, 2053003648, 1945003264, 1331588864, 1320297728, 1406449024, 2124753152, 1325390592, 1308222976, 1982667520, 1672366080, 1876723968, 2104093952, 2034603904, 1108286592, 1093573376, 2098187776, 1097324800, 1514596608, 1543314048, 1748667264, 1728431616, 1242726272, 1606851200, 1302387968, 1517410560, 2016599296, 1425844736, 1388882944, 1712229632, 1961254784, 1107561856, 1607444864, 1144731392, 1979410304, 1100968576, 1767218304, 2117517440, 1635680512, 1487255040, 1739545856, 1196073344, 1553410048, 1164175872, 1585758848, 1118773376, 1353188096, 1542870912, 1242948096, 1162388736, 1396112128, 2055022464, 1679158912, 1299166720, 1401422592, 1267175168, 2062427008, 1817028608, 1123781504, 1453581824, 1925731456, 1430318720, 2097612928, 1608597632, 1649059200, 1322728192, 1631534336, 1083221632, 1424396416, 2120825984, 1640037760, 1455211776, 1123940992, 1448096768, 1934611840, 1470560256, 1085016320, 1769516544, 1463586560, 1695388288, 1704974080, 1971009408}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {27452, 973, 7629, 23422, 11036, 15924, 31393, 33261, 17114, -13294, 48310, 25373, 29217, 176, 1899, 300, 14839, 270, 9212, 48314, 738, 260, 24781, 61701, -9951, 38, 1403, 20388, 246, 2264, 233, 650, 1979, 718, 1773, -15925, 198, 131, -7560, 589, -27861, -21322, 67014, 176, -13145, -3911, 12920, -2537, 7566, 567, -15418, -2892, 58013, 5897, -4059, 1, -5124, 1420, 5565, -36, -264, -1079, 1951, -313, 102266, 5830, 123131, 194, 18415, 1473, 542, -4304, 28097, 2445, -193, -481, 329, -1097, -3764, 3068, 21546, 38729, -4978, 66566, 18235, -134, 7711, 30513, 35880, 12811, 25641, 1767, 28072, 6233, 30375, 20785, 32821, 314, -56, 456, 20764, 3085, -9431, -21072, 4432, 440, -3205, 330, -146, 33498, 12356, 594, -2626, -6249, 284, -1803, 13958, -8457, -58, -23886, 7201, 24256, 250, 29704, 27206, -20923, 245, -762} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-255, -111, -24, -241, -49, -70, -230, -228, -69, 1, -261, -60, -161, -22, -116, -31, -238, -122, -48, -242, -117, -104, -240, -371, -15, -122, -103, -238, 108, -93, -96, -100, -105, -108, -32, 21, -121, -100, -75, -132, -2, -33, -250, -127, 24, -18, -63, -27, -41, -114, 4, -32, -271, -111, -3, -131, -5, -107, -70, -126, -131, 23, -78, -112, -219, -100, -327, -111, -136, -108, -115, -75, -204, -40, -90, 2, -87, -114, -18, -44, -39, -215, -24, -283, -208, -124, -44, -249, -252, -204, -111, -52, -260, -59, -248, -242, -217, -123, -103, -94, -247, -97, -9, -15, -124, -20, -23, -121, -105, -230, -31, -126, -89, -17, -122, -4, -55, -30, -108, 11, -54, -196, -124, -243, -248, -35, -120, -109}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1750761088, 1173235072, 1377304960, 1175765504, 1946066304, 1570791296, 1472292992, 1279081600, 1907949952, 1074800384, 2111737600, 1182297728, 1415405312, 1094122880, 1638416384, 1824694784, 1674456832, 2135866624, 1867603328, 1948546048, 1233309184, 1830268928, 1746215296, 1564686464, 2026889472, 1268317568, 1486092160, 2062311680, 1430848640, 1230883968, 2001808896, 1979456768, 1927247488, 1966782336, 1446128768, 1685003776, 1269622912, 2084715648, 1929216256, 1373226752, 1993152640, 1656224512, 1991009024, 1125816064, 1349664128, 1492991104, 2140444160, 1841726848, 1666281344, 1871785728, 1735458560, 1254003072, 1551124736, 1172185472, 1399280512, 1386454528, 1986656896, 1266872064, 1159250560, 1366069632, 1113632256, 1243739392, 1800236160, 1732078464, 1857128192, 1459065216, 1488556288, 1395853824, 2066417408, 1962025600, 2120314240, 1231574016, 1250708864, 1884879744, 1409698048, 1297937536, 1406373888, 2010758912, 1501734016, 1921596160, 2008907648, 1465898624, 1920342656, 1832325504, 1535520000, 1295928320, 1693834240, 2081357824, 1631557760, 2018182016, 1271109888, 1107378944, 1645990272, 1962776448, 1468648576, 1569280640, 1830597760, 1079119104, 2064972672, 2117077888, 1201041024, 1909369216, 1382136064, 1598909696, 1533289856, 1349753728, 1948137984, 1978070016, 2055337728, 2115736576, 1092900224, 1768036480, 1342340864, 1169608832, 1934057344, 1169529984, 1096615680, 1483729024, 1798964864, 2116820992, 2088919168, 1452970624, 1362261504, 1174181632, 1313891968, 1654328064, 1962717824, 1867971328}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {58542, 31316, 28208, 57411, 5143, -26617, -10475, 16930, -3899, 68145, 26852, 1245, 30492, -6716, -4363, -16171, 39735, 33714, 78045, 32290, -8334, 7411, 58090, 8513, 56495, 25427, 28311, 7619, 45912, 587, 35072, -14939, 61800, 91845, 31429, 19111, -24414, 9330, 11487, 63122, -54037, 24119, 33149, -4501, 14582, -16994, 8588, 97481, -4478, 12774, 23304, -1239, 29965, -19943, -8087, 70006, -2979, -602, 104396, -3522, 1668, 73571, 22848, -5358, -12195, 16339, 33999, 2158, -2218, 6963, 7597, 39164, 19021, 27852, 7295, 48135, 71286, 41025, 24127, 1059, 32585, 32358, 13189, 6466, -6258, -12420, -13442, 47074, 42272, 18987, 35197, -13467, 10274, 24603, 77693, 20954, 28736, 51256, -3318, 54690, -32208, 28599, 39839, -14173, 9426, 7943, 33678, -8987, 37156, 74085, 20714, -4866, 36970, 21204, -6440, 47090, 42756, 38401, 56995, 44839, -3710, 60025, -9472, 20949, 82355, 10444, -18955, 19618} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-103, -160, -124, -171, -115, -57, -113, -137, -132, -102, -147, -202, -125, -101, -102, -107, -134, -128, -150, -107, -196, -103, -107, -104, -134, -122, -164, -100, -83, -172, -142, -137, -153, -125, -118, -133, -136, -85, -134, -102, -115, -162, -92, -130, -140, -86, -130, -148, -153, -97, -162, -101, -143, -91, -36, -197, -102, -94, -121, -60, -131, -188, -108, -88, -136, -147, -129, -118, -207, -157, -90, -86, -86, -208, -136, -134, -180, -134, -147, -159, -148, -110, -86, -142, -141, -104, -196, -170, -131, -119, -127, -105, -108, -56, -172, -80, -110, -143, -162, -148, -109, -119, -134, -123, -150, -131, -170, -103, -154, -146, -124, -172, -109, -77, -133, -137, -145, -135, -122, -171, -163, -150, -107, -59, -140, -135, -167, -88}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1626447616, 1084840576, 1340386816, 1153859072, 1970662528, 1179006976, 1194625664, 1202392832, 1871854848, 1729557632, 2098764800, 1495303296, 1152507392, 1672823168, 1445600768, 1265826560, 1389966208, 1644542720, 1279799808, 1138387840, 1715357824, 1267924480, 1739454592, 1097390080, 1599906048, 1203415168, 1161971072, 1374206464, 1683598336, 2086773504, 1668419968, 1078677504, 1589453568, 1600534912, 1440266880, 2001892480, 1869697792, 1939878144, 1537770112, 1133938560, 1401551872, 1856089472, 1808133248, 1587390336, 1122940032, 1688635776, 1188029952, 1414256512, 1623965312, 2116255872, 1936174848, 1806303104, 1959808896, 1152646016, 1325089536, 1515544960, 1540089600, 2037478784, 1490904320, 1202296576, 2060865280, 1161198464, 1576840832, 1162885376, 1233659520, 1263019520, 1298598656, 1974438912, 1181426560, 1518958336, 1158729472, 1548745856, 1119902208, 1830896640, 1756710400, 1443469312, 1384786816, 1629660672, 1626831488, 1582917760, 1227095040, 1282594816, 1551337728, 1251464064, 1321908480, 1425373568, 1288376576, 1170756608, 1918241664, 1874502016, 1771448704, 2087878912, 1288924416, 1563383552, 1394478080, 1793379712, 1081285504, 1100110080, 1959672960, 1960500736, 2000755456, 1994853120, 1943382912, 1212254848, 1141069568, 1830695936, 1283053184, 2035640960, 1177083776, 2111762432, 1579581312, 1629554816, 2093154304, 1243429248, 1786839040, 1520750848, 1176827648, 2141188608, 1824852096, 1303748608, 1328830848, 1850521600, 1945043968, 1163702656, 1593685888, 1463633280, 2079485184, 1275404416}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {-709, 41040, -342, -9111, 27702, 6756, 7996, 42126, 17008, 25348, -5326, -2842, -9131, -95, 2255, -18103, 46088, 27763, 34687, 39180, 126, 700, 31064, -17170, -2249, 2858, 373, 9203, 12796, 31244, 1761, 5720, 21100, 20931, -9632, 19111, 31781, 35266, -1763, 11566, -4552, -17771, 23941, 31876, -11276, 47991, -11212, 8010, -13452, 50726, -12241, 41315, 57524, 51787, 13728, -7444, 3759, -1835, 19504, 41311, -11579, 11573, -81, 32648, 27847, 5100, 21271, 35090, 40460, -27952, -19706, -3833, -12991, -9957, 699, -18867, -2502, -6635, 37412, 54851, 4964, 17818, 166094, -741, -14800, 335, 25921, -26152, -14163, -10889, 23681, -9999, 35716, 36187, 685, 36553, 28840, -3, 856, -2918, -19706, 1592, 28214, 4916, 50788, 40206, 19073, 71800, -2623, -11797, -9870, 19441, 7256, -8718, -36552, 82691, 21718, 16451, 13082, 37687, 115700, 52828, 6336, 5896, 33866, 5152, 32813, -103} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-91, -237, -4, -48, -144, -137, -79, -255, -100, -235, -111, -29, 137, -54, -108, -18, -256, -155, -247, -232, -29, -104, -260, -13, -16, -158, -158, -74, -45, -244, -120, -95, -248, -69, -8, -99, -276, -249, -105, -40, 39, -24, -204, -142, -19, -247, -9, -44, -16, -252, -36, -264, -263, -224, -63, -41, -67, -100, -207, -221, 10, -32, -120, -145, -181, -136, -165, -159, -217, -27, -19, -33, -13, -36, -31, -14, -16, -42, -262, -414, -40, -105, -408, -83, 15, -23, -240, 11, 12, -23, -59, -11, -257, -235, -94, -233, -256, -109, -155, -122, 2, -173, -248, -84, -115, -159, -93, -241, -77, 16, -45, -75, -46, -34, 25, -389, -227, -59, -188, -251, -241, -231, -45, -145, -257, -85, -255, 15}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1441678720, 1479616000, 1457714432, 1589090432, 1223709696, 2027202944, 1611606784, 1157336832, 1403183104, 1765798912, 1400485248, 1261310208, 2017419776, 1337026688, 2059315456, 1619470848, 1686566656, 1718086144, 1585942400, 1701560576, 1421988736, 1838589568, 2063355904, 1406592896, 1554170496, 1475075456, 1689185408, 1205187584, 1463460608, 1609189120, 1560194048, 1372455552, 1242761088, 1979358720, 1623856000, 2089834752, 1991760768, 1396788736, 1450759936, 1768184704, 1304025472, 1294723456, 2019083904, 1703543808, 1957260288, 1975883520, 1323726976, 1579259648, 2090096128, 1269632512, 1524986624, 1291169536, 1722766208, 1461207040, 1204411136, 2063046016, 1797949312, 1735696000, 2123618560, 1657076608, 1914272640, 2082735104, 1141651840, 1088446336, 2110148992, 1558242304, 1708798208, 1406352128, 1637041920, 1546391040, 1422164480, 1980960768, 1943652352, 1798323712, 1974749952, 1992577280, 1272677120, 1826478208, 1923715200, 1144406272, 1528483072, 2119518464, 1976605568, 1076702208, 1561115008, 1936654208, 1932611840, 1272111360, 2047709312, 1830544384, 1635289728, 1718589568, 1334216704, 1884278528, 1194268800, 2034594048, 1495280000, 1828186496, 1891185280, 1676800256, 1106145792, 1118908032, 1594687744, 1111862016, 1418816512, 1673109376, 1198293248, 1445963904, 1338613632, 1362351488, 1641065600, 1684984448, 1683438080, 1615146752, 1669512704, 2004175232, 1725144448, 1579952384, 1113964032, 1390172032, 1140345088, 1939173632, 1588103168, 1660787328, 1545254912, 1379012992, 1419139968, 1915909248}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {6444, 9765, 34129, 106152, -58651, 45947, 62835, -39915, 42007, -28478, 74230, 40865, 4053, 55592, 66634, 32150, 331, 49340, 17465, 73460, 20785, 78966, 8768, 20050, 22968, -2409, 29289, 67919, -21232, 28967, -14607, -28037, 9597, 12115, -545, -7864, 28813, -31368, -11261, -1165, -13777, 52639, 44227, -10049, 30169, 56140, 109793, -55030, 7352, -28883, 20099, -1156, 22856, 16049, -20580, -50284, -56780, 9464, -2929, -19994, 3201, -26936, -9100, -16429, -4995, 18161, 24597, 11265, 22088, 14202, 36612, -8058, 38643, 31709, 40417, -16209, 9681, -19233, -48305, 56376, -1071, 71781, 73878, -25213, -4870, -13006, -42172, -15926, -47793, 1119, 36908, 33364, 35536, 70186, 17344, 30471, -28672, -20169, -41896, 54976, -20759, -44016, 85209, -22840, -7179, 48644, -63033, -13306, 19819, 9148, 65204, 60700, -26102, 12270, 15465, 4658, 843, 68568, -38935, -2698, 67502, -66881, 5549, 82884, 28964, 9845, 10017, -126} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-161, -118, -134, -137, -90, -123, -96, -112, -88, -110, -119, -87, -149, -151, -116, -152, -99, -140, -107, -110, -94, -173, -102, -132, -124, -117, -140, -79, -88, -123, -105, -130, -80, -120, -126, -89, -67, -123, -125, -108, -102, -160, -129, -136, -124, -116, -102, -102, -126, -121, -104, -143, -114, -112, -113, -105, -57, -116, -94, -111, -121, -206, -86, -122, -136, -116, -167, -126, -146, -121, -117, -116, -165, -133, -149, -120, -125, -129, -71, -112, -82, -136, -127, -176, -173, -88, -119, -91, -129, -107, -130, -99, -125, -102, -134, -137, -123, -105, -111, -114, -126, -86, -136, -99, -133, -77, -76, -116, -171, -160, -161, -115, -152, -130, -85, -120, -87, -153, -138, -160, -124, -95, -137, -134, -105, -100, -164, -91}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1091090048, 1451802368, 2147346688, 1433223040, 1965880704, 1243032704, 1709710464, 1863573632, 1342790272, 1259240192, 2038932736, 1182277120, 1558021120, 1093170304, 1285700864, 1976437632, 1394424192, 1191400448, 1424803456, 1519375360, 1635902336, 1625074816, 2143142272, 1914969216, 1122417152, 1864683520, 1372757120, 1549415424, 1454021376, 1790264192, 1087380992, 1364865280, 1797149696, 1237513728, 1426383360, 1077019520, 1786381696, 1739418368, 1387106816, 1261261184, 1389901952, 1091924608, 1903923456, 2023219584, 1317007872, 1883083392, 1461127168, 1814230272, 1297122048, 1641558272, 1879719168, 1420470144, 1521867392, 1095912192, 1241643008, 1572645632, 1698082944, 1859619840, 1246976640, 1173435392, 1093719680, 1385431296, 1082619008, 1316262528, 1537290624, 1319252096, 1712816256, 1419963776, 1708345088, 1445849856, 1318815872, 1955673856, 1368959488, 1226608256, 1682217600, 1436021120, 1192872192, 1243952896, 1303823360, 1230774144, 1242188928, 1521992320, 1748714880, 1207628416, 1293675136, 1216658048, 1106901760, 1085766016, 1565395712, 2059645184, 1317237248, 1118277376, 1791502976, 1384910848, 1620237568, 1617713280, 1943186560, 1827685248, 1309660160, 2011265152, 1422739200, 1826292096, 1419885312, 1334780672, 1174610048, 1139306240, 1329854208, 1786391424, 1563556352, 1249043968, 1300904320, 1280421504, 1931523840, 1638364032, 1076838400, 1264237696, 1159099648, 1594951552, 1804884864, 1167517440, 1211188864, 2129048064, 1330484352, 1938715904, 1641363712, 1148358912, 1123725056, 1722867072}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-1736, -3498, -6424, -503, -18433, 14773, 3337, 90645, 146, -4578, 35778, -5499, 66333, -1719, 22221, 9104, 4878, 26544, 1503, -1166, -5284, 2409, 14506, 56720, -12598, 31378, 50228, 5064, -22476, -9465, 3133, -5044, -2042, 58713, -35007, 5836, 1668, 132823, -8441, -132, -4608, -40, 16198, 17010, -5703, 15696, 38693, 44243, 30286, 116144, -4630, -4826, -7894, 74136, -25999, -805, -19365, -8704, 99, 40857, 108292, 456184, 10873, -4338, 35437, 3777, 11204, 44020, -2285, 26666, -87, -6520, 10233, 16534, 18107, 39008, 49379, -2852, -1567, 41492, -7588, 43497, 76148, -17243, -26580, -10169, -1504, -16936, -6314, -17097, 29658, 117311, -11509, -8216, -31640, -14542, 137868, -2848, -2405, -25958, -18717, -12314, 1006, 194, -4930, 81744, -5, 1233, 84891, 9588, -4296, 54933, -20249, -2868, 137286, 33706, 199779, 38296, 117, 64272, -2160, 940, -40566, -28904, 3163, -24292, 45345, 62899} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-114, -50, -94, -57, 26, -81, -29, -236, -93, -32, -166, -7, -314, -40, -248, -91, -30, -157, -106, -102, -30, -33, -87, -222, -44, -133, -273, -70, -20, -33, -29, 4, -9, -265, -2, -93, -22, -412, -57, -123, -15, -113, -43, -71, -19, -198, -264, -176, -161, -462, -56, -132, -75, -231, 20, -7, -8, -9, -37, -199, -266, -568, -33, 30, -265, -20, -70, -246, -118, -236, -111, -22, -55, -120, -97, -144, -158, -20, -3, -144, -62, -275, -307, 40, 51, -9, -135, -59, -41, 7, -212, -255, -18, -16, 0, -9, -613, -125, 83, 16, -19, -3, -112, -55, -120, -273, 0, -34, -193, -43, -8, -284, 4, 216, -681, -266, -286, -245, -24, -207, -101, -26, 45, -11, -136, 28, -132, -147}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1965202432, 1949208448, 1299600384, 1959098496, 1787459840, 1848624256, 1980508928, 1097943424, 1867664384, 1107240064, 1571889920, 1491423232, 1127905920, 2121762944, 1167501696, 1077505536, 1578261760, 1124095104, 1761219712, 1850707456, 1835659392, 1208818304, 1307649920, 1420151424, 1095152384, 1160051584, 1834786816, 1314958720, 1632682368, 1544716160, 1443387520, 1931498112, 1900197120, 1902044544, 1388034048, 1507841408, 2009079168, 1229243136, 1819841024, 1714217856, 1081925376, 2038501504, 1397042816, 1463876864, 1442669056, 1186976896, 1455182592, 1915311232, 1602782336, 1203355264, 1120247040, 1163829888, 1856391808, 1389761664, 1540950784, 1335319552, 1440726400, 1310632320, 1845340416, 2123496192, 1650251392, 2027354240, 1401917440, 1258587008, 1699180928, 1228192256, 1357370880, 1454704384, 1091829376, 1775676416, 2008071680, 1113530112, 1735954176, 1185061888, 1635214464, 1679401856, 1703024000, 2083106816, 2053538688, 1379610112, 1334477952, 2126981888, 1960414464, 1994861184, 1222113280, 1094973056, 1600361088, 1695270272, 1190134400, 1150329728, 1478800128, 1720057728, 1197844608, 1889063680, 1661542144, 2087377152, 2077475456, 1540407296, 1511458816, 1195205888, 1646886400, 1200603648, 1868888320, 1532588416, 1555179392, 1493832320, 1140787712, 1592234368, 1366700160, 1966643328, 2130348416, 2032759424, 2097333248, 1655428864, 1568304256, 1613394048, 1898140160, 1407952384, 1115434240, 1260877568, 1276199552, 1900243200, 2017880192, 1295816704, 1555100800, 1115145856, 1624643712, 1796963712}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {96381, 1756, 39360, -19090, -38101, 11514, -14664, 66020, -22216, 18762, -4333, 29429, -2803, -2935, 41256, 1849, -17955, 5668, -6070, -3075, 40949, -43710, 22813, 84516, -26216, -25598, 43670, -23573, 22916, -4649, 4371, -173717, 9886, 26426, -29485, -38142, -18731, -44785, 55609, 118798, 37863, 18578, -54550, 15284, -13990, 8972, 60636, 20660, -57327, 71667, -9450, -5873, 19050, 9335, 40793, -12473, 49781, -20326, -72847, -3842, 82091, 62319, -65927, -15554, 12433, -1253, -515, 64602, -92148, 11483, 24897, 56852, -52236, 9708, 37109, 38728, 2277, -1816, -33690, 90087, -22723, -91243, 12738, -1113, 30231, 11577, 20954, 34235, 12321, 28700, -13977, -36584, 52008, 23579, 87408, 49532, 31887, -21952, 36620, 27429, -58992, -9403, -18291, 51062, -14892, 24879, -30943, 27324, -62520, 16166, 28348, 27246, 63968, -49540, -26378, 24492, 60669, -29317, -52123, -20766, 3274, -66693, 55134, -76237, -4566, 10398, 7499, 35005} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-116, -145, -129, -108, -131, -132, -140, -87, -110, -118, -107, -160, -146, -136, -160, -93, -129, -155, -77, -151, -166, -72, -142, -139, -80, -118, -133, -112, -141, -89, -130, -90, -124, -139, -137, -108, -86, -123, -165, -135, -102, -168, -96, -117, -144, -111, -130, -127, -79, -127, -111, -136, -101, -117, -165, -176, -141, -126, -108, -116, -135, -147, -151, -94, -129, -114, -118, -153, -145, -140, -96, -144, -116, -175, -114, -98, -127, -144, -95, -163, -150, -110, -65, -111, -79, -125, -129, -124, -143, -110, -126, -88, -115, -126, -152, -156, -128, -113, -124, -182, -108, -154, -93, -118, -123, -136, -101, -128, -110, -128, -145, -149, -205, -99, -102, -118, -108, -119, -116, -144, -144, -124, -128, -97, -95, -106, -101, -110}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1308027776, 1640954240, 1792418944, 2016097920, 1936980096, 1368206848, 1476156288, 1074046848, 2087474304, 1583468800, 1797179904, 1690883328, 1798681344, 1291871232, 1100373376, 1973708672, 2109050112, 1186368000, 1419019392, 1163245824, 1887492096, 1779326336, 1132908672, 1826662528, 1354886912, 1632217984, 1363502464, 1751948800, 1502038528, 1700157824, 1198524928, 1816521088, 1344902528, 1212091904, 1387091968, 1808042240, 1673850112, 1274626816, 1558979840, 1964008704, 1712808576, 1502832128, 1155574016, 1481345408, 1728540544, 1647497088, 1904154368, 1718181120, 1084369152, 1259185408, 1676804224, 2144117888, 1354133504, 1563513088, 1386007040, 1673764608, 1075589504, 1598923264, 2038151296, 1603536384, 1099107456, 1079867520, 1296790656, 1498534016, 1273460480, 1217949440, 1751894400, 1690422400, 1940270336, 1610181760, 1253377920, 1356088960, 2056877056, 1166623488, 1926295936, 2065586432, 1198343168, 1154569728, 2146929792, 1901807744, 1154652288, 1743107968, 1929158912, 1377345280, 1970438528, 1905219840, 2105221248, 1212655488, 1839271168, 1230544640, 1201999488, 1254960256, 1573134976, 1171225088, 1981782144, 1372725376, 1473633920, 1757692032, 1469005184, 1083979776, 1129582848, 1485557120, 1360304256, 1478830080, 1383530368, 1142138880, 1597372928, 2103060608, 2142548224, 1263052160, 1797145472, 2009992704, 1931025920, 1914523264, 1203629056, 1813980160, 1093299712, 1477147520, 1689217408, 2079774848, 2062939008, 1077888896, 1852345600, 1088296064, 1602588800, 1242974208, 1308029440, 1966297216}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-716, -6266, 49090, 97816, -19371, 105929, -985, 42128, 159841, 9883, 21063, 13410, -16033, 117555, 24747, -7039, 74894, 14826, 25787, -3189, -1230, 81710, 194675, 55582, 103926, 1845, 2218, 6959, -16339, 145631, -906, -9195, 5881, 6002, -17630, 116654, 10048, -3171, 495, 61722, 26509, -6093, 26600, 10052, 18778, 46059, -8998, -23181, -10292, 33500, 111380, -1267, -542, 394, 49101, -13950, 28475, -24421, -7884, 5852, 30226, 495, -16796, -7217, 29392, -2096, 251, -3365, -1465, -29177, 1826, 2749, 33, -34054, 42691, 10257, 79385, -2878, -5539, 31104, 33007, -5448, 37601, -37622, 5582, -13714, 137567, 104797, -2001, 5371, -15503, -11022, 123, -251, 55591, 52674, 49751, 8668, -11390, 23955, -2269, 56295, 5213, 90192, 34513, -13654, -3045, -9998, 37041, 1221, 27780, 249140, 116745, -6023, 304541, 30653, 2154, -13767, -4154, 85372, 86242, -4434, 6127, 10800, -13574, -1642, -16153, 64536} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-12, -95, -221, -357, -43, -162, -137, -240, -464, -58, -83, -47, 1, -313, -212, -18, -248, -93, -94, -92, -81, -299, -335, -251, -306, -117, -21, -37, -3, -446, -110, 19, -35, -28, 10, -225, -27, -19, -28, -143, -231, -14, -71, -41, -126, -262, -26, 26, -31, -246, -278, -100, -118, -129, -183, -11, -235, 11, -59, -46, -253, 85, -24, -91, -105, -99, -23, -104, -16, -52, -113, -33, -88, 9, -242, -39, -254, -77, -7, -230, -160, 18, -257, 10, -21, -44, -305, -375, -23, -139, -69, -5, -151, -114, -257, -203, -257, -38, -19, -189, -25, -267, -36, -287, -110, 0, -6, -5, -199, 33, -217, -365, -246, 17, -514, -103, -39, -3, -81, -419, -259, 7, -35, -28, -7, -81, -4, -191}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1107953024, 1129768192, 2012175488, 1771306112, 1642888192, 1103315840, 1594435712, 1343473664, 1684883968, 1884363776, 2057462784, 2107375104, 1660418176, 1655696768, 1151668352, 1391941632, 1600329472, 1656792704, 2025066880, 1534350720, 1182349312, 1897597056, 1470847104, 1395660672, 2113281408, 1458054144, 1453837696, 1246036608, 1408423552, 1169094400, 1845293824, 1584338944, 1847215104, 1455107328, 1123477760, 1874278144, 1162744704, 1995589376, 1864212096, 1582969728, 1853726592, 1926587008, 2066504320, 1281781120, 1617230080, 2144969472, 1392394496, 1464782080, 1950342528, 2009293824, 1889337216, 1936159872, 1361666176, 1776387840, 1954876928, 2039462016, 1261024000, 1266047744, 1121719040, 1728014208, 1208564352, 2054797184, 1205259648, 1775641728, 2053738240, 1809490304, 1126598016, 1197363200, 2038534912, 1545736960, 1706398208, 1120583936, 1704979200, 1492268544, 1758573952, 1445688832, 1155314304, 1487871232, 1804993152, 2131974912, 1820788352, 2052356096, 1373103488, 1676671616, 1724151680, 1782483840, 1540694272, 1221138432, 1877225856, 1592562688, 1666196608, 1365664512, 1889365632, 1443996416, 1380112384, 1315832704, 1237056768, 1342691968, 1787405952, 1687867520, 1152395136, 1662610304, 1441404544, 1133914368, 2037359360, 1209576832, 2110965888, 1619019648, 1213887872, 1615288448, 1513149696, 1470315264, 1219227648, 1286750592, 1955721856, 2075586048, 1974883072, 2096792576, 1448648576, 1907172096, 2055181184, 1469858560, 1837935488, 2140157696, 1281087616, 1494595712, 1202200960, 1321374336}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {93553, -13729, 75099, 44049, 17994, -13883, -17021, -22067, 65308, -11187, -43745, 24771, -16791, 61502, -38073, 11619, -11897, 27328, -8761, -28978, 43210, -17890, 80860, -39861, -28605, 94381, -9376, 42963, 55493, 16287, 43695, -17820, 81508, 103992, -31666, 34590, -26269, -6071, -8576, 49052, 27138, 89018, -5941, 56561, 27575, -5835, 14095, -45379, 3219, 30246, -53447, 8817, 7290, 46656, 54502, 515, 26557, 44415, 99425, 34856, -68691, -8250, -9635, -53614, -66545, 13331, 48609, -3897, 26521, -23470, 31133, 51666, 92113, -55328, 574, -63656, 18419, 91436, 13585, -29061, -3892, 23732, -17686, 37809, 48934, -25738, -15438, -50488, -11510, 1404, 343, 17635, -23521, -4878, -52373, -38256, -23197, 29346, 31872, 26801, -11209, -48085, -22115, -23412, -9976, -17809, 144196, -11893, -16738, -1633, -27137, -77272, 58613, 34247, 67231, 33000, 82345, 11070, -7331, 49274, 83241, 40773, 20091, 100435, 51538, 65794, -29679, 9067} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-114, -135, -132, -131, -120, -133, -137, -135, -130, -123, -105, -91, -135, -131, -97, -130, -117, -119, -116, -67, -147, -128, -149, -102, -129, -106, -121, -123, -141, -112, -148, -176, -106, -134, -122, -121, -89, -90, -128, -117, -117, -127, -79, -111, -133, -156, -104, -122, -113, -133, -131, -149, -139, -126, -162, -152, -130, -143, -129, -108, -91, -65, -148, -141, -101, -91, -93, -83, -105, -136, -136, -91, -123, -140, -130, -100, -118, -140, -135, -114, -80, -103, -97, -132, -138, -115, -122, -81, -94, -122, -138, -121, -119, -82, -102, -95, -107, -122, -104, -118, -101, -126, -140, -104, -121, -134, -144, -127, -113, -149, -80, -126, -127, -133, -136, -112, -160, -147, -141, -142, -110, -122, -162, -116, -163, -120, -125, -139}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1396915584, 1803373952, 1586421504, 1459009408, 1296912512, 1149158912, 1457197824, 2020005248, 1515593984, 1870624384, 1616791680, 2054526976, 1151359744, 1711966592, 1266472448, 2114797440, 1414293888, 1334486784, 1502589568, 2067206016, 2012631168, 1829523968, 1163418880, 1360910976, 1985602816, 1414955264, 1612259584, 1533923072, 1210188544, 1593603456, 1547261568, 1441457024, 1149117824, 1127730688, 1350562048, 1277224960, 1567199488, 1740633856, 1492853504, 1877476480, 2063307264, 1531824256, 1204896896, 1380979328, 1515117312, 1404310272, 1831944064, 1613395712, 1200999168, 1600691072, 1788243200, 1576219264, 1385298560, 1302550144, 1221474944, 1980234880, 1687697792, 1873558912, 2121667968, 1961306368, 1118049920, 1664416128, 1962857856, 1153571840, 1836310912, 1855661952, 1285341952, 2137093376, 2046164224, 1261634944, 1203237888, 1598111872, 1628829952, 1964226432, 1121345920, 1863798400, 2052116480, 1078135296, 2066918144, 1919720704, 1924512512, 1601565952, 1413376512, 1468995584, 2060351616, 1891446656, 1156466432, 1217202304, 1613838976, 1355944192, 1203687808, 1549700608, 1986105984, 1353085184, 2017677184, 1085487744, 1553997952, 1782241920, 2090504832, 1214834304, 1571755264, 1617429120, 1748478720, 1182596736, 1207076736, 1074450432, 1382735744, 1210234368, 1557113728, 1635923456, 1247795584, 1769471104, 2062184576, 1155844480, 1136269824, 1647286784, 1913846016, 1403440512, 1154678912, 1752039680, 1663637120, 1376150528, 1477263232, 1597222272, 1400830336, 1616085888, 1340221184, 2052696576}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-5622, -2323, 106241, 45227, -2037, -16784, -15415, 64189, -11927, 14, 82951, 46094, -18753, 61744, 72677, 128467, -5512, 134405, 90004, -8170, -7980, -6850, 13650, -73, -4638, 92908, 43942, 38815, -9453, 46210, 39949, -3126, 22045, 19981, 213, -11606, -3795, 17795, -21799, 55964, 105557, 1303, 93901, 24077, 28949, 63285, 91572, -7618, -16613, -3753, 905, 27605, 229563, -3505, 25784, -4788, 59688, -11526, 27466, 196892, -170, 406, 27173, -1151, 141869, 6181, 27899, -12163, -5619, -26837, -28384, 37339, 48175, -22745, -1942, 172017, 86477, 10417, 109234, -4395, -16795, 234826, -4893, -10685, 4441, 133669, 118367, -4136, 69390, 47055, 119832, -4258, -383, 93667, -12690, 79604, -2375, 1067, 81659, 170994, 65837, -1736, -6727, 105268, 55221, -4137, 45858, -6384, 57545, -1708, 136, -8373, 15912, 83312, 31048, 33777, -10214, -616, 175525, -27220, 4355, -5247, -495, -2019, 31876, 58666, -444, 119412} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-97, -54, -286, -252, -41, -16, -43, -225, -20, -64, -259, -269, -9, -208, -193, -284, -41, -447, -289, -40, -2, -34, -105, -65, -3, -210, -256, -240, -8, -261, -259, -47, -240, -237, -16, 1, 1, -86, 12, -226, -295, -67, -377, -76, -125, -126, -258, -17, -6, -21, 66, -132, -550, -42, -177, 7, -219, -52, -226, -307, -148, -41, -153, -8, -379, -60, -235, -28, -2, 9, -51, -238, -262, -70, -17, -407, -328, -95, -242, -31, 4, -465, -8, -6, -116, -303, -422, -89, -123, -125, -417, -21, 1, -306, -6, -261, -81, -13, -313, -360, -237, -7, -12, -339, -254, -73, -225, -38, -146, -118, -63, 83, -234, -241, -233, -213, -64, -32, -434, 23, -89, -42, -19, -14, -240, -185, -27, -518}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1559574528, 1374132224, 1763498496, 1262491904, 1869037440, 1522002944, 2023712256, 1964746752, 1082637312, 1258845312, 1095931520, 1567009664, 1841067520, 1179101056, 1892492544, 2081146624, 1807007104, 2106259712, 1696731520, 1329332480, 1221217664, 1685566208, 1791505536, 1334502016, 1490046592, 2115937024, 1866148608, 1659423616, 1277434240, 1656058368, 1348587904, 1975610240, 1487274752, 1452539008, 2100757760, 1510900992, 1416924288, 2014412416, 1400700032, 2082881536, 1592806912, 1916946816, 1457184768, 1547442688, 1266244736, 1595583616, 1752918400, 1298224256, 1617786624, 1150756096, 1929485824, 1330636288, 1300928000, 1113115520, 1688034304, 1651484544, 1817611136, 1955528064, 1313741184, 1205238272, 1886645376, 1283779840, 1278576896, 1617886848, 1995595904, 1201893248, 2074383488, 1635966976, 1781051008, 1776624768, 1438293120, 1238572288, 1714489856, 1157029504, 2041620736, 1132544256, 1994330496, 1714350336, 1787643520, 1368689152, 1366873856, 1265017344, 1996008704, 1472507520, 2011036928, 1329721600, 1814534912, 1206584832, 1874845312, 1436942208, 1656616064, 1187621888, 1335178624, 1529381248, 1774975744, 1104488320, 1390334720, 1457922944, 1887283712, 1578318080, 1716617088, 1767670912, 1284604032, 1449846144, 1156001920, 1791379456, 1274698496, 1576558208, 2141401600, 1180300160, 1254034688, 1299533696, 1310535680, 1205814912, 1223899520, 1944507264, 1206846464, 1333379200, 1843501568, 1736243456, 1775429248, 1869675136, 2133457792, 2009308032, 1080262272, 1967310720, 1105060864, 1553359104}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {54862, 39582, -51659, -22704, 1979, -75053, -22212, -6097, -2927, 48548, -43312, -7854, 35806, 42006, 15306, 43334, -18064, 46549, 56573, 15449, -9859, -57635, -46372, 5926, 8531, 64109, 25353, -490, -1027, 20350, -12343, -5223, 11296, -17219, -4386, 15012, 765, 22257, 45766, 33328, -15584, -12668, -1612, -49872, 3853, 104531, -20545, 58201, -122579, 29776, -12436, -28928, -84257, 82592, -34513, 24873, -37470, 161, 20205, 12409, -9280, 15688, 36423, 18301, 49925, -73818, 1403, -5063, 15570, -33586, -27326, -22466, -31727, -23155, -26840, -39998, 15539, -32425, 8416, -27769, 29873, -12954, -19997, -6195, 63306, 13789, 14359, 30409, 70908, -28630, 23273, 67329, -3895, -5627, 102536, -13112, 973, 23026, -5763, 34614, -13762, 61147, -32941, -9470, -17091, -44056, -30245, 23935, 76250, 197138, 29362, -83641, 29166, -8543, 17754, 50916, 20463, -69426, 36200, -18652, -40535, 31937, -88893, 1694, 21626, 26215, 6243, -56479} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-165, -140, -95, -108, -130, -127, -163, -135, -118, -103, -135, -114, -148, -117, -139, -108, -139, -120, -141, -138, -142, -123, -136, -150, -128, -149, -82, -113, -123, -118, -91, -135, -153, -125, -140, -95, -125, -129, -126, -111, -104, -132, -148, -123, -121, -140, -133, -119, -109, -102, -132, -130, -124, -149, -124, -114, -152, -123, -101, -137, -132, -101, -124, -71, -109, -79, -143, -132, -114, -129, -131, -145, -121, -106, -149, -89, -120, -160, -110, -151, -169, -116, -103, -160, -150, -128, -110, -101, -165, -113, -107, -137, -150, -124, -104, -147, -159, -132, -127, -139, -99, -156, -71, -124, -158, -131, -125, -89, -155, -128, -138, -141, -144, -125, -112, -115, -141, -123, -170, -139, -97, -139, -110, -141, -149, -94, -129, -111}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1739485056, 2127068416, 1622591232, 2058383488, 1905487360, 2007239552, 1276291328, 1813422976, 1594326912, 1500255872, 1123916160, 1461144064, 2059491968, 1438926080, 1122780800, 2138059392, 1115533824, 1319649664, 1143419136, 1775947136, 1342990848, 1464968064, 1795650816, 1187545728, 1112111616, 1389730944, 2076240512, 1704017536, 1937911680, 1625065216, 1201410048, 1367767808, 1546091264, 1826273152, 1658203904, 2120483584, 1553996800, 1347072000, 1317006464, 1988479232, 1683940608, 1729572864, 1102690432, 1502957312, 1480178688, 1360763648, 1359853440, 1161717376, 1173366656, 1895779328, 1476834304, 1296099840, 1839662464, 1155261440, 1660656768, 1770478592, 1838611200, 1103831936, 1847258880, 1874212224, 1353462272, 2086556544, 1077729280, 1511138176, 1705804672, 1142545152, 1418152704, 1534879232, 1125002496, 1118663296, 1742480640, 1705508480, 1701931776, 1244449152, 1623441280, 1413538304, 2020259328, 1639356544, 1939148544, 1256507136, 1902914560, 1906615168, 1403143808, 1455053952, 2057551488, 1159879040, 1116684544, 1101595264, 1999551872, 1861853312, 1791700992, 1667339520, 1154295552, 2034413312, 2076684800, 1298853632, 1717807744, 1946082176, 1735109632, 1180685312, 1128759424, 1239989760, 1504539904, 1445638656, 2083908736, 1533908864, 1081483008, 1080384128, 1848383104, 1462240768, 1814384768, 1415929728, 1095566080, 1574903552, 1520853504, 1289455488, 1263717376, 1144312704, 1971538688, 2103761152, 1871588608, 1550923776, 1509690624, 1770361728, 1730485632, 1720739072, 1454965376, 1938543616}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {115272, 214642, 252963, -584, -7238, 749, 201960, 2441, 202910, 78434, 302, 1938, 104400, 213571, -606, 198862, -722, 88743, 211505, 149092, -70, 549, -2005, 191, 13683, 140377, 137242, -424, 210608, 128284, -359, -860, 1746, 228868, -478, 101757, -1707, 118993, -3959, -5371, 161853, 187838, -608, -436, 158567, 103118, -1629, 127699, 60, 114271, 180, -19556, -4386, 93405, -8, 125100, -826, -1033, 102600, -5260, -4123, 139279, 154031, 98656, 108467, -17372, 47, 2733, 115261, 665, 4, -425, 225619, -764, -1214, 1995, -1762, -270, -4375, -302, 171490, 529, -532, -1161, 122815, 126930, 1636, 24946, 78910, -26035, 175117, 109740, -508, -568, 28154, -27, 3354, -1531, 185705, -1305, 54208, -7805, 23036, -303, -350, 192772, 159239, 137286, 99430, -37735, 7397, -444, -616, -49905, 199534, 160136, 78819, -642, 189183, 202963, -598, 149916, -716, -108, -472, 185734, 77331, 650} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {-278, -295, -394, 23, 33, 50, -292, 37, -316, -228, 37, 19, -264, -321, 43, -283, 40, -256, -289, -290, 62, 32, 39, 22, -101, -301, -278, 14, -334, -288, 21, 28, 35, -297, 48, -280, 75, -322, -137, -96, -293, -285, 65, 42, -316, -278, 48, -275, -38, -261, 63, -104, 61, -270, 29, -258, 35, 15, -285, 43, 20, -288, -272, -280, -297, 69, 40, 60, -244, 11, 48, 45, -295, 26, 63, 12, 35, 30, 86, 100, -324, 42, 29, 48, -295, -322, 67, -71, -256, 84, -282, -279, 34, 44, -140, 59, 31, 47, -293, 44, -159, -172, -97, 24, 25, -302, -290, -262, -260, -67, 58, 60, 31, 162, -271, -292, -259, 50, -314, -312, 44, -342, 21, 31, 40, -282, -330, 57}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1764233856, 1815268480, 1785315072, 1133959168, 1332433152, 1947393664, 1656502016, 1453810560, 1125214336, 2074105728, 2132362496, 2136441600, 1646596096, 1268199552, 1319646464, 1715182720, 1209089536, 1933996288, 1583851008, 1514899456, 2119238272, 1776626048, 2090477952, 1188255616, 1475443072, 1916040320, 1383776000, 1404404224, 2123283456, 1987341184, 1196846976, 1208040576, 1498737920, 1954869632, 1914347520, 1464582016, 1971934848, 1113397504, 1336972928, 1505443712, 1775671936, 1249064960, 2142592512, 1193273984, 1165778048, 1086166912, 1682645504, 1754961536, 1303721344, 2112111744, 1372198016, 1500359296, 1705297536, 1278735104, 1896330240, 1966970368, 1416905984, 1500638080, 1896722176, 1801691008, 1420343552, 1681870464, 1833002624, 1740738944, 1851168128, 1524640384, 1881789184, 1487228288, 1973041024, 1736667136, 1100588416, 1707527168, 1892414592, 1893434752, 1127576832, 1326979584, 1340631168, 1401725440, 1281506944, 2036528768, 1094089600, 1423687552, 1910359168, 1385228544, 1423532416, 1952097024, 1476936064, 1981288576, 1289167872, 1391677824, 2121858304, 1828331520, 1894898688, 1714201472, 1769161984, 1809448832, 1497393664, 1574646656, 2054858624, 1361511936, 1496499072, 1630899712, 1142846976, 2086209792, 1276024064, 1102455296, 1931149440, 1861708288, 1599109120, 2019400320, 1958920192, 1559418752, 1449650560, 1399158528, 2075398784, 1596508928, 1363787392, 2014860416, 1433080192, 1118574336, 1911522944, 1702491264, 1954102528, 1472862080, 1616079872, 1456586880, 1664676864, 1613072896}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {50312, 57607, -24641, -2457, 94867, 22595, -30742, 3411, -3575, -9406, 8032, 26491, 22895, -20987, 64099, 27142, 45316, 101253, -33372, -14570, 18446, -36761, 3500, 68188, -36177, -17878, 7038, 39205, 22179, 5922, 19618, -21475, 54656, -72422, 4075, 19171, 45534, -23885, -19085, 7505, -27415, 62777, 781, 59114, -6114, -6594, -23796, 5054, 29719, -22095, 94316, 44998, 16434, 61240, 42634, 32189, 44798, 46913, 26412, -19938, 30048, -24185, -8309, -15465, 41446, 79288, -90605, -19671, 45379, 43566, 13742, -36961, 65190, 69751, -113833, -1802, 40950, 29817, 13476, 76406, -83259, 4265, -68454, 34613, -38932, 55702, 3829, 31074, 5147, 4357, -14232, 33721, 30814, 63070, 59242, -7038, 43287, 43786, -16330, -2089, 58440, -30672, 28070, -6799, 33384, -16436, 7154, 31094, -8802, 18974, -12442, 54143, -30275, -24055, 16319, -6756, -18731, 18243, -18704, 18190, -10169, 25246, 14518, 14675, -34240, 11667, 7038, -18221, -39383, -45297, 41343, -50071, 41875, 25952, 21790, -981, -25395, 19285, -21703, 48971, 17591, -5898, -44518, 27862, 60389, 33414, -61352, 38126, 10291, 947, 1525, 11049, 31211, -23375, -32284, -44758, 73120, -16267, 9177, -29264, -98684, -3878, -43594, 56550, -10587, 42303, 46000, 55401, 18030, -4430, 38963, 10838, -34342, -31934, -24676, -36244, -62910, 115081, 8802, 14988, 47839, -44107, 7873, -9747, 37048, 17010, 7654, -43408, -2110, -154, -29117, 67285, 48554, 21834, -22445, 74663, 13725, 28337, 38886, 54924, 43871, -35802, 5037, 43929, 41547, 44080, -13067, -83798, -14118, 16865, 18334, 3917, 78826, 32567, 31269, -21169, -14978, -6023, 26733, 11053, -31502, 5004, 24263, -36267, 29323, 30844, 38939, 15871, 9177, -22007, 65200, -7083, -23955, -5375, -14366, -60794, -37842, -47626, -31203, 99532, 19537, -7535, -42194, -6274, 27483, 5365, -4139, 31120, -16750, -2227, -14239, 68011, -3989, -12613, -1420, -10954} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-128, -148, -59, -96, -141, -150, -120, -131, -118, -138, -175, -114, -61, -147, -116, -157, -121, -135, -93, -125, -108, -140, -90, -98, -143, -127, -121, -124, -120, -71, -107, -135, -129, -154, -143, -138, -119, -117, -134, -154, -75, -105, -146, -130, -159, -97, -125, -132, -130, -118, -124, -130, -102, -138, -133, -116, -130, -129, -175, -129, -162, -144, -109, -96, -100, -93, -125, -102, -110, -134, -122, -140, -150, -110, -121, -123, -136, -128, -87, -142, -132, -160, -82, -115, -120, -133, -141, -111, -114, -97, -103, -137, -133, -136, -164, -103, -120, -114, -102, -133, -140, -123, -119, -124, -140, -164, -103, -138, -139, -105, -127, -108, -94, -142, -111, -102, -92, -117, -119, -145, -129, -136, -98, -56, -142, -103, -122, -124, -111, -112, -139, -122, -98, -113, -192, -168, -123, -47, -125, -130, -144, -118, -78, -168, -147, -121, -120, -126, -121, -139, -113, -131, -118, -122, -119, -112, -138, -135, -128, -122, -84, -132, -119, -115, -149, -85, -116, -125, -126, -69, -113, -53, -140, -125, -82, -92, -107, -143, -127, -82, -83, -123, -81, -135, -95, -125, -108, -131, -84, -132, -127, -133, -140, -67, -99, -128, -111, -133, -122, -133, -147, -100, -122, -161, -79, -132, -105, -100, -113, -124, -122, -139, -117, -120, -134, -106, -91, -117, -120, -137, -144, -133, -111, -126, -106, -133, -151, -125, -207, -120, -159, -138, -162, -168, -144, -128, -118, -134, -144, -139, -133, -139, -103, -78, -105, -149, -104, -149, -160, -142, -125, -96, -26, -118, -128, -108}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1351083776, 2037911808, 1861714688, 1784013312, 1098971392, 1329776896, 1166901760, 1508095360, 2133804544, 1808443648, 1081984768, 1130778624, 2133241728, 1863745024, 1340539648, 1191286016, 1620208000, 1651294208, 1303687808, 1657411712, 2032782336, 1295430528, 2139854848, 1594140672, 1250304000, 1079070720, 1924036864, 1837939200, 1293771776, 1101853824, 2013866240, 1725080960, 2138519936, 1972512768, 1167454464, 1745910272, 1542855040, 1105693312, 1688254464, 1183908352, 1156524416, 1080701568, 1240717952, 1096691840, 1136511744, 1862271488, 1763367808, 2082101504, 2046212608, 2064166144, 1996702464, 1816933376, 1078212096, 1076973696, 1870438656, 1345738496, 2008806912, 1837391616, 1131633920, 1236824960, 1649363712, 2040893312, 1083949568, 1798007424, 1869983616, 1249723520, 1564299520, 1920707072, 1889110912, 1353411456, 1169661056, 1655084928, 1674373504, 1594324608, 1719150592, 1112706688, 1542629504, 1654158720, 1549686784, 1345706240, 2087313536, 1471187840, 1492088064, 1797954560, 1708642944, 1787158144, 1869478016, 1362205312, 1816551040, 2125591040, 1670412672, 1248032512, 1657917184, 1763410816, 1582405632, 1937539968, 2130112896, 1326957696, 2012608640, 1956899456, 1812912896, 1225161856, 1602491136, 1130597376, 1189171584, 1417443200, 1713208576, 1598869120, 1660788608, 1475913600, 1074299904, 1211344128, 1796739456, 1918259328, 1427979008, 1260759808, 1165276800, 1386141312, 1081343232, 1864934144, 1356201472, 1863318528, 1702625920, 1111308032, 2126374912, 1959019008, 1798768640, 2009004672, 1995862784, 1767449728, 1661897344, 1242315008, 1989147136, 1903122688, 1256184832, 1532471552, 2062371200, 1614339712, 1930226816, 1800033280, 1668423424, 1177172224, 1453811584, 1229249152, 1530169472, 1585472640, 1499109120, 1620461824, 1837438208, 1615173376, 1724566016, 1895535232, 1344580224, 1513296128, 1149588480, 1666939648, 1501788416, 1919199872, 1366243200, 1580572544, 1831873024, 2092279936, 1584473728, 1449954432, 2022689024, 1359840512, 1902667648, 1414479104, 1889362688, 1309494016, 1708960768, 1366084480, 1794981376, 1118286592, 1380482432, 1719157120, 2024933248, 1732248064, 1185383680, 1090628864, 1720509696, 2113147008, 1681883008, 1142502528, 1761265792, 1432971264, 1981182208, 1837755264, 1846583040, 1619999360, 1337454336, 1917210880, 1858036864, 1296429696, 1603516032, 1586680832, 1471081600, 1202114432, 1917677568, 1595627008, 2084214400, 2122149248, 1669268352, 1088004608, 1361710464, 1469691776, 1134136960, 1553505024, 1708104960, 2145820672, 1445694592, 2042711936, 1542694016, 1561200640, 1261146880, 1585987200, 1797462784, 1713816576, 1782100224, 1103153280, 1084795520, 1569842816, 1452235008, 1327841664, 1182513536, 2033234048, 1283522560, 1639683328, 1215575552, 1778698496, 1739666304, 1262180608, 1484296576, 1169135616, 1670111232, 1714366848, 1214229120, 1945748736, 2111797632, 1145924096, 1359895552, 1109154432, 1177003392, 1250589952, 1697803904, 1472723840, 1518597632, 1764436352, 2138259840, 1186022144, 1302682880, 1358460032, 1652660864, 1622227072, 1295846784, 1170740352}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-1335, 256675, 165251, 86280, -4834, 70, -942, 308012, -286, -7201, 142793, 90435, 70108, -2304, 146461, 324738, -26117, 157631, 106512, -132, -2460, -1048, -1149, -95, 139824, -2335, -578, -3567, 96664, 95792, -2474, -1321, -2108, -657, 146476, -496, -2405, 147260, 224821, -9668, -606, -12909, -927, 93894, 118052, -1344, -1174, 2666, 76200, 11763, 3504, 479, 105342, -397, -1874, 199, -11240, 123289, -876, 168500, -56, 405676, 127786, -1796, 121927, 3333, -1055, -2490, 129340, 110580, -1469, -683, 104933, 4449, -2059, 65657, 101321, 252488, -5917, 3394, -4655, -28780, -35836, -816, -670, -260, -2349, 88942, 121907, -11896, -561, -304, -737, 191300, 259911, -2162, 5428, -272, 160864, 152021, -1651, 150524, -173, -202, -91, -1433, 105123, 98794, -18224, -2006, -11794, -17414, 222745, 212923, 14035, -66, -2170, 67334, -4752, -5416, -233, 176165, 1500, 191362, -155, 85567, 159815, -4048, 239300, -1945, -2157, -2333, 122475, 180013, 119640, 254980, -53, 137944, -1257, 10906, 112148, -971, 142459, 240650, -136, -13258, -1196, -2240, -139, 153285, 249712, 227408, 99219, -3220, 149193, -1220, -3087, 145568, 14699, 53385, -2052, -1436, -776, -499, -68, -1733, 204729, -1848, -20528, 196595, 241983, 47006, -2981, 152880, -57, -272, -2486, 259870, -95, 134944, 74354, -211, -1097, -11781, 953, 104632, 109262, -945, 5553, 101053, -1599, 141846, -3054, 118361, -529, -1134, -43, -3938, -987, -2242, 161, -80, 251965, 153262, 80755, -45, 6198, -4579, -3280, 69742, -678, -1414, 181634, -1596, 62512, 124619, 126631, 119340, -119, -4963, -6814, -1544, 70826, -5876, 116232, -1247, 232701, -18684, -7474, 88573, -1353, 225126, 191478, -959, -9, -38, -1058, -8095, 161040, 2133, -217, -7901, -1561, -492, 144544, -521, 6334, -4664, 113516, 63964, 76366, 7575, 13499, -378, 184025, -999} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {209, -431, -601, -373, -103, -179, -162, -545, 113, 201, -452, -305, -508, 215, -325, -594, -38, -379, -444, -122, 214, -132, 98, -89, -330, 222, -63, 329, -270, -508, -97, -11, -121, 28, -533, 41, 290, -363, -476, 242, -157, -43, -98, -281, -450, 321, 96, -114, -250, -145, -103, -105, -394, 58, 58, -93, -19, -272, -50, -594, -187, -678, -463, 63, -336, -90, 87, 252, -397, -309, 283, 112, -395, -133, 269, -271, -339, -604, -101, -96, -10, -34, 36, 46, -11, -111, 226, -277, -378, 220, -49, -155, -180, -448, -481, 256, -185, -141, -368, -434, 312, -562, -170, -151, -147, 211, -455, -257, -26, 336, -64, -85, -653, -374, -128, -195, -125, -315, -102, 168, -186, -493, -168, -497, -121, -473, -394, 225, -713, 107, 76, 50, -304, -637, -456, -650, -140, -539, 244, -117, -539, -98, -412, -417, -156, -52, 213, 272, -55, -430, -715, -647, -419, 368, -609, 76, -142, -488, -114, -308, 231, 169, -18, 245, -212, -55, -722, 185, 7, -608, -507, -405, -152, -584, -162, -167, 54, -460, -193, -493, -265, -86, -111, 116, -95, -411, -522, -22, -107, -355, 338, -572, 125, -568, -17, -125, -143, 77, 29, 198, -125, -202, -467, -377, -294, -141, -135, 293, 325, -288, -18, 74, -355, -165, -264, -481, -597, -498, -103, 132, 288, 114, -258, 159, -465, 246, -425, 98, -42, -449, 291, -547, -364, 54, -160, -50, 87, 230, -344, -120, -109, 293, 313, -198, -287, -113, -102, 379, -337, -261, -254, -100, -330, -38, -508, -24}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1591789184, 1496776704, 1383586688, 1429293312, 1424565248, 2077092224, 1933677952, 1931244672, 1111943296, 2102364416, 1544311936, 1173270784, 1104638208, 1884813952, 1414207872, 2011645824, 1914123648, 1325235584, 1805976960, 2114709248, 1739082880, 1188878464, 1331132672, 1688859136, 1856587008, 1674685696, 1908802688, 1615159040, 1785098240, 1902906240, 2003460224, 1740468352, 1170458368, 1373813760, 1391031936, 1150578560, 2142350848, 2011873152, 1785484160, 1701618304, 1826820864, 1929251840, 1151811200, 1959617536, 1109474176, 1219128064, 1896260096, 1175192320, 1603585024, 2060020864, 1661605504, 1542881152, 1083920512, 1894296832, 1597256320, 1999304448, 1731901568, 1672282496, 1955166208, 1280535680, 1946504448, 1831227776, 1593554816, 1843080832, 1626618112, 1920756736, 1627431552, 1988835968, 1746115456, 1772483072, 1119277952, 1571343232, 1935423104, 1473944448, 2008327296, 1657352320, 1917182848, 1161458432, 1139591168, 1852001024, 1276595200, 1287087488, 2052797696, 1793960576, 1316972032, 1454504192, 1175002752, 1083710080, 1167024512, 2072910848, 1350555648, 1175864448, 2115372672, 1723556736, 1320119936, 1720662272, 1273553280, 1433432576, 1768431872, 1992233984, 1833168256, 1258965632, 1312595328, 2131939712, 1420013184, 1655514752, 1084018816, 2137389312, 1808573440, 2046041472, 1497117312, 1147536640, 1240813952, 1927319936, 1549888384, 1738399360, 1488805120, 1298816896, 1221514624, 1209154304, 1127885312, 1322598912, 1121424384, 1787698176, 1376365952, 1073777664, 1860708480, 1721071104, 1780358016, 1542921600, 1310468608, 1938844544, 1506858112, 1080670336, 1903095808, 1089341440, 1774608000, 1553493632, 1312892288, 1223065856, 1741063424, 2041039360, 1139075584, 1669154432, 1682977792, 1159300352, 1478046848, 1669379584, 1090542080, 1143342592, 1158001920, 1869755776, 2000610048, 1968648704, 1206402304, 1523140608, 1654180736, 1581894784, 1345508480, 1744516224, 1205127168, 1692287104, 1494298880, 1806560256, 1517594880, 1718610048, 1343930240, 2124782848, 1351271296, 1360299520, 1376388224, 1799505152, 1382575104, 1234549632, 1371233536, 1847862912, 1211327488, 1563892480, 1826215680, 1538416640, 1225904000, 1253705856, 1214233856, 1232311296, 1429894912, 2025977216, 1921549952, 1594357248, 1588867200, 1502168832, 1245984128, 1281239424, 1207680768, 1671085440, 1283690112, 2021885184, 1383181824, 1885493888, 2082379136, 2089289088, 1695678080, 1688391040, 1570453760, 1798258560, 1793246464, 1640716160, 1988888960, 1989134720, 1657053440, 1618786816, 1365378176, 1707799296, 1989175936, 1508357376, 1692679168, 1885929088, 1305931008, 2125662848, 1709908736, 1112141440, 1182839168, 1673509504, 1274575744, 1139974656, 1714836992, 1918563200, 1511807232, 1397920512, 2117835008, 1973386880, 1112874880, 2048071424, 1708822912, 1109326848, 1888059264, 2107362048, 1481899648, 1135607296, 1212971264, 1154430208, 1113812608, 1792870272, 2086993280, 1654022528, 1587148544, 1211449472, 1650075904, 1552710784, 2056166272, 1537934976, 1322537088, 1433170944, 1472616448, 1121746304, 1604669952, 1457067264}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {24814, -29653, -19250, 7166, 2931, -27149, 37303, 8186, -20807, 21343, -15274, -8707, 44096, 7771, 43702, -8201, -14529, -146, -31521, -1581, 9179, -17529, -27758, -44985, -54192, 9831, -6945, 202, -33883, -7189, -9032, -7868, 11947, 19629, -8303, 36422, -3194, 56158, 2093, 24445, -20971, -13323, 30793, -37116, -13536, 12424, -5570, -3161, -13111, 13813, 14286, 28902, 13572, 44801, -34425, -50214, -11105, 2245, 28102, 20369, 25642, -14382, -17600, 45696, -46409, 2207, -14903, 9901, -15218, -29528, -55826, 24787, -10566, -4216, -3560, 52117, -26924, -6578, -39621, 14627, -6944, 39448, 9857, 39245, 8961, 59617, 55335, -22877, -68727, 46859, -35786, -4694, -19385, -6018, -35, -26115, 11622, 20106, 36215, 21983, 5513, 28576, -12720, -5525, -19081, 70852, -38516, -35642, 6771, -6936, -7243, 12447, -11069, 9223, 23045, 50363, 77696, 37223, -45008, -8656, -14888, -2158, 25603, 21239, 17278, -14205, 19924, 18448, 43558, -5542, 48524, 9900, -63002, -11990, 19986, 7416, -25093, 28810, -897, 20381, -19627, -16915, 31991, -2004, -2704, 36287, 18553, 13236, -45750, 2405, 19843, -7100, -6772, -11453, -5433, 27009, -11376, -13246, -27895, 8954, -13383, 3473, -23908, 28751, 9025, 62643, 50663, -28925, 43027, -14685, -34555, 37620, -23053, 17681, 32489, 9864, 27588, -5156, 27531, -10361, -9639, 20517, 16041, -26750, 24781, -60654, 54449, 8902, -26709, 2260, -16462, 36075, -9835, 21383, -11446, 10683, -32618, 26201, -40485, 9801, 4961, 188, 1411, 5712, -9613, 15005, -27378, 26916, 32125, 30053, -29484, 31244, -11034, -7528, 40669, -16818, 52849, 3125, 6402, -821, -8874, 28225, 28544, 9987, -17596, 10459, -10957, -14084, 16525, -48370, -7398, 15538, 17038, 10440, -45942, -14437, 28649, -1501, 14019, -12289, -6529, 46084, -13589, -5978, -19964, -45517, -12446, -732, -13299, 33611, 10165, 4946, -6609, -2768, -91, -4219} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-124, -99, -138, -114, -141, -150, -144, -134, -142, -146, -135, -148, -120, -130, -162, -113, -148, -139, -156, -131, -116, -123, -166, -119, -123, -113, -136, -139, -122, -138, -136, -171, -132, -167, -164, -169, -114, -163, -152, -151, -182, -141, -163, -136, -144, -137, -126, -142, -148, -165, -132, -130, -119, -132, -117, -135, -126, -181, -146, -141, -166, -145, -149, -119, -123, -128, -126, -140, -192, -130, -140, -164, -124, -133, -116, -134, -95, -115, -126, -128, -148, -155, -140, -152, -136, -135, -145, -172, -130, -113, -144, -142, -109, -142, -175, -125, -139, -137, -129, -151, -118, -135, -70, -157, -91, -110, -134, -147, -144, -150, -142, -116, -153, -131, -146, -147, -132, -132, -124, -141, -118, -103, -176, -137, -159, -138, -131, -111, -145, -153, -145, -179, -101, -174, -155, -162, -118, -134, -137, -177, -128, -116, -154, -121, -139, -148, -105, -114, -122, -108, -113, -111, -108, -136, -140, -164, -134, -126, -156, -127, -141, -140, -154, -125, -185, -144, -153, -151, -139, -138, -130, -143, -118, -126, -143, -131, -155, -217, -145, -113, -148, -166, -119, -131, -151, -124, -150, -157, -169, -119, -110, -150, -141, -119, -147, -117, -141, -131, -113, -137, -123, -142, -136, -129, -126, -111, -132, -130, -124, -141, -145, -139, -143, -148, -182, -129, -135, -149, -112, -134, -121, -121, -162, -131, -138, -142, -150, -144, -165, -141, -102, -176, -145, -146, -135, -124, -142, -150, -151, -169, -124, -150, -123, -108, -127, -124, -123, -106, -134, -137, -131, -149, -152, -151, -120, -145}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1786282752, 1463155328, 1111945344, 1307916160, 1999123968, 1288340992, 1309838080, 1309714816, 2003105024, 1184817792, 1136404224, 1586133376, 1990697216, 1687122816, 1411701248, 1291618304, 1871725696, 1201766656, 1250172160, 1421560320, 1182412544, 1356687616, 1690190080, 1197006848, 1186425984, 1495050752, 1327714816, 1956228864, 1783548416, 1277698304, 1896516992, 1976518272, 1515166592, 1437458176, 1971768064, 1178555008, 2093631104, 1093933696, 1218876928, 1386265728, 1320777856, 1323952768, 1274620416, 2048633984, 1134856064, 1539594240, 1710796160, 1481033728, 1094661376, 1661556736, 1118675072, 1961163648, 1389635712, 2072770432, 1384954112, 2144119424, 1574102400, 1605656064, 1817704320, 1123383936, 1935049984, 1285995008, 1260696704, 1296897920, 1296109312, 1487619200, 1394636160, 1146209664, 1079044224, 1133446528, 1835330304, 1578147968, 1346869376, 1186368768, 2060360832, 1235547392, 1634658048, 2136245248, 1254892544, 1213304960, 1382444288, 1253340416, 1406369664, 2057716992, 1825103872, 1232422144, 1297127808, 1642829184, 2141525248, 1139531392, 1190947456, 1091558656, 1350772224, 1607790464, 1608944768, 1339588992, 1287028224, 1298739712, 1274080256, 1136584320, 1197048832, 1125505920, 2112125184, 1516648832, 1252025728, 1310724224, 1537058560, 1282592640, 1134481920, 1327905664, 1234181120, 1565426432, 1350002816, 1628638976, 1098689792, 1235277056, 1109631744, 1370794880, 1099294208, 1276438272, 1229669248, 1220523648, 1539885056, 2029926912, 2113939200, 2074765056, 1091945344, 1182004224, 1435281664, 1215338240, 1142988416, 1348398336, 1158579328, 1670873856, 1224006784, 1233850496, 1137191168, 1229808896, 1315564288, 1936629504, 1136231168, 1285018496, 1244896256, 1393502720, 1302940032, 1291833344, 1880488064, 1545589760, 1124856320, 1256917504, 1434622720, 1487225984, 2087617792, 1299106304, 1120483456, 1243017600, 1597726464, 1243961344, 1468912128, 1088344960, 1609586688, 1272228608, 1385656576, 1613676672, 1457037184, 2145009280, 1161393408, 1990107392, 1302322944, 1155992960, 1286119040, 2038240896, 1607974400, 1388351872, 1939022976, 1454625408, 1154745856, 1482202496, 1184177664, 1509327232, 1223163776, 1319866496, 1285140608, 1299120896, 1133341440, 1505779200, 1246384640, 1422478720, 1268729088, 1126656256, 1193575040, 1233479296, 2030512768, 1214077440, 1965575168, 1559960448, 1177729408, 1092076672, 1259368704, 1356256896, 1193856000, 1567794048, 1954123392, 1459790976, 1258084480, 1396006528, 1408706816, 1432394880, 2131346304, 1544101760, 1305303936, 1121823488, 1535240448, 1510253952, 1322010112, 1189402624, 1317648256, 1204239488, 1153572864, 1185777920, 1385754240, 1427159296, 1582468224, 1569913984, 1491525120, 1669841664, 1306706944, 1476543104, 1348174080, 1280734848, 1273140992, 1452387456, 1313314688, 1189295616, 1117241216, 1299656192, 1709272448, 1508887168, 1246271232, 1292947584, 1465345920, 2118318464, 1804489216, 1308328960, 1401522048, 1222707712, 1239762048, 1566700672, 1132797184, 1153001856, 1207581952, 1291968640, 1490940288, 1176376960, 1476072704, 1436786816}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-1178, 3761, -4828, -7141, 5724, 4970, 2324, 1780, 118, -5521, -5094, -8066, 132, 1175, -733, 161, -3527, 409, 1816, -810, 1521, 7916, 6836, 3159, 2216, -42, 3351, -1350, 5452, -1121, 2872, 2161, 539, -579, 2877, -6822, -1166, 293, 1983, -1139, -1868, 1330, -1514, -3578, 4049, 388, 1382, -3697, -3034, -5237, -2504, 974, 2820, 2967, -2270, -4146, -682, 5325, 3629, -448, -450, 1603, 293, 4154, -1227, 3804, -5983, -4512, 2486, 259, -5385, 3384, 4057, 5260, 1934, 5513, 6712, 6781, 965, 4816, -9221, -4890, 46, -15485, -2551, -459, -4596, 4726, 3968, 5468, -230, -6069, -112, -1867, 341, -5777, 2, -9711, -7426, -6137, -1031, -3389, 2788, 4648, 4460, 2465, 7950, 900, -1992, -10511, -6155, 13779, 7195, -1639, 3536, -8830, -7414, 5750, -2856, -1421, -1218, -3169, -4255, -2514, -2213, -5470, 824, -1865, -984, -2378, -1675, -1270, -1455, -223, -10260, -3178, -11557, -9463, -4118, -6254, -6804, -5599, -5547, -4723, -215, -1424, -1822, -5565, -2304, -3010, -559, 6211, -9148, 4680, -1960, 3531, 5947, -3749, -5931, -3958, -7025, 6665, 8116, 120, 31, -1494, -2956, -9205, 1283, -3813, 1556, 3921, -3537, -5466, 4429, -8430, -4299, 343, 4526, 506, -3069, 127, 6369, 3175, 6379, 4078, -1656, 1484, -5754, -2831, -1070, 4598, -1535, -4617, -4199, 12193, 842, 3109, -7014, 6629, -7212, 3136, 5687, 5418, 2552, 622, -1159, -1709, -1118, 3205, -3787, -3929, -50, 3115, 3326, -805, -4218, 4480, 1890, -278, 1152, 1347, 1387, 6637, -2851, -23, -1518, -5162, -5545, 2036, -1869, -4102, -2572, 4343, 2805, 25, 513, 3086, 2735, 5933, -858, -543, 155, -1279, -572, 6463, -1976, 7520, -1412, -142, 1277, 9781, 1962, -4279, 12262, -799, 4005, 5178, 5095, 2783, 5794, 3811, -2244, 4839, 2805, 5714, 2827, 613, -4141, 4658, 5806, -1253, 1757, 2026, -6910, -4433, -2689, 3432, -7067, 2873, 4298, 7669, -3248, 2734, 9368, 840, -361, -4469, -2156, -42, 1069, -8334, -423, -2584, 1989, 998, 7190, -2342, -2773, 3556, -7977, -3663, -4855, -3061, -9921, 843, 2343, -7414, -550, -4308, -1961, -9249, -5518, 1971, 4751, -1587, 1283, -4069, -5073, -3272, -4674, -10914, -10257, -8008, -3420, -10183, -5926, -2458, -1771, -5619, 1433, -959, 4634, 1785, -1431, 196, 694, -3919, -3606, -708, -1270, -641, -4116, -3185, -7928, -2160, 853, -2282, 1121, 2675, 2487, -5050, -6466, -3134, 2308, -1915, -1615, -4451, -3131, 2766, -4131, 3440, -115, 347, 3144, 4469, 2320, 8214, 4476, 5889, -3270, -1862, 166, 2585, 3393, 735, 2919, -6216, 2198, 3598, -5984, 4574, 2744, 3457, -4205, 4227, 1535, -5580, -4068, 3411, -621, 4632, -6936, -1335, -44, 1377, -4692, -1972, -4317, 9433, 1194, 4790, 1946, -38, -10638, -3049, -969, -2301, -5722, -1377, -366, -6017, 5086, 4831, 4564, 829, 8914, -1137, 5, -1306, 1612, 4308, 6144, 7250, 8385, 6751, -6805, -1664, 3389, -2979, 3075, -1163, 12, 1143, -2707, 2514, -3312, -1797, -3922, -2368, 1419, -1623, 3256, 2259, 760, 5719, -421, -2981, 8255, 822, 3220, -2647, -58, -6564, 1409, -189, -386, -4623, -557, -1196, -7669, 3344, 4873, 2798, 9664, 9868, 957, -1484, 1611, 2571, -905, 1329, -3067, 6824, -7369, 7225, -86, 4662, -3811, -3969, -1129, 4381, 402, -361, -6377, -734, 4385, -1809, -1559, 1778, 1645, 3083, 5773, -5676, 1624, -7154, -1039, -4073, 3567, 10864, 1590, 492, -418, -5379, 4686, -469, 5309, 72, -2875, -5785, -3553, -919, -3324, 1668, 4678, 3101, -4255, -5595, 1663, 6945, -4967, -6107, -3300, 11063, 602, 1266, 2481, -1713, 1534, 6562, 1172, -3906, 1750, -3467, -1275, 2956, -9255, 5648, -6823, 1747, -1825, 1681, 7226, -30, 469, 8897, 2300, -11387, -7228, 13294, -391, 3238, 4624, -7485, -4183, 53, -16, -2170, 444, 2592, -744, 2656, 230, 4641, -5811, -5227, 1415, 1115, 6762, 1984, 280, 1858, -4932, 4285, 3543, 4551, 2308, 10752, -2440, 5378, -4735, -2238, -367, -14, 5398, 1534, -7570, 12788, 781, 3139, -4539, 414, 2627, 1049, 7574, -3227, 5339, 7699, -4559, -772, 5896, -6075, 3852, 30, -2766, 10, 2982, -3488, 7648, 1006, 4090, -6237, 1545, 1185, -3122, -2443, 1143, -4423, 4095, -8732, 4416, 2023, 3343, 13745, -4097, -4096, 2374, 4067, -4668, -874, 5309, 1319, 4919, 3878, 2417, 552, 1596, -1572, -3209, -7256, -5956, 220, 5832, 2300, 2668, -1720, 5262, -3015, -2867, 5327, 6739, -4503, -2221, 1706, 4113, 5499, -1351, -630, -605, -1270, 282, -5967, 2180, 103, 1725, 341, -2965, 3547, -3818, 4270, 589, 8259, 2163, -3262, 1640, -155, -9280, 7743, 2040, -3099, 2293, 5072, 988, 6062, -2502, 1170, 3808, 442, -16419, -7863, -2470, -163, 7996, -3343, 652, 6599, 8645, -3054, -2753, -2164, 4214, -7107, 3097, 9201, 190, -9480, 2565, 48, -4413, -8830, -1769, 3892, -5914, 4163, 3502, -1204, 11551, -4793, -2718, 8202, 1061, -3053, 780, -2195, -8526, -4561, 8784, -4147, -973, -4142, -2875, 5588, 5768, 684, -1857, -4565, -2724, 1683, -582, 2558, -47, 1393, -707, 2395, -3045, 318, 2536, 4650, -5058, 7076, 2843, -395, 2813, 653, -2610, 1319, 1000, 2394, 674, -1076, 4748, -1953, -604, 4842, 7769, -1121, -7252, -569, -3096, 4779, 3744, -2823, -6875, -3574, 4399, 376, 6118, 12471, -7056, -1003, -6022, -3741, -2795, 9869, 4735, 8145, -356, -3591, 8004, -2592, -3241, 8616, 4616, 1339, 705, -962, 2783, 13243, -866, 2995, -3265, -2590, -519, -980, -4095, 662, -6423, -677, 3380, -3385, -3030, -4285, 529, 3467, -296, -3335, 1602, -152, -9721, 4968, -732, -1104, 7950, 1823, 2198, 2920, -2968, -1373, 4930, -5415, 5981, 1991, -2888, 587, 10683, -4345, 12557, 11236, -663, -3590, 1978, 4103, 1841, 3319, 4438, 7319, -6833, 953, 5123, -4200, 7607, -1273, -740, 8113, 477, 5398, -6966, -1284, 4267, 7133, 738, 6292, 3730, 1941, -3752, 1227, 2050, 1683, -58, -2401, 5116, -6695, 1559, -2122, -5956, 5152, 1084, 1324, -4780, 11736, 6883, 4315, -1832, -2694, 3745, 15031, -3083, -6877, 3362, 598, 416, 1185, 6822, 4738, -2678, 4551, -2599, 3456, 3394, -4169, -6154, 701, -6157, 7386, -1742, 1161, 3377, 1899, -7585, 1290, 2704, 6944, -3253, -1936, 373, 238, 1554, 5834, 1063, 8324, -2214, 3226, 1313, -1206, -14578, -7378, -6310, 996, 764, 3543, -2213, -5464, -620, -9356, -4685, -4381, 7215, -1119, -1990, -3650, -1017, 2892, -1182, -3253, -6979, 4954, -8144, -5640, 190, 2903, 20, -4269, 1286, -1240, 2947, 1979, -514, -2681, 6274, -10827, 5744, 852, -2979, -2544, -3976, 258, 219, 312, -608, -5683, 227, 3216, 1769, -6920, -2233, 5582, -1291, 3086, -461, -3932, 2530, 1483, 8100, -7759, -4649, 3736, -4645, -4421, -1755, -8661, 1839, -2317, -4918, -11052, -3617, -3105, -1461, -4720, 1078, 3610} +#define FC28_W_Z (180) +#define FC28_IN_Z (0) + + +#endif /*__160_0_25_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/160_0_5_parameters.h b/Inc/intq-mobilenet-v1-models-pc/160_0_5_parameters.h new file mode 100644 index 0000000..46d88f5 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/160_0_5_parameters.h @@ -0,0 +1,361 @@ +#ifndef __160_0_5_PARAMETERS_H__ +#define __160_0_5_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (160) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (16) +#define CONV1_OUT_DIM (80) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (80) +#define CONV2_IM_CH (16) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (16) +#define CONV2_OUT_DIM (80) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (80) +#define CONV3_IM_CH (16) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (32) +#define CONV3_OUT_DIM (80) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (80) +#define CONV4_IM_CH (32) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (32) +#define CONV4_OUT_DIM (40) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (40) +#define CONV5_IM_CH (32) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (64) +#define CONV5_OUT_DIM (40) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (40) +#define CONV6_IM_CH (64) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (64) +#define CONV6_OUT_DIM (40) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (40) +#define CONV7_IM_CH (64) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (64) +#define CONV7_OUT_DIM (40) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (40) +#define CONV8_IM_CH (64) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (64) +#define CONV8_OUT_DIM (20) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (20) +#define CONV9_IM_CH (64) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (128) +#define CONV9_OUT_DIM (20) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (20) +#define CONV10_IM_CH (128) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (128) +#define CONV10_OUT_DIM (20) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (20) +#define CONV11_IM_CH (128) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (128) +#define CONV11_OUT_DIM (20) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (20) +#define CONV12_IM_CH (128) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (128) +#define CONV12_OUT_DIM (10) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (10) +#define CONV13_IM_CH (128) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (256) +#define CONV13_OUT_DIM (10) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (10) +#define CONV14_IM_CH (256) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (256) +#define CONV14_OUT_DIM (10) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (10) +#define CONV15_IM_CH (256) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (256) +#define CONV15_OUT_DIM (10) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (10) +#define CONV16_IM_CH (256) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (256) +#define CONV16_OUT_DIM (10) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (10) +#define CONV17_IM_CH (256) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (256) +#define CONV17_OUT_DIM (10) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (10) +#define CONV18_IM_CH (256) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (256) +#define CONV18_OUT_DIM (10) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (10) +#define CONV19_IM_CH (256) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (256) +#define CONV19_OUT_DIM (10) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (10) +#define CONV20_IM_CH (256) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (256) +#define CONV20_OUT_DIM (10) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (10) +#define CONV21_IM_CH (256) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (256) +#define CONV21_OUT_DIM (10) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (10) +#define CONV22_IM_CH (256) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (256) +#define CONV22_OUT_DIM (10) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (10) +#define CONV23_IM_CH (256) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (256) +#define CONV23_OUT_DIM (10) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (10) +#define CONV24_IM_CH (256) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (256) +#define CONV24_OUT_DIM (5) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (5) +#define CONV25_IM_CH (256) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (512) +#define CONV25_OUT_DIM (5) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (5) +#define CONV26_IM_CH (512) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (512) +#define CONV26_OUT_DIM (5) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (5) +#define CONV27_IM_CH (512) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (512) +#define CONV27_OUT_DIM (5) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (512) +#define FC28_OUT_CH (1000) + + +#endif /*__160_0_5_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/160_0_5_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/160_0_5_weights_bias.h new file mode 100644 index 0000000..df8865c --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/160_0_5_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __160_0_5_WEIGHTS_BIAS_H__ +#define __160_0_5_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {2698900, -6639989, -53924312, -28050732, 109500, 109174, 94013456, -7826629, 19716, 183582, 169746, 81513, 274314, 176608, -33813, 81590} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {34, -237, -112, -154, -195, -57, -213, -156, -170, -92, -155, -98, -226, -150, -71, -165}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {2033694080, 1414821248, 1516259840, 1102596224, 1289814400, 1344937728, -1154143488, 1266337664, 1541288832, 1660847232, 1476441984, 1298270336, 2141810816, 1620972672, 1125583360, 1558337152}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {-4159, -200, -172, 180, 17501, 8077, 267, -1531, -45894, 39647, 84304, 25389, 3023, 601, 400, 927} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-120, -171, -382, -213, -67, -129, -176, 3, -49, -44, -187, -184, -113, -55, 0, -53}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1907095424, 1196182784, 1846718080, 1363772672, 1383857408, 1611195520, 1672177152, 1980427392, -1297565952, -1177456640, 1536876928, 1123238912, 1899446144, 1466276224, 1522728448, 1324984576}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {-13246, -13686, 17812, 11945, 104652, -27144, -24247, -32302, -34608, -1705, 10762, 3556, 458, -30828, 23061, 24820, 1295, -61033, -52557, -30454, 13157, -154296, -41116, 19772, 22527, -54860, 19046, -24944, -748269, -1664787, -21181, -9932} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-44, -99, -139, -183, -44, -32, -108, -49, -26, -184, -149, -159, -113, -42, -171, -172, -138, -12, -28, -23, -127, -92, -69, -153, -150, -4, -150, -5, -39, -105, -50, -5}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1535521536, 1535962880, 1096385024, 1700372608, 1940151424, 1512056704, 1239471360, 1677852672, 1246477184, 1274070272, 1485687936, 1159316480, 1959899904, 1707831808, 1182953728, 1654011264, 1160769536, 1965058304, 1165419776, 1674222592, 1534032000, 1820737152, 1119798912, 2043100928, 1614699136, 1394797952, 1631783424, 1357020928, 1244935424, 1080325120, 1379694848, 1375658496}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {5599, 72740, 56837, -394, 48657, 75614, 33952, 14423, 162406, 37332, -744, 182856, 6043, 19261, 27743, 55718, 11812, 56609, 67811, 4062, 73459, 1384, 236384, 6631, 69647, 150732, 14338, -88436, -270, -227, 158867, 3011} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {37, -163, -147, -103, -150, -282, -6, -144, -228, 7, -248, 9, -117, -133, -158, -252, -45, -230, 67, -112, -108, -45, -284, 56, -182, -273, -105, 22, -262, -243, -225, -129}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1445646592, 1594876672, 1758726400, 1236473728, 1212915840, 1858970368, 2028200192, 1373830528, 1695984640, 1850228096, 1436185728, 1812278144, 1100578432, 1657719808, 1619464320, 1240765312, 2092203648, 1306648576, 1798511104, 1553349888, 1743388288, -1681082624, 1973318016, 1128829312, 1933577088, 1854504192, 1355289216, 1924946816, 1327720448, 1328287232, 1988510592, 1215418880}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {18605, -3374, -10649, 166387, 10333, 55719, 62695, -48910, -21358, -40596, -74859, 52138, -5562, 9980, 499, -36121, 39956, 3995, 44595, -8922, 43433, 98244, 17624, 6183, 26991, -19451, -17073, -16593, -16225, -21384, 253686, 26239, -12875, 90762, -37026, 52121, -27233, 8235, 8151, 10184, -37855, 41637, -26917, -5478, 25822, 80596, 50521, -44762, 31766, -36661, -29971, 24302, 99525, 47953, 136596, 24149, 1568, 44869, 43464, -4180, -517, 48571, 180683, -19365} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-160, -114, -62, -118, -131, -184, -228, -95, -58, -37, -35, -128, -168, -113, -109, -131, -130, -164, -219, -162, -199, -180, -166, -163, -135, -60, -86, -78, -101, -21, -148, -164, -94, -60, -103, -223, -42, -66, -121, -173, -50, -189, -22, -210, -132, -216, -104, -48, -189, -22, -121, -176, -97, -104, -170, -140, -175, -155, -102, -33, -99, -218, -164, -87}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1910260096, 1692182784, 1369039360, 1634837632, 1530010624, 1701762944, 2147206272, 1739140864, 1177934080, 1779311872, 1567179904, 2048067712, 1171595392, 1196644608, 1775294464, 1540844160, 1216181248, 1614712704, 1643702784, 1185404800, 1932101888, 1485628544, 1823946240, 1120571008, 1371992960, 1502158336, 1954034176, 1267455744, 1316872576, 1116515584, 1310203776, 1439697408, 1277040768, 1943098368, 1113941248, 1439780096, 1273445504, 2081708544, 1905021056, 1211539072, 1283589760, 1900711680, 1544997376, 2030641664, 1598695808, 1750096384, 1291957504, 1155562112, 1108315776, 1409206400, 1498025600, 1757570560, 1552117120, 1650595328, 2115959168, 1275562880, 1242229760, 1208705408, 2098190208, 1310308224, 2042331264, 1324660352, 1126427008, 1991383168}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {-1931, 280, 2125, 31538, 42268, 62348, 36204, 942, 5216, 2051, 21477, 10414, 13051, -2525, 650, 40720, 7200, 45161, 10850, -2205, 26889, 40036, 10874, 626, -1444, 23003, 3681, 19119, 3337, -6852, -45295, 1337, 12356, -42026, -17, 701, 28391, -1214, 13205, 4356, -120, -2393, 1225, 245, -41, 5945, 46851, 61, 1420, 3740, 1598, -72, -3103, 1969, 46319, 707, 4834, 18697, 11601, 52367, 35541, 6078, 19572, 50732} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-108, -109, -82, -232, -87, -231, -238, -176, -16, -91, -140, -148, -147, -96, -85, -172, -145, -155, -220, -52, -241, -215, -134, -33, -117, -247, -71, -165, -112, -108, -12, -115, -59, -31, -30, -74, -234, -101, -145, -77, -164, -90, -124, -90, -102, -36, -216, -120, -119, -117, -125, -99, -37, -138, -214, -134, -42, -82, -178, -165, -209, -124, -140, -223}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1137095040, 1302582912, 1222909056, 1343711104, 1302373248, 2113278720, 1643659264, 1291779328, 1447554304, 1547870848, 1625586560, 1147674624, 1126396544, 2080140160, 1970282240, 1791986176, 1781631872, 1137056640, 1196624256, 1290836480, 1275488512, 1176450560, 2086259584, 1551608448, 1962426496, 2132101632, 2100739968, 1237092480, 1653737216, 1585396992, 1326957056, 1472382976, 1228200960, 1574114176, 1378191744, 1160738176, 1894017280, 1298348672, 1394519680, 1851099520, 2041606528, 1560944384, 1412363904, 1740178688, 1495145984, 1554232832, 1871336832, 1966258688, 1161601792, 1868284416, 1690483072, 1863227392, 1163162752, 1410718720, 1240153728, 1587020288, 1282628224, 1086681984, 1347783808, 2127505792, 1697548416, 1086681472, 1798195712, 1922115328}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {-2919, -7084, -31103, -5715, 12139, -4455, -5327, -1539, 11883, -33167, 40981, 34385, 9075, -24931, 34664, -9839, 8312, -30938, 46439, -37368, 8631, 61352, 74310, 59981, 26719, 80329, 38810, 14160, -15694, -23436, 28470, -7791, 72660, 1807, 41591, -44568, 24599, 33267, -1829, 43497, 3447, 18513, -27663, -16514, 16388, 36173, 34679, 8657, 5511, 19871, -23010, -5963, 9124, -5501, 18466, -18117, -11564, 42736, 4128, 3898, -44385, -53547, 18744, -20743} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-171, -106, -141, -101, -118, -186, -62, -66, -50, -118, -62, -107, -92, -95, -86, -152, -149, -45, -219, -146, -132, -87, -144, -196, -95, -139, -155, -189, -113, -54, -198, -117, -162, -97, -184, -67, -151, -105, -170, -84, -112, -115, -63, -180, -172, -182, -125, -145, -73, -85, -150, -116, -101, -147, -157, -56, -104, -199, -147, -160, -112, -138, -96, -58}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1332735488, 1361323136, 1183258112, 2095074816, 1372153472, 1277549312, 1520426240, 1825251712, 1998088704, 1662835584, 1320945536, 1259578368, 1102329856, 1594618752, 2044275200, 1969456768, 1967999488, 1137068416, 1275269248, 1842703104, 1919079808, 1467544704, 1493439104, 1650855168, 1252182784, 1546784384, 1463400832, 1282208128, 1265548288, 1595256960, 1283921536, 1759552640, 2086190464, 1233886336, 1357147904, 1954344192, 1118710016, 2074593408, 1595622528, 1512719488, 1074446336, 1979505920, 1895832192, 1485411456, 2143802624, 1530719232, 1294777728, 1516662784, 1173945984, 1558397696, 2064062848, 1544103552, 1108617472, 1117403008, 1884805760, 1666998016, 1273954048, 1558185344, 1450674304, 1225031296, 2118295936, 1179446400, 1641342464, 1970558336}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {88040, 337039, 11632, 215, 61523, 82796, 185274, 2577, 263104, 105260, -84080, 13435, 402, 29626, -62858, 17513, 221417, 7600, 537, 209810, 3961, 1728, -2895, -229, 215456, 127851, 170813, 70484, 5184, 160381, -134, 11495, 255112, 259526, 39290, 1913, -663, -738, 2211, -34220, -1468, -48741, -694, 13058, 65097, 2686, 56832, 75665, 153894, 2665, 11035, 102372, 199484, 127249, 10775, 32567, 10202, 15990, 22048, 67854, 94774, 130239, 92038, 17271} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-364, -370, 91, 88, -325, -312, -337, 48, -296, -281, 55, -86, 0, 68, 77, 60, -292, 74, 61, -332, -162, -100, -152, -106, -346, -246, -307, -353, 48, -299, 50, 42, -320, -297, -141, 43, -109, -145, 45, 25, 47, 44, -159, 51, -361, 66, -268, -398, -309, -154, 86, -323, -329, -292, 48, -285, 58, 43, -302, -361, -339, -292, -169, -126}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1185288960, 1965836672, 1112700032, 1175406720, 1273970560, 1451877760, 1343360128, 1818320640, 1546007424, 2134744320, 1267593600, 1926677760, 1363673088, 1327519360, 1320027392, 1315542144, 1151267200, 1240803200, 1095090560, 1172503424, 1163042432, 1218361472, 1476109568, 1462926592, 1345372032, 1373664512, 2026308736, 1436791040, 1219413888, 1233699712, 1228922752, 1165094400, 1732501632, 1396456192, 1920004480, 1544468992, 1314231168, 2132683520, 1394098944, 1195012736, 1532107648, 1651713408, 1823186688, 1837271808, 1624837248, 1377148288, 1351053568, 1258240000, 1157159936, 1898260864, 1086437504, 2072620928, 1531925760, 1679757312, 1740701568, 1625744512, 1447039744, 1339147776, 1080674432, 1423566464, 1410646144, 2130225280, 1798990720, 2093451392}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {65006, -21648, 53945, 55107, 28142, -20483, 154087, 59811, 64492, 14170, -19212, 433, -674, 52301, 32770, 23923, 24292, 7380, 7625, 21790, 57875, 26277, 22547, 72062, 26859, 33554, 40285, 18290, 23222, -1048, 41592, 13485, 17212, 45244, 64877, 57932, 29369, 21870, 43416, -7049, 44734, -1341, -757, 1064, -48203, 30098, 29230, -2118, 12876, 37073, 7908, -15939, 34418, 18412, 81012, 40377, 40352, -23789, -10115, 30461, 48465, 46904, 44671, 23060, 48175, 948, 29497, 63231, -29553, 46289, 58731, 535, 31306, 28090, -2628, 36124, 66597, 17637, 22746, 66402, 14614, 35870, -41011, -22689, 5523, 33711, 9831, 2392, 69701, 29431, 37848, 24331, 33850, 22369, 6222, 150004, 8487, 46431, 19670, 46788, 48512, 1364, 14686, -10432, 63550, 14477, 72854, 32726, 82651, 9354, -12131, 37143, 47967, 53219, 6722, 39895, -44404, -1369, 19921, 59972, -14681, 42729, 56587, -21413, 22548, 86932, 71993, 30013} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-110, -167, -194, -98, -95, -122, -141, -155, -104, -102, -83, -67, -186, -152, -141, -121, -100, -122, -64, -115, -156, -103, -167, -184, -157, -134, -106, -108, -101, -131, -149, -140, -150, -126, -120, -143, -120, -106, -115, -49, -167, -81, -30, -59, -76, -126, -183, -131, -156, -84, -173, -118, -75, -183, -138, -134, -120, -82, -127, -163, -141, -150, -193, -153, -157, -127, -87, -137, -89, -164, -138, -168, -91, -123, -107, -103, -127, -156, -88, -147, -125, -121, -114, -129, -64, -127, -52, -103, -149, -154, -101, -120, -107, -120, -117, -131, -141, -107, -86, -145, -171, -143, -94, -87, -72, -91, -123, -193, -168, -64, -70, -111, -124, -160, -150, -121, -92, -162, -142, -173, -42, -86, -182, -60, -87, -118, -155, -172}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1612346880, 1752095104, 1880346112, 2079196032, 1855890816, 1879128704, 1621956096, 2060369792, 1092299136, 1928777216, 1468485248, 1650482048, 1340422144, 1731914752, 1302090880, 1249761792, 1789095680, 1418987264, 1096752000, 1462126464, 2027371776, 1552338176, 1333721600, 1692704384, 1415209600, 1736000640, 1204662656, 1901823360, 1757762560, 1141516288, 1894003200, 1596257152, 2042644096, 1838736256, 1139735168, 1454482688, 1522377984, 1729027968, 1928216448, 1440063232, 1974370944, 1860630272, 1471006976, 1578088320, 2088131968, 1182906240, 1361792128, 1091057920, 1270018432, 1887825920, 1152867456, 1269808384, 1761592320, 1663499776, 1745003264, 1288400512, 1415630592, 1988348032, 1292050560, 1448572032, 2134827008, 1805365376, 1236520320, 2032622208, 1844257280, 1130225792, 1232037376, 1299814016, 1543966592, 1695870592, 1331096832, 1986081152, 1924234624, 1255283584, 1103676288, 1696082688, 1417472000, 1122974464, 1200631168, 1190016384, 1649777792, 1260027520, 1865592448, 1809415424, 1735761152, 1768110848, 1886705152, 1174373632, 1446452736, 1889116800, 1264387456, 1284356736, 1224582400, 1511989120, 1477680128, 2092270208, 1817802496, 1750813184, 1650951040, 1567392896, 1810904576, 1764472448, 1953275520, 1918170368, 1125644800, 1909063424, 1248612992, 1994976896, 1619916800, 2050687360, 1644725120, 1980969344, 1554749568, 1377814784, 1654626176, 1110778368, 1964650240, 1991781376, 1118243456, 1406148224, 1269482624, 2140102528, 1212563328, 1730078080, 1699422592, 1658275712, 1642157824, 1985234048}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {21657, 1421, -531, 14802, 138, -7610, 231024, 22748, 35735, -9600, 45, 3311, 12254, -503, -14273, 821, 34960, 34051, -45, 3011, 67, -271, 10725, 70603, 13147, 181038, 3076, 527, 5921, -383, -880, -544, -4880, -1119, 484, 11188, 33765, -708, -6270, -44783, 881, 29160, 16106, -479, -3142, 52575, 38198, 1015, -6917, 24995, -27, 32522, -349, 1360, -359, -8, -500, -8282, 62041, -4643, 35, 20947, 8831, 243, 32786, 44392, 38245, -2559, -3234, -314, 33003, 2053, 1341, -1649, -902, 1601, 55637, 26183, 266, -6878, 6216, 4786, 13457, -5655, 17075, 19056, -997, 33828, -18490, -1392, 18988, 6749, 11637, 5917, 17918, 34218, 13916, 1572, -4272, 33442, -9687, -5734, 9062, -1154, -10962, 22861, 1171, 13482, 30779, -2092, 25462, 2712, -2246, -1070, 11704, 829, 2430, 29679, 48445, 33574, 1777, 47, -2868, -16435, 16206, 40, 18289, 383} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-244, -114, -42, -141, -107, -86, -224, -230, -139, -24, -25, -150, -47, -110, -41, -116, -235, -235, -122, -145, -121, -108, -172, -238, -225, -238, -152, -100, -26, -128, -154, -107, -24, -113, -89, -86, -235, -84, -21, 85, -73, -223, -219, -128, -41, -210, -202, -139, -22, -239, -130, -208, -83, -22, -126, -35, -99, -28, -336, -77, -113, -232, -88, -142, -210, -241, -259, -62, -23, -105, -103, -141, -89, -131, -92, -136, -245, -263, -157, -55, -65, -49, -70, -27, -202, -224, -30, -230, -24, -153, -204, -51, -69, -45, -172, -233, -106, -119, -93, -221, -43, -42, -217, -59, -20, -230, -128, -235, -238, -38, -220, -140, -48, -88, -33, -114, -102, -218, -214, -236, -15, -129, -77, -27, -229, -109, -55, -21}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1651416192, 1125148288, 1125120256, 2031286656, 1619035136, 1165768064, 1560719104, 1746761728, 2095544064, 1159268480, 1480719616, 1769997184, 1680414080, 1702117504, 1637322240, 2124879360, 1727912448, 2028153472, 2117629952, 1168444032, 1523117696, 1680178944, 1177213056, 1928836736, 1433395200, 1755045248, 1137815296, 1331618560, 1118093696, 1596791424, 1497516288, 1956175360, 2105575296, 1731316352, 1600611968, 1471327360, 1164431232, 1247190144, 1520436736, 1366432768, 1545506048, 1786629248, 1887927168, 1266425600, 1417443840, 1928242176, 1975890688, 1668106752, 1484871168, 2112511360, 1304266496, 1228739072, 1406057728, 1588935552, 1103786368, 1198584448, 1980186240, 1390684544, 1611726208, 1841027456, 1321906048, 2092172672, 2128791808, 1192729216, 1950594560, 1378352512, 1864285440, 1629754624, 1383356672, 1841300224, 1324079488, 2095383680, 1711071104, 1411176576, 1148392448, 2049969152, 1118282368, 1108887680, 1880175616, 1920810496, 1464552960, 1334517248, 1838085120, 1377419520, 1264411648, 1423354496, 1206883584, 1388712576, 1540686208, 1848187904, 2048133504, 1319644928, 1952282752, 1591701888, 1233204224, 1269558272, 1901242752, 2104102528, 1178350592, 1485552512, 1373546112, 1851239936, 1291812096, 1382952064, 1146106368, 1568423040, 1331172224, 1157296640, 1500884736, 1464323456, 1597644032, 1778362496, 1189780992, 1673171456, 2087420928, 2104570112, 2089250560, 2015202816, 1174740992, 1358386816, 1715660672, 1961343616, 1842411392, 1889356800, 1651433216, 1432258432, 2057861760, 1613810816}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {40231, 16006, -20255, 8289, 36179, -19871, 31923, -24581, 40564, -9099, 11390, 6744, 62754, -16431, 31105, 42994, -4375, 46923, -14491, -16588, -21801, -7536, 10973, -96204, -20789, 13950, 27907, 4332, 62164, 18961, 30413, -26891, 21280, 32161, 48084, 5843, -13427, -1649, 10665, 4401, -31759, -9295, 22464, -9065, -3678, -15351, 106805, 3553, -3272, -23297, -16614, 21049, 5187, 38859, 1731, -35210, 18311, 9200, 21775, 61388, 9984, -8237, 18531, -1399, 55070, -29495, 32098, 3112, 69350, 18927, 21318, -22365, 23145, -1963, -9775, 49996, -53065, -24360, 22696, 40513, 41158, -24768, -2222, 80009, 720, 9875, 9592, -7246, -20072, -31654, 17111, -22624, -19332, -22494, 22488, 14399, -12410, 19149, -5215, -479, -19413, -783, 32043, -46595, 26519, -41065, 9228, 20220, -57735, -2114, 1035, 36948, -12578, -9563, 12423, -28736, 14381, 9932, 21099, -11657, 15784, -15721, 20184, 22519, -8589, 42416, 64906, 16963} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-70, -110, -100, -139, -150, -122, -75, -123, -131, -120, -130, -69, -136, -122, -188, -111, -161, -124, -132, -88, -135, -166, -175, -93, -120, -149, -158, -145, -78, -160, -106, -114, -154, -114, -146, -176, -129, -107, -117, -146, -122, -165, -127, -104, -83, -145, -116, -108, -95, -103, -103, -146, -121, -111, -138, -84, -133, -136, -121, -83, -105, -133, -141, -96, -124, -76, -169, -125, -169, -159, -121, -138, -127, -122, -54, -126, -125, -103, -140, -136, -131, -118, -99, -154, -153, -133, -109, -58, -180, -129, -69, -92, -131, -129, -155, -117, -136, -135, -169, -43, -93, -37, -169, -152, -125, -120, -149, -99, -152, -55, -87, -167, -102, -133, -168, -121, -140, -76, -135, -98, -99, -127, -115, -202, -163, -175, -138, -159}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1747901184, 1927672064, 1437532032, 1087411072, 1377133696, 1656322688, 1660591616, 2059774080, 1505573632, 1464326784, 2083244928, 1270972160, 1355937408, 1310699904, 1402416896, 1573379712, 1214686080, 2103242112, 1764056704, 1910898816, 1782429568, 1421804416, 1738903808, 1212551424, 1477647360, 1268037632, 1361320704, 1638669696, 1424712064, 1074493824, 1884200448, 1809870848, 1611730944, 1408888448, 1334301440, 1385550080, 2062272000, 1152786816, 1293201920, 1405635968, 1990297344, 1751748992, 2060262528, 1685950848, 1676360960, 1977857408, 1602546816, 1976509824, 1373451520, 1224101120, 1989666432, 1238138752, 1220444160, 2127056640, 1947394432, 1646895232, 1454469248, 1495793280, 1552825216, 1146113280, 1076369152, 1911872000, 1895806336, 1806737664, 1155672704, 1250882048, 1976604032, 1919513600, 1810462336, 1606726784, 1580873216, 1426596992, 2100779648, 1122555520, 1995632128, 1894325888, 1307990400, 1637592192, 1256958336, 1327403264, 1111482752, 1104816640, 1829988224, 2079859200, 1502718848, 1780486656, 1182640512, 1580277376, 2055405056, 1150618880, 1223769344, 1167670016, 2124285568, 2072402432, 2113711488, 1157139584, 1173963136, 1298511872, 1599233408, 1193264768, 1840759680, 1318348032, 1088923264, 1356734336, 2039131776, 1147178624, 1458086528, 1263977344, 1341296000, 1305008384, 1128674560, 1817670400, 1721659008, 1220289408, 1534496640, 1655856896, 2081295616, 1479157760, 1286734848, 2100477568, 1553076864, 1804333440, 2015274240, 1752646272, 1534015616, 1944442752, 1729719424, 1597579520}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {-422, 537, 63975, 99180, 235833, 22388, 105916, 203825, 550, 242630, 204808, -7948, 3778, -410, 196356, 115689, 166894, 1546, 75790, -86, 17524, -573, -4258, 36168, 83687, 7187, 188265, 75138, 230759, 61190, -1361, 1642, 571, 221274, 196056, -1845, -250, 4812, 7948, 24750, 1194, 18510, 18018, 1404, 4503, 221051, 3247, 3574, 94481, -7193, 1207, 396, -583, 2260, 78111, -50, 1922, 7762, 136282, 4355, -2632, 80554, -1211, 131812, 199698, 9651, 4437, 153663, 184778, 9793, -306, 3953, 6071, 9749, 170095, 2534, -1038, -6400, 55346, 127234, 3386, -2039, 44030, 98290, 27763, 75698, -11817, 107726, -489, 154679, 77487, 623, 117422, 2478, 314, 9997, 208, 83086, 71086, 71545, 43651, 67721, 10789, 16396, 117133, 186856, -4858, 85752, -1140, 89222, 4412, 158, 2809, 3221, 7389, 72291, 4175, -9014, 192040, 10013, 83659, 3792, 98857, 167841, 216967, 377, 840, -1535} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {-152, -89, -358, -329, -345, 71, -301, -325, -104, -324, -339, 83, 85, 57, -323, -337, -322, -162, -323, 56, -144, 56, 69, 43, -288, 105, -303, -320, -327, -300, 75, 85, 66, -324, -302, 76, 92, 79, 51, 97, 28, 69, -107, 74, 77, -326, -168, 64, -386, 67, 54, 57, 84, 73, -312, 54, 52, 64, -363, -97, 65, -334, 80, -317, -319, 91, 74, -291, -313, 55, -90, -134, 82, 66, -327, -101, 79, 55, -321, -327, 79, 87, -346, -298, 68, -369, -59, -324, -7, -331, -287, 43, -313, 80, 62, 59, 102, -300, -371, -310, -370, -315, 46, 28, -313, -323, 38, -277, 48, -321, 88, 80, 72, 101, 66, -155, 96, 74, -333, 83, -239, 46, -363, -315, -382, 26, -96, 76}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1210946432, 1179338496, 1637617152, 1304604544, 2052174976, 1149307008, 1735315456, 1517146496, 1717113856, 1862090112, 1179553152, 1816140544, 1804844416, 1594560896, 2038665856, 1427520896, 2005679488, 1395759872, 1220889984, 1236831232, 1886107648, 2094767232, 1828210816, 1492439424, 1218630784, 1606132224, 1534536064, 1554610048, 1400595840, 1981433728, 1962183936, 1493903360, 1145400320, 1466414464, 1179425536, 1129186048, 2020603392, 1869011200, 1082543488, 1252050176, 2056423552, 1891654912, 1693740288, 1261187584, 2128057728, 2008590464, 1670131072, 1403680512, 1820217472, 2146710528, 1608587392, 1317640960, 1688520064, 1696237952, 1283262592, 1673873664, 1544302848, 1477821952, 1755900288, 1512035968, 1804422656, 1743474048, 1568862848, 1575935488, 1571640960, 1167022080, 1889678464, 1577247104, 1893858304, 1664547328, 1408639360, 1087648256, 1983222144, 1402009728, 1435287680, 1391718272, 1309409408, 1306032384, 1109561216, 1587374208, 1479405440, 1234801280, 1886828672, 1128625152, 1276017024, 1429852032, 1983994112, 1856962176, 1531726976, 1335848320, 1820078080, 1629678080, 1433039872, 1435813888, 1670872448, 1495018112, 1417681792, 1208964992, 1306433920, 1219469440, 1986763904, 1871904000, 1814394624, 1365799296, 1113433728, 1140032512, 1689053440, 2058366976, 1451175168, 1290328704, 1667810688, 1097371136, 1394285952, 1079650944, 2126052224, 1815601792, 1616225920, 1290686208, 1794457216, 1549346304, 1758458368, 2104836096, 1273651968, 1430546688, 1998385920, 1225803264, 1669114880, 1163297920}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {28666, 9003, 23784, 70155, 2839, -36010, 27229, -11641, 43735, 10047, 78879, 16775, -8273, 64742, 50799, 113610, -19636, 38149, 30774, 11686, -14153, -26305, 88002, 63200, -1898, -7116, 12681, -1409, 62655, 97114, 377, 84222, 29044, 89137, 43137, -9114, 35876, 18171, 69350, -7955, -17574, 201, 34638, 53022, 66130, 35983, 8212, 82241, 2749, 16442, 64569, 78246, 7397, 33245, 6804, -21295, 22994, -32301, 87865, 38258, 34173, 14690, -1930, -260, 71356, 42361, 30596, 75602, 34215, 20084, 9237, 13455, -1360, 34648, -536, 54401, 49944, 73532, -1194, 32024, 20135, -16534, 46080, 135121, -7161, -7898, -74401, 48411, -6145, 41311, 74690, 10891, 17659, -10877, 61, 95293, 18742, 28501, 20841, -24246, 1698, -16103, 45980, 2166, 125552, -17393, 11850, 7751, -4451, 44366, -3881, 18027, 49761, 94322, -27420, 52333, 16222, 64258, 49130, 61505, 49466, 21387, 42671, -28523, -56577, 33959, 44666, 6347, 119854, -2443, -8348, 61583, -23424, -36848, 48004, 53984, 3054, 27507, 58420, 24634, 912, 61303, 30047, -26225, 6070, -3649, 36772, 75505, 15486, 48465, 47992, 19727, 105098, -16589, -274, -6219, 20813, 60259, 25823, 76303, -12490, 2856, 47370, 20212, 21751, 103168, -34503, 38034, 62634, 8742, 58233, 69489, 54356, 40443, 71199, 80737, 14581, 5385, 87180, -2899, -26388, 19274, 12627, 39474, 11528, 92996, 64935, 30532, 45413, 37793, 36705, -1636, 43790, -45309, -31675, 56477, 50658, 73412, 21866, -890, 63012, -4450, 68146, -9520, -16448, 71479, 38783, 37931, 8063, 9899, 25575, 49967, -1749, 29557, 43794, 27261, 34079, 27068, 49661, 36522, -41155, 65151, -611, 9158, 11957, 16354, 41318, 38732, -28789, 27133, 26391, 118722, 30223, -49332, 24510, -4942, 42615, 21889, 32324, -4244, 12413, -26882, 22074, 1608, -50490, 882, 26164, 8649, 5669, -1414, 15768, 78312, 46035, 56599, 50656, 28548} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-173, -139, -154, -95, -152, -140, -124, -42, -136, -112, -142, -129, -106, -175, -158, -126, -106, -115, -140, -122, -151, -44, -137, -133, -85, -112, -172, -75, -163, -143, -137, -107, -105, -171, -124, -132, -112, -148, -150, -80, -107, -30, -166, -105, -169, -123, -103, -151, -152, -104, -123, -186, -100, -103, -55, -80, -111, -113, -131, -82, -115, -154, -77, -106, -175, -138, -127, -132, -157, -117, -133, -122, -122, -73, -78, -129, -132, -107, -86, -110, -70, -110, -134, -189, -174, -132, -111, -127, -69, -168, -145, -101, -166, -78, -71, -142, -84, -129, -85, -52, -98, -81, -139, -75, -180, -102, -130, -121, -116, -143, -73, -114, -116, -116, -112, -150, -129, -147, -136, -79, -167, -76, -108, -100, -97, -107, -132, -74, -134, -106, -168, -114, -124, -69, -86, -90, -111, -134, -145, -86, -75, -152, -151, -97, -106, -77, -126, -133, -133, -165, -114, -101, -168, -60, -113, -83, -153, -133, -142, -150, -91, -73, -106, -92, -116, -170, -59, -132, -147, -124, -186, -125, -190, -113, -135, -145, -75, -119, -122, -61, -145, -135, -162, -136, -85, -153, -99, -70, -122, -129, -117, -79, -214, -111, -66, -129, -115, -101, -122, -176, -140, -95, -168, -135, -117, -153, -128, -89, -71, -111, -161, -158, -98, -139, -87, -110, -85, -98, -96, -87, -64, -120, -89, -106, -171, -133, -136, -137, -98, -115, -132, -165, -134, -129, -115, -93, -89, -118, -156, -145, -58, -140, -116, -160, -107, -113, -110, -118, -111, -100, -59, -175, -109, -172, -141, -113}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {2012113920, 1460070016, 1271195776, 1670684544, 1240203008, 1371228416, 1936471424, 1522522752, 2077348480, 1098716928, 1520605568, 1365516288, 1097788032, 1119038080, 1187277056, 1886732160, 1363542400, 2111058432, 2075082880, 1420460160, 2139328768, 1989605248, 1816838272, 1762104064, 1894375424, 1252573312, 1287330688, 1721875072, 1140490752, 1587240576, 2071288064, 1518437504, 1238150016, 1330229376, 1470236928, 1919558528, 2139022592, 1525748608, 1619856384, 1180676992, 1105478144, 1449013376, 1861322496, 1763623680, 2103802112, 1364305024, 1417494912, 1583213824, 1876878976, 1959322112, 1901644416, 1271506816, 1689678720, 1729008128, 1466575104, 1859226368, 1078605696, 1479117824, 1206559616, 1625267712, 1234941824, 1174931840, 1243645056, 1713624576, 1693394048, 1786610432, 2055254144, 1398409472, 1275839488, 1133492736, 1441028224, 1533445504, 1564187904, 1635970816, 1781880576, 1568495104, 2090012672, 1710606464, 2036497280, 1423566080, 1527574528, 1523066240, 1325009152, 1622927232, 1277358208, 1280883712, 1569918336, 1708154496, 1904528896, 1286381824, 1662120192, 2092325888, 1081454336, 1815481984, 2054773760, 1308573440, 1539145600, 2071196544, 1406434176, 1183598080, 1084070784, 2079619072, 1376231040, 1138897408, 1822785408, 1643300992, 1986826496, 1266767104, 1180422912, 1826945408, 1848234624, 1183169152, 1670093440, 1271893248, 1373858944, 2146208896, 1298506752, 1905464064, 1139172608, 1821327488, 1242655360, 2027257984, 1526706176, 1807990912, 1203206272, 1279708800, 1117862016, 2119299456, 1082140672, 1099154048, 1960059776, 1679973120, 1236786048, 1382685440, 1132724864, 1496577664, 1183083648, 1392537856, 2083582720, 1938165888, 1284972288, 1179779072, 1606020992, 2057775488, 1640199936, 1704740224, 1273107968, 1623466112, 1371662208, 1868191488, 1138648064, 1771331968, 2008417408, 1497766400, 2116120960, 1326572800, 1836675584, 1505226752, 1539535872, 2014495232, 1862647168, 1932878720, 1909234432, 1438020864, 1768709760, 1455401472, 1171156864, 1120102016, 1608157952, 1763399424, 1110788608, 1339384960, 1505088384, 1335989376, 1560802176, 1568458368, 1561358336, 1756827648, 1338790272, 1157523712, 1725002752, 1713179136, 1146748032, 1283432064, 1332704000, 1833825280, 1664642176, 1705898496, 1492962304, 1134065408, 1654413312, 1322820352, 1990503680, 1135668224, 1872322432, 1177297408, 1714683136, 1310247808, 1314283520, 1503089664, 1204644224, 1821175296, 1655714432, 1260571264, 1891213568, 1103793408, 2135111424, 1586037120, 1705871616, 1163806976, 1959589760, 1469394816, 2125644416, 1930845440, 1345085568, 1911924864, 1722928640, 1964453376, 1103651968, 1490802176, 1497719680, 1424041088, 1115395840, 1983238784, 1131309696, 1627451392, 1191450112, 1079329152, 2087070848, 1560482688, 1948574336, 1390854400, 1233367552, 1624975104, 1255602816, 1116800896, 1614656896, 1667286656, 1534971776, 1717655168, 1803853952, 1839405568, 1105870848, 1463516672, 1813007744, 1648700160, 2135292416, 1521735168, 1309201280, 1677750272, 1279396352, 1744806784, 1283118208, 1810732544, 1107075200, 1931125632}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {-252, 2226, 8978, 85, -2893, 10144, 96, 12172, -3371, -4616, -42, -4660, 5032, 451, 647, 439, -194, 565, 18208, 992, 1653, -109, -313, 1330, -4291, 4100, 39459, -51, 1528, 4557, 838, -456, 24244, -5465, -18788, 13355, -6744, 1048, 52408, 37594, 166071, 74234, 28245, 2449, 237, -10300, -7006, -145, 24641, -806, 18154, 757, 72, -241, 269, 7408, -5238, 10442, -12406, 420, -651, 13998, 673, 262, -2230, -11200, 18710, 48, -710, 11639, 2064, -166, 80, 423, -2600, 1948, -190, 5937, 12812, -2907, -9192, 34175, -3633, 3893, 5381, 97636, 56106, 111, -10672, 1038, 1882, 4267, -25401, 1146, 408, 18566, 4500, -599, 31676, 167, 1601, 13516, -17258, -653, 2848, 5725, -14787, 13683, 11825, -7666, 1271, 4155, 23850, 2107, -8612, 17818, 4372, 15645, 21019, 27940, 14429, 17789, 10288, 93785, -4734, 1505, 15655, 50027, 252, 30, -366, 4345, -2465, 1528, -2837, 87339, -165, 98, 61635, 237, 4564, 31498, 24297, -9632, 17019, -30, 9092, 24228, -2243, 1977, 12948, -24572, 9234, 14738, -13255, 525, 1012, 8152, 2426, 18204, 37051, -144, 25815, 33453, 325, -204, -302, 3866, 29176, 20394, -312, 85, 838, 734, 1275, 435, 550, 2761, 2348, -194, -10340, -943, -24442, 24192, 191, 305, 24150, 605, 2849, -6106, 23659, -8259, -2538, -21323, 30091, 1160, 585, 33072, 3577, 63794, 44438, -22, 1638, 19376, 2668, 9281, 27030, 116759, 1403, -25195, -5, 109, 28339, 24322, 28784, 9856, -1981, 7846, 1274, 1831, 48271, 615, -9836, 4116, 56521, -15598, 1571, -318, 94577, -4003, 29171, -440, 786, 1152, 38890, 77843, 22461, 17968, 1664, 21301, 31, -3389, -5038, 21646, -343, -9838, 238, 1331, -2292, 544, 139, -1371, -318, 20019, 37043, 45517} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-90, -100, -126, -4, -28, -33, -66, -120, -105, -14, -106, -21, -9, -105, -138, -116, -98, -16, -231, -87, -111, -104, -118, -82, -12, -34, -251, -93, -97, -37, -109, -80, -218, 0, -14, -84, -10, -78, -228, -258, -559, -365, -265, -92, -103, -28, -68, -101, -234, -8, -213, -98, -117, -131, -111, -59, 4, -130, -50, -102, -9, -47, -107, -88, -90, -14, -224, -110, -94, -75, -96, -97, -123, -110, -65, -115, -117, -38, -167, -151, -84, -224, -135, -52, -26, -400, -259, -119, -23, -92, -16, -28, -3, -110, -121, -246, -72, -130, -261, -104, -21, -44, -7, -38, -114, -8, -15, -231, -107, -15, -80, -74, -245, -110, -5, -218, -51, -244, -250, -259, -58, -223, -182, -344, -8, -66, -206, -287, -101, -27, -115, -24, -100, -96, -95, -303, -150, -85, -343, -122, -109, -196, -220, -12, -164, -152, -39, -253, -89, -96, -41, 12, -40, -39, -27, -108, -125, -59, -23, -230, -256, -86, -258, -262, -118, -115, -117, -105, -243, -126, -120, -125, -105, -123, -114, -105, -136, -46, -26, -113, -13, -78, 1, -181, -104, -113, -249, -88, -102, -48, -248, -14, -46, 44, -250, -141, -98, -258, -104, -461, -289, -141, -78, -250, -62, -68, -236, -254, -89, 8, -126, -114, -233, -264, -217, -41, -130, -194, -103, -101, -237, -83, -11, -21, -418, -20, -119, -113, -254, -9, -238, -112, -89, -134, -223, -306, -222, -44, -82, -219, -115, -20, -15, -223, -30, -23, -117, -88, -30, -101, -118, -128, -134, -254, -253, -254}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1109096064, 1490565888, 2114423168, 1764458624, 1443600768, 1101487488, 1744509824, 1300672512, 1836098944, 1891076864, 1632288640, 1437531904, 1401780992, 1252490240, 1527026048, 1606334336, 2012975232, 1979196800, 1669303808, 1642509184, 1214938752, 1968132096, 1210102400, 1415601280, 1086291712, 1754697472, 1080868480, 1807154688, 1723580160, 1458776064, 1450785536, 2079243776, 2111103488, 1350560512, 1771498880, 2005673856, 1508533248, 1492254976, 1185962624, 2086971520, 1654824960, 1208756224, 1636932736, 1230845056, 1261784064, 1174667392, 1788112896, 1238785920, 1480603904, 2018189312, 1141357568, 1920168192, 1301688448, 1144278912, 1207619712, 1224648448, 1662612224, 1904162816, 1848532096, 1434835456, 1977277056, 1649644416, 1429963904, 1648744832, 1764075648, 1262277760, 1386682368, 1667232768, 1988427136, 1293886208, 1877749248, 1357582080, 1247629696, 1378168960, 1296260608, 1584519296, 1143404672, 1249058048, 1085581824, 1663014144, 1363932544, 1518623744, 1968287616, 1504552960, 1888903040, 1595900928, 1658190592, 1390850304, 1462619392, 1631284992, 1783792768, 1082739968, 1420836480, 1198242560, 1524700928, 1164105856, 1823666816, 1147685888, 1883590656, 1337377792, 1216928512, 1751595520, 1208998272, 1378849280, 1529207424, 1191911936, 1333350784, 1352430336, 1217144576, 1312894976, 1802350336, 1137584384, 1360757376, 1085133696, 1595303040, 1400769024, 1289245056, 1770039552, 1149887104, 1787241216, 1378913920, 1335580032, 1338980480, 1801532416, 1843317376, 1427755008, 1955107200, 1091322880, 2064675584, 1109530752, 1279578368, 1107124992, 1804469376, 1218108672, 1442283264, 1217420544, 1419271168, 1589920128, 1084094592, 1238702080, 2011159680, 1288317184, 1717494272, 2061593600, 1798905472, 1990225536, 1946372096, 1894039808, 1654670848, 1922613504, 1968055936, 1213762432, 1138288896, 1467494912, 1241024128, 1308274816, 1311734400, 1392531584, 1220066688, 1119991296, 1156263552, 1404520832, 1956799360, 1671564928, 1092163200, 1726937728, 1265081344, 1323729024, 1660109440, 1377712512, 1483394432, 1294573568, 2107542144, 1219056256, 1710007936, 1162256128, 1637565696, 2147091584, 1259468544, 1303207296, 1449852032, 1183715456, 1648789120, 1561867648, 1157210240, 1409136896, 2032380672, 1451688064, 1824247040, 1531368576, 1815376512, 1876021120, 1286515072, 1590858240, 1320269824, 2062230272, 1592163584, 1823733760, 1098692480, 1799562752, 2001581440, 1841848704, 1282796416, 1115047040, 1959008512, 1185753088, 1100282496, 1519405696, 1237203968, 1582146176, 1269410176, 1623728128, 1896513024, 1625607040, 1403993088, 1113859072, 1319423744, 1100983296, 1317551872, 1369721856, 1400594304, 1492080384, 1451796096, 1148973696, 1154497792, 1300540672, 2084710784, 1098335360, 1641299840, 1707627392, 1621966336, 1201702784, 1817971712, 1495936768, 1226494720, 1074601216, 1806132096, 1952871168, 1553455488, 1556287360, 1202487680, 1742716288, 1431443968, 1590972544, 1260319104, 2115964160, 1114289280, 1294745344, 1274474752, 1273190272, 1227839488, 1215016832, 1171199488, 1108453888, 1411303168, 1364726528}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {26968, 11490, 47185, 119792, 10217, -9848, -11088, 16854, 17744, -4363, 27540, -1603, -18199, 125933, 35107, 32203, 32648, 1845, 17169, 38065, 67356, 12428, 65152, -16799, 11310, 28871, 94193, 21538, 21916, 3245, -25434, 60030, 68545, 34425, 24990, 35064, 44433, -17283, 28027, 24734, -3236, 73250, 74395, 47349, 43646, -18912, 5693, 22267, 36925, 31346, 26619, -4582, 91606, -9266, 13, -8742, 5054, 17702, 10020, 10276, -18772, 2296, 23213, -15174, 58791, -4774, -16747, 77032, -25458, 21383, 5153, -19635, -430, 62167, 35410, 887, 35375, -2903, 12829, 93374, -23270, 59540, 7238, 8119, 45985, 23213, 39160, 3772, 26122, 34593, 43035, 27878, 39052, 41398, 18734, 8642, 54541, 10818, 49832, -4741, -2259, 9062, 6923, 23824, -25566, -15989, 42698, 382, 18728, 20132, 26173, -6444, 18345, -6781, -6021, 46218, -12862, 19178, 10252, -22520, 3032, 20447, -21824, 12101, -8959, 19362, 18384, 29170, 11865, 54392, -34597, -4875, 45960, -50399, 17591, 23789, 10518, -951, 6019, 23675, 19128, 31674, -34648, -6892, 31556, 13923, 15365, 52203, 12998, -748, 3337, 5484, 104085, -30513, 87009, 3582, -15549, -18395, 44640, -42126, 28544, -5090, 49186, 55907, -30537, 30917, 18623, 16967, 31444, -15026, -22542, 32615, 21824, 16917, 33358, -1615, 8611, 23640, 40077, 106492, -25426, 30950, -14489, 19630, 14018, 5939, -35047, 61485, -361, 12401, -3714, -6910, -32121, -25995, -28812, -12385, 23073, 42972, 46294, 149288, 25754, 26089, -15100, -18247, 21505, -42310, 17959, 5804, -2140, -1571, 17324, -1987, 78717, -3959, -8870, 53021, 5346, 34731, 40317, 65551, 14360, 31408, -348, -80507, 19862, 65056, 3746, 18555, -29538, 53049, 73683, 10341, 23759, 59276, 62338, 3347, -5810, 12665, -10522, 44020, 29956, 67835, 42545, -12991, 4539, 10813, -15532, 32629, -6401, 3645, 34868, -13652, -1676, 23259, 15141, 71646} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-183, -111, -131, -137, -145, -133, -74, -85, -111, -123, -109, -129, -134, -151, -104, -129, -123, -136, -153, -179, -135, -125, -152, -147, -199, -79, -127, -127, -151, -166, -128, -130, -120, -149, -102, -81, -142, -126, -139, -211, -127, -136, -126, -129, -141, -118, -131, -126, -86, -118, -149, -122, -122, -127, -75, -139, -156, -116, -171, -137, -116, -154, -87, -135, -109, -126, -96, -110, -109, -128, -151, -91, -132, -148, -106, -135, -126, -123, -129, -130, -121, -117, -128, -166, -131, -136, -153, -142, -137, -149, -122, -180, -128, -123, -148, -104, -126, -162, -120, -123, -163, -171, -122, -127, -79, -142, -93, -136, -135, -120, -205, -116, -173, -98, -138, -84, -87, -113, -112, -101, -126, -157, -109, -128, -118, -129, -158, -146, -116, -134, -91, -100, -120, -111, -127, -90, -147, -103, -104, -76, -84, -149, -121, -126, -129, -141, -117, -144, -71, -117, -110, -126, -155, -124, -129, -108, -110, -129, -109, -132, -114, -111, -51, -118, -155, -139, -133, -139, -112, -156, -146, -152, -162, -148, -200, -156, -81, -66, -141, -138, -123, -79, -109, -99, -81, -127, -117, -110, -120, -116, -99, -122, -164, -149, -148, -155, -146, -157, -165, -159, -133, -144, -166, -132, -94, -129, -148, -115, -136, -133, -168, -136, -167, -94, -156, -134, -121, -146, -141, -119, -159, -124, -115, -131, -136, -115, -122, -135, -83, -207, -147, -100, -67, -131, -112, -144, -73, -129, -126, -172, -118, -153, -155, -118, -140, -114, -136, -119, -113, -108, -111, -127, -132, -136, -91, -131}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1587087744, 1439144192, 1230221824, 1693273216, 1579422592, 1292457600, 1100009728, 1223307136, 1881059584, 1793496192, 1222292096, 1641800960, 2114705920, 1703725312, 2082070528, 1228048000, 1389824000, 1729357824, 1556653056, 1971278720, 1371154048, 1253747072, 1271635584, 1417878912, 1536994304, 2114645120, 1190538112, 1700113536, 1401576576, 1540968448, 1536640896, 1931508864, 2091697536, 1318822656, 1683752064, 1441703680, 1140572544, 1685348480, 1694590208, 1680835072, 1611099904, 1145033472, 1949764992, 1873345024, 1283894272, 1499006208, 1493946112, 1199905792, 1534022272, 2116157568, 2035243136, 1358666112, 2094602624, 1851373312, 1405616256, 1833695488, 1474047360, 1684381568, 1502315648, 1928158464, 2010731008, 2018111744, 1175287552, 1694692352, 2143015808, 1984113536, 1148929792, 2048875776, 1162987008, 1270334208, 1196542208, 1628300800, 1550306816, 2036109440, 1548704640, 1807601280, 1779982336, 1879765632, 1252597504, 1226069248, 1766664576, 2108344064, 1304744448, 1119017472, 1213252992, 1729676032, 1421327616, 1129056640, 1530625920, 1672999936, 1144600832, 1992955264, 1486875776, 1676292736, 1144650368, 1088862976, 1486593408, 1460900736, 1707564544, 2137298432, 1520989312, 1353280384, 1282692608, 1687767040, 1621710208, 1147174528, 1507735040, 1247172480, 1831971328, 1531197440, 1724487936, 1368532608, 1437292800, 1124107776, 1346587136, 1391365376, 1337970304, 1312481280, 1578948096, 1093574528, 1282675072, 1620718720, 1377370880, 1748578304, 1293325312, 1309978496, 2026304896, 1131285760, 1406295168, 1452836736, 1603082880, 1439159424, 1145549440, 1791859968, 1375723520, 1889446144, 1706897664, 1305436416, 1532028288, 1298164224, 1133199616, 1084239872, 1073943040, 1774255744, 1677271168, 2125640832, 1510950528, 1706484224, 1514874112, 1882576000, 1622887808, 1669015296, 1964469248, 1073753728, 1840922496, 1380587264, 1248176128, 1160368000, 1223536896, 1800071680, 1122032384, 1830051712, 1286307072, 1160569728, 1120218112, 1159262976, 1655248512, 1922435072, 1448583424, 1288832896, 1748953216, 1183787904, 1179519872, 1086416768, 1225990144, 1158301696, 1382875136, 1873845120, 1362450048, 1080795264, 1284326016, 2074789632, 1393948672, 1240944512, 1784870912, 1649325312, 1484022784, 1133944320, 2072937216, 1642248192, 1124019712, 1276072832, 2125613824, 1846941184, 1815698688, 1347753088, 1725631488, 1509860736, 1298630016, 1920602368, 1200852480, 1109850496, 1303493760, 1900910080, 1608875008, 1625307008, 1233788928, 1733377536, 1340448256, 1377120000, 1328671232, 1466245888, 1858778240, 1304904192, 1165576192, 1132656000, 1471276800, 1440948736, 2050477056, 1634986368, 1399472896, 1601645184, 1402096000, 1463351424, 1787581824, 1992061056, 1442887936, 1331706752, 1541612288, 1441423488, 1471356160, 1209561216, 1563034112, 1339144576, 1637369984, 1412407424, 1932214400, 1711792512, 1843441664, 1727064832, 1850310272, 1524273664, 1673608064, 1717705600, 1228278016, 1102662656, 1785085312, 2083843456, 1766691968, 1144165248, 1854503040, 1526568704, 1348017536, 1609513344, 1538951552, 1276869888}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {-62131, 2329, 15564, -8875, 61477, 3428, 22306, 18100, 15116, 5372, -1880, -13970, -22547, -107, -2680, 62461, 67508, -4258, -10792, 29605, 752, 17356, 3957, 65412, 22306, 378, 5825, -4944, -1620, 90382, -13687, 28989, 17881, 38478, 684, 64877, -12000, 137556, 12608, 37684, -26448, 2075, 7984, -7162, 13969, -25846, -21282, -7641, 8798, -15214, 38152, 95813, 10016, -5037, 1424, 1620, 16380, 4466, -15224, 15033, -5859, 1743, 7103, -4199, 22137, 2435, -12193, 1521, -15735, -14362, -16818, 52458, 18226, 23580, -8997, -16291, 163, -21758, -17768, 3541, 18878, -7711, -20969, 15082, 29600, -11037, -13054, -355, -2421, 20858, -7477, -27982, 46583, 1533, 14741, -13762, 39732, -7063, -2264, -24409, 4806, -720, -9491, 29409, 4295, 16024, 46539, 68, 20634, -2452, 6368, -4369, 2226, 45786, 35081, 8420, -1088, -5348, -6985, 5267, -18816, 6649, 23820, -5040, 14864, 12270, 12269, -19011, -11227, -3727, -7208, -45533, 27352, -13367, 1813, 27977, -7047, 49097, -606, 74108, 45719, -2134, 69, 239331, -2697, -4465, -6931, -9152, -11326, 305, -6666, 44032, 13986, -2835, 24898, -953, 1959, -2651, -4368, -5531, -10431, -9926, 19626, 37210, -5946, -15158, -10623, -2052, -5502, 2049, 15753, 14127, -43362, -3033, 22812, 7399, 33169, 29961, -5262, 46178, -15036, 19382, -11672, 30242, 456, 19087, -573, 167819, -1895, -5261, 26499, -302, -9154, -20960, 3410, -16511, -13314, 90855, 1350, 568, -19, 4275, -7701, 8261, 140036, 9379, 8898, 1315, 3090, 64800, 972, -23317, 10240, -17591, 21739, -12431, 7222, 7035, -2294, -10725, -26859, 8854, 89079, -4305, 13106, 21721, 30072, -12543, 85370, 216, -10142, 14849, 6981, 37568, 29707, -13335, 47825, 38663, 40850, -7221, 2212, 2719, -11406, 15346, 20051, 35458, 22982, -18298, -652, -1487, 2948, -13021, 46845, -16028, 38643, 36706} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {21, -43, -78, -26, -271, -33, -232, -177, -141, -28, -162, 13, 44, -109, -37, -260, -322, -83, 25, -104, -17, -75, -27, -322, -141, -36, -44, -106, -11, -262, 6, -249, -179, -176, -99, -329, -38, -342, -112, -249, 46, -25, -51, -104, -166, 14, 59, -56, -72, -12, -193, -389, -165, 15, -45, -5, -78, -38, 8, -96, 9, -57, -37, -1, -194, -132, -7, -90, -3, 3, 0, -396, -103, -257, -81, 29, -27, -20, 8, -37, -70, -52, 28, -120, -270, 25, -11, -38, -11, -83, -28, -8, -301, -128, -121, 22, -209, 4, -110, -52, -83, 0, -47, -256, -51, -159, -265, -23, -241, -81, -106, -25, -76, -316, -138, -43, -10, -145, 6, -139, -17, -43, -67, -113, -86, -104, -58, -74, -37, -96, 3, 2, -245, 32, -127, -253, -10, -291, -15, -198, -239, -97, 4, -784, -109, -83, 21, -58, 5, -126, -61, -174, -204, 20, -250, -12, -36, 4, -125, 0, -3, 8, -215, -270, 6, 9, 8, 6, -55, -65, -86, -132, 23, -83, -199, -72, -253, -251, -28, -267, 28, -245, 55, -280, -122, -87, 27, -298, -47, -2, -77, 36, 41, 67, -81, 9, -12, -312, -19, -70, -31, -46, 9, -119, -542, -16, -156, -78, -31, -309, -96, -1, -61, 7, -158, -43, -90, -41, -104, -25, 0, -174, -408, -7, -26, -246, -185, 9, -296, -43, -57, -84, -63, -253, -257, 3, -285, -143, -193, -41, -90, -44, -13, -169, -100, -155, -118, 11, 7, -19, -83, 10, -295, -23, -267, -252}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1189050368, 1786415488, 1932253056, 1282452224, 1623289856, 1791333248, 1661200256, 1097303680, 1941473792, 2122321408, 1079379968, 1972156032, 1487755648, 1140116608, 1103203968, 1423234560, 2120098432, 1201800064, 1688325248, 1214082816, 1239015424, 2009168896, 1261653632, 1845826944, 1891265152, 2047051392, 1097541760, 1686374528, 2068035456, 1175892352, 1703922176, 1849240064, 1744946176, 1679722752, 2025726976, 1264368384, 1075917440, 1759028608, 2013458560, 1694966912, 1732061568, 1149342848, 1224487424, 1312480000, 2082342784, 1160458752, 1501410944, 1175950976, 2046651776, 1584068096, 1442325888, 1262100992, 1575362944, 1710836864, 1837007360, 1264967296, 1699367936, 2033525888, 1668238848, 1193938560, 1840807424, 2106623872, 1718099584, 1684001664, 2141266816, 1224705664, 2085521792, 1351159296, 2071910912, 1297121664, 1117874688, 1339249024, 1374896256, 1202999296, 1759825664, 1237821952, 1806811904, 1440170496, 1076143360, 1157893376, 1157450624, 1257142784, 1578806656, 1099761408, 1877108992, 1880436864, 1866322304, 1527980032, 1647512704, 2043176704, 2033439872, 1116788096, 1339877504, 1235078656, 1704267648, 1205199744, 1238842496, 1409187968, 1938762240, 1425136512, 1896628352, 1183667328, 1772350080, 1115430912, 1308025344, 1268459008, 1626539136, 1367290368, 1210394240, 1166551424, 1682419456, 1191445632, 1743159296, 1177193344, 1655002112, 1692130688, 2112841216, 1771154176, 1535995520, 1106938368, 1283522816, 1164732800, 1074402432, 1494536320, 1364275456, 1527476480, 1772944384, 1953717248, 1241955840, 2071970688, 1094433920, 1492961024, 1082084992, 1844236544, 1442783744, 1626579072, 1380647040, 1589242880, 2018860544, 1761187584, 1575544832, 1577553024, 1739058944, 1595323008, 1798334976, 1875214336, 1174401280, 1439229952, 1843767424, 1914669312, 1597899008, 2104967936, 1101210368, 1330643712, 1114713984, 2051831808, 1977256320, 1644703616, 1497700608, 1867634560, 2069978112, 1682024320, 2061218176, 1145626880, 1790158336, 1781799424, 1860067328, 1948031360, 1380582016, 1272590336, 1533723776, 1341915776, 1177113984, 2058401024, 1921680896, 1281611648, 1762621184, 1253320448, 2119391872, 1678643072, 1712093568, 1390290944, 1715437696, 1338376704, 1497602688, 1095890688, 1154197120, 1402646656, 1734180864, 1875507584, 1608278528, 1185233152, 1242558080, 1692226816, 1620512640, 1101695488, 1245496704, 1506159488, 2064680192, 2088540160, 1933424512, 2069369088, 1690618496, 1724655104, 1690694400, 1479878912, 1096514048, 1560329984, 1611244672, 2098531712, 1590002176, 1211899008, 1140550400, 1927204736, 1330605568, 2012300800, 1247612288, 1488039424, 1173494912, 1844542592, 1630872960, 2051709824, 1732832128, 2021442560, 1098951296, 1977468672, 1369264768, 1691832320, 1891359104, 1084070528, 1419931776, 1494900224, 1621586432, 1137927040, 2079657216, 2068801920, 1220663040, 1515058560, 1797528832, 1467372544, 1529083904, 1120221312, 1328600448, 1518922880, 1656662400, 1475684352, 1112163200, 1190678144, 1194304128, 1129201664, 1117642368, 1953045376, 1236128640, 1628724608, 1883989632, 1238529792}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {47835, 10193, -17106, 15669, -8328, 41285, 3212, 26061, 7666, 46878, 5566, 7255, 50941, -14725, -20012, 13287, 13753, -8009, 15220, 18830, 20102, 66059, 3189, 21292, -72082, 10286, 50249, 18136, 20820, -2239, -4668, 60109, -25677, 2426, 11166, 32562, -6071, 51138, -206, -7588, 14421, -10186, 20970, -23563, -3417, -40716, 73426, 28630, -9520, -11218, -524, 7964, 1851, 69851, 8993, -13898, 52720, -24414, 14474, -40346, -28563, 4533, 25491, -11589, 8630, -38660, -13757, -34536, 32970, -24505, -34415, 58745, 30738, -26713, -2779, -4448, -17243, 5544, -18827, 8895, 811, 45732, 17743, 7868, -11537, 7358, -18296, 27391, 29773, 12640, 8877, -53373, 58603, 28262, 5889, 84939, -19390, 51259, 4143, 7514, 17470, -6933, 46395, -1287, 23265, 17259, 15512, -782, 12434, 22351, -15741, 13353, 33307, 45410, -19703, 8839, -9847, 30680, 66603, 12158, 54869, -754, 28364, -10587, -20668, 29649, 75713, 33795, -12754, 27418, 69192, -7237, 4710, -17350, 35010, 76051, 15784, 11728, 8497, 21222, -5036, 75321, -25972, 80304, 53837, 20870, 17942, -26618, -6278, 45277, 13960, 24832, 43981, 4972, 16988, 33183, 21376, -13269, -27642, -16660, 12303, 16444, 4593, 24152, 89795, 39828, 7688, 10711, 50824, 8684, 54375, 4467, 45261, 153738, 9330, 29122, 17932, 39489, 31890, -3131, 19782, 14139, -36003, -17847, 5920, -3429, 57266, 9477, -4041, -13832, 58980, -19248, -17898, -3344, -22499, 6301, 7439, 2010, -7550, 84889, -3682, 15755, 5403, 22026, -5098, 30417, 22790, -34360, -15289, 61026, -12949, 39403, -45667, 21918, -1521, -56327, 35383, -14314, 8875, 76840, 8796, 44699, 23115, -20996, -23003, 25238, 32972, -5892, -5623, 12840, 649, 9957, 247, 31043, -3644, 64875, 86222, 2999, 22954, 7078, -25379, -22393, 6043, 9721, 35600, 93364, 15343, -41400, -13541, 72640, 9768, 14185, -5055, -7141, -26709, -28703} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-103, -109, -85, -152, -150, -157, -120, -114, -155, -106, -125, -152, -129, -118, -125, -106, -128, -127, -141, -170, -107, -142, -111, -123, -152, -147, -130, -112, -105, -119, -123, -133, -134, -133, -92, -161, -127, -146, -126, -129, -92, -77, -124, -107, -154, -109, -132, -126, -98, -135, -126, -128, -103, -108, -102, -124, -125, -108, -109, -89, -110, -126, -113, -127, -89, -103, -97, -115, -104, -102, -128, -152, -93, -125, -109, -134, -107, -106, -125, -134, -108, -134, -150, -114, -108, -116, -129, -122, -126, -107, -78, -111, -100, -115, -158, -145, -125, -117, -134, -156, -149, -67, -159, -183, -120, -125, -137, -90, -104, -94, -100, -150, -145, -101, -120, -87, -113, -151, -164, -118, -111, -115, -121, -120, -123, -126, -120, -134, -144, -123, -162, -114, -149, -114, -148, -142, -129, -128, -143, -107, -86, -136, -148, -139, -120, -100, -130, -102, -115, -86, -152, -114, -96, -128, -108, -91, -90, -130, -135, -125, -150, -140, -104, -148, -155, -114, -114, -111, -156, -132, -145, -136, -118, -142, -131, -107, -122, -120, -129, -157, -152, -141, -146, -106, -106, -112, -119, -124, -161, -116, -160, -73, -134, -136, -116, -111, -154, -98, -106, -113, -113, -101, -122, -139, -134, -115, -118, -98, -117, -88, -130, -140, -91, -182, -118, -103, -90, -130, -111, -111, -123, -109, -125, -70, -125, -123, -97, -125, -189, -130, -127, -130, -151, -125, -119, -133, -109, -111, -174, -100, -122, -117, -110, -162, -179, -114, -161, -134, -93, -100, -145, -149, -151, -112, -124, -149}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1084114944, 1563702016, 1677851008, 1632152064, 1103719552, 1343601664, 1491826944, 1137926144, 1675939840, 1382803200, 1240216064, 1405620480, 2002136320, 1175068032, 1853259392, 1187471360, 1505878784, 1141244544, 1207389056, 1396127232, 1185354624, 1103557888, 1417422208, 2002744832, 2035495808, 2063661056, 1957478400, 1394979584, 1135389824, 1938129536, 1315393408, 2063426560, 1447799680, 1125589632, 1502774912, 1946637952, 1218774784, 1679508992, 2004704384, 1243529728, 1183420800, 1766082560, 1173796608, 1959878016, 1347123840, 1086486656, 1509174272, 1418111744, 1694172928, 1784430464, 1121407744, 1670040576, 2124334592, 2011525120, 1086153216, 1324008192, 1328821632, 1505758464, 1217216512, 1380293888, 1967960192, 1872148352, 1637174272, 1186125184, 2143367040, 1083680256, 1237055744, 1583063808, 1304079232, 1233039488, 1544431744, 1124865920, 1630492800, 1309571072, 1203574144, 1534184576, 1719841536, 1688339072, 1154958208, 1484194432, 1896030976, 1675066752, 1613426944, 1631814528, 1974740736, 2106555648, 1514713984, 1134570112, 1387231616, 1163781120, 1550596864, 1073913344, 1179473280, 1498961664, 1107995648, 1711782016, 1197532800, 1598395392, 1137452416, 1291752448, 1284572800, 1196699136, 2111505920, 1648781184, 2005014272, 1625985408, 1160782720, 1107723904, 1408261632, 1303810816, 1318065024, 1741894400, 1445840640, 1269581440, 1417546624, 1627151232, 1512340096, 1778870656, 1334284672, 1333935232, 1223053952, 1308394752, 1732306688, 1510173440, 1136871808, 1891394048, 1282154496, 1086876800, 1865874176, 1440812032, 1441106304, 1343436544, 1580404992, 1153326208, 1273833856, 1754696192, 1205449728, 1850835968, 1356116608, 1475723776, 1378926848, 1868201088, 1632226816, 1717719552, 1695879296, 1362331008, 1458099584, 1281160064, 1605752320, 1450036096, 1541855360, 1460288640, 1246641408, 1133234816, 1615543936, 1422751616, 1866376832, 1575618432, 1230049152, 1074693888, 1287579520, 1378211456, 1418443776, 1863469056, 1588596992, 1407146624, 1810585600, 1597583104, 1382262912, 1381882624, 1738899968, 2116211712, 1081757056, 1661748224, 1962577408, 2002708608, 1280454272, 1542162560, 1690469120, 1598693120, 1772622336, 1814146816, 1569340928, 1752450688, 2114699264, 2138503680, 1318386944, 1195852672, 1785657856, 1565105792, 1816665472, 1932014080, 1459081600, 1128827520, 1933562112, 1397885056, 1889022720, 1113373568, 1659824256, 1544547584, 1437293696, 1464536704, 1740856704, 1178085248, 1599711232, 1279467392, 1567747584, 1288456448, 1107515648, 1355037184, 1606080000, 1780921216, 1998294400, 1621637248, 1316417664, 2051257216, 1147619968, 1226020864, 1145551872, 1242402432, 1747132672, 1146708096, 1331408000, 1366606208, 1477527552, 1128931456, 1740392448, 1422196608, 1412455680, 1599780608, 1303243136, 1789283200, 1106683136, 1657568768, 1455536256, 1321938688, 1282331264, 1909200640, 1658085120, 1398715648, 1475629440, 1348729472, 1803521920, 1146399232, 1287819008, 1704906240, 1554362240, 1262948480, 1239557888, 1214729984, 1403082368, 1381473024, 1862670464, 1767592704, 1740558848, 1858207872}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-2578, -25344, -2453, 34101, -6922, 84431, -3077, 4, -828, 42791, 23216, 26438, 45985, 165959, -965, -15838, 21783, 104105, -10239, -23058, 47822, 44322, -3849, 15363, -9031, 50284, 13123, -22222, 2895, 33043, -942, 3246, -5500, 97280, -1451, -13213, 148097, 16406, 36426, 23174, -13058, 32996, 24145, -846, -13138, -1897, 1416, 8183, 9704, -1962, 2974, 19835, -14873, 22896, -6952, -2897, -4887, -241, -14427, -15074, -10740, 10711, 33395, -27342, 8295, -1532, 61684, 36023, -19950, -11691, 36547, 19610, 4592, -10081, 63458, -2729, -43748, 57300, 49091, -8105, -7062, -3435, -5183, 8319, -512, 2697, 12698, 106281, 4262, -18279, 57173, 55440, 2132, 23235, -9932, -4415, -16586, 6836, -57835, 81582, 25098, -3681, -1429, -24263, -2770, 30086, 1178, 44526, -7677, 195837, 40, 14, 17805, 25547, 74750, -3245, 32327, -4146, 39890, -1480, 9065, 127, -30404, 69, 145465, 68471, 16834, -4446, -5233, -10383, 31535, 43894, 40567, -11860, 37924, -6894, -11415, -2257, 17881, 55106, -136, 1424, -5630, 16796, 24222, -1578, 25902, -8053, 54983, -24246, -5570, 58557, 34722, -3328, 23422, -8530, 11334, -39530, 31191, 41432, -426, 49312, -3096, 82173, 20639, -9054, -260, 38958, -15025, -501, 52180, 25271, 39520, 24555, 43106, -12491, -323, -12894, 25787, 13631, 7047, -15291, 8574, 122, 77878, -7042, -261, -9256, 155576, -24548, 65582, -12424, -7907, -18006, -2850, -1019, -19810, 11450, 14460, 23305, -13104, 21966, 13604, -3380, 6506, -2537, 41717, 118554, -9124, 56365, -3440, 654, 10780, -5291, -5458, -8439, 2140, 73256, 3545, 29323, -27130, 26272, -2560, 31896, 69900, 28340, 27989, 43971, -8766, -14691, -7338, 39235, 21266, -1043, -3078, 9767, 74855, 67294, -16443, -4812, -33494, -56694, 26242, 101142, -1009, 21994, -21558, 28818, -9315, 2809, -24295, 4589, 50002, 42664, 80843, 19804} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-18, 31, -14, -112, -5, -358, -71, -166, -56, -260, -144, -121, -289, -343, 5, 12, -151, -528, 6, -16, -258, -249, -58, -102, -37, -424, -74, 29, -190, -254, -25, -29, 22, -471, -93, 1, -378, -245, -278, -110, 10, -294, -151, -105, 13, -20, -21, -28, -70, -52, -23, -160, 2, -254, 1, -132, -2, -156, -14, 17, 4, -33, -219, 22, -34, -23, -475, -153, 3, -7, -250, -175, -23, 17, -356, 51, 45, -183, -258, -73, 1, -111, -141, -63, -28, -26, -34, -280, -89, 7, -242, -336, -23, -161, 23, -39, 3, -79, 33, -399, -151, 13, -86, 14, 17, -108, -69, -323, -5, -473, -26, -14, -83, -261, -308, 10, -254, -12, -179, 40, -43, -111, 33, -28, -534, -297, -195, -48, -2, -27, -163, -343, -135, 8, -225, -94, 6, -84, -142, -330, -7, -21, -116, -200, -231, 17, -219, -61, -266, 15, 6, -310, -262, 5, -227, -16, -137, 32, -171, -207, -94, -417, -14, -277, -255, -12, -24, -209, 4, -131, -273, -211, -245, -214, -265, 11, -150, -32, -248, -80, -89, -72, -177, 23, -357, -69, -112, -35, -403, 23, -345, 3, -72, 5, 25, -5, -48, -42, -93, -230, 3, -105, -88, -17, -45, -29, -247, -256, -128, -313, -12, -67, -76, -45, -123, 27, -24, -275, -85, -181, 33, -78, -14, -253, -239, -181, -257, -242, -3, 10, -22, -274, -85, -13, -5, -75, -231, -463, -14, -2, 95, -5, -167, -337, -37, -250, -2, -104, -4, -41, -7, -83, -323, -271, -458, -100}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1759015808, 1818663424, 1176657792, 1597328768, 1125766656, 1650184832, 1214237696, 1227289728, 1481653888, 1447295232, 1753083648, 2112054912, 1129295360, 1368158208, 1849787776, 1129464960, 1078593664, 2042940928, 2081179776, 1073961344, 1815292928, 1516099072, 1983028480, 1322587776, 1685967872, 1147870464, 1497366272, 1967979520, 1138343424, 1519884672, 1277566592, 1148936832, 1640494976, 1683038080, 1962956800, 2016490368, 1442876416, 1142400000, 1249494144, 1917320448, 1745585280, 1419588608, 1316536448, 1107599104, 1705009152, 1674625280, 1094096896, 1189111424, 2087563136, 1169892224, 1334253824, 1135872256, 2102843520, 1256970624, 1116558336, 1107555712, 1688937344, 1920973696, 1171668224, 1867538688, 1133135744, 1244872448, 1576460800, 2093498496, 1093541120, 1277320064, 1717702656, 1444143104, 1830650752, 1085382912, 1306804480, 1178762624, 1543916160, 1426005632, 1418087424, 1763465728, 1805025792, 1450536448, 1417003008, 1502945024, 1769661312, 2057938816, 2078174208, 1646368000, 1969379072, 1945086208, 1116417536, 1915300864, 1753458048, 1659190272, 1358230144, 1333439104, 2014037120, 1782194816, 1845977600, 1768469632, 1088781952, 1367600128, 1387725824, 2068738432, 1206791936, 1413568896, 1257828864, 1338339840, 1306326784, 1794393472, 1679917824, 1972955008, 1802839168, 1084256384, 1959280768, 1711737856, 1192969728, 1977569664, 1816344704, 1996509440, 2112468352, 2130080640, 1306934272, 1575472000, 1260233600, 2104368896, 2103727360, 1430409344, 1284433280, 1194006912, 1104286080, 2059044224, 2000577664, 1087003136, 1313995520, 1922303488, 1792893696, 1798187136, 1754242944, 1187940864, 2109854848, 1228632064, 1743457152, 1312804992, 2007671936, 1115162496, 1200913408, 2084725632, 1250149760, 1269970944, 1611922432, 1772559872, 1506611712, 1247869056, 1752298496, 1394663040, 1893629824, 1633104896, 2074570880, 1616130304, 1881167616, 2134884096, 1978880384, 1600054784, 1502234496, 1461992576, 1761412096, 1644434048, 1441483520, 2017713152, 1565020672, 1680343552, 1794441728, 1180736640, 2021270272, 1663248384, 1159003264, 1230868480, 1387649920, 1648749056, 1417066496, 1529290752, 1522572672, 1485177472, 1972826624, 1908590464, 1487980800, 1629230720, 1165922048, 1208878336, 1421161088, 1258619008, 1569206144, 1155877504, 2043460608, 1080433280, 1132966912, 1104481920, 2065277568, 1693368320, 1893377792, 1346065024, 2131450112, 1980687872, 1303764608, 1302061056, 1421759104, 1159640320, 2141590912, 1907979520, 1418464640, 2058135552, 1391904256, 1134300928, 1703645568, 1545122816, 1144760832, 1397944576, 1250177792, 1709113216, 1147578368, 1617966080, 1403123840, 2005638656, 1305990784, 1666868224, 1697587584, 2094845952, 1345370624, 1832424832, 2135068672, 1421688832, 1507693184, 1501073024, 1108248192, 1868494464, 1896905344, 1999903104, 1371687040, 1833047680, 1937898624, 1099318656, 1261300864, 1939612928, 1294325504, 1382950016, 1128455552, 1548171008, 2121833344, 1307707776, 1455879296, 1878726784, 1086390272, 1282827648, 1725628800, 1465121920, 1389475712, 1355637376, 1530280192, 2014637696}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {-33693, -16352, -4911, 11838, 112367, -14332, -4217, 14817, -12938, 23034, 57760, -5228, -21387, 109724, -12298, 60031, -16565, 42116, -1119, 59651, -10002, -43942, -6760, -5168, -4483, -27468, -21207, 74033, 5068, 19245, 7987, 63663, -16970, -11677, 26292, 38090, 11372, -54330, 58612, 58815, -19043, 97170, 18137, 50169, 84994, 7301, 1151, -36218, -28411, -5121, 4874, 58763, 119367, -51162, 66539, -46079, -32633, -11586, -49858, 40402, 77957, -21266, 36425, 28465, 38583, 4597, 217, -24841, -22188, -1821, 32854, -31205, 4907, -49917, -27426, 50231, 18398, -19101, -8418, -2318, -9818, 3009, 58155, 3779, -5975, -34980, 12733, 180282, -32685, 45974, 37644, -43159, 8877, 122263, -24446, 120903, 46110, -17276, 19044, 49830, -35386, 23093, -38143, 32371, 15330, -49930, 35607, -22496, 6537, 45877, 21212, 123621, 36710, 49724, 33997, 65699, 10840, -26471, 7528, -40014, 32405, -1540, -7458, -22047, 2141, 63942, 33643, 28946, -16491, -7783, 37612, 19259, 19493, -57032, 11558, -6971, 79834, 6099, 8986, 89509, 116699, 63624, -20241, 5260, 44617, 2836, -35365, -2379, -14949, 72012, 38811, -12695, 56150, 19482, 19254, -3281, 98577, -12917, 21061, -13312, -2004, 59959, -15569, -17558, 14069, 40661, 37193, -5492, -35639, 6787, 71652, 18888, -16790, 9129, 20689, -8058, -29316, 90459, -20941, -155546, -42161, -903, 27007, 10475, -39924, 87035, 31186, 22579, 7080, 78, 9039, -8374, -871, 29822, -5753, -15854, 37575, 20133, -66373, -18370, -20418, -2018, 28216, 1154, 75222, -19516, -24111, -9901, 720, 15278, -31124, -10193, 30517, -47606, 10897, 21257, 14821, 32965, -29616, 5482, -28745, 1441, 37721, -1133, 136254, 5611, 43718, -30464, -17602, 12146, 2327, -26467, 33266, 60475, 25670, 33671, -4803, 45001, -6498, -29886, 2800, 75841, 103460, 36807, 74800, -4280, -28572, -49181, -14798, -6141, -9351, -23644, 16141, 3784, -11617, 315} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-118, -141, -143, -157, -110, -125, -128, -134, -137, -124, -148, -92, -125, -128, -136, -136, -134, -112, -104, -122, -110, -121, -132, -163, -137, -121, -95, -144, -89, -138, -132, -112, -134, -123, -126, -130, -116, -135, -156, -99, -129, -150, -92, -122, -159, -137, -125, -151, -94, -107, -109, -132, -129, -132, -128, -106, -129, -118, -111, -136, -106, -90, -93, -105, -143, -127, -139, -106, -106, -81, -98, -151, -86, -138, -146, -105, -121, -119, -143, -127, -102, -122, -120, -119, -91, -161, -110, -121, -131, -177, -140, -129, -177, -126, -123, -138, -105, -164, -99, -146, -125, -141, -146, -97, -100, -119, -130, -130, -100, -93, -112, -141, -88, -144, -119, -130, -92, -106, -157, -128, -157, -130, -107, -117, -103, -136, -127, -122, -122, -132, -92, -155, -148, -97, -89, -125, -101, -103, -139, -145, -133, -121, -136, -109, -115, -112, -142, -128, -122, -108, -142, -116, -127, -128, -112, -120, -132, -87, -115, -132, -104, -128, -91, -149, -123, -120, -117, -127, -119, -119, -124, -115, -134, -145, -145, -116, -123, -127, -119, -117, -124, -120, -135, -116, -108, -128, -129, -123, -106, -103, -86, -124, -90, -98, -116, -104, -132, -147, -111, -120, -121, -136, -110, -100, -123, -168, -127, -108, -120, -132, -128, -120, -101, -115, -89, -162, -147, -115, -125, -71, -89, -175, -117, -107, -152, -124, -148, -130, -148, -112, -144, -106, -117, -130, -114, -139, -143, -167, -95, -110, -142, -145, -130, -136, -149, -115, -142, -129, -126, -118, -130, -94, -110, -134, -148, -107}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1547622144, 1981649280, 1873083648, 1552857344, 1428539904, 1859880960, 1289288320, 2062770048, 1383209088, 1490939776, 1128842496, 1971351296, 1475716992, 1402462720, 1375479168, 1115340672, 1300224000, 1388816256, 1832699904, 1647704960, 2104320512, 1332310016, 1191938816, 2040848384, 1175860096, 1572444544, 1989648768, 1181480064, 1393953280, 1087001600, 1552241280, 1749113088, 1661008512, 1445566976, 1264859776, 1889397248, 1763019264, 1631210112, 1906551936, 1082108672, 1737868416, 1679678720, 1456276480, 1211654656, 1329364224, 2070732288, 1425175040, 1096398720, 2060018048, 1243613440, 1253410176, 1588899584, 1915761920, 1133564416, 1853263744, 1291509888, 1118013824, 1226095360, 1457132672, 1282932224, 1100791296, 1192049920, 1849820800, 1317660032, 1135000064, 1903513216, 1465790336, 1087531008, 1613613312, 1216350336, 1647623040, 2056357888, 1641574528, 1497135872, 1141216640, 1670406272, 1645944576, 1407844992, 1552709120, 1245146240, 1688142720, 2010352256, 1364277120, 1281217280, 1299716992, 1493981440, 1745709312, 1269216384, 1386238720, 1588719488, 1633278592, 1466898688, 1645606912, 1341286144, 1424358272, 1727667840, 1206334720, 1200650496, 1146459648, 1285027072, 1589625472, 2032203008, 1200121088, 1366873344, 1730742272, 1422576768, 1799857152, 1395930240, 1389951872, 1254419584, 1588940672, 2086844544, 1666872704, 1155216128, 1280181376, 1842944640, 1695756288, 1747965568, 1496733824, 1126980992, 1424783744, 1208123008, 1260943232, 1450534144, 1526631936, 1753530624, 1274597888, 1243047296, 1313330688, 1643902976, 1901956224, 1924800256, 1929352320, 1706710912, 1370054400, 1592590848, 1822949376, 2066628224, 1380761344, 1970577536, 1641934720, 1802733696, 1175382528, 1286249216, 1699324288, 1647261056, 1367766656, 1078724352, 1450615936, 1328495232, 2112662272, 1341385600, 1580719104, 1667533312, 1718372736, 1429090816, 1815543936, 1500259328, 1128731008, 1326080128, 1921868544, 1291506560, 1523922944, 1221641344, 1232969600, 1589522432, 1210817280, 1444423552, 1631969664, 1330339968, 1382055808, 1788556800, 1272913024, 1381730688, 1434372736, 1334759936, 1517550976, 1390700928, 1092542848, 1775872256, 1291532416, 1213914496, 1572121472, 1721376128, 2144761216, 1117933952, 1486513024, 2011724928, 1526212736, 1528072832, 1944457088, 1379262464, 2003929728, 1835230080, 2088299136, 1471844480, 1956825600, 1392755968, 2108234112, 1166172288, 1311110656, 1876887936, 1326654208, 1463148416, 1758295296, 1127119232, 1104280320, 1118365568, 2021763328, 1570893824, 1311957376, 1185147520, 1339822592, 1504311552, 1821544064, 1784897792, 1997319296, 2109180032, 1119880704, 1585105408, 1321181696, 1413200896, 1364662144, 1155908224, 1923978880, 1495544064, 1430005888, 1558719616, 1424844032, 1998717056, 1711090432, 1408299520, 1916082432, 1357667584, 1181239808, 1658583680, 1445891712, 1141910144, 1289313664, 1141878016, 1672973824, 1383714688, 1542243712, 1289941504, 2065681024, 1130280832, 1560662144, 1179085312, 1370323712, 1403426560, 1769176320, 1625841152, 1262129536, 1206254336, 1498709632, 1124588288}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-14801, 16600, 91318, 9151, 16111, -3623, -1056, 74324, -2719, -3912, 27571, 34387, -1274, 16532, -9621, -1206, 46040, 19263, 12456, 7962, 9357, -12431, -1402, -23606, -6772, 11029, -14286, 102387, 102938, -588, 20580, 19934, -2286, -26085, -14, 7494, 67910, 25268, 49963, 11083, -10586, -1981, 72213, 2066, 25827, 109711, 49449, -2286, -2970, 3294, 55922, -23861, 32181, -10932, 58146, -1976, -9895, 25090, 34257, 70398, 51565, -48067, 57090, 23183, 69000, 33650, 119889, 2316, -5230, 77717, -926, 20218, 35815, 97700, -4719, 12150, 4477, -1321, 132192, 907, 22369, -11471, -139, -4759, 51485, 62825, -15389, 19157, -25956, 26091, 113956, 168379, 171079, 20209, -16348, 11527, 43347, 24524, 3069, -180, -27755, 38811, -10452, 36342, -3891, -1401, 23844, -4215, 76323, 69388, 20792, 10787, -6113, 117442, 3035, 19958, -3977, -4460, -11718, -3815, 34241, 4744, -2559, -5696, 23454, 53138, 5584, -287, 20891, -837, 34167, 153944, -12519, -10258, 10025, -11742, 13189, -6725, 91779, 18399, 23710, 5405, -6029, 28060, 1582, 6622, -9295, -8104, 129539, 30186, 36297, 120342, 64083, 5713, 9658, -584, -10180, -1438, 28920, -5344, -12398, -3962, -762, 4202, 67402, -1210, 13536, 1834, 175862, 89696, 141, 18772, 132378, 88605, -12831, 30339, -1353, 10253, 21145, -9190, -1823, 40456, -16237, 9912, -1783, 26413, 48131, -13400, 33773, 114092, 25422, 100618, 58653, 53140, 39868, -853, 18644, -9375, -6859, -10811, -3719, 103293, 20123, -1566, 29160, 38068, -3309, -2965, 115142, 19309, 209, -1217, 53011, -21092, -53386, 9359, 55715, 37769, 12401, -1409, -21696, 20962, 7406, -8799, 3438, -1082, 42942, -4364, 48839, -15775, 74484, 6549, -23494, 14677, 7680, 34053, -1847, 53395, 46794, -21564, 19111, 120645, 17504, -2063, -9508, 27050, 16204, -7964, 69970, -7031, 147878, 59477, -1461, 17140, 74884, 54703} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {28, -152, -366, -95, -220, -66, -30, -394, -72, -118, -51, -272, -104, -246, -120, -137, -228, -153, -123, -33, -39, -71, -17, 22, -46, -44, -15, -435, -454, -18, -126, -239, -31, 26, -17, -25, -442, -119, -256, -210, -4, -110, -269, -70, -251, -519, -230, -181, -44, -33, -257, 4, -259, -17, -280, -26, -26, -60, -163, -255, -329, 48, -231, -133, -311, -136, -355, -99, -10, -303, -116, -104, -273, -351, -26, -34, -42, -56, -354, -166, -100, -47, -20, -36, -144, -371, 2, -245, 21, -129, -378, -497, -495, -248, -32, -211, -262, -117, -103, -132, 24, -240, -1, -265, -43, -180, -162, -68, -277, -366, -217, -31, -32, -501, -23, -258, -84, -19, -11, -104, -173, -120, -12, -20, -122, -277, -215, -43, -117, -48, -243, -546, -22, -3, -30, 1, -219, -26, -527, -239, -241, -132, -21, -182, -104, -31, -4, -16, -335, -246, -113, -503, -275, -47, -135, -82, -43, -17, -241, -63, 4, -15, -11, -23, -261, -14, -102, -51, -430, -315, -39, -107, -517, -281, -15, -204, -14, -52, -125, -30, -22, -225, -3, -109, -70, -251, -165, 1, -259, -492, -37, -417, -250, -430, -285, -29, -83, -17, -46, 11, -10, -535, -200, -151, -230, -135, -8, -9, -224, -65, -98, -76, -203, 35, 56, -33, -276, -205, -103, -97, -12, -156, -30, -6, -34, -166, -127, -48, -277, -38, -366, -31, -9, -170, -33, -129, -20, -164, -211, -68, -201, -291, -248, -95, -18, -238, -83, 33, -436, -44, -650, -330, -41, -70, -265, -290}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1733736064, 1589356416, 1252610176, 2052286336, 1620782464, 1816406016, 1748814720, 1176879872, 1295352960, 2116977024, 1342516224, 1670513024, 1382570368, 1486816384, 2007949824, 1520845056, 1470275712, 1296420352, 1095382656, 1943548032, 1143771136, 1930689664, 1928414592, 1152579840, 1207264128, 2090846464, 1209536128, 1303965696, 1295745792, 1456352768, 1075627136, 1999698560, 1161020160, 1496581248, 1813826560, 1768287232, 1505535872, 1437612928, 1172660864, 1475193856, 1621774080, 1219790464, 1435080448, 1106175360, 1681281152, 1790384384, 1938924288, 1154014848, 1713362816, 1623445760, 1280883456, 1891407872, 1178402432, 1978587648, 1298720896, 1373642880, 1394137216, 1266249344, 1512346624, 2017165696, 1238237184, 1710385920, 1494717952, 1202065152, 1134576384, 1434714496, 1318259072, 1308188672, 1657555712, 1999613440, 1164682112, 1768428672, 1296090624, 1566767488, 1445688192, 1893430784, 1838471296, 1628610688, 1341764480, 1954981504, 1300486656, 1660767232, 1405968640, 2133228160, 1257343360, 1850846848, 1643037824, 1160294656, 1531152768, 1550583424, 1108872192, 1566662656, 1300144128, 1365053824, 1115581440, 1466252160, 1199828992, 1811409024, 1124859008, 1610835840, 1634263296, 1102659584, 1381425408, 1863468160, 1116261248, 1238960896, 1309701248, 1547725824, 1779468672, 1920001664, 1985984512, 1980395264, 1662683008, 1870078720, 1138660864, 2136705152, 1598457472, 2046929792, 1250550912, 1928590720, 1134552704, 1308807936, 2067320960, 1121586816, 1954711168, 1221577984, 1139862656, 1142209152, 2047559424, 1124144128, 1078043520, 1409073920, 1387206656, 2141640064, 1257086592, 1532670208, 1220799488, 1289771904, 1717247232, 1604114816, 2038422144, 1770436608, 1120038144, 1779928448, 2132303488, 1575627008, 1760374656, 1694014208, 1690003200, 1500061184, 1903740928, 1768765056, 1654116224, 1913580160, 1585650432, 1630401664, 1784975616, 2066172800, 1188414976, 1537337344, 1950972416, 1739440768, 2041009024, 1604369408, 1719576320, 1673912576, 1256400000, 1094475520, 1994534784, 1153131008, 1480353536, 1959731968, 1599613312, 1369663488, 1236987904, 1168169728, 1860085888, 1923303424, 1405151744, 1480478848, 2104865792, 1500521984, 1130796416, 1459018240, 1619889664, 1500344576, 1595891328, 1885140352, 1763061120, 1957233280, 1919424000, 1114976256, 2034416896, 1769341056, 1806931840, 1203851648, 1616020352, 1278778368, 2086830464, 1872950784, 1648071296, 1862895744, 1884282368, 1852523392, 1861684864, 1099396992, 1893685632, 1882303360, 1935678464, 1433063680, 1474901888, 1223399296, 1347464448, 1239827584, 1211865984, 1973970688, 1446268544, 1623112320, 1128715136, 1580057984, 1360307072, 1356900096, 1461928320, 1221107200, 1182676992, 1620430720, 1199543552, 1322225792, 1254239360, 1698959232, 1168573696, 1177769984, 1260984320, 1116353152, 1216387840, 1735117312, 1472502272, 1212329856, 1609337216, 1131938432, 1499803136, 2080727424, 1522212992, 1743424768, 1265585792, 1316591232, 1432456448, 1424487040, 1363267840, 2087436032, 1229840640, 1686832512, 1919454976, 1263988864, 1288414976, 1301669376}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {-27188, -41396, -31626, -18943, -24708, -53636, -6432, -1373, 26896, 8113, 26668, 49869, -39241, -29, -19516, 5868, 11834, -10439, -3127, -13501, 47635, -26992, -12715, -53540, -1633, 49158, -24189, -104763, 3175, -12308, 13581, 25018, -6718, -7080, -32742, -26188, -24865, -56345, 12557, 2670, 4964, -1236, -79937, 15765, 3802, -30993, 15442, -36873, 19332, -9330, 6189, -11004, -26448, 142072, -10182, 9152, -2663, 18647, -18317, -15900, 37277, -1429, -54543, 4251, -31888, -43940, 12200, -51226, -37110, -62408, -19248, -59138, 15549, 93682, 155649, -5918, -58581, 59937, -25666, 66629, 12090, -19278, -13107, 7179, -18253, -17205, -2836, 28397, -29617, -9578, -4701, 821, -47017, -44210, -74465, -6502, 17464, -13803, 30719, -4804, 30521, 16713, 3000, 93879, -7971, -17302, 21475, 11197, 12607, -26850, 22997, -11179, 1352, 11395, -24771, -23562, 8021, 14167, -47266, 20435, -14962, 87501, -100932, -42856, 8890, -27762, -31265, -52340, 37377, -17228, -8816, 1141, -49364, -26525, -53037, 46625, 7548, -14345, 11308, -35842, -54840, -47562, -25328, -15343, -42735, -43957, -52085, -21245, -29301, -26102, -19190, -22253, -49059, -35104, -27625, -26337, -59546, -14841, 23112, 54124, -39903, 49663, -19383, -54018, -14973, -1652, -45522, -45915, -23911, -42442, -35415, -4499, 10076, -23053, -14811, -16302, -2790, 43313, 5063, 66598, -30763, 62735, 8398, 15975, -47930, -16430, -34673, 62624, 4017, -2644, -49836, -33006, -2928, 31999, 19694, 37683, -6091, -46690, -2911, -40299, -21254, -7276, -39642, 79725, -8538, -10441, 8282, 59341, -18331, 14948, 21582, -13190, -53943, -7790, 29552, 43142, -41545, -14711, 12164, -17198, -54615, -19105, -9132, -17481, -35747, -16598, -60218, -39957, -444, -35523, 18932, -7814, 48659, -8927, -58761, -21509, -14482, -41629, -3674, -16508, -22187, -14208, -20224, -4532, 3891, 82837, -3365, -19393, -55094, -5936, -26551, -13983, -18013, 28806, 6307, -26450} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-123, -160, -115, -112, -151, -132, -137, -120, -117, -133, -145, -137, -94, -178, -129, -166, -104, -133, -151, -135, -136, -86, -114, -140, -119, -153, -157, -91, -116, -136, -118, -161, -129, -116, -112, -133, -97, -131, -132, -114, -118, -95, -104, -153, -132, -116, -100, -110, -141, -130, -88, -129, -140, -144, -112, -137, -122, -89, -101, -114, -133, -130, -113, -117, -138, -132, -108, -109, -153, -114, -97, -112, -122, -150, -127, -130, -130, -133, -153, -137, -155, -133, -137, -162, -91, -112, -124, -118, -101, -118, -109, -99, -127, -136, -109, -108, -138, -128, -120, -153, -122, -134, -147, -127, -141, -97, -198, -115, -108, -138, -148, -121, -124, -83, -168, -140, -139, -91, -140, -132, -146, -123, -115, -120, -108, -112, -101, -122, -146, -171, -122, -160, -92, -132, -94, -118, -96, -84, -121, -101, -116, -138, -121, -149, -116, -116, -136, -122, -98, -111, -101, -131, -102, -117, -117, -105, -104, -136, -149, -149, -105, -136, -78, -123, -107, -131, -118, -92, -150, -144, -128, -181, -147, -109, -101, -116, -105, -96, -148, -134, -88, -83, -127, -151, -98, -111, -131, -98, -159, -99, -128, -133, -124, -157, -186, -114, -124, -104, -129, -102, -108, -114, -148, -111, -121, -106, -128, -113, -106, -178, -126, -128, -120, -128, -118, -138, -124, -120, -89, -153, -125, -132, -165, -126, -102, -165, -114, -122, -100, -131, -166, -123, -125, -128, -144, -126, -110, -112, -154, -111, -101, -136, -138, -119, -122, -143, -85, -126, -128, -106, -121, -99, -96, -117, -113, -127}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1200189056, 1349356800, 1682609792, 2040035072, 1286548352, 1802828800, 1353960064, 1621661696, 2118165120, 1503419648, 1161277824, 2027098752, 1618846848, 1609270528, 1868543488, 2109064064, 1799001984, 1557531008, 1494171008, 1585494272, 1129389440, 1857714688, 1636165504, 1558265344, 1621174528, 1243722112, 1519561472, 1454474496, 1125143808, 1361629312, 1255017088, 1141881984, 1550588160, 1466116736, 1407494784, 1515261696, 1623326464, 1439820032, 1151008640, 1447964032, 1278190336, 2022795264, 1512618624, 1392241280, 1280883584, 1461668992, 1709353088, 1716512512, 1991311872, 1722704896, 1676845312, 1641450496, 2019899392, 1800104064, 1659865728, 1717284352, 1143323520, 1159737472, 1998646400, 1747321600, 1258582912, 1199086336, 1237083392, 1690303104, 2062889856, 1882451456, 1130453120, 1532458368, 1274661504, 1909010816, 1560707584, 1462070656, 1839387392, 2107755392, 1652474752, 1823475456, 1464552192, 1103653504, 1206670976, 1150000256, 1814292096, 1564459392, 1096731392, 1281233280, 1549372928, 1485461760, 1087632640, 1304381952, 1247392128, 1755259264, 1982503808, 1921668224, 2066898688, 1508545024, 2117956480, 1319687936, 1221279232, 1891561344, 1322566144, 1397691904, 1460175360, 1856054528, 1537995264, 1103676544, 1595659776, 1246733184, 1478809728, 2110573312, 1758189696, 1350124160, 1102575616, 1309392896, 1164357632, 1982581504, 1860652160, 1321912320, 1543147264, 1739515392, 2138876672, 1881249280, 1150341504, 2059093248, 1831317376, 1426732672, 2113512960, 1114006400, 1265508480, 1368345344, 1273612416, 1234198784, 1197288832, 1114314240, 1722378112, 1707934976, 1466224128, 1363101184, 1744284544, 1530444928, 1178010624, 2072089984, 1170060800, 1627359616, 1271861248, 1207684352, 1690501120, 1343179648, 1346110592, 1753595776, 1409402752, 2135260928, 1676406528, 1378724480, 1431159552, 1872822144, 2126226944, 1326027264, 1582663296, 1505543808, 1099733248, 1577000192, 1535241856, 1567764608, 1691252864, 1265750528, 1981588608, 1677076096, 1397160192, 1190852608, 1304416128, 1517469696, 1474834432, 1093846912, 1234234240, 2030114432, 1396336384, 1636857088, 1917895424, 1084274944, 1335783168, 1321908352, 1847817344, 1954510080, 1353039872, 1500478976, 1580067968, 1508206464, 1228508672, 2060729728, 1583209728, 1580843648, 1645820672, 1196402688, 2072325888, 1384579200, 1098457344, 1915927680, 2099907968, 1088708352, 1311818880, 1785275520, 1171316608, 1302611712, 1093721088, 1591104256, 1422057472, 1241489152, 1258521856, 1400505984, 1335045248, 1377256064, 1495070208, 1742709760, 1229942016, 1524478080, 1943068544, 1507300992, 1245866880, 1112903424, 2104359168, 1148902272, 1576325248, 1322653568, 1215726592, 2056628096, 1811104768, 2072501632, 1184755840, 1199790208, 1780968448, 1522610048, 2067628672, 1528513664, 1705938560, 1410844160, 1639870208, 1319182336, 1145008768, 1383310080, 1708984576, 1483593856, 1543919104, 1733259392, 1487374208, 1337239424, 1746851072, 1333653632, 1162933632, 2072313344, 1578304384, 1590657152, 1571138432, 1488679680, 1901198976, 1317305856, 2110429184, 1909404160}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-7029, -21, -12005, 92720, -10769, -5279, 116969, 21780, 353, 7967, -7973, 23707, -4088, -9030, -2846, 3659, 34476, -23428, 91819, 84012, -14497, 1268, 91595, -5491, -5779, 36685, -7440, -3952, 138498, -12358, -1246, -1990, 129687, -3114, -8794, -18207, 919, 100858, 80363, 70688, -2479, 90990, -4105, 17959, -379, -7028, -15541, 13287, -15417, -16624, -2227, -9977, 7268, 127566, 131211, 28207, -2457, 167055, 818, -3481, -5880, 108630, -5515, 158600, -15197, -8489, 123940, -4789, -2928, -16095, -3632, 514, -8297, 79432, 20726, -3135, 241333, 60532, -16424, 16896, 92778, -13712, 85748, -491, -1682, -5207, 29895, -11564, -3021, -6045, 96968, 73830, 11399, -3110, 43160, 62130, -13488, 4887, -18229, 64769, -4320, -19055, -5652, 37909, 97730, 72057, -9566, -9402, 27411, 133149, -62581, 4219, 51104, 102503, -11480, -5194, -1523, -880, 98811, -30390, 18956, 17880, 117712, 100718, 59353, -9127, -6678, -1898, 32891, -14034, 179942, 61244, -1095, 34222, 12686, 38317, -18456, -9638, 87773, 1714, -3371, -4629, -5082, -1516, -4783, -9922, 90634, -10834, 55960, 124113, 124854, -8774, -848, 75341, -2743, 49984, -14419, -3311, -13167, 40815, -16769, -202, -4229, 181342, 65130, -1007, 133902, -10709, -1142, -752, -11060, 79924, 12566, -17968, 11750, -17527, -3337, -8381, 13312, -4982, -12351, 32482, -10798, 1239, -5564, -3783, -9271, 36925, 26989, -8807, -481, 1544, -19476, 68182, 16785, -6008, -2684, -11006, 1545, 3639, 80121, -2249, 9323, 31157, -3604, -1911, -6443, 44765, -103, 19797, 15873, -25180, -11568, -8955, 21424, 34312, -3320, 114441, -4793, 1609, 80793, 258462, -8999, -8980, 104470, -12387, -8695, -7420, -2456, -5640, 23880, -6817, -13429, -131, -2311, -2372, 127862, 37946, 88576, 23408, 112252, 137516, 69064, -4212, 54733, 33525, 113593, -7640, -13367, -4080, 104924, 90135, -5752, -14971, 157282, -10292} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-77, -22, -37, -289, -21, -4, -452, -138, -147, -58, -2, -231, -6, -110, -53, -21, -125, 9, -296, -277, -1, -136, -274, -106, 7, -266, -25, -31, -397, -54, -42, -56, -475, -13, 1, -56, -40, -326, -407, -285, -51, -296, -48, -121, 28, -65, 11, -97, -13, -40, -29, -30, -67, -255, -496, -248, -22, -600, -130, -21, -24, -567, -42, -536, -25, -29, -359, -36, -43, -67, -16, 79, -4, -321, -217, -9, -614, -301, 15, -184, -387, -41, -280, -53, -90, -18, -164, -19, -10, -41, -470, -296, -113, -24, -198, -263, 10, -89, 12, -282, -103, -60, 87, -253, -273, -285, -57, 9, -79, -324, 21, -84, -235, -419, -18, -31, -27, -33, -279, -12, -112, -76, -463, -301, -279, -5, -3, -22, -216, -24, -645, -247, -8, -191, -175, -139, 4, -89, -364, -132, -28, -21, -15, -16, -25, -40, -285, -15, -278, -314, -340, -14, 25, -338, -67, -331, 29, -10, -44, -285, 11, -40, -12, -501, -282, -20, -341, 48, -37, -31, -12, -220, -78, -10, -155, 61, -43, -31, -78, -8, 14, -188, -26, -23, -58, -39, -17, -253, -221, -5, 15, -109, 0, -335, -104, -103, -13, 8, -19, -77, -347, -28, -149, -162, -45, -10, -12, -280, -125, -106, -237, 12, -12, -35, -148, -257, -31, -416, -34, -71, -451, -633, -77, -19, -405, 4, 6, 3, -18, -56, -137, -7, -41, -4, -16, -23, -426, -225, -373, -194, -518, -489, -415, -18, -282, -263, -386, -8, 59, -15, -266, -424, -28, -16, -616, 7}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1810962816, 1156387712, 1811832832, 1304647680, 1202204288, 1093196288, 1167595904, 1269054720, 1449573248, 1135083392, 1102020736, 1252506496, 1871101952, 1517294336, 1170022528, 2104278400, 1779215872, 1563851520, 1909609344, 2076073728, 1267827200, 1840954496, 2066050304, 1848904192, 1564415488, 1261586688, 1220731392, 1205277312, 1803119488, 1082178688, 1371862272, 1296312576, 2064105472, 1253163392, 1327995136, 1307066240, 1402964224, 1399125632, 1723737344, 1191537920, 1124311040, 1958443904, 1520794240, 1995397504, 1531981312, 1409661312, 2058376192, 1094089728, 1283112960, 1123201280, 1953862144, 2091643008, 1259114368, 1487072128, 1079026816, 1626475264, 1165959040, 1560141440, 1323613824, 1244967808, 1934230656, 1931562240, 1378274304, 1750467456, 1162897408, 1363962240, 1516215424, 2145031552, 1805216896, 1223729024, 1487329920, 1553473920, 1316068352, 1909524224, 1563069312, 1778337792, 1111036032, 1906385024, 2088099328, 1679139840, 1743909888, 2042853120, 1974146944, 1792349696, 2106888704, 1207019648, 1214770048, 1593383296, 1770744960, 2045725824, 1487820288, 1365453824, 1311231232, 1628540928, 1998569856, 1811182208, 1753385600, 2044146176, 1989802240, 2055191168, 1391197312, 1144273408, 1275822208, 1207159808, 1396328320, 1146430080, 2013901056, 1930420480, 1616906496, 1875643648, 1744845184, 1145596032, 1347140992, 1183312384, 1317337856, 1834932352, 2110229120, 1215656704, 1515534592, 1103730176, 1467274624, 1617090048, 1388178304, 1268045696, 1792614016, 1150203008, 1651300864, 1136512512, 1309572352, 1250924032, 1683193344, 1327764352, 1627461504, 1794668288, 1932276480, 1564530688, 1295783296, 2137150464, 1536131072, 1192467456, 1996358016, 1805670912, 1290823808, 1116472960, 2044738304, 1549984256, 1308655488, 1598134912, 1392940928, 1317234304, 1861010944, 1651132416, 1979630336, 1666817792, 1445702400, 1904423168, 1656532480, 1111670400, 1759718144, 1988521088, 1566973568, 2070285056, 1090504576, 2003837184, 2111642496, 1152973184, 1455705984, 1366334336, 2091710336, 1866034688, 1877734144, 1395726720, 1200695296, 1329882240, 1185768576, 1185322112, 1658404224, 1412918528, 1168546560, 1990414848, 2040721536, 1823481728, 1156892544, 1127431680, 1316838528, 1077369472, 1953817088, 1152629248, 1151898240, 1673354112, 1149592832, 2125835904, 1338093312, 1765258496, 1146034432, 1489716352, 2106439040, 1203896064, 2002969216, 2007800320, 1993201792, 1194764416, 1536884992, 1915769088, 1180955520, 1811401088, 2062593280, 1637397888, 2045999360, 2062011008, 1653235456, 2107707648, 1297389568, 1349774592, 1587869824, 1663592960, 1806759040, 1333861632, 2111434880, 2049161344, 1439053312, 1440368384, 1263842816, 2142169344, 1859896448, 1251054976, 1839706752, 2002936960, 1139630336, 1239437184, 1771456768, 2013575552, 1766192896, 1808241152, 1331289088, 1283979008, 1282307968, 1131166336, 1376994688, 1523329280, 1976398464, 1739554688, 1629190784, 1181197696, 1365871744, 1663219840, 1378872320, 1999165952, 1556669568, 1089041408, 1605246720, 1378891136, 1379031936, 1365718016, 1614461568, 1428819456}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-18335, 2134, 52060, 1732, -17568, -44258, 65445, 85786, -19071, -5282, 22488, -31095, -44609, -324, -38103, -76271, -2420, 42562, -11120, 38321, 25910, -32008, 27836, -70053, 20536, -48024, -29817, 42571, 158014, 81765, 25274, -41685, -54166, -14905, -1928, -18100, 6063, -1424, 26038, -45475, -800, -32163, -8046, 39812, 12148, 58079, 16193, 20285, 92920, 22744, -11034, 20590, 56854, -29712, -63852, -58115, -10584, 90306, 8892, -25536, -13987, -6185, -4583, -25246, 4981, -22955, 7777, 63786, -635, -45457, -3505, 62590, -21071, 5666, 30554, 68100, 75950, 9323, 55907, 13984, -34980, 13477, 50866, 2869, -39276, 22187, 13742, 8005, -57056, 107410, -78846, 63461, 38094, -16488, 40580, 22043, 74124, -16711, 21765, 54001, 12135, -2204, -8567, 848, 1560, -4887, 1877, 27705, -47742, 20906, -10044, -41554, -34277, -28072, 39063, 56338, 69590, 17664, 43988, -26883, 45230, -4944, -16922, 93010, -3960, 30916, -10760, 7286, 18085, 57470, 28550, 1249, 2293, 56582, 5412, -14103, 55349, -19255, 16608, 27478, -20889, -12966, 25858, -6338, 4967, 81852, -16978, -19146, 14407, 32386, 9261, -5754, 6919, 42025, -51021, -34741, -54798, 35544, 16504, 55669, 18359, -15561, -14507, 1710, -23960, -4997, -10213, 39022, 17485, 859, -28147, -28697, -11821, 42565, -32632, 2340, 24394, 68931, 20760, -15236, 15232, -2636, 71581, -44935, 23713, -45223, -21269, -9026, -21986, -699, -28705, -1353, -1835, -27957, 16793, 57939, 44316, 40086, -18824, 13604, -36535, 2781, -5864, 78275, 7722, 67889, -57486, 108821, -16839, -30850, 16865, -55107, -17845, -42527, 62059, -36878, -5807, -22648, 5971, -37, -33875, -1831, -27706, -19331, 2299, 5783, 27184, 36635, 20533, 229, 23073, -5567, -24055, 38661, -9454, 79471, -9325, 15570, -16014, 4952, 32518, -68785, -57446, -38954, 18096, 99189, 75330, 25442, -31008, -5768, 41687, -9243, -16925, -3237, -7770, 16621} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-102, -121, -123, -143, -109, -108, -120, -125, -121, -112, -163, -112, -133, -149, -138, -137, -120, -113, -157, -154, -128, -125, -115, -100, -142, -100, -126, -134, -105, -137, -105, -130, -76, -159, -110, -88, -135, -121, -149, -115, -142, -116, -118, -145, -102, -143, -128, -129, -107, -120, -128, -135, -141, -149, -114, -129, -101, -123, -133, -143, -103, -141, -98, -121, -71, -127, -127, -147, -116, -138, -129, -112, -124, -141, -145, -120, -135, -112, -119, -119, -135, -124, -130, -131, -137, -86, -111, -113, -134, -121, -118, -139, -121, -118, -102, -119, -131, -116, -139, -115, -146, -121, -129, -122, -103, -149, -131, -145, -113, -134, -126, -112, -114, -116, -145, -128, -114, -122, -146, -102, -105, -143, -103, -141, -109, -139, -121, -169, -137, -136, -126, -170, -157, -142, -132, -109, -138, -130, -103, -130, -175, -125, -146, -114, -111, -154, -107, -143, -126, -129, -121, -132, -127, -131, -124, -131, -114, -122, -131, -118, -143, -90, -153, -122, -140, -115, -132, -137, -117, -120, -158, -134, -125, -182, -98, -158, -91, -132, -114, -128, -131, -136, -145, -118, -155, -119, -140, -154, -142, -137, -117, -118, -85, -152, -133, -114, -147, -120, -104, -111, -123, -156, -115, -112, -119, -118, -115, -119, -88, -128, -132, -146, -144, -118, -100, -112, -134, -119, -126, -112, -125, -83, -88, -63, -127, -106, -137, -106, -146, -147, -129, -133, -99, -163, -118, -103, -103, -143, -139, -129, -150, -124, -130, -114, -124, -118, -109, -145, -129, -117, -131, -104, -152, -146, -117, -137}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1457584256, 2045118976, 1202879232, 1136369024, 1428851072, 1442526848, 1186156160, 1406803840, 1255563136, 1536461568, 2034434432, 1348683904, 1430482176, 1432441600, 1286551040, 1265446144, 1676047872, 1267960320, 1783674624, 1369043200, 1422046592, 1231603200, 1818054784, 1378396416, 1510011520, 1781153408, 1237410048, 1636027392, 1815769984, 1311090048, 1174183680, 1474861184, 2023999360, 1220137472, 1632770560, 1869113088, 1586497024, 2089345536, 1292681088, 1218518272, 1379080576, 1575778432, 2129924096, 1496301824, 1697572096, 1455156864, 1228845184, 1334172544, 1167626880, 1553087360, 1538360192, 1397804288, 1489767552, 1254206464, 1338296576, 1300579072, 1630502784, 1839811072, 1361108096, 1464428032, 1729832064, 1250707072, 2135267200, 1508542720, 1935117824, 1714070016, 1459806976, 1333940352, 2064285824, 1461337856, 1397591296, 1679256960, 1709350144, 1608667776, 1296750464, 1129065088, 2037107712, 1396971392, 1116683520, 1683938048, 1456867072, 1303406976, 1288841856, 1819411968, 1245727872, 1516377856, 1854129152, 1783208448, 1703326976, 2049321472, 1123940224, 1551565312, 2026159744, 1187576448, 1300868096, 1421295488, 1906930816, 1384913536, 1300372608, 1386865792, 1390119296, 1441732224, 1489977984, 1414124416, 2049924736, 1247315072, 1153911552, 1536016256, 1735410816, 1479796992, 1408334976, 2019002752, 1554362240, 1350998784, 1137928576, 1355804544, 1203581824, 1941984640, 1270416768, 1611741568, 1536495232, 1352647680, 1847077632, 1978938880, 1474079744, 1175950592, 1333872768, 1510285568, 1205536384, 1095390592, 1499957760, 1964302720, 2078603904, 2090329344, 1467415296, 1797919232, 1187992448, 1681742848, 1503053824, 1173996544, 1668289024, 1402423168, 1474249344, 1562302080, 1435476864, 1932878848, 1649576320, 1127527168, 1654655232, 1191135104, 1089872384, 1162435072, 1560148352, 1358073856, 1703613312, 1985847168, 1333055232, 1628011008, 1445039616, 1504345344, 1457179136, 2029128192, 1276112512, 1278300672, 1631282176, 1748855680, 1449598720, 1365223424, 1625790592, 1464099712, 1294482048, 1493466624, 1493707520, 1755275520, 1539056384, 1567024512, 1575328768, 1489844352, 1824812160, 1261549440, 1483226752, 1699873280, 2073771776, 1404284288, 1267808768, 1901923584, 1622001920, 1552947968, 1590248576, 2000658048, 1577512448, 1600583808, 1622436608, 1678787200, 1278443008, 1446538496, 1385953792, 1284059904, 1175941248, 1914366080, 1397787264, 1768020736, 1521886080, 1473598976, 1115592576, 1574255488, 1303116800, 2068516992, 1075712896, 1133907968, 1384154624, 1574655872, 1935121792, 1256146560, 1258417536, 1248401536, 2085602560, 1314937984, 1410046208, 1866335360, 1627739136, 1906092672, 1577999104, 1654006400, 1388551936, 1217209088, 1566207744, 1654569856, 1296973824, 1533845120, 1921109248, 1912492672, 1389340800, 1881296512, 1370819968, 1415614976, 1382928768, 1667315072, 1900154240, 1178403584, 1511763072, 1729984896, 1118860032, 1345171456, 1784667008, 1186616064, 1717117440, 1269066624, 1502079232, 1138468992, 1634135168, 1647800832, 1883454464, 1498751488, 1185345536, 1431709952}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {4726, 73524, 134412, -6656, -710, -72, 85932, 85309, -2589, 43036, 114748, -349, -807, 121441, 129366, 135037, -36297, 78716, -1107, -259, 201738, -415, -35116, -1129, 145048, -417, 145192, 192744, 2675, 146831, 118441, -1277, -668, 166513, 179907, 1421, -2268, -17455, 125114, -726, -594, 4155, 43800, 165084, 104942, 107003, -201, 37550, 98263, 1123, -634, 87409, 13, 135007, 889, 168851, -532, 81049, -111, -3920, -598, -846, -10836, -290, 51623, 141532, 97810, 104553, 13948, -547, -683, 61388, -198, 435, 95760, 87424, 78835, 193617, 59755, -6544, -153, -774, 119990, -779, 27, 110224, 122362, 139249, -519, 77896, -83, 72939, 150754, -993, 102821, 94528, 86064, -1053, -762, 74880, 120372, 1709, -963, 5486, 4816, 6440, 47422, 187144, 24898, 180685, -571, -6296, -954, -1150, 84955, 81647, 78111, 84866, 15749, 176895, 73599, -633, -488, 68825, -3947, 86099, -559, -542, -769, 96527, 82887, 145582, -98, 87255, -260, -770, 63348, -1857, -938, -921, 78583, -867, 155557, 22469, -494, 64939, 131566, 82, 104708, 149542, 7, -753, 122577, -764, -593, -10578, -511, 197266, 2742, 77837, 148985, -302, -1068, -16456, -2633, -972, -908, 92679, 175583, 2817, -8247, 145366, -720, 27695, -20, -470, 32385, 95763, 28723, -214, -524, -925, 68304, -309, 4087, -397, 176547, -778, -353, 132520, -574, -500, 102023, 159549, -1450, 104721, 192894, 173543, -1082, -1637, -1859, 121001, 1748, 79251, 168218, 121743, -668, 64918, -282, 173144, 71973, -293, 3918, 3159, 67149, 141765, 109167, -32, -585, -97, -1047, 536, -566, -829, 130330, 155577, -2174, 98422, 125656, -104, 107870, -527, -547, 72825, -339, 76996, -610, -337, 2307, -626, 45224, -1550, -627, -584, -758, 74582, 28721, 136414, -542, 4983, -53452, 212133, -2201, -254, -397, -505} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {47, -269, -289, 106, 59, 31, -284, -292, 37, -211, -265, 82, 52, -407, -330, -307, 75, -266, 39, -122, -320, 37, 84, 25, -334, 48, -309, -319, -84, -274, -338, 45, 45, -329, -311, 39, 45, 93, -297, 54, 50, 72, -356, -314, -312, -282, 43, -174, -267, 40, 30, -316, 9, -282, 44, -287, 56, -264, 65, 92, 50, 47, -7, 57, -306, -306, -299, -282, -100, 38, 60, -263, 23, 29, -285, -279, -244, -343, -258, -92, 51, 50, -275, 42, 7, -305, -270, -293, 74, -252, -128, -264, -346, 56, -268, -275, -284, 33, 30, -268, -304, 51, 59, 46, -110, 27, -148, -311, 20, -320, 24, -33, 56, 43, -282, -264, -253, -318, -122, -320, -279, 36, 59, -255, 45, -297, 75, 38, 47, -288, -271, -328, 72, -262, 50, 55, -238, 94, 42, 35, -343, 21, -322, -92, 60, -238, -313, 61, -295, -267, 54, 59, -329, 35, 37, 65, 67, -325, 45, -271, -331, 45, 42, 71, 62, 57, 32, -291, -307, 55, 38, -322, 39, -113, 62, 58, -125, -249, -101, 20, 68, -149, -247, 48, 41, 42, -264, 45, 45, -302, 73, 56, -340, -300, 29, -254, -309, -298, 56, 41, 31, -279, 37, -261, -289, -264, 65, -257, 37, -311, -291, 48, 24, 83, -262, -327, -324, 33, 43, 44, 52, 30, 37, 47, -427, -285, 77, -296, -346, 39, -308, 63, 53, -254, 28, -262, 52, 35, 64, 49, -171, 59, 37, 31, 52, -280, -132, -283, 57, 37, 105, -310, 75, 37, 61, 27}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1329445120, 1146033024, 1946811136, 1234218368, 1544992640, 2110352256, 1815417088, 1930179456, 1691820544, 1122343808, 1625584768, 1164076032, 1805504384, 1503166848, 1101749888, 1119057408, 1137068928, 2003890688, 2017785088, 1981153024, 1962384256, 1820755584, 1470896512, 1461216384, 1575304704, 1110045568, 1969369600, 1495526016, 1438523776, 1998743424, 1329353728, 1239227648, 1788826880, 1563270144, 1867300352, 1474996096, 1589430656, 1896951808, 1651382016, 1866171008, 1519390976, 1361636864, 1285169536, 1170855168, 1573828608, 1501353856, 1568872448, 1220212224, 1933548416, 1238339456, 1806350592, 1535265024, 1629746176, 1659738240, 1686344448, 1817408768, 1352356352, 1246827008, 1221393152, 1428469504, 1548624640, 1720607232, 1755278336, 1567328768, 1175342976, 1090885248, 1486329344, 1760292224, 1327301120, 1612436224, 1753151488, 1518354688, 1808281344, 1296300032, 1729291904, 1906016256, 1176795264, 1941152256, 1286635648, 1502824704, 1973608576, 1707814912, 1730965120, 1812304512, 1859260672, 1452217856, 1384134016, 1332245504, 1641463424, 1239794432, 2051988352, 1276754944, 1338996608, 1434750464, 1797605632, 1517126784, 2025061504, 1442786560, 2111574272, 1156651648, 1793148416, 1584920960, 1163869440, 1397944064, 2054421632, 1420331264, 1510118400, 1332224256, 1451468416, 1740105856, 1802969472, 1659332224, 1181647872, 1465678848, 1999074688, 1980058112, 1120313600, 1485188096, 1669074176, 1528422016, 2135992192, 1778234752, 1681182464, 1347229824, 1189161344, 1958892672, 1438563456, 1098053376, 1592227456, 1872617472, 1561456640, 1441444736, 1556610560, 1106243456, 1649092096, 1552846336, 1482264448, 1595340544, 1712430464, 1598488192, 1808168192, 1596015488, 1542981120, 1784665216, 1771108352, 1577874048, 1277445632, 1362525568, 1081400832, 2012350848, 1616897280, 1704728064, 1245918720, 1377162624, 1986098304, 1819302912, 1915201664, 1566552704, 1475980672, 1236945664, 1529650816, 1183484928, 1713796864, 1243187712, 1971787776, 1427118336, 1487927936, 1493383680, 1794435840, 1394482816, 1155378944, 2031167744, 2114713856, 1511677696, 1645200640, 1620686848, 1783268864, 1578150400, 1317983744, 1893319680, 1851948288, 1691367040, 1523277056, 1881225984, 1838274432, 1193669760, 1775737344, 1982914048, 1848084608, 1340038656, 1167795840, 1467264640, 1780472192, 1112955392, 1381946240, 2046846080, 1686052224, 1674567040, 1372810112, 2095685760, 1594281984, 1110523520, 1141672064, 2000733312, 1782221696, 1572111232, 1570244864, 1406387328, 1272653952, 1587697536, 2036459392, 1106421120, 1683861376, 1449430784, 1533678208, 1204306432, 1250392320, 1426984192, 1853111168, 1358123008, 1750313856, 1368495872, 1207803392, 1627075712, 1095544832, 1788684544, 1187753216, 1273484672, 1198249856, 1529323520, 2140943232, 2118486528, 1812025216, 2110428672, 2065768704, 1919608448, 1682474112, 1409793920, 1760257024, 1361396224, 1354720256, 1296859776, 1986029952, 1974537216, 1765652608, 1993382400, 1450752896, 2113850368, 1875264512, 1722062336, 1409508224, 1573225344, 1820830720, 1550804736, 1959788032, 1486441216}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {18026, 2042, -53177, 33522, 46611, 78811, -26302, -29507, 53979, -14046, -27308, 12367, -181, -14490, -21095, -65033, 15890, -35298, 16622, -7217, 1627, 37646, -14291, -22649, 6055, 8828, -42110, -16138, -33684, 6122, 70, -542, 5092, 23679, 61842, 2592, 12640, -66052, -41134, -31055, -34655, 38093, -48461, -12324, 48116, 9081, 21952, -63049, 61708, 1634, -15856, -8647, 51549, -989, -47473, 35658, -3515, -6037, 12292, 11280, 23217, 37224, 57137, -6442, -23629, -29593, -43765, -99, -17124, -20675, -43504, -7359, 27002, -13822, -41114, -62787, -24750, -4698, -26441, 32552, -60648, -80588, 15988, 17673, 715, 12756, 29650, 13387, -3154, 66930, 31385, 56514, -7413, -30845, 41490, 12867, -50346, -47320, -22753, -12728, -27172, 32596, 11913, -58601, -40980, -13494, -1307, -25481, 36901, 21263, -11823, -30370, -29783, 77704, 14950, 36641, -19238, 57429, -33052, -5474, -3264, -1496, 13517, -14245, 16133, 32437, -740, 3813, 2094, -84852, -21967, -1361, -20223, 2932, -25916, -20604, -41852, 7412, 279, -31248, 5757, -69877, 21974, 24313, 6893, -10927, -45028, -23454, 6879, -44037, -3726, 18040, -66867, 2064, 14958, 10763, -29587, -10170, -30939, -26416, 25889, 21561, 40399, -3261, -30521, -38201, -26152, 13898, -56680, 14488, 69479, 19397, 28776, 48042, -30572, -19817, -8214, 36447, 17997, -35528, 35902, -13846, 8037, 20713, -58769, -8148, 30823, -27879, 15592, -55199, -38829, 24242, -5600, 7637, -1430, -38884, -48930, 44789, 65929, 2969, 46251, 7777, 25204, -23947, 39367, -10339, -71963, -56960, 29290, -36761, 38561, -18120, 21181, -18954, -30822, -3770, 26570, 10833, 18990, 18184, 94919, 34385, -72525, -2908, -48806, -24782, -6964, -9115, -78426, 55184, 38338, -19835, 20480, 13973, -14692, -19970, -32030, 26779, -20422, 10, 14884, -4202, 46296, -14602, -46401, 38119, 6979, 11826, -27635, 23225, 15566, -8810, -1138, -51337, -16373, 14678, 30882, -58375, 110155, 34023, -43728, -8627, -58950, 15815, -44787, -19221, -47273, 68488, -13301, 25695, -12254, -14150, -23868, -46553, 50729, -21014, 68041, 7790, -5988, -5670, 1679, -46201, 2215, 26300, -13643, 5107, 8352, -14183, 23877, -2036, -12746, 10462, -99416, 2254, -7254, 81709, -92566, -14483, 29539, -39998, 5862, -27020, -30748, -35111, 3220, -37846, -7249, 10510, 3809, -82752, -8530, -2681, -32631, -878, -41908, -3422, -35474, -24995, -3764, -287, 6415, -40757, 25737, -18001, 30061, -74933, 32053, -77482, 4827, -28789, 14680, -48668, -15452, -2198, -19876, -50341, 20827, 14884, -1885, -51157, 81199, 48563, -32342, -5755, -51399, -29351, -19431, -49217, 15496, -35371, 337, 15322, -15456, -19838, 16546, 13626, 592, 19683, -14089, 34395, 9379, -56053, 22508, -19561, -4407, 5709, -14806, -10958, -6614, -22687, 33076, -8361, -5544, -28395, 48840, 11627, 5608, 9497, -72790, -35702, 27681, -861, 40921, 8902, 55406, -35821, -46824, 52291, -9416, -70232, -11580, -42384, 38678, -20933, 16189, -45427, 11981, -892, -5432, -26361, -8856, 28668, 37068, -18386, -34941, -18258, 68558, -12964, -8473, 8751, 984, -14557, -17974, -37389, 576, -13800, 17636, -37470, -14646, 10501, -906, 1816, -8465, -48118, 36026, -31718, -14885, -9496, 7854, 1322, -6231, 11331, -16565, -55564, 32278, -7590, -1259, 11702, 10123, 74985, 17282, -62067, 24754, -10825, 41315, -9353, 52839, -10461, -228, 22392, 989, 79477, 2626, 32126, -5138, -2427, 15151, -74213, -4074, -30494, -1936, -2396, -24994, -22410, -40349, 17449, 11649, 25147, -63240, 26515, -37764, 19094, 10514, -43733, -14553, 26037, -2978, -9045, -22920, -2834, 19508, 20733, -27420, -21918, 13745, -87438, -31521, -1810, -68721, 26674, -23473, -19938, 29559, -41714, 13408, 36700, -21124, -10376, -2892, -17981, 33305, 99454, -33635, 1385, -53763, -25561, -6696, 19794, 26303, 20598, -56215, -35397} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-153, -142, -115, -131, -150, -125, -139, -112, -127, -159, -157, -116, -111, -126, -141, -130, -130, -76, -145, -119, -142, -111, -152, -133, -127, -117, -94, -97, -104, -80, -136, -146, -109, -148, -135, -120, -176, -107, -127, -148, -131, -130, -132, -49, -120, -114, -120, -147, -128, -138, -132, -117, -113, -140, -139, -151, -89, -105, -117, -103, -138, -146, -142, -113, -132, -141, -120, -118, -136, -140, -119, -118, -118, -119, -150, -138, -93, -151, -124, -118, -130, -123, -104, -124, -145, -100, -131, -86, -117, -112, -126, -131, -140, -130, -129, -112, -133, -124, -114, -94, -111, -151, -155, -147, -107, -107, -155, -92, -144, -147, -115, -110, -111, -106, -137, -148, -137, -121, -139, -113, -114, -116, -129, -124, -147, -142, -130, -119, -117, -111, -113, -51, -99, -152, -117, -148, -110, -158, -134, -133, -97, -127, -85, -133, -145, -137, -151, -125, -119, -111, -122, -105, -144, -125, -126, -84, -147, -137, -97, -132, -132, -137, -130, -109, -130, -133, -157, -159, -133, -70, -160, -97, -151, -161, -108, -124, -79, -148, -129, -127, -137, -154, -127, -144, -134, -129, -166, -135, -124, -118, -124, -124, -107, -130, -131, -71, -142, -134, -129, -46, -115, -92, -129, -137, -141, -124, -130, -140, -106, -144, -106, -117, -115, -125, -118, -145, -130, -162, -88, -95, -161, -127, -102, -128, -159, -89, -111, -103, -138, -141, -110, -121, -130, -141, -115, -122, -116, -127, -98, -116, -105, -135, -161, -81, -105, -117, -137, -111, -152, -100, -119, -145, -161, -147, -146, -82, -127, -127, -127, -124, -106, -139, -145, -106, -151, -139, -131, -117, -156, -122, -143, -59, -146, -132, -116, -116, -125, -122, -103, -121, -136, -119, -129, -127, -133, -105, -165, -100, -163, -135, -143, -127, -119, -136, -114, -128, -114, -120, -126, -79, -105, -97, -133, -145, -145, -126, -134, -86, -74, -131, -143, -123, -143, -89, -120, -127, -117, -148, -101, -110, -130, -152, -133, -106, -126, -128, -106, -145, -107, -131, -134, -123, -115, -111, -120, -127, -110, -105, -121, -117, -129, -116, -81, -111, -155, -128, -124, -107, -146, -142, -34, -134, -149, -125, -140, -123, -150, -129, -115, -129, -110, -98, -144, -111, -138, -141, -108, -132, -92, -145, -137, -130, -122, -129, -124, -69, -122, -148, -129, -112, -119, -155, -143, -69, -121, -138, -112, -134, -127, -124, -132, -120, -124, -124, -92, -126, -136, -127, -116, -116, -127, -113, -103, -136, -134, -142, -109, -41, -123, -111, -127, -115, -180, -136, -135, -167, -136, -111, -145, -121, -120, -135, -128, -128, -131, -102, -131, -107, -143, -127, -79, -135, -125, -116, -104, -126, -159, -131, -151, -138, -134, -150, -124, -132, -138, -77, -140, -126, -146, -132, -125, -131, -141, -145, -153, -116, -82, -162, -142, -143, -135, -151, -135, -137, -121, -112, -117, -131, -119, -134, -143, -114, -77, -134, -123, -151, -141, -102, -127, -141, -127, -117, -153, -100, -105, -173, -110, -106, -127, -129, -128, -124, -120, -122, -101, -136, -112, -121, -128, -79, -152, -139, -156, -139, -131, -90, -118, -128, -158, -98, -119, -153}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1702894976, 1099922432, 1304510208, 1812760576, 1431208704, 1290263424, 1827093376, 1820221056, 1420156288, 1532027904, 1239423360, 1430385152, 1610711680, 1945848576, 1218011136, 1531527808, 1139655552, 1373612928, 1843062912, 1815251584, 1755092992, 1547724416, 1879447296, 1758481408, 1404375168, 1991531392, 1500318976, 1564455680, 2122322432, 1334071552, 1727924224, 1150063360, 2117195008, 1705252352, 1501320960, 1568902400, 2071166592, 1797955072, 1303617152, 1581489920, 1537476992, 1416388096, 1236115072, 1618613760, 1132352384, 1090360576, 1543892736, 1367124480, 1109815296, 1238414592, 1475774976, 1478824448, 1782606592, 1554715776, 1118932096, 1493926784, 1110213888, 1849259264, 1108776320, 1296640256, 1815826048, 1905350528, 1537225600, 1579496064, 1437903104, 1146540544, 1876447488, 1726508288, 1555335296, 1113700224, 1424446720, 1080086272, 1740173568, 1834525824, 2068128384, 1630154624, 1677822720, 1911975168, 1680717952, 2035904896, 1243673856, 1556537472, 1674960000, 1613816704, 1280046080, 1091670656, 1567937408, 1861535872, 1931164672, 1546647296, 1993682176, 1132327936, 1619857152, 1380966912, 1966304256, 1095493376, 1670739456, 1805151872, 1610816128, 1636648576, 1241500544, 1291210880, 1190123008, 1737621248, 1792291328, 1106777344, 1814606848, 1177423872, 1130163456, 1747285248, 1739072128, 2144957440, 1502626944, 1703802496, 1373186176, 1341746048, 1279597952, 1986473728, 1715983232, 1573545600, 1464173952, 1637665536, 1126248448, 1404530688, 1267717888, 1499319040, 1820341248, 1868371840, 1726025984, 1265744128, 1717588224, 1600980224, 1122111616, 1123040768, 1687098112, 1541493504, 1442770176, 1579033728, 1620795264, 1813445504, 1929092352, 1166044416, 1752583680, 1174185728, 1196887296, 1785944576, 1263480960, 1615783808, 1922109952, 1705361536, 1985211008, 1245481600, 1679318144, 1746816256, 1563574784, 1440750208, 1505433856, 1828246400, 1508823552, 1539357696, 1411782656, 2038929664, 1889202176, 1580506880, 1672787456, 2061678336, 1403483264, 1529336192, 1404201984, 1640169984, 1224499840, 1946491008, 1106191488, 1767685632, 1876789248, 1292974848, 1623710080, 1611890688, 1640435072, 1338940416, 1575902208, 1846596608, 1235078272, 1731133184, 1888274304, 1703285248, 2143249280, 1656568832, 1500544512, 1242022400, 1342451712, 1681256448, 1653539584, 1465979264, 1491640704, 1971696512, 1825090176, 1631830272, 1416680704, 2043988864, 1812684544, 1605671040, 1424189056, 1852677760, 1125202816, 1381202432, 1424724480, 1081949568, 1796562944, 1418990848, 1282279296, 1828662272, 2005015040, 1353269504, 1235944832, 1575373056, 1286488192, 1626276352, 1261704448, 2045406208, 1498646912, 1722960000, 1388608128, 1107070848, 2127156480, 1520255232, 1203598464, 2046779520, 1139969536, 1575116032, 1968421760, 1308903296, 1243146496, 1481542784, 1541264640, 2048253696, 1549917824, 1337347584, 1412336000, 2077103232, 1484440576, 1593010304, 1744464768, 1735631488, 1347595136, 1332672000, 1425335424, 1558134528, 1563877120, 1353605376, 1110556288, 1214884480, 1742272896, 1233107328, 1501600384, 2034294528, 1668439936, 1463567616, 1524285568, 1651383168, 1742712576, 1151387264, 1393728768, 1717006976, 1734517888, 1389319680, 1561682304, 1505200896, 1361767936, 1741026048, 1156666496, 1853309312, 1507948288, 1784330880, 1727728512, 1446265856, 1205336832, 1230452608, 1092455936, 1690116352, 1682169728, 1582657152, 1274868096, 1243464576, 1495929600, 1576013312, 1848846208, 1561606144, 1112693120, 2001495808, 1372428800, 1745328384, 2140476800, 1689257472, 1864460544, 1294815232, 1236439040, 1580969088, 1525167744, 1464254464, 2012752512, 1967555840, 1533669760, 1476149504, 1182630528, 1965749376, 1186458496, 1214303744, 1315227136, 1093622016, 1718872448, 1231070336, 1471159296, 1972951040, 2135356928, 1168046336, 1501204096, 1626556544, 1569441408, 1547876608, 1854745472, 1086326528, 1383180544, 1341007872, 1441890944, 1264814848, 1710178688, 1329095296, 2147245312, 2007361664, 1446546560, 1841381248, 1549405568, 1851515392, 1870148992, 1431937920, 1860773760, 1628032640, 1287549952, 1357237120, 1343357568, 1364554240, 2013791360, 1520729984, 1646201088, 1255938560, 1330537216, 1761717376, 1319851904, 1603473152, 1866366720, 1082049024, 1334450816, 1400626304, 1836615296, 1464287232, 1605988224, 1206304384, 1772910976, 1673920128, 1685095424, 1530234112, 1258530432, 1767588096, 1601193344, 1789823104, 1269184256, 1706999680, 2012121472, 1730135808, 1483342592, 1482322176, 1196539904, 1352685952, 1636562816, 1522304256, 1581779456, 1349902720, 1623138816, 1278789888, 1688943488, 1360506752, 1889426816, 1397188608, 1632514944, 1669937152, 1659816320, 1689879936, 1093849728, 1515000832, 1552140288, 1935004800, 1266989184, 1355755776, 1191546880, 1568436480, 1414062080, 1470261888, 1512597888, 1103955584, 1458495872, 2102306048, 1441134208, 1244263296, 1517784832, 1093395456, 1704227968, 2005392896, 1346629632, 1296659072, 1146845952, 1621886720, 1168086144, 1248329088, 1384421888, 1231214464, 2029065728, 1525229568, 1449513216, 1337733248, 1744171392, 1589296512, 1512345472, 1643616128, 1464753152, 1600538624, 1370001408, 1761525120, 1212234112, 1367960192, 2005375488, 1334120960, 1899280896, 1365275904, 2014030720, 1350355456, 1169137152, 1124362880, 1149838336, 1365509760, 2111201024, 1690529024, 1427739776, 1653787136, 1197042048, 1884506752, 1139923072, 1241623424, 1678387200, 1525295616, 1475492608, 2136210816, 1604922496, 1529944576, 1498831360, 1511746176, 1175167872, 1348601856, 1918619648, 1150034304, 1328565632, 1508703744, 1620435840, 1419811968, 1297883136, 1568113024, 1570184064, 1600126720, 1834821888, 1297876352, 1576933632, 1204199168, 1313838464, 1936588928, 1356049536, 2080740608, 1377392128, 1728299008, 1338867072, 1550967168, 2013229184, 2004344832, 1772548352, 2141164672, 1358709504, 1558658432, 1565519488, 1876939264, 1372572672, 1697553920, 1628433664, 1664656768, 1905171456, 1176639104, 1195247872, 1417881856, 1577163776, 1642292224, 1797532672, 1871172096, 1411758976, 1992633472, 1697120128, 1284603520, 1228869248, 2011112192, 1770990592, 1723243264, 2065054976, 1395825408, 1354587136, 1402357120}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {83544, 150536, -19, 2072, 11144, 84065, 57538, -1042, 601, -1413, -17125, -55, -780, 88542, 2373, -1379, 102278, 394, -3481, 173800, -99, 90863, -828, -3411, 195968, -19128, -1383, 122532, -35, 82173, 8008, -1334, 129657, -12811, 135920, 139121, -54, 404, -322, -1451, -249, -9456, -1324, 94466, 5915, 134807, 149233, -1508, -3280, 76661, -3113, -1383, 73293, 177477, -747, 256273, 119860, 89598, 90931, 164546, 154781, 153430, 22006, 66428, -2264, 715, 1795, -5119, -5058, -316, -1389, 112479, -2398, -7765, 96273, 178224, -19241, -3178, -3943, -1068, -93, -1731, 93602, -2359, 1333, 175188, -3455, 232426, -2443, -12749, -990, 201877, -4879, 92959, 173629, 67329, -3197, 12886, -2836, 58400, -1947, -558, 89224, -2458, 165653, 99463, -12840, 118253, -977, -1841, -2279, -26454, -3189, -28636, -9996, 1601, -113, -15875, -2387, -3697, 67238, 95066, 68088, -7854, -573, 189963, -18344, 177330, -348, -2140, 109865, 80742, -23903, 5098, -13851, -462, -701, -2033, -549, -5097, -3404, -1216, 94334, -27230, 627, 98125, -2627, -13705, 84552, -3647, -5772, 485, -2413, 133068, -288, 192334, -1014, 74024, 90624, -43, -963, 1215, 173236, -6297, -5779, -172, -2640, 101480, -2400, 141455, 202232, 84200, 64186, 2334, 192383, -2, 128740, 147419, -3794, -668, 256147, 83975, -9127, -15615, 846, 119530, 5342, -56, -4038, -91, -5555, 81091, 87276, 105106, -4726, -2348, -1769, -3693, 10736, 59814, 165496, 106583, -3973, -13240, -10996, -9593, -4463, -45, 155747, -95, -3456, -1324, 88339, -937, 1043, 156632, 124355, 239914, 95108, 112971, 16205, 39225, -3800, -1693, -5338, 131789, 63643, -820, -63, 159129, -3703, -1187, -1821, -2287, -4270, -4918, -3325, -874, 56783, 78760, 676, 2658, -20854, 145244, 95014, 131741, -9518, -4448, -2679, -38, 251865, -686, -17909, -3670, -2046, 170645, 79286, -1577, 10240, 193197, -8211, 44963, -4871, 56336, -145, 59776, -590, 137927, -130, 313547, -1445, 88782, -11673, 145286, 12193, -5392, 136819, -2027, 100405, 123496, -2739, 78453, -1125, 145311, 265760, 48080, 106979, -1350, 210006, 37251, 109064, -2109, -661, -38793, -34040, 322540, -502, -5674, -3717, 107525, -2624, 225160, -3832, -1465, -3567, -3166, 6413, 61198, 168743, -687, -5064, 126676, -314, 2620, 1956, -1588, -13109, -4585, -3246, 119783, -23511, -714, 148553, 82736, -3568, -9293, -1725, -1459, 60880, -10882, -5207, 79770, 63945, 66468, 68961, -5494, 166492, -3314, 554, -1048, 183236, 202050, -61, 71802, -1705, -2246, 1989, -3214, -1481, -2437, 57065, -900, -1772, -596, -2492, -2544, -3602, 117549, 171023, 157950, -3130, -1342, -8520, 126799, 208919, -1284, -12328, -3827, 86023, -2301, -604, -20, -6850, -155, 5712, 68086, 201678, -8185, -86, 171536, -5198, 706, 132269, 181303, 153694, -5507, -1612, 1174, 88640, 262612, -3133, -30, 209014, -186, 125571, -620, -12837, -354, 2909, 10107, 29614, 319, 64683, -1056, -1972, -82, -2437, 56907, 3847, -666, -711, -1340, -398, -3994, -14377, 69980, -2963, -3546, -1943, -27235, 71615, -6703, -761, -1767, 123692, -2666, -2947, 309794, -6944, -3531, 102554, -16748, -8653, -2963, 37575, -1318, -537, 187634, 58401, 102035, 5145, -935, 201770, 58722, -402, 162244, 583, 445, 103567, -3311, -15698, -6863, 193440, -2569, -3542, -1387, 58294, 298, 93333, 60621, -18866, 166952, 192860, -116, -3427, 113233, 62518, 91313, -1503, -6495, -825, 65454, 210957, -11681, -33, 1630, -600, -2433, 17520, -769, 120979, 78784, -77, 88240, 11905, 334, -2359, 101799, -1991, 185074, -4594, 145634, 91075, -126, 63822, 195331, -2077, 98713, 147357, -4217, -1631, 108812, -95, 174826, -1835, 3358, -3986, 158099, -1192, 159184, -2472, -144} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-469, -623, -172, -117, -112, -531, 384, 363, -112, 181, -35, -144, -4, -412, -114, 249, -530, -184, 254, -756, -151, -516, 108, -103, -552, -91, 410, -581, -175, -550, -190, 401, -521, -3, -467, -589, -205, 10, -185, 191, 35, 412, 125, -569, -97, -632, -544, 438, -136, -436, 634, 152, -523, -512, -188, -586, -632, -481, -409, -524, -434, -707, -107, -274, 273, -106, -118, 440, 351, -134, 177, -478, 208, 249, -505, -607, 267, 330, 428, -107, -155, 288, -406, 205, 366, -547, -59, -767, 203, 97, -65, -655, 120, -555, -689, -435, 269, -117, 274, -405, 352, 132, -319, 534, -565, -561, -66, -504, -126, 186, 230, -42, 445, 114, 313, -115, -172, -93, 165, 327, -474, -554, -437, 306, 50, -507, 132, -674, -103, 530, -352, -495, -42, -103, 322, -61, 240, 221, -116, -40, -103, 277, -597, -47, -100, -541, 298, 91, -374, 451, -113, -97, 324, -518, -65, -583, 35, -442, -442, -203, 42, -112, -442, 369, 137, -210, 416, -483, 387, -473, -777, -656, -437, -133, -743, -144, -521, -513, 309, -181, -706, -500, 250, 68, -110, -630, -126, -213, 644, -179, -133, -433, -479, -633, 473, 465, 314, 327, -180, -538, -572, -567, 473, 127, 273, 227, 150, -160, -760, -199, -118, 148, -311, 112, -89, -423, -660, -631, -432, -411, -185, -345, 103, 329, 167, -470, -367, -101, -208, -691, -113, 201, 342, 350, 503, 743, 247, 209, -396, -511, -115, -116, -134, -653, -435, -556, 320, -97, 367, -127, -1009, -121, 154, 324, 376, -696, -447, 175, -181, -834, 537, -482, 405, -399, -145, -282, 125, -522, -128, -672, -118, -578, 278, -631, -131, 236, -465, 223, -574, -409, 427, -342, -185, -558, -679, -409, -400, 200, -578, -338, -431, 314, 147, 24, 102, -594, -39, 402, 56, -410, -117, -664, 353, 170, 343, 208, -101, -459, -590, -208, 218, -429, -66, -178, -100, 321, 377, 256, 217, -562, -46, -178, -539, -406, 91, 416, 160, 276, -461, 93, 183, -357, -366, -453, -452, 296, -640, 466, -110, 105, -514, -572, -85, -398, 307, 260, -96, 282, -48, 221, -429, 189, -98, 113, -99, 345, 511, -363, -552, -593, 55, 263, 240, -473, -594, 190, 319, 403, -485, 293, -116, -194, 226, -117, -131, -446, -621, 251, -111, -582, -124, -101, -574, -766, -392, 184, 85, -117, -401, -590, 382, -199, -631, -179, -541, 82, 173, -105, -100, -126, -249, -99, -446, -62, 358, -192, -124, -386, -109, -109, -146, 128, -195, 191, 86, -429, 313, 552, 337, 157, -473, 316, 161, 360, -543, 301, 260, -806, 303, 507, -512, 180, 225, 423, -395, 256, 230, -651, -504, -495, -148, 30, -458, -478, -47, -547, -156, -99, -583, 485, 464, -154, -631, 327, 367, -92, -417, -117, -342, -320, 212, -618, -765, -162, 280, -604, -300, -593, 437, 275, 326, -436, -830, 504, -202, -105, 383, 384, 464, 140, -570, -525, -101, -530, -178, -119, 130, -542, 414, -545, 19, -769, -517, -119, -478, -772, 204, -565, -692, -114, 164, -485, -204, -779, 82, -108, -124, -634, -119, -703, -87, -100}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {2048752768, 1588580736, 1339876224, 1482348544, 1400667520, 1145767552, 1772222208, 1105131904, 1117394688, 1483898880, 1358478720, 1702705280, 1349172864, 2079376640, 1088770560, 1114453760, 1747076352, 2068970368, 1574102016, 1986480512, 1406927744, 2066321024, 1187493248, 1132845440, 1293673984, 1397060864, 1965442944, 1454080640, 1495136896, 2038264448, 1221182336, 2130882176, 1467187072, 1593705216, 1724214016, 1419981824, 1139046528, 1392544896, 1928424192, 1627869952, 1682464256, 1573554176, 1926540800, 1710946944, 1682678784, 1289871744, 1523537536, 1739900288, 1694269440, 1208256000, 1085278720, 1543807232, 1114534016, 1718220032, 1865283968, 1140003584, 1694179456, 1089403392, 1364686976, 1362789376, 1561092096, 1111680512, 1254402560, 1386633600, 2023285888, 1104087424, 1161435904, 1074665984, 1243379200, 1634684672, 1349288320, 1168653184, 1698860288, 1656218880, 1829327872, 1299459840, 1096803584, 1897413248, 1565744128, 1215987968, 1454613376, 1090421504, 1668192384, 1463567232, 2080936960, 1343833472, 1682852864, 1785880960, 1954309888, 1515850112, 1822668288, 1258927744, 1157790720, 1847323392, 1611709056, 1226084480, 1077375488, 1570092416, 1990474496, 1622698112, 1770364160, 1475106432, 1781304832, 1556489344, 1246406016, 1610557824, 1372726144, 1655249664, 1275464960, 1181185280, 2119674752, 1841719680, 1359339776, 1590768768, 2048201088, 2036046080, 1094526848, 1190267136, 1304677248, 2038367616, 1270436096, 1860923392, 1394033536, 1672750464, 1431169280, 1606973184, 1801941760, 1337234816, 1913329024, 1494959360, 1651903232, 2145093120, 1145911040, 1110300288, 1775953536, 1119430016, 1868062208, 1110168576, 1410187264, 1297138176, 1257703936, 1436437120, 1853425920, 1495346944, 2037429248, 1682434816, 1357296128, 1587897472, 1568215936, 1293542528, 1996627200, 1927452544, 1964799232, 1401797632, 1582205056, 1234367488, 1437953920, 1191744256, 1634596352, 1224950912, 1688925184, 1164772864, 1490186880, 1224451840, 1959033088, 1212605184, 2089847552, 1931899136, 1835777152, 2029620864, 1240173824, 1806479616, 1300215936, 1208230656, 2017102720, 1300759168, 1665426560, 1614062208, 1967019264, 1557736576, 2114585600, 1083095424, 2085572096, 1146803840, 1509293440, 1417722752, 1133791488, 1323026432, 1090035072, 1569873664, 2007850880, 1234636032, 1316118528, 1629771776, 1264204928, 1840988160, 1090887040, 1640234368, 1385995520, 1331326592, 1202308352, 1817187456, 1333700608, 1807771136, 1746338944, 1444197632, 1415336832, 1876080256, 1342734208, 1299245696, 1158960000, 1561807488, 2045949312, 1687662720, 1831390976, 1721929344, 1368692736, 1675240704, 1851676928, 1374535296, 1969425024, 1089071488, 1558645248, 1138616064, 1806944256, 1842193664, 1138006912, 1119017600, 2087544192, 1128417792, 1430373504, 1469311872, 2074042240, 1079279872, 1643350400, 1192321280, 1904386304, 1842533248, 1693019136, 1097518976, 1298151936, 1553587200, 1753700864, 1467751552, 1220952064, 1547335936, 1956293760, 1415069056, 1827553536, 1788416640, 1106409856, 1150947200, 1557181184, 1787988480, 2139768064, 1154118528, 1112852608, 1600033280, 1614876800, 2004095104, 1464221824, 1567883008, 1729068288, 1539127936, 1233431552, 1769388928, 1380012928, 1457737856, 1176232704, 1887212288, 1465615360, 1905892480, 1992694400, 1287659008, 1817883136, 1310787584, 1950796544, 1322403072, 1739431424, 2007718400, 1815082752, 2107859712, 1122448000, 2063703040, 1861855232, 1796664192, 1184667648, 1382180224, 1893706752, 1109892224, 1787843072, 2137199616, 2127747200, 1109959040, 1598397056, 1073759616, 1203678336, 2109876864, 1696908800, 2092731520, 1788965760, 1082530176, 2003320448, 1458417024, 1653048192, 1131481728, 1639839104, 1374234624, 1263733760, 1296508928, 1182715648, 1926937472, 1310464768, 1876509440, 2085076480, 1542070912, 1998269312, 1418280704, 1983992960, 1571173632, 1487075072, 1379844736, 1504335744, 1250564736, 1843664256, 1720378112, 1279808768, 1204695552, 1292818816, 1873649664, 1466738560, 2079710848, 1384163584, 1255949568, 1227152640, 2051758592, 1174619136, 1470528384, 2050794752, 1807805824, 1657118592, 1370498944, 1288263168, 1179233280, 2084898944, 1082138368, 1886743936, 1570959104, 1448855168, 1121149824, 1517424256, 1606750720, 1853756288, 1169679232, 1988397440, 1849347328, 1489347712, 1352223744, 1184262016, 1288235008, 1420737280, 1213056768, 1272248192, 1600263552, 1614790016, 1711846272, 1690680704, 1437610752, 1890907648, 2144461056, 1083871744, 1710096000, 1417359616, 2026547968, 1619190016, 1258709632, 1204916608, 1146051968, 1715395584, 1278828928, 1115950976, 1160069376, 1431895808, 1949953408, 1822631808, 1401952640, 1596292480, 1329370624, 1935308672, 1236666368, 1681451264, 2012198272, 1102306944, 1881046656, 1607908352, 2080495744, 1107534080, 2141924992, 1378107136, 1448150528, 1249785088, 1205588736, 1283240064, 1275102976, 1704997632, 1461566848, 1824451584, 1493448832, 1530990336, 1996635392, 1209073920, 1401274624, 1583897344, 1141250944, 1737337600, 1118968448, 1111990784, 1440698624, 1924975744, 1500771328, 1139198464, 1858554624, 2100469504, 1280342272, 2133628160, 2071744640, 1893935360, 1477451520, 2053160576, 1485265152, 1931095936, 1237188736, 1463528576, 1767762048, 1106696832, 1506664320, 2045052672, 2088942336, 1327924992, 1916525312, 1731400704, 1103480832, 1440829056, 1328010496, 1731568896, 1554830336, 1771358080, 2108831360, 1711665024, 1334256000, 1603317504, 1873767424, 1252199552, 1842740224, 1671483392, 1759232512, 1265031296, 1616743808, 1862943232, 1967732480, 1086213120, 1302301184, 1861530752, 1139447808, 2048501504, 2014844160, 1454822656, 1995633280, 1963532032, 1157111040, 1425529088, 1607660160, 1278184448, 1143727616, 1641600768, 1873447168, 1950577280, 2061234944, 1752748416, 1836741760, 1528961920, 1101154688, 2109534208, 2008089856, 1431077376, 1532976256, 1705923712, 1667931392, 2017304960, 1162025472, 1657716096, 1184567552, 1880680704, 1764395776, 1271292032, 1093207040, 1247534592, 1606163840, 1184416256, 2133477632, 1300751104, 2080845312, 1492633728, 1243112448, 1378137216, 1827021056, 1879911296, 1187814784, 1371693056, 1410274432, 1853088256, 1167170176}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {41380, 11140, 6358, 8637, 29897, 58139, 2082, 35922, -40946, -18152, -4897, 9581, 18258, -13904, 8614, 3189, 1226, -1306, 1947, 11919, 26711, 24223, -35575, 12948, 16165, -11864, -20796, 22682, -8791, 12306, -20864, -13412, -14585, 23194, 43237, 14529, 30670, -19615, 25369, 1098, 18193, 26090, 12345, -5200, 5334, 11261, 21402, 29711, 4991, 27772, -14753, -18648, 64977, 6673, 42995, 40405, -4471, 4433, -22594, 25821, -9634, 4327, -12239, -2705, 32293, 14209, 5873, -6745, 21566, 17554, -4182, 10677, 4753, 24330, -13135, 48178, -18161, -8069, 31992, -17873, -13215, 14752, 17240, -32075, -4924, 1674, -67557, 37781, 14942, 23636, 31053, 12802, 30753, 29159, -15936, 22977, 22652, 4066, -35957, -19028, 5113, 55084, -26661, -4562, -2516, 15403, 35735, 30195, 20851, 15606, -27044, 5631, 69093, 15187, 74573, 6564, 13991, 68416, 5109, -6130, 4352, -10429, 8918, -16644, -5880, -2954, -20725, 5861, -8434, 10593, -33441, -5740, -59924, -13917, 45699, 22897, 15807, 11323, 7336, -3681, -6439, 33008, -16938, 4817, 20685, -38896, 27317, 35643, 17923, -5640, 9163, -40779, 350, -11941, 11673, 1910, 9429, 7997, 11007, -9985, 7185, 15512, -18069, -12617, -10629, -3748, 2986, 2579, -727, 6553, -20933, 26311, -11371, 10531, -22161, -2299, 36646, 53666, -2116, -13636, -40105, -15681, 30890, 13106, -5987, 37102, 7159, -70616, 7388, -27825, -8530, 39049, 984, 8335, 19672, -22056, 29904, 12649, -16569, -35127, 8486, -14675, 5413, 31952, 55398, -29024, 10866, -7363, 38511, -635, 12709, 17134, 8991, -19186, 16196, 23824, 6339, 30293, 25353, 14777, 9017, -33974, -19829, -15393, 22436, 4408, 22317, -3862, 3204, 22544, -1405, -635, 6980, 355, 823, -30274, -4546, 5227, 35072, 9029, 13209, 29093, -4005, -11114, -27132, -22531, 32943, 32493, 25167, -16159, -3477, -10535, -4016, -31205, 37887, 8332, -9149, -14709, 13303, -59162, 26468, 20959, 4902, -15918, 1557, -2438, 18087, 36292, 6930, 17094, -6065, 44602, 44337, 11974, -8984, 23542, 27186, -5719, -39575, -3434, 15315, 20423, -2175, 35697, -35, -7857, 41386, 39053, 7075, 25765, 893, 13596, 60502, -6748, 3211, 22755, -17754, -1658, 5648, 38007, -5246, -7275, -16215, 16030, -3053, 4101, 28968, 18522, 52635, 43768, -19458, 6960, 4529, 16723, 13686, -31153, -61627, 46587, 20819, -26755, 6773, 17637, 26242, 11884, -23614, 883, -2931, -11236, -6897, -14263, 13845, -521, -1813, -16308, 16563, -455, 12838, 12546, 32491, 15722, 6921, 47886, -26503, 25597, 4653, 16094, 28348, -13606, -2066, 11851, 34361, 33475, 23101, 11192, 30198, -13685, 9422, 2944, -9941, 9204, 50273, 10140, -12184, -8450, -45989, 16614, -23333, 15322, -30865, -49711, 19560, 7504, 18083, -3325, 24892, 31022, 9783, 10435, 7592, 1332, 7525, -9536, 4885, -10599, -24099, 6698, 32292, 40048, -22465, 27988, 10547, 619, -15199, 7046, 11779, 1203, -5995, 25437, 17252, -24723, 1632, -19616, 30553, 10485, -11054, 61309, 5557, -17413, -26095, -24296, -21581, -31495, 13794, 21404, 14460, 25130, -24611, -19263, 29145, -26535, -31555, 3464, 26537, 18576, 13349, -21621, 26935, 4405, -427, 74708, 7684, -15125, 30476, -14886, 10370, 4408, 23521, 22043, -5417, 36122, -11911, 27030, 4593, -10562, -24016, 22524, 7607, -6720, -51, 32364, 17037, -37540, -3607, 4822, -12082, 45447, 10248, 36418, -29611, 11816, 5303, 9938, 6786, 8059, 25879, 2486, 12580, 6176, -47321, -13181, 4147, -15768, 19353, 23967, -11095, 7527, 38605, 7663, -14628, 31401, 44693, -7925, 7631, -13209, -23993, 25343, 937, -3534, 9834, 5945, 16825, 30909, 124, -33014, 44389, 8346, 43687, 36484, 2194, 28923, -5514, 37352, -4370, 10060, -14090, 2098, -38597, 8428, 13538, 41959, -4872, -1652} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-123, -151, -123, -149, -158, -148, -160, -153, -130, -134, -135, -133, -167, -167, -130, -132, -148, -153, -185, -83, -116, -151, -119, -144, -130, -110, -159, -152, -156, -138, -134, -139, -123, -159, -144, -130, -136, -118, -149, -132, -140, -152, -140, -122, -110, -123, -138, -153, -153, -116, -125, -115, -147, -160, -124, -118, -152, -156, -143, -136, -121, -135, -124, -191, -139, -146, -150, -119, -135, -132, -130, -127, -146, -141, -130, -135, -137, -138, -167, -151, -105, -128, -128, -136, -122, -117, -137, -154, -157, -116, -147, -122, -163, -131, -125, -152, -122, -156, -141, -104, -158, -146, -128, -139, -139, -149, -135, -130, -100, -139, -158, -120, -129, -125, -142, -150, -147, -122, -160, -126, -181, -175, -136, -160, -140, -141, -149, -117, -83, -147, -162, -130, -142, -147, -139, -120, -169, -140, -136, -146, -173, -175, -139, -137, -134, -116, -126, -145, -142, -165, -173, -131, -133, -105, -129, -167, -140, -152, -144, -133, -110, -131, -151, -147, -165, -143, -137, -154, -106, -132, -136, -139, -142, -136, -129, -142, -142, -140, -97, -163, -144, -123, -146, -145, -140, -160, -140, -135, -150, -136, -138, -119, -110, -129, -124, -123, -116, -181, -155, -140, -142, -147, -139, -189, -125, -130, -173, -157, -140, -130, -143, -125, -144, -150, -140, -151, -130, -138, -147, -133, -117, -127, -143, -154, -134, -128, -185, -151, -148, -136, -145, -174, -146, -129, -151, -132, -128, -136, -123, -143, -142, -187, -144, -123, -135, -42, -135, -154, -149, -132, -118, -129, -135, -128, -135, -140, -142, -143, -128, -133, -148, -153, -133, -144, -126, -132, -142, -124, -108, -144, -134, -132, -148, -151, -121, -149, -128, -147, -126, -153, -138, -137, -121, -151, -142, -156, -147, -134, -153, -138, -141, -173, -140, -129, -138, -149, -130, -140, -161, -144, -130, -111, -122, -126, -132, -121, -138, -147, -137, -127, -138, -144, -147, -125, -152, -146, -132, -128, -146, -109, -128, -159, -136, -138, -134, -128, -141, -128, -117, -150, -138, -131, -133, -134, -107, -141, -174, -142, -147, -160, -108, -134, -114, -118, -95, -136, -144, -131, -157, -132, -177, -156, -119, -126, -139, -162, -129, -168, -138, -123, -133, -144, -107, -130, -132, -132, -133, -158, -147, -113, -104, -139, -131, -141, -149, -126, -127, -136, -133, -124, -165, -131, -130, -134, -133, -134, -135, -136, -130, -127, -93, -149, -138, -130, -162, -137, -114, -148, -137, -133, -150, -150, -145, -170, -132, -151, -135, -141, -122, -144, -134, -126, -140, -174, -129, -132, -131, -170, -119, -112, -156, -135, -139, -136, -135, -121, -143, -128, -142, -130, -154, -140, -137, -128, -128, -114, -126, -149, -126, -149, -86, -157, -127, -137, -131, -109, -144, -127, -141, -128, -116, -133, -130, -135, -164, -136, -137, -156, -124, -114, -128, -112, -138, -126, -145, -113, -129, -136, -134, -126, -170, -130, -144, -130, -149, -127, -146, -141, -128, -126, -117, -153, -173, -133, -130, -126, -170, -151, -141, -168, -169, -149, -166, -123, -148, -169, -142, -129, -129, -194, -127, -133, -134, -140, -152, -102, -129, -185, -127, -144, -163, -162}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1695828992, 1287636352, 2113820032, 1964430976, 1140243584, 1845193216, 1985249024, 1129794560, 1968974848, 1925364224, 1545428992, 1297949824, 1965648384, 2034138496, 1868987136, 2145577472, 1888050432, 2126265728, 1633834112, 1253745792, 2007469312, 1664365312, 1933389312, 1296930304, 1108207616, 1091775616, 2043327360, 1970703872, 1171357824, 1092765568, 1545300992, 1717853312, 2021436672, 1127880832, 1559140480, 1089243264, 1826845952, 2012516992, 2004708736, 2076381952, 1707419136, 1120561664, 1732479616, 1992540544, 2106435840, 1461639168, 1222606720, 1949715584, 1999470848, 1801718528, 1919637632, 1767892480, 1909986688, 1333008128, 1695447040, 1794834176, 1661293696, 1118503552, 2070523520, 1130283776, 2044023552, 1983925504, 1999722880, 1624704512, 1786045824, 1515056000, 1165862144, 1857019392, 1934721792, 1178998144, 1196198016, 1647681152, 1510252032, 2090449536, 1092734848, 2063199872, 1756517888, 2122325632, 2024042240, 2082033664, 1175564672, 1876320000, 1963616128, 1096467072, 1990983424, 1080043904, 1843291392, 2064292864, 1308456832, 1152359936, 1990450816, 2070873344, 2064468352, 1208393600, 1846705920, 1898713856, 2046237952, 1079746432, 1770056448, 1213118848, 1955560576, 2077937152, 2055605248, 1108014848, 1844928896, 1972039936, 1179534592, 1295728512, 1257670912, 1100888320, 2077194752, 1177911296, 1161493888, 1966619008, 1796171776, 1210961408, 2111052288, 1790231680, 1107274880, 1385894912, 1475892864, 1196705920, 1802513536, 1434512896, 1904275584, 1149596288, 2015231232, 1236288384, 1133223040, 1790163072, 2010825600, 1143656448, 2009403776, 1811576320, 1783419392, 1970521088, 1291884288, 2124367360, 1541963392, 1168916864, 1348747264, 1491757568, 1351667712, 1906599680, 1673325440, 1950943616, 2009541760, 1881419136, 1579205120, 1119055744, 1364929408, 1695939584, 1354704768, 2055590912, 1820340224, 1660975616, 1797214080, 1183725568, 1911212544, 1172686336, 1111628928, 1942452224, 1155039744, 1169026688, 1232052736, 1682713088, 2112380416, 1856698112, 1240639872, 2037379200, 2008486400, 1726209152, 1111645440, 1148062336, 2075452800, 1126716800, 1941969536, 1128325632, 1249026432, 1927037312, 1859273856, 2091853824, 1990985984, 1843187584, 1809006208, 1164797824, 1526157952, 1784124544, 1130680704, 2047851776, 1876413440, 1780412416, 2099739520, 2089695360, 1795111168, 1077960960, 2044660224, 1714691968, 1894632320, 1963580160, 1083014016, 1954681856, 1119626368, 1582757760, 1803385344, 1146656384, 1420392448, 1105419520, 1117226752, 1970941824, 1996318464, 1885445120, 1805082752, 1887278080, 2141644672, 1995749120, 1998893824, 1815388032, 1412521344, 1874972032, 2074489856, 1685022592, 1141818496, 1927051648, 1571798528, 1838050048, 1674390272, 1086978560, 1259159424, 1794847104, 2024428288, 1290650240, 2142521856, 1151156864, 1846061824, 1854319744, 1114384128, 1162462976, 1224933248, 2009602560, 2097065600, 1594669824, 1080657280, 2007805952, 1154079616, 1945696896, 1763229440, 1102285568, 2132288384, 1877136896, 1979439744, 1675978112, 1315824256, 1807777152, 2027851776, 1997998848, 1947302656, 2051170816, 2030520192, 2019635072, 1739603456, 1080539648, 1146731648, 1245275520, 1898715648, 1787409152, 1954791168, 2095912960, 1151229568, 1845746432, 1941996416, 1226862976, 2012905472, 2093899904, 1819811840, 1253066880, 1502110336, 1993639680, 1920989184, 1134441600, 1183491456, 1862121472, 1092836608, 1876233344, 1138614912, 1103374848, 1149594240, 1749781504, 1242813568, 2023887360, 1898925440, 1477219968, 1807154176, 1920168448, 1826800256, 1805550720, 1940784256, 1430813056, 1157897984, 1664638720, 1850792064, 2114632832, 1932085120, 2134777600, 1723345536, 1269339904, 1978158464, 2091936512, 1157696768, 1169607808, 1856582272, 1443940992, 1707782272, 2098905088, 1099315712, 1929130752, 1094025088, 1727081600, 1143527424, 1978329856, 1077008000, 2107505408, 2082286976, 1794481536, 1762915712, 2089019264, 1760977792, 1209412608, 1953641088, 1251516672, 1210647040, 1227766912, 2011936640, 1979588992, 2022501248, 2142155648, 1267556096, 1916438272, 1812769152, 2102605952, 1986076288, 1763601536, 1777396224, 2100577920, 1116151296, 1946001024, 1884718080, 1930530816, 1984795776, 1987955968, 1279211008, 1366116480, 1161091072, 1918272128, 2021503104, 1146019840, 1880753792, 1517324544, 1877360128, 1979502464, 1927658112, 1835250944, 1296264064, 1943686656, 1891838976, 1965800320, 2140032384, 1325074048, 1131920768, 1718122112, 1228118272, 1814921600, 2058420864, 1102581120, 2067482880, 1875449856, 1733906304, 1913097472, 1845297664, 1094384256, 1135409152, 1857565696, 2024966144, 2125124352, 2106357376, 1126457856, 1230628224, 1909295872, 1203521664, 2008943104, 1369884032, 2011981184, 1897041920, 1725875584, 1170935040, 2086960768, 1906593024, 1084125312, 1288166272, 2076200960, 1117074688, 1985826816, 1691850240, 1289279232, 1956994688, 1158945920, 1736079616, 1808627584, 1120068736, 1678124800, 1120982144, 1500294400, 1849895680, 1561482880, 1908171904, 1825332608, 1818186112, 1144597632, 2032028928, 2013131520, 1135916672, 1156824448, 1113462528, 1967525888, 1121599232, 1170780160, 1247545216, 1839549568, 1108966400, 1718611584, 1944267520, 2082725376, 1991587200, 1789601408, 1799516032, 2129724288, 1092095360, 1185391360, 1912180096, 1162051968, 1484510464, 1101586816, 1987753856, 1704878208, 1943336448, 1944981120, 1871132800, 1095577472, 1900655360, 2014092544, 1137379328, 1798203392, 1983813376, 1815537280, 1331897216, 1986169088, 1910319360, 2065874688, 1787104256, 1153556352, 1547976832, 1792034944, 2044685568, 1987265536, 1087512960, 2121320704, 1956028160, 1082087680, 1772902656, 1981280000, 1265630976, 1089557376, 1489459584, 1954784640, 1995597824, 1928723968, 1912359808, 1895611776, 1961392512, 1606279040, 1094015488, 1808325248, 1527183744, 1633687040, 1199751168, 1964848768, 1131797376, 1127261952, 1127820416, 1314655104, 1285365632, 1199980672, 1427015680, 1863480704, 1678452224, 2070121216, 1887906048, 1967355008, 2075343104, 1685033856, 1779965440, 2062442368, 1779538816, 2054867968, 1852557824, 1102442752, 1997046400, 1307581184, 1983404160, 1949635584, 2138364800, 2147382784}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-3027, 1549, -10725, -8218, 1443, 1517, -315, 5692, 1631, -2793, -5492, -6148, -4192, -2585, -4735, -2968, -2848, -3225, 856, -3698, -765, 3022, 1515, -281, 915, 348, 5052, -2511, 4452, 1329, 4627, 3717, 2634, -4801, -868, -9001, -403, -1862, 1189, 275, 399, 3159, -3456, -5451, 5610, 2517, 2271, -1625, -5929, -5148, 600, -2679, 1806, 5624, 479, -2554, 1854, -2308, 652, 701, -2616, 5173, 210, 5548, 2434, 688, -8161, -6313, -34, 3783, -4413, 3650, 1879, -409, -5123, 8182, 2067, 3045, 6317, 4927, -7756, -815, -379, -14213, -2767, 613, -8413, 2628, 2097, 5865, -5268, -5776, -1519, -2005, -1706, -5750, 411, -4342, -11948, -6064, -2804, -8688, 1558, 1664, 3086, 41, 4340, -4178, -4687, -8288, -4921, 8509, 850, -1764, 892, -17417, -1169, 1616, 811, -1230, -663, -2288, 126, -2134, -2357, -4830, -4042, -7137, -7170, -4203, -3758, -5023, -1513, -1741, -8500, -6717, -6975, -9320, -8867, -5424, -8176, -3423, -7487, -5579, -5897, -7247, -1633, -9099, -4734, -1879, -1445, 7809, -15434, 2368, 1848, 6101, 3535, -4325, -4910, -1811, 1427, 9663, 10810, 2738, 761, -2088, -931, -8401, 3682, -2609, 1615, 9229, 287, -2085, 7411, -7637, 1920, -354, 5098, 3290, 4412, -1383, 9326, 1823, 4592, 4906, 2207, 2560, -2465, 2388, -2169, 5865, 3905, -4367, -1639, 8561, 4868, 3050, -2152, 6974, -7302, 1429, 5950, 5747, 5862, -3349, -5179, -1257, -1192, 5197, -5113, -1096, 2936, -519, 2950, -550, -1152, 8723, 1753, 3757, -2110, -3061, 427, 10521, -7307, 5803, 194, -3541, -6631, 6951, -324, -6516, -142, 5700, 3429, 2815, 1001, 8027, 3360, 8351, -190, -2999, 4595, -656, 617, 6781, -1764, 7522, 789, -727, 2730, 5644, 1457, -3242, 11935, -1090, 1547, 2433, 1014, -1337, 4503, -1151, -2953, 3920, 2597, 5201, 3349, -4227, -8417, 2826, 2457, -1579, 1385, -243, -6892, -6667, -3837, -1127, -5443, 2904, 506, 9646, -3415, -1862, 2832, 1573, 5823, -393, -2687, -1349, -596, -9019, -1642, -5299, -3752, -1500, 1491, -2020, -357, 2844, -4932, -5497, -3203, -2114, -8762, 3457, 4330, -7138, -2264, -4944, -1963, -2561, 2149, 8793, 6022, 3890, -1152, -2486, 1956, -4072, -4065, -9982, -11037, -8097, -5510, -9777, -9476, -4912, -2749, -2265, -1134, -1968, 4560, 894, -710, -1000, 1764, -1922, -5568, 267, -1557, -1094, -2820, -4300, -6220, -4483, 1481, -2303, -2533, -2254, 605, -9007, -8287, -3764, 2463, -3111, -793, -5058, 2882, 4016, -3083, 3861, -390, 545, -1162, 1041, 1831, 3895, -3473, 2845, -4402, -6577, -2290, 3392, -809, -5022, 1161, -1582, -2088, 2264, -1767, 1917, 4713, 2949, -1877, -754, -3680, -3583, -2228, 1536, -4318, 1010, -9437, -5069, -1210, -2921, -5700, -3917, -4821, 6282, -3234, 5906, -170, 1778, -10053, 1983, -3350, -4433, -10279, -5416, -134, -2972, 7109, 5761, 6810, -1042, 4707, -2054, 1298, 2759, -345, 3312, -770, 9514, 7018, 577, -11051, -3391, 4598, 385, 437, -280, 549, -1698, 123, 2367, 3390, -2602, 610, -4080, 3987, 107, 3255, -1340, 1708, 8319, 2555, -1503, 5404, 362, 3712, 2143, 2877, 1806, 4282, 74, 4345, 1574, -4349, 6316, -4619, 4868, 1365, 2539, 10920, 4530, 229, -3046, 6098, -2346, 4482, -1930, -4151, 5558, -2728, 5432, -4257, 5071, -2096, -2457, 1749, 1519, 2713, -5241, -9156, 1592, 1769, 4631, 1987, -137, -5156, -389, 2606, -5293, -2653, -6350, -23, -9734, 1707, 2279, -2156, 2315, -835, 1111, 1865, 1975, -1349, -1592, 1697, -3129, -7088, 343, 378, 2190, 1692, 3523, 1704, -2903, -629, 7128, -2549, 1162, 1099, 11064, 1800, -2073, 3456, -1328, -556, 6367, 2507, -6338, 844, 260, 1503, -685, -5129, 2783, -1360, 6623, -8093, -2378, 5379, 2560, -314, 8260, -411, -11122, -7820, 7169, -2050, 315, 2535, -1469, -3183, -2507, -3015, 2486, 676, 413, -1966, -3556, -324, 6688, -6663, -685, -2782, 1735, 5964, -418, -12, -2216, 33, 1331, 3241, 238, 2505, 6324, -2162, 4109, -1633, 513, -415, -733, 4716, 3416, -5563, 8076, 6333, 5864, -323, -280, 192, 3512, 3522, -12701, 2122, 6592, -5853, 3352, 4637, 128, 3272, 3977, -3247, 796, 4066, -2813, 6930, -1596, 5433, -3030, -621, -2880, 605, 0, 3975, 1573, 4092, -4095, 5959, 5269, -9, 7401, -524, -2193, 4597, 5762, -5598, 1113, 6244, -1615, 7592, 2318, 2817, 1789, 4717, 374, 343, -7596, -9216, 414, 4314, -400, 3030, -1954, 4102, 567, -1374, 829, 10348, -1265, 2083, -457, 6541, 6573, 4499, 303, 1572, 3924, 5428, -4284, 4631, 1110, 1711, 8177, 4639, -2426, -4526, -214, 4655, 7970, 254, 2790, 1323, -2523, -7247, 4843, 6696, 3039, 1839, 3243, 1044, 6567, 1956, 1174, 4240, -2359, -6670, -6698, -5598, 123, 9278, -11021, -2669, 5589, 1587, 1588, 1973, -821, 1114, -3449, 3, 1666, 7692, -5839, 6520, 2061, -5766, -1163, -1520, 697, 2005, 4033, 2397, 810, 9107, -6471, 1020, 9281, 1886, 142, 1852, -1330, -5163, -1989, 6837, 507, -83, -2246, -5721, 3547, 3123, -500, -3248, -1912, 2806, -644, 3602, 4783, -318, 534, -1256, 2254, -2581, 1827, 1135, 4322, 1943, 6937, 2525, 4410, 5872, 307, -1066, -4215, 5242, -2392, -1977, -2217, 4870, 5071, -1819, 4750, 7501, 3110, -2606, 3879, -5943, 7104, 4491, -7011, 987, -442, 5081, 1104, 5795, 12066, -5296, -3685, -5934, -2223, -2508, 4418, 675, 3303, 780, -980, 4536, -3198, -8727, 9501, -2386, 1874, 2230, -2667, 1847, 5167, 719, 7806, -1202, -2599, -1555, -4875, -1219, 2583, -2882, 916, 2195, -686, -5393, -6659, -1760, -2175, -4775, -5259, 2596, -1574, 136, 3327, -5422, -1624, 5526, 9706, 4446, 1495, -1226, -5582, 4615, -3253, 7787, 2730, -1901, -1945, 10903, -3779, 4821, 6675, 5292, -972, -1231, 4386, 5789, 4237, 2458, 8486, -3304, -1030, 5169, 1202, 6808, -3868, 1563, 3370, -6274, 4673, -10589, -1277, 6584, 3258, -2804, 3215, -1467, 3355, -3441, -1187, -2879, -2561, 3414, -2455, 3718, -7690, 4375, -2371, -5762, 746, 3474, 212, -7291, 7023, 9898, 626, 2380, -1469, 820, 19682, -9637, -4901, 261, 1435, 854, 3379, 1490, 5961, 112, -2544, 2149, 1403, 4809, -3200, -3658, -2186, 614, 8216, 7539, 5805, 5641, 3934, -4188, 2872, -3738, 7234, -4831, -974, -3124, -2632, -268, 1898, 948, 7672, 420, -3685, 3488, 1962, -6103, -2379, -6008, 1088, 901, 6105, 459, -2955, 135, -3954, -103, -8114, 5435, -5051, -3878, -3787, -4048, -2277, -1305, -8430, -5269, -135, -6834, -5938, -2850, -1621, -4868, -5045, -442, 3330, 3841, 215, -1243, -5186, -225, -9183, 3138, 300, -2978, -2640, -7885, 2168, 5585, 2675, -1497, -2405, -75, 9004, 1459, -7863, -348, 3905, 2061, 6240, -693, -6232, 258, 4366, 6885, -7522, -5738, 796, -7429, -3544, -3288, -4965, -644, -5894, -3690, -11492, -3420, -7613, -2434, -4025, -5582, 393} +#define FC28_W_Z (170) +#define FC28_IN_Z (0) + + +#endif /*__160_0_5_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/160_0_75_parameters.h b/Inc/intq-mobilenet-v1-models-pc/160_0_75_parameters.h new file mode 100644 index 0000000..2ecff39 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/160_0_75_parameters.h @@ -0,0 +1,361 @@ +#ifndef __160_0_75_PARAMETERS_H__ +#define __160_0_75_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (160) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (24) +#define CONV1_OUT_DIM (80) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (80) +#define CONV2_IM_CH (24) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (24) +#define CONV2_OUT_DIM (80) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (80) +#define CONV3_IM_CH (24) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (48) +#define CONV3_OUT_DIM (80) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (80) +#define CONV4_IM_CH (48) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (48) +#define CONV4_OUT_DIM (40) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (40) +#define CONV5_IM_CH (48) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (96) +#define CONV5_OUT_DIM (40) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (40) +#define CONV6_IM_CH (96) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (96) +#define CONV6_OUT_DIM (40) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (40) +#define CONV7_IM_CH (96) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (96) +#define CONV7_OUT_DIM (40) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (40) +#define CONV8_IM_CH (96) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (96) +#define CONV8_OUT_DIM (20) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (20) +#define CONV9_IM_CH (96) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (192) +#define CONV9_OUT_DIM (20) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (20) +#define CONV10_IM_CH (192) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (192) +#define CONV10_OUT_DIM (20) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (20) +#define CONV11_IM_CH (192) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (192) +#define CONV11_OUT_DIM (20) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (20) +#define CONV12_IM_CH (192) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (192) +#define CONV12_OUT_DIM (10) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (10) +#define CONV13_IM_CH (192) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (384) +#define CONV13_OUT_DIM (10) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (10) +#define CONV14_IM_CH (384) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (384) +#define CONV14_OUT_DIM (10) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (10) +#define CONV15_IM_CH (384) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (384) +#define CONV15_OUT_DIM (10) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (10) +#define CONV16_IM_CH (384) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (384) +#define CONV16_OUT_DIM (10) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (10) +#define CONV17_IM_CH (384) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (384) +#define CONV17_OUT_DIM (10) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (10) +#define CONV18_IM_CH (384) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (384) +#define CONV18_OUT_DIM (10) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (10) +#define CONV19_IM_CH (384) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (384) +#define CONV19_OUT_DIM (10) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (10) +#define CONV20_IM_CH (384) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (384) +#define CONV20_OUT_DIM (10) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (10) +#define CONV21_IM_CH (384) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (384) +#define CONV21_OUT_DIM (10) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (10) +#define CONV22_IM_CH (384) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (384) +#define CONV22_OUT_DIM (10) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (10) +#define CONV23_IM_CH (384) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (384) +#define CONV23_OUT_DIM (10) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (10) +#define CONV24_IM_CH (384) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (384) +#define CONV24_OUT_DIM (5) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (5) +#define CONV25_IM_CH (384) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (768) +#define CONV25_OUT_DIM (5) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (5) +#define CONV26_IM_CH (768) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (768) +#define CONV26_OUT_DIM (5) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (5) +#define CONV27_IM_CH (768) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (768) +#define CONV27_OUT_DIM (5) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (768) +#define FC28_OUT_CH (1000) + + +#endif /*__160_0_75_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/160_0_75_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/160_0_75_weights_bias.h new file mode 100644 index 0000000..e32d58a --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/160_0_75_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __160_0_75_WEIGHTS_BIAS_H__ +#define __160_0_75_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {-8084871, 115739, 49078, -5723552, 18650, -28889384, -9161951, 47758, 42126, 218338, 154876, 17386, 193501, 64369, -10627675, 23025, -36222712, 220105, -4754305, 120539, 10616, 541010, -8244058, 25388} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-5, 253, -128, 32, -128, -160, -160, -203, -46, -16, -141, -86, -154, -91, 100, -69, -45, -245, -149, -157, -90, -1269, -146, -147}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1137572992, 1266350080, 1267364096, 1917690624, 1237428736, 1904191104, 1098937088, 1255289216, 1734508800, 1431569024, 1380623616, 1688990208, 1547199744, 1577059712, 1493786496, 1529983232, 1686028416, 1316147968, 1937356032, 1287195776, 1320659968, 1850400128, 1898231808, 1374032640}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {-137, -140494, 17287, -265, 35525, 184, -258, -21804, -13885, 7472, -40951, 65766, 45435, 12812, -3036, 52381, -158, 12807, -541, 4194, 4285, 16604, -130, 46377} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-171, -24, -130, -205, -186, -178, -197, -37, -53, -117, -70, -224, -222, -181, -154, -217, -116, -140, -594, -56, -138, -49, -324, -209}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1617361536, 1708328192, 1760259328, 1685949696, 2136683264, 1676719232, 1964752640, 1299746176, 1084574080, 1812449664, -1720040064, 1739063168, 1409500416, 1441120512, 1532612224, 1155453568, 1555734528, 1800857600, 1088516992, 1311989888, 1486147456, -1096501760, 1295056512, 1250188032}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {15789, -8227, -13722, -333905, -45720, 948149, -9179, -7671, -23593, 10111, 8217, 28232, 33727, -9538, -26065, 7601, 5578, 11558, -29188, -1255, -3803, -24245, 12492, -6665, 17380, 3414, -24951, -40265, -54772, 12345, 507921, 17205, -26047, 68555, -30396, 42139, 17082, -6090, -30401, 24967, -53811, -12735, -44254, 21908, -28514, -10826, -29466, -20579} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-91, -54, -41, -146, -17, -122, -29, -148, -82, -67, -79, -132, -183, -79, -63, -160, -109, -155, -82, -110, -130, -28, -138, -58, -101, -125, -93, -21, -79, -85, -125, -114, -80, -162, -24, -187, -162, -94, -87, -130, -144, -128, -27, -153, -8, -65, -38, -42}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1927038848, 1920225664, 1118727680, 1784823168, 1566699648, 1163832192, 1438664832, 1201934848, 1244879872, 1436054144, 1577486592, 2099393536, 1810912000, 1256647552, 1459106304, 1870014208, 1338692864, 1609911168, 1907456512, 1505832704, 1309892352, 1164021888, 2114798208, 1390983296, 1242610560, 1748776704, 1570210560, 1603111808, 1926089856, 1986707712, 1832073472, 1371312512, 1117656576, 1936784512, 1273291520, 1446905984, 1639721600, 1591259008, 1841368448, 1208575232, 1886158720, 1314020736, 1375993344, 1096013312, 1788192128, 2141904128, 1452946816, 2009898880}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {8890, 35086, 48701, -300, 46571, 38, 4391, 41670, 108533, 11274, 3221, 34563, 1962, 76866, 12873, 210662, 15276, 167040, 1868, -18529, 1048, 17337, 119781, 9292, -389, 48846, 52530, 5049, 1948, 8646, -4337, 5162, 8398, 87803, 5626, 101, 48206, 8445, -2051, 790, -1940, 78786, 1844, 181875, 113962, 1817, 24300, 10968} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-94, -167, -274, -224, -236, -161, -128, -143, -288, -162, -104, -295, -129, -104, -115, -273, -164, -237, -109, -88, 7, -98, -296, -151, -80, -195, -272, -85, 40, -115, -119, -100, -78, -242, -89, -121, -252, -82, -136, 15, -59, -251, -16, -252, -254, 33, -124, -14}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1288772608, 1462102272, 1685571072, 1405718016, 2134503040, 1104785664, 1312350336, 1140658304, 1905542912, 1335042176, 1653724032, 1789287296, 2016464384, 1885725184, 1168775168, 1333326208, 2131417728, 1869406336, 1496652544, 1762379392, 1601934848, 1267675264, 1108323200, 1081063680, 1350700928, 1906697344, 1777091840, 1948575872, 1299564544, 1208837632, 1079692672, 1449364992, 1461278080, 1673113472, 1395726336, 2017465088, 1095245568, 1364479360, 1604778240, 1342994304, 1363582976, 1793555712, 1578073600, 1404810624, 1137294592, 1214101120, 1318963328, 1814188032}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {28776, 35867, -2854, 39000, 27930, -9372, 119949, 87001, -334, 33983, 11614, 55369, 70211, -33993, 52595, -19829, -5134, 842, -12524, -39604, 5448, 56451, 15815, -34486, 180331, -31924, 1393, 22145, 15544, 10224, 10572, 27897, -44403, 10746, 8862, -1022, 14068, 49387, -54737, -48749, -4783, 12018, -9470, -34752, -27499, 29180, -52891, -33130, 262114, 15903, 18890, -42560, 22417, -7235, -13287, 15060, 18845, 5347, 6697, 663, 52154, -15063, 16207, 16827, 5686, 113519, -7851, 48360, 7672, 35756, -39735, 23377, -44680, 68662, 53258, -37908, 8484, 35002, 14523, -32678, -14462, 20776, -7584, 44845, 62273, 31240, 3011, 83291, -14022, 11850, 59014, 1736, -33381, 39074, -60849, 39571} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-155, -152, -132, -132, -175, -110, -131, -182, -180, -196, -86, -218, -114, -78, -124, -111, -117, -150, -122, -82, -120, -150, -92, -42, -189, -128, -170, -97, -113, -150, -136, -110, -128, -187, -106, -117, -176, -156, -100, -49, -109, -154, -58, -82, -46, -157, -38, -93, -130, -157, -169, -48, -155, -83, -107, -134, -115, -106, -38, -183, -120, -102, -102, -131, -130, -175, -133, -122, -141, -156, -27, -164, -46, -133, -184, -68, -117, -120, -139, -81, -156, -135, -57, -209, -143, -148, -102, -133, -154, -193, -163, -103, -43, -158, -88, -130}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1364072704, 1174221568, 1318170368, 2095382528, 1630778624, 1126018304, 1537039744, 1475166208, 1695529344, 1708426880, 2109213440, 1519197184, 1258692352, 1428365696, 1759998720, 1875566464, 1816239488, 2058470656, 1989574400, 1741514496, 1980631936, 1840349696, 1762105216, 1664820352, 1144866944, 1685982848, 1432962176, 1074735616, 1621171456, 1781019520, 2069036032, 1779759744, 2072758912, 1870654336, 1344294656, 1502469760, 1271568768, 1481239296, 1284612864, 2092108928, 1095474816, 1686624256, 1429513216, 1599078400, 2078973696, 1111587072, 1297006720, 2145662208, 1555664640, 1097679744, 1417238784, 2118747648, 1417359360, 1749671936, 1483111552, 1563377664, 2121249664, 1320129536, 1968152704, 1495819520, 1336457344, 1931842688, 1946108800, 1458121984, 1178913664, 1901066112, 1775808000, 1676283392, 1715458560, 1471276288, 1411437312, 1356610688, 1639827456, 2146344576, 1532711936, 1710046720, 1243466752, 1079701504, 1213749760, 1866490496, 1896020992, 1361921536, 1846658816, 1385678080, 1948305280, 1523873664, 1460540672, 1298763392, 1109013504, 1084967296, 1282742016, 1222376192, 1536828672, 1342023552, 1543092224, 1344952064}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {9000, 103768, 13096, -249, -575, 3500, 4968, 8215, 961, 1974, 8182, -6386, 4253, 1067, 28326, -245, 57171, 103287, -3361, -2003, 46010, -15020, 6410, 19137, 21279, 8265, -732, -18917, 25573, -7619, -3987, -95, 26595, -4627, -11941, 63790, 29927, 4743, -132, 11041, 48355, 34443, 291, -1006, 335, -1448, -5737, 8843, 280895, 24421, -53, -6858, 2942, 8669, -263, 1094, 56768, 670, 5800, 17569, 409, -7161, 6140, 37284, 7178, 20166, -1395, 3853, 21424, 67606, 36609, 59619, 5985, 312, 38131, 5950, 141, 18681, 211, -1927, 9901, 39550, 35341, 1706, 65051, -166, 11694, 3817, 3919, 27838, 261, -7816, 21838, -801, 2834, 4608} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-76, -222, -202, -119, -140, -82, -126, -128, -143, -143, -42, -36, -180, -85, -196, -89, -215, -235, -55, -99, -17, -53, -82, -240, -223, -21, -103, -24, -234, -18, -91, -127, -135, -37, -32, -217, -208, -183, -85, -80, -168, -116, -136, -86, -98, -75, -36, -210, -314, -179, -118, -40, -106, -85, -116, -32, -201, -91, -183, -153, -106, -47, -84, -120, -117, -235, -43, -43, -206, -237, -175, -221, -100, -114, -147, -83, -97, -49, -105, -34, -64, -183, -197, -113, -126, -114, -87, -83, -112, -132, -134, -51, -251, -90, -165, -25}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1199222656, 1141263360, 1681969536, 1123453440, 1263197312, 1204781952, 2079309184, 2084465024, 1207674752, 1360511744, 1741441792, 1494604160, 1140587776, 1726449536, 1685769600, 1801403392, 2017349760, 1926942592, 1799636224, 1436383360, 1452702592, 1915778304, 1394417792, 1619497344, 1614108160, 1864679680, 1581936896, 1895979904, 1546572800, 1437400832, 1854894720, 1392231168, 1464788096, 1563242112, 1575275392, 1904079104, 1707696512, 1266951680, 2096138752, 1317166464, 1799123840, 1173580672, 1452926976, 1430141824, 1315722752, 1750223488, 1971099520, 1639159424, 1760342016, 1771351936, 1360925696, 1460130688, 1235870976, 1472744960, 1282202880, 1138586112, 1589767168, 1964681216, 1150216832, 1991310592, 1376759296, 1525561088, 1212256512, 1973910528, 1296991744, 1605539072, 1459065984, 2056032896, 1336508672, 1894444928, 1333224448, 2007167232, 1073774080, 1535833472, 1238720512, 1330264192, 1738412288, 1710365440, 1864510464, 1237641216, 1450204288, 1937095424, 2078403072, 1439852288, 1658951936, 1214059008, 1367145600, 1796477952, 1786033792, 2136410496, 1779577984, 1205001984, 1964402432, 1205930240, 1338300544, 1253681664}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {7354, -7280, -9961, -7766, 102181, 38954, -491, -7276, 22536, 19384, -15646, -7308, 15322, 85168, -335, -14006, 4358, 38176, 10456, -7032, -34172, 17383, 56234, 114438, 181, -37385, 10102, -6781, -10148, 24218, 44536, 23639, 74656, 52684, 16754, 11328, -19961, -21760, 11518, 26267, -21389, 69107, 21035, 21851, 9941, -53304, 1225, 19723, 17792, -3017, -4289, 26949, 42748, 40992, 18481, -23315, -45991, -96350, 556, 16354, -920, -3972, 29159, -6869, 125, 5717, 22673, -1009, 10067, 14663, -43510, -9028, 10403, 3501, -17442, 579, 32730, -10817, 4650, 35276, 27200, 7709, -24344, -9282, -20590, -42931, 38429, 8696, 11917, 42614, -32518, 29436, 16026, -34092, 39070, 36501} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-70, -103, -98, -165, -134, -120, -193, -139, -125, -92, -132, -98, -80, -115, -122, -84, -126, -99, -128, -175, -123, -177, -111, -143, -137, -149, -117, -79, -81, -104, -107, -162, -120, -135, -121, -110, -125, -128, -108, -96, -63, -113, -170, -166, -116, -144, -101, -141, -49, -156, -145, -169, -180, -88, -165, -130, -105, -125, -153, -108, -45, -93, -147, -132, -125, -115, -117, -119, -74, -140, -122, -58, -117, -175, -117, -101, -141, -134, -123, -147, -195, -130, -143, -91, -142, -58, -179, -60, -138, -185, -133, -118, -122, -132, -181, -110}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1597105408, 1712172928, 2016194688, 1381782016, 1950498560, 1880810240, 1990761984, 1969638784, 1124133632, 2142317184, 1875468672, 1331185536, 1209692160, 1172183168, 1334943872, 1379408384, 2058778880, 1222292224, 1100435840, 1382051712, 1450416256, 1238087936, 2005315328, 1423956352, 1270950656, 2045242368, 1534735360, 1089697536, 1745198464, 1493159424, 2075709952, 1288248320, 1458050176, 1227130624, 1161506560, 1122073728, 1752720896, 1082325120, 1099312640, 1890740096, 1978003584, 1427700480, 1923088256, 1960997760, 1475111168, 2145366016, 1331660544, 1959913472, 1579353984, 1261940096, 2075521536, 1865368320, 1846212352, 1350654720, 1595997184, 2040327424, 2023507840, 1765039488, 1437343744, 1200518400, 1176488704, 1752283648, 1482671104, 2029977600, 1174439552, 1249537920, 1457291392, 2056561792, 1337333504, 1112045312, 1627012992, 1372943488, 1582892160, 1636452736, 1111040000, 1176961536, 1166134016, 1962937216, 1937230720, 2083362176, 1201846656, 1269432192, 2011177856, 1129564800, 1328178432, 1755253760, 1114472192, 2061839104, 1383140992, 1295708416, 2027040640, 1965808512, 1307442560, 1172370816, 2077449088, 1117711360}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {98048, 80812, 3007, 39905, 1978, 231531, 14859, 8217, -1241, 116153, 1285, -195, 137026, 130724, 9543, 1659, 2466, 1951, 31792, 150791, 3286, 12306, -63129, 161546, -54446, 838, 41802, 41737, 42841, -857, 121655, 116674, 61059, 68627, 180231, -59, 5139, 6162, -37258, 89169, 11, -58862, 1518, 151890, 2417, 128998, 88503, 255473, 54906, 10144, 55864, 6699, -2589, 809, 208940, 2523, 125967, 6476, 3800, -55, 21455, 1398, -5806, 67400, 110638, 100126, 2052, 135676, -30965, 1038, 407, 129618, 8360, 18334, -538, 2473, -56571, -6687, -24150, 10189, 241223, 117822, 10810, 2370, 978, 12436, 3241, 35091, -827, 11061, 3323, 73560, 87598, -125, 50026, 2536} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-304, -364, 59, -321, -157, -318, 77, 60, -93, -300, 95, 34, -345, -290, 62, 50, 43, -152, -127, -327, -151, 88, 65, -304, 64, 83, -171, -349, -106, 68, -329, -314, -192, -322, -353, 108, 84, 80, 65, -380, 73, 49, -80, -304, 47, -304, -408, -346, -259, 51, -316, 59, -147, -88, -307, 77, -336, 48, 100, 63, -271, 53, -150, -308, -310, -322, 61, -355, 76, 29, 82, -301, 97, -338, 72, 89, 64, -147, 41, 55, -342, -416, 52, 84, 67, -65, 78, -302, 70, 55, 85, -401, -262, 68, -326, -111}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1140608896, 1335261568, 1968261632, 1199654656, 1580410752, 1122857472, 1806138112, 1744661248, 1118370944, 1432710528, 1686336768, 1111127808, 1262787712, 2080785408, 1165849088, 1998587136, 1926022912, 1212314240, 1405410816, 1127022848, 1344312192, 1990983296, 1981967360, 1876365440, 2146899072, 1771384064, 1889214592, 1128052224, 1983694464, 1385462400, 1912143104, 2129927680, 1974105344, 1550259456, 1367963136, 1854576512, 1699459456, 1281430016, 1474684800, 1409811072, 1160543104, 1898516992, 1784328960, 1955234560, 1305614976, 1698871296, 1742378240, 1187801216, 1572489600, 1536177664, 1865687424, 1221530624, 1957961728, 1525165952, 1311916800, 1893467648, 1324880768, 1552940416, 1518243584, 1626786688, 1204858496, 2106660736, 1731025280, 1723305344, 1995337344, 1720069760, 1716274816, 2115240832, 1681355136, 1829493632, 2102040960, 1702951040, 1232486016, 1547255424, 1927732736, 1750035712, 1793551104, 1229996416, 1626869120, 1152626944, 1368156288, 2121206144, 1612599552, 1998275328, 1695222784, 1433160576, 1891454208, 1595688576, 2079909376, 1133916032, 1815142784, 1463167360, 1224393856, 1728146176, 1780236928, 1877908480}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {20966, 8216, 10962, 14374, 12445, -4409, 44683, 72421, 62955, -10897, -7448, 25082, 5693, 5130, 65290, 41363, 330, 48739, 11196, 11390, -6398, 42670, 5911, 45824, 27411, 51696, 69579, 55480, 13827, 96000, 1100, 19016, 17964, 34759, 26281, 14610, 27509, -523, 38870, 66965, 22931, 94834, 58650, 52209, 13481, 45924, 21140, 96310, 89556, -16085, 28069, 22615, 53935, -2337, -7065, -16086, 78618, 19034, 71332, -29467, -7741, 44045, -25126, 3970, -4540, 29098, -20330, 8440, 5424, 55846, -23992, -30713, 41116, 8676, 8471, 19757, 38946, 20713, -35431, 6274, 49329, 76875, 21452, 7531, 74184, 48005, 53838, 30498, 596, 9263, 37901, 30502, -13618, 36071, -13909, -40366, 17118, 1052, -27290, 21338, 60138, 37346, 56004, 12453, 44290, 12509, 76421, 58522, 340, 30130, 21542, 21480, 42626, 8868, 38259, 27987, 23611, 36446, -11182, -28493, 48436, 80802, 4020, 17916, -25733, 30491, 23997, 54125, 14846, -4476, -11143, 40010, -48559, -16436, -23350, 29979, 13802, 16588, 33387, 64356, 39814, 60104, 8309, 37823, 30918, 16907, 6685, 15141, -4312, 17276, 42662, 14345, 16819, -13132, -10770, -25002, 87866, 51044, 43088, 69934, -2012, 116290, 86701, 13933, 40766, 25960, -39336, 2356, -7298, 22958, 20096, 24459, 14130, -10683, 17546, 11622, 31841, -9580, 1795, -17148, -13517, 42374, 8955, 10108, 25161, 35283, 1895, 40102, 37183, 8636, -4198, 10572} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-114, -106, -139, -74, -99, -118, -99, -104, -156, -169, -89, -157, -141, -161, -135, -109, -94, -127, -123, -169, -95, -130, -100, -106, -124, -122, -126, -143, -67, -124, -93, -129, -74, -137, -169, -111, -111, -70, -151, -160, -89, -232, -135, -121, -115, -166, -142, -120, -138, -138, -109, -106, -94, -77, -128, -78, -140, -136, -151, -101, -101, -160, -104, -91, -123, -154, -65, -131, -120, -114, -134, -53, -100, -150, -138, -83, -118, -211, -79, -111, -137, -154, -103, -53, -136, -123, -154, -99, -104, -116, -127, -145, -169, -114, -60, -119, -115, -103, -78, -98, -162, -112, -122, -110, -129, -74, -125, -171, -68, -132, -103, -106, -76, -143, -138, -129, -124, -121, -103, -101, -131, -133, -83, -113, -99, -144, -136, -176, -97, -60, -88, -112, -149, -94, -124, -98, -110, -107, -134, -160, -116, -112, -68, -116, -79, -111, -83, -79, -114, -83, -96, -131, -115, -117, -128, -107, -158, -111, -131, -134, -102, -142, -88, -123, -151, -98, -105, -110, -103, -87, -58, -127, -169, -49, -117, -108, -130, -115, -39, -83, -120, -93, -141, -114, -64, -106, -70, -159, -96, -110, -89, -76}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1603477248, 2072577408, 1733714816, 1650255488, 1389098880, 1141593600, 2025853696, 1311323520, 1362504448, 1506261888, 1374460288, 1505013376, 1455008384, 1140342912, 1315758080, 1144697728, 1736645760, 2035342336, 1088683136, 1921165824, 1563563136, 1838349952, 1414092544, 2022997376, 1933626496, 1718496000, 1248214144, 1976119424, 1162884608, 2145951232, 1121311744, 1714687360, 1699752704, 1388555136, 1936076928, 1403276032, 1903324800, 1413304064, 1570500608, 1591948288, 1171271040, 1643100544, 1559898496, 1234192640, 2103138688, 1291698688, 1375214080, 1369090688, 1834046848, 1287357952, 2020661376, 1438351744, 1245493248, 1145064704, 2032817536, 1200144000, 1738865280, 1106377984, 1225257600, 1389320576, 1276107392, 1698391936, 1535973120, 1245433344, 1077264384, 1380550912, 1447459328, 1102536064, 1687335168, 1205485824, 1469247616, 2029700352, 1975224448, 1104519168, 1982671872, 1723975296, 1437567360, 1159564544, 1301439872, 1247823872, 1166363136, 1202511744, 2130430080, 1223421184, 1075482112, 1809275776, 1372887424, 1506030336, 1413827200, 1278179840, 1562884352, 2082557056, 1676961536, 1948571776, 1380231808, 1215425024, 1163923712, 1483784960, 1436851712, 1168344448, 1321051008, 1399540480, 1755808128, 1960896128, 1349217920, 1604917120, 1082611200, 1495126656, 2142831744, 1085245440, 1252240384, 1284595840, 1849491200, 1153108992, 1248238336, 1424686976, 2054155648, 1792300928, 1650093568, 1420264192, 1418363648, 1190513536, 2090921344, 1249801344, 1293614080, 1889419264, 1320528000, 1087403136, 1505960064, 1996400768, 1353124736, 1723945472, 1273224832, 1323781632, 2030962560, 2119374592, 1676631424, 1542585856, 2112892800, 1210525440, 1921426688, 1220678016, 1217784832, 1390532096, 1572037504, 1617396608, 1216997632, 2054601216, 1848762496, 1108523264, 1075836160, 1683837312, 1809630208, 1118480384, 1630694784, 1243486080, 1174295296, 1546623744, 1386835456, 1409393152, 1594268160, 1159896192, 1612299392, 1126220800, 1294372864, 1165515648, 1153097600, 1166650880, 1453989120, 1470485632, 1485730816, 1352203392, 1293101696, 1263920256, 1129339520, 1145742976, 2126391040, 1324603136, 1095433216, 1939959168, 1803504128, 1816589952, 1275135872, 1705211136, 1995696896, 1260696448, 1104150144, 1374331520, 1514141184, 1101821312, 1391332096, 1076343296}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {49403, 37063, -1158, -428, 3323, -135, -158, 51582, 359, 2723, 32796, -22166, -8482, -12933, -671, 488, 33232, 1215, 36076, 8898, 85, 1601, 19480, -8627, 48386, -4079, 1219, -5165, -1097, 11348, -3471, -1866, 295, 15813, -6101, -7110, 33087, -137, 31128, 3705, 35475, 94866, 32231, 24660, -93, 41930, 31137, 36734, 12162, -3062, 73706, 4423, 39714, -5609, -3111, -5992, 12956, 21432, -784, -164, 9714, -1325, 334, 226, 737, -3238, -6524, 32490, -276, 907, 95572, -87, 20746, 71094, 14260, -707, 195, -7205, 10838, -34901, -7230, -6288, -141, -1221, 43, 13, -7741, 348, -2362, 54358, -6551, -148, 80455, 10609, -25, -1978, -8353, -5109, 333, 31859, 30528, -5207, -692, -276, 2709, -1575, -1386, -121, 1613, -37036, -866, 39808, 283, 14857, 667, 7275, -5348, 13590, -8072, 146, -1233, 12055, -8886, 5713, 2068, 25317, 883, 125, 47, 30904, 157, 29662, -4248, 22515, 45036, -10, 26, -5540, 38331, 1014, -271, 29994, 19752, -339, 308, -901, 62041, -11869, 5500, 642, -190, -102, 36787, 727, -2157, 1177, -6461, 318, 983, 7214, 24218, 4565, 355, -8046, -29, -1182, -10220, -184, 308, 29915, -827, 33803, 93051, -11862, 898, 70073, -640, -1450, 2126, -4004, -3987, 61938, 42740, 103, 20806, -565, 26844, 1981, 1202, -1052, -10703, 29574} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-235, -226, -119, -65, -64, -128, -117, -198, -151, -123, -232, -7, -30, -27, -118, -85, -260, -89, -238, -62, -99, -202, -229, -37, -219, -80, -96, -86, -110, -102, -75, -127, -96, -71, -88, -39, -233, -109, -228, -71, -239, -242, -169, -217, -87, -302, -232, -236, -62, -116, -274, -196, -233, -38, -50, -26, -187, -235, -108, -145, -52, -152, -59, -91, -83, -46, -37, -241, -106, -38, -261, -48, -229, -269, -71, -53, -120, -28, -47, -68, -62, -116, -59, -60, -145, -42, -27, -100, -46, -226, -79, -113, -227, -47, -40, -46, -50, -35, -134, -245, -214, -70, -60, -83, -59, -55, -123, -104, -199, 64, -32, -192, -125, -187, -141, -174, -35, -95, -34, -55, -105, -113, -22, -114, -130, -226, -108, -79, -116, -240, -55, -212, -44, -186, -208, -82, -39, -32, -290, -90, -151, -215, -219, -118, -149, -64, -228, -78, -194, -128, -128, -40, -224, -94, -27, -130, -61, -95, -110, -53, -217, -85, -114, -26, -31, -24, -42, -82, -101, -214, -136, -209, -374, -64, -111, -256, -128, -76, -135, -41, -36, -247, -274, -144, -222, -129, -220, -162, -87, -47, -29, -238}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1620889344, 1707030528, 1748429824, 1603537152, 1686830720, 1502539648, 1844195456, 1676337536, 1125316480, 1369073152, 1107905152, 1312647808, 1306492160, 1947881216, 1473354496, 1211947008, 1714940288, 1183295360, 1307257472, 1225569408, 1432015744, 1183721728, 1864446208, 1084511360, 1274668416, 1882123008, 1428439040, 1359423360, 1122367872, 2132383744, 1523162112, 1515922560, 1609808512, 1373204352, 1412818432, 1174180096, 1471668224, 2092163968, 1954388992, 1133222144, 1899879936, 1102303616, 1647294336, 1147255168, 1629378688, 1259725952, 1115535232, 1335942272, 1449525632, 1496834176, 1789225728, 1619481728, 1977513472, 1211233280, 1664340224, 1998692992, 1546948736, 2075151360, 1909160064, 1368951808, 1588425472, 1704440960, 1346235264, 1308218624, 1176486656, 1181881344, 1182213760, 1431103744, 1131140864, 1099847680, 1747085568, 1502975488, 1326703104, 1093186304, 1917931136, 1077152640, 1382201856, 1995161856, 1867998336, 1460883968, 1392584960, 1545584896, 1491959296, 1626859520, 1782152320, 1261207936, 1073895168, 1089211904, 1252239488, 1947199232, 1188526976, 1236907008, 1085900032, 1620618112, 1271302144, 1433306880, 1695889920, 2051218688, 1589870336, 1482940032, 1535819136, 1382702464, 1622709376, 1103621760, 1317817984, 1134871296, 1741232640, 1140531328, 1459142016, 1814772480, 2003731200, 1507687680, 1613392512, 1144642048, 1232194944, 1795887488, 1118105984, 1111488640, 1258206464, 1725773824, 1932893312, 1763552384, 1841902592, 1448839680, 1332839168, 1174874368, 1124714240, 1986706432, 1188085888, 1907441920, 1661478784, 1189268480, 1749840384, 1332981248, 1304236288, 2044756864, 1293685120, 2109947264, 1694006272, 1238154112, 1115414528, 1411890560, 1148958848, 2057733632, 1143615872, 1986024320, 1207511296, 2031995008, 1243703680, 1454639360, 1209513984, 1542225920, 1196926208, 1149528832, 1104539008, 1957588224, 1129448704, 1585758336, 1113951232, 1385294464, 1417308416, 1634637184, 1511038464, 1720584704, 1177433088, 1492212480, 2144321536, 1681230208, 1519902592, 1952061568, 1729081344, 1653500416, 1383986048, 1085554560, 1282891264, 1554120832, 1923258496, 1409345664, 2102339328, 1761808896, 1109802112, 1484899072, 2137372928, 1913284096, 1287360896, 1142160384, 1888544128, 1829337216, 1231620352, 1440544512, 1628643328, 1113058560}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {1393, -12426, 9267, 8530, -43543, -2414, 10734, -27564, 92885, 78100, 13086, -6364, 11890, 110, 69378, 701, 12808, -5857, -18935, 77792, 26256, 447, 28161, -11239, 47398, -60667, 37462, 9473, 7735, 40858, 4490, 21608, 9603, 42364, 66804, 11613, -1337, -10682, 24093, 18672, 31466, 17667, 47574, 42200, -1839, -5549, 72741, 29984, -18684, -13998, 28989, 8619, -15564, 24083, 52506, -46159, 58953, 41742, -13337, 10213, 12869, 10771, 44769, 13569, -12946, 2782, -6354, -12554, -15291, -10977, 60504, 780, 11512, 10345, 20381, 55351, -6255, -37469, 40978, 3527, 19224, 15594, 55697, -22075, 57946, 47309, -4884, 442, -10713, 33849, 5800, 8592, 8242, -3636, 17569, -19866, -25821, 6741, -4199, -8099, 5485, -12190, 13122, 35950, 85527, 11322, -5802, 724, 61570, -18177, -9310, 21154, 36184, 11556, 41534, -6857, -41766, -4192, -2868, -12674, 60435, 8647, 42355, 40324, 47617, 44303, 34748, 62426, 22979, 9835, 1117, -20243, 5857, -815, -55388, -6313, -1781, 10735, 43964, 6600, 91173, 7555, -15329, 11331, -27046, -14689, 1476, 41236, -10680, 5218, 48824, 48358, 3208, 29282, -1108, -3821, 33138, 63331, -18549, 15068, 3453, 17034, 18155, 3553, 51210, -20550, 24464, 49961, 39121, -19941, 99833, -5626, 30145, 18688, 193626, 52344, -20716, -30582, 1443, -7226, -20681, -43319, 29642, -8007, -26818, -19689, 70995, 14769, 56505, -12703, 32557, -8405} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-162, -114, -129, -127, -103, -138, -159, -125, -144, -156, -118, -133, -115, -79, -110, -127, -168, -111, -129, -108, -134, -136, -130, -91, -127, -119, -106, -138, -127, -173, -105, -139, -132, -177, -138, -145, -138, -126, -133, -118, -99, -93, -123, -141, -113, -154, -145, -162, -123, -138, -106, -128, -117, -103, -150, -89, -116, -153, -120, -124, -67, -101, -159, -111, -82, -167, -90, -111, -127, -96, -132, -111, -148, -146, -120, -141, -126, -120, -117, -80, -154, -148, -154, -79, -125, -182, -84, -130, -139, -133, -107, -144, -126, -122, -96, -136, -117, -140, -111, -135, -115, -124, -109, -98, -124, -90, -100, -112, -126, -147, -85, -118, -126, -76, -139, -126, -96, -147, -155, -131, -131, -125, -160, -123, -113, -177, -176, -93, -113, -131, -110, -76, -115, -159, -102, -129, -135, -69, -149, -130, -105, -118, -105, -170, -143, -140, -156, -120, -123, -136, -127, -136, -117, -173, -139, -160, -137, -135, -99, -112, -147, -177, -169, -147, -124, -83, -107, -175, -121, -128, -157, -102, -90, -138, -152, -174, -127, -140, -173, -91, -116, -139, -117, -111, -121, -126, -172, -139, -165, -114, -77, -107}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1610865792, 2033301760, 1424660864, 1257944448, 1724827776, 1187891968, 1109094528, 1395228160, 1389974144, 1551561216, 1640124032, 1680265216, 1527443712, 1821882624, 1966371456, 1569901312, 1844273536, 1843054080, 1486347264, 1538158976, 1745148160, 1601187456, 1502252928, 1371724032, 1174644224, 1757346688, 1396148736, 2100917376, 1589027456, 2049825024, 1392248832, 1180117248, 1487312384, 1173012864, 1325115136, 1342404352, 1402221824, 1797712640, 1566776960, 1468098944, 1116795264, 2091497856, 1997105408, 1682091520, 1348642048, 1353666432, 1253682688, 1184819456, 1194328448, 1236406144, 1853461760, 1416563328, 1996182656, 1165899520, 1380194688, 1499871232, 1463090688, 2087861760, 1830954496, 1777507328, 1325097472, 1137554176, 1838593408, 1962629888, 1321678336, 1200676096, 1970977920, 2041183104, 1512020736, 1423609728, 1799133312, 1561156992, 1725395072, 1695749120, 1951950208, 1263935872, 1675359232, 1246058752, 1856168064, 1429005440, 1901747840, 1757705088, 1479353856, 1742458880, 1258762880, 1148636416, 1294445184, 1743949312, 1706637568, 1669407616, 1215912704, 1564090880, 1866949120, 1350864640, 1813031808, 1332776576, 1805550336, 1411584640, 1867970944, 1639227136, 2071006976, 1901251712, 1618038912, 1456736768, 1156407424, 1320020864, 1258439808, 1769102208, 1598521856, 2047101056, 1120955264, 1340379520, 1597367936, 1435817728, 1873182976, 1645168640, 2112225152, 1087145728, 2056302592, 1612727936, 1755132288, 1497956480, 1354651136, 1164522112, 1699114752, 1490514432, 1634844416, 1729170304, 1831898368, 1563105536, 1651806976, 1157575808, 1241065216, 1863528448, 1132157696, 1460559744, 1973481472, 1492016768, 1824924416, 1368423808, 2088373632, 1514663168, 1258162816, 1715362432, 2120737664, 1508610560, 1991756928, 1234183424, 1294645760, 1076743808, 1906016256, 1191480704, 1803894528, 1257660928, 1695038336, 1129834368, 1184348544, 1492295424, 1078794880, 1864240000, 1348888448, 1334649984, 1244095104, 1750354560, 1601228032, 1087001728, 1934336512, 1372910848, 2071224704, 1167168512, 1892049024, 1571553280, 2071537536, 1776485120, 2097685376, 1195500800, 1596947200, 1813753344, 2104919168, 1585382272, 1311002368, 1476797824, 1111617408, 1092741376, 1804356096, 1778476160, 1874111744, 1186364288, 1243288704, 1525050240, 2103993984, 1262616832}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {83188, 85271, 96699, -3756, 62219, 8697, 8435, 1496, 8170, 2549, 72892, -1603, 66928, 98005, 184298, 5338, 123, -49349, 148092, 1908, 167104, 6945, 140743, 54145, 80152, 2545, 181702, 98574, 9642, -2112, 18352, 104869, 2645, 192296, 146529, 581, 110190, 2624, 50640, 64201, 135157, 84328, 120149, 161341, -950, 40760, 85955, 8746, 103114, 4392, 74999, -546, -5111, 123346, 4216, -333, 389, -3372, 82824, 6102, 106139, -1359, 11264, 105687, -1680, 107868, 5516, -1032, 323, 2149, 113512, -2265, 120579, -63, 78137, 76796, 139180, -1005, -1803, 56601, 7270, 17025, -1926, -443, 92449, 100241, 84290, -1874, 3307, 109119, 50, 94584, -1192, 52089, 15064, -1555, 141630, 1774, 3943, -1355, 15918, -1716, 7079, 19630, 131375, 4031, 672, 80331, 121064, -3398, 1391, 241796, 71957, -2169, 2681, 1056, -2545, 91763, 962, 201945, 14394, 1271, 777, 113023, 7384, 155997, 5746, -27188, 97390, 61193, 94639, -670, 4193, 142057, 130895, 2836, 83600, 77193, 136820, -24658, 10568, 87192, 82334, 96049, -9528, 7932, -386, 106962, -936, 168619, -390, 105, 3478, 104156, 841, 4191, -880, 187651, 143003, 163595, -1530, 76045, 838, -560, 17032, 16337, -2348, 202236, 194249, 3633, 17816, 115764, 16438, -1156, -9983, 113737, 9842, -844, 5907, 106653, 1958, 1925, 86532, -132, 57246, 107030, 108820, 166091, 9218, 13507, 98022, -1363} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {-281, -366, -407, 79, -287, 68, 75, 69, 75, -163, -324, 94, -297, -400, -327, 77, 103, 173, -358, -164, -321, 60, -297, -336, -270, 79, -346, -328, 100, 68, 93, -321, 75, -322, -315, 99, -331, -52, -376, -314, -289, -315, -305, -350, 90, -123, -320, 96, -340, 88, -281, 67, 123, -289, 58, -67, -149, 75, -315, 88, -291, 70, 69, -267, 104, -336, 90, 38, 142, 107, -294, -108, -302, 81, -313, -367, -321, 67, -142, -260, 64, 87, -81, 70, -331, -368, -309, 74, 59, -322, -112, -343, -96, -353, 111, 38, -404, 56, 110, 62, -155, 44, 62, -129, -301, 44, 73, -340, -314, 70, 61, -325, -345, -156, 58, 76, 100, -324, 73, -338, -102, -110, 64, -337, -99, -323, -104, 49, -365, -313, -336, 42, -116, -349, -294, 51, -355, -303, -312, 106, -106, -319, -354, -364, -93, 103, 50, -293, 125, -317, -160, -89, 130, -282, 75, 67, 81, -321, -472, -358, 62, -384, 71, 36, 134, 59, 89, -325, -337, 108, -125, -385, 62, 82, -106, -319, 104, 78, 73, -288, 75, 91, -278, -171, -328, -345, -290, -317, -110, 64, -293, 73}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1423912064, 1073803264, 1163062656, 1795854720, 1632788480, 1094500864, 1841774464, 1096924160, 1208451456, 1395258112, 1523512960, 1308049408, 1649128064, 1704687488, 1240728832, 1944040064, 2022794112, 1398885888, 1869848448, 2122783616, 1322010496, 1708446208, 1475239936, 1085222144, 1219044480, 1418932096, 1312389632, 1157835008, 1951728128, 1376186880, 1802074496, 1866450560, 1427462016, 1633975936, 1961277184, 1091023872, 1590018432, 1089919488, 2050061056, 1619737856, 1475456512, 1372625152, 1886981120, 1334951296, 1456149120, 1487163136, 2003205504, 1742549376, 1181383168, 2135625088, 1440957184, 1967388288, 1344120832, 1878656384, 1613044736, 1985536256, 1248180096, 1958340864, 1322569728, 1832644480, 1979455104, 1114983680, 1253670656, 1766092032, 1075892096, 1837984768, 1153616384, 1753127552, 1453629312, 1139687424, 1985006208, 1272501504, 1507827584, 1789841536, 1985407232, 1513697536, 1267438080, 1627957632, 1629739136, 1356336256, 1679499392, 1600400000, 1638958976, 1333236864, 1275555328, 1382552832, 1487989120, 1379695872, 1625100928, 1697560832, 2077015552, 2092468096, 1928020352, 1826302848, 1666576128, 2130296832, 1508904064, 1995691648, 1282298368, 1577273984, 1812825728, 1280049664, 1434365184, 1909895040, 1829044992, 1683157120, 1607147648, 1530300288, 1803221376, 1834002560, 1192845056, 1200184320, 1371898240, 1541942784, 1370111360, 1501307264, 1600480256, 1369884800, 1850383104, 1119371136, 1484461824, 1656916096, 1854810624, 2050665856, 1346252160, 1421601152, 1191540224, 1634731520, 1154569600, 1661303680, 1281997824, 2125465088, 1515190656, 2082197376, 1173676032, 1341808512, 1232172032, 2117968256, 1379199488, 2010712960, 1307826432, 1672679168, 1394976128, 1372338816, 1391585152, 1796882688, 1103421312, 1299702016, 1344445568, 1173090432, 1547155968, 2007701120, 1264120320, 1927204352, 1364975232, 1201948672, 1795674368, 1602408448, 1764186240, 1179079936, 1302792576, 1153143552, 1328159360, 1358282624, 1185003008, 1406553728, 2012998144, 1501413504, 1105290112, 1758560128, 1357074560, 1978621312, 1378175232, 1560241152, 1507301376, 1631185408, 1136429824, 1555887744, 1423731328, 1373255680, 1603664384, 2078384128, 1182804992, 1327749504, 1595124992, 1255241856, 1926850304, 1421348480, 1369382528, 1897499008, 1745657600, 1188612480}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {34252, 121456, 58982, 52091, 55350, -9494, 13495, 77771, 27456, 39111, 45624, 16524, 3686, -32059, 78613, 27054, 26097, 28323, 48277, 41808, 45047, -8908, 1122, 48775, 27696, 19754, -37379, 29450, 12678, 40993, -27182, 21723, 8954, 36646, 1785, 1496, -4299, 64509, 69328, 39430, 68170, -7866, 27428, -24011, 11506, -11349, 14134, 37484, 12383, -22934, 27978, 43101, -4810, -14881, -6136, 28268, -19929, 11679, -8829, 43800, 27098, 36733, 11483, 52793, 45778, 66966, 21635, 9705, 71404, 16466, 8649, 23517, 22931, 33052, 37863, 29698, 32379, -1129, 39718, -15988, 27615, 4799, 26871, 3404, 47486, 37300, 35307, 100319, 39430, 35259, 41885, 48301, 65477, 98724, -37737, -22995, 30183, -6855, 60305, 82371, 27041, 29539, 36826, -17536, 383, -54383, 70601, 52493, 35768, -1617, 13794, 52128, 21361, -17140, 6884, 27343, 29420, 29622, 76652, -21710, 29822, 7819, 26047, 45624, -5189, 36842, 34712, 46622, 219, 38172, -2647, 13721, 1371, 18858, 85465, 34522, -47699, 12289, 67801, 29055, -21847, 39792, -53486, 24321, 9619, -24474, 66313, 21468, 48849, -32066, 19457, 12633, 50715, 27366, 13714, 53022, -1567, 3546, 75266, -8549, 72082, 100239, 22923, 31327, 28057, 39074, 64368, 49276, 27146, -59486, 3234, -49320, 53405, 14606, -370, -39514, -22268, 27967, 4544, 46101, 18573, -15127, 31026, 18488, 54871, 48362, 22526, 12973, 60103, 40254, -14132, 54443, 50999, 14548, 11730, 78539, 78291, 59167, -27821, 53156, 46047, 33087, 30255, 6331, 131772, 90088, 42710, 38179, 110756, 61131, 86648, 55451, -12333, 54667, 63462, -9173, -1358, 10798, 3248, -7750, -115780, -8689, 31972, -44937, 36832, 27630, 9339, -13115, 10599, 14301, 27584, 36916, 36972, 37318, 20786, 51213, 29687, 4589, 27976, 8584, 16209, 45880, 59713, 33841, -4327, -17760, -4828, -37164, 37144, 117530, 103585, 44261, 7546, 783, 32216, 30555, 76293, 7583, 38474, 57208, 109561, 72856, 37633, 25128, 51453, 10391, 6660, 30518, 22056, -3581, 103729, -14639, 40330, 42247, -22190, 40964, 30026, 4374, 84925, 57882, 46840, -27605, 119364, 32121, 32124, 9630, 19206, 76445, -12340, 15574, 7482, 12769, 47667, 49206, 71786, -42551, 30925, -3525, 44678, 23570, -10483, -10187, 65380, 11194, 53288, 17702, 72397, 59617, 120165, 7244, -25393, 17424, -12789, 35975, 13528, 39796, 31688, 24244, 11211, 141602, 42122, 9956, 69903, 2880, 31538, 8857, 46944, 65839, 40327, 55290, 21106, 21904, 142055, 56510, 43934, -33560, 27899, 11891, 20307, 6497, 20488, 64844, 72044, 43021, 36991, -5846, -14418, 50807, 45199, 72633, -9286, 48637, 22327, 2623, 102900, 5011, 16075, 35610, 74537, 58373, 72071, 69034, 52322, 61681, 22664, 14544, 26360, 35358, 19160, 2050, 79617, 20077, 22392, 53531, 15851, 24488, 2393, 81882, -6999, 93979, 60244, 62927, 25513, 26978} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-90, -150, -123, -142, -142, -114, -124, -131, -94, -147, -88, -144, -127, -132, -150, -120, -121, -110, -99, -96, -124, -160, -109, -96, -102, -124, -104, -139, -147, -144, -75, -120, -129, -169, -131, -109, -116, -145, -114, -139, -159, -152, -106, -124, -139, -80, -109, -124, -75, -109, -157, -184, -124, -150, -110, -152, -124, -97, -155, -95, -126, -130, -127, -146, -152, -185, -100, -124, -137, -122, -103, -128, -118, -152, -93, -122, -142, -132, -78, -115, -151, -146, -125, -118, -126, -121, -112, -128, -107, -201, -159, -108, -100, -135, -117, -130, -81, -123, -108, -175, -154, -164, -119, -117, -96, -116, -114, -114, -107, -116, -121, -112, -92, -126, -103, -137, -110, -68, -104, -129, -112, -112, -108, -104, -77, -123, -106, -113, -103, -115, -108, -86, -87, -139, -132, -132, -107, -102, -97, -119, -128, -83, -92, -92, -126, -130, -129, -115, -91, -102, -96, -118, -113, -126, -74, -109, -134, -76, -105, -90, -118, -140, -131, -132, -121, -82, -142, -99, -116, -87, -134, -123, -96, -127, -110, -99, -167, -150, -123, -126, -92, -130, -142, -191, -157, -153, -113, -144, -121, -115, -55, -143, -84, -125, -100, -121, -84, -131, -114, -144, -125, -168, -139, -107, -124, -135, -103, -114, -129, -134, -169, -95, -121, -92, -91, -123, -137, -118, -107, -115, -128, -144, -101, -115, -149, -97, -161, -99, -105, -110, -130, -157, -161, -80, -144, -127, -109, -119, -119, -128, -75, -141, -170, -130, -112, -103, -137, -127, -133, -141, -124, -117, -89, -104, -143, -156, -118, -118, -117, -145, -86, -108, -126, -77, -147, -151, -141, -131, -105, -94, -114, -140, -106, -107, -59, -165, -161, -108, -166, -67, -100, -119, -157, -125, -137, -128, -134, -146, -93, -122, -68, -123, -108, -88, -136, -121, -107, -131, -136, -102, -101, -89, -193, -122, -112, -72, -122, -118, -137, -94, -121, -130, -109, -114, -119, -151, -148, -119, -103, -142, -109, -103, -97, -110, -117, -136, -121, -101, -114, -92, -74, -145, -137, -159, -104, -176, -109, -164, -128, -103, -134, -119, -94, -139, -93, -72, -71, -115, -121, -125, -99, -145, -98, -108, -184, -101, -104, -109, -150, -117, -140, -186, -113, -157, -128, -141, -183, -160, -85, -108, -140, -132, -148, -143, -138, -133, -90, -146, -90, -125, -85, -125, -131, -106}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1580966016, 1298849920, 2146041344, 1212399232, 1790920576, 1288968192, 1156089344, 2081420032, 1825834240, 1927794304, 1965219200, 1195655808, 1353805952, 1468427776, 1996237184, 2104739072, 1116596736, 1108943104, 1357854464, 1266576384, 1102159232, 1595607552, 1652803712, 2051875968, 1567564416, 1130988928, 1318098816, 1422841984, 1223281408, 1859674496, 1399804672, 1328227072, 1272651520, 1224060544, 1956564224, 1448931712, 1092781568, 1220125696, 1299811072, 1780796032, 1894290176, 2077198848, 1477770752, 1137940096, 1103785088, 1776804352, 1454871680, 1351755904, 1480147712, 1517529728, 1244315136, 1114867584, 1808561408, 1424697600, 1781981184, 2090904576, 1805702400, 1246185600, 1811174784, 1630396416, 1528663808, 1812428672, 1859708288, 1107285888, 1845216512, 1411024384, 1594290560, 1295036672, 1695427072, 1451677056, 1211398528, 1145323008, 1732441088, 1931326592, 1212319744, 1265933824, 1681688704, 1638108032, 1267006080, 1814071808, 1979249792, 1148004352, 2074275200, 1509753216, 1489427456, 1173031424, 1555345024, 1195409792, 1286778496, 1209833088, 1317988096, 1219250048, 1388432256, 1810726656, 1453908352, 1339236352, 1987572480, 1877495168, 1489624704, 2111842816, 1388001280, 1373191680, 2098121856, 1899931776, 1750098304, 1459140352, 1579092992, 1669886720, 1330708608, 1318923520, 1584174720, 1194699904, 1283009536, 1554059904, 1366885760, 1401224448, 1237847168, 1438143744, 1528664064, 1256630016, 1106088576, 2042915200, 1911526656, 1130884480, 1240160896, 1279645824, 2000328832, 1873119872, 1343337600, 1144018048, 1199271936, 1983261696, 1674745344, 1102442752, 2094481024, 1572852352, 1116136832, 1748055296, 2054947968, 1323978112, 1397812736, 1205397888, 1343077632, 2080139264, 1255295872, 1207281664, 1175830144, 1698293120, 1230399872, 1298953984, 1190740096, 1711960960, 1215294080, 1819784960, 1721416064, 1752770560, 1274691968, 1632618880, 1798472320, 1385798144, 1702920576, 1537344000, 1680505216, 2018331136, 1751230080, 1524685824, 1398113792, 1312290944, 1427052160, 1656170624, 1440628096, 1913723008, 2089724416, 1394919296, 1260500864, 1725075840, 1124593792, 1963175296, 2004568960, 1311990400, 1500647040, 1351498496, 1967190912, 1365042048, 1908837504, 1974397824, 1270655616, 2124979712, 1968637952, 2008077824, 1442823552, 1657172480, 1240626944, 2031340800, 1593158144, 1743755904, 1764662912, 1593505280, 1997870208, 1277471104, 1528116480, 1545102592, 2068397952, 1102652160, 1577025792, 1976170880, 1539651328, 1540507264, 1964713984, 1689639552, 1302368896, 1995148800, 1517105280, 1418189696, 1445657984, 1295098368, 1388943488, 1414655744, 2010088448, 1322650496, 2088862080, 1699196288, 1483112064, 1357748864, 1602137856, 1991395712, 1338078208, 1209490816, 2087987328, 1199289344, 1764877952, 1618535040, 1195561600, 1155799936, 1406390784, 1862511872, 1165367552, 1235549824, 2146123520, 1116874368, 1330426496, 1299660928, 1219197824, 1500559232, 1832421120, 1135881728, 1772356608, 2123453056, 1173193472, 1449973888, 2049273344, 2042526848, 1587250432, 1437049856, 1909697408, 1567470464, 1835292800, 1330648192, 1426642176, 1133844352, 1718105600, 1392391040, 2095489408, 1998286720, 1776280832, 1160062336, 1188335744, 1572210304, 1219752320, 1825176960, 1693507968, 1192215808, 1538083968, 1856600704, 1140360320, 1847457024, 1644774656, 1552884224, 1735566592, 1147951744, 1160965120, 1525622400, 1109016320, 2029933056, 1459831296, 1589499264, 1633059200, 1125389824, 2079413248, 1584014080, 1864552448, 1308913280, 1482406656, 2083023616, 1690748672, 1307853312, 2021276928, 1872344832, 1138453632, 1278660736, 1914303488, 1643259392, 1279227008, 2098364928, 1712684416, 1616285952, 1529968896, 2122262656, 1241578880, 1832235776, 1527786624, 1934660480, 1699243520, 1729722752, 1347505280, 1596954112, 1172990080, 1625013248, 1649987072, 1543196288, 1465564800, 1150144512, 1233658880, 1618630784, 1403960448, 2021673088, 1308888192, 1512074880, 1658584960, 1376325760, 1277116288, 1416068608, 1210305920, 1378060160, 1106172800, 1530779008, 1734167040, 2048723968, 1687757312, 2113718144, 1842376064, 1649034624, 1094211200, 1667811968, 1162471040, 1930576768, 1700253312, 1339202816, 1138308608, 2043340800, 2137385728, 1243126912, 2072508800, 1253120512, 1252860672, 1264483072, 1966120832, 1895194752, 1337557632, 1645112704, 1699355392, 1461710336, 2138397824, 1320865664, 1591883776, 1754325632, 1309566848, 1790876672, 1516665856, 1642025088, 1457135232, 1799861248, 2002665728, 1210319616, 1612469248, 1191351552, 1264112768, 1480712960, 1597293440, 1133623936, 1419066880, 1633348352, 1474792448, 1847445376}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {249, 205, 2888, -1177, 20651, 17476, -4069, 2677, -228, 4416, 2464, -10198, 6271, 39070, -24, 5885, 1057, -8082, 5114, 219, 470, 656, -21373, 20, -154, 741, 27, 3854, -618, -786, 452, 2435, -26407, -1102, 41688, 2175, 35172, 494, -4440, -6007, -1719, -12418, 6138, -7643, 558, 115, 107623, -2647, 75743, -5039, -223, -6251, -8928, -808, 1274, 68, -17314, 38289, 40843, -8293, 262, 3532, 40339, 8857, 66808, 8760, -779, 39818, 1121, 240, -8105, 63709, -206, -3620, 249, 201, 416, -452, 3244, 45540, 23, -133, -326, -46, 982, 4433, -347, 97, 453, 52019, -75, 2948, 1430, 1665, -6059, 34, 1415, -26, -821, 714, 767, -9775, -13210, -9817, -469, 4433, -7333, 405, 26296, 19831, 895, 400, 6002, -6992, -4600, -117, 8426, -2318, 3204, 10069, 230, -119, 408, -663, -1434, 380, 1442, 918, 743, 3046, -444, -8515, -499, -5423, 23, 20029, 9491, 6987, -5880, -836, 20894, 348, 3371, 700, 26028, 219, 3804, -242, -107, 12309, -11906, 2269, 400, -2856, -3100, -16446, -5293, -517, 1033, -7, 6210, 1500, 12094, -3947, -708, 15437, -1078, 3973, 1200, -19384, -8601, 5839, 16232, 1306, 376, 115780, 33375, 976, 13506, 39, 293, -829, 4773, 14763, 1535, -4873, 382, 24697, 421, 34289, 33782, -924, 608, 4932, -27, -4183, 1288, 408, -3796, 2412, -1622, 35693, 67517, -1683, 1775, 1088, 229, -494, 14944, -4751, 16852, -250, 1912, 18727, 1053, 29327, -3856, -2287, -11460, 184, -7351, -175, 380, 19033, 2835, 613, -300, -9639, 3585, -11411, -288, 1102, -639, 4730, 4746, 44676, 768, -8961, 1413, -341, 42, 19423, -10794, -563, 382, -2914, 60331, -3761, -474, 265, 19379, 15, 3067, -4190, 1593, -7116, 7143, -6274, 2725, -11762, 891, 8061, 28551, 168, 817, -24, 121735, -2176, -9310, 43649, 1381, -13333, 1296, 452, -426, -12438, 5559, 359, 873, 297, 1571, 10575, 98, 2689, 3457, 167223, 154, 18736, 2378, 52901, 119, 25266, 5949, -4837, -1366, -4423, 1194, -5334, 455, 16150, -11462, 28365, 2004, -533, 8390, 46561, 21671, 1235, 51811, 207, 27723, 517, 40736, 9427, -19752, 10461, -28168, -6052, 22, 11738, 21935, -26955, 45, 7814, 35093, 323, 970, 165, 402, -2618, 60095, 28447, 3771, 43286, -170, -4743, -24638, 50255, 18552, -150, -494, 1403, 866, -241, -233, 4024, 257, 44963, 53401, 21829, 6594, 26360, 14739, 12648, -11818, 22880, -2565, -6167, 33586, 5731, 525, 44213, 72064, 2797, 11, 14, 67448, 138, 63, -753, 50, 1659, 2638, 443, -1891, 2283, 71161, 124640, 7399, -221, 7674, -8842, -85, 187} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-95, -113, -32, -131, -242, -165, -15, -104, -119, -37, -93, -14, -111, -225, -117, -107, -102, -38, -36, -91, -156, -10, -6, -141, -122, -62, -166, -90, -100, -112, -101, -53, -11, -146, -246, -103, -233, -95, -18, -51, -97, -44, -73, -9, -90, -142, -501, -29, -366, -37, -113, -56, -32, -122, -11, -107, -41, -265, -220, 2, -119, -126, -134, -146, -263, -41, -113, -276, -105, -116, -5, -295, -126, -13, -117, -98, -69, -17, -93, -268, -114, -4, -122, -81, -152, -170, -102, -124, -97, -340, -98, -135, -83, -108, -4, -107, -116, -6, -155, -91, -117, -44, 2, -17, -99, -18, -45, -94, -246, -225, -105, -18, -29, -22, -90, -104, -40, -92, -115, -85, -91, -107, -108, -145, -93, -99, -94, -98, -83, -86, -15, -35, -83, 8, -103, -255, -28, -68, -33, -121, -151, -93, -90, -92, -279, -11, -54, -100, -130, -80, -39, -80, -115, -72, -13, -7, -13, -80, -79, -127, -43, -109, -108, -57, -137, -245, -138, -42, -112, 38, -10, -196, -240, -139, -88, -600, -322, -126, -53, -86, -80, -77, -150, -231, -72, -74, -95, -240, -93, -192, -342, -90, -90, -86, -102, -71, -33, -110, -13, -29, -89, -164, -256, -141, -114, -47, -98, -124, -225, -56, -233, -135, -127, -223, -168, -264, -8, -37, -89, -117, -8, -10, -102, -225, -82, -104, -118, -14, -82, -54, -129, -109, -101, -61, -30, -330, -104, -1, -115, -80, -121, -248, -47, -98, -99, -55, -335, -23, -23, -115, -242, -13, -60, -11, -12, -21, -44, -18, -98, -45, -109, -54, -214, -107, -79, -60, -310, -14, -13, -279, -96, 8, -111, -103, -87, -47, -59, -99, -169, -125, -85, -76, -95, -15, -53, -378, -155, -212, -38, -244, -90, -238, -17, 17, -150, -37, -83, -11, -98, -223, -12, -254, -169, -116, -57, -295, -236, -121, -239, -87, -133, -105, -179, -45, -41, -64, -13, -59, -103, -140, -247, -10, -117, -22, -211, -121, -120, -96, -23, -57, -301, -236, -27, -245, -95, -10, -5, -272, -240, -112, -99, -113, -99, -134, -106, -45, -153, -254, -268, -226, -127, -236, -233, -36, -24, -137, -138, -30, -257, -28, -107, -299, -261, -102, -120, -124, -390, -109, -94, -112, -116, -93, -124, -134, -96, -26, -387, -421, -52, -93, -38, -40, -77, -121}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1997384192, 1427104000, 1237218176, 1726296192, 1444407680, 1270360960, 1488679936, 1315563392, 2138718464, 1882965120, 1444821760, 1182975616, 1703704576, 2013189888, 1637784064, 1225988992, 1766653056, 2009804800, 2057120512, 1563515264, 1540910848, 1179251328, 1802907648, 1721494272, 1376432256, 1494368384, 1608533376, 2048761600, 1378128896, 1787924480, 1305520896, 1568556544, 1791491456, 1394867072, 1253599360, 1578946176, 1511945344, 1678001152, 1116769152, 1722093056, 1866036224, 1812663424, 1443075968, 2122313216, 1338917120, 2014079744, 1475665536, 2098879104, 1669353856, 1098591104, 1329258112, 1644460800, 1577798528, 1936535808, 2015462656, 1518378752, 1472314880, 1462190720, 1360763008, 1818649600, 1862083840, 1715447040, 1380629760, 1535229824, 1142870528, 2089280000, 1232900480, 1655115008, 1136475520, 1942134016, 1307552256, 1253081984, 1220294400, 1954388224, 1229141120, 1350742272, 1133531392, 1541264256, 1744619008, 1866561920, 1746431616, 1245832320, 1583040256, 1931079936, 1173471488, 1208248704, 1766963200, 1459919104, 1535642496, 1996434304, 2061679744, 1168137472, 1889655680, 1087154176, 1248198144, 1344661120, 1275292928, 1789075072, 2025593088, 1717159680, 1192063744, 1103089920, 1595359744, 1192733440, 1087519488, 1152164608, 2032506880, 1623231616, 1984173056, 1099033856, 1595634816, 1220649472, 1942166784, 1950562816, 1131121664, 1263173888, 2129022592, 1933379328, 1816612352, 1474530048, 1546933888, 1204030592, 1348091904, 1490896256, 1329236608, 1412684672, 1252722944, 1234168832, 1533348480, 2091184256, 1353223296, 1436655104, 1372358016, 1617785984, 1627538688, 2111175552, 1504441856, 2139303552, 1511337984, 2094322048, 1294893952, 1491523968, 1297953664, 1689581056, 2112566784, 2025024768, 1469872512, 1186154112, 1344077568, 1120450688, 1189582720, 1383005952, 1463956736, 1452438528, 1573320704, 1645783680, 1608141312, 1115214976, 1684310272, 1329459072, 1134488448, 1470701824, 2023882240, 1188896384, 1753539456, 1908823936, 1992641152, 1207340032, 1408299264, 1984021760, 1196960256, 1644086528, 1548259968, 2071603584, 1887371776, 1109706496, 1607304448, 1239148160, 1447525888, 1764038400, 1536641664, 1821702656, 1277451520, 1933510784, 1390760448, 1076332032, 1494710656, 2043383296, 1151313792, 1427574528, 1865902592, 1679847808, 2132385280, 1187047680, 1454125824, 1724098304, 1229866624, 1296788992, 1596174848, 1833772928, 1208065408, 1300020864, 1087262976, 1132729472, 1524569472, 1402417280, 1988339328, 1138290944, 1449681792, 1113068800, 2082856704, 1216689280, 1249493888, 1350331264, 1121493376, 1346472576, 1909850496, 1560085504, 1290988672, 1485370624, 2090049920, 1930428928, 1085962240, 2023226880, 1260825216, 1337266048, 1180563456, 1816300672, 1372953984, 2071232000, 1289952000, 1315318912, 1080535040, 1229142400, 1222393600, 1511376128, 1538858880, 2072745984, 1277740544, 1632455552, 1410916736, 1165972608, 1360208128, 1837767680, 1342431232, 1124221696, 1474221056, 1985575040, 1093968128, 1393992192, 1308101248, 2048849664, 1226330240, 1429108736, 2026285824, 1797909504, 2047082240, 1206959104, 1943342336, 1292868608, 1384003968, 1146285568, 1948863488, 1433962240, 1687635968, 1157269632, 1895542912, 1769512192, 1936721536, 1863971968, 1329883264, 1890952576, 1128441216, 1331916032, 1354526208, 1206773120, 1416974208, 1632884736, 1788521856, 1231553792, 1422529152, 1246702208, 1763865472, 1566746880, 1531480064, 1254896000, 1914032384, 1225247872, 1518259200, 1929348736, 1123896704, 1807518080, 1215651200, 1156494592, 1832577152, 1386989952, 1951565952, 1497606016, 1271518720, 1664719232, 2122465280, 1160237696, 2144062848, 1864814976, 1151241728, 1915793536, 1924530176, 1435351424, 1338155648, 1695146368, 1469103616, 1322548608, 1264924800, 1216928896, 2028021120, 2128114176, 1637708160, 2027813760, 1179373312, 1172407040, 1693066624, 1866695168, 1474895616, 1235912704, 1385289088, 1990003968, 1751928448, 1695667712, 2100927232, 1333242624, 1640969472, 1406022016, 1281877504, 1976387968, 1471604736, 1127468928, 1622583168, 1476420480, 1364034176, 1485407360, 1423549824, 1801901184, 1243188736, 1212219264, 1539831936, 1391029376, 1202347904, 2139674240, 1194003072, 2074339584, 1852518784, 1502076288, 1771843456, 1465881728, 2119275008, 1306662784, 1315219072, 1707734272, 1212701184, 1979656576, 1919071104, 1912458752, 1205329152, 1911091840, 1201023744, 1584212864, 1892495360, 1637964416, 1580328192, 1855786880, 1133174400, 1420053760, 1440444800, 1762623232, 1440246272, 1446273408, 2022208000, 1276137984, 1170211328, 1709917568, 1134397184, 1209761664, 1200850432, 1143531520}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {20035, 4926, -15254, -48630, 18450, 18900, -46462, -1688, -17413, 6517, 80486, -12442, 3552, 13105, 28862, 29475, 85129, 119667, 66387, -20080, -7215, -4360, 11922, 43333, 2550, 31417, -28135, 35476, -3050, 40183, 10204, -1355, -18920, -22592, 520, -19320, 35758, -8222, 52787, 6593, 18615, -7474, 34424, 27774, 55612, 18158, 2443, 19996, 113537, 8713, 72948, 73535, 29242, -11674, 78592, 21891, 26993, 56946, 77572, -17392, 15040, 14678, -9228, 2359, -10904, 2533, 60738, -4412, -40190, 34767, 15225, 2378, 8311, 24699, 3476, 6689, 19551, -4887, 3372, 73515, 5342, -1431, -1242, 58411, 2003, -25143, 20668, -10667, 4749, 8105, -34813, -12796, 31502, 57839, 2378, -3992, 12072, -2759, 6671, 88285, 58900, -4046, -193, 28199, 141783, -1388, 79169, 42246, 32162, 1145, -20213, 6831, 82809, -487, 26254, -6282, 40922, 4245, -13865, -1853, 34554, -4802, 53082, -21304, 13985, 49889, 14318, -27285, 305, 39325, 3662, 5522, 38783, -6481, 82496, -9291, 142797, 15649, 6908, 20234, -14544, 44140, -489, 53274, 4897, 12819, -2165, -14218, -26014, 58105, 3085, 62043, 47146, 8300, 26481, -6504, 29683, -1863, 37714, 24953, 1564, -1918, 4849, -42718, 12434, -26566, -1838, 14287, 3574, 72883, -43491, -29559, -8580, 8040, -1447, -13204, -46429, 3363, 7330, 18027, -7596, -37708, -9673, 25105, 104480, 24802, -31256, 81656, 4483, 1746, 34254, -10737, -3040, 38682, 32416, 1701, 11945, 32619, 6848, 30658, 23880, 21880, 102013, 54201, 42412, 12910, 18936, 65119, 16185, 94343, 47941, -15946, 10228, 11949, -26472, 34003, -1968, -287, 12558, -14079, 57644, -10180, 13331, 35362, 25003, -12856, -32502, -13308, 30365, 95568, 30334, 2314, 41358, 63039, -15953, 16490, -7615, 17041, 70501, 9571, 43817, 10598, 80405, 9384, 19507, -28918, -20028, 23539, -4767, -47889, -21292, -39763, -1293, 80242, 81853, 28664, 3210, -23425, -25467, -15157, 15293, 55435, -473, 50243, -36830, -865, 29407, 72901, 17431, 15950, -1525, -17289, -6217, 29859, 21195, 12494, 18228, 4209, 500, 109497, 16595, 579, 81400, -10120, -67187, -1595, -40485, 18260, -18750, 56345, -1283, -4544, 6589, 34732, -6283, -11143, 3552, 34195, 43664, 66867, -27853, 44313, 6830, 111136, -13827, 16150, 32734, 14590, 4106, 2827, 18741, -16753, 40455, 68528, 59613, -14031, 70909, 46454, 13992, 3608, 12831, 59365, -13153, -13080, -13770, 11351, 42692, 4742, 46544, 32440, -17688, 56690, 10969, -5227, -24684, 102, 22810, 58665, 66330, 19733, 19776, -12668, -2183, -12469, 20594, -8805, 99311, 40286, 18107, 41999, -8818, -18421, 13732, 5594, -25701, 41156, 10782, 3958, 7392, 46663, -12366, 16408, 6795, -1425, 8568, 34060, 538, -3534, -4356, 29557, -12320, 12867, 32261, 9767, 810, 15827, 47951, -8461, 32071, 47516, -4952, -2613, 274, 28234} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-115, -110, -107, -136, -188, -120, -109, -143, -141, -130, -118, -114, -118, -141, -117, -163, -121, -142, -88, -126, -99, -122, -108, -104, -141, -132, -121, -122, -117, -142, -161, -98, -135, -142, -99, -170, -127, -123, -138, -130, -146, -103, -78, -112, -120, -104, -107, -136, -194, -114, -122, -106, -96, -106, -128, -99, -113, -121, -131, -112, -119, -142, -119, -122, -90, -95, -160, -145, -108, -96, -76, -127, -72, -93, -111, -119, -110, -141, -122, -132, -152, -87, -152, -115, -131, -81, -102, -155, -159, -122, -160, -111, -121, -120, -146, -141, -137, -110, -123, -159, -101, -168, -138, -131, -124, -122, -139, -122, -115, -111, -97, -136, -115, -139, -89, -126, -136, -103, -127, -162, -185, -133, -114, -143, -109, -138, -137, -119, -127, -135, -97, -127, -105, -126, -128, -120, -144, -80, -101, -150, -107, -139, -128, -120, -141, -105, -145, -131, -147, -175, -109, -99, -114, -139, -154, -130, -91, -129, -139, -89, -120, -148, -158, -140, -153, -118, -119, -137, -153, -121, -140, -75, -138, -97, -126, -145, -111, -156, -115, -84, -127, -119, -111, -143, -123, -111, -85, -152, -125, -62, -95, -160, -134, -128, -79, -96, -146, -122, -109, -125, -91, -129, -130, -114, -111, -117, -158, -128, -111, -105, -124, -98, -128, -115, -133, -117, -110, -132, -146, -129, -135, -171, -111, -133, -98, -98, -124, -122, -124, -123, -111, -102, -128, -146, -100, -122, -90, -122, -122, -143, -107, -139, -116, -83, -150, -111, -122, -146, -119, -130, -138, -137, -123, -90, -95, -146, -129, -114, -136, -112, -108, -123, -109, -123, -131, -109, -135, -125, -141, -123, -125, -123, -72, -101, -134, -110, -113, -165, -76, -135, -102, -110, -132, -148, -149, -106, -79, -70, -72, -87, -85, -137, -104, -186, -124, -128, -161, -111, -116, -100, -138, -124, -77, -206, -99, -189, -99, -105, -104, -103, -152, -138, -143, -125, -109, -77, -129, -112, -101, -113, -121, -130, -130, -136, -122, -141, -139, -155, -161, -166, -137, -146, -97, -91, -112, -85, -159, -115, -134, -142, -103, -116, -107, -106, -132, -149, -138, -110, -116, -108, -186, -130, -101, -176, -126, -137, -144, -123, -163, -128, -131, -116, -127, -161, -72, -139, -113, -110, -90, -134, -155, -137, -106, -129, -75, -139, -154, -124, -118, -124, -128, -136, -137, -195}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1823074944, 1099952128, 1424515968, 1550112256, 1292477952, 1118111488, 1111336320, 1923161728, 1447657728, 1210409600, 2135579264, 1183197952, 2007213824, 1976636032, 1753001472, 1387842688, 1720507776, 1548140800, 1111308800, 1292564864, 1395692416, 1170914304, 1770185856, 1155681920, 1887897344, 1824454272, 1428144128, 1916286848, 1766301312, 2026720768, 1952307840, 1129605120, 1683538816, 1430206336, 1097112448, 1290934528, 1074253440, 1225603968, 2094399360, 2037260544, 1130851200, 1108778368, 1348122496, 1987408896, 1694313856, 1853567872, 1248251648, 1190401536, 1694461824, 1771042176, 1488175488, 1177088384, 1082088320, 1809646080, 2066283520, 1749013504, 2035879424, 1796391552, 1438599424, 1578047744, 1422563072, 1401394688, 1148998784, 1767531776, 1256588800, 1495359104, 1844728832, 1817297280, 1973890304, 2005918976, 1641982848, 1312007680, 1342759936, 2146252288, 1609823744, 1863977088, 1173974784, 2002452864, 1554359424, 1632353664, 1211675392, 1569729408, 1550856960, 1120420992, 1419746944, 2130739712, 1314547968, 1151371264, 1435549312, 1347364864, 1332578176, 1209305856, 1249791488, 1542093440, 1779624832, 1837667072, 1766091392, 1451878272, 1606329600, 1617425152, 1766868992, 1870373632, 1088581248, 1697141888, 1511930624, 1225040384, 2071119360, 1778897152, 1833788672, 1105946880, 1953976576, 1838866816, 1132108416, 1364707968, 1255694464, 1148031360, 1497538816, 1912668672, 1459785856, 1654451072, 1190964224, 1537767424, 1355653760, 1600789760, 1224809728, 1131068160, 1181265664, 1268759168, 1313330048, 1852707200, 1584395008, 2087204992, 1946829056, 2089744256, 1216675072, 1110255488, 2025203200, 1514391168, 1758164864, 1125398400, 1220432128, 1856431360, 2033632640, 1632921472, 2064672256, 1316754176, 2097204864, 2083157376, 1145797632, 1127251072, 1768541696, 1113769600, 1114677632, 1661943680, 1892379136, 1388586368, 1255985920, 1380059904, 1284294144, 1121517952, 1794596736, 1294417792, 1247691520, 1184158080, 1394438400, 1103230976, 1459430272, 1530750720, 1108235648, 1093993984, 1278993536, 1204478848, 1142913024, 1348513664, 1161260160, 1098523392, 1590308864, 1131417728, 1091555968, 2088379392, 1195859840, 1295912704, 2081471104, 1087402112, 1151825792, 1154791936, 1603784320, 2109594752, 1191413632, 2050860800, 1725757056, 1927262336, 1187752448, 1161772800, 1194845952, 1967847936, 1862571520, 1356246144, 1079454080, 1481300480, 1704608256, 1119456256, 1908579968, 2003412736, 1156047360, 1380995840, 1461343488, 2044767360, 1213097728, 1674691840, 2028915712, 1398008448, 1114452992, 1762752128, 1795980288, 1722338304, 2128349184, 1845893504, 1523640064, 1411068160, 1442898688, 1594788096, 1220071424, 1278877568, 1424619776, 2128186112, 2006123264, 1308854400, 1514444928, 1289079296, 1091470080, 1927028480, 1628691584, 2066791680, 1356986752, 1414794496, 2049993088, 2064130432, 1842798208, 1082717696, 1324135936, 1566451328, 1545187584, 1344235136, 1763486208, 2043283200, 1465617664, 1393883264, 1192180480, 1115803264, 1226003200, 1522832640, 1914293248, 1096518144, 1137682560, 1076085760, 1968196224, 1803285120, 1455011584, 1273665152, 1141295488, 1828132480, 1402345088, 1999666688, 1326363264, 1324081920, 1303619200, 1971589376, 1694988672, 1395349760, 1968509312, 1252753792, 1668988416, 1309873408, 2012514944, 2087034368, 1416761216, 1158714880, 2038545664, 1500118912, 2131866368, 1307492608, 1088882048, 1502214016, 1983373696, 1977018112, 1181538432, 1966931584, 1778581248, 1768707456, 1601768448, 1304260352, 1700886400, 1324974464, 2038992384, 1279792512, 1259423616, 1830946432, 1339247360, 1988442368, 1614950784, 1916431232, 1417955328, 1379907456, 2014939776, 1249270912, 1140761856, 1441073920, 1120595584, 1254325760, 1191682560, 1442949632, 1628881024, 1434291968, 1458444416, 1918933632, 1394818944, 2144049920, 2036665984, 1505117568, 1936471296, 1816173696, 1172295680, 1350510848, 1898086656, 1586370432, 1300138368, 1673896576, 1595024000, 1455451008, 1119550336, 1447683840, 1829217024, 1956766592, 1417944320, 1231627520, 1111392384, 1102006016, 1498471040, 1620882944, 1857175168, 1912800512, 1352322944, 1959090304, 1087902720, 1440955008, 1551587072, 1664780928, 1835120000, 1230984832, 1890979584, 2056905856, 1819538944, 1930433920, 1259840896, 1381195776, 1226963968, 1266877184, 1208850432, 1564036864, 1268920704, 1561347712, 1848428416, 1506675072, 1456359040, 1927767296, 1863620992, 1096012544, 1106614784, 1219117440, 2068247680, 1808705536, 1551621248, 2121826176, 2067844096, 1460184704, 1259273728, 1260528256, 1202615296, 1695534464, 1458370432, 2045982464, 1208259072, 1583637888}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {-4440, -24246, -10724, -11047, 20189, 16831, 1471, 36838, -6650, -11733, 724, -7260, -1840, 1371, -5248, 17830, 32261, 5865, 6348, 90784, -20534, -19980, -12863, 25296, 84103, -17836, -5487, 15095, 31574, 23001, 22476, 12184, -10866, -10891, 14254, -3896, -14643, 13855, 36444, -377, 40155, 6567, 23781, 9650, -8547, -6283, -14059, 36010, -10452, 78327, 14313, 21946, -3295, -1529, -15377, 38004, 32013, -9550, 10537, -11839, 41697, -15269, -80, 14059, 20649, -7619, -9312, 20929, 2883, 1991, 68941, -14123, 29510, 11801, 118462, -24850, 18424, -978, 53989, 24194, 50011, 67647, 9998, 30549, -4390, 11238, 37867, -15034, -4079, 106934, -9097, -11411, 4310, 9356, -8483, -5595, -25022, -10294, 295, 30269, 27780, 13702, 52048, 19834, 5886, -3694, -8514, -7436, 51483, -29530, 45811, 12680, 2649, 59926, -7653, -18992, 170, 10918, -3590, -5508, 43753, -6643, 4532, -12279, 869, -31896, 2781, -10195, -1338, 18569, -1788, -23518, 4721, 43088, 2537, -10778, -6275, 16065, 38340, 18658, -204, 47834, 82495, 4248, -17098, 1543, 11806, -10246, -9709, 45306, -3745, 4046, 1709, -12905, 6653, 63697, 4392, -6370, 5652, 24086, 83437, 12765, 131082, 7006, 20001, 22585, 706, -458, 32859, -9952, -22535, 33143, 91613, 8424, -12271, -10919, -30472, -1365, 3607, 65493, -26272, -17000, -8407, -14620, 6382, -794, 9164, 26757, 9790, 43698, 42224, -4227, -16798, -20081, 10185, 68915, 22463, 4268, -11447, -2222, 48875, 57697, 2895, 9473, 12987, -14569, -410, 10310, -3393, 26185, -11071, -8266, 10932, 53952, -9205, 41172, -7565, -6105, -6215, 7543, -15505, 1547, 12514, 1866, -24300, -9061, 16825, 5160, -2697, 4656, 11891, -5019, -12639, 128059, -4697, 100, -193, -3146, 35122, -6464, 9927, -19426, 13453, -4806, -11651, -12045, -15007, 64047, 119149, -7579, -8012, 14708, -2926, 24198, 3776, 374, 533, -11854, 4155, 129365, 67207, 19054, 54383, 27988, -7087, 90852, 26118, 25445, 10288, 37845, 10628, -3729, 42803, 51431, 17344, 260, 48591, -10703, 32165, 45825, 18693, -947, -2327, -6732, 5070, -5181, -10721, 31540, -20388, 28299, -6109, 11891, 11486, 23519, -10272, -36635, -17002, 4181, 10617, 5413, -1839, -17936, 6314, -7953, 18423, -35848, 4075, -3724, -10981, -8803, -18336, -9142, 52909, 48637, 7562, -2616, 29768, 420, 44649, 23122, 3143, 10230, -21952, -13491, 46692, 47821, -3048, -28, 73563, 15852, -32063, -8234, 40414, 33048, -2330, 56953, 15389, 4705, 18763, 5108, 45825, -1053, -8751, -4372, 14621, 1428, 19740, -9536, 2734, -1333, -14516, 463, 37809, 70447, -14616, 5372, 863, 22514, -7154, 37556, -19934, 10727, 35077, -3960, 35743, 10289, 73200, -13215, 4070, -24761, 2700, -7005, 24955, -6227, -3771, 50392, 1089, 70365, 5880, -7959, 481, -5760, -4261, 102} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-108, 2, 7, 4, -185, -73, -41, -301, 6, -36, -45, -94, -18, -52, -17, -198, -255, -59, -58, -333, 8, 4, 3, -225, -353, 46, -8, -65, -274, -209, -260, -93, 15, 3, -133, -39, -12, -113, -265, -100, -240, -37, -244, -142, -38, -35, 15, -252, -36, -345, -241, -244, -22, -56, 0, -224, -145, -25, -87, 7, -202, -38, -165, -142, -89, -45, -39, -110, -37, -42, -302, 15, -240, -67, -330, 9, -78, -24, -303, -242, -270, -410, -135, -211, -8, -128, -183, -3, -3, -396, 3, -3, -32, -102, -39, -100, -15, -5, -127, -252, -249, -87, -379, -117, -41, -122, -55, -132, -291, 14, -167, -129, -29, -333, -11, 12, -19, -110, -47, -18, -216, -55, -103, 24, -128, -2, -82, -16, -21, -141, -64, 31, -60, -291, -51, 35, -69, -223, -294, -74, -9, -259, -474, -84, -34, -129, -73, -4, -33, -191, -6, -45, -35, 7, -86, -281, -43, 6, -34, -207, -393, -72, -445, -156, -123, -113, -53, -48, -160, -65, -7, -247, -262, -100, 9, 20, 11, -75, -64, -317, 34, 18, -15, -44, -41, -124, -83, -242, -98, -290, -287, -27, 20, -18, -130, -200, -105, -45, 11, -151, -289, -321, -82, -144, -163, 1, -25, -151, -20, -229, -64, -2, -112, -300, -12, -252, -14, -124, 18, -25, -3, -99, -198, -81, 14, -94, -86, -45, -71, -33, -101, -66, -64, -294, -3, -39, -7, -155, -303, -4, -50, 7, -174, -23, -10, 2, 5, -330, -373, 44, -20, -100, -6, -241, -41, -38, -64, -26, -109, -549, -426, -249, -308, -263, -97, -453, -266, -247, -82, -179, -134, -28, -287, -297, -78, -121, -285, -15, -203, -244, -120, -10, -28, -17, -70, 15, -3, -244, 0, -235, -9, -57, -62, -207, 6, -3, 12, -98, -73, -62, -10, 2, -77, -39, -158, 13, -69, -9, -5, -41, -13, 11, -314, -278, -31, -13, -251, -113, -242, -260, -152, -153, 23, -10, -231, -329, -2, -47, -274, -90, 32, -69, -366, -270, -55, -376, -105, -35, -235, -105, -249, -17, -8, -116, -94, -56, -246, -54, -89, -82, -3, -61, -280, -275, 29, -29, -71, -120, -22, -258, 17, -68, -164, 0, -258, -123, -302, -11, -101, -3, -145, 6, -260, -5, -20, -270, -93, -285, -74, -57, -42, -41, -89, -46}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {2056810624, 1946422400, 1996927360, 1780031104, 1505749376, 1110784896, 1516079744, 1742523904, 1738398848, 1350693376, 1177411328, 1547153536, 1240825984, 1301631616, 2016815232, 1323561472, 1653492992, 1436784256, 1981739264, 1434095104, 1097961984, 1955487360, 1134810752, 1208069248, 1136376064, 1279346816, 1109127808, 1313385856, 1630710272, 1696257792, 1534751104, 1377963392, 1365518592, 1455737856, 1777383424, 1088186240, 1099444992, 1208595072, 2077491584, 1961884288, 1516657792, 1235912704, 1583901824, 1994708992, 1631743616, 1190134528, 1682237696, 1348772352, 1145010432, 2064852608, 1603325696, 1283978880, 1815549056, 1193560320, 2142037248, 1513934208, 1661190272, 1195598592, 1170002432, 1841325056, 1285976448, 1694427392, 1298001280, 1427324672, 1244807424, 1246811904, 1805135872, 1302348416, 2055722368, 1884790400, 1434903552, 1805792256, 1645814272, 1492372352, 1504263296, 2068524288, 1845948032, 1713302528, 1462273920, 1922284160, 1236970496, 2112141184, 1280948864, 1961222528, 1128357248, 2084980096, 1368084864, 1168317696, 1773703552, 1229492736, 2057689984, 1955651840, 2146756352, 2070323200, 1113910912, 1430393856, 1935538304, 1173598336, 1404163840, 1490773632, 1862990464, 1793244032, 1889817728, 1141475072, 1389329536, 1992168064, 1999210112, 1938451072, 2042831232, 1169262208, 1280816384, 1250705920, 1137282048, 1077085696, 1116549760, 1909760128, 1418151936, 1341815680, 1407870464, 1310670464, 1527491200, 1481230720, 1605601792, 1743816704, 1073841024, 2015573632, 1748059776, 1306075136, 1654137344, 1867559936, 1456751616, 1214413184, 1339368576, 2070610432, 1098144640, 1375917824, 1487007104, 1535901440, 1651295872, 1079950464, 1401463040, 1569136128, 1475354240, 1821280512, 1111065728, 1710899072, 1518639360, 1100265472, 1922352384, 1505124224, 1966147968, 2057287040, 1540258688, 1122902016, 1429893120, 1673217408, 1604022272, 1661847168, 1077105024, 1356655360, 1834013696, 1698998400, 1856072448, 1933539968, 2064402944, 1474359296, 1125566336, 2134375168, 1717967872, 1296982784, 1984957440, 1405181696, 1523606016, 1135936000, 1154325888, 1195747328, 2055026304, 1742582656, 1249435520, 1226091520, 1246978944, 1681720448, 1456450176, 1162765568, 1307655680, 1985721984, 1243524352, 1864584192, 1308881536, 1768816512, 1097200512, 1934007808, 2016732160, 2094851584, 1641836800, 1191779840, 1133544192, 1771822720, 1835262336, 2106108800, 1875675392, 1315421440, 1791106432, 1385752960, 1432211584, 1734517632, 1162486784, 1662673792, 1096848000, 1080938752, 1214198016, 1833304320, 1707934336, 1313566592, 1557498112, 1202212480, 1095629696, 1234178432, 1549494272, 1165666432, 1233763584, 1298877056, 2030940928, 1112871552, 1887464576, 1111666048, 1247872640, 1988374912, 1964379136, 1103623680, 1567079552, 1332596096, 2132660608, 1996823168, 1847979904, 2013105920, 2008429056, 1543941760, 1296948480, 1425292928, 1098069376, 1109758464, 1571496704, 2104412288, 1376904192, 2003735040, 1184454528, 1683634304, 1588000512, 1490046592, 1705273344, 1414226560, 1752488064, 1891155456, 1176545536, 1428524032, 1807022464, 1205254912, 1607165696, 1774797952, 1845200384, 1267772672, 1621365760, 1356795520, 1924970752, 1444570496, 1624268800, 1640855680, 1499291008, 1118298112, 1620425472, 1302522880, 2076225664, 1669588608, 1819591680, 1674632320, 1438473472, 1085021440, 1301784448, 1819482752, 1354914560, 2024638848, 1085492608, 1088958208, 1381174784, 1152284928, 2091118336, 1852825984, 1372809600, 2038518784, 2032366592, 2133679488, 2026740480, 1340651008, 1181639040, 1789628160, 2025689216, 2144031360, 1196240128, 1191212416, 1754748416, 2001831936, 1290684672, 1336610816, 1816012928, 1134276992, 2009348864, 2043437824, 1130325376, 2096926720, 2009692416, 1492821632, 1346608768, 1170409984, 2004077440, 1097872256, 1353702272, 1689863936, 1876191872, 1268230912, 2005227392, 1347640832, 1670586624, 1964558080, 2097169152, 1880740992, 1628379264, 1501224960, 1700792192, 1163570048, 1222270720, 1229379072, 1446156032, 1444790400, 1168577536, 1526887424, 1906591872, 1171627776, 1452190336, 1465087872, 1279033344, 1086831104, 1182928000, 1587886208, 1141521280, 1430043264, 1114615936, 1294325504, 1228130816, 1384605440, 1143396864, 1648363648, 1565087360, 1082792832, 1503113216, 1080629376, 1115712768, 2030238848, 1120189952, 1911426688, 1304566528, 1335954048, 1091444864, 1178839936, 1921277696, 1525357184, 2092649856, 1321955968, 1362615552, 1453540096, 1110919936, 1788809600, 1625171968, 1873913856, 1348399744, 1237278848, 1212643840, 1415071872, 1520111360, 1921013376, 1178690944, 1077000960, 1727765120, 2141575296}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {10230, -28892, -24908, 10364, -15117, 30005, -21218, -15412, 97475, -48859, 50526, -69527, 6389, -27427, -32531, -13283, -20446, 5727, 65976, -5956, 30663, 33905, 789, 49322, 45878, -27838, -17474, 32065, -26288, 18330, 50478, -7528, -88729, 57193, 94210, 100463, -11493, 33593, -13293, 28541, 10210, -59627, 14341, 5106, 16050, 11659, 44352, 5423, -6460, 9108, -34311, -46653, 28241, 77094, 17656, 5183, -12332, 4467, -14337, 20017, -33823, 2422, 25751, 5245, -34310, -6967, 32567, -33266, 29544, 24751, -48612, 6885, 38317, 29005, 40404, 32707, 56860, 31431, 40005, 8204, 2082, 33889, -10531, -27611, 5750, -17724, -9277, -19858, -13808, -2102, 34271, 40691, 11264, -44186, -14855, -623, -4760, 95260, 10355, -14221, 17802, 2130, 12291, 18283, -33641, -24102, 15028, 10011, -23152, -11603, 106581, -22808, 98883, -8191, 78904, 21781, -11862, -32485, -778, -22107, 52314, 44322, 34256, -1184, 11821, 16431, 18404, 13682, 37875, 7924, -36055, 33845, -46099, -97409, -22879, 9305, -9696, -61818, -7972, -31422, 31330, -20743, 85748, -11125, 36359, 1776, 14531, 2231, -8745, -40873, 36089, 14656, 12657, 69667, -12336, 41478, 281, -20592, -17163, 30461, 26412, -15325, 65668, -51870, -17734, -22682, 25893, 53115, 4787, 26053, -25459, 2176, -17272, -26249, -89716, 16577, -58174, -19426, 37957, 28579, -11548, -5585, 28538, -34905, -11371, -22765, -17323, 70490, -18090, 29724, -12205, 3407, 1845, 30040, 14648, -19993, 20617, 13802, 45120, 9616, 62443, 17395, -67046, -5537, -5133, 46693, -2515, 25673, -38731, 23556, -2138, -24481, 11529, 18197, 6856, -12743, 45920, 5455, -26169, 41533, 22265, 17002, -34579, 31184, -11915, -29224, 27316, 33680, 6711, -13259, -19789, 7717, 18678, 35687, 57240, 33636, -5871, 36924, -36275, 39623, -5913, -14982, -5155, -12025, 46402, 4985, 4386, -47696, 26559, -61165, 25527, -18251, -6161, -22339, 20023, -11982, -56700, 26551, -3367, -5765, -19866, 54262, -33571, 11988, 16817, -53331, 33822, -926, -34259, 18694, -6289, -13310, 17161, -14100, -6256, 32379, 52460, 38403, -21206, -50115, 9165, -2198, 11654, -39481, 12692, -36588, 38044, 78630, -9221, 51593, 10297, 7567, -24189, -29488, -14598, 11622, -46287, 184, 36089, -12159, -1840, -28719, 26582, -24503, 54000, 20165, -2815, 28963, -21042, 8060, 3774, -14471, 72786, -16258, -10167, 6759, 42055, 6679, -49537, 6713, 6902, 38642, -15563, 15822, -10098, 857, -56440, -31045, 19945, 40913, -14540, -16396, 8632, 14013, 5686, -22304, 26886, -38644, -29450, -27394, -43666, -9434, 43992, -12838, -23526, -21337, -11175, -12049, -37804, -12413, 31091, 33648, -50817, 6011, -17004, 2983, 65275, 57462, 8793, 12064, -41833, 44545, 43534, 56067, 20375, -6655, 68001, 47202, -2238, -21435, -13219, 18752, 7509, -12790, -2669, -10097, 31882, -7613, -8064, 42744, 13250, 42620, 2423, -67161} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-151, -101, -128, -170, -119, -136, -108, -133, -134, -133, -108, -129, -122, -110, -123, -137, -156, -119, -114, -119, -112, -110, -154, -108, -124, -142, -144, -154, -93, -114, -131, -102, -104, -109, -119, -148, -147, -124, -93, -133, -155, -105, -151, -116, -148, -126, -124, -120, -96, -93, -106, -129, -83, -146, -162, -113, -118, -110, -121, -164, -96, -127, -124, -175, -143, -144, -129, -99, -147, -108, -86, -119, -97, -152, -104, -168, -172, -126, -107, -130, -128, -113, -150, -103, -127, -120, -110, -124, -116, -125, -165, -100, -92, -125, -131, -146, -108, -135, -76, -164, -111, -131, -112, -146, -100, -128, -128, -109, -100, -130, -148, -131, -142, -132, -125, -122, -85, -97, -80, -105, -108, -103, -104, -113, -103, -142, -161, -112, -133, -124, -138, -76, -110, -132, -116, -148, -146, -98, -150, -100, -129, -129, -119, -92, -102, -139, -149, -150, -113, -117, -144, -99, -135, -134, -127, -138, -122, -110, -131, -135, -133, -73, -131, -112, -115, -121, -97, -98, -151, -125, -128, -171, -102, -87, -112, -154, -104, -123, -132, -96, -118, -109, -130, -125, -79, -109, -137, -121, -154, -142, -104, -95, -98, -143, -152, -79, -167, -149, -114, -136, -125, -130, -119, -106, -85, -148, -113, -145, -106, -180, -117, -77, -143, -108, -170, -117, -97, -145, -123, -125, -103, -136, -144, -139, -123, -118, -144, -103, -163, -143, -144, -139, -92, -127, -110, -131, -142, -107, -100, -114, -132, -154, -130, -109, -99, -135, -111, -106, -141, -127, -129, -99, -123, -136, -151, -155, -78, -187, -148, -164, -136, -145, -84, -104, -125, -136, -153, -104, -98, -145, -127, -133, -80, -142, -81, -132, -142, -142, -140, -133, -101, -115, -134, -132, -161, -133, -144, -111, -146, -118, -121, -122, -134, -102, -131, -154, -126, -153, -157, -148, -129, -119, -151, -197, -125, -113, -112, -139, -129, -105, -128, -160, -103, -151, -127, -94, -138, -121, -118, -155, -120, -123, -132, -127, -137, -128, -110, -129, -156, -168, -105, -119, -140, -153, -151, -138, -87, -123, -119, -126, -119, -81, -143, -116, -130, -114, -95, -135, -110, -109, -119, -131, -113, -116, -138, -129, -148, -98, -116, -94, -126, -124, -129, -126, -153, -148, -94, -124, -127, -101, -142, -105, -123, -133, -158, -101, -119, -147, -118, -111, -125, -148, -116, -125}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1380446720, 1147298176, 1187720576, 1376421120, 2096225536, 1488815744, 1085378816, 1216795904, 1852919680, 1353443712, 1839341056, 1097895808, 1484897920, 2106829312, 1621678080, 1660515840, 1950950144, 1271126912, 1843253632, 1323179776, 1191551104, 1913791616, 1543897344, 1247810944, 1345889024, 1605075840, 1463080832, 1344771200, 2038637312, 1411936000, 1567531904, 1243747200, 1900435840, 1913747840, 1611454080, 1373670912, 1384764928, 2011256448, 1376543872, 1696962304, 1104518784, 1381986048, 1640366080, 1663348480, 1106659456, 1770476416, 1208867840, 1228167040, 2120049152, 1223329152, 1424327424, 2114479232, 1613894144, 1558153216, 1329517824, 2029362432, 2014073088, 1453893376, 1483484544, 1934818944, 1476584576, 1600127744, 1418523136, 1811669120, 1131020288, 1262384128, 1623693056, 1479172224, 1513882496, 1813645440, 2104757376, 1230611072, 2021467904, 1580372224, 1381233664, 1389336064, 2064497792, 1466746752, 1689303680, 1467479936, 1249069184, 1096359680, 1419048192, 1723088768, 2036397184, 1198213888, 1357235456, 1673064576, 2127876224, 1992457728, 1615803008, 1538732800, 1472974208, 2063437696, 1985955968, 1324896640, 1444094720, 1167973504, 1088049408, 1106255104, 1116543104, 1488641152, 1958006912, 1287609088, 1201970304, 1142754432, 1495313280, 1413108352, 1408169344, 1087312000, 1292973696, 1846423552, 1803991296, 1341159680, 1584739328, 1396642944, 1332364672, 1188661888, 1510678784, 1947098368, 2022700416, 1306576896, 1977380480, 1339933952, 2031529984, 1073799680, 1784661760, 1297219328, 1633705984, 1263890816, 2063809536, 1211081344, 1192694400, 1627276544, 1984783872, 1309792512, 1915729280, 1276079232, 1082732544, 1756838400, 1130525824, 2062605568, 1609288704, 1911629952, 1828235648, 1966561664, 1138972544, 1652662016, 1567875456, 1126155392, 1281841152, 1980183552, 1837508224, 1676931712, 1108622336, 2041529344, 1184033792, 1210211072, 1491780992, 2147152896, 1420375808, 1383016704, 1088017280, 2135445504, 1530569984, 1244368896, 1309368448, 2071455616, 2138293248, 1939625984, 1225335808, 1689217152, 1159254912, 1669250944, 2137909504, 1997974272, 1275783040, 2005435008, 1864026496, 1521851904, 1643880832, 2089676416, 1074018176, 2111251456, 1233574400, 1283029888, 1277050752, 1942677760, 1254762112, 1561318272, 1689272576, 1337560960, 1677271808, 1162481664, 1447300224, 1142196096, 1419603328, 1139597312, 1465011072, 2091066240, 1795893888, 1536181248, 1601184512, 2016867968, 1915390848, 1396484992, 1254256640, 1237396480, 1860481664, 1857087744, 1797395200, 1417218176, 1777640832, 1587187968, 1501293568, 1507625344, 1187493248, 2023321472, 1467009280, 1467519488, 1854088960, 1283856512, 1215162752, 1388321280, 1807283712, 1941675008, 1170797440, 1642744704, 1348791040, 1572422912, 1304815104, 1114566784, 1989611648, 1292257280, 1513477504, 2142567296, 1388403584, 1730417280, 1219054336, 1098930176, 1257940352, 1871094528, 2098111104, 1833847296, 1637080192, 1224939520, 2032891008, 1383957888, 1221795968, 1115231232, 1397469824, 1945191680, 1866120320, 1427508096, 1719362688, 1611459072, 2115652864, 1360108416, 1275982976, 1729467392, 2036451200, 1078097280, 1247178880, 1228206464, 1074479232, 1175992448, 1163334656, 1460837120, 1574079488, 1898904704, 1644777728, 1345465344, 1497220992, 1184963072, 1952053760, 1344413312, 2059422464, 1802962944, 1920248320, 1966855808, 1548817792, 2140642048, 1972501632, 1183062528, 1375196672, 1821431808, 2021846016, 1104986880, 1850852736, 1898005376, 1278920064, 1078683392, 1464739712, 1461463808, 1465345664, 1178009216, 1105846528, 1405796224, 1493048192, 1201219456, 1239680128, 1362995968, 2109440000, 1155049216, 1321886720, 1834073344, 1078211968, 1781789952, 1571721984, 1291364096, 1266122624, 1269249664, 1528258432, 1540855424, 1292694656, 1834831616, 1334827008, 1477282560, 1103678080, 1103169792, 1588468608, 1419348096, 1221049344, 1420476800, 1088314624, 2145296256, 1882383488, 1357890048, 1257978752, 1131912064, 1630630272, 2023495040, 1186410624, 2091692416, 1314588672, 1244315008, 1619766912, 1925959424, 2085135744, 1215043840, 1326968320, 1847780864, 1131377280, 1077345920, 1773499904, 1106767872, 1125441920, 1219710336, 1959158912, 1201017472, 1118018432, 1087302912, 1163540480, 1100687744, 1871823744, 1282307968, 1215354112, 1735528320, 1169245568, 1463050624, 2094919808, 1133371008, 1258800128, 1779487744, 1690508928, 2120030592, 1334827520, 2142156160, 1178129152, 1094376320, 1703138304, 1923613056, 1255698432, 1932251392, 1358935040, 1558949888, 1416915328, 1529076480, 1082289152, 1541547904, 1397697024, 1107606784, 1252267392, 1951451520}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {25168, -15906, 13627, -2398, -1215, -7454, -8760, -10227, 1717, 12779, 6944, 69475, 8831, -11701, -2615, 62307, 65724, 23412, 25819, -2334, -59, 12332, -1187, 12497, -9611, -8764, 73711, -19268, -2360, -14017, 8153, -13971, -197, 26661, 18626, 21379, -5182, 17148, 49559, -13634, -8571, -6237, -12552, -17684, 24666, -4236, 8000, -13818, -11180, 34617, -17525, 4999, 41845, 15416, 8115, 33619, -11015, 37090, 55317, 38423, -8647, 7266, 26134, -15524, 26, 11271, 7162, 141572, 12560, 48773, 10591, -7682, 17544, 5306, 54751, -2519, 7062, 1768, -60, -8810, -14966, 121612, 36046, 25202, 58025, -4722, -5632, 68359, -8911, 177640, -6983, 17044, 47725, -16099, -15342, -1828, 50550, 21763, 12846, -32132, -2354, -9645, 15587, 21638, -3779, 39513, -3140, -8295, -10385, -6801, 18384, -8176, 10819, -14520, 7374, -12612, -12859, 37510, 66222, -20582, 43231, -3243, 19622, 3671, 2503, 99, -10523, -3921, 23801, -4500, 12042, 23402, 92862, -8464, -14835, 26469, 8026, 42382, 53995, 3570, 7694, -4719, 30281, 85050, 386, -3209, -4967, 49690, 17160, 39139, -8285, 32672, 25212, 12098, 9617, -6604, -5360, 57090, -645, -5221, 8977, 84854, 26186, 9869, -20049, -3864, 39255, -95, -1750, -321, -8219, -4543, 24052, 51729, 42769, -9284, -5355, -3933, 33183, 102743, -2779, 19632, -8266, -4654, 29175, -15063, -15745, 20464, -6643, -41146, 5093, 17009, 9969, -7152, -14025, -3561, 4944, 17071, -2547, 22784, 7845, 32421, -7606, 42509, -14918, 18254, 1586, 11650, -561, 43511, -10544, -7550, 82712, 11990, 35810, -15127, 21541, 22308, 221, -10757, -17423, -2116, -25563, 9843, -7750, 37628, 56705, 21639, 33890, 5730, 4838, -1575, 27645, 13460, 2325, 32239, -7202, 29033, -3218, -3146, -217, 11796, -11838, -9185, 106024, -6748, 21822, -6020, 19871, -2494, -7150, -6798, -11403, -28757, -22440, -10783, -39247, 7647, 47311, -20521, 26544, -8824, -2283, 65194, 72538, 12090, -9888, -568, 10429, -1887, 3811, -6499, 565, -22127, -4031, 19709, 5654, 844, -9433, -1581, 4850, -7372, 27628, -11824, 58950, -12013, 47456, -4704, -34751, 31334, -305, 29000, 63897, 47545, -10594, -1353, 73820, -12076, -5307, 17107, -5976, 92480, -2872, -6978, 21317, -1210, -14046, 9095, 1872, -3687, 49781, 15314, 3102, 17766, -36935, 91402, 2243, 13922, -8380, 47207, 131753, -10335, -66, 21076, 424, -6140, -228, 29604, 120, 10290, 40742, -4835, -8271, 7111, -40338, 13387, -13340, 136143, 55277, 8147, -1403, 44526, -17493, 52689, -14940, -10562, 56225, -5502, -23668, -2618, -6546, -3163, -748, 5127, 48367, 47778, -11328, 22094, 48929, 42549, 80150, -7828, 19476, 4747, 12064, 61542, 2146, 23179, 27892, 55370, -4862, -2369, 2926, -16374, 172769, 108695, 35649, 15410, -5040, -2039, -1653, 11622, 36288, -3425} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-99, 4, -75, -10, -94, -116, -25, 12, -43, -106, -98, -263, -35, 51, -55, -350, -238, -131, -232, -46, -46, -48, -92, -83, -2, -1, -335, -24, -10, -10, -86, 1, 1, -258, -253, -261, -109, -193, -319, -80, -59, -41, 9, 25, -209, -90, -50, 15, 7, -275, 2, -52, -382, -222, -85, -253, -42, -220, -259, -152, 50, -130, -245, -87, -64, -107, -31, -393, -88, -335, -44, 3, -209, -128, -356, -63, -96, -16, -127, -5, -2, -454, -325, -127, -337, -8, -13, -435, -1, -689, -104, -206, -191, 3, 11, -64, -257, -253, -80, 21, -115, -32, -133, -94, -109, -408, -2, 10, 68, -13, -211, -5, -36, 33, -36, 10, 15, -283, -392, 37, -286, -5, -118, -46, -168, -40, -10, -54, -260, -9, -166, -259, -349, -25, 3, -98, -151, -202, -254, -55, -131, -36, -250, -498, -20, -16, -46, -258, -107, -275, -18, -245, -222, -96, -130, -14, -24, -321, -83, -32, -46, -568, -182, -38, 26, -39, -305, -42, -18, -162, -87, -117, -185, -220, -373, -21, -13, -26, -254, -350, -149, -78, -66, -4, -204, -9, 16, -161, -54, 4, -80, -78, -41, -78, 34, -14, -72, -175, -95, -242, -59, -108, -14, -274, 29, -227, -19, -164, -10, -164, -19, -8, -291, -91, -260, 28, -145, -205, -118, -6, 9, -58, 19, -55, -161, -280, -321, -255, -146, -25, -47, 17, -247, -60, -134, -238, -3, -263, -63, -10, -11, -128, -11, -76, -528, -142, -107, 2, -155, -77, -46, -13, 13, 29, -26, 5, 57, -63, -123, 18, -177, 10, -29, -418, -507, -100, 5, -15, -58, -13, -35, -59, -145, -22, -95, -123, -51, -20, 22, 86, -71, -16, -154, -23, -416, -20, -268, -25, 32, -259, -131, -279, -369, -370, 19, -65, -368, 4, -118, -141, -25, -427, -19, -31, -254, -166, 3, -34, -117, -49, -344, -60, -28, -103, -24, -480, -48, -86, -119, -273, -573, -3, -11, -117, -52, 0, -133, -267, -141, -93, -302, -53, -42, -77, -10, -96, 4, -376, -233, -74, -124, -221, -66, -243, -11, -8, -284, -44, 35, -82, 1, -8, -6, -81, -343, -212, 16, -256, -435, -286, -293, -151, -150, -16, -84, -363, -54, -256, -163, -201, -6, -9, -27, -2, -392, -424, -260, -93, -26, -97, -127, -120, -238, -22}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1518885504, 2036068736, 1125942272, 1933913472, 1925017728, 1586478336, 1164418048, 1466130944, 1168567168, 1814264064, 2121203200, 1356946048, 1809743360, 1973962368, 1289778176, 2099802752, 1814289920, 2069705088, 1503776000, 1256096512, 1732460160, 1724679552, 1608866560, 1354933120, 1124075648, 1786725248, 1724921344, 2032153216, 2014373120, 1217283072, 1705878144, 1248269568, 1773639296, 1436903424, 1249328128, 1404167552, 1665276672, 1264838656, 1378925952, 1181548544, 1901351040, 1839206528, 1949288576, 1160954496, 1731234432, 2119148416, 1891063808, 1918327168, 1160649728, 1334293248, 1287134080, 1999598848, 1361163008, 2066769152, 1212980864, 2056076032, 1399827968, 2012615936, 1552174848, 1320055552, 1456766848, 1707881984, 1990699136, 1561399680, 1435928064, 1831398272, 1629792128, 1414066432, 1250812928, 1526526336, 1369044736, 1747506304, 1325038848, 1467088128, 1823177472, 1615146112, 1861197568, 1166035712, 1876975616, 1809553024, 1167971968, 1213069568, 1730923136, 2122324352, 2101724672, 1778689536, 1073991168, 1714818432, 2028818560, 1202654848, 1877946112, 1488135552, 1704733696, 1740791808, 1954321536, 1375446784, 1424554368, 1085538432, 1909983744, 1459147904, 1490063872, 2085381760, 1152666368, 1875352320, 1206562816, 1711667072, 1981286272, 1877364480, 1415392896, 2063550592, 1682874496, 2126909696, 1599311360, 1651530112, 1243894400, 1941942144, 2043480704, 2062909952, 2120855424, 1413522944, 1916355968, 2050940544, 1124225152, 1842531840, 1238928768, 1213308800, 1078765568, 1507226240, 1429671168, 1119025152, 1350204928, 1175471488, 1565007360, 1772000512, 1178167680, 1509744640, 1183669760, 1504733696, 1087096960, 1130724608, 1534932352, 1492052096, 1505525120, 1454143232, 1078927616, 1592034176, 1473399040, 2033652224, 1311636096, 1941699456, 1891880960, 1447033984, 1408492544, 1727208832, 1965566592, 2110362624, 1236018304, 1092848000, 1422666112, 1508464384, 2107721472, 1920909952, 1864944000, 1146360704, 1398395520, 1118143232, 1616167680, 1189298304, 1986261248, 1344370048, 1687552384, 2022253440, 1099890816, 1143783040, 2056746368, 1340784896, 2103296512, 1355963776, 1186164864, 1629196032, 1125749248, 2065993472, 1084402688, 1225240832, 1186294784, 1263898496, 1689604096, 1144863616, 1864059648, 1444895232, 1569451392, 1581365504, 1655311488, 1508864384, 1458800256, 1196152448, 1670209280, 1095262208, 1987655808, 2117361920, 1228000512, 1223078272, 2142315136, 1444953216, 1974770048, 1814754432, 2116330880, 1386780672, 1771297152, 1272193408, 1446336128, 2080883584, 1258570240, 1352196864, 1267535104, 1994369280, 1798564736, 1473721088, 1383451520, 2107883264, 1268870784, 1588200448, 1776652288, 1452665088, 1847369472, 1913848832, 1471552384, 1076846208, 1387042176, 1295032576, 1961377792, 1493529216, 1607717504, 1104186112, 1319708160, 1235496448, 1081895424, 1452109184, 1968857856, 1293372032, 2000887168, 1718151040, 2146777856, 1378050176, 2042084224, 1845421312, 1557309440, 1193871744, 1322106624, 1126730624, 1986579200, 1973057536, 1768040576, 1841553664, 1625415168, 1457817600, 1853480192, 1716273152, 1117867776, 1116761216, 1882000128, 1867777664, 1436213120, 1631275392, 1726586496, 1970358144, 1874382208, 1173801216, 1312125568, 1972227200, 1306108800, 1376056960, 1298416000, 1158353536, 1417032064, 1914711424, 1197905920, 1892871040, 1185106304, 1735511936, 2051463040, 1098479488, 1718304896, 1196513536, 1905519616, 1133600640, 1162216576, 1149531264, 1611603072, 1373317504, 1172214144, 1137844480, 2085456000, 1198003584, 1527222784, 1183876224, 1802119296, 1310892928, 1735687040, 2142176896, 1731204096, 1347094144, 1501342592, 1699781760, 1087260544, 2110947712, 1784312832, 1517065216, 1720034432, 1107409408, 1491361664, 1787797504, 1449207040, 1862116864, 1867883520, 1564527488, 1478865664, 1123681024, 1261792128, 1514207616, 2075566976, 2090403584, 1986452352, 1947239680, 1431007232, 2015117824, 1935469440, 1653201280, 1480285056, 1982660224, 1878358784, 2125251328, 1441097344, 1891903872, 1777436032, 2037310336, 1145832448, 1482941184, 1157356928, 1641438848, 1704507904, 1188312832, 1412247168, 2023036288, 1527769472, 1267437696, 1286206976, 1290136960, 1518751616, 1428601728, 1740564736, 2014776192, 1445778560, 1158575360, 1522858240, 1538057216, 1687250432, 1884630528, 1324185216, 1808735232, 1433928704, 2044956928, 1108903296, 1167289216, 1193035008, 1862852864, 1197478528, 1980323200, 2084772992, 1733223296, 2057834880, 1658323840, 1083451392, 1221241728, 1180336000, 1775683200, 1398743424, 1358302592, 1562299520, 1518818304, 1090852992, 1496992512, 1638296320, 1253175680}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {-16523, -32048, 20518, -13443, 54648, 22831, -26916, 51893, -5985, -38248, 4626, 57721, 24078, -31039, -7335, 28477, 22175, -43803, -17161, -27856, 23200, 56302, -24162, -22969, 54151, -219, 62320, 11195, 1525, -8012, -34262, -12250, -7365, 28463, 30843, -17544, 35830, -44315, 62444, 33407, 22120, 13050, 4460, -53756, -36122, -72652, 45548, -37666, 7468, -437, 18884, -36243, 16561, 17888, 6490, -2441, 30068, 11312, 50147, -11309, -50363, -42026, 21771, 8202, 56183, 44591, 40714, 11752, 27939, -51167, 37375, 28390, 1368, -32021, 49746, 12524, -13006, 18604, 42639, 9031, 27420, -43642, 28819, -46076, -9406, 37439, -4743, 2772, -40833, -2199, -6657, -10867, 6493, -10565, -22817, -8116, 5489, -36560, -26018, -17317, -14384, -12597, 27111, 62639, -9150, 18394, -25540, -23152, 56014, 15289, -13262, -7639, 7409, 15473, -12922, 5851, 37693, -894, 100484, -27055, -14340, -9305, -20524, 9760, 41890, -2592, -18219, -24684, 16605, 3664, -12420, 2576, 1040, -35232, -71411, 2507, 1076, -27200, -15972, -25742, 3146, -15413, 53268, 18230, 45076, -4888, 15464, 8149, 20748, -54029, -25369, 41387, 8513, 29331, -8400, -60619, 3177, -27422, -18712, 49087, -2369, 39578, 35665, 3249, -29323, -68248, 44615, 29229, 17742, -28072, -63730, 60027, 30696, -24165, 2490, -8721, 30766, -4045, -2222, 2422, -11693, -400, -15267, 9979, 53692, -30411, 22862, -29024, -1586, -439, -30584, -27045, 10416, -12798, 30767, 10810, -6015, 18583, -38575, -49407, -9457, 11538, -323, 10563, -996, -48638, -82378, -15503, 6780, -37487, -16629, -41472, 16323, 35613, -5293, -11241, 41760, -33427, -22220, 3479, -33430, -6868, -4754, -22787, -22026, 8217, 69828, -17977, -36143, 10122, -5405, -1717, 14192, -11570, 16776, 83408, -6250, -18551, -20427, 17114, 7418, -26182, -997, -26648, 35441, 11408, 11652, 23912, -36877, -3929, 35873, 40959, -8604, 21071, 1684, -16588, -42009, -32186, 8872, -10540, -6344, -50908, 48801, 10844, -39110, -9565, 2919, 59841, -44734, -12103, -41603, 46231, 40503, -33710, 20166, 78091, -34026, 10208, 45772, 28027, -46242, -17520, -26744, -14871, 24363, 8875, 28982, -4680, 24999, -19976, -42166, 18710, 14577, 17803, -6802, -2339, 41241, -5464, -58193, 9237, 25149, -22648, 37169, 13254, 6902, -534, 61248, 32597, -21899, -38640, 23881, -29396, 69376, -19583, 65802, -11897, 12422, -1363, 16953, -33408, 8694, 1029, 3901, 67200, 3849, 37496, -13439, 13924, -2609, 44793, -22775, -61037, -1427, 43625, -29582, 6421, 44316, -37553, -11817, 40851, -18113, -16363, -31144, 43726, -10498, -76880, 13650, -14880, 15207, 50167, -65496, -68080, 6807, 20969, -29789, -17145, -4248, 30130, 16788, -18074, 33582, 732, -33140, -24463, -49559, -12829, -6305, -2247, -16441, 36267, -18494, 9396, -27598, 7654, 430, -598, -2750, 21031, 3905, -7118, 26375, -4828, -12823, 42153} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-120, -125, -79, -148, -117, -124, -96, -133, -141, -128, -154, -116, -134, -138, -129, -109, -105, -116, -110, -126, -113, -144, -107, -123, -98, -118, -131, -127, -136, -121, -135, -116, -112, -119, -131, -112, -137, -118, -92, -121, -132, -101, -106, -117, -139, -141, -152, -106, -101, -146, -94, -107, -106, -133, -127, -129, -117, -159, -113, -100, -138, -121, -93, -125, -104, -113, -141, -125, -137, -147, -109, -145, -122, -128, -100, -102, -139, -141, -136, -137, -117, -114, -97, -89, -138, -131, -134, -118, -125, -119, -125, -135, -95, -122, -130, -141, -96, -115, -134, -107, -143, -91, -154, -104, -103, -134, -162, -112, -146, -157, -102, -144, -132, -91, -103, -138, -120, -96, -111, -131, -103, -92, -90, -142, -126, -137, -121, -97, -102, -117, -112, -111, -131, -118, -125, -143, -157, -97, -108, -116, -142, -151, -134, -120, -145, -123, -159, -121, -152, -103, -125, -142, -128, -125, -120, -122, -123, -102, -117, -86, -119, -161, -129, -137, -86, -114, -142, -118, -145, -111, -121, -113, -87, -108, -112, -104, -129, -158, -187, -131, -126, -126, -126, -131, -163, -136, -101, -141, -124, -171, -116, -151, -119, -122, -123, -111, -114, -141, -116, -101, -144, -144, -126, -140, -116, -123, -121, -118, -146, -125, -132, -112, -124, -144, -143, -120, -141, -98, -130, -112, -108, -104, -102, -115, -151, -148, -138, -120, -124, -116, -169, -165, -136, -87, -130, -120, -132, -124, -140, -112, -71, -123, -102, -143, -159, -134, -125, -141, -123, -118, -131, -133, -74, -119, -117, -108, -148, -101, -120, -118, -140, -106, -144, -108, -117, -117, -132, -142, -113, -127, -100, -140, -133, -138, -92, -109, -114, -123, -125, -151, -95, -129, -118, -135, -99, -113, -101, -132, -114, -133, -100, -126, -125, -150, -147, -116, -123, -107, -116, -123, -140, -132, -137, -139, -126, -127, -161, -132, -130, -88, -104, -137, -142, -132, -138, -56, -114, -115, -142, -122, -151, -143, -92, -125, -127, -138, -92, -130, -135, -121, -114, -126, -140, -125, -139, -69, -121, -95, -122, -102, -139, -148, -142, -107, -124, -133, -117, -91, -111, -137, -91, -105, -119, -152, -127, -163, -173, -106, -130, -151, -85, -171, -137, -108, -121, -132, -109, -123, -111, -120, -98, -101, -114, -116, -109, -156, -130, -139, -124, -111, -108, -149, -155, -138}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1153741824, 1125515520, 1858601472, 1457682560, 1990685952, 2104367232, 1134159616, 2058710528, 1583893888, 1089034752, 1896085888, 1302691840, 1928563968, 1231215616, 1296401664, 1272586880, 2060060416, 1177840128, 1073900160, 2000951552, 1169318144, 2014751616, 1136411136, 1254588032, 1199995392, 1205167488, 1499179520, 1697760384, 1322980992, 1161258112, 1842135936, 1134611712, 1146017920, 2098670080, 1885429248, 1184518528, 1188332032, 1988628992, 1356286464, 1371899520, 2138079616, 1704967680, 1890798464, 2053692672, 1875298688, 2140998912, 1392824448, 1289119104, 1471949952, 1429516800, 1274652544, 1112532864, 1190784896, 1186500992, 2140413184, 1675082752, 1167494272, 1908663424, 1531302400, 2052837888, 1212509824, 2101132032, 1210796416, 1910242048, 1680525568, 1586763136, 1204878848, 2022265216, 1988539520, 1167240704, 1765773824, 1632176768, 1239476096, 1999130752, 1301559936, 1618738176, 1999093376, 1322442880, 1321837312, 1123455360, 1272414336, 1830204288, 1962085888, 1397268992, 1988606848, 1529513600, 1711795712, 2088673024, 2033788800, 1621618304, 1244040960, 1885450112, 1367177600, 1179248640, 1193320448, 1094564480, 1109565696, 1845053056, 1293298048, 1248977536, 1331821952, 1341441280, 1515340672, 1599060096, 1301765376, 2090963456, 1279721088, 1602621184, 1400512640, 1317598336, 2028776832, 1369244288, 2061977216, 1968165760, 1108939520, 1504531456, 1510396800, 1597251072, 1088230016, 1293611392, 1202031232, 1089529856, 1536465024, 1543410304, 1085621632, 1345036160, 1609397248, 2034399744, 1334773248, 1500901504, 1429286272, 1539148544, 1235529984, 1752538368, 1397893376, 1092830976, 1177454976, 1153655552, 1124739072, 1767261184, 1790722432, 2133864448, 2013624064, 1335721472, 1124450304, 1529625600, 1925422848, 1788597760, 1844458496, 1218165760, 1881232768, 1237423744, 1251039744, 1991959808, 1905592576, 1086461824, 1938940672, 1192876928, 1783644416, 1371413888, 1134227712, 1232887424, 1937147136, 1837277696, 1339956864, 2049049088, 1806962304, 1767197440, 1342642816, 1244872576, 1162405888, 2110839296, 1659310336, 1691065600, 1408293632, 1430633984, 1112636928, 1467477120, 1208245504, 2057106944, 1301239040, 1806824064, 1882558464, 1133652864, 1942911872, 1539068672, 1806298752, 1945390976, 1424715392, 2072465024, 1118666112, 1112603648, 1112819584, 1359761536, 1194348800, 1690564352, 1742225536, 1146740736, 1089092608, 1179744384, 1102781440, 2104812928, 1496498304, 1442442752, 1124492032, 1413062656, 1814951040, 1494576000, 2143224064, 1815112832, 1601448960, 2054055424, 1145386368, 1444873984, 1480557568, 1345976576, 1699089280, 1293558528, 1273610368, 2124450176, 1353581696, 1582043776, 1616207360, 1082919808, 1456022400, 1545572480, 1211501312, 1322546944, 1395054080, 1179431808, 1415799040, 1095211264, 1380811776, 1914407040, 2120201856, 2124702848, 1638229632, 1572713856, 1116013952, 1250965248, 1648553472, 1349836032, 1782900736, 1384851584, 1407316480, 1139476224, 1114755840, 1595737088, 1932639360, 1307957632, 1147399168, 1243534720, 1371843328, 1276919936, 1929184000, 1293942528, 1646363904, 1281832960, 1336277248, 2101206400, 1601153536, 1203576576, 1078784256, 2032311808, 1114506240, 1172968960, 2038384000, 1094108160, 1506386304, 1273093888, 1287528064, 1780935936, 2111482240, 1191460864, 1532051072, 1215574400, 2124747392, 1638379648, 1181589632, 1094574080, 1081121664, 1380122240, 1969874944, 1163482752, 1202190720, 1371832192, 1851591936, 1145014144, 2006523776, 2066010368, 1317686912, 1081858560, 2123013120, 1173938304, 1913168128, 1737221120, 1127059072, 1946603392, 1219958784, 1321663872, 1815181056, 1599846400, 1220505216, 1343408896, 1936562176, 1553804672, 1699739904, 1180578816, 2099810688, 1414364928, 1837423104, 1360270976, 1112757248, 1435843328, 1589386368, 1689412608, 1109190272, 1216864256, 1824630272, 1418665600, 1645927296, 1663299072, 1213222912, 2008266496, 1216148736, 1168738304, 1309370240, 1168817408, 1852967808, 1284352512, 1681564032, 1863036800, 1214800896, 1303118336, 1276477696, 2058698880, 2029875200, 1312533760, 1867195264, 1375835520, 1820403328, 1237625728, 1713478272, 1362974208, 1428588288, 1858477568, 1976815744, 1626748544, 1185532800, 1623213184, 1542510976, 1104161280, 1707898240, 1567513344, 1408657536, 1665905152, 1179036544, 1908969856, 1475353984, 1650990208, 2029961344, 1130970368, 1760825984, 1615771264, 1377218944, 1980030976, 1180577280, 1087114496, 1170875520, 2039514496, 1198031360, 1253382528, 1385007360, 1415802880, 1182575616, 1123875584, 1166201728, 1970351488, 1757523200, 1798241408, 1180402688, 2129158912, 1334778240, 1117937408}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {10274, -5921, 114213, -4147, 14112, 136817, -3550, 67880, 26486, -1360, 72822, 14809, 11237, -946, -13355, -36518, -1563, -6143, 12122, -1698, 156072, 6194, -1629, -17464, 48565, -1791, -1648, -20227, -6586, -5429, -17812, -27429, -9382, 33464, -2608, 14402, -7613, -4465, 4426, 26716, -506, 10811, -9498, -2924, -9057, -9538, 20461, 59078, 15504, -979, 41215, -5587, 69333, 29854, -4703, -18787, -6643, 38886, -34676, 68204, -21449, -7172, 18053, -19451, 37210, 7571, -6481, -4756, -1121, 6645, -1107, -25522, -12001, -4474, 25672, 58797, -5308, -13686, -7955, 8004, 32399, -6548, 25808, -7848, -4785, 46706, -1603, 53971, -10175, -10552, 72550, 7082, -13242, -5777, 91995, 16952, -7394, 5417, -4111, -19896, -11395, 86051, 34514, 22393, 407, -6755, -12099, 20578, 11781, 57505, 16179, -2258, 73734, 9029, 12302, -13811, 26753, -5658, 20933, -5920, 56579, -7640, -5157, -7765, -4029, -11432, 7708, -7208, -3708, 5388, 122673, 21011, 65984, -3818, -15100, 97710, 12471, -1502, -710, 72648, -3524, 6698, -8141, -26288, 101824, -4298, 19175, 29805, 14896, -3696, -14633, 15935, 53315, 23135, 5838, -5501, -3906, -3233, -1578, 12601, -10292, -14527, -10215, -4782, -13639, 81632, 10646, 94787, -980, 12003, -10053, -1481, 15384, -10152, 262735, 89739, 82931, 13613, -4015, -468, 28594, -4572, 6291, 138558, 22732, -9728, 45233, -6507, -3828, -21384, 58047, 12886, 6461, -1538, 43988, 45115, 8459, 10441, 26520, -1758, -4669, 73896, -3345, 23462, 121733, -8706, -16751, 4449, 34141, -9523, -6502, 106649, 40251, -16824, 15185, -14298, 20113, 71086, -451, 189, -9650, 19666, 91531, -2031, 115700, -2037, 6523, -1595, 8910, -16397, -18181, 42385, 116379, -20788, 7428, -610, 13281, 26978, -3407, -2373, 53621, -8241, 48226, -15275, 20609, 11978, -6238, 24891, -6961, -2134, 14444, 13962, 94613, -7871, 48885, -10477, 142960, 57287, -1368, 6090, -12678, -7606, -1939, 6885, -942, -7032, -14969, 5388, -10761, 762, 14548, 13931, 91268, -3578, 45825, 7416, -13113, -2736, 87005, 35936, -3537, 84321, 81074, -12718, 11002, 43657, 52553, 132989, -1339, -1547, -11510, 10648, -6753, 23551, 1427, 22442, 16045, 68368, -7028, -600, -10772, 22725, -1984, 216380, 97450, -21109, 70916, -2417, 20977, -3560, 6844, -10628, 51450, 113121, 8856, -1810, -4418, -27132, 47300, -4612, 29469, 25120, 126859, 41487, -862, -2054, -2120, -13579, 47960, 18634, -40647, 107714, 11303, 44672, -5202, -14279, -11289, -2398, 5786, -6676, 5682, -13788, -19482, 27201, -2368, -1207, -7281, 159688, -4572, 7985, 57569, -3847, 18221, 12825, -7238, -7509, 18468, 3650, -2210, 631, 41833, 18733, -7003, 10509, -1811, -8959, 99858, -5092, -11932, 16627, 30205, -17287, -3235, -18142, -13476, 23655, 40885, -8869, -1680, 3341, 162192, -12294, -1458, 48826} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-214, -28, -455, -2, -203, -495, -39, -359, -209, -95, -466, -100, -190, -12, -1, 39, -78, -1, -157, -78, -442, -34, -156, 18, -422, -131, -35, -39, -9, -74, -98, -37, 2, -246, -49, -99, -10, -24, -33, -141, -48, -29, -5, -11, -6, -83, -194, -325, -54, -11, -275, -69, -381, -232, -7, 16, -181, -218, 62, -348, 22, -4, -154, 10, -276, -115, 3, -64, -11, -108, -98, -3, -78, -4, -256, -264, -6, -78, -76, -94, -257, -7, -75, -12, -41, -332, -108, -273, 0, -35, -336, -37, 11, -79, -348, -188, -4, -81, -2, -91, 20, -498, -195, -226, -139, -31, -39, -99, -73, -356, -188, -20, -276, -75, -72, -52, -234, -140, -242, -24, -244, 4, -15, -8, -24, -49, -35, -30, -6, -29, -403, -145, -430, -81, -15, -383, -142, -31, -20, -510, -86, -40, -48, 36, -721, -21, -87, -136, -126, -23, 12, -91, -282, -112, -22, -3, -70, -2, -66, -191, -5, 3, -3, -41, 125, -289, -35, -494, -185, -152, -11, -42, -205, 1, -729, -452, -332, -38, -5, -56, -266, -17, -78, -440, -262, 17, -293, 0, -11, -78, -336, -82, -33, -97, -197, -308, -48, -97, -168, -36, -61, -501, -183, -202, -534, -72, 6, -123, -167, -5, -44, -481, -203, 11, -95, -8, -247, -234, -11, -127, -12, -184, -582, -154, -478, -56, -72, -124, -77, -100, 13, -230, -855, 12, -42, -22, -88, -81, -24, -8, -379, -6, -279, 1, -129, -75, 1, -231, -36, -18, -54, -195, -527, -5, -296, -17, -484, -289, -13, -23, -49, -2, -99, -41, -69, -26, 9, -29, -19, -108, -136, -67, -322, -65, -310, -40, -46, -9, -313, -163, -74, -373, -305, 15, -210, -224, -299, -824, -40, -89, -38, -197, -10, -120, -18, -148, -85, -243, -31, -120, -54, -103, -30, -593, -460, 29, -317, -40, -152, -8, -42, -7, -302, -610, -38, -26, -14, 17, -255, -27, -223, -214, -503, -172, -79, -47, -63, 21, -216, -246, 69, -311, -101, -282, -21, -3, -39, -13, -18, -17, -155, -1, -29, -176, -51, -70, 2, -549, -84, -123, -307, -41, -190, -128, 4, -52, -113, -117, -101, -86, -193, -107, -36, -78, -98, -17, -544, -5, 6, -228, -202, 2, -26, -19, -7, -131, -191, 1, -104, -31, -560, -89, -97, -302}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1975629312, 1601288320, 1343321600, 1992771328, 1474003456, 2102749056, 1124611712, 1146373504, 1144656768, 1695360512, 2021428864, 1614070272, 1257951488, 1587973760, 1235079296, 1310169472, 1404468096, 1367545600, 1699033984, 1111979520, 1616844672, 1813342464, 1079152384, 1773860352, 1280248448, 1962823296, 1075638528, 1459102592, 1175964544, 1865415168, 1372680192, 1295588480, 1819059968, 1631448960, 1683169408, 1585328640, 1945190016, 1450440704, 1231513728, 1301884032, 1172678400, 1160159744, 2063728256, 1133748224, 2105818240, 1768459776, 1437543680, 1757360640, 2015278336, 1869667072, 1511348352, 1460356736, 1791814144, 1241692160, 1976114048, 1341780352, 2044556672, 1161158656, 2060445440, 1194756608, 1797575936, 1208457472, 1652471424, 1361455616, 1302685824, 1698222592, 1866545408, 1140882048, 1992665472, 1945065344, 1281518208, 1431257216, 1456961536, 2103969152, 1225126272, 1630546432, 1881527936, 1177475968, 1142023680, 1083772928, 1393797376, 1739224192, 1290882432, 1092782976, 1956501888, 1760979840, 1300179840, 1907117568, 1929161344, 1147917952, 2065450496, 1391042176, 1994871040, 1310456704, 1321559552, 1590384256, 2056262912, 1270286720, 1911282816, 1806759936, 1926572672, 1312568192, 1145200640, 1963134720, 1216200192, 1430954496, 1753479808, 2057347200, 1159564416, 1365984384, 1597593472, 1079549440, 1117725312, 1817153920, 1755566208, 1246632448, 1224865664, 1597052928, 2013270528, 1197465984, 1215497088, 1856981376, 1248453376, 1128445952, 1080455552, 1199847808, 1454647424, 1368469248, 1089156096, 2057542016, 1700546048, 1182274560, 1583471104, 1800371200, 1163129216, 1300639872, 1078521984, 1993761408, 1179931008, 1482843136, 1086976640, 1220850688, 1467871616, 1163168768, 1148940672, 1112161152, 1199089024, 1637693696, 1433181440, 1857705088, 1879472000, 1999014144, 1125179904, 1863528320, 1260581248, 2016571264, 1461555456, 1836724864, 1438992640, 1367175808, 1297330560, 1674512768, 1165044480, 1860041984, 1434588288, 1306917760, 1142417408, 1745752192, 1244487680, 1890194688, 1284218240, 1336625664, 1214816640, 1864686848, 1229875968, 1144238976, 1913220992, 1502924160, 1851161088, 1912892288, 1746610176, 1659632384, 1449881472, 1099091712, 1588391424, 1765334528, 1703956736, 1386806400, 1188025600, 1885648384, 1133597696, 1500987264, 2068516480, 1245101312, 1615488640, 1976978432, 1583854976, 1090654464, 1780988928, 1079516032, 1264763776, 1845932544, 1504742272, 1080384640, 1885348864, 1749845504, 1618364928, 1561143424, 1648555648, 1120561408, 1649480064, 1077334912, 1899905280, 1238887168, 1266444416, 1409260800, 1191432960, 1671117696, 1928660864, 1618236928, 1130335488, 1773957632, 1987005568, 1266658944, 2088520960, 1554316928, 1089130496, 1946059392, 1868134912, 1821613184, 2065531136, 2146276352, 1736295296, 1227748736, 1096749952, 1764814336, 1606486144, 1637926016, 1816275968, 1230376320, 2084496896, 1291868032, 1452682880, 1104443648, 1727927680, 1441396352, 1113605376, 1410378112, 2069145088, 1098222592, 2065123456, 2100462080, 1078453376, 2090860928, 1489044096, 1573906304, 1982555264, 1511054976, 2117415424, 1119589504, 1481943552, 1677390848, 1577575424, 1436836992, 1405197184, 1276638848, 1113147648, 1191481472, 1511390848, 2077944960, 1275017344, 1102548736, 2066339712, 1615873280, 1763585664, 1202087936, 2003619584, 1965988224, 1601442304, 1425649792, 1311954304, 1707044608, 1844995456, 1917916288, 1437054976, 1590131584, 1363680512, 1694610432, 1219680384, 1941240192, 1210953984, 2143144576, 1561077888, 1157575168, 2106977408, 1123915392, 1866539776, 1545132160, 1338145792, 1670907136, 1289819776, 1139522688, 2120836864, 1207903232, 1351533824, 1293689344, 1312439680, 1293932160, 1164827520, 1078548224, 1851889536, 1542188544, 1280645888, 2003638272, 1794062592, 1208384512, 1907323648, 1942074880, 1767294592, 2066335104, 1517284352, 1253390720, 1990658816, 1173285376, 1937580160, 1238217600, 1955126784, 1685385344, 1157620352, 1229468800, 1433705856, 2074017920, 2004732032, 1300783488, 1967703552, 2114961920, 1976079488, 1111873664, 1258505856, 1074664064, 1373288960, 1189891456, 1399950976, 1585950080, 2008386944, 1676805248, 1097250688, 1339486720, 1504188160, 1438208896, 1279030016, 1344199680, 1485029376, 2069719296, 1789881984, 1723665536, 1846343424, 1476485120, 1273895424, 1368254080, 1759866112, 1769443456, 1340698496, 1726621952, 1166451968, 1257072128, 2069643904, 1100993536, 1122308096, 1603286400, 1424921344, 1442658432, 1173145472, 1735448704, 1916824576, 1093136512, 1585145984, 2058977664, 1462598016, 1399701248, 1195709952, 1145691264, 1453156992, 1916541824}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {-59250, 22385, -15380, 23620, 9469, -29977, -51249, 27884, 1418, -48785, 11334, 18682, -49947, 60037, 505, -26472, -35681, -797, 19758, -19988, -44430, -12353, -34314, -34222, 21369, 20877, -55060, -10909, -12722, 8840, 2115, -4158, -33907, -8167, 3070, -6819, -32793, -131410, -1280, 27047, -9808, -3074, 17942, -8398, 42602, 13427, -29237, 15067, -32918, -21103, 17237, 47879, -53037, 47200, -34498, -23064, -59993, -38888, -39230, 77662, -10023, -18046, -13104, 9263, 35222, 13412, 13314, -6907, -23840, -7344, -27122, -42738, 6505, -4240, -27997, -4460, -20094, -21974, -18311, -51617, -24385, -11444, 525, -4433, -8401, 29375, -18238, 14719, 15194, 6199, 32551, -16581, 3196, -16969, -3318, -15230, 13792, 883, -10596, -12528, 11298, 12963, -27052, -29978, 24437, -62114, -253, -6616, -12981, 6063, -18640, -34843, -26571, -51819, -20804, 25098, -12749, -22156, -59560, -58754, 14990, -4837, -8726, -28998, -33011, -47608, 19077, -12335, -21508, -18389, 20217, -12352, -22930, -59213, -22120, -73758, -28286, -18706, -7723, -32782, 2744, 74458, -24156, -27179, -4921, 29801, 14044, -55023, -10828, 14574, -16598, 6264, -14815, -77123, -7364, -32518, 11160, -57946, -25142, 4115, 15121, -1473, 10384, -43183, -19874, 32548, -12161, -32566, -22164, 35110, 11252, -35349, -2253, -18364, 22814, -15069, -20722, -15902, 52139, 67576, -51260, 1796, 13820, -8371, -60825, -41448, 11063, 2216, -10030, -10735, -108960, -10703, 23229, -13366, -27370, -1488, -8300, -48383, -12238, -59969, -41015, -27822, -3524, -3301, 22668, 4369, 8266, -9713, 3873, -19799, -4215, -1765, -22539, 5657, -12474, -89798, 10133, 79980, 32840, -15754, 5450, -10656, -45002, -14521, 10057, 24654, -27325, -20355, -24432, 103468, -25201, 4602, -31111, -70872, -9547, 16441, -10316, -46628, 9978, 1609, 5707, -12860, -41878, -6278, 42450, 8856, -37921, -60255, 18314, -12725, 18975, -29869, 21936, -3747, -238, 3370, -2241, -31490, -14232, 1126, 10259, 9787, 1885, -16836, -63254, -4781, 34260, -18929, -25330, -372, 441, 10578, -28684, -22907, -9252, 52004, -31285, -5399, 31384, 5188, -21192, 37927, -36917, -45563, -27897, -11613, 32878, 26379, -21110, -15828, -13399, -50795, 9333, -8367, -32585, -30260, 12210, 24980, 4673, -34525, 11264, -27832, -6414, 21447, 16244, 46083, 6411, 30422, -23528, -1617, -22606, 2196, -58206, 4835, -24118, -34402, -37824, -30929, -6360, 2062, -5750, 10678, -25324, -7490, -22888, -41711, 5774, -25318, 21594, -33977, -27573, 15423, 6117, 12619, -22704, 9649, -55735, 1690, -13243, 48347, 26190, -60195, -22411, 1304, 16437, -5848, -20825, -112255, 29131, 517, 20265, -6971, 9442, 17969, -10356, -2445, -2762, -27669, -5611, 30348, -41701, -10178, -4140, -37448, -34754, -42261, 43336, -12964, -18935, 27334, 5484, -24180, 2300, -3324, 1602, -32626, -43000, -38562, -9010, -46558, -341, 49791, -16049, -20909} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-137, -115, -113, -119, -118, -128, -126, -130, -126, -151, -138, -132, -120, -101, -98, -106, -117, -135, -107, -135, -135, -106, -121, -124, -136, -109, -115, -111, -121, -111, -119, -123, -125, -138, -152, -112, -131, -94, -144, -158, -122, -123, -129, -127, -115, -96, -98, -131, -143, -113, -130, -137, -119, -128, -130, -122, -115, -144, -120, -140, -128, -145, -132, -106, -107, -109, -99, -141, -128, -135, -95, -128, -81, -123, -115, -127, -127, -126, -114, -112, -135, -99, -108, -130, -135, -122, -122, -101, -115, -92, -76, -127, -163, -137, -115, -107, -123, -141, -118, -115, -126, -158, -106, -103, -102, -106, -149, -132, -123, -139, -124, -113, -115, -120, -104, -95, -125, -111, -141, -118, -132, -94, -140, -161, -134, -158, -137, -145, -151, -122, -115, -153, -122, -155, -118, -98, -98, -139, -146, -128, -95, -141, -101, -123, -126, -137, -130, -127, -132, -149, -172, -103, -146, -104, -134, -109, -120, -114, -144, -127, -130, -121, -129, -119, -171, -137, -111, -132, -117, -125, -144, -110, -138, -126, -83, -122, -97, -188, -128, -128, -141, -127, -98, -148, -135, -124, -131, -70, -126, -149, -121, -79, -137, -131, -113, -91, -110, -112, -133, -129, -124, -107, -134, -87, -177, -139, -130, -138, -134, -101, -123, -134, -124, -114, -88, -117, -100, -125, -136, -83, -118, -136, -139, -145, -145, -109, -138, -110, -133, -120, -124, -108, -131, -112, -161, -133, -132, -125, -104, -121, -128, -126, -154, -132, -129, -112, -92, -117, -130, -139, -113, -88, -183, -138, -135, -110, -132, -123, -118, -98, -134, -136, -117, -122, -119, -124, -130, -78, -118, -173, -112, -140, -119, -152, -126, -93, -114, -93, -114, -143, -125, -121, -128, -118, -121, -121, -125, -128, -142, -126, -69, -110, -137, -137, -121, -122, -141, -124, -132, -124, -108, -127, -109, -141, -107, -129, -107, -118, -146, -130, -122, -145, -125, -114, -153, -114, -101, -109, -145, -118, -149, -146, -144, -146, -118, -92, -158, -140, -164, -91, -111, -155, -142, -116, -116, -90, -118, -130, -130, -115, -125, -143, -124, -101, -132, -135, -102, -128, -130, -92, -145, -121, -163, -103, -128, -109, -99, -102, -104, -106, -115, -106, -117, -146, -141, -116, -144, -127, -103, -39, -137, -137, -123, -137, -142, -125, -123, -115, -106, -111, -97, -134, -130, -124}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1972731776, 1174717696, 1998676480, 1219756160, 1224467584, 2112541184, 1210770688, 1838235776, 2006225664, 1541899008, 1999237376, 1304942720, 1257879552, 1677619840, 1489972096, 1236745984, 1799415424, 1264840704, 1571574656, 1408120320, 1164041344, 1163919488, 1150675200, 2057710464, 2089937664, 1186918528, 1093611392, 1823422848, 1197528448, 1845318144, 1867619968, 1123161344, 2023642752, 1249099648, 1237080960, 2123307136, 1088875648, 1715534848, 1198209664, 1479064832, 1100643328, 1384903936, 1552387456, 1375014528, 2010310016, 1127777280, 1604503936, 1233204352, 1334433536, 1529534720, 1894181504, 1971978112, 1077121024, 2028414976, 1161519872, 1153566976, 1542147072, 1117421952, 1399997440, 2089584384, 1172733824, 1355016576, 1386603136, 1534059776, 1717722624, 2085261312, 2003195392, 1623588224, 1916428800, 1108629632, 2000718080, 1220190208, 1122230144, 1209811712, 1149374720, 1200778752, 1218946560, 2089345024, 1809033984, 1208579328, 1390962560, 1271032704, 1237428224, 1126549248, 2108939520, 1393381760, 1157895808, 1459778944, 1339917696, 1283561728, 1205706752, 1141904384, 1348587520, 2075016576, 1291798144, 1575563264, 1136363392, 1288476544, 1187234304, 1079225600, 1252909312, 1117263872, 1373459968, 2124333824, 1381579904, 2030834176, 1864559488, 1107952000, 1263031296, 1238317568, 1240800128, 1302830848, 1398131968, 1191958144, 1199103872, 1694949120, 2127841024, 2031310976, 1930910720, 1150748928, 2041845120, 1762573056, 1437469952, 1332239744, 1344880256, 1218325632, 1110187776, 1291855744, 1200995328, 1659271808, 1275046016, 1782747008, 2065355904, 1085007360, 1987614336, 1287974144, 1124955904, 1360792192, 1257119616, 1486074368, 1968530432, 1870736128, 1214274304, 1356855168, 1197235072, 1488530304, 2089426176, 1167147008, 1470130048, 1647620608, 1846850560, 1457402240, 1097352320, 1328985728, 2113256448, 1169768448, 1099003776, 2057022080, 1270475520, 1922952320, 2087161600, 1156526208, 2053976960, 1518114816, 1646436224, 1849971200, 1859421312, 1706461824, 1977842816, 1137322368, 1828132096, 2119173120, 1166083456, 2092488832, 1137457920, 1086584192, 1346610816, 1226203264, 1326386048, 1710853760, 1737127424, 2040015744, 1190269952, 1099187328, 1989411968, 1147319552, 1426067840, 2008742016, 1390537728, 1506214912, 2042958336, 2057230336, 1545626496, 2076552064, 1478578816, 1232725248, 1312826368, 1139363328, 2053519104, 1092063616, 1455373056, 1951955584, 1150395136, 1413867008, 1792349440, 1610192640, 1616850048, 1937924992, 1573236992, 1225145600, 1884135936, 1219234560, 1912032128, 2005017984, 1132043520, 1260450688, 1189031040, 1749796608, 1766749952, 1442936832, 1213590912, 1974208896, 1287674496, 1205772544, 1135386112, 1519217152, 1183126912, 1217593216, 2112380928, 1176275456, 1466608640, 1720452864, 1241590400, 1290324736, 1353376768, 1457563264, 1923205248, 1901757568, 1286857984, 1577904384, 1942980480, 1325291904, 1395016320, 1725644032, 1336316032, 1482536960, 1294220032, 1237828224, 1218424192, 1920333056, 1268333952, 1273651840, 2082446720, 1120189440, 1113263360, 1595950592, 1236781696, 1414573184, 2097299968, 1262520192, 1187949568, 1136562304, 1230699904, 1672845952, 1096772992, 1214255488, 1195166848, 1103031296, 1648697856, 1177327104, 1497727488, 1205345920, 1236236928, 1684539904, 1954659200, 1933165824, 1194973184, 1618140928, 2046993408, 1878136704, 1371391872, 1578524160, 1103550080, 1239115392, 1248591488, 1294997120, 1852988672, 1907989760, 1813214592, 1899254528, 1707029888, 1179667840, 1620339712, 1664449152, 1347859328, 1287547264, 1309393408, 1349619200, 1404568576, 1552077696, 1380885376, 1181878144, 1090951168, 1174835840, 2110272768, 1088742528, 1138017024, 1951020800, 2063432832, 2101208064, 1934242304, 2007632384, 1882415232, 1604723200, 1378160384, 1397152640, 1451844096, 1263812096, 1263446400, 1772633088, 1324718592, 1256804608, 1195702400, 1292669952, 1335843712, 1251068416, 1731176576, 2134448128, 1189267072, 1494707968, 1082558464, 1736994944, 2117881984, 1134238592, 1273728000, 1826855808, 1213359360, 2042606976, 1570300800, 1335363328, 2132657536, 1085174272, 1293324544, 1486578048, 2081376256, 1086402048, 1356298240, 1929172608, 1458665728, 1254942464, 1864166656, 1290781824, 1792038656, 1146064512, 1686815104, 1201151744, 1941809408, 1199644544, 1108708352, 1123860096, 2018512000, 1629411072, 1499186432, 1301757568, 1736927104, 1252181760, 1922204544, 1991314176, 1407748736, 1185927552, 1227408256, 1802452608, 2068022272, 1138785664, 1852748160, 1239088768, 1155931520, 1357194624, 1394218112, 2136421376, 1165528064, 1526302976, 1732168832, 1876385024}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-7755, 78974, -10801, 45738, -5789, 76734, -4996, -10454, -5519, 83541, 72014, 65513, 35319, 14832, 27887, 89048, -4589, -4995, 24595, 3351, -6489, 85625, -3996, 10256, 72004, 59441, -1685, 100071, 6555, -1266, -4842, 87133, -4186, -8819, 25410, -1872, -2210, -3765, 3096, 156905, -2320, -17286, 17506, 146186, 31346, 73816, 96482, 85037, -1871, 80220, 48240, 116244, -6961, -9392, -6148, 119602, -4734, 105134, -13018, 10409, -21939, 104398, -9003, 21488, 114488, 6680, -2523, 58487, -12367, -5704, 68610, 3162, 10590, 5213, -8002, -8313, 41342, -7889, 23853, -8873, 77340, -1122, 76856, 59249, -7728, 28657, 62296, 75525, -27809, -1411, 8182, 124526, 72135, -9987, 77675, -7142, 104330, 91142, 68748, -4557, -5439, -4061, -4730, -7175, -34125, 13623, -8360, -1363, -7813, 123587, -38210, -661, -2149, 76226, 54421, 42616, 171611, 69089, -5551, -6008, -10919, -10159, -3434, -3514, 70400, -6945, -5170, -3356, 65014, 7731, -5067, -1149, -13031, -1011, -3716, 46693, 70576, 103834, 59025, -11305, 2412, 8595, 52841, -3829, 77011, -2574, 98341, -5528, 2585, 71458, -2538, -23702, -8190, -7924, -2097, 44987, 151207, -4474, -14491, 80373, 8816, 97679, 11324, -4244, -3247, 3780, 36913, 75235, -36094, 51978, 19421, -6509, -4743, 102908, -2339, -6142, 27692, 95787, 39432, 4813, 2136, 61214, 54990, -3993, 68442, -5987, 15761, 61395, 48594, -16479, 64618, -836, 34996, -6932, -6802, -5677, -7520, -17697, 175596, -6370, -6681, -3814, -13982, 23980, -32343, -7480, 62061, -5191, -4434, -2900, -10707, 111318, -2500, 73249, -18534, -9040, 5191, 20259, -23132, -4582, -8760, 13957, -4112, -10873, 80776, 33268, 6910, -6137, 116605, 48781, -10173, 17796, -22574, -3299, -7422, -90749, 108041, -7093, 72566, -13031, 43078, 57319, -14652, -32893, 155210, 61455, 1020, -11028, 77477, -288, -3868, -3200, 6140, -236, -966, -4001, -5054, 141407, -2546, -19326, -3639, -12278, 19606, -4608, 76547, 12338, 15365, 46878, 79108, -20684, -25045, 94863, -1375, 49541, 38205, 12604, -2982, -3895, -1833, -10219, -16006, 56171, -4858, -2566, 113289, -13382, -4947, 59110, -4199, 88702, -5941, -4624, 70523, -19230, -5879, 179856, 8013, -13803, -21742, -4888, 7155, 6710, -9005, 172960, 56860, 51556, -9233, 57060, -10191, -4946, -3499, -6669, -8641, 106347, 46590, -4226, 3893, -3011, -8391, 84764, 15797, 37845, -10523, -23905, 68994, -2580, 4501, -5235, 13080, 88653, 77318, -42757, 62896, -8190, -2732, 3963, -3898, -2512, 50600, 82936, -7381, -29, -14190, 83721, -369, 2711, -2813, -6324, 148743, 64747, 16964, -7477, -7163, 63568, 42005, 388, -3839, -234, -4613, 519, 36773, 204642, 74428, -4294, 74518, -12680, 21799, -504, 85949, 31804, -1798, -2923, 41877, -19304, 38245, -297, 59916, -7741, 106249, -3970, 3214, -1582, -8255, -7898} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-17, -313, -19, -257, -66, -415, -88, 20, -20, -354, -283, -317, -121, -230, -123, -359, -11, -7, -225, -50, -18, -339, -17, -183, -364, -268, -76, -360, -87, -36, 23, -243, -38, -109, -169, -18, -35, -46, -117, -649, -83, 16, -131, -548, -145, -286, -327, -323, -21, -493, -269, -284, -13, -45, -66, -496, -105, -352, 43, -201, -3, -452, -4, -210, -497, -97, -48, -349, -37, -15, -369, -80, -165, -31, 6, 18, -271, -1, -155, -33, -368, -48, -407, -259, -14, -248, -275, -388, 29, -66, -75, -551, -374, -12, -285, -33, -332, -234, -383, -13, 40, -20, -32, 10, 14, -100, -134, 25, -15, -345, -13, -41, -143, -318, -308, -134, -515, -255, 7, 6, -10, -17, -12, -1, -518, -11, -33, -22, -308, -29, -106, -20, -23, -33, -7, -298, -305, -497, -333, -68, -30, -49, -335, -13, -571, -55, -318, -42, -22, -299, -93, -29, -20, 4, -4, -391, -682, -23, -38, -329, -110, -378, -76, -40, -82, -142, -184, -443, 26, -330, -117, -15, -25, -371, -19, -1, -223, -371, -148, -102, -66, -411, -362, -14, -331, -54, -93, -335, -254, -20, -231, -27, -156, -21, -53, -81, 2, 6, -482, -18, -103, -31, -2, -230, -6, -11, -266, -21, -12, 57, -19, -544, -17, -342, -27, -17, -53, -225, 16, -18, 14, -116, -57, 2, -404, -161, -139, -48, -579, -274, -59, -91, -6, -25, -34, 227, -402, -14, -494, -72, -233, -361, -21, 10, -450, -303, -50, 51, -318, -57, -68, -35, -77, -8, -136, -32, -6, -322, -16, -24, -35, -21, -143, -23, -348, -56, -56, -334, -262, -11, 23, -430, -28, -444, -251, -60, -10, -48, -87, -28, -85, -282, -18, -2, -507, -41, 4, -301, -79, -474, -26, -25, -353, -15, -35, -543, -101, -47, 6, -45, -34, -93, -10, -456, -308, -322, -5, -346, -102, -12, -8, 5, -59, -383, -281, -25, -37, 2, -17, -434, -159, -250, -34, 2, -338, -29, -159, -27, -41, -413, -379, -18, -350, -9, -104, -123, -39, -97, -293, -335, -33, -143, -23, -373, -7, -26, -39, -9, -371, -367, -157, -14, -88, -313, -223, -71, -117, -21, -16, -129, -142, -452, -600, -131, -396, -28, -246, -36, -443, -231, -66, -88, -225, 9, -219, -118, -320, -9, -381, -12, -105, -76, -116, -15}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1083070848, 2044897024, 1133256192, 1524381056, 1435338496, 1406769664, 1792337280, 1329968128, 1841227776, 1198788096, 1433521152, 1854617856, 1533838080, 1835011712, 1355715328, 1731591168, 2016211712, 1792955904, 1749274368, 1202169216, 2078497792, 1765686400, 1609212544, 2099296384, 1191454848, 1959525504, 1428028672, 1862764160, 1125693440, 1959429504, 1698228352, 1367550976, 1282900736, 1572923904, 1170287744, 1859001600, 1123681536, 1881514624, 1405827328, 1375597312, 1190487040, 1336551680, 1706205952, 1578781952, 1691484800, 1592331648, 1078330752, 2046999424, 1891103872, 1150455552, 1533794688, 1745573632, 1378420480, 2110829440, 1485893120, 2052888448, 1641239936, 1347126912, 1357052928, 1197388544, 1595893120, 1129987456, 1080966784, 1647398784, 1467237248, 1750106880, 1494029824, 1315453696, 2072452864, 1112552704, 2073834368, 1761024896, 1712755200, 1190103424, 1725714816, 1574737024, 2006880000, 1074786816, 1585541632, 1259094912, 1508266752, 1189531904, 1381657216, 1400212096, 1520184192, 1651865472, 1512614016, 1852732672, 1337188992, 1114529408, 1124983424, 1944258560, 1595630976, 1925737472, 1521697408, 1463392256, 2049361664, 1366842368, 1602761344, 1467043968, 1142140416, 1679700480, 1133919872, 1714894464, 1485101696, 1146220928, 1429202432, 1204549888, 1858387456, 1446973952, 1405827840, 1316386944, 1472238336, 2106146176, 1664048000, 1494698496, 1917679104, 1695811968, 1737771648, 1626635136, 1584726144, 1616786560, 2088735232, 1449411840, 1723974528, 1848827136, 1870843904, 1101750656, 1300197888, 1199779072, 1441720832, 1977899264, 1388624256, 1549206656, 1854841856, 1107422976, 1891337856, 2038492928, 1785685248, 1825589248, 1244095616, 1865198336, 1115118592, 1874472448, 1455309824, 1715036544, 1478097664, 1205495296, 1093561984, 1246861696, 1414411136, 1328682624, 2082548096, 1114119168, 1903231104, 1193327872, 1470376064, 1906758144, 1618833536, 1905520256, 1331318272, 1396252160, 1931014528, 1566423424, 1732012032, 1092970368, 1978877568, 1366791168, 1533742720, 2136366976, 1123979136, 1159117696, 1803906432, 1593837056, 1093745536, 1387458688, 1245179136, 1527298304, 1383178624, 1416923264, 1086238592, 1673776896, 2080282880, 1668831616, 2112453504, 1135096448, 1083581696, 1176979328, 1225172224, 1206012928, 1693039616, 1085820800, 1319223168, 1193855488, 1399774208, 1330852992, 2002544512, 1506835328, 1917262464, 1849871872, 1996287232, 2058369152, 1223682176, 1162177536, 1945500032, 1101570432, 1497896576, 1181331328, 1625915008, 1461633536, 1307888512, 1764473856, 1766931072, 1545725440, 1131449728, 1436922112, 1159609472, 1135091456, 2130931328, 2116964352, 2013600512, 1780196096, 1348045568, 1652176640, 1657075968, 1748184704, 1591244544, 1765508992, 1808485120, 1090478592, 2066092544, 1896409472, 1264338048, 1112899456, 1313521920, 1514850432, 1271479808, 1168270592, 1468691584, 1101135104, 1316558592, 1802849152, 1142109184, 1355001600, 1277852544, 1716389248, 1860732800, 1154638336, 1837016064, 1741825536, 1080938368, 1213187200, 1418691200, 1352715904, 1724764032, 1862696448, 1589109632, 1175423872, 1966782720, 1436242688, 1590782080, 1236118784, 1523310976, 1700882688, 1415087104, 1266133376, 1566555264, 1082993408, 1783429760, 2105195648, 1763130752, 1365475712, 1932319872, 1132734080, 1567686400, 2135059584, 1544333056, 1544672896, 1302246656, 1299031552, 1803376512, 1377138048, 1834852864, 1928288000, 1937158528, 2014360192, 1739911552, 1213950464, 1829070592, 1257842944, 2120569856, 1672732416, 1623008512, 1395822080, 1086232960, 2011212672, 1756541440, 1224406400, 1098419200, 1521584512, 1426355456, 1119127296, 1099087104, 1698567552, 2007146752, 1180722816, 1556890496, 2046001280, 1209064576, 1171515136, 1953692032, 1768630528, 1212955136, 1094816000, 1181059712, 1217583872, 1136442112, 1094598656, 1235499136, 1277429760, 1787266560, 1491800576, 1647145472, 2041399168, 1749308672, 1199657856, 1129075200, 2033657856, 1089362048, 1245544192, 1626017792, 1272550656, 1893918336, 1869260032, 1316407168, 1105611392, 1978601856, 1599215232, 1435940608, 1505287552, 1481344384, 1337250944, 1369236480, 1909193216, 1164429952, 1973205632, 1675699584, 1712531200, 1293947776, 1710470272, 1750993152, 1091057664, 1079645696, 1613282304, 1173877632, 1686540032, 1749254656, 2075424384, 1094773248, 1751990400, 1469076352, 1791971328, 1313798784, 1777829248, 2047154304, 1221339904, 1337414400, 1592165888, 1418598528, 1076207872, 2017779200, 2006957184, 1417877376, 1505359488, 1481947776, 2094059520, 1986034816, 1614547072, 1733184256, 1400083456, 1414044672, 1492476416, 1659063680, 2019141888}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-42813, -6298, 62260, -12703, 4737, -15949, -16041, -7163, -33743, -40685, -24850, 47562, 28166, -25547, -15726, -51002, -15400, 314, -11033, -70345, -2151, 18591, -50361, -28151, -14118, -34874, -20189, -51095, -18559, -5962, -3919, -27363, -27612, 6013, 12124, 8105, -20978, -8750, 18604, 2173, -24005, -16962, -22458, 47978, 7990, 54942, -17325, -21805, -21933, -7851, -11173, -28324, 9228, 5042, 54526, 16366, -7801, -6384, -33325, -3919, -18523, -11141, -18750, 116640, -13418, 9657, -39594, 50567, -7396, -30438, 5843, 2961, -27927, -8419, 6488, -41674, 3343, -4318, -46748, -61482, -24863, -52041, -20208, 22736, -15177, -28439, 10157, -8816, -19254, -31150, -59529, -18813, -8333, 1281, -13162, -40404, 1503, 14141, -3, -16596, -4015, 10307, 26497, -62454, 47945, -62678, -30372, 56894, -7898, -10817, -34941, 1284, 54450, -26688, -27812, 22816, -19011, -41895, 834, 1366, -12592, 35995, 56847, -54472, 20223, -21068, -15642, -72460, 7742, -13711, 12995, 10109, 26050, -8739, -37594, 9023, -22355, -36323, -28386, -4585, 9069, 25552, -18714, -27811, 1336, -1449, 21573, -28609, 19814, 19, 13012, 36328, 25171, -41804, 15741, 23252, -23661, -22032, 5492, 6240, -60343, 5169, -13208, -11975, -21945, 40799, -48488, -37015, -39862, -24554, 62354, -26033, 945, -5077, -21824, -19976, 19404, 12983, -38941, -11663, -10378, -7622, -55681, 9606, -31752, 1317, 51145, -13069, -50557, 32914, -14857, -8655, 36896, -14639, 9599, -124, -7724, 4068, -2731, 110, 228, 13880, -53042, -17921, -26754, 15405, 12359, -13551, 63116, -32573, -1587, 53692, -28272, 7921, -36858, -64081, 28564, 15382, 45631, 35233, 26307, -14888, -59919, -24937, 5934, -15915, 87811, -8508, -12426, -10239, -77595, -15395, -30093, -15541, 15926, -22427, 13513, 59984, -32206, 17399, -20127, -42604, 11109, -8900, 520, -5133, 5730, 12131, -2996, 3626, -8732, -15260, -28141, -44039, 35400, -20924, -12339, 36727, 22140, 15487, -50680, 28129, -45568, -42384, 1905, -61333, -24624, -9310, 5519, 18291, -18703, -13069, 14363, -9798, 20883, 27729, -2420, -29757, 17348, -27329, 4737, 15007, -12112, 31416, -2248, -5144, -27186, -16733, -39747, 8639, -2109, 39918, 2325, -26780, -11540, 17962, 1087, -14030, -62072, 9143, -39435, 36056, 58362, 65799, -10227, -5767, 21093, -20357, -41823, -32418, 28637, -15548, 60622, -34447, -3883, -28720, -44785, -12486, -24304, -34790, 45258, -77022, 16285, 1050, -32129, -5903, 4100, 26948, -23013, -12870, 34040, -963, 35477, -11156, -28815, -9726, -41236, -30269, 1346, 32510, -40144, 14850, -61902, -2238, -38230, -20077, -24444, 3123, -11756, -44190, 40650, -21638, 13590, -5303, -25385, -55556, 33087, 21117, 11231, 10472, 10579, 25563, 1554, -42395, -33312, 6670, 19329, -28401, 7324, -50091, 29908, 6890, -32000, 13829, -21846, 24541, -24990, 4265, 2742, -11970, -52609, -31442, -18486, 20239} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-137, -106, -107, -137, -92, -110, -92, -128, -114, -101, -109, -138, -137, -135, -131, -137, -111, -131, -109, -140, -136, -115, -133, -123, -131, -121, -144, -120, -135, -141, -139, -142, -128, -103, -140, -140, -123, -121, -81, -173, -128, -112, -126, -166, -140, -135, -108, -98, -136, -67, -111, -124, -131, -99, -144, -131, -115, -126, -125, -144, -119, -110, -132, -111, -123, -99, -147, -114, -140, -137, -124, -98, -132, -126, -125, -128, -114, -88, -120, -123, -109, -137, -123, -116, -130, -103, -123, -156, -106, -132, -162, -121, -115, -125, -81, -127, -83, -139, -147, -124, -127, -116, -152, -113, -124, -113, -133, -127, -87, -143, -131, -121, -144, -91, -129, -155, -112, -131, -111, -91, -113, -140, -117, -123, -146, -105, -122, -136, -130, -137, -130, -112, -151, -114, -96, -150, -133, -125, -127, -118, -122, -92, -160, -112, -120, -103, -121, -103, -129, -139, -113, -127, -125, -119, -109, -100, -120, -135, -128, -110, -132, -137, -121, -123, -107, -111, -113, -134, -108, -134, -137, -110, -129, -130, -133, -123, -166, -89, -104, -128, -135, -123, -121, -110, -128, -133, -128, -138, -122, -123, -128, -133, -118, -142, -142, -147, -165, -117, -122, -110, -124, -115, -115, -117, -140, -140, -164, -109, -145, -146, -143, -116, -93, -144, -120, -122, -122, -107, -136, -110, -119, -123, -118, -156, -120, -125, -153, -139, -131, -101, -118, -125, -101, -119, -119, -144, -132, -132, -112, -110, -130, -155, -159, -133, -128, -123, -126, -144, -170, -103, -128, -146, -136, -129, -122, -86, -116, -95, -109, -137, -100, -112, -127, -124, -129, -111, -106, -160, -138, -126, -149, -133, -132, -113, -161, -121, -143, -135, -137, -119, -127, -135, -147, -115, -129, -131, -148, -134, -110, -116, -126, -128, -117, -106, -116, -124, -131, -123, -137, -127, -109, -121, -125, -137, -138, -133, -121, -169, -132, -117, -130, -110, -151, -120, -127, -121, -132, -140, -134, -104, -113, -138, -118, -108, -99, -133, -103, -92, -151, -160, -113, -140, -112, -138, -132, -123, -144, -152, -124, -121, -115, -136, -129, -118, -110, -121, -104, -101, -156, -136, -166, -112, -133, -134, -143, -105, -133, -109, -117, -123, -128, -143, -98, -140, -141, -85, -146, -138, -95, -122, -133, -152, -122, -95, -127, -107, -129, -122, -134, -115, -111, -148, -132, -128}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {2129991296, 2140895744, 2057751296, 1077963008, 1988669312, 1175936768, 1851817984, 1481696000, 1473396864, 1446711552, 1415953664, 1233807616, 1132465280, 1476781824, 1523849472, 1312179840, 1593677952, 1572507648, 1388427264, 1177299712, 1439149312, 1107453824, 1116133760, 1307371264, 2027167872, 1359269504, 1278595712, 1460673152, 1262220032, 1181624448, 1201177088, 1266700416, 1505415296, 1418040448, 1568589568, 1315382272, 1354449664, 1365449600, 1578278656, 1614064128, 1178894848, 1713176192, 1839139456, 1495194240, 1383151488, 2116612992, 1329962624, 1100798464, 1740683648, 1532933760, 1255464320, 1492647936, 1422885760, 1573874176, 1190970752, 1684814976, 1144593536, 1327780352, 1152540416, 1119397376, 1815893248, 1219742848, 1509347328, 1619696768, 1200602112, 1848680320, 1508408064, 1697023872, 1186406016, 1452221312, 1083131136, 1218644608, 1590618240, 1461396096, 1520996992, 1326056704, 1262977280, 1828853248, 1634456704, 2043610112, 1521708288, 1176459904, 1169316992, 1257817984, 1652399616, 2041459840, 1337561600, 1948217344, 1225435520, 1149083264, 1536647168, 1423370624, 1702669696, 2037214848, 1321523456, 2067673856, 1764191616, 2051996800, 2104863232, 1286573952, 1265579136, 1513837056, 1510971392, 1337585664, 1983844608, 1354510464, 1224913408, 1518564224, 1313863040, 1160484224, 1175236352, 1540298624, 1079700480, 1163438336, 1244065792, 1389584000, 1551384320, 1207095168, 1334266624, 1401730560, 1578508928, 1146451584, 1814173824, 1155825024, 1543199616, 1730525568, 1212823296, 1972443008, 1875454208, 1792535296, 1334874240, 1344448128, 1541572864, 1222547200, 1554717952, 1549560704, 1573373696, 1339677056, 1202569728, 1397000064, 1531994368, 1800224256, 1763379968, 1400621696, 1149959808, 1741710464, 1873702144, 1597845504, 1285509760, 1611061632, 1557156736, 2002262912, 1330051584, 1309919616, 2092096256, 1766244736, 1334720000, 1190530432, 1521247488, 1291197824, 1868793472, 1181445760, 1370445696, 1643013248, 1438748032, 1074550656, 1297914112, 1339581952, 1417959552, 2023734912, 1967140224, 1611018240, 1430945536, 1251011328, 1103211136, 1306418944, 1504562816, 1949880960, 1318621824, 1315518208, 1272201216, 1718835456, 1243926912, 1594937088, 1473879040, 1354521984, 1110059776, 1289917568, 1154197120, 1774025088, 1636171904, 1688879488, 1351530112, 1233482368, 1431017088, 1751945856, 1428514176, 2080999168, 1707266944, 1447400448, 1234224256, 1369441152, 1388608640, 1219134720, 1209415424, 1775915904, 1498590976, 1279497088, 1287674880, 1857718912, 1267953280, 1311017344, 1700024192, 1603877504, 2029899904, 1167559808, 2059314688, 1200207872, 1469408128, 1351862656, 1280456192, 1314932096, 1270924928, 1677878272, 1300420736, 1231954688, 1386228480, 1143080320, 1721615488, 1366801792, 1401436928, 1417326080, 1363138304, 1328859392, 1112705280, 1431187712, 2140710400, 1931055488, 1079945984, 1667624576, 1450345088, 1628646528, 1164449664, 1207184640, 1379166720, 1074045184, 1469132928, 1472684672, 1627157760, 1755913728, 1916458240, 1406943104, 1107321216, 2127517440, 1443079424, 1207545088, 1144791808, 1871412224, 1146269696, 1558342528, 1199847168, 1366647808, 1292768384, 1208158848, 2072388480, 1153222528, 1365141248, 1298406016, 1436897536, 2076324224, 1374843392, 1612874240, 1518348800, 1487355008, 1956914944, 1474965888, 1538884864, 1292172032, 1121164032, 1356373376, 1606073088, 2023170176, 1177287552, 1355599104, 1131549184, 1195942272, 1435358336, 1298164096, 1290107904, 1935504512, 1083711616, 1464973696, 1874192640, 1313809792, 1165125760, 2104337920, 1225549952, 1551560960, 1177436544, 1185404032, 1435511424, 1365626880, 1624252672, 1662889472, 2124645760, 1495048576, 1176503424, 1389198464, 1280788480, 1611947520, 1518848128, 1081265792, 1390994688, 1601713280, 1749654016, 1411201152, 1336695808, 1355315584, 1092338816, 1574324864, 1712852352, 2133930240, 1635955200, 1521664768, 1512769280, 1325763456, 1234846208, 1676349312, 1634095104, 1633386112, 2120438528, 1525858432, 1952833024, 1145998208, 1353203456, 1186968192, 1418900352, 1307691264, 1250298368, 1125975040, 1311413248, 1467827200, 1100053504, 1617627904, 1312190720, 1506600192, 1298703744, 1682529024, 1348387840, 1610305024, 1764506112, 1549742592, 1360019840, 1091594368, 1523953664, 1729719168, 1284048512, 1975218432, 2075710336, 1614654848, 1557393920, 1899048064, 1074929792, 1345315584, 1314860544, 1268795136, 1749322752, 1362687488, 1303037824, 1714592640, 1969196416, 1730930176, 1605055872, 1187383424, 1873666048, 1486123904, 1333654784, 1688637952, 1739463296, 1679206400, 2084199424, 1341028352, 1403245568, 1272408192}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-183, 86697, 156861, -329, 93999, -198, 105740, -608, -4504, -321, -965, 184371, -625, -825, -692, -243, 107404, 91820, 85912, -154, 82367, -359, -1460, 1763, -5742, -583, -11238, -600, 151805, -55, 141962, -674, -1236, 25282, 161765, 101115, 92962, -485, 99666, -415, 80666, -589, 124507, 66341, 108674, 80007, -8957, 92878, 148943, 104531, -269, -733, 119845, -1885, 119584, 101775, 70023, 165845, -226, -297, -1747, -944, 108504, 690, -661, 108224, -433, 120400, 74306, -209, 99072, 16667, -867, 165795, 182496, -100, 166, 165559, -645, -394, 63878, -688, 68267, -3060, -2272, -11080, 2117, 142, 539, -581, -481, -9398, -244, 847, 94106, 10557, -494, 26023, 38789, -1193, -135, -2764, 55635, 126035, 73347, -9810, -5957, 83736, 36132, -659, -882, 136183, 130454, 934, -4373, 93926, 143992, -959, 2366, -398, -171, 105515, 5129, -2537, 76262, -517, -606, 252, -702, 111836, 85334, 75654, -2377, -842, -418, -42, 5041, 3806, 548, 112054, -30225, -27436, 70217, 9653, 63819, -779, 47950, -492, 113638, 143856, 108332, -494, 120205, -1066, 111719, 113856, 91647, -761, 146865, -1429, -662, 124491, -873, 78534, -1186, 55532, -505, -843, -5072, -710, 71559, -1114, -5361, -730, -771, -990, 101454, 75244, 161220, -638, 2052, -346, -199, 4010, -65, 51388, 67064, -308, -500, 83510, 28156, 180193, 78970, -519, 74362, -560, 839, -162, 56883, 169394, 286, 175073, -963, 108483, 63203, 84172, -12934, -42197, 124492, -13948, -132739, 65388, -1270, 131975, -388, -2612, 32467, 117260, 77234, 94484, 79352, -285, -323, -594, 120614, -432, 93404, -333, 24322, 92288, 142501, 117553, 158, -638, 150628, -655, -697, 100751, -816, 43153, 35, -1119, 67393, -911, -9838, -710, -6181, 85930, -467, 10528, 55206, -806, -270, -587, 69181, -2847, -699, 88678, 71435, 88123, -493, 125063, -411, 16557, 133850, -421, -257, -298, 119880, 33104, 108428, -2896, 185563, -1471, 45672, 20910, 125616, -23720, 152218, -856, 219, 10105, -314, 138719, 2911, -573, 10289, 12033, -232, 4802, 149716, 96184, -638, -1339, 95806, 160225, -1255, -318, 3869, -13592, -235, 120419, -177, 68582, 42512, 148573, 153156, -717, 187253, -643, 105504, -120, -13915, -1199, 52195, -841, -615, -830, -324, 135652, 102013, -267, 144014, -375, -886, -793, 77721, 79658, -557, -894, 65644, -594, 62438, 119975, -504, 131936, -211, 2764, 82291, 83572, -471, 109685, -698, 56176, -2306, -25643, 134, 145937, -245, 140636, 25006, -608, 161773, -833, 94078, -1390, 125538, -59898, 125825, 75178, 94616, 68453, 178865, 221, 172051, 79580, 139628, -567, -394, -2021, 61046, 102738, 169455, 81972, -691, 60431, -1107, 96996, 18123, -6941, -278, -776, 140529, -502} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {50, -379, -326, 46, -330, 89, -398, 33, 115, 50, 37, -312, 50, 42, 42, 49, -336, -318, -302, 36, -343, 70, 40, 44, 66, 43, 70, 43, -348, 68, -340, 48, 71, -123, -359, -370, -321, 75, -330, 38, -343, 73, -328, -268, -295, -265, -34, -239, -335, -310, 54, 76, -382, 87, -317, -295, -352, -307, 61, 66, -109, 73, -340, -100, 63, -205, 39, -305, -326, 71, -332, -146, 51, -322, -290, 29, -146, -286, 43, 74, -343, 51, -267, 50, 88, -116, 46, 46, 68, 105, 66, 117, 62, 65, -346, 58, 72, -160, -131, 37, 47, 33, -323, -329, -268, 116, 46, -295, -322, 68, 57, -361, -271, 40, 53, -368, -300, 42, -135, 64, 84, -286, -107, 70, -279, 58, 63, 64, -94, -349, -305, -284, -145, 44, 73, 32, 35, 77, 68, -336, 143, 47, -311, 44, -247, 96, -230, 48, -330, -410, -324, 83, -329, 69, -310, -346, -342, 56, -312, 69, 79, -338, 53, -346, 37, -263, 91, 53, 53, 39, -259, 81, 96, 35, 41, 52, -257, -296, -290, 80, 66, 37, 58, -142, 62, -312, -240, 46, 48, -342, -32, -337, -289, 59, -416, 55, 70, 54, -348, -314, 30, -302, 54, -339, -327, -307, -114, 132, -440, 88, 221, -273, 46, -327, 58, 71, -146, -342, -312, -311, -320, 78, 100, 48, -348, 67, -287, 64, -113, -321, -322, -371, 52, 67, -334, 53, 62, -321, 61, -169, 91, 58, -332, 51, 48, 67, 54, -351, 38, -63, -242, 41, 44, 50, -288, 69, 49, -322, -299, -318, 38, -362, 53, -124, -328, 69, 76, 44, -332, -164, -311, 98, -382, 116, -140, -56, -332, 109, -284, 58, 15, -105, 49, -298, 60, 65, 50, -103, 93, -162, -290, -271, 73, 62, -307, -293, 67, 37, 33, 17, 41, -305, 78, -256, -194, -306, -354, 50, -366, 52, -306, 9, -177, 47, -260, 46, 28, 54, 51, -337, -333, 78, -299, 68, 81, 63, -288, -282, 47, 71, -275, 46, -269, -300, 52, -325, 26, 29, -396, -288, 70, -359, 73, -343, 81, 98, 47, -337, 55, -350, -141, 64, -327, 52, -372, 58, -301, 65, -302, -309, -293, -253, -334, 47, -328, -330, -318, 77, 92, 29, -272, -294, -345, -316, 58, -281, 56, -306, 84, 21, 70, 88, -352, 37}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {2099708928, 1223925888, 1710021376, 1673907456, 2042096640, 1669503488, 1801580288, 1436529664, 1379955584, 1519203584, 1395563776, 1670084608, 1464810112, 1533396992, 2005889664, 1800206976, 1269544576, 1909343744, 1091829120, 1827094272, 1706752640, 1677993216, 1523510016, 1929732224, 1252042112, 1813817216, 1330819072, 2015045504, 1717001472, 1433924736, 1986722560, 1811819776, 1548242688, 1367660416, 1254138880, 1606907648, 1412943616, 1669430656, 1361736064, 1882519296, 1815332736, 1428189056, 1939419904, 2060339968, 1319737856, 1807079424, 1781953536, 1188307712, 1482781056, 1475630336, 1270030080, 1625987072, 1280582272, 1127590400, 1222933120, 1433568000, 1690795904, 1584125312, 1619800192, 1542235136, 1223939456, 1905034624, 1506371840, 1918397440, 1513185920, 1655454208, 1137579648, 2045332224, 1927715328, 2019707648, 1263734784, 1512640768, 1367132416, 1434406528, 1591241472, 1813343488, 1087168256, 1820438400, 1722812672, 1424526080, 1861343616, 1684429184, 2013264512, 1186327680, 1706887808, 1510638208, 1481805696, 1130202624, 1734346112, 1604309504, 1572132480, 1153559552, 1720997376, 1687444480, 1686962432, 1630471424, 1903113856, 1351047680, 1445274240, 1763789312, 1473219840, 1415033088, 2064704256, 1750055040, 2128908416, 1133388928, 1567860096, 1366930560, 1668752896, 1667888000, 1816862080, 1582496384, 1172930176, 1698172672, 1129277184, 1208993024, 1899353856, 1632494976, 1625057408, 1152023808, 1954817408, 1629309056, 1427501184, 1607260544, 1398742272, 1709950464, 1463613440, 1364599424, 1465799680, 1260554624, 1330092928, 1557008384, 1514970752, 1789350528, 1472896000, 1460866048, 1591490688, 1196433920, 1593563136, 2017415680, 1285234432, 1802073088, 1739730816, 1387393024, 2071633792, 1509101312, 1687460224, 1891734144, 1282090112, 1134400896, 1635885312, 1587994368, 1905034112, 1406587264, 1710091648, 1295650560, 1327450368, 1553844480, 1912809216, 1535588864, 1747591424, 1435185664, 1769174016, 1808341504, 1422404224, 1653697024, 1221913600, 1731046656, 1757828608, 1951490048, 2038025728, 1441479680, 1339875840, 1619767680, 1959721472, 1570750976, 1523844096, 1235135744, 1707073408, 1574438016, 1421972736, 2025487104, 1885888128, 1868458240, 1074783616, 1258033152, 1198425600, 1080223616, 2092548096, 1514139008, 1535545984, 1303995392, 1702868736, 1810254848, 1476784256, 1564051328, 1596028544, 1282318464, 1872607488, 1449316096, 1889288192, 1547113216, 1563712000, 1610139776, 1886362240, 1575649920, 1631886336, 1441723392, 1970732672, 1747487360, 1930801152, 1975604864, 1442753792, 2143136256, 1694103936, 2053473280, 1353796352, 1250702336, 1362719616, 1709302784, 1680675712, 1643448064, 2106396288, 1929518464, 1231095552, 1074426880, 2100019200, 1493588224, 1532461824, 1644945152, 2013216640, 1664725248, 1249103104, 1074323712, 1372558848, 1608025216, 1600303104, 1333434624, 1276922752, 1144118528, 1699917056, 1667386752, 1666979840, 1375095168, 1732739968, 1387988224, 1708140672, 1501555072, 1486464640, 2052561920, 1362907392, 1782476800, 1319033344, 1968450816, 1933874048, 1125003904, 1615435904, 1237658880, 2114526208, 1255477504, 1812620544, 1978002944, 1613277952, 1119574912, 1685640320, 1510610304, 1668744832, 1113117824, 1983621248, 1483290624, 1655856896, 1446506368, 1234160768, 1806192768, 1535727872, 1635386752, 1522967808, 1156458112, 1782264192, 1792281984, 1203483136, 1659184896, 1606626432, 1514204800, 1529571840, 1260860416, 1422302464, 1203761408, 2105762432, 1307459712, 1876509440, 1546270976, 1283618048, 1172403712, 1467081344, 1657036160, 1426020608, 2042603008, 1609222912, 1137455232, 1144171136, 1669037184, 1567318912, 1168655616, 1353831936, 1313831808, 1429908352, 1397398144, 1371638912, 1987694208, 1635834752, 1130592000, 1259009408, 1728976256, 1737470976, 1482281728, 1558426880, 1241464064, 1533097472, 1965910784, 1650964480, 1244716032, 1647681536, 1110925056, 1796926208, 1421641856, 1913656832, 1771616128, 1474338560, 1464799744, 1282341888, 1582594688, 1234240128, 1709648896, 1766755584, 2134137728, 1912166144, 1621915008, 1694051968, 1731992576, 1593842432, 1249166336, 1530863744, 1979027072, 1123733888, 1226494080, 1753291008, 1818613760, 1995375744, 1434029440, 1251699200, 1444959744, 1433748608, 1607246208, 1416555264, 2091977472, 1669465984, 2046788864, 1652357376, 1442537344, 2061815424, 1173016576, 1132016512, 1931986304, 1770956928, 1771947776, 1465855488, 1780766720, 1447043328, 1669080832, 1548975360, 2065966720, 1365126912, 2137614848, 2037759360, 1201503616, 1745333504, 1799265664, 1131027584, 1868677888, 1720490624, 1510382848, 1786327296, 1387750016}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-8704, 10615, 29145, -32021, -40075, 9974, 21572, -21551, -9083, -32708, -22635, 21098, -21662, -7297, 22928, -7216, -9599, 7773, -36675, -12445, 89165, 23264, 37255, -10087, -25719, 15138, -7912, -13777, -3806, -31376, -34792, -31539, 28810, -7760, 48829, -11044, -49418, 14401, 4295, -19408, -12952, -66521, 2828, -12223, -36108, 8381, -1028, 4653, -38511, -3382, 45794, -73029, 4098, -24206, -19567, 7205, 2507, -5562, -13632, 5813, 18454, 8028, 38562, 26590, 11087, -22294, 6504, -14836, 1866, 9965, -16224, 17228, -29342, 9873, -1439, 44297, -34879, 55526, -20518, -5071, -46551, -38090, 19668, -14137, -10472, -38522, -23768, 42590, 5104, -59867, 11816, -5466, -2781, -3023, -3685, -60031, -31669, 79244, -46357, -33800, 250, 7155, -7583, 17371, -2600, -64253, -15139, -2613, -13140, -19430, -26347, 73532, 12139, 26531, 19209, -5265, 17542, -29254, 21560, -12245, -11979, 40591, -9384, -4657, -4862, 12019, -233, 6782, -8019, 17832, 16548, -52813, -43259, -55915, 26477, 4811, 42842, -33628, 29381, 62979, -83658, 15499, -21991, 8321, 3462, -73369, 37388, -51467, -15364, -37002, 39050, -49728, -17367, 1469, -13086, -39097, -5731, 19260, -11918, -20507, -20040, -11472, 24950, 12792, 15109, -13219, 20439, -43904, 9109, 392, 38193, 25968, 24933, 11362, -16471, 27851, 13924, -6244, 19110, 12583, -5191, -39125, -11126, 15838, 32209, 4232, -5641, 4720, 39841, 43629, -7750, -44281, 52502, 48806, -19723, -63688, 5059, 7250, -800, 8692, 6942, 18290, 9462, -27940, 6137, -66688, -7043, -86377, -29874, -22950, 22600, 13247, 7132, 24681, -13171, 33473, -41217, 32669, -51486, -19277, -82062, -10273, -27708, -79740, 21287, -17413, -4048, -21840, -39221, 10949, 49632, 40227, -77117, 3159, 47795, -75271, -28341, -75700, 29163, 22859, -6005, 38569, -8973, 16271, 2960, 18168, 38649, 8773, 12095, -7031, -32193, -14695, 25573, -51561, 3852, 31998, -38994, 10161, 2062, 19085, -18599, -62550, 3792, 12164, 42573, 42812, -16994, -50854, -27537, -21318, -19146, 28965, 11950, -40857, -44901, 30036, 17422, 4575, -47005, -1449, 15299, -3961, 10291, 26184, -35370, 20244, 24762, -271, -50918, 3288, 21541, 7149, -304, 1260, -66424, -20573, 2909, -28472, -15988, 6982, 28784, -14653, 5395, 13903, -26838, -10313, 742, -427, 32472, 35556, 9000, 8562, 27878, 7837, -66233, 9201, -27455, 14651, -40285, 22233, 15157, 8990, -30367, -41209, -2104, -52423, -15156, 13761, 5261, 55624, 552, -18464, -4985, -7034, 10712, -40617, 5649, 8230, 56853, -44748, -26825, 33840, -50492, 10230, -16997, 474, 20465, 8421, -45215, -17257, -10346, 29204, 14439, 2930, 19504, 10275, -26525, -13068, 18862, -23142, 50087, -16700, -20084, -5316, -2229, -3316, 44350, 8766, -11511, 78971, 6731, -39040, 29476, 10454, 13048, -13214, 2637, -951, -42809, -31350, 38679, 1371, 12290, 8933, -30462, 14459, 17726, -55280, -27902, -10111, 38068, -522, -50, -28103, 5876, -4811, -46474, -26350, -65354, -24975, 41382, -5909, 62436, -12004, 1551, -22036, -61081, 43660, -10863, 19091, 18809, -10226, -25941, -26184, -17411, -47431, -3178, 48189, 43738, -22398, -69433, 16787, 33295, -26688, -31960, 12816, 55547, 14985, -15223, -9465, 27479, 11793, 3387, -42276, -26742, 66168, 77931, 11723, 17704, 684, 30138, -20633, 29335, -38361, -44122, 44616, -17466, 2755, -21230, 9860, -26330, 61959, -78052, 56670, 32018, -43288, -25159, 3729, -15751, -31365, 17262, 6956, -10652, 19045, -29139, -5536, 34569, 3978, 24152, 474, 19244, -5772, -11178, 18794, -73444, 52632, -26127, -53186, -55968, 21752, -10892, 60270, -36438, 4918, -47036, -12097, 4346, 40168, 20181, -22708, -41846, -13321, -36237, 40659, -23944, -10069, -1237, -556, 30303, 24430, 15214, 31818, 19393, -11437, -55542, -38953, -22356, -3530, 49149, -12968, 7481, -11172, -12866, -51288, -28009, -20638, 14203, -2246, 29068, 39428, -28785, 13790, 11757, -37890, -63178, 10097, 13568, 28581, -3187, -2389, -7269, -9244, 16104, -8024, -33982, 37073, 54252, 65233, 17067, -5955, -23934, -22420, -44576, 44203, 7490, 1797, -40973, -73019, 14088, -17374, 21821, 18542, -1422, 16586, -25611, 32946, -5886, -45492, -9321, -6067, -12259, 27425, 17420, 31765, 12216, -6489, 23781, -44447, -84772, -31751, -12996, 15019, 24310, -7223, 16507, 14327, -13897, 12875, -1869, 19918, -15810, -7106, -16241, 17486, 33713, 2636, 41731, -25262, 35937, -32323, -24761, 14493, 24428, -7395, 22908, 7281, -39542, 71428, 22107, -25113, 86043, -39021, -1186, -32760, 87783, 16076, 44006, 8059, -8457, 330, -26947, 22958, -3365, -925, 46194, 54003, -46254, 7060, 7303, 2224, 17157, 2589, -28251, 7803, -10985, -21163, -40151, -15890, 10172, 3669, 10684, 24437, 34386, -6436, 24019, 11096, 26644, 13241, -12387, 604, 18900, 46660, 8380, 42785, -3575, -853, -1023, -24223, -36790, -26931, -41177, 8398, -40801, 41879, -6228, -36581, -8405, -18622, -20909, -38602, 23565, -6089, 8500, 3120, 742, -12170, 22826, 21730, 34795, -8226, -4966, -49720, -5196, 8018, -5469, 7120, -49426, -34127, 4861, 16577, 11097, 26873, 39903, -39721, -26029, -62579, 19923, -23048, 38243, 31373, -11687, -23532, -3115, 2923, -14690, 5348, -6695, 39912, -454, 12317, 102850, 3426, 6007, -40207, 9994, -49984, -5310, 39164, -653, -14300, -29310, -26241, 28284, -4220, -14483, -30397, -33541, -11382, -48787, -26992, -32326, -10188, 8194, -1755, -41046, -28634, -14741, 11706, -39671, -5971, -12431, 4925, 26907, 11704, -1894, 39971, 36468, 41656, -27884, 49465, -41859, -10331, -27966, -17395, 17653, -19159, -18542, 23066, -4496, 745, 9155, 5926, 23748, -18323, 26845, 30699, 22151, 43782, 32580, 4515, 38222, -57486, -7655, -37816, 17752, 26986, 26601, 38882} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-132, -163, -129, -134, -119, -120, -127, -145, -120, -122, -143, -125, -108, -148, -95, -150, -121, -134, -128, -159, -135, -145, -131, -115, -118, -138, -157, -132, -119, -103, -87, -181, -160, -122, -118, -151, -124, -115, -139, -116, -111, -122, -127, -97, -138, -127, -184, -123, -109, -124, -140, -166, -150, -151, -129, -130, -131, -102, -159, -123, -139, -156, -153, -100, -138, -125, -121, -138, -108, -112, -105, -137, -130, -104, -118, -123, -119, -95, -147, -132, -156, -129, -167, -93, -114, -126, -118, -156, -95, -116, -142, -151, -126, -118, -142, -130, -113, -146, -113, -128, -180, -121, -145, -116, -132, -130, -98, -113, -148, -181, -115, -132, -122, -108, -99, -139, -143, -118, -122, -134, -110, -122, -118, -133, -158, -114, -135, -99, -140, -135, -107, -137, -150, -112, -133, -134, -143, -111, -144, -158, -128, -115, -96, -127, -131, -127, -126, -131, -136, -130, -121, -135, -114, -139, -159, -132, -116, -88, -137, -149, -115, -133, -130, -107, -111, -125, -120, -145, -133, -154, -121, -101, -122, -175, -150, -130, -117, -114, -152, -124, -133, -137, -111, -137, -161, -111, -142, -91, -127, -124, -141, -140, -125, -133, -127, -145, -128, -107, -124, -97, -80, -112, -119, -119, -105, -132, -73, -130, -116, -128, -140, -126, -126, -104, -123, -144, -120, -98, -138, -134, -118, -136, -133, -127, -117, -137, -95, -133, -143, -130, -121, -142, -125, -128, -137, -116, -152, -105, -134, -122, -117, -166, -124, -179, -86, -139, -138, -131, -115, -94, -113, -139, -141, -118, -123, -109, -141, -109, -145, -132, -103, -112, -121, -113, -114, -120, -131, -132, -112, -154, -156, -123, -105, -127, -138, -135, -117, -166, -100, -127, -141, -145, -115, -123, -126, -151, -114, -165, -153, -97, -124, -85, -131, -96, -121, -109, -131, -81, -108, -146, -90, -159, -125, -114, -111, -111, -123, -110, -140, -123, -123, -137, -103, -140, -106, -71, -62, -97, -124, -122, -113, -122, -133, -135, -130, -131, -120, -129, -135, -154, -111, -112, -131, -120, -114, -151, -162, -142, -141, -128, -135, -138, -88, -96, -162, -117, -137, -137, -111, -134, -119, -138, -128, -139, -140, -145, -132, -115, -116, -103, -125, -144, -135, -111, -130, -153, -132, -128, -134, -97, -121, -116, -123, -133, -152, -101, -91, -130, -140, -106, -127, -124, -148, -155, -118, -139, -141, -127, -133, -119, -160, -120, -129, -132, -155, -116, -125, -142, -139, -123, -137, -118, -135, -137, -162, -120, -118, -133, -137, -161, -121, -130, -102, -132, -117, -127, -134, -88, -133, -127, -123, -119, -136, -118, -137, -127, -185, -114, -118, -130, -146, -139, -148, -116, -111, -134, -113, -129, -141, -84, -144, -143, -134, -133, -126, -122, -105, -138, -164, -109, -118, -107, -116, -125, -144, -130, -146, -60, -152, -119, -144, -141, -119, -74, -157, -124, -111, -94, -143, -125, -124, -145, -142, -199, -133, -104, -117, -109, -113, -153, -127, -130, -146, -141, -102, -135, -115, -128, -133, -137, -157, -140, -116, -134, -119, -168, -139, -122, -127, -119, -125, -130, -133, -159, -119, -107, -130, -96, -92, -153, -92, -164, -95, -146, -99, -134, -112, -142, -138, -141, -111, -126, -117, -127, -155, -166, -122, -126, -126, -87, -157, -119, -140, -104, -125, -155, -119, -144, -77, -117, -134, -115, -133, -118, -144, -123, -131, -129, -113, -142, -175, -145, -142, -134, -105, -153, -123, -104, -123, -154, -125, -134, -97, -109, -138, -124, -133, -117, -114, -94, -141, -153, -152, -129, -125, -129, -176, -158, -140, -126, -112, -121, -83, -152, -109, -165, -122, -128, -113, -135, -123, -94, -127, -123, -140, -128, -153, -134, -111, -133, -120, -136, -170, -117, -148, -125, -119, -139, -129, -106, -122, -103, -97, -140, -148, -143, -141, -159, -177, -103, -150, -152, -187, -109, -174, -161, -129, -176, -123, -133, -146, -131, -98, -118, -137, -133, -160, -108, -180, -128, -114, -142, -140, -154, -101, -148, -126, -115, -142, -105, -142, -95, -137, -118, -138, -115, -168, -130, -111, -135, -142, -163, -131, -119, -118, -147, -150, -124, -148, -100, -122, -114, -126, -124, -83, -121, -133, -138, -138, -121, -161, -122, -136, -124, -85, -132, -98, -141, -147, -137, -187, -131, -110, -135, -164, -174, -110, -123, -137, -129, -134, -122, -115, -143, -115, -126, -105, -126, -92, -113, -116, -122, -125, -115, -119, -139, -143, -140, -124, -108, -138, -136, -139, -145, -121, -145, -124, -113, -138, -146, -105, -144, -106, -115, -127, -126, -101, -132, -121, -119, -130, -130, -127, -151, -140, -85, -123, -87, -151, -141, -113, -95, -170, -123, -131, -126, -116, -123, -120, -132, -144, -135, -127, -161, -137, -143, -149, -128}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1627103488, 1151903488, 1264075648, 1305618560, 1571298816, 1888125824, 1493099392, 1375925760, 1123935104, 1386302080, 1356437760, 1526297728, 1335141760, 1435477888, 1912062848, 1568803328, 1637170176, 1999317760, 1209977984, 1107923712, 1130239616, 1152200448, 1183214464, 1480731904, 1423256448, 1551024640, 1300041344, 1687780608, 1744609408, 1280305408, 2079777536, 1793282176, 1390702464, 1983052416, 1233602560, 1241333760, 2030981120, 1175297792, 1550579456, 1441823872, 1476023936, 1373197952, 1663906176, 1923273856, 1145692416, 1568411776, 1542906624, 2062080384, 1507768704, 1629540864, 1382020096, 1249528192, 1226123136, 1222639232, 1306423808, 1533943296, 1261406720, 1275697152, 1728500352, 1592448000, 1361196800, 1911846784, 1239024768, 1643218816, 1357426816, 1535136896, 1328582272, 2120777472, 1853715456, 1085723264, 1424056960, 1237198592, 2133611008, 1737842432, 1712523264, 1256779008, 1219483008, 1189683072, 1978934912, 1223972096, 1379203840, 1208053120, 1925450624, 1360910592, 1174491136, 1595189888, 1202125056, 1316378624, 1382305024, 1349953408, 1297263872, 1315063168, 1391682048, 1855007488, 1342171776, 1340281984, 1277047424, 1388615680, 1271359616, 2090860800, 1743048832, 1596129536, 1566590976, 1543014016, 1154738560, 1353418496, 1248172544, 1498075776, 1471492736, 1908426240, 1147048832, 1972796032, 1701788160, 1140529664, 1530559616, 1415060608, 1885143424, 1310155264, 1098004992, 1339806080, 1682341504, 1504138496, 1393959296, 1257671936, 1218073344, 1105594368, 1270997120, 1373743872, 1113813888, 1995972096, 1636427264, 1321142400, 1179387520, 1277539456, 1216487680, 1989106176, 1151645056, 1803937920, 1256705280, 1388941184, 2130775040, 1114072192, 1581498240, 1617344896, 1276794624, 1125266816, 1419433472, 1523876480, 1293943296, 1679630976, 1187510016, 1319205248, 1095940352, 1452597888, 1446986624, 1713628160, 1309373184, 2013440128, 1121528064, 1527992192, 1649886976, 1147005696, 1340230144, 2005903488, 1476062720, 1283726976, 1130762496, 1350427008, 2133858816, 2122783616, 1681183104, 1099916544, 2094523648, 1358856704, 1326874496, 1433302272, 1545109504, 1710620416, 1364465280, 1486457600, 1594866560, 2101049472, 2083872768, 1597444480, 1659255808, 1777381248, 1334916224, 1988192640, 1331326848, 1400319360, 1930599424, 1480622976, 1569832832, 1541127936, 1239796096, 1358717952, 1270498176, 1668994816, 1152721152, 2038433152, 1965170688, 1795507328, 1424283136, 1314783616, 1843487360, 1532320384, 1133758976, 1315630592, 1437377408, 1231595904, 1486372992, 1182664320, 1266688256, 1732367744, 1140690688, 2010364032, 1410322048, 1947193728, 1079415040, 1386175232, 1696336256, 1477854592, 1250243840, 1285111296, 1328926720, 1784976128, 1610158080, 1311924352, 1502383616, 1244452352, 1416281600, 1347899520, 1492267008, 1150079104, 1854856832, 1259683456, 1734305792, 1235943936, 1754451840, 1784607488, 1541268352, 1277663616, 1165214720, 1364039168, 1563676544, 1776253696, 1315945088, 1133331712, 1503184256, 1151170432, 1351202304, 1236398976, 1503787264, 1300904832, 1386199936, 1868222336, 1386995584, 2100837504, 1260343168, 1547567744, 1717921920, 1404325632, 1661203840, 1907771008, 1653162752, 1108763520, 1302255232, 1784475136, 1571575040, 1592471552, 1840110720, 1171835264, 1416393216, 1171227264, 1364754944, 1497847424, 1628990848, 2100576128, 1806661376, 1968852096, 1676443392, 1378470784, 1444243968, 1366567168, 1831931008, 1372768640, 1374508800, 2142649984, 1485301632, 1872027776, 1601388416, 1837701760, 1354323968, 1819015936, 1351154560, 1342128768, 1265763072, 1692269696, 1768094208, 1290879872, 1825320576, 1323785856, 1639209472, 1121701760, 1473583488, 1242280576, 1351890816, 1634531200, 1112357888, 1695089280, 1219606528, 1240072832, 1822063872, 1074173824, 1547871872, 2061583744, 1216791552, 2024147200, 1906331648, 1517277056, 1287940864, 1308349952, 1929332608, 1166235520, 1464829824, 1178802048, 1208772352, 1436121600, 1299785600, 1340231424, 1204768896, 1339298304, 1204404224, 1345275008, 1376434432, 1231535488, 1826919680, 1323054976, 1434083328, 1343985152, 1125534848, 1144950656, 1147925376, 1933805952, 1677789312, 1152996224, 1113811328, 1117347328, 1760641536, 1319288960, 1244767616, 1149192320, 1238105472, 1359481472, 1752606720, 1773891200, 1326524544, 1305744640, 1329736704, 1536391680, 1443731840, 1382923520, 1213602560, 1762230912, 1551823616, 1946179840, 1321620736, 1234260864, 1117779072, 1379753600, 1226646656, 1347118848, 1595949312, 1681388288, 1577559680, 1256557952, 1210133376, 2073257472, 1265627008, 1590850688, 1276878336, 1852482432, 1617863552, 1845015936, 1266982528, 1794562944, 1196463104, 1139102848, 1213531392, 1910651776, 1764164480, 1475960704, 1471699584, 1236046464, 1558446208, 1222481920, 1365304704, 1496076800, 1374700672, 1454414208, 1282893952, 1401997696, 1167729280, 1273154816, 1420163840, 1168687360, 2069831296, 1204859520, 1196019328, 1704420992, 1102430720, 1422450816, 1754309632, 1711518080, 1526077184, 1312139648, 1429887232, 1203571200, 1578515968, 1531025664, 1128845184, 1180543488, 1453108480, 1264704000, 2022958336, 1479586944, 1470131712, 1442720768, 1563364864, 1371728384, 1897896192, 1362219520, 1484127488, 1227469440, 1249684224, 1167958144, 1906752512, 2088599552, 1339571072, 1303853568, 1304271488, 1655053312, 1970885632, 1680176384, 1428191744, 1650914944, 1299014400, 1346591104, 1582984064, 1669927296, 1234510976, 1492516864, 1193272448, 1763011840, 1782537728, 1538098432, 1874007552, 1400554880, 1548529408, 1767384960, 1854129152, 1142840960, 1671938432, 1079786240, 1259540736, 1355867392, 1078724608, 2127186560, 1513262208, 1821531264, 1182333440, 1554775680, 1230879488, 1248190336, 1257438720, 2040302336, 1439628160, 1462450304, 1164540800, 1893344640, 1320836992, 1658671744, 1305062912, 1687453568, 1423276416, 1353080576, 1522527232, 1256804992, 1572029952, 2083276160, 1546281088, 1442855296, 1500913536, 1695694464, 1249265408, 1380028160, 1249545728, 1987109504, 1562180992, 1763845504, 1473426304, 1178116480, 1501859968, 1542620800, 1148321152, 1560993536, 1581269376, 1563407232, 1770028288, 1745684864, 1995417728, 1446157440, 1285017344, 1373217664, 1599566720, 1204284800, 1260666368, 1555858688, 1483969408, 1288055168, 1371177856, 1873616256, 1127103744, 1161536384, 1183040640, 1881511296, 1386508672, 1310670336, 1422434304, 1102575104, 1708822144, 1688421760, 1269186688, 1544267904, 1203055104, 1158167424, 1129278080, 1391391616, 1368937856, 1094373632, 1783453824, 2070377088, 2012894464, 1774993408, 1562131840, 1304006656, 1097722880, 1349056256, 1747470464, 1317013376, 1568685056, 1638448640, 1204548352, 1157126912, 1347351168, 1446594816, 1188964352, 1610244736, 1496057856, 1985987584, 1123885056, 1440521344, 1650173056, 1699315584, 1456972416, 1573697152, 1280819328, 1490903168, 1595929856, 1685252224, 1676385152, 1595917312, 1255305088, 1082101888, 1458230272, 1276481280, 2142892288, 2117309696, 1115557504, 1135626752, 1833171328, 1466001536, 1589917952, 1816061824, 1464942976, 1385607040, 1259572608, 1144436864, 1502970496, 2145453824, 1246273920, 1156600064, 1120879872, 1472920064, 1244745088, 1454771968, 1466049152, 1812911872, 1290233216, 1310200704, 1321148160, 1545494400, 1338855168, 1109891712, 1115004416, 1357065216, 1385459072, 1217254784, 1233669760, 1827330304, 1296131072, 1314429568, 1627691008, 1219751680, 2100668032, 1678277248, 1157116416, 1322344576, 1898333824, 1560190464, 1852818816, 1142728192, 1185811712, 1286922368, 2129559680, 1829467648, 1096340480, 1077901824, 2045344128, 1226907904, 1479740416, 1420547456, 1501290624, 1731674752, 1582651136, 1816503040, 1573211264, 1883193856, 1261641472, 1473124992, 1783719680, 1420850048, 1531689600, 2004837888, 1845333120, 1094339712, 1848473600, 1615924480, 1337362304, 1293789696, 1320976256, 1440672640, 1327687040, 1443181312, 1180328832, 1426543104, 1584420480, 1638673152, 1405965696, 1598417536, 2132767104, 1144968576, 1962027904, 1374547840, 1582337152, 1468027136, 1575293056, 1950077952, 1459166208, 1626709632, 1533227008, 1304902016, 1663806464, 1234156288, 1827893248, 1759561984, 1503208960, 1239166080, 1450571648, 1542406656, 1993651456, 1180863744, 1713687680, 1220198656, 1266922880, 1271385728, 1730342656, 1589090944, 1356061312, 1926618880, 1431114752, 1357565312, 1713343232, 1405519360, 1458241920, 1142237056, 1627769088, 1404279168, 1282889856, 2099787776, 1838423424, 2108745984, 1095341568, 1225441280, 1677230336, 1122613760, 1715697664, 1184609792, 1576537088, 1502827136, 2131486464, 1306585088, 1421827200, 1374734336, 1301867136, 1284302592, 1588746112, 1085063680, 1629591936, 1415359232, 2134821248, 1491933824, 1352789888, 1207466112, 1787933440, 1317138432, 2116818944, 1645019904, 1504967168, 1407949056, 1346982272, 1273348096, 1631021184, 1895201536, 1476458624, 1249711360, 1321284224, 1299867392, 1121257344, 1083189248, 2141059584, 1515146624, 1122532736, 1480279552, 1225668736, 1117909120, 1968242432, 1740987904, 2045812096, 1529426304, 1316202752, 1999379712, 1811348608, 1465640960, 1391267584, 1212677632, 1647715584, 1263974528, 1301087488, 2108610432, 1340652672, 2018479232, 1217517568, 1267314944, 1533975936, 1572995584, 1719219200, 1251673344}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-2580, 56291, 169950, -1460, 118338, 47500, 99296, 119916, -2230, -576, -3238, 105516, 319, -4702, 71949, -406, 111762, 77385, 5598, 87640, 5970, 200805, 84597, 50239, -11230, 100519, -9166, 117135, 240838, -712, 112342, -27, -1258, 107346, 113862, 69560, -1509, 210043, -1905, -258, -672, 4643, 354192, 83619, -3040, -10095, -36, 68460, -1874, 155441, -17592, -6030, -899, -1610, -3630, -4962, -5456, -880, 50949, 186759, -6804, -32061, 185091, -3710, -1360, 83446, 56528, -23973, 59053, -76, 204936, -8823, -80, 57322, 452, -7577, -207, 79246, -4241, 66935, -799, -405, 53511, 109358, -4401, -14103, 96592, -10957, 37261, -2886, -3269, -63, 181441, 136017, -9646, -2020, -2231, -34315, -4187, -2477, 6973, 88975, -3955, -14654, -2451, -2170, 79791, 82507, 67214, -51, -684, 480, -19, -2506, 153458, -804, -110, 71242, 95, 48454, -6265, 65248, 4344, -368, -2801, 49594, -987, 70597, -77, 81108, 103970, -1677, -38, -3036, 2272, -222, 103456, -3293, 39799, -13416, -4887, -175, 130403, -38752, 3288, -4601, -11538, -22155, 3844, -2325, 2305, -1040, -6441, -4155, -8042, -157, -1680, 523, -44, -6988, -2270, 134660, 54401, 144, -6565, -2205, -1599, -3571, 92392, 70674, 203101, 82471, 83408, 42327, -2175, 176165, 195354, -7244, 63216, -3490, 76010, -1395, 18886, 64129, 155655, -1662, -18, 61621, -3754, 88837, 218416, -15209, 147273, -32092, -5173, 84512, 224665, 64415, 1236, 52934, 80685, 57189, -5323, 148237, -10400, -1707, 103787, -797, -3555, 113, 186581, 93725, -12391, 74493, -1387, 87071, -2427, 57496, -3157, 106345, -1381, -6241, -4197, -18278, 79305, 113144, -9248, 94298, -9103, -2528, 47950, -2043, -2426, 208755, -96, 10, 87, -1701, 96430, 66292, -3512, -2570, -3231, 48036, 104825, -75, -5397, -2395, -11697, 166106, -2505, -1626, -27917, -2817, -3401, -4431, -721, 122533, -6040, 116107, -838, -4820, 74288, 104903, 118538, -6956, -157, 672, -1524, -2671, -1580, -768, 48939, -1173, -820, -21158, 63383, 1763, -50209, 87694, -13800, 853, 119732, 78786, -13, -3977, 49445, -5889, 298, -1991, 67128, 59170, -1837, 35975, -1729, -2480, -1490, 97188, 302, -5558, 60747, -107, 1000, 55895, -4463, -1494, -1097, -3307, -11481, 138563, -868, -7284, 59117, -3829, 2544, 129622, -7890, 190227, 304, -14291, 55487, 68646, 25976, 361, 50204, -566, -2105, 81162, -50, 62402, 133035, -667, -261, -1535, -9025, -7208, -86, -2733, 111293, -2313, -1361, 126473, 115523, 52146, -4744, -3387, -6451, 246477, -1274, -2137, -1512, 2573, -4249, -17931, -3986, 164014, 63767, -361, -1148, 126937, 3073, -19104, -19681, -51, -3365, 0, -3809, -5474, -834, 91000, -6420, 83935, -81583, -15499, 45775, -1655, 162980, -4061, -3529, -2539, 193538, 54793, -953, 92112, -4117, 96979, -13557, -95, -1383, -14953, -56985, -3236, -2261, -3460, 363593, -2120, -2696, 3, 2994, 109297, -22938, 96883, -5205, 58973, -2948, 116781, -871, 227850, -2600, 89517, 1775, -2811, 65871, 59329, -7448, -2135, -17380, 7281, 202184, 371, 1501, -73, -10984, -1287, -102, -16099, 1087, -1585, 84190, -6077, 23957, 65707, 113290, -3082, 90475, -9821, 1017, 68630, -2651, 218919, -1460, -8973, 64609, -512, -5851, 55515, -2608, 70860, 171, 61585, -4570, 76427, -426, 76500, 252, 710, -27, 112395, -3772, 1607, 122161, -14673, -24712, 70790, 450, 102900, 3849, 48680, 117046, 80071, -10008, -22596, -3489, 110003, -2661, 131229, 250, -1252, -992, 83062, -4608, 101119, 66059, 191398, 1039, -2046, 159465, 67793, 73024, -287, -12, 175086, 1247, -14225, -979, 348, -1516, -278, -1111, 133810, 93176, -15764, 107271, -14914, 115031, -1192, -10109, 45191, 111269, 181, 34, -520, 2449, -29785, 150999, -2886, 69037, 101357, 85697, -2622, -1699, -128, 45438, -3115, -261, 72648, 131559, 92465, 56582, 134624, -679, 285196, -3157, 64092, -43877, -2584, 93193, 102791, 47493, -3387, -613, 2481, -40, -177, 91877, -3208, -1978, -1898, 113615, 102990, 297924, 133738, -6467, -1836, -4284, -3548, -2106, -3606, -28376, 85241, -2168, -3367, 99441, 2975, -2095, 140490, -2750, 154904, 82665, -533, -2429, -2118, -20, -1303, 61880, -1996, -241, 96817, -120, 85393, -12619, 85758, 82613, -1584, 68551, 385, 72187, -1243, -3027, -1118, -2046, 115509, 131449, -8924, -3603, 181291, -2642, 24, 67250, -6298, 111299, -510, 638, 83281, 7756, 67646, 615, -15261, 489, 42974, 40006, 46364, 62050, -10134, 79052, 115346, -2531, -365, -1345, -37140, -327, -9282, -53, 4970, 44419, -13, -1840, 685, 117481, 131024, 101353, -3109, 236696, 280924, -10034, 187514, 111022, 243665, -712, 91793, -3509, -4849, 94176, 152881, 245567, -1660, -2505, -5143, -1376, 126975, -70, 176175, -1955, 49979, -1978, 72, -2316, 71744, -7426, -1185, 58752, 51767, -814, -1223, 70691, -1349, 71055, -820, -2165, -3684, -3171, -6314, -15245, 384, 130841, 104684, 271, -4624, -5810, -594, -2252, -1392, 148049, -83, -5221, -1039, 171671, -50580, -876, 65303, 118195, -4899, 68483, -31352, -372, 11, -1978, -8147, -1419, 54813, 9271, -528, 3212, -333, -1457, -1734, 50782, -188, 65558, -1542, -568, -173, -23291, -4628, -348, -1159, -2197, 280, 136616, 50886, -1454, -7662, 168843, -1509, 72686, -1509, 129534, 63165, 662, 136913, 41324, 73516, 118370, 176580, 204794, 79481, 80755, 100073, -46, 4323, -2093, 81075, -10073, -1971, -1351, -44692, -140, 58564, 93703, 72118, -5638, 116511, 6787, -5126, -45190, -4535, 70915, 140432, 124048, -1878, -5481, -1530, -2961, -1303, -5861, -47506, 107161, 198579} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-81, -430, -642, 357, -496, -465, -536, -550, 544, 28, 589, -329, -110, 251, -493, -106, -660, -581, -87, -454, -172, -1000, -517, -413, 258, -576, 375, -465, -670, 253, -557, -191, 93, -635, -457, -525, 401, -971, 400, -176, 162, -100, -1211, -545, 172, 307, -206, -307, 319, -613, 505, 584, 257, 387, 320, 217, 71, 178, -429, -572, 451, 183, -803, 440, 309, -442, -297, 45, -447, -78, -883, 496, -149, -440, 168, 616, -15, -505, -39, -456, 321, -194, -507, -616, 544, 248, -623, 531, -410, 444, 323, -167, -746, -673, 53, 160, 496, 81, 372, 291, -120, -510, -43, 713, 474, 377, -482, -517, -425, -173, -101, -118, -199, -137, -654, 432, -122, -482, -101, -462, 490, -413, -86, 230, 328, -399, 178, -499, -148, -440, -643, 316, -143, 608, -160, -68, -390, 668, -391, 2, 245, -109, -594, 68, -97, 497, 390, 52, -102, 451, -168, 140, 327, 566, 365, -211, 567, -106, -159, 256, 280, -689, -474, -107, 500, 413, -139, 401, -519, -436, -779, -497, -600, -513, -116, -563, -711, 370, -393, 808, -558, 290, -137, -572, -813, -186, -175, -468, 444, -534, -778, 324, -617, 232, 495, -499, -874, -471, -194, -450, -614, -470, 181, -637, 40, 262, -528, -64, 11, -125, -686, -526, 161, -410, 297, -477, 353, -427, 353, -585, -106, 432, 664, 279, -593, -696, 333, -520, -22, 463, -443, 597, 587, -841, -67, -141, -161, 385, -413, -342, 218, 311, 410, -443, -627, -152, 679, 44, 262, -967, 695, 524, 218, 774, 391, -150, 315, -807, 295, -543, 244, 1059, -521, -631, -529, 177, -87, 484, 214, -67, 468, 93, -380, 341, 332, 427, -287, -116, 119, -537, 371, -95, -533, -506, 113, -118, -389, 640, -136, 338, -537, -504, 481, -377, 679, 498, 459, -494, -188, 519, -443, -128, -105, -488, 629, 284, 194, 279, 256, -708, 254, 189, -491, 417, -120, -655, -120, -736, 127, -110, -449, -316, -338, -98, -451, -2, 392, -463, -206, -478, -611, -110, -48, 195, 164, 429, -176, 703, -668, 344, 329, -476, -597, -427, 246, 543, 222, -1132, -110, 208, 252, -89, 440, 136, -136, -823, -440, -107, 407, -474, -125, 22, 472, -163, -68, -173, 895, 298, -58, -593, -27, -498, 242, 382, -399, 423, -840, 508, 522, 404, -700, -452, -92, -629, 668, -615, 199, -198, 615, -100, 51, 606, 398, 806, -1313, -134, 405, -213, -119, -501, 490, -526, 103, -451, 461, -681, 342, -852, -7, -404, -119, 566, -456, -475, -87, 280, 188, -173, -613, 30, -100, -66, 264, 285, -82, 405, -163, 175, -499, 870, -256, -470, -652, 333, -499, 343, -113, -459, 567, -941, 259, 608, -556, -188, -77, -474, 503, -490, 119, -464, -79, -516, -47, -470, -151, 327, -201, -623, 626, -174, -549, -101, 261, -620, -111, -484, -122, -467, -617, -529, 338, 320, 410, -759, 236, -727, -100, 529, 383, -528, 503, -594, -436, -665, -109, 449, -527, -434, -526, -67, -125, -781, -99, -94, 446, 84, 0, -187, -85, -625, -559, 514, -541, 593, -469, -78, 436, -394, -594, 124, -114, -97, -108, 193, -729, -109, -528, -658, -467, 475, 461, -208, -424, 837, 217, -437, -683, -506, -426, -689, -196, -847, 493, -352, 321, 330, -538, -567, -413, 47, -201, -92, -135, -116, -617, 392, 365, 258, -630, -636, -651, -747, 460, 455, 5, -169, 348, 580, 181, -528, 358, 479, -570, -97, 578, -619, 511, -657, -380, 317, 513, 586, -174, 320, -484, 261, -63, -731, -175, -478, 392, -600, -616, 185, -481, -204, -496, -102, 419, -149, 537, -467, -599, 520, 490, -621, 256, -101, -504, 183, -515, -175, 154, -534, -168, -525, -102, 130, -102, -434, -442, -327, -430, 277, -386, -379, -95, 118, 488, 319, -161, 460, -98, -104, -494, -180, 339, 161, -787, -578, -597, 470, -812, -922, -108, -874, -509, -815, -147, -636, 417, -104, -529, -665, -1127, 376, 596, 625, 351, -816, -180, -800, 528, -423, 369, -175, 471, -488, 661, -186, -427, -393, 207, -120, -437, 298, -488, -150, 253, 561, 351, 411, 536, 347, -639, -567, 529, 318, 294, -142, -107, 424, -513, -172, 491, 212, -700, 107, 279, -435, -539, 863, -455, 106, -201, -192, 436, 389, 259, -404, -185, -14, -114, -5, -193, 366, -409, -108, -563, -109, 196, -95, 84, 702, -210, -184, 329, -110, -607, -398, 441, 307, -813, -122, -435, 212, -482, -515, -127, -744, -219, -589, -601, -692, -571, -598, -494, -514, -169, -121, 384, -586, 286, 263, 341, 48, -53, -488, -594, -519, 385, -481, -72, 683, 142, 676, -519, -758, -737, 330, 486, 517, 604, 567, 843, 641, -557, -864}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1780096256, 1396898176, 1279752192, 1480573184, 1774663424, 1574484352, 1726520576, 1511576576, 1765079168, 1372543744, 1827713664, 2109000064, 1943252224, 1146320768, 1081430016, 1108263040, 1498089216, 1875274112, 1351147520, 2004886784, 1427368704, 1937735680, 1973643648, 1853426304, 1433224832, 1578468480, 1157694592, 1087967872, 1936058240, 1178926208, 1144398976, 1318698240, 1350077952, 1569606528, 1927022848, 1262081408, 1145940480, 2097344640, 2027899904, 1103273088, 1086176128, 1339936640, 2057996672, 1817118592, 1375840256, 1102997632, 1305092608, 1731247872, 1296970240, 1193703296, 1672023936, 2006561536, 1341549312, 1317528832, 1193070720, 1125728000, 1982457856, 1106884864, 1751665792, 1227327104, 1877512448, 1304200576, 1195046912, 2100354176, 1478274944, 2074466432, 1711260800, 1223415040, 1259865088, 1420938624, 1186319872, 1419343872, 1757924736, 1357721088, 1668510848, 1579564672, 1486308224, 1274613632, 1726348928, 1199641088, 1363341568, 1554387712, 1448080768, 1959443584, 1329914112, 1456478080, 1609526784, 1300715648, 1963667584, 1996725248, 1222347264, 2042336768, 1889537408, 1365246848, 1589519744, 1631963648, 1769895296, 1712970752, 2025824128, 1336159104, 1289350272, 1924128512, 1551747456, 2084908928, 1180460288, 1175083648, 1709751168, 1892833664, 1412586368, 1487649664, 2099560448, 1219137920, 1924148864, 1195252736, 1184731008, 1558695552, 1432709120, 1193732480, 1997571840, 1554083968, 1220501376, 1346474240, 1218350336, 1088971648, 1394051328, 1582652416, 2034080640, 1255305728, 1647091840, 1991158784, 1561339904, 1105177472, 1203350144, 1371559808, 1643644160, 1766228480, 1074061056, 1173137280, 1989132800, 1788404608, 1515377152, 1144664704, 1478593792, 1666008832, 1759666688, 1452408832, 1937088256, 1168870272, 1498024320, 1924424576, 1559148928, 1768743424, 1380705536, 1518093312, 1106083968, 1270750080, 1851016320, 1947989376, 2081400320, 1116427136, 1687654528, 1442960128, 1396107136, 2058227840, 1485452800, 2129478400, 1112917376, 1822782848, 1222283392, 1180898432, 1877335808, 2018825088, 1166420608, 1753770624, 1610938624, 1178159360, 1922833536, 1721703040, 1392253824, 1091075072, 1205444864, 1241449728, 1304150016, 1258320640, 1078471424, 1190064768, 1753106176, 1417326848, 1117928832, 1181805312, 1627796992, 1221418496, 1305812096, 1959348096, 1765254528, 2074173184, 1824351360, 1153153152, 1496328576, 1497692160, 1887771264, 1424972160, 1602380672, 1389878144, 1702100224, 1474774272, 1605209088, 1377690496, 1617785856, 1188962432, 1239854720, 1804372864, 1500695680, 1144839808, 1439579008, 1860519808, 1087014272, 1400113152, 1263395328, 1699952000, 1268094592, 1789724160, 1206690176, 1865170048, 2075208960, 1344006912, 1864820480, 1831082496, 1341855872, 1968495360, 1556462336, 1661831040, 1818965760, 1076237440, 2118918016, 1699600384, 1408041856, 1335364608, 1435988864, 1228619776, 1822792960, 1117754752, 1668911488, 1521839872, 1595524480, 1129360640, 1146989568, 1488079488, 1398081152, 1878344832, 1451170432, 1941202816, 1097112576, 1411672192, 1985573120, 2065304576, 1307964160, 1323114880, 1388809088, 1578233856, 1776792192, 1888190848, 1204982912, 1623621760, 1690996608, 1304212864, 2075620864, 1929116288, 1388561024, 1255670272, 1091982208, 1421975296, 1696261120, 1244713472, 1278296064, 1656077056, 1320360576, 1962258944, 1182043648, 1951424384, 1446886656, 1545073536, 1578245120, 2060353920, 1075563392, 1691661056, 1764174080, 1921974016, 1627745920, 1259212672, 1139939584, 1346432256, 1987194624, 2101652352, 1620407808, 1731187584, 1336035072, 1233578752, 1220408576, 1680465792, 1285833088, 1159042432, 1921194624, 1311894272, 1170285568, 1469371648, 1082934144, 1187673344, 1152038272, 1684455040, 1766415232, 1562919040, 1226314496, 2143348608, 1239421952, 1412438144, 1576084352, 1939242880, 1512560384, 1751368704, 1454589312, 1184992896, 1415044224, 1608120576, 1523449728, 1762363648, 2099806848, 2033075840, 2041608192, 1599215488, 1645513344, 1584948992, 1434532608, 1708840576, 1292271872, 1886081664, 1843603200, 1340832512, 1499679744, 1191796608, 1771168640, 2108547840, 1776747392, 1549248000, 1435330432, 1704701440, 1508586624, 1293639296, 1585636992, 1903427072, 1428567040, 1953296384, 1486822144, 1494355200, 1081958144, 1977134336, 1205623936, 2031048192, 1200793728, 1812662912, 1728756224, 1415425920, 1345957376, 2028608000, 1455356416, 1263545088, 2038627072, 1497831936, 1436805504, 1929970304, 1235173120, 1113527296, 1708656640, 1940653824, 1862448896, 2091401856, 1182062336, 1323216384, 1407392640, 1966661888, 1226384896, 1321470464, 1558804992, 1733424640, 1455436928, 1657750528, 1123314688, 1712732800, 1163669632, 1182319104, 1664943616, 1578353408, 2104437632, 1274390528, 1096799104, 1106807552, 1958632448, 1620832256, 1530636032, 1681922304, 1337498752, 1882805248, 1780369920, 1352925568, 1497618176, 1505133568, 1824397312, 1885180544, 1480020736, 2003090048, 2116614528, 1695797632, 1455162496, 1448552832, 1446285568, 1193790208, 1122134784, 1423544960, 1134503168, 1781688832, 2036090240, 1272587392, 1109116416, 1362010368, 1416986624, 1527617536, 1187481600, 1188829312, 2113751680, 1956358656, 1081604992, 1342239744, 1467352448, 1861006336, 2018277632, 1195319296, 2073260800, 1183239424, 1766097280, 2078056064, 1543673472, 1293036160, 1152053376, 2047652352, 1700808832, 1345530752, 1081342848, 1102372352, 1920334464, 1204623232, 1720654464, 2127999104, 1366507648, 2062814080, 1610648704, 1758006272, 1402857728, 1197471616, 1440329856, 1541484800, 1464527616, 1332068736, 1465694464, 2137076224, 1262798848, 1165442944, 1801128320, 1535598720, 1414952960, 2029526400, 1156693248, 1919295360, 1680630272, 1533778688, 1388954240, 1519162112, 1449631488, 1987004544, 1314369536, 2095149056, 1861942784, 1589643648, 1284387968, 1079124736, 2065534080, 2119252352, 1340801792, 1557648000, 1111431296, 1693221248, 1930045952, 1197361792, 1896383872, 1271459328, 1271888000, 1869619712, 2115488256, 1390630912, 1430871296, 1279017344, 1798430720, 1449507328, 1634388608, 1446531712, 1955541376, 1807913088, 1504041344, 1820546944, 1591430272, 1930729472, 2076927232, 2029169664, 1821496064, 1173980288, 1285937792, 1645477760, 1164567552, 1572561408, 1873192448, 1921949952, 2106533120, 1246847488, 1635120256, 2133050240, 1190703104, 1356677760, 1419882880, 1833139968, 1303315456, 1211836160, 1130683008, 1458047488, 1514940416, 1426586752, 1578934016, 1386123136, 1103074560, 1665020800, 1586569856, 1421593600, 1447060736, 1744698752, 1717059584, 1198748928, 1641052672, 1261106432, 1247261568, 1085622144, 1511995904, 1571265664, 1336705280, 1209408000, 2065250944, 2035357056, 1467198464, 1276668416, 1153488384, 1641784576, 1500041088, 1904891008, 1138635904, 1739380608, 1828238720, 1755894784, 1758984192, 1202849536, 1865010304, 1114150400, 1674149760, 1132836608, 1553583872, 1827593088, 1771485184, 1502107776, 1260092288, 1468513664, 1247454848, 1479528960, 1337815296, 1201935488, 2001188352, 1859580160, 2024687616, 1628637696, 1252434688, 1201549312, 1205860096, 1852880384, 1765576064, 1563704704, 1783776768, 2135104000, 1564357632, 1152687744, 1314601984, 1153598848, 1301030528, 1636779008, 1218785024, 1464496768, 1764392448, 2078636928, 1795904128, 2034134272, 1669611136, 1159366272, 1634496640, 1798004608, 1896802304, 1647742208, 1831077760, 1107694976, 1329628928, 1135985152, 1228367104, 1525986688, 1454742528, 1300864384, 1258083456, 2054296576, 1147644032, 2000136576, 1276357248, 1333587712, 1586386432, 1775766144, 1368939136, 1321806592, 1261518080, 1728511232, 2051452032, 1803543808, 1592847616, 1393384576, 1884920960, 1429998208, 1560539776, 1117757568, 2130531072, 1834251776, 1583863552, 1529825408, 2103566720, 1152742912, 1398543616, 1256523904, 1740951936, 1579293568, 1475302912, 1468764032, 1418546688, 1117803520, 1642684544, 1544735360, 2094440192, 1229976704, 1084564608, 1089720448, 1548716672, 2125113984, 1260789888, 1451064960, 1957177984, 2145907584, 1113472896, 1337603712, 1188354304, 1742681600, 1113368064, 1458385280, 1967861888, 2007446912, 1569243136, 1990127744, 1351405952, 1675271296, 2040212864, 2134890112, 1177553920, 1189601408, 1385729024, 1133992320, 1308055424, 1182103936, 2095604736, 1868092928, 2087098496, 1605821056, 1696736256, 1242064256, 2128245120, 2015276032, 1192257152, 1196767744, 1432284800, 1430391552, 2000693888, 1661974144, 1780822016, 1408815616, 1604120960, 1092307584, 1940884096, 1230955520, 2104889088, 1308656384, 1569399808, 2131661568, 1181685376, 1877597824, 1206204416, 1644859392, 1670804224, 1393135872, 1903980288, 1248203904, 1226499584, 1187285504, 1347681408, 1664702336, 1083009792, 1173781504, 1231250304, 1657652224, 1177741824, 1419211904, 2091436032, 1238704000, 1649418496, 1216801664, 1074211072, 1086886400, 1524656384, 2016425472, 1164435968, 2064600448, 1115877760, 1807060864, 1182895104, 2045662336, 1133009664, 1963853312, 1176727296, 1525843200, 1335780992, 1533820800, 1613233920, 1329913856, 1883470080, 1080211328, 1117060224, 1622301568, 1961769472, 1198478720, 1719288448, 1481254400, 1081239680, 1151552768, 1443024768, 1592454784, 2080188160, 2139587712, 1684991488, 2102092672, 2137887744, 1345262592, 1086861056, 2034288896}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {1871, 1489, 1376, -1035, 1413, -156, 987, -1082, -513, 1858, -576, 1781, -1666, -1107, -357, 378, -865, 832, -1296, 2194, 2223, 427, -1618, -1049, 1291, 1703, 3219, 1007, 1351, 835, 1137, 319, -178, 2347, 61, 340, 1366, 1169, 1399, 3389, -2435, 766, 2322, 256, -939, 863, -13, 2267, -240, 4128, 862, -1919, 31, -49, 289, 880, -365, -1050, 320, 1097, -1317, 661, -80, 1557, 20, -623, -434, -105, 1680, -1576, 288, -1010, 472, -995, -867, 270, 2578, 839, 1944, 1035, 454, 471, 715, 2533, -123, 399, -1307, 1055, -264, -1623, 2028, 117, -543, -616, 717, 1213, 138, 1248, -651, -82, 3070, -351, 1375, 369, -1883, 1070, -747, 673, 798, 2, -1108, -1487, 225, 1899, 289, 3639, 1838, 1065, 3251, 112, 635, 1647, 1716, 2769, -696, 737, -2154, 1245, -2183, 108, -398, 127, -995, -918, -380, -18, -16, -22, 27, 1417, 2591, 7, 1993, -813, 780, 1983, -2203, -1395, 2171, -610, -447, 407, 1179, 1256, 992, 2427, 690, 1052, 2331, -644, 969, 332, 990, 2214, 809, -343, 763, 474, -2974, -1296, 1337, -133, 1135, 838, -830, -619, -1860, 455, -1361, 651, -286, 1168, -327, 2886, 1259, 2315, 803, 683, -145, -1842, -765, -859, -287, -1842, -179, -1446, 1213, 555, -682, 811, 2317, 204, 1810, 309, 599, 3877, 1413, 184, -1140, -172, -1137, 2889, 1403, -1093, 384, -868, 2061, 2193, 2008, 1928, 28, -1396, 486, -672, 3131, 1426, 2315, -550, -2584, -545, 1003, -610, -1639, 1564, -166, 1222, -1133, -628, 583, 489, 791, -1029, 1548, -787, 1731, -2435, 1579, -95, 777, 1374, 2211, -375, 828, -49, 964, 722, -787, 548, 1229, -146, 739, 1902, -58, 2493, 529, -2307, 488, 194, -234, 662, 255, -1186, 80, 2458, -556, 1401, -1028, 156, -330, 2370, 698, -505, 2307, -305, 1235, -1023, 1017, 1837, -689, -1710, 2197, 1550, -687, 129, 910, 332, -22, -1084, 1529, 1895, 489, 1015, -25, 2558, 143, 216, 1362, 2340, -1163, -169, 535, 102, 856, 17, 2296, 55, -599, 1208, -1180, 291, -1538, 1092, -1402, -430, -608, 1947, 1770, 623, -1724, 1862, 570, -14, -418, 1399, 23, -1293, 909, -188, 310, -809, 1414, -1740, 1116, 2593, 4209, -394, -71, 1418, 725, 34, 967, 1958, -565, 1079, 434, 792, -1956, -10, -1293, 2413, -541, 675, -160, -902, -1191, -1079, -2185, -674, 391, -332, 1309, 803, 1588, 2073, 1289, -1383, 3410, 2814, 1006, -630, 1468, 51, -32, 351, 2597, -1250, -733, -112, 1983, -60, 1176, 435, -113, 54, 695, 1172, 1782, -996, 1309, 1384, -1275, 820, 1136, 737, 2068, -517, 778, -311, 546, 2094, 1127, 852, -837, 2990, 2118, 1121, 101, -320, -167, 1424, -483, 186, -818, 357, -102, 1911, -37, 944, 907, 130, 761, -118, 2943, -1350, -12, 397, -1207, -50, 2741, 3407, 1132, 2115, 1726, -241, 1118, 1588, -1386, 2321, -353, -165, 496, 2284, -185, 1958, 1057, 2922, 2586, -1432, 201, 970, 1221, 3264, -265, -95, -718, 1503, -43, -1418, 304, 736, 1329, -98, 188, 714, 459, -2389, -733, -191, 2717, 1292, 989, 4254, -934, -660, 349, -853, 675, -347, 965, 901, 530, -415, 1905, 242, 1883, -1016, 332, 716, 1910, 1708, -5039, 1716, -2519, 705, -750, 384, 665, 1368, 501, 97, 1678, 1659, 1009, 1088, 1765, 1666, 2167, 1259, -906, -1310, -654, 206, 118, 1029, -1071, 813, 2023, -397, 1398, 56, -961, 2012, 1091, 3169, 2204, -806, -375, -1127, -751, -902, 1431, 2169, 924, 1298, 1669, -1755, 27, 308, 1450, -319, 2713, 787, 1183, 1147, -835, 2205, -57, 66, -569, 312, 1719, 2718, 1456, 2461, -182, 215, 581, 368, 196, 1037, 815, 1338, 1723, -776, 2496, -604, 1837, -1034, 1023, -420, -1090, -318, 2206, 895, -86, -584, -107, 1259, 471, -334, 2181, 681, 1846, -523, 1987, -929, 1346, 22, -1483, 897, 743, 1289, 156, -1093, 1265, -1768, 960, 911, -141, -869, 509, 881, -968, 1569, 1421, -943, 893, 2563, -69, -271, -709, -1342, 354, -999, 134, 722, 191, -1374, -1665, 157, 23, 1923, 346, -203, -122, 630, 779, -610, 12, 924, 743, 913, 1898, -118, -22, 106, 972, -1503, 975, -171, 2392, 364, -1320, -728, 379, 672, 459, 691, 1219, -142, -691, -1267, -544, 1007, 2087, 1442, 2042, 7, -79, 832, 1848, 1273, -741, 2518, 3129, -49, 301, 2026, 1331, 1638, 2329, 125, 1242, -85, 1454, 2574, 540, 1885, -1999, 156, 1893, 59, 522, 2128, 1045, 1002, 2162, 789, 974, 878, 2500, -515, 1646, 2037, 370, -1663, -1708, 2215, 3428, 47, -528, -1387, 203, 1133, 2017, 21, 722, -250, 741, -1009, -895, 838, 1497, 1432, 1058, 924, -618, -898, 3000, 2568, 45, 663, -139, 1330, -1130, 204, -1494, -132, 2779, -65, 835, 904, -1169, 721, 233, -1334, 861, -405, 2219, 1031, 2549, -237, -1397, 956, 1291, 700, 1826, 1697, -100, -3224, 2214, -177, 560, 143, 1247, 2560, 337, -2167} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-7, -8, -5, -8, -7, -7, -8, -7, -9, -9, -9, -7, -9, -8, -7, -6, -9, -9, -7, -9, -8, -7, -7, -7, -8, -8, -7, -8, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -7, -9, -9, -7, -9, -9, -8, -8, -9, -7, -8, -9, -9, -6, -8, -9, -8, -9, -9, -9, -8, -8, -9, -10, -8, -8, -7, -7, -7, -9, -7, -8, -8, -6, -9, -8, -7, -9, -9, -8, -8, -11, -8, -7, -7, -7, -8, -10, -9, -9, -8, -8, -8, -8, -7, -9, -7, -9, -8, -7, -7, -8, -8, -8, -8, -9, -9, -8, -8, -9, -9, -9, -7, -8, -9, -8, -8, -9, -8, -7, -10, -7, -7, -8, -8, -7, -9, -8, -8, -8, -7, -10, -7, -9, -8, -7, -10, -7, -8, -9, -8, -7, -8, -10, -8, -8, -9, -8, -8, -8, -8, -6, -8, -8, -8, -7, -10, -8, -9, -8, -8, -8, -8, -10, -8, -8, -8, -7, -8, -9, -8, -9, -9, -9, -7, -9, -9, -7, -8, -7, -9, -8, -9, -8, -8, -8, -8, -8, -9, -9, -8, -10, -7, -8, -9, -8, -7, -7, -7, -8, -8, -9, -7, -8, -9, -8, -8, -7, -8, -7, -9, -7, -8, -7, -8, -11, -9, -8, -8, -8, -8, -8, -7, -8, -7, -9, -7, -8, -7, -7, -8, -8, -8, -7, -8, -9, -9, -7, -7, -6, -8, -8, -8, -8, -8, -8, -9, -9, -10, -9, -9, -7, -6, -8, -7, -9, -7, -8, -8, -8, -8, -9, -8, -8, -9, -8, -7, -9, -7, -8, -8, -9, -9, -7, -7, -8, -8, -8, -7, -7, -8, -10, -8, -9, -8, -9, -8, -11, -7, -9, -8, -7, -8, -7, -7, -7, -7, -10, -8, -7, -8, -8, -8, -8, -9, -6, -9, -9, -8, -6, -9, -9, -7, -8, -8, -9, -7, -8, -9, -8, -9, -8, -7, -7, -8, -8, -9, -9, -8, -8, -8, -8, -9, -10, -8, -9, -10, -8, -9, -8, -8, -7, -10, -9, -7, -8, -9, -8, -10, -8, -7, -6, -9, -8, -9, -7, -6, -8, -7, -8, -7, -7, -9, -8, -8, -8, -8, -8, -8, -8, -8, -10, -10, -10, -8, -8, -8, -8, -10, -9, -9, -9, -7, -10, -9, -8, -7, -8, -8, -8, -7, -9, -8, -7, -8, -8, -9, -8, -9, -8, -9, -8, -8, -8, -8, -9, -7, -8, -8, -9, -8, -8, -10, -10, -9, -7, -7, -8, -9, -8, -9, -9, -8, -9, -8, -9, -8, -8, -9, -10, -10, -8, -7, -9, -7, -9, -9, -7, -7, -8, -7, -8, -7, -9, -9, -8, -7, -8, -8, -9, -8, -9, -7, -8, -7, -10, -9, -10, -7, -6, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -6, -9, -9, -9, -8, -8, -8, -9, -10, -9, -8, -7, -8, -8, -8, -8, -8, -8, -9, -9, -7, -10, -10, -8, -7, -8, -7, -7, -9, -8, -8, -8, -8, -8, -8, -9, -8, -7, -7, -8, -8, -8, -9, -8, -9, -9, -9, -8, -7, -9, -7, -7, -7, -8, -10, -8, -9, -8, -11, -10, -7, -9, -9, -7, -8, -9, -8, -9, -7, -6, -7, -8, -9, -7, -8, -7, -8, -8, -7, -8, -8, -8, -6, -8, -9, -8, -8, -8, -8, -7, -8, -9, -8, -8, -8, -9, -9, -9, -11, -7, -9, -7, -8, -9, -8, -9, -8, -8, -7, -8, -10, -7, -9, -8, -8, -9, -8, -9, -8, -8, -9, -8, -8, -9, -9, -8, -8, -8, -6, -8, -9, -9, -8, -7, -8, -9, -8, -7, -7, -9, -8, -8, -8, -9, -8, -8, -8, -9, -7, -8, -7, -8, -8, -8, -9, -9, -10, -9, -9, -7, -8, -8, -8, -9, -5, -8, -10, -8, -9, -9, -7, -7, -7, -8, -8, -9, -6, -8, -8, -8, -9, -8, -8, -10, -8, -8, -8, -9, -8, -8, -9, -9, -9, -8, -8, -8, -7, -7, -8, -8, -8, -10, -8, -8, -8, -8, -7, -8, -10, -8, -10, -7, -9, -10, -10, -6, -9, -7, -9, -8, -9, -8, -7, -8, -8, -7, -8, -9, -8, -7, -9, -8, -8, -8, -8, -6, -8, -7, -8, -8, -8, -8, -8, -8, -8, -8, -8, -9, -7, -7, -8, -7, -8, -8, -7, -7, -7, -7, -8, -8, -8, -8, -10, -9, -9, -9, -8, -8, -9, -8, -8, -10, -8, -8, -10, -8, -8, -8, -9, -8, -9, -7, -8, -8, -7, -8, -7, -10, -8, -8, -8, -9, -8, -9, -9, -9, -8, -6, -7}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1191003392, 1114134272, 1346512512, 1076825344, 1770209024, 1926244992, 1746156288, 1626251520, 2033116160, 1745882496, 1170557440, 1991257216, 1992196480, 1648516992, 1091577216, 2141259520, 1081743872, 1125915776, 1786844800, 2128208128, 1891136512, 1771351552, 1566644608, 2037898496, 2108981248, 1074865152, 1822990336, 1911248640, 2029538432, 1455293056, 1337869056, 1849026944, 2129303552, 1929944448, 1799479424, 1844472576, 2111108352, 1109556864, 1081214208, 2089572864, 2026972544, 1944627584, 1875306496, 1585509760, 1075968512, 2020163456, 1813023744, 1903421568, 1694828544, 1586630144, 1107643264, 2078480512, 1353865088, 1834365568, 1110224000, 1760679168, 1803521152, 1938314240, 2034348928, 1758797440, 1519201536, 1643688960, 1798407936, 1194985344, 1969230592, 1726952576, 1204055552, 2055653504, 1857968640, 1920639872, 1933349120, 1821295744, 1890672256, 2065509504, 1785312128, 2062115072, 1929358336, 1098634368, 1600486400, 2037842304, 1246300288, 1125722240, 1672940032, 1688678144, 1982419072, 1909713536, 1357894656, 1085010304, 1151618176, 2099649280, 1141462400, 1736111488, 1765407616, 1859945344, 1359038080, 1202269568, 2040559360, 1529257088, 1999017600, 1554446720, 2118421376, 1941212928, 1976257024, 1634590720, 1892232832, 1266637312, 1839936512, 1919229568, 1519656832, 1116144384, 1852875648, 2138264320, 1112092672, 1115787904, 1722647168, 1765263360, 1381775616, 1629423744, 1785414912, 1441217536, 1602407552, 1972774400, 1860551040, 1622106112, 2078256512, 1111612800, 1830744448, 1149463424, 1610861312, 1721480192, 2056701824, 2079921536, 1931889024, 1912924928, 1827234560, 1274264576, 1870863104, 1512007936, 2146159744, 1714083968, 2074245632, 1887463936, 1125853440, 1075048704, 1087411456, 1995239936, 1857390080, 1802391680, 2075415680, 1629791744, 1215585536, 2020070400, 1823404288, 1287565184, 1850570240, 1147460736, 2025856384, 1091264000, 1101759104, 1843499008, 1757115776, 1713065344, 1311460864, 1952649728, 1857820928, 1157682688, 1219822976, 1655925120, 2079164032, 1567054592, 1856029440, 1927425408, 1113326336, 2102712064, 1824519424, 1292885504, 1817600768, 1445490816, 1547065472, 1302004992, 1872342144, 1952442112, 1831249152, 1501917952, 1077950848, 1804998272, 1817030272, 1165705728, 2024511488, 1862153728, 2135331840, 1753229440, 1628056192, 1909134592, 1960672384, 1652909824, 1097733760, 1974772352, 2079825536, 2022400768, 2002960768, 1108329600, 1119251712, 2009879296, 1637646848, 1762481536, 1819857920, 1974534784, 1124793344, 2030642816, 2110161536, 1727365760, 2089153536, 1827238144, 1479998080, 2124917248, 1942820224, 1747131904, 1898916864, 1912159872, 1920008832, 1901886208, 1758712192, 2126018688, 1770230528, 1642786048, 1712550912, 1728812160, 1946479616, 2094642944, 2099971712, 2013428608, 1965856768, 1095516160, 2115111552, 1107820672, 1858607232, 2073319424, 1309101568, 1828618880, 1105857792, 1881082112, 1940989440, 2110730624, 2014460032, 1296840448, 1087747712, 2144084480, 1097034752, 1245051520, 1812041728, 1885526784, 1696270336, 1121108992, 2081949568, 1971694720, 1750155392, 1680457472, 1829639296, 1870941824, 1966435968, 1075241088, 1772866560, 1759164160, 1658840320, 1809057280, 1170791296, 1720331904, 1700633216, 1780164096, 1835719808, 1091319936, 1075897728, 1536394496, 2138730496, 1482882176, 1915597696, 1833107712, 1802040192, 2136994688, 1153375104, 2015461760, 1766753408, 1785494400, 1217707904, 2098736768, 1407131648, 2097745024, 1622358272, 2058674304, 2045975168, 1187055488, 1887804160, 1553554304, 1784056704, 1162913408, 1109385216, 1740086656, 2055141120, 1672015232, 1609481216, 1901280256, 1968413696, 1946311296, 1954211584, 1867469824, 2081335680, 1869886976, 1337855232, 1968950528, 2064161536, 2102059520, 1760388608, 1723515136, 1865279872, 1782503424, 1779189376, 1109771776, 1948092416, 1166231680, 2107773440, 1112117376, 1578660224, 1739857792, 1954945664, 1213796224, 2021467520, 1821559296, 1151669248, 1778296064, 1862718720, 1909549952, 1127608832, 1634440960, 1149298304, 1366280576, 2145984128, 2030513408, 2044098688, 1794797952, 2139022848, 1267852928, 2086766976, 2060013568, 1723385344, 1936505472, 1756785152, 1104053120, 1673811712, 2034779904, 2067438336, 1942181248, 1850930048, 1821126272, 1835541632, 2137813760, 1753122688, 1954572288, 1831540480, 1192981632, 1139322624, 1191675136, 1192818432, 1622030848, 1890776576, 1914950400, 1744686592, 1817074432, 1658967040, 2010164480, 1337007360, 1375507072, 1238451712, 1711374464, 1837368064, 1764201600, 1687684864, 1156752896, 2075103104, 1601953664, 1110455168, 1310109952, 1190971776, 2035379328, 1761095424, 1875280000, 1845385088, 1936318976, 1886093056, 1809835648, 1113409024, 1731985920, 1074014848, 1867260800, 1998428800, 1971820032, 1754327168, 1402393344, 1653463552, 1171215872, 1156916608, 1600118400, 1343557376, 1768083584, 1821243520, 2136103040, 1825294720, 1697975424, 1097702400, 1733318144, 1969814016, 1561000448, 1248245120, 1645949696, 1847047808, 1104156800, 1828459520, 1095354752, 1570656896, 1498200576, 1194559744, 1671649536, 1284120192, 2064623616, 2110432640, 2036397824, 1724636032, 1095761536, 1181134848, 1303759872, 1262615296, 1664080896, 1925983360, 1096841088, 1089531392, 1123819904, 1079033728, 1093764352, 1899342976, 1859974272, 1777559936, 1075782144, 1864660608, 1884447872, 1099792512, 1742214272, 2103730944, 1972533504, 1990666624, 1912203136, 1849961600, 1873644288, 1649907072, 1929705344, 1320520704, 1828112512, 1186080000, 1091484800, 1097940608, 2109197056, 1903922944, 1637555840, 2077922176, 2129771520, 1739488256, 1941285888, 1796204800, 1682554112, 1093990912, 1213280256, 1153251584, 1899164160, 2019288832, 1780414848, 1805010432, 1580860160, 1838440704, 1312154624, 2144304384, 1779411584, 1758019200, 2011316096, 2139275904, 2076393600, 2021238784, 1851929600, 1683646848, 1390761984, 1166771200, 1807097216, 1104027136, 1136900736, 1787710848, 2072723072, 1761428864, 1532920320, 1858161152, 1703393792, 1862615296, 2047712640, 1827010688, 1828628736, 1856474240, 1973412096, 1964262016, 1835888384, 1157781504, 1745676288, 1349673984, 1519270528, 1943224192, 1878689792, 2048066944, 2001758976, 1937963648, 1076832000, 1920972928, 2021264128, 1085036672, 1672184320, 2057276160, 1116962048, 1973413376, 1869006720, 1074300544, 1858142848, 1664311680, 1156770688, 1345903104, 2016989952, 1160820096, 1231903616, 1969407616, 1671320704, 1655647744, 1955499648, 1945082624, 1944479488, 2140933248, 1866672768, 2123912704, 1187692544, 1932616576, 1169026048, 1847720960, 1995742336, 1921176192, 1694391424, 1902578944, 1793392512, 2044785152, 1974486400, 1739190400, 1713709568, 1118197632, 1089199744, 1892853760, 2015128704, 1550841856, 1121949568, 1728836736, 1732501248, 1715880832, 1777514880, 1136494592, 1781330560, 1082029184, 1333466880, 1876378112, 2097260800, 2025606144, 1917475840, 1085459200, 1704769408, 2036283008, 1784481920, 1818161024, 2049783168, 1785805184, 1858105984, 1807288960, 1077518592, 1799332608, 1573064960, 2083940608, 1693306752, 1819821056, 1766421888, 2144708096, 2082429568, 1591920896, 2143369984, 1623022464, 1710962048, 1922205696, 1929335424, 1160967808, 1767938432, 1719445376, 2016765568, 2090989568, 1117908992, 1628234752, 1881907456, 1929106944, 1608475392, 1904247936, 1949985280, 1764564736, 1851714304, 2135529088, 1782311296, 1102497792, 2013557120, 1815764096, 1103465856, 1576317312, 2067719936, 1947446912, 1079496192, 1696862592, 1788293632, 1094520448, 1878140544, 1832615680, 1345557120, 2025589248, 1099810048, 2141243520, 1792780160, 1123514368, 1713096576, 1922720512, 1331428096, 1203818752, 1224044544, 2015168000, 1917511680, 2091895552, 1709867776, 1720298752, 1936251136, 1925473920, 2028239104, 1844487424, 1943620480, 1711110784, 1733740544, 1711329024, 1172885248, 1989557760, 1139682432, 1954030592, 1820889728, 1569301632, 1837188736, 1972787712, 1542134528, 1749928192, 1100221440, 2064248832, 1252684160, 1673912320, 1723318144, 2066940544, 1940234624, 1737657344, 1958838272, 1100313472, 1939338368, 1371877888, 1497969920, 1759955328, 1731540352, 1939379840, 1760752896, 2042784640, 1233057792, 1907762432, 1296672256, 1872249088, 1870192256, 1274760576, 1203013120, 2107106176, 1885081088, 1706166144, 1077092224, 1690419584, 1185986304, 1880413056, 1959720192, 1857702144, 2007185152, 1909933952, 1081081856, 1899621888, 1778772736, 2035992704, 1143352064, 1761913216, 1976878976, 1755678464, 1996970240, 1956261376, 1658386816, 1729231872, 1774063488, 1986227328, 2036664192, 1635985536, 1751822848, 1835839616, 2147309568, 1836876672, 2107136128, 2066312448, 1722779136, 1914477952, 1982114944, 2133969664, 1191035776, 2007846016, 1791706880, 1100746880, 1912402304, 1871063040, 1950263680, 1876346880, 1882662912, 1941057536, 1458586368, 1105932928, 1958796032, 2122100736, 1435650688, 1738043392, 1965872256, 1607494528, 1130498560, 1473548160, 2067803008, 1749076736, 1118769664, 1104684928, 1897821568, 1924997888, 1893029504, 1817701376, 1973581440, 1610424320, 1702543360, 1780719744, 1809057408, 2069056896, 2111698048, 1282285056, 2017648768, 1946722048, 1713537152, 1097576960, 1192519808, 2128757632, 2107498368, 1925325952, 1816209920, 1336839424, 2086036224}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-209, 48, -441, -577, 59, 88, -66, 114, -224, -219, -397, -378, -234, -206, -173, -272, -182, -188, -56, -226, 69, 411, 90, -45, 57, -141, 91, -389, 68, -39, 128, 77, 215, -244, -44, -584, 70, -354, 128, -7, -200, -78, -35, -134, 276, 193, 38, 10, -255, -47, 121, -250, 251, 477, -26, -25, 37, -200, 205, 255, 74, 434, -58, 437, 205, 205, -276, -275, -40, 6, -334, 154, 69, 89, -200, 541, 183, 175, 350, 247, -494, -249, -126, -918, -457, -50, -319, 193, -57, 256, -229, -89, -12, -80, -80, -476, 55, -300, -724, -608, -266, -513, 28, 209, 104, -161, 109, -300, -256, -556, -254, 581, 62, -67, 97, -713, -135, 13, 83, -45, -182, -134, -54, -502, -22, -115, -118, -235, -375, -203, -305, -255, -189, 46, -538, -653, -422, -450, -323, -459, -497, -289, -595, -395, -263, -322, 159, -586, -388, -235, 40, 366, -527, 284, 21, 265, 198, -228, -285, -168, 181, 514, 721, 153, 129, -152, -134, -544, -14, 73, 166, 583, 121, -26, 303, -432, -103, -124, 508, 208, 47, -121, 243, -252, 161, 389, 103, 47, -151, -42, -99, 220, 42, -142, -50, 682, 288, 37, -220, 280, -500, -198, 248, 281, 405, 64, -382, 36, 8, 478, -284, 189, -60, -82, 299, 4, 10, 427, 135, 95, -240, -283, 123, 762, -332, 246, 6, -137, -363, 263, 37, -254, 128, 186, 312, -133, 207, 580, 308, 757, 208, -230, 148, 12, 167, 351, -29, 255, -139, -232, -16, 134, 91, -9, 438, -311, 165, 219, -55, 87, 421, -16, -122, 148, 261, 180, 80, -177, -422, -53, 140, -164, 64, -146, -394, -354, -195, -221, -246, 72, -231, 475, -198, -91, 292, 240, 210, -71, -194, -73, -148, -266, -57, -340, -125, -6, -42, -64, 62, 161, -357, -304, -266, -99, -385, 295, 219, -325, -294, -257, -149, -158, 62, 415, 556, 242, -130, -240, -82, -399, -351, -558, -815, -618, -380, -656, -488, 24, -110, -164, -105, -142, 39, 104, -268, -249, 278, -393, -117, -109, -146, -123, -374, -392, -381, 90, 244, -132, 89, -132, 184, -281, -370, -226, 92, -34, 27, -124, 54, 395, 29, 194, 119, -39, 112, -109, 8, 350, -187, 110, -142, -277, 17, 216, -7, -78, -126, -184, 84, 87, -184, 33, 51, 222, -563, -164, -275, -88, -246, -88, -160, 189, -597, -442, -153, -150, -492, -98, -206, 391, -155, 382, 7, -64, -766, 101, -183, -169, -691, -307, -25, -254, 327, 287, 191, -130, 352, -288, 251, 441, 33, 347, -61, 439, 228, -15, -401, -234, 174, 67, 18, -298, 108, 137, -92, -23, 83, -188, -48, -62, 135, 99, -57, -117, -28, 598, 411, 289, 657, -11, 126, 308, 100, 202, -12, 152, 498, 522, -490, 423, -185, 393, 174, 156, 537, 226, -28, -374, 257, 13, 472, -114, -244, 202, -401, 268, -440, 196, 19, -81, 445, 109, -56, -341, -606, 102, 31, 155, -84, 47, -416, 190, 485, -174, -82, -344, 320, -666, 97, 95, -44, 152, -61, 94, 253, 174, 125, -76, -93, -358, -396, -83, 92, 62, 17, 285, -23, -351, -70, 203, -299, 18, 57, 471, 33, -174, 98, 184, -276, 312, 410, -191, 36, 74, 203, -8, -281, 41, -236, 625, -349, -64, 278, 198, 64, 55, -46, -580, -330, 216, 292, 216, 420, 138, -287, -304, -94, 122, 46, 77, -4, -27, -145, 459, -302, -255, -117, 160, 100, -36, 112, -47, 68, 17, 277, 48, 62, 64, 158, 281, -8, -167, 32, 297, 415, 62, -335, 410, -18, 323, -88, -180, 98, 295, 45, -475, 289, 436, -205, 150, 507, 113, 44, 199, 16, 95, 256, 55, 561, -51, 335, -135, -16, -46, 29, 150, 375, 359, 355, -119, 338, 170, 302, 897, 101, -130, 501, 211, -235, 324, 260, 87, 380, 374, 81, -7, 333, -32, 14, -536, -482, -94, 107, 245, 367, -342, 257, -270, 96, -28, 547, -160, 10, 155, 113, 699, 119, 34, 174, 223, 119, -322, 292, -124, 313, 273, 319, -35, -468, -177, 47, 351, -5, 416, 263, -169, -61, 526, 274, 153, 3, 182, 55, 386, 252, -195, 212, -237, -564, -324, -184, -86, 546, -416, -137, 308, 337, -55, -114, -32, 250, 12, -4, 419, 492, -252, 124, 16, -349, -319, -183, 279, -41, 185, 162, -81, 624, -295, 343, 420, 22, -318, 154, -46, -403, -86, 324, -129, 47, -169, -87, 431, 80, 33, -425, 23, -75, 183, 310, 201, 173, -55, -26, 244, 62, 165, 50, 318, 80, 395, -41, 237, 295, 40, -373, -281, 107, -320, 447, -61, 268, 228, -74, 362, 178, 27, -126, 24, -4, 396, 181, -68, -86, 222, 343, -121, 112, 665, -193, -207, -430, -337, 56, 271, 242, 469, -11, -31, 216, -365, -379, 417, 50, -60, -97, 68, 37, 237, -140, 245, -445, -244, -244, -272, -64, 82, -250, -68, 119, 19, -380, -300, 9, 289, -460, -170, 391, -159, 6, 340, -290, -268, 281, 554, 284, 35, -113, -114, 382, -206, 169, 69, -308, -145, 675, -229, 340, 451, 394, -106, 54, 157, 308, 299, 404, 323, -228, -156, 164, 28, 520, 67, 66, 34, -286, 272, -547, -114, 237, 168, -170, 419, 139, -60, -356, -81, -115, -269, 257, -8, 169, -682, 238, -305, -575, -30, 146, -68, -312, 539, 729, 85, 303, 57, 17, 842, -359, -251, -11, 234, -26, -101, 347, 338, -163, -122, 185, 138, 317, -49, -218, 7, 139, 404, 333, 325, 92, 137, -326, 99, 279, 352, -251, -101, -340, -185, -140, -12, -15, 559, 266, -8, -213, -11, -405, -113, -515, -265, -25, 334, 136, 122, 58, -437, -13, -349, 46, -394, -283, -232, -101, -173, -228, -232, -376, -190, -427, -379, -115, -49, -89, -169, -352, -239, -65, -69, -242, -337, 29, -630, 241, -25, -250, -346, -398, 126, 413, 224, 100, 98, -162, 247, 95, -192, -212, 293, 21, 432, 39, -402, 271, 105, 509, -392, -183, 135, -324, -96, -216, -178, 88, -434, -371, -778, -191, -245, -130, -297, -32, 252} +#define FC28_W_Z (10) +#define FC28_IN_Z (0) + + +#endif /*__160_0_75_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/160_1_0_parameters.h b/Inc/intq-mobilenet-v1-models-pc/160_1_0_parameters.h new file mode 100644 index 0000000..bd5e3a4 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/160_1_0_parameters.h @@ -0,0 +1,361 @@ +#ifndef __160_1_0_PARAMETERS_H__ +#define __160_1_0_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (160) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (32) +#define CONV1_OUT_DIM (80) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (80) +#define CONV2_IM_CH (32) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (32) +#define CONV2_OUT_DIM (80) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (80) +#define CONV3_IM_CH (32) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (64) +#define CONV3_OUT_DIM (80) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (80) +#define CONV4_IM_CH (64) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (64) +#define CONV4_OUT_DIM (40) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (40) +#define CONV5_IM_CH (64) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (128) +#define CONV5_OUT_DIM (40) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (40) +#define CONV6_IM_CH (128) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (128) +#define CONV6_OUT_DIM (40) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (40) +#define CONV7_IM_CH (128) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (128) +#define CONV7_OUT_DIM (40) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (40) +#define CONV8_IM_CH (128) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (128) +#define CONV8_OUT_DIM (20) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (20) +#define CONV9_IM_CH (128) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (256) +#define CONV9_OUT_DIM (20) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (20) +#define CONV10_IM_CH (256) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (256) +#define CONV10_OUT_DIM (20) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (20) +#define CONV11_IM_CH (256) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (256) +#define CONV11_OUT_DIM (20) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (20) +#define CONV12_IM_CH (256) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (256) +#define CONV12_OUT_DIM (10) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (10) +#define CONV13_IM_CH (256) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (512) +#define CONV13_OUT_DIM (10) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (10) +#define CONV14_IM_CH (512) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (512) +#define CONV14_OUT_DIM (10) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (10) +#define CONV15_IM_CH (512) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (512) +#define CONV15_OUT_DIM (10) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (10) +#define CONV16_IM_CH (512) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (512) +#define CONV16_OUT_DIM (10) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (10) +#define CONV17_IM_CH (512) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (512) +#define CONV17_OUT_DIM (10) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (10) +#define CONV18_IM_CH (512) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (512) +#define CONV18_OUT_DIM (10) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (10) +#define CONV19_IM_CH (512) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (512) +#define CONV19_OUT_DIM (10) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (10) +#define CONV20_IM_CH (512) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (512) +#define CONV20_OUT_DIM (10) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (10) +#define CONV21_IM_CH (512) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (512) +#define CONV21_OUT_DIM (10) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (10) +#define CONV22_IM_CH (512) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (512) +#define CONV22_OUT_DIM (10) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (10) +#define CONV23_IM_CH (512) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (512) +#define CONV23_OUT_DIM (10) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (10) +#define CONV24_IM_CH (512) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (512) +#define CONV24_OUT_DIM (5) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (5) +#define CONV25_IM_CH (512) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (1024) +#define CONV25_OUT_DIM (5) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (5) +#define CONV26_IM_CH (1024) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (1024) +#define CONV26_OUT_DIM (5) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (5) +#define CONV27_IM_CH (1024) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (1024) +#define CONV27_OUT_DIM (5) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (1024) +#define FC28_OUT_CH (1000) + + +#endif /*__160_1_0_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/160_1_0_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/160_1_0_weights_bias.h new file mode 100644 index 0000000..ca947ad --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/160_1_0_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __160_1_0_WEIGHTS_BIAS_H__ +#define __160_1_0_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {-17677128, -27131, 80686, 550215, 152361, 344, 107223, 65154, 3519, 21457, 12890, 15013, 77530, -130495, -8571519, -5346668, 37304, -5049826, 68037, -60369040, 15681, 13687, 6582, -179221, 36693, -19270, 42398, -130299, 10266, 24863, 222929, 196365} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-159, -179, -96, -110, -178, -143, -161, -154, -157, -116, -154, -152, -216, -210, -203, -227, -148, -170, -143, -191, -154, -124, -134, 11, -101, -163, -95, -194, -119, -89, -232, -35}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1681986944, 1989816832, 1515256320, 1599158016, 1131993600, 2014979072, 1198360704, 1142269184, 1240554880, 1942547840, 1604571648, 1313134976, 1829695104, 1849705856, 1677201792, 1404464000, 1162539136, 1335633664, 1513504640, 1083593216, 1275159936, 2099229824, 1253294336, 1663036544, 1517514240, 1145520128, 1748852992, 1774059136, 1456762752, 2014115456, 1556841984, 1362983424}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {-223, 2147, 647, 146508, 31001, 87364, 48598, 5559, -1455, 32508, 18849, -16928, 4639, 22249, 725, -272, -795, -1070, 27394, -762, 144, 11934, -1183, -185, 1385, -10969, 32628, 2945, 2241, 6513, 3966, 917} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-4, -199, -120, -214, -211, -270, -210, -105, -55, -197, -168, -28, -96, -187, -184, -272, -89, -105, -252, 12, -98, -130, -64, -218, -94, -161, -134, -100, -65, -152, -126, -129}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1110680192, 1198248704, 1168527360, 1500301184, 2118222720, 1786851968, 1206596480, 1431960064, 1869970304, 1966378368, 1712943104, 1525606400, 2102253056, 1616915200, 1757478272, 1974684928, 1171309824, 1221034240, 1173949440, 1808748032, 2095288320, 1076887040, 1283932928, 1356058752, 1303040768, 1908848384, 2037083392, 1695728128, 1908938368, 1365298304, 1952174080, 1114593920}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {10702, -35514, 17349, 15131, -18530, -16668, 8289, 33557, 5488, 6822, 12543, -5740870, -21269, 46432, 22146, -2694, -10014, 71207, -44836616, 12292, 33632, 44770, -19902, -13497, -7331, 5542, 25110, 8163, -21469, 24090, 29069, -23923, 16944, -7620, -56031, 23790, 125209, -4058, 20039, 50965, 21484, 11267, 4289, -509, 3751, 22866, -21712, -513, -29682, 5473, 16194, -53797, 25440, 60049, -8684, 573, -5707151, -5422, 27756, -15633, 36174, -4499, -4861, 20292} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-69, -90, -173, -220, -120, -36, -83, -207, -109, -198, -205, -137, -37, -208, -168, -83, -37, -204, -74, -213, -175, -113, -136, -60, -134, -70, -229, -164, -99, -165, -137, -114, -154, -87, -75, -153, -177, -97, -155, -207, -143, -179, -79, -100, -123, -114, -38, -192, -37, -85, -69, -47, -191, -214, -128, -160, -97, -137, -124, -23, -230, -61, -101, -101}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1863088128, 1742658560, 1118960256, 1182573056, 1258721664, 1787979264, 2018537856, 1712391680, 1954944256, 1472209280, 1713848448, 1251701760, 1119568640, 1994487296, 1855820800, 1342090752, 1375549440, 2101944192, 1176444800, 1810611968, 2118908288, 1648470400, 1653902080, 1259092096, 1907016192, 1414953856, 1123459328, 1501014400, 1146005504, 1688119808, 1899752448, 2131805824, 1143114496, 2037362176, 2025550208, 1643252736, 1257247872, 1738905600, 1322466304, 2079033216, 1077298688, 1625671168, 1169831296, 1717834880, 1830522624, 1765368704, 1494436352, 1396710400, 1348153088, 1221950336, 1959391616, 1409697152, 1801928448, 1169494528, 2026484736, 1688606848, 1452559744, 1893205632, 1973502720, 1281602560, 1415307776, 1804065408, 1279483264, 1826167680}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {106, 338, 157, 119, -195, -5, 106, 3663, 4694, 8961, 655, -18, -215, 13, 96, 5168, 3806, 620, -28, 121, -2, -16, 6504, 1230, 1258, 222, 493, 8, 249, 193, -1120, 5742, 2929, 72, 2193, 3361, -35, 4013, 7061, 3408, 38, 53, 507, 658, 231, -281, 59, 2674, 501, -12, 6800, 239, 576, 751, 342, -653, -28, 270, 247, 7621, 1689, 43, 2437, 845} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-112, 60, 33, -56, -124, -93, -138, -244, -265, -307, 12, -58, -59, -36, -98, -295, -271, 19, -14, -86, -161, -138, -327, -93, -76, 34, 38, -94, 32, -131, 2, -302, -310, -110, -271, -185, -88, -252, -218, -324, -149, -129, -60, -112, 45, -123, -69, -146, 95, -82, -287, 39, -27, -158, 61, -97, 120, 29, -107, -233, -280, -94, -299, -190}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1183007744, 1541731328, 1426090624, 1421280384, 1231584256, 1506988032, 1429191936, 1843311744, 1116033920, 1705341056, 1276204416, 1075826944, 1106725376, 1175559424, 1390109568, 2116133888, 1415508864, 1114926848, 1572256256, 1285263232, 1573219456, 1382180736, 1302886784, 1462366464, 1548429312, 1456695424, 1481009664, 1553364608, 1109659392, 1262794624, 1360755456, 1430418304, 1734322432, 1083196160, 1318457728, 1581997184, 1214862976, 1486664192, 1668389248, 1393141376, 1340177152, 1609916672, 1767287552, 1107482112, 1282508800, 1373021952, 1564794240, 2136690688, 1907541888, 2073321344, 1199353088, 1109497856, 2051463936, 1993813888, 1274804864, 1125591168, 1427535104, 1146457984, 1233639040, 2029972224, 1680918656, 1567405568, 2042791680, 1262297600}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {-34055, -10488, 65681, -34860, -56532, 5205, 102153, 10570, 19732, 22294, 15237, 92851, -392, 14851, -2400, 26674, 34919, 17023, 27116, 31034, 31055, 43451, -41006, -17992, 34195, 43476, 44286, 717, 11064, 21748, 13463, -17556, 6487, -52295, 24037, 44055, -32293, 12510, 47856, -9077, 23853, 50751, -9053, 72159, 63360, 1034, 13064, 29416, 32061, -33669, 21208, 27008, 37941, 53086, -9518, 19086, 29105, 1951, 4345, 51668, 3195, 38408, 25385, 33375, 75445, -3628, 75279, 38789, 17713, 4670, 2216, -9103, 25094, -1095, -1417, 9660, 17630, 21799, 13511, 37625, -51497, 532, -11193, -798, -2257, -3080, 229978, 4762, 24526, 158367, 10169, -30475, 34271, 60277, 2738, 21744, 42896, 2761, -13426, -17881, -33807, 36580, 41189, 11485, 24108, 22462, 8230, 74967, 22129, 103400, 14269, 32962, 13599, 5200, 29868, 22862, 442, -10548, 27019, 13549, 7225, 6019, -16556, 27494, 14799, 31869, 11663, -2418} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-117, -134, -136, -87, -69, -154, -159, -147, -190, -113, -89, -179, -139, -146, -114, -117, -151, -158, -136, -121, -96, -119, -151, -101, -184, -94, -76, -158, -90, -187, -78, -109, -132, -144, -181, -102, -93, -149, -119, -146, -77, -170, -92, -150, -121, -196, -92, -115, -69, -90, -135, -96, -167, -145, -106, -120, -124, -97, -112, -135, -148, -150, -106, -222, -121, -82, -165, -141, -118, -148, -66, -55, -112, -100, -199, -163, -131, -161, -137, -155, -115, -142, -94, -102, -88, -170, -157, -72, -81, -178, -137, -100, -126, -119, -158, -141, -113, -217, -141, -126, -115, -150, -162, -102, -189, -161, -141, -110, -113, -130, -146, -141, -119, -151, -137, -119, -109, -163, -167, -130, -145, -121, -141, -146, -133, -117, -29, -166}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1325959680, 1453894912, 1120169088, 1115621632, 1433843712, 1994583808, 1961003648, 1630493952, 1194087168, 1702086784, 2091625984, 1621710080, 1329625472, 1455657216, 1148810496, 1503492224, 1914424448, 1637007616, 1248387584, 1115514112, 1410450432, 1448418944, 1710641920, 1167047296, 1153718016, 1403480064, 1401779328, 1279016448, 1139249792, 1468923264, 1436623360, 1445217664, 1194501632, 1673171840, 1740948096, 1640697600, 1290546304, 1285786880, 1509520128, 2046884352, 1766485248, 1607368064, 1919426176, 1509672320, 1442657664, 1488485760, 1544609536, 1810925952, 1833061248, 1444971904, 1579699968, 1360646656, 1873005824, 2143520640, 2135649280, 1482977536, 1459451648, 1536987008, 1231727360, 1632574208, 2019956352, 1081296512, 1151692160, 1496839424, 1674444416, 1480799232, 1514165120, 1549544192, 1818989440, 1521592320, 1134530176, 1688918400, 2031378176, 1743978368, 1640068224, 1475470592, 1222626560, 1290158976, 1844763520, 1834388224, 1096836992, 2011487360, 1372012672, 1772831104, 2111005824, 1878023424, 1176535808, 1121121024, 2042494848, 1897050496, 1103835264, 1493978112, 1286528896, 1530908160, 1725300224, 1435933440, 1383936128, 1454241152, 2001542144, 1630437888, 1537393536, 1437776128, 1777902336, 1710871808, 2108943488, 2066782976, 1389478016, 1160204800, 1701364224, 1260652800, 1483586048, 1998247936, 1575568384, 1518919680, 2108869248, 1198778752, 1473719552, 1281933568, 1763974016, 1596461440, 1826442240, 1397949440, 1108937472, 1543250688, 1441014656, 1376383360, 1866389888, 1594332800}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {27768, -788, 10975, 25506, 376, 15329, 16291, -1171, 1429, 727, 489, -341, 242, -78, -1033, 67, 40664, 29625, -4736, 2047, 955, 333, 1432, -3449, -5708, 38509, 3999, 6293, -73, 25904, 239, 28454, 15997, 5436, 7376, 6633, 9570, -6333, 1934, -3015, 3854, 5254, 13122, 289, 1464, 31113, 17698, 13037, 9392, 82745, 14032, 1990, 26139, 26208, 20359, 23673, -1056, -378, 5240, -2526, 35987, -115, 272, 10721, 41476, 36119, 3012, -142, 67, -2438, 4664, -578, 3319, 11211, -3026, 1327, -765, 33031, -818, -1400, 139, 318, -2558, 19565, 2028, 3192, 105638, 63821, 7983, 4313, -12077, -1877, 74, 2642, -824, -8196, 13300, -15204, -736, 10540, 20623, -915, 24198, 816, -33321, 12740, 15185, 9008, -79, 18389, 41337, 4716, 62966, 2381, -2361, 10972, 3780, -5192, -2644, -598, 36866, 2860, 2101, 1437, 5569, 4242, 13277, 55231} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-219, -143, -118, -195, -163, -169, -217, -117, -122, -142, -132, -31, -112, -76, -79, -128, -203, -194, -26, -142, -132, -136, -188, -39, -31, -207, -81, -104, -90, -125, -82, -233, -53, -187, -169, -158, -105, -19, -130, -33, -48, -60, -55, -99, -144, -191, -112, -71, -92, -217, -172, -110, -203, -241, -213, -140, -127, -77, -104, -121, -227, -92, -120, -114, -228, -165, -118, -68, -117, -74, -94, -79, -79, -62, -53, -109, -30, -223, -131, -25, -62, -137, -38, -146, -93, -159, -263, -232, -115, -100, -26, -50, -152, -126, -51, -31, -60, -29, -38, -43, -214, -89, -153, -98, -22, -200, -180, -217, -108, -206, -204, -181, -230, -112, -96, -107, -128, -70, -97, -120, -210, -160, -95, -131, -107, -171, -206, -214}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1891354752, 1089628032, 1155629056, 2029335296, 1335241088, 1194312960, 1454242944, 1252571392, 1106765312, 1722356608, 2043029760, 1178979328, 1976674176, 1578328064, 1230568832, 1866364544, 1228206080, 1098709120, 1395166208, 1626814208, 1447369856, 1509691520, 1395694336, 2093734912, 1182804352, 1607350272, 1671884416, 1942610304, 1290955392, 1595035264, 1170010880, 1991503488, 1667717376, 1646089600, 1287593216, 1354931072, 1633241472, 1146222208, 1082889088, 1292992384, 1172446976, 1325170304, 1520158976, 2116436096, 1141688704, 1549706112, 1966288000, 2088224768, 1691620992, 1097617536, 1153128192, 1245850112, 1826220672, 2030350848, 1500974976, 1760236928, 2140332416, 1137065344, 1524807168, 2133956480, 1995046528, 1158364288, 1303714688, 1358856064, 1796936192, 1695889536, 1418207232, 1325576704, 1706571776, 2027082880, 1144695424, 1811127296, 2068834048, 1441150720, 1263796352, 1377704320, 1478028544, 1405238784, 1724405760, 1501162880, 1190657792, 1581395200, 1900431872, 2022739584, 1900192256, 1886553984, 1687778176, 1622951296, 1489988352, 1110228864, 1138941568, 2117992192, 1223201792, 1222423168, 1366118528, 1439414272, 1163439872, 1842889216, 2030845184, 1300262784, 1249432832, 1431978112, 1139544576, 1304550272, 1552328064, 1690341504, 1087778048, 1952889728, 1753987584, 2122676992, 1347387392, 1278098176, 1350287360, 1589168384, 1637403520, 1476436096, 1120957440, 1711283456, 1566591232, 1089904896, 1987987328, 2044921216, 1580038656, 1116173184, 1579139328, 1710864128, 1809317376, 1608805120}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {3741, -7992, 117, -50504, -12465, -5062, -76295, -18154, -13363, -5162, -12837, 11182, 40722, -17590, -16977, -11010, 751, -13957, 40599, -18782, 44790, -3158, 47475, -2428, 51941, -33549, -25165, 7187, 30906, 498, 19579, -8939, 490, 41488, -2670, -9117, -769, 3311, 12551, -11570, 14165, 20396, -34426, 49484, -24527, -43820, -13312, -5538, -27298, -16445, -3175, -20362, 43031, -26312, 21589, 27029, -17345, 35355, 63640, 23879, -45440, -39378, -6302, 31593, 27987, -73607, -60534, -23324, -10711, 16220, 13255, -12084, 28255, 4086, -28745, 19588, 4714, -29596, 30660, 21124, -17422, 142824, -19255, -2338, -40118, -3257, 14490, 60386, -20129, -31994, -13432, -973, 51282, -4612, -4489, -23925, 57504, -3335, 44018, -21807, 44364, 24458, 67022, 52885, 9713, -53302, 29293, 2242, 21809, 17284, -32849, -23501, 30483, -16348, -35484, 7333, 14159, -23407, 12676, 8035, 18684, 3597, -28226, 39908, -9505, -41626, 7021, 15430} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-169, -151, -125, -105, -135, -128, -100, -111, -102, -52, -170, -143, -161, -137, -101, -174, -145, -121, -189, -125, -160, -80, -158, -111, -142, -111, -120, -151, -133, -128, -71, -112, -163, -140, -121, -72, -157, -150, -125, -124, -135, -121, -102, -109, -155, -143, -123, -138, -109, -96, -31, -111, -152, -132, -106, -135, -147, -86, -127, -123, -120, -135, -125, -116, -111, -121, -117, -136, -127, -67, -137, -117, -143, -149, -42, -197, -135, -121, -130, -184, -141, -127, -118, -87, -105, -119, -137, -129, -101, -131, -139, -77, -166, -109, -119, -104, -155, -45, -155, -109, -96, -135, -125, -106, -124, -100, -161, -112, -90, -123, -102, -144, -90, -106, -106, -115, -109, -152, -85, -104, -155, -172, -88, -113, -123, -114, -119, -167}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1136075648, 1826507776, 1974070912, 1149285120, 1421162240, 1363553152, 1969609472, 1688573568, 1452215040, 1492529280, 1270228480, 1554710784, 1471197824, 1975947904, 1235052672, 1492604160, 1122612480, 1257882880, 1234879616, 1925132160, 2001785472, 2076114688, 1777132928, 1740277632, 1598038272, 1661597440, 1380334592, 1934346624, 1322603264, 1157158272, 1794918912, 1515029760, 1700057344, 1202619136, 1924126336, 1710038784, 1199238656, 2044218496, 1119388160, 1463817600, 1200098944, 1889996544, 1693766912, 1156612224, 1149307392, 1381966720, 1847736832, 1458941184, 1125710080, 1787811456, 1322385024, 2101676928, 1425385088, 1889155200, 1162396928, 1782669952, 1350707712, 1592775168, 2077617024, 1992134784, 1178180352, 1471649536, 1434093824, 1120476544, 1945241984, 1802445056, 2079851520, 1138454912, 1868782848, 1477567232, 1274632320, 1529316992, 1377306496, 1389570560, 1797858432, 1942189184, 1607897856, 2092598272, 2064909824, 1542676096, 1946805632, 1592469248, 1117943680, 1605525888, 1152081920, 1203371136, 1241757568, 1786765568, 1076530944, 2142570368, 1124407808, 1433163392, 1869200640, 1663031168, 1187034880, 1181502592, 1181212672, 1387119872, 1280948224, 1747566208, 1584640768, 2031472640, 1111390976, 1294745344, 1578682496, 1415435264, 1231320320, 1342248704, 1816597504, 1464675584, 1955783040, 1497251456, 1445261568, 1993193728, 1360801280, 1615270016, 1250965760, 1149805312, 1465055104, 2050317568, 1393550208, 1710072704, 1266316672, 2133064576, 1272262272, 2055597056, 1318486016, 2000132736}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {55715, -1332, 121090, 3379, 53255, 66946, 147987, -2618, 23566, 195366, -2369, 4086, 83672, 512, 72402, 163158, 109, 11362, -732, 105882, 115109, 44319, 162846, 111047, 5107, 5306, -33, 3800, 96030, 46172, 88522, 334, 52634, 231, 204751, 16074, 82832, 6834, 150644, 1392, 308, 40917, 126603, 19964, -952, 135258, 144579, -9422, 91831, 38229, 48512, 1388, -3330, 13280, 221633, 474, 117962, 85946, 81186, -1057, 127468, -23079, 74390, -7008, 7409, 2088, 3502, -652, -4359, 69238, -516, -128, 87239, 83003, 1715, -5202, 68303, -2303, -5498, 2123, 10199, 60608, 3955, 124570, -628, 4320, 3976, 71647, 1018, 4177, 147573, 54610, 1090, 57953, 69342, 12402, 167689, 69019, -24603, -291, 50623, 9838, 54432, 18871, 81547, 467, 1807, 225153, 55178, 92968, 4251, 167199, 157646, 164967, -654, 7154, 100741, 73799, 35771, 39474, 40826, 38860, 413, -5987, 1266, 797, 156199, 89609} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-313, 50, -279, 211, -323, 72, -325, 80, -315, -315, 81, 56, -367, 109, -106, -310, 53, 24, 59, -351, -279, -317, -317, -451, -169, 70, -169, 53, -343, -114, -271, 63, -141, -113, -351, -273, -321, 46, -229, 9, -70, -315, -348, -159, -21, -320, -325, 42, -367, -296, -292, 70, 44, 70, -305, 63, -284, -343, -329, 103, -305, 87, -364, 57, -109, 70, 99, -110, 56, -306, 82, -170, -405, -351, 67, 83, -366, 74, -145, 70, 73, -187, 75, -308, 16, 41, 52, -304, 73, 74, -341, -294, 53, -316, -342, 68, -316, -350, 49, 62, -190, 67, -156, -187, -392, 52, 59, -320, -246, -326, 83, -335, -286, -346, 51, 67, -363, -350, -324, -358, -331, -399, 66, 70, 48, 51, -321, -368}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1115420288, 1097136640, 1585500672, 1308324480, 1723826176, 1269723392, 1489771008, 1557131392, 1852029568, 1455814272, 1489064320, 1163191680, 1349342976, 1947998720, 1928711168, 1777351296, 1155552384, 1624121472, 1625357312, 1183050496, 1279308288, 1317059840, 1553889536, 1785325056, 1778659456, 1704947584, 1305465728, 1745218944, 2075699072, 1995022848, 1619959168, 1497425408, 1435291520, 1275659136, 1097947008, 1645140224, 1433079168, 1466772096, 1484196608, 2090582528, 1403488512, 1177215616, 2001428096, 1298101376, 2031698304, 1513617920, 1561158528, 1078246144, 2115977728, 1199396480, 1577012736, 1273717760, 1447107712, 1834160896, 1535315328, 1874492416, 1920745984, 1153602944, 1683646464, 1671448960, 1571310464, 1169176576, 1608231808, 1343679232, 1360499456, 2061330048, 1973916928, 1092467456, 1417120640, 1572798080, 1537238912, 1698713728, 1162001664, 1339932544, 1555085440, 1367828224, 1493962240, 1506096000, 1509844096, 1303572224, 1463140608, 1075050368, 2118971776, 1659037952, 1920765440, 1537233792, 2096117504, 1690633216, 1567865216, 1219157632, 1290954496, 1983570176, 1579132416, 1818471424, 1530033920, 1260638720, 1414922752, 1958496256, 1632159104, 1603294080, 1774652672, 1916971776, 1578748160, 2040444416, 1235456384, 1111192448, 1882833152, 1646138880, 1970210688, 1237843072, 1718433152, 1804365824, 1953780480, 1133671040, 1165886848, 1398978688, 1201912704, 1299532416, 1433723392, 1264946304, 1170116224, 2011984256, 1801557888, 1610638208, 1094005376, 1892163584, 1517332608, 1197763840}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {6591, 34441, -17618, 43063, 61508, 41997, -5895, 5410, 36841, -35162, 724, 31428, 173843, -19254, 34563, 6708, 37478, 23827, 85427, 31822, 34181, -13177, 3793, 37333, -16884, 15983, -16678, -11741, 29040, 19579, 21501, 1554, 17966, 315, 31815, -37645, 37440, 22685, -3133, 25515, 39430, 33478, 56472, 9203, 25257, -17243, 83598, 22066, 59683, -19525, 46653, 21943, 47651, -941, -70127, -2058, 44296, -7858, 59762, 57456, 1659, 75189, 75947, 37745, -13655, 75542, 18203, 60514, 59797, -33570, 580, -9155, 2009, 30151, 4635, 32130, -16646, 15830, 8531, 34492, -27752, 52235, -27305, 7403, 61835, 12614, -21088, 87438, -21511, -10520, -49260, 97216, 19641, 74102, -15677, 29066, 10342, -6104, -8711, 104397, 25392, -24723, -9497, 4396, 106871, 56623, -71248, 33534, 43788, 26423, -25001, 10618, 38524, 43255, 23190, 704, 14301, 20136, 24201, 33925, 29435, 513, 26569, -3629, 24228, 18114, 12419, 100654, -12336, 20339, 69640, 18800, 87010, 46659, 14806, 8798, 34049, -31960, 30674, -32562, 85830, 26095, 29226, 38361, 1980, 20758, 43326, -939, 24319, -21401, 12497, 14483, 31286, 23506, 69388, -15124, -43502, 21143, -14521, 39510, 31321, -8860, 16296, 166218, 82869, 53439, 31240, 95402, 54080, 68989, 27491, 44688, 66518, -10108, 4441, 4398, -5827, 18331, -20321, -42024, -3797, 39853, -21513, 17512, 16471, 37852, 40523, 6076, -56456, 11702, 93304, -20123, 31384, 21038, 51742, 57874, 34387, -13329, 47999, 45618, -4282, 62879, 19240, -6714, -3432, 34741, 75174, 48513, 50805, 9863, -8984, 37404, 58366, 69162, -2432, 31482, 109611, 55498, -7779, -6315, -17849, 7364, 91319, 30333, -2774, 42349, 36920, -15404, -4552, 23480, 11835, 74148, 23114, 7393, 74543, 137078, 36546, 44726, 13389, -12838, 32302, 41880, 8234, 2137, 66049, 55111, -35828, 48218, 24376, -13308, 25414, 363, 71021, -30785, 30240, 38574} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-104, -140, -58, -107, -125, -156, -153, -91, -121, -156, -80, -106, -151, -75, -76, -162, -167, -92, -137, -127, -121, -116, -131, -96, -99, -116, -144, -127, -186, -126, -95, -138, -106, -133, -161, -122, -126, -110, -112, -157, -143, -143, -125, -123, -80, -85, -92, -93, -154, -79, -118, -109, -139, -114, -109, -116, -158, -84, -135, -164, -105, -112, -115, -124, -113, -114, -144, -117, -131, -80, -101, -108, -141, -83, -134, -144, -79, -116, -73, -167, -77, -129, -120, -101, -127, -103, -137, -155, -70, -46, -73, -151, -92, -146, -116, -130, -135, -81, -122, -139, -145, -106, -103, -121, -133, -113, -104, -91, -95, -103, -149, -84, -140, -129, -142, -103, -123, -80, -175, -109, -141, -78, -124, -89, -67, -97, -117, -143, -133, -148, -154, -122, -144, -177, -92, -118, -131, -71, -119, -110, -130, -105, -144, -138, -128, -109, -124, -83, -161, -82, -101, -118, -135, -115, -165, -124, -129, -101, -129, -108, -117, -124, -107, -143, -187, -143, -102, -144, -89, -127, -86, -127, -118, -87, -89, -107, -140, -95, -159, -135, -123, -195, -139, -131, -112, -142, -109, -135, -93, -106, -119, -48, -163, -90, -131, -119, -86, -84, -146, -91, -76, -123, -130, -47, -112, -66, -176, -150, -104, -115, -88, -105, -79, -121, -131, -105, -143, -159, -129, -136, -128, -131, -189, -144, -68, -146, -167, -112, -88, -118, -117, -151, -135, -90, -158, -136, -132, -140, -90, -81, -123, -149, -128, -153, -121, -141, -93, -154, -97, -79, -86, -102, -95, -138, -121, -121}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1664672128, 2049861632, 2048743040, 2042378624, 1705682944, 1503588224, 2072725120, 1650650240, 2088301056, 2006038272, 1703768064, 1527929344, 1465249536, 2029432320, 1374368384, 2005426432, 1573956352, 1442636416, 1401731200, 1157896448, 1699916416, 1336887168, 2001044096, 1095162624, 1346910976, 1390877312, 1470101888, 1277228288, 1825869568, 1318683264, 1905931008, 1699862144, 1115672576, 2055301504, 1982267776, 1113449600, 1381077248, 1222709888, 2023730304, 1928905728, 1973029376, 1496272512, 1764065024, 1282570240, 1258080384, 1701591168, 1793702784, 1457095424, 1279972992, 1239000448, 1645557888, 1323041280, 1630706560, 2009703040, 1742806144, 1161732224, 1193869696, 1543330560, 1986787328, 1605446784, 1116530048, 1800716288, 1260715776, 1537752832, 1264310912, 1093139328, 2067595264, 1156851584, 1894238336, 1965985408, 1440952832, 1939490432, 1295769856, 1699473536, 1657843584, 1155973888, 1397798400, 1701864832, 1721264896, 1457403776, 1081550080, 2039158400, 1367587072, 1193226368, 1864124800, 1935745536, 1074665472, 1871749504, 1886259328, 2108114432, 1386374528, 2075268480, 1249459584, 1743656448, 1924587904, 1254919424, 2110815488, 2020704384, 1200650624, 1700891392, 1589199616, 1894872448, 1251718656, 1421827200, 1780254720, 1118795392, 1861053184, 1344968448, 1926501376, 1457021184, 1832234496, 1369550592, 1113059328, 1420904576, 1960182272, 2043958656, 1384418304, 1475101696, 1320607232, 1553202432, 1130685440, 1590369920, 1606680192, 1623051520, 1580762240, 1848273024, 1405118336, 1758115712, 1358505728, 1421056128, 1450890880, 1080107776, 1794868864, 1992525184, 1651027840, 1816047360, 1789266816, 1807412864, 1126920320, 1382658048, 2132041984, 1195703680, 1344013952, 1477524352, 1205093760, 1320882688, 1182733184, 1807102208, 1248103552, 1973127424, 2033922432, 1192646272, 1521152128, 1707999360, 1222647936, 1837039872, 1155284352, 1795041792, 1268762112, 1749949184, 2141783808, 2072366080, 1802260352, 1284185984, 1600477440, 1721134976, 1541011968, 1406834304, 1933103744, 1969976832, 1617048192, 2132507264, 1679075072, 2139096704, 1779944704, 1883179648, 1731909504, 1689475968, 2026157184, 1448301440, 1716402432, 2127157504, 1972315008, 1568064128, 1334839168, 1775635712, 2023801600, 1587052416, 1434162816, 1188414976, 1366875136, 1603090048, 1259519104, 1801701120, 1950372224, 1507667584, 2130044160, 1791792384, 1810605824, 1279622656, 1816062080, 1160515328, 1293486464, 2038166272, 1188245504, 1815022592, 1182750848, 1083175040, 1575056896, 1662904320, 1813211392, 1109151616, 1133533952, 1785383168, 1274502272, 1975837568, 1076539136, 1789627264, 1387963648, 1219399168, 1253144832, 1490831104, 1583288704, 1813080960, 1653475712, 1867300992, 1737405440, 1893812096, 1592398720, 1774686208, 1183612416, 1330429184, 1679331328, 1315314176, 1212014720, 1447987712, 1284777472, 1175413376, 1127427968, 2145729792, 1790268800, 1423255168, 1616121088, 1939797120, 1776896640, 1795500800, 2084904448, 1474574336, 1486187776, 1554192384, 1170239488, 1999894400, 1567306880, 1915607552, 1647295360, 1728852352}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {-179, 1200, 3482, 19302, -2719, 5831, -7146, -6940, 96, -11485, 5859, -413, 629, 1007, 43620, -12096, -5763, 62231, -416, 28103, 61855, 43743, -584, 65, 350, 24500, -4517, -2848, 31195, -7048, -719, -298, 343, 495, 7685, -10243, 39288, 11174, 34841, 1402, 15881, 14014, 128, -7268, -146, 20899, 281, 137492, 1375, 3532, 903, 470, -1787, 1006, -516, -1891, 15687, -33, -185, -2794, 169, 17559, -2087, -289, 32513, 121195, 37570, -710, 8394, 19917, 143, -645, -6785, 24930, -2009, 31485, -3599, -16144, -554, -4383, -3888, -796, 336, 366, -2702, -1165, 138653, 2495, -272, -1121, -324, 613, 299, 23, -5506, 27316, 63433, 51032, 26103, -2200, -649, -31, 48827, -10284, -2122, -257, -1294, -5353, 310, -239, -5537, -4986, 63330, 135, 76084, -2488, -287, -1769, -78854, -7466, 1261, 34226, -7621, 12204, 87, 56, -13270, 5131, 7205, -7, 42185, -3055, 422, 226410, -168, 3045, -1025, 24705, 7774, -20, 1116, 7189, -2172, 14387, -1816, 17722, -16907, -99, 200, -122, -1049, 26779, 1492, -150, -11014, 126, -38, -224, -17793, 3648, 9234, -274, 50376, 802, 34, -4620, 994, 1278, -1905, -1206, 699, -2755, 11124, -17421, 199153, -2493, -4702, 11511, 33624, 420, 26934, 5861, -2712, 24650, -14179, -787, 23353, -5454, -3525, 34215, 16858, 1781, 18631, 1309, -2076, 9606, 788, 144633, 39927, -79, 31281, 38840, -312, 67, -2703, 44889, -8969, 50512, 4135, 457, -2618, 41949, -746, -6142, -409, -339, -10633, 103259, 144, -22161, 704, 401, 16495, -19967, -4359, 9510, -2585, -1580, -4547, 136, 326, -2069, 871, -520, 12086, 14666, -7562, 182116, 32633, -1197, 1610, 39805, 15757, 100128, -9437, -1296, -9791, -416, 1312, 3204, -162, -4147, 22845, 36055, -6976, 4384} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-116, -139, -131, -231, -154, -63, -83, -49, -84, -52, -37, -103, -138, -150, -209, -37, -29, -255, -112, -231, -266, -204, -110, -85, -62, -189, -55, -100, -216, -38, -148, -181, -104, -108, -65, -52, -229, -59, -209, -134, -223, -117, -73, -38, -80, -221, -140, -271, -109, -88, -104, -113, -49, -108, -35, -99, -219, -95, -37, -107, -100, -174, -76, -105, -265, -236, -228, -105, -77, -211, -45, -63, -52, -208, -62, -177, -58, -35, -128, -86, -57, -74, -108, -123, -67, -145, -256, -112, -86, -34, -127, -120, -151, -109, -37, -233, -316, -377, -117, -102, -114, -65, -227, -45, -48, -99, -2, -101, -61, -108, -24, -83, -204, -122, -337, -107, -129, -45, 7, -75, -122, -261, -34, -49, -113, -61, -58, -56, -198, -115, -211, -82, -112, -311, -98, -95, -82, -224, -72, -65, -117, -52, -117, -44, -46, -131, -60, -72, -93, -32, -128, -218, -86, -102, -60, -133, -34, -91, -28, -48, -63, -101, -259, -148, -96, -30, -100, -82, -57, -74, -75, -92, -195, -27, -436, -61, -50, -123, -267, -33, -223, -55, -40, -163, -23, -128, -233, -49, -43, -215, -196, -117, -219, -118, -100, -201, -137, -269, -267, -104, -213, -203, -98, -142, -52, -213, -29, -244, -131, -132, -105, -190, -124, -120, -53, -155, -77, -288, -51, -22, -71, -87, -221, -31, -51, -220, -31, -165, -91, -123, -124, -141, -126, -119, -186, -199, -51, -342, -223, -136, -146, -240, -192, -285, -48, -99, -38, -132, -128, -153, -89, -57, -235, -233, -50, -55}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1823879552, 1144550016, 1601485824, 1216668544, 1656735872, 1924924032, 1433366656, 1189208064, 1457137920, 1829753856, 2112541184, 1144647808, 1154672128, 1406059392, 1511924992, 1406135552, 1201902592, 1675710848, 1442244992, 2138465792, 1566339456, 1837297536, 1567005312, 1443293568, 1717265408, 1679475584, 1385636736, 1913947648, 1178168192, 1376390784, 1162323072, 1352769152, 1103511296, 1978636800, 1212568064, 1272574976, 1324921472, 1086573312, 1200261760, 1996950912, 1543305856, 1327252608, 1977725952, 1852201088, 1117604480, 1703404928, 1321325824, 1489686016, 1379531520, 1292149248, 2042757888, 1394249600, 1588229120, 1278453888, 2128175104, 1145377920, 1525572864, 1154313472, 1679907328, 1456754048, 1457880064, 1966625792, 1562577408, 2141794304, 1582231552, 1769068160, 1151404800, 1396880000, 1733560576, 1233375872, 1770101120, 1209950592, 1201823744, 1512142976, 1161936256, 1215413888, 1746974976, 2139658112, 1503178496, 1226490880, 1119565824, 1756229248, 1458742784, 2025360256, 1174562944, 1580702080, 1652689792, 2130273920, 1515258880, 1920644480, 1364393344, 1566628480, 1748240256, 1516214272, 1597452672, 1209480192, 1965077504, 2029925888, 1276855552, 1576985216, 1728833920, 1340420480, 1703518720, 2036222336, 1233615616, 1564325120, 1468306048, 1182590976, 1364815744, 1089300736, 1763033600, 1741566208, 1863593088, 1717060352, 1694176896, 1980909696, 1285268352, 1456842624, 1266955392, 1208043648, 1817400832, 1824057088, 1244003712, 1515376256, 1358653824, 1323092608, 1092644992, 1484164864, 1801578368, 1211477120, 1625787136, 2093998208, 1559571584, 1889372416, 1397308032, 1654370432, 1436286592, 1469722112, 1715830912, 1836780928, 1102752128, 1459208960, 1568783744, 1592245376, 1970394240, 1300799232, 1842370432, 1817293824, 1515964160, 1845205888, 1555911680, 1318558208, 1867266432, 2042267264, 1260357376, 1257381888, 1561633152, 1476025216, 1381603072, 1756297472, 1427966336, 1857409280, 1253232896, 1783087616, 1552463616, 1374066688, 1248684160, 2046671232, 1726510720, 1131885440, 1352994304, 1698367872, 1412221952, 1591321472, 1761812096, 1755692288, 1153291648, 1379019392, 1084526976, 1095554816, 1862228736, 1807442176, 1832597888, 1725965184, 2074542080, 1374644864, 1729595392, 1394898688, 1722399232, 1745122176, 1290101888, 2112146176, 1148602496, 1120140928, 1829534464, 1795786880, 1090955776, 1720649728, 1880107648, 1895509888, 1164077824, 1189015936, 2049825280, 1396953600, 1435898368, 1121725440, 1485489280, 1205323904, 1220659456, 2032826624, 1222304640, 1736961280, 1157463552, 1283832320, 1311011968, 1407776512, 1404611712, 1383567360, 1280392960, 1401555712, 1985224576, 1181001728, 2016073472, 1714296320, 1820400512, 1386584192, 1918658560, 1469809536, 1353549568, 1371592192, 2072632576, 2002807552, 1312942976, 1573422208, 1668003584, 1519990016, 1234975104, 1105216256, 1258346112, 2114090368, 1792855040, 2086137216, 2124267776, 1930631808, 1128211840, 1750498816, 1074729984, 1927949056, 1349496448, 1841577472, 1483783808, 1593755136, 1230761472, 1959757184, 1601662080, 2055447168}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {27382, 11657, 49905, -12530, 16437, -15202, -9931, 8883, 16494, -9959, 21081, -8117, 18434, -435, 36577, -2810, 8680, -14874, -23811, 29281, -34482, -9762, 19331, -6788, 23213, -21210, 18437, 17706, 11749, -31303, 528, -4109, -2628, -26516, 24792, -18883, 1743, -8983, -32311, 37825, -27200, -9918, 8833, 28352, -3300, 3605, 98947, 5204, -29001, -17741, -10915, -38286, 42607, 20264, -30315, 15321, 843, 19410, -35634, 42772, 2497, 11782, -16726, -112089, -43640, 38319, 10293, -10486, -43587, -4379, -15813, -519, -2793, -53097, 740, -34689, 7573, 77505, -26131, -20299, 14124, -12043, -21579, -3408, 9605, -9307, 16915, -26910, -10055, -40469, -815, -34402, 22792, 19291, -11025, -1430, -10737, -25664, -34448, 47081, -6120, -6095, 13013, -16814, -7281, 9819, -8744, -8967, -12926, 10110, -6373, 35585, -18259, 1564, 3576, -33635, 22747, 2211, -1054, -2579, -7888, -2489, -15340, -11982, -17542, 7273, -2457, 12167, 20078, -880, 4649, -46234, 7879, 17624, -5963, 11222, -5264, -22224, -14061, 17922, 21756, 21638, -5120, 54360, 13102, 28971, -25519, -4173, 5844, 10807, 32075, -4830, -7462, -27218, -19489, 20834, 10166, -12656, 9889, 45097, -3589, 9008, -35005, 14817, -6798, 58307, 28669, -14827, -13476, -24690, -34320, -9122, 6517, 9982, 2412, 20763, 11036, -37772, 9522, 69877, 2268, 1962, 13702, -16520, -33209, -20100, -6210, -1897, 33157, -61929, 3594, 66, -67782, 4665, 10483, 24811, 75578, 56504, -14468, 11652, -10463, 10397, 12859, 14747, -2079, 22002, -21225, -15444, -19411, 24651, 12794, 29144, 21002, 52036, -44710, -19263, 39123, 11973, 43021, -19826, 99674, -5137, 12091, 28358, 3829, 29463, -21809, -19833, 9695, 1268, 47926, 12595, 47052, 45130, 92345, -1279, 44595, 60593, 44550, -3382, 9387, -55725, 213, 101325, 6600, 29970, 26784, -13481, -10681, 2361, -45653, 6870, -25613, -4913, 19407, -37760} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-87, -90, -157, -126, -115, -74, -118, -133, -115, -147, -143, -103, -128, -83, -129, -123, -116, -122, -136, -111, -152, -109, -129, -107, -108, -105, -155, -115, -109, -119, -101, -84, -126, -97, -150, -151, -85, -158, -113, -145, -91, -119, -124, -146, -132, -76, -119, -135, -140, -121, -90, -113, -96, -144, -95, -145, -111, -94, -112, -167, -123, -119, -132, -93, -136, -106, -153, -116, -116, -156, -116, -170, -126, -123, -156, -121, -92, -136, -134, -64, -137, -164, -117, -113, -143, -116, -158, -151, -115, -94, -148, -126, -120, -121, -158, -121, -114, -122, -102, -115, -54, -141, -118, -120, -159, -117, -156, -114, -141, -140, -130, -142, -105, -152, -164, -74, -175, -156, -83, -121, -100, -65, -119, -78, -114, -107, -98, -119, -112, -95, -115, -142, -126, -174, -97, -128, -130, -159, -183, -64, -126, -76, -101, -97, -116, -86, -128, -133, -144, -117, -141, -91, -95, -96, -135, -149, -132, -168, -127, -99, -117, -78, -103, -133, -156, -146, -133, -128, -125, -85, -109, -129, -111, -116, -134, -148, -78, -86, -102, -149, -130, -122, -146, -140, -141, -119, -97, -92, -104, -118, -97, -160, -90, -132, -84, -134, -96, -164, -130, -101, -135, -119, -108, -69, -113, -112, -135, -82, -78, -123, -182, -125, -132, -98, -104, -132, -178, -97, -96, -92, -139, -99, -98, -123, -143, -135, -137, -98, -101, -98, -137, -98, -117, -133, -118, -166, -110, -116, -150, -171, -130, -116, -137, -154, -145, -144, -138, -157, -126, -92, -98, -104, -98, -96, -143, -107}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1733103616, 1379729792, 1115162752, 1264697472, 1839450624, 1932400256, 1743205248, 1572078592, 1257569792, 1890284544, 1152743552, 1211648896, 2089024256, 1142988672, 1092788224, 1301698560, 1858677632, 1545480704, 1162547072, 1888299392, 1669912064, 1704204928, 1273644416, 1118030208, 1222070656, 1834820992, 1793061760, 1504604032, 1575542400, 1087322880, 1616887936, 1539372160, 1783132672, 1952831232, 2078053248, 1595917184, 2142835840, 2115013888, 1326271872, 1201787008, 1617272576, 1836343808, 2005499648, 1676135680, 1184045184, 1161941376, 1388366080, 2035964800, 1167451776, 1488184064, 1887383296, 1439838464, 1444554368, 1435924224, 1423763840, 2040574720, 1555748864, 1405876736, 1733585408, 1941554560, 1408884608, 1130445312, 2103367552, 1851280512, 1835359744, 1881091200, 1812969600, 1108611328, 1506528384, 1199175296, 1143761536, 1143612160, 1475444992, 1753856000, 1835055360, 1592667392, 1679228928, 1728894464, 1874953600, 1414044800, 1484333824, 1483288064, 1608881152, 1867429504, 1202032896, 1407471232, 1089624064, 1265317888, 1823124352, 1785217792, 1160672000, 1948296192, 1674969600, 1473043584, 2063516288, 1281573632, 1193768064, 1314553600, 1401414912, 1956505984, 1749635840, 1215686400, 1512841856, 1505247616, 1832210944, 2103419392, 1578861440, 1466465280, 1242148480, 1604761088, 1641606400, 1079059840, 1179671808, 2104568576, 2043911808, 1202413440, 1369908736, 1391641856, 1382219776, 1575406208, 1190024960, 2103503872, 1775099264, 1828956928, 1473962496, 1282732928, 1743745024, 2143974912, 1971232128, 1795747456, 1607834496, 1751125888, 1747235328, 1494715904, 2024428672, 2121950336, 1236089600, 1781210240, 1881985152, 1607599104, 1837385984, 1716541440, 2048255232, 1423374976, 1311069568, 1533982592, 1594495872, 1609122432, 1998248320, 1575175040, 1887861504, 1505735040, 1094872320, 1756145408, 1257645568, 1759542912, 1098578944, 1855480960, 1423309312, 1140131968, 1584058112, 2040835840, 1908836864, 2077536768, 1671547136, 1303132032, 1121876352, 1805447168, 1197362816, 1892754816, 1360840448, 2058529664, 1156878720, 1753323648, 1648965248, 2103235840, 2143847168, 1875978624, 1288409472, 2124149760, 1575137280, 1629243904, 1163725312, 1364585472, 1161206912, 1959633920, 2055112960, 1439562624, 1087998336, 1843397120, 2048860416, 1479917952, 1564600320, 1177785472, 1133575680, 1287258368, 2020043904, 1608496128, 1589708672, 1503787264, 1546432512, 1571854208, 1347216896, 1184744960, 1709110912, 1574082560, 1816701696, 1440157568, 1695946496, 1461851520, 1881591040, 1887726848, 1544446336, 1317140224, 1965264768, 1684652672, 1147446528, 1341571200, 1528891648, 1632075520, 1500850304, 1861286400, 1827650048, 1138666112, 1092066432, 1512711680, 1210023936, 1993467264, 1133472512, 1211047808, 1512497280, 1281465344, 2008539392, 1647542144, 1299437440, 1233127040, 1161664896, 1542186240, 1920683520, 1764953600, 1739236352, 1429476992, 1510474624, 1820450048, 1447572352, 1593209472, 1457782528, 1651383936, 1196950528, 2119753856, 1431272576, 2128429568, 1977151488, 1593164544, 1647786752, 1471617280}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {119761, 10021, 6029, 4120, -22793, 48876, 121214, -515, 60907, 148214, -206, 5609, 107094, 884, 63732, 108897, 135205, 6918, 5372, 83140, -470, -80, 59183, 121, 53608, 14107, 95383, 2671, 73598, 598, 5955, 6843, 12645, -687, 69304, 3333, 114944, -54, 2985, 127706, 70371, -49334, -1059, -22938, -719, 89327, 7045, -134, 1287, 67380, 107770, -3637, 40720, 3792, 2502, 4247, 124883, 3208, -11, 88376, 117192, 46804, 2512, -6442, -671, 64661, 84887, 133171, 143, -1851, 3224, -1058, 100983, 6084, 255, 100471, 84896, 9021, 31, -373, 45842, 107113, 110562, 66331, 206486, 74285, -657, -16353, 129129, 57419, -13046, 4962, 45831, 47765, -656, -1873, -4584, 11549, 1228, 7526, 3469, 132300, 129161, 95803, 172, 48681, 83497, -5164, 6391, -730, 8699, 85031, 102196, -2325, 5353, 115452, 139167, 141162, -2112, -188, 90477, 88341, -413, 11325, 108344, 125326, -203, -8049, 121561, -957, 89201, -13092, 159181, 104213, 141932, 11072, 94059, -276, 502, 68300, -103, 95563, 58640, -349, 2441, -8, 104071, 51707, -1956, -2564, 119416, 86309, -1629, 13715, -1457, 1290, 121557, -2686, 3260, 5680, 3687, 60956, 9009, 3028, 2780, 107933, 164675, 4458, 71314, 6637, 94812, 129473, 188254, 61155, 2666, 99946, 57386, -1621, 69646, 8502, 5351, 82273, 119216, -575, 76318, -3745, 6855, -155, 100152, -3171, 133666, 124489, 73, 114933, 85812, 121405, 26874, 140647, -20335, -3627, 6895, 41477, 84780, 69814, 6143, 93312, -1970, -336, 1015, 2222, 102787, 43588, 61081, 14544, 4715, -840, 168000, 124371, 94151, 7960, 16117, -1046, 98791, 122676, -15849, 58642, 1702, 9786, 10864, 80627, 112963, 111549, 136097, 61218, -15405, 4294, -2630, -311, 92567, -2620, 80577, 6554, -870, -2601, 71735, -2412, 139284, -1141, 3516, 92148, 10240, 145946, 75894, 2339, 28, 1322} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {-300, 102, -110, 109, 82, -353, -399, 97, -311, -420, 72, 84, -345, 58, -306, -340, -388, 90, 55, -284, 82, 88, -321, -37, -355, 101, -352, -116, -378, 59, 92, 56, 65, 112, -432, 90, -393, 56, 70, -362, -418, 103, 69, 65, -21, -319, -108, 72, 58, -344, -490, 90, -154, -3, 107, 51, -337, -112, 110, -337, -408, -314, 119, -105, 122, -362, -426, -361, 123, 71, 84, 125, -379, 108, 127, -313, -370, -109, 37, 76, -296, -341, -359, -446, -360, -314, 57, -94, -403, -383, 13, 165, -190, -414, 124, 66, 108, 92, 103, -122, 79, -342, -302, -353, 79, -329, -328, 65, 81, 79, 105, -343, -335, 95, 63, -327, -319, -348, 135, 84, -378, -330, 65, 83, -321, -347, -37, 97, -336, 62, -431, -100, -320, -351, -314, 61, -421, 75, 64, -266, -172, -331, -349, -103, 7, -92, -358, -318, 85, -70, -306, -399, 92, 103, 73, 53, -355, 89, 50, -173, 94, -315, 94, 84, 74, -274, -324, 97, -336, 59, -330, -367, -314, -341, -143, -348, -391, 104, -387, -100, 74, -306, -311, 90, -292, 115, 100, -161, -288, 90, -352, -314, -61, -396, -272, -344, -128, -380, 69, -142, 49, -200, -321, -404, 85, -305, 75, -104, 66, 51, -346, -195, -303, -147, 93, 66, -306, -294, -349, 80, -122, 95, -295, -291, 24, -332, 89, 59, 87, -339, -317, -338, -332, -383, 64, 91, -156, -121, -320, 68, -330, 45, 78, -114, -356, 75, -329, 103, 5, -331, 72, -335, -318, 70, 85, 74}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1126877696, 1696094592, 1669325312, 1354118784, 1184781440, 1790353024, 1477248000, 1906955904, 1888169600, 1525896448, 1977634432, 1394901760, 1525666176, 1797132032, 1589710464, 1274017408, 2126642304, 1555211904, 1707675008, 1402098944, 1962421248, 1971174656, 1958242816, 1889849088, 1650520064, 1162048128, 1592601472, 1726928768, 1228316544, 1696034432, 1144170880, 1969598720, 1526358272, 1384257024, 1179368960, 1419330304, 1928698240, 1148520960, 1758652928, 2117105792, 1204253568, 1724386304, 1543602304, 1470204800, 1216154240, 1603396864, 1568358016, 1321873536, 1372280064, 1632484864, 1764465024, 1355158144, 1621779072, 1575358720, 1750968192, 1801421440, 1168092032, 1463496448, 2058758656, 1864664448, 1891318912, 1133294976, 1561009664, 1736319360, 1502689280, 1924340608, 2126304512, 1592113408, 1407527424, 1708819328, 1409747072, 2114271360, 1148661120, 1422668672, 1786538880, 1173828736, 1148272896, 1506948736, 1107121408, 1994022400, 2030937600, 1889525888, 2134871680, 1367099904, 1191750912, 1462461696, 1409885952, 1104855424, 1917588736, 1408613120, 1921313664, 1267057920, 1299517184, 1869898624, 1712960384, 1186932480, 1785680640, 1737461760, 1317317760, 1169145728, 1130701824, 1879827200, 1783634304, 1074861952, 1721957248, 1837597056, 1457341696, 1254972672, 1296561920, 1270760576, 1756919296, 1905180672, 2139542528, 1204399232, 1223160192, 1677401344, 1301992448, 1692719360, 1204743936, 1727241216, 2078561920, 1118052864, 1425328768, 2029875328, 1202614144, 1376718848, 1636810368, 1508242304, 1950593920, 1512394240, 1291828480, 1631662080, 1205571712, 1810836096, 1676328320, 1322053376, 1751705856, 1103757824, 1092957440, 1093798144, 1568321280, 2105218432, 1409492352, 1080830336, 1240329984, 1388895744, 1281803008, 1802824832, 1301161088, 1784055552, 1238276736, 1656341376, 2097459584, 1366386688, 1089735680, 1800575360, 1153589248, 1736692608, 1359404672, 1717838208, 1671622016, 1951236096, 1979432832, 1678468608, 1656113536, 1124767104, 1415919488, 1666940288, 1512565760, 1389761920, 1525868928, 1631019648, 2081368448, 1576656384, 1249540224, 1084929792, 1434313472, 1200976000, 1889631104, 1590750848, 1326327808, 1124417152, 1665916160, 1661332736, 1771621120, 1416235264, 2074321024, 1351953408, 1510318976, 1139907968, 1208669824, 1154774400, 1307281024, 1691595392, 1830451968, 1372937856, 1220834944, 1412006656, 1500758528, 1837183232, 1855906944, 1371797632, 1328696320, 1397314304, 1659220864, 1774286848, 1609088896, 1784813312, 1139143040, 2145056896, 1214080000, 1977037056, 1563430656, 1077497856, 1229175552, 1135276928, 1685546496, 1877138944, 1754401280, 1548766592, 1307815424, 2063988480, 1895116288, 1884578432, 1491040640, 1422778752, 1816395648, 1316802176, 1544548480, 1084697984, 2093381888, 1559708672, 1492612224, 1505516928, 1549015040, 1250250496, 1827400448, 1115018112, 1521350528, 2134621824, 1193835904, 1577773440, 1610694016, 2050222976, 1147466496, 1635124352, 1425977856, 1729525504, 1550816896, 1165409920, 1219845376, 1471746304, 1289428992, 1643016320, 1386685056, 1158750592}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {76138, 15294, 74143, -5362, 40714, 13788, 77116, 16438, 7953, 66628, 6798, 33738, 89, 26857, 10153, 29840, 24367, 7308, 18445, 26786, 34053, 8054, 92211, 6902, 2175, 43392, -3055, 9183, 25715, 44899, -43202, 6345, 17972, 19009, 47116, 49059, 73822, -9407, 28114, 61064, 33553, 18730, -33529, 57291, 26559, 19156, 37656, 51512, 26589, 16691, 16513, 69556, 2894, -472, 51493, 76953, 47846, 14336, 47682, 28772, 22693, 16007, 12321, -15517, 2723, -21546, -33976, -5371, 27300, 45326, 56142, -17379, 36595, 46526, 41138, 19106, 31620, 37701, 61057, -9433, 25624, 25975, 15925, 22505, 51014, 51490, 2313, -17058, -17681, -35221, -7658, -11158, 61079, 15816, 38862, 9170, 37582, 17493, 21152, 2249, 52215, 548, 5108, 11772, -2597, 23559, 29434, 12908, 11523, 33648, 366, 2084, 13363, 58167, 60435, 10676, 35386, 4135, 4080, 20198, 21739, 37764, 15635, 37282, -1198, 22861, 39630, -76001, 38930, -841, 32967, 12901, 43401, -38532, 35257, 20517, 22995, -25363, 41138, 16229, 10989, 24066, 56257, 72940, 20596, 35246, 39725, 60214, 31549, -48242, 11159, -22259, 5590, 18877, 46124, 40255, -17824, 9288, 47857, -907, 7328, 7390, 22018, 22244, 39931, 32811, 11116, -8892, 17050, 27377, 185905, -5026, 19004, 354, 54391, -42433, 8572, 3166, 50756, 51489, 43312, 19906, 45841, 28426, -16289, -101534, 20868, -6917, 65225, -6544, 83054, 9776, -1298, 45025, -12011, -1939, 45617, 73331, 38198, 72388, -18581, 43778, 44161, 27315, -53973, -1721, 11744, 41841, 25804, 27182, -15730, 26809, 42635, 30886, 34176, -24240, 16821, 23660, -18026, 3168, -486, 24583, 24544, 17214, 35031, 41208, 12573, 7823, 39557, 41604, 47556, 8390, -14960, -304, 11191, 54785, 8548, 38762, 6848, 18261, 54310, 45150, 40398, 127620, 8847, 46213, -9238, 49933, 68496, 10760, 34495, 16051, 53575, 73079, 81437, 23012, 49057, 7331, 17775, 72539, 33083, 24695, 12222, 6245, 1434, -767, 1708, 36042, 15166, 51032, 50951, 28481, 8619, 8441, 27935, 35022, 28460, 74644, 43055, 16657, 68362, 13063, 61123, 42425, 42193, 53825, 6824, 30853, 36450, -8370, 17459, 33569, 64771, 23648, 43666, -8023, 34075, 12928, 70826, 40851, 52805, -16272, 82523, -5163, 32702, 53215, -22636, 17550, 127687, 15566, 9788, 44824, 20581, 7973, 30362, 98788, 36437, 24027, 44872, 36961, 28175, -8582, 31741, 25462, 81888, 24411, 21738, 35740, -15222, 51900, 25718, 24102, 39676, 29032, -27131, 39925, 51679, -5258, 22058, 47652, 23276, 17539, 122216, 25448, 38125, 69254, 60530, 23100, 61658, 23026, 89495, -6074, 93598, 66130, 58819, 24217, 34948, -25253, 56465, 32073, 45738, 5311, 51079, 1712, 6479, 24624, 80604, 38650, -6005, 63494, 14752, 5292, 3443, 24184, 47944, 30559, 6721, 93100, 14737, 17208, 118401, -4621, 39783, 39396, -21982, 39270, 58676, -30303, 161614, 19087, 60806, 25712, 77091, 36752, 11536, 33475, 30396, -17636, 27345, -2706, 51573, 41642, 30061, 36180, 45395, 21110, 23026, 63015, 10461, 5216, 118018, 14158, -4178, -9019, 24042, -3459, 22612, 65629, 36467, 40775, 24933, 3641, 1294, -9308, -7290, 13391, 17023, 11560, 30427, 8071, 34298, 32039, 18855, 11200, 63395, 9874, 23764, 31236, -30478, 31024, 28784, -17042, 13913, 17228, 78238, -18837, -2987, 42219, 27797, 12571, 58758, 40046, 14976, 50748, 22782, 79250, 15914, 30236, 69962, 25631, 37312, 8012, 91121, -16570, 30333, 47720, 30007, 92702, -1285, 30174, 22253, -2491, 15453, -38372, 26696, 53331, 20373, 49518, 56732, 33949, 30875, 50927, 25257, 47715, 32112, 25621, 14775, 46586, 27548, 62733, 13123, 4729, 8704, 41615, 68343, 28338, 62593, 20808, -25978, 53516, 27622, 34193, 90525, 41893, -16797, 37219, 11775, 580, 14320, 16836, 71756, 21133} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-104, -94, -137, -149, -129, -121, -146, -109, -119, -128, -118, -86, -92, -105, -171, -98, -73, -114, -75, -114, -135, -90, -140, -87, -98, -123, -121, -115, -157, -155, -134, -102, -118, -114, -148, -163, -125, -168, -121, -92, -117, -112, -116, -149, -90, -106, -123, -110, -129, -145, -134, -116, -90, -107, -125, -132, -121, -95, -102, -139, -115, -88, -98, -134, -118, -105, -73, -115, -84, -130, -103, -150, -156, -123, -133, -118, -96, -111, -123, -94, -113, -82, -81, -102, -146, -173, -58, -76, -93, -84, -112, -97, -120, -98, -118, -143, -132, -128, -183, -88, -121, -106, -86, -152, -95, -93, -156, -123, -189, -107, -132, -149, -136, -124, -79, -83, -142, -85, -113, -133, -115, -161, -111, -99, -76, -100, -130, -120, -105, -104, -116, -128, -147, -131, -121, -117, -138, -114, -177, -93, -118, -147, -111, -146, -152, -107, -139, -136, -151, -98, -84, -139, -119, -107, -120, -106, -116, -113, -140, -116, -106, -103, -127, -99, -152, -79, -100, -117, -114, -112, -117, -127, -92, -134, -115, -94, -114, -96, -106, -99, -103, -103, -89, -110, -98, -109, -109, -109, -111, -120, -138, -125, -144, -94, -111, -118, -152, -144, -136, -107, -103, -111, -159, -93, -111, -129, -118, -130, -112, -152, -147, -143, -125, -89, -139, -116, -110, -145, -74, -135, -158, -113, -134, -104, -124, -103, -106, -108, -119, -136, -78, -126, -76, -90, -125, -133, -131, -130, -83, -99, -138, -96, -87, -171, -133, -100, -141, -152, -114, -141, -137, -96, -122, -142, -115, -113, -138, -85, -99, -138, -128, -146, -139, -95, -120, -113, -85, -114, -126, -133, -135, -88, -119, -90, -142, -149, -74, -86, -113, -108, -129, -158, -110, -150, -126, -102, -106, -123, -108, -95, -106, -113, -127, -82, -117, -111, -124, -94, -132, -113, -163, -113, -110, -101, -117, -101, -106, -117, -112, -121, -118, -166, -128, -95, -101, -105, -132, -115, -126, -161, -142, -93, -121, -102, -121, -96, -149, -139, -82, -126, -167, -130, -118, -149, -121, -115, -129, -101, -112, -122, -103, -137, -145, -112, -99, -119, -148, -98, -106, -171, -129, -86, -137, -129, -135, -128, -134, -109, -155, -142, -152, -141, -129, -114, -97, -139, -120, -92, -107, -133, -119, -108, -116, -138, -88, -150, -91, -102, -91, -96, -147, -159, -144, -146, -135, -86, -157, -115, -152, -168, -127, -116, -119, -129, -82, -122, -100, -132, -91, -108, -137, -150, -76, -108, -151, -132, -110, -95, -102, -108, -125, -84, -101, -133, -138, -100, -106, -87, -141, -154, -101, -144, -107, -142, -116, -130, -154, -116, -95, -131, -103, -157, -86, -78, -141, -88, -127, -97, -124, -143, -124, -123, -148, -87, -93, -94, -91, -149, -95, -149, -109, -110, -145, -134, -124, -149, -113, -128, -100, -139, -161, -120, -116, -119, -126, -118, -132, -153, -100, -143, -95, -105, -113, -119, -137, -117, -124, -128, -148, -148, -174, -127, -146, -137, -117, -148, -103, -124, -109, -122, -96, -132, -95, -131, -158, -125, -123, -140, -101, -132, -122, -100, -119, -104, -125, -117, -122, -82, -122, -150, -122, -109}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1306736640, 1564445568, 1592243584, 1328375680, 1483136512, 1083883008, 1469939840, 1783799680, 1884692864, 1293087488, 1621972352, 2036579328, 1510595200, 1328720512, 1089285760, 1174963840, 1291800064, 1849154048, 1341244032, 1371820800, 2036009344, 1321726720, 1738500864, 1278590208, 1122154496, 1525444480, 1713963392, 1971771520, 1981490816, 1934898816, 1590179072, 1672253312, 1081622656, 1971625728, 1706579072, 1840094464, 1771549568, 1245252096, 1126879104, 1709175552, 2028253824, 1777579776, 1507539200, 1090613248, 1272477312, 2131205888, 2078311040, 1452771840, 1865893120, 1395481856, 1427987584, 1328151552, 1513405312, 1316659200, 1482776704, 1836759936, 1613162368, 1574882176, 1314665728, 1399666560, 1206933888, 1967020416, 1924910848, 1412149376, 1104122496, 1292228352, 1473786112, 1074773504, 2058377344, 1572925056, 1569228928, 1911676672, 1473144576, 1550476800, 1289720064, 1523474688, 1786872960, 1249523584, 1569194496, 1236043520, 1334185856, 1179080192, 1220743168, 1302611584, 1624000896, 2039934976, 1788531328, 1311536384, 1086442368, 1173760384, 1228494208, 1711364352, 1639876480, 1270817408, 1656229248, 1402309504, 1120727680, 1195631104, 1436502400, 1105129984, 1766239744, 1458129280, 1581355904, 1862519296, 1290240896, 1907376896, 1867790592, 2110051712, 1521778816, 1551826432, 2011166720, 1105389312, 1629385728, 2135684352, 1770910336, 1706879360, 1349748608, 1320071936, 1800761344, 2052030464, 1538207488, 1841329024, 1488205056, 1078461696, 1822200064, 1295686016, 1166423808, 1254877440, 1681852928, 1097959680, 1934310912, 2057531904, 1431966720, 1446301184, 1716379008, 1223411584, 1180117632, 1567414656, 1408712832, 2095992320, 1153174784, 1447278720, 1633960576, 1850423040, 1691048192, 1355672960, 1244616192, 1455300224, 2099689216, 1119722240, 1176891776, 1681041536, 1210759552, 1696732928, 1532321920, 2069233792, 1166747136, 2143721856, 1645653504, 1224153472, 2002814080, 1739961856, 1488415872, 1103284096, 1279004160, 1192570624, 1257556480, 1445175680, 1520808448, 1505074944, 1088495488, 1871383168, 1276254464, 1588816256, 1324557696, 1371552384, 1834433408, 1274987392, 2010407552, 1665032832, 1696099328, 1392860160, 2063342080, 1519585920, 1155743360, 1548018176, 1303117696, 1130623232, 1225949056, 1920175744, 1752587008, 1633793024, 1157924224, 1477086848, 1112808832, 1367207040, 1602072064, 1773210624, 1529035520, 1459698176, 1298400896, 1978422912, 1320279552, 1630854400, 1454450688, 1343775872, 1763046784, 1497591296, 1122335616, 1756194048, 1332649088, 1567462784, 1220444800, 1193637376, 1262526976, 1324357632, 1817558016, 1513307008, 1792077312, 1838133120, 1347470208, 1540664064, 2056676736, 1742948608, 1248270720, 1374926592, 2042756736, 1802533504, 2004094208, 1458599936, 1442796416, 1585553024, 1157370752, 1516376448, 1308229888, 1721150080, 1249906944, 1446355840, 1786706944, 1477415168, 1875762048, 1956116224, 1128458368, 1200445952, 1673351296, 2067547904, 1636844288, 1295364992, 1803341952, 1694627584, 1210636800, 2089044864, 1709215232, 1583240832, 1467895552, 1288208896, 1842308352, 1340799744, 1425978112, 1466537216, 2141033856, 1291325952, 1988175744, 1406936960, 1222030720, 1826453888, 1459439872, 2046751616, 2109457408, 1079438464, 1861840512, 1477087616, 1793654400, 2031822976, 1968445824, 1559003776, 1163385856, 1663318400, 1790782592, 1500130176, 2098645376, 1199164032, 2143098496, 1893922048, 1764476416, 1499719552, 1702995712, 1623135488, 2097758592, 1321117568, 1511213184, 1621420928, 1977452160, 1753463424, 1143719936, 1104670336, 1888066048, 1167260544, 1419957632, 2079750912, 1310581504, 1774419200, 1252778752, 1527480320, 2006006016, 1438201472, 1738366976, 1864117120, 1651502848, 1814074624, 1275142400, 2021730048, 1397130880, 1389203328, 1499261824, 1667650688, 1672918912, 1837387392, 1746710656, 1459176064, 2045745024, 1460928896, 1804117760, 1442157440, 2133247744, 2097086080, 1611425024, 1396453760, 1509287552, 1499888512, 1458488064, 1915656704, 1163181440, 1429027584, 1548432384, 1870123392, 1685925120, 1841309824, 1569739648, 1727808384, 1841500160, 1638514304, 1365226880, 1080747392, 1291917568, 1412085248, 1261671168, 1153026176, 2128156416, 1156023808, 1180747648, 1906761472, 1162294784, 1472744960, 1906107648, 1169536128, 1743333504, 1816794880, 1236451072, 1923438848, 2022246272, 2132987136, 1712038528, 1544788992, 1213149568, 1514582272, 1184080768, 1861938560, 1611051392, 1450845952, 1238743424, 1820888192, 1121614720, 1760638848, 1529181696, 1619861760, 1597781248, 1206250624, 1980017664, 1550946560, 1204017536, 1171092224, 1405758720, 2075570560, 1310857088, 1264249216, 1255061760, 1667810048, 1887532800, 1969832832, 1541998080, 1174219392, 2002477440, 1321193856, 1211470592, 1720341120, 2125226624, 1247458944, 1084411648, 1184208000, 1399156480, 2100222848, 1971451136, 1434706688, 1909754112, 1763080576, 2132328448, 1273397760, 1883871104, 1347642112, 1094164096, 1803028992, 1918220928, 2073127424, 1671140608, 1287563008, 1832592128, 1262914432, 1415585792, 1158877312, 1815314944, 2119955712, 1218758400, 1797873920, 1292356992, 1107769472, 1920494080, 1947545984, 1699258880, 1321276160, 1891995520, 1715103104, 1405277952, 1079199744, 2130129408, 2010706176, 1702051200, 1930062336, 1232323456, 1783922048, 1497312512, 1606168192, 1286979840, 1875359104, 1714618112, 1493564160, 1730992256, 1576628480, 1162213760, 1449438976, 1336346624, 1414978176, 1124384896, 1977092352, 1507380224, 1231301376, 1176710784, 1708302848, 2046713472, 1231644288, 1528966784, 1974632576, 1772402816, 1106030464, 2119803776, 2074608896, 2127404032, 1554274688, 1425034624, 1885523072, 1414892032, 1944276992, 1747060864, 1868967680, 1833926272, 1632936192, 1713495168, 1379174912, 1500450048, 1509072768, 1320629376, 1086180608, 1812436352, 1894347776, 1223035136, 1309417600, 1930449024, 1205395200, 1757739648, 1181451136, 1392530688, 1237845632, 1738565632, 1118430720, 1522571008, 1234918528, 1220382208, 1475688960, 1276832384, 1274882816, 1659280384, 1305881472, 1815182976, 1272283136, 1139416704, 1352341504, 1952961792, 1237930880, 1470289280, 1491779200, 1657388928, 1227848448}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {20921, 220, 458, 22043, 170720, 521, -350, 23664, 30960, 10981, -6030, 16975, 1960, -2453, -10899, -1757, 237, 5763, 342, 1417, -9096, -15171, 320, 10, -1951, -3841, 222, 9377, 25200, 5919, -6780, 5444, 7110, -3863, 1224, -8423, -503, 17642, -25084, 164, -268, -6519, -2903, 390, 8228, 393, 89, 402, 20, -333, -1691, 16815, -23052, 4616, -385, -479, -469, -7512, -495, -3191, -356, 1942, 33107, -3718, -670, 9552, -3446, -99, 2881, 4918, -2974, 29474, -3660, 356, 268, 7347, 177, 3777, 1141, 71338, 8751, -2827, 2000, 1554, 1116, 13119, 1004, -2495, -42772, 2235, 2930, 191, -1811, 1462, 153, -6581, -6901, -349, -4506, -503, -622, -1082, 3517, -1861, -3318, -1917, -18850, 42583, 623, -381, -6215, 1301, -9387, -10295, -7545, 2278, -1332, -4, 15718, 27958, 4871, 118, -780, -2253, 1065, -353, 1393, -3387, 21080, 92, 358, 42652, -7142, 7696, -162, -7806, -328, -243, -208, 472, 13440, -16909, 561, 235, 3494, 4741, 1999, 813, 3972, -2716, 44, 19850, 1713, 10388, -27, 427, 2654, -3856, 796, 22261, 983, 4821, -7703, 6345, 27316, 1098, 5496, 2787, -7971, 327, 1078, 119151, 213, -441, 2071, -614, 58, -3298, 1725, 450, 12981, -1615, -294, 2947, -5385, 5572, 183, -165, -850, 91591, 1361, -899, 947, 1083, -4426, -7090, -28109, 1865, -1711, 10431, 3873, 24954, 49486, 16045, -22027, -647, 248, -309, 1403, -11961, 1702, 749, 637, -8090, -476, 3245, 366, -5526, -6144, -5705, 28804, -8727, -17909, 78928, 17673, 405, 505, 35, -351, 375, 4834, -3957, -4508, 10453, 12730, 399, -7524, 3180, 39700, -598, 752, 575, 1036, 6493, 8188, 3953, -6027, -811, 736, -10, -266, 90, 4632, 5266, 15412, 599, 354, 21301, -663, 26271, 1267, 58836, -14024, -839, 26042, 43716, 105, -6469, 1404, -382, 25240, 31115, 629, 447, 51842, 235, 605, 6000, 1507, 23846, 26532, -1376, 175, -191, 11736, 2247, -6975, 737, 43630, -14732, 69, -899, -708, -13024, -155, -976, -1590, -3556, 30973, -10210, 2390, -6363, -218, 55111, -4185, -1435, -1025, 688, 15731, 4115, -6040, 597, -302, 28757, -152, 17392, 321, -343, -94, -2712, -5265, 218, 445, 94579, 1768, 7307, 9046, 27230, 77261, 1043, 21475, -6644, -3839, -352, 21521, 514, 19731, -6580, 24344, 3081, 118812, 4127, 1028, -245, 2819, 4039, 440, 1301, -1066, -3146, 713, 426, -195, 1135, 859, -11022, -188, -11080, 21201, -5842, 3294, -4971, 2845, 12, 370, 1328, 317, 1386, 28197, 19, 424, -664, 52, 117475, 616, 46493, 32157, 2323, 642, -1105, -7747, 34940, 84155, 988, 67641, 11, 707, -5206, 3555, 67, 19481, -4998, 11971, 75, 45161, -170, 441, 6910, -85, -6238, 272, 29950, 21030, 75578, 512, 1613, 166197, -6773, 75, -8838, 4272, 19151, 255, 2562, -320, 73764, 966, 18936, -122, -5974, 19432, 234, 168, -18796, 21050, 2862, 19895, 4746, -3065, 8435, 35765, 87335, 1795, 16246, -153, -1557, 557, -1052, 111371, -4760, -5522, 6629, -5390, -965, -2259, -4817, 1443, 2379, 37480, 545, -181, 1230, 4168, 13930, -402, 34080, 212, 31440, -315, 1395, -4772, -307, -245, 37511, -4975, 9100, 21856, 248, 37262, -416, 1075, -398, 72682, 6455, 26264, 105610, -28501, -1224, -964, 208, 1171, -55, 2285, 147, 6753, -4312, -41, -3185, 1385, -1071, 298, -10512, 6464, 5887, -443, 17972, 10377, 1077, -3210, -46, 246, 4826, 1067, -6000, -8554, -2117, 4393, -280, 6315, 215421, 182, -2927} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-255, -84, -124, -193, -502, -99, -97, -263, -312, -223, -10, -232, -118, -86, -79, -95, -113, -75, -99, -102, -120, -15, -123, -94, -95, -74, -217, -116, -259, -42, -16, -32, -32, -7, -92, -21, -82, -234, 5, -115, -61, -7, -10, -93, -147, -67, -93, -15, -86, -95, -88, -241, -33, -124, -133, -100, -88, -86, -81, -9, -116, -95, -203, -13, -55, -80, -144, -26, -86, -51, -109, -233, -56, -92, -113, -99, -106, -33, -112, -417, -123, -95, -100, -31, -92, -207, -95, -80, 61, -14, -31, -131, -132, -73, -102, -11, -152, -22, -15, -91, 7, -49, -39, -11, -19, -94, -17, -415, -134, -130, -36, -93, -22, -58, -8, -117, -102, -154, -130, -229, -56, -123, -84, -39, -88, -51, -63, -26, -245, -99, -114, -360, -73, -19, -108, -25, -86, -118, -96, -147, -48, -31, -101, -18, -23, -158, -55, -197, -218, -73, -120, -216, -141, -208, -115, -111, -21, -69, -106, -248, -27, -117, -41, -56, -237, -93, -190, -31, -113, -35, -107, -406, -90, -98, -89, -113, -91, -42, -100, -147, -242, -140, -134, -33, -5, -26, -103, -30, -101, -457, -13, -2, -164, -80, -3, -59, -4, -90, -149, -179, -136, -245, -242, -195, 1, -38, -98, -111, -53, 16, -81, -91, -122, -101, -114, -182, -170, -53, -42, -22, -238, -44, -32, -501, -176, -117, -97, -97, -155, -115, -48, -7, -16, -69, -24, -85, 2, -31, -344, -132, -112, -82, -105, -33, -194, -129, -17, -96, -103, -95, -106, -97, -112, -42, -238, -101, -55, -255, -59, -238, -100, -272, -34, -139, -229, -274, -88, -53, -106, -127, -259, -246, -138, -98, -255, -111, -126, -27, -81, -238, -252, -56, -87, -118, -224, -111, -26, -86, -266, -54, -117, -138, -83, 44, -74, -54, -91, -16, -261, -55, -83, -3, -92, -442, -76, -90, 0, -99, -241, -127, -36, -98, -100, -253, -138, -239, -93, -73, -86, -80, -55, -108, -13, -427, -90, -42, -179, -209, -320, -80, -249, -12, -59, -104, -195, -164, -231, 8, -239, -79, -611, -25, -104, -102, -85, -50, -125, -107, -94, -49, -78, -109, -103, -76, -94, -84, -89, -62, -227, -36, -100, -40, -108, -95, -142, -143, -118, -94, -207, -82, -101, -141, -144, -348, -89, -277, -281, -110, -90, -44, -16, -257, -482, -88, -537, -94, -109, -12, -43, -109, -226, -26, -236, -109, -274, -110, -50, -201, -138, -27, -114, -173, -240, -386, -97, -160, -448, -54, -144, -105, -40, -248, -96, -154, -93, -323, -88, -238, -133, -3, -234, -97, -162, -12, -188, -161, -188, -133, -39, -155, -265, -272, -109, -230, -91, -24, -105, -68, -390, -50, -7, -95, -59, -50, -79, -60, -98, -51, -245, -108, -95, -110, -54, -210, -156, -234, -107, -289, -110, -107, -64, -109, -106, -234, -80, -64, -220, -120, -278, -114, -91, -95, -501, -29, -228, -497, -4, -24, -104, -83, -93, -97, -92, -103, -137, -51, -131, -62, -89, -91, -122, -2, -147, -30, -101, -203, -232, -99, -110, -109, -114, -97, -95, -90, -12, -63, -41, -77, -49, -538, -96, -124}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1339691904, 1339181312, 1823130496, 1411655168, 1763618816, 1584694272, 1483536768, 1752869632, 1736937600, 1459288576, 1500668288, 1139149184, 1855614720, 1789206528, 1842612992, 1654702464, 1418400768, 1288622080, 1708689408, 1604886144, 1642399488, 1177327744, 1359216512, 1533541376, 1086687232, 1898029696, 1554440704, 1081044224, 1729110528, 1756239744, 1557269120, 1923105024, 1925427968, 1141982848, 1792230144, 1346416384, 1613431040, 1578927616, 1959466368, 1416171008, 1286039168, 2029425408, 2120052608, 1889891584, 1373622016, 1808629248, 1790161152, 1986566272, 1115296512, 1480068352, 1948382720, 1470612480, 1778847872, 1507374080, 1221737728, 2082497536, 1752755328, 1660788992, 1610825856, 1811906944, 2049262336, 1389090688, 1982146688, 1130251264, 2099457280, 1802994304, 2058954624, 1559466752, 1457782912, 1230608128, 1360982400, 2133303168, 2028299904, 1847172352, 1524852480, 1606631424, 1774358144, 1376181888, 1183369856, 1635374720, 1881248256, 1418107776, 1592027136, 1121613952, 1913575424, 2024242432, 1808150784, 1764946816, 2110902784, 1228363136, 1310727680, 1553939072, 1493895680, 1533311232, 1086857984, 1515694720, 1387091840, 1387791616, 1140364416, 1466389760, 1356600576, 2021809792, 1276516480, 1480239616, 1135337600, 1868112640, 1353053568, 1162381824, 1338062976, 1350201728, 1479207296, 1189828864, 1394063104, 1181582592, 1278398080, 1616630656, 1130142976, 2075682048, 1589426304, 1325983744, 2118700032, 1084991232, 1562181248, 1906894848, 1726485632, 1647545600, 1132783872, 1455814784, 1192543872, 1946703360, 1499152640, 1307111168, 1306908800, 1221702912, 1429323392, 1185755776, 1848029824, 1853979392, 1799667456, 1619570048, 1338218368, 1624272768, 1327872128, 1170410496, 2123727616, 1687267584, 1996652672, 1593918336, 1291138944, 1790301696, 1852284800, 1572070144, 1326452480, 1635270144, 1223900288, 1536175360, 1085528576, 1813644032, 1426689024, 1992278144, 1229916544, 1305722496, 1447160320, 1095101952, 1688987904, 1581889664, 1753054080, 1634986880, 1341662592, 1179954304, 1338830464, 1261651712, 1972176256, 1641876096, 1096008192, 1136890624, 2060275072, 1417982848, 1572035584, 1108140800, 1919194368, 1632687872, 1880774784, 1114649856, 1198240256, 1682114560, 1451148032, 1415261440, 1128891264, 1359543424, 1302322048, 2058315648, 1879101696, 1351154688, 1228739840, 1592337664, 1156048000, 1364751488, 1122254848, 1610747008, 1957074432, 1825507072, 1091560320, 1547103616, 1116408320, 1237891712, 1107606784, 1649272704, 1534587136, 1232601216, 1631723520, 1797054464, 1204302848, 1236212736, 1347008640, 1335196800, 1985383808, 1187320576, 1388613632, 2117597440, 1186359040, 1941599360, 1279502080, 1806295936, 1125833728, 1101331840, 1501664640, 1832394368, 1924190592, 1623506944, 1248551424, 1686647040, 1443856640, 1274648448, 2093460480, 1913950464, 2127075712, 1953101312, 1541097728, 1514519168, 1231913472, 1937353472, 2141945984, 1191170560, 1535604352, 1967389312, 1252170880, 1962170368, 1747198080, 1727527296, 1238981120, 1845623040, 1684263552, 1451688192, 1451504512, 1354363008, 1762564480, 1879533184, 1747375232, 1617174400, 1647964928, 1089307904, 1391043328, 2105867776, 1724677120, 1692788352, 1095687680, 1497382400, 1497984768, 1434614272, 1798204928, 1223246592, 1209164800, 1862761344, 1920675712, 1550159872, 2097255808, 2098730112, 1201889920, 1404399104, 1168195328, 1597751808, 1535498368, 1371021184, 1741567360, 1099337600, 1172052736, 2146582144, 1861688576, 1113327104, 1959351168, 2063696512, 1120621696, 1594401920, 1489496448, 1180384768, 1622788992, 1732089088, 1098781184, 1528263040, 1769553920, 2103123968, 1720197376, 1094092672, 1472115840, 2065817088, 1617694976, 1279827840, 1386995328, 1479935744, 1220147712, 2034094208, 1644702976, 1252969088, 1398374784, 1339966464, 1264991232, 1947893120, 1604395264, 1211647232, 1184910848, 1360455936, 1460039680, 1351131904, 1531561088, 2053562496, 1427246976, 1141129984, 2015241088, 1526435328, 1472255872, 1076461824, 1468583552, 1721516928, 1459247488, 1283771008, 2099596672, 1880428288, 1092131072, 1792773888, 1514500992, 2078948096, 1555116544, 1422152832, 1853550720, 1252020608, 1459876352, 1147599104, 1366580608, 1419308544, 1161547904, 1344989952, 1589895552, 1981097344, 1922226432, 1349887360, 1366091648, 2073432320, 1773639552, 1628719488, 1556392064, 1518288768, 2033871360, 1920565120, 1446498944, 1229630976, 1431755136, 1730415360, 1469902080, 1236362880, 1416185600, 1625915776, 1200667648, 1753693824, 1719101696, 1193345792, 1175862528, 1095812224, 2141751040, 1112226048, 1326469888, 2063650944, 1655440768, 1264462976, 1993787136, 1323310336, 1143032832, 1255599872, 1505435136, 1114409216, 1140418816, 2002842112, 1896551808, 1580018176, 1247413504, 1982799360, 1857305344, 1955589632, 1442666752, 1448244224, 1900503040, 1184707584, 1432819328, 1303924736, 1579938944, 1176361856, 1098613120, 1802815488, 1337051392, 1294020864, 1444347008, 1257593344, 1832202752, 1865689600, 1788495872, 1106673024, 1627898624, 1971379328, 1330629376, 1511115008, 1174399744, 1100296960, 1311381632, 2104495104, 1702292352, 1212958080, 1302206464, 1464801152, 1729381248, 1858065408, 1115884032, 1107111680, 1444518272, 1380408064, 1636093312, 1167652608, 1239063936, 2099993600, 1523997568, 1376828416, 1952071424, 1660420480, 1083944832, 1318157696, 1903824640, 1202316544, 1437574656, 1889939840, 1796211840, 1506819200, 1756264064, 1368930688, 1296493952, 1476008448, 1789614720, 1805502976, 1201202560, 1546157696, 1308810240, 1251507968, 1258592384, 1402333824, 1294913408, 1378125184, 1091313920, 1263644160, 2056050944, 1948768000, 1857870976, 1568377728, 2071292160, 1954902400, 1771090176, 1797219328, 1294412800, 2100414080, 1872443776, 1151836544, 1959129216, 1918794368, 1624910080, 1860126336, 1268390272, 1562445184, 1157007488, 1300787584, 1306145536, 1101692288, 1424323456, 1741748224, 1126816256, 1565361536, 1778717952, 1074788864, 1813053696, 1334701952, 1549038592, 1139273088, 1434915200, 1305903872, 1649503872, 1357358208, 2057967872, 1736567168, 1234424320, 1329787264, 1753166848, 1717350400, 1636311168, 1891794176, 1849816832, 1546792320}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {-1366, 439, -2361, 195, 1330, 1327, 1367, 564, 1336, 3160, 891, 1992, 250, 1783, 523, 663, 1370, 487, -4399, 544, 849, -221, -1225, 2773, 523, 76, -1392, 2604, 1025, -59, 997, -1843, -77, 1484, -271, -894, -1284, 632, -2689, 65, 2466, 4996, 1126, 547, 241, 523, -1228, 454, -53, -1116, 1752, 1406, -824, 3028, 3270, 1045, 506, 2146, -2350, 592, 748, -1211, 4004, 468, -83, -486, 3627, -780, -11, 417, -387, 869, -1533, -227, 1699, 249, 2019, -699, 1504, 424, 426, 216, 365, 28, -232, -321, 449, 1433, -695, -892, 2929, -3338, 104, 1923, 1397, 3617, 3569, 443, -85, -1783, 7660, -951, 73, -288, 940, -507, 29, 354, 1157, -283, 507, -3230, 300, 866, 732, -1452, 1056, -34, 695, 1552, 1891, -394, 1615, 1382, 822, 452, 761, 647, -566, 4684, -1953, -1686, -87, 1179, -3326, 1417, 834, 2557, 1469, 5605, -2443, -695, -320, -385, -1337, 3945, 1029, 203, -1387, -355, 3492, 783, 2475, -1771, 785, 2137, 3613, 834, 870, 945, -1229, 2180, 6899, 862, 98, 388, 769, 711, 1018, 1724, -1663, 637, 213, -476, -2, -214, -481, -490, 125, 2627, 1823, 2554, 2094, -460, 1148, 682, 1165, 251, 2019, 4134, 119, 919, 1067, 1176, 2427, -1210, -294, 3981, 2368, -120, 1492, 4048, 96, 1410, 3085, -323, -2449, -946, 571, -182, 2631, 3535, -347, 1596, 683, 1071, 169, 220, -483, -995, 1423, 1393, 4135, 1344, 534, -594, -179, 2272, -444, 5670, 892, -536, 990, -1075, 918, -464, 68, -164, 3115, -1345, -271, 932, -119, 146, -609, -837, 980, 742, 2715, 1233, 1786, 381, 2491, 2590, -206, -1043, 1731, 2616, 170, 1069, 1917, 3552, 1802, 2048, -712, -225, -256, 175, 74, 688, -574, 4635, 915, 938, 768, 435, 562, 2504, 666, -554, -1651, -1588, 794, 279, 2229, -1093, 1450, 141, -577, 1383, 6434, 1954, 25, 702, -1280, 633, -2813, -70, 478, 1883, 425, 177, -355, 376, 4030, 2308, 711, 949, 1121, -225, 130, 1999, -1112, 2474, -1075, -278, 1194, 726, -888, -1244, 378, 782, -119, 630, -1714, 352, 167, 142, 759, -2537, -1299, 907, 953, 1103, 106, -1904, 1578, 293, 1206, -1694, 1256, 1054, -44, 8238, -338, -368, 860, -1391, -457, 700, 1074, -1119, 3405, -497, 957, 2457, -25, 1959, -4716, 288, 3536, -659, 3549, 1402, 220, 12, -1114, -1365, 2491, 265, 1766, 782, 1299, 1125, 303, 5515, 1587, -1789, 2285, -615, 5000, 273, 260, 316, 337, 957, 982, 2587, 589, 119, -359, 1038, 1686, -555, 1194, 2939, 3085, -310, 455, 155, 3877, 1738, -938, 2836, 210, -1392, -117, 360, -99, -128, -161, 1518, 1515, -409, 535, 474, 1637, 188, 1372, 330, 408, 4198, 1197, 94, -1554, 2281, -342, -3309, -529, -309, 518, 2088, 778, 1101, 1285, 2278, -1076, 3298, 1785, 1124, -187, 564, 720, 372, 388, 602, -141, 1689, 517, 6083, 839, 206, -176, -1043, 5222, 3480, 677, 979, 4488, -476, 660, -1302, 8, 1653, 1600, 419, 1888, -122, 1101, 2970, -2098, -353, -660, -449, 27, 2188, 486, 1869, -8, 2950, 569, 152, 3043, 1301, 3367, -881, 3154, 1682, 919, 9, 174, 19, 3049, -1983, 2887, -101, -1154, 894, 642, 906, 93, 1109, 1851, 7585, 148, 234, -1184, -1589, 3236, 301, 634, 202} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-8, -9, -7, -6, -7, -8, -7, -7, -8, -8, -10, -8, -7, -9, -7, -7, -9, -9, -6, -5, -8, -5, -6, -12, -8, -9, -7, -8, -8, -7, -4, -9, -7, -7, -8, -6, -6, -8, -7, -6, -8, -8, -8, -7, -9, -7, -7, -7, -8, -7, -8, -6, -7, -7, -8, -6, -6, -10, -7, -10, -8, -5, -9, -6, -6, -6, -7, -5, -8, -8, -8, -6, -7, -9, -8, -7, -7, -8, -6, -8, -6, -9, -8, -8, -7, -8, -8, -8, -6, -7, -8, -5, -7, -9, -8, -9, -7, -7, -8, -9, -8, -9, -7, -7, -12, -8, -6, -7, -7, -8, -7, -7, -9, -9, -8, -8, -6, -9, -7, -8, -7, -7, -6, -8, -4, -9, -7, -7, -6, -8, -7, -5, -6, -6, -7, -8, -9, -9, -8, -8, -8, -5, -8, -6, -6, -8, -7, -5, -8, -5, -5, -8, -8, -7, -7, -8, -6, -7, -7, -9, -6, -6, -7, -8, -9, -5, -5, -8, -6, -7, -6, -8, -7, -8, -7, -7, -8, -8, -7, -8, -9, -9, -9, -9, -7, -7, -8, -8, -7, -9, -7, -8, -4, -8, -10, -5, -7, -7, -8, -6, -9, -8, -7, -6, -6, -9, -6, -8, -6, -9, -9, -12, -7, -9, -10, -9, -7, -7, -5, -8, -6, -9, -9, -8, -7, -8, -5, -7, -8, -8, -7, -8, -7, -7, -8, -4, -9, -7, -7, -8, -8, -4, -7, -7, -7, -6, -8, -9, -8, -9, -9, -8, -7, -7, -8, -6, -8, -9, -7, -8, -6, -8, -5, -6, -8, -6, -10, -6, -9, -9, -8, -8, -8, -6, -7, -7, -10, -5, -7, -7, -6, -7, -8, -8, -8, -8, -7, -7, -7, -7, -9, -9, -8, -6, -7, -7, -9, -5, -7, -9, -8, -9, -8, -6, -6, -6, -7, -7, -8, -4, -7, -8, -8, -10, -7, -6, -7, -10, -9, -6, -5, -8, -6, -6, -8, -8, -8, -7, -11, -7, -6, -6, -7, -8, -9, -7, -5, -4, -6, -6, -7, -7, -7, -8, -6, -8, -7, -6, -8, -6, -6, -7, -8, -5, -10, -9, -6, -10, -6, -6, -7, -7, -8, -9, -9, -7, -7, -6, -8, -4, -9, -7, -6, -8, -8, -7, -8, -8, -6, -5, -8, -6, -5, -7, -8, -9, -6, -7, -9, -5, -8, -8, -8, -7, -7, -7, -8, -6, -5, -7, -7, -5, -8, -9, -9, -8, -8, -7, -6, -8, -10, -8, -6, -6, -10, -7, -9, -9, -9, -9, -6, -6, -8, -7, -5, -7, -8, -9, -9, -8, -9, -5, -7, -7, -8, -7, -6, -12, -8, -7, -7, -5, -7, -7, -8, -9, -5, -8, -6, -8, -8, -7, -5, -7, -8, -8, -11, -8, -7, -5, -7, -9, -6, -10, -7, -6, -9, -11, -9, -7, -7, -7, -6, -8, -9, -8, -6, -6, -9, -6, -7, -7, -11, -7, -7, -8, -6, -8, -7, -8, -5, -8, -8, -8, -7, -5, -6, -10, -11, -6, -7, -6, -8, -8, -7, -9, -5, -6, -7, -7, -8, -9}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1275400832, 1127736576, 2027500416, 1142168960, 1199123968, 2023093632, 1688218496, 1301690880, 1098997120, 1986284288, 1617125504, 1114722432, 2123421952, 1116047872, 1235022336, 1098781312, 1444129152, 1669881600, 1945020160, 1932735616, 2057474944, 1513854080, 1205203968, 1134621312, 1529295616, 1201711616, 1104052992, 1327756544, 1250765952, 2139534336, 1217997184, 2000570624, 2104050560, 1835803264, 1686424960, 1885745408, 1671759360, 1519744128, 1581287424, 1433480576, 1663279616, 2074281856, 1943460224, 1457206912, 1136873344, 1426889216, 1194533504, 1205022336, 1789226112, 1117290240, 2020177024, 1442023040, 1126177024, 1674653312, 1914051072, 1526970880, 1721594240, 1797649664, 1173082496, 1426387712, 1254598272, 1491351552, 1339360384, 1520997504, 1860180352, 1194472192, 1359212160, 1459390464, 1572082816, 1850857600, 1621636864, 1557480576, 1133972224, 1943509248, 1395623936, 1488024320, 1148141568, 2062753664, 1298515584, 1328730240, 1545477248, 1706999040, 1086814848, 2082151168, 1410148864, 1843629056, 1464273536, 1921930368, 1773857536, 1824229632, 1845309184, 1212075264, 2135688576, 1597560704, 2076435584, 1315050112, 1657120640, 1247904384, 1310748800, 1460809344, 1199534080, 1943405824, 1209101184, 1394239488, 1961083392, 1701379328, 2092957056, 1377088000, 1881964416, 1339807488, 2071130368, 2103453312, 1439441280, 1464797184, 1083834368, 1192060032, 1402379904, 1401666048, 1846381568, 1203914240, 1240908544, 1289045376, 1910123264, 1784733696, 1298629760, 1841160064, 1316258304, 2033257344, 1187381376, 1170730496, 1745015168, 1164407168, 1345187328, 1536090880, 1846910336, 1138576768, 2127848832, 1182061056, 1439979008, 2090085504, 1962685696, 1639702656, 1606966784, 1246138496, 1578955520, 2131225344, 1575641600, 1409249280, 1721457024, 1238177792, 1271220224, 1812156928, 1680435200, 2102682752, 1247808896, 1481844864, 2058119552, 1800819968, 1429980544, 1970913536, 1249925248, 1365107712, 1577364736, 1492265216, 1435094144, 1578264064, 1696528128, 1983454720, 1351760128, 1496939648, 1590374272, 1502571648, 1619164288, 1910989184, 1081121792, 2093755392, 1969081728, 1171960448, 1435048192, 1995865472, 1166203648, 1947170816, 1908671232, 1835934592, 1357876864, 1201347968, 1165173120, 1387567360, 1232333568, 1607559424, 1928532736, 1774061952, 2132100480, 1348613760, 1998701952, 1354959872, 1770048640, 1206915456, 1606147200, 1433564544, 1176346624, 1737924736, 1947046656, 1819634432, 1257730176, 1803832832, 1296505984, 1101345920, 1312371328, 1265482496, 1673429888, 1373983232, 1843673600, 1380717056, 1220689152, 1395599616, 1409599744, 1295003648, 1497217024, 1401420928, 1283286912, 1189390336, 1689033088, 1419217536, 1463736960, 1461613312, 1193592960, 1288378240, 1356416512, 1177910784, 1724088448, 1347065216, 1074407552, 1288552192, 2140451328, 1891185024, 1247357184, 1115883648, 1869426560, 1727919104, 1819883904, 1217510528, 1171684992, 1255317760, 1475387648, 1540180736, 1740102144, 1423834752, 1147048192, 1542911488, 1194269056, 1616737408, 2101725824, 1458414336, 1365123584, 2047096704, 1926946304, 1111998848, 1761181440, 2024394752, 1097822720, 1311579392, 1272865152, 1867771520, 1221784704, 1188404352, 1280718208, 1723425792, 1075372928, 1470397056, 1824992256, 1189181568, 1239326464, 1309287936, 1651838080, 1124559488, 1589435392, 1429338112, 1557006592, 1529606656, 1814703872, 2050637056, 1874923136, 1963327872, 2039164672, 1597155712, 1211534208, 1305372544, 1511529216, 1254405888, 1993148160, 1293985792, 1456377216, 1635888512, 2002034176, 1552115328, 1136881664, 1588211712, 1239367936, 1109667968, 1254563456, 1756928640, 1832509056, 1287658880, 1360873728, 1145661696, 1610342144, 1117232640, 1165494272, 1099432064, 1208888192, 1722508288, 1614800896, 1708407808, 2089261568, 1586352640, 1573560832, 1175035392, 1355567616, 1602948736, 1802999040, 1466778368, 1312888448, 1415225472, 1972099584, 1295001216, 1466235392, 1367672832, 1190742400, 1512644480, 1584973184, 2081942912, 1644534912, 1088980736, 1878982912, 1360814208, 1516144128, 2070997632, 1614599808, 1293328000, 2143765120, 1240910464, 1946942720, 1955794688, 1655979264, 1132535424, 1992627712, 1487648000, 1934733184, 1218860544, 1166369536, 1357881344, 1815727616, 1454329600, 1239532800, 1258100736, 1446157696, 1958988800, 1223811072, 1723739136, 1279588736, 1395710720, 1074585216, 1108434048, 1648937344, 1999381376, 1323412352, 1230230528, 1103906304, 1387931520, 1814941056, 2018635008, 1131303424, 1899742336, 1690873216, 1783450240, 1145410304, 2011531520, 1194140032, 1177643904, 1345273472, 1204855040, 1894008704, 1601875200, 1150072832, 1637739392, 2072403456, 1853870208, 1622432256, 1164620416, 1313317376, 1979197440, 1706502272, 1243552384, 1490743680, 1402068224, 1266132096, 1503330176, 1828144128, 1475695360, 1350252160, 1361219840, 1102350208, 1460120960, 1625807488, 2008742400, 2087903360, 2136084096, 1994797056, 1597329152, 1903299840, 1819778944, 1783173120, 1665590272, 1421380480, 1379137152, 1848919936, 1923100928, 1339664384, 1168367872, 1574597248, 1091131776, 1243921664, 2004471168, 1171343232, 1329835136, 1709753088, 1511378048, 1468646784, 1118962560, 1742751744, 1300956032, 1272085376, 1639356416, 1565360768, 1890430464, 1182019328, 1261304448, 1085822080, 1225855232, 1157103232, 1542404224, 1188300672, 1838724864, 1749147136, 1349911168, 1990191744, 1481229312, 1078172544, 1121646720, 2128903296, 1483877248, 1443577088, 1796808704, 2049266688, 1122411904, 1309533952, 1660567424, 1410173440, 1574138368, 1601532544, 1504572544, 1865813760, 1973755520, 1199259008, 1693988992, 1672980736, 1814516480, 2088066048, 1359283200, 1992760832, 2080957824, 1426281344, 1709640064, 1727705472, 1509164288, 1444745600, 1771471104, 1994163840, 1426527872, 2116371328, 1410177280, 2090374400, 1985920000, 1420772352, 1080052608, 1225349504, 1556089344, 1973099520, 1826811904, 1565393920, 1731350016, 1726653312, 1235951104, 1879850368, 1940588672, 1888441088, 1575182720, 1247294464, 2126769536, 1263413760, 1754056960, 1121692032, 1385234304, 1182540544, 1997640832, 1303793024, 1182339200, 1947833088, 1518077696, 1573497216, 1652573824}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {7258, -2111, -18215, 4567, 29144, 32498, 111030, 58382, -3145, 4551, -14912, -6584, 1729, -3301, 40632, 57786, -7265, 66704, 155129, -3931, -7919, 44071, 112042, 3365, 93551, 53592, -3745, 2769, 6080, 1914, 25261, -1969, 46474, -32642, -5351, -12894, -22085, -9600, -7806, -6641, -1947, 691, 2380, 11539, -2862, 27291, -27987, 60634, 51229, 34583, -8546, 3227, -12497, 15657, 3492, 17624, -11721, -39781, -9589, -2844, 6742, 71821, -12834, 8754, 27188, -3308, 16675, -15306, 53994, 46877, -47867, 9253, 48268, -16888, 25954, 43779, -6469, 65614, 38246, 70, 5938, -9490, -4340, 4039, 66820, 3570, -13058, -3464, -291, 7997, 4442, 3172, -2704, 18619, 29086, 6213, 8491, -26054, 37074, 3031, 14179, -3296, -12418, -4799, 14408, -1394, 62571, -4745, 34372, -7993, 103918, 45685, 16010, -7068, -2904, -11643, 4426, 46278, -7862, 100283, 35528, 1895, 5345, 9989, 5292, 5407, -9449, -8531, 20090, 17217, -12288, -5710, 1984, 21362, -10004, -2365, -18934, -8990, -4329, -5185, -4997, 31504, -18300, -14745, 2832, -4732, 24104, 45699, -3585, -5080, -5216, -7859, 4887, -3755, 39828, 2108, 14543, 14078, 24746, 14507, 1644, 26713, 3427, -12780, -8055, 25030, -9273, -2507, 4066, -7214, -9154, -5351, -8265, -16597, 31872, -7677, -8763, -22044, 157408, -13266, 19720, 5658, -41676, 10294, 3423, -16233, 50389, -5872, 34451, 17742, 44253, -3407, 58639, -10818, -7345, 54025, -7925, 6899, 122406, -2423, 33512, 6342, -7149, -3695, 18830, -14085, 681, -2084, 60632, -15014, 55127, 27, -18475, -10490, -11212, 26011, 50856, 17022, 3211, -7563, 59239, 42371, 29133, 8347, 46737, -15040, -12761, -15060, -16487, 17462, 3098, -4251, -11156, -70, 37781, 130360, -9636, -5693, 20337, 640, 115469, 150891, -4858, 36059, 39211, 2604, -5625, -2335, -3746, -6020, -1355, -2293, -13258, -2370, 9954, 27720, -9008, -5164, -822, -6432, 67495, 2441, 26315, 23757, -11698, -2556, -2919, 70837, -1832, -7662, 55367, 5638, -7987, 2254, -15872, -8147, 41638, 15435, -41548, -16911, -9115, -16386, 29174, 26793, 31538, -4697, -18211, -1147, -12965, 22726, -1406, -5426, -3222, 6982, -5639, -13503, -23343, -1876, -10731, -9587, 175, -8529, 51674, 5686, 21992, 23935, -12664, -145, -21130, 3564, 23823, 3676, -650, 16495, -8746, -12640, 36664, 12958, -4724, 34264, 76, 13647, -21313, -4015, 98, 44926, -7598, 13525, 9981, -1120, 2795, 24280, 661, -4654, -7357, -15449, -5677, 90914, 19144, -20921, 22815, -14638, 13271, 4916, -1467, 2247, 10540, -19755, -3110, 25981, -76, -11946, 12896, 8295, 49345, 20719, -3511, 11372, -15334, -4237, 30696, -2955, 2853, 87967, -921, 58229, -5052, -12987, -3822, -18500, 11499, 5661, 32282, -5110, 18570, -8903, -7246, -1371, -3003, -5959, 16613, 962, -2785, 35175, 22108, 19922, 26266, 514, 4836, -185, -21349, -5717, -7216, -4675, 14802, 10666, 1524, -14103, 35663, 46856, 715, 10649, -6140, -40502, 66740, 53496, -7520, 2508, -6879, 4224, -45493, 8307, 29586, -7023, 19931, -7756, -8696, -13364, -22013, 83020, -6262, -5176, 13804, -4308, -11095, 333, 7476, -8296, -6222, -6605, 115533, 28479, 17160, 334, 36460, 53201, 1706, 98, 20843, 33281, 23128, 58906, 10872, -5076, 6676, -2142, -11055, -25947, -1813, 21954, -6892, 53865, 87276, 14009, 4399, 18021, -4127, -9745, 16455, -2753, 7791, 38404, 72915, -4111, 22531, 53653, -30621, 48230, -12622, 10931, -2386, -2238, 8195, -11156, -13995, -539, 5828, -6874, -5828, 15297, 50041, 49071, 3557, -2953, 50806, -7790, 96884, 21617, -2928, 22264, 5266, -85, 2579, -9313, -6024, 88333, 33970, -14920, 20459, -9359, -11043, 7456, -7381, -6805, 21430, 49936, 39196, -4939, 4768, 17932, -11860, -6122} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-125, -25, 28, -33, -181, -254, -767, -315, -139, -59, -31, -57, -69, -20, -318, -361, -14, -333, -676, -35, -21, -383, -570, -55, -404, -295, -40, -136, -125, -128, -281, 10, -261, -38, -34, 20, 44, 17, -5, -38, -74, -91, -120, -121, -153, -265, 51, -350, -273, -280, -75, -44, 13, -170, -41, -251, 2, 4, -12, -83, -94, -372, -58, -49, -140, -68, -177, 4, -331, -233, 60, -95, -216, -6, -176, -385, -13, -500, -280, -45, -103, -11, -24, -23, -428, -115, 31, -59, -23, -96, -94, -61, -83, -126, -261, -58, -64, 1, -284, -75, -219, -91, -7, -14, -99, -23, -377, -46, -269, -65, -553, -260, -114, -20, -11, -35, -45, -286, -30, -456, -238, -116, -30, -84, -139, -150, -29, 50, -140, -235, 33, -18, -123, -258, 5, -151, 13, -67, -56, -100, -5, -309, -25, 23, -49, -26, -204, -357, -50, -90, -43, -2, -80, -57, -317, -160, -196, -164, -142, -146, -55, -261, -49, 14, -42, -222, -47, -17, -71, -93, 5, -4, -69, 17, -254, -55, 2, 27, -399, -64, -204, -135, -8, -64, -42, 25, -351, -19, -310, -239, -316, -66, -307, -28, -28, -421, -4, -79, -468, -4, -196, -56, -22, 2, -247, -41, -30, -70, -367, 28, -361, -24, 5, -77, -43, -159, -360, -153, -42, 18, -297, -359, -162, -80, -336, 16, -18, -41, -10, -241, -44, -5, -4, -85, -284, -621, 5, -41, -221, -24, -322, -659, -37, -183, -328, -55, -7, -85, -55, -61, -30, -28, -52, -108, -134, -290, -16, -57, -86, 5, -611, -45, -235, -245, -6, -107, -100, -478, -17, -6, -347, -34, -22, -30, 2, 3, -244, -194, -30, 2, -13, 16, -159, -219, -318, -18, 22, -98, 20, -264, -42, -29, -21, -181, -3, 15, 67, -34, -50, -50, -58, -17, -373, -25, -238, -237, 10, -47, -42, -22, -261, -20, -23, -106, 0, -52, -241, -71, -4, -288, -18, -96, 10, 0, -70, -340, -20, -82, -149, -2, -119, -224, -139, -50, -17, -1, -28, -444, -196, 28, -160, -40, -138, -44, 28, -58, -100, 28, -25, -220, -17, -1, -139, -59, -227, -229, 7, -127, 1, -54, -243, -131, -34, -495, -113, -282, 11, 49, -53, 22, -205, -131, -255, -41, -166, -81, -4, -77, -113, -5, -227, -121, -26, -297, -162, -242, -253, -77, -140, -96, 27, -116, -65, -13, -153, -84, -121, 12, -264, -306, -62, -130, -3, -26, -401, -234, -42, -62, 7, -37, 122, -77, -255, 0, -163, 12, -63, -3, -4, -302, 4, -77, -105, -125, 10, -139, -61, -9, 0, -107, -523, -217, -171, -119, -255, -342, -70, -5, -113, -315, -214, -283, -69, 0, -62, -63, 12, 9, -17, -241, -108, -343, -425, -123, -54, -254, -25, -18, -250, -31, -92, -230, -385, -20, -261, -334, -4, -200, 14, -140, -79, -51, -152, -17, -7, -57, -153, -13, -8, -221, -317, -339, -47, -105, -316, 9, -524, -113, -49, -173, -82, -146, -104, 5, -56, -738, -235, -36, -197, -33, -1, -52, -25, -76, -98, -338, -252, -11, -43, -80, 10, -84}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1827226752, 1234729216, 2052652032, 2091421952, 1260889600, 1261869952, 1102325504, 1127081728, 1177928192, 1826839040, 1075272832, 1609546752, 2041348864, 2085073024, 1281992576, 1191977216, 1630740480, 1245063552, 1625102976, 1637545344, 1213186816, 1459791744, 1106926592, 1358816384, 1688443264, 1428383744, 1972043136, 1151238656, 1630155136, 2063123200, 1216274048, 1365826048, 1894277120, 1774518784, 1326418944, 2001447424, 2090406272, 2060039040, 1506509696, 1493934208, 1309803136, 1497566464, 1558433920, 1402993920, 1235277440, 1636868992, 1585762048, 1543591296, 1823502720, 1550367616, 1401752064, 1162519680, 2070155392, 2036577280, 1299753856, 1268516480, 1107293824, 1359115648, 1276868096, 1159272192, 1668966144, 1082626048, 2052445568, 1616806016, 1585892096, 2094022144, 1340116224, 1280675968, 1200629376, 2037048448, 2022690688, 1653728768, 1569241600, 1248446208, 2043995008, 1433959168, 1291466880, 1721951488, 1688970368, 1751031680, 1606158464, 1196865920, 1577175040, 1187341696, 1875628032, 1841627520, 1681245824, 1506806144, 1929165440, 1823947264, 1319426176, 1322424448, 1615220224, 1230703872, 1209207680, 1209422720, 1196460800, 1807964288, 1690728448, 1662542336, 1413320064, 1910207104, 2056992000, 1366304896, 1128174592, 1229264256, 1794865408, 1967954304, 1378596096, 1191297280, 1127312896, 1544312192, 1129644416, 1214675328, 1097753728, 2065978496, 1103346048, 1865523712, 1650140544, 1258005248, 1690471296, 1850416512, 1427627520, 1427509504, 1574395904, 1479120384, 1367565824, 1852921344, 1916587264, 1511213056, 1509280640, 1817690112, 1177187200, 2011760512, 1364867328, 1438609152, 1234036608, 1445455744, 1632619008, 1781305984, 1114871168, 2072768384, 2126021248, 1218427648, 1901175936, 1885343232, 1298496640, 1922603776, 1287354496, 2019784832, 1230741248, 1710365568, 1786384000, 2083928192, 1232730624, 1640907520, 1299424384, 1486420352, 1732123008, 1701629440, 1476069248, 1158002816, 1484303360, 2049468160, 2074892800, 1366510848, 1412278528, 2115190272, 1209508608, 1613595264, 1658804352, 1865711232, 1583325952, 1241664256, 1645035136, 1985208576, 1423934080, 1384733696, 1447745792, 1345132800, 1424529280, 1271885952, 1749055872, 1181059456, 1732868480, 2000818432, 1886790912, 2044843904, 2037755776, 1189164416, 2044569472, 1813241216, 1697214336, 1074097792, 1279786624, 1135368192, 1145957248, 1152565120, 1616985728, 2092042368, 1779765888, 1607722368, 1888096000, 1806435072, 1262051072, 1163084160, 1236862976, 1429259136, 1160654976, 1917325952, 1691394560, 1876439296, 1085128448, 1487847936, 1165328640, 1784965504, 1696525056, 1323732608, 1376333568, 1846136320, 1962143616, 1854539648, 1819805312, 1602012672, 1278167808, 1761568512, 1197032192, 1420716544, 1507912320, 1383716992, 1580021248, 1120714496, 1091362432, 1891102976, 1454963584, 1726443264, 1488146176, 1539286784, 1785094528, 2074614784, 1758958848, 1524311424, 1106432256, 1217229312, 1649461376, 1384939648, 1120566272, 1803366272, 1540636544, 1321382400, 1295773568, 1899851264, 1737129728, 1571959424, 1188190208, 1422505344, 2128104576, 1153686784, 1709503872, 1279087872, 1823880960, 2123184512, 1078328320, 1909984000, 1947244416, 1962842752, 1767679872, 2074926848, 1074205568, 1513655424, 1195689856, 1894913664, 1224514816, 2146054016, 1131832832, 2074127104, 1195703296, 1204285824, 1107479808, 1581586944, 1452348032, 1543401216, 1272681984, 1240466176, 1312937856, 1195486336, 1787356288, 1361920512, 2053906944, 1902106752, 1162230272, 1220724736, 1395399040, 1253220480, 1876682496, 1702920192, 1076603904, 1201810048, 1463454336, 1230534912, 1564634496, 1958259456, 1296590976, 1250656512, 1106839808, 1652191360, 1916148736, 1110654592, 1432046464, 1508351488, 1079410944, 1366629504, 1272756352, 1154076544, 1977480320, 1205034112, 1907765632, 2107806848, 1505466496, 1944636544, 1121264384, 1302392832, 1112251136, 2108269824, 1617193088, 1128097152, 1565148160, 1713870208, 1817710464, 2121925504, 1916276736, 1495964032, 1330998784, 1469688832, 1193959552, 1905748352, 1186728320, 1409117056, 2020232064, 1211177984, 1138949248, 1637410432, 1453729536, 1322613888, 1105493248, 1473341568, 1591121792, 1075871872, 1804651520, 1176982016, 1196503168, 1381773824, 1504542080, 1271532928, 1074746368, 1251452800, 1264048640, 1631086080, 1997149824, 1151893120, 1804138880, 1838912128, 1330035584, 1455921280, 1661379328, 1648985216, 1878068096, 1555624704, 1313138944, 1169090176, 1418577024, 1521426048, 1181757568, 1377469056, 1816310016, 1960703872, 2071031936, 1228877440, 1478959616, 2117616640, 1407122944, 1508809984, 1079576832, 2129297408, 1805265024, 1841925760, 1188214656, 1584857472, 1163715200, 2079457152, 1096715264, 1250856576, 1113909760, 1276752512, 1935047936, 1303949440, 1105577728, 1574668032, 1825847168, 1638368640, 1077625856, 1132252032, 2033540480, 1250015488, 2013280000, 1941945984, 1272553728, 1739232000, 1653531648, 1575014784, 1896336384, 1203762816, 1091019648, 1937606144, 1622201600, 1787823360, 1710961280, 1710069248, 1271043072, 2121232640, 1080408320, 1505203712, 1245624448, 1191746688, 2008016768, 2093771136, 1285462912, 1454979200, 1610162816, 1676835200, 1982598144, 1268783744, 1947988736, 1238677888, 1139772544, 1239646464, 1135402240, 2092485376, 1100974976, 1926068992, 2008810880, 1198747392, 1127471232, 1177484416, 1149870592, 1155387520, 1873126656, 1996930944, 2056867712, 1276647296, 1672109440, 1172241024, 1567791104, 1822864128, 1270726912, 1209375360, 1397777408, 1170518400, 1689433856, 1348862720, 1460304896, 1772493312, 1977636096, 1468473472, 1900416128, 1627888896, 1511145984, 1917280768, 1422407168, 1689660800, 1299106176, 1827302400, 2097425024, 1160276096, 1419955840, 1853401728, 1813462784, 1167747968, 1372016256, 1484232960, 1459148928, 1294689152, 1958762624, 1565132288, 1425344768, 1090358656, 1411719936, 1080566016, 1300650752, 2009747968, 2141998720, 1557021056, 1304497280, 1838612736, 1909977216, 1314248192, 2039981696, 1430979712, 1381233664, 1622455808, 2135819520, 1080214144, 1875102592, 1864537856, 1891485696, 1340431744, 2123509760, 1120443648, 1333555328, 1666599552, 1220823936, 1371958528}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {1712, 412, -827, 189, 1452, 915, 2972, 979, 285, 1178, 633, 5574, -689, -1546, 3119, -913, 1313, 956, -521, -208, -653, 873, -329, 492, -1641, -280, -483, 631, 1697, 752, 12, 126, -1342, -1516, -1373, 1398, -26, -708, -3815, 678, 442, -260, 1415, -2173, 1339, 515, 1377, 1574, 2282, -1303, -240, -92, 2205, 1272, 383, -632, 750, -2204, -428, 631, -1865, 1317, 543, 1421, -303, 477, -607, -415, 1587, -3513, -684, -1361, -1361, -2381, 874, -273, -288, 87, -1683, 870, 1608, -2269, 434, -2412, -308, -534, -1298, 1145, 492, 2332, -845, 1291, -346, 1469, -296, -2027, 146, -32, 182, 2053, 23, -810, 292, 1283, -1401, -369, -1368, 1559, 1064, -252, 441, 1082, -444, 699, 3304, 35, 2066, -206, 3159, 248, 1073, -491, -2780, 2443, 286, 2337, 2217, 727, -56, 468, -103, 1346, -1215, 829, -1048, -598, 1520, 202, 3653, 580, 314, 382, 2426, 2831, 112, 570, -66, -358, 651, -459, 2026, -1956, 771, 79, 4133, -1991, 91, 649, -184, -363, -1032, -969, -985, 3296, -944, 747, -779, -1531, 402, -402, -1364, 1971, 240, 3007, 1807, 1763, 539, 701, 706, 6126, -1729, 1996, 1229, -703, 1461, -2088, -627, -797, 377, 3529, 743, 2194, -174, -312, -838, -187, 76, 2657, 3321, 2685, 2548, 1564, -1658, 1349, -509, -1146, 915, 1006, 442, -409, -460, 268, 119, 404, 13, -808, 1702, 1319, 5617, -144, -20, -84, 2026, -1719, 1263, -416, 794, 2359, 1138, 4114, 1759, -624, 6468, 908, -54, -214, 2329, -2287, 884, 680, 889, -957, 1105, 2124, 62, 2456, 256, 255, -2368, 370, -476, 1337, 1743, 5494, -388, -558, -1127, -537, -12, 411, 5052, -203, -1034, 3394, 173, 1886, -405, 1494, 25, 100, 134, 133, 144, 1223, -155, -399, 1224, -1010, 912, 530, 91, -1211, -586, 1770, 689, -3097, 2246, 505, 565, -724, 1542, 1046, 1132, 1439, -390, 1277, 250, -1814, 14, -972, -2951, 69, -2894, 1577, 214, -362, -1245, 1697, 2982, 956, -177, 676, -227, 1333, 1632, 1534, 43, 2500, -161, 1361, -1013, 1737, -434, -727, 2652, -1110, 5883, 3045, -371, 26, -495, 536, -114, 4534, 633, 2164, 6286, 1536, 423, 2779, -1180, -624, 2510, 1208, -38, -956, -285, 2467, -2083, 2444, 888, -1751, -1750, -217, 539, 1781, 1619, -1086, 484, -1988, 616, 2546, -1995, 447, 1011, -111, -302, -311, -919, 328, 113, 826, -857, 5510, -623, 1853, -224, 14, 1465, -238, 2459, 144, -1102, 810, 1132, 708, -1196, -281, -2155, 192, -146, 3, -84, 1861, -235, 1117, 300, 3992, 466, -2480, 3169, 2981, 950, 3015, -21, 1173, 4434, 1160, -762, 77, 943, 1854, 323, 907, 363, -1184, -3179, -1242, -63, -59, 508, 1116, 196, -1919, -259, 3426, 1629, 3862, -1399, 353, 382, -1785, 1959, 2508, -2360, 4007, 532, -880, 5046, -25, 68, 523, -2234, -6, 188, -726, -959, 168, -1330, 2869, 1418, 935, 82, 1995, -439, 98, -2248, 1223, 1057, -1257, -138, 802, -1234, 716, -849, 1220, 354, 1202, 812, 797, 2333, -1077, 1103, -3602, -149, 879, -338, 1737, 252, -2270, 451, 313, 779, 847, 2049, 674, -118, 3180, 424, 390, 1666, -358, 2838, 1848, 346, -1467, -1559, 1053, 454, 392, -1490, 2937, 205, 253, -1037, -606, 495, 364, -561, -540, 1009, 1527} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-7, -10, -7, -9, -7, -6, -7, -7, -6, -7, -9, -6, -10, -7, -7, -8, -7, -8, -7, -9, -8, -7, -7, -8, -9, -8, -9, -9, -8, -8, -9, -6, -6, -5, -8, -8, -6, -9, -6, -8, -6, -6, -8, -8, -8, -8, -6, -7, -8, -7, -7, -7, -8, -8, -6, -7, -6, -8, -9, -8, -7, -9, -9, -7, -9, -8, -6, -7, -6, -8, -7, -7, -8, -7, -8, -7, -7, -6, -7, -6, -8, -6, -6, -7, -7, -7, -7, -7, -10, -8, -7, -7, -6, -7, -6, -8, -9, -9, -6, -6, -6, -8, -7, -7, -7, -7, -7, -8, -6, -6, -8, -6, -6, -9, -8, -8, -8, -8, -8, -7, -5, -8, -6, -6, -6, -9, -7, -6, -7, -9, -8, -9, -9, -7, -8, -8, -7, -8, -7, -5, -10, -7, -7, -5, -7, -6, -7, -8, -7, -6, -9, -9, -7, -7, -5, -7, -9, -7, -7, -9, -8, -7, -7, -8, -6, -8, -9, -7, -8, -7, -8, -6, -6, -7, -9, -9, -7, -8, -8, -7, -8, -6, -7, -8, -8, -7, -8, -7, -6, -7, -7, -8, -6, -6, -9, -7, -7, -6, -7, -7, -7, -7, -7, -7, -10, -10, -7, -9, -7, -10, -7, -8, -7, -7, -8, -8, -10, -8, -7, -8, -8, -7, -7, -8, -6, -6, -8, -7, -5, -9, -8, -7, -7, -7, -5, -7, -7, -7, -8, -7, -7, -8, -6, -8, -7, -7, -8, -7, -7, -8, -6, -7, -7, -5, -7, -7, -5, -8, -7, -8, -6, -7, -8, -10, -7, -8, -8, -7, -4, -6, -6, -9, -4, -9, -8, -7, -7, -9, -9, -9, -7, -7, -7, -7, -9, -8, -8, -8, -9, -5, -10, -5, -7, -6, -9, -6, -8, -8, -7, -7, -6, -10, -6, -7, -5, -6, -10, -7, -8, -8, -8, -7, -7, -6, -7, -7, -7, -7, -7, -10, -7, -7, -8, -8, -7, -8, -7, -8, -9, -6, -8, -5, -10, -5, -7, -7, -9, -7, -7, -8, -8, -8, -8, -9, -6, -7, -8, -9, -6, -8, -8, -8, -8, -7, -7, -7, -7, -6, -6, -6, -7, -5, -7, -11, -6, -8, -7, -7, -6, -6, -7, -6, -7, -8, -8, -8, -6, -7, -8, -10, -7, -8, -8, -7, -7, -7, -7, -7, -6, -8, -7, -6, -9, -8, -8, -7, -7, -8, -8, -8, -7, -9, -7, -8, -6, -7, -7, -8, -8, -8, -7, -8, -5, -7, -7, -8, -7, -7, -7, -8, -7, -6, -7, -6, -6, -10, -8, -7, -8, -9, -6, -8, -7, -7, -8, -6, -9, -7, -7, -7, -8, -8, -6, -9, -8, -7, -7, -6, -8, -6, -5, -6, -6, -8, -7, -7, -7, -5, -8, -7, -9, -9, -6, -7, -7, -8, -8, -7, -9, -9, -9, -7, -8, -7, -6, -7, -7, -8, -6, -7, -8, -8, -7, -7, -7, -6, -8, -8, -10, -7, -6, -9, -7, -7, -8, -7, -5, -6, -8, -8, -5, -9, -9, -8, -6, -7, -9, -7, -8, -8, -6, -7}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {2007698048, 1305617280, 1617283200, 1213934848, 1196203264, 1148647168, 1301422336, 1099842304, 1102792064, 1262729216, 1328295808, 1443154560, 1276584448, 1788075776, 1459331328, 1208171776, 1714639744, 1109306880, 1277088128, 2131678336, 1812795392, 2146642432, 1082746752, 2146117504, 2052120192, 1348009472, 1983084544, 2080679168, 1361935744, 1184400128, 1440546560, 1212511360, 1209699584, 1279794432, 1122209920, 1539381376, 1620907392, 1078108672, 1905951360, 1618237824, 1418036736, 1620038400, 2062631808, 1835056384, 1640248832, 1731092992, 1406553216, 2076597888, 1239764864, 2072879232, 1727858560, 1279903744, 1264383744, 1344099840, 1414837760, 1918993280, 1951174272, 1246046336, 1879402752, 1632752896, 1831905280, 1364799232, 1221677440, 2141840512, 1240363776, 1219861376, 1349772032, 1796950528, 1475828864, 1144480512, 1187352320, 1318340352, 1285552384, 1134697600, 1195880320, 1731178368, 1178652672, 1174129792, 1945142784, 2007784832, 2137748736, 1893279744, 1712716032, 1781897088, 1252936320, 1337651712, 1191304320, 2146690176, 1521032448, 1485507712, 1879196928, 1193217536, 1484418432, 1649586560, 2040803200, 1244133120, 1536217600, 1129473152, 1325103616, 1114715136, 1708141440, 1171240960, 1641765632, 1337790720, 1587348480, 1305347072, 1129049088, 1483111424, 1184931072, 1400782976, 1830060928, 1354126464, 1536871552, 1835132416, 1682210432, 1139763456, 2068652672, 1247599488, 2063687936, 1225975680, 1314707200, 1405147008, 1138153728, 1156905728, 1992313984, 1375373696, 1278292608, 1991937024, 1690692992, 1822029440, 1960927488, 1952814720, 1956278784, 1979003136, 1845410688, 1983514112, 2069700608, 1179230976, 1267879680, 1680087808, 1469996416, 1862020352, 2073177728, 1386820864, 1156970240, 2134602624, 1701452032, 1149247616, 1461260544, 1229398272, 1297431680, 1311318016, 2132370560, 1350289408, 2145636608, 2080999424, 1361922304, 1547926016, 2046390400, 1908372096, 1178316928, 1565229184, 1786169216, 1528482432, 1975854976, 1992896768, 2134916736, 1426270080, 1095163520, 1254519808, 2035613952, 1441593600, 1253704192, 1164959744, 1256659840, 1125670272, 1308396160, 1833787904, 2012192768, 1364147456, 1975646720, 1175802880, 1567590144, 1499540608, 1964111488, 1788486272, 1522777472, 1130284288, 2082241408, 1589002496, 1997357056, 2046039040, 1162945152, 1883120256, 1606944896, 1264591232, 1910759680, 1578115072, 1902050560, 1193779200, 1259188352, 1998710400, 1530924544, 2005848832, 1793462144, 1099605504, 1550841600, 1600801792, 1121261440, 2138851712, 1812078080, 1544541952, 1171918592, 1308435712, 1100439808, 1592989952, 1227179008, 1215916800, 1314835328, 2115283712, 1906498816, 1797632640, 1727062528, 1302972544, 1395124736, 1559307008, 1343344640, 1854228096, 1569304192, 1380570624, 1225424256, 1828666880, 1631644416, 1434994048, 1501923328, 1491209344, 1510299648, 1175000320, 1298329728, 1750203264, 1383163648, 1094726400, 1240118144, 1768862336, 1557841536, 1274832512, 1137140096, 1764849664, 1778831232, 2076357376, 1301865984, 1470339840, 2126884480, 1293499776, 1150559616, 1121080192, 2143107456, 1280798208, 1189941376, 1191021568, 1792587648, 1790844544, 2107758336, 1392781056, 1860573184, 1253685760, 1471741696, 1346459776, 1366871680, 1161973376, 1255701248, 1150769280, 1770355200, 1758959616, 1468910976, 1472925312, 1994200448, 2122227200, 1129967488, 1156345856, 2078290688, 1222476800, 1440424704, 1186995840, 1582392192, 2003771776, 1681342848, 1969378304, 1079906816, 1563429376, 1352535040, 1211614592, 1117834112, 2037503744, 1519015552, 1282764416, 1125855616, 1867292160, 1125988864, 1247215360, 1774557952, 1316904832, 2063263744, 1127290880, 2009106176, 1272839040, 1102847488, 1144487168, 1254602368, 1201460096, 1137578880, 1241068416, 1699374464, 1231789696, 1544559360, 1170390528, 2063024896, 1328018944, 1102584448, 1556066816, 1498840448, 1479368192, 2046943488, 1348515200, 1097321216, 1781200128, 2027222144, 1684679680, 1481023872, 1512249344, 1488145152, 1451482112, 1447336576, 1184136320, 1801327104, 1666637440, 1444396672, 1723281920, 1552653568, 1641371392, 1172724096, 2051879424, 2031948032, 2115719424, 1978201216, 1540808832, 1263108224, 1154400256, 1210839808, 1664952576, 1681559168, 1238488704, 1552960384, 1388747136, 1094291840, 1421647360, 1203357056, 1289477760, 2106954368, 1241248256, 1936972928, 1570062720, 2021363200, 1688024192, 1220046848, 1483195136, 1980553984, 1993829760, 1211309440, 1097679104, 1860917760, 1161158400, 2054316032, 1730415232, 1601678976, 1605187712, 1158762496, 1502334848, 1151908992, 1253549184, 2118883584, 1300117888, 2014259072, 1097036544, 1222355328, 1986711936, 2007815680, 1598207360, 1680833024, 1541950592, 1647705728, 1236196864, 1998791296, 1757734784, 2144235392, 1136571648, 1536064512, 2142076672, 1869787648, 1849107328, 1456151552, 1138864384, 1182826496, 1176007040, 1293975680, 2009993856, 1965493632, 1633640832, 1117681536, 1224602496, 1684603136, 2003983232, 1173425024, 1490844800, 1087161216, 1160702080, 1650888576, 2020824320, 2011148416, 1277344768, 1659370368, 1351276672, 1881251584, 1467496832, 1708047104, 1911683328, 1410643328, 1229126656, 1161243392, 1337887360, 2126164864, 1235462144, 1252288896, 1405468544, 1495173504, 1282193664, 1156130432, 1234946560, 1391261696, 1259671680, 1117474176, 1220393728, 1128010112, 1777570432, 1532168832, 2135131264, 1182141696, 1185861888, 1673969024, 1413894016, 1891054848, 1414743936, 1235948032, 1671618560, 1140946688, 1171249280, 1490867712, 2138975488, 1172300416, 2145978752, 1685439616, 1352561664, 1170612352, 1236228608, 1386301440, 1418925824, 2102140800, 1187376768, 1483891584, 1464182144, 1123764992, 1939228288, 1611342720, 2134078336, 1457122304, 1136773120, 1498186368, 1707676544, 1643547648, 1121134592, 1100896384, 1277620736, 1710176512, 1245565568, 1618340224, 1199912192, 2067237760, 1221804928, 1835204096, 1372447616, 1803798784, 1166227712, 1689538304, 1619879936, 1284475904, 1835736064, 1693623424, 1715394304, 1296245504, 2115593728, 1376962944, 1921361664, 1878399104, 2005392768, 1308780160, 1123028736, 1215596416, 1823675520, 2130399616, 1136490752, 1150303616, 2133195648}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {28296, 65835, 5407, -23917, 9196, 12247, -1008, -31, -30684, 31603, -8724, 16832, -29021, 90390, 4038, -5362, 1104, 22355, -2423, 12582, 107440, 7196, 23288, 35995, -18973, 56672, -9504, 16179, 7439, -7739, -4411, -7505, -14912, -16950, -8403, 32966, 60363, 4869, -3822, -4214, 5001, -996, 39562, -4799, 51802, 6203, -6372, 44647, 15082, -810, 53765, 2309, 54745, 3271, 77249, 10728, -3380, -4430, -1179, 70395, -10913, 6283, 29410, 15017, -18491, 105029, 55693, -1575, 35140, -11350, 5800, -5681, -7972, 41354, -12547, -6153, 9126, -1867, 17054, 1557, -5761, 11666, 38527, 3963, -15057, -16481, -797, -12852, -4998, 46003, -32791, -5976, 12749, 26598, 7764, -8212, -14671, 52108, -12025, -13139, 1989, -9649, 12814, 14939, 13413, -377, -10426, 4151, 35751, 16812, -12161, 37092, -26451, 179295, -8330, -5376, -1357, -5594, 15029, -11084, 26103, 16530, -10119, 2803, 56447, 17179, 995, 60773, -6576, -1489, 9455, 12121, -1652, -17565, 8057, -9390, 28909, -15367, 7155, -3368, 47802, 7601, 11224, 24774, -8747, 64210, -29515, -4839, 19871, 48700, -4985, 17439, 20682, -12724, 5203, -10960, 77679, 22080, -2864, -24442, 35369, 58705, -4060, 24201, -11140, 38127, 3483, -9890, -8707, -6628, 86905, 67568, 30537, 68274, -39511, -1441, -1010, 5835, -12940, 16822, -6175, 39818, -10326, 35102, -4017, -2591, -456, 6540, -6736, 474, 11376, 11937, -10480, 42097, -29669, -13672, 2400, 7937, -6225, -2826, 17737, -5363, 25756, 65880, 15236, -1667, 1009, -8113, 27183, -6172, -1535, 221, 7089, -3898, -9705, 6301, -34794, -27210, 15069, -2231, -4764, -5420, 461, -10362, 9407, 56848, -3681, 13702, 113032, 31032, 7357, -6291, -1589, -6964, -1786, 131931, 15867, 527, -26608, -964, 30259, 7965, -5108, 34713, -24457, 2903, 4683, -8430, 7338, -12893, 4381, 2802, 24923, 51233, 54131, 48877, 32138, 52505, 5690, -5311, 16624, -7332, -4313, -2968, 50560, 67309, -15582, 40935, 8094, -442, 45947, -11445, -6359, -9691, -10328, 49133, 7760, -8846, -6009, -11275, -3478, -6673, -7863, 30474, -9236, 54363, -402, -10563, -4039, -2504, 77596, 41753, 31882, 21546, -79, 950, 91712, -2958, 1159, -3069, 29938, -30404, -9107, -9778, 25251, 28528, -1621, -10036, -1670, -38110, 61989, -11251, -3722, -3782, -7486, 64335, 37540, -5520, 23325, 30474, -6116, 15368, -7742, -1090, 21335, 196, -1515, 31692, -3986, 52690, -42483, -5171, 28562, 14777, 47388, 7227, 12904, 31569, 39877, 2434, -87, 7278, 25730, 14860, 71185, 9535, -3945, 18542, -4175, 51915, -2655, 57158, -15341, -9843, 45152, 19158, -15615, 7179, 46413, -6822, -4445, 3816, -5977, -12217, -15611, -27659, -5150, 19631, 39850, -4502, 4458, -2959, -2639, 1361, 67030, 13028, -7598, 6649, -11443, -19742, 34833, -8917, -2419, -4401, 4682, 28563, -1893, -211, 4074, -43314, -11321, 1372, 798, 96463, -8695, 992, 11129, 2609, 5198, -1734, 22907, -5946, -1455, 38863, 66833, -8997, -6060, 6130, 15472, -1906, 16217, 18887, -8148, -5869, 18106, -12521, -4420, 48876, 16443, 27553, -9763, 8309, 5406, 120628, 64097, -3576, -4865, 62937, -18178, 13996, 53237, -27170, -20331, 558, -2175, 4868, 2263, 44, 23548, -1223, -748, -2341, -1322, 9053, -1497, -6234, -7571, 14560, 6691, 5608, 70097, 42383, 8870, 14457, -12382, -9685, 5957, 13915, 33668, -4541, -3851, 21608, 62591, 8904, 13438, 20757, -7368, 27884, -2641, -2475, -4839, -3037, 16914, -7979, 4388, 20041, 72329, 17093, -10415, -4979, 1170, 31502, 10366, 7357, 19502, -3054, -15384, 4357, -12122, -7135, 17090, 12112, 6584, 7106, -4465, -8676, -2623, 3574, -4876, -3649, 95941, -6511, 18601, -1827, 16535, -4740, -1399, -6011, 31196, -18453, 18329, 15319} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-310, -267, -51, 22, -56, -113, -102, -144, 32, -163, -61, -231, 25, -298, -34, -35, -42, -107, -19, -105, -696, -148, -193, -252, 50, -313, 5, -116, -83, -46, -131, -24, 16, 33, -59, -158, -310, -90, 85, -106, -39, -112, -257, -17, -393, -88, -33, -339, -190, 22, -288, -59, -362, -67, -487, -136, -6, -3, -34, -399, 14, -83, -266, -118, 20, -423, -371, -64, -280, -22, -38, -67, -15, -293, -127, -9, -94, -102, -143, -52, -25, -150, -276, -112, -3, 1, -27, -35, -119, -373, 85, -9, -101, -248, -104, -7, 10, -271, 5, -35, -134, -30, -79, -130, -139, -129, 6, -77, -283, -97, -76, -315, 18, -598, 5, -1, -61, -9, -228, 24, -257, -198, 8, -43, -430, -190, -114, -368, 13, -9, -173, -140, -37, 8, -58, 14, -252, -1, -65, -85, -226, -173, -119, -109, -23, -421, -36, 7, -246, -333, -4, -97, -215, 25, -47, 99, -489, -163, -17, -48, -385, -395, -28, -261, 10, -314, -117, -57, -31, -19, -362, -352, -167, -431, 24, -71, -172, -144, -17, -244, -31, -284, -17, -314, -35, 1, -71, -81, -44, -15, -165, -164, -18, -294, 113, 41, -53, -51, -30, -134, -250, -67, -73, -392, -112, -37, -22, -12, -294, -7, -143, -142, -86, -39, -5, -174, -33, -28, -233, -12, 6, -14, -9, -1, -124, -236, -6, -135, -486, -250, -26, -46, -35, 1, -100, -891, -113, -65, 36, -9, -339, -130, -5, -371, -61, -152, -91, -21, -84, 11, -25, -53, -232, -341, -341, -432, -264, -548, -29, -122, -253, -101, -15, -104, -299, -299, 15, -236, -43, -167, -393, 13, -13, -7, 7, -313, -97, 11, -60, -7, -45, 12, 21, -232, -23, -340, -17, -1, -80, 2, -469, -311, -251, -122, -13, -45, -598, -45, -135, -83, -267, 41, 46, -59, -92, -144, -8, -138, -100, -24, -364, -3, -63, -79, 3, -540, -304, -54, -250, -179, -2, -137, -13, 17, -227, -158, -49, -184, -90, -404, -3, -34, -114, -248, -241, -117, -229, -259, -306, -28, 2, -101, -272, -114, -368, -170, 0, -164, 11, -395, -39, -317, 16, -29, -260, -261, 16, -165, -281, 9, -66, -43, -17, -6, 18, -17, -6, -104, -438, 3, -189, 26, 23, -24, -513, -208, 8, -114, 10, 10, -342, 6, -51, -38, -73, -232, -15, -23, -115, 23, 96, -150, -104, -415, -64, -107, -116, -59, -69, -28, -237, -78, -44, -293, -343, -65, -97, -26, -148, -81, -107, -140, -6, 0, -135, -2, -38, -278, -168, -117, -65, -196, -98, -612, -566, -53, -73, -338, 29, -159, -284, 62, 6, -24, -7, -45, -67, 6, -231, -32, -24, -130, 2, -52, -106, 11, 100, -29, -120, -59, -399, -329, -117, -151, 30, 17, -106, -93, -106, -11, -5, -265, -335, -163, -83, -112, -33, -233, -164, -9, -20, -14, -99, -12, -30, -94, -267, -229, 0, -15, -50, -229, -95, -92, -170, -5, 19, -29, -36, -77, -137, -169, -123, -166, -39, 17, -52, -135, -99, -56, -444, -15, -174, 7, -148, -21, -75, -24, -303, 24, -121, -208}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {2097426944, 1586784768, 2046540544, 1223548288, 1350330496, 1197459328, 1122557312, 1122795008, 1896940288, 1087404800, 1246571136, 1086379264, 1983041024, 1830876928, 1781267072, 1566331520, 2126428800, 1576373504, 2097927552, 1689547008, 1154734720, 1148846336, 1811731712, 1592955008, 1731447424, 1997836800, 1568074368, 1818287488, 1952705408, 1713754624, 1667624832, 1401443712, 1079456640, 1739538560, 1332987008, 1271210496, 2045835008, 2084662144, 1615960832, 1298977664, 1212624384, 1539579776, 1888930176, 1450569344, 1889290752, 1822117632, 1410716544, 1393057408, 1154398976, 1601787136, 1850984960, 1481100800, 2095943808, 1563221120, 1548238080, 1497903744, 1635657344, 2096598016, 1415495808, 1106866176, 2092473088, 2012962944, 1158621824, 1083833088, 1078319360, 1096477440, 2044863232, 1086749824, 1876536704, 1181523712, 1252765440, 1445772928, 1197417088, 1415288448, 1931652992, 1093080448, 1302319104, 1690780928, 1996883968, 1503473920, 1270252928, 1343044480, 1785275264, 1409693568, 1201095936, 1238706048, 1396791680, 1193259264, 1523089408, 1701575808, 1372790912, 1089895168, 1601193600, 1655123840, 1942450304, 1439312768, 1446393728, 1376877184, 2026240896, 1340643968, 1549178112, 2120566784, 1613614464, 1104335616, 1414013568, 2074355840, 1354605056, 1711181184, 1470318592, 1779977728, 1354736896, 1899356032, 1994354560, 1573008768, 1148955264, 1971002880, 1752447616, 2034358144, 1947353728, 1537896576, 1951306112, 1565376384, 2018973056, 1093816704, 1250123520, 1978319360, 1158390912, 1223075072, 1412409344, 1884461440, 1321012096, 1638265856, 1359915776, 1776302080, 1274236544, 1154784896, 1625397632, 1187631360, 2045959040, 1120978176, 1251979904, 1593894016, 1484944000, 1591022720, 1915359232, 1098038912, 1937189632, 2054017408, 1295012608, 1200853248, 1777790464, 2114674560, 1460504960, 1111875840, 1386038528, 2035139072, 1602559104, 2088836480, 2066111872, 1713711872, 1903967488, 1714480512, 1855472000, 1088415616, 1511693824, 1643266048, 1530132480, 1089607168, 1172257024, 2059938816, 1687310592, 2064092160, 1353117568, 1589640320, 1467777536, 1689152000, 1794193408, 1196418688, 1384000896, 1260113408, 1777408640, 1490297600, 1211295104, 2088182784, 1188167936, 1747222912, 1525158784, 2041056000, 1372928896, 1105344384, 1614968576, 1378804608, 1179954816, 1856333952, 1188996608, 1519868928, 1981103104, 1839725056, 1909240576, 1303834624, 1826670720, 1165187200, 1306043392, 1289253376, 2114618368, 2044028032, 1493713536, 1122233088, 1584082560, 1368489600, 1400779264, 1339016192, 1972855168, 1166061952, 1229154304, 1281751424, 1606343296, 1125915136, 1515454720, 1715680896, 1797280000, 1573864320, 2059136512, 1158072704, 1961600128, 1146145408, 2064530432, 1226073600, 1473392128, 1429449984, 1346702848, 1085333632, 1690235392, 1934185472, 1383434752, 1800678656, 1221574912, 1639473792, 1358062208, 2107325824, 1468712192, 1529516288, 2146201600, 1863202688, 1629680128, 1473300736, 1979117056, 1432466688, 1332311552, 1137822976, 1185663104, 1294388608, 2004054528, 1875219584, 1075396736, 1096656384, 2061669376, 1983207040, 1167579648, 1100172544, 1707826176, 1739438336, 1135886336, 2028468480, 1368381440, 2008842752, 1947691520, 1806585472, 1435285760, 1649261824, 1213138176, 1686816640, 1178535168, 1093245568, 1838121856, 1302068864, 1745107840, 1851897088, 1080646272, 1881314048, 1214621312, 1115421312, 1734005888, 1339171712, 1462975104, 2104784640, 1317655552, 1113288704, 1245139968, 1836392832, 1284615040, 1448293120, 1997126912, 1805586048, 1814808832, 1657487872, 1135144448, 1250243840, 1859312384, 1215494912, 2016218880, 1704280832, 2016571392, 1169308032, 2039798272, 1828334976, 1755706496, 1725690240, 2102944384, 1937053056, 1964607360, 1367896064, 1095788672, 1589474688, 1166640640, 1124432896, 1704573952, 1079717504, 1075987584, 1454728704, 1849833600, 1291584256, 1170667904, 1496093312, 1763795200, 1489507200, 1252520576, 1205164800, 1479237632, 2003221632, 1641411840, 1652944256, 1557039616, 1601791744, 1520143872, 1887361408, 1859410816, 1284502016, 1334256512, 1708283136, 1159503104, 1670007680, 1418973952, 1829518080, 1285703424, 1823005184, 1721145472, 2041104256, 1679241856, 1331081600, 1429752448, 1885597312, 1509214720, 1082826368, 1839651584, 1619853696, 1128005376, 1100151808, 1684052224, 1107412096, 1170574208, 1856846464, 1672979712, 1516224000, 1598062080, 1806292352, 1855819776, 1892784896, 1294455680, 1871856512, 2038796416, 1490908160, 1667619840, 1160022528, 2125414912, 1450472064, 1080131712, 1140313984, 1910666752, 1605656704, 1761189376, 1201907968, 1545408640, 1153890048, 1640349952, 1978409600, 1253614592, 1436055424, 1139260672, 1316915328, 1972203392, 1171197696, 2005633024, 1293944320, 1381920000, 1438846976, 1114999680, 1160863488, 1379619200, 2018582528, 1383481600, 1324240128, 1139737472, 1389129984, 2049414784, 1533040640, 1146557696, 1546815104, 1323715456, 2036176384, 1113288960, 1146515968, 1838372736, 2098822912, 1550126208, 2011903744, 1236472832, 1326006656, 1992578048, 1443172352, 1537156736, 1803033984, 1667577600, 1926665728, 1573509376, 1137062528, 1795699328, 1831593984, 1397139712, 1110154624, 1248902144, 1173961984, 1196653568, 1984285824, 1949565440, 1128652928, 1962835584, 2137582720, 2117033344, 1082175232, 1379636352, 1499333760, 1884286592, 1160198784, 1184594560, 1988045184, 1681704192, 1825588736, 1554636032, 1117613568, 1175278720, 1509866752, 1611761152, 1101833856, 1579267840, 2033415552, 1726607488, 1983237632, 1361021312, 2060664576, 1558430208, 1679642496, 1857549056, 1146323840, 1777434496, 1141565312, 1291004544, 1848770688, 1384906368, 1117543168, 1238509952, 2104864640, 1455585280, 2141059968, 2046148224, 2047226880, 2005255424, 2040497408, 1216720384, 1940480384, 1098729856, 1268912896, 1699716224, 1259862528, 1686457088, 1944895872, 1789695488, 1983718656, 2094946176, 1140680064, 1991306240, 2138211072, 1939489536, 1541667200, 1756315136, 1207000960, 1316543104, 1974837120, 1410482304, 1677573760, 1389969408, 1264381312, 1689568512, 1688113792, 1490216960, 1105590656, 1124488704, 1153554176, 1230909824, 1704922112, 1350408192, 1546703232}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {1022, 2395, 2567, 1552, -506, 17, 649, -1473, 2717, 1350, -1357, 449, -642, 710, -379, 3009, -557, -294, -2079, 3376, 762, 1873, -12, 310, 735, 591, 226, -1895, 197, 415, 1139, 1153, -1454, 158, 2891, -662, -539, 1136, 43, 739, 875, -1031, -3750, -671, 321, 102, 994, 1904, -403, -280, 1444, 605, 1712, 1431, 749, 1456, -1148, -1845, -372, 1112, 435, -927, 937, 78, 61, 1009, 2815, 1258, -294, -283, -536, -582, 340, 3582, 135, -668, -1674, 617, -1096, 595, 960, 2311, -673, 723, 2608, -437, 1056, 326, 793, -495, -815, -182, 2793, 1758, 1815, -1442, -945, -890, 3400, 232, -515, -180, 600, 150, 189, -165, 2892, 4033, 1178, 41, 1317, 1536, 540, -1457, -1007, 2033, -809, -621, -1376, -160, 3047, -3108, -710, 208, -2572, -1641, 751, -443, 2738, 2000, 3296, 2728, 1048, -177, -317, -147, -1539, 394, 801, -576, -1156, 441, 219, -52, -32, -661, 584, 236, 2322, -1783, 891, 915, 2311, -1355, 1184, 2141, -1214, -739, -1835, -1510, -2323, -1947, -356, -671, 339, 971, 474, 356, -2302, -309, -1550, 180, -488, 2022, -1213, 1284, 2065, 190, 75, 69, 840, -390, -1571, 796, 486, 560, -152, 301, 2022, 146, 998, -1920, 1940, -773, 1420, 266, -1440, 273, -924, 511, 280, 765, 1113, -209, 1275, 254, 470, 641, 1047, 1679, 2512, -300, 353, -104, 94, 1569, -19, 904, -135, 5583, 882, 2341, 476, -751, -164, -331, 708, 396, -456, 1444, 1309, -112, 930, -648, -1797, -374, 852, -2861, 227, 744, 810, -121, -299, -3150, 3490, -1775, 1380, 692, 2030, 1556, 6337, -380, -792, -1578, -698, 684, -2066, 1460, -284, 389, 256, -109, -1680, 322, -704, -2115, -919, 673, 1323, -2543, -478, -336, 813, -518, 563, 438, 633, 3118, 85, 1643, -244, 826, 695, 1475, 2823, -3572, 397, 1141, -1665, 8081, -984, 1013, 1437, -748, 1155, 1902, 462, 1622, -98, -436, 2450, -1389, -872, 2152, -837, 507, -8, 1670, -2621, 285, 547, 3721, 842, 366, -401, 804, -38, -1883, 1878, 1481, -498, 479, -171, -70, 575, -1094, -322, -1186, 1540, 1412, 1220, 283, -958, 1527, 1017, 792, 1983, -538, 702, 3706, 1544, -1478, 1857, -1598, -48, -306, 1603, 581, 1159, 2758, 996, -235, 428, 2207, -1204, -2476, -1263, -899, 76, 2774, 523, -100, -1127, -81, 688, 1165, -480, 213, 1111, 2165, 2443, 2580, -1314, 340, -71, -300, 1805, -205, 533, 774, -1191, 257, 700, 1577, -459, 3329, 651, 2692, 436, -207, -791, -2014, 762, -803, 656, 183, -123, 4731, 1027, 169, 94, 76, 2693, -2004, -2797, 4, -819, 140, 774, -446, -389, 562, -268, -599, 1346, -766, 570, 666, 2977, -1732, -2423, -1720, -1126, 4806, 1503, -595, 40, 1271, 1111, 73, 866, -796, -208, 537, -494, -685, 38, -910, -359, 106, -475, 1227, 485, -100, -1484, -199, 262, -1297, 238, 1217, -448, 79, 3170, 126, -393, -1118, -2746, 304, -274, 466, -1264, -2165, 576, 745, -626, 1517, -908, 1126, 2483, -656, 730, 1569, 507, 3057, -1154, 319, -786, -2038, 524, -142, 724, 2132, -988, 1093, -49, 4659, 4097, -99, 2510, -1207, 2105, 1075, -139, 3040, 411, 1709, -736, 2845, 1285, 229, 825, -1021, -1453, -672, -911, -368, -100, 51, 1153, 955, 630, 927} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-8, -7, -7, -7, -8, -9, -8, -6, -6, -7, -8, -8, -7, -6, -7, -9, -7, -7, -6, -7, -7, -6, -8, -8, -7, -6, -6, -7, -6, -7, -7, -8, -10, -6, -6, -9, -7, -9, -7, -9, -7, -7, -7, -6, -6, -7, -6, -8, -9, -5, -8, -8, -5, -8, -7, -8, -6, -9, -5, -7, -8, -8, -9, -7, -8, -6, -7, -6, -9, -6, -6, -8, -6, -7, -7, -7, -6, -6, -7, -7, -8, -8, -8, -6, -7, -8, -6, -7, -7, -9, -7, -8, -7, -9, -8, -8, -7, -7, -8, -8, -6, -7, -8, -9, -7, -7, -8, -6, -8, -7, -6, -6, -7, -8, -6, -5, -8, -8, -8, -8, -7, -6, -8, -5, -7, -6, -8, -7, -6, -7, -6, -8, -9, -5, -8, -6, -6, -6, -7, -5, -8, -9, -9, -6, -8, -8, -6, -7, -8, -7, -9, -9, -8, -8, -5, -9, -9, -7, -8, -6, -8, -8, -8, -8, -8, -9, -6, -8, -7, -6, -8, -8, -8, -8, -6, -8, -7, -5, -6, -6, -7, -8, -7, -10, -7, -8, -7, -8, -8, -7, -6, -7, -6, -5, -7, -6, -7, -7, -8, -9, -6, -6, -8, -10, -6, -9, -5, -8, -8, -7, -8, -7, -9, -7, -9, -7, -6, -9, -8, -7, -8, -9, -7, -7, -8, -7, -7, -6, -8, -7, -8, -5, -6, -7, -8, -7, -8, -7, -8, -7, -7, -7, -7, -7, -7, -8, -8, -8, -6, -9, -7, -6, -7, -6, -10, -10, -6, -7, -9, -7, -9, -6, -6, -8, -10, -6, -6, -6, -8, -8, -8, -8, -8, -6, -8, -8, -7, -8, -6, -7, -8, -7, -10, -8, -6, -7, -7, -8, -6, -8, -7, -7, -7, -8, -7, -7, -5, -8, -7, -8, -10, -6, -5, -7, -7, -6, -7, -6, -8, -8, -8, -6, -7, -8, -8, -8, -7, -7, -7, -7, -9, -7, -9, -7, -8, -7, -7, -6, -7, -9, -8, -7, -8, -8, -7, -6, -8, -8, -6, -8, -7, -9, -7, -7, -9, -7, -9, -6, -8, -8, -6, -9, -9, -7, -7, -8, -4, -7, -9, -7, -9, -7, -7, -11, -8, -8, -9, -7, -7, -8, -7, -7, -7, -7, -8, -8, -7, -7, -8, -8, -8, -6, -7, -8, -7, -8, -6, -6, -7, -4, -7, -7, -9, -6, -9, -8, -8, -7, -6, -8, -8, -6, -8, -8, -7, -7, -8, -10, -7, -7, -8, -7, -7, -8, -7, -9, -7, -8, -8, -6, -9, -6, -7, -9, -9, -8, -8, -9, -8, -8, -7, -8, -7, -8, -7, -7, -5, -5, -8, -9, -6, -6, -7, -6, -7, -6, -7, -8, -8, -7, -7, -7, -6, -8, -7, -6, -8, -7, -7, -9, -8, -8, -6, -6, -8, -6, -5, -8, -7, -7, -8, -7, -6, -7, -7, -6, -6, -8, -6, -10, -7, -9, -8, -9, -9, -6, -8, -5, -7, -5, -8, -8, -5, -8, -8, -7, -10, -10, -7, -7, -6, -6, -7, -7, -8, -7, -9, -7, -5, -7, -7, -8}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {2112749056, 1749091200, 1082858240, 1952272768, 1351419904, 1222314368, 1437908224, 1525187328, 1506830720, 1500064896, 1376987648, 1162227328, 1991043584, 1283016320, 1191586304, 1860656000, 1639448704, 1719421056, 1100727040, 1576068096, 1414663680, 1807027584, 1121984000, 1699447808, 1276418304, 1479342976, 1764991360, 1104458240, 1751286272, 1364209152, 1943857024, 1588551296, 1271396096, 1623392384, 1649325696, 1143494400, 1550728832, 1794073856, 1954433024, 1087088512, 1290918144, 1091265664, 2012807680, 1119273472, 2093979904, 1804208384, 1988753152, 1802226560, 1422187264, 1316612864, 2097851520, 1237748608, 1151289600, 1651564288, 1866371072, 1852892160, 1444744960, 1417007360, 1403446016, 2117623552, 1090417152, 1193208576, 1503589760, 1357860480, 2016821248, 1554479232, 1760863616, 1872278016, 2004949376, 1498491136, 2022822144, 1963760000, 2139819008, 1290958464, 1122653696, 1301463936, 1455198208, 1640537472, 1208587648, 1341414400, 1222216576, 2101602048, 1101005184, 1184725632, 1995298560, 1789307520, 1158091904, 1107295104, 1230576512, 1240163712, 1195873792, 1384499712, 2132460160, 1803388288, 1261961600, 1291484416, 1836817408, 1846054656, 1416770048, 1488727936, 1351951488, 1259453056, 2093638784, 1407385088, 1484322048, 2072022400, 1431481984, 1394386048, 1762688384, 1819432320, 1894491904, 1801018752, 1299228288, 1756980992, 1392956160, 1423837696, 1308571008, 1143216896, 1493533184, 1096647168, 1271557888, 1095231616, 2088963584, 1378635136, 1847335808, 1317274496, 1359240704, 1262860032, 1165480832, 1973668992, 1557829760, 2097944192, 2049930624, 1813426176, 1705576448, 1084284288, 2139937280, 1861280512, 1117511040, 1297325184, 1164129024, 1751529856, 1256757760, 1155883648, 1163282944, 1183724160, 1108867200, 1551927296, 1944610944, 1868751744, 1291512064, 1488435328, 1083887232, 1295302016, 1882798976, 1123319936, 1352592384, 1270880768, 1280716416, 1908226688, 1962748544, 1100502656, 2136974848, 1517441664, 1759733760, 1566264448, 2139460736, 1109581056, 1663272960, 1838731008, 1111534208, 1995979904, 1132339968, 1369596928, 1364010112, 1148985600, 1188847360, 2146979456, 2070579840, 2119009024, 2112664064, 1965680000, 1489441536, 1397925248, 1760818560, 1675516544, 1792581632, 2128396032, 1660503424, 1257380992, 2050899712, 2041898880, 1314624896, 1495936256, 1838459648, 1176627840, 1154381952, 1103186176, 1943187328, 2107884032, 1443181440, 1187843712, 1742027392, 1327136256, 1585725184, 1153557760, 1799993600, 1371058432, 2120850944, 2144146304, 1122568320, 1306358016, 1150685952, 1332098432, 2129565440, 1105422976, 1076211968, 1562991488, 1142934784, 1212331136, 1326388480, 1079087744, 1995729536, 2006873088, 1116233728, 1430690048, 1483443328, 1504032768, 1884064128, 1286616192, 2027682176, 1473282560, 1473583104, 1093382912, 1584677888, 1730979584, 2002790016, 1555966592, 1165704576, 1798068352, 1958909696, 1374484480, 2106456832, 1119221504, 1368047232, 1140712320, 1093459968, 1873804160, 2132264960, 1210130688, 1269087488, 1750711168, 1378678912, 1560645888, 1319428480, 1318735872, 1976563200, 1197029248, 1568309120, 2082115072, 1201519744, 2142801152, 1557130240, 1249768064, 1602670336, 1176192896, 1893714304, 1527201152, 1834055680, 1123522560, 1394497280, 1494190720, 1323134976, 1336532608, 1995456256, 1855338880, 1362354048, 1360606080, 1259439360, 1833399296, 1331567232, 1826881408, 1312736384, 1899468288, 1523169536, 1859028608, 1425138688, 1114758784, 1460281216, 1313463680, 1849377664, 1930523008, 1092716928, 2079119744, 1153930240, 1173144704, 1691968256, 1680613248, 1096065920, 1351475072, 1627843584, 1903820672, 1622993024, 1222996224, 1255491072, 1096541056, 1470426752, 1726638976, 1211958272, 1164424704, 1107388928, 1593520128, 1301560960, 1946508160, 1811872640, 1514323712, 1108949376, 2099666560, 2070972544, 1143459968, 1466976128, 1606493824, 2107016832, 1137623552, 2130909312, 1931062656, 1773016448, 1119558784, 1154584832, 1321943168, 1938678656, 2075300352, 1524448768, 1634656384, 1308434176, 1589866752, 1376139648, 1111591296, 1350411264, 1642223232, 1840269696, 1179028224, 1252814336, 1755498624, 1302151424, 2090626304, 1410063616, 1461743104, 1187008896, 1979460096, 2004588800, 1914088832, 1485099776, 2045645184, 1743954560, 1669941376, 1773264128, 1694545536, 2118294528, 2071778816, 1076222336, 1899836160, 1190808576, 1934664576, 1444848640, 1325300992, 1209298432, 1663592448, 1727124608, 1437858432, 2097973248, 1230252160, 2036446208, 1300982016, 1093772928, 1788852096, 1838061184, 2092550016, 1965325824, 1165413760, 1078483968, 1977211136, 1908508288, 1682355712, 1432558208, 1631590784, 2048956672, 1175548928, 1391374336, 1172656640, 1203003648, 1244058752, 1355860224, 1398476288, 1183421696, 1282582912, 1213764992, 1397711872, 1077249536, 1320827648, 1508776576, 1272406656, 1256733696, 1201399936, 1881787136, 1191025536, 1317203584, 1542332544, 1115921408, 2082629632, 1545613056, 1393374720, 1608200960, 1894111360, 1975356032, 1148432256, 1373848192, 1486644992, 1648282240, 1192923776, 1912300160, 2092727168, 2121504384, 1819966592, 1084495488, 1169043328, 1542529536, 1427904384, 1396779776, 1345884288, 1471009152, 1361642624, 1082834432, 1481629056, 1609724416, 1748846848, 1224640768, 2011160576, 1326426112, 1207370752, 1347597824, 1431612928, 1326701056, 1166362880, 2057729408, 1216990208, 1702321408, 1910779008, 1249857536, 1155122176, 1134205056, 1271330688, 1445811072, 1927053696, 1683447296, 1369493248, 1128244864, 2084868608, 1364138368, 1537641088, 1253137280, 1508885632, 1228679040, 1481134848, 1482930432, 1236871808, 1403096192, 1159421056, 1914161280, 1549354624, 1594745984, 1162835712, 1119708288, 1398310784, 1109385600, 1465343616, 1119510656, 1412684288, 1403902336, 1261822976, 1894997760, 1387210240, 2060121472, 1121947776, 1306180224, 1767495424, 1957125376, 1298870400, 1423738496, 1329743360, 1922139904, 1251879424, 1075540352, 1542971776, 1522486528, 1705702784, 1715471360, 1308521856, 1745995136, 1278091392, 1623283456, 1856762240, 1725266688, 1421187968, 1246956160, 1186307840, 1713158272, 1373989504, 1531551488, 1143449600, 1122688640, 2001376896}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-4881, -4846, -1560, 2164, 6013, 8483, 59224, -1789, 6015, 96378, -7547, 1328, 91719, -3186, 3850, -9496, -5489, 17215, 2400, 3452, 1859, 10517, -5831, -7162, 77253, 28154, 38554, -73, 35608, -2309, 8892, -5063, -8707, 57243, 20502, 51877, -2732, -3534, -10152, 39444, 1083, -2836, -2686, 5993, 47722, -3831, 34983, 28775, 7707, 9668, -9176, -7404, 19399, 23813, 33476, 5162, -10987, -7981, 6363, 1030, -9340, 25362, 30264, 3977, 3515, 14537, 37696, 39488, -624, -3846, 3814, 2189, 23113, 3844, 27113, -2675, -15775, 6887, -10510, 3714, -9045, -5779, -7623, 80043, 48197, -7096, 22808, -10745, -223, 2203, -122, 75130, -4985, 6597, -2908, -7209, 125314, 5920, 19009, -2879, -10417, -5688, 7775, -6751, 24373, 3894, 13262, 6888, 1487, 8573, 27974, -6090, 46597, -11256, -794, 49576, -13056, -6627, -7945, 618, 13345, -4357, 81881, 31848, -2521, 124130, -4801, -3470, 13292, -22502, 8587, 10659, 15733, -30356, 8648, 58988, -6043, 69116, 24601, -2943, -2884, -9564, -6307, 136299, -87, -7062, 37074, 25809, 14928, -2483, 12392, -1151, 21473, 74570, 133842, 12845, -5409, -2211, 109, 8577, -10353, -3857, 102407, 14068, -4088, 27041, -3888, -56323, -7175, 23067, -6002, 26063, -2610, -14579, -9316, -8741, 11866, -1450, 17149, -7182, 9766, 34612, 7418, 15067, 13355, 5827, 77084, -5645, 3714, -13703, 23662, -3886, 7887, 6070, 94074, 73214, 13122, 2781, 10112, 5582, 13447, 43986, 772, 25739, 24509, -14771, -10077, -1156, -2482, 5347, 52007, -1347, 22663, -12253, -5104, -18003, -7434, -4472, 41016, 21343, 3316, 37796, -3419, -6081, -11927, 10039, 8160, 46837, 12510, 9966, -2833, 36107, 12015, -7864, 1436, 7430, -18140, 67141, 9462, 4, -3352, -4626, 4872, 44132, 11261, -7937, -5073, -3888, 34705, 54717, 10804, 93077, -11525, 46513, -6155, -4807, 2118, 5729, -6704, 2122, -7802, -9608, -7719, -4216, -8479, -3937, -9967, -1633, 37229, -697, -4395, -7059, 54762, -3792, 8014, 27502, -6484, 18542, -2379, 8603, -1576, 32160, -5277, 13606, 5886, -5319, 5093, 48158, 34487, 14182, -1406, 7765, 17157, -6481, 21127, 8573, 45107, 35391, 9002, 137258, 10284, 14613, 52645, 64437, -1712, -2024, 38770, 5777, 49690, -1580, 7837, -589, 35723, 26281, 35364, 1874, 6684, 34113, 125526, 73003, 13620, 14420, 335, -2372, -10416, -16281, -5008, -11944, 10747, 36579, 23757, 135817, -5474, 3476, 40944, -9014, 76469, -10927, 7794, -2544, -2308, 139039, 10615, 42697, 12649, -18180, -28786, -2183, 13934, 12423, 6910, 53640, 2469, 23386, 9289, 39411, -6603, 38944, 12355, -689, -10501, -5740, -9402, -7365, 5953, 38968, 7626, -60038, 56920, 23492, -3651, 4666, -4957, -5026, -9235, -5494, -2742, 72450, 22034, 1106, 25558, 4889, -91, -1666, 27585, 15675, 43415, -3813, -1622, 97773, -2946, 5086, 37854, 11525, 18661, 10827, -7657, 5640, 28520, -10357, 48750, 64587, -10216, 103088, -4411, 56965, -3838, 12942, 67039, 47036, 3366, 41500, -22111, 7396, -2193, -7796, 12816, 57377, 69336, -7991, -3946, 40373, -8456, 18183, -8217, 14391, -7175, 16376, -1237, 8586, 26816, -3586, -6036, -1206, 8425, 11392, 17785, 52033, 146848, -2277, -536, 32341, 6018, -1537, -3596, -9949, -7753, -2662, -7547, 34985, 9135, -3706, 6259, 827, -9822, -837, -3207, -10897, 134569, 10676, -6007, 34217, 18066, 73576, -11359, -843, 69024, -5816, 22870, 53218, 178, 27293, 75845, 2026, -9044, -4104, -4076, -1027, 53730, -2732, -9554, 41776, 1941, 1585, 14506, 24792, 13602, 28671, 13737, 39061, 1059, -3438, 7908, -2833, -7798, 1186, 8676, 3361, 41840, 10405, 40585, -16321, 6902, 9304, 57610, 2314, -5420, 32368, 15392, -8707, -3870, -7516} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-53, -8, -83, -73, -97, -94, -376, -51, -42, -559, 6, -59, -479, -36, -189, -2, -24, -195, -64, -97, -89, -161, -2, -95, -356, -287, -315, -65, -288, -23, -26, -9, -5, -291, -218, -369, -17, -99, -16, -333, -129, -88, 13, -24, -359, -72, -228, -285, -126, -89, -46, -21, -225, -136, -300, -218, -50, -15, -115, -138, 2, -218, -216, -19, -151, -153, -300, -328, -20, -12, -48, -22, -233, -44, -174, -17, 122, -43, 14, -209, -71, -108, -23, -273, -247, -5, -241, -19, -29, -22, -113, -360, -14, -82, -28, 13, -557, -160, -233, -182, 18, -2, -138, 1, -257, -26, -77, -40, -87, -196, -250, -13, -348, 3, -39, -323, 55, -8, -10, -120, -204, -22, -319, -284, -56, -514, -3, -11, -210, 35, -183, -202, -189, -21, -213, -372, 6, -485, -245, -91, -6, -45, -45, -454, -27, -32, -332, -197, -221, 38, -129, -125, -212, -287, -544, -149, -63, -79, -69, -83, 1, -51, -675, -78, -20, -297, -7, 116, -57, -190, -30, -236, -50, -102, -86, -1, -133, -30, -121, -10, -32, -224, -63, -147, -195, -37, -422, -33, -161, -12, -232, -46, -114, -127, -429, -476, -120, -148, -160, -120, -143, -254, -70, -182, -207, -4, -29, -14, -21, -27, -255, -36, -132, 11, -4, 10, 13, -21, -231, -243, -124, -318, -57, -24, 6, -150, -194, -393, -131, -32, -104, -255, -147, 2, -144, -25, -3, -429, -51, -22, -27, -11, -108, -289, -48, -38, -6, -121, -304, -356, -238, -535, -31, -203, -32, -9, -75, -33, -39, -78, -6, -22, -9, -57, -39, -40, -98, -2, -286, -82, -98, -56, -342, -28, -36, -280, -54, -215, -95, -186, -24, -210, -42, -161, -45, 1, -57, -333, -177, -243, -68, -40, -150, -99, -108, -182, -308, -323, -182, -742, -119, -81, -327, -478, -47, -8, -201, -33, -248, -73, -104, -110, -258, -225, -355, -110, -141, -239, -598, -344, -126, -184, -70, -161, -2, 2, -56, 4, -49, -298, -206, -562, -55, -56, -288, -141, -340, 7, -34, -52, -17, -807, -140, -359, -202, 65, 11, -93, -164, -211, -190, -361, -73, -147, -116, -397, -22, -267, -112, -81, 11, -49, -10, -3, -125, -292, -24, 28, -456, -262, -107, -26, -18, -14, 8, -11, -126, -379, -90, -113, -224, -136, -119, -50, -278, -175, -367, -65, -140, -786, -22, -179, -193, -161, -112, -121, 8, -39, -270, -8, -314, -395, -42, -442, -17, -390, -22, -145, -264, -281, -56, -216, -50, -163, -43, -9, -147, -338, -398, -5, -35, -270, -40, -242, -37, -140, -2, -202, -16, -95, -290, -22, -23, -91, -78, -208, -50, -474, -601, -178, -17, -224, -35, -12, -8, 17, -11, -113, -10, -172, -165, -47, -27, -105, -2, -46, -48, -10, -543, -159, -81, -321, -223, -314, 5, -127, -609, -103, -245, -372, -78, -226, -457, -60, -41, -18, -21, -120, -397, -12, -14, -249, -65, -142, -95, -154, -66, -279, -191, -302, -47, -70, -121, -76, -34, -39, -116, -158, -162, -123, -399, -28, -179, -85, -387, -139, -34, -164, -165, -109, -27, -14}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1925425024, 1161768576, 1708843136, 1178139264, 1112894464, 1431799680, 1195850368, 1436506240, 1844586624, 1940771200, 1930695168, 2065453184, 2135577600, 1632659712, 1261738496, 1201052032, 1555614848, 1367632256, 1600208128, 2048880768, 1353525376, 1700524672, 1734198656, 1635628160, 1709080320, 1221448064, 1756287104, 1778414720, 1982402816, 1884406016, 1333693952, 1306342656, 1667067008, 1126385792, 1531282048, 1928270976, 1115751296, 1399650944, 1185193984, 1319107712, 1989643520, 1137682688, 1834089728, 1442135936, 1188791808, 2030620032, 1521757568, 1909877248, 2071463552, 1961227392, 1407679104, 2052016512, 1735776256, 1080988672, 1903702528, 1176286336, 1588670848, 1562338688, 1510063616, 1929824896, 1921396352, 2010321408, 1085773824, 1084799360, 1402519296, 1852170112, 1591359872, 1338070144, 1283767040, 1134954624, 1123973760, 1104390784, 1359916544, 1295422464, 1461018624, 1208598016, 1406777472, 1121500800, 1885219456, 1400032000, 1133437184, 1174688000, 1219782144, 1684448512, 1578269952, 1318690048, 2074267520, 1209218688, 1074474240, 1179485184, 1910304512, 1243735552, 1695785600, 1977556352, 1868703232, 1231239936, 1483835008, 1924903936, 1977996544, 1432628352, 1318525568, 1679627648, 1502106240, 1921713664, 1847147648, 1484516864, 1147154432, 1126694400, 1152660352, 2013614080, 1541056000, 1171651840, 1145284224, 1302722048, 1349543936, 1157691392, 2100312320, 2134190464, 1173267456, 1529136512, 1256386176, 2010668672, 1108884736, 1451267200, 1290382208, 1847180672, 1994263168, 2057800576, 1335521152, 2108795904, 1272861696, 1650205440, 1133521152, 1415905536, 1627106048, 1906574464, 1573624064, 1653540224, 1489244800, 1922553216, 1883689728, 1623078528, 1353398400, 1938919552, 1466717568, 1956990336, 1410887424, 1660539136, 1750946304, 1339471616, 1815393408, 1385665920, 2111448064, 1233400832, 1202702848, 1225942912, 1301327872, 1423195008, 1183871616, 1124847360, 2013374592, 1087507712, 2006441088, 1412885760, 1741981184, 1429648256, 1531392256, 1819921280, 1240704640, 1370828544, 1085504512, 1101624064, 2000636544, 1711497216, 1931739520, 1226476544, 1493036288, 1879132032, 1606753280, 1272204672, 1491547520, 1876194176, 1562122880, 1092393728, 1094348544, 2119181312, 1514999936, 1712159488, 1115050368, 1774902400, 1192304768, 1986995200, 1252946688, 1541047296, 1173851136, 1775779200, 1147913728, 2108337536, 1443898368, 1938677760, 1754099712, 1117567232, 2099209088, 2133923712, 1212736512, 1102257536, 1245614720, 2100993792, 1223082240, 1882370816, 1604641536, 1827519488, 1404409728, 1267652992, 1930535168, 1681558528, 1177673344, 1122924544, 1922292608, 1800845568, 1661937536, 1399774208, 1318134528, 1363582592, 1770833920, 2013953152, 1711923200, 1966308992, 1299606272, 1257381760, 1083096192, 1462736512, 1351137792, 2140142848, 1770408704, 1198769408, 1636312320, 2129535104, 1491587072, 1129367552, 1555308928, 1451186176, 1391171968, 1233406976, 2079901312, 1448013952, 2037203712, 1441779456, 1752009088, 1808088576, 1369167232, 1998651392, 1607639808, 1953706624, 1208230912, 1143126144, 1790299264, 1897477632, 1602946944, 1685890304, 1294778496, 1244960768, 1166327808, 1369789056, 1338227328, 1429147008, 1832503168, 1822312192, 1622469632, 1293433728, 1388271872, 1363997696, 1225153920, 1133027584, 1167165184, 1291111040, 2099149952, 1250831488, 1617304192, 1326304128, 1136203648, 1956879232, 1993466368, 1298758144, 1197865344, 1157503872, 1335746048, 1208278784, 1229703680, 1618100608, 2137349760, 1735185792, 1991041408, 1159052288, 1291056128, 1766562048, 1160538368, 1753388032, 1605633280, 1503268608, 1211948416, 1393310080, 2073886080, 1325436032, 1744250112, 1137656576, 1547224960, 1657868416, 1896970496, 1299111808, 1349352576, 1916635392, 1546019200, 1883530752, 1467983872, 1884130048, 1383015808, 1875812736, 1644721792, 2102390144, 1590753536, 1416656640, 1430339712, 1851164928, 1149605248, 1247299968, 1688015616, 1342567680, 1758809088, 1412384512, 1567931392, 1130970624, 1276794368, 1081547392, 1425915136, 1567476864, 1342257024, 1117862912, 1336670848, 1263090944, 1208042624, 1628487552, 1548002304, 1291937024, 1996353152, 1534749184, 1286218240, 1234831360, 1133254016, 1686577408, 1609573248, 1342485760, 1755617152, 1374832640, 1832422144, 1317965824, 2092303488, 1337436800, 1674358528, 1156601728, 1962355840, 1464709120, 1366112896, 1168427776, 1226243200, 1785419008, 1167809408, 1788404480, 1075291008, 1545754240, 1895117568, 1108269184, 1261674624, 1124547712, 1283421056, 1486321024, 1215134720, 1439763840, 1877647744, 2046708992, 2057216128, 1345129856, 1175359744, 1209785600, 2134570752, 1160248448, 1242291840, 1159405952, 1430469888, 1844718976, 1237163904, 1235696256, 1177756032, 1456208512, 1231163136, 1112350080, 1132400896, 2087636608, 1764851328, 1852454528, 1699640832, 1464482944, 1780302336, 1279345408, 1513897344, 1883578880, 1269548416, 1151387520, 1194395648, 1251860352, 1475069696, 2037577344, 1114609280, 2046305024, 2102380288, 1284009856, 1479383296, 2112149248, 1129695232, 1637996928, 1242115712, 1461540096, 1123976448, 1568338688, 1225337344, 1288745600, 1870125568, 1754813056, 1858100736, 1532072832, 1662907264, 1807709184, 1231368576, 1780788096, 1237230720, 1418675712, 1935415552, 1818070016, 1329068672, 1301372672, 2106370560, 1249905152, 1445635584, 1499495680, 1468036224, 1259847552, 1840472064, 1161227264, 1156533888, 1775218944, 1872753664, 1416670080, 1701266048, 1210424704, 1725791104, 1213777920, 1156987648, 1415420032, 1638214272, 1609862528, 1594452224, 1489776000, 1155770368, 1091893888, 1376604672, 1107632128, 1415321344, 1373827968, 1462427392, 1718680448, 1966027008, 1865124992, 1433204992, 1968887168, 1129960448, 1241535488, 2045135104, 1257906176, 1844361344, 1179273472, 1387074048, 2120715008, 1521750144, 1466966144, 1303919744, 1931856256, 1265183872, 1640528768, 1074595712, 1173988480, 1426079744, 1243144320, 1440634112, 1493261568, 1301707904, 1966822784, 1076258304, 1983275648, 1656161920, 1097525248, 1286893440, 1263371648, 1781141632, 1408414080, 2117762560, 1914094592, 1900839808, 1346045440, 1518746752, 2094093696, 1320691328, 1415742592}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {-25, 585, 304, 45, 825, -629, -2587, -1666, -679, -492, -2073, -1247, 340, -713, -1035, 1552, -2125, -1088, -1605, 1564, 16, -3061, -1555, -789, -1482, -387, -445, -1160, -1322, 1322, -3054, -255, 1053, -408, -1514, -713, -692, 872, -858, 68, -627, -737, -2589, 1182, 1783, -1190, -742, 11, 397, -1197, -1107, 1362, -1943, 582, 200, -2092, 1214, -659, -2209, -1855, -1630, 283, -229, -321, -1613, 1734, 136, 354, -1558, -2232, -548, -1897, -126, 559, 1261, -3495, -187, -3125, -3218, -296, -1105, -588, -770, 342, -1736, -244, 4429, 176, -2670, 528, 1559, -906, 1785, 1103, 1307, -1014, -603, -1425, -242, -223, -469, 984, -463, -224, -3015, -1135, -1161, 2170, -1472, -2753, 1101, 1594, -270, 903, -3252, -1607, 4184, 2191, 3935, 1209, -2258, -1872, -802, 92, -637, -3533, -351, 1269, -3024, -4001, -3257, -1776, -741, 2696, -277, 187, 677, -1270, 849, -3070, -425, 686, -1160, -391, 465, -792, 452, -553, -362, -638, -299, 550, -116, -824, -848, -1509, 2676, -812, -2646, -692, -1643, -1127, 299, -462, -1438, 291, -793, 2166, -566, 366, -659, 119, -906, -661, -1332, 209, -1635, -2805, 3010, -1994, 5, -938, -712, 82, 3828, -926, -1625, 1936, -2717, -703, -1777, -1518, -253, -3247, -1980, -2017, -616, -1292, -1867, -321, 895, 590, 772, -907, -2651, 1439, -1560, 628, -1982, 206, -260, -410, -883, -9, -2061, -1308, 1104, -264, -1935, 911, -1107, -197, -657, 1019, -1371, -1476, -436, -1856, 661, -409, -292, -1223, 362, 114, -300, -590, -1277, -3851, 570, 652, -1659, -1522, 2725, -1317, -699, 1070, -820, -125, 553, -1035, -293, -995, -1174, -710, -1388, 897, -2557, 1321, 391, -1443, -172, -2483, 152, -595, -2126, -1381, 1468, -10, -409, 165, -928, -586, -975, 510, -340, 492, -1332, 208, -617, -1212, 159, 214, -1495, -689, -3565, -3026, -2577, -1156, 1134, -796, -4029, -926, 7538, -1365, -1770, 554, 772, -1257, 464, -1595, 92, -567, -737, 359, 97, 2038, -233, -2139, -3116, -2243, -1762, 416, 27, -323, 72, 179, -2329, 1943, -601, -809, -1029, -2375, -2849, 348, -1571, -2387, -426, -16, -762, -726, -2669, -2598, 1076, -3060, -2711, -536, -1591, -3159, -1071, -153, 454, -1341, 105, -449, -2479, -3539, 423, -2319, 495, 127, -1440, -1251, -3368, -1011, 1952, -3040, -3269, -1019, -1988, 294, -2023, -951, -64, 581, -1347, -2970, -292, -1544, -472, 552, 1451, -584, -833, -377, 1285, -3267, -326, -1161, -3035, -1163, -35, -448, -670, -1795, -1516, -1116, 2012, -1540, -2236, 1569, 315, -1310, 616, 257, -3184, -1827, 1370, 746, 1056, -2493, 466, 1659, -2103, 336, -347, -416, 1530, -186, -727, 1323, -1615, -1655, -3206, -2243, -49, -1710, 1110, -1560, -2561, -1129, 502, -1268, -1945, -1056, -1767, -213, -3074, -817, -352, 871, -1434, 499, -1549, 11, -1769, -1222, -756, -1157, -680, -365, 2493, 770, -802, -2986, 234, -1033, 2104, -1335, -622, -1688, -228, -767, 97, 1428, -10, -3941, -594, -638, -524, -492, -565, 2029, -2269, 3851, -420, -1744, -1806, -1025, 1177, 2409, -1146, -1178, -1717, -1189, 636, -2422, -1700, -285, -450, -2146, 971, 722, -1178, -978, 1877, -3081, -1907, 2650, 1097, -371, -100, 3, -490, -2583, -1647, -393, -1417, -1300, -237, -499, -4087, -1561, -1148, 1052, 1008, -2960, -1065, -34, -1157, -2419, -2121, 673} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-6, -8, -8, -8, -6, -6, -8, -7, -8, -7, -8, -7, -9, -7, -6, -7, -8, -9, -6, -7, -10, -7, -8, -6, -5, -8, -10, -7, -7, -7, -9, -7, -7, -8, -7, -10, -8, -7, -6, -8, -9, -9, -8, -7, -9, -8, -6, -9, -9, -8, -4, -7, -7, -7, -9, -7, -8, -8, -7, -7, -8, -6, -7, -6, -7, -8, -9, -3, -8, -9, -5, -7, -8, -6, -9, -7, -7, -6, -7, -8, -9, -8, -8, -8, -9, -7, -8, -8, -7, -7, -6, -8, -8, -7, -7, -6, -4, -9, -9, -5, -7, -8, -7, -8, -7, -6, -6, -8, -7, -7, -9, -9, -6, -8, -8, -5, -8, -7, -9, -8, -6, -9, -7, -7, -8, -6, -7, -7, -8, -7, -7, -6, -8, -7, -7, -8, -7, -7, -5, -7, -6, -8, -7, -8, -7, -7, -10, -8, -8, -9, -8, -8, -8, -8, -7, -8, -6, -6, -6, -9, -7, -7, -4, -8, -8, -5, -7, -7, -7, -7, -8, -8, -7, -8, -7, -9, -5, -8, -6, -8, -8, -7, -6, -6, -7, -6, -7, -9, -5, -7, -7, -9, -8, -8, -8, -8, -6, -5, -8, -6, -8, -9, -6, -7, -8, -8, -9, -8, -7, -7, -8, -7, -9, -10, -8, -8, -6, -7, -7, -7, -7, -3, -7, -8, -8, -8, -7, -6, -8, -8, -8, -8, -7, -6, -6, -5, -9, -8, -9, -6, -7, -8, -9, -8, -7, -8, -8, -6, -8, -7, -6, -7, -8, -7, -7, -7, -7, -7, -9, -8, -4, -7, -9, -9, -7, -9, -8, -4, -10, -9, -6, -7, -6, -6, -7, -8, -8, -7, -7, -10, -8, -9, -8, -8, -6, -8, -7, -6, -8, -7, -8, -7, -7, -8, -7, -9, -8, -7, -8, -6, -8, -5, -9, -8, -7, -9, -7, -9, -8, -9, -7, -8, -6, -8, -8, -7, -8, -9, -9, -7, -7, -7, -8, -8, -7, -8, -9, -8, -8, -9, -7, -8, -9, -7, -8, -6, -7, -6, -7, -7, -8, -7, -7, -8, -8, -6, -9, -8, -9, -7, -7, -6, -7, -7, -8, -7, -7, -7, -8, -7, -6, -8, -7, -7, -8, -7, -7, -5, -9, -9, -6, -6, -8, -6, -9, -7, -7, -8, -8, -9, -8, -8, -9, -7, -7, -5, -9, -7, -6, -6, -7, -5, -8, -6, -7, -9, -7, -9, -8, -5, -7, -8, -8, -7, -6, -6, -8, -8, -7, -7, -6, -7, -9, -6, -7, -8, -8, -7, -6, -5, -8, -7, -8, -8, -8, -8, -6, -9, -7, -7, -7, -9, -6, -8, -6, -7, -9, -7, -8, -8, -5, -8, -7, -7, -7, -8, -6, -8, -8, -7, -6, -9, -7, -7, -8, -8, -8, -8, -9, -8, -7, -8, -9, -8, -7, -8, -9, -9, -8, -6, -8, -8, -7, -9, -7, -6, -8, -8, -8, -8, -8, -7, -7, -6, -8, -7, -6, -6, -6, -5, -10, -9, -8, -8, -8, -7, -7, -5, -8, -10, -8, -6, -6, -7, -8, -9, -7, -8, -9, -8, -6, -8}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1624938496, 1207284224, 1170133248, 2138297856, 1401339776, 1364634112, 1152903936, 1157528320, 1107883776, 1342647680, 1296169344, 1287556352, 1932736896, 1075116160, 1084515968, 2119425408, 1183728768, 1270367616, 1506993920, 2131587968, 1221031936, 2063062144, 2067533184, 1291057920, 1533895680, 1512140800, 1757691520, 1688684288, 2005836672, 1294413952, 1957405824, 1356017536, 1164248832, 1419375104, 1928940672, 1836616704, 1305231360, 1629263872, 1366033280, 1374202496, 1300398976, 1563653120, 1108017408, 1997130112, 1331927936, 1094187520, 1159283840, 1391754624, 1349619072, 1334025472, 1590531456, 2019603712, 1137376768, 1574310272, 1904408832, 1136554624, 1190689920, 1148458240, 1478204544, 1205386112, 1075277696, 1474403712, 1240713600, 2037877888, 1221780608, 1385717376, 1933856128, 1469572736, 1133822336, 1414852736, 1129567232, 1170754816, 1190318848, 1125705600, 1570845568, 1204760960, 1855083904, 1989240704, 1152488320, 2062411520, 1569758336, 1254477440, 1215962496, 1924186752, 1706915456, 1400588160, 1757497856, 1924185728, 1078811520, 1595179008, 1953679232, 1140485504, 1747792000, 2013505920, 1200189056, 1487672832, 1506290944, 1511692672, 1410210176, 1560349696, 2107417728, 1179278720, 1374451072, 1104743168, 1102280320, 1358839424, 1360312832, 1947379968, 1789399808, 1996755456, 1397562112, 1219598208, 1976180480, 1753397248, 1110576384, 1583813376, 1278247680, 1638051072, 1405040768, 1077660288, 1101942912, 1314216064, 1844952320, 1161779456, 1456884736, 1537551360, 1136744832, 1080391040, 1120609536, 1771133696, 1970723456, 1678000256, 1266803328, 1645251584, 1462475520, 1891960448, 2070039680, 2061356160, 1482634240, 1117260032, 1274140544, 1852419584, 1347744640, 1182513920, 1209087232, 2117580672, 1379463552, 1631769216, 1444636032, 1246639488, 1286217856, 2081659776, 1453026944, 1233913984, 1898187520, 1134636160, 1842850560, 1135590784, 1428131328, 1356278784, 1305800576, 1991606272, 1102330624, 1228941824, 1410001408, 1314513664, 1956931072, 1718080896, 1489141632, 1394659200, 1292574464, 1407591168, 1144451200, 1650324480, 1103550080, 1172515328, 1441038592, 1351384960, 1628144000, 1992864000, 1511002112, 1892795264, 1487180544, 1301401984, 1093253888, 1438000000, 1093467264, 1224056960, 1467043840, 1610661248, 1089703040, 1385218944, 1915976704, 2032418304, 1202212736, 1129553280, 1528401536, 1344283648, 1897576960, 1172608000, 1901102976, 1584978944, 1639374336, 1397691392, 1602387968, 1330820480, 1423285248, 1111805824, 1795091968, 1290235136, 1249105792, 1623751424, 1402615424, 1215508224, 1149249664, 1526974592, 1543138304, 1165466752, 1596430848, 1263009664, 1976110976, 1907645312, 2048940416, 1242801792, 1334113024, 1165670400, 1159452544, 2037587328, 1260862592, 1708992384, 1232187392, 1499875968, 1666626048, 1497456256, 1400448640, 1527634816, 1361071616, 2042510464, 1097006592, 1412516864, 2076874240, 1084920192, 1794633984, 1366711936, 1094624000, 2046189824, 1946554752, 2140946304, 1576741760, 1073757440, 1796755584, 1252270208, 1199855232, 1513239680, 1357019008, 2132273536, 1122390656, 2104086400, 1125695232, 1412134656, 1176948864, 1963553024, 1142914432, 2047739392, 1117169152, 1140489472, 1151223040, 1352880896, 1175164416, 1714555776, 2108750208, 1220675328, 1303381504, 1770227200, 1545924608, 1138936320, 1985102208, 1997676672, 1360953984, 1332634496, 1981400320, 2066551040, 1251406848, 1795060608, 2098873344, 1349184768, 1120901760, 1239119744, 1793985408, 2048833920, 2011270528, 1430709248, 1093641728, 1316566528, 1102737536, 1128855168, 1820828032, 2135498240, 2054556800, 1754252288, 1813027712, 1632330368, 1364815232, 1715497856, 1144912000, 1431925504, 1091148416, 1093287040, 1915951616, 2099621120, 1447952512, 1377157248, 1477453312, 1186157312, 1100445440, 1196594048, 1870465280, 1152851456, 1193907968, 1603060992, 2109896064, 1117487616, 2007396864, 2128512000, 1468633344, 2128796160, 2137275648, 1432556288, 2033916800, 1495288832, 1242026624, 1289741568, 1633259520, 2146507776, 1109319808, 1523589120, 1081588992, 2001556992, 1121238656, 1676401408, 1928572800, 1218865408, 1556752896, 1372212480, 1220557184, 1957350016, 1217513728, 1210551168, 1203696512, 1226427904, 1088068096, 1264794496, 1961927552, 2129863808, 1542508672, 2120351872, 1180845312, 1906401408, 1161872896, 1270129280, 1665692544, 1261440256, 1868340864, 1226776832, 1631328640, 1424721408, 1606145408, 1407607296, 1290066048, 1845311488, 1802135296, 1220913152, 1177429248, 1302147968, 1353029888, 2038545024, 1840974080, 2026069376, 1236244480, 1133765888, 1958034304, 1321471360, 1140838656, 1136317440, 1804208640, 1140456704, 1627535488, 1700744960, 1241476352, 1280623744, 1355446784, 1377260288, 1373009664, 1520750976, 1584719104, 1290272256, 1663462528, 1411612416, 1211341952, 1737040384, 1166881664, 1238534016, 1984549632, 2075339392, 1270414720, 1076350208, 1926391168, 1098393600, 1236052992, 1886361216, 1096452096, 2096398208, 1242576128, 1226192768, 1138291072, 1722702848, 1114211712, 2089583744, 1320036096, 1898038528, 1681059456, 1260539008, 1885801472, 1179462272, 1119227648, 2032759296, 2005298432, 1256947328, 1139661184, 1137509504, 2134150656, 1398145664, 2118954752, 1317305984, 1228951936, 1160318464, 1368850304, 1086294912, 2103653760, 2071684864, 2110171008, 1940702080, 2020923904, 1619822848, 1939486848, 1193969152, 1961505152, 1970667904, 1554832000, 1855676160, 1443791872, 2025470976, 2056099584, 1258956544, 1965501056, 1936044800, 1252387456, 1296631040, 1167607552, 1081275008, 1155000832, 1582030464, 1403152768, 1520201984, 1856711168, 1493828352, 1459800448, 1077135360, 1804862720, 1508628736, 1086495232, 1881230720, 1882834432, 1458218112, 1588335488, 1832354176, 2116060160, 1505869440, 1783200640, 1137178112, 1242663424, 1909606272, 1294016128, 1075811456, 1377497344, 1505577216, 1241364864, 1258954880, 1278794496, 1607480448, 1566949888, 1381469952, 1102762880, 1977791616, 2046985856, 1974445824, 1334640000, 1514747008, 1445259520, 2074155136, 1078481408, 1394852096, 1162209920, 1214967296, 2042149760, 1398856832, 1223154048, 1092674944, 1196185728, 1494926976, 1360801408, 1084967168}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-4430, -4774, 78052, 82064, 74903, -7750, 66992, -6427, -3213, -7143, 11721, 7497, 14149, -3868, -4674, -11492, -5289, -3592, -2032, -20712, 74075, 128425, -12967, 56974, 16470, -19420, -153, -2815, -5435, 5748, 156989, -9066, 48610, 91652, -5313, 44902, -2281, 58342, 39968, -10956, -2887, -713, 78274, 140052, 71211, -11132, -2918, 2638, 15206, 13100, 62717, -5798, -3303, -3139, 18367, -3895, 48830, 28197, 70962, 69895, -4035, 30606, 52518, 1081, -2628, 10335, -4954, 31788, -937, 6051, 4478, -2581, 20141, 19033, 33990, 8015, 60625, -7030, -4144, 13799, -12756, -4700, -403, 13029, -14718, 42457, 17471, 57176, 28664, 21090, 89833, 54587, 30678, -5731, 14473, -4004, 39663, -22829, 13326, -5503, 36948, 44472, 69159, -5016, -1936, 12548, 5350, 7588, 66398, -1909, -16654, -2432, 53665, 10954, -3650, 99377, 18376, -5244, 6867, -11467, 6849, 7292, 77011, 41564, 69886, -8936, 54008, 37550, -4600, -5425, -3257, -2880, -5769, 26934, -5181, -3095, 12321, -6843, 21889, -10887, 36982, -20224, -2793, -11241, -5045, -3672, -7159, 33342, -6477, -4313, 21005, 79651, -1064, 58391, -1912, 28445, 32630, -3044, -10096, 80450, 103081, -4064, 133115, 31482, -5936, 69638, 34950, -735, 125619, 117020, 68402, -16447, 57305, 11630, 65476, 85817, -3048, -4907, 4432, 73044, 10187, 64085, -7415, 27659, 31764, -5499, -15341, 12208, 41209, 13999, -10426, -4499, 76445, -6412, -4144, -9625, 58378, -2166, -3192, 68669, -7379, -11893, 11007, 282, -3874, -8099, 8929, 53631, -3471, 24737, 61243, 81848, 41018, 15246, 73781, -280, 92489, 71798, 49548, 12429, 96633, 19478, -3966, -3944, -12099, 54566, 56472, 62047, 26362, 60544, 118137, -3883, -987, 61086, -11323, 38, 51084, -7553, -9386, 12508, -3749, -8403, 5558, 5177, -6903, -3734, 69638, 41981, -7155, -4505, 4647, 82273, 14625, -11797, 101309, -2945, -3356, -11226, 8078, -7159, 38947, 104211, 49951, -1534, -9154, -2755, 27883, 62944, -7321, 51770, 56187, -7974, 55685, 43446, -7774, 56249, 75206, 14311, 6644, 4710, -4807, 15021, 52018, 9800, 5148, -28596, -4543, -6723, -15614, -3489, -4718, -6501, 13091, -4163, -2567, -6179, 33668, -2964, 145738, 91810, 18823, 78086, 70887, 69963, 29912, -6724, -2956, -3016, 81247, -3235, 77786, -6071, 47586, 98927, -4232, 20635, -5119, -24586, -6320, 130386, 64690, 166672, -7431, -2282, -3071, 65494, -5346, -4073, 2653, -7366, 20507, -10299, 6273, 1232, 77235, 56827, 88262, -8331, 27200, 54885, -6916, 29080, -10018, -3113, -1680, -2090, -7416, -8115, -1814, 80761, 65759, 17127, -3732, 63523, 7561, -5338, -18791, 13515, -13902, 50330, -6114, -4786, -5143, -4795, 96280, -8276, 59640, -4746, 42669, -4648, -4763, 13906, 81, -11350, 28098, -5429, 8672, -7320, -7087, 88333, 45025, 122955, -4022, -6958, -2288, -1269, -19113, 27076, 45339, 11745, 56330, -4380, 64032, 79719, -4946, -2143, -24471, 37621, 89557, -7844, 158255, -3906, -4229, 66644, 49470, -231, 41079, -11642, 50351, -2904, -2595, -7583, -8603, 10879, -4635, 53654, -2252, -2024, -3432, -4440, -497, -2238, -12534, -9681, -8129, -3037, 67338, 66785, 129040, -8226, 39263, -14443, 147746, -5804, 13282, -5906, 36206, -2486, -6427, -7062, -1383, 89852, -4077, 210078, -17661, 69446, 21531, -7115, -14347, 54196, 89111, -3846, -4551, 6294, 84346, -3700, -3512, -7927, -4037, -4744, 67250, -10591, -6312, 16688, 36902, -11004, 61816, -5972, -6966, 16550, -3747, -3376, -112, -9307, 63495, -2608, -4570, 14989, -2433, 2590, -4093, -1142, -1729, -11332, -1374, -3022, -2528, 3248, 40884, 47211, -29943, -7658, -6190, -3486, -7403, -2422, -18144, -13862, 8952, -3257, 69, -6039, 60616, 57740, 37055, -4957, -7842, -1779, 53038, -2784, 37868, 99105} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-138, 0, -361, -422, -431, -23, -290, 1, -126, -61, -125, -174, -91, -38, 59, 11, 0, -23, -6, 7, -382, -427, -2, -415, -257, -5, -115, -4, -19, -144, -451, -33, -262, -308, 61, -253, -29, -297, -261, -1, -71, -21, -312, -992, -246, -63, -11, -164, -154, -132, -392, -57, -10, -158, -108, -15, -355, -156, -591, -471, -30, -147, -376, -71, -15, -159, -48, -209, -24, -99, -120, -84, -152, -156, -185, -105, -498, 21, -20, -116, 19, -102, -65, -137, 4, -213, -239, -272, -302, -260, -445, -372, -274, -10, -106, -44, -297, 71, -144, -45, -225, -321, -407, -28, -110, -121, -36, -190, -331, -79, -9, -168, -371, -176, -87, -488, -246, -159, -45, 0, -91, -71, -430, -316, -450, -92, -255, -304, -39, -15, -20, -17, -6, -156, -24, -99, -143, -45, -89, -69, -364, -64, -11, -48, -98, -21, -103, -241, 1, -95, -184, -471, -138, -314, -97, -244, -192, -10, -48, -322, -703, 73, -503, -225, -45, -417, -223, -117, -729, -420, -261, -4, -272, -48, -287, -374, -38, -5, -63, -405, -75, -401, -39, -263, -205, -77, 53, -190, -204, -138, -60, -26, -339, -100, -5, -3, -379, -14, -31, -299, -109, -53, -121, -24, 40, 11, -85, -376, -8, -234, -309, -386, -262, -127, -388, 50, -608, -568, -367, -83, -508, -142, -91, -126, 0, -356, -535, -436, -142, -389, -400, -11, -114, -246, 3, -33, -275, -22, -35, -46, -49, -17, -48, -94, -94, -9, -314, -318, -28, -16, -39, -611, -135, 5, -413, 0, -22, -24, -130, -3, -343, -683, -389, -33, -45, -18, -135, -413, -13, -405, -429, -41, -454, -214, -16, -531, -464, -153, -111, -149, -65, -121, -505, -113, -86, 19, -43, -12, -9, -36, 18, -4, -236, -9, -49, -17, -183, -38, -667, -517, -150, -410, -496, -375, -269, -34, -6, -14, -363, -76, -396, 9, -348, -360, -117, -212, -13, -23, 1, -567, -296, -714, 8, -75, -12, -389, -69, -32, -41, -16, -144, -27, -68, -73, -307, -383, -369, 0, -276, -421, -19, -349, -23, -25, -10, -9, -6, -31, -97, -520, -307, -118, -6, -295, -37, -38, 8, -165, 11, -442, -58, -24, -9, -7, -565, -64, -437, 58, -185, -33, -38, -113, -85, 44, -187, 9, -41, -37, 20, -388, -288, -588, -70, -9, -137, -81, -42, -223, -373, -208, -257, -75, -423, -527, -23, -84, 29, -157, -626, -10, -830, -32, -7, -454, -369, -2, -314, -29, -327, -18, 4, -4, 12, -107, -24, -377, -51, -72, -12, 2, -33, -167, 3, -3, -1, -51, -472, -529, -505, 18, -381, 2, -641, -60, -159, -10, -284, -44, -75, -22, -87, -495, -48, -736, -33, -419, -201, 10, -50, -394, -543, -15, -58, -121, -406, 9, -30, 6, -75, -11, -517, -41, -4, -230, -276, -9, -280, -21, -17, -251, -24, 46, -58, -37, -377, -44, -18, -115, 3, -89, -134, -60, -1, -10, -57, -36, -106, -66, -293, -204, -16, 9, 3, -15, -14, -24, -32, 18, -43, -102, -19, -25, -386, -334, -213, -65, -37, 13, -270, 1, -419, -455}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1780613504, 2095806336, 1519511808, 1616363776, 1265980928, 1447559680, 2125815296, 1082161664, 1256121856, 1080347392, 2039595264, 1211942528, 1211441152, 1868883840, 1152567808, 1283388288, 1966200832, 1948818176, 1720628352, 1624582528, 1333588224, 1338127744, 1559240448, 1743225600, 1263050112, 1316348032, 1192369536, 1230352256, 1407698176, 1498129024, 1438300928, 1260200448, 1324574336, 1750470400, 1272882944, 1775770368, 1324680576, 2069433088, 1490773376, 1613253248, 1441219968, 1152514304, 1108638848, 1392374272, 2088554496, 1283481856, 1860504960, 1974057216, 1163968768, 1077288704, 1645462528, 1508682752, 1523077760, 1208319616, 1306567936, 1443257600, 1883327872, 1752004480, 1303876736, 1443245568, 1217622272, 1646181120, 2137448192, 1973028736, 2053394432, 1529536256, 1765048704, 1534796800, 1096219392, 1867432448, 2117675520, 1640002304, 1101414016, 1133863296, 1232002304, 1093027456, 1120547968, 1613268736, 2118852224, 1283480448, 1081326464, 1510177536, 1384790144, 1518693888, 1862330624, 1744445312, 1780041984, 1334577024, 1709677696, 1167884416, 2044634880, 2145711232, 2118361088, 1882691968, 1295869440, 1097309568, 1303667200, 1523029120, 1981727872, 1646565632, 1159613696, 1172096128, 1450245504, 1294952448, 1961052288, 1954873472, 1187283840, 1632296832, 1088327296, 1340545024, 1143116288, 1313839360, 1210715392, 1458489088, 1616080512, 1108385152, 2128923520, 1259849856, 1112097152, 1297224832, 1765276288, 1339245696, 1611640832, 1148795648, 1500776192, 1239322368, 1328313344, 1688604032, 1432866688, 1961960448, 1160035584, 1942749568, 1717443328, 1279498368, 1142461184, 1178015744, 1129248128, 1425893888, 1174469760, 1465903232, 1592621568, 1423670656, 1242082816, 1246298240, 1382986240, 1408704512, 1470128512, 2127628672, 2121851136, 1565288320, 1361634304, 1293596800, 1770479744, 1818245376, 1639015168, 1126407936, 1967548288, 1341122176, 1305172992, 1124775680, 1720741248, 1139192064, 1656249472, 1491986432, 1549386240, 1372807296, 1919379200, 1443034368, 2036476928, 1826872704, 1348172544, 1542679424, 1582268032, 1646234752, 1487335808, 1398027776, 1605232256, 2078286976, 2038195200, 1567337216, 2010748160, 1775924992, 1078457216, 1988409856, 1455755136, 1452237696, 1386912896, 1744275456, 2050709120, 1245460096, 1526355200, 1844560256, 1156675456, 1303345408, 2064790400, 1494637696, 1479636352, 1079388672, 1115315456, 2143831040, 1131926144, 1354403968, 1799861760, 1091124608, 1177644288, 1979593984, 1355473280, 2146402048, 1124910464, 1832501504, 1169126272, 1274006272, 1293154304, 1088965888, 1527468800, 1300899328, 2075250048, 1401545088, 1309979392, 1102058112, 1113198080, 1232276992, 1271449600, 1174135296, 2110165632, 1982631168, 1640640896, 1799432448, 1676282752, 1815721728, 2139466368, 1235374080, 1699424640, 1228915456, 1258524416, 1188235136, 1168301056, 1680710656, 1137713152, 1388994688, 1523961472, 1277955968, 1164166272, 1225181184, 1268793984, 1076967424, 1215215744, 1148581504, 1725469312, 1568926848, 1193599488, 1116782592, 1504803200, 1138898176, 1748835072, 1445536000, 1182003968, 1150407296, 2064717696, 1756318080, 1162686464, 2072523136, 1440359424, 1953316352, 1893329664, 2123615616, 1628628992, 1614911616, 2062928128, 1926546304, 1788778496, 1229047808, 1697385472, 1232476416, 1276818560, 1604348416, 1641714304, 1268566784, 1888404096, 1393233920, 1590444672, 1456232448, 1691717120, 1642303616, 1417382272, 1533664384, 1935597824, 1199047296, 1659468928, 1965822080, 1525849600, 2092582528, 1090338944, 1959067648, 1719428736, 1988179968, 1080081024, 2127975552, 1773211648, 1942090240, 1986426240, 1655309056, 1246040320, 1305773184, 1954666240, 1329872256, 2040131072, 1896099968, 1180101248, 1454181376, 1357734912, 1167202560, 1369245824, 1457055872, 1558297216, 1749457408, 1093333248, 1302962048, 1958481024, 1924623744, 1497738496, 1256260608, 1389703552, 1207992576, 1579272320, 1626284160, 1245338752, 1246772992, 1324962048, 2116129408, 1745852160, 1452175616, 1109033344, 1135429504, 1222634752, 1681501184, 1138708736, 2128508416, 1095389952, 1885255040, 1096928512, 1768424192, 1287559168, 1253390848, 2051416832, 1175380992, 1280238848, 1220512256, 1516604288, 1237564416, 1883152640, 1986082944, 1103966976, 1233445504, 1449862656, 1248302080, 1261129088, 2107675008, 2027392640, 1740211200, 1700731008, 1200967424, 2064349568, 1820690816, 2009185920, 1099887744, 1103127680, 1591295744, 2003992832, 1922631936, 2026433920, 1361821312, 1689588096, 1131862656, 1450806656, 2120434688, 1131203456, 1132638208, 1191563008, 1122365696, 1281810048, 1701495424, 1317551744, 2145313280, 1807168896, 1526900352, 1377138816, 1137148032, 1214213120, 1736602624, 2048973184, 1347547136, 1485018880, 1084904192, 1706342912, 1423972608, 1631547136, 1663608960, 1206322688, 1845300736, 1154982912, 1484067584, 2102596352, 1552155904, 1935310720, 2112397696, 1259150336, 1838144128, 1898271744, 2108328320, 1316967680, 1834150784, 1092595968, 2000206336, 1302013184, 1360036096, 1407307904, 1770814208, 1201150848, 1892236672, 1533778944, 1257886592, 1825446528, 1451196160, 1994386560, 1184953856, 1561749248, 1399379328, 1899349376, 1137858432, 1213810048, 1553073536, 1363771776, 1683382528, 1460166400, 2139171840, 1537473536, 2076601344, 1194859008, 1236888192, 1230965376, 1149144192, 1434268800, 1095974912, 1144548608, 1514251264, 1530703360, 1553111168, 1293072768, 1807271424, 1081938816, 1320536192, 1609964672, 1646500352, 1663599872, 1708456576, 1152610816, 1627503232, 1523881856, 1245764992, 1279098112, 1074652928, 1786862976, 1128545024, 1854965504, 1268069504, 1411033088, 2034849408, 1794599680, 1955378176, 2000553728, 2049773440, 1079631232, 1193725824, 1758869120, 1309283840, 2040650240, 1313760384, 1893364736, 1566000640, 1797409152, 1332207104, 1590422400, 2112335872, 1224984832, 1140837504, 1674085376, 1918721920, 1373728896, 1311771776, 1109459072, 1322440576, 1952132480, 1087009024, 1241905408, 1088686336, 1294240256, 1554340096, 1239868544, 1564150528, 1364050176, 2031623168, 1590112896, 1605340928, 1424725632, 1144619392, 1130340992, 1856161792, 1731050752, 1677846016, 1201656960, 1213021184}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-62544, 4768, -2165, -33438, -30344, -13501, -60961, -50798, -35956, -13955, -13342, -22089, -28627, 16628, -12026, 10697, 10471, -52058, -37320, -8068, -33763, 22368, 8836, -2532, 7540, -3991, -71311, 60099, 28736, 10341, -10622, 5362, 7509, -9998, -31776, -16665, 15260, 34710, -14592, -57591, 4373, -27101, -10634, -15252, 26605, 669, 19944, 24610, 33365, 2714, -33350, 22653, 15211, -39500, -16256, 4604, 1197, 2681, 15122, -13884, -95, 23939, -18263, 26529, -19895, 5708, -40682, -2980, -17727, -24326, 98871, 14581, 33447, 19438, -35215, 22620, -26948, 8568, 8788, -36277, -27395, 5880, -24362, -2924, 2627, -61462, 12474, 2156, -23041, 6129, -17851, 9534, -2874, -10978, -10819, -49085, -20346, 1638, -30247, -11153, -7035, 33629, 34514, -29045, -15482, -6136, -21127, -23738, -11819, -22340, -12348, 62418, -24137, 5650, -11985, -1120, 5691, -22778, 47809, 18449, -39768, -52567, -5784, 21552, 146, -28298, -279, -29836, -50006, -32008, -45201, -83931, -10800, -32022, -32463, -10844, -27687, -31816, -41600, -31455, -25064, -35941, -18711, -33427, -41446, -8283, -38311, -32308, -44759, -6903, -49770, 33237, -15472, -21978, -8477, 2212, -45858, -1886, 54803, -233, -49717, -203, -19620, -9760, -4542, -28537, 583, -46117, -11037, -13774, -2311, -17413, -66354, -24911, -29538, -51367, -31337, -34431, -56081, -3858, 29187, -7541, -16869, -39433, 403, -30332, 4386, 725, 25946, -2272, -15007, -31092, 47272, -12669, -14946, 18537, -13186, -9556, -48793, 2989, 5533, -39846, 60865, -23670, 18204, -23315, -20906, -19974, 40712, 10446, 72904, -27519, -44470, -3739, -2491, -7778, 36728, -38766, -26939, 26495, 7751, -5124, -19271, 13169, -13216, -12442, -5742, 4977, -55973, -25500, -20424, -36832, 13056, -86584, -4150, -15103, -43676, -15538, 14345, 2023, 25890, 53796, -4555, -16325, -1423, 997, 66022, -29512, 8438, 17689, -23952, -29454, -31209, -23071, -46329, 26619, -47831, -29787, -24346, -21720, -26063, -46190, -27617, -12410, -21545, 2764, 6886, 5986, -3689, -40519, -46117, 24849, -65295, -37745, -30735, -55687, -36466, -22336, -7979, 2851, -21253, 13593, -27857, -4503, 16339, 12474, -28285, -33207, -8428, -33915, -35482, 5614, -27112, 52713, -26146, 33672, 14497, 2489, 12011, -10761, 6135, -7683, -10563, -17166, -32325, -9671, 41300, 49058, 8482, -15537, 17890, -39192, -11099, -3632, -7486, -35222, -9064, -20239, -59692, 48840, 8420, -38674, 11900, -38641, -11925, -29258, 37850, 6045, -501, -48603, 24669, 42133, -35978, -18796, 14819, -12021, -2091, -42159, 27697, 48933, -34013, 9324, 27702, -2399, -7635, 10795, 1627, 15808, -6062, -22027, 41529, 14287, -35991, -35789, -32268, -41332, -26573, 27189, 35137, -21228, 7207, 5087, -17356, -9217, 8557, -14038, 13094, 6764, -38264, -21169, -55359, 42789, -36893, -17777, -30203, -16239, -25529, 18684, 34542, 11809, 18006, -30692, -8012, -14572, 23547, -19869, 6734, -34523, -36980, -20602, -26368, 21729, -447, -34877, 10943, 15520, -44016, 24874, -8337, -17841, 16547, 14342, -7324, -16068, 11808, -5742, 6693, -1326, 10453, -44892, -56438, -7229, 5591, -33116, 990, -32350, 36828, 22568, -20262, 27361, -30334, 12193, -6586, -38479, 19902, -27291, 14403, -5977, 4662, -17316, -31892, -36432, -16462, -8220, -11257, 3590, -675, -15134, -7824, 21594, 13421, 14431, -9327, -670, -18856, -2776, 11221, 10147, -23292, -78977, -28149, 14840, 11686, 1007, -17426, -22453, -10641, 32577, 12901, -16861, -19303, -29574, -6894, -14855, -3548, -50736, -22396, -42323, -18125, -4054, 17170, 27984, -25567, -13648, -45636, -33199, -42614, 63397, 1087, -51950, 27404, 4003, 23994, -36116, -12208, -35809, -5585, 42755, -14366, -8925, -6474, -741, -68850, -36391, 11163, -5661, -20277, -10917, -48527, 12618, -15, -17652, 391, 22087, 37404, -13767, -12115, 14692, -8254, -10976, -21128, -31973} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-132, -140, -127, -128, -124, -94, -129, -138, -131, -127, -166, -140, -124, -139, -132, -137, -145, -108, -150, -96, -128, -128, -116, -114, -127, -123, -134, -127, -138, -136, -129, -129, -117, -112, -118, -120, -144, -104, -131, -141, -138, -129, -103, -151, -125, -117, -130, -135, -97, -147, -142, -130, -140, -132, -178, -124, -48, -139, -138, -118, -120, -122, -118, -125, -138, -160, -172, -112, -111, -161, -134, -117, -121, -132, -145, -102, -143, -128, -208, -122, -133, -141, -105, -118, -118, -131, -113, -118, -134, -127, -134, -151, -117, -125, -156, -111, -123, -118, -124, -136, -125, -97, -125, -104, -143, -119, -124, -132, -100, -137, -133, -117, -119, -147, -128, -153, -147, -135, -139, -86, -122, -118, -130, -162, -136, -113, -124, -125, -119, -145, -135, -120, -118, -125, -103, -138, -142, -92, -120, -81, -123, -151, -128, -167, -122, -110, -191, -138, -136, -121, -137, -134, -137, -135, -122, -108, -140, -139, -134, -133, -125, -117, -145, -126, -118, -117, -134, -131, -113, -134, -162, -134, -123, -115, -122, -140, -151, -136, -117, -116, -142, -105, -134, -114, -160, -122, -107, -154, -144, -49, -134, -134, -120, -141, -135, -164, -144, -143, -153, -138, -112, -125, -127, -135, -117, -138, -115, -109, -118, -134, -127, -123, -105, -131, -131, -110, -113, -145, -131, -182, -131, -101, -134, -75, -137, -135, -135, -152, -138, -129, -135, -140, -114, -124, -148, -130, -128, -129, -131, -152, -113, -119, -173, -148, -136, -142, -143, -142, -132, -135, -116, -108, -118, -117, -141, -151, -148, -134, -111, -138, -122, -129, -118, -132, -112, -191, -132, -140, -122, -144, -127, -147, -119, -146, -123, -126, -147, -136, -89, -144, -139, -84, -120, -121, -125, -98, -132, -109, -110, -132, -127, -93, -118, -92, -135, -158, -116, -125, -110, -131, -128, -120, -136, -132, -137, -109, -135, -109, -122, -130, -193, -102, -89, -122, -127, -135, -105, -129, -122, -130, -147, -104, -159, -138, -149, -144, -125, -127, -144, -127, -108, -129, -125, -135, -138, -118, -146, -133, -131, -125, -130, -159, -128, -129, -134, -131, -104, -136, -134, -138, -114, -138, -125, -126, -108, -137, -122, -122, -130, -141, -136, -113, -123, -147, -121, -121, -127, -96, -138, -116, -134, -133, -118, -141, -116, -141, -146, -115, -125, -133, -142, -127, -125, -130, -135, -122, -127, -128, -128, -134, -139, -124, -120, -133, -125, -133, -174, -147, -131, -142, -145, -121, -113, -133, -134, -140, -179, -138, -137, -133, -148, -114, -100, -141, -138, -144, -121, -169, -139, -113, -158, -105, -92, -149, -125, -147, -139, -153, -125, -113, -140, -150, -145, -116, -121, -133, -102, -131, -173, -117, -136, -153, -143, -110, -146, -122, -125, -173, -145, -117, -120, -121, -144, -122, -137, -161, -129, -110, -125, -126, -149, -139, -124, -146, -139, -137, -123, -131, -110, -118, -160, -119, -171, -134, -119, -117, -127, -115, -116, -131, -103, -107, -107, -141, -147, -138, -104, -122, -128, -144, -154, -120, -112, -125, -130, -154, -124, -96, -140, -149, -123, -144, -137, -160, -144, -146, -143, -115, -149, -113, -136, -159}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1183897984, 2054200320, 1855415040, 1631956224, 1888675328, 1672899328, 1192079744, 1250585472, 1106012160, 1483797632, 1130750848, 1543296512, 1296283392, 1486010368, 1168309120, 1145257344, 1196504320, 1158113536, 1491634304, 1117412736, 1154465408, 1990188416, 1356956544, 1923303424, 2085882240, 1112939648, 1125407616, 1789626624, 1354011392, 1188645504, 1138458112, 1226710656, 1329414272, 1275844480, 1352132352, 1298965632, 1210783360, 1097867520, 1333229312, 2108770304, 1400272768, 2034176256, 1370119168, 1402107008, 1099144960, 1128575872, 1199970176, 2021327360, 1736265856, 1592360448, 1650148480, 1215600256, 1599657600, 1945882368, 1635322112, 1468353280, 2061314560, 1380003456, 1512060032, 1260339968, 1248416384, 1744315904, 1386486144, 1923904000, 2133475584, 1462528384, 1354700672, 1175060992, 1407036288, 1293586304, 1716678144, 1235811200, 2004614016, 1186193792, 2088173440, 1665677184, 1090565632, 1273140352, 2014566784, 1210144256, 1643837696, 1564502016, 1426836992, 1759783168, 1574801408, 2011549824, 1492364160, 2018825344, 1113918848, 1621950336, 1298904704, 1373681408, 1158608256, 1432705024, 1101519872, 1271454336, 1149490304, 1297001472, 1172689536, 1252950016, 1941328640, 2117260800, 1239660544, 1080291072, 1230943104, 1231276288, 1816026496, 1094660352, 1153043456, 1136308096, 1913347072, 1080225920, 1216452864, 2003539584, 1120038528, 2081995136, 1206830208, 1967561728, 1217686144, 2113485440, 2096379008, 1600860160, 1415397504, 1609130112, 1179295488, 1870961280, 1240982912, 1996667264, 1170959104, 1331157376, 1340847360, 1628252416, 1200671104, 1875597568, 1250797696, 2087979648, 1584198016, 1655307008, 1089287680, 1498782080, 1314148480, 2082747264, 1932785920, 1307584512, 2081192832, 1505690752, 1107800832, 1225961344, 2042474880, 1435847552, 1990643712, 1474129792, 1249521920, 1316030848, 1704669184, 1089938688, 2059038464, 1415486592, 1698132736, 1677362176, 1133052800, 1259161984, 1374265856, 1177801984, 1461774336, 1355790848, 1212381312, 1179859456, 1098001664, 1340609408, 1253243008, 1145026944, 2040374400, 1424913664, 1157340800, 1797681792, 2066562432, 1220951936, 1131065728, 2078058496, 1207606016, 1310204416, 2124847360, 2110600448, 1358331648, 2060525568, 2043904512, 1207215744, 2021846016, 1333138688, 2041868928, 1197520768, 1803466752, 1318954624, 1193487360, 1140442112, 2045780864, 1148678400, 1350814720, 2018685952, 1166675712, 1089613184, 1503985024, 1233573888, 1153436160, 1159016960, 2041357440, 2145511424, 1481534592, 2033358208, 2143818240, 1819550720, 1128464256, 1398440832, 1217225856, 1197278464, 1362562944, 2131014528, 1326655872, 1577746816, 1910975232, 1311043072, 1641915648, 1206071040, 1171533440, 1650222848, 1167789952, 2137095936, 1876400384, 1116695936, 1200693888, 2130869632, 1242651520, 1117415424, 1080488704, 1761387264, 1920092032, 1273165184, 1122889216, 1081060096, 1342680960, 1438205440, 1836695680, 1177473408, 1218480640, 1372638080, 1867703424, 1945989120, 1275459072, 1351580288, 1981436672, 1291774464, 1395706496, 1151783680, 2070386304, 1827628160, 1817924480, 1100912128, 1241450112, 1231915648, 1110300288, 1885332224, 1210516608, 1995618944, 1113743872, 1204339456, 1200482176, 1335924864, 2112375936, 2012919296, 1676851968, 1223610368, 1762338688, 2039198848, 1150867072, 2097581184, 1086067200, 1298960128, 1585235072, 1152060288, 2097669888, 1320483456, 1436444032, 1976287488, 1812822144, 1780650624, 1853586560, 1740033920, 1630513664, 1903431552, 1174336384, 1139166848, 1995125248, 1258913664, 1536902784, 1353862656, 1517726976, 1342816640, 1148036096, 2054781696, 1465447552, 1931383680, 1178257792, 1964446464, 1832916224, 1813244160, 1302409600, 1106821248, 1586976512, 2136474496, 1185915264, 1521994112, 1498391680, 1158790272, 1495860352, 2058355712, 1993266560, 1284016000, 2019807232, 1826345856, 1199184000, 1349794560, 1317936768, 2141082368, 1362517504, 1970826624, 1854258688, 1807627392, 1715741696, 2058916096, 1201484288, 2042019072, 1340056832, 1237382528, 1925323904, 1294013568, 1842294016, 1181089408, 1108829312, 2101480192, 1097305344, 1254577152, 1895025408, 2070789632, 1260238848, 1156828288, 1382155904, 2127804544, 1183905152, 1195304320, 1755325312, 1416404736, 1603280768, 1247857024, 1161616128, 1158747648, 1135783552, 1975028992, 1373576960, 1431135232, 2132814976, 1215213568, 1142416640, 2084776064, 1137366272, 1124838528, 1261537536, 1458944640, 1262744448, 1461797760, 1743314048, 1950291200, 1324981120, 2108910208, 1962115840, 1945828224, 2045035904, 1481618816, 1391673216, 1148701568, 1828374144, 1077207296, 1589460096, 1290325504, 1743756288, 1367892992, 1172397184, 1451074432, 1182241792, 1964430208, 1076431744, 1209014400, 1285310720, 1083384320, 1332885376, 1299854848, 1161051392, 1278512384, 2032377088, 1575866880, 1152626176, 1085378816, 1354947456, 2096005632, 1695684992, 1181261952, 1896616320, 1747032064, 1080872320, 1283738112, 1182262656, 2108593408, 1262573568, 1958381824, 1160584448, 1130484608, 1148915072, 1594361216, 1103982976, 1269908736, 1705746688, 2090114688, 1281486592, 2073562112, 1322138496, 1108936448, 1104279936, 1698559232, 1192101376, 1362879744, 1113574144, 1190232576, 1262153088, 1319100544, 1380176128, 1202747008, 1483830144, 1258664704, 1654874624, 1242516608, 1473962240, 1972517760, 1742656640, 1770390656, 1160986880, 1419825152, 1119977216, 1102718464, 1073800320, 1832885376, 1385207552, 1129572608, 2028146816, 1264983296, 1557408896, 1242585728, 1554733312, 1841831168, 1414117376, 1193208832, 1406390656, 1876481792, 1129472896, 1705378688, 1373328512, 1515166208, 1795417600, 1139276288, 1192801408, 1093451136, 1464319744, 1272844928, 1126570368, 1227567616, 2076112640, 1523576192, 1983566592, 1917752320, 1900657408, 2039861888, 1988546432, 1247591168, 1444054784, 1898513920, 1887239680, 2007557760, 1164882944, 1332900480, 1995005568, 1179749120, 1780110080, 1341269248, 1224866304, 1120137728, 1515127680, 1327292160, 1158023808, 1101393408, 1254254464, 1303073024, 1203127680, 1903852032, 1685834112, 1253714560, 1765552640, 1577884288, 1206582784, 1451586944, 1208559360, 1742389376, 1972340224, 1301904384}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-735, 95520, 86426, 8249, -979, -215, -839, -1073, -637, -504, 10606, 48209, -3321, 138995, 149131, 127070, 63898, -6951, -606, 46682, -676, 19751, 70913, -256, 4890, -16982, -298, 62972, 143885, 140915, -683, -366, 130197, -676, -251, 129820, 71768, 65232, -372, -285, 70385, -786, 88824, -562, 96498, 114936, 130923, 57982, 179672, 20252, -454, 123634, 107153, -479, -472, 175197, 27202, 131452, 60161, 130230, 134440, -12710, 89609, 73226, 110054, 123596, -869, 75294, -338, -11248, 59229, 125951, -371, 155942, -578, 29762, -260, 134637, -7357, 56790, -1623, 105279, 8874, -29886, 9984, -405, 110001, -1496, 144561, 89591, -1676, 68831, 183, 86213, -396, -627, 19036, 152354, -696, -690, 94600, 53982, 123783, -505, 108562, 151995, -55336, 2901, 83191, -1917, 91826, 74073, -31990, 70353, 90509, -1105, -297, -272, 146721, 83724, -300, -1661, 98466, 86469, 159689, -249, 83049, -624, 7018, -757, -463, -2349, 136658, -275, 74437, -598, 75121, 155088, -428, 55261, -929, -841, -674, -1990, -358, 78743, -7085, 1329, -272, -484, -949, 16510, 96720, 54540, -622, -330, -393, 128704, 121287, 4004, -1148, 21813, -229, 175491, -15692, -228, -633, 730, -328, -1515, -474, -875, -19523, -728, -134, -1006, -527, -731, -300, 64341, 111369, -733, -1979, -574, 43428, -296, 58588, -582, 71788, 13452, -2314, -146, 83061, -713, 2505, 568, 2, -1352, -490, 83746, 109363, -368, 60513, 62377, 150953, -710, -702, -1035, 112988, -1088, 65727, -5429, 11402, 80987, 94187, 54560, 102753, 159205, -596, -1205, 52729, 179311, 106041, 55786, -319, 73255, -8606, -4789, -2241, -558, -675, -677, 113282, -446, -1287, -525, -97136, -3249, 151493, -943, 109890, 84392, 73246, -490, 134186, 160642, 60780, -538, -1018, 138024, -626, -920, 62581, -3485, -280, 9576, -183, -649, -3071, -571, -716, -174, -26103, 5781, 108894, -497, 120513, 126380, 109578, 118592, -2728, -797, -9410, -599, -383, -1513, -592, -483, 70446, 94716, -697, 98580, 142213, 95527, 125755, 71584, -941, -283, -594, -83, -435, 46625, -446, 40130, 10676, 114946, -41488, 38650, 76311, -382, -8495, -748, -637, -749, -825, -156, 71469, 59090, 10835, 154951, 32913, -52339, 48622, 119890, -2203, 14247, 63361, 105885, -463, 176930, 82430, -460, -727, -489, 49034, -559, 50054, -623, -10924, -400, -24660, 60368, -646, -765, -623, 13167, -691, -878, 129526, 107609, -327, 3057, -1645, 112115, 440, 114391, 95690, -20005, 75062, -13858, 80348, 70483, 110382, -525, -6234, -991, -136, -777, 71997, -611, 6047, 133095, -1011, -741, -10233, 94840, 58858, 86221, 148370, 63704, -1151, 50588, -879, -5898, -2921, 7051, -734, 3909, 112025, 116229, -713, -217, 44237, -6005, 79378, 92779, -969, 121296, -819, -748, 107423, 181199, 54065, -582, 48545, 145368, 34, 111283, -1242, 54902, -924, -746, 131283, 58068, 29715, -332, 121118, 126347, 120186, -339, -499, -172, 54277, -1043, -615, -700, -8344, 16022, -1461, 80113, -345, 91647, 80264, -221, 50172, -539, -629, -13802, 143280, -495, -1255, 1949, -359, -373, -572, 61332, 64941, -902, 97288, 62086, 122957, 97918, 87555, 69109, -393, 71870, -1117, 17077, -914, -194, -402, -786, 98288, 100961, -894, -1195, 617, 155447, 122309, 130839, 84666, -295, 11301, -1353, 158850, 132111, -817, -482, 117111, -1067, 99965, 82703, -13063, 76949, -2584, -7548, -1051, 170959, 133795, -604, 59823, 81302, 73905, -920, 98444, -806, -64507, 149221, -811, -11083, 92325, 43084, -23869, -1879, 28219, -706, -151, 31394, -510, 97140, 85826, -235, -461, 79739, 65292, -3357, -262, 131880, -15122, -802, -599, 13430} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {59, -343, -348, 38, 48, 92, 88, 77, 72, 67, -146, -372, 115, -332, -333, -324, -359, 70, 42, -202, 83, -139, -396, 40, 85, 55, 45, -257, -390, -396, 64, 95, -352, 57, 69, -343, -322, -273, 73, 65, -528, 88, -451, 65, -309, -327, -332, -302, -390, -56, 75, -354, -449, 63, 66, -336, -145, -384, -356, -369, -325, -66, -374, -268, -384, -307, 73, -321, 77, 169, -241, -350, 71, -342, 66, -168, 86, -350, -107, -325, 113, -337, 53, 124, -115, 88, -366, 46, -384, -417, 63, -337, 59, -301, 62, 77, -124, -310, 96, 47, -359, -253, -335, 77, -345, -344, 16, 96, -378, 26, -369, -313, 143, -292, -413, 63, 61, 79, -341, -321, -87, 104, -319, -362, -352, 82, -380, 77, 103, 80, 75, -8, -438, 74, -390, 53, -385, -315, 84, -431, 58, 51, 70, 57, 77, -349, -143, 66, 44, 126, 59, -74, -380, -417, 38, 55, 33, -316, -359, -106, 57, -107, 90, -354, 142, 105, 72, 62, 67, 152, 79, 57, 21, 89, 72, 67, 82, 56, 70, -431, -328, 41, 76, 89, -378, 116, -281, 67, -329, -96, 148, 75, -377, 72, 82, -145, 65, 57, 83, -380, -303, 110, -285, -400, -299, 66, 71, 87, -315, 97, -277, -113, 87, -345, -420, -348, -334, -368, 77, -100, -274, -378, -333, -338, 85, -365, 115, 80, 110, 68, 127, 71, -376, 57, 59, 84, 236, 74, -347, 72, -316, -327, -315, 67, -338, -355, -261, 59, 69, -336, 93, 84, -366, 80, 74, -111, -35, 90, 66, 73, 71, 102, 114, -78, -350, 21, -444, -325, -389, -390, 89, 61, 96, 74, 76, 70, 88, 90, -324, -283, 72, -289, -375, -266, -334, -324, 72, 116, 37, -56, 64, -391, 90, -186, -89, -336, 125, -309, -342, 99, -121, 59, 95, 84, 90, 73, -389, -281, -115, -394, -168, 193, -409, -374, 71, 21, -278, -491, 50, -395, -327, 69, 74, 60, -405, 72, -254, 39, 122, 45, 63, -360, 106, 78, 100, -6, 61, 46, -339, -339, 59, 70, 65, -366, 74, -367, -347, 125, -269, 106, -289, -340, -334, 69, 91, 96, 62, 77, -343, 55, -102, -415, 80, 75, 27, -347, -343, -394, -347, -490, 53, -259, 73, 89, 65, 27, 81, -138, -362, -345, 75, 45, -328, 65, -366, -399, 64, -394, 88, 93, -370, -343, -345, 43, -331, -331, 53, -477, 88, -393, 56, 101, -342, -402, -163, 59, -469, -394, -290, 95, 70, 110, -316, 53, 52, 77, -179, -153, 77, -283, 72, -387, -371, 74, -216, 39, 26, -100, -338, 53, 65, 52, 71, 94, 59, -339, -352, 67, -379, -397, -417, -390, -389, -323, 47, -347, 54, -60, 63, 84, 116, 66, -345, -347, 71, 39, 29, -271, -347, -392, -343, 47, -134, 94, -392, -394, 49, 90, -326, 49, -368, -297, -131, -423, 91, 120, 76, -359, -324, 109, -277, -470, -297, 77, -484, 59, 212, -327, 82, -138, -339, -328, 140, 64, -132, 107, 87, -319, 74, -374, -356, 63, 39, -351, -267, 75, 89, -338, 82, 60, 72, -68}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1852391296, 1965735552, 1422392960, 1660094336, 1610050560, 1141579904, 1455593472, 1722607616, 1624418688, 1931108224, 1686467968, 2040907136, 1276100224, 1415609600, 1437432576, 1373149824, 1914371968, 1126907648, 1631965184, 1378134016, 1305964928, 1609834240, 1314403840, 1187431168, 1733322496, 1898082944, 1223688192, 2036349824, 1991806464, 1278783744, 1813717632, 1105576832, 1927144064, 1630775808, 1116846592, 1679339648, 1645981696, 1519565952, 1565218560, 1085661440, 1251032064, 1748825728, 1192108032, 2106241920, 1293647104, 2034689152, 1553151360, 1108583296, 1786662272, 2087037440, 1535679232, 1456056576, 1808088320, 1712250752, 2034087680, 1370212480, 1570258560, 1325437312, 1828349312, 1623271296, 1570568832, 1304453120, 1195738624, 1791479296, 1887864320, 1390134656, 1718514816, 1352611840, 1840938240, 1291795456, 1198295808, 1399329152, 1836067328, 1561305984, 1894053888, 1664650368, 1537568384, 1214647040, 1313717632, 1989716608, 1510705920, 1326811776, 1396094336, 1174337024, 1597111808, 1966784128, 1172823680, 1571756544, 1840333312, 1098114944, 1074283136, 1594435968, 1710806016, 2050899584, 1300082304, 1792994816, 2133231104, 1408068224, 1653290240, 1878991616, 1773964544, 1137951744, 1467474688, 1231026048, 1367155328, 1465265024, 1219656960, 1481096960, 1266070016, 1491485312, 1793476992, 1769418112, 1230543616, 1328791552, 1117749120, 1631146112, 1674976384, 1627709056, 1427639680, 1594301568, 1932653440, 1989882496, 1171552768, 1670872960, 1277191168, 1099548928, 1253052928, 1654621696, 1320284288, 1797570944, 1238221824, 1911142528, 1379804288, 1501573888, 1159862016, 1766046080, 1492418688, 1497341824, 1871141376, 1694705280, 1499926016, 1492301696, 1712029056, 1269143552, 1673287424, 1362323072, 2135099776, 1709615488, 1883450240, 1738157440, 1472430848, 1254130432, 1142838016, 1995502208, 1168518784, 1928554496, 1853813888, 1245642752, 1324637952, 1171746176, 2030560128, 1489226240, 1588949632, 1260235392, 1200595456, 1114203648, 1904288640, 1202581376, 1719324672, 1399390208, 1522098816, 1906562304, 1090273664, 1576619392, 1992012160, 1308930688, 1733732992, 1624043904, 1299104896, 1575329920, 1732899328, 2003435264, 1105285504, 2047745152, 2145110656, 1977125760, 1096493056, 1731124992, 2039320832, 1325777024, 1211994624, 1706768384, 1546835584, 1734257792, 1659239424, 1715141632, 1638690688, 1885964288, 1219402624, 1170788864, 1796911232, 1825887232, 1184438272, 1440944896, 1388241024, 1800329472, 1641994752, 2002063744, 1715404416, 1353645824, 1688528640, 1274262784, 1436452864, 1421907328, 1112155136, 1164741376, 1213959552, 1578330112, 1514339200, 1080402304, 1426035712, 1248987776, 1391733376, 1842274048, 1084836224, 1464662272, 1494432640, 1588593792, 1695253120, 1876859776, 1726687232, 1739736576, 1615092736, 1873675264, 1621245184, 2053703040, 1699522944, 1764783488, 1533299456, 1532076032, 1363843840, 1122696064, 1567399424, 1669424640, 1633833856, 1141637632, 2110653952, 1095194112, 1691510016, 1806103168, 1791050880, 1432812288, 1810993024, 1889921408, 1577448320, 1196473856, 1266844544, 1843385856, 1876172672, 1761251072, 1427367040, 1270405504, 1854880128, 1774544512, 1998484992, 1514875776, 1127227520, 1255342208, 1668951296, 1571683968, 1558151168, 1569649280, 1316305152, 1118475904, 1582520832, 1837680384, 2124942976, 1687440896, 1728237184, 1076008832, 1879334528, 1080343680, 2098328576, 1749305216, 1586497664, 1793349888, 1404878080, 1507689472, 1811477632, 1124433536, 1118878208, 1078049920, 1206045568, 1959758720, 1811619584, 1632369792, 1974941824, 1193585664, 1306525440, 1508184704, 1780378112, 1645443584, 1429637376, 1712608640, 1718865792, 1220579968, 1399935104, 1797930240, 1139091712, 1444404992, 1269265920, 1793126144, 1824533760, 1674410368, 1745334400, 1738663296, 1976404224, 2046819200, 1745254400, 1223910272, 1641053440, 1662892288, 1455278464, 2128205824, 2073838592, 1957315584, 1291452416, 1889721088, 2005951616, 1213250816, 1240946944, 1965534208, 2087042048, 1659871360, 1398278656, 1493230848, 1743384704, 1358494720, 1578341376, 1659531648, 1084387840, 1561671808, 1818007808, 2107948672, 1773983872, 1827300864, 1223580544, 1525983616, 1455039488, 1376331520, 2034977664, 1494084992, 1093489536, 1647244416, 1818420992, 1432376576, 2090643968, 1601121152, 1391730432, 2086969984, 1440694528, 1250185088, 1648923648, 1855690624, 1116440192, 1354129792, 1642065664, 1599072640, 1459244800, 1473584000, 1994488704, 1634296832, 1859631872, 1561894912, 1557002368, 1839839488, 1760195200, 1219101312, 1277411712, 1616880640, 1632342400, 1127131136, 1294717824, 1359669504, 1787741568, 1508072320, 1622415104, 1991804032, 1532367232, 1356455424, 1114165376, 2027711744, 1723140352, 2131460992, 2007413760, 1340739456, 2058240384, 1161303424, 1733800960, 1697949696, 1705580928, 1811446272, 1438267264, 1568976512, 1543066496, 1449098752, 1576439680, 1080121600, 1496849536, 1120178048, 1102620288, 1366743040, 1906950656, 1727741568, 1868036608, 2098213760, 1939836800, 1820261632, 1480192512, 1288874880, 1247000960, 1394706688, 1116634368, 2089030656, 1184991872, 1749463552, 2003020672, 1609675136, 1707545216, 2027819520, 1525097344, 1775055872, 1998275840, 2107831680, 1169639296, 1602778368, 1668942720, 1954133504, 1249212800, 1475909888, 2112418432, 1281302528, 1246580096, 2035012608, 1571136256, 2025681024, 1432313216, 2030704512, 2060106752, 1907739904, 1383364480, 1558678912, 1095828224, 1781787264, 1114593536, 1852199936, 1486544128, 1401731200, 1321345280, 1079256960, 1665065216, 2007771648, 1542817920, 1177670144, 1345635712, 1373257344, 1606240896, 1137875072, 1605671552, 1833693440, 1449469952, 1126237440, 2056833792, 1286764672, 1900301184, 1120610816, 1468661376, 1263720832, 1506931840, 1804954624, 1154124160, 1122956416, 1317406720, 1518048640, 1077917440, 1087476736, 1543505280, 1275832448, 1493585024, 1448889344, 1494356480, 1108718720, 1862400384, 1785974272, 1533201664, 1601241728, 1196698112, 1423058432, 1750969856, 1317182208, 1268062592, 1980250112, 1149962240, 1634603392, 1916750336, 1639706368, 1163987968, 1343847424, 2130531712, 1766144384, 1563348992, 1184309888}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-117, 423, -1445, -2447, 37, -283, -2130, -2090, 1649, -1468, 1444, -419, -725, -2320, 4474, 885, -1006, 1174, 402, -51, -562, 106, 197, -1886, 497, -583, -2491, 249, -441, -1232, -2441, -3373, 836, 1867, -450, -2655, 655, -130, -1460, 2343, 1630, -1291, 1038, 1723, 171, -143, 367, -11, -75, -2640, -135, 1357, 86, -261, -1007, -677, 2400, 345, -1316, -1427, 1043, -222, -645, -402, 342, -672, -1227, 4373, 3315, 614, -2952, -1201, 580, -989, -337, 3885, -3655, 136, 1, -182, -2942, 292, 973, -1007, -1256, 481, -315, -2471, 398, 1202, -1515, 446, 2817, -1854, 1548, 1754, 133, 1937, -625, -1146, -740, -2239, -1003, 3423, 632, -1294, 90, -769, -884, -793, 1435, -877, 148, 1175, -252, 1308, 104, 2319, -764, 1605, 219, -651, 749, 1152, 645, -1033, -1113, 27, -1519, -1282, 2535, 365, 1141, -1805, 750, -127, 804, -1709, 107, 1126, -2055, 713, 3812, -1653, -1576, 673, 338, -967, -1148, -471, 132, 705, -1633, 127, -658, -875, 239, 1700, 50, 874, -2007, 230, -796, -2641, -633, -336, 884, -930, -3032, -794, -1665, 1, -2544, 380, -2238, -1100, 567, -88, -2857, 1944, 385, -2193, 1050, -962, -481, 775, 487, -1725, 4425, -1102, -2845, -998, -3417, -1644, 1098, 1274, 5, -2132, 69, 1070, 15, -2544, -489, 913, -55, -849, -2011, 742, 1050, -1435, -813, -3475, 704, 85, 1094, -1803, 1299, -584, -1180, 1665, 610, 523, -1063, -776, -814, 273, -9, 509, 106, -829, 68, -307, -595, -42, -2371, -3858, -165, -778, 1316, 1712, 1272, -612, -669, 177, 3006, 3880, -973, 1136, 10, 1852, -73, -589, 399, -1169, -988, 685, 295, -1926, -1555, -889, -456, -200, 475, -2504, -1113, -1071, 473, 947, -1582, 2354, -1093, 122, -781, 25, -684, 452, -804, -1155, 1704, -644, -1495, -826, 2583, 687, -549, 2682, 1668, -2116, -279, 423, -138, 498, 260, 917, -630, -534, 2016, -136, 77, -104, 810, 582, -1404, 1166, -816, -1643, -913, 1544, 134, -1013, 3488, 178, 2103, -2287, -127, -4431, 1037, 798, 663, -1970, -560, -626, 1032, -302, 2804, -1618, -1483, -144, -1186, 61, -646, 1356, -80, -1392, -2074, 1312, -787, -1669, -1074, 548, -1607, -657, -615, -1903, -1839, 54, -1330, -817, 526, -1058, 993, 1245, 433, -591, -1774, -798, 1801, -1082, 540, -1741, -1139, 1827, -4502, -654, 128, -269, -739, -438, 651, 1356, -1433, 188, -199, 227, -1356, 876, -501, -1306, -2180, 2090, -578, 824, -152, 2384, -1811, 990, 2001, -138, -914, -243, 397, 2072, -1370, -2962, 1461, -368, 677, 76, -1023, -391, 114, -3063, -2803, -1035, 283, 1030, -2094, 767, 693, 481, -347, 587, 636, 1750, 343, 3187, -515, -776, 29, -2843, 1856, -4034, 149, -274, 2192, -737, 361, -3505, 329, -418, 1821, -96, 1544, 131, 294, 923, 67, 1050, 417, 216, 2319, -1679, 333, 716, -246, 111, -1375, -3511, 1303, -1015, -880, 183, 575, -1417, -60, 1870, -1240, 105, 2667, -1319, 415, 79, -1166, -218, -1499, -625, 755, -1558, -985, -2397, 41, 1785, 2908, 1130, -1785, -891, 332, 429, -1457, -289, -1230, 1873, 891, 814, 3835, -576, 1344, 3848, -1630, -1308, -1551, -717, 67, 107, -4155, 1127, 408, 1925, -2367, -1954, 110, 45, -1539, -1160, 2828, -463, -1403, -55, -2201, -463, 429, -2167, 946, -1403, 1859, -183, -456, 515, 100, 2427, -1254, 1361, -65, 1603, 348, -198, 629, 790, 775, -691, 1616, 2272, -1264, 320, -443, -1201, 961, -48, -1131, 996, -860, 2530, 615, -372, 1447, -1995, -1059, -1526, 2079, -233, 36, -414, -2243, 128, 2139, -1575, 1568, 104, 123, 107, -2283, 56, -260, 695, 296, -1568, 1439, -2129, -359, 1512, -1118, -1766, 266, 943, 202, -1603, -1187, -2200, 3029, 500, -571, -1963, 533, 32, -759, 19, -982, -1054, -1777, 291, -996, -2141, -1498, -249, 542, 833, 2172, 1711, -931, -854, -567, -1048, 150, 139, -401, 2007, -32, -451, -537, -1585, -523, -150, -1020, -145, -1160, 749, 451, 328, -660, -1738, -76, 1087, 997, -1191, -1229, 4029, -676, -3554, 2060, -1512, -79, 243, 17, 537, -553, -244, -1149, 136, 328, -517, -1513, -130, -738, 2531, 1379, -392, 1057, -1757, 597, 1841, 2388, 684, -1485, -770, -434, 3538, -97, 1097, -2324, -1486, 68, 2730, 794, -1559, 3860, -721, 278, 2267, 356, 90, -2219, -576, 150, -870, 1094, 671, -791, -2091, -1313, 596, -3961, 1365, -2330, 1582, -181, -1416, 1016, -659, 406, -1833, -4029, -2273, 144, -99, 2487, -455, -476, 193, 1588, -2990, -121, -466, 235, -1427, -1802, -2594, 224, -5, -527, -1986, 1169, -1217, -1653, -34, 173, 247, -1377, 1043, 3587, 34, -1401, -839, 1344, 1326, 209, 589, -1597, 1113, -151, -740, -987, -1151, 385, 1895, 1484, -2024, 1928, 702, -1581, -255, 549, -1567, -1277, 695, 917, 1272, -286, -1345, -2424, 855, -1205, 1251, -11, 1324, 106, -1623, -780, -513, 678, 3112, 2516, -842, 26, 1941, 376, -1395, 1224, 1194, 2101, 1628, 1212, 187, 880, -1286, -2811, 1490, -950, -1149, -785, 191, -331, -614, 979, -584, 1550, 650, 1348, -322, -111, 2103, -1970, -1686, -921, -1913, 334, -971, -241, -458, 1230, -1746, -722, -1930, 959, -1467, 362, -339, -2914, -797, -1573, -770, 1335, -3020, 678, 70, 573, -310, -215, -440, -1418, -553, 181, -651, 1096, 1252, -3340, -1382, -167, -673, -2137, -539, -2003, 317, -1349, 1136, -80, -386, -1763, -1073, -13, -292, 611, 2031, 1013, -175, -669, 697, -1615, 344, 417, 1775, 827, -965, 594, -680, 1904, 1364, 1073, -341, 244, -2302, 574, 523, -644, -2507, 1024, 66, 90, 315, -456, -3002, 875, 293, -359, 424, 585, 141, -3909, -1480, 174, -2303, -1763, -145, 1122, 411, 516, -181, 1215, -2511, -101, 1271, -1430, -109, -2065, -987, -1501, 1845, 632, -848, 1049, -1926, -498, 2064, -1771, -306, 179, -921, 1307, -325, 110, -457, 585, -1540, 1490, -923, -6121, 1345, 1541, 1175, 1979, 896, 456, -225, -63, 2958, -1359, -725, 2174, -236, 71, -1072, 2225, -5100, 674, 3301, 580, 638, 1495, -1225, 810, -1666, -4016, 825, 1634, 5082, -218, 490, -1321, 1324, -2845, 171, 9, 3932, -1018, -1580, -1007, -379, 3014, -1423, -229, 507, -1457, -370, -1672, 717, -456, -2005, -586, -93, -2092, -1592, -865, -506, 1219, 2334, 426, -481, 278, -428, -3763, 967, -291, -238, 1291, 2970, 1202, 274, 785, -1197, -1415, -955, -1228, 551, -1339, -618, 471, -520, -201, 840, -1307, 2288, 298, -2680, 1512, 2281, -536, -1975, -557, -2801, -981, -907, 698, -1539, 1191, 341, 1986, -629, -1682, 2574, -552, 393, -167, -3086, -3562, 542} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-8, -9, -8, -7, -6, -7, -8, -8, -7, -6, -6, -8, -5, -8, -6, -7, -8, -7, -6, -9, -8, -7, -6, -7, -7, -7, -8, -8, -7, -9, -8, -7, -7, -8, -9, -8, -7, -8, -8, -8, -8, -8, -8, -7, -8, -8, -6, -9, -8, -9, -7, -8, -10, -9, -7, -9, -7, -8, -9, -8, -9, -5, -6, -9, -6, -8, -8, -8, -8, -7, -8, -6, -7, -8, -9, -7, -8, -12, -8, -8, -8, -7, -7, -7, -7, -6, -5, -8, -5, -6, -8, -7, -7, -7, -11, -8, -8, -7, -8, -6, -9, -9, -7, -7, -8, -8, -8, -9, -8, -9, -4, -7, -9, -7, -8, -8, -7, -6, -6, -7, -7, -7, -8, -8, -7, -8, -9, -7, -9, -7, -8, -7, -6, -10, -7, -8, -8, -8, -7, -7, -10, -6, -8, -9, -8, -10, -8, -8, -9, -8, -8, -7, -8, -8, -7, -7, -8, -8, -7, -8, -8, -5, -8, -9, -7, -8, -9, -8, -8, -8, -8, -7, -8, -8, -8, -10, -8, -8, -7, -9, -9, -8, -7, -8, -8, -8, -7, -7, -7, -9, -6, -7, -7, -7, -7, -6, -8, -7, -6, -9, -7, -8, -8, -7, -8, -7, -9, -5, -8, -9, -8, -7, -7, -8, -6, -8, -7, -7, -9, -7, -8, -8, -8, -6, -8, -8, -5, -9, -7, -8, -7, -7, -8, -6, -7, -9, -7, -8, -6, -8, -6, -7, -9, -8, -7, -8, -7, -8, -8, -7, -8, -6, -9, -7, -8, -6, -8, -8, -8, -7, -8, -8, -7, -8, -8, -7, -8, -7, -7, -6, -8, -7, -6, -6, -4, -9, -7, -6, -6, -8, -9, -8, -7, -7, -6, -7, -8, -9, -9, -7, -8, -8, -7, -8, -7, -7, -6, -8, -8, -6, -7, -6, -6, -9, -7, -9, -7, -7, -9, -10, -8, -8, -7, -6, -7, -8, -9, -9, -6, -7, -8, -8, -7, -8, -6, -8, -9, -8, -9, -7, -7, -6, -8, -8, -9, -7, -8, -7, -8, -8, -7, -8, -7, -9, -9, -10, -9, -9, -7, -7, -7, -7, -6, -8, -5, -8, -7, -8, -8, -9, -7, -7, -8, -8, -8, -7, -8, -8, -8, -6, -9, -6, -8, -6, -7, -6, -8, -8, -9, -7, -8, -9, -6, -8, -7, -9, -8, -7, -9, -5, -8, -7, -7, -7, -7, -8, -8, -8, -8, -8, -7, -8, -9, -9, -7, -8, -8, -7, -8, -6, -5, -8, -7, -8, -8, -8, -8, -8, -10, -8, -8, -8, -4, -9, -8, -9, -8, -8, -10, -7, -8, -8, -7, -4, -8, -8, -4, -6, -6, -7, -8, -8, -9, -7, -3, -7, -8, -8, -7, -8, -7, -10, -7, -8, -9, -6, -7, -9, -8, -7, -7, -7, -6, -8, -6, -7, -8, -6, -8, -9, -7, -5, -7, -6, -8, -8, -9, -10, -7, -8, -7, -7, -7, -6, -9, -7, -7, -7, -8, -6, -7, -8, -10, -8, -8, -6, -7, -7, -8, -8, -8, -7, -7, -9, -7, -9, -7, -8, -8, -9, -6, -7, -8, -8, -8, -8, -7, -10, -9, -7, -7, -7, -7, -6, -9, -7, -6, -9, -9, -6, -9, -7, -9, -7, -7, -8, -8, -8, -8, -7, -11, -9, -8, -6, -7, -8, -7, -6, -4, -7, -9, -5, -8, -8, -7, -8, -7, -7, -8, -6, -8, -4, -7, -5, -5, -8, -8, -8, -8, -8, -8, -8, -8, -7, -9, -9, -10, -6, -6, -6, -7, -10, -9, -7, -7, -8, -8, -6, -8, -5, -6, -9, -8, -5, -7, -7, -7, -7, -9, -9, -6, -9, -6, -7, -9, -9, -6, -8, -7, -7, -8, -8, -8, -9, -9, -10, -7, -9, -8, -8, -6, -8, -7, -7, -9, -7, -7, -9, -8, -6, -6, -7, -9, -5, -7, -10, -8, -6, -6, -8, -8, -8, -7, -6, -6, -9, -6, -6, -7, -8, -11, -5, -7, -8, -7, -7, -9, -6, -8, -7, -8, -7, -8, -8, -7, -7, -8, -10, -5, -10, -7, -6, -8, -8, -8, -9, -8, -7, -7, -9, -8, -8, -9, -7, -6, -10, -9, -8, -8, -10, -7, -8, -9, -4, -7, -8, -7, -8, -9, -8, -7, -8, -7, -5, -9, -7, -4, -7, -7, -7, -6, -6, -5, -9, -8, -7, -7, -8, -7, -9, -9, -9, -8, -10, -6, -9, -7, -7, -8, -8, -8, -9, -7, -7, -7, -9, -8, -8, -7, -8, -7, -8, -7, -7, -7, -7, -7, -7, -7, -9, -8, -7, -7, -6, -6, -8, -7, -10, -8, -9, -8, -8, -4, -6, -5, -8, -8, -9, -8, -5, -7, -8, -8, -8, -7, -7, -7, -9, -8, -8, -7, -7, -7, -7, -7, -10, -7, -8, -9, -9, -9, -8, -6, -8, -9, -8, -8, -6, -8, -7, -7, -10, -7, -8, -7, -6, -9, -10, -8, -7, -8, -9, -6, -7, -8, -8, -7, -8, -6, -7, -8, -8, -8, -9, -6, -7, -8, -7, -7, -8, -8, -9, -9, -7, -10, -7, -8, -8, -6, -8, -7, -7, -6, -9, -5, -6, -6, -7, -8, -7, -5, -10, -6, -7, -6, -9, -8, -7, -5, -8, -8, -7, -7, -8, -6, -6, -7, -7, -6, -8, -7, -10, -7, -10, -9, -6, -7, -7, -8, -7, -7, -4, -7, -9, -7, -7, -9, -7, -8, -7, -8, -7, -7, -9, -8, -9, -7, -7, -7, -8, -8, -7, -8, -7, -7, -8, -5, -5, -6, -8, -8, -5, -8, -9, -7, -7, -9, -7, -7, -7, -4, -8, -6, -8, -8, -8, -7, -8, -8, -6, -7, -8, -7, -9, -8, -8, -6, -8, -5, -7, -7, -9, -8, -9, -6, -8, -6, -6, -8, -8, -7, -7, -7, -8, -5, -7, -8, -7, -6, -9, -8, -8, -9, -8, -5, -9, -9, -7, -9, -7, -6, -7, -7, -7, -6, -7, -7, -6, -7, -8, -11, -8, -7, -6, -7, -8, -7, -7, -6, -7, -6, -8, -6, -9, -6, -5, -8, -7, -9, -8, -6, -9, -6, -7, -8, -9, -7, -8, -8, -7, -7, -9, -6, -7, -7, -7, -8, -9, -8, -5, -9, -8, -10, -9}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1151637888, 1470082560, 1127554944, 1337997952, 1792595072, 1329256832, 2019187456, 1297801728, 1488505728, 1237089792, 1860256768, 1577993344, 1115099648, 1114504448, 1227710848, 1208790784, 1212578944, 1213338752, 2083615872, 1568526208, 1269622912, 1219761024, 1960596608, 1184422784, 1617682560, 1401430912, 1780589952, 1159858688, 1549356416, 1362828288, 1376217984, 1262699520, 1482906880, 1876996480, 1668142080, 1554275072, 1612509440, 1665673984, 2084100608, 1604782464, 1653390976, 1311423360, 1691565440, 1569447680, 1360857216, 1309356032, 1813417088, 1305141632, 1098296192, 1404742528, 1941584000, 2105778432, 1627601536, 1455340160, 1530641024, 1116726400, 1435085440, 1275951360, 1143931648, 1109346560, 1567163776, 1750555648, 1684683264, 1494255360, 1487687552, 1981890048, 1841927424, 1097088512, 1514145152, 1439892736, 1803162752, 1603181824, 1091568896, 1249712000, 1719022080, 1269183872, 1224710912, 1528505600, 1436418560, 1584103936, 1218633728, 1599931776, 1458114432, 1774036224, 1823097088, 1431750912, 1162913408, 1259892608, 1755559424, 1807961856, 1975536256, 1187733632, 1466523264, 1842490496, 1905379584, 1380433152, 1200291200, 1585608192, 1802291968, 1870403840, 1122865024, 1476293376, 1312278144, 1119272064, 1097447552, 1438386816, 1372984448, 1662760064, 2048178944, 1114895232, 1477663872, 1976794496, 1362390656, 1616763904, 1413446016, 1518478080, 1955120768, 1754562048, 1588978560, 1607699072, 1263910528, 1118752896, 1634497024, 1435347328, 1626188800, 1404740480, 1354108288, 1710458368, 1439833728, 1914673792, 1704685440, 1914105600, 1726211328, 1706835456, 1444900352, 2128525312, 1210462848, 1344194688, 1722548096, 1268211328, 1333349760, 1666811776, 1541446912, 1198677760, 1406932864, 1170844928, 1163495424, 1735769728, 1479671680, 1175177472, 1615551488, 1186644096, 2028668928, 1085139072, 1211545984, 1366604672, 1729177984, 1374688512, 1557692672, 1650953088, 1599128064, 1718893952, 1225921280, 1975722880, 1370792576, 2125272064, 1699547392, 1863777536, 1410481920, 1234697728, 1346084736, 1602735232, 1357070976, 1685676800, 1113315584, 1896514048, 1808150912, 1362989696, 1181976320, 1451435008, 1137728768, 1400311040, 1629066624, 1108376320, 1686252032, 1197936256, 1296853888, 1165349760, 1244726016, 1709601536, 1096127616, 1569973760, 1300595072, 1294419584, 1532725888, 1553542912, 1296004224, 1793655296, 1177858304, 1917744384, 1206070144, 1234198144, 1243332480, 1632371072, 1529918720, 1481078272, 1188150016, 1164700416, 1451947648, 1334414720, 1343202816, 1167343488, 1802782464, 2107708160, 1375527936, 1187191808, 1835720832, 1591895936, 1167723904, 1444047616, 1415228160, 1635194880, 1896536704, 1818254208, 1942914432, 1269206528, 1774194176, 1408305792, 2097985664, 1324592512, 1252158976, 1849672064, 1185224960, 1251179648, 1136635904, 2125273216, 1409651968, 1139711872, 1478018688, 1373854592, 1716342144, 1988141568, 1291662336, 1383066368, 1436210176, 2032361344, 1249061376, 1272145024, 1709156864, 1422795008, 1079229824, 1093495424, 1964347392, 1247550976, 1466120064, 1855821056, 1661750016, 1810167296, 2119797760, 1567138816, 1399981824, 2016942848, 1220251904, 1083877504, 1488884352, 1620311808, 1337685248, 1109235072, 1826848256, 2047723520, 1614527744, 1658350080, 1111736320, 1504739584, 1995469696, 1736937856, 1653018880, 1771961984, 1345853568, 1167114752, 1965869824, 1577287424, 1972722560, 1518613120, 1171522560, 1595873280, 1360910720, 1787339264, 1962389504, 1511452544, 1649401344, 1630906624, 1231744128, 1127796864, 1809303552, 2097884288, 1388886656, 1243602432, 1121580416, 1633932672, 1541994624, 1916758272, 1282297984, 1202769024, 1290558976, 1319160448, 2096947712, 2034564096, 1508133888, 1455971840, 1530579200, 1158073344, 1525277056, 1127945728, 1922802688, 1202420992, 1434921088, 2042734592, 1456673280, 1249949952, 1188423296, 1770174976, 1316953088, 1253577088, 1596848768, 1753842816, 1288278016, 1770497408, 1471754368, 1247418496, 1246012416, 1526583808, 1751193728, 1112257920, 1830008192, 1536525952, 1302160128, 1237068288, 2129664384, 1253382400, 1187810304, 1907036928, 1524900608, 1390979200, 1076278528, 1812309504, 2146666112, 1476115840, 1136140032, 1371760512, 1518705024, 1678170624, 1777230464, 1908996608, 1088758144, 1187708800, 1539910528, 1560171392, 1402718976, 1958316032, 1255155968, 1423696128, 2106868992, 1493873408, 1351980672, 1697280512, 1180763904, 1908390528, 1454658432, 1706310784, 1747552256, 1126038784, 1358411904, 1270570496, 1123884032, 1160539648, 1684799360, 1101042688, 1257369728, 1262944512, 1204060032, 1157764736, 1878482816, 1187262080, 1661869952, 1827781120, 1597040768, 1998936960, 1169011712, 1210246784, 1507181696, 1554139904, 1196153728, 1272577152, 1408070528, 1640544000, 1463342720, 1174641024, 1145119232, 1474667136, 1478620800, 1233720320, 1081893888, 2031814016, 1619057920, 1408027264, 1377825664, 1505624960, 1236850816, 1228776064, 1117977728, 1394900864, 1811037696, 1408267904, 1932537984, 1521185024, 1939146112, 1688423808, 1080553472, 1588465152, 1722307584, 1771447552, 1527157120, 1868340992, 1638574208, 1209606784, 1377135488, 1081964672, 1103600384, 2057522432, 1617176320, 1443448064, 1521046144, 1963352448, 1513927168, 1129991424, 1707878656, 2046934784, 2046378496, 1747017728, 1994115968, 1461197824, 1580345216, 1475864320, 1659208832, 1730986880, 1484194816, 1135314816, 1151530752, 1661683584, 1593644032, 1096489088, 1926613632, 1213024384, 1413574272, 1619915648, 1479062912, 1128243456, 1158320768, 1140100224, 1772026112, 1305226496, 2017383808, 1159910016, 2009673088, 1735739264, 1549147520, 1539426816, 1815651840, 1379786240, 1216121600, 1078670720, 1269963776, 1301194112, 1090266752, 1562340992, 1640828416, 1088939264, 1100956928, 1513578112, 1538491904, 1770213888, 1712076800, 1374485376, 1106095360, 1337599232, 1413702400, 1657733248, 1409667456, 1286695936, 1280809088, 1745340672, 1847628672, 1509377280, 1283889152, 1208536576, 1390118400, 1613018368, 2070379776, 1289635072, 1553989120, 1751390976, 1205134080, 1498507392, 1578382080, 1688570112, 1517195136, 1655878400, 2050108416, 1420929920, 1156776448, 1193693312, 1148465792, 1198738560, 1533038976, 1973467136, 1457034368, 1392419200, 1413922176, 1612152576, 1129787520, 1947138944, 1570789376, 2128373760, 1312472320, 1660661120, 1656583168, 1245341056, 1529900416, 1162938240, 1532622592, 1272467200, 1645453440, 1361164800, 1111859712, 1253859200, 1835828736, 2098758656, 1907864576, 2145136512, 1942009088, 1343145216, 1418229376, 1451561600, 1445844736, 2118755968, 1265954688, 1249662592, 1842724608, 1798836992, 1851887744, 2104247680, 1907459840, 1680109440, 1630100224, 1523283456, 1342042368, 1902314112, 1629355776, 1118635904, 1741784704, 1440818560, 1180975232, 1112371456, 1097221376, 1099389056, 1245986560, 2059569152, 1297288320, 1553268480, 1806784768, 1572996480, 1348734464, 1091503104, 1439729024, 1544185984, 1149168128, 1117052928, 1117358208, 1980692352, 1611381632, 1565260160, 2025349632, 1701468928, 1370207616, 1384868608, 1258129280, 1297489792, 1105763584, 2081552128, 1612994816, 1196568064, 1458729216, 1926566144, 1427184128, 1356537984, 1564269568, 1190637824, 1187460096, 1510961536, 1297795584, 1146322432, 1562262784, 1277488768, 1269660544, 1962496512, 1762851712, 1203175424, 1816577024, 1728282624, 1342217088, 1315660928, 1415283200, 1083190784, 1190544256, 1626675200, 1165063680, 1861312128, 1517589888, 1317828608, 2044213760, 1477894272, 1558773760, 1635674624, 2117668864, 1258408064, 1625785216, 1116454272, 1430967936, 1162543488, 1377475968, 1445932160, 1229352704, 1159135488, 1869261952, 1642912128, 1689473536, 1394461440, 1863095680, 1928287744, 1775589376, 1728922880, 1303746944, 1613449984, 2096083712, 2112187008, 1976091008, 1674948480, 1362184192, 1596244096, 2113923200, 1917608704, 1518647808, 1084475520, 1537472768, 1738708992, 1226768512, 1769616384, 2146234624, 1738428672, 1462432640, 2043967232, 2023800704, 1112806400, 1307625856, 1109187072, 1441423616, 1918622336, 1987646720, 1237314688, 1314904320, 1850068864, 1378515584, 1609524736, 1648675456, 1244869504, 1833574784, 1483859200, 1442698624, 1357226496, 1302217984, 1845200000, 1323786112, 1392291072, 1346779136, 1686625792, 1782706048, 1956327808, 2058171392, 1451604736, 1325895808, 1397815296, 1243205248, 2120635648, 1197320576, 1165784320, 1135426432, 1761864320, 1950889728, 1114531712, 1524619904, 1403275008, 1556761344, 1871577216, 1206880128, 1570183936, 1202566272, 1813319552, 1305491456, 1119365120, 2106197504, 1284701824, 2147390720, 1555751808, 1899422080, 1519473536, 1744760448, 1725921024, 1489559936, 1152254336, 1330735744, 1847416320, 1425868800, 1884451968, 1860194688, 1278260480, 1227963904, 1629751680, 1500085888, 1176183040, 1346520320, 1134683264, 1892382720, 1356140800, 1348325888, 1182822656, 1356571392, 1246215296, 1853543424, 2118156672, 1486755584, 1528311936, 1606254080, 1112537984, 1584528000, 1862130560, 1523592960, 1205409152, 1543148416, 2023976832, 2040784512, 1316971648, 1295183488, 2004016768, 1796885248, 1498037760, 2018907904, 1097487616, 1417365760, 1582356608, 1728848768, 1159473024, 1603112448, 2071615104, 1149584896, 2047492608, 1272470784, 1429846400, 1451609088, 1260518784, 2042966528, 1262258944, 1802530304, 1159662592, 1263157888, 1654401536, 1760199296, 1181321344, 1513456768, 1364402176, 1225304064, 1297290752, 1687390336, 1573322752, 1233014016, 1241189504, 1373136768, 2085459968, 1195440768, 1979488896, 1341174400, 1341358336, 1179293696, 2042587264, 1572065536, 1751324288, 1656219264, 1686751232, 1372614656, 1253275648, 1439849856, 1302387968, 2048233088, 1359388032, 2090564096, 1508399232, 1308758016, 1970472448, 2097015936, 1270364544, 1204673664, 1224086144, 1661834368, 2070055040, 1247083264, 1088080384, 1512021120, 1226400768, 1431132928, 1259572864, 1153029504, 1844907008, 1210554752, 1894724736, 1273662592, 1431606272, 1100673024, 1111434880, 2091815168, 1103400576, 1377853568, 1468571392, 1673726464, 1526853632, 1522289280, 1290981376, 1075679872, 1695161472, 1246788224, 1233306240, 1560387712, 1876014976, 2066587776, 1209932288, 1085706368, 1184153344, 1332277376, 1396806144, 1626408064, 1965427968, 1152958080, 1724657792, 1322849280, 1886656768, 1826960256, 1302834304, 1441446912, 1357508224, 2004939904, 1155858944, 1765852928, 1854932864, 1078909568, 1639751808, 1842715008, 1209508864, 1677561088, 1161373568, 1509097088, 1468524160, 1692380800, 1274747648, 1143871744, 1950461440, 2137385472, 1972695424, 1234469376, 1720890880, 1773511552, 1276821888, 2067055360, 1122873344, 1306456448, 1223169536, 1342931456, 1335115264, 2021980800, 2009980160, 1193545856, 1487016960, 1774546560, 1233474688, 1744326016, 1859359232, 1947116416, 1451091584, 1147971712, 1244002432, 1816653440, 1910043648, 1214432640, 1974067200, 1235926912, 2104202368, 1207134976, 1269035904, 1579966592, 1920066816, 1128692864, 1302500480, 1122512256, 1635855872, 1629322240, 1281920000, 1345490944, 1413943040, 1407301248, 1588370048, 1548376192, 1502823552, 1312537088, 1119313152, 2145710080, 1310781824, 2053472000, 2062433792, 1438219520, 1523803648, 1369283840, 1676751232, 1787744768, 1243273856, 1977667968, 1247348736, 1858634752, 1529999616, 1684520448, 1305837952, 1427338368, 1150156288, 2136685824, 1611859456, 1761091968, 1368705152, 1532042368, 1290591360, 1983703936, 1734025344, 1142661888, 1212644096, 1356026368, 1122724480, 1329555584, 1888760576, 1196031104, 1701304960, 1991731840, 1118971136, 1654965248, 1566544512, 2146249344, 1215819648, 1623640960, 1964564864, 1725971840, 1150521344, 1731494144, 1607040000, 2039989888, 1110268800, 2052161664, 1489127936, 1632930048, 1573701888, 1870369408, 1722909056, 1206488192, 1540429696, 1185796480, 1505914752, 1629112064, 1770609280, 1280224256, 1923877376, 1192268032, 1306729472, 1781221248, 2094923264, 1907558784, 1187199872, 2090701824, 1688569344, 2093931264, 1473586560, 1391012864, 1840060800, 2006313600, 1575768576, 2017459200, 1670890880, 1576405376, 1076451328, 1981105408, 1543268736, 2131163392, 1848888832, 2038675072, 1170062848, 1459336064, 1345942912, 1209802240, 2057911936, 1481160704, 1659490304, 1778573440, 2113696512, 1267744768, 1279860736, 2026126080, 1087856768, 1167187456, 1125564928, 2143812992, 1903113856}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-158, 33565, -1811, -2691, 6792, -319, 86595, -12225, 75260, -3604, 79564, 176687, 42000, -386, 1156, 3862, -1183, -3340, 31078, -3562, 4, 41005, 51827, -372, 50272, -2881, 384, -3686, 42905, -6146, -1315, -1078, 3415, 38838, -55, -5610, 76105, 30858, -1496, 44397, 35816, 50150, 61752, 44315, 45540, 54360, 79728, -5744, -18, -176, 50866, -2167, -1113, -1595, 55732, 35732, 53649, -2707, -16, -2445, -7354, 48018, 53555, 43988, 102542, -1085, -1144, 1972, 30601, -4912, -50, 42753, -8088, -941, 925, -5050, -6109, 57465, -148, 550, -1147, -22, -1112, -52078, 84, 32848, 53135, 41996, 83073, 34921, -773, -9599, 62710, 84184, -5169, 99885, -19798, -197, 20, 54856, -758, -7354, 95, 9222, -1688, -31727, -9083, -114, -618, -445, 85333, -1376, -675, 45309, -7705, -4542, 84593, 24175, 31160, 57178, 152311, -1565, -41701, -17454, 38632, 383, -396, 1902, -937, 61585, -13857, 29122, 55313, -53, -17355, -6, 48499, -7404, 59066, -8812, 10, 34442, 73241, 81956, -1166, -524, -2147, 27967, 12, -8973, -28712, -1252, -923, 67436, -4056, 45217, 63446, 38194, 60867, 37752, 15, 99003, -8457, -12737, 71709, 122929, 47425, 76935, -101, -15888, -2701, -14187, -5351, -24253, -1412, -238, -795, -237, 57606, -2994, 1700, -2815, 69049, -3693, -6385, -1191, -13449, -1214, 65089, 32876, -2299, -18011, 159091, -4079, 72739, 103665, -7088, 1232, 214730, 217, -1865, -6552, 53802, 29485, -52685, -999, -529, 54130, 64352, -23723, -738, -1351, 38878, -2359, 36132, -1013, 5549, 510, -1768, 87234, 34444, -1777, 65928, -405, -58, -270, 59917, -35834, -114, -690, -330, 59307, -2523, 72594, -388, -138, 118655, -753, 24531, 55138, 105531, 114547, -1777, -1180, 53366, 73317, -10622, 91893, 64640, 100255, 47298, 65210, 154, -18, -35599, 58133, 41335, -104, -65, 82406, 65830, -208, 49054, -630, -11867, 412, 39518, -41, -1301, 70267, -3745, 37458, 91356, 49570, -10342, 26717, 56599, -1456, 71980, -1556, -166, -2818, 89628, -9952, -7288, 92924, 33004, -14243, -1491, 50552, 81104, 43816, -1483, -11812, -38, -59, 110445, -1936, 30360, 86, 60691, -54071, -537, 58942, -5878, -22334, 39282, -69029, -1749, -302, 50496, 37340, 37365, -4588, -12, -1411, -22454, 583, -3583, -14578, 103491, 37329, 48447, -5016, 70766, -351, -945, -1308, -1786, 1171, -212, 86555, -482, -514, 4, 31995, -19900, -4732, -605, -469, -992, -12584, 33015, -2644, -429, -276, 33308, -862, 42195, -268, 57777, 55891, 51384, 32, 58588, -3961, 78220, -141, -34056, -3080, -10542, 65132, -791, -1945, -1338, -6426, -2455, 60438, 124590, 31448, 10, 32976, -1345, 38601, -206, -6056, 152, -3917, -9932, -3934, -3763, -1943, 132, -1203, 36533, 481, -15431, 36610, -2106, 57055, -17797, 44071, 2518, 76984, 39466, 289, -7969, -586, -1795, 3225, 58708, -22285, -1063, -1663, 70473, -19078, -4589, 46286, -516, -226, 41717, 97013, 41505, -35770, 95898, -907, 143, -4444, -263, 3086, 35657, 215, 39500, -692, -17216, -418, -15710, -223, -175, 32792, 42835, -13610, 45744, 41477, 4089, -1643, 102856, 43489, 39476, 62496, 56558, 1748, -24991, 95271, 34248, 56650, 36857, -79, 44270, -253, 31396, -1827, -809, -6317, -37, 46890, -158, -1089, -5167, -639, 77986, -2599, -41, -3082, 44139, -109, 35657, -1971, -376, -2794, -1814, 73804, 80793, 57583, -1268, -3854, 49998, 38447, -848, -636, 90048, 57763, 121073, 80410, -19651, -3111, 46552, 39473, -3208, 48884, -410, 46949, -113, -17813, -76, 851, -89053, 63054, -443, -2333, 68431, 4357, -2292, -299, 105780, 40988, 54463, 56865, -59, 850, 42955, -994, -441, -3172, 11829, 72308, -806, -3023, 3017, 54486, -3173, 51252, 60101, 34026, -1467, 35610, 115258, -117, 146156, 73532, 72769, -3137, -163, 56873, 849, -23330, 30664, -541, -263, -1101, -1039, 61561, 78770, 1708, 50365, -877, 46295, -7351, -2483, 55419, -490, 29185, -122, -10913, -27337, -442, 49928, 43158, -2261, 73348, -1121, 49938, 178617, 44207, 51559, 12, -6455, 435, -10568, 1, -113, -1172, -4083, -2522, 45535, -4505, 37, 1530, -37559, 29146, -612, -569, -865, 52403, 363, -31701, -8857, 112290, -554, 52897, 253, -256, 387, 63, 54302, 127244, 58335, -2730, 514, -2793, -671, -470, 45970, -1182, -1341, 5081, 26142, -945, 46174, 34473, -3275, -6667, -422, 13770, -660, -551, 34995, 102939, -11867, -2277, -283, 50691, 36993, 43348, 161, 8704, 85719, 111, -21971, -957, 87274, -2072, -204, 7726, -230, -117, 34417, 48126, 35354, -606, -281, 46405, -23, 2935, 143727, -227, 54398, -4942, 27111, 92790, -6430, 58099, -8802, -641, 251, 54694, -1104, 78588, -1389, 28836, -29160, 3192, -686, -388, -2293, -684, -954, 59662, 34987, -295, -1121, 3800, -84, 50850, 52113, -1724, -144, -5924, 175, 40496, -25439, 191626, -37, -160, 10147, -2213, -267, -46, 741, 6, -3394, -3519, -573, 22966, 77650, -1167, -318, 93751, 9, -1107, 43856, 51536, 39364, 18323, -211, 299, 31335, -2777, -3318, -708, 78697, -6356, 838, -1558, -373, 47975, 384, 54561, 45375, 32919, 439, -121, 1735, -2904, 921, -5510, -1997, 57581, -31145, -1718, -2976, -2506, 2287, 77189, 54873, -732, 12000, -2193, 18, -798, -2586, -92, -5109, 6268, 56915, 29719, 52639, -6196, -17502, -1512, -1158, -8984, -1723, 36791, 37841, -6589, -328, -351, -32490, 38502, -1289, -1492, 30337, 69251, 41866, -100, -572, -5282, -470, 32322, 8722, -4649, 87422, -10, -4281, 247635, 49800, -57, -27831, -38168, -1323, -2633, 87347, 34187, 55165, 240, 55577, -234, -7633, -1740, 347, -4994, 301, -334, -8296, -6576, 44163, 65473, -8830, -702, 2109, -63, -1327, -1480, -535, 59478, 818, -1737, -7907, -8573, -714, -806, 59563, 33383, -1214, 1412, -488, -2925, -2006, -78, -1340, -378, -2253, 52809, -1577, -716, -6481, 54824, -1143, -15804, -12031, -11043, 64434, 64449, -418, 105526, -1031, -167, 22540, -57220, 46142, 55134, 64750, -4254, 735, 86426, -1067, -29859, 35236, 65190, 44695, -557, -1162, -897, 46378, -17054, 62802, -12699, 1887, -2758, 57409, 42914, -1057, 632, 57355, 36852, -15401, 124240, 118039, -11550, 61008, 33120, 120798, 63865, -1120, 46549, 5623, 46894, -7542, -3703, -720, 91952, -1750, -789, 102866, -6501, -143, 11, 20464, 102834, 43275, -4971, 32571, -203, 1, -21916, -2946, 1988, 30680, -346, -309, 48008, -2338, 7317, 66894, -170, 31621, 76726, 33590, -299, -3, -927, 129761, -3377, -2670, 69443, -9527, 39618, 47643, 39724, 33164, -981, 64414, 56359, -752, -57, 121576, 1369, 58095, 31590, 50044, -1065, 6660, -1614, -1422, -3119, 23897, -658, 35630, -1863, -61, 41900, 49240, -17179, -146, 69048, 760, 66313, -2166, -648, 107370, 5522, -483, -825, 67248, 49434, -4976, 138616, 28477, -8302, -13, -504, 55273, -746, -10, -13, -1564, 64382, -829, 155661, 106685, -6964, -3638, 137953, 47674, 39414, -1006, 46411, -1285, 49418, -237, -943, 52985, 48871, 89621, -6235, 96898, -768, 28302, 136, -1471, -5691, 35745, -13491, 62023, 1929, -5453, 167943, -2644, 67042, 38915, -213, 74219, 60315, -482, -343, -2200, -148, -10177, 69889, -1328, -3178, 32311, 50599, 84609, -592, -11622, 38290, 349, 133038, -9472, -2297, -29, -13665} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {179, -372, 242, 201, -86, -202, -372, 207, -485, 302, -454, -800, -362, 192, -115, -109, 145, 416, -343, 68, -94, -402, -458, 217, -368, 126, 229, 494, -408, 201, 340, 278, -103, -400, -179, 216, -517, -385, 410, -375, -412, -417, -494, -389, -372, -457, -502, 113, 169, -167, -498, 387, 322, 316, -541, -366, -383, 576, -176, 174, -31, -379, -409, -297, -443, 188, -126, -110, -350, 342, 4, -386, 270, 228, -69, 311, 374, -299, -197, 549, 600, -177, -180, 22, 250, -376, -566, -429, -466, -354, 233, 421, -440, -417, -113, -566, 197, -104, 234, -431, 164, 213, -109, -185, 311, 198, 313, 187, 259, 153, -456, -62, 91, -381, 416, 294, -474, -320, -345, -368, -743, -91, 124, 683, -396, -113, -199, -94, -95, -442, 69, -349, -448, -170, 494, 57, -447, 259, -384, 287, -103, -412, -449, -596, 262, -197, 448, -337, -106, 262, 253, -161, 379, -413, 159, -374, -347, -368, -403, -334, -107, -528, 241, -25, -427, -595, -404, -418, -76, 223, 350, 296, 225, 320, 300, -117, 156, 185, -384, -120, -113, 160, -437, 224, 367, -175, 390, 271, -436, -363, 294, 94, -733, 495, -471, -677, 364, -107, -828, 496, 382, 526, -465, -347, 372, -71, 195, -467, -501, 505, -170, 269, -336, 318, -366, 396, -84, 313, 197, -550, -403, -142, -438, -110, 216, 322, -489, 261, 77, -133, -119, -441, 201, -445, 222, 32, -616, 378, -275, -388, -532, -633, 468, 172, -426, -379, 531, -491, -453, -514, -405, -304, 434, -97, -12, -392, -415, -76, -111, -489, -472, 160, -470, 265, 319, -95, -403, 253, 143, -468, 496, -358, -402, -427, -108, -343, -366, -110, -388, 235, -189, -123, -561, 327, -173, -534, -392, 566, 155, -431, -407, -359, 335, 206, 199, -119, -520, 438, -381, -95, -401, 169, -181, -387, 191, 159, -400, 251, 207, 172, -432, -369, -367, 263, -147, 263, 100, -119, -123, 620, -571, -383, -403, 108, -492, -133, 204, 325, 142, -130, -61, -443, -170, 188, -116, -369, 308, 189, 216, -198, 227, 141, -354, 442, 213, -195, -316, 253, -376, 281, -397, -422, -414, -113, -439, 647, -432, 1, 179, -105, 409, -463, 89, 465, 295, 189, 394, -502, -589, -374, 58, -342, 342, -374, 126, 274, -121, 347, 322, 181, 400, 212, -3, 276, -388, 321, 462, -337, 281, -477, 430, -409, -112, -488, -438, 6, 534, 393, 305, -105, -405, 265, 177, 179, -515, 104, 615, -318, -105, -207, -344, -526, -423, 164, -507, -113, 370, 193, -114, -90, -355, 202, -374, -158, 65, -115, 523, 182, -157, -353, -355, 436, -417, -372, -107, 578, -596, -376, -327, -403, -409, -111, 531, -578, -440, -427, -354, -146, -346, 65, -350, 411, 51, 701, -212, -427, -111, 27, 176, 84, -374, 558, -198, 421, -428, 169, -361, 323, -170, -11, 456, -400, -495, -451, 347, 9, -428, -373, 314, 83, -474, -528, -509, -536, 333, 351, -405, -401, 244, -452, -193, -374, -185, 417, -186, -97, 475, -424, 7, 311, -384, -98, 334, -175, -573, -428, -359, -476, 3, -200, -376, 240, 260, 207, -123, -440, 95, 541, -108, -424, 195, -456, -414, -346, 167, -368, -509, -132, -703, -443, -475, -125, 218, -414, -107, 397, -292, -171, 298, 181, -180, -322, -521, -111, -361, 254, -411, 475, -117, -352, 95, -384, -181, 288, 110, -100, -421, -403, 439, -501, -81, -398, -816, -344, -366, -127, 199, -130, 175, -59, 25, -193, 186, -94, -345, 78, 179, -145, 157, -364, -180, -198, 227, -338, -187, 258, 612, -622, 315, -470, 47, 199, 165, -97, -419, -523, -438, 252, 212, 243, 292, 176, -389, -123, 307, -174, -291, 284, -438, -328, 312, 175, -209, -105, 273, -200, -379, -514, 418, 368, -109, -416, -316, -394, 102, -183, -667, 226, 366, 232, -500, 37, -64, -113, 330, -123, -362, -383, -311, 210, -83, -359, -179, -166, -593, 102, -503, 255, -330, -450, -97, -400, 249, -174, 324, -370, -129, -477, 177, -368, 161, -113, -171, 268, 260, 256, 322, -407, -377, -172, 256, -76, -95, -354, -457, 168, -167, 208, -89, -308, 257, -589, -104, -101, -108, 281, 84, -191, -104, -118, 122, 801, 249, -352, -390, 206, -129, -409, -80, 398, -392, -362, -325, -313, -203, 46, -380, -133, 46, 156, -483, 466, -69, 245, -124, -361, 248, -431, -375, -395, 129, -184, -113, -127, -95, 421, 431, -400, 174, 288, 183, 192, -90, -465, -444, 270, -112, 335, -100, 373, -103, 57, 233, -82, -434, -316, -500, 131, 174, -169, 376, 462, 501, -446, -408, 122, 52, -184, 258, -340, -107, 197, -401, -449, -442, -120, -125, 459, -109, -322, -127, 307, -403, 94, 134, -739, -441, -3, 611, 99, -127, 386, -437, -394, -394, 65, -385, 104, 137, -124, -108, 357, 170, -188, 257, 299, -350, -491, 276, 243, -105, -208, 444, 156, 155, -411, 391, 200, 264, 250, 197, 227, -423, -397, 271, -74, -103, 398, 112, 291, 362, 255, 255, -428, 407, -111, 307, -413, -122, 327, 189, 315, -501, -519, 298, -563, 208, -186, -326, 412, -376, -394, -436, 282, -113, -555, 187, 195, -377, -471, -449, -196, 246, 175, -409, 367, -470, -27, -97, 694, -417, -471, -81, -108, -375, -325, -94, -782, -605, 150, -381, -464, -551, -495, 354, -409, -149, -416, 198, 275, -163, -488, -69, -123, -590, -112, -179, -94, -330, -512, -399, 204, -400, -118, 358, 78, 212, -97, -329, -126, 67, -395, 235, -109, -341, 134, -370, -545, -383, -3, -127, -110, -669, 427, 419, -470, 98, -411, -391, -391, -365, 255, -418, -381, 96, 28, -527, -76, -364, -339, -484, 234, -94, 331, -177, 233, -342, 170, -312, 219, -134, -410, -450, 261, -95, -486, -112, -436, 400, 143, -500, -174, -178, -87, -464, -441, 437, -634, -365, -113, 251, 140, -451, -160, -98, -139, 159, -459, -103, -777, -444, 286, 514, -531, -444, -398, 350, -400, 312, -384, -180, 295, -446, -417, -662, 246, -514, 29, -354, 78, 503, 112, -427, 45, -441, -93, 197, -598, 158, -408, -380, 166, -526, -406, -106, 266, 281, -157, 511, -400, -108, 397, -381, -396, -541, -122, 550, -438, 160, -568, 496, 182, -201, 156}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {2055290240, 2014307968, 1669339904, 1682253568, 1951246720, 1333164672, 2010751232, 1401481600, 1154602112, 1230290944, 1900826240, 2047540992, 1634439296, 2112558592, 1617412352, 1790894592, 1851361024, 1527495552, 2122824576, 1752639360, 1144744448, 1596523520, 1362902784, 2117558784, 1638112384, 1432244480, 1183931264, 1861135872, 1643023488, 1636263168, 1796917248, 1502013824, 1616549376, 1618125696, 1927248128, 1407988224, 1888091008, 1914823296, 1374615168, 1525720064, 1914958208, 1871820800, 1120904064, 1541875840, 1725191936, 1392918656, 1864790528, 1123792640, 1308258432, 1845418624, 1312697856, 1949748992, 1440841984, 1276893696, 1226785920, 1911299072, 1421856768, 1763185664, 1947429376, 1763531136, 1538184064, 1765410432, 1406765056, 1241727744, 1697869440, 1466329856, 1081446528, 2020000384, 1113088000, 2090929664, 1437061120, 1673730944, 1402168064, 1953697536, 1682471680, 1438040320, 1750993664, 1253555200, 1590932992, 1318902016, 1084697088, 2097791232, 1790505088, 2121786496, 1792587392, 1956030976, 1196741632, 1597148160, 1107291392, 1905250176, 1187929728, 1348521984, 1334711296, 1405545472, 1113884160, 1735312640, 1527982080, 1197034368, 1097528960, 1416964096, 2118224128, 1398709760, 1083911424, 1602589440, 1552633728, 1461293952, 1956031744, 1615308672, 2135303552, 1562965888, 1862736384, 1158795904, 1316603264, 1712843264, 2119008512, 1839620480, 1728186752, 1418226176, 2091420032, 1376131328, 1623249664, 1444662016, 2013942016, 1803804800, 1886377088, 1616246016, 1212753152, 1645613824, 1968728832, 1183483008, 1817435136, 2124344704, 1221313536, 1188504832, 1289435136, 1424183936, 1401540992, 1248158336, 1466884992, 1658010752, 1194148352, 1812266496, 2104758272, 1079757568, 1389376384, 1101545344, 1323760256, 1116496640, 1456943872, 1484773120, 1704097536, 1458825728, 1492326656, 1113885312, 1627304704, 1569374336, 1937424000, 1928588288, 1189775744, 1777008896, 1914601216, 1794116224, 1505676416, 1671924224, 1131235840, 1593763456, 1475782272, 2124528640, 1420785408, 1181930368, 1156139136, 1957180800, 1635415552, 1254109056, 1485887360, 1956628224, 1455851648, 2114663936, 1461450880, 2098849792, 1956446976, 1457391104, 2137405312, 1593267456, 1086017280, 1933571200, 1094611328, 1622504960, 1369369856, 2132583296, 1933383552, 1893291520, 1278549888, 2056905856, 1103991296, 1670602240, 1293815936, 2138789888, 1125164032, 1778233728, 1242746496, 1716606080, 1370500736, 1110141696, 1241810560, 2011631616, 1625909248, 1266891392, 1201427328, 1966294400, 1579672576, 1514693888, 1850250240, 1381793152, 2142871808, 1171920768, 1429316352, 1292857856, 2102186368, 1887351296, 1903094144, 1210066432, 1107112960, 1476037248, 1206587904, 1910889728, 1157304704, 1672102016, 1182599808, 1182300032, 1563736320, 1440414976, 2095882880, 2121939200, 1327041536, 1082177152, 1508339968, 1742753792, 1336939776, 1336631680, 1339625344, 1922249600, 1104334592, 1732781952, 1371848064, 1982987648, 1655244032, 1860681472, 1258418688, 1676536704, 1590900352, 1574001152, 1872291712, 1699218816, 1262805888, 1207926272, 1622050304, 1282413440, 1825991296, 1822260608, 1074742144, 1478620288, 1386617472, 2059908480, 1205521280, 1862428032, 1938087680, 1557481344, 1794359552, 1966080896, 1306401664, 1753619072, 1774574208, 1462372736, 1935198848, 1221923200, 1577009920, 1368812672, 1504484352, 1299279104, 1629534976, 1207245312, 1498141696, 1615392384, 1559848704, 1506782208, 1992731264, 1577585920, 1306303488, 1555824512, 2097862272, 1595620224, 1539769600, 1403128704, 1497481984, 1525766400, 1684678144, 1111800448, 2065643136, 1864764672, 1252429696, 1929288960, 1321811584, 1766380672, 1869121536, 1566651776, 1708306688, 1718263168, 1672720128, 1212102016, 1371502080, 1705368064, 2027265664, 1400362240, 1660973440, 1315599744, 2093810944, 1835782016, 2144077184, 1798677248, 1929688192, 1739176832, 1486944768, 2129544960, 2002615936, 1523241472, 1118748288, 1231801728, 2020828544, 1763912448, 1747329920, 2072093440, 1273328512, 1259501056, 1326917888, 1900816000, 1231923840, 2036770816, 1111694336, 2042612864, 1141003776, 1390382976, 1999750784, 1989400448, 1245334272, 1984028160, 1102104064, 1680724992, 1594396672, 1180336384, 1259775616, 1392489984, 1461209856, 1497385728, 1196362112, 1513953408, 2054818944, 2108602240, 1488171136, 1190175104, 1750730752, 1128948096, 1131383552, 1985768704, 1451634432, 1663149312, 1231776000, 1145268608, 1362427520, 1973388544, 1121603072, 2054990080, 1317528832, 1765866880, 1338951552, 1602188672, 1652972288, 1205881216, 1376524032, 1716231552, 1160538112, 1477706112, 1856220416, 1452520576, 1940047360, 1573201152, 1455790464, 1819601408, 1386762240, 1238438272, 1234338048, 1558251136, 1741786752, 2107105408, 1641854976, 1314366464, 1310313472, 1077291776, 1622437248, 1742882176, 1532306560, 1263047168, 1825086080, 2111361792, 1074767232, 1538769664, 1589725568, 1800495872, 2014320896, 1470518656, 1543019008, 1848756992, 1566959488, 2041418496, 1552140672, 1167723520, 2074170240, 1178433792, 1698412416, 1459185152, 1783768320, 1872045440, 1630767872, 1831879680, 1595376512, 1990524544, 1791481216, 1225198592, 1137427968, 1933595008, 1768436864, 1873212416, 1582812416, 1561526912, 1867901824, 1480660608, 1948201216, 1535860352, 1745863296, 1204339456, 1489396992, 2146607744, 1171529216, 1571266944, 1787317504, 1776348416, 1816659200, 1298466816, 1935586688, 1387148288, 2099748352, 1467035648, 2063591808, 1159939712, 2122299776, 1480318592, 1098867200, 1201690240, 1724632576, 1463679232, 2072083200, 1221920640, 1108140160, 1196681856, 1505425280, 1509802368, 1960451968, 1206436736, 1151440768, 1508998656, 1194093568, 1177746176, 1992202752, 1258968704, 1411647104, 1127759488, 1572850304, 1822946304, 1816075392, 1088510464, 1086443776, 1222616832, 1387103104, 1253067776, 1788534912, 1929825920, 1679623040, 1700969216, 1484018688, 1399736704, 1142230016, 1817008512, 1884823296, 1701746432, 1974999808, 1081518720, 1143938560, 1205127936, 2118716800, 2089671168, 1117795584, 1232303488, 1095718016, 1358530048, 1426090112, 1738533760, 1535806464, 1198712192, 2127302528, 2050046592, 1547791104, 1540223616, 2060369792, 1904502016, 1084094720, 2028367616, 1255467136, 1671936512, 1706560000, 1441611648, 2112453504, 1391680000, 1345527808, 1974246656, 1850772736, 1771154048, 1589760512, 1127039872, 1283007232, 1286086016, 2014457984, 1214838528, 1229251328, 1201741056, 1298104704, 1874298112, 1087118720, 1576689024, 1423975040, 2103901824, 1663941248, 1999414144, 1825423872, 1968470144, 1724509568, 1598639232, 1492918144, 1516935680, 1115578112, 1633306752, 1551997696, 2052149120, 1291255680, 2138343936, 1413496064, 1157378176, 1357305344, 1541397248, 1099038208, 1992961664, 1435572864, 1457824896, 1343622400, 1664357632, 1628570496, 2073568128, 1248031744, 1177830144, 1438910464, 1740667392, 1486216832, 1176382080, 1235311488, 2068412416, 1095810176, 1562839552, 1909783680, 1942566016, 1291300096, 2133645056, 1290620416, 1642943232, 1630405888, 1484403712, 1908531840, 1186028032, 1170900096, 1643743232, 1650361472, 1230418816, 1181302656, 1231880576, 1074198400, 1599324160, 1310050560, 1595928448, 1353215360, 1564275840, 1462722304, 1327693952, 1731762176, 1237681408, 1605965312, 1294198656, 1359666432, 1654692864, 1240892672, 1730314240, 1438730752, 1080065408, 1650023808, 2143396736, 1141906176, 1256930304, 1097973248, 1366645504, 1882763520, 1611618688, 2024306944, 1138074496, 1838194944, 1425606144, 1892539776, 1534278656, 1484605568, 1796216192, 1760605568, 1829086464, 1514710144, 2033648384, 1861675392, 1319597568, 1603344256, 1206571648, 1184032256, 1470791424, 1962024960, 1502985472, 1134203392, 1211101312, 1524354688, 1664636544, 1389635328, 1573543424, 1092490624, 1962934144, 1199264512, 1090664704, 1160423552, 1878659456, 1678747008, 1326196736, 1919549440, 1184656000, 1416746880, 1232470144, 1111097216, 1871723136, 1096039168, 1270172160, 1451712128, 1915624576, 2072816512, 2009642624, 1257903232, 1086096896, 1365197056, 1421900288, 1861571072, 1332914048, 1848235008, 1618076288, 1769649536, 1450157568, 1416779776, 1985896064, 1770191360, 1315804160, 1642194176, 1225854720, 1438711424, 1917942528, 1959731584, 1916568320, 1251135872, 1251397248, 1834143616, 2085838720, 1854898304, 1150450688, 1210042112, 1265884672, 1783533056, 1294741760, 1896173056, 1919562368, 1285930624, 1925102336, 1425005440, 1385369984, 1506354816, 1573250944, 1810304256, 1769767680, 1375599872, 1258149760, 2103394432, 1133905920, 1168263040, 1220439296, 1226485888, 1113038976, 1445146496, 1616397824, 1804526848, 1487255040, 1726869760, 1253309440, 1612974720, 1956862592, 1322977792, 1883799168, 1284883456, 1515023232, 1730133888, 1959238912, 2109349248, 1321288448, 1164848640, 1485024256, 1570799744, 1229793408, 1368352512, 1231353856, 1249797888, 1606303872, 1939705216, 1085535488, 2002011392, 1295644672, 1886667136, 1207442816, 1132372992, 1235875584, 1224244224, 1085805312, 1324133632, 2137757824, 1183621376, 1723594112, 1411868672, 1435077760, 1824078336, 1778547456, 1647003136, 1949052288, 1831667968, 1074451712, 1110465920, 1109378560, 1901358336, 1776198272, 2144215168, 1137976576, 1549166592, 1634169472, 1074695296, 1178687104, 1982933376, 2013978880, 1250599296, 2056357504, 1851240704, 1353397888, 1236182912, 1746181888, 1298165632, 1627316608, 1945454336, 1976750080, 2024164480, 1313858304, 1862145920, 1922114944, 1749335552, 1826206464, 1387210624, 1886804480, 1838586752, 1437310336, 1665065216, 1210972672, 1317665664, 1988383360, 1993389312, 1198595200, 1616299776, 1076804096, 2071700608, 2027800064, 1721960064, 1979347712, 1132674944, 2098914688, 1314854528, 1351278208, 1875040640, 1635719552, 1635540352, 1421001216, 1791128064, 1885037184, 1173419776, 1892600704, 1529262720, 1105642752, 2146491520, 1090378752, 1630348032, 1138844672, 1474037632, 1440456320, 1453112832, 1536619904, 1875887232, 1104998400, 1115990016, 1287110912, 1994742400, 1460732160, 1376694272, 1410472576, 2135613568, 1106744320, 1220239744, 1084371456, 2034664832, 1447135232, 1263384064, 1434507264, 1533163776, 1322984960, 1251654912, 2004124672, 1117579648, 2046180864, 2045446784, 1106283904, 2094051712, 1141014784, 1441397888, 1082094208, 1876531456, 1979818240, 1428629760, 1838961152, 1150475520, 1492324352, 1691150592, 1868227584, 1182204032, 1467741696, 1630072192, 1136678656, 1432495104, 1937988224, 1195326720, 1383851264, 1520370560, 1113273344, 1335811840, 2121987200, 1398475136, 2035757440, 1395941120, 1442697856, 1655430272, 1542787456, 1504247296, 1186986752, 1180953216, 2117968128, 1170122240, 1109335552, 1743848960, 1180973184, 2134879616, 1426659968, 1504811264, 1626319360, 1444413184, 1699199744, 1896756608, 1552404608, 2039074432, 1717282560, 1371323904, 1540716800, 1135253504, 1276034816, 2028854656, 1394327424, 1342880768, 1631135488, 1633007488, 1092839296, 1082800512, 1844757248, 1912065664, 1928650368, 1705591040, 1092870656, 1938412160, 2127308544, 1732000640, 1158679808, 1211043712, 1720758528, 1446380288, 1724136960, 1877284352, 1513599744, 1335779712, 1512049280, 1393223936, 1474782976, 1403410944, 1537275264, 1388363008, 2053440896, 1338440832, 1609835008, 1291770368, 1175765632, 1648548608, 1084429184, 1287808896, 2048579712, 1780066560, 1479759872, 1164336640, 1689016704, 1468277376, 2139898368, 1086631552, 1192065408, 1160528640, 1075154176, 1754904704, 1228507904, 1908865792, 1584086656, 1374288512, 1128063104, 1489058944, 1376678784, 1180078720, 1497275136, 2130190464, 2100278656, 1548850944, 1354338944, 1293926912, 1637620480, 1140181760, 1437292160, 1833089536, 1099142656, 2082857984, 1359507328, 1609163904, 1180114304, 1818485248, 1384134144, 1447107840, 1702654336, 1566660224, 1505834368, 1484771584, 1438983296, 1214350720, 1654709248, 1232860928, 1468446080, 1503456640, 1252451072, 1601588480, 2008554240, 1153075712, 1140484096, 1909003392, 1622109440, 1696888448, 2132019712, 1130823168, 1409509632, 2138271744, 1119986048, 2119461760, 1183244288, 1785597568, 1242942976, 1844672512, 1296073728, 1791780096, 1306474624, 2017211136, 1773935488, 1203033472, 1365307264, 1528038272, 1295149952, 2122729088, 1621477504, 1623246720, 1617252352, 1375718656, 1728363648, 2143840896, 1369192448, 2023362944, 2083350912, 1359060096, 1247225600}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {379, 88, -95, 292, -17, -7, 122, -172, 72, 266, 70, 361, 6, -265, 332, 199, 205, 382, 186, 671, 9, 258, -52, 3, -324, 299, 31, -189, 51, -291, 203, 40, 320, 258, -99, 43, -240, 511, 9, 460, 86, -79, -89, 183, 447, 261, 193, -41, 18, 53, 31, 279, -91, 486, 246, -192, -19, 29, -12, -12, -205, -2, -51, 122, -68, 14, 403, -54, 40, 68, 79, 314, 116, 387, 96, 282, -36, -98, -135, -19, 213, -110, 346, 212, 118, 104, -245, 374, 300, -268, 6, -67, 359, 452, 216, 320, -518, -53, 199, 230, 385, -191, -190, -13, -20, 171, 179, 208, -394, -139, 250, 63, 102, 458, -79, -240, 34, 394, -125, -384, 378, -30, 181, -19, -11, 220, 190, -215, -219, 183, -55, 445, -88, -60, -53, -179, -148, 199, -39, 227, 43, -64, 226, 439, -43, 111, -166, 139, 82, 187, -298, 49, 139, 19, 20, 59, 181, 107, -10, 143, 29, 155, 160, -12, 485, 456, 122, 146, 175, -32, 366, -15, 98, 300, -163, -50, 22, -225, 177, 153, 139, 334, 305, -97, 464, 24, 48, -10, 42, 107, -557, -161, -156, 274, -520, -15, 596, 286, -101, 226, -163, -36, 51, 426, -151, 308, -502, 172, -50, 100, 140, 225, -95, 145, 359, -147, -184, -171, 352, 50, 161, -216, 217, 318, 169, 15, 254, 36, -85, 230, 105, 169, -145, 100, 12, 16, 76, 442, 70, 183, -101, 436, -204, -108, -61, 233, -206, 74, 142, -91, -186, 104, -62, -223, 117, 49, -350, 460, 269, 114, 99, -162, 279, 288, 451, 435, 56, 94, 231, 34, 138, 129, 161, 88, 6, 158, 285, 202, -420, 159, 258, -175, -95, 78, -160, -26, 163, 347, 37, 221, 571, 175, 36, -20, 91, 339, 422, 91, 16, 316, 10, 66, -79, 9, 23, 372, -108, 308, 399, 167, 491, 148, 167, 159, -248, -410, 25, 311, 65, 136, 166, 147, -500, -20, 23, 281, 125, 67, -5, -50, 213, -74, -10, 140, 225, -34, 7, -1, 170, 157, -2, 231, 317, 491, 116, 198, 231, -78, 809, 382, -49, -263, -219, -134, 131, 43, -213, -97, -45, 261, 72, -25, 171, -61, -311, 9, 45, -299, 81, -105, 231, 116, 339, 432, 178, 180, 126, 334, -315, 54, 330, -157, 168, -323, -282, 12, 146, -264, 69, -251, -80, -73, 421, 152, 477, -283, -330, 411, -27, 189, 129, -138, -292, 19, -271, 106, 209, -52, 77, 64, 85, 323, 383, -262, -45, 13, -108, 151, 100, 102, -190, 242, 415, -68, 9, -110, -90, -94, -87, 26, 287, 362, 341, -162, -504, 8, -68, 120, 471, 22, 232, -19, -227, 203, -51, 233, 222, 109, 83, -240, -47, 67, -102, 172, 141, -98, 138, 70, 106, -156, 219, -288, 206, -10, -175, 31, -226, 262, -119, 320, 41, 276, 3, 506, 585, 134, 234, -13, -292, -252, -150, 259, 146, 92, -245, 201, -100, 140, -161, 100, -81, -225, 479, 68, 140, 239, 272, 184, -230, -50, -83, -447, 141, 225, -303, -78, -88, 225, -26, 255, 157, 244, 179, 178, 588, -427, 62, -47, 145, -45, 52, -39, 33, 259, 41, 119, -214, 317, 130, -495, 243, 250, 735, 12, 193, -106, -211, 13, 88, -191, -147, 144, 4, -17, 250, -120, 82, -67, -52, -4, 143, -99, 510, -161, 184, 188, 65, -200, 374, 196, 402, 130, 325, -385, 209, 60, 325, 7, 51, 461, 609, -31, 232, 47, 238, -312, -19, 55, 488, 372, 260, -218, 102, 19, 27, -39, 418, 182, 185, 168, 107, -316, -158, 126, -429, 6, 429, -73, 113, 537, -81, -24, 234, -58, 457, -395, -81, -65, 202, 301, -234, 42, 179, 262, 151, 124, -10, 22, 485, -227, 36, -319, 182, 392, 105, 83, 477, 456, 144, -100, 38, 327, 52, 158, 169, 184, 67, 268, -40, 73, 82, -284, -53, 405, 209, -280, -8, 301, -17, -139, 45, -229, 287, 57, 303, 228, 6, 88, 51, -166, -101, 65, 0, 441, 219, 28, 51, -101, 513, 106, 78, 1, -231, -126, -15, -15, -317, -49, 229, -260, 79, 22, 149, 393, 166, 336, 326, -225, 192, 291, 486, 252, 154, 61, -401, -15, 193, -97, 276, -112, 80, 345, -335, 1, 305, 164, 382, 351, 219, -421, -340, 137, -89, 297, -277, 170, -197, -89, 24, -194, 163, -43, 305, -6, 229, 556, 50, 257, 50, 212, -31, 105, 460, -202, -134, 33, 348, -212, 198, 151, 182, 85, 470, -77, -106, 172, 218, 636, 193, -108, -119, 288, -329, -248, 91, 60, 140, -83, 156, 289, 270, 63, 416, 20, 352, 73, 166, -212, 134, -278, 506, -118, -60, -53, -215, -299, 202, 340, 275, -77, 306, 89, -9, 169, -102, 102, 45, 194, 65, 61, 327, -158, 206, -234, 5, -25, 105, 412, -16, -24, 475, -21, -400, 77, -95, -74, 137, -93, 328, -13, -29, -163, -101, 4, 37, 132, -35, 217, 24, 26, 79, 116, 8, -248, 21, 88, 9, 385, 133, 168, 316, 1, 548, 302, -199, 62, 241, -87, -27, -202, -240, 58, 372, 169, 8, -273, -260, 531, 282, 86, -70, 47, 199, -58, 254, 97, -80, 97, -24, 242, -120, 180, -53, 36, -176, 148, 139, 250, 163, -405, -81, 100, -9, -51, 319, 164, 409, 224, -138, 233, 203, 1, -116, -325, 388, 101, 143, 135, 51, 17, -141, 246, 79, 237, 171, -8, 132, -197, -46, -171, 24, 169, -65, 59, 208, 14, -137, 85, 351, 83, 25, 111, 369, 216, 274, 296, -174, 48, 311, -148, -283, -290, -110, 189, -65, -18, 308, -160, -285, 120, -21, -188, 272, -387, 135, 224, 478, -158, 256, 183, 98, 312, -51, 7, -6, 345, -257, 136, 149, 0, -99, -120, -126, -76, 346, -124, 125, 476, 140, 174, -329, 264, 362, 461, -125, 299, 190, 274, -46, 25, -116, 229, -66, -246, -21, 17, 133, 109, 186, 194, 181, 129, -7, 221, -224, 375, -15, 366, -21, 335, 57, 57, 73, 79, 137, 137, 171, 14, 252, -62, -162, -99, 53, 167, 278, 182, -96, 705, 442, 103, 228, 210, -34, 186, 429, 38, 4, 152, 57, 258, 275, 252, -50, -92} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-1, -1, -1, -1, -1, -2, -1, -1, -1, -2, -1, -1, -2, -1, -1, -2, -2, -1, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -1, -1, -1, -2, -2, -1, -2, -2, -1, -1, -1, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -1, -1, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -1, -1, -2, -2, -1, -1, -1, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -1, -1, -2, -2, -2, -2, -1, -1, -1, -2, -1, -1, -2, -2, -2, -1, -1, -1, -1, -2, -2, -2, -1, -1, -2, -2, -1, -1, -2, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -1, -1, -2, -2, -2, -1, -2, -2, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -1, -1, -2, -1, -1, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -1, -2, -1, -2, -2, -2, -1, -2, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -1, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -1, -2, -1, -2, -1, -1, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -1, -2, -1, -2, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -1, -2, -2, -1, -1, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -1, -1, -1, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -1, -1, -2, -1, -2, -2, -2, -1, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -1, -1, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -2, -1, -1, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -1, -2, -2, -2, -1, -2, -2, -1, -1, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -1, -1, -2, -2, -1, -1, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -1, -1, -1, -2, -1, -2, -2, -2, -1, -1, -2, -1, -2, -1, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -1, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -1, -1, -1, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -1, -2, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -1, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -1, -1, -1, -1, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -1, -1, -2, -1, -2, -2, -2, -1, -2, -2, -1, -2, -2, -1, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -1, -2, -1, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -1, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1861518464, 1737580928, 2080901504, 1682232704, 1700539264, 1402441088, 1668163968, 1613696384, 1866989824, 1633946240, 1114963328, 1638059520, 1793181056, 1490334080, 1908852096, 1876696192, 1446313088, 1515497472, 1922053760, 1862377728, 1797777920, 1486154624, 2136724352, 1613467392, 1576547456, 1103966080, 1556153728, 1730624512, 1840337536, 1458056576, 1702173824, 1856832128, 1910576640, 1101542016, 1709090304, 1693883008, 1709389184, 2011054208, 1973784832, 1798846336, 1376849152, 1592312320, 1538755200, 1780520320, 1894131840, 1689717120, 1141910016, 1681401600, 1711567488, 1887993856, 1089553152, 1554822272, 2058989312, 1718202880, 1078766848, 1603285120, 1577313920, 1544538624, 1622364544, 2145318272, 1343228672, 1961239424, 1882361088, 1538742400, 1777984256, 1608426880, 1675119360, 1525406080, 1633458432, 1983825280, 1674089088, 1749154048, 1836911360, 1554623360, 1958433536, 1754859904, 2059907200, 1936009216, 1850836608, 1611762304, 1811664768, 1566259328, 1748960256, 1471874304, 1899450880, 1811771264, 1515262080, 1991277568, 1595187840, 1787376512, 1538300672, 1645122688, 1864281600, 1787304704, 1779089024, 1768067712, 1662958080, 1664172800, 1779564288, 1907299200, 1596124672, 1986598912, 1910683264, 1619440768, 1742343680, 1703024512, 1858454656, 1739468928, 1520352768, 1749766400, 1855662464, 1741927680, 1707272192, 1664512128, 1718063488, 1763055360, 1091957888, 1768929408, 1080593664, 1558112640, 2043488128, 1944417408, 2033097984, 2068063232, 1688990976, 1549246720, 1605054592, 2095753728, 2030680320, 1499382016, 1495532544, 1881572736, 1303330176, 1500371456, 1580376448, 1643291264, 1754543488, 1666596352, 1829592192, 1630981120, 1880531968, 1804557440, 1829166720, 1818766592, 1642396288, 2002362496, 1785779968, 1873052160, 1664215040, 1821981952, 1708496000, 1712364672, 1573493120, 2131795328, 1912045696, 1129062528, 1764767872, 1830901888, 1237589632, 1540100480, 1654250112, 1582799872, 1843541760, 1450221568, 1503627776, 1633482624, 1743239808, 1932846080, 1832991488, 2085192576, 1835147392, 1902311040, 2003931776, 2062669440, 1905527552, 1597331072, 1611894400, 1469285248, 1735415040, 1587270656, 1404628480, 1920785664, 1608526592, 1676072576, 1699935488, 1812615040, 1810386688, 2099372544, 1851030656, 1640878208, 2126468224, 1790585984, 1585411328, 2109705088, 1462793216, 1920093312, 1933987840, 1657224832, 1779575936, 1877799424, 1086884992, 1645230976, 1497606784, 1682858496, 1850195200, 1808689536, 1547147904, 1699342464, 1535913088, 2015386752, 1704098816, 1093022464, 1590522624, 1555778560, 1820894592, 1603788160, 1831988224, 2079812992, 2134069888, 1362720000, 1835307520, 1488196864, 1961695616, 2006875520, 1742248448, 1786911360, 1980565632, 1732606208, 1074654208, 1619576192, 1749212416, 1775913344, 1529371776, 1874701952, 1671583744, 1719620608, 1794579968, 1392494592, 1142432256, 1542874368, 2069345408, 1699520384, 1850210688, 1288375680, 1621447296, 1874693632, 1768360064, 1881747456, 1762469504, 1951067008, 1607436544, 1689282560, 1777973632, 2051727360, 1673723392, 1966123264, 1521790592, 1850809728, 1698816512, 1546138624, 1872517248, 1517057792, 1787923072, 1670734080, 1809379456, 1710598528, 1987785856, 2099166976, 1827434240, 1871133312, 1830191232, 1588028416, 2019278720, 1132609280, 1727557504, 1717340416, 1704283648, 1605380992, 1669549952, 2023975808, 1802497280, 1676924800, 1537642112, 1802411776, 2138150912, 1695679488, 1687176320, 1627525120, 1834224896, 1127134976, 1705112320, 1474588032, 2021232128, 2062565504, 1916807168, 2143771520, 1682845312, 1838340992, 2006542592, 1899493248, 1678514560, 1753021056, 1705306112, 1979134592, 1931457664, 1994467840, 1619007488, 1888189824, 1854476160, 1083978112, 1687024768, 1805025152, 1922970880, 2025585152, 1349545344, 1448374016, 1741964544, 1607915776, 1834994432, 1687069056, 1149783808, 1605076864, 1687133184, 1613242112, 1735940736, 1507113600, 1734629376, 1853149184, 1927861888, 1119795456, 1867228032, 1773237248, 1467621120, 1543312384, 1882902656, 1987727104, 1645271168, 1854263808, 1888208128, 1433409408, 1883125888, 2004986112, 1651808384, 1826419584, 1749219456, 1590343936, 1621955072, 1510288640, 1491296512, 1580292864, 1689646464, 1666157952, 1876308096, 2026385408, 1749853696, 1705102464, 1778737152, 1768613120, 1778143872, 1424432896, 1608036736, 1902358656, 1774034816, 1582689408, 1792403584, 2082895616, 1550334848, 1803160320, 1593715200, 1339154176, 1113016448, 1718743552, 1846191488, 1879183744, 1587993088, 1394417408, 1628431104, 1999288576, 1348499840, 1703338624, 1574934400, 1847565312, 1760238592, 1109592320, 1636888832, 1750779264, 1413437824, 1647415296, 1825400320, 1454541952, 1077501312, 1498970240, 1507905280, 1780870272, 1991395712, 1749771136, 1478681728, 1671560960, 1800241408, 1581150848, 1743077760, 1697103360, 1680698368, 1614977408, 1773195136, 1644496256, 1798745216, 1095555584, 1623394560, 1510573440, 1521610368, 1631145216, 1105438080, 1446423808, 1197816320, 1127096704, 1324324992, 1660159616, 1770511744, 1649595648, 1695228288, 1980737664, 1520634752, 1859382272, 1939471488, 1856253824, 1890106368, 1930747776, 1097239296, 2121986176, 1643582720, 1457685120, 1119499648, 1459326976, 1983975808, 1629715456, 1933150336, 1918372480, 1573753088, 1558713984, 1955222912, 1397465344, 1461969536, 2003902208, 1646878848, 1969004672, 1247264000, 1126073088, 2141112960, 1887912832, 1419135616, 1990346880, 1700609536, 1618890624, 2117470080, 1714144512, 1694387200, 2036865792, 1837974656, 1509138816, 2056564992, 1727315968, 1917267200, 1988098176, 1725832448, 1532071424, 1616893568, 1516888320, 1871826176, 1692500480, 1741757056, 1086520832, 1705265408, 1605696128, 1701675776, 1698623488, 1893130240, 2023136640, 1312838016, 1842825472, 1630114048, 1101225856, 1904142720, 1508110976, 1080760320, 1433110272, 1629134720, 2100088704, 1130074752, 1185041792, 1484038656, 1806179456, 1506167936, 1558855808, 1102260096, 2002816640, 1834085888, 1915147008, 1613111424, 1687996672, 1759814016, 1880472320, 1508360064, 1865045248, 1545141248, 1857014784, 2072797312, 1676929792, 1967009408, 1407450496, 1616895872, 1524272384, 1667147904, 1607418112, 1264361472, 1623004672, 1860152448, 1764583808, 1697104128, 2029951360, 2121009664, 1882332160, 1737687296, 1502473472, 1089766528, 1851854592, 1369064320, 1622724864, 1560019072, 1672583808, 2074231808, 1834645760, 1604282752, 1853806464, 1750094976, 1602537216, 1153344768, 1807630976, 1337941632, 1968836480, 1846342016, 2072787328, 1087104768, 1908310016, 1228070528, 2009454848, 1661698688, 1870300800, 1658970880, 1819254912, 1634903040, 1829752448, 1670662400, 1842979072, 1670700544, 1794023552, 1073747072, 1641318912, 1626996608, 1542205568, 2115948544, 1617343616, 1763411456, 1460533632, 1641612544, 1722580224, 2134285568, 1717691776, 1662703232, 1678977280, 1717181696, 1610233600, 2096534912, 1161029632, 1735843584, 1448662528, 1977170432, 1593872128, 1669556096, 1801197312, 1910891264, 1686257408, 1360751104, 1746716672, 2114969600, 1549205248, 1276672640, 1163210624, 1591928832, 1470186240, 1172897920, 1569648384, 1509355008, 1722968064, 1667798144, 1703060224, 1610661888, 1729663488, 1670240384, 1730910464, 1707337216, 1796331776, 1828846720, 1792284800, 1516055168, 1617968768, 1405251968, 2122472832, 1950049792, 1094663424, 2114706048, 2088612864, 1595126016, 1773704960, 1727182976, 1949720576, 1803058688, 1965404928, 1651661568, 1913077632, 1089067648, 1112023040, 1951555712, 1441732480, 1714845952, 1958518400, 1078150912, 1730805248, 1859212032, 1661291520, 1577234048, 1801975808, 1816359936, 1560783360, 1805038208, 1411713792, 1125762944, 1228174720, 1673284224, 1972389632, 1502530816, 1947284992, 1864690560, 1584468224, 1880275456, 1387302912, 1818877312, 1906985088, 1103001088, 1591727360, 1452203904, 1875835264, 1735931776, 1718720768, 1811972608, 1603692800, 1469998848, 1401644160, 1673072768, 1653476608, 1892917248, 1131764736, 1455416704, 2096905728, 2041634944, 1701683072, 1762374144, 1860016640, 1920847488, 1815425792, 1733651968, 1680894592, 1685318528, 1767766016, 1664766720, 2047437696, 1625005824, 1667128320, 2115410048, 1859829376, 1648148096, 1759833344, 1712490496, 1994777344, 1534738944, 1585654272, 1602933376, 1778307968, 1735664512, 1750771328, 1864248320, 1759811456, 1609253120, 1075859072, 1880969344, 2055039104, 1650275456, 1747673344, 2070525312, 1797972608, 1859045376, 1811570560, 1772330880, 1386585344, 1086769408, 1660444544, 1742425216, 1949086592, 1553075328, 1788615552, 1761991040, 1890881920, 1831813504, 1591047936, 1499709824, 1958034560, 1868179712, 1861218560, 1697887616, 1819939456, 1949186560, 1808415872, 1828083968, 1858043648, 1746161792, 1089434112, 1990088320, 1836638976, 1536180864, 1429738112, 2105151104, 1246548736, 1655895424, 1977690880, 1396972416, 1739588480, 1546363264, 1965080064, 1826965376, 1631940864, 1891094912, 1771371264, 1751145728, 1130567680, 2053060096, 2030915584, 1105448448, 1883297280, 1634938240, 1526453120, 1634945664, 1623784448, 1590466688, 1806758016, 1613167744, 1714402688, 1716210176, 1646060544, 1902746240, 2120876544, 1668914304, 1807652224, 1572664704, 1755142656, 1669965824, 2102137856, 1183512064, 1575545728, 2116252800, 1799619712, 2094755584, 1754479616, 1899245824, 1457571712, 1702187008, 1632915456, 1953298304, 1854104704, 1869165056, 1827674368, 2129893504, 1682383488, 1857927168, 1161354880, 1963403392, 1686201088, 1897988608, 1707319296, 1772647936, 1896253952, 1926707456, 1679861248, 1774617600, 1930955008, 1742364672, 1866449792, 1654043264, 1866890112, 1879492352, 1899593984, 1986067328, 1563305984, 1476509568, 1739146752, 1670526464, 1749717120, 2105802880, 1893507328, 1743695104, 1479756416, 1748817280, 1615593344, 1793892608, 1460834432, 1821959424, 1993369984, 1636142464, 1824048768, 1543288576, 1731486464, 1775131392, 1822099328, 1394335488, 1094508672, 1261681408, 1918524032, 2064126976, 1429892224, 1871518464, 1887243136, 1555735808, 1672874752, 1700289024, 1807851776, 1803726080, 1622513536, 1753935872, 1653262336, 1610303744, 1342881024, 1600982784, 1883741312, 1930123136, 1562193664, 1756823296, 1720350720, 1584930176, 1633322240, 1555689728, 1640029696, 2053420544, 1138670848, 1634093184, 1089249024, 1700817536, 1734908032, 1919977216, 1847866752, 1436031616, 1852702848, 1687561984, 1591946368, 1640672128, 1212151296, 1736183040, 1914075904, 1637632896, 1750197504, 1819002496, 1855783552, 2102162816, 1786599168, 1787996800, 1654117120, 1768493696, 2024194304, 1082558976, 1083597312, 1952634880, 2139898112, 1657826560, 1483123328, 1798388992, 1614444928, 1958068480, 1670579456, 1766919552, 1599590784, 1882216192, 1574227968, 1844888832, 1678723072, 1112398336, 2123303680, 1620591360, 1848337920, 1658361088, 1545175168, 1555096704, 1762031744, 1816521472, 1569667072, 1937943296, 1860933632, 1162336512, 1732866816, 1545874176, 1828230016, 1674174336, 1657237504, 1428579072, 1542606336, 1854787072, 1586720256, 1826947840, 1775412992, 1137532288, 1983039744, 2050559488, 1888112640, 1463653120, 1701696000, 1432250624, 2097532928, 1868925696, 1824752640, 1841654528, 1086060416, 1527962880, 1961302912, 2144683264, 1648834176, 1916247552, 2028923008, 1705421184, 2050514688, 1668593408, 1814403840, 1787352832, 1682451456, 1898061696, 1837620864, 1149793920, 1650400128, 1952541312, 2105328640, 1640501120, 1878462976, 1155005184, 1568120192, 1730387072, 1492845440, 1639799936, 1092414848, 1669634816, 1826958464, 1755108864, 1437024000, 1680747520, 2003898880, 1522206464, 1658547328, 1803295232, 1939025024, 1112969472, 1487713536, 2035239296, 1752919296, 1602263936, 1179710592, 1651968512, 1203274496, 1781667072, 1421152256, 1927735296, 1650412800, 1405153280, 1718891520, 1913089536, 1434843392, 2040281984, 1142288640, 1655799040, 1987349760, 1322985216, 1169780352, 1830299776, 1826595968, 1545525760, 2032684288, 1847200256, 1786546688, 1703925376, 1563979136, 1536645120, 1644373376, 1586176896, 1809462912, 1826834944, 1988914944, 1115705216, 1877139840, 1803351552, 1823923200, 1689800704, 1727245184, 1559467520, 1644296448, 1916542848, 1494330368, 1456208384, 1618972160, 1648120448, 1654340736, 1740818944, 1107902336, 2105467136, 2076739200, 1560316928, 2081436416, 1737389568, 1654005248, 1587655808, 1418738048}; +static const int8_t CONV27_N_ZERO[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-74, 10, -126, -141, 54, -8, -46, 10, -13, -84, -53, -83, -27, -48, -62, -40, -52, -35, 8, -31, -19, 120, 26, -30, 9, -32, 48, -58, -2, -9, -9, 23, 29, -74, -67, -126, 2, -58, 27, -4, 4, -44, -27, -66, 26, -16, 76, -6, -80, -54, -3, -35, 39, 39, 18, -33, 20, -26, 61, 80, -9, 85, -36, 88, 61, 31, -43, -52, -10, -28, -84, 39, 14, 18, -96, 69, 32, 72, 22, 61, -124, -36, -34, -195, -87, 8, -73, 57, -23, 104, -37, -75, 4, -58, -24, -121, 2, -111, -184, -131, -98, -82, -20, 17, 78, -42, 22, -58, -110, -170, -98, 159, 28, -17, 12, -157, -56, -27, -35, -31, -54, -55, -6, -85, 1, -31, -40, -69, -119, -79, -86, -96, -35, -19, -179, -177, -130, -148, -99, -95, -156, -123, -193, -99, -78, -101, -5, -169, -86, -78, -32, 152, -185, 81, -19, 37, 4, -41, -51, -1, 10, 95, 153, 56, 12, -52, -71, -163, 48, -14, 12, 185, 22, 13, 63, -95, -16, -1, 141, -12, 25, -29, 118, -33, 77, 89, 15, 21, 20, 40, 9, 58, 78, -40, 11, 158, 42, -1, -48, 122, -109, 28, 60, 148, 114, 6, -73, 52, 5, 174, -48, 93, 3, -37, 16, 10, -37, 155, 64, 47, -10, -64, 16, 201, -45, 109, 2, -6, -79, 91, 1, -63, 10, 41, 69, -11, 50, 175, 23, 132, -26, -113, 67, 17, -9, 97, -13, 79, -35, -42, 17, 78, -6, -36, 105, -50, -10, 34, 14, 31, 72, 7, -27, 75, 2, 56, 57, -27, -96, -7, 30, -19, -6, -2, -135, -111, -48, -59, -56, 40, -37, 120, -35, -55, 71, 67, 60, -49, -86, -28, -51, -109, -53, -100, -11, -22, -8, -30, -5, 84, -131, -50, -110, -59, -171, 61, 39, -71, -77, -83, -18, -19, 43, 195, 80, 110, -44, -106, 6, -91, -80, -149, -201, -126, -70, -172, -145, -48, -55, -74, -16, -2, 56, 112, -113, -37, 79, -50, -31, -48, -35, -17, -62, -64, -82, -56, 1, -87, -41, -74, 12, -112, -123, 4, -30, -34, 34, -30, 2, 141, 4, 34, -3, 15, 6, 0, -4, 73, -31, 25, -25, -85, 0, 21, -49, -57, -51, 4, 17, 13, -85, -26, 25, 18, -119, -64, -36, -41, -8, -30, -59, 27, -150, -157, -61, -33, -105, -76, -16, 90, -56, 88, 26, -77, -194, 8, -47, -40, -99, -70, -29, -31, 81, 145, 19, -20, 59, -77, 24, 116, 7, 66, -26, 97, 88, 19, -164, -95, 29, 43, -25, -19, -8, 50, -2, -10, 14, -36, 8, -40, 38, 53, 13, 5, -11, 174, 76, 25, 159, -5, 20, 20, 16, 18, 18, 34, 110, 60, -57, 67, -56, 38, 9, 25, 134, 86, -38, -8, 76, -33, 91, -45, -64, 29, -60, 59, -116, 35, 45, -26, 48, 15, -49, -63, -77, 12, 24, 141, 3, 38, -121, 32, 77, -22, -9, -67, 25, -98, 21, 41, -38, 67, 17, 1, 169, 31, 22, -26, -9, -38, -81, -28, 5, 46, 35, 49, -11, -33, -12, 95, -95, 15, 38, 146, -6, -82, 41, 6, -43, 52, 37, -36, 15, 39, 19, -32, -16, -20, -18, 113, -122, -25, 62, 40, -60, 44, 11, -133, -83, 14, -14, 50, 65, 22, -102, -80, -90, 74, 15, 2, -5, -12, -50, 126, -70, -28, -69, 34, 1, -24, 35, -23, 22, -38, 70, 29, -12, 31, 5, 88, -54, 3, -31, 31, 104, 37, -94, 91, 22, 87, 14, -39, -11, 62, -3, -150, 29, 58, -83, 44, 185, 7, 30, -5, -10, 44, 35, -2, 74, -35, 98, -19, -3, 63, 8, -5, 35, 17, 117, -21, 136, 51, 60, 207, -3, -65, 109, 50, -70, 98, 87, 21, 95, 41, 24, -5, 30, -31, 10, -95, -120, -27, 35, 25, 93, -119, 107, -80, 12, -8, 110, -10, -36, 56, 49, 167, 36, 62, 35, 64, 43, -72, 83, 3, 56, 58, 44, -20, -140, -60, 34, 89, -11, 88, 134, -19, -32, 89, 144, 38, 7, 64, 31, 84, 31, -65, 33, -69, -87, -92, -102, -11, 122, -52, -49, 94, 109, -15, -43, -4, 101, 21, -23, 71, 84, -79, 3, -1, -21, -11, -45, 82, 11, 26, 74, -27, 137, -81, 32, 102, 53, -17, 91, -34, -93, 30, 50, -50, 61, 13, -59, 79, 24, -34, -80, -57, 7, 61, 29, 73, 42, 28, -46, 106, 55, 41, 12, 12, 0, 88, 19, 17, 56, -14, -22, -46, 53, -102, 14, 8, 44, 98, -2, -3, 71, 5, -48, 62, 25, 93, 28, -55, 30, 52, 41, 0, 64, 178, -61, -95, -149, -31, -7, 28, 24, 112, -3, -29, 18, -28, -98, 113, 50, 67, -8, 4, 33, 34, -27, 55, -70, -9, -62, -31, 16, 98, 3, 5, 22, 21, -125, -77, 72, 13, -51, -4, 69, -10, 18, 40, -66, -3, 79, 105, 107, 24, -38, -61, 103, -77, 44, 3, -53, -18, 168, -55, 101, 109, 93, 6, 33, 41, 104, 79, 62, 150, -3, -13, 64, 28, 137, -15, 87, -16, -63, 55, -96, -47, 111, 95, -45, 55, -42, 12, -69, 1, -107, -12, 122, -47, 44, -115, 74, -42, -168, 26, -1, 13, -114, 185, 180, 17, 78, 33, -23, 228, -43, -35, 15, 5, -12, 14, 30, 97, -52, 25, 108, 50, 101, 25, -87, 33, 41, 118, 45, 93, 87, 29, -57, 21, 64, 105, -29, 72, -77, -43, -75, -4, 22, 142, 35, 6, 36, 35, -98, -47, -109, 4, 19, 118, 37, -6, -8, -85, 10, -47, 32, -73, -47, -54, -16, -29, -8, -101, -120, 17, -118, -91, 18, -10, -44, -61, -6, -21, 44, -16, -32, -15, -28, -101, 30, 33, -60, -86, -51, 47, 67, 82, 21, 43, -43, 130, -8, -78, -35, 72, 39, 115, 35, -17, 58, 28, 89, -47, -56, 23, -68, -16, -12, -41, -62, -98, -87, -227, -54, -93, -33, -87, -2, 58} +#define FC28_W_Z (2) +#define FC28_IN_Z (0) + + +#endif /*__160_1_0_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/160_input_image.h b/Inc/intq-mobilenet-v1-models-pc/160_input_image.h new file mode 100644 index 0000000..97f1ec7 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/160_input_image.h @@ -0,0 +1,168 @@ +#ifndef __160_INPUT_IMAGE_H__ +#define __160_INPUT_IMAGE_H__ + + +#define INPUT_IMAGE_TOP1 (256) +#define INPUT_IMAGE_TOP1_SCORE (114) + +#define INPUT_IMAGE {41, 55, 49, 127, 185, 199, 197, 127, 247, 248, 249, 127, 252, 254, 253, 127, 248, 252, 249, 127, 209, 217, 211, 127, 81, 89, 78, 127, 12, 18, 12, 127, 17, 20, 17, 127, 19, 20, 18, 127, 21, 23, 20, 127, 22, 25, 22, 127, 20, 23, 20, 127, 17, 20, 17, 127, 18, 21, 18, 127, 30, 33, 29, 127, 28, 33, 30, 127, 68, 81, 78, 127, 201, 213, 213, 127, 246, 250, 249, 127, 252, 252, 251, 127, 243, 248, 248, 127, 189, 199, 191, 127, 63, 73, 61, 127, 49, 57, 53, 127, 55, 61, 55, 127, 45, 49, 49, 127, 35, 37, 37, 127, 25, 25, 25, 127, 20, 21, 20, 127, 23, 25, 25, 127, 41, 45, 45, 127, 41, 49, 47, 127, 53, 66, 59, 127, 172, 187, 183, 127, 240, 246, 246, 127, 253, 253, 253, 127, 249, 251, 251, 127, 207, 219, 215, 127, 88, 99, 94, 127, 57, 65, 61, 127, 59, 69, 67, 127, 61, 68, 67, 127, 63, 67, 65, 127, 57, 61, 61, 127, 43, 47, 45, 127, 30, 33, 33, 127, 23, 27, 25, 127, 24, 31, 27, 127, 80, 92, 88, 127, 203, 215, 213, 127, 244, 250, 251, 127, 252, 252, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 253, 127, 252, 252, 252, 127, 250, 253, 253, 127, 241, 246, 245, 127, 228, 232, 223, 127, 224, 228, 215, 127, 225, 227, 215, 127, 225, 226, 217, 127, 225, 227, 215, 127, 221, 223, 209, 127, 217, 219, 205, 127, 219, 221, 207, 127, 221, 223, 207, 127, 211, 215, 199, 127, 207, 213, 193, 127, 217, 221, 205, 127, 224, 228, 215, 127, 226, 230, 217, 127, 226, 229, 217, 127, 226, 229, 217, 127, 224, 228, 215, 127, 221, 225, 211, 127, 221, 225, 211, 127, 223, 226, 211, 127, 221, 225, 211, 127, 221, 224, 209, 127, 219, 223, 209, 127, 221, 224, 209, 127, 217, 221, 207, 127, 217, 219, 205, 127, 219, 221, 207, 127, 221, 223, 209, 127, 219, 223, 209, 127, 213, 215, 201, 127, 191, 195, 181, 127, 205, 211, 203, 127, 237, 241, 243, 127, 242, 246, 249, 127, 239, 243, 243, 127, 242, 246, 248, 127, 244, 248, 252, 127, 244, 248, 251, 127, 245, 249, 251, 127, 230, 238, 238, 127, 155, 166, 165, 127, 27, 31, 31, 127, 9, 9, 9, 127, 10, 9, 9, 127, 9, 7, 8, 127, 11, 10, 10, 127, 13, 12, 12, 127, 17, 16, 12, 127, 79, 88, 79, 127, 197, 205, 203, 127, 239, 242, 246, 127, 237, 243, 243, 127, 201, 211, 209, 127, 72, 80, 79, 127, 8, 8, 9, 127, 10, 10, 9, 127, 11, 13, 10, 127, 11, 13, 12, 127, 13, 14, 15, 127, 16, 17, 17, 127, 53, 61, 55, 127, 179, 191, 185, 127, 231, 236, 238, 127, 232, 236, 239, 127, 195, 205, 205, 127, 91, 99, 99, 127, 13, 13, 13, 127, 10, 9, 9, 127, 11, 13, 12, 127, 11, 13, 12, 127, 12, 12, 10, 127, 12, 13, 9, 127, 53, 59, 53, 127, 163, 172, 167, 127, 221, 226, 226, 127, 225, 231, 231, 127, 223, 228, 228, 127, 221, 226, 226, 127, 217, 224, 223, 127, 213, 223, 221, 127, 213, 219, 219, 127, 201, 205, 203, 127, 183, 185, 177, 127, 183, 185, 172, 127, 181, 185, 171, 127, 181, 185, 170, 127, 177, 179, 164, 127, 169, 172, 155, 127, 165, 166, 148, 127, 163, 165, 146, 127, 164, 166, 145, 127, 163, 164, 145, 127, 162, 161, 143, 127, 159, 157, 138, 127, 158, 157, 137, 127, 159, 158, 140, 127, 159, 160, 142, 127, 162, 163, 145, 127, 155, 156, 136, 127, 146, 147, 124, 127, \ +39, 55, 49, 127, 179, 197, 191, 127, 246, 249, 248, 127, 252, 252, 252, 127, 248, 252, 250, 127, 211, 219, 215, 127, 87, 95, 86, 127, 17, 23, 18, 127, 20, 24, 21, 127, 18, 23, 18, 127, 22, 25, 21, 127, 23, 25, 22, 127, 21, 22, 20, 127, 18, 20, 17, 127, 22, 24, 21, 127, 29, 31, 31, 127, 25, 31, 31, 127, 61, 74, 71, 127, 199, 213, 211, 127, 244, 251, 250, 127, 251, 253, 253, 127, 246, 250, 250, 127, 195, 203, 197, 127, 68, 80, 67, 127, 47, 59, 49, 127, 55, 63, 61, 127, 47, 51, 53, 127, 35, 37, 37, 127, 26, 29, 28, 127, 23, 26, 25, 127, 24, 28, 27, 127, 37, 41, 41, 127, 43, 51, 49, 127, 51, 65, 63, 127, 170, 185, 183, 127, 238, 246, 245, 127, 252, 253, 253, 127, 249, 252, 251, 127, 211, 223, 219, 127, 94, 108, 101, 127, 55, 66, 59, 127, 57, 70, 66, 127, 59, 67, 66, 127, 63, 65, 64, 127, 53, 55, 53, 127, 37, 41, 39, 127, 27, 30, 29, 127, 24, 26, 25, 127, 23, 26, 26, 127, 79, 89, 87, 127, 201, 213, 211, 127, 243, 250, 249, 127, 253, 252, 254, 127, 252, 253, 253, 127, 252, 253, 253, 127, 252, 253, 253, 127, 252, 254, 253, 127, 252, 254, 252, 127, 249, 253, 253, 127, 243, 248, 247, 127, 232, 235, 228, 127, 227, 230, 217, 127, 227, 229, 217, 127, 226, 228, 217, 127, 225, 227, 213, 127, 221, 223, 209, 127, 219, 221, 207, 127, 221, 223, 209, 127, 221, 223, 209, 127, 209, 213, 197, 127, 207, 211, 193, 127, 215, 219, 203, 127, 223, 227, 213, 127, 226, 230, 217, 127, 226, 229, 219, 127, 225, 228, 219, 127, 225, 228, 217, 127, 221, 225, 213, 127, 221, 224, 209, 127, 221, 225, 211, 127, 223, 226, 211, 127, 221, 225, 211, 127, 219, 223, 209, 127, 219, 223, 207, 127, 219, 223, 207, 127, 219, 221, 207, 127, 221, 223, 209, 127, 223, 224, 211, 127, 221, 223, 209, 127, 211, 213, 199, 127, 191, 195, 181, 127, 205, 209, 203, 127, 237, 241, 243, 127, 243, 247, 248, 127, 239, 244, 242, 127, 243, 246, 248, 127, 246, 250, 253, 127, 247, 249, 253, 127, 247, 249, 252, 127, 229, 236, 238, 127, 157, 169, 170, 127, 30, 35, 35, 127, 11, 10, 10, 127, 11, 10, 10, 127, 9, 8, 9, 127, 10, 10, 10, 127, 14, 12, 12, 127, 14, 13, 10, 127, 77, 86, 77, 127, 197, 203, 201, 127, 240, 243, 247, 127, 238, 243, 243, 127, 203, 211, 209, 127, 75, 83, 83, 127, 8, 10, 10, 127, 10, 10, 9, 127, 10, 11, 9, 127, 11, 13, 12, 127, 14, 16, 17, 127, 22, 23, 22, 127, 55, 61, 55, 127, 177, 189, 185, 127, 230, 235, 238, 127, 233, 237, 240, 127, 197, 207, 207, 127, 94, 101, 102, 127, 15, 15, 15, 127, 13, 12, 13, 127, 11, 13, 12, 127, 10, 11, 10, 127, 12, 11, 9, 127, 14, 14, 11, 127, 53, 61, 53, 127, 164, 173, 168, 127, 221, 226, 226, 127, 225, 231, 231, 127, 223, 228, 228, 127, 221, 226, 226, 127, 217, 224, 223, 127, 213, 223, 219, 127, 213, 219, 217, 127, 201, 205, 203, 127, 183, 185, 177, 127, 183, 183, 170, 127, 183, 183, 168, 127, 179, 181, 164, 127, 175, 175, 160, 127, 169, 169, 152, 127, 166, 168, 148, 127, 165, 167, 146, 127, 165, 167, 147, 127, 166, 167, 150, 127, 163, 164, 148, 127, 157, 159, 140, 127, 157, 159, 138, 127, 157, 159, 138, 127, 161, 160, 141, 127, 162, 161, 143, 127, 157, 156, 137, 127, 149, 149, 125, 127, \ +55, 74, 69, 127, 183, 201, 195, 127, 244, 250, 248, 127, 252, 252, 252, 127, 248, 252, 252, 127, 213, 221, 219, 127, 100, 107, 103, 127, 28, 35, 33, 127, 26, 33, 33, 127, 24, 31, 29, 127, 25, 33, 28, 127, 23, 31, 26, 127, 21, 29, 25, 127, 20, 28, 24, 127, 21, 29, 24, 127, 19, 29, 26, 127, 16, 30, 28, 127, 57, 74, 70, 127, 197, 211, 209, 127, 244, 251, 251, 127, 252, 251, 254, 127, 249, 248, 249, 127, 201, 203, 201, 127, 69, 80, 71, 127, 45, 57, 49, 127, 53, 63, 61, 127, 45, 51, 51, 127, 35, 41, 39, 127, 28, 33, 31, 127, 24, 28, 27, 127, 21, 25, 24, 127, 37, 39, 41, 127, 41, 47, 47, 127, 49, 59, 59, 127, 172, 183, 181, 127, 238, 245, 245, 127, 251, 253, 253, 127, 249, 252, 251, 127, 213, 225, 221, 127, 99, 113, 106, 127, 57, 66, 61, 127, 59, 68, 66, 127, 63, 69, 68, 127, 63, 65, 65, 127, 47, 51, 49, 127, 31, 35, 33, 127, 27, 30, 29, 127, 23, 25, 25, 127, 21, 23, 24, 127, 77, 83, 83, 127, 201, 211, 209, 127, 242, 250, 249, 127, 250, 253, 254, 127, 251, 253, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 252, 254, 252, 127, 249, 253, 253, 127, 244, 249, 248, 127, 233, 236, 229, 127, 226, 230, 217, 127, 226, 228, 217, 127, 226, 228, 215, 127, 227, 229, 215, 127, 224, 226, 213, 127, 223, 224, 211, 127, 221, 223, 209, 127, 221, 223, 209, 127, 211, 215, 199, 127, 207, 211, 193, 127, 215, 221, 205, 127, 223, 226, 213, 127, 225, 229, 215, 127, 225, 228, 219, 127, 225, 228, 221, 127, 225, 228, 217, 127, 221, 225, 213, 127, 221, 224, 209, 127, 221, 225, 211, 127, 223, 226, 211, 127, 221, 225, 211, 127, 219, 223, 209, 127, 219, 223, 209, 127, 219, 223, 209, 127, 219, 223, 209, 127, 221, 223, 209, 127, 221, 223, 209, 127, 221, 223, 207, 127, 215, 217, 203, 127, 199, 201, 189, 127, 209, 213, 207, 127, 237, 241, 243, 127, 243, 247, 248, 127, 239, 244, 242, 127, 242, 246, 248, 127, 245, 250, 253, 127, 248, 249, 253, 127, 247, 248, 252, 127, 231, 238, 240, 127, 159, 171, 172, 127, 33, 39, 39, 127, 12, 11, 10, 127, 10, 9, 10, 127, 9, 8, 9, 127, 9, 9, 9, 127, 12, 9, 10, 127, 14, 14, 10, 127, 74, 83, 74, 127, 193, 203, 199, 127, 238, 243, 246, 127, 237, 245, 245, 127, 203, 215, 211, 127, 79, 88, 86, 127, 10, 12, 12, 127, 10, 10, 9, 127, 11, 11, 9, 127, 11, 14, 13, 127, 16, 18, 19, 127, 24, 25, 23, 127, 55, 61, 55, 127, 177, 187, 185, 127, 231, 236, 238, 127, 235, 238, 242, 127, 199, 209, 211, 127, 96, 103, 104, 127, 14, 15, 15, 127, 14, 14, 14, 127, 13, 15, 14, 127, 12, 13, 12, 127, 15, 14, 13, 127, 16, 16, 13, 127, 53, 59, 51, 127, 161, 170, 165, 127, 221, 226, 226, 127, 226, 232, 232, 127, 223, 228, 228, 127, 221, 226, 226, 127, 219, 224, 224, 127, 215, 224, 221, 127, 215, 219, 219, 127, 203, 207, 205, 127, 185, 187, 179, 127, 181, 181, 169, 127, 181, 181, 166, 127, 179, 181, 163, 127, 175, 175, 159, 127, 168, 170, 151, 127, 166, 168, 147, 127, 165, 167, 146, 127, 167, 169, 149, 127, 168, 169, 153, 127, 166, 165, 151, 127, 162, 163, 146, 127, 161, 162, 143, 127, 160, 160, 140, 127, 162, 161, 142, 127, 164, 162, 145, 127, 159, 158, 140, 127, 152, 151, 127, 127, \ +199, 213, 209, 127, 227, 241, 236, 127, 248, 252, 251, 127, 253, 252, 253, 127, 250, 252, 252, 127, 232, 241, 240, 127, 195, 207, 207, 127, 170, 183, 181, 127, 165, 181, 177, 127, 158, 175, 173, 127, 155, 172, 167, 127, 151, 166, 161, 127, 145, 161, 156, 127, 142, 158, 153, 127, 137, 153, 148, 127, 130, 145, 142, 127, 122, 139, 136, 127, 142, 157, 154, 127, 217, 228, 226, 127, 247, 251, 251, 127, 252, 251, 253, 127, 249, 250, 250, 127, 213, 219, 219, 127, 127, 138, 131, 127, 103, 119, 113, 127, 101, 117, 115, 127, 94, 108, 107, 127, 84, 98, 96, 127, 77, 90, 89, 127, 68, 81, 81, 127, 61, 76, 74, 127, 70, 84, 82, 127, 71, 87, 83, 127, 80, 95, 92, 127, 183, 195, 193, 127, 239, 246, 246, 127, 250, 252, 252, 127, 250, 252, 251, 127, 217, 229, 224, 127, 112, 128, 120, 127, 69, 81, 76, 127, 66, 81, 77, 127, 68, 81, 79, 127, 64, 72, 72, 127, 47, 57, 57, 127, 37, 45, 45, 127, 30, 39, 39, 127, 24, 33, 33, 127, 22, 33, 31, 127, 75, 87, 85, 127, 199, 209, 207, 127, 241, 251, 250, 127, 248, 253, 254, 127, 251, 254, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 249, 253, 254, 127, 244, 248, 248, 127, 231, 233, 228, 127, 224, 227, 215, 127, 227, 229, 217, 127, 226, 228, 215, 127, 228, 230, 217, 127, 226, 228, 215, 127, 223, 225, 211, 127, 221, 223, 209, 127, 221, 223, 209, 127, 213, 217, 201, 127, 209, 213, 197, 127, 219, 223, 207, 127, 223, 227, 213, 127, 225, 229, 215, 127, 225, 228, 217, 127, 224, 227, 219, 127, 224, 227, 217, 127, 223, 227, 215, 127, 221, 225, 211, 127, 221, 225, 211, 127, 221, 224, 209, 127, 221, 224, 209, 127, 221, 224, 209, 127, 221, 224, 209, 127, 219, 223, 209, 127, 221, 223, 209, 127, 221, 223, 209, 127, 221, 223, 209, 127, 219, 221, 207, 127, 219, 221, 207, 127, 205, 207, 195, 127, 213, 217, 211, 127, 236, 240, 242, 127, 243, 247, 248, 127, 240, 244, 242, 127, 242, 246, 247, 127, 245, 250, 253, 127, 247, 248, 253, 127, 247, 248, 252, 127, 232, 239, 241, 127, 163, 175, 177, 127, 35, 43, 43, 127, 11, 12, 12, 127, 8, 11, 11, 127, 9, 11, 10, 127, 7, 10, 9, 127, 10, 10, 10, 127, 11, 15, 10, 127, 71, 83, 73, 127, 193, 203, 199, 127, 237, 243, 245, 127, 237, 246, 247, 127, 207, 217, 215, 127, 86, 94, 93, 127, 13, 15, 14, 127, 11, 11, 9, 127, 13, 14, 11, 127, 13, 16, 15, 127, 19, 21, 22, 127, 24, 25, 22, 127, 49, 57, 51, 127, 175, 185, 181, 127, 231, 236, 237, 127, 236, 239, 243, 127, 199, 211, 211, 127, 101, 108, 109, 127, 15, 16, 16, 127, 12, 13, 13, 127, 12, 14, 13, 127, 14, 15, 14, 127, 18, 17, 15, 127, 18, 20, 16, 127, 49, 57, 49, 127, 158, 167, 161, 127, 221, 226, 226, 127, 227, 233, 233, 127, 221, 227, 227, 127, 221, 226, 226, 127, 219, 225, 224, 127, 215, 223, 221, 127, 215, 221, 221, 127, 205, 207, 205, 127, 185, 187, 179, 127, 183, 181, 169, 127, 179, 179, 163, 127, 177, 177, 162, 127, 175, 175, 159, 127, 170, 171, 151, 127, 166, 168, 147, 127, 166, 168, 147, 127, 166, 167, 147, 127, 169, 170, 155, 127, 166, 167, 151, 127, 164, 166, 147, 127, 162, 164, 144, 127, 162, 161, 141, 127, 164, 162, 143, 127, 163, 162, 144, 127, 160, 159, 139, 127, 155, 155, 130, 127, \ +247, 251, 250, 127, 249, 253, 252, 127, 251, 253, 253, 127, 253, 253, 253, 127, 252, 253, 253, 127, 250, 253, 253, 127, 247, 250, 252, 127, 245, 249, 249, 127, 244, 251, 248, 127, 241, 249, 249, 127, 242, 249, 248, 127, 242, 248, 247, 127, 241, 247, 247, 127, 241, 247, 246, 127, 239, 246, 245, 127, 237, 245, 244, 127, 233, 245, 243, 127, 235, 245, 244, 127, 244, 250, 250, 127, 252, 252, 252, 127, 253, 252, 253, 127, 251, 252, 252, 127, 241, 248, 247, 127, 227, 238, 234, 127, 224, 236, 233, 127, 223, 232, 231, 127, 219, 229, 228, 127, 215, 229, 226, 127, 213, 227, 225, 127, 211, 223, 223, 127, 209, 221, 221, 127, 207, 221, 219, 127, 205, 219, 217, 127, 207, 219, 219, 127, 230, 238, 237, 127, 247, 251, 251, 127, 252, 252, 253, 127, 251, 252, 252, 127, 235, 244, 241, 127, 203, 217, 209, 127, 187, 201, 195, 127, 183, 199, 195, 127, 181, 197, 195, 127, 177, 191, 191, 127, 170, 183, 181, 127, 165, 175, 175, 127, 159, 170, 171, 127, 151, 165, 163, 127, 147, 162, 159, 127, 165, 177, 175, 127, 219, 230, 228, 127, 245, 252, 251, 127, 250, 253, 254, 127, 252, 254, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 249, 253, 254, 127, 243, 247, 247, 127, 229, 231, 226, 127, 223, 225, 213, 127, 227, 229, 217, 127, 228, 230, 217, 127, 228, 230, 217, 127, 227, 229, 215, 127, 223, 225, 211, 127, 219, 221, 207, 127, 219, 221, 207, 127, 213, 217, 201, 127, 211, 215, 197, 127, 219, 223, 209, 127, 224, 228, 213, 127, 225, 229, 215, 127, 225, 228, 219, 127, 225, 228, 219, 127, 225, 228, 219, 127, 225, 228, 215, 127, 223, 227, 213, 127, 221, 225, 211, 127, 221, 224, 209, 127, 221, 224, 209, 127, 221, 224, 209, 127, 221, 225, 211, 127, 221, 225, 211, 127, 223, 224, 211, 127, 221, 223, 209, 127, 221, 223, 209, 127, 219, 221, 207, 127, 217, 219, 205, 127, 203, 205, 193, 127, 211, 215, 209, 127, 236, 240, 242, 127, 243, 247, 249, 127, 240, 244, 243, 127, 241, 246, 247, 127, 246, 250, 253, 127, 248, 248, 252, 127, 247, 248, 252, 127, 232, 240, 242, 127, 167, 179, 179, 127, 41, 47, 47, 127, 15, 14, 14, 127, 15, 14, 14, 127, 16, 13, 14, 127, 11, 9, 11, 127, 12, 12, 13, 127, 10, 15, 11, 127, 68, 82, 73, 127, 191, 201, 199, 127, 238, 243, 245, 127, 238, 245, 246, 127, 207, 217, 217, 127, 88, 96, 96, 127, 13, 17, 17, 127, 15, 14, 13, 127, 13, 13, 11, 127, 15, 18, 18, 127, 23, 24, 25, 127, 21, 22, 20, 127, 47, 53, 49, 127, 175, 185, 181, 127, 231, 236, 238, 127, 235, 238, 243, 127, 203, 211, 213, 127, 106, 112, 113, 127, 16, 16, 16, 127, 12, 13, 13, 127, 12, 14, 13, 127, 16, 16, 16, 127, 20, 19, 18, 127, 20, 21, 18, 127, 47, 53, 47, 127, 154, 164, 159, 127, 219, 225, 226, 127, 227, 233, 233, 127, 221, 227, 227, 127, 221, 227, 227, 127, 219, 226, 225, 127, 215, 223, 221, 127, 215, 221, 221, 127, 205, 207, 205, 127, 187, 187, 179, 127, 183, 183, 170, 127, 179, 179, 163, 127, 175, 177, 162, 127, 175, 175, 160, 127, 172, 174, 154, 127, 167, 169, 148, 127, 164, 166, 145, 127, 163, 164, 144, 127, 169, 170, 154, 127, 167, 168, 152, 127, 163, 165, 147, 127, 162, 163, 144, 127, 162, 161, 141, 127, 163, 162, 144, 127, 163, 162, 144, 127, 161, 160, 140, 127, 157, 157, 132, 127, \ +252, 252, 253, 127, 253, 252, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 251, 127, 251, 252, 253, 127, 251, 253, 250, 127, 252, 253, 250, 127, 253, 253, 252, 127, 252, 252, 253, 127, 251, 253, 254, 127, 251, 252, 254, 127, 250, 252, 253, 127, 251, 252, 253, 127, 251, 252, 253, 127, 249, 253, 253, 127, 249, 252, 253, 127, 252, 253, 253, 127, 252, 254, 253, 127, 252, 253, 253, 127, 252, 252, 252, 127, 250, 251, 252, 127, 250, 253, 253, 127, 251, 253, 254, 127, 251, 251, 253, 127, 250, 252, 252, 127, 249, 253, 252, 127, 249, 252, 253, 127, 249, 252, 253, 127, 249, 251, 253, 127, 248, 251, 252, 127, 249, 250, 252, 127, 249, 250, 252, 127, 250, 252, 253, 127, 251, 252, 253, 127, 252, 253, 253, 127, 251, 253, 252, 127, 250, 253, 252, 127, 246, 251, 249, 127, 247, 250, 249, 127, 247, 250, 250, 127, 246, 250, 252, 127, 245, 249, 252, 127, 243, 248, 250, 127, 242, 248, 250, 127, 242, 247, 248, 127, 241, 247, 247, 127, 240, 246, 246, 127, 241, 246, 246, 127, 246, 249, 250, 127, 250, 252, 252, 127, 252, 253, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 251, 254, 253, 127, 250, 253, 254, 127, 244, 248, 248, 127, 230, 232, 227, 127, 224, 226, 215, 127, 228, 230, 217, 127, 228, 230, 217, 127, 229, 231, 217, 127, 228, 230, 217, 127, 224, 226, 213, 127, 219, 221, 207, 127, 217, 219, 205, 127, 211, 215, 199, 127, 209, 213, 197, 127, 219, 221, 207, 127, 223, 227, 213, 127, 225, 229, 215, 127, 226, 229, 219, 127, 226, 230, 219, 127, 226, 229, 219, 127, 225, 229, 217, 127, 223, 227, 213, 127, 223, 226, 211, 127, 223, 225, 211, 127, 221, 225, 211, 127, 223, 225, 211, 127, 224, 228, 213, 127, 223, 227, 213, 127, 224, 226, 213, 127, 223, 224, 211, 127, 221, 223, 209, 127, 221, 223, 209, 127, 215, 217, 201, 127, 197, 199, 187, 127, 209, 213, 207, 127, 237, 241, 243, 127, 243, 247, 249, 127, 240, 244, 243, 127, 241, 245, 247, 127, 245, 249, 253, 127, 248, 249, 253, 127, 247, 248, 252, 127, 234, 240, 243, 127, 181, 191, 193, 127, 81, 91, 91, 127, 51, 59, 59, 127, 43, 51, 49, 127, 39, 47, 45, 127, 35, 43, 41, 127, 33, 41, 37, 127, 29, 39, 33, 127, 78, 93, 84, 127, 191, 203, 199, 127, 238, 243, 245, 127, 241, 244, 246, 127, 209, 219, 219, 127, 98, 106, 106, 127, 20, 24, 24, 127, 21, 22, 20, 127, 20, 22, 19, 127, 23, 27, 25, 127, 23, 26, 26, 127, 19, 21, 19, 127, 45, 51, 49, 127, 174, 183, 179, 127, 230, 236, 237, 127, 234, 240, 243, 127, 203, 213, 213, 127, 108, 116, 116, 127, 17, 19, 19, 127, 12, 14, 14, 127, 10, 12, 12, 127, 16, 18, 17, 127, 20, 21, 20, 127, 19, 22, 18, 127, 45, 51, 45, 127, 153, 160, 155, 127, 219, 224, 224, 127, 228, 234, 234, 127, 223, 228, 228, 127, 223, 228, 228, 127, 221, 226, 226, 127, 215, 223, 221, 127, 215, 221, 221, 127, 205, 209, 205, 127, 187, 189, 181, 127, 181, 183, 171, 127, 179, 179, 164, 127, 177, 177, 161, 127, 175, 177, 160, 127, 175, 175, 157, 127, 169, 171, 150, 127, 161, 163, 142, 127, 162, 164, 144, 127, 168, 169, 153, 127, 168, 169, 153, 127, 164, 165, 148, 127, 161, 162, 143, 127, 160, 160, 139, 127, 162, 161, 143, 127, 163, 162, 144, 127, 163, 162, 142, 127, 159, 159, 136, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 251, 253, 253, 127, 251, 253, 252, 127, 252, 253, 251, 127, 252, 253, 251, 127, 252, 254, 253, 127, 251, 254, 254, 127, 251, 253, 254, 127, 251, 253, 253, 127, 251, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 254, 127, 252, 253, 253, 127, 252, 253, 253, 127, 252, 253, 253, 127, 251, 253, 253, 127, 251, 253, 253, 127, 251, 253, 254, 127, 251, 253, 253, 127, 252, 253, 253, 127, 252, 251, 253, 127, 253, 252, 253, 127, 253, 253, 254, 127, 252, 253, 253, 127, 252, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 253, 253, 127, 253, 254, 252, 127, 254, 253, 252, 127, 253, 253, 253, 127, 252, 253, 254, 127, 252, 252, 254, 127, 252, 252, 253, 127, 252, 253, 253, 127, 252, 254, 254, 127, 251, 253, 252, 127, 251, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 253, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 252, 254, 253, 127, 251, 254, 253, 127, 250, 253, 254, 127, 244, 248, 248, 127, 231, 233, 228, 127, 226, 228, 217, 127, 228, 230, 217, 127, 228, 230, 217, 127, 229, 231, 219, 127, 226, 228, 217, 127, 225, 227, 215, 127, 221, 223, 209, 127, 219, 221, 207, 127, 213, 217, 201, 127, 207, 211, 195, 127, 213, 215, 201, 127, 221, 223, 209, 127, 226, 229, 217, 127, 227, 229, 219, 127, 226, 230, 217, 127, 227, 231, 217, 127, 225, 229, 215, 127, 225, 229, 215, 127, 224, 228, 215, 127, 224, 227, 217, 127, 224, 227, 217, 127, 224, 227, 217, 127, 226, 229, 219, 127, 226, 229, 219, 127, 226, 228, 217, 127, 224, 226, 213, 127, 223, 224, 211, 127, 219, 221, 207, 127, 215, 217, 201, 127, 197, 199, 185, 127, 207, 213, 205, 127, 235, 239, 241, 127, 243, 247, 249, 127, 241, 245, 244, 127, 242, 245, 247, 127, 246, 250, 252, 127, 247, 251, 252, 127, 246, 250, 251, 127, 241, 245, 246, 127, 224, 229, 231, 127, 199, 209, 211, 127, 189, 203, 201, 127, 181, 195, 195, 127, 177, 191, 189, 127, 174, 189, 185, 127, 170, 183, 181, 127, 165, 175, 175, 127, 175, 187, 183, 127, 215, 226, 224, 127, 238, 247, 248, 127, 240, 246, 246, 127, 219, 231, 230, 127, 168, 183, 181, 127, 134, 147, 146, 127, 129, 140, 139, 127, 121, 134, 132, 127, 117, 131, 128, 127, 113, 123, 122, 127, 102, 111, 109, 127, 115, 125, 123, 127, 189, 199, 197, 127, 230, 239, 238, 127, 233, 242, 242, 127, 207, 219, 217, 127, 136, 146, 145, 127, 68, 77, 75, 127, 59, 68, 67, 127, 55, 64, 63, 127, 53, 63, 61, 127, 51, 61, 59, 127, 49, 59, 57, 127, 66, 77, 75, 127, 155, 165, 162, 127, 217, 223, 223, 127, 228, 234, 234, 127, 223, 228, 228, 127, 221, 227, 227, 127, 221, 226, 225, 127, 219, 223, 223, 127, 217, 221, 221, 127, 207, 209, 207, 127, 189, 189, 181, 127, 181, 183, 170, 127, 179, 181, 163, 127, 177, 179, 162, 127, 175, 177, 159, 127, 175, 175, 157, 127, 168, 169, 151, 127, 159, 160, 142, 127, 161, 163, 143, 127, 167, 168, 151, 127, 167, 168, 150, 127, 165, 166, 148, 127, 161, 162, 144, 127, 159, 161, 142, 127, 162, 163, 144, 127, 163, 163, 145, 127, 162, 162, 144, 127, 158, 159, 139, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 254, 254, 127, 253, 253, 254, 127, 253, 254, 254, 127, 253, 254, 254, 127, 253, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 253, 254, 127, 254, 254, 254, 127, 254, 254, 253, 127, 254, 254, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 254, 253, 127, 251, 252, 252, 127, 249, 250, 250, 127, 248, 249, 248, 127, 247, 249, 248, 127, 251, 252, 252, 127, 251, 252, 253, 127, 252, 253, 254, 127, 251, 252, 253, 127, 251, 252, 253, 127, 251, 251, 252, 127, 250, 252, 253, 127, 244, 249, 248, 127, 233, 236, 229, 127, 228, 230, 219, 127, 230, 232, 219, 127, 230, 232, 219, 127, 227, 229, 217, 127, 224, 226, 213, 127, 223, 225, 211, 127, 224, 226, 213, 127, 224, 226, 213, 127, 219, 221, 207, 127, 209, 211, 195, 127, 209, 211, 195, 127, 221, 223, 207, 127, 227, 229, 217, 127, 227, 230, 219, 127, 226, 230, 217, 127, 226, 230, 217, 127, 226, 230, 217, 127, 225, 229, 215, 127, 226, 230, 217, 127, 227, 230, 221, 127, 227, 230, 221, 127, 226, 229, 221, 127, 226, 229, 221, 127, 225, 228, 221, 127, 225, 228, 217, 127, 224, 226, 215, 127, 223, 224, 211, 127, 217, 219, 205, 127, 213, 215, 199, 127, 199, 203, 187, 127, 209, 215, 207, 127, 236, 240, 241, 127, 243, 247, 249, 127, 240, 244, 244, 127, 241, 245, 249, 127, 246, 250, 252, 127, 247, 251, 252, 127, 246, 250, 251, 127, 246, 250, 251, 127, 243, 247, 249, 127, 240, 246, 249, 127, 237, 245, 247, 127, 234, 243, 245, 127, 232, 241, 243, 127, 231, 241, 242, 127, 232, 241, 242, 127, 231, 240, 240, 127, 233, 242, 242, 127, 236, 246, 244, 127, 240, 250, 249, 127, 239, 248, 248, 127, 234, 245, 245, 127, 226, 236, 239, 127, 224, 233, 236, 127, 223, 231, 233, 127, 219, 228, 231, 127, 217, 227, 227, 127, 213, 225, 223, 127, 211, 221, 219, 127, 213, 223, 221, 127, 225, 232, 232, 127, 234, 242, 242, 127, 234, 244, 243, 127, 223, 233, 231, 127, 207, 217, 215, 127, 197, 205, 205, 127, 191, 201, 199, 127, 187, 197, 195, 127, 181, 193, 191, 127, 179, 189, 189, 127, 177, 187, 185, 127, 175, 185, 185, 127, 199, 207, 207, 127, 223, 229, 229, 127, 227, 233, 233, 127, 223, 228, 228, 127, 221, 226, 226, 127, 219, 225, 225, 127, 219, 224, 224, 127, 219, 223, 223, 127, 207, 211, 209, 127, 189, 191, 183, 127, 183, 185, 173, 127, 181, 181, 165, 127, 179, 179, 162, 127, 175, 177, 158, 127, 174, 175, 157, 127, 168, 169, 151, 127, 163, 164, 146, 127, 163, 164, 146, 127, 164, 165, 147, 127, 164, 165, 147, 127, 165, 166, 148, 127, 164, 165, 147, 127, 163, 164, 146, 127, 163, 165, 147, 127, 164, 165, 147, 127, 162, 163, 145, 127, 156, 157, 139, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 252, 252, 252, 127, 250, 250, 250, 127, 243, 246, 245, 127, 236, 240, 239, 127, 246, 251, 249, 127, 249, 250, 251, 127, 249, 250, 251, 127, 251, 252, 253, 127, 249, 250, 252, 127, 250, 250, 251, 127, 248, 250, 252, 127, 241, 246, 246, 127, 232, 236, 228, 127, 225, 227, 217, 127, 228, 230, 217, 127, 229, 231, 219, 127, 226, 228, 215, 127, 223, 224, 211, 127, 219, 221, 209, 127, 225, 227, 215, 127, 227, 229, 217, 127, 221, 223, 211, 127, 211, 213, 199, 127, 209, 211, 195, 127, 221, 223, 207, 127, 226, 228, 217, 127, 227, 229, 219, 127, 225, 229, 215, 127, 225, 229, 215, 127, 226, 230, 217, 127, 227, 231, 217, 127, 226, 230, 217, 127, 226, 229, 221, 127, 225, 228, 221, 127, 226, 229, 221, 127, 225, 228, 219, 127, 226, 229, 221, 127, 227, 229, 219, 127, 225, 227, 215, 127, 219, 221, 209, 127, 215, 217, 203, 127, 211, 215, 197, 127, 201, 205, 189, 127, 213, 219, 209, 127, 237, 241, 242, 127, 244, 248, 249, 127, 241, 245, 244, 127, 242, 245, 249, 127, 246, 250, 252, 127, 246, 250, 251, 127, 246, 250, 251, 127, 246, 250, 251, 127, 245, 248, 250, 127, 245, 248, 252, 127, 245, 249, 252, 127, 244, 248, 251, 127, 243, 247, 251, 127, 242, 247, 250, 127, 242, 247, 250, 127, 241, 248, 248, 127, 242, 249, 248, 127, 241, 248, 248, 127, 240, 249, 248, 127, 241, 248, 249, 127, 240, 246, 249, 127, 243, 246, 250, 127, 242, 244, 248, 127, 241, 243, 247, 127, 242, 244, 248, 127, 239, 245, 246, 127, 236, 244, 243, 127, 235, 242, 242, 127, 237, 241, 242, 127, 239, 240, 242, 127, 239, 242, 244, 127, 237, 242, 243, 127, 234, 239, 240, 127, 233, 238, 239, 127, 231, 236, 236, 127, 229, 236, 236, 127, 227, 235, 234, 127, 223, 232, 231, 127, 221, 231, 230, 127, 219, 229, 228, 127, 219, 228, 227, 127, 221, 230, 229, 127, 225, 231, 231, 127, 225, 231, 231, 127, 223, 228, 228, 127, 221, 227, 227, 127, 221, 226, 226, 127, 219, 223, 223, 127, 217, 221, 223, 127, 207, 209, 207, 127, 187, 189, 181, 127, 183, 185, 173, 127, 181, 181, 165, 127, 177, 179, 161, 127, 175, 177, 159, 127, 175, 175, 157, 127, 171, 172, 154, 127, 170, 171, 154, 127, 169, 170, 153, 127, 166, 167, 151, 127, 166, 167, 150, 127, 169, 170, 153, 127, 167, 168, 151, 127, 166, 167, 149, 127, 166, 167, 149, 127, 166, 167, 149, 127, 163, 164, 146, 127, 156, 157, 139, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 253, 253, 127, 251, 253, 252, 127, 248, 250, 249, 127, 251, 253, 252, 127, 251, 252, 251, 127, 251, 252, 251, 127, 251, 252, 252, 127, 249, 249, 249, 127, 227, 230, 229, 127, 205, 209, 207, 127, 223, 228, 226, 127, 225, 227, 227, 127, 239, 240, 240, 127, 241, 243, 242, 127, 223, 224, 224, 127, 243, 244, 243, 127, 229, 231, 233, 127, 235, 239, 240, 127, 232, 235, 229, 127, 219, 223, 209, 127, 224, 226, 213, 127, 223, 225, 211, 127, 224, 226, 213, 127, 217, 219, 203, 127, 205, 209, 193, 127, 217, 221, 205, 127, 221, 224, 209, 127, 215, 217, 203, 127, 209, 211, 197, 127, 209, 211, 195, 127, 221, 223, 209, 127, 227, 229, 217, 127, 227, 229, 219, 127, 224, 228, 215, 127, 224, 228, 215, 127, 224, 228, 215, 127, 226, 230, 217, 127, 226, 229, 217, 127, 225, 229, 221, 127, 226, 229, 221, 127, 225, 228, 219, 127, 227, 230, 221, 127, 227, 230, 223, 127, 227, 229, 219, 127, 223, 225, 213, 127, 219, 221, 209, 127, 217, 219, 205, 127, 211, 215, 197, 127, 203, 205, 189, 127, 213, 219, 211, 127, 238, 242, 243, 127, 244, 248, 249, 127, 241, 245, 244, 127, 241, 245, 249, 127, 246, 250, 252, 127, 247, 251, 252, 127, 246, 250, 251, 127, 246, 250, 251, 127, 246, 250, 251, 127, 245, 249, 251, 127, 244, 249, 252, 127, 245, 248, 251, 127, 244, 248, 252, 127, 244, 248, 251, 127, 244, 249, 251, 127, 243, 249, 249, 127, 243, 249, 249, 127, 242, 248, 248, 127, 241, 249, 248, 127, 242, 248, 249, 127, 243, 245, 249, 127, 243, 245, 249, 127, 243, 245, 249, 127, 243, 245, 249, 127, 243, 245, 249, 127, 242, 245, 247, 127, 240, 246, 246, 127, 239, 244, 245, 127, 240, 242, 244, 127, 241, 242, 244, 127, 240, 242, 244, 127, 238, 241, 243, 127, 235, 239, 240, 127, 235, 239, 240, 127, 234, 238, 239, 127, 233, 238, 238, 127, 231, 237, 237, 127, 228, 237, 236, 127, 227, 236, 235, 127, 227, 236, 235, 127, 226, 236, 235, 127, 226, 235, 234, 127, 226, 233, 232, 127, 224, 230, 230, 127, 223, 228, 228, 127, 223, 228, 228, 127, 221, 226, 226, 127, 219, 223, 224, 127, 217, 223, 223, 127, 209, 211, 209, 127, 189, 191, 183, 127, 183, 185, 173, 127, 181, 183, 167, 127, 179, 181, 163, 127, 175, 177, 159, 127, 174, 175, 156, 127, 174, 175, 157, 127, 175, 175, 159, 127, 173, 174, 158, 127, 170, 171, 156, 127, 168, 169, 154, 127, 171, 172, 157, 127, 169, 170, 155, 127, 166, 167, 150, 127, 165, 166, 148, 127, 165, 166, 148, 127, 163, 164, 146, 127, 155, 156, 138, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 251, 251, 251, 127, 248, 250, 249, 127, 249, 251, 250, 127, 246, 249, 248, 127, 239, 241, 240, 127, 247, 250, 249, 127, 248, 251, 250, 127, 247, 250, 249, 127, 232, 234, 233, 127, 185, 187, 187, 127, 140, 142, 141, 127, 148, 148, 148, 127, 168, 170, 166, 127, 205, 207, 203, 127, 213, 215, 211, 127, 125, 127, 122, 127, 166, 167, 162, 127, 150, 153, 152, 127, 183, 187, 189, 127, 213, 215, 209, 127, 179, 183, 170, 127, 193, 195, 183, 127, 215, 217, 203, 127, 209, 211, 197, 127, 189, 193, 175, 127, 187, 189, 174, 127, 191, 195, 177, 127, 169, 172, 156, 127, 187, 189, 175, 127, 201, 203, 189, 127, 209, 211, 195, 127, 213, 215, 201, 127, 223, 225, 213, 127, 226, 228, 219, 127, 224, 228, 215, 127, 221, 225, 211, 127, 224, 228, 215, 127, 227, 231, 217, 127, 226, 229, 217, 127, 225, 229, 221, 127, 226, 229, 221, 127, 226, 229, 221, 127, 226, 229, 221, 127, 227, 230, 223, 127, 225, 228, 217, 127, 223, 225, 213, 127, 221, 223, 211, 127, 219, 221, 207, 127, 215, 217, 201, 127, 201, 205, 187, 127, 211, 217, 209, 127, 237, 241, 242, 127, 244, 248, 250, 127, 240, 244, 244, 127, 241, 245, 248, 127, 246, 250, 252, 127, 247, 251, 252, 127, 247, 251, 252, 127, 245, 249, 250, 127, 245, 249, 250, 127, 244, 249, 251, 127, 244, 249, 251, 127, 243, 248, 251, 127, 244, 249, 252, 127, 244, 249, 252, 127, 244, 249, 251, 127, 243, 247, 248, 127, 244, 248, 249, 127, 242, 248, 248, 127, 242, 247, 247, 127, 243, 247, 248, 127, 243, 246, 249, 127, 242, 245, 250, 127, 242, 245, 249, 127, 241, 245, 249, 127, 242, 245, 250, 127, 240, 246, 248, 127, 237, 247, 246, 127, 237, 245, 244, 127, 238, 243, 244, 127, 239, 242, 244, 127, 238, 242, 243, 127, 237, 243, 243, 127, 236, 241, 242, 127, 234, 240, 241, 127, 233, 239, 239, 127, 232, 238, 238, 127, 232, 238, 238, 127, 230, 238, 237, 127, 229, 237, 236, 127, 229, 236, 236, 127, 228, 235, 234, 127, 226, 233, 233, 127, 226, 233, 232, 127, 224, 230, 230, 127, 223, 228, 228, 127, 221, 227, 227, 127, 221, 226, 226, 127, 219, 224, 224, 127, 217, 221, 223, 127, 209, 211, 209, 127, 189, 191, 183, 127, 183, 185, 173, 127, 181, 183, 167, 127, 179, 181, 163, 127, 175, 177, 159, 127, 174, 175, 156, 127, 174, 175, 157, 127, 177, 177, 162, 127, 175, 175, 162, 127, 172, 173, 160, 127, 171, 172, 158, 127, 173, 174, 161, 127, 170, 171, 157, 127, 168, 169, 153, 127, 164, 165, 147, 127, 163, 164, 146, 127, 162, 163, 145, 127, 154, 155, 137, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 251, 251, 251, 127, 249, 250, 250, 127, 249, 249, 250, 127, 249, 250, 250, 127, 247, 249, 250, 127, 239, 241, 241, 127, 245, 247, 248, 127, 244, 246, 247, 127, 236, 239, 240, 127, 244, 248, 248, 127, 242, 246, 246, 127, 229, 232, 232, 127, 215, 217, 219, 127, 239, 243, 242, 127, 241, 243, 241, 127, 205, 205, 205, 127, 128, 128, 127, 127, 84, 82, 81, 127, 77, 74, 74, 127, 93, 89, 87, 127, 137, 137, 133, 127, 179, 181, 177, 127, 69, 71, 66, 127, 98, 96, 93, 127, 89, 87, 85, 127, 113, 113, 111, 127, 168, 167, 162, 127, 89, 88, 80, 127, 154, 153, 145, 127, 173, 172, 162, 127, 158, 157, 145, 127, 124, 124, 111, 127, 148, 147, 134, 127, 117, 117, 103, 127, 92, 92, 79, 127, 164, 163, 150, 127, 195, 195, 179, 127, 172, 173, 156, 127, 183, 187, 171, 127, 211, 217, 201, 127, 221, 224, 211, 127, 224, 227, 213, 127, 224, 228, 215, 127, 224, 228, 215, 127, 228, 230, 217, 127, 227, 230, 217, 127, 226, 228, 219, 127, 226, 228, 221, 127, 225, 228, 219, 127, 226, 229, 221, 127, 226, 229, 221, 127, 226, 228, 219, 127, 224, 226, 213, 127, 221, 223, 209, 127, 221, 223, 209, 127, 217, 219, 203, 127, 201, 205, 189, 127, 209, 217, 209, 127, 236, 241, 242, 127, 243, 248, 249, 127, 238, 243, 242, 127, 241, 245, 247, 127, 246, 250, 252, 127, 247, 251, 252, 127, 246, 250, 251, 127, 246, 250, 251, 127, 246, 250, 251, 127, 244, 249, 251, 127, 244, 249, 252, 127, 243, 248, 251, 127, 243, 248, 251, 127, 243, 248, 251, 127, 244, 248, 251, 127, 244, 247, 250, 127, 244, 248, 250, 127, 243, 248, 249, 127, 243, 247, 248, 127, 243, 246, 248, 127, 241, 246, 249, 127, 240, 246, 248, 127, 239, 245, 248, 127, 240, 246, 248, 127, 240, 246, 248, 127, 238, 246, 247, 127, 236, 246, 245, 127, 236, 245, 244, 127, 236, 243, 244, 127, 238, 242, 245, 127, 238, 242, 244, 127, 237, 242, 244, 127, 235, 241, 243, 127, 234, 240, 241, 127, 233, 239, 240, 127, 232, 238, 238, 127, 232, 238, 238, 127, 231, 237, 237, 127, 231, 237, 237, 127, 229, 235, 235, 127, 228, 234, 234, 127, 228, 234, 234, 127, 227, 233, 233, 127, 225, 231, 231, 127, 223, 229, 229, 127, 223, 228, 228, 127, 221, 226, 226, 127, 219, 224, 224, 127, 217, 221, 223, 127, 209, 211, 209, 127, 189, 191, 183, 127, 183, 185, 172, 127, 183, 185, 169, 127, 179, 181, 164, 127, 177, 177, 161, 127, 174, 175, 158, 127, 175, 175, 159, 127, 179, 179, 164, 127, 175, 177, 162, 127, 175, 175, 161, 127, 174, 175, 160, 127, 175, 175, 162, 127, 172, 173, 158, 127, 168, 169, 152, 127, 163, 164, 146, 127, 163, 164, 146, 127, 161, 162, 144, 127, 154, 156, 137, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 253, 254, 127, 253, 252, 253, 127, 253, 253, 253, 127, 251, 251, 251, 127, 247, 248, 249, 127, 247, 248, 249, 127, 236, 238, 240, 127, 233, 237, 238, 127, 230, 234, 235, 127, 221, 225, 226, 127, 211, 215, 217, 127, 211, 215, 219, 127, 240, 243, 245, 127, 229, 232, 233, 127, 219, 223, 223, 127, 177, 179, 181, 127, 172, 175, 174, 127, 227, 226, 224, 127, 151, 151, 149, 127, 75, 74, 72, 127, 57, 53, 51, 127, 53, 47, 47, 127, 57, 49, 49, 127, 75, 73, 71, 127, 146, 148, 145, 127, 65, 66, 64, 127, 69, 65, 64, 127, 61, 53, 53, 127, 89, 84, 81, 127, 81, 76, 73, 127, 55, 51, 49, 127, 117, 113, 110, 127, 100, 96, 91, 127, 79, 75, 69, 127, 69, 65, 57, 127, 78, 75, 67, 127, 59, 55, 49, 127, 55, 53, 45, 127, 107, 103, 93, 127, 123, 120, 106, 127, 91, 89, 74, 127, 155, 155, 140, 127, 185, 187, 170, 127, 209, 211, 195, 127, 225, 227, 215, 127, 226, 230, 217, 127, 224, 229, 215, 127, 225, 231, 217, 127, 225, 230, 217, 127, 225, 227, 217, 127, 226, 227, 219, 127, 225, 228, 219, 127, 226, 229, 221, 127, 226, 228, 219, 127, 226, 228, 217, 127, 224, 226, 213, 127, 221, 223, 209, 127, 221, 223, 209, 127, 219, 219, 203, 127, 201, 205, 191, 127, 209, 217, 211, 127, 235, 241, 243, 127, 240, 246, 246, 127, 234, 240, 237, 127, 235, 241, 242, 127, 241, 245, 247, 127, 244, 248, 249, 127, 245, 249, 250, 127, 247, 251, 252, 127, 245, 249, 250, 127, 242, 246, 248, 127, 241, 246, 249, 127, 241, 246, 249, 127, 242, 247, 250, 127, 242, 247, 250, 127, 242, 247, 251, 127, 242, 247, 251, 127, 242, 247, 250, 127, 243, 247, 250, 127, 244, 248, 250, 127, 242, 246, 249, 127, 238, 245, 248, 127, 237, 245, 249, 127, 236, 244, 248, 127, 235, 243, 247, 127, 236, 244, 247, 127, 236, 244, 248, 127, 236, 245, 248, 127, 237, 244, 247, 127, 238, 243, 246, 127, 238, 242, 246, 127, 238, 242, 246, 127, 236, 241, 244, 127, 235, 239, 243, 127, 234, 239, 242, 127, 234, 239, 238, 127, 232, 237, 237, 127, 232, 238, 236, 127, 231, 237, 237, 127, 231, 237, 237, 127, 230, 236, 236, 127, 229, 235, 235, 127, 228, 234, 234, 127, 227, 233, 233, 127, 225, 231, 231, 127, 223, 229, 229, 127, 223, 229, 229, 127, 223, 228, 227, 127, 219, 224, 225, 127, 217, 221, 223, 127, 209, 211, 209, 127, 189, 189, 183, 127, 181, 183, 171, 127, 183, 185, 170, 127, 179, 181, 165, 127, 177, 179, 164, 127, 175, 177, 161, 127, 175, 177, 161, 127, 179, 179, 164, 127, 177, 177, 162, 127, 177, 177, 162, 127, 175, 177, 161, 127, 175, 175, 160, 127, 173, 174, 158, 127, 167, 168, 151, 127, 162, 163, 145, 127, 163, 164, 146, 127, 161, 162, 144, 127, 154, 156, 136, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 254, 253, 254, 127, 253, 252, 253, 127, 253, 253, 253, 127, 251, 251, 252, 127, 244, 245, 246, 127, 240, 243, 244, 127, 238, 242, 242, 127, 209, 213, 215, 127, 195, 199, 199, 127, 224, 228, 229, 127, 185, 189, 191, 127, 151, 154, 156, 127, 199, 199, 203, 127, 232, 234, 234, 127, 167, 169, 169, 127, 199, 201, 199, 127, 90, 92, 90, 127, 136, 136, 134, 127, 108, 108, 106, 127, 45, 45, 43, 127, 45, 41, 41, 127, 45, 39, 39, 127, 47, 41, 41, 127, 47, 45, 45, 127, 108, 109, 107, 127, 57, 57, 57, 127, 47, 45, 43, 127, 51, 47, 47, 127, 55, 53, 49, 127, 45, 41, 39, 127, 57, 55, 51, 127, 71, 69, 65, 127, 57, 55, 53, 127, 41, 39, 37, 127, 37, 35, 33, 127, 37, 35, 33, 127, 37, 35, 33, 127, 39, 37, 35, 127, 55, 51, 49, 127, 53, 51, 43, 127, 78, 74, 64, 127, 129, 123, 111, 127, 135, 128, 113, 127, 191, 185, 171, 127, 211, 209, 197, 127, 209, 209, 197, 127, 213, 215, 203, 127, 217, 224, 209, 127, 217, 226, 211, 127, 223, 227, 215, 127, 226, 227, 217, 127, 224, 226, 215, 127, 225, 227, 217, 127, 224, 226, 217, 127, 223, 225, 215, 127, 223, 224, 211, 127, 221, 223, 211, 127, 223, 224, 211, 127, 217, 219, 203, 127, 199, 203, 189, 127, 209, 217, 209, 127, 234, 239, 241, 127, 232, 238, 238, 127, 219, 225, 221, 127, 217, 221, 223, 127, 219, 223, 224, 127, 225, 229, 230, 127, 239, 243, 244, 127, 244, 248, 249, 127, 243, 247, 248, 127, 241, 246, 248, 127, 241, 246, 249, 127, 241, 246, 249, 127, 241, 246, 249, 127, 241, 246, 249, 127, 241, 246, 249, 127, 241, 246, 249, 127, 241, 246, 250, 127, 241, 246, 250, 127, 240, 247, 251, 127, 236, 242, 248, 127, 230, 239, 247, 127, 229, 239, 249, 127, 230, 239, 248, 127, 229, 238, 247, 127, 229, 238, 247, 127, 230, 239, 248, 127, 231, 240, 249, 127, 232, 241, 250, 127, 234, 241, 247, 127, 236, 242, 245, 127, 236, 241, 244, 127, 235, 239, 242, 127, 234, 238, 241, 127, 234, 238, 240, 127, 233, 237, 237, 127, 232, 236, 235, 127, 231, 236, 235, 127, 230, 236, 236, 127, 229, 235, 235, 127, 228, 234, 234, 127, 228, 234, 234, 127, 226, 232, 232, 127, 225, 231, 231, 127, 225, 231, 231, 127, 224, 230, 230, 127, 223, 228, 228, 127, 223, 228, 227, 127, 219, 224, 225, 127, 217, 221, 223, 127, 209, 211, 209, 127, 189, 189, 183, 127, 181, 183, 169, 127, 183, 183, 169, 127, 181, 181, 167, 127, 179, 181, 166, 127, 179, 179, 164, 127, 179, 179, 164, 127, 179, 179, 164, 127, 179, 179, 164, 127, 177, 179, 163, 127, 177, 177, 162, 127, 175, 177, 161, 127, 172, 173, 157, 127, 165, 166, 148, 127, 162, 163, 145, 127, 163, 164, 146, 127, 163, 164, 146, 127, 158, 160, 140, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 251, 252, 251, 127, 252, 253, 252, 127, 246, 248, 248, 127, 242, 244, 245, 127, 231, 235, 236, 127, 233, 237, 238, 127, 223, 225, 226, 127, 128, 132, 133, 127, 187, 191, 193, 127, 195, 199, 201, 127, 133, 134, 136, 127, 112, 113, 114, 127, 197, 197, 197, 127, 128, 129, 127, 127, 159, 159, 157, 127, 82, 84, 81, 127, 59, 59, 57, 127, 67, 67, 65, 127, 39, 39, 37, 127, 37, 33, 31, 127, 43, 37, 37, 127, 35, 31, 31, 127, 37, 35, 35, 127, 90, 90, 91, 127, 51, 49, 51, 127, 37, 33, 35, 127, 35, 31, 31, 127, 39, 37, 35, 127, 43, 43, 41, 127, 51, 51, 49, 127, 47, 47, 45, 127, 39, 37, 37, 127, 25, 24, 25, 127, 24, 22, 25, 127, 25, 25, 27, 127, 31, 30, 31, 127, 33, 31, 35, 127, 35, 35, 35, 127, 37, 37, 33, 127, 71, 67, 61, 127, 87, 79, 72, 127, 108, 97, 89, 127, 125, 114, 105, 127, 122, 112, 103, 127, 128, 117, 108, 127, 144, 136, 126, 127, 187, 185, 174, 127, 217, 221, 207, 127, 221, 223, 211, 127, 225, 225, 213, 127, 224, 225, 213, 127, 223, 224, 213, 127, 224, 225, 213, 127, 224, 226, 213, 127, 221, 223, 211, 127, 221, 223, 209, 127, 223, 224, 211, 127, 217, 219, 203, 127, 197, 201, 187, 127, 207, 213, 207, 127, 233, 238, 240, 127, 233, 238, 239, 127, 219, 224, 221, 127, 207, 213, 213, 127, 207, 211, 213, 127, 215, 219, 221, 127, 237, 241, 242, 127, 243, 247, 248, 127, 243, 247, 248, 127, 243, 247, 249, 127, 243, 248, 251, 127, 242, 247, 250, 127, 242, 247, 250, 127, 242, 247, 250, 127, 243, 247, 250, 127, 242, 246, 249, 127, 242, 247, 251, 127, 241, 247, 253, 127, 235, 244, 252, 127, 228, 238, 246, 127, 224, 235, 247, 127, 221, 233, 247, 127, 221, 233, 247, 127, 219, 231, 245, 127, 221, 232, 246, 127, 221, 233, 248, 127, 223, 235, 249, 127, 225, 237, 248, 127, 228, 238, 246, 127, 229, 238, 243, 127, 232, 238, 243, 127, 234, 238, 244, 127, 234, 238, 243, 127, 234, 239, 242, 127, 232, 237, 241, 127, 231, 237, 239, 127, 229, 235, 236, 127, 228, 234, 234, 127, 229, 235, 235, 127, 227, 233, 233, 127, 226, 232, 232, 127, 225, 231, 231, 127, 225, 231, 231, 127, 224, 230, 230, 127, 224, 230, 230, 127, 223, 229, 229, 127, 221, 227, 226, 127, 219, 223, 224, 127, 217, 221, 223, 127, 207, 209, 207, 127, 189, 189, 183, 127, 179, 181, 169, 127, 183, 183, 169, 127, 183, 183, 168, 127, 181, 181, 167, 127, 181, 181, 166, 127, 181, 181, 166, 127, 179, 181, 165, 127, 179, 181, 165, 127, 177, 179, 163, 127, 175, 175, 160, 127, 175, 177, 161, 127, 173, 174, 157, 127, 165, 166, 149, 127, 161, 162, 144, 127, 164, 165, 147, 127, 164, 165, 147, 127, 163, 165, 145, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 247, 248, 249, 127, 248, 250, 250, 127, 242, 246, 246, 127, 230, 234, 234, 127, 215, 223, 223, 127, 221, 225, 226, 127, 213, 217, 219, 127, 149, 153, 154, 127, 105, 109, 110, 127, 120, 124, 125, 127, 117, 119, 120, 127, 66, 66, 67, 127, 102, 102, 101, 127, 91, 91, 88, 127, 64, 65, 59, 127, 55, 57, 53, 127, 41, 41, 39, 127, 37, 37, 35, 127, 28, 27, 25, 127, 39, 35, 33, 127, 43, 37, 37, 127, 35, 31, 33, 127, 31, 30, 33, 127, 47, 45, 49, 127, 33, 31, 35, 127, 27, 25, 27, 127, 31, 29, 31, 127, 37, 37, 37, 127, 39, 39, 37, 127, 41, 41, 41, 127, 39, 39, 39, 127, 24, 24, 25, 127, 24, 24, 25, 127, 20, 20, 21, 127, 25, 25, 28, 127, 28, 28, 30, 127, 31, 31, 33, 127, 27, 29, 28, 127, 39, 39, 37, 127, 53, 51, 49, 127, 68, 61, 59, 127, 84, 75, 73, 127, 96, 86, 81, 127, 105, 94, 85, 127, 109, 92, 86, 127, 122, 106, 98, 127, 154, 143, 134, 127, 197, 193, 183, 127, 219, 219, 205, 127, 223, 224, 211, 127, 223, 223, 211, 127, 223, 224, 211, 127, 223, 223, 211, 127, 223, 224, 211, 127, 221, 223, 211, 127, 221, 223, 209, 127, 221, 223, 209, 127, 215, 217, 201, 127, 195, 199, 185, 127, 205, 211, 205, 127, 234, 239, 241, 127, 240, 246, 246, 127, 234, 240, 236, 127, 230, 236, 237, 127, 234, 238, 240, 127, 238, 242, 243, 127, 242, 246, 247, 127, 244, 248, 249, 127, 244, 248, 248, 127, 244, 249, 251, 127, 244, 249, 252, 127, 243, 248, 251, 127, 243, 248, 251, 127, 243, 248, 251, 127, 243, 247, 250, 127, 243, 246, 249, 127, 242, 246, 250, 127, 236, 244, 250, 127, 227, 238, 247, 127, 221, 234, 243, 127, 217, 231, 244, 127, 213, 226, 242, 127, 211, 225, 240, 127, 209, 223, 238, 127, 211, 224, 239, 127, 213, 227, 243, 127, 213, 228, 243, 127, 217, 231, 243, 127, 221, 232, 243, 127, 223, 233, 245, 127, 225, 234, 246, 127, 228, 234, 246, 127, 229, 236, 246, 127, 229, 238, 245, 127, 230, 238, 246, 127, 230, 238, 243, 127, 231, 237, 240, 127, 230, 236, 236, 127, 231, 237, 237, 127, 230, 236, 236, 127, 228, 234, 234, 127, 227, 233, 233, 127, 226, 232, 232, 127, 225, 231, 231, 127, 224, 230, 230, 127, 224, 230, 230, 127, 223, 228, 228, 127, 219, 224, 224, 127, 217, 221, 223, 127, 209, 211, 209, 127, 189, 191, 183, 127, 181, 185, 172, 127, 183, 185, 171, 127, 183, 185, 169, 127, 183, 183, 169, 127, 179, 181, 165, 127, 179, 181, 165, 127, 179, 181, 165, 127, 181, 181, 166, 127, 179, 179, 163, 127, 175, 177, 161, 127, 175, 177, 161, 127, 172, 173, 156, 127, 163, 164, 146, 127, 158, 159, 141, 127, 163, 164, 146, 127, 167, 168, 150, 127, 164, 166, 146, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 250, 250, 251, 127, 249, 250, 250, 127, 250, 251, 251, 127, 249, 250, 251, 127, 237, 239, 240, 127, 229, 233, 234, 127, 181, 187, 187, 127, 168, 175, 175, 127, 185, 189, 191, 127, 166, 168, 170, 127, 167, 170, 171, 127, 99, 103, 104, 127, 70, 73, 74, 127, 78, 79, 79, 127, 57, 57, 57, 127, 45, 45, 45, 127, 57, 59, 55, 127, 43, 45, 39, 127, 35, 35, 31, 127, 26, 27, 25, 127, 27, 27, 25, 127, 27, 26, 24, 127, 43, 41, 41, 127, 39, 35, 35, 127, 27, 25, 27, 127, 27, 26, 28, 127, 33, 31, 35, 127, 26, 24, 27, 127, 30, 29, 30, 127, 31, 31, 31, 127, 28, 28, 28, 127, 25, 25, 25, 127, 30, 30, 30, 127, 28, 28, 28, 127, 26, 26, 26, 127, 20, 20, 20, 127, 20, 20, 20, 127, 29, 29, 29, 127, 28, 28, 29, 127, 31, 31, 31, 127, 31, 31, 31, 127, 35, 35, 33, 127, 37, 37, 35, 127, 45, 43, 43, 127, 45, 43, 43, 127, 55, 51, 49, 127, 73, 66, 57, 127, 92, 80, 74, 127, 105, 92, 86, 127, 139, 128, 121, 127, 151, 146, 136, 127, 175, 175, 162, 127, 207, 207, 195, 127, 219, 219, 205, 127, 221, 223, 207, 127, 223, 223, 209, 127, 223, 223, 209, 127, 221, 223, 209, 127, 221, 221, 207, 127, 217, 217, 203, 127, 213, 215, 197, 127, 195, 199, 185, 127, 203, 209, 203, 127, 235, 239, 242, 127, 243, 248, 250, 127, 240, 246, 243, 127, 239, 244, 245, 127, 242, 247, 248, 127, 246, 250, 251, 127, 245, 249, 250, 127, 244, 248, 249, 127, 244, 248, 249, 127, 245, 250, 251, 127, 244, 250, 253, 127, 243, 249, 252, 127, 242, 247, 251, 127, 242, 248, 250, 127, 243, 247, 249, 127, 241, 245, 250, 127, 236, 242, 248, 127, 228, 237, 246, 127, 223, 233, 243, 127, 215, 230, 241, 127, 209, 226, 239, 127, 203, 221, 234, 127, 201, 219, 232, 127, 197, 215, 229, 127, 197, 215, 228, 127, 199, 215, 229, 127, 199, 219, 231, 127, 205, 223, 236, 127, 209, 224, 238, 127, 213, 227, 242, 127, 217, 229, 243, 127, 221, 230, 245, 127, 223, 233, 246, 127, 224, 235, 245, 127, 225, 235, 247, 127, 226, 238, 247, 127, 229, 237, 243, 127, 229, 237, 237, 127, 231, 237, 239, 127, 231, 238, 238, 127, 229, 236, 236, 127, 227, 234, 233, 127, 226, 234, 232, 127, 226, 232, 232, 127, 226, 230, 231, 127, 223, 227, 228, 127, 217, 223, 223, 127, 215, 219, 219, 127, 217, 219, 221, 127, 211, 211, 211, 127, 191, 191, 185, 127, 185, 185, 175, 127, 185, 187, 174, 127, 183, 185, 171, 127, 183, 183, 169, 127, 181, 181, 166, 127, 181, 181, 165, 127, 181, 183, 165, 127, 181, 183, 166, 127, 179, 181, 165, 127, 175, 177, 164, 127, 175, 177, 164, 127, 170, 171, 156, 127, 162, 163, 146, 127, 159, 160, 142, 127, 165, 166, 148, 127, 168, 169, 151, 127, 165, 166, 148, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 253, 127, 251, 251, 252, 127, 247, 248, 249, 127, 237, 240, 241, 127, 219, 223, 223, 127, 213, 217, 215, 127, 219, 221, 221, 127, 215, 219, 219, 127, 158, 163, 162, 127, 119, 124, 123, 127, 123, 124, 125, 127, 115, 114, 115, 127, 131, 130, 131, 127, 88, 88, 88, 127, 57, 59, 59, 127, 59, 59, 59, 127, 55, 55, 55, 127, 47, 47, 47, 127, 43, 43, 43, 127, 45, 45, 43, 127, 28, 28, 28, 127, 20, 20, 20, 127, 21, 21, 21, 127, 27, 26, 27, 127, 33, 31, 31, 127, 30, 29, 29, 127, 23, 23, 23, 127, 35, 35, 35, 127, 33, 33, 33, 127, 29, 29, 29, 127, 27, 26, 27, 127, 23, 23, 23, 127, 30, 30, 30, 127, 31, 31, 31, 127, 39, 39, 39, 127, 33, 33, 33, 127, 31, 31, 31, 127, 25, 25, 25, 127, 21, 21, 21, 127, 35, 35, 35, 127, 28, 28, 28, 127, 28, 28, 28, 127, 33, 33, 33, 127, 33, 33, 33, 127, 29, 30, 29, 127, 29, 30, 29, 127, 23, 24, 24, 127, 35, 33, 31, 127, 45, 37, 35, 127, 47, 41, 39, 127, 70, 61, 57, 127, 88, 78, 75, 127, 100, 90, 86, 127, 125, 120, 110, 127, 187, 185, 174, 127, 207, 205, 191, 127, 221, 219, 205, 127, 221, 221, 205, 127, 223, 223, 207, 127, 223, 223, 205, 127, 221, 219, 203, 127, 217, 217, 201, 127, 215, 215, 195, 127, 201, 203, 187, 127, 207, 213, 203, 127, 234, 238, 240, 127, 245, 248, 252, 127, 241, 245, 246, 127, 241, 245, 245, 127, 245, 249, 250, 127, 246, 250, 251, 127, 245, 249, 250, 127, 245, 249, 250, 127, 245, 249, 250, 127, 243, 250, 251, 127, 242, 251, 253, 127, 242, 249, 252, 127, 244, 248, 251, 127, 243, 249, 251, 127, 241, 246, 249, 127, 234, 241, 249, 127, 227, 238, 246, 127, 223, 233, 244, 127, 217, 229, 241, 127, 211, 225, 238, 127, 203, 221, 235, 127, 197, 215, 230, 127, 193, 211, 225, 127, 189, 205, 221, 127, 185, 203, 217, 127, 183, 203, 219, 127, 183, 205, 221, 127, 187, 209, 223, 127, 193, 213, 227, 127, 199, 217, 231, 127, 205, 221, 234, 127, 211, 223, 241, 127, 213, 226, 242, 127, 219, 228, 240, 127, 221, 229, 241, 127, 221, 233, 245, 127, 223, 234, 247, 127, 225, 233, 248, 127, 224, 233, 244, 127, 226, 235, 243, 127, 226, 235, 242, 127, 225, 234, 235, 127, 225, 233, 231, 127, 227, 230, 232, 127, 224, 225, 227, 127, 211, 213, 213, 127, 211, 213, 215, 127, 211, 217, 217, 127, 217, 219, 223, 127, 207, 209, 209, 127, 191, 191, 187, 127, 185, 185, 175, 127, 185, 187, 174, 127, 181, 183, 169, 127, 183, 183, 169, 127, 181, 181, 166, 127, 181, 181, 163, 127, 183, 181, 165, 127, 183, 183, 168, 127, 179, 181, 167, 127, 175, 177, 167, 127, 174, 175, 165, 127, 170, 171, 157, 127, 163, 164, 147, 127, 160, 161, 142, 127, 165, 166, 146, 127, 168, 169, 150, 127, 167, 168, 148, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 253, 127, 247, 249, 251, 127, 241, 246, 246, 127, 213, 219, 217, 127, 144, 149, 148, 127, 133, 137, 136, 127, 143, 147, 146, 127, 151, 155, 154, 127, 98, 102, 101, 127, 79, 80, 79, 127, 87, 87, 87, 127, 68, 68, 68, 127, 72, 72, 71, 127, 51, 51, 51, 127, 53, 53, 53, 127, 49, 49, 49, 127, 55, 55, 55, 127, 61, 61, 61, 127, 61, 61, 61, 127, 35, 35, 35, 127, 20, 20, 20, 127, 20, 20, 20, 127, 23, 23, 23, 127, 21, 21, 21, 127, 25, 25, 25, 127, 37, 37, 37, 127, 43, 43, 43, 127, 45, 45, 45, 127, 35, 35, 35, 127, 25, 25, 25, 127, 31, 31, 31, 127, 35, 35, 35, 127, 31, 31, 31, 127, 47, 47, 47, 127, 35, 35, 35, 127, 26, 26, 26, 127, 26, 26, 26, 127, 20, 20, 20, 127, 27, 27, 27, 127, 30, 30, 30, 127, 27, 27, 27, 127, 31, 31, 31, 127, 35, 35, 35, 127, 37, 37, 37, 127, 33, 33, 33, 127, 26, 26, 26, 127, 28, 26, 25, 127, 19, 15, 14, 127, 28, 26, 23, 127, 47, 45, 41, 127, 66, 59, 55, 127, 87, 76, 74, 127, 105, 97, 89, 127, 135, 128, 120, 127, 187, 183, 171, 127, 217, 217, 203, 127, 219, 221, 205, 127, 221, 223, 205, 127, 219, 221, 201, 127, 219, 219, 201, 127, 217, 217, 199, 127, 217, 217, 199, 127, 209, 211, 195, 127, 211, 217, 205, 127, 232, 236, 238, 127, 244, 247, 252, 127, 241, 245, 246, 127, 240, 244, 245, 127, 245, 249, 250, 127, 246, 250, 251, 127, 245, 249, 250, 127, 244, 248, 249, 127, 245, 249, 250, 127, 243, 249, 252, 127, 242, 250, 253, 127, 242, 250, 253, 127, 243, 250, 253, 127, 240, 249, 251, 127, 234, 243, 248, 127, 227, 236, 247, 127, 223, 233, 245, 127, 217, 229, 241, 127, 211, 225, 239, 127, 205, 221, 235, 127, 197, 215, 230, 127, 191, 207, 223, 127, 185, 201, 217, 127, 179, 197, 213, 127, 174, 191, 207, 127, 171, 191, 207, 127, 170, 191, 207, 127, 173, 193, 209, 127, 179, 197, 211, 127, 183, 203, 215, 127, 189, 207, 221, 127, 197, 209, 227, 127, 201, 213, 231, 127, 209, 217, 233, 127, 211, 221, 235, 127, 211, 227, 239, 127, 213, 230, 241, 127, 215, 230, 243, 127, 219, 231, 244, 127, 223, 231, 247, 127, 225, 231, 245, 127, 221, 227, 237, 127, 217, 223, 226, 127, 213, 215, 219, 127, 203, 203, 205, 127, 201, 203, 201, 127, 219, 221, 221, 127, 213, 219, 219, 127, 211, 215, 217, 127, 205, 207, 207, 127, 191, 193, 185, 127, 183, 187, 171, 127, 185, 185, 167, 127, 185, 183, 166, 127, 183, 183, 164, 127, 181, 181, 163, 127, 179, 181, 162, 127, 181, 181, 164, 127, 179, 179, 166, 127, 179, 179, 168, 127, 177, 179, 166, 127, 179, 177, 163, 127, 175, 172, 155, 127, 168, 165, 145, 127, 167, 165, 144, 127, 171, 170, 149, 127, 171, 169, 148, 127, 170, 168, 147, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 252, 252, 253, 127, 252, 252, 252, 127, 249, 249, 249, 127, 240, 242, 243, 127, 233, 237, 237, 127, 224, 229, 229, 127, 164, 171, 169, 127, 98, 103, 102, 127, 74, 78, 77, 127, 82, 85, 84, 127, 85, 86, 85, 127, 66, 66, 66, 127, 69, 69, 69, 127, 53, 53, 53, 127, 45, 45, 45, 127, 47, 47, 47, 127, 51, 51, 51, 127, 59, 59, 59, 127, 67, 67, 67, 127, 59, 59, 59, 127, 47, 47, 47, 127, 37, 37, 37, 127, 23, 23, 23, 127, 22, 22, 22, 127, 26, 26, 26, 127, 23, 23, 23, 127, 35, 35, 35, 127, 43, 43, 43, 127, 43, 43, 43, 127, 43, 43, 43, 127, 31, 31, 31, 127, 28, 28, 28, 127, 28, 28, 28, 127, 26, 26, 26, 127, 37, 37, 37, 127, 39, 39, 39, 127, 33, 33, 33, 127, 18, 18, 18, 127, 24, 24, 24, 127, 20, 20, 20, 127, 24, 24, 24, 127, 27, 27, 27, 127, 26, 26, 26, 127, 31, 31, 31, 127, 33, 33, 33, 127, 45, 47, 45, 127, 57, 57, 57, 127, 43, 43, 43, 127, 28, 27, 27, 127, 27, 25, 26, 127, 35, 37, 35, 127, 51, 51, 49, 127, 64, 61, 57, 127, 77, 72, 68, 127, 83, 75, 69, 127, 116, 107, 99, 127, 175, 170, 160, 127, 191, 189, 177, 127, 209, 209, 195, 127, 209, 211, 195, 127, 207, 209, 193, 127, 209, 211, 195, 127, 213, 215, 199, 127, 217, 219, 203, 127, 215, 217, 201, 127, 207, 215, 203, 127, 230, 234, 236, 127, 243, 246, 251, 127, 241, 245, 246, 127, 239, 243, 245, 127, 244, 248, 249, 127, 246, 250, 250, 127, 245, 249, 249, 127, 245, 249, 250, 127, 245, 249, 250, 127, 244, 249, 251, 127, 243, 249, 252, 127, 241, 250, 253, 127, 239, 249, 252, 127, 234, 244, 249, 127, 227, 237, 244, 127, 221, 231, 242, 127, 217, 228, 241, 127, 211, 224, 237, 127, 205, 219, 233, 127, 197, 213, 229, 127, 191, 209, 224, 127, 185, 201, 217, 127, 177, 195, 211, 127, 170, 187, 203, 127, 165, 181, 197, 127, 160, 177, 193, 127, 158, 177, 193, 127, 160, 177, 193, 127, 163, 181, 195, 127, 168, 185, 199, 127, 175, 189, 201, 127, 183, 191, 205, 127, 189, 199, 211, 127, 189, 203, 217, 127, 191, 205, 219, 127, 195, 209, 219, 127, 201, 213, 219, 127, 205, 215, 219, 127, 203, 213, 219, 127, 207, 213, 221, 127, 205, 209, 217, 127, 197, 199, 207, 127, 187, 187, 193, 127, 197, 193, 199, 127, 197, 193, 193, 127, 193, 189, 185, 127, 203, 203, 199, 127, 203, 203, 201, 127, 203, 201, 201, 127, 193, 189, 187, 127, 181, 177, 169, 127, 174, 169, 153, 127, 179, 174, 155, 127, 183, 177, 158, 127, 185, 179, 161, 127, 183, 179, 161, 127, 183, 181, 162, 127, 181, 183, 165, 127, 181, 183, 169, 127, 181, 183, 170, 127, 179, 181, 167, 127, 179, 177, 161, 127, 177, 171, 152, 127, 171, 166, 144, 127, 173, 168, 147, 127, 175, 170, 149, 127, 177, 172, 150, 127, 174, 169, 147, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 253, 127, 252, 252, 253, 127, 250, 250, 251, 127, 236, 237, 239, 127, 211, 215, 215, 127, 195, 201, 201, 127, 149, 159, 155, 127, 100, 109, 106, 127, 76, 81, 79, 127, 59, 59, 59, 127, 57, 57, 57, 127, 57, 57, 57, 127, 55, 55, 55, 127, 49, 49, 49, 127, 35, 35, 35, 127, 30, 30, 30, 127, 35, 35, 35, 127, 35, 35, 35, 127, 33, 33, 33, 127, 35, 35, 35, 127, 26, 26, 26, 127, 37, 37, 37, 127, 37, 37, 37, 127, 51, 51, 51, 127, 57, 57, 57, 127, 43, 43, 43, 127, 31, 31, 31, 127, 26, 26, 26, 127, 35, 35, 35, 127, 33, 33, 33, 127, 26, 26, 26, 127, 20, 20, 20, 127, 28, 28, 28, 127, 26, 26, 26, 127, 27, 27, 27, 127, 31, 31, 31, 127, 35, 35, 35, 127, 20, 20, 20, 127, 21, 21, 21, 127, 22, 22, 22, 127, 19, 19, 19, 127, 23, 23, 23, 127, 27, 27, 27, 127, 33, 33, 33, 127, 33, 33, 33, 127, 29, 29, 29, 127, 39, 39, 39, 127, 55, 55, 55, 127, 29, 28, 29, 127, 27, 26, 28, 127, 18, 20, 19, 127, 35, 35, 33, 127, 53, 49, 47, 127, 70, 64, 61, 127, 92, 85, 81, 127, 108, 101, 94, 127, 124, 116, 108, 127, 160, 153, 143, 127, 181, 174, 164, 127, 183, 179, 167, 127, 185, 181, 169, 127, 187, 183, 172, 127, 193, 193, 179, 127, 203, 203, 187, 127, 203, 205, 191, 127, 203, 209, 197, 127, 227, 232, 235, 127, 242, 246, 249, 127, 241, 245, 246, 127, 238, 242, 244, 127, 244, 247, 248, 127, 246, 249, 250, 127, 244, 248, 249, 127, 245, 249, 250, 127, 245, 249, 251, 127, 244, 248, 251, 127, 245, 250, 253, 127, 239, 247, 251, 127, 231, 242, 248, 127, 224, 237, 245, 127, 219, 232, 241, 127, 215, 228, 240, 127, 209, 223, 236, 127, 203, 219, 232, 127, 195, 211, 227, 127, 189, 207, 223, 127, 183, 201, 217, 127, 177, 195, 211, 127, 171, 187, 203, 127, 161, 179, 193, 127, 156, 173, 189, 127, 151, 169, 183, 127, 145, 164, 175, 127, 147, 165, 175, 127, 147, 164, 175, 127, 155, 170, 179, 127, 161, 175, 185, 127, 165, 177, 189, 127, 171, 181, 189, 127, 175, 185, 191, 127, 187, 195, 199, 127, 191, 193, 199, 127, 189, 193, 199, 127, 193, 195, 205, 127, 191, 193, 201, 127, 195, 199, 205, 127, 193, 199, 205, 127, 183, 185, 191, 127, 167, 161, 161, 127, 167, 157, 159, 127, 161, 149, 148, 127, 167, 157, 153, 127, 158, 151, 146, 127, 158, 149, 148, 127, 158, 148, 150, 127, 161, 150, 151, 127, 169, 156, 153, 127, 161, 148, 141, 127, 155, 142, 132, 127, 168, 156, 143, 127, 174, 164, 149, 127, 177, 169, 152, 127, 185, 177, 158, 127, 187, 181, 162, 127, 185, 181, 165, 127, 181, 179, 166, 127, 179, 179, 166, 127, 179, 175, 160, 127, 175, 170, 151, 127, 171, 168, 148, 127, 170, 168, 148, 127, 174, 172, 151, 127, 173, 171, 150, 127, 172, 169, 148, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 249, 249, 251, 127, 249, 249, 251, 127, 244, 245, 247, 127, 234, 238, 239, 127, 219, 226, 225, 127, 175, 185, 181, 127, 125, 134, 131, 127, 86, 90, 89, 127, 63, 64, 63, 127, 47, 47, 47, 127, 47, 47, 47, 127, 49, 49, 49, 127, 39, 39, 39, 127, 33, 33, 33, 127, 18, 18, 18, 127, 20, 20, 20, 127, 10, 10, 10, 127, 11, 11, 11, 127, 13, 13, 13, 127, 33, 33, 33, 127, 55, 55, 55, 127, 61, 61, 61, 127, 70, 70, 70, 127, 66, 66, 66, 127, 49, 49, 49, 127, 39, 39, 39, 127, 27, 27, 27, 127, 19, 19, 19, 127, 31, 31, 31, 127, 17, 17, 17, 127, 14, 14, 14, 127, 14, 14, 14, 127, 35, 35, 35, 127, 35, 35, 35, 127, 31, 31, 31, 127, 20, 20, 20, 127, 28, 28, 28, 127, 28, 28, 28, 127, 17, 17, 17, 127, 17, 17, 17, 127, 18, 18, 18, 127, 18, 18, 18, 127, 28, 28, 28, 127, 23, 23, 23, 127, 24, 24, 24, 127, 31, 31, 31, 127, 43, 43, 43, 127, 37, 35, 35, 127, 35, 33, 35, 127, 47, 47, 47, 127, 65, 63, 64, 127, 65, 59, 59, 127, 66, 59, 57, 127, 69, 64, 61, 127, 77, 73, 67, 127, 90, 83, 76, 127, 119, 108, 101, 127, 132, 118, 111, 127, 132, 116, 108, 127, 136, 122, 113, 127, 153, 143, 133, 127, 172, 168, 156, 127, 191, 191, 179, 127, 195, 197, 183, 127, 201, 205, 195, 127, 226, 228, 231, 127, 241, 245, 249, 127, 240, 245, 245, 127, 238, 243, 242, 127, 243, 247, 249, 127, 245, 249, 251, 127, 244, 248, 249, 127, 245, 249, 251, 127, 245, 249, 250, 127, 244, 249, 251, 127, 240, 247, 250, 127, 231, 240, 244, 127, 224, 236, 244, 127, 219, 233, 243, 127, 213, 228, 239, 127, 207, 223, 236, 127, 203, 217, 231, 127, 197, 213, 228, 127, 189, 207, 223, 127, 185, 201, 217, 127, 177, 195, 211, 127, 170, 187, 203, 127, 163, 179, 195, 127, 154, 170, 185, 127, 149, 167, 181, 127, 142, 161, 172, 127, 134, 154, 161, 127, 133, 151, 158, 127, 135, 151, 156, 127, 142, 157, 162, 127, 147, 163, 168, 127, 154, 166, 166, 127, 168, 169, 167, 127, 185, 179, 175, 127, 179, 177, 181, 127, 171, 179, 195, 127, 175, 183, 199, 127, 179, 187, 197, 127, 171, 177, 187, 127, 174, 177, 183, 127, 175, 177, 181, 127, 157, 155, 155, 127, 152, 140, 136, 127, 151, 135, 131, 127, 156, 138, 134, 127, 160, 142, 138, 127, 166, 152, 147, 127, 161, 152, 149, 127, 169, 158, 159, 127, 166, 154, 159, 127, 145, 132, 137, 127, 152, 137, 139, 127, 148, 134, 133, 127, 141, 128, 123, 127, 134, 118, 108, 127, 140, 124, 110, 127, 153, 136, 118, 127, 165, 150, 128, 127, 183, 175, 154, 127, 185, 181, 165, 127, 181, 179, 166, 127, 177, 175, 162, 127, 177, 174, 156, 127, 173, 171, 151, 127, 173, 173, 154, 127, 173, 173, 154, 127, 170, 169, 150, 127, 169, 168, 149, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 249, 249, 250, 127, 234, 234, 236, 127, 233, 234, 236, 127, 221, 224, 225, 127, 213, 219, 219, 127, 177, 181, 179, 127, 124, 129, 127, 127, 103, 104, 104, 127, 65, 64, 65, 127, 41, 41, 41, 127, 39, 39, 39, 127, 41, 41, 41, 127, 33, 33, 33, 127, 25, 25, 25, 127, 17, 17, 17, 127, 12, 12, 12, 127, 6, 6, 6, 127, 7, 7, 7, 127, 12, 12, 12, 127, 28, 28, 28, 127, 33, 33, 33, 127, 39, 39, 39, 127, 49, 49, 49, 127, 57, 57, 57, 127, 53, 53, 53, 127, 35, 35, 35, 127, 25, 25, 25, 127, 31, 31, 31, 127, 49, 49, 49, 127, 51, 51, 51, 127, 21, 21, 21, 127, 7, 7, 7, 127, 14, 14, 14, 127, 21, 21, 21, 127, 23, 23, 23, 127, 29, 29, 29, 127, 12, 12, 12, 127, 11, 11, 11, 127, 14, 14, 14, 127, 14, 14, 14, 127, 13, 13, 13, 127, 9, 9, 9, 127, 23, 23, 21, 127, 45, 45, 43, 127, 39, 39, 37, 127, 41, 41, 39, 127, 45, 45, 43, 127, 57, 55, 55, 127, 64, 63, 65, 127, 57, 57, 57, 127, 94, 93, 93, 127, 85, 83, 83, 127, 47, 45, 43, 127, 51, 51, 47, 127, 70, 69, 63, 127, 87, 79, 75, 127, 96, 85, 82, 127, 115, 99, 97, 127, 109, 89, 86, 127, 109, 91, 86, 127, 125, 111, 103, 127, 155, 149, 138, 127, 175, 175, 163, 127, 193, 193, 179, 127, 197, 201, 189, 127, 224, 229, 228, 127, 242, 247, 251, 127, 241, 245, 247, 127, 241, 243, 242, 127, 246, 248, 247, 127, 248, 250, 250, 127, 247, 250, 249, 127, 247, 249, 249, 127, 245, 248, 249, 127, 239, 245, 250, 127, 231, 241, 247, 127, 224, 235, 244, 127, 219, 232, 243, 127, 213, 228, 240, 127, 207, 223, 235, 127, 199, 217, 231, 127, 195, 213, 227, 127, 189, 207, 221, 127, 181, 201, 215, 127, 175, 195, 209, 127, 169, 187, 203, 127, 165, 181, 197, 127, 155, 172, 187, 127, 145, 165, 177, 127, 134, 159, 165, 127, 125, 147, 145, 127, 123, 139, 131, 127, 124, 139, 131, 127, 122, 137, 129, 127, 123, 139, 130, 127, 138, 147, 138, 127, 164, 164, 155, 127, 167, 167, 163, 127, 163, 158, 160, 127, 161, 159, 159, 127, 159, 167, 171, 127, 161, 172, 177, 127, 166, 173, 179, 127, 170, 172, 175, 127, 168, 168, 168, 127, 152, 148, 146, 127, 134, 124, 118, 127, 130, 116, 107, 127, 130, 115, 105, 127, 135, 119, 110, 127, 137, 120, 114, 127, 142, 126, 121, 127, 156, 143, 138, 127, 159, 146, 145, 127, 148, 134, 134, 127, 145, 130, 133, 127, 153, 139, 140, 127, 129, 118, 119, 127, 126, 115, 115, 127, 126, 111, 110, 127, 115, 96, 91, 127, 113, 93, 80, 127, 125, 104, 84, 127, 155, 138, 116, 127, 166, 158, 136, 127, 177, 175, 154, 127, 177, 177, 157, 127, 179, 177, 159, 127, 181, 177, 159, 127, 181, 177, 157, 127, 174, 172, 153, 127, 170, 171, 154, 127, 166, 169, 153, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 253, 127, 241, 241, 242, 127, 199, 201, 203, 127, 159, 163, 164, 127, 164, 170, 170, 127, 173, 175, 175, 127, 128, 130, 129, 127, 83, 84, 83, 127, 63, 63, 63, 127, 37, 35, 37, 127, 29, 29, 29, 127, 33, 33, 33, 127, 31, 31, 31, 127, 26, 26, 26, 127, 17, 17, 17, 127, 15, 15, 15, 127, 5, 5, 5, 127, 7, 7, 7, 127, 16, 16, 16, 127, 23, 23, 23, 127, 24, 24, 24, 127, 33, 33, 33, 127, 39, 39, 39, 127, 39, 39, 39, 127, 43, 43, 43, 127, 31, 31, 31, 127, 27, 27, 27, 127, 26, 26, 26, 127, 24, 24, 24, 127, 43, 43, 43, 127, 53, 53, 53, 127, 31, 31, 31, 127, 28, 28, 28, 127, 25, 25, 25, 127, 26, 26, 26, 127, 53, 53, 53, 127, 29, 29, 29, 127, 8, 8, 8, 127, 9, 9, 9, 127, 10, 10, 10, 127, 13, 13, 13, 127, 37, 37, 37, 127, 47, 47, 43, 127, 51, 49, 47, 127, 49, 49, 47, 127, 45, 43, 41, 127, 53, 53, 51, 127, 55, 55, 53, 127, 65, 65, 65, 127, 66, 65, 65, 127, 63, 61, 61, 127, 88, 88, 88, 127, 102, 103, 102, 127, 88, 90, 87, 127, 64, 64, 61, 127, 86, 82, 81, 127, 95, 87, 88, 127, 83, 73, 75, 127, 96, 83, 84, 127, 101, 89, 88, 127, 103, 91, 88, 127, 101, 92, 86, 127, 109, 102, 94, 127, 135, 130, 120, 127, 175, 173, 163, 127, 217, 219, 215, 127, 240, 245, 248, 127, 238, 244, 246, 127, 237, 242, 240, 127, 246, 247, 247, 127, 249, 250, 250, 127, 247, 249, 252, 127, 247, 250, 252, 127, 241, 245, 249, 127, 229, 238, 245, 127, 223, 234, 243, 127, 219, 231, 241, 127, 213, 227, 239, 127, 205, 221, 234, 127, 201, 217, 231, 127, 193, 211, 226, 127, 187, 205, 219, 127, 181, 199, 215, 127, 175, 195, 209, 127, 169, 187, 203, 127, 163, 181, 195, 127, 155, 172, 187, 127, 148, 168, 179, 127, 134, 156, 162, 127, 124, 148, 146, 127, 135, 161, 149, 127, 151, 175, 156, 127, 161, 179, 159, 127, 160, 170, 148, 127, 165, 169, 145, 127, 171, 175, 147, 127, 143, 152, 127, 127, 136, 143, 133, 127, 141, 145, 142, 127, 158, 157, 151, 127, 173, 167, 156, 127, 172, 164, 158, 127, 170, 161, 157, 127, 161, 149, 140, 127, 161, 148, 140, 127, 151, 137, 128, 127, 133, 118, 109, 127, 114, 100, 90, 127, 111, 97, 86, 127, 114, 99, 89, 127, 114, 99, 92, 127, 130, 115, 111, 127, 144, 129, 123, 127, 133, 118, 114, 127, 135, 120, 117, 127, 136, 120, 120, 127, 131, 116, 116, 127, 130, 117, 117, 127, 129, 118, 118, 127, 116, 105, 106, 127, 117, 102, 101, 127, 109, 95, 87, 127, 104, 86, 73, 127, 119, 95, 75, 127, 148, 129, 100, 127, 164, 149, 118, 127, 175, 164, 141, 127, 185, 177, 162, 127, 183, 179, 159, 127, 179, 177, 156, 127, 175, 173, 153, 127, 172, 172, 152, 127, 166, 167, 149, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 252, 252, 252, 127, 251, 251, 252, 127, 249, 250, 250, 127, 230, 231, 232, 127, 159, 163, 164, 127, 74, 79, 79, 127, 82, 86, 85, 127, 102, 105, 104, 127, 64, 66, 65, 127, 43, 45, 45, 127, 35, 35, 35, 127, 20, 20, 20, 127, 28, 28, 28, 127, 30, 30, 30, 127, 33, 33, 33, 127, 31, 31, 31, 127, 23, 23, 23, 127, 10, 10, 10, 127, 10, 10, 10, 127, 14, 14, 14, 127, 23, 23, 23, 127, 33, 33, 33, 127, 33, 33, 33, 127, 29, 29, 29, 127, 33, 33, 33, 127, 45, 45, 45, 127, 31, 31, 31, 127, 33, 33, 33, 127, 41, 41, 41, 127, 49, 49, 49, 127, 47, 47, 47, 127, 39, 39, 39, 127, 33, 33, 33, 127, 30, 30, 30, 127, 31, 31, 31, 127, 16, 16, 16, 127, 19, 19, 19, 127, 14, 14, 14, 127, 12, 12, 12, 127, 7, 7, 7, 127, 18, 18, 17, 127, 49, 49, 49, 127, 71, 71, 70, 127, 74, 73, 71, 127, 64, 63, 61, 127, 70, 69, 67, 127, 49, 47, 45, 127, 35, 33, 31, 127, 33, 31, 30, 127, 41, 41, 41, 127, 43, 43, 43, 127, 43, 43, 43, 127, 55, 55, 57, 127, 68, 68, 68, 127, 107, 108, 110, 127, 99, 100, 102, 127, 76, 76, 79, 127, 94, 91, 94, 127, 97, 93, 96, 127, 80, 74, 77, 127, 79, 72, 75, 127, 103, 95, 96, 127, 100, 90, 91, 127, 102, 91, 91, 127, 115, 105, 101, 127, 144, 137, 129, 127, 191, 187, 185, 127, 229, 232, 234, 127, 235, 243, 245, 127, 235, 244, 242, 127, 245, 248, 249, 127, 249, 250, 252, 127, 245, 249, 252, 127, 239, 246, 252, 127, 231, 238, 246, 127, 223, 234, 242, 127, 217, 230, 240, 127, 211, 225, 236, 127, 205, 221, 234, 127, 199, 217, 231, 127, 193, 211, 225, 127, 185, 203, 219, 127, 181, 199, 213, 127, 175, 193, 209, 127, 170, 189, 203, 127, 163, 183, 197, 127, 158, 175, 191, 127, 148, 166, 181, 127, 136, 157, 166, 127, 140, 160, 163, 127, 179, 195, 191, 127, 213, 223, 221, 127, 221, 230, 231, 127, 225, 231, 229, 127, 221, 226, 219, 127, 211, 213, 201, 127, 168, 177, 159, 127, 135, 155, 134, 127, 133, 143, 128, 127, 137, 143, 124, 127, 146, 149, 125, 127, 158, 150, 132, 127, 162, 139, 125, 127, 167, 144, 130, 127, 157, 139, 123, 127, 147, 128, 114, 127, 126, 109, 96, 127, 103, 87, 76, 127, 91, 76, 67, 127, 85, 70, 61, 127, 88, 73, 63, 127, 89, 74, 66, 127, 111, 96, 92, 127, 113, 99, 92, 127, 121, 108, 102, 127, 118, 104, 101, 127, 115, 101, 100, 127, 131, 116, 116, 127, 127, 111, 111, 127, 111, 97, 97, 127, 124, 113, 115, 127, 116, 105, 108, 127, 99, 90, 90, 127, 94, 80, 79, 127, 100, 75, 72, 127, 111, 86, 68, 127, 156, 132, 103, 127, 177, 157, 130, 127, 174, 159, 137, 127, 177, 170, 147, 127, 177, 174, 151, 127, 177, 175, 154, 127, 174, 172, 151, 127, 168, 166, 143, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 251, 251, 251, 127, 247, 248, 249, 127, 223, 226, 227, 127, 139, 145, 144, 127, 51, 55, 55, 127, 37, 39, 39, 127, 39, 41, 39, 127, 31, 31, 31, 127, 31, 31, 31, 127, 23, 23, 23, 127, 23, 23, 23, 127, 26, 26, 26, 127, 27, 27, 27, 127, 30, 30, 30, 127, 29, 29, 29, 127, 15, 15, 15, 127, 15, 15, 15, 127, 25, 25, 25, 127, 35, 35, 35, 127, 26, 26, 26, 127, 16, 16, 16, 127, 14, 14, 14, 127, 28, 28, 28, 127, 43, 43, 43, 127, 47, 47, 47, 127, 39, 39, 39, 127, 47, 47, 47, 127, 47, 47, 47, 127, 51, 51, 51, 127, 51, 51, 51, 127, 35, 35, 35, 127, 29, 29, 29, 127, 39, 39, 39, 127, 23, 23, 23, 127, 13, 13, 13, 127, 7, 7, 7, 127, 11, 11, 11, 127, 19, 19, 19, 127, 51, 51, 51, 127, 45, 45, 45, 127, 55, 55, 55, 127, 75, 74, 72, 127, 97, 96, 94, 127, 97, 96, 94, 127, 55, 53, 51, 127, 33, 33, 31, 127, 51, 49, 49, 127, 65, 65, 65, 127, 51, 51, 51, 127, 29, 29, 29, 127, 51, 51, 51, 127, 49, 49, 49, 127, 77, 78, 80, 127, 103, 102, 107, 127, 100, 100, 103, 127, 76, 76, 79, 127, 90, 89, 93, 127, 97, 95, 101, 127, 77, 75, 81, 127, 70, 65, 70, 127, 107, 100, 104, 127, 120, 111, 114, 127, 103, 94, 93, 127, 111, 103, 99, 127, 134, 129, 126, 127, 197, 195, 195, 127, 230, 234, 235, 127, 235, 243, 242, 127, 243, 246, 248, 127, 245, 249, 252, 127, 238, 244, 249, 127, 229, 239, 248, 127, 221, 233, 244, 127, 217, 229, 240, 127, 211, 225, 236, 127, 205, 219, 232, 127, 199, 217, 229, 127, 191, 211, 224, 127, 187, 205, 221, 127, 181, 201, 217, 127, 175, 193, 209, 127, 171, 191, 205, 127, 164, 183, 197, 127, 157, 175, 191, 127, 151, 169, 185, 127, 139, 159, 169, 127, 138, 158, 161, 127, 183, 197, 197, 127, 223, 232, 229, 127, 235, 239, 237, 127, 238, 239, 238, 127, 236, 239, 237, 127, 235, 240, 237, 127, 230, 236, 232, 127, 217, 225, 223, 127, 197, 205, 203, 127, 181, 185, 181, 127, 164, 170, 149, 127, 152, 153, 125, 127, 157, 140, 120, 127, 169, 143, 128, 127, 170, 147, 132, 127, 164, 144, 128, 127, 148, 130, 117, 127, 128, 110, 98, 127, 106, 90, 81, 127, 93, 78, 70, 127, 77, 63, 53, 127, 63, 49, 37, 127, 80, 65, 57, 127, 85, 71, 66, 127, 97, 88, 78, 127, 98, 88, 80, 127, 83, 71, 65, 127, 91, 78, 75, 127, 106, 95, 92, 127, 116, 101, 101, 127, 133, 119, 119, 127, 126, 114, 118, 127, 117, 105, 110, 127, 121, 111, 113, 127, 118, 106, 107, 127, 112, 95, 94, 127, 105, 85, 77, 127, 115, 91, 78, 127, 157, 138, 121, 127, 175, 158, 134, 127, 175, 159, 126, 127, 175, 163, 133, 127, 177, 167, 142, 127, 177, 169, 146, 127, 177, 167, 142, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 251, 127, 251, 251, 251, 127, 245, 246, 246, 127, 231, 235, 235, 127, 199, 205, 203, 127, 95, 101, 99, 127, 30, 33, 31, 127, 26, 27, 26, 127, 23, 23, 23, 127, 21, 21, 21, 127, 22, 22, 22, 127, 21, 21, 21, 127, 17, 17, 17, 127, 15, 15, 15, 127, 24, 24, 24, 127, 31, 31, 31, 127, 18, 18, 18, 127, 16, 16, 16, 127, 26, 26, 26, 127, 23, 23, 23, 127, 17, 17, 17, 127, 28, 28, 28, 127, 33, 33, 33, 127, 35, 35, 35, 127, 35, 35, 35, 127, 41, 41, 41, 127, 39, 39, 39, 127, 45, 45, 45, 127, 45, 45, 45, 127, 41, 41, 41, 127, 45, 45, 45, 127, 39, 39, 39, 127, 31, 31, 31, 127, 31, 31, 31, 127, 39, 39, 39, 127, 43, 43, 43, 127, 26, 26, 26, 127, 11, 11, 11, 127, 31, 31, 31, 127, 45, 45, 45, 127, 35, 35, 35, 127, 41, 41, 41, 127, 53, 53, 51, 127, 82, 81, 79, 127, 49, 47, 45, 127, 30, 29, 27, 127, 26, 25, 23, 127, 59, 59, 57, 127, 74, 74, 74, 127, 81, 81, 81, 127, 49, 49, 49, 127, 43, 45, 45, 127, 39, 39, 39, 127, 39, 37, 39, 127, 72, 70, 73, 127, 99, 99, 101, 127, 101, 101, 103, 127, 77, 77, 80, 127, 79, 78, 83, 127, 99, 98, 104, 127, 64, 61, 68, 127, 74, 72, 76, 127, 107, 103, 105, 127, 105, 100, 103, 127, 94, 88, 91, 127, 97, 91, 92, 127, 129, 125, 122, 127, 177, 175, 172, 127, 223, 226, 223, 127, 241, 244, 244, 127, 238, 243, 246, 127, 227, 236, 243, 127, 221, 234, 244, 127, 215, 230, 243, 127, 209, 225, 238, 127, 203, 219, 232, 127, 197, 213, 227, 127, 191, 209, 223, 127, 185, 205, 219, 127, 179, 199, 215, 127, 177, 195, 209, 127, 170, 189, 203, 127, 163, 183, 197, 127, 158, 175, 191, 127, 150, 169, 183, 127, 137, 162, 171, 127, 134, 157, 161, 127, 177, 191, 193, 127, 221, 229, 228, 127, 239, 241, 242, 127, 240, 243, 244, 127, 236, 242, 241, 127, 237, 242, 243, 127, 241, 244, 247, 127, 236, 239, 244, 127, 226, 231, 234, 127, 225, 227, 225, 127, 215, 215, 207, 127, 191, 183, 169, 127, 174, 155, 135, 127, 175, 152, 137, 127, 177, 157, 139, 127, 172, 151, 138, 127, 164, 143, 131, 127, 151, 133, 119, 127, 136, 119, 107, 127, 119, 102, 93, 127, 97, 83, 73, 127, 92, 78, 68, 127, 73, 59, 49, 127, 76, 61, 53, 127, 69, 55, 49, 127, 70, 61, 51, 127, 72, 64, 53, 127, 67, 57, 49, 127, 77, 66, 59, 127, 106, 96, 91, 127, 124, 110, 108, 127, 125, 109, 110, 127, 130, 115, 118, 127, 131, 117, 121, 127, 135, 122, 122, 127, 132, 120, 117, 127, 130, 116, 112, 127, 134, 117, 112, 127, 132, 114, 106, 127, 138, 116, 101, 127, 165, 138, 115, 127, 175, 150, 119, 127, 185, 163, 132, 127, 187, 167, 139, 127, 187, 165, 135, 127, 199, 170, 134, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 251, 251, 251, 127, 249, 250, 250, 127, 245, 245, 245, 127, 233, 234, 234, 127, 213, 217, 217, 127, 173, 177, 177, 127, 89, 93, 92, 127, 31, 33, 33, 127, 15, 15, 15, 127, 16, 16, 16, 127, 17, 17, 17, 127, 15, 15, 15, 127, 17, 17, 17, 127, 12, 12, 12, 127, 12, 12, 12, 127, 18, 18, 18, 127, 19, 19, 19, 127, 14, 14, 14, 127, 23, 23, 23, 127, 29, 29, 29, 127, 33, 33, 33, 127, 31, 31, 31, 127, 27, 27, 27, 127, 24, 24, 24, 127, 26, 26, 26, 127, 31, 31, 31, 127, 37, 37, 37, 127, 45, 45, 45, 127, 41, 41, 41, 127, 31, 31, 31, 127, 37, 37, 37, 127, 35, 35, 35, 127, 39, 39, 39, 127, 41, 41, 41, 127, 29, 29, 29, 127, 35, 35, 37, 127, 53, 53, 55, 127, 35, 35, 35, 127, 11, 11, 11, 127, 18, 18, 18, 127, 19, 19, 19, 127, 16, 16, 16, 127, 21, 21, 21, 127, 31, 31, 30, 127, 27, 26, 24, 127, 26, 25, 24, 127, 31, 31, 31, 127, 29, 28, 27, 127, 47, 47, 47, 127, 65, 65, 65, 127, 63, 63, 63, 127, 91, 91, 91, 127, 55, 55, 55, 127, 45, 45, 45, 127, 33, 33, 33, 127, 27, 26, 27, 127, 51, 51, 51, 127, 105, 104, 106, 127, 95, 94, 97, 127, 63, 61, 67, 127, 81, 81, 85, 127, 69, 69, 73, 127, 45, 45, 49, 127, 71, 70, 73, 127, 105, 103, 106, 127, 113, 111, 115, 127, 106, 102, 105, 127, 107, 103, 103, 127, 126, 125, 122, 127, 166, 168, 164, 127, 211, 217, 217, 127, 223, 230, 235, 127, 221, 231, 242, 127, 215, 229, 242, 127, 207, 224, 238, 127, 201, 219, 233, 127, 195, 213, 228, 127, 189, 207, 223, 127, 185, 203, 219, 127, 179, 197, 215, 127, 174, 193, 209, 127, 173, 189, 201, 127, 165, 183, 197, 127, 157, 175, 191, 127, 149, 170, 185, 127, 139, 161, 174, 127, 132, 156, 159, 127, 170, 187, 189, 127, 219, 227, 228, 127, 238, 240, 241, 127, 243, 243, 246, 127, 239, 241, 243, 127, 237, 241, 241, 127, 240, 245, 246, 127, 240, 245, 245, 127, 231, 238, 237, 127, 223, 229, 228, 127, 205, 207, 197, 127, 179, 168, 153, 127, 170, 140, 121, 127, 175, 143, 122, 127, 170, 148, 138, 127, 162, 141, 126, 127, 165, 142, 124, 127, 165, 143, 127, 127, 162, 141, 127, 127, 151, 132, 119, 127, 134, 116, 104, 127, 114, 97, 86, 127, 91, 76, 64, 127, 72, 57, 45, 127, 67, 53, 43, 127, 61, 47, 39, 127, 53, 41, 35, 127, 66, 55, 49, 127, 59, 49, 43, 127, 73, 61, 55, 127, 102, 91, 85, 127, 114, 100, 97, 127, 122, 105, 106, 127, 133, 118, 120, 127, 126, 113, 116, 127, 123, 109, 110, 127, 123, 111, 109, 127, 121, 109, 108, 127, 110, 96, 91, 127, 107, 94, 83, 127, 126, 104, 89, 127, 142, 115, 98, 127, 151, 126, 104, 127, 172, 150, 125, 127, 191, 166, 137, 127, 201, 169, 131, 127, 207, 165, 117, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 250, 127, 250, 250, 250, 127, 247, 247, 248, 127, 239, 240, 240, 127, 234, 236, 235, 127, 191, 193, 191, 127, 120, 122, 121, 127, 49, 49, 49, 127, 30, 30, 30, 127, 18, 18, 18, 127, 11, 11, 11, 127, 16, 16, 16, 127, 12, 12, 12, 127, 11, 11, 11, 127, 11, 11, 11, 127, 9, 9, 9, 127, 8, 8, 8, 127, 11, 11, 11, 127, 18, 18, 18, 127, 33, 33, 33, 127, 35, 35, 35, 127, 30, 30, 30, 127, 26, 26, 26, 127, 25, 25, 25, 127, 30, 30, 30, 127, 33, 33, 33, 127, 30, 30, 30, 127, 31, 31, 31, 127, 35, 35, 35, 127, 45, 45, 45, 127, 39, 39, 39, 127, 29, 29, 29, 127, 31, 31, 31, 127, 31, 31, 31, 127, 41, 41, 43, 127, 33, 33, 35, 127, 24, 24, 26, 127, 33, 33, 35, 127, 39, 39, 39, 127, 12, 12, 12, 127, 12, 12, 12, 127, 13, 13, 13, 127, 7, 7, 7, 127, 11, 11, 11, 127, 26, 25, 25, 127, 13, 13, 12, 127, 21, 21, 21, 127, 33, 33, 33, 127, 30, 30, 30, 127, 35, 35, 35, 127, 61, 61, 61, 127, 78, 78, 78, 127, 94, 94, 94, 127, 89, 89, 89, 127, 53, 53, 53, 127, 45, 45, 45, 127, 31, 31, 31, 127, 16, 16, 16, 127, 61, 61, 64, 127, 105, 104, 109, 127, 79, 79, 84, 127, 73, 74, 78, 127, 85, 86, 89, 127, 51, 53, 55, 127, 51, 53, 55, 127, 67, 67, 69, 127, 106, 105, 108, 127, 111, 110, 112, 127, 107, 106, 109, 127, 103, 101, 104, 127, 131, 130, 133, 127, 175, 181, 185, 127, 199, 211, 219, 127, 205, 221, 234, 127, 201, 219, 233, 127, 199, 217, 231, 127, 193, 211, 226, 127, 187, 207, 223, 127, 183, 199, 217, 127, 181, 195, 213, 127, 175, 195, 211, 127, 172, 191, 205, 127, 170, 185, 197, 127, 159, 177, 191, 127, 149, 170, 187, 127, 138, 163, 177, 127, 132, 155, 165, 127, 162, 179, 179, 127, 217, 229, 227, 127, 232, 238, 238, 127, 240, 241, 243, 127, 238, 239, 241, 127, 239, 242, 242, 127, 239, 242, 242, 127, 236, 239, 241, 127, 232, 232, 236, 127, 227, 228, 225, 127, 207, 203, 191, 127, 173, 157, 135, 127, 156, 131, 112, 127, 163, 138, 122, 127, 167, 142, 125, 127, 170, 149, 129, 127, 167, 141, 119, 127, 154, 127, 109, 127, 142, 116, 101, 127, 132, 107, 95, 127, 117, 94, 83, 127, 108, 87, 78, 127, 104, 86, 75, 127, 92, 74, 59, 127, 101, 82, 69, 127, 93, 73, 61, 127, 71, 51, 41, 127, 72, 55, 51, 127, 70, 55, 51, 127, 57, 43, 37, 127, 72, 59, 55, 127, 83, 74, 67, 127, 96, 83, 80, 127, 114, 102, 101, 127, 97, 86, 86, 127, 97, 87, 89, 127, 113, 102, 108, 127, 107, 99, 103, 127, 91, 87, 87, 127, 86, 78, 79, 127, 105, 92, 91, 127, 127, 112, 111, 127, 130, 113, 109, 127, 122, 104, 93, 127, 120, 101, 84, 127, 156, 131, 106, 127, 191, 159, 120, 127, 207, 165, 116, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 250, 250, 250, 127, 244, 244, 244, 127, 240, 240, 240, 127, 235, 235, 235, 127, 229, 229, 229, 127, 209, 211, 209, 127, 187, 189, 189, 127, 171, 173, 172, 127, 148, 149, 149, 127, 86, 88, 87, 127, 47, 47, 47, 127, 26, 26, 26, 127, 25, 25, 25, 127, 18, 18, 18, 127, 12, 12, 12, 127, 14, 14, 14, 127, 8, 8, 8, 127, 6, 6, 6, 127, 6, 6, 6, 127, 4, 4, 4, 127, 9, 9, 9, 127, 10, 10, 10, 127, 9, 9, 9, 127, 4, 4, 4, 127, 5, 5, 5, 127, 8, 8, 8, 127, 14, 14, 14, 127, 25, 25, 25, 127, 33, 33, 33, 127, 37, 37, 37, 127, 41, 41, 41, 127, 37, 37, 37, 127, 39, 39, 39, 127, 41, 41, 41, 127, 39, 39, 39, 127, 35, 35, 35, 127, 31, 31, 31, 127, 35, 35, 35, 127, 43, 43, 45, 127, 35, 35, 37, 127, 30, 30, 31, 127, 31, 31, 33, 127, 13, 13, 13, 127, 7, 7, 7, 127, 8, 8, 8, 127, 18, 18, 18, 127, 9, 9, 9, 127, 31, 31, 31, 127, 22, 22, 22, 127, 18, 18, 18, 127, 25, 25, 25, 127, 25, 25, 25, 127, 22, 22, 22, 127, 27, 27, 27, 127, 57, 57, 57, 127, 78, 78, 78, 127, 106, 106, 106, 127, 92, 92, 92, 127, 65, 65, 65, 127, 53, 53, 53, 127, 43, 43, 45, 127, 30, 30, 33, 127, 89, 88, 93, 127, 95, 95, 99, 127, 55, 55, 59, 127, 88, 89, 93, 127, 82, 83, 85, 127, 61, 64, 66, 127, 65, 65, 67, 127, 80, 79, 81, 127, 105, 104, 107, 127, 101, 100, 103, 127, 99, 98, 100, 127, 97, 95, 98, 127, 122, 117, 122, 127, 166, 169, 175, 127, 187, 199, 209, 127, 185, 203, 215, 127, 185, 203, 217, 127, 179, 197, 215, 127, 177, 195, 215, 127, 177, 191, 213, 127, 175, 193, 209, 127, 172, 191, 207, 127, 165, 183, 199, 127, 159, 175, 191, 127, 149, 168, 183, 127, 141, 163, 175, 127, 132, 154, 164, 127, 157, 177, 181, 127, 211, 225, 226, 127, 236, 245, 244, 127, 237, 240, 241, 127, 238, 238, 240, 127, 236, 239, 240, 127, 239, 243, 246, 127, 234, 241, 241, 127, 232, 239, 238, 127, 236, 236, 239, 127, 215, 207, 201, 127, 166, 149, 130, 127, 151, 122, 98, 127, 157, 128, 105, 127, 152, 125, 103, 127, 145, 117, 98, 127, 143, 115, 95, 127, 131, 103, 87, 127, 130, 103, 89, 127, 114, 88, 75, 127, 111, 85, 74, 127, 113, 90, 81, 127, 104, 85, 74, 127, 117, 101, 87, 127, 95, 77, 64, 127, 119, 95, 85, 127, 134, 105, 96, 127, 120, 88, 80, 127, 113, 89, 78, 127, 83, 61, 51, 127, 69, 51, 43, 127, 67, 53, 47, 127, 95, 84, 79, 127, 99, 89, 87, 127, 91, 79, 78, 127, 98, 86, 86, 127, 91, 82, 83, 127, 104, 93, 98, 127, 93, 86, 88, 127, 75, 70, 69, 127, 103, 93, 94, 127, 111, 99, 99, 127, 100, 86, 86, 127, 92, 76, 76, 127, 90, 76, 71, 127, 90, 75, 66, 127, 91, 70, 53, 127, 141, 110, 79, 127, 197, 156, 116, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 252, 253, 253, 127, 249, 250, 250, 127, 229, 230, 229, 127, 201, 201, 201, 127, 165, 166, 166, 127, 129, 130, 129, 127, 99, 99, 99, 127, 65, 65, 65, 127, 43, 43, 43, 127, 39, 39, 39, 127, 39, 39, 39, 127, 31, 31, 31, 127, 27, 27, 27, 127, 22, 22, 22, 127, 19, 19, 19, 127, 13, 13, 13, 127, 11, 11, 11, 127, 7, 7, 7, 127, 4, 4, 4, 127, 3, 3, 3, 127, 5, 5, 5, 127, 5, 5, 5, 127, 3, 3, 3, 127, 4, 4, 4, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 8, 8, 8, 127, 11, 11, 11, 127, 12, 12, 12, 127, 17, 17, 17, 127, 15, 15, 15, 127, 15, 15, 15, 127, 23, 23, 23, 127, 31, 31, 31, 127, 37, 37, 37, 127, 39, 39, 39, 127, 35, 35, 35, 127, 31, 31, 33, 127, 35, 35, 37, 127, 35, 35, 37, 127, 39, 39, 41, 127, 35, 35, 37, 127, 19, 19, 19, 127, 10, 10, 10, 127, 9, 9, 9, 127, 13, 13, 13, 127, 15, 15, 15, 127, 17, 17, 17, 127, 28, 28, 28, 127, 14, 14, 14, 127, 19, 19, 19, 127, 17, 17, 17, 127, 13, 13, 13, 127, 16, 16, 16, 127, 22, 22, 22, 127, 33, 33, 33, 127, 65, 65, 65, 127, 101, 101, 101, 127, 85, 85, 85, 127, 67, 67, 67, 127, 53, 53, 55, 127, 49, 47, 51, 127, 51, 51, 55, 127, 108, 108, 113, 127, 82, 83, 87, 127, 69, 70, 75, 127, 99, 100, 104, 127, 100, 101, 106, 127, 87, 87, 91, 127, 78, 78, 80, 127, 83, 83, 85, 127, 105, 105, 107, 127, 102, 103, 105, 127, 102, 102, 104, 127, 102, 98, 100, 127, 116, 111, 115, 127, 154, 154, 160, 127, 173, 181, 191, 127, 169, 185, 195, 127, 163, 185, 195, 127, 159, 183, 195, 127, 162, 183, 199, 127, 166, 187, 203, 127, 168, 187, 201, 127, 162, 179, 195, 127, 153, 171, 185, 127, 143, 165, 177, 127, 133, 154, 162, 127, 155, 173, 177, 127, 207, 221, 223, 127, 235, 245, 245, 127, 240, 245, 246, 127, 237, 238, 240, 127, 234, 234, 236, 127, 242, 245, 246, 127, 239, 244, 244, 127, 234, 240, 243, 127, 231, 234, 236, 127, 213, 207, 197, 127, 154, 136, 116, 127, 138, 110, 89, 127, 135, 103, 83, 127, 135, 104, 79, 127, 122, 93, 65, 127, 128, 99, 79, 127, 117, 90, 81, 127, 84, 63, 53, 127, 75, 57, 45, 127, 97, 77, 67, 127, 111, 92, 82, 127, 108, 89, 80, 127, 125, 105, 95, 127, 143, 122, 108, 127, 114, 89, 77, 127, 144, 116, 105, 127, 166, 137, 126, 127, 174, 144, 133, 127, 149, 121, 105, 127, 116, 92, 78, 127, 107, 87, 77, 127, 90, 74, 68, 127, 93, 81, 78, 127, 87, 77, 76, 127, 96, 85, 85, 127, 88, 78, 78, 127, 87, 79, 78, 127, 78, 71, 73, 127, 77, 71, 73, 127, 89, 82, 81, 127, 87, 78, 79, 127, 76, 66, 67, 127, 73, 61, 64, 127, 75, 63, 67, 127, 81, 70, 72, 127, 80, 68, 66, 127, 87, 71, 63, 127, 99, 74, 53, 127, 135, 101, 72, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 252, 253, 252, 127, 248, 250, 249, 127, 246, 247, 247, 127, 223, 225, 224, 127, 163, 166, 165, 127, 72, 72, 72, 127, 31, 30, 31, 127, 33, 31, 31, 127, 31, 31, 31, 127, 27, 26, 26, 127, 26, 25, 25, 127, 25, 25, 25, 127, 23, 23, 23, 127, 18, 18, 18, 127, 17, 17, 17, 127, 12, 12, 12, 127, 6, 6, 6, 127, 7, 7, 7, 127, 4, 4, 4, 127, 3, 3, 3, 127, 8, 8, 8, 127, 12, 12, 12, 127, 12, 12, 12, 127, 12, 12, 12, 127, 13, 13, 13, 127, 16, 16, 16, 127, 23, 23, 23, 127, 17, 17, 17, 127, 10, 10, 10, 127, 10, 10, 10, 127, 9, 9, 9, 127, 10, 10, 10, 127, 15, 15, 15, 127, 15, 15, 15, 127, 21, 21, 21, 127, 27, 27, 27, 127, 33, 33, 33, 127, 37, 37, 37, 127, 37, 37, 37, 127, 41, 41, 43, 127, 35, 35, 37, 127, 29, 29, 31, 127, 39, 39, 41, 127, 30, 30, 31, 127, 17, 17, 17, 127, 9, 9, 9, 127, 4, 4, 4, 127, 16, 16, 16, 127, 31, 31, 31, 127, 28, 28, 28, 127, 14, 14, 14, 127, 10, 10, 10, 127, 13, 13, 13, 127, 12, 12, 12, 127, 14, 14, 14, 127, 22, 22, 22, 127, 27, 27, 27, 127, 41, 41, 41, 127, 74, 74, 74, 127, 100, 100, 100, 127, 83, 83, 84, 127, 76, 76, 77, 127, 59, 57, 63, 127, 39, 37, 43, 127, 69, 69, 75, 127, 110, 111, 116, 127, 77, 78, 83, 127, 85, 86, 92, 127, 107, 107, 114, 127, 102, 103, 108, 127, 89, 90, 92, 127, 103, 104, 106, 127, 92, 93, 95, 127, 103, 104, 106, 127, 103, 104, 106, 127, 101, 102, 105, 127, 103, 101, 102, 127, 113, 107, 110, 127, 141, 137, 141, 127, 151, 155, 161, 127, 149, 162, 168, 127, 150, 167, 174, 127, 151, 172, 179, 127, 154, 177, 187, 127, 159, 177, 193, 127, 155, 173, 189, 127, 142, 165, 177, 127, 132, 155, 164, 127, 152, 172, 175, 127, 203, 217, 219, 127, 232, 240, 242, 127, 242, 247, 250, 127, 240, 241, 243, 127, 233, 233, 235, 127, 240, 240, 242, 127, 240, 244, 245, 127, 237, 243, 243, 127, 234, 235, 235, 127, 217, 209, 201, 127, 160, 139, 118, 127, 132, 103, 77, 127, 139, 109, 85, 127, 131, 102, 81, 127, 128, 103, 83, 127, 113, 88, 77, 127, 73, 53, 45, 127, 69, 49, 41, 127, 78, 66, 55, 127, 92, 81, 71, 127, 107, 91, 84, 127, 95, 79, 71, 127, 114, 96, 88, 127, 121, 98, 89, 127, 135, 111, 97, 127, 133, 108, 94, 127, 166, 141, 128, 127, 193, 170, 156, 127, 197, 173, 159, 127, 163, 141, 125, 127, 148, 127, 113, 127, 131, 112, 103, 127, 109, 94, 89, 127, 87, 72, 70, 127, 84, 73, 71, 127, 83, 73, 72, 127, 79, 70, 69, 127, 90, 83, 82, 127, 76, 71, 72, 127, 76, 70, 71, 127, 78, 70, 69, 127, 73, 65, 66, 127, 71, 63, 65, 127, 85, 77, 81, 127, 91, 83, 88, 127, 92, 82, 84, 127, 88, 78, 77, 127, 76, 64, 59, 127, 82, 64, 53, 127, 104, 78, 59, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 249, 251, 250, 127, 235, 237, 236, 127, 221, 223, 221, 127, 193, 197, 195, 127, 164, 169, 167, 127, 100, 101, 100, 127, 35, 35, 35, 127, 26, 25, 25, 127, 30, 28, 29, 127, 27, 26, 27, 127, 31, 30, 31, 127, 24, 24, 24, 127, 24, 24, 24, 127, 23, 23, 23, 127, 18, 18, 18, 127, 18, 18, 18, 127, 10, 10, 10, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 13, 13, 13, 127, 16, 16, 16, 127, 16, 16, 16, 127, 19, 19, 19, 127, 21, 21, 21, 127, 15, 15, 15, 127, 16, 16, 16, 127, 20, 20, 20, 127, 19, 19, 19, 127, 16, 16, 16, 127, 11, 11, 12, 127, 12, 12, 12, 127, 10, 10, 11, 127, 10, 10, 11, 127, 14, 14, 14, 127, 20, 20, 20, 127, 25, 25, 25, 127, 26, 26, 27, 127, 22, 22, 24, 127, 30, 30, 31, 127, 41, 41, 43, 127, 20, 20, 22, 127, 33, 33, 35, 127, 35, 35, 35, 127, 21, 21, 21, 127, 9, 9, 9, 127, 3, 3, 3, 127, 16, 16, 16, 127, 37, 37, 37, 127, 33, 33, 33, 127, 25, 25, 25, 127, 14, 14, 14, 127, 17, 17, 16, 127, 21, 21, 21, 127, 19, 19, 19, 127, 22, 22, 22, 127, 24, 24, 24, 127, 28, 28, 28, 127, 47, 47, 47, 127, 78, 78, 78, 127, 90, 90, 90, 127, 90, 90, 92, 127, 72, 71, 76, 127, 47, 47, 51, 127, 41, 41, 47, 127, 97, 98, 103, 127, 107, 108, 113, 127, 91, 91, 98, 127, 103, 104, 110, 127, 109, 110, 115, 127, 66, 68, 70, 127, 65, 66, 68, 127, 103, 104, 106, 127, 98, 99, 101, 127, 101, 102, 105, 127, 105, 106, 111, 127, 101, 101, 102, 127, 103, 98, 97, 127, 112, 105, 105, 127, 122, 114, 119, 127, 119, 114, 119, 127, 129, 131, 135, 127, 142, 152, 157, 127, 149, 165, 172, 127, 152, 169, 181, 127, 147, 167, 181, 127, 132, 157, 167, 127, 146, 169, 174, 127, 195, 213, 215, 127, 231, 242, 243, 127, 241, 245, 249, 127, 242, 245, 249, 127, 235, 235, 237, 127, 234, 234, 236, 127, 241, 241, 244, 127, 240, 243, 245, 127, 236, 239, 240, 127, 217, 211, 203, 127, 171, 151, 126, 127, 138, 107, 76, 127, 144, 110, 82, 127, 124, 92, 67, 127, 119, 93, 73, 127, 110, 91, 80, 127, 81, 67, 66, 127, 49, 37, 37, 127, 87, 71, 65, 127, 103, 89, 81, 127, 110, 97, 89, 127, 96, 79, 72, 127, 111, 92, 86, 127, 111, 91, 85, 127, 97, 76, 68, 127, 117, 96, 83, 127, 148, 127, 113, 127, 159, 137, 124, 127, 164, 140, 127, 127, 167, 143, 130, 127, 151, 132, 118, 127, 145, 127, 115, 127, 150, 131, 122, 127, 141, 124, 118, 127, 113, 95, 92, 127, 86, 75, 72, 127, 91, 82, 80, 127, 65, 57, 55, 127, 75, 69, 69, 127, 80, 76, 77, 127, 75, 70, 69, 127, 59, 51, 49, 127, 57, 51, 51, 127, 75, 68, 72, 127, 70, 64, 69, 127, 76, 68, 72, 127, 85, 76, 74, 127, 81, 72, 69, 127, 59, 49, 47, 127, 66, 51, 43, 127, 80, 61, 49, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 249, 250, 250, 127, 242, 244, 243, 127, 227, 231, 230, 127, 193, 199, 197, 127, 118, 120, 119, 127, 66, 66, 66, 127, 43, 43, 43, 127, 39, 39, 39, 127, 37, 37, 37, 127, 33, 33, 33, 127, 33, 33, 33, 127, 27, 27, 27, 127, 21, 21, 21, 127, 19, 19, 19, 127, 16, 16, 16, 127, 13, 13, 13, 127, 8, 8, 8, 127, 9, 9, 9, 127, 13, 13, 13, 127, 12, 12, 12, 127, 11, 11, 11, 127, 12, 12, 12, 127, 18, 18, 18, 127, 22, 22, 22, 127, 25, 25, 25, 127, 28, 28, 28, 127, 24, 24, 24, 127, 27, 27, 28, 127, 23, 23, 25, 127, 24, 24, 26, 127, 23, 23, 24, 127, 18, 18, 20, 127, 17, 17, 19, 127, 18, 18, 20, 127, 11, 11, 13, 127, 15, 15, 16, 127, 20, 20, 22, 127, 24, 24, 25, 127, 21, 21, 23, 127, 21, 21, 23, 127, 33, 33, 35, 127, 28, 28, 30, 127, 21, 21, 23, 127, 33, 33, 35, 127, 33, 33, 33, 127, 12, 12, 12, 127, 3, 3, 3, 127, 12, 12, 12, 127, 37, 37, 39, 127, 26, 26, 28, 127, 39, 39, 39, 127, 28, 28, 26, 127, 31, 31, 31, 127, 39, 39, 37, 127, 35, 35, 35, 127, 30, 30, 30, 127, 31, 31, 31, 127, 29, 29, 29, 127, 31, 31, 31, 127, 51, 51, 51, 127, 79, 79, 81, 127, 81, 81, 83, 127, 88, 88, 91, 127, 63, 63, 64, 127, 41, 41, 45, 127, 71, 72, 76, 127, 95, 95, 100, 127, 102, 103, 107, 127, 93, 94, 98, 127, 93, 94, 99, 127, 104, 108, 112, 127, 45, 47, 51, 127, 49, 51, 53, 127, 93, 93, 95, 127, 98, 98, 100, 127, 96, 95, 98, 127, 109, 107, 110, 127, 93, 91, 94, 127, 99, 96, 98, 127, 109, 105, 109, 127, 103, 97, 100, 127, 104, 104, 108, 127, 118, 127, 130, 127, 135, 145, 146, 127, 148, 159, 168, 127, 142, 160, 173, 127, 146, 165, 166, 127, 193, 209, 209, 127, 228, 239, 240, 127, 240, 247, 250, 127, 240, 247, 250, 127, 241, 246, 250, 127, 230, 232, 232, 127, 238, 241, 241, 127, 237, 242, 245, 127, 239, 241, 242, 127, 229, 223, 215, 127, 171, 155, 131, 127, 126, 101, 61, 127, 123, 92, 53, 127, 100, 68, 45, 127, 95, 68, 51, 127, 99, 79, 65, 127, 86, 72, 65, 127, 87, 79, 76, 127, 67, 57, 53, 127, 113, 97, 88, 127, 122, 105, 96, 127, 99, 84, 76, 127, 101, 84, 77, 127, 117, 100, 94, 127, 88, 69, 67, 127, 91, 73, 69, 127, 96, 78, 71, 127, 129, 110, 102, 127, 144, 124, 116, 127, 153, 131, 122, 127, 172, 149, 140, 127, 162, 140, 132, 127, 152, 129, 122, 127, 149, 127, 119, 127, 151, 129, 122, 127, 152, 130, 124, 127, 123, 108, 103, 127, 115, 102, 101, 127, 93, 82, 80, 127, 75, 66, 63, 127, 78, 71, 69, 127, 53, 49, 45, 127, 61, 57, 53, 127, 66, 59, 59, 127, 75, 65, 66, 127, 86, 76, 76, 127, 92, 82, 79, 127, 94, 84, 82, 127, 79, 69, 67, 127, 55, 45, 41, 127, 47, 37, 31, 127, 61, 51, 43, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 253, 252, 127, 251, 253, 252, 127, 242, 247, 245, 127, 209, 213, 213, 127, 131, 133, 132, 127, 57, 57, 57, 127, 35, 35, 35, 127, 35, 35, 35, 127, 33, 33, 33, 127, 29, 29, 29, 127, 28, 28, 28, 127, 25, 25, 25, 127, 20, 20, 20, 127, 16, 16, 16, 127, 15, 15, 15, 127, 11, 11, 11, 127, 6, 6, 6, 127, 9, 9, 9, 127, 9, 9, 9, 127, 6, 6, 6, 127, 3, 3, 3, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 16, 16, 16, 127, 22, 22, 23, 127, 29, 29, 31, 127, 29, 29, 31, 127, 27, 27, 29, 127, 24, 24, 26, 127, 23, 23, 25, 127, 22, 22, 24, 127, 21, 21, 23, 127, 18, 18, 20, 127, 14, 14, 16, 127, 13, 13, 15, 127, 19, 19, 21, 127, 22, 22, 24, 127, 17, 17, 19, 127, 27, 27, 29, 127, 30, 30, 31, 127, 19, 19, 21, 127, 30, 30, 30, 127, 33, 33, 33, 127, 15, 15, 15, 127, 3, 3, 3, 127, 9, 9, 9, 127, 31, 31, 33, 127, 23, 23, 25, 127, 37, 37, 37, 127, 29, 29, 27, 127, 45, 45, 43, 127, 47, 47, 45, 127, 43, 43, 43, 127, 39, 39, 39, 127, 41, 41, 41, 127, 35, 35, 35, 127, 31, 31, 31, 127, 37, 37, 39, 127, 64, 64, 66, 127, 79, 79, 81, 127, 80, 80, 82, 127, 86, 86, 87, 127, 51, 51, 55, 127, 63, 64, 69, 127, 72, 72, 76, 127, 94, 94, 99, 127, 92, 93, 97, 127, 92, 93, 98, 127, 90, 94, 100, 127, 102, 104, 109, 127, 37, 39, 43, 127, 47, 47, 49, 127, 79, 79, 81, 127, 79, 77, 80, 127, 74, 72, 75, 127, 100, 98, 101, 127, 85, 84, 87, 127, 98, 97, 99, 127, 118, 118, 123, 127, 141, 147, 159, 127, 145, 159, 172, 127, 138, 154, 162, 127, 136, 152, 162, 127, 143, 161, 170, 127, 189, 205, 203, 127, 228, 238, 239, 127, 241, 246, 249, 127, 245, 247, 251, 127, 241, 245, 248, 127, 241, 246, 250, 127, 233, 237, 236, 127, 228, 233, 231, 127, 229, 234, 228, 127, 231, 229, 217, 127, 185, 172, 144, 127, 136, 108, 72, 127, 123, 82, 49, 127, 112, 76, 49, 127, 84, 57, 41, 127, 85, 63, 57, 127, 83, 70, 61, 127, 78, 67, 59, 127, 99, 85, 78, 127, 116, 98, 89, 127, 138, 116, 105, 127, 114, 93, 84, 127, 99, 79, 73, 127, 126, 107, 101, 127, 89, 74, 68, 127, 74, 61, 57, 127, 96, 80, 76, 127, 109, 92, 86, 127, 114, 97, 90, 127, 126, 108, 101, 127, 127, 107, 99, 127, 158, 137, 128, 127, 163, 142, 133, 127, 145, 125, 116, 127, 132, 111, 103, 127, 145, 125, 116, 127, 157, 136, 129, 127, 150, 131, 123, 127, 139, 119, 112, 127, 128, 111, 106, 127, 99, 85, 80, 127, 71, 61, 57, 127, 61, 53, 49, 127, 81, 76, 71, 127, 70, 61, 61, 127, 86, 76, 76, 127, 93, 82, 81, 127, 96, 85, 82, 127, 93, 83, 81, 127, 82, 72, 70, 127, 59, 51, 47, 127, 45, 35, 31, 127, 45, 35, 29, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 252, 252, 127, 250, 252, 251, 127, 246, 251, 249, 127, 217, 221, 219, 127, 139, 140, 139, 127, 57, 57, 57, 127, 30, 30, 30, 127, 31, 31, 31, 127, 33, 33, 33, 127, 35, 35, 35, 127, 27, 27, 27, 127, 14, 14, 14, 127, 15, 15, 15, 127, 14, 14, 14, 127, 8, 8, 8, 127, 7, 7, 7, 127, 9, 9, 9, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 5, 5, 6, 127, 10, 10, 12, 127, 22, 22, 24, 127, 29, 29, 31, 127, 33, 33, 35, 127, 35, 35, 37, 127, 30, 30, 31, 127, 24, 24, 26, 127, 25, 25, 27, 127, 27, 27, 29, 127, 22, 22, 24, 127, 18, 18, 20, 127, 25, 25, 27, 127, 24, 24, 26, 127, 25, 25, 27, 127, 29, 29, 31, 127, 25, 25, 27, 127, 28, 28, 29, 127, 31, 31, 31, 127, 20, 20, 20, 127, 7, 7, 7, 127, 9, 9, 9, 127, 35, 35, 37, 127, 31, 31, 33, 127, 31, 31, 33, 127, 21, 21, 19, 127, 47, 47, 45, 127, 57, 57, 55, 127, 53, 53, 53, 127, 55, 55, 55, 127, 35, 35, 35, 127, 41, 41, 41, 127, 37, 37, 37, 127, 41, 41, 43, 127, 49, 49, 51, 127, 71, 71, 73, 127, 69, 69, 71, 127, 77, 77, 78, 127, 73, 73, 77, 127, 68, 69, 74, 127, 64, 65, 69, 127, 63, 64, 68, 127, 100, 101, 105, 127, 97, 100, 105, 127, 85, 91, 98, 127, 100, 104, 111, 127, 104, 106, 111, 127, 49, 49, 55, 127, 43, 45, 47, 127, 71, 71, 73, 127, 65, 65, 67, 127, 76, 76, 78, 127, 72, 71, 73, 127, 80, 80, 82, 127, 103, 103, 106, 127, 144, 151, 158, 127, 174, 185, 201, 127, 175, 191, 211, 127, 162, 179, 193, 127, 172, 187, 195, 127, 221, 232, 231, 127, 242, 247, 249, 127, 246, 247, 252, 127, 247, 246, 251, 127, 244, 247, 250, 127, 242, 247, 250, 127, 243, 244, 246, 127, 227, 228, 230, 127, 228, 229, 226, 127, 205, 199, 181, 127, 151, 131, 101, 127, 127, 91, 57, 127, 118, 75, 41, 127, 94, 65, 39, 127, 55, 39, 26, 127, 85, 70, 61, 127, 80, 70, 61, 127, 106, 91, 80, 127, 133, 110, 98, 127, 141, 118, 108, 127, 131, 109, 101, 127, 98, 76, 70, 127, 134, 113, 108, 127, 116, 97, 91, 127, 90, 75, 69, 127, 83, 72, 67, 127, 91, 78, 74, 127, 123, 108, 104, 127, 110, 94, 88, 127, 115, 97, 91, 127, 116, 97, 91, 127, 133, 113, 106, 127, 150, 131, 123, 127, 157, 137, 131, 127, 141, 122, 115, 127, 134, 115, 108, 127, 128, 110, 102, 127, 137, 114, 105, 127, 143, 120, 109, 127, 129, 108, 99, 127, 127, 110, 101, 127, 106, 93, 85, 127, 80, 68, 61, 127, 82, 72, 65, 127, 84, 74, 71, 127, 85, 74, 73, 127, 84, 72, 72, 127, 86, 76, 73, 127, 86, 76, 74, 127, 78, 68, 66, 127, 66, 55, 53, 127, 53, 45, 39, 127, 43, 33, 27, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 252, 251, 127, 245, 247, 246, 127, 209, 213, 211, 127, 139, 143, 142, 127, 120, 121, 121, 127, 69, 69, 69, 127, 30, 30, 30, 127, 22, 22, 22, 127, 26, 26, 26, 127, 25, 25, 25, 127, 25, 25, 25, 127, 19, 19, 19, 127, 16, 16, 16, 127, 13, 13, 13, 127, 10, 10, 10, 127, 7, 7, 7, 127, 6, 6, 6, 127, 8, 8, 8, 127, 5, 5, 5, 127, 5, 5, 5, 127, 7, 7, 7, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 3, 127, 4, 4, 6, 127, 9, 9, 11, 127, 17, 17, 19, 127, 19, 19, 21, 127, 28, 28, 30, 127, 35, 35, 37, 127, 41, 41, 43, 127, 31, 31, 33, 127, 33, 33, 35, 127, 35, 35, 37, 127, 27, 27, 29, 127, 31, 31, 33, 127, 29, 29, 31, 127, 27, 27, 29, 127, 25, 25, 27, 127, 23, 23, 25, 127, 28, 28, 28, 127, 30, 30, 30, 127, 22, 22, 22, 127, 10, 10, 10, 127, 3, 3, 3, 127, 29, 29, 31, 127, 37, 37, 39, 127, 29, 29, 30, 127, 29, 29, 27, 127, 43, 43, 41, 127, 57, 57, 57, 127, 67, 67, 67, 127, 67, 67, 67, 127, 33, 33, 33, 127, 31, 31, 31, 127, 45, 45, 45, 127, 49, 49, 49, 127, 57, 57, 59, 127, 65, 65, 67, 127, 57, 57, 59, 127, 51, 51, 51, 127, 69, 69, 73, 127, 64, 65, 70, 127, 69, 70, 74, 127, 55, 55, 59, 127, 67, 68, 72, 127, 109, 112, 117, 127, 88, 95, 103, 127, 86, 91, 98, 127, 113, 116, 122, 127, 114, 117, 122, 127, 75, 77, 82, 127, 43, 45, 47, 127, 68, 69, 71, 127, 81, 82, 84, 127, 74, 75, 77, 127, 66, 68, 69, 127, 86, 87, 87, 127, 113, 114, 116, 127, 165, 170, 181, 127, 193, 203, 224, 127, 185, 199, 215, 127, 203, 215, 223, 127, 234, 241, 243, 127, 245, 248, 251, 127, 247, 247, 252, 127, 245, 246, 250, 127, 240, 245, 248, 127, 242, 247, 250, 127, 242, 244, 249, 127, 242, 243, 247, 127, 227, 224, 221, 127, 166, 150, 129, 127, 134, 106, 65, 127, 116, 83, 39, 127, 97, 66, 37, 127, 49, 31, 18, 127, 66, 51, 43, 127, 106, 87, 73, 127, 118, 101, 89, 127, 132, 110, 96, 127, 145, 119, 107, 127, 148, 125, 115, 127, 104, 84, 79, 127, 147, 127, 122, 127, 114, 94, 88, 127, 121, 103, 97, 127, 99, 82, 76, 127, 106, 93, 88, 127, 94, 80, 77, 127, 113, 99, 95, 127, 126, 111, 106, 127, 102, 86, 81, 127, 116, 98, 91, 127, 125, 107, 100, 127, 124, 107, 99, 127, 138, 120, 113, 127, 123, 105, 98, 127, 117, 100, 93, 127, 113, 96, 89, 127, 111, 89, 81, 127, 116, 94, 83, 127, 117, 97, 86, 127, 129, 110, 98, 127, 124, 107, 95, 127, 117, 101, 91, 127, 92, 78, 69, 127, 92, 80, 74, 127, 73, 61, 61, 127, 88, 76, 76, 127, 85, 75, 73, 127, 78, 68, 66, 127, 69, 59, 57, 127, 57, 47, 43, 127, 45, 37, 31, 127, 43, 33, 27, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 248, 249, 248, 127, 235, 237, 236, 127, 219, 223, 221, 127, 227, 229, 228, 127, 170, 173, 172, 127, 67, 67, 67, 127, 25, 24, 24, 127, 15, 15, 15, 127, 15, 15, 15, 127, 19, 19, 19, 127, 13, 13, 13, 127, 13, 13, 13, 127, 16, 16, 16, 127, 13, 13, 13, 127, 8, 8, 8, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 5, 5, 5, 127, 7, 7, 7, 127, 8, 8, 8, 127, 6, 6, 6, 127, 5, 5, 5, 127, 4, 4, 4, 127, 8, 8, 8, 127, 7, 7, 7, 127, 4, 4, 4, 127, 6, 6, 8, 127, 9, 9, 11, 127, 9, 9, 11, 127, 9, 9, 11, 127, 9, 9, 11, 127, 14, 14, 16, 127, 22, 22, 24, 127, 33, 33, 35, 127, 37, 37, 39, 127, 37, 37, 39, 127, 35, 35, 37, 127, 33, 33, 35, 127, 39, 39, 41, 127, 31, 31, 33, 127, 35, 35, 37, 127, 28, 28, 30, 127, 28, 28, 29, 127, 27, 27, 27, 127, 29, 29, 29, 127, 14, 14, 14, 127, 5, 5, 5, 127, 28, 28, 30, 127, 37, 37, 39, 127, 35, 35, 35, 127, 29, 29, 28, 127, 37, 37, 35, 127, 67, 67, 65, 127, 76, 76, 75, 127, 80, 80, 80, 127, 49, 49, 49, 127, 29, 29, 28, 127, 41, 43, 43, 127, 43, 43, 45, 127, 64, 64, 66, 127, 64, 64, 66, 127, 74, 74, 76, 127, 37, 37, 39, 127, 59, 59, 64, 127, 63, 64, 68, 127, 74, 75, 79, 127, 68, 69, 73, 127, 49, 51, 55, 127, 80, 83, 90, 127, 99, 107, 116, 127, 73, 80, 88, 127, 103, 108, 116, 127, 98, 102, 108, 127, 112, 115, 120, 127, 102, 103, 106, 127, 53, 55, 57, 127, 73, 74, 76, 127, 86, 87, 89, 127, 66, 69, 70, 127, 82, 83, 89, 127, 109, 108, 117, 127, 134, 137, 148, 127, 179, 193, 209, 127, 177, 191, 207, 127, 207, 217, 225, 127, 238, 243, 245, 127, 243, 247, 249, 127, 246, 247, 251, 127, 242, 247, 250, 127, 238, 247, 249, 127, 241, 246, 249, 127, 243, 244, 247, 127, 231, 233, 234, 127, 183, 181, 169, 127, 144, 124, 88, 127, 131, 95, 41, 127, 105, 68, 31, 127, 65, 41, 31, 127, 53, 39, 27, 127, 106, 81, 63, 127, 132, 99, 86, 127, 117, 92, 83, 127, 125, 101, 91, 127, 151, 128, 117, 127, 124, 101, 90, 127, 152, 127, 117, 127, 130, 113, 103, 127, 134, 118, 110, 127, 119, 100, 94, 127, 121, 103, 98, 127, 115, 96, 94, 127, 113, 97, 96, 127, 101, 88, 86, 127, 118, 104, 101, 127, 121, 105, 101, 127, 110, 94, 89, 127, 114, 97, 91, 127, 116, 99, 94, 127, 128, 111, 104, 127, 111, 94, 87, 127, 93, 76, 69, 127, 101, 83, 79, 127, 98, 81, 74, 127, 93, 75, 68, 127, 100, 82, 72, 127, 118, 97, 85, 127, 127, 106, 92, 127, 118, 98, 83, 127, 119, 103, 91, 127, 105, 91, 85, 127, 87, 74, 72, 127, 76, 66, 65, 127, 88, 77, 76, 127, 83, 73, 72, 127, 71, 61, 59, 127, 65, 55, 51, 127, 47, 39, 33, 127, 45, 37, 30, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 249, 251, 251, 127, 228, 230, 230, 127, 175, 177, 177, 127, 120, 122, 121, 127, 53, 53, 53, 127, 33, 33, 33, 127, 22, 22, 22, 127, 14, 14, 14, 127, 14, 14, 14, 127, 10, 10, 10, 127, 9, 9, 9, 127, 9, 9, 9, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 10, 10, 10, 127, 10, 10, 10, 127, 10, 10, 10, 127, 8, 8, 8, 127, 4, 4, 4, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 9, 9, 9, 127, 16, 16, 18, 127, 21, 21, 23, 127, 26, 26, 28, 127, 26, 26, 28, 127, 22, 22, 24, 127, 17, 17, 19, 127, 14, 14, 16, 127, 24, 25, 27, 127, 39, 39, 41, 127, 41, 41, 43, 127, 41, 41, 43, 127, 39, 41, 43, 127, 43, 43, 45, 127, 39, 41, 43, 127, 41, 41, 43, 127, 39, 39, 41, 127, 33, 33, 33, 127, 31, 31, 31, 127, 31, 31, 33, 127, 13, 13, 14, 127, 3, 3, 3, 127, 31, 31, 31, 127, 33, 33, 33, 127, 39, 39, 39, 127, 33, 33, 33, 127, 24, 24, 23, 127, 53, 55, 53, 127, 77, 78, 79, 127, 81, 82, 86, 127, 71, 72, 76, 127, 35, 37, 39, 127, 35, 37, 37, 127, 26, 27, 28, 127, 47, 47, 49, 127, 67, 67, 69, 127, 74, 74, 76, 127, 53, 53, 55, 127, 53, 53, 57, 127, 64, 64, 68, 127, 73, 74, 78, 127, 78, 79, 83, 127, 57, 57, 61, 127, 51, 53, 59, 127, 96, 102, 108, 127, 88, 93, 99, 127, 98, 102, 109, 127, 87, 90, 96, 127, 94, 97, 102, 127, 111, 112, 116, 127, 94, 94, 98, 127, 65, 65, 69, 127, 87, 86, 90, 127, 64, 64, 67, 127, 69, 69, 75, 127, 93, 92, 100, 127, 109, 112, 121, 127, 151, 163, 175, 127, 175, 189, 201, 127, 203, 215, 223, 127, 235, 241, 244, 127, 243, 247, 249, 127, 245, 248, 250, 127, 241, 246, 248, 127, 237, 242, 244, 127, 241, 244, 247, 127, 238, 242, 244, 127, 209, 209, 211, 127, 175, 162, 134, 127, 141, 110, 59, 127, 121, 80, 35, 127, 80, 47, 26, 127, 57, 37, 29, 127, 86, 61, 39, 127, 119, 85, 55, 127, 113, 84, 66, 127, 106, 81, 68, 127, 143, 117, 107, 127, 134, 107, 96, 127, 151, 124, 110, 127, 157, 128, 117, 127, 140, 124, 114, 127, 142, 126, 119, 127, 128, 112, 104, 127, 99, 82, 76, 127, 93, 75, 71, 127, 113, 97, 93, 127, 115, 104, 99, 127, 117, 105, 100, 127, 114, 102, 97, 127, 106, 93, 88, 127, 103, 91, 86, 127, 103, 88, 85, 127, 107, 91, 84, 127, 100, 82, 75, 127, 91, 73, 71, 127, 82, 64, 63, 127, 89, 75, 71, 127, 77, 64, 59, 127, 65, 53, 47, 127, 82, 68, 57, 127, 108, 85, 75, 127, 108, 85, 72, 127, 125, 108, 95, 127, 116, 99, 93, 127, 101, 86, 83, 127, 86, 72, 70, 127, 81, 69, 65, 127, 89, 82, 78, 127, 70, 64, 59, 127, 51, 45, 41, 127, 47, 41, 37, 127, 43, 37, 31, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 252, 127, 253, 253, 252, 127, 253, 253, 253, 127, 246, 247, 249, 127, 237, 238, 239, 127, 201, 205, 203, 127, 89, 92, 90, 127, 31, 31, 31, 127, 16, 16, 16, 127, 11, 11, 11, 127, 9, 9, 9, 127, 6, 6, 6, 127, 8, 8, 8, 127, 6, 6, 6, 127, 8, 8, 8, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 12, 12, 12, 127, 15, 15, 15, 127, 13, 13, 13, 127, 9, 9, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 8, 8, 9, 127, 12, 12, 14, 127, 20, 20, 22, 127, 39, 39, 41, 127, 43, 43, 45, 127, 35, 35, 37, 127, 33, 33, 35, 127, 31, 31, 33, 127, 26, 27, 29, 127, 25, 26, 28, 127, 33, 35, 37, 127, 41, 43, 45, 127, 43, 45, 47, 127, 41, 43, 45, 127, 45, 47, 49, 127, 47, 47, 49, 127, 47, 49, 51, 127, 37, 37, 39, 127, 33, 33, 35, 127, 31, 31, 33, 127, 13, 13, 15, 127, 5, 5, 5, 127, 33, 33, 33, 127, 33, 33, 33, 127, 33, 33, 33, 127, 30, 30, 30, 127, 14, 14, 14, 127, 41, 41, 41, 127, 67, 69, 70, 127, 82, 83, 88, 127, 84, 85, 90, 127, 55, 55, 59, 127, 37, 37, 37, 127, 31, 31, 33, 127, 23, 23, 25, 127, 53, 53, 55, 127, 73, 73, 75, 127, 61, 61, 64, 127, 51, 51, 55, 127, 57, 55, 61, 127, 66, 65, 70, 127, 80, 79, 84, 127, 79, 78, 83, 127, 45, 43, 47, 127, 81, 84, 89, 127, 84, 87, 92, 127, 92, 95, 100, 127, 86, 89, 94, 127, 99, 102, 107, 127, 81, 81, 86, 127, 112, 111, 116, 127, 88, 87, 92, 127, 70, 69, 74, 127, 79, 78, 82, 127, 68, 67, 72, 127, 76, 74, 79, 127, 102, 104, 109, 127, 116, 124, 131, 127, 157, 169, 177, 127, 185, 197, 205, 127, 215, 221, 224, 127, 224, 227, 229, 127, 225, 229, 231, 127, 233, 234, 236, 127, 239, 240, 241, 127, 241, 242, 244, 127, 221, 225, 224, 127, 203, 195, 183, 127, 157, 129, 87, 127, 132, 91, 41, 127, 101, 63, 30, 127, 61, 39, 20, 127, 75, 53, 39, 127, 109, 71, 45, 127, 149, 107, 77, 127, 105, 74, 53, 127, 144, 115, 96, 127, 131, 101, 87, 127, 142, 112, 99, 127, 166, 136, 121, 127, 153, 125, 113, 127, 147, 128, 116, 127, 143, 121, 111, 127, 116, 97, 87, 127, 81, 65, 55, 127, 97, 79, 72, 127, 103, 84, 78, 127, 110, 96, 87, 127, 117, 104, 96, 127, 112, 98, 92, 127, 113, 99, 92, 127, 104, 91, 85, 127, 102, 88, 83, 127, 101, 85, 75, 127, 96, 77, 68, 127, 95, 76, 74, 127, 85, 68, 67, 127, 79, 66, 61, 127, 68, 59, 53, 127, 51, 43, 37, 127, 53, 45, 37, 127, 78, 59, 51, 127, 93, 70, 59, 127, 119, 102, 88, 127, 122, 103, 95, 127, 110, 93, 89, 127, 105, 88, 83, 127, 86, 73, 66, 127, 72, 66, 59, 127, 63, 59, 55, 127, 41, 35, 31, 127, 29, 24, 20, 127, 41, 37, 33, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 252, 127, 253, 253, 252, 127, 253, 253, 253, 127, 250, 251, 251, 127, 243, 245, 244, 127, 201, 205, 203, 127, 73, 76, 75, 127, 21, 21, 21, 127, 11, 11, 11, 127, 10, 10, 10, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 4, 4, 4, 127, 4, 4, 4, 127, 7, 7, 7, 127, 4, 4, 4, 127, 4, 4, 4, 127, 11, 11, 11, 127, 17, 17, 17, 127, 20, 20, 20, 127, 15, 15, 15, 127, 9, 9, 9, 127, 8, 8, 8, 127, 6, 6, 6, 127, 4, 4, 4, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 10, 127, 13, 13, 15, 127, 27, 27, 29, 127, 47, 47, 49, 127, 49, 49, 51, 127, 43, 43, 45, 127, 37, 39, 41, 127, 35, 37, 39, 127, 41, 43, 45, 127, 37, 37, 39, 127, 35, 37, 39, 127, 31, 33, 35, 127, 35, 37, 39, 127, 43, 45, 47, 127, 45, 47, 49, 127, 49, 49, 51, 127, 45, 45, 47, 127, 39, 39, 41, 127, 33, 33, 35, 127, 18, 18, 20, 127, 9, 9, 11, 127, 35, 35, 35, 127, 35, 35, 35, 127, 25, 25, 25, 127, 22, 22, 22, 127, 15, 15, 15, 127, 27, 28, 27, 127, 53, 55, 55, 127, 76, 77, 82, 127, 86, 87, 92, 127, 73, 74, 77, 127, 43, 45, 45, 127, 45, 45, 45, 127, 25, 25, 27, 127, 27, 27, 29, 127, 63, 63, 65, 127, 70, 70, 72, 127, 47, 47, 51, 127, 41, 39, 45, 127, 57, 55, 61, 127, 73, 72, 77, 127, 89, 87, 93, 127, 66, 65, 70, 127, 70, 72, 77, 127, 84, 87, 92, 127, 76, 79, 84, 127, 73, 76, 81, 127, 97, 99, 104, 127, 75, 74, 79, 127, 95, 94, 99, 127, 96, 95, 100, 127, 65, 64, 69, 127, 75, 75, 79, 127, 61, 61, 64, 127, 65, 64, 67, 127, 81, 83, 88, 127, 98, 103, 110, 127, 124, 133, 141, 127, 150, 159, 168, 127, 201, 207, 211, 127, 231, 235, 238, 127, 240, 244, 246, 127, 246, 247, 249, 127, 245, 246, 247, 127, 231, 234, 233, 127, 217, 219, 215, 127, 175, 158, 131, 127, 145, 104, 57, 127, 119, 75, 35, 127, 75, 43, 18, 127, 67, 43, 26, 127, 90, 59, 37, 127, 151, 106, 71, 127, 165, 121, 86, 127, 140, 105, 80, 127, 148, 117, 91, 127, 145, 114, 94, 127, 156, 125, 106, 127, 157, 128, 108, 127, 156, 127, 111, 127, 152, 129, 112, 127, 138, 111, 99, 127, 83, 59, 49, 127, 72, 55, 47, 127, 89, 74, 70, 127, 101, 81, 77, 127, 105, 85, 79, 127, 111, 91, 85, 127, 116, 97, 91, 127, 118, 98, 92, 127, 105, 87, 80, 127, 103, 86, 81, 127, 114, 97, 86, 127, 93, 75, 66, 127, 90, 74, 70, 127, 82, 68, 65, 127, 74, 64, 57, 127, 61, 55, 45, 127, 47, 41, 35, 127, 35, 29, 23, 127, 51, 39, 33, 127, 76, 59, 49, 127, 90, 72, 59, 127, 116, 100, 90, 127, 97, 82, 75, 127, 88, 73, 69, 127, 79, 66, 61, 127, 59, 51, 47, 127, 47, 41, 37, 127, 37, 33, 29, 127, 29, 24, 20, 127, 33, 29, 25, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 253, 253, 127, 254, 253, 252, 127, 254, 254, 252, 127, 253, 253, 253, 127, 251, 253, 252, 127, 244, 246, 245, 127, 197, 201, 201, 127, 53, 57, 57, 127, 17, 17, 17, 127, 9, 9, 9, 127, 8, 8, 8, 127, 6, 6, 6, 127, 5, 5, 5, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 14, 14, 14, 127, 16, 16, 16, 127, 13, 13, 13, 127, 16, 16, 16, 127, 11, 11, 11, 127, 9, 9, 9, 127, 6, 6, 6, 127, 6, 6, 6, 127, 8, 8, 8, 127, 5, 5, 5, 127, 7, 7, 9, 127, 8, 8, 10, 127, 15, 15, 17, 127, 21, 21, 23, 127, 30, 29, 31, 127, 33, 33, 35, 127, 41, 43, 45, 127, 41, 43, 45, 127, 41, 41, 43, 127, 47, 49, 51, 127, 43, 45, 47, 127, 31, 33, 35, 127, 29, 30, 31, 127, 35, 37, 37, 127, 37, 39, 39, 127, 41, 41, 43, 127, 49, 49, 51, 127, 41, 41, 43, 127, 33, 33, 35, 127, 24, 24, 26, 127, 12, 12, 14, 127, 29, 29, 29, 127, 31, 31, 31, 127, 16, 16, 16, 127, 20, 20, 20, 127, 23, 23, 23, 127, 19, 20, 20, 127, 33, 33, 35, 127, 69, 69, 75, 127, 82, 83, 88, 127, 79, 80, 83, 127, 59, 61, 61, 127, 51, 53, 53, 127, 35, 35, 37, 127, 30, 30, 31, 127, 49, 49, 51, 127, 73, 73, 75, 127, 59, 59, 64, 127, 28, 27, 31, 127, 41, 39, 45, 127, 55, 55, 59, 127, 73, 71, 77, 127, 89, 89, 94, 127, 64, 67, 72, 127, 79, 82, 87, 127, 71, 74, 79, 127, 71, 74, 79, 127, 84, 87, 92, 127, 81, 82, 87, 127, 68, 69, 73, 127, 90, 91, 95, 127, 73, 74, 78, 127, 67, 68, 72, 127, 55, 57, 57, 127, 45, 45, 47, 127, 61, 63, 68, 127, 98, 102, 108, 127, 138, 143, 152, 127, 174, 181, 187, 127, 207, 213, 215, 127, 238, 243, 246, 127, 243, 247, 250, 127, 245, 247, 249, 127, 243, 244, 245, 127, 224, 230, 226, 127, 213, 209, 197, 127, 147, 124, 83, 127, 133, 89, 43, 127, 98, 57, 31, 127, 68, 39, 19, 127, 91, 57, 33, 127, 144, 99, 67, 127, 183, 135, 95, 127, 160, 118, 82, 127, 156, 124, 96, 127, 148, 120, 90, 127, 151, 120, 94, 127, 156, 126, 101, 127, 162, 131, 105, 127, 170, 140, 116, 127, 151, 123, 103, 127, 108, 78, 64, 127, 79, 53, 45, 127, 72, 55, 51, 127, 84, 71, 74, 127, 90, 71, 72, 127, 99, 77, 73, 127, 102, 78, 74, 127, 112, 90, 83, 127, 122, 99, 91, 127, 119, 97, 88, 127, 96, 79, 73, 127, 106, 89, 79, 127, 94, 77, 68, 127, 66, 53, 49, 127, 65, 57, 53, 127, 69, 63, 53, 127, 57, 51, 43, 127, 53, 45, 43, 127, 37, 31, 28, 127, 33, 26, 20, 127, 49, 39, 30, 127, 74, 57, 45, 127, 105, 91, 79, 127, 100, 87, 78, 127, 84, 73, 68, 127, 75, 64, 61, 127, 51, 43, 41, 127, 43, 37, 33, 127, 33, 28, 24, 127, 28, 23, 19, 127, 35, 29, 25, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 252, 127, 254, 254, 252, 127, 253, 253, 253, 127, 250, 252, 252, 127, 244, 247, 246, 127, 175, 179, 177, 127, 39, 43, 41, 127, 16, 17, 16, 127, 12, 12, 12, 127, 9, 9, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 4, 4, 4, 127, 6, 6, 6, 127, 15, 15, 15, 127, 23, 23, 23, 127, 14, 14, 14, 127, 13, 13, 13, 127, 15, 15, 15, 127, 9, 9, 9, 127, 9, 9, 9, 127, 9, 9, 9, 127, 11, 11, 11, 127, 12, 12, 12, 127, 20, 20, 22, 127, 21, 21, 23, 127, 16, 16, 18, 127, 13, 13, 15, 127, 11, 11, 13, 127, 11, 12, 14, 127, 8, 9, 11, 127, 13, 14, 16, 127, 24, 25, 27, 127, 39, 39, 41, 127, 47, 47, 49, 127, 43, 43, 45, 127, 29, 30, 31, 127, 24, 25, 27, 127, 30, 31, 33, 127, 31, 31, 33, 127, 45, 45, 47, 127, 41, 41, 43, 127, 31, 31, 33, 127, 23, 23, 25, 127, 15, 15, 17, 127, 28, 28, 28, 127, 28, 28, 28, 127, 21, 21, 21, 127, 19, 19, 19, 127, 25, 25, 25, 127, 23, 23, 23, 127, 20, 21, 22, 127, 53, 55, 57, 127, 81, 82, 86, 127, 74, 75, 78, 127, 70, 72, 71, 127, 57, 57, 59, 127, 47, 47, 49, 127, 37, 37, 39, 127, 53, 53, 55, 127, 57, 57, 59, 127, 64, 64, 68, 127, 47, 47, 51, 127, 37, 35, 41, 127, 41, 41, 45, 127, 49, 47, 53, 127, 66, 66, 71, 127, 78, 80, 85, 127, 75, 78, 83, 127, 70, 73, 78, 127, 66, 69, 74, 127, 81, 84, 89, 127, 83, 87, 91, 127, 71, 75, 78, 127, 77, 81, 84, 127, 86, 90, 93, 127, 69, 73, 76, 127, 63, 64, 66, 127, 43, 43, 43, 127, 43, 43, 45, 127, 81, 82, 87, 127, 110, 112, 121, 127, 148, 152, 160, 127, 203, 207, 213, 127, 228, 233, 237, 127, 241, 246, 249, 127, 245, 246, 248, 127, 237, 238, 238, 127, 227, 228, 224, 127, 175, 158, 134, 127, 139, 108, 55, 127, 109, 69, 28, 127, 85, 47, 22, 127, 84, 47, 24, 127, 131, 87, 55, 127, 179, 125, 86, 127, 172, 122, 82, 127, 168, 125, 92, 127, 152, 117, 83, 127, 142, 117, 86, 127, 138, 110, 82, 127, 156, 125, 94, 127, 179, 147, 112, 127, 163, 130, 97, 127, 144, 106, 81, 127, 115, 77, 55, 127, 90, 57, 43, 127, 77, 57, 47, 127, 88, 72, 72, 127, 98, 78, 79, 127, 96, 74, 70, 127, 106, 82, 78, 127, 102, 79, 70, 127, 108, 86, 73, 127, 116, 94, 81, 127, 108, 87, 77, 127, 111, 90, 76, 127, 119, 98, 84, 127, 79, 63, 53, 127, 51, 41, 33, 127, 57, 51, 39, 127, 55, 49, 39, 127, 49, 41, 37, 127, 49, 39, 39, 127, 37, 28, 27, 127, 39, 29, 24, 127, 55, 41, 31, 127, 82, 70, 57, 127, 93, 82, 70, 127, 77, 67, 59, 127, 73, 63, 61, 127, 53, 49, 45, 127, 37, 33, 29, 127, 41, 35, 31, 127, 33, 29, 25, 127, 49, 43, 39, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 252, 127, 254, 254, 253, 127, 254, 254, 254, 127, 251, 253, 253, 127, 248, 250, 249, 127, 183, 187, 185, 127, 43, 45, 45, 127, 18, 19, 18, 127, 16, 16, 16, 127, 11, 11, 11, 127, 8, 8, 8, 127, 7, 6, 6, 127, 8, 8, 8, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 12, 12, 12, 127, 18, 18, 20, 127, 25, 26, 26, 127, 29, 30, 30, 127, 19, 20, 20, 127, 12, 12, 13, 127, 9, 9, 10, 127, 12, 12, 12, 127, 16, 16, 16, 127, 19, 18, 19, 127, 13, 12, 14, 127, 13, 13, 15, 127, 21, 21, 23, 127, 24, 22, 24, 127, 20, 18, 20, 127, 15, 14, 15, 127, 10, 9, 11, 127, 8, 7, 10, 127, 18, 18, 20, 127, 15, 16, 18, 127, 10, 10, 12, 127, 23, 24, 26, 127, 35, 35, 37, 127, 37, 37, 39, 127, 29, 29, 31, 127, 23, 24, 26, 127, 23, 24, 26, 127, 35, 35, 37, 127, 43, 43, 45, 127, 33, 33, 35, 127, 22, 22, 24, 127, 15, 15, 17, 127, 35, 35, 35, 127, 27, 27, 27, 127, 22, 22, 22, 127, 13, 13, 13, 127, 31, 31, 31, 127, 22, 22, 22, 127, 23, 24, 26, 127, 39, 39, 43, 127, 71, 71, 76, 127, 67, 68, 71, 127, 74, 76, 77, 127, 55, 55, 57, 127, 53, 53, 57, 127, 37, 37, 39, 127, 57, 57, 59, 127, 57, 57, 59, 127, 57, 57, 63, 127, 53, 53, 57, 127, 43, 43, 47, 127, 49, 47, 53, 127, 53, 53, 57, 127, 33, 33, 37, 127, 70, 71, 75, 127, 71, 73, 78, 127, 83, 85, 90, 127, 61, 64, 69, 127, 73, 76, 81, 127, 82, 85, 89, 127, 75, 78, 83, 127, 78, 81, 86, 127, 84, 87, 91, 127, 85, 86, 91, 127, 61, 61, 65, 127, 47, 47, 49, 127, 55, 55, 59, 127, 78, 79, 83, 127, 90, 90, 96, 127, 88, 90, 96, 127, 155, 158, 162, 127, 217, 221, 223, 127, 239, 243, 246, 127, 242, 244, 247, 127, 231, 232, 232, 127, 209, 203, 193, 127, 144, 115, 76, 127, 139, 94, 35, 127, 107, 65, 29, 127, 78, 41, 20, 127, 111, 70, 41, 127, 162, 114, 72, 127, 163, 112, 64, 127, 181, 134, 92, 127, 153, 110, 78, 127, 134, 95, 63, 127, 134, 107, 75, 127, 143, 114, 83, 127, 183, 149, 113, 127, 174, 136, 95, 127, 161, 117, 80, 127, 154, 104, 73, 127, 148, 100, 70, 127, 121, 82, 61, 127, 91, 64, 51, 127, 102, 81, 74, 127, 116, 96, 93, 127, 101, 81, 77, 127, 94, 74, 69, 127, 101, 81, 74, 127, 102, 80, 70, 127, 106, 83, 71, 127, 110, 83, 71, 127, 113, 87, 69, 127, 128, 101, 81, 127, 119, 95, 77, 127, 102, 82, 67, 127, 75, 59, 47, 127, 57, 43, 33, 127, 51, 37, 35, 127, 49, 37, 37, 127, 45, 35, 33, 127, 47, 35, 31, 127, 57, 45, 35, 127, 61, 49, 33, 127, 78, 67, 53, 127, 57, 49, 41, 127, 49, 41, 33, 127, 47, 39, 35, 127, 43, 35, 33, 127, 49, 41, 39, 127, 51, 45, 41, 127, 37, 33, 28, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 254, 254, 254, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 251, 253, 254, 127, 247, 249, 248, 127, 209, 213, 211, 127, 70, 73, 72, 127, 24, 25, 25, 127, 20, 20, 20, 127, 13, 13, 13, 127, 7, 5, 6, 127, 7, 6, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 8, 8, 8, 127, 8, 8, 8, 127, 10, 10, 10, 127, 18, 18, 20, 127, 35, 35, 39, 127, 31, 33, 35, 127, 28, 30, 31, 127, 24, 25, 27, 127, 20, 20, 22, 127, 16, 16, 18, 127, 17, 17, 19, 127, 31, 31, 33, 127, 35, 35, 37, 127, 11, 11, 13, 127, 5, 6, 6, 127, 11, 10, 11, 127, 18, 13, 15, 127, 17, 10, 12, 127, 14, 5, 8, 127, 33, 27, 31, 127, 31, 27, 31, 127, 55, 51, 55, 127, 33, 33, 35, 127, 18, 18, 20, 127, 10, 10, 12, 127, 17, 17, 19, 127, 23, 23, 25, 127, 27, 27, 29, 127, 21, 21, 23, 127, 21, 21, 23, 127, 28, 28, 30, 127, 33, 33, 35, 127, 33, 33, 35, 127, 23, 23, 25, 127, 20, 20, 22, 127, 37, 37, 39, 127, 35, 35, 37, 127, 26, 26, 27, 127, 18, 18, 20, 127, 23, 23, 24, 127, 37, 37, 39, 127, 21, 21, 23, 127, 31, 31, 33, 127, 41, 41, 43, 127, 67, 66, 69, 127, 69, 69, 71, 127, 55, 55, 59, 127, 55, 55, 59, 127, 37, 39, 41, 127, 55, 55, 59, 127, 47, 49, 53, 127, 63, 64, 68, 127, 57, 57, 61, 127, 37, 37, 41, 127, 41, 41, 45, 127, 55, 57, 61, 127, 39, 39, 43, 127, 43, 43, 47, 127, 72, 72, 77, 127, 73, 74, 78, 127, 72, 76, 79, 127, 53, 57, 61, 127, 73, 74, 79, 127, 75, 75, 81, 127, 73, 73, 79, 127, 76, 76, 81, 127, 80, 81, 86, 127, 77, 78, 82, 127, 41, 41, 45, 127, 43, 43, 47, 127, 73, 73, 75, 127, 63, 61, 61, 127, 57, 55, 57, 127, 79, 79, 80, 127, 127, 129, 127, 127, 201, 205, 207, 127, 229, 229, 231, 127, 226, 227, 223, 127, 174, 159, 136, 127, 138, 108, 59, 127, 136, 89, 39, 127, 90, 47, 22, 127, 68, 35, 22, 127, 124, 81, 51, 127, 152, 101, 64, 127, 177, 131, 85, 127, 166, 124, 82, 127, 148, 110, 76, 127, 162, 124, 91, 127, 179, 143, 103, 127, 191, 152, 110, 127, 181, 140, 98, 127, 161, 113, 74, 127, 159, 106, 70, 127, 167, 111, 80, 127, 153, 107, 73, 127, 127, 86, 64, 127, 88, 59, 45, 127, 80, 61, 51, 127, 111, 92, 83, 127, 117, 98, 91, 127, 97, 80, 75, 127, 99, 80, 74, 127, 107, 83, 75, 127, 110, 84, 73, 127, 90, 72, 59, 127, 103, 80, 64, 127, 121, 91, 72, 127, 115, 83, 63, 127, 102, 75, 53, 127, 107, 82, 61, 127, 116, 90, 69, 127, 102, 80, 61, 127, 59, 43, 31, 127, 41, 30, 25, 127, 43, 33, 33, 127, 57, 45, 41, 127, 57, 41, 31, 127, 70, 55, 45, 127, 61, 55, 45, 127, 37, 31, 19, 127, 37, 29, 25, 127, 41, 33, 31, 127, 29, 20, 19, 127, 39, 30, 26, 127, 53, 43, 35, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 252, 253, 253, 127, 247, 249, 249, 127, 229, 233, 232, 127, 113, 117, 115, 127, 39, 41, 39, 127, 22, 23, 23, 127, 13, 13, 13, 127, 9, 7, 8, 127, 7, 6, 7, 127, 7, 7, 7, 127, 10, 10, 10, 127, 18, 18, 18, 127, 23, 23, 23, 127, 21, 21, 22, 127, 23, 23, 25, 127, 43, 45, 49, 127, 49, 51, 53, 127, 31, 33, 35, 127, 25, 26, 28, 127, 26, 27, 28, 127, 25, 25, 27, 127, 30, 30, 31, 127, 49, 49, 51, 127, 39, 39, 41, 127, 12, 13, 15, 127, 10, 13, 12, 127, 13, 13, 13, 127, 15, 10, 12, 127, 27, 18, 21, 127, 51, 39, 43, 127, 39, 33, 37, 127, 33, 30, 33, 127, 55, 53, 55, 127, 41, 41, 43, 127, 33, 33, 35, 127, 31, 31, 33, 127, 25, 25, 27, 127, 29, 29, 31, 127, 28, 28, 30, 127, 18, 18, 20, 127, 21, 21, 23, 127, 26, 26, 28, 127, 33, 33, 35, 127, 37, 37, 39, 127, 29, 29, 31, 127, 18, 18, 20, 127, 35, 35, 37, 127, 33, 33, 35, 127, 24, 24, 26, 127, 31, 31, 33, 127, 28, 28, 30, 127, 31, 31, 33, 127, 35, 35, 37, 127, 31, 31, 33, 127, 23, 23, 25, 127, 37, 37, 39, 127, 63, 63, 65, 127, 51, 53, 57, 127, 53, 55, 59, 127, 35, 37, 41, 127, 57, 59, 63, 127, 41, 41, 45, 127, 61, 63, 67, 127, 61, 61, 66, 127, 47, 49, 53, 127, 33, 33, 37, 127, 51, 53, 57, 127, 51, 49, 55, 127, 33, 31, 35, 127, 68, 67, 72, 127, 65, 65, 69, 127, 65, 69, 72, 127, 51, 55, 59, 127, 59, 61, 66, 127, 79, 80, 85, 127, 68, 69, 74, 127, 63, 64, 69, 127, 64, 65, 70, 127, 74, 75, 80, 127, 64, 65, 69, 127, 35, 37, 39, 127, 47, 47, 47, 127, 59, 59, 59, 127, 47, 47, 47, 127, 59, 61, 59, 127, 75, 79, 76, 127, 159, 166, 166, 127, 207, 205, 205, 127, 209, 203, 195, 127, 150, 125, 92, 127, 137, 99, 51, 127, 115, 78, 43, 127, 65, 33, 19, 127, 94, 55, 33, 127, 154, 103, 66, 127, 185, 138, 93, 127, 183, 139, 90, 127, 156, 112, 68, 127, 173, 130, 93, 127, 205, 163, 122, 127, 197, 152, 111, 127, 181, 135, 98, 127, 166, 116, 81, 127, 157, 106, 69, 127, 166, 114, 77, 127, 167, 115, 80, 127, 152, 108, 73, 127, 134, 92, 65, 127, 102, 71, 53, 127, 78, 59, 47, 127, 86, 66, 55, 127, 96, 75, 65, 127, 125, 105, 97, 127, 98, 78, 70, 127, 105, 83, 71, 127, 116, 92, 77, 127, 99, 78, 64, 127, 103, 79, 61, 127, 115, 87, 69, 127, 96, 69, 51, 127, 71, 49, 33, 127, 49, 31, 21, 127, 72, 51, 37, 127, 107, 82, 59, 127, 122, 99, 77, 127, 90, 74, 61, 127, 49, 41, 35, 127, 37, 29, 25, 127, 47, 33, 28, 127, 55, 39, 26, 127, 84, 64, 49, 127, 49, 33, 28, 127, 39, 31, 28, 127, 31, 26, 23, 127, 33, 28, 24, 127, 47, 39, 33, 127, 63, 51, 43, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 254, 254, 127, 252, 254, 253, 127, 248, 250, 249, 127, 238, 240, 239, 127, 174, 177, 175, 127, 71, 73, 72, 127, 22, 23, 23, 127, 15, 14, 15, 127, 6, 4, 5, 127, 4, 3, 3, 127, 6, 6, 6, 127, 13, 13, 13, 127, 26, 26, 26, 127, 28, 28, 28, 127, 33, 33, 33, 127, 33, 35, 33, 127, 45, 47, 47, 127, 45, 47, 45, 127, 33, 37, 35, 127, 26, 28, 27, 127, 22, 23, 24, 127, 24, 24, 26, 127, 33, 33, 35, 127, 47, 47, 49, 127, 76, 76, 79, 127, 59, 59, 61, 127, 55, 55, 55, 127, 41, 39, 41, 127, 37, 33, 35, 127, 47, 43, 45, 127, 66, 61, 63, 127, 53, 49, 53, 127, 45, 43, 45, 127, 43, 43, 45, 127, 35, 35, 37, 127, 31, 31, 33, 127, 31, 33, 35, 127, 28, 27, 29, 127, 35, 33, 37, 127, 39, 39, 41, 127, 31, 31, 33, 127, 22, 22, 24, 127, 25, 25, 27, 127, 27, 27, 29, 127, 35, 35, 37, 127, 31, 31, 33, 127, 16, 16, 18, 127, 26, 26, 28, 127, 26, 26, 28, 127, 24, 24, 26, 127, 25, 25, 27, 127, 27, 27, 29, 127, 39, 39, 41, 127, 37, 37, 39, 127, 31, 31, 33, 127, 26, 26, 28, 127, 19, 19, 21, 127, 55, 55, 57, 127, 51, 51, 55, 127, 55, 57, 61, 127, 35, 37, 41, 127, 49, 51, 55, 127, 49, 49, 53, 127, 55, 55, 59, 127, 69, 70, 74, 127, 53, 53, 57, 127, 33, 33, 37, 127, 49, 49, 53, 127, 65, 64, 69, 127, 43, 43, 47, 127, 53, 53, 57, 127, 59, 61, 65, 127, 57, 61, 65, 127, 45, 51, 53, 127, 49, 51, 55, 127, 73, 74, 79, 127, 67, 68, 73, 127, 53, 55, 59, 127, 47, 47, 51, 127, 64, 65, 69, 127, 65, 66, 70, 127, 57, 57, 61, 127, 30, 29, 31, 127, 43, 41, 43, 127, 43, 41, 41, 127, 61, 64, 63, 127, 79, 84, 82, 127, 137, 139, 138, 127, 189, 183, 179, 127, 191, 177, 162, 127, 127, 99, 61, 127, 133, 91, 47, 127, 102, 68, 41, 127, 75, 47, 31, 127, 117, 77, 47, 127, 177, 130, 82, 127, 181, 146, 86, 127, 183, 147, 87, 127, 197, 161, 111, 127, 205, 170, 123, 127, 152, 111, 68, 127, 177, 124, 81, 127, 172, 118, 82, 127, 154, 101, 67, 127, 157, 104, 67, 127, 167, 113, 72, 127, 171, 122, 83, 127, 153, 108, 74, 127, 132, 88, 59, 127, 115, 80, 59, 127, 89, 67, 53, 127, 96, 70, 61, 127, 76, 51, 39, 127, 74, 53, 43, 127, 114, 95, 83, 127, 111, 90, 75, 127, 111, 87, 69, 127, 116, 93, 74, 127, 102, 74, 53, 127, 119, 87, 69, 127, 111, 83, 67, 127, 86, 65, 49, 127, 47, 33, 25, 127, 43, 31, 27, 127, 47, 33, 26, 127, 59, 45, 33, 127, 83, 64, 45, 127, 97, 82, 57, 127, 75, 66, 45, 127, 55, 43, 33, 127, 57, 43, 31, 127, 78, 64, 43, 127, 72, 57, 41, 127, 45, 35, 27, 127, 49, 43, 39, 127, 51, 45, 41, 127, 61, 53, 49, 127, 55, 43, 35, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 254, 254, 127, 248, 250, 249, 127, 239, 242, 241, 127, 205, 207, 207, 127, 100, 102, 101, 127, 17, 19, 18, 127, 17, 17, 17, 127, 11, 9, 10, 127, 6, 4, 5, 127, 7, 7, 7, 127, 16, 16, 16, 127, 33, 33, 33, 127, 35, 35, 35, 127, 41, 41, 41, 127, 49, 49, 47, 127, 37, 39, 37, 127, 24, 26, 23, 127, 23, 25, 21, 127, 18, 20, 17, 127, 14, 15, 15, 127, 18, 18, 20, 127, 21, 21, 23, 127, 43, 43, 45, 127, 57, 59, 61, 127, 71, 69, 71, 127, 55, 51, 53, 127, 39, 37, 37, 127, 33, 33, 33, 127, 39, 39, 39, 127, 55, 57, 57, 127, 53, 53, 55, 127, 53, 53, 55, 127, 33, 33, 35, 127, 29, 31, 33, 127, 29, 33, 35, 127, 30, 31, 33, 127, 31, 31, 33, 127, 37, 37, 39, 127, 37, 37, 39, 127, 39, 39, 41, 127, 29, 29, 31, 127, 25, 25, 27, 127, 30, 30, 31, 127, 29, 29, 31, 127, 29, 29, 31, 127, 17, 17, 19, 127, 22, 22, 24, 127, 18, 18, 20, 127, 24, 24, 26, 127, 33, 33, 35, 127, 23, 23, 25, 127, 41, 41, 43, 127, 35, 35, 37, 127, 41, 41, 43, 127, 30, 30, 31, 127, 15, 15, 17, 127, 47, 47, 49, 127, 45, 47, 51, 127, 51, 51, 55, 127, 39, 39, 43, 127, 41, 43, 47, 127, 55, 57, 61, 127, 49, 51, 55, 127, 69, 70, 74, 127, 59, 61, 65, 127, 37, 39, 43, 127, 45, 45, 49, 127, 65, 65, 69, 127, 57, 55, 61, 127, 45, 43, 49, 127, 59, 61, 65, 127, 55, 59, 63, 127, 41, 45, 49, 127, 41, 43, 45, 127, 61, 61, 65, 127, 65, 66, 69, 127, 51, 53, 55, 127, 29, 31, 33, 127, 61, 63, 66, 127, 59, 61, 66, 127, 57, 57, 61, 127, 51, 51, 53, 127, 33, 33, 33, 127, 31, 30, 31, 127, 79, 81, 80, 127, 129, 135, 133, 127, 179, 177, 177, 127, 189, 181, 175, 127, 162, 142, 123, 127, 112, 83, 47, 127, 119, 80, 41, 127, 85, 57, 33, 127, 67, 41, 24, 127, 140, 101, 61, 127, 191, 156, 108, 127, 209, 185, 129, 127, 215, 183, 120, 127, 191, 153, 100, 127, 118, 73, 39, 127, 142, 94, 64, 127, 175, 123, 81, 127, 156, 102, 63, 127, 155, 102, 64, 127, 161, 106, 68, 127, 166, 113, 73, 127, 167, 120, 80, 127, 152, 108, 72, 127, 136, 90, 59, 127, 120, 83, 59, 127, 87, 63, 49, 127, 97, 68, 61, 127, 83, 53, 43, 127, 64, 39, 30, 127, 66, 45, 33, 127, 97, 75, 59, 127, 115, 94, 74, 127, 120, 96, 74, 127, 118, 88, 66, 127, 120, 83, 59, 127, 122, 87, 65, 127, 99, 72, 49, 127, 90, 64, 47, 127, 53, 35, 24, 127, 37, 29, 18, 127, 35, 30, 22, 127, 39, 31, 23, 127, 61, 47, 35, 127, 80, 59, 43, 127, 90, 69, 51, 127, 87, 70, 49, 127, 86, 67, 41, 127, 97, 73, 51, 127, 64, 49, 33, 127, 33, 27, 19, 127, 35, 31, 27, 127, 29, 26, 22, 127, 37, 29, 24, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 254, 253, 127, 250, 252, 251, 127, 246, 249, 248, 127, 240, 241, 241, 127, 145, 146, 146, 127, 21, 22, 21, 127, 19, 19, 17, 127, 17, 16, 16, 127, 7, 5, 6, 127, 7, 7, 8, 127, 25, 25, 25, 127, 49, 49, 49, 127, 51, 51, 51, 127, 61, 63, 63, 127, 66, 66, 65, 127, 30, 31, 29, 127, 25, 27, 24, 127, 21, 22, 19, 127, 24, 25, 23, 127, 22, 22, 21, 127, 24, 24, 25, 127, 22, 21, 23, 127, 30, 30, 31, 127, 35, 35, 37, 127, 39, 37, 41, 127, 39, 37, 39, 127, 28, 28, 28, 127, 26, 26, 26, 127, 31, 31, 31, 127, 39, 41, 41, 127, 45, 45, 47, 127, 49, 49, 51, 127, 33, 35, 37, 127, 33, 35, 37, 127, 35, 39, 41, 127, 30, 31, 35, 127, 31, 31, 33, 127, 30, 30, 31, 127, 31, 31, 33, 127, 35, 35, 37, 127, 35, 35, 37, 127, 27, 27, 29, 127, 29, 29, 31, 127, 31, 31, 33, 127, 30, 30, 31, 127, 24, 24, 26, 127, 17, 17, 19, 127, 20, 20, 21, 127, 28, 28, 29, 127, 41, 41, 43, 127, 28, 28, 29, 127, 33, 33, 35, 127, 45, 45, 47, 127, 35, 35, 37, 127, 37, 37, 39, 127, 20, 20, 22, 127, 37, 37, 39, 127, 57, 57, 61, 127, 49, 49, 53, 127, 57, 57, 61, 127, 45, 45, 49, 127, 55, 55, 59, 127, 51, 51, 55, 127, 66, 67, 71, 127, 69, 70, 74, 127, 45, 45, 49, 127, 39, 41, 45, 127, 61, 63, 67, 127, 61, 61, 67, 127, 45, 43, 49, 127, 55, 55, 59, 127, 59, 61, 65, 127, 37, 39, 43, 127, 39, 39, 43, 127, 51, 51, 53, 127, 61, 63, 65, 127, 39, 41, 43, 127, 27, 28, 29, 127, 53, 53, 57, 127, 67, 68, 71, 127, 57, 59, 61, 127, 51, 51, 53, 127, 43, 41, 41, 127, 45, 43, 43, 127, 73, 76, 75, 127, 132, 140, 138, 127, 191, 191, 191, 127, 185, 175, 166, 127, 141, 115, 91, 127, 109, 74, 41, 127, 100, 66, 33, 127, 70, 51, 33, 127, 102, 81, 59, 127, 185, 148, 96, 127, 201, 168, 106, 127, 183, 151, 85, 127, 172, 130, 75, 127, 129, 83, 45, 127, 120, 68, 39, 127, 179, 124, 90, 127, 170, 117, 79, 127, 159, 108, 64, 127, 161, 108, 65, 127, 162, 109, 67, 127, 166, 114, 74, 127, 158, 111, 71, 127, 150, 105, 69, 127, 140, 93, 61, 127, 127, 86, 59, 127, 88, 61, 47, 127, 83, 53, 49, 127, 86, 55, 47, 127, 67, 41, 33, 127, 61, 37, 28, 127, 61, 37, 27, 127, 83, 59, 43, 127, 110, 81, 61, 127, 124, 89, 66, 127, 136, 98, 71, 127, 136, 98, 69, 127, 113, 78, 51, 127, 103, 75, 51, 127, 70, 45, 27, 127, 49, 31, 20, 127, 41, 31, 25, 127, 37, 30, 27, 127, 43, 31, 27, 127, 51, 35, 26, 127, 51, 39, 23, 127, 65, 49, 33, 127, 87, 64, 39, 127, 106, 79, 47, 127, 93, 73, 47, 127, 57, 45, 31, 127, 27, 22, 14, 127, 23, 22, 19, 127, 31, 26, 24, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 253, 252, 127, 251, 252, 251, 127, 248, 249, 249, 127, 187, 187, 187, 127, 37, 37, 35, 127, 20, 20, 18, 127, 19, 18, 18, 127, 10, 10, 11, 127, 11, 11, 13, 127, 41, 43, 43, 127, 61, 61, 64, 127, 67, 68, 70, 127, 73, 75, 76, 127, 55, 57, 57, 127, 24, 24, 23, 127, 28, 28, 28, 127, 27, 27, 27, 127, 30, 30, 29, 127, 30, 30, 29, 127, 33, 33, 33, 127, 33, 33, 33, 127, 33, 33, 33, 127, 33, 33, 33, 127, 23, 23, 24, 127, 26, 25, 27, 127, 22, 22, 25, 127, 23, 23, 27, 127, 28, 30, 33, 127, 37, 37, 43, 127, 39, 39, 43, 127, 39, 41, 45, 127, 39, 39, 43, 127, 37, 39, 43, 127, 39, 41, 45, 127, 37, 39, 43, 127, 35, 35, 37, 127, 30, 30, 31, 127, 29, 29, 31, 127, 37, 37, 39, 127, 41, 41, 43, 127, 28, 28, 30, 127, 27, 27, 29, 127, 31, 31, 33, 127, 29, 29, 31, 127, 21, 21, 23, 127, 18, 18, 19, 127, 15, 15, 15, 127, 31, 31, 31, 127, 37, 37, 37, 127, 35, 35, 35, 127, 35, 35, 35, 127, 43, 43, 45, 127, 37, 37, 39, 127, 41, 41, 43, 127, 25, 25, 27, 127, 23, 23, 23, 127, 57, 57, 59, 127, 47, 49, 51, 127, 61, 61, 64, 127, 57, 57, 59, 127, 47, 49, 51, 127, 53, 55, 57, 127, 59, 61, 65, 127, 67, 68, 72, 127, 49, 49, 53, 127, 39, 39, 43, 127, 53, 55, 59, 127, 66, 67, 71, 127, 51, 51, 55, 127, 55, 55, 59, 127, 61, 63, 67, 127, 35, 37, 39, 127, 37, 37, 41, 127, 47, 47, 49, 127, 55, 55, 57, 127, 35, 35, 37, 127, 29, 29, 31, 127, 55, 55, 57, 127, 61, 61, 61, 127, 51, 51, 51, 127, 49, 49, 49, 127, 49, 49, 49, 127, 45, 43, 45, 127, 81, 83, 82, 127, 143, 145, 144, 127, 175, 172, 168, 127, 169, 155, 139, 127, 128, 100, 72, 127, 112, 74, 49, 127, 72, 45, 25, 127, 75, 53, 29, 127, 134, 97, 53, 127, 177, 133, 70, 127, 162, 115, 53, 127, 160, 114, 55, 127, 167, 121, 82, 127, 119, 75, 55, 127, 183, 132, 97, 127, 181, 121, 86, 127, 169, 115, 76, 127, 160, 109, 68, 127, 165, 112, 71, 127, 161, 109, 67, 127, 166, 110, 73, 127, 155, 103, 63, 127, 152, 103, 61, 127, 146, 97, 61, 127, 134, 89, 57, 127, 88, 59, 41, 127, 69, 43, 37, 127, 79, 55, 43, 127, 66, 43, 31, 127, 66, 41, 31, 127, 68, 41, 31, 127, 64, 35, 22, 127, 109, 70, 45, 127, 122, 80, 49, 127, 108, 77, 47, 127, 136, 104, 71, 127, 135, 97, 61, 127, 114, 80, 49, 127, 88, 59, 39, 127, 49, 31, 23, 127, 29, 18, 17, 127, 33, 24, 26, 127, 43, 33, 30, 127, 41, 28, 20, 127, 45, 33, 26, 127, 33, 21, 16, 127, 43, 29, 18, 127, 57, 39, 18, 127, 98, 72, 37, 127, 108, 80, 43, 127, 67, 49, 28, 127, 33, 27, 22, 127, 35, 33, 33, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 252, 252, 252, 127, 209, 209, 207, 127, 53, 53, 51, 127, 15, 15, 13, 127, 13, 13, 13, 127, 16, 16, 18, 127, 28, 29, 31, 127, 59, 59, 61, 127, 73, 74, 76, 127, 81, 82, 84, 127, 78, 79, 81, 127, 41, 43, 43, 127, 35, 35, 35, 127, 31, 31, 31, 127, 26, 26, 26, 127, 27, 27, 27, 127, 22, 22, 22, 127, 27, 27, 27, 127, 33, 33, 33, 127, 41, 41, 39, 127, 35, 35, 35, 127, 27, 27, 27, 127, 27, 27, 29, 127, 29, 29, 31, 127, 30, 30, 35, 127, 35, 37, 43, 127, 41, 45, 51, 127, 37, 39, 45, 127, 37, 39, 43, 127, 33, 35, 39, 127, 35, 35, 39, 127, 33, 35, 39, 127, 33, 33, 35, 127, 31, 31, 33, 127, 28, 28, 30, 127, 30, 30, 31, 127, 28, 28, 30, 127, 30, 30, 31, 127, 30, 30, 31, 127, 26, 26, 28, 127, 31, 31, 33, 127, 31, 31, 33, 127, 23, 23, 25, 127, 13, 13, 13, 127, 20, 20, 21, 127, 30, 30, 30, 127, 35, 35, 35, 127, 43, 43, 43, 127, 35, 35, 35, 127, 43, 43, 45, 127, 31, 31, 33, 127, 39, 39, 41, 127, 31, 31, 33, 127, 20, 20, 21, 127, 43, 43, 45, 127, 57, 57, 59, 127, 49, 49, 51, 127, 65, 65, 67, 127, 45, 45, 47, 127, 51, 53, 55, 127, 49, 51, 55, 127, 61, 63, 67, 127, 61, 61, 66, 127, 41, 41, 45, 127, 45, 45, 49, 127, 59, 61, 65, 127, 55, 57, 61, 127, 57, 57, 61, 127, 63, 64, 68, 127, 33, 33, 37, 127, 41, 41, 43, 127, 39, 39, 41, 127, 41, 41, 43, 127, 33, 33, 35, 127, 33, 33, 35, 127, 49, 49, 51, 127, 61, 61, 61, 127, 49, 49, 49, 127, 47, 47, 47, 127, 39, 39, 39, 127, 43, 43, 45, 127, 88, 87, 84, 127, 160, 157, 154, 127, 177, 170, 163, 127, 168, 149, 133, 127, 111, 82, 53, 127, 99, 67, 37, 127, 59, 37, 21, 127, 97, 59, 28, 127, 169, 121, 61, 127, 165, 114, 51, 127, 171, 116, 61, 127, 175, 121, 82, 127, 131, 81, 64, 127, 185, 141, 111, 127, 181, 131, 82, 127, 175, 117, 77, 127, 175, 120, 82, 127, 169, 116, 75, 127, 170, 117, 78, 127, 165, 112, 72, 127, 160, 106, 67, 127, 161, 106, 69, 127, 151, 99, 57, 127, 150, 101, 64, 127, 144, 98, 65, 127, 102, 69, 47, 127, 59, 35, 26, 127, 79, 57, 45, 127, 61, 37, 26, 127, 71, 43, 33, 127, 59, 31, 22, 127, 64, 33, 22, 127, 98, 57, 31, 127, 131, 86, 47, 127, 112, 74, 45, 127, 89, 53, 29, 127, 115, 81, 51, 127, 142, 101, 64, 127, 126, 93, 53, 127, 79, 59, 35, 127, 47, 35, 27, 127, 35, 28, 23, 127, 39, 31, 26, 127, 61, 45, 37, 127, 47, 33, 24, 127, 53, 39, 28, 127, 68, 51, 35, 127, 63, 43, 25, 127, 75, 53, 22, 127, 75, 49, 19, 127, 98, 74, 45, 127, 57, 41, 29, 127, 24, 20, 16, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 251, 251, 127, 250, 250, 250, 127, 226, 226, 226, 127, 79, 79, 77, 127, 15, 15, 13, 127, 14, 14, 14, 127, 19, 19, 21, 127, 61, 61, 61, 127, 87, 88, 88, 127, 90, 90, 90, 127, 96, 97, 98, 127, 68, 69, 69, 127, 41, 41, 41, 127, 31, 31, 31, 127, 33, 33, 33, 127, 39, 39, 39, 127, 26, 26, 26, 127, 20, 20, 20, 127, 19, 19, 19, 127, 27, 27, 27, 127, 31, 31, 31, 127, 35, 35, 35, 127, 24, 24, 25, 127, 24, 24, 26, 127, 35, 35, 39, 127, 35, 35, 41, 127, 33, 37, 43, 127, 41, 45, 53, 127, 43, 45, 49, 127, 41, 41, 45, 127, 35, 37, 41, 127, 33, 35, 39, 127, 33, 35, 39, 127, 31, 31, 33, 127, 30, 30, 31, 127, 30, 30, 31, 127, 31, 31, 33, 127, 37, 37, 39, 127, 37, 37, 39, 127, 33, 33, 35, 127, 30, 30, 31, 127, 26, 26, 28, 127, 31, 31, 33, 127, 28, 28, 30, 127, 20, 20, 21, 127, 27, 27, 27, 127, 35, 35, 35, 127, 33, 33, 33, 127, 39, 39, 39, 127, 41, 41, 41, 127, 39, 39, 41, 127, 39, 39, 41, 127, 31, 31, 33, 127, 24, 24, 26, 127, 29, 29, 31, 127, 19, 19, 21, 127, 55, 55, 57, 127, 39, 39, 41, 127, 61, 61, 63, 127, 51, 51, 53, 127, 45, 45, 49, 127, 43, 45, 49, 127, 43, 45, 49, 127, 66, 67, 71, 127, 47, 49, 53, 127, 33, 35, 39, 127, 53, 55, 59, 127, 57, 57, 61, 127, 53, 55, 59, 127, 64, 65, 69, 127, 35, 37, 41, 127, 47, 47, 49, 127, 33, 33, 35, 127, 24, 24, 26, 127, 37, 37, 39, 127, 30, 30, 31, 127, 47, 47, 47, 127, 55, 55, 55, 127, 53, 53, 53, 127, 53, 53, 53, 127, 51, 51, 51, 127, 43, 43, 43, 127, 45, 41, 39, 127, 80, 74, 70, 127, 119, 108, 98, 127, 121, 102, 83, 127, 105, 80, 51, 127, 78, 53, 33, 127, 49, 33, 15, 127, 131, 95, 55, 127, 150, 112, 66, 127, 103, 69, 35, 127, 114, 76, 43, 127, 117, 71, 43, 127, 171, 119, 92, 127, 174, 118, 81, 127, 171, 111, 71, 127, 177, 119, 83, 127, 177, 123, 86, 127, 179, 126, 86, 127, 175, 122, 81, 127, 167, 114, 74, 127, 161, 108, 68, 127, 164, 109, 71, 127, 161, 111, 71, 127, 157, 109, 71, 127, 151, 103, 68, 127, 129, 90, 64, 127, 66, 39, 25, 127, 72, 49, 35, 127, 72, 45, 31, 127, 74, 45, 31, 127, 59, 33, 20, 127, 66, 37, 23, 127, 94, 55, 27, 127, 137, 86, 49, 127, 131, 80, 51, 127, 103, 59, 39, 127, 77, 43, 28, 127, 124, 83, 53, 127, 134, 95, 49, 127, 117, 84, 43, 127, 100, 71, 45, 127, 88, 63, 37, 127, 74, 51, 27, 127, 66, 43, 28, 127, 61, 43, 29, 127, 55, 39, 25, 127, 57, 41, 28, 127, 61, 43, 26, 127, 69, 49, 25, 127, 64, 49, 25, 127, 57, 39, 20, 127, 88, 66, 49, 127, 49, 37, 26, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 250, 127, 238, 238, 238, 127, 107, 107, 105, 127, 16, 16, 14, 127, 18, 18, 18, 127, 49, 49, 51, 127, 88, 88, 86, 127, 109, 108, 107, 127, 97, 96, 95, 127, 74, 73, 72, 127, 45, 43, 43, 127, 28, 28, 28, 127, 20, 20, 20, 127, 18, 18, 18, 127, 27, 27, 27, 127, 33, 33, 33, 127, 22, 22, 22, 127, 18, 18, 18, 127, 14, 14, 14, 127, 24, 24, 24, 127, 27, 27, 27, 127, 35, 35, 35, 127, 23, 23, 25, 127, 27, 27, 29, 127, 39, 39, 45, 127, 41, 43, 49, 127, 43, 47, 53, 127, 41, 43, 49, 127, 39, 41, 45, 127, 45, 45, 49, 127, 41, 43, 47, 127, 35, 37, 41, 127, 31, 33, 35, 127, 28, 28, 30, 127, 29, 29, 31, 127, 27, 27, 29, 127, 31, 31, 33, 127, 35, 35, 37, 127, 37, 37, 39, 127, 35, 35, 37, 127, 22, 22, 24, 127, 26, 26, 28, 127, 29, 29, 31, 127, 22, 22, 23, 127, 25, 25, 25, 127, 30, 30, 30, 127, 35, 35, 35, 127, 37, 37, 37, 127, 31, 31, 33, 127, 37, 37, 39, 127, 35, 35, 37, 127, 25, 25, 27, 127, 21, 21, 23, 127, 26, 26, 28, 127, 20, 20, 22, 127, 26, 26, 28, 127, 47, 47, 49, 127, 49, 49, 51, 127, 57, 57, 59, 127, 45, 47, 49, 127, 41, 43, 47, 127, 25, 26, 30, 127, 59, 61, 65, 127, 64, 65, 69, 127, 26, 27, 31, 127, 51, 53, 57, 127, 49, 51, 55, 127, 53, 53, 57, 127, 49, 51, 55, 127, 37, 37, 41, 127, 53, 53, 55, 127, 30, 30, 31, 127, 8, 8, 10, 127, 21, 21, 23, 127, 22, 22, 24, 127, 37, 37, 39, 127, 47, 47, 47, 127, 51, 51, 51, 127, 43, 43, 43, 127, 47, 47, 47, 127, 55, 55, 55, 127, 57, 51, 51, 127, 83, 75, 72, 127, 129, 117, 108, 127, 113, 93, 78, 127, 97, 74, 53, 127, 67, 43, 28, 127, 85, 66, 35, 127, 154, 118, 67, 127, 123, 88, 53, 127, 72, 49, 33, 127, 55, 35, 22, 127, 82, 57, 43, 127, 131, 90, 63, 127, 160, 102, 67, 127, 165, 101, 69, 127, 171, 113, 77, 127, 181, 128, 89, 127, 181, 128, 87, 127, 173, 120, 80, 127, 170, 117, 77, 127, 171, 118, 78, 127, 163, 110, 72, 127, 166, 118, 78, 127, 161, 114, 76, 127, 159, 110, 72, 127, 150, 105, 73, 127, 88, 55, 35, 127, 67, 43, 28, 127, 92, 61, 49, 127, 74, 41, 28, 127, 70, 41, 27, 127, 63, 35, 20, 127, 84, 47, 22, 127, 134, 80, 49, 127, 147, 92, 61, 127, 133, 87, 53, 127, 88, 51, 29, 127, 93, 55, 33, 127, 118, 76, 47, 127, 115, 77, 37, 127, 97, 65, 33, 127, 71, 47, 29, 127, 85, 61, 35, 127, 103, 68, 43, 127, 94, 67, 41, 127, 89, 63, 47, 127, 75, 51, 37, 127, 75, 51, 31, 127, 77, 49, 25, 127, 72, 57, 28, 127, 47, 37, 21, 127, 55, 39, 27, 127, 82, 64, 49, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 249, 249, 249, 127, 243, 243, 243, 127, 213, 213, 213, 127, 93, 93, 91, 127, 23, 23, 21, 127, 29, 29, 29, 127, 84, 84, 85, 127, 104, 103, 101, 127, 76, 75, 73, 127, 57, 57, 55, 127, 47, 47, 45, 127, 37, 35, 35, 127, 33, 33, 33, 127, 30, 30, 30, 127, 19, 19, 19, 127, 16, 16, 16, 127, 24, 24, 24, 127, 27, 27, 27, 127, 17, 17, 17, 127, 16, 16, 16, 127, 14, 14, 14, 127, 22, 22, 22, 127, 30, 30, 30, 127, 30, 30, 31, 127, 26, 25, 28, 127, 33, 33, 37, 127, 45, 49, 55, 127, 49, 51, 59, 127, 49, 51, 57, 127, 47, 47, 51, 127, 45, 47, 51, 127, 43, 45, 49, 127, 41, 41, 45, 127, 37, 39, 41, 127, 33, 33, 35, 127, 28, 28, 30, 127, 29, 29, 31, 127, 29, 29, 31, 127, 31, 31, 33, 127, 35, 35, 37, 127, 33, 33, 35, 127, 28, 28, 30, 127, 17, 17, 19, 127, 24, 24, 26, 127, 21, 21, 22, 127, 21, 21, 21, 127, 27, 27, 27, 127, 35, 35, 35, 127, 37, 37, 37, 127, 31, 31, 31, 127, 39, 39, 41, 127, 33, 33, 35, 127, 25, 25, 27, 127, 27, 27, 29, 127, 23, 23, 25, 127, 30, 30, 31, 127, 15, 15, 17, 127, 33, 33, 35, 127, 45, 45, 47, 127, 66, 66, 68, 127, 51, 51, 55, 127, 39, 41, 45, 127, 27, 28, 31, 127, 30, 31, 35, 127, 68, 69, 73, 127, 37, 37, 41, 127, 39, 39, 43, 127, 47, 49, 53, 127, 43, 43, 47, 127, 31, 31, 35, 127, 37, 39, 43, 127, 47, 49, 51, 127, 19, 19, 21, 127, 5, 5, 7, 127, 13, 13, 15, 127, 20, 20, 22, 127, 23, 23, 24, 127, 35, 35, 35, 127, 49, 49, 49, 127, 47, 47, 47, 127, 45, 45, 45, 127, 49, 49, 49, 127, 53, 49, 51, 127, 74, 67, 65, 127, 107, 97, 90, 127, 92, 76, 63, 127, 76, 57, 41, 127, 73, 47, 26, 127, 124, 96, 61, 127, 137, 100, 59, 127, 108, 72, 43, 127, 96, 68, 43, 127, 65, 43, 26, 127, 41, 24, 18, 127, 72, 47, 33, 127, 123, 80, 55, 127, 154, 100, 69, 127, 164, 109, 73, 127, 177, 125, 84, 127, 177, 124, 85, 127, 173, 119, 80, 127, 174, 120, 80, 127, 174, 121, 82, 127, 166, 115, 76, 127, 167, 121, 81, 127, 164, 119, 82, 127, 165, 115, 76, 127, 163, 114, 77, 127, 122, 85, 61, 127, 55, 33, 17, 127, 93, 61, 47, 127, 80, 45, 31, 127, 74, 43, 29, 127, 69, 41, 27, 127, 80, 45, 28, 127, 127, 77, 43, 127, 147, 95, 55, 127, 145, 96, 53, 127, 116, 72, 35, 127, 93, 55, 30, 127, 103, 65, 39, 127, 100, 63, 28, 127, 112, 83, 41, 127, 66, 45, 21, 127, 39, 22, 17, 127, 49, 31, 21, 127, 45, 31, 19, 127, 41, 26, 20, 127, 47, 31, 28, 127, 64, 43, 26, 127, 80, 55, 23, 127, 88, 64, 30, 127, 59, 45, 22, 127, 43, 33, 25, 127, 57, 45, 35, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 251, 251, 251, 127, 250, 250, 250, 127, 229, 230, 230, 127, 154, 156, 154, 127, 81, 82, 81, 127, 41, 41, 39, 127, 75, 73, 74, 127, 96, 94, 95, 127, 59, 59, 57, 127, 47, 47, 45, 127, 45, 45, 43, 127, 43, 41, 41, 127, 37, 37, 37, 127, 33, 33, 33, 127, 31, 31, 31, 127, 26, 26, 26, 127, 18, 18, 18, 127, 15, 15, 15, 127, 22, 22, 23, 127, 30, 30, 31, 127, 24, 24, 25, 127, 16, 16, 17, 127, 19, 19, 20, 127, 24, 25, 26, 127, 27, 28, 30, 127, 37, 37, 41, 127, 39, 39, 43, 127, 41, 43, 49, 127, 51, 53, 59, 127, 53, 53, 59, 127, 49, 51, 55, 127, 47, 47, 51, 127, 45, 47, 51, 127, 41, 43, 47, 127, 39, 39, 43, 127, 37, 37, 39, 127, 29, 29, 31, 127, 25, 25, 29, 127, 28, 29, 31, 127, 27, 27, 30, 127, 33, 33, 35, 127, 35, 35, 37, 127, 31, 31, 33, 127, 17, 17, 19, 127, 17, 17, 19, 127, 21, 21, 22, 127, 19, 19, 19, 127, 24, 24, 24, 127, 29, 29, 29, 127, 27, 27, 27, 127, 35, 35, 35, 127, 37, 37, 39, 127, 41, 41, 43, 127, 23, 23, 25, 127, 27, 27, 29, 127, 18, 18, 20, 127, 35, 35, 37, 127, 23, 23, 25, 127, 10, 10, 12, 127, 41, 41, 43, 127, 47, 47, 49, 127, 61, 61, 64, 127, 49, 49, 53, 127, 37, 37, 39, 127, 22, 22, 25, 127, 53, 53, 55, 127, 59, 59, 61, 127, 27, 27, 30, 127, 41, 41, 45, 127, 35, 35, 37, 127, 26, 27, 30, 127, 43, 45, 47, 127, 30, 30, 31, 127, 13, 13, 14, 127, 6, 6, 7, 127, 12, 12, 12, 127, 14, 14, 15, 127, 16, 16, 16, 127, 19, 19, 19, 127, 31, 31, 31, 127, 41, 41, 41, 127, 47, 47, 47, 127, 51, 51, 51, 127, 57, 53, 55, 127, 55, 49, 51, 127, 81, 67, 63, 127, 77, 59, 47, 127, 66, 51, 35, 127, 84, 64, 39, 127, 91, 61, 39, 127, 101, 63, 37, 127, 90, 53, 27, 127, 107, 73, 41, 127, 102, 74, 41, 127, 72, 51, 29, 127, 45, 26, 15, 127, 57, 31, 19, 127, 114, 75, 51, 127, 156, 104, 73, 127, 166, 113, 78, 127, 169, 116, 80, 127, 169, 115, 76, 127, 177, 123, 83, 127, 170, 118, 79, 127, 173, 123, 83, 127, 173, 125, 85, 127, 173, 126, 88, 127, 166, 118, 80, 127, 165, 117, 81, 127, 150, 110, 83, 127, 65, 43, 26, 127, 84, 55, 35, 127, 89, 51, 31, 127, 81, 51, 31, 127, 78, 51, 31, 127, 80, 45, 31, 127, 118, 69, 33, 127, 143, 89, 47, 127, 139, 88, 47, 127, 135, 87, 45, 127, 114, 74, 37, 127, 99, 66, 37, 127, 88, 57, 28, 127, 86, 59, 23, 127, 98, 69, 31, 127, 76, 47, 26, 127, 57, 43, 25, 127, 57, 43, 20, 127, 51, 33, 20, 127, 35, 19, 15, 127, 39, 24, 14, 127, 57, 39, 21, 127, 83, 59, 31, 127, 84, 63, 33, 127, 47, 35, 23, 127, 51, 41, 37, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 250, 250, 250, 127, 250, 250, 250, 127, 230, 233, 232, 127, 201, 205, 205, 127, 149, 151, 150, 127, 104, 103, 103, 127, 83, 79, 80, 127, 49, 45, 47, 127, 39, 39, 39, 127, 28, 28, 28, 127, 33, 33, 33, 127, 41, 41, 41, 127, 39, 39, 39, 127, 35, 35, 35, 127, 33, 33, 33, 127, 24, 24, 24, 127, 20, 20, 20, 127, 17, 17, 17, 127, 18, 18, 19, 127, 26, 26, 28, 127, 28, 28, 30, 127, 28, 28, 30, 127, 25, 25, 27, 127, 21, 21, 23, 127, 30, 31, 33, 127, 37, 37, 41, 127, 39, 41, 45, 127, 43, 43, 49, 127, 47, 47, 53, 127, 53, 53, 59, 127, 47, 47, 53, 127, 45, 47, 51, 127, 45, 45, 51, 127, 47, 47, 53, 127, 39, 41, 45, 127, 39, 39, 43, 127, 35, 35, 39, 127, 30, 31, 35, 127, 27, 28, 31, 127, 29, 29, 33, 127, 29, 30, 31, 127, 35, 35, 37, 127, 33, 33, 35, 127, 26, 26, 28, 127, 14, 14, 16, 127, 18, 18, 18, 127, 19, 19, 19, 127, 24, 24, 24, 127, 22, 22, 22, 127, 31, 31, 31, 127, 27, 27, 28, 127, 41, 41, 43, 127, 39, 39, 41, 127, 30, 30, 31, 127, 29, 29, 31, 127, 21, 21, 23, 127, 31, 31, 33, 127, 31, 31, 33, 127, 11, 11, 13, 127, 22, 22, 24, 127, 33, 33, 35, 127, 28, 28, 30, 127, 47, 47, 49, 127, 45, 45, 47, 127, 22, 22, 24, 127, 39, 39, 41, 127, 61, 61, 63, 127, 25, 25, 27, 127, 35, 35, 37, 127, 37, 37, 39, 127, 29, 29, 31, 127, 35, 35, 35, 127, 12, 12, 12, 127, 9, 9, 9, 127, 7, 7, 7, 127, 9, 9, 9, 127, 9, 9, 9, 127, 13, 13, 13, 127, 18, 18, 18, 127, 23, 23, 23, 127, 26, 26, 26, 127, 37, 37, 37, 127, 47, 47, 45, 127, 49, 47, 47, 127, 61, 53, 57, 127, 97, 82, 79, 127, 74, 53, 41, 127, 55, 41, 24, 127, 65, 43, 26, 127, 86, 51, 35, 127, 96, 53, 31, 127, 109, 74, 47, 127, 130, 92, 61, 127, 135, 96, 64, 127, 122, 87, 57, 127, 87, 61, 37, 127, 49, 31, 16, 127, 69, 45, 26, 127, 124, 85, 55, 127, 150, 98, 67, 127, 161, 106, 73, 127, 175, 121, 83, 127, 179, 126, 86, 127, 171, 121, 81, 127, 172, 122, 84, 127, 168, 119, 82, 127, 170, 122, 86, 127, 159, 112, 77, 127, 161, 115, 81, 127, 158, 114, 84, 127, 85, 57, 39, 127, 87, 55, 35, 127, 99, 57, 35, 127, 87, 53, 37, 127, 88, 55, 37, 127, 78, 51, 31, 127, 102, 65, 35, 127, 147, 96, 59, 127, 148, 98, 55, 127, 142, 97, 51, 127, 136, 94, 53, 127, 96, 63, 29, 127, 71, 47, 21, 127, 57, 33, 13, 127, 78, 49, 18, 127, 95, 65, 31, 127, 66, 47, 29, 127, 59, 45, 25, 127, 55, 39, 23, 127, 53, 37, 28, 127, 30, 21, 14, 127, 35, 22, 12, 127, 63, 41, 21, 127, 82, 59, 33, 127, 59, 43, 27, 127, 53, 39, 35, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 250, 250, 250, 127, 247, 247, 247, 127, 239, 241, 240, 127, 201, 203, 201, 127, 122, 124, 124, 127, 66, 65, 65, 127, 37, 35, 35, 127, 41, 37, 39, 127, 31, 31, 31, 127, 20, 20, 20, 127, 15, 15, 15, 127, 17, 17, 17, 127, 27, 27, 27, 127, 31, 31, 31, 127, 28, 28, 28, 127, 24, 24, 24, 127, 15, 15, 15, 127, 21, 21, 21, 127, 22, 22, 23, 127, 21, 21, 23, 127, 30, 30, 31, 127, 39, 39, 41, 127, 35, 35, 37, 127, 37, 39, 41, 127, 35, 37, 39, 127, 37, 39, 41, 127, 43, 45, 49, 127, 47, 49, 53, 127, 49, 49, 55, 127, 49, 51, 55, 127, 51, 53, 57, 127, 45, 47, 51, 127, 41, 43, 47, 127, 41, 41, 47, 127, 43, 43, 49, 127, 41, 41, 45, 127, 39, 41, 45, 127, 33, 35, 39, 127, 29, 30, 33, 127, 31, 33, 37, 127, 28, 28, 30, 127, 31, 31, 33, 127, 35, 35, 37, 127, 29, 29, 31, 127, 18, 18, 20, 127, 12, 12, 12, 127, 20, 20, 20, 127, 22, 22, 22, 127, 30, 30, 30, 127, 29, 29, 29, 127, 26, 26, 26, 127, 31, 31, 33, 127, 37, 37, 39, 127, 35, 35, 37, 127, 22, 22, 24, 127, 26, 26, 28, 127, 24, 24, 26, 127, 35, 35, 37, 127, 20, 20, 22, 127, 19, 19, 21, 127, 26, 26, 28, 127, 26, 26, 28, 127, 19, 19, 21, 127, 39, 39, 41, 127, 33, 33, 35, 127, 28, 28, 30, 127, 59, 59, 61, 127, 35, 35, 37, 127, 28, 28, 30, 127, 41, 41, 43, 127, 33, 33, 35, 127, 25, 25, 27, 127, 16, 16, 17, 127, 9, 9, 9, 127, 7, 7, 7, 127, 12, 12, 12, 127, 9, 9, 9, 127, 13, 13, 13, 127, 16, 16, 16, 127, 22, 22, 22, 127, 21, 21, 21, 127, 22, 22, 22, 127, 30, 29, 28, 127, 49, 47, 47, 127, 66, 57, 59, 127, 82, 68, 66, 127, 65, 47, 39, 127, 47, 31, 20, 127, 59, 31, 19, 127, 119, 73, 49, 127, 103, 59, 35, 127, 79, 49, 31, 127, 94, 61, 39, 127, 115, 75, 55, 127, 126, 84, 61, 127, 116, 82, 49, 127, 85, 59, 31, 127, 66, 41, 22, 127, 89, 55, 30, 127, 136, 88, 57, 127, 157, 105, 70, 127, 177, 123, 84, 127, 173, 121, 81, 127, 168, 118, 77, 127, 162, 111, 73, 127, 151, 99, 63, 127, 151, 102, 67, 127, 143, 97, 63, 127, 150, 105, 74, 127, 150, 108, 79, 127, 101, 69, 51, 127, 73, 43, 24, 127, 89, 55, 31, 127, 85, 53, 33, 127, 102, 65, 45, 127, 80, 55, 30, 127, 83, 57, 30, 127, 135, 92, 55, 127, 160, 107, 61, 127, 146, 98, 51, 127, 143, 98, 55, 127, 126, 89, 45, 127, 79, 51, 20, 127, 55, 35, 21, 127, 53, 35, 19, 127, 76, 51, 24, 127, 71, 53, 31, 127, 22, 18, 12, 127, 17, 14, 11, 127, 31, 20, 13, 127, 59, 41, 27, 127, 47, 30, 16, 127, 61, 41, 24, 127, 83, 61, 33, 127, 70, 51, 33, 127, 57, 43, 35, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 251, 251, 251, 127, 246, 246, 246, 127, 239, 241, 240, 127, 152, 153, 152, 127, 70, 70, 70, 127, 57, 55, 55, 127, 66, 65, 65, 127, 39, 37, 39, 127, 31, 31, 31, 127, 19, 19, 19, 127, 17, 17, 17, 127, 16, 16, 16, 127, 17, 17, 17, 127, 19, 19, 19, 127, 29, 29, 29, 127, 35, 35, 35, 127, 31, 31, 31, 127, 26, 26, 26, 127, 21, 21, 22, 127, 25, 25, 27, 127, 29, 29, 31, 127, 35, 35, 37, 127, 43, 43, 45, 127, 49, 49, 51, 127, 49, 49, 51, 127, 47, 47, 51, 127, 45, 47, 51, 127, 55, 57, 61, 127, 55, 55, 61, 127, 47, 47, 53, 127, 49, 51, 55, 127, 49, 49, 55, 127, 45, 47, 51, 127, 43, 45, 49, 127, 47, 47, 53, 127, 39, 41, 45, 127, 39, 39, 43, 127, 39, 41, 45, 127, 35, 37, 41, 127, 33, 35, 39, 127, 31, 31, 33, 127, 31, 31, 33, 127, 33, 33, 35, 127, 35, 35, 37, 127, 30, 30, 31, 127, 11, 11, 11, 127, 13, 13, 13, 127, 14, 14, 14, 127, 26, 26, 26, 127, 30, 30, 30, 127, 30, 30, 30, 127, 31, 31, 33, 127, 35, 35, 37, 127, 33, 33, 35, 127, 21, 21, 23, 127, 27, 27, 29, 127, 21, 21, 23, 127, 31, 31, 33, 127, 29, 29, 31, 127, 27, 27, 29, 127, 17, 17, 19, 127, 33, 33, 35, 127, 28, 28, 30, 127, 25, 25, 27, 127, 23, 23, 25, 127, 21, 21, 23, 127, 49, 49, 51, 127, 45, 45, 47, 127, 27, 27, 29, 127, 33, 33, 35, 127, 25, 25, 27, 127, 15, 15, 17, 127, 19, 19, 20, 127, 16, 16, 16, 127, 9, 9, 9, 127, 11, 11, 11, 127, 12, 12, 12, 127, 11, 11, 11, 127, 17, 17, 17, 127, 17, 17, 17, 127, 18, 18, 18, 127, 37, 37, 37, 127, 31, 30, 30, 127, 37, 35, 35, 127, 53, 45, 45, 127, 68, 57, 59, 127, 72, 57, 55, 127, 49, 31, 23, 127, 79, 45, 27, 127, 143, 93, 63, 127, 124, 80, 51, 127, 74, 53, 35, 127, 74, 53, 37, 127, 77, 53, 45, 127, 84, 61, 53, 127, 90, 66, 45, 127, 85, 55, 31, 127, 82, 45, 26, 127, 87, 47, 26, 127, 131, 85, 55, 127, 156, 108, 72, 127, 169, 116, 77, 127, 162, 112, 72, 127, 157, 110, 68, 127, 139, 92, 53, 127, 121, 76, 43, 127, 102, 64, 35, 127, 85, 55, 33, 127, 82, 57, 41, 127, 78, 57, 43, 127, 65, 47, 39, 127, 49, 31, 20, 127, 63, 43, 25, 127, 66, 41, 28, 127, 85, 51, 35, 127, 84, 55, 31, 127, 77, 49, 26, 127, 99, 59, 31, 127, 156, 104, 64, 127, 155, 102, 59, 127, 145, 97, 53, 127, 138, 97, 47, 127, 103, 71, 33, 127, 61, 37, 20, 127, 47, 29, 16, 127, 57, 41, 21, 127, 57, 45, 28, 127, 49, 41, 33, 127, 18, 11, 8, 127, 13, 7, 8, 127, 21, 16, 13, 127, 47, 35, 25, 127, 51, 33, 22, 127, 69, 49, 28, 127, 74, 51, 31, 127, 59, 43, 31, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 252, 127, 252, 252, 252, 127, 250, 250, 250, 127, 187, 187, 187, 127, 73, 73, 73, 127, 61, 61, 59, 127, 71, 71, 70, 127, 69, 69, 69, 127, 41, 41, 41, 127, 23, 23, 23, 127, 23, 23, 23, 127, 19, 19, 19, 127, 22, 22, 22, 127, 19, 19, 19, 127, 16, 16, 16, 127, 13, 13, 13, 127, 26, 26, 26, 127, 29, 29, 29, 127, 31, 31, 31, 127, 35, 35, 35, 127, 37, 37, 39, 127, 39, 39, 41, 127, 35, 35, 37, 127, 43, 43, 45, 127, 53, 53, 55, 127, 51, 51, 53, 127, 53, 53, 57, 127, 47, 49, 53, 127, 47, 47, 53, 127, 57, 57, 64, 127, 53, 55, 59, 127, 37, 37, 43, 127, 51, 51, 57, 127, 53, 55, 59, 127, 53, 55, 59, 127, 53, 55, 59, 127, 51, 53, 57, 127, 45, 45, 49, 127, 39, 41, 45, 127, 39, 41, 45, 127, 39, 39, 43, 127, 35, 35, 37, 127, 30, 30, 31, 127, 29, 29, 31, 127, 28, 28, 30, 127, 35, 35, 35, 127, 22, 22, 22, 127, 8, 8, 8, 127, 10, 10, 10, 127, 19, 19, 19, 127, 30, 30, 30, 127, 37, 37, 37, 127, 35, 35, 37, 127, 33, 33, 35, 127, 37, 37, 39, 127, 27, 27, 29, 127, 21, 21, 22, 127, 30, 30, 31, 127, 24, 24, 26, 127, 28, 28, 30, 127, 35, 35, 37, 127, 27, 27, 29, 127, 17, 17, 19, 127, 21, 21, 23, 127, 24, 24, 26, 127, 15, 15, 17, 127, 24, 24, 26, 127, 35, 35, 37, 127, 45, 45, 47, 127, 27, 27, 29, 127, 29, 29, 31, 127, 15, 15, 17, 127, 12, 12, 14, 127, 15, 15, 15, 127, 25, 25, 25, 127, 20, 20, 20, 127, 16, 16, 16, 127, 13, 13, 13, 127, 16, 16, 16, 127, 17, 17, 17, 127, 16, 16, 16, 127, 15, 15, 15, 127, 26, 26, 26, 127, 37, 37, 37, 127, 47, 43, 43, 127, 55, 47, 45, 127, 61, 55, 55, 127, 65, 53, 53, 127, 66, 45, 39, 127, 114, 76, 55, 127, 167, 117, 87, 127, 161, 117, 86, 127, 103, 76, 53, 127, 71, 47, 31, 127, 43, 26, 19, 127, 20, 16, 12, 127, 23, 18, 13, 127, 49, 29, 18, 127, 68, 35, 18, 127, 87, 49, 25, 127, 137, 91, 59, 127, 165, 115, 81, 127, 171, 121, 81, 127, 163, 114, 72, 127, 149, 105, 64, 127, 115, 77, 41, 127, 94, 63, 35, 127, 76, 49, 29, 127, 61, 45, 26, 127, 47, 33, 23, 127, 31, 24, 11, 127, 33, 21, 13, 127, 43, 25, 16, 127, 45, 29, 15, 127, 47, 29, 21, 127, 57, 33, 22, 127, 67, 41, 23, 127, 69, 41, 22, 127, 78, 47, 25, 127, 107, 68, 35, 127, 125, 80, 37, 127, 139, 97, 47, 127, 140, 100, 51, 127, 122, 84, 47, 127, 88, 55, 31, 127, 59, 33, 15, 127, 57, 41, 20, 127, 41, 31, 15, 127, 23, 19, 13, 127, 14, 10, 12, 127, 12, 6, 12, 127, 7, 8, 8, 127, 11, 10, 6, 127, 33, 26, 18, 127, 59, 43, 25, 127, 74, 51, 31, 127, 57, 37, 25, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 252, 127, 252, 252, 252, 127, 209, 209, 211, 127, 89, 88, 91, 127, 57, 55, 59, 127, 88, 87, 90, 127, 102, 102, 105, 127, 84, 85, 87, 127, 66, 67, 69, 127, 41, 41, 41, 127, 37, 37, 37, 127, 23, 23, 22, 127, 20, 20, 20, 127, 28, 28, 28, 127, 27, 27, 27, 127, 21, 21, 21, 127, 27, 27, 27, 127, 39, 39, 39, 127, 41, 41, 41, 127, 45, 45, 45, 127, 53, 53, 55, 127, 55, 55, 59, 127, 51, 51, 53, 127, 41, 41, 43, 127, 43, 43, 47, 127, 53, 55, 57, 127, 55, 57, 59, 127, 53, 55, 57, 127, 49, 49, 55, 127, 53, 53, 59, 127, 61, 63, 68, 127, 49, 49, 55, 127, 43, 45, 49, 127, 51, 51, 57, 127, 51, 53, 57, 127, 51, 51, 55, 127, 53, 55, 59, 127, 51, 53, 57, 127, 43, 45, 49, 127, 37, 39, 43, 127, 35, 37, 41, 127, 35, 35, 37, 127, 29, 29, 31, 127, 31, 31, 33, 127, 33, 33, 35, 127, 29, 29, 31, 127, 28, 28, 29, 127, 16, 16, 16, 127, 11, 11, 11, 127, 15, 15, 15, 127, 16, 16, 16, 127, 31, 31, 31, 127, 35, 35, 37, 127, 30, 30, 31, 127, 33, 33, 35, 127, 33, 33, 33, 127, 18, 18, 18, 127, 25, 25, 27, 127, 22, 22, 24, 127, 21, 21, 23, 127, 25, 25, 27, 127, 31, 31, 33, 127, 30, 30, 31, 127, 18, 18, 20, 127, 26, 26, 28, 127, 15, 15, 17, 127, 29, 29, 30, 127, 27, 27, 29, 127, 37, 37, 39, 127, 23, 23, 24, 127, 20, 20, 21, 127, 19, 19, 21, 127, 19, 19, 21, 127, 19, 19, 19, 127, 19, 19, 19, 127, 26, 26, 26, 127, 17, 17, 17, 127, 13, 13, 13, 127, 14, 14, 14, 127, 16, 16, 16, 127, 15, 15, 15, 127, 23, 22, 23, 127, 33, 33, 33, 127, 37, 37, 39, 127, 47, 43, 43, 127, 45, 41, 37, 127, 51, 45, 45, 127, 53, 45, 45, 127, 64, 43, 39, 127, 121, 83, 61, 127, 177, 129, 103, 127, 171, 122, 94, 127, 133, 90, 65, 127, 103, 65, 45, 127, 94, 61, 49, 127, 63, 43, 33, 127, 51, 33, 24, 127, 61, 33, 28, 127, 72, 35, 24, 127, 92, 55, 28, 127, 151, 107, 74, 127, 177, 129, 96, 127, 177, 129, 91, 127, 166, 119, 78, 127, 147, 102, 59, 127, 117, 78, 39, 127, 97, 61, 27, 127, 93, 59, 27, 127, 89, 57, 29, 127, 83, 53, 26, 127, 83, 55, 26, 127, 87, 59, 30, 127, 85, 51, 27, 127, 86, 59, 35, 127, 81, 59, 37, 127, 63, 45, 21, 127, 57, 37, 16, 127, 61, 37, 19, 127, 68, 43, 26, 127, 70, 41, 18, 127, 100, 67, 30, 127, 140, 103, 57, 127, 146, 106, 59, 127, 135, 95, 55, 127, 112, 74, 37, 127, 84, 53, 25, 127, 65, 45, 26, 127, 35, 31, 16, 127, 12, 10, 9, 127, 12, 10, 13, 127, 10, 6, 9, 127, 5, 5, 4, 127, 5, 8, 6, 127, 12, 11, 11, 127, 31, 21, 10, 127, 73, 47, 28, 127, 59, 41, 23, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 252, 252, 252, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 252, 253, 252, 127, 219, 219, 221, 127, 114, 116, 120, 127, 85, 89, 93, 127, 112, 115, 122, 127, 129, 131, 142, 127, 127, 129, 140, 127, 102, 104, 112, 127, 78, 80, 84, 127, 47, 47, 49, 127, 35, 35, 35, 127, 20, 20, 20, 127, 17, 17, 15, 127, 22, 22, 20, 127, 23, 23, 23, 127, 24, 24, 25, 127, 23, 23, 25, 127, 31, 31, 33, 127, 37, 37, 39, 127, 43, 41, 45, 127, 49, 49, 53, 127, 53, 55, 59, 127, 57, 59, 63, 127, 57, 57, 61, 127, 47, 45, 49, 127, 37, 37, 41, 127, 47, 47, 49, 127, 51, 51, 53, 127, 45, 45, 49, 127, 45, 43, 47, 127, 49, 51, 55, 127, 51, 53, 57, 127, 47, 47, 53, 127, 45, 47, 51, 127, 47, 47, 51, 127, 47, 49, 53, 127, 49, 49, 53, 127, 49, 51, 55, 127, 53, 55, 59, 127, 45, 47, 51, 127, 39, 39, 43, 127, 39, 39, 41, 127, 45, 45, 47, 127, 35, 35, 37, 127, 31, 31, 33, 127, 27, 27, 29, 127, 26, 26, 27, 127, 22, 22, 22, 127, 13, 13, 13, 127, 13, 13, 13, 127, 22, 22, 22, 127, 21, 21, 21, 127, 31, 31, 31, 127, 26, 26, 26, 127, 27, 27, 28, 127, 30, 30, 30, 127, 20, 20, 20, 127, 17, 17, 19, 127, 25, 25, 27, 127, 24, 24, 26, 127, 20, 20, 22, 127, 14, 14, 16, 127, 23, 23, 24, 127, 17, 17, 17, 127, 24, 24, 24, 127, 15, 15, 15, 127, 28, 28, 29, 127, 29, 29, 29, 127, 33, 33, 33, 127, 15, 15, 15, 127, 20, 20, 20, 127, 14, 14, 14, 127, 14, 14, 14, 127, 15, 15, 15, 127, 24, 24, 24, 127, 28, 28, 28, 127, 26, 26, 26, 127, 18, 18, 18, 127, 13, 13, 13, 127, 15, 15, 15, 127, 18, 18, 18, 127, 23, 23, 23, 127, 33, 33, 33, 127, 45, 43, 43, 127, 59, 53, 51, 127, 53, 49, 45, 127, 47, 43, 41, 127, 45, 39, 37, 127, 61, 41, 37, 127, 107, 70, 47, 127, 172, 119, 95, 127, 187, 133, 111, 127, 145, 96, 75, 127, 128, 85, 61, 127, 116, 74, 49, 127, 116, 76, 53, 127, 119, 79, 57, 127, 120, 80, 61, 127, 109, 67, 49, 127, 126, 82, 59, 127, 169, 122, 95, 127, 191, 143, 115, 127, 189, 144, 109, 127, 177, 131, 91, 127, 151, 110, 67, 127, 116, 80, 39, 127, 104, 66, 30, 127, 102, 64, 31, 127, 106, 70, 39, 127, 114, 75, 41, 127, 125, 84, 45, 127, 130, 89, 47, 127, 119, 77, 39, 127, 125, 85, 51, 127, 120, 86, 49, 127, 111, 83, 45, 127, 93, 69, 33, 127, 69, 39, 21, 127, 71, 41, 26, 127, 88, 59, 33, 127, 82, 51, 25, 127, 101, 65, 31, 127, 139, 100, 59, 127, 151, 112, 69, 127, 145, 104, 59, 127, 118, 82, 39, 127, 81, 63, 35, 127, 43, 37, 28, 127, 21, 17, 14, 127, 12, 11, 8, 127, 14, 14, 8, 127, 13, 11, 10, 127, 10, 8, 13, 127, 16, 10, 14, 127, 31, 18, 12, 127, 76, 47, 31, 127, 72, 51, 35, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 254, 253, 127, 251, 252, 251, 127, 250, 252, 250, 127, 224, 226, 224, 127, 132, 135, 136, 127, 113, 119, 123, 127, 129, 135, 140, 127, 141, 148, 154, 127, 147, 153, 163, 127, 139, 144, 155, 127, 111, 116, 124, 127, 79, 82, 86, 127, 49, 49, 53, 127, 28, 27, 30, 127, 17, 17, 18, 127, 16, 16, 15, 127, 17, 17, 16, 127, 15, 15, 15, 127, 19, 19, 21, 127, 22, 22, 24, 127, 31, 31, 33, 127, 39, 39, 43, 127, 45, 45, 49, 127, 43, 45, 49, 127, 51, 53, 57, 127, 53, 53, 57, 127, 55, 55, 59, 127, 57, 57, 61, 127, 51, 51, 55, 127, 43, 43, 45, 127, 43, 43, 45, 127, 43, 43, 45, 127, 35, 35, 37, 127, 33, 33, 37, 127, 37, 39, 43, 127, 43, 43, 47, 127, 43, 43, 47, 127, 41, 43, 47, 127, 39, 41, 45, 127, 43, 45, 49, 127, 47, 49, 53, 127, 51, 51, 55, 127, 49, 51, 55, 127, 45, 45, 49, 127, 39, 41, 43, 127, 35, 35, 37, 127, 37, 37, 39, 127, 35, 35, 37, 127, 31, 31, 33, 127, 25, 25, 26, 127, 24, 24, 24, 127, 21, 21, 21, 127, 12, 12, 12, 127, 16, 16, 16, 127, 22, 22, 22, 127, 24, 24, 24, 127, 30, 30, 30, 127, 20, 20, 20, 127, 25, 25, 25, 127, 24, 24, 24, 127, 14, 14, 16, 127, 25, 25, 27, 127, 30, 30, 31, 127, 28, 28, 31, 127, 16, 16, 18, 127, 13, 13, 13, 127, 20, 20, 20, 127, 20, 20, 20, 127, 14, 14, 14, 127, 17, 17, 17, 127, 25, 25, 25, 127, 31, 31, 31, 127, 14, 14, 14, 127, 18, 18, 18, 127, 20, 20, 20, 127, 12, 12, 12, 127, 12, 12, 12, 127, 16, 16, 16, 127, 25, 25, 25, 127, 26, 26, 26, 127, 29, 29, 29, 127, 24, 24, 24, 127, 20, 20, 20, 127, 21, 21, 21, 127, 22, 23, 22, 127, 26, 26, 26, 127, 33, 30, 31, 127, 33, 28, 26, 127, 39, 37, 31, 127, 41, 37, 35, 127, 39, 35, 33, 127, 55, 37, 31, 127, 110, 71, 49, 127, 169, 116, 90, 127, 193, 136, 114, 127, 177, 121, 102, 127, 144, 90, 69, 127, 141, 89, 65, 127, 142, 91, 69, 127, 144, 91, 69, 127, 145, 93, 70, 127, 155, 104, 82, 127, 158, 108, 83, 127, 191, 144, 116, 127, 205, 159, 131, 127, 203, 157, 122, 127, 189, 142, 99, 127, 158, 115, 72, 127, 120, 82, 43, 127, 105, 64, 33, 127, 109, 65, 37, 127, 109, 67, 41, 127, 117, 74, 47, 127, 133, 91, 59, 127, 147, 108, 69, 127, 152, 111, 70, 127, 143, 100, 59, 127, 128, 86, 45, 127, 124, 86, 43, 127, 122, 88, 45, 127, 107, 75, 39, 127, 78, 47, 25, 127, 98, 66, 41, 127, 120, 83, 49, 127, 118, 75, 43, 127, 117, 72, 37, 127, 135, 93, 51, 127, 160, 118, 71, 127, 149, 112, 66, 127, 96, 79, 49, 127, 35, 31, 23, 127, 17, 16, 14, 127, 9, 11, 11, 127, 12, 11, 8, 127, 14, 12, 12, 127, 15, 12, 11, 127, 65, 45, 33, 127, 155, 116, 97, 127, 201, 155, 132, 127, 164, 130, 104, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 251, 251, 127, 244, 243, 241, 127, 163, 162, 159, 127, 146, 146, 146, 127, 158, 160, 164, 127, 159, 162, 166, 127, 154, 157, 162, 127, 151, 155, 162, 127, 146, 150, 158, 127, 136, 139, 145, 127, 110, 112, 117, 127, 86, 85, 90, 127, 43, 43, 47, 127, 16, 16, 18, 127, 20, 20, 21, 127, 17, 17, 17, 127, 9, 9, 10, 127, 9, 9, 11, 127, 15, 15, 17, 127, 25, 25, 27, 127, 41, 41, 43, 127, 45, 47, 49, 127, 53, 55, 59, 127, 51, 53, 57, 127, 51, 53, 57, 127, 53, 53, 57, 127, 47, 49, 51, 127, 55, 55, 57, 127, 51, 51, 53, 127, 41, 41, 43, 127, 39, 39, 41, 127, 35, 35, 39, 127, 30, 31, 33, 127, 27, 28, 31, 127, 35, 35, 37, 127, 35, 35, 39, 127, 31, 31, 35, 127, 30, 31, 33, 127, 35, 35, 39, 127, 39, 41, 45, 127, 43, 43, 47, 127, 45, 45, 49, 127, 41, 43, 47, 127, 45, 45, 47, 127, 43, 43, 45, 127, 35, 35, 37, 127, 35, 35, 37, 127, 31, 31, 33, 127, 33, 33, 33, 127, 29, 29, 29, 127, 26, 26, 26, 127, 13, 13, 13, 127, 11, 11, 11, 127, 14, 14, 14, 127, 22, 22, 22, 127, 28, 28, 28, 127, 27, 27, 27, 127, 26, 26, 26, 127, 27, 27, 27, 127, 15, 15, 17, 127, 17, 17, 19, 127, 33, 33, 35, 127, 31, 31, 35, 127, 24, 24, 26, 127, 11, 11, 12, 127, 18, 18, 18, 127, 23, 23, 23, 127, 12, 12, 12, 127, 12, 12, 12, 127, 19, 19, 19, 127, 20, 20, 20, 127, 20, 20, 20, 127, 13, 13, 13, 127, 22, 22, 22, 127, 21, 21, 21, 127, 14, 14, 14, 127, 15, 15, 15, 127, 16, 16, 16, 127, 16, 16, 16, 127, 20, 20, 20, 127, 22, 22, 22, 127, 23, 23, 23, 127, 24, 24, 24, 127, 22, 22, 22, 127, 22, 22, 22, 127, 23, 22, 21, 127, 26, 22, 20, 127, 28, 26, 21, 127, 31, 29, 27, 127, 31, 29, 27, 127, 53, 35, 31, 127, 104, 63, 43, 127, 164, 106, 81, 127, 189, 128, 100, 127, 197, 136, 111, 127, 181, 124, 98, 127, 165, 110, 82, 127, 161, 106, 80, 127, 164, 110, 83, 127, 170, 116, 88, 127, 173, 117, 93, 127, 183, 130, 103, 127, 213, 163, 136, 127, 219, 170, 144, 127, 211, 162, 128, 127, 189, 141, 98, 127, 160, 112, 68, 127, 138, 92, 55, 127, 132, 84, 53, 127, 123, 70, 45, 127, 110, 61, 41, 127, 106, 65, 49, 127, 113, 79, 61, 127, 138, 107, 84, 127, 149, 113, 81, 127, 142, 101, 61, 127, 133, 89, 47, 127, 125, 81, 35, 127, 119, 77, 29, 127, 120, 88, 37, 127, 120, 91, 45, 127, 108, 71, 39, 127, 134, 90, 49, 127, 152, 104, 65, 127, 157, 109, 68, 127, 159, 115, 72, 127, 157, 113, 70, 127, 160, 121, 82, 127, 102, 82, 57, 127, 37, 33, 21, 127, 11, 10, 9, 127, 5, 9, 9, 127, 9, 9, 9, 127, 15, 13, 13, 127, 53, 33, 28, 127, 157, 117, 91, 127, 195, 149, 109, 127, 191, 134, 106, 127, 193, 139, 110, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 252, 253, 127, 249, 247, 248, 127, 203, 199, 197, 127, 139, 136, 133, 127, 146, 142, 140, 127, 147, 144, 148, 127, 149, 150, 154, 127, 152, 153, 157, 127, 155, 155, 161, 127, 152, 152, 159, 127, 128, 129, 135, 127, 95, 95, 99, 127, 67, 66, 72, 127, 66, 65, 71, 127, 30, 29, 33, 127, 10, 10, 12, 127, 10, 10, 12, 127, 9, 9, 10, 127, 8, 8, 10, 127, 14, 14, 16, 127, 18, 19, 21, 127, 29, 29, 31, 127, 41, 43, 45, 127, 45, 47, 51, 127, 45, 47, 51, 127, 47, 47, 51, 127, 45, 47, 51, 127, 43, 45, 47, 127, 45, 45, 47, 127, 47, 47, 49, 127, 41, 41, 43, 127, 33, 33, 35, 127, 30, 30, 33, 127, 24, 26, 26, 127, 24, 26, 25, 127, 31, 33, 31, 127, 30, 31, 31, 127, 31, 33, 33, 127, 30, 31, 33, 127, 30, 31, 35, 127, 35, 35, 39, 127, 39, 39, 43, 127, 39, 41, 45, 127, 39, 39, 43, 127, 39, 39, 41, 127, 37, 37, 39, 127, 35, 35, 39, 127, 33, 33, 35, 127, 28, 28, 29, 127, 27, 27, 27, 127, 29, 29, 29, 127, 26, 26, 26, 127, 22, 22, 22, 127, 13, 13, 13, 127, 9, 9, 9, 127, 9, 9, 9, 127, 19, 19, 19, 127, 28, 28, 28, 127, 24, 24, 23, 127, 22, 22, 22, 127, 17, 17, 19, 127, 9, 9, 11, 127, 27, 27, 28, 127, 31, 31, 33, 127, 25, 25, 27, 127, 20, 20, 21, 127, 10, 10, 10, 127, 20, 20, 20, 127, 16, 16, 16, 127, 8, 8, 8, 127, 13, 13, 13, 127, 8, 8, 8, 127, 19, 19, 19, 127, 20, 20, 20, 127, 13, 13, 13, 127, 19, 19, 19, 127, 15, 15, 15, 127, 14, 14, 14, 127, 15, 15, 15, 127, 15, 15, 15, 127, 12, 12, 12, 127, 10, 10, 10, 127, 10, 10, 10, 127, 11, 11, 11, 127, 14, 14, 14, 127, 14, 13, 14, 127, 13, 11, 11, 127, 18, 17, 14, 127, 22, 22, 16, 127, 18, 16, 16, 127, 23, 22, 19, 127, 49, 31, 27, 127, 101, 55, 39, 127, 157, 96, 71, 127, 183, 118, 87, 127, 191, 133, 102, 127, 197, 140, 110, 127, 199, 144, 113, 127, 199, 144, 115, 127, 197, 144, 115, 127, 193, 141, 109, 127, 189, 134, 105, 127, 209, 156, 128, 127, 225, 174, 153, 127, 230, 177, 158, 127, 217, 167, 134, 127, 191, 143, 101, 127, 166, 118, 73, 127, 159, 115, 76, 127, 163, 118, 84, 127, 138, 88, 61, 127, 112, 66, 45, 127, 119, 87, 72, 127, 81, 61, 49, 127, 63, 43, 33, 127, 110, 80, 68, 127, 138, 98, 75, 127, 124, 84, 47, 127, 121, 85, 41, 127, 119, 78, 31, 127, 114, 78, 28, 127, 123, 89, 39, 127, 147, 107, 64, 127, 157, 112, 67, 127, 174, 128, 82, 127, 175, 128, 81, 127, 183, 140, 96, 127, 187, 145, 103, 127, 169, 133, 99, 127, 103, 83, 59, 127, 43, 35, 20, 127, 13, 11, 9, 127, 8, 11, 10, 127, 19, 17, 14, 127, 47, 37, 31, 127, 101, 68, 53, 127, 124, 79, 45, 127, 117, 74, 31, 127, 107, 39, 21, 127, 135, 77, 57, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 251, 251, 250, 127, 209, 209, 207, 127, 118, 118, 113, 127, 102, 103, 97, 127, 94, 94, 92, 127, 103, 104, 105, 127, 98, 101, 103, 127, 99, 104, 107, 127, 119, 124, 130, 127, 132, 136, 143, 127, 119, 124, 128, 127, 88, 92, 94, 127, 53, 51, 57, 127, 82, 81, 87, 127, 51, 49, 55, 127, 26, 25, 29, 127, 22, 22, 24, 127, 13, 13, 15, 127, 15, 15, 17, 127, 21, 21, 23, 127, 22, 23, 25, 127, 31, 31, 33, 127, 39, 39, 41, 127, 47, 47, 51, 127, 41, 41, 45, 127, 39, 39, 43, 127, 33, 35, 39, 127, 37, 37, 41, 127, 39, 39, 41, 127, 35, 35, 37, 127, 37, 37, 39, 127, 35, 35, 37, 127, 30, 30, 31, 127, 29, 30, 30, 127, 24, 26, 25, 127, 17, 19, 18, 127, 23, 25, 24, 127, 28, 30, 29, 127, 33, 35, 37, 127, 35, 35, 39, 127, 33, 33, 37, 127, 31, 31, 35, 127, 33, 35, 39, 127, 31, 31, 37, 127, 31, 31, 33, 127, 33, 33, 35, 127, 35, 35, 37, 127, 35, 35, 37, 127, 28, 28, 30, 127, 30, 30, 30, 127, 27, 27, 27, 127, 24, 24, 24, 127, 18, 18, 18, 127, 17, 17, 17, 127, 12, 12, 12, 127, 5, 5, 5, 127, 7, 7, 7, 127, 19, 19, 19, 127, 20, 20, 20, 127, 21, 21, 21, 127, 15, 15, 17, 127, 11, 11, 13, 127, 12, 12, 13, 127, 33, 33, 35, 127, 24, 24, 26, 127, 22, 22, 23, 127, 11, 11, 11, 127, 17, 17, 17, 127, 15, 15, 15, 127, 4, 4, 4, 127, 5, 5, 5, 127, 7, 7, 7, 127, 18, 18, 18, 127, 18, 18, 18, 127, 17, 17, 17, 127, 18, 18, 18, 127, 18, 18, 18, 127, 11, 11, 11, 127, 12, 12, 12, 127, 12, 12, 12, 127, 16, 16, 16, 127, 18, 18, 18, 127, 16, 16, 16, 127, 14, 14, 14, 127, 13, 13, 13, 127, 12, 11, 12, 127, 9, 7, 7, 127, 11, 10, 8, 127, 15, 15, 10, 127, 18, 16, 16, 127, 17, 20, 15, 127, 43, 30, 25, 127, 87, 49, 31, 127, 142, 88, 59, 127, 177, 115, 80, 127, 185, 126, 92, 127, 195, 133, 102, 127, 195, 135, 104, 127, 197, 139, 112, 127, 197, 140, 113, 127, 193, 136, 107, 127, 203, 145, 118, 127, 232, 175, 152, 127, 235, 183, 168, 127, 235, 183, 167, 127, 217, 167, 138, 127, 195, 146, 108, 127, 181, 133, 91, 127, 181, 138, 101, 127, 169, 124, 91, 127, 168, 113, 84, 127, 164, 107, 86, 127, 151, 110, 89, 127, 110, 87, 65, 127, 51, 35, 19, 127, 37, 26, 15, 127, 57, 41, 29, 127, 97, 70, 49, 127, 107, 71, 35, 127, 120, 82, 41, 127, 119, 81, 37, 127, 129, 89, 41, 127, 147, 105, 55, 127, 175, 133, 83, 127, 185, 143, 95, 127, 195, 149, 104, 127, 197, 155, 111, 127, 195, 157, 112, 127, 172, 143, 101, 127, 103, 89, 61, 127, 45, 41, 31, 127, 21, 21, 21, 127, 26, 28, 24, 127, 55, 45, 35, 127, 91, 68, 51, 127, 110, 75, 49, 127, 124, 79, 45, 127, 143, 99, 66, 127, 113, 37, 26, 127, 125, 77, 53, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 236, 236, 235, 127, 118, 118, 115, 127, 68, 69, 64, 127, 55, 55, 49, 127, 49, 49, 47, 127, 33, 35, 33, 127, 28, 30, 30, 127, 29, 30, 30, 127, 45, 47, 51, 127, 80, 81, 87, 127, 85, 85, 92, 127, 87, 88, 93, 127, 90, 90, 96, 127, 94, 95, 100, 127, 59, 59, 64, 127, 41, 43, 47, 127, 30, 31, 33, 127, 20, 20, 22, 127, 16, 16, 18, 127, 23, 23, 25, 127, 27, 27, 29, 127, 27, 27, 29, 127, 37, 37, 39, 127, 39, 41, 43, 127, 45, 47, 49, 127, 47, 49, 51, 127, 47, 49, 51, 127, 41, 41, 43, 127, 35, 35, 37, 127, 39, 39, 41, 127, 37, 37, 39, 127, 43, 43, 45, 127, 33, 33, 35, 127, 33, 33, 35, 127, 31, 31, 33, 127, 26, 26, 27, 127, 18, 19, 20, 127, 21, 22, 22, 127, 30, 30, 33, 127, 45, 45, 49, 127, 39, 39, 43, 127, 31, 31, 37, 127, 33, 33, 39, 127, 31, 30, 35, 127, 30, 30, 31, 127, 33, 33, 33, 127, 37, 37, 39, 127, 41, 41, 41, 127, 37, 37, 37, 127, 28, 28, 28, 127, 25, 25, 25, 127, 25, 25, 25, 127, 21, 21, 21, 127, 17, 17, 17, 127, 11, 11, 11, 127, 9, 9, 9, 127, 5, 5, 5, 127, 7, 7, 7, 127, 15, 15, 15, 127, 17, 17, 17, 127, 11, 11, 12, 127, 13, 13, 14, 127, 7, 7, 7, 127, 23, 23, 23, 127, 30, 30, 30, 127, 31, 31, 31, 127, 16, 16, 16, 127, 7, 7, 7, 127, 13, 13, 13, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 6, 6, 6, 127, 17, 17, 17, 127, 20, 20, 20, 127, 20, 20, 20, 127, 26, 26, 26, 127, 21, 21, 21, 127, 15, 15, 15, 127, 9, 9, 9, 127, 8, 8, 8, 127, 8, 8, 8, 127, 13, 13, 13, 127, 13, 13, 13, 127, 12, 12, 12, 127, 11, 11, 11, 127, 11, 11, 11, 127, 9, 9, 9, 127, 9, 9, 7, 127, 17, 16, 15, 127, 21, 15, 13, 127, 37, 23, 21, 127, 87, 47, 31, 127, 142, 83, 55, 127, 172, 108, 75, 127, 187, 124, 91, 127, 193, 131, 99, 127, 195, 135, 104, 127, 195, 134, 109, 127, 193, 132, 108, 127, 197, 135, 112, 127, 221, 163, 142, 127, 239, 187, 174, 127, 241, 193, 185, 127, 241, 189, 177, 127, 224, 170, 144, 127, 207, 151, 116, 127, 199, 144, 107, 127, 205, 158, 128, 127, 201, 154, 129, 127, 174, 122, 98, 127, 163, 108, 82, 127, 157, 106, 74, 127, 147, 104, 78, 127, 133, 95, 83, 127, 116, 83, 69, 127, 116, 83, 65, 127, 97, 59, 35, 127, 110, 68, 37, 127, 128, 81, 43, 127, 145, 97, 55, 127, 155, 106, 61, 127, 173, 125, 78, 127, 189, 145, 98, 127, 199, 155, 111, 127, 207, 160, 121, 127, 203, 159, 122, 127, 199, 160, 120, 127, 175, 149, 108, 127, 111, 99, 68, 127, 57, 53, 37, 127, 55, 49, 37, 127, 76, 61, 45, 127, 94, 64, 43, 127, 110, 68, 41, 127, 144, 99, 64, 127, 162, 114, 75, 127, 170, 111, 75, 127, 137, 76, 51, 127, 73, 47, 33, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 250, 250, 250, 127, 207, 207, 207, 127, 61, 61, 57, 127, 41, 41, 37, 127, 30, 31, 27, 127, 21, 23, 21, 127, 8, 10, 9, 127, 3, 4, 3, 127, 5, 4, 3, 127, 14, 14, 14, 127, 31, 31, 33, 127, 33, 33, 37, 127, 33, 33, 37, 127, 102, 103, 108, 127, 83, 84, 89, 127, 53, 53, 57, 127, 37, 37, 41, 127, 30, 31, 33, 127, 18, 18, 20, 127, 19, 19, 21, 127, 19, 19, 21, 127, 28, 28, 30, 127, 29, 29, 31, 127, 35, 37, 39, 127, 45, 47, 49, 127, 47, 47, 49, 127, 47, 49, 51, 127, 45, 47, 49, 127, 49, 49, 51, 127, 49, 49, 51, 127, 41, 41, 43, 127, 37, 37, 39, 127, 35, 35, 37, 127, 41, 41, 43, 127, 30, 30, 31, 127, 29, 29, 31, 127, 27, 27, 29, 127, 25, 25, 27, 127, 23, 23, 24, 127, 28, 28, 31, 127, 33, 33, 39, 127, 45, 43, 49, 127, 39, 39, 43, 127, 33, 33, 39, 127, 31, 30, 35, 127, 27, 27, 28, 127, 30, 30, 30, 127, 35, 35, 35, 127, 37, 37, 37, 127, 35, 35, 35, 127, 35, 35, 35, 127, 31, 31, 31, 127, 29, 29, 29, 127, 25, 25, 25, 127, 14, 14, 14, 127, 12, 12, 12, 127, 8, 8, 8, 127, 9, 9, 9, 127, 7, 7, 7, 127, 7, 7, 7, 127, 9, 9, 9, 127, 11, 11, 11, 127, 8, 8, 8, 127, 10, 10, 10, 127, 14, 14, 14, 127, 18, 18, 18, 127, 45, 45, 45, 127, 20, 20, 20, 127, 5, 5, 5, 127, 7, 7, 7, 127, 2, 2, 2, 127, 3, 3, 3, 127, 4, 4, 4, 127, 2, 2, 2, 127, 5, 5, 5, 127, 17, 17, 17, 127, 24, 24, 24, 127, 30, 30, 30, 127, 29, 29, 29, 127, 11, 11, 11, 127, 14, 14, 14, 127, 8, 8, 8, 127, 8, 8, 8, 127, 10, 10, 10, 127, 11, 11, 11, 127, 12, 12, 12, 127, 11, 11, 11, 127, 10, 10, 10, 127, 9, 9, 10, 127, 9, 9, 11, 127, 11, 10, 11, 127, 19, 11, 11, 127, 31, 18, 19, 127, 79, 45, 31, 127, 136, 77, 53, 127, 166, 102, 73, 127, 183, 119, 91, 127, 191, 125, 99, 127, 191, 130, 102, 127, 183, 121, 97, 127, 181, 121, 99, 127, 213, 150, 130, 127, 233, 177, 159, 127, 242, 193, 183, 127, 244, 197, 187, 127, 235, 183, 167, 127, 217, 161, 135, 127, 209, 151, 119, 127, 207, 150, 117, 127, 215, 164, 137, 127, 221, 173, 150, 127, 211, 161, 138, 127, 191, 142, 114, 127, 173, 124, 91, 127, 159, 112, 80, 127, 154, 110, 79, 127, 155, 112, 77, 127, 158, 117, 79, 127, 163, 120, 80, 127, 177, 134, 93, 127, 183, 138, 100, 127, 195, 150, 111, 127, 203, 156, 114, 127, 203, 156, 114, 127, 209, 160, 120, 127, 209, 162, 120, 127, 213, 167, 128, 127, 209, 164, 129, 127, 203, 164, 126, 127, 174, 144, 105, 127, 133, 113, 78, 127, 94, 77, 49, 127, 108, 84, 57, 127, 108, 77, 45, 127, 102, 61, 35, 127, 94, 49, 21, 127, 120, 66, 31, 127, 159, 95, 59, 127, 173, 112, 79, 127, 111, 72, 55, 127, 41, 31, 23, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 248, 248, 248, 127, 217, 217, 215, 127, 49, 47, 47, 127, 25, 24, 21, 127, 23, 23, 21, 127, 19, 20, 20, 127, 18, 20, 19, 127, 8, 8, 7, 127, 4, 3, 4, 127, 5, 5, 6, 127, 6, 6, 6, 127, 9, 9, 10, 127, 61, 61, 65, 127, 75, 76, 81, 127, 55, 55, 59, 127, 45, 45, 49, 127, 25, 26, 28, 127, 17, 18, 18, 127, 18, 18, 20, 127, 12, 12, 15, 127, 13, 13, 15, 127, 15, 15, 17, 127, 21, 21, 23, 127, 31, 33, 35, 127, 41, 43, 45, 127, 47, 49, 51, 127, 49, 49, 51, 127, 53, 55, 57, 127, 55, 55, 57, 127, 49, 49, 51, 127, 49, 49, 51, 127, 41, 41, 43, 127, 30, 30, 31, 127, 33, 33, 35, 127, 41, 41, 43, 127, 35, 35, 37, 127, 31, 31, 33, 127, 37, 37, 39, 127, 31, 31, 35, 127, 33, 31, 35, 127, 31, 31, 35, 127, 33, 33, 35, 127, 33, 33, 35, 127, 37, 37, 39, 127, 37, 35, 39, 127, 33, 33, 35, 127, 31, 31, 31, 127, 31, 31, 31, 127, 33, 33, 33, 127, 35, 35, 35, 127, 31, 31, 31, 127, 29, 29, 29, 127, 21, 21, 21, 127, 18, 18, 18, 127, 16, 16, 16, 127, 14, 14, 14, 127, 8, 8, 8, 127, 5, 5, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 7, 7, 7, 127, 13, 13, 13, 127, 13, 13, 13, 127, 17, 17, 17, 127, 39, 39, 39, 127, 20, 20, 20, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 8, 8, 8, 127, 20, 20, 20, 127, 27, 27, 27, 127, 39, 39, 39, 127, 18, 18, 18, 127, 8, 8, 8, 127, 12, 12, 12, 127, 8, 8, 8, 127, 13, 13, 13, 127, 19, 19, 19, 127, 24, 24, 24, 127, 20, 20, 20, 127, 11, 11, 11, 127, 13, 12, 14, 127, 11, 12, 14, 127, 11, 12, 12, 127, 14, 11, 9, 127, 22, 13, 15, 127, 61, 35, 25, 127, 114, 64, 45, 127, 150, 91, 64, 127, 168, 102, 80, 127, 179, 109, 88, 127, 172, 109, 83, 127, 152, 91, 66, 127, 183, 124, 101, 127, 230, 171, 152, 127, 237, 183, 169, 127, 247, 197, 187, 127, 240, 189, 174, 127, 232, 179, 159, 127, 217, 162, 135, 127, 207, 152, 122, 127, 209, 155, 124, 127, 219, 167, 141, 127, 221, 171, 148, 127, 228, 179, 157, 127, 211, 164, 137, 127, 203, 156, 123, 127, 185, 140, 105, 127, 179, 136, 99, 127, 179, 137, 98, 127, 189, 146, 107, 127, 203, 160, 122, 127, 213, 173, 135, 127, 219, 177, 144, 127, 223, 179, 146, 127, 226, 181, 145, 127, 223, 174, 138, 127, 221, 170, 135, 127, 217, 172, 130, 127, 215, 171, 132, 127, 205, 162, 127, 127, 199, 161, 121, 127, 175, 144, 105, 127, 131, 107, 70, 127, 127, 102, 65, 127, 151, 113, 74, 127, 138, 90, 49, 127, 150, 99, 65, 127, 133, 83, 51, 127, 123, 59, 29, 127, 154, 81, 47, 127, 157, 103, 78, 127, 55, 37, 28, 127, 39, 35, 27, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 250, 250, 250, 127, 238, 238, 238, 127, 102, 102, 101, 127, 15, 14, 12, 127, 16, 16, 13, 127, 22, 23, 21, 127, 33, 35, 35, 127, 41, 43, 45, 127, 21, 20, 26, 127, 11, 10, 15, 127, 11, 11, 14, 127, 49, 49, 53, 127, 70, 69, 74, 127, 59, 61, 66, 127, 47, 49, 51, 127, 53, 55, 55, 127, 39, 39, 39, 127, 15, 17, 16, 127, 11, 11, 12, 127, 9, 9, 11, 127, 8, 8, 10, 127, 13, 13, 15, 127, 22, 22, 24, 127, 26, 26, 28, 127, 33, 35, 37, 127, 43, 45, 47, 127, 47, 47, 49, 127, 41, 43, 45, 127, 39, 39, 41, 127, 51, 51, 53, 127, 53, 53, 55, 127, 55, 55, 57, 127, 43, 43, 45, 127, 31, 31, 33, 127, 37, 37, 39, 127, 41, 41, 43, 127, 39, 39, 41, 127, 37, 37, 39, 127, 33, 33, 35, 127, 31, 31, 33, 127, 30, 30, 31, 127, 28, 28, 28, 127, 30, 30, 31, 127, 30, 30, 30, 127, 30, 30, 31, 127, 29, 29, 30, 127, 27, 27, 27, 127, 25, 25, 25, 127, 21, 21, 21, 127, 20, 20, 20, 127, 16, 16, 16, 127, 17, 17, 17, 127, 15, 15, 15, 127, 11, 11, 11, 127, 11, 11, 11, 127, 8, 8, 8, 127, 8, 8, 8, 127, 5, 5, 5, 127, 8, 8, 8, 127, 10, 10, 10, 127, 6, 6, 6, 127, 4, 4, 4, 127, 6, 6, 6, 127, 9, 9, 9, 127, 10, 10, 10, 127, 18, 18, 18, 127, 39, 39, 39, 127, 11, 11, 11, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 15, 15, 15, 127, 26, 26, 26, 127, 41, 41, 41, 127, 35, 35, 35, 127, 8, 8, 8, 127, 18, 18, 18, 127, 10, 10, 10, 127, 11, 11, 11, 127, 20, 20, 20, 127, 35, 35, 35, 127, 33, 33, 33, 127, 15, 15, 16, 127, 8, 6, 9, 127, 6, 7, 9, 127, 10, 10, 10, 127, 15, 13, 10, 127, 20, 17, 16, 127, 43, 30, 22, 127, 94, 55, 41, 127, 131, 80, 55, 127, 147, 86, 67, 127, 154, 88, 67, 127, 143, 84, 59, 127, 172, 113, 90, 127, 205, 145, 122, 127, 232, 175, 157, 127, 246, 193, 179, 127, 245, 195, 181, 127, 238, 187, 171, 127, 230, 175, 157, 127, 221, 164, 138, 127, 215, 159, 131, 127, 215, 163, 134, 127, 223, 172, 144, 127, 226, 174, 151, 127, 232, 181, 160, 127, 230, 181, 158, 127, 221, 175, 147, 127, 217, 173, 142, 127, 217, 172, 143, 127, 217, 171, 142, 127, 223, 177, 150, 127, 228, 183, 157, 127, 234, 189, 163, 127, 234, 191, 162, 127, 234, 191, 160, 127, 234, 189, 158, 127, 228, 179, 148, 127, 223, 173, 139, 127, 219, 175, 135, 127, 211, 168, 132, 127, 201, 158, 123, 127, 193, 156, 115, 127, 172, 138, 97, 127, 129, 100, 63, 127, 137, 107, 68, 127, 169, 126, 86, 127, 148, 90, 51, 127, 168, 110, 72, 127, 169, 114, 80, 127, 152, 90, 61, 127, 175, 111, 86, 127, 103, 70, 55, 127, 33, 30, 25, 127, 35, 30, 24, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 251, 251, 251, 127, 251, 251, 251, 127, 197, 197, 195, 127, 55, 55, 53, 127, 16, 16, 15, 127, 21, 23, 21, 127, 21, 23, 21, 127, 55, 55, 59, 127, 69, 68, 75, 127, 47, 47, 51, 127, 39, 39, 41, 127, 70, 70, 69, 127, 39, 39, 39, 127, 39, 41, 43, 127, 47, 49, 51, 127, 47, 49, 49, 127, 33, 35, 33, 127, 22, 24, 21, 127, 16, 16, 16, 127, 9, 9, 11, 127, 16, 16, 18, 127, 31, 31, 33, 127, 33, 33, 35, 127, 27, 27, 29, 127, 33, 33, 35, 127, 41, 41, 43, 127, 43, 43, 45, 127, 41, 43, 45, 127, 41, 43, 45, 127, 51, 51, 53, 127, 47, 47, 49, 127, 47, 47, 49, 127, 49, 49, 51, 127, 45, 45, 47, 127, 37, 37, 39, 127, 33, 33, 35, 127, 39, 39, 41, 127, 39, 39, 41, 127, 31, 31, 33, 127, 29, 29, 29, 127, 24, 24, 24, 127, 21, 21, 21, 127, 21, 21, 21, 127, 19, 19, 19, 127, 21, 21, 21, 127, 19, 19, 19, 127, 18, 18, 18, 127, 19, 19, 19, 127, 17, 17, 17, 127, 19, 19, 19, 127, 19, 19, 19, 127, 18, 18, 18, 127, 15, 15, 15, 127, 15, 15, 15, 127, 14, 14, 14, 127, 13, 13, 13, 127, 10, 10, 10, 127, 7, 7, 7, 127, 8, 8, 8, 127, 10, 10, 10, 127, 8, 8, 8, 127, 4, 4, 4, 127, 6, 6, 6, 127, 5, 5, 5, 127, 9, 9, 9, 127, 22, 22, 22, 127, 31, 31, 31, 127, 6, 6, 6, 127, 5, 5, 5, 127, 4, 4, 4, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 10, 10, 10, 127, 23, 23, 23, 127, 37, 37, 37, 127, 45, 45, 45, 127, 11, 11, 11, 127, 14, 14, 14, 127, 9, 9, 9, 127, 12, 12, 12, 127, 16, 16, 16, 127, 37, 37, 37, 127, 39, 39, 39, 127, 24, 24, 24, 127, 12, 10, 12, 127, 9, 9, 11, 127, 9, 11, 10, 127, 11, 12, 8, 127, 18, 17, 15, 127, 33, 26, 22, 127, 73, 45, 33, 127, 105, 63, 43, 127, 118, 68, 49, 127, 122, 66, 43, 127, 150, 96, 74, 127, 207, 149, 126, 127, 219, 158, 134, 127, 237, 181, 164, 127, 244, 193, 185, 127, 243, 193, 181, 127, 243, 189, 174, 127, 231, 175, 156, 127, 223, 166, 139, 127, 215, 160, 131, 127, 207, 158, 126, 127, 219, 166, 138, 127, 225, 171, 149, 127, 234, 183, 162, 127, 236, 189, 167, 127, 234, 189, 165, 127, 232, 187, 161, 127, 233, 187, 161, 127, 235, 189, 163, 127, 239, 193, 165, 127, 238, 191, 164, 127, 238, 191, 165, 127, 238, 191, 160, 127, 234, 185, 158, 127, 231, 181, 154, 127, 227, 177, 147, 127, 223, 174, 139, 127, 213, 167, 130, 127, 203, 161, 125, 127, 191, 152, 116, 127, 179, 144, 102, 127, 156, 122, 80, 127, 139, 105, 68, 127, 148, 111, 74, 127, 177, 131, 97, 127, 177, 121, 94, 127, 179, 123, 92, 127, 191, 134, 101, 127, 195, 138, 111, 127, 160, 116, 98, 127, 41, 33, 28, 127, 43, 33, 33, 127, 49, 37, 33, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 249, 249, 247, 127, 207, 207, 207, 127, 77, 77, 76, 127, 21, 21, 21, 127, 26, 28, 26, 127, 18, 19, 19, 127, 28, 28, 30, 127, 31, 31, 31, 127, 33, 35, 33, 127, 31, 31, 26, 127, 27, 28, 24, 127, 31, 31, 33, 127, 33, 35, 33, 127, 31, 33, 31, 127, 25, 26, 24, 127, 23, 25, 23, 127, 24, 24, 25, 127, 22, 22, 24, 127, 25, 25, 27, 127, 28, 28, 30, 127, 31, 31, 33, 127, 35, 35, 37, 127, 31, 31, 33, 127, 39, 39, 41, 127, 39, 41, 43, 127, 41, 43, 45, 127, 45, 45, 47, 127, 51, 51, 53, 127, 45, 45, 47, 127, 37, 37, 39, 127, 35, 35, 37, 127, 35, 35, 37, 127, 43, 43, 45, 127, 35, 35, 37, 127, 28, 28, 30, 127, 31, 31, 33, 127, 28, 28, 30, 127, 23, 23, 24, 127, 18, 18, 18, 127, 15, 15, 15, 127, 15, 15, 15, 127, 10, 10, 10, 127, 7, 7, 7, 127, 10, 10, 10, 127, 10, 10, 10, 127, 7, 7, 7, 127, 8, 8, 8, 127, 15, 15, 15, 127, 10, 10, 10, 127, 12, 12, 12, 127, 9, 9, 9, 127, 11, 11, 11, 127, 9, 9, 9, 127, 12, 12, 12, 127, 6, 6, 6, 127, 5, 5, 5, 127, 4, 4, 4, 127, 8, 8, 8, 127, 12, 12, 12, 127, 8, 8, 8, 127, 7, 7, 7, 127, 6, 6, 6, 127, 10, 10, 10, 127, 14, 14, 14, 127, 16, 16, 16, 127, 5, 5, 5, 127, 3, 3, 3, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 6, 6, 6, 127, 22, 21, 21, 127, 35, 33, 33, 127, 43, 41, 43, 127, 28, 27, 28, 127, 12, 12, 12, 127, 8, 8, 8, 127, 10, 10, 10, 127, 15, 15, 15, 127, 22, 22, 22, 127, 45, 45, 45, 127, 28, 28, 28, 127, 16, 14, 15, 127, 9, 10, 10, 127, 10, 12, 11, 127, 15, 17, 15, 127, 15, 14, 13, 127, 22, 20, 16, 127, 57, 37, 29, 127, 81, 45, 28, 127, 95, 51, 31, 127, 115, 66, 43, 127, 140, 89, 69, 127, 183, 126, 105, 127, 219, 157, 130, 127, 235, 177, 158, 127, 237, 187, 179, 127, 240, 185, 177, 127, 241, 181, 168, 127, 235, 177, 158, 127, 221, 169, 142, 127, 219, 169, 139, 127, 207, 160, 128, 127, 195, 138, 111, 127, 215, 156, 132, 127, 235, 181, 159, 127, 239, 191, 169, 127, 237, 193, 170, 127, 237, 191, 170, 127, 239, 191, 169, 127, 238, 191, 166, 127, 243, 193, 168, 127, 243, 193, 166, 127, 237, 189, 160, 127, 236, 185, 151, 127, 231, 179, 147, 127, 226, 174, 143, 127, 213, 163, 129, 127, 215, 165, 129, 127, 203, 156, 122, 127, 189, 150, 114, 127, 175, 140, 101, 127, 162, 126, 84, 127, 144, 110, 70, 127, 153, 119, 81, 127, 157, 118, 80, 127, 191, 143, 113, 127, 199, 148, 126, 127, 219, 168, 142, 127, 209, 161, 133, 127, 170, 127, 104, 127, 76, 53, 39, 127, 31, 30, 21, 127, 53, 41, 39, 127, 74, 57, 55, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 252, 127, 251, 251, 250, 127, 246, 246, 246, 127, 91, 91, 86, 127, 20, 20, 18, 127, 20, 22, 21, 127, 17, 18, 17, 127, 12, 12, 12, 127, 17, 17, 17, 127, 18, 18, 18, 127, 21, 21, 21, 127, 28, 28, 28, 127, 35, 35, 35, 127, 33, 33, 33, 127, 30, 30, 30, 127, 21, 21, 21, 127, 21, 22, 21, 127, 23, 24, 25, 127, 20, 20, 23, 127, 25, 25, 27, 127, 20, 20, 22, 127, 29, 29, 31, 127, 35, 35, 37, 127, 29, 29, 31, 127, 27, 27, 29, 127, 33, 33, 35, 127, 35, 35, 37, 127, 37, 37, 39, 127, 45, 43, 47, 127, 47, 47, 49, 127, 47, 47, 49, 127, 43, 43, 45, 127, 33, 33, 35, 127, 33, 33, 35, 127, 35, 35, 37, 127, 31, 31, 33, 127, 26, 26, 28, 127, 25, 25, 27, 127, 18, 18, 19, 127, 13, 13, 13, 127, 12, 12, 12, 127, 9, 9, 9, 127, 6, 6, 6, 127, 5, 5, 5, 127, 3, 3, 3, 127, 4, 4, 4, 127, 6, 6, 6, 127, 7, 7, 7, 127, 5, 5, 5, 127, 4, 4, 4, 127, 6, 6, 6, 127, 8, 8, 8, 127, 9, 9, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 4, 4, 4, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 7, 7, 7, 127, 8, 8, 8, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 22, 20, 21, 127, 33, 31, 33, 127, 47, 45, 45, 127, 41, 39, 39, 127, 15, 14, 14, 127, 11, 11, 11, 127, 13, 13, 13, 127, 17, 17, 17, 127, 18, 18, 18, 127, 30, 30, 30, 127, 26, 26, 26, 127, 18, 16, 17, 127, 13, 13, 13, 127, 19, 18, 19, 127, 18, 17, 19, 127, 10, 10, 9, 127, 13, 14, 9, 127, 43, 29, 20, 127, 68, 37, 22, 127, 97, 55, 37, 127, 129, 78, 57, 127, 125, 74, 57, 127, 140, 85, 68, 127, 207, 142, 117, 127, 223, 156, 134, 127, 237, 177, 164, 127, 242, 185, 172, 127, 240, 179, 164, 127, 235, 177, 157, 127, 233, 183, 161, 127, 237, 187, 164, 127, 227, 179, 151, 127, 191, 130, 103, 127, 203, 141, 114, 127, 225, 170, 145, 127, 238, 187, 166, 127, 241, 195, 175, 127, 240, 193, 174, 127, 236, 185, 167, 127, 238, 185, 161, 127, 239, 185, 156, 127, 236, 183, 152, 127, 231, 179, 147, 127, 229, 174, 138, 127, 226, 171, 134, 127, 219, 166, 130, 127, 215, 164, 129, 127, 207, 158, 124, 127, 195, 149, 116, 127, 174, 136, 100, 127, 158, 124, 83, 127, 147, 111, 69, 127, 142, 108, 69, 127, 166, 134, 95, 127, 183, 145, 104, 127, 225, 175, 139, 127, 221, 166, 134, 127, 221, 175, 146, 127, 175, 139, 115, 127, 83, 63, 45, 127, 43, 31, 18, 127, 45, 39, 29, 127, 59, 55, 47, 127, 65, 55, 49, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 251, 251, 251, 127, 253, 253, 253, 127, 252, 252, 252, 127, 247, 247, 247, 127, 93, 93, 88, 127, 26, 25, 23, 127, 14, 16, 16, 127, 20, 21, 20, 127, 16, 16, 16, 127, 12, 12, 12, 127, 14, 14, 14, 127, 31, 31, 31, 127, 24, 24, 24, 127, 33, 33, 33, 127, 29, 29, 29, 127, 23, 23, 23, 127, 18, 18, 18, 127, 14, 14, 14, 127, 19, 19, 20, 127, 20, 20, 22, 127, 28, 28, 30, 127, 23, 23, 25, 127, 22, 22, 24, 127, 21, 21, 23, 127, 19, 19, 21, 127, 17, 17, 19, 127, 22, 22, 24, 127, 24, 24, 26, 127, 27, 27, 29, 127, 33, 33, 35, 127, 39, 39, 41, 127, 49, 49, 51, 127, 55, 55, 57, 127, 43, 43, 45, 127, 35, 35, 37, 127, 35, 35, 37, 127, 33, 33, 35, 127, 31, 31, 33, 127, 31, 31, 33, 127, 29, 29, 31, 127, 24, 24, 24, 127, 17, 17, 17, 127, 15, 15, 15, 127, 11, 11, 11, 127, 8, 8, 8, 127, 6, 6, 6, 127, 9, 9, 9, 127, 10, 10, 10, 127, 8, 8, 8, 127, 5, 5, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 5, 5, 5, 127, 7, 7, 7, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 9, 9, 9, 127, 8, 8, 8, 127, 5, 5, 5, 127, 3, 3, 3, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 2, 2, 2, 127, 3, 3, 3, 127, 5, 5, 5, 127, 10, 9, 10, 127, 31, 29, 30, 127, 37, 35, 35, 127, 43, 41, 43, 127, 23, 21, 22, 127, 16, 15, 15, 127, 16, 16, 16, 127, 19, 19, 19, 127, 24, 24, 24, 127, 16, 16, 16, 127, 15, 15, 15, 127, 15, 15, 15, 127, 10, 10, 10, 127, 11, 11, 11, 127, 9, 8, 9, 127, 7, 8, 7, 127, 11, 11, 7, 127, 35, 24, 17, 127, 67, 39, 28, 127, 98, 59, 41, 127, 122, 69, 51, 127, 130, 76, 63, 127, 104, 53, 39, 127, 157, 92, 75, 127, 189, 110, 96, 127, 211, 137, 116, 127, 215, 149, 119, 127, 215, 153, 126, 127, 224, 164, 137, 127, 234, 177, 149, 127, 233, 177, 149, 127, 226, 171, 141, 127, 185, 123, 95, 127, 195, 135, 107, 127, 213, 157, 130, 127, 226, 174, 149, 127, 234, 187, 162, 127, 238, 189, 165, 127, 241, 187, 164, 127, 234, 177, 148, 127, 233, 174, 143, 127, 229, 172, 140, 127, 223, 166, 134, 127, 221, 164, 128, 127, 217, 162, 123, 127, 209, 157, 119, 127, 193, 146, 109, 127, 187, 142, 106, 127, 173, 133, 95, 127, 156, 123, 80, 127, 143, 111, 66, 127, 140, 105, 61, 127, 156, 122, 79, 127, 175, 140, 99, 127, 189, 147, 103, 127, 175, 123, 82, 127, 164, 111, 75, 127, 172, 132, 104, 127, 98, 74, 59, 127, 39, 28, 18, 127, 41, 29, 22, 127, 47, 33, 30, 127, 61, 49, 47, 127, 51, 41, 35, 127, \ +254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 251, 251, 251, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 250, 127, 171, 171, 168, 127, 28, 27, 25, 127, 16, 17, 18, 127, 13, 13, 12, 127, 15, 15, 15, 127, 13, 13, 13, 127, 20, 20, 20, 127, 19, 19, 19, 127, 33, 33, 33, 127, 23, 23, 23, 127, 31, 31, 31, 127, 23, 23, 23, 127, 17, 17, 17, 127, 16, 16, 16, 127, 15, 15, 17, 127, 22, 22, 24, 127, 19, 19, 21, 127, 21, 21, 23, 127, 17, 17, 19, 127, 16, 16, 18, 127, 25, 25, 27, 127, 31, 31, 33, 127, 33, 33, 35, 127, 37, 37, 39, 127, 35, 35, 37, 127, 43, 43, 45, 127, 43, 43, 45, 127, 41, 41, 43, 127, 39, 39, 41, 127, 45, 45, 47, 127, 45, 45, 47, 127, 37, 37, 39, 127, 35, 35, 37, 127, 37, 37, 39, 127, 37, 37, 39, 127, 35, 35, 35, 127, 31, 31, 31, 127, 24, 24, 24, 127, 18, 18, 18, 127, 15, 15, 15, 127, 23, 23, 23, 127, 25, 25, 25, 127, 10, 10, 10, 127, 11, 11, 11, 127, 15, 15, 15, 127, 10, 10, 10, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 4, 4, 4, 127, 8, 8, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 7, 7, 7, 127, 10, 10, 10, 127, 8, 8, 8, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 7, 7, 127, 8, 8, 8, 127, 4, 4, 4, 127, 4, 4, 4, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 7, 7, 127, 8, 8, 8, 127, 10, 10, 10, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 5, 6, 127, 25, 23, 24, 127, 30, 28, 29, 127, 41, 39, 39, 127, 33, 31, 33, 127, 19, 18, 18, 127, 18, 18, 18, 127, 24, 24, 24, 127, 31, 31, 31, 127, 27, 27, 27, 127, 16, 16, 16, 127, 11, 11, 11, 127, 9, 10, 10, 127, 10, 10, 10, 127, 10, 10, 10, 127, 7, 7, 6, 127, 10, 9, 6, 127, 31, 21, 16, 127, 59, 39, 29, 127, 84, 51, 37, 127, 115, 66, 49, 127, 133, 80, 63, 127, 109, 64, 47, 127, 94, 47, 31, 127, 117, 57, 45, 127, 144, 77, 59, 127, 149, 91, 57, 127, 129, 78, 47, 127, 130, 77, 47, 127, 146, 88, 55, 127, 173, 113, 79, 127, 189, 128, 91, 127, 164, 106, 76, 127, 185, 129, 102, 127, 199, 143, 113, 127, 215, 160, 130, 127, 225, 172, 141, 127, 230, 175, 146, 127, 231, 174, 145, 127, 232, 170, 137, 127, 229, 165, 128, 127, 227, 166, 128, 127, 219, 158, 121, 127, 211, 153, 115, 127, 203, 148, 109, 127, 195, 146, 106, 127, 183, 140, 99, 127, 174, 132, 91, 127, 161, 125, 82, 127, 149, 117, 72, 127, 146, 114, 68, 127, 144, 111, 66, 127, 165, 133, 91, 127, 171, 132, 91, 127, 201, 156, 113, 127, 161, 122, 89, 127, 119, 80, 53, 127, 86, 51, 31, 127, 53, 31, 21, 127, 41, 33, 22, 127, 47, 35, 27, 127, 49, 33, 29, 127, 57, 43, 39, 127, 61, 51, 43, 127, \ +254, 254, 254, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 251, 127, 253, 253, 251, 127, 252, 252, 251, 127, 219, 219, 217, 127, 43, 43, 41, 127, 20, 21, 22, 127, 13, 14, 13, 127, 17, 17, 17, 127, 15, 15, 15, 127, 22, 22, 22, 127, 20, 20, 20, 127, 22, 22, 22, 127, 22, 22, 22, 127, 25, 25, 25, 127, 31, 31, 31, 127, 20, 20, 20, 127, 14, 14, 14, 127, 13, 13, 14, 127, 20, 20, 22, 127, 27, 27, 29, 127, 19, 19, 21, 127, 19, 19, 21, 127, 24, 24, 26, 127, 29, 29, 31, 127, 33, 33, 35, 127, 30, 30, 31, 127, 33, 33, 35, 127, 37, 37, 39, 127, 35, 35, 37, 127, 33, 33, 35, 127, 35, 35, 37, 127, 31, 31, 33, 127, 37, 37, 39, 127, 39, 39, 41, 127, 43, 43, 45, 127, 39, 39, 41, 127, 37, 37, 39, 127, 33, 33, 35, 127, 28, 28, 30, 127, 28, 28, 28, 127, 24, 24, 24, 127, 19, 19, 19, 127, 26, 26, 26, 127, 43, 43, 43, 127, 20, 20, 20, 127, 8, 8, 8, 127, 25, 25, 25, 127, 25, 25, 25, 127, 37, 37, 37, 127, 14, 14, 14, 127, 4, 4, 4, 127, 9, 9, 9, 127, 11, 11, 11, 127, 13, 13, 13, 127, 11, 11, 11, 127, 12, 12, 12, 127, 7, 7, 7, 127, 8, 8, 8, 127, 11, 11, 11, 127, 9, 9, 9, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 8, 8, 8, 127, 6, 6, 6, 127, 8, 8, 8, 127, 7, 7, 7, 127, 6, 6, 6, 127, 9, 9, 9, 127, 8, 8, 8, 127, 10, 10, 10, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 4, 4, 4, 127, 5, 4, 5, 127, 9, 7, 8, 127, 15, 13, 14, 127, 23, 21, 22, 127, 27, 25, 26, 127, 31, 30, 31, 127, 24, 23, 23, 127, 17, 17, 17, 127, 17, 17, 17, 127, 23, 23, 23, 127, 26, 26, 26, 127, 22, 22, 22, 127, 13, 13, 13, 127, 10, 11, 11, 127, 11, 12, 12, 127, 14, 14, 14, 127, 15, 15, 14, 127, 18, 14, 13, 127, 30, 22, 19, 127, 39, 29, 21, 127, 61, 41, 27, 127, 103, 63, 45, 127, 130, 79, 59, 127, 120, 75, 51, 127, 94, 59, 35, 127, 74, 41, 24, 127, 80, 45, 23, 127, 90, 57, 28, 127, 78, 45, 22, 127, 81, 41, 18, 127, 90, 39, 17, 127, 113, 55, 30, 127, 152, 92, 64, 127, 189, 134, 108, 127, 189, 133, 107, 127, 183, 128, 97, 127, 203, 147, 114, 127, 217, 159, 122, 127, 221, 164, 127, 127, 221, 166, 130, 127, 223, 162, 122, 127, 213, 150, 107, 127, 215, 155, 112, 127, 207, 148, 106, 127, 205, 148, 107, 127, 197, 143, 102, 127, 185, 138, 97, 127, 177, 135, 92, 127, 168, 131, 87, 127, 161, 128, 83, 127, 150, 116, 71, 127, 146, 113, 69, 127, 149, 120, 78, 127, 159, 130, 93, 127, 119, 84, 49, 127, 118, 84, 51, 127, 81, 57, 33, 127, 61, 35, 15, 127, 75, 45, 28, 127, 61, 43, 31, 127, 53, 49, 31, 127, 47, 41, 30, 127, 39, 31, 23, 127, 43, 35, 30, 127, 24, 22, 16, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 250, 250, 250, 127, 251, 251, 250, 127, 252, 252, 250, 127, 252, 252, 251, 127, 233, 233, 231, 127, 59, 57, 55, 127, 20, 21, 21, 127, 14, 15, 14, 127, 22, 22, 22, 127, 22, 22, 22, 127, 19, 19, 19, 127, 19, 19, 19, 127, 20, 20, 20, 127, 20, 20, 20, 127, 21, 21, 21, 127, 24, 24, 24, 127, 22, 22, 22, 127, 14, 14, 14, 127, 14, 14, 15, 127, 15, 15, 17, 127, 24, 24, 26, 127, 22, 22, 24, 127, 18, 18, 20, 127, 23, 23, 25, 127, 25, 25, 27, 127, 27, 27, 28, 127, 27, 27, 28, 127, 24, 24, 26, 127, 24, 24, 25, 127, 23, 23, 24, 127, 23, 23, 24, 127, 23, 23, 24, 127, 24, 24, 26, 127, 31, 31, 33, 127, 35, 35, 37, 127, 41, 41, 43, 127, 41, 41, 43, 127, 39, 39, 41, 127, 33, 33, 35, 127, 30, 30, 31, 127, 26, 26, 27, 127, 22, 22, 22, 127, 22, 22, 21, 127, 31, 28, 28, 127, 47, 41, 43, 127, 29, 25, 25, 127, 9, 9, 9, 127, 28, 28, 28, 127, 49, 49, 49, 127, 49, 47, 49, 127, 19, 19, 19, 127, 6, 6, 6, 127, 10, 10, 10, 127, 18, 18, 19, 127, 19, 19, 19, 127, 15, 15, 15, 127, 17, 17, 17, 127, 10, 10, 10, 127, 11, 11, 11, 127, 12, 12, 12, 127, 12, 12, 12, 127, 12, 12, 12, 127, 9, 9, 9, 127, 5, 5, 5, 127, 7, 7, 7, 127, 7, 7, 7, 127, 8, 8, 8, 127, 5, 5, 5, 127, 6, 6, 6, 127, 11, 11, 11, 127, 8, 8, 8, 127, 4, 4, 4, 127, 4, 4, 4, 127, 6, 6, 6, 127, 4, 4, 4, 127, 3, 3, 3, 127, 5, 4, 5, 127, 7, 6, 7, 127, 11, 9, 10, 127, 21, 19, 20, 127, 22, 20, 21, 127, 22, 20, 21, 127, 23, 22, 22, 127, 20, 20, 20, 127, 19, 19, 19, 127, 22, 22, 22, 127, 20, 20, 20, 127, 15, 15, 15, 127, 11, 11, 11, 127, 9, 9, 9, 127, 14, 14, 14, 127, 17, 17, 17, 127, 16, 15, 16, 127, 19, 14, 14, 127, 24, 17, 14, 127, 30, 25, 19, 127, 37, 27, 15, 127, 94, 64, 45, 127, 132, 86, 64, 127, 132, 84, 57, 127, 123, 75, 49, 127, 103, 59, 37, 127, 89, 47, 25, 127, 103, 57, 29, 127, 121, 77, 51, 127, 141, 91, 67, 127, 158, 102, 80, 127, 177, 123, 100, 127, 195, 143, 119, 127, 203, 150, 124, 127, 191, 137, 108, 127, 174, 116, 86, 127, 191, 131, 95, 127, 207, 145, 105, 127, 211, 152, 112, 127, 209, 151, 112, 127, 209, 150, 107, 127, 209, 147, 101, 127, 203, 143, 97, 127, 197, 138, 93, 127, 195, 140, 97, 127, 187, 134, 92, 127, 177, 130, 88, 127, 173, 132, 88, 127, 168, 133, 89, 127, 164, 131, 87, 127, 158, 120, 78, 127, 147, 112, 72, 127, 159, 132, 92, 127, 145, 117, 82, 127, 108, 79, 49, 127, 92, 71, 45, 127, 71, 53, 29, 127, 78, 49, 22, 127, 81, 55, 31, 127, 73, 55, 43, 127, 67, 57, 47, 127, 45, 37, 29, 127, 43, 33, 31, 127, 33, 28, 30, 127, 27, 23, 24, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 250, 250, 250, 127, 251, 251, 251, 127, 253, 253, 251, 127, 252, 252, 252, 127, 242, 242, 241, 127, 73, 74, 70, 127, 24, 25, 21, 127, 18, 19, 16, 127, 22, 22, 22, 127, 20, 20, 20, 127, 21, 21, 21, 127, 19, 19, 19, 127, 17, 17, 17, 127, 18, 18, 18, 127, 18, 18, 18, 127, 19, 19, 19, 127, 17, 17, 17, 127, 21, 21, 21, 127, 16, 16, 16, 127, 12, 12, 12, 127, 12, 12, 12, 127, 16, 16, 16, 127, 15, 15, 15, 127, 18, 18, 18, 127, 15, 15, 15, 127, 14, 14, 14, 127, 17, 17, 18, 127, 15, 15, 15, 127, 12, 12, 12, 127, 13, 13, 12, 127, 16, 16, 14, 127, 24, 24, 23, 127, 31, 31, 31, 127, 33, 33, 35, 127, 33, 33, 35, 127, 33, 33, 35, 127, 35, 35, 37, 127, 35, 35, 37, 127, 33, 33, 35, 127, 27, 27, 31, 127, 21, 20, 25, 127, 15, 18, 18, 127, 26, 27, 22, 127, 82, 57, 57, 127, 136, 92, 95, 127, 72, 45, 45, 127, 27, 22, 23, 127, 47, 45, 51, 127, 67, 64, 70, 127, 43, 41, 45, 127, 21, 21, 23, 127, 5, 5, 6, 127, 6, 6, 8, 127, 11, 11, 13, 127, 16, 16, 18, 127, 19, 19, 20, 127, 20, 20, 20, 127, 14, 14, 14, 127, 12, 12, 12, 127, 15, 15, 15, 127, 16, 16, 16, 127, 16, 16, 16, 127, 13, 13, 13, 127, 9, 9, 9, 127, 9, 9, 9, 127, 9, 9, 9, 127, 11, 11, 11, 127, 7, 7, 7, 127, 5, 5, 5, 127, 8, 8, 8, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 7, 7, 127, 7, 7, 7, 127, 4, 4, 4, 127, 4, 4, 4, 127, 5, 5, 5, 127, 7, 6, 6, 127, 12, 12, 12, 127, 18, 18, 18, 127, 27, 27, 27, 127, 24, 24, 24, 127, 22, 21, 21, 127, 16, 14, 15, 127, 21, 19, 20, 127, 23, 22, 23, 127, 20, 18, 19, 127, 15, 14, 15, 127, 10, 10, 10, 127, 9, 8, 9, 127, 10, 9, 9, 127, 10, 10, 10, 127, 7, 7, 7, 127, 8, 7, 10, 127, 23, 20, 14, 127, 31, 27, 23, 127, 30, 20, 18, 127, 61, 35, 25, 127, 121, 76, 53, 127, 148, 93, 66, 127, 153, 97, 69, 127, 144, 92, 63, 127, 137, 85, 57, 127, 145, 92, 64, 127, 166, 115, 83, 127, 183, 131, 102, 127, 193, 141, 116, 127, 205, 154, 126, 127, 205, 156, 125, 127, 201, 150, 116, 127, 199, 145, 112, 127, 166, 112, 77, 127, 166, 110, 71, 127, 183, 126, 84, 127, 191, 132, 90, 127, 189, 130, 87, 127, 193, 133, 89, 127, 193, 134, 90, 127, 191, 132, 88, 127, 191, 133, 89, 127, 185, 132, 88, 127, 177, 126, 83, 127, 174, 126, 83, 127, 172, 131, 87, 127, 171, 139, 93, 127, 165, 132, 87, 127, 156, 122, 81, 127, 150, 118, 80, 127, 163, 134, 97, 127, 140, 108, 77, 127, 122, 90, 61, 127, 102, 79, 53, 127, 94, 64, 37, 127, 99, 61, 30, 127, 81, 61, 39, 127, 83, 69, 57, 127, 87, 85, 73, 127, 64, 61, 53, 127, 24, 22, 20, 127, 23, 24, 28, 127, 28, 27, 26, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 250, 250, 250, 127, 251, 251, 251, 127, 253, 253, 251, 127, 252, 252, 252, 127, 252, 252, 250, 127, 101, 102, 97, 127, 19, 20, 16, 127, 16, 16, 15, 127, 16, 16, 16, 127, 28, 28, 28, 127, 20, 20, 20, 127, 11, 11, 11, 127, 15, 15, 15, 127, 18, 18, 18, 127, 18, 18, 18, 127, 23, 23, 23, 127, 23, 23, 23, 127, 21, 21, 21, 127, 16, 16, 16, 127, 15, 15, 15, 127, 13, 13, 13, 127, 9, 9, 9, 127, 12, 12, 12, 127, 10, 10, 10, 127, 10, 10, 10, 127, 10, 10, 11, 127, 11, 11, 11, 127, 14, 14, 13, 127, 18, 18, 18, 127, 20, 20, 24, 127, 23, 23, 26, 127, 25, 25, 28, 127, 22, 22, 24, 127, 24, 24, 26, 127, 27, 27, 29, 127, 31, 31, 33, 127, 30, 30, 31, 127, 30, 30, 31, 127, 25, 24, 26, 127, 22, 22, 25, 127, 16, 17, 19, 127, 17, 21, 18, 127, 51, 43, 39, 127, 173, 124, 129, 127, 175, 113, 123, 127, 104, 71, 75, 127, 25, 18, 17, 127, 35, 33, 35, 127, 47, 47, 51, 127, 33, 31, 37, 127, 14, 14, 18, 127, 6, 6, 8, 127, 12, 12, 14, 127, 16, 16, 18, 127, 16, 16, 18, 127, 15, 15, 17, 127, 21, 21, 21, 127, 18, 18, 18, 127, 16, 16, 16, 127, 15, 15, 15, 127, 17, 17, 17, 127, 19, 19, 19, 127, 20, 20, 20, 127, 11, 11, 11, 127, 12, 12, 12, 127, 11, 11, 11, 127, 14, 14, 14, 127, 9, 9, 9, 127, 7, 7, 7, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 7, 7, 7, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 8, 8, 8, 127, 15, 15, 15, 127, 30, 30, 30, 127, 29, 29, 29, 127, 27, 26, 27, 127, 21, 19, 20, 127, 19, 17, 18, 127, 21, 19, 20, 127, 24, 22, 23, 127, 22, 20, 21, 127, 15, 15, 15, 127, 8, 8, 8, 127, 7, 7, 7, 127, 6, 6, 6, 127, 5, 5, 6, 127, 4, 4, 6, 127, 10, 9, 8, 127, 31, 28, 23, 127, 45, 30, 28, 127, 35, 14, 12, 127, 61, 31, 23, 127, 121, 65, 55, 127, 162, 90, 77, 127, 179, 114, 91, 127, 175, 119, 91, 127, 181, 121, 93, 127, 191, 137, 101, 127, 197, 146, 111, 127, 203, 155, 124, 127, 205, 160, 127, 127, 205, 158, 124, 127, 195, 149, 113, 127, 189, 143, 106, 127, 175, 125, 88, 127, 147, 95, 57, 127, 155, 101, 66, 127, 167, 111, 75, 127, 169, 114, 73, 127, 172, 116, 76, 127, 174, 118, 78, 127, 171, 115, 75, 127, 171, 116, 75, 127, 164, 112, 70, 127, 160, 114, 71, 127, 164, 124, 80, 127, 168, 133, 88, 127, 171, 135, 94, 127, 160, 125, 84, 127, 151, 118, 78, 127, 155, 124, 86, 127, 166, 135, 100, 127, 145, 112, 81, 127, 133, 97, 69, 127, 125, 93, 65, 127, 111, 77, 37, 127, 109, 76, 43, 127, 87, 69, 55, 127, 107, 99, 91, 127, 123, 126, 121, 127, 78, 78, 75, 127, 20, 21, 21, 127, 19, 23, 28, 127, 24, 25, 25, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 250, 127, 251, 251, 251, 127, 253, 253, 251, 127, 252, 252, 252, 127, 251, 251, 250, 127, 144, 144, 141, 127, 20, 21, 18, 127, 18, 18, 17, 127, 17, 17, 17, 127, 23, 23, 23, 127, 18, 18, 18, 127, 10, 10, 10, 127, 9, 9, 9, 127, 12, 12, 12, 127, 16, 16, 16, 127, 21, 21, 21, 127, 18, 18, 18, 127, 20, 20, 20, 127, 20, 20, 20, 127, 18, 18, 18, 127, 15, 15, 15, 127, 17, 17, 17, 127, 21, 21, 21, 127, 19, 19, 19, 127, 17, 17, 17, 127, 20, 20, 20, 127, 19, 19, 20, 127, 17, 17, 16, 127, 23, 23, 24, 127, 21, 20, 25, 127, 21, 20, 24, 127, 19, 19, 22, 127, 17, 17, 19, 127, 13, 13, 15, 127, 18, 18, 20, 127, 23, 23, 25, 127, 27, 27, 29, 127, 26, 26, 28, 127, 26, 26, 28, 127, 20, 22, 24, 127, 17, 18, 18, 127, 31, 31, 27, 127, 93, 73, 74, 127, 195, 142, 149, 127, 147, 106, 111, 127, 80, 63, 67, 127, 21, 20, 20, 127, 41, 41, 41, 127, 59, 57, 61, 127, 61, 57, 64, 127, 43, 41, 47, 127, 16, 16, 18, 127, 10, 10, 12, 127, 16, 16, 18, 127, 22, 22, 24, 127, 18, 18, 19, 127, 22, 22, 22, 127, 26, 26, 26, 127, 16, 16, 16, 127, 16, 16, 16, 127, 18, 18, 18, 127, 18, 18, 18, 127, 18, 18, 18, 127, 22, 22, 22, 127, 10, 10, 10, 127, 14, 14, 14, 127, 11, 11, 11, 127, 10, 10, 10, 127, 8, 8, 8, 127, 5, 5, 5, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 4, 4, 4, 127, 5, 5, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 5, 5, 5, 127, 8, 8, 8, 127, 13, 13, 13, 127, 23, 23, 23, 127, 33, 33, 33, 127, 25, 24, 25, 127, 24, 22, 23, 127, 25, 23, 24, 127, 27, 25, 26, 127, 24, 22, 23, 127, 24, 23, 23, 127, 21, 21, 21, 127, 13, 13, 13, 127, 9, 9, 9, 127, 10, 10, 10, 127, 6, 6, 7, 127, 5, 3, 5, 127, 5, 5, 7, 127, 24, 20, 15, 127, 57, 37, 31, 127, 51, 29, 30, 127, 24, 12, 14, 127, 51, 23, 22, 127, 105, 43, 39, 127, 151, 75, 61, 127, 171, 99, 79, 127, 183, 116, 94, 127, 203, 144, 118, 127, 209, 159, 129, 127, 201, 160, 124, 127, 195, 152, 116, 127, 195, 147, 114, 127, 187, 140, 105, 127, 174, 125, 89, 127, 181, 128, 91, 127, 153, 101, 61, 127, 131, 78, 39, 127, 140, 88, 51, 127, 145, 94, 57, 127, 146, 95, 57, 127, 148, 97, 59, 127, 149, 98, 61, 127, 148, 97, 59, 127, 146, 97, 57, 127, 141, 100, 57, 127, 152, 117, 74, 127, 168, 135, 93, 127, 168, 132, 93, 127, 150, 117, 79, 127, 149, 118, 79, 127, 163, 132, 94, 127, 161, 128, 93, 127, 152, 117, 83, 127, 144, 106, 76, 127, 148, 107, 73, 127, 128, 93, 45, 127, 108, 81, 51, 127, 102, 84, 79, 127, 132, 126, 127, 127, 140, 144, 149, 127, 65, 66, 70, 127, 57, 61, 66, 127, 85, 92, 100, 127, 30, 33, 39, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 251, 251, 127, 250, 250, 250, 127, 251, 251, 251, 127, 253, 253, 251, 127, 253, 253, 252, 127, 252, 252, 251, 127, 191, 191, 189, 127, 25, 25, 24, 127, 23, 23, 22, 127, 18, 18, 18, 127, 19, 19, 19, 127, 19, 19, 19, 127, 16, 16, 16, 127, 9, 9, 9, 127, 4, 4, 4, 127, 9, 9, 9, 127, 14, 14, 14, 127, 17, 17, 17, 127, 22, 22, 22, 127, 21, 21, 21, 127, 22, 22, 22, 127, 20, 20, 20, 127, 16, 16, 16, 127, 15, 15, 15, 127, 19, 19, 19, 127, 15, 15, 15, 127, 13, 13, 13, 127, 21, 21, 21, 127, 12, 12, 12, 127, 15, 15, 15, 127, 14, 14, 14, 127, 11, 11, 9, 127, 10, 10, 9, 127, 13, 13, 14, 127, 13, 13, 16, 127, 21, 20, 23, 127, 21, 21, 23, 127, 28, 28, 30, 127, 23, 23, 25, 127, 17, 17, 19, 127, 14, 15, 16, 127, 43, 43, 43, 127, 55, 53, 51, 127, 126, 109, 112, 127, 138, 107, 111, 127, 76, 65, 64, 127, 74, 64, 70, 127, 24, 23, 27, 127, 75, 74, 78, 127, 97, 99, 103, 127, 47, 49, 53, 127, 35, 35, 37, 127, 27, 26, 27, 127, 22, 22, 24, 127, 12, 12, 14, 127, 25, 25, 27, 127, 18, 18, 19, 127, 24, 24, 24, 127, 30, 30, 30, 127, 19, 19, 19, 127, 16, 16, 16, 127, 20, 20, 20, 127, 22, 22, 22, 127, 21, 21, 21, 127, 20, 20, 20, 127, 20, 20, 20, 127, 11, 11, 11, 127, 13, 13, 13, 127, 11, 11, 11, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 6, 6, 6, 127, 6, 6, 6, 127, 10, 10, 10, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 6, 6, 6, 127, 10, 10, 10, 127, 14, 14, 14, 127, 20, 20, 20, 127, 31, 31, 31, 127, 26, 24, 25, 127, 25, 23, 24, 127, 31, 30, 31, 127, 28, 26, 27, 127, 27, 25, 26, 127, 22, 22, 22, 127, 25, 25, 25, 127, 19, 19, 19, 127, 9, 9, 9, 127, 6, 6, 6, 127, 5, 3, 4, 127, 5, 5, 7, 127, 19, 15, 11, 127, 55, 39, 31, 127, 71, 41, 41, 127, 51, 23, 27, 127, 33, 11, 8, 127, 47, 28, 17, 127, 75, 45, 28, 127, 90, 43, 25, 127, 117, 57, 41, 127, 136, 74, 55, 127, 155, 96, 74, 127, 169, 119, 88, 127, 177, 133, 97, 127, 175, 129, 95, 127, 157, 115, 78, 127, 152, 105, 65, 127, 167, 115, 75, 127, 165, 113, 74, 127, 132, 82, 47, 127, 121, 75, 41, 127, 125, 81, 45, 127, 128, 82, 45, 127, 129, 84, 47, 127, 129, 83, 47, 127, 132, 86, 49, 127, 130, 88, 47, 127, 138, 101, 59, 127, 153, 120, 79, 127, 168, 135, 96, 127, 162, 128, 91, 127, 144, 115, 76, 127, 151, 125, 85, 127, 160, 128, 90, 127, 163, 127, 91, 127, 158, 123, 87, 127, 153, 116, 81, 127, 156, 113, 71, 127, 138, 107, 64, 127, 97, 81, 59, 127, 117, 105, 104, 127, 145, 145, 151, 127, 129, 135, 145, 127, 83, 86, 95, 127, 123, 128, 137, 127, 153, 162, 173, 127, 86, 92, 104, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 250, 250, 250, 127, 251, 251, 251, 127, 249, 249, 249, 127, 251, 251, 251, 127, 253, 253, 252, 127, 252, 252, 252, 127, 252, 252, 250, 127, 233, 233, 231, 127, 61, 61, 59, 127, 23, 23, 22, 127, 18, 18, 18, 127, 25, 25, 25, 127, 21, 21, 21, 127, 17, 17, 17, 127, 11, 11, 11, 127, 6, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 12, 12, 12, 127, 16, 17, 17, 127, 20, 20, 19, 127, 23, 23, 24, 127, 18, 19, 19, 127, 13, 13, 13, 127, 16, 16, 16, 127, 11, 11, 11, 127, 9, 9, 9, 127, 8, 8, 9, 127, 9, 9, 9, 127, 8, 9, 8, 127, 16, 19, 10, 127, 12, 13, 7, 127, 12, 13, 9, 127, 12, 13, 14, 127, 11, 10, 15, 127, 13, 12, 17, 127, 12, 12, 13, 127, 20, 20, 22, 127, 22, 22, 25, 127, 15, 15, 17, 127, 24, 20, 24, 127, 51, 47, 51, 127, 89, 88, 91, 127, 83, 77, 81, 127, 87, 75, 77, 127, 102, 93, 95, 127, 59, 51, 55, 127, 47, 45, 53, 127, 114, 111, 122, 127, 69, 72, 78, 127, 53, 55, 53, 127, 29, 30, 29, 127, 31, 31, 33, 127, 35, 35, 37, 127, 28, 28, 30, 127, 17, 17, 19, 127, 21, 21, 22, 127, 24, 24, 24, 127, 28, 28, 28, 127, 25, 25, 25, 127, 26, 26, 26, 127, 23, 23, 24, 127, 20, 20, 21, 127, 24, 24, 24, 127, 23, 23, 23, 127, 27, 27, 27, 127, 22, 22, 22, 127, 11, 11, 11, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 7, 7, 127, 10, 10, 10, 127, 9, 9, 9, 127, 6, 6, 6, 127, 13, 13, 13, 127, 8, 8, 8, 127, 11, 11, 11, 127, 12, 12, 12, 127, 10, 10, 10, 127, 10, 10, 10, 127, 9, 9, 9, 127, 12, 11, 12, 127, 15, 13, 14, 127, 22, 20, 21, 127, 22, 20, 21, 127, 28, 26, 27, 127, 26, 24, 25, 127, 25, 24, 24, 127, 23, 23, 23, 127, 28, 28, 28, 127, 21, 21, 21, 127, 14, 13, 14, 127, 11, 10, 11, 127, 12, 9, 10, 127, 10, 7, 7, 127, 16, 13, 9, 127, 51, 35, 29, 127, 81, 41, 37, 127, 101, 41, 39, 127, 96, 33, 33, 127, 71, 20, 22, 127, 51, 23, 19, 127, 57, 35, 22, 127, 76, 51, 31, 127, 65, 41, 19, 127, 75, 41, 20, 127, 70, 33, 14, 127, 74, 39, 21, 127, 70, 41, 27, 127, 67, 45, 31, 127, 82, 51, 31, 127, 122, 80, 47, 127, 154, 108, 70, 127, 146, 100, 61, 127, 129, 86, 47, 127, 129, 91, 51, 127, 128, 89, 49, 127, 123, 84, 43, 127, 122, 83, 43, 127, 128, 89, 49, 127, 132, 98, 57, 127, 144, 110, 72, 127, 164, 127, 91, 127, 171, 136, 100, 127, 153, 124, 86, 127, 145, 119, 81, 127, 154, 128, 90, 127, 159, 126, 89, 127, 169, 132, 95, 127, 163, 127, 93, 127, 165, 128, 89, 127, 158, 120, 74, 127, 130, 103, 72, 127, 87, 76, 68, 127, 128, 120, 121, 127, 152, 153, 160, 127, 124, 131, 143, 127, 99, 105, 115, 127, 165, 172, 181, 127, 175, 183, 201, 127, 142, 148, 168, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 251, 251, 251, 127, 251, 251, 251, 127, 249, 249, 249, 127, 250, 250, 250, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 247, 247, 246, 127, 130, 130, 128, 127, 25, 25, 24, 127, 23, 23, 22, 127, 24, 24, 24, 127, 20, 20, 20, 127, 16, 16, 17, 127, 12, 12, 13, 127, 9, 4, 6, 127, 7, 4, 5, 127, 3, 5, 4, 127, 1, 4, 3, 127, 4, 4, 4, 127, 9, 10, 8, 127, 20, 18, 16, 127, 25, 21, 21, 127, 17, 17, 16, 127, 17, 17, 17, 127, 17, 17, 17, 127, 14, 14, 14, 127, 12, 12, 13, 127, 9, 9, 8, 127, 9, 9, 9, 127, 28, 31, 21, 127, 101, 108, 69, 127, 71, 75, 41, 127, 20, 22, 9, 127, 7, 9, 12, 127, 6, 7, 15, 127, 18, 15, 20, 127, 31, 31, 29, 127, 33, 33, 31, 127, 37, 35, 37, 127, 53, 49, 53, 127, 53, 43, 47, 127, 61, 53, 55, 127, 100, 97, 98, 127, 47, 43, 47, 127, 80, 78, 82, 127, 139, 136, 142, 127, 64, 63, 68, 127, 89, 89, 100, 127, 112, 112, 123, 127, 39, 41, 49, 127, 63, 66, 67, 127, 28, 29, 31, 127, 20, 21, 23, 127, 29, 29, 31, 127, 22, 22, 24, 127, 26, 26, 28, 127, 27, 27, 29, 127, 27, 27, 28, 127, 41, 41, 43, 127, 35, 35, 35, 127, 24, 24, 25, 127, 22, 22, 23, 127, 22, 22, 22, 127, 17, 17, 17, 127, 23, 23, 23, 127, 29, 29, 29, 127, 28, 28, 28, 127, 15, 15, 15, 127, 7, 7, 7, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 6, 6, 6, 127, 10, 10, 10, 127, 12, 12, 12, 127, 13, 13, 13, 127, 15, 15, 15, 127, 14, 14, 14, 127, 14, 14, 14, 127, 15, 15, 15, 127, 15, 14, 14, 127, 15, 15, 15, 127, 18, 18, 18, 127, 24, 23, 24, 127, 25, 24, 25, 127, 24, 23, 23, 127, 23, 23, 23, 127, 24, 24, 24, 127, 25, 25, 25, 127, 21, 20, 20, 127, 15, 15, 15, 127, 11, 12, 12, 127, 11, 11, 11, 127, 16, 14, 14, 127, 16, 15, 13, 127, 39, 30, 26, 127, 69, 35, 31, 127, 111, 51, 51, 127, 145, 66, 66, 127, 149, 61, 61, 127, 131, 47, 49, 127, 96, 28, 27, 127, 83, 33, 26, 127, 74, 31, 23, 127, 80, 33, 28, 127, 73, 22, 22, 127, 74, 27, 27, 127, 76, 33, 33, 127, 87, 49, 45, 127, 100, 59, 45, 127, 111, 67, 39, 127, 144, 97, 59, 127, 160, 110, 67, 127, 155, 109, 64, 127, 151, 113, 67, 127, 141, 103, 57, 127, 133, 94, 49, 127, 130, 92, 47, 127, 139, 102, 57, 127, 143, 111, 68, 127, 156, 122, 83, 127, 166, 129, 94, 127, 164, 130, 96, 127, 145, 118, 82, 127, 148, 123, 88, 127, 153, 124, 90, 127, 169, 133, 97, 127, 172, 132, 93, 127, 174, 135, 98, 127, 177, 139, 98, 127, 159, 129, 87, 127, 101, 82, 63, 127, 106, 101, 101, 127, 141, 142, 146, 127, 154, 160, 167, 127, 112, 122, 130, 127, 127, 134, 144, 127, 187, 191, 203, 127, 191, 199, 219, 127, 171, 181, 203, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 250, 250, 250, 127, 250, 250, 250, 127, 251, 251, 251, 127, 250, 250, 250, 127, 250, 250, 250, 127, 247, 247, 247, 127, 215, 215, 215, 127, 57, 59, 55, 127, 24, 25, 21, 127, 24, 24, 22, 127, 21, 21, 20, 127, 16, 16, 18, 127, 13, 11, 13, 127, 17, 10, 13, 127, 9, 4, 5, 127, 3, 3, 4, 127, 2, 4, 3, 127, 7, 6, 5, 127, 17, 17, 13, 127, 31, 26, 22, 127, 33, 26, 24, 127, 22, 20, 19, 127, 13, 13, 12, 127, 12, 12, 12, 127, 11, 11, 11, 127, 8, 8, 9, 127, 9, 9, 9, 127, 11, 11, 9, 127, 19, 21, 11, 127, 112, 118, 76, 127, 139, 141, 102, 127, 63, 61, 45, 127, 35, 31, 33, 127, 35, 28, 31, 127, 49, 35, 41, 127, 31, 21, 21, 127, 16, 12, 11, 127, 13, 11, 15, 127, 53, 49, 55, 127, 57, 51, 53, 127, 55, 45, 47, 127, 84, 77, 80, 127, 55, 49, 57, 127, 63, 65, 71, 127, 140, 145, 152, 127, 67, 68, 73, 127, 75, 74, 85, 127, 84, 84, 91, 127, 37, 39, 43, 127, 55, 59, 61, 127, 43, 45, 47, 127, 25, 26, 28, 127, 24, 24, 26, 127, 10, 11, 13, 127, 17, 18, 20, 127, 29, 29, 31, 127, 45, 45, 47, 127, 47, 47, 49, 127, 57, 57, 59, 127, 37, 37, 39, 127, 28, 28, 30, 127, 24, 24, 24, 127, 17, 17, 17, 127, 12, 12, 12, 127, 20, 20, 20, 127, 28, 28, 28, 127, 16, 16, 16, 127, 8, 8, 8, 127, 7, 7, 7, 127, 6, 6, 6, 127, 5, 5, 5, 127, 4, 4, 4, 127, 6, 6, 6, 127, 7, 7, 7, 127, 6, 6, 6, 127, 13, 13, 13, 127, 16, 16, 16, 127, 20, 20, 20, 127, 16, 16, 16, 127, 15, 15, 15, 127, 21, 21, 21, 127, 19, 19, 19, 127, 19, 19, 19, 127, 23, 23, 23, 127, 21, 21, 21, 127, 23, 23, 23, 127, 19, 19, 19, 127, 25, 25, 25, 127, 15, 15, 15, 127, 11, 11, 11, 127, 15, 15, 15, 127, 13, 13, 13, 127, 13, 12, 12, 127, 18, 15, 16, 127, 21, 17, 18, 127, 24, 22, 22, 127, 30, 27, 23, 127, 43, 27, 21, 127, 85, 39, 35, 127, 146, 68, 66, 127, 181, 93, 94, 127, 195, 105, 113, 127, 187, 97, 109, 127, 183, 92, 99, 127, 177, 88, 94, 127, 181, 95, 97, 127, 179, 99, 98, 127, 177, 102, 97, 127, 181, 112, 102, 127, 183, 124, 104, 127, 160, 107, 80, 127, 147, 99, 65, 127, 153, 104, 64, 127, 168, 116, 73, 127, 173, 125, 78, 127, 165, 124, 77, 127, 157, 118, 71, 127, 146, 108, 61, 127, 141, 104, 59, 127, 147, 110, 66, 127, 155, 122, 80, 127, 157, 124, 86, 127, 160, 128, 94, 127, 152, 122, 89, 127, 143, 116, 81, 127, 145, 118, 84, 127, 156, 124, 92, 127, 171, 133, 98, 127, 179, 137, 100, 127, 181, 139, 104, 127, 183, 144, 106, 127, 144, 118, 84, 127, 88, 74, 65, 127, 131, 129, 137, 127, 140, 145, 156, 127, 137, 145, 159, 127, 106, 113, 120, 127, 169, 174, 185, 127, 199, 203, 219, 127, 197, 205, 223, 127, 170, 185, 207, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 251, 251, 127, 249, 249, 250, 127, 247, 247, 248, 127, 130, 131, 128, 127, 24, 25, 21, 127, 24, 25, 20, 127, 23, 24, 22, 127, 17, 17, 16, 127, 13, 12, 14, 127, 19, 16, 17, 127, 10, 6, 7, 127, 4, 4, 5, 127, 3, 3, 3, 127, 15, 11, 11, 127, 33, 27, 25, 127, 49, 37, 35, 127, 43, 33, 31, 127, 29, 27, 24, 127, 11, 11, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 4, 4, 5, 127, 8, 8, 9, 127, 29, 29, 30, 127, 39, 37, 39, 127, 61, 61, 51, 127, 97, 90, 78, 127, 71, 63, 59, 127, 85, 76, 81, 127, 85, 68, 73, 127, 41, 35, 35, 127, 22, 20, 18, 127, 26, 25, 25, 127, 5, 6, 8, 127, 31, 30, 33, 127, 59, 55, 59, 127, 55, 47, 53, 127, 73, 64, 73, 127, 87, 83, 94, 127, 114, 118, 128, 127, 118, 126, 135, 127, 43, 43, 47, 127, 64, 63, 70, 127, 61, 61, 67, 127, 49, 51, 49, 127, 88, 93, 90, 127, 55, 57, 57, 127, 16, 16, 18, 127, 28, 29, 31, 127, 28, 29, 31, 127, 15, 16, 18, 127, 15, 16, 18, 127, 31, 31, 33, 127, 37, 37, 39, 127, 53, 53, 55, 127, 55, 55, 57, 127, 26, 26, 28, 127, 13, 13, 13, 127, 7, 7, 7, 127, 8, 8, 8, 127, 11, 11, 11, 127, 18, 18, 18, 127, 17, 17, 17, 127, 11, 11, 11, 127, 9, 9, 9, 127, 7, 7, 7, 127, 3, 3, 3, 127, 5, 5, 5, 127, 7, 7, 7, 127, 8, 8, 8, 127, 4, 4, 4, 127, 9, 9, 9, 127, 11, 11, 11, 127, 16, 16, 16, 127, 19, 19, 19, 127, 18, 18, 18, 127, 19, 19, 19, 127, 20, 20, 20, 127, 18, 18, 18, 127, 19, 19, 19, 127, 23, 23, 23, 127, 25, 25, 25, 127, 23, 23, 23, 127, 24, 24, 24, 127, 13, 13, 13, 127, 9, 9, 9, 127, 21, 21, 21, 127, 17, 17, 17, 127, 18, 17, 17, 127, 20, 18, 18, 127, 18, 14, 15, 127, 20, 19, 20, 127, 26, 26, 23, 127, 30, 26, 19, 127, 43, 28, 17, 127, 92, 43, 33, 127, 156, 66, 65, 127, 179, 84, 88, 127, 195, 111, 114, 127, 203, 118, 123, 127, 211, 123, 127, 127, 207, 123, 127, 127, 195, 121, 118, 127, 193, 127, 114, 127, 195, 135, 113, 127, 187, 131, 96, 127, 173, 121, 81, 127, 162, 113, 71, 127, 155, 106, 65, 127, 167, 117, 75, 127, 174, 126, 83, 127, 167, 123, 82, 127, 164, 121, 81, 127, 151, 112, 72, 127, 144, 108, 69, 127, 145, 111, 71, 127, 154, 122, 85, 127, 153, 125, 90, 127, 149, 128, 94, 127, 145, 123, 89, 127, 146, 117, 82, 127, 149, 118, 83, 127, 159, 125, 91, 127, 172, 134, 99, 127, 183, 143, 106, 127, 187, 148, 114, 127, 183, 146, 112, 127, 113, 92, 65, 127, 97, 88, 85, 127, 119, 119, 129, 127, 127, 132, 146, 127, 118, 125, 142, 127, 130, 134, 145, 127, 183, 189, 199, 127, 201, 205, 223, 127, 203, 213, 231, 127, 172, 187, 205, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 252, 127, 252, 252, 253, 127, 250, 250, 251, 127, 195, 197, 193, 127, 49, 49, 45, 127, 22, 22, 17, 127, 20, 20, 17, 127, 18, 19, 16, 127, 15, 14, 14, 127, 15, 13, 13, 127, 15, 13, 13, 127, 6, 8, 6, 127, 5, 5, 5, 127, 25, 17, 18, 127, 53, 37, 35, 127, 69, 47, 47, 127, 61, 41, 41, 127, 31, 26, 24, 127, 18, 18, 16, 127, 5, 5, 5, 127, 10, 10, 10, 127, 43, 43, 43, 127, 57, 57, 61, 127, 84, 83, 89, 127, 70, 68, 76, 127, 97, 94, 103, 127, 61, 51, 59, 127, 31, 22, 28, 127, 35, 27, 31, 127, 51, 37, 39, 127, 31, 26, 23, 127, 43, 39, 37, 127, 47, 41, 43, 127, 23, 20, 20, 127, 49, 47, 47, 127, 96, 91, 96, 127, 67, 61, 68, 127, 75, 69, 78, 127, 154, 152, 163, 127, 130, 135, 146, 127, 110, 118, 127, 127, 49, 49, 53, 127, 102, 101, 107, 127, 78, 79, 85, 127, 65, 68, 67, 127, 119, 124, 122, 127, 33, 33, 35, 127, 16, 17, 19, 127, 20, 21, 23, 127, 39, 39, 41, 127, 45, 45, 47, 127, 29, 29, 31, 127, 27, 27, 29, 127, 43, 43, 45, 127, 41, 41, 43, 127, 53, 53, 55, 127, 39, 39, 41, 127, 7, 7, 7, 127, 5, 5, 5, 127, 3, 3, 3, 127, 5, 5, 5, 127, 10, 10, 10, 127, 10, 10, 10, 127, 10, 10, 10, 127, 9, 9, 9, 127, 7, 7, 7, 127, 5, 5, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 4, 4, 4, 127, 11, 11, 11, 127, 12, 12, 12, 127, 12, 12, 12, 127, 13, 13, 13, 127, 11, 11, 11, 127, 18, 18, 18, 127, 20, 20, 20, 127, 21, 21, 21, 127, 28, 29, 28, 127, 35, 35, 35, 127, 31, 31, 31, 127, 22, 22, 22, 127, 25, 25, 25, 127, 14, 15, 14, 127, 23, 22, 22, 127, 22, 22, 22, 127, 23, 25, 23, 127, 28, 30, 27, 127, 12, 12, 11, 127, 10, 10, 11, 127, 19, 19, 20, 127, 31, 26, 24, 127, 31, 25, 20, 127, 39, 22, 12, 127, 82, 33, 24, 127, 121, 47, 43, 127, 152, 68, 66, 127, 175, 82, 79, 127, 177, 90, 84, 127, 172, 95, 86, 127, 170, 102, 85, 127, 175, 119, 90, 127, 174, 125, 86, 127, 174, 127, 82, 127, 172, 123, 78, 127, 159, 109, 66, 127, 146, 100, 57, 127, 152, 108, 67, 127, 155, 111, 72, 127, 160, 117, 80, 127, 155, 115, 78, 127, 146, 108, 72, 127, 143, 109, 72, 127, 144, 112, 76, 127, 151, 120, 87, 127, 149, 126, 93, 127, 140, 123, 90, 127, 135, 114, 81, 127, 139, 108, 74, 127, 151, 118, 82, 127, 159, 124, 89, 127, 175, 139, 102, 127, 189, 149, 112, 127, 193, 157, 122, 127, 169, 139, 107, 127, 102, 90, 70, 127, 95, 95, 96, 127, 99, 102, 109, 127, 112, 117, 126, 127, 112, 119, 134, 127, 165, 169, 183, 127, 197, 203, 215, 127, 195, 203, 221, 127, 189, 201, 219, 127, 134, 147, 161, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 250, 127, 244, 244, 241, 127, 132, 133, 129, 127, 25, 26, 22, 127, 23, 24, 19, 127, 16, 16, 13, 127, 17, 16, 15, 127, 12, 13, 12, 127, 15, 14, 14, 127, 7, 9, 9, 127, 4, 4, 6, 127, 37, 26, 30, 127, 73, 51, 51, 127, 89, 61, 59, 127, 77, 53, 53, 127, 31, 27, 24, 127, 27, 27, 22, 127, 23, 23, 20, 127, 30, 31, 29, 127, 61, 61, 64, 127, 69, 69, 74, 127, 92, 91, 101, 127, 119, 118, 129, 127, 115, 112, 123, 127, 86, 78, 88, 127, 47, 39, 47, 127, 27, 26, 28, 127, 41, 35, 37, 127, 59, 47, 49, 127, 87, 72, 80, 127, 107, 92, 102, 127, 53, 43, 49, 127, 79, 74, 79, 127, 112, 112, 121, 127, 105, 106, 114, 127, 64, 61, 70, 127, 51, 49, 59, 127, 78, 81, 89, 127, 76, 82, 87, 127, 51, 49, 55, 127, 97, 95, 107, 127, 99, 99, 107, 127, 87, 90, 93, 127, 68, 72, 73, 127, 10, 11, 14, 127, 3, 3, 6, 127, 11, 12, 14, 127, 31, 33, 35, 127, 45, 47, 49, 127, 24, 25, 27, 127, 27, 27, 29, 127, 18, 18, 20, 127, 35, 35, 37, 127, 25, 25, 27, 127, 41, 41, 43, 127, 11, 11, 12, 127, 4, 4, 4, 127, 4, 4, 4, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 6, 6, 6, 127, 10, 10, 10, 127, 11, 11, 11, 127, 8, 8, 8, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 2, 2, 2, 127, 6, 6, 6, 127, 9, 9, 9, 127, 7, 7, 7, 127, 9, 9, 9, 127, 13, 13, 13, 127, 16, 16, 16, 127, 22, 22, 22, 127, 22, 22, 22, 127, 25, 25, 25, 127, 31, 31, 31, 127, 33, 33, 33, 127, 18, 18, 18, 127, 26, 26, 26, 127, 20, 20, 20, 127, 14, 14, 14, 127, 19, 19, 19, 127, 21, 21, 20, 127, 27, 31, 26, 127, 19, 18, 17, 127, 13, 10, 12, 127, 13, 11, 13, 127, 23, 16, 17, 127, 37, 29, 29, 127, 45, 37, 33, 127, 51, 37, 28, 127, 61, 31, 23, 127, 80, 33, 22, 127, 96, 45, 28, 127, 105, 57, 39, 127, 123, 75, 57, 127, 136, 88, 66, 127, 150, 101, 70, 127, 160, 112, 73, 127, 161, 115, 73, 127, 158, 109, 70, 127, 145, 97, 57, 127, 128, 85, 47, 127, 124, 87, 49, 127, 129, 94, 57, 127, 135, 101, 64, 127, 133, 100, 63, 127, 134, 102, 66, 127, 133, 101, 68, 127, 137, 107, 76, 127, 145, 115, 86, 127, 143, 119, 90, 127, 134, 111, 81, 127, 129, 102, 73, 127, 139, 105, 72, 127, 148, 114, 78, 127, 163, 127, 90, 127, 181, 142, 105, 127, 193, 154, 119, 127, 197, 161, 128, 127, 142, 117, 91, 127, 118, 116, 109, 127, 117, 127, 137, 127, 93, 101, 109, 127, 111, 110, 118, 127, 143, 146, 160, 127, 175, 181, 199, 127, 181, 191, 211, 127, 172, 183, 203, 127, 139, 149, 164, 127, 59, 68, 76, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 249, 249, 247, 127, 219, 219, 217, 127, 61, 61, 59, 127, 19, 19, 17, 127, 17, 18, 15, 127, 19, 21, 18, 127, 11, 14, 12, 127, 10, 9, 12, 127, 3, 5, 7, 127, 5, 6, 5, 127, 47, 35, 35, 127, 94, 61, 63, 127, 115, 80, 82, 127, 88, 67, 69, 127, 43, 41, 37, 127, 23, 23, 19, 127, 21, 22, 18, 127, 31, 31, 29, 127, 43, 43, 45, 127, 69, 68, 73, 127, 71, 70, 78, 127, 89, 88, 98, 127, 89, 86, 99, 127, 111, 107, 120, 127, 118, 116, 128, 127, 94, 95, 104, 127, 89, 88, 98, 127, 102, 101, 107, 127, 107, 105, 113, 127, 106, 103, 113, 127, 64, 63, 69, 127, 84, 84, 91, 127, 95, 98, 111, 127, 124, 130, 142, 127, 122, 125, 133, 127, 122, 124, 131, 127, 89, 91, 97, 127, 47, 49, 53, 127, 114, 115, 120, 127, 157, 158, 170, 127, 134, 135, 143, 127, 66, 67, 70, 127, 18, 19, 20, 127, 6, 7, 8, 127, 8, 8, 9, 127, 8, 8, 9, 127, 27, 27, 28, 127, 45, 45, 45, 127, 27, 27, 28, 127, 12, 12, 12, 127, 22, 22, 22, 127, 24, 24, 24, 127, 28, 28, 28, 127, 35, 35, 35, 127, 22, 22, 22, 127, 5, 5, 5, 127, 5, 5, 5, 127, 3, 3, 3, 127, 8, 8, 8, 127, 5, 5, 5, 127, 7, 7, 7, 127, 10, 10, 10, 127, 9, 9, 9, 127, 6, 6, 6, 127, 5, 5, 5, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 7, 7, 7, 127, 12, 12, 12, 127, 13, 13, 13, 127, 10, 10, 10, 127, 20, 19, 20, 127, 25, 24, 24, 127, 31, 31, 31, 127, 37, 37, 37, 127, 28, 28, 28, 127, 27, 26, 26, 127, 25, 25, 25, 127, 18, 18, 18, 127, 10, 9, 10, 127, 9, 7, 8, 127, 12, 10, 11, 127, 19, 19, 17, 127, 18, 14, 14, 127, 19, 14, 17, 127, 15, 12, 15, 127, 18, 14, 16, 127, 28, 19, 21, 127, 55, 41, 35, 127, 86, 59, 45, 127, 100, 61, 45, 127, 92, 55, 35, 127, 84, 51, 26, 127, 90, 55, 26, 127, 104, 67, 37, 127, 121, 80, 49, 127, 136, 92, 57, 127, 149, 103, 65, 127, 141, 97, 57, 127, 137, 93, 55, 127, 121, 78, 43, 127, 110, 72, 37, 127, 104, 70, 37, 127, 106, 77, 41, 127, 115, 88, 51, 127, 121, 92, 59, 127, 124, 93, 61, 127, 127, 97, 66, 127, 134, 107, 77, 127, 137, 114, 88, 127, 124, 100, 75, 127, 116, 90, 63, 127, 121, 92, 61, 127, 134, 101, 69, 127, 150, 115, 78, 127, 167, 129, 90, 127, 183, 145, 107, 127, 191, 153, 116, 127, 193, 156, 124, 127, 116, 94, 77, 127, 139, 145, 150, 127, 134, 147, 165, 127, 105, 114, 125, 127, 134, 133, 143, 127, 179, 181, 201, 127, 175, 183, 203, 127, 146, 159, 175, 127, 106, 117, 137, 127, 90, 96, 112, 127, 30, 31, 37, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 250, 127, 250, 250, 249, 127, 247, 246, 243, 127, 143, 142, 140, 127, 25, 25, 23, 127, 17, 20, 17, 127, 15, 19, 18, 127, 13, 14, 18, 127, 14, 10, 19, 127, 5, 5, 12, 127, 5, 6, 9, 127, 63, 45, 45, 127, 116, 75, 77, 127, 133, 94, 99, 127, 59, 45, 49, 127, 12, 12, 12, 127, 20, 20, 19, 127, 24, 24, 23, 127, 23, 23, 23, 127, 27, 27, 28, 127, 23, 23, 23, 127, 45, 45, 43, 127, 61, 61, 64, 127, 47, 45, 55, 127, 57, 57, 66, 127, 74, 73, 81, 127, 75, 74, 82, 127, 75, 73, 82, 127, 79, 79, 83, 127, 51, 51, 53, 127, 37, 37, 39, 127, 39, 37, 39, 127, 17, 17, 18, 127, 51, 53, 55, 127, 103, 109, 117, 127, 166, 173, 181, 127, 205, 213, 223, 127, 215, 223, 229, 127, 213, 221, 223, 127, 226, 234, 237, 127, 229, 236, 242, 127, 189, 191, 195, 127, 45, 45, 45, 127, 17, 17, 15, 127, 4, 4, 3, 127, 13, 13, 13, 127, 14, 14, 14, 127, 9, 9, 9, 127, 21, 21, 21, 127, 25, 25, 25, 127, 13, 13, 13, 127, 18, 18, 18, 127, 25, 25, 25, 127, 22, 22, 22, 127, 28, 28, 28, 127, 26, 26, 26, 127, 6, 6, 6, 127, 4, 4, 4, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 3, 3, 3, 127, 5, 5, 5, 127, 7, 7, 7, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 5, 5, 5, 127, 16, 16, 16, 127, 12, 12, 12, 127, 16, 16, 16, 127, 16, 16, 16, 127, 11, 10, 11, 127, 15, 13, 14, 127, 24, 22, 23, 127, 33, 31, 31, 127, 22, 20, 21, 127, 26, 24, 25, 127, 22, 20, 21, 127, 12, 10, 11, 127, 15, 13, 14, 127, 16, 14, 15, 127, 16, 14, 15, 127, 19, 17, 18, 127, 17, 15, 15, 127, 22, 19, 20, 127, 18, 17, 19, 127, 19, 19, 20, 127, 24, 19, 21, 127, 25, 22, 18, 127, 39, 31, 21, 127, 98, 64, 53, 127, 147, 99, 82, 127, 153, 107, 85, 127, 147, 99, 71, 127, 143, 95, 63, 127, 146, 98, 61, 127, 148, 100, 61, 127, 146, 98, 61, 127, 135, 93, 53, 127, 122, 84, 45, 127, 116, 80, 43, 127, 107, 74, 41, 127, 98, 67, 37, 127, 99, 70, 41, 127, 111, 80, 51, 127, 112, 81, 55, 127, 117, 87, 61, 127, 121, 96, 69, 127, 115, 96, 68, 127, 101, 86, 59, 127, 97, 77, 49, 127, 104, 80, 49, 127, 121, 92, 59, 127, 139, 105, 71, 127, 155, 117, 79, 127, 169, 130, 93, 127, 179, 140, 102, 127, 191, 152, 109, 127, 166, 129, 102, 127, 120, 104, 105, 127, 143, 150, 161, 127, 138, 146, 159, 127, 121, 128, 140, 127, 147, 154, 166, 127, 167, 175, 193, 127, 144, 155, 174, 127, 119, 132, 141, 127, 167, 179, 191, 127, 105, 110, 128, 127, 25, 25, 31, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 251, 251, 251, 127, 250, 251, 249, 127, 232, 232, 229, 127, 113, 113, 111, 127, 17, 17, 16, 127, 17, 17, 17, 127, 15, 14, 11, 127, 19, 15, 14, 127, 9, 9, 7, 127, 7, 8, 8, 127, 73, 55, 57, 127, 137, 92, 97, 127, 144, 106, 111, 127, 39, 30, 31, 127, 15, 18, 16, 127, 16, 17, 16, 127, 17, 17, 16, 127, 14, 14, 14, 127, 21, 21, 21, 127, 20, 20, 20, 127, 25, 25, 26, 127, 29, 29, 28, 127, 26, 26, 24, 127, 18, 18, 16, 127, 23, 24, 22, 127, 29, 30, 28, 127, 31, 31, 29, 127, 25, 24, 26, 127, 22, 22, 24, 127, 26, 26, 28, 127, 35, 35, 37, 127, 20, 20, 22, 127, 9, 9, 12, 127, 9, 9, 12, 127, 116, 120, 122, 127, 179, 185, 187, 127, 154, 161, 163, 127, 165, 172, 174, 127, 161, 167, 172, 127, 181, 185, 189, 127, 158, 161, 163, 127, 31, 31, 31, 127, 22, 21, 19, 127, 7, 6, 6, 127, 5, 5, 5, 127, 8, 8, 8, 127, 5, 5, 5, 127, 5, 5, 5, 127, 21, 21, 21, 127, 23, 23, 23, 127, 16, 16, 16, 127, 25, 25, 25, 127, 33, 33, 33, 127, 27, 27, 27, 127, 19, 19, 19, 127, 7, 7, 7, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 7, 7, 7, 127, 7, 7, 7, 127, 6, 6, 6, 127, 8, 8, 8, 127, 8, 8, 8, 127, 6, 6, 6, 127, 7, 7, 7, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 11, 11, 11, 127, 12, 12, 12, 127, 21, 21, 21, 127, 15, 15, 15, 127, 23, 23, 23, 127, 25, 24, 25, 127, 17, 15, 16, 127, 13, 12, 12, 127, 30, 28, 29, 127, 21, 19, 20, 127, 25, 23, 24, 127, 26, 24, 25, 127, 18, 16, 17, 127, 21, 19, 20, 127, 23, 21, 22, 127, 22, 20, 21, 127, 31, 30, 31, 127, 33, 31, 33, 127, 33, 31, 31, 127, 31, 29, 29, 127, 26, 24, 25, 127, 25, 22, 21, 127, 28, 25, 23, 127, 27, 25, 23, 127, 41, 31, 23, 127, 96, 61, 49, 127, 175, 125, 107, 127, 193, 141, 115, 127, 189, 136, 104, 127, 177, 127, 88, 127, 168, 119, 79, 127, 157, 109, 72, 127, 146, 104, 65, 127, 137, 99, 61, 127, 125, 89, 53, 127, 106, 76, 45, 127, 94, 70, 39, 127, 96, 71, 41, 127, 101, 73, 45, 127, 101, 74, 49, 127, 99, 77, 55, 127, 91, 76, 57, 127, 79, 70, 49, 127, 80, 61, 35, 127, 88, 66, 37, 127, 108, 80, 49, 127, 129, 95, 59, 127, 144, 108, 72, 127, 154, 117, 78, 127, 169, 132, 96, 127, 181, 142, 105, 127, 181, 141, 102, 127, 130, 101, 86, 127, 135, 134, 144, 127, 146, 156, 167, 127, 140, 145, 157, 127, 145, 154, 169, 127, 120, 128, 147, 127, 133, 138, 154, 127, 157, 164, 179, 127, 195, 209, 224, 127, 175, 189, 207, 127, 43, 49, 61, 127, 25, 21, 26, 127, \ +252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 250, 127, 251, 252, 249, 127, 249, 251, 249, 127, 209, 209, 205, 127, 63, 61, 57, 127, 16, 14, 15, 127, 13, 17, 12, 127, 11, 13, 13, 127, 12, 12, 11, 127, 11, 11, 13, 127, 89, 64, 72, 127, 157, 109, 116, 127, 131, 98, 102, 127, 13, 11, 10, 127, 13, 14, 14, 127, 14, 14, 11, 127, 16, 16, 16, 127, 10, 10, 9, 127, 17, 17, 19, 127, 15, 15, 15, 127, 18, 18, 18, 127, 19, 19, 19, 127, 22, 22, 21, 127, 23, 22, 22, 127, 20, 20, 20, 127, 19, 18, 18, 127, 21, 21, 21, 127, 17, 17, 19, 127, 18, 18, 20, 127, 27, 27, 29, 127, 26, 26, 28, 127, 23, 23, 25, 127, 11, 12, 13, 127, 10, 11, 11, 127, 74, 78, 77, 127, 33, 35, 35, 127, 13, 15, 15, 127, 55, 57, 57, 127, 33, 35, 37, 127, 29, 29, 31, 127, 37, 37, 37, 127, 25, 25, 25, 127, 19, 19, 19, 127, 13, 13, 13, 127, 7, 7, 7, 127, 10, 10, 10, 127, 8, 8, 8, 127, 13, 13, 13, 127, 9, 9, 9, 127, 13, 13, 13, 127, 17, 17, 17, 127, 21, 21, 21, 127, 29, 29, 29, 127, 30, 30, 30, 127, 17, 17, 17, 127, 9, 9, 9, 127, 6, 6, 6, 127, 4, 4, 4, 127, 5, 5, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 8, 8, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 7, 7, 7, 127, 9, 9, 9, 127, 7, 7, 7, 127, 4, 4, 4, 127, 5, 5, 5, 127, 9, 9, 9, 127, 18, 18, 18, 127, 11, 11, 11, 127, 10, 10, 10, 127, 15, 15, 15, 127, 22, 21, 22, 127, 33, 31, 31, 127, 21, 19, 20, 127, 31, 29, 30, 127, 23, 21, 22, 127, 28, 26, 27, 127, 33, 31, 31, 127, 24, 22, 23, 127, 21, 19, 20, 127, 24, 22, 23, 127, 20, 18, 19, 127, 21, 19, 20, 127, 26, 24, 25, 127, 29, 27, 28, 127, 29, 27, 28, 127, 29, 27, 28, 127, 28, 31, 27, 127, 27, 29, 26, 127, 27, 26, 28, 127, 31, 27, 25, 127, 53, 35, 28, 127, 118, 79, 65, 127, 162, 112, 90, 127, 181, 130, 100, 127, 187, 136, 96, 127, 181, 131, 90, 127, 164, 117, 78, 127, 149, 108, 72, 127, 135, 98, 63, 127, 115, 82, 49, 127, 98, 71, 41, 127, 89, 67, 39, 127, 84, 64, 41, 127, 80, 63, 47, 127, 73, 57, 39, 127, 64, 49, 33, 127, 61, 47, 30, 127, 63, 49, 30, 127, 78, 57, 31, 127, 95, 70, 41, 127, 117, 87, 55, 127, 131, 96, 59, 127, 144, 105, 68, 127, 158, 118, 78, 127, 168, 135, 99, 127, 171, 134, 98, 127, 146, 109, 81, 127, 119, 103, 101, 127, 139, 145, 163, 127, 140, 151, 165, 127, 154, 158, 169, 127, 153, 163, 179, 127, 132, 145, 165, 127, 116, 124, 139, 127, 175, 183, 197, 127, 185, 195, 217, 127, 106, 121, 140, 127, 17, 26, 31, 127, 25, 23, 23, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 254, 254, 254, 127, 253, 253, 253, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 253, 252, 127, 250, 253, 251, 127, 249, 252, 251, 127, 246, 247, 243, 127, 191, 191, 181, 127, 67, 64, 55, 127, 15, 18, 18, 127, 14, 13, 19, 127, 9, 11, 16, 127, 17, 13, 19, 127, 113, 83, 90, 127, 177, 127, 132, 127, 79, 47, 51, 127, 16, 15, 12, 127, 13, 14, 14, 127, 14, 13, 11, 127, 17, 16, 15, 127, 14, 14, 13, 127, 13, 13, 13, 127, 13, 13, 13, 127, 9, 9, 9, 127, 12, 12, 11, 127, 13, 13, 15, 127, 16, 16, 20, 127, 21, 20, 24, 127, 26, 25, 29, 127, 22, 22, 25, 127, 17, 16, 19, 127, 14, 14, 16, 127, 18, 18, 20, 127, 16, 16, 18, 127, 22, 22, 23, 127, 17, 18, 18, 127, 12, 13, 13, 127, 13, 14, 14, 127, 6, 7, 7, 127, 5, 5, 5, 127, 11, 12, 12, 127, 8, 9, 8, 127, 9, 9, 8, 127, 28, 28, 28, 127, 31, 31, 31, 127, 11, 11, 11, 127, 10, 10, 10, 127, 8, 8, 8, 127, 21, 21, 21, 127, 13, 13, 13, 127, 12, 12, 12, 127, 14, 14, 14, 127, 13, 13, 13, 127, 19, 19, 19, 127, 17, 17, 17, 127, 14, 14, 14, 127, 11, 11, 11, 127, 14, 14, 14, 127, 11, 11, 11, 127, 7, 7, 7, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 6, 6, 6, 127, 8, 8, 8, 127, 8, 8, 8, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 9, 127, 6, 6, 6, 127, 9, 9, 9, 127, 15, 15, 15, 127, 13, 13, 13, 127, 11, 11, 11, 127, 11, 11, 11, 127, 13, 11, 12, 127, 30, 28, 29, 127, 33, 31, 33, 127, 28, 26, 27, 127, 22, 20, 21, 127, 31, 29, 30, 127, 29, 27, 28, 127, 22, 20, 21, 127, 15, 13, 14, 127, 16, 14, 15, 127, 23, 21, 22, 127, 27, 25, 26, 127, 21, 19, 20, 127, 26, 24, 25, 127, 20, 18, 19, 127, 20, 18, 19, 127, 24, 27, 24, 127, 23, 26, 21, 127, 27, 23, 22, 127, 31, 27, 25, 127, 33, 26, 21, 127, 57, 39, 30, 127, 81, 49, 41, 127, 118, 82, 61, 127, 142, 102, 72, 127, 153, 111, 80, 127, 145, 108, 78, 127, 121, 89, 64, 127, 95, 69, 45, 127, 81, 57, 37, 127, 69, 53, 33, 127, 63, 49, 33, 127, 51, 43, 31, 127, 41, 35, 30, 127, 41, 35, 26, 127, 49, 41, 26, 127, 63, 49, 29, 127, 72, 51, 29, 127, 80, 59, 31, 127, 97, 72, 43, 127, 113, 83, 51, 127, 124, 89, 55, 127, 141, 101, 66, 127, 154, 113, 76, 127, 160, 125, 88, 127, 151, 118, 84, 127, 111, 86, 73, 127, 132, 128, 138, 127, 140, 148, 166, 127, 142, 155, 169, 127, 145, 155, 168, 127, 136, 148, 164, 127, 132, 143, 161, 127, 158, 168, 185, 127, 173, 185, 203, 127, 156, 167, 187, 127, 57, 66, 81, 127, 16, 22, 24, 127, 20, 22, 20, 127, \ +253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 254, 254, 254, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 253, 253, 127, 250, 253, 252, 127, 249, 252, 253, 127, 250, 250, 250, 127, 250, 249, 234, 127, 213, 211, 177, 127, 114, 109, 71, 127, 53, 47, 27, 127, 23, 19, 15, 127, 24, 17, 18, 127, 137, 105, 112, 127, 163, 108, 116, 127, 59, 30, 33, 127, 21, 20, 16, 127, 11, 12, 12, 127, 12, 10, 11, 127, 11, 11, 9, 127, 9, 9, 9, 127, 6, 6, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 13, 12, 15, 127, 17, 16, 17, 127, 21, 21, 21, 127, 28, 28, 28, 127, 28, 28, 28, 127, 19, 19, 20, 127, 10, 10, 12, 127, 12, 12, 14, 127, 21, 21, 23, 127, 18, 18, 20, 127, 12, 12, 14, 127, 13, 13, 15, 127, 12, 12, 13, 127, 17, 17, 19, 127, 17, 17, 17, 127, 12, 12, 12, 127, 12, 12, 11, 127, 9, 9, 7, 127, 12, 12, 12, 127, 19, 19, 19, 127, 7, 7, 8, 127, 10, 10, 10, 127, 16, 16, 17, 127, 33, 33, 33, 127, 23, 23, 23, 127, 21, 21, 21, 127, 18, 18, 18, 127, 12, 12, 12, 127, 23, 23, 23, 127, 27, 27, 27, 127, 15, 15, 15, 127, 13, 13, 13, 127, 10, 10, 10, 127, 10, 10, 10, 127, 10, 10, 10, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 8, 8, 8, 127, 7, 7, 7, 127, 10, 10, 10, 127, 11, 11, 11, 127, 8, 8, 8, 127, 8, 8, 8, 127, 5, 5, 5, 127, 16, 16, 16, 127, 20, 20, 20, 127, 14, 14, 14, 127, 22, 22, 22, 127, 16, 16, 16, 127, 21, 20, 20, 127, 26, 24, 25, 127, 33, 31, 31, 127, 22, 20, 21, 127, 17, 15, 16, 127, 24, 22, 23, 127, 28, 26, 27, 127, 23, 21, 22, 127, 14, 12, 13, 127, 13, 11, 12, 127, 19, 17, 18, 127, 22, 20, 21, 127, 24, 22, 23, 127, 22, 20, 21, 127, 16, 14, 15, 127, 19, 17, 17, 127, 23, 21, 21, 127, 28, 24, 22, 127, 26, 24, 20, 127, 23, 22, 17, 127, 24, 22, 16, 127, 24, 21, 18, 127, 31, 23, 27, 127, 53, 39, 33, 127, 76, 53, 39, 127, 96, 73, 57, 127, 87, 68, 53, 127, 55, 41, 31, 127, 39, 30, 21, 127, 31, 24, 16, 127, 28, 23, 19, 127, 22, 18, 18, 127, 14, 10, 11, 127, 21, 19, 14, 127, 35, 31, 23, 127, 45, 37, 24, 127, 59, 43, 25, 127, 67, 47, 25, 127, 74, 53, 31, 127, 91, 67, 41, 127, 100, 69, 43, 127, 117, 82, 53, 127, 133, 95, 61, 127, 145, 106, 71, 127, 150, 112, 78, 127, 120, 89, 61, 127, 109, 97, 96, 127, 138, 144, 160, 127, 145, 155, 166, 127, 145, 157, 170, 127, 140, 153, 171, 127, 126, 135, 152, 127, 153, 161, 177, 127, 172, 185, 205, 127, 161, 177, 199, 127, 98, 109, 125, 127, 26, 30, 39, 127, 20, 21, 21, 127, 19, 22, 20, 127, \ +252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 250, 127, 251, 251, 251, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 253, 254, 127, 250, 252, 253, 127, 250, 251, 251, 127, 252, 252, 244, 127, 252, 252, 224, 127, 250, 251, 201, 127, 243, 240, 183, 127, 217, 217, 141, 127, 155, 150, 88, 127, 65, 55, 35, 127, 153, 114, 114, 127, 138, 77, 78, 127, 71, 39, 37, 127, 37, 35, 27, 127, 14, 16, 14, 127, 14, 14, 15, 127, 12, 12, 9, 127, 5, 5, 7, 127, 6, 7, 5, 127, 9, 9, 8, 127, 7, 7, 11, 127, 5, 5, 5, 127, 7, 7, 7, 127, 14, 14, 15, 127, 18, 18, 18, 127, 23, 23, 23, 127, 20, 20, 20, 127, 16, 16, 16, 127, 15, 15, 16, 127, 14, 14, 15, 127, 23, 23, 23, 127, 21, 21, 22, 127, 14, 14, 15, 127, 11, 11, 11, 127, 16, 16, 16, 127, 27, 27, 26, 127, 14, 14, 14, 127, 13, 13, 13, 127, 11, 11, 11, 127, 9, 9, 8, 127, 10, 10, 10, 127, 5, 5, 5, 127, 2, 2, 3, 127, 6, 6, 7, 127, 19, 19, 21, 127, 35, 35, 37, 127, 31, 31, 33, 127, 25, 25, 26, 127, 17, 17, 18, 127, 12, 12, 12, 127, 22, 22, 22, 127, 22, 22, 22, 127, 23, 23, 23, 127, 11, 11, 11, 127, 9, 9, 9, 127, 10, 10, 10, 127, 9, 9, 9, 127, 5, 5, 5, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 4, 4, 4, 127, 7, 7, 7, 127, 8, 8, 8, 127, 12, 12, 12, 127, 13, 13, 13, 127, 9, 9, 9, 127, 10, 10, 10, 127, 6, 6, 6, 127, 20, 18, 19, 127, 28, 27, 27, 127, 19, 18, 18, 127, 30, 28, 29, 127, 24, 23, 24, 127, 29, 28, 28, 127, 22, 20, 21, 127, 29, 27, 28, 127, 29, 27, 28, 127, 19, 17, 18, 127, 19, 17, 18, 127, 21, 19, 20, 127, 12, 10, 11, 127, 10, 8, 9, 127, 11, 9, 10, 127, 12, 10, 11, 127, 19, 17, 17, 127, 24, 22, 22, 127, 29, 28, 26, 127, 20, 19, 18, 127, 19, 18, 16, 127, 19, 17, 17, 127, 19, 17, 16, 127, 21, 20, 18, 127, 23, 22, 19, 127, 24, 23, 21, 127, 20, 19, 18, 127, 19, 18, 20, 127, 21, 18, 20, 127, 30, 26, 23, 127, 33, 28, 26, 127, 22, 17, 16, 127, 14, 12, 12, 127, 11, 11, 9, 127, 9, 9, 8, 127, 9, 11, 9, 127, 9, 9, 10, 127, 10, 10, 9, 127, 21, 22, 16, 127, 35, 31, 25, 127, 43, 35, 24, 127, 51, 39, 23, 127, 59, 43, 26, 127, 67, 49, 33, 127, 80, 57, 35, 127, 94, 61, 37, 127, 112, 74, 47, 127, 129, 90, 61, 127, 135, 100, 69, 127, 124, 90, 68, 127, 98, 74, 65, 127, 137, 134, 142, 127, 143, 150, 166, 127, 147, 151, 168, 127, 144, 153, 173, 127, 126, 141, 159, 127, 137, 146, 159, 127, 173, 181, 193, 127, 172, 185, 203, 127, 127, 140, 159, 127, 49, 59, 70, 127, 22, 24, 28, 127, 24, 24, 22, 127, 18, 19, 21, 127, \ +252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 250, 250, 250, 127, 250, 250, 250, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 252, 127, 253, 253, 254, 127, 252, 252, 253, 127, 251, 253, 252, 127, 252, 252, 251, 127, 252, 252, 246, 127, 253, 252, 229, 127, 253, 253, 209, 127, 253, 253, 201, 127, 250, 252, 185, 127, 248, 251, 153, 127, 247, 246, 141, 127, 211, 207, 132, 127, 185, 142, 120, 127, 128, 63, 59, 127, 95, 55, 53, 127, 57, 45, 35, 127, 29, 23, 19, 127, 12, 13, 9, 127, 12, 13, 9, 127, 11, 8, 13, 127, 7, 7, 7, 127, 9, 9, 7, 127, 6, 6, 11, 127, 7, 8, 9, 127, 13, 13, 12, 127, 13, 13, 14, 127, 19, 19, 20, 127, 23, 23, 24, 127, 19, 19, 19, 127, 26, 26, 27, 127, 17, 17, 17, 127, 11, 11, 11, 127, 12, 12, 12, 127, 10, 10, 10, 127, 16, 16, 16, 127, 11, 11, 11, 127, 7, 7, 6, 127, 28, 28, 27, 127, 10, 10, 10, 127, 9, 9, 9, 127, 7, 7, 7, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 4, 4, 4, 127, 11, 11, 12, 127, 21, 21, 23, 127, 26, 26, 28, 127, 33, 33, 35, 127, 21, 21, 23, 127, 22, 22, 23, 127, 18, 18, 18, 127, 13, 13, 13, 127, 20, 20, 20, 127, 20, 20, 20, 127, 17, 17, 17, 127, 8, 8, 8, 127, 8, 8, 8, 127, 8, 8, 8, 127, 5, 5, 5, 127, 9, 9, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 9, 9, 9, 127, 10, 10, 10, 127, 10, 10, 10, 127, 16, 16, 16, 127, 14, 14, 14, 127, 15, 15, 15, 127, 13, 13, 13, 127, 12, 12, 12, 127, 13, 11, 12, 127, 31, 29, 30, 127, 27, 25, 26, 127, 33, 31, 31, 127, 31, 30, 31, 127, 20, 18, 19, 127, 18, 16, 17, 127, 31, 29, 30, 127, 24, 22, 23, 127, 29, 27, 28, 127, 29, 27, 28, 127, 25, 23, 24, 127, 12, 10, 11, 127, 8, 6, 7, 127, 9, 7, 8, 127, 11, 9, 10, 127, 13, 12, 11, 127, 22, 21, 19, 127, 35, 33, 31, 127, 27, 26, 24, 127, 17, 16, 14, 127, 13, 11, 11, 127, 11, 10, 11, 127, 14, 12, 13, 127, 20, 18, 19, 127, 24, 23, 24, 127, 20, 18, 19, 127, 20, 17, 18, 127, 18, 16, 17, 127, 16, 14, 15, 127, 15, 13, 14, 127, 15, 13, 14, 127, 12, 13, 13, 127, 9, 9, 9, 127, 11, 11, 12, 127, 9, 9, 9, 127, 8, 8, 8, 127, 10, 10, 9, 127, 14, 15, 11, 127, 25, 23, 17, 127, 33, 29, 19, 127, 41, 33, 18, 127, 47, 35, 20, 127, 53, 39, 24, 127, 69, 49, 29, 127, 88, 59, 35, 127, 108, 72, 47, 127, 121, 80, 57, 127, 112, 81, 55, 127, 87, 63, 47, 127, 112, 98, 97, 127, 151, 153, 164, 127, 140, 147, 164, 127, 146, 154, 172, 127, 136, 149, 166, 127, 128, 140, 157, 127, 166, 173, 187, 127, 177, 183, 199, 127, 145, 159, 177, 127, 73, 83, 101, 127, 41, 47, 57, 127, 21, 22, 25, 127, 22, 22, 20, 127, 20, 20, 22, 127, \ +252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 250, 127, 250, 250, 250, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 252, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 247, 127, 253, 252, 235, 127, 253, 253, 213, 127, 254, 254, 197, 127, 253, 251, 191, 127, 251, 252, 158, 127, 249, 252, 135, 127, 253, 251, 147, 127, 250, 246, 175, 127, 205, 159, 138, 127, 130, 64, 65, 127, 112, 68, 64, 127, 73, 53, 39, 127, 35, 27, 19, 127, 10, 8, 8, 127, 15, 15, 11, 127, 20, 18, 12, 127, 10, 8, 10, 127, 9, 9, 10, 127, 6, 7, 8, 127, 7, 8, 7, 127, 7, 7, 7, 127, 9, 9, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 7, 7, 7, 127, 9, 9, 9, 127, 5, 5, 5, 127, 3, 3, 3, 127, 6, 6, 6, 127, 6, 6, 6, 127, 9, 9, 9, 127, 6, 6, 6, 127, 4, 4, 4, 127, 17, 17, 17, 127, 6, 6, 6, 127, 4, 4, 4, 127, 4, 4, 4, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 4, 4, 4, 127, 9, 9, 11, 127, 26, 26, 28, 127, 28, 28, 30, 127, 35, 35, 37, 127, 22, 22, 24, 127, 13, 13, 14, 127, 17, 17, 17, 127, 13, 13, 13, 127, 12, 12, 12, 127, 20, 20, 20, 127, 22, 22, 22, 127, 10, 10, 10, 127, 9, 9, 9, 127, 8, 8, 8, 127, 8, 8, 8, 127, 11, 11, 11, 127, 8, 8, 8, 127, 13, 13, 13, 127, 9, 9, 9, 127, 11, 11, 11, 127, 14, 14, 14, 127, 19, 19, 19, 127, 17, 17, 17, 127, 19, 19, 19, 127, 19, 19, 19, 127, 16, 16, 16, 127, 17, 17, 17, 127, 10, 8, 9, 127, 24, 22, 23, 127, 31, 29, 30, 127, 28, 26, 27, 127, 28, 26, 27, 127, 25, 23, 24, 127, 12, 10, 11, 127, 16, 14, 15, 127, 12, 10, 11, 127, 21, 19, 20, 127, 35, 33, 33, 127, 39, 37, 37, 127, 23, 21, 22, 127, 11, 9, 10, 127, 10, 8, 9, 127, 11, 9, 10, 127, 17, 16, 15, 127, 26, 25, 23, 127, 25, 24, 22, 127, 23, 22, 20, 127, 28, 27, 25, 127, 19, 17, 17, 127, 8, 6, 7, 127, 8, 6, 7, 127, 11, 9, 10, 127, 14, 12, 13, 127, 17, 15, 16, 127, 18, 16, 17, 127, 20, 18, 19, 127, 21, 19, 20, 127, 20, 18, 19, 127, 18, 16, 17, 127, 17, 17, 17, 127, 16, 16, 16, 127, 15, 15, 15, 127, 10, 10, 10, 127, 11, 11, 11, 127, 10, 10, 9, 127, 13, 12, 10, 127, 23, 22, 17, 127, 31, 28, 19, 127, 37, 30, 20, 127, 43, 33, 23, 127, 49, 39, 26, 127, 61, 45, 29, 127, 76, 53, 33, 127, 88, 57, 37, 127, 96, 63, 45, 127, 81, 57, 43, 127, 61, 49, 41, 127, 124, 121, 124, 127, 137, 144, 157, 127, 136, 148, 165, 127, 129, 144, 159, 127, 127, 140, 154, 127, 152, 161, 177, 127, 179, 185, 203, 127, 164, 174, 193, 127, 95, 108, 126, 127, 57, 66, 80, 127, 22, 26, 33, 127, 19, 19, 23, 127, 19, 19, 18, 127, 22, 22, 23, 127, \ +251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 252, 127, 250, 250, 250, 127, 250, 250, 250, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 252, 127, 251, 251, 250, 127, 251, 251, 251, 127, 252, 252, 249, 127, 253, 252, 239, 127, 253, 252, 217, 127, 253, 253, 201, 127, 254, 252, 191, 127, 253, 252, 169, 127, 252, 252, 138, 127, 252, 253, 142, 127, 253, 251, 175, 127, 250, 246, 189, 127, 197, 151, 129, 127, 136, 70, 72, 127, 123, 74, 70, 127, 84, 55, 47, 127, 47, 33, 26, 127, 18, 12, 7, 127, 104, 102, 74, 127, 144, 144, 109, 127, 25, 25, 23, 127, 12, 14, 16, 127, 11, 13, 12, 127, 9, 9, 6, 127, 6, 7, 6, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 4, 4, 4, 127, 1, 1, 1, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 8, 127, 25, 25, 27, 127, 30, 30, 31, 127, 33, 33, 35, 127, 29, 29, 31, 127, 9, 9, 10, 127, 6, 6, 6, 127, 12, 12, 12, 127, 15, 15, 15, 127, 12, 12, 12, 127, 15, 15, 15, 127, 8, 8, 8, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 10, 10, 10, 127, 12, 12, 12, 127, 12, 12, 12, 127, 14, 14, 14, 127, 21, 21, 21, 127, 20, 20, 20, 127, 22, 22, 22, 127, 24, 24, 24, 127, 25, 25, 25, 127, 25, 25, 25, 127, 20, 20, 20, 127, 21, 20, 20, 127, 14, 12, 13, 127, 24, 22, 23, 127, 24, 22, 23, 127, 24, 22, 23, 127, 25, 23, 24, 127, 25, 23, 24, 127, 28, 26, 27, 127, 31, 29, 30, 127, 14, 12, 13, 127, 12, 10, 11, 127, 14, 12, 13, 127, 31, 29, 30, 127, 24, 22, 23, 127, 12, 10, 11, 127, 13, 11, 12, 127, 14, 12, 13, 127, 24, 23, 22, 127, 18, 17, 15, 127, 16, 15, 13, 127, 19, 18, 16, 127, 26, 25, 23, 127, 31, 29, 29, 127, 26, 24, 25, 127, 18, 16, 17, 127, 12, 10, 11, 127, 18, 16, 17, 127, 19, 17, 18, 127, 18, 16, 17, 127, 22, 20, 21, 127, 23, 21, 22, 127, 22, 20, 21, 127, 21, 19, 20, 127, 21, 21, 21, 127, 21, 21, 21, 127, 15, 15, 15, 127, 12, 12, 12, 127, 9, 9, 9, 127, 7, 7, 6, 127, 10, 10, 9, 127, 15, 15, 12, 127, 22, 20, 14, 127, 26, 21, 16, 127, 30, 23, 18, 127, 31, 26, 20, 127, 41, 31, 22, 127, 53, 37, 26, 127, 59, 41, 30, 127, 57, 39, 29, 127, 45, 31, 30, 127, 79, 76, 80, 127, 129, 133, 146, 127, 133, 141, 160, 127, 132, 145, 163, 127, 124, 140, 154, 127, 128, 138, 153, 127, 175, 183, 199, 127, 179, 187, 207, 127, 127, 139, 159, 127, 63, 72, 88, 127, 25, 30, 37, 127, 20, 21, 26, 127, 18, 16, 21, 127, 16, 16, 17, 127, 18, 20, 21, 127, \ +252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 252, 127, 250, 250, 250, 127, 250, 250, 250, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 251, 252, 251, 127, 252, 252, 253, 127, 253, 251, 243, 127, 253, 252, 221, 127, 253, 252, 201, 127, 253, 251, 195, 127, 253, 251, 179, 127, 251, 252, 144, 127, 251, 253, 139, 127, 252, 252, 165, 127, 253, 252, 189, 127, 250, 245, 195, 127, 197, 147, 125, 127, 150, 79, 79, 127, 132, 74, 75, 127, 86, 47, 47, 127, 82, 59, 33, 127, 132, 120, 64, 127, 189, 181, 122, 127, 183, 183, 126, 127, 27, 27, 19, 127, 10, 13, 10, 127, 6, 9, 9, 127, 15, 13, 12, 127, 9, 9, 8, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 4, 4, 4, 127, 5, 5, 5, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 2, 2, 2, 127, 3, 3, 3, 127, 1, 1, 1, 127, 1, 1, 1, 127, 2, 2, 2, 127, 6, 6, 6, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 10, 10, 11, 127, 16, 16, 18, 127, 22, 22, 24, 127, 22, 22, 24, 127, 17, 17, 19, 127, 9, 9, 11, 127, 7, 7, 7, 127, 12, 12, 12, 127, 14, 14, 14, 127, 13, 13, 13, 127, 13, 13, 13, 127, 10, 10, 10, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 10, 10, 10, 127, 16, 16, 16, 127, 26, 26, 26, 127, 28, 28, 28, 127, 24, 24, 24, 127, 23, 23, 23, 127, 27, 27, 27, 127, 22, 22, 22, 127, 31, 31, 31, 127, 29, 29, 29, 127, 24, 24, 24, 127, 23, 22, 23, 127, 20, 18, 19, 127, 25, 23, 24, 127, 22, 20, 21, 127, 14, 12, 13, 127, 17, 15, 16, 127, 29, 27, 28, 127, 33, 31, 31, 127, 35, 33, 33, 127, 29, 27, 28, 127, 10, 8, 9, 127, 13, 11, 12, 127, 27, 25, 26, 127, 17, 15, 16, 127, 16, 14, 15, 127, 22, 20, 21, 127, 26, 24, 25, 127, 23, 21, 20, 127, 11, 10, 8, 127, 11, 10, 8, 127, 14, 13, 11, 127, 20, 19, 17, 127, 28, 27, 26, 127, 21, 19, 20, 127, 26, 24, 25, 127, 22, 20, 21, 127, 16, 14, 15, 127, 16, 14, 15, 127, 16, 14, 15, 127, 21, 19, 20, 127, 22, 20, 21, 127, 18, 16, 17, 127, 19, 17, 18, 127, 21, 21, 21, 127, 20, 20, 20, 127, 16, 16, 16, 127, 12, 12, 12, 127, 10, 10, 10, 127, 9, 9, 9, 127, 7, 7, 7, 127, 9, 8, 8, 127, 13, 12, 10, 127, 15, 13, 10, 127, 17, 14, 12, 127, 20, 16, 16, 127, 24, 18, 16, 127, 30, 24, 19, 127, 26, 21, 16, 127, 30, 28, 25, 127, 59, 53, 59, 127, 91, 92, 104, 127, 124, 130, 148, 127, 130, 136, 160, 127, 127, 138, 157, 127, 126, 139, 154, 127, 155, 161, 179, 127, 179, 189, 205, 127, 156, 172, 189, 127, 115, 129, 146, 127, 47, 51, 61, 127, 24, 24, 29, 127, 22, 21, 25, 127, 22, 17, 22, 127, 22, 21, 23, 127, 22, 25, 25, 127, \ +252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 250, 250, 251, 127, 250, 250, 250, 127, 251, 252, 252, 127, 252, 253, 252, 127, 252, 252, 253, 127, 252, 251, 251, 127, 253, 252, 249, 127, 253, 252, 230, 127, 253, 253, 203, 127, 254, 252, 193, 127, 254, 252, 183, 127, 253, 252, 150, 127, 252, 252, 136, 127, 250, 253, 158, 127, 252, 252, 185, 127, 251, 251, 203, 127, 249, 248, 205, 127, 213, 169, 141, 127, 163, 82, 83, 127, 143, 77, 81, 127, 85, 41, 37, 127, 147, 122, 64, 127, 229, 221, 127, 127, 239, 235, 147, 127, 209, 207, 131, 127, 49, 47, 28, 127, 6, 9, 7, 127, 6, 6, 5, 127, 8, 7, 6, 127, 10, 10, 9, 127, 9, 9, 10, 127, 7, 7, 7, 127, 7, 7, 7, 127, 9, 9, 9, 127, 10, 10, 10, 127, 4, 4, 4, 127, 4, 4, 4, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 1, 1, 1, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 6, 6, 6, 127, 10, 10, 10, 127, 9, 9, 9, 127, 14, 14, 15, 127, 11, 11, 12, 127, 15, 15, 16, 127, 15, 15, 16, 127, 9, 9, 9, 127, 6, 6, 6, 127, 9, 9, 9, 127, 8, 8, 8, 127, 9, 9, 9, 127, 10, 10, 10, 127, 10, 10, 10, 127, 13, 13, 13, 127, 16, 16, 16, 127, 13, 13, 13, 127, 23, 23, 23, 127, 31, 31, 31, 127, 28, 28, 28, 127, 29, 29, 29, 127, 25, 25, 25, 127, 29, 29, 29, 127, 31, 31, 31, 127, 25, 25, 25, 127, 35, 35, 35, 127, 31, 31, 31, 127, 25, 25, 25, 127, 27, 27, 27, 127, 24, 24, 24, 127, 14, 13, 14, 127, 14, 13, 14, 127, 8, 7, 8, 127, 8, 7, 8, 127, 8, 7, 7, 127, 15, 14, 14, 127, 29, 28, 29, 127, 33, 33, 33, 127, 17, 16, 17, 127, 21, 20, 21, 127, 28, 27, 28, 127, 19, 18, 18, 127, 12, 11, 12, 127, 19, 18, 18, 127, 19, 18, 19, 127, 14, 13, 12, 127, 10, 10, 9, 127, 8, 7, 6, 127, 11, 11, 10, 127, 20, 20, 19, 127, 29, 28, 28, 127, 19, 18, 18, 127, 20, 19, 19, 127, 25, 25, 25, 127, 17, 16, 17, 127, 18, 16, 17, 127, 16, 14, 15, 127, 16, 14, 15, 127, 18, 16, 17, 127, 24, 22, 23, 127, 19, 17, 18, 127, 16, 14, 15, 127, 16, 15, 16, 127, 17, 16, 16, 127, 12, 11, 11, 127, 13, 11, 12, 127, 13, 10, 12, 127, 10, 9, 10, 127, 8, 6, 6, 127, 8, 6, 6, 127, 10, 8, 7, 127, 11, 10, 9, 127, 11, 9, 12, 127, 10, 8, 10, 127, 13, 11, 13, 127, 27, 27, 29, 127, 59, 63, 65, 127, 57, 57, 68, 127, 111, 119, 132, 127, 128, 141, 158, 127, 134, 142, 164, 127, 131, 140, 160, 127, 137, 146, 162, 127, 172, 179, 195, 127, 167, 179, 195, 127, 128, 145, 165, 127, 103, 113, 131, 127, 27, 29, 33, 127, 23, 23, 25, 127, 20, 19, 22, 127, 23, 20, 23, 127, 24, 24, 26, 127, 26, 27, 28, 127, \ +252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 250, 250, 250, 127, 250, 250, 250, 127, 250, 252, 251, 127, 251, 253, 252, 127, 251, 252, 252, 127, 252, 251, 250, 127, 253, 253, 237, 127, 252, 253, 213, 127, 254, 253, 197, 127, 254, 251, 191, 127, 254, 251, 162, 127, 253, 253, 130, 127, 253, 251, 144, 127, 251, 253, 172, 127, 252, 252, 195, 127, 252, 251, 207, 127, 249, 251, 207, 127, 234, 215, 175, 127, 175, 97, 93, 127, 147, 75, 76, 127, 99, 47, 41, 127, 207, 193, 133, 127, 246, 245, 160, 127, 250, 249, 166, 127, 237, 236, 159, 127, 94, 94, 61, 127, 18, 19, 14, 127, 20, 19, 14, 127, 7, 5, 7, 127, 4, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 6, 6, 6, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 5, 5, 5, 127, 7, 7, 7, 127, 11, 11, 11, 127, 9, 9, 9, 127, 17, 17, 17, 127, 13, 13, 13, 127, 11, 11, 11, 127, 13, 13, 13, 127, 8, 8, 8, 127, 6, 6, 6, 127, 8, 8, 8, 127, 9, 9, 9, 127, 6, 6, 6, 127, 8, 8, 8, 127, 12, 12, 12, 127, 17, 17, 17, 127, 16, 16, 16, 127, 26, 26, 26, 127, 35, 35, 35, 127, 30, 30, 30, 127, 26, 26, 26, 127, 26, 26, 26, 127, 30, 30, 30, 127, 35, 35, 35, 127, 28, 28, 28, 127, 30, 30, 30, 127, 33, 33, 33, 127, 31, 31, 31, 127, 29, 29, 29, 127, 29, 29, 29, 127, 27, 27, 27, 127, 13, 13, 13, 127, 15, 15, 15, 127, 10, 10, 10, 127, 9, 9, 9, 127, 8, 8, 8, 127, 16, 16, 16, 127, 26, 26, 26, 127, 35, 35, 35, 127, 26, 26, 26, 127, 33, 33, 33, 127, 31, 31, 31, 127, 19, 19, 19, 127, 10, 10, 10, 127, 10, 10, 10, 127, 14, 14, 14, 127, 11, 11, 11, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 11, 11, 11, 127, 21, 21, 21, 127, 16, 16, 16, 127, 15, 15, 15, 127, 14, 14, 14, 127, 14, 14, 14, 127, 14, 13, 13, 127, 15, 13, 14, 127, 20, 18, 19, 127, 19, 17, 18, 127, 24, 22, 23, 127, 22, 20, 21, 127, 18, 16, 17, 127, 17, 15, 16, 127, 17, 15, 16, 127, 15, 13, 14, 127, 14, 11, 12, 127, 13, 10, 12, 127, 10, 9, 10, 127, 8, 6, 7, 127, 7, 4, 5, 127, 6, 4, 5, 127, 7, 6, 6, 127, 9, 9, 11, 127, 12, 12, 16, 127, 43, 41, 47, 127, 66, 65, 71, 127, 45, 47, 51, 127, 74, 76, 88, 127, 122, 135, 149, 127, 128, 144, 162, 127, 141, 151, 170, 127, 138, 147, 165, 127, 153, 163, 175, 127, 171, 181, 195, 127, 157, 170, 189, 127, 115, 127, 150, 127, 66, 71, 86, 127, 24, 25, 28, 127, 23, 22, 25, 127, 19, 18, 21, 127, 20, 20, 22, 127, 21, 21, 23, 127, 28, 28, 30, 127, \ +252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 251, 251, 251, 127, 253, 253, 253, 127, 253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 250, 250, 250, 127, 250, 250, 250, 127, 251, 251, 251, 127, 252, 252, 252, 127, 251, 251, 251, 127, 253, 252, 241, 127, 252, 253, 217, 127, 252, 253, 203, 127, 253, 252, 193, 127, 253, 251, 172, 127, 253, 251, 139, 127, 253, 254, 132, 127, 253, 253, 161, 127, 252, 252, 187, 127, 253, 252, 203, 127, 253, 251, 209, 127, 250, 252, 201, 127, 248, 245, 193, 127, 201, 158, 125, 127, 147, 74, 69, 127, 111, 57, 49, 127, 215, 209, 158, 127, 249, 250, 171, 127, 249, 250, 170, 127, 242, 244, 162, 127, 123, 121, 80, 127, 61, 57, 47, 127, 39, 37, 27, 127, 12, 8, 11, 127, 4, 4, 4, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 1, 1, 1, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 3, 3, 3, 127, 6, 6, 6, 127, 11, 11, 11, 127, 12, 12, 12, 127, 7, 7, 7, 127, 9, 9, 9, 127, 11, 11, 11, 127, 5, 5, 5, 127, 6, 6, 6, 127, 3, 3, 3, 127, 4, 4, 4, 127, 7, 7, 7, 127, 9, 9, 9, 127, 6, 6, 6, 127, 9, 9, 9, 127, 14, 14, 14, 127, 18, 18, 18, 127, 26, 26, 26, 127, 30, 30, 30, 127, 31, 31, 31, 127, 28, 28, 28, 127, 33, 33, 33, 127, 33, 33, 33, 127, 35, 35, 35, 127, 28, 28, 28, 127, 33, 33, 33, 127, 29, 29, 29, 127, 31, 31, 31, 127, 33, 33, 33, 127, 28, 28, 28, 127, 29, 29, 29, 127, 31, 31, 31, 127, 19, 19, 19, 127, 18, 18, 18, 127, 15, 15, 15, 127, 18, 18, 18, 127, 12, 12, 12, 127, 23, 23, 23, 127, 25, 25, 25, 127, 29, 29, 29, 127, 30, 30, 30, 127, 33, 33, 33, 127, 29, 29, 29, 127, 18, 18, 18, 127, 16, 16, 16, 127, 14, 14, 14, 127, 11, 11, 11, 127, 11, 11, 11, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 12, 12, 12, 127, 16, 16, 16, 127, 17, 17, 17, 127, 16, 16, 16, 127, 14, 14, 14, 127, 13, 13, 13, 127, 13, 12, 12, 127, 13, 11, 12, 127, 13, 11, 12, 127, 15, 13, 14, 127, 21, 19, 20, 127, 24, 22, 23, 127, 22, 20, 21, 127, 15, 13, 14, 127, 16, 14, 15, 127, 18, 16, 17, 127, 16, 15, 15, 127, 11, 10, 10, 127, 9, 10, 10, 127, 7, 7, 8, 127, 7, 6, 8, 127, 8, 5, 7, 127, 10, 7, 10, 127, 26, 25, 28, 127, 63, 61, 67, 127, 68, 67, 72, 127, 49, 49, 55, 127, 39, 39, 43, 127, 107, 111, 124, 127, 133, 146, 164, 127, 140, 153, 173, 127, 144, 153, 171, 127, 145, 155, 169, 127, 157, 169, 181, 127, 175, 185, 205, 127, 133, 144, 169, 127, 108, 116, 133, 127, 29, 33, 37, 127, 21, 21, 24, 127, 19, 19, 21, 127, 21, 21, 23, 127, 27, 27, 29, 127, 21, 21, 23, 127, 26, 26, 28, 127, \ +250, 250, 250, 127, 251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 249, 249, 249, 127, 249, 249, 249, 127, 251, 251, 249, 127, 252, 252, 250, 127, 252, 252, 244, 127, 253, 254, 225, 127, 250, 253, 201, 127, 252, 252, 197, 127, 253, 252, 177, 127, 253, 254, 142, 127, 252, 252, 132, 127, 253, 252, 154, 127, 253, 253, 183, 127, 251, 253, 201, 127, 252, 252, 205, 127, 253, 252, 205, 127, 251, 253, 195, 127, 249, 252, 187, 127, 235, 226, 167, 127, 148, 97, 63, 127, 123, 71, 49, 127, 223, 217, 156, 127, 250, 250, 170, 127, 251, 251, 165, 127, 249, 250, 162, 127, 161, 158, 103, 127, 55, 49, 39, 127, 31, 28, 18, 127, 12, 10, 12, 127, 8, 8, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 4, 4, 4, 127, 3, 3, 3, 127, 5, 5, 5, 127, 5, 5, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 3, 3, 3, 127, 5, 5, 5, 127, 10, 10, 10, 127, 11, 11, 11, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 4, 4, 4, 127, 3, 3, 3, 127, 6, 6, 6, 127, 8, 8, 8, 127, 13, 13, 13, 127, 21, 21, 21, 127, 30, 30, 30, 127, 28, 28, 28, 127, 30, 30, 30, 127, 25, 25, 25, 127, 31, 31, 31, 127, 35, 35, 35, 127, 33, 33, 33, 127, 31, 31, 31, 127, 28, 28, 28, 127, 29, 29, 29, 127, 24, 24, 24, 127, 30, 30, 30, 127, 35, 35, 35, 127, 33, 33, 33, 127, 31, 31, 31, 127, 30, 30, 30, 127, 27, 27, 27, 127, 21, 21, 21, 127, 20, 20, 20, 127, 25, 25, 25, 127, 13, 13, 13, 127, 19, 19, 19, 127, 30, 30, 30, 127, 24, 24, 24, 127, 21, 21, 21, 127, 24, 24, 24, 127, 21, 21, 21, 127, 16, 16, 16, 127, 12, 12, 12, 127, 11, 11, 11, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 8, 8, 8, 127, 12, 12, 12, 127, 17, 17, 17, 127, 20, 20, 20, 127, 20, 20, 20, 127, 19, 19, 19, 127, 18, 18, 18, 127, 12, 12, 12, 127, 9, 9, 9, 127, 9, 7, 8, 127, 12, 10, 11, 127, 15, 13, 14, 127, 16, 14, 15, 127, 21, 19, 20, 127, 23, 21, 22, 127, 21, 19, 20, 127, 18, 16, 17, 127, 19, 17, 18, 127, 14, 12, 13, 127, 9, 9, 8, 127, 11, 11, 10, 127, 7, 7, 8, 127, 7, 7, 10, 127, 10, 10, 15, 127, 39, 39, 45, 127, 65, 66, 71, 127, 59, 61, 65, 127, 45, 45, 49, 127, 39, 39, 43, 127, 37, 37, 41, 127, 129, 136, 148, 127, 146, 158, 175, 127, 145, 156, 175, 127, 145, 152, 171, 127, 154, 165, 179, 127, 163, 177, 191, 127, 160, 173, 197, 127, 108, 119, 142, 127, 68, 74, 86, 127, 24, 25, 27, 127, 22, 20, 24, 127, 23, 23, 25, 127, 23, 23, 25, 127, 28, 28, 30, 127, 24, 24, 26, 127, 25, 25, 27, 127, \ +252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 250, 127, 251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 252, 127, 252, 252, 251, 127, 251, 251, 252, 127, 249, 249, 250, 127, 249, 249, 248, 127, 250, 250, 247, 127, 252, 252, 246, 127, 252, 253, 231, 127, 252, 254, 209, 127, 250, 254, 195, 127, 252, 254, 187, 127, 252, 254, 150, 127, 252, 253, 128, 127, 253, 252, 144, 127, 253, 253, 174, 127, 253, 252, 197, 127, 252, 253, 203, 127, 252, 253, 201, 127, 254, 252, 197, 127, 253, 252, 189, 127, 252, 252, 183, 127, 250, 250, 185, 127, 223, 209, 149, 127, 219, 205, 148, 127, 250, 249, 175, 127, 252, 252, 168, 127, 251, 252, 163, 127, 251, 251, 157, 127, 201, 197, 125, 127, 49, 39, 22, 127, 18, 15, 15, 127, 13, 12, 15, 127, 12, 11, 13, 127, 8, 8, 8, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 2, 2, 2, 127, 3, 3, 3, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 8, 8, 8, 127, 6, 6, 6, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 3, 3, 3, 127, 4, 4, 4, 127, 6, 6, 6, 127, 11, 11, 11, 127, 26, 26, 26, 127, 31, 31, 31, 127, 35, 35, 35, 127, 30, 30, 30, 127, 25, 25, 25, 127, 28, 28, 28, 127, 31, 31, 31, 127, 25, 25, 25, 127, 27, 27, 27, 127, 26, 26, 26, 127, 30, 30, 30, 127, 30, 30, 30, 127, 30, 30, 30, 127, 35, 35, 35, 127, 41, 41, 41, 127, 33, 33, 33, 127, 33, 33, 33, 127, 31, 31, 31, 127, 28, 28, 28, 127, 19, 19, 19, 127, 25, 25, 25, 127, 31, 31, 31, 127, 12, 12, 12, 127, 14, 14, 14, 127, 23, 23, 23, 127, 17, 17, 17, 127, 25, 25, 25, 127, 24, 24, 24, 127, 23, 23, 23, 127, 11, 11, 11, 127, 10, 10, 10, 127, 8, 8, 8, 127, 4, 4, 4, 127, 7, 7, 7, 127, 4, 4, 4, 127, 7, 7, 7, 127, 16, 16, 16, 127, 20, 20, 20, 127, 22, 22, 22, 127, 15, 15, 15, 127, 19, 19, 19, 127, 11, 11, 11, 127, 8, 7, 7, 127, 6, 6, 6, 127, 8, 6, 7, 127, 15, 13, 14, 127, 16, 14, 15, 127, 12, 10, 11, 127, 15, 13, 14, 127, 22, 20, 21, 127, 21, 19, 20, 127, 19, 17, 18, 127, 18, 16, 17, 127, 11, 9, 10, 127, 12, 10, 10, 127, 13, 11, 11, 127, 13, 12, 13, 127, 16, 17, 20, 127, 55, 59, 66, 127, 61, 68, 76, 127, 51, 55, 59, 127, 41, 45, 49, 127, 37, 41, 43, 127, 19, 22, 26, 127, 41, 41, 47, 127, 149, 157, 167, 127, 157, 169, 185, 127, 155, 164, 183, 127, 154, 159, 181, 127, 160, 169, 183, 127, 157, 173, 189, 127, 133, 147, 172, 127, 75, 86, 102, 127, 25, 28, 39, 127, 20, 19, 24, 127, 19, 17, 21, 127, 20, 20, 22, 127, 22, 22, 24, 127, 26, 26, 28, 127, 25, 25, 27, 127, 19, 19, 21, 127, \ +253, 253, 253, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 250, 127, 251, 251, 251, 127, 251, 251, 250, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 251, 127, 251, 251, 250, 127, 251, 251, 250, 127, 251, 251, 250, 127, 251, 251, 250, 127, 252, 252, 251, 127, 252, 252, 249, 127, 251, 251, 250, 127, 249, 249, 247, 127, 249, 249, 248, 127, 249, 249, 246, 127, 252, 251, 239, 127, 253, 253, 217, 127, 252, 253, 197, 127, 253, 253, 189, 127, 252, 254, 165, 127, 250, 254, 133, 127, 252, 252, 137, 127, 253, 251, 167, 127, 253, 253, 189, 127, 253, 254, 205, 127, 253, 253, 201, 127, 253, 252, 195, 127, 252, 253, 191, 127, 252, 253, 185, 127, 252, 252, 181, 127, 252, 252, 183, 127, 251, 251, 177, 127, 251, 250, 171, 127, 251, 251, 175, 127, 250, 252, 163, 127, 252, 252, 150, 127, 249, 250, 136, 127, 237, 231, 111, 127, 107, 87, 37, 127, 11, 12, 12, 127, 7, 9, 7, 127, 9, 8, 8, 127, 7, 7, 8, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 5, 5, 5, 127, 8, 8, 8, 127, 7, 7, 7, 127, 5, 5, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 2, 2, 2, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 8, 8, 8, 127, 12, 12, 12, 127, 26, 26, 26, 127, 35, 35, 35, 127, 35, 35, 35, 127, 33, 33, 33, 127, 27, 27, 27, 127, 25, 25, 25, 127, 16, 16, 16, 127, 15, 15, 15, 127, 16, 16, 16, 127, 15, 15, 15, 127, 19, 19, 19, 127, 24, 24, 24, 127, 33, 33, 33, 127, 33, 33, 33, 127, 39, 39, 39, 127, 41, 41, 41, 127, 35, 35, 35, 127, 31, 31, 31, 127, 39, 39, 39, 127, 31, 31, 31, 127, 23, 22, 23, 127, 30, 29, 30, 127, 31, 31, 31, 127, 17, 17, 17, 127, 10, 10, 10, 127, 14, 14, 14, 127, 13, 13, 13, 127, 21, 21, 21, 127, 28, 28, 28, 127, 31, 31, 31, 127, 19, 19, 19, 127, 12, 12, 12, 127, 12, 12, 12, 127, 8, 8, 8, 127, 5, 5, 5, 127, 4, 4, 4, 127, 10, 10, 10, 127, 14, 14, 14, 127, 21, 21, 21, 127, 24, 24, 24, 127, 18, 18, 18, 127, 13, 13, 13, 127, 12, 12, 12, 127, 13, 13, 13, 127, 14, 12, 13, 127, 20, 19, 19, 127, 23, 21, 22, 127, 16, 14, 15, 127, 9, 8, 9, 127, 7, 6, 7, 127, 17, 15, 16, 127, 22, 20, 21, 127, 18, 16, 17, 127, 16, 15, 16, 127, 17, 16, 17, 127, 24, 20, 21, 127, 29, 24, 27, 127, 47, 45, 49, 127, 67, 69, 75, 127, 59, 66, 73, 127, 43, 51, 59, 127, 35, 37, 43, 127, 28, 29, 31, 127, 18, 20, 20, 127, 12, 14, 17, 127, 57, 59, 67, 127, 150, 159, 171, 127, 161, 174, 189, 127, 153, 162, 181, 127, 149, 157, 177, 127, 154, 165, 181, 127, 140, 155, 172, 127, 63, 76, 93, 127, 19, 27, 33, 127, 16, 19, 24, 127, 20, 17, 23, 127, 23, 19, 24, 127, 21, 21, 23, 127, 20, 20, 22, 127, 23, 23, 25, 127, 26, 26, 28, 127, 25, 25, 27, 127, \ +252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 249, 127, 250, 251, 248, 127, 251, 251, 248, 127, 251, 251, 249, 127, 252, 252, 250, 127, 250, 250, 248, 127, 250, 250, 248, 127, 250, 250, 248, 127, 250, 250, 248, 127, 250, 250, 248, 127, 250, 250, 248, 127, 250, 250, 250, 127, 250, 250, 248, 127, 250, 251, 246, 127, 250, 250, 248, 127, 247, 249, 249, 127, 248, 248, 247, 127, 251, 251, 237, 127, 253, 253, 223, 127, 253, 253, 201, 127, 252, 253, 191, 127, 254, 253, 174, 127, 252, 251, 140, 127, 253, 253, 135, 127, 252, 252, 157, 127, 252, 252, 183, 127, 254, 253, 201, 127, 254, 253, 207, 127, 253, 252, 197, 127, 253, 254, 185, 127, 252, 254, 181, 127, 252, 254, 181, 127, 253, 253, 179, 127, 252, 253, 177, 127, 252, 253, 172, 127, 252, 252, 170, 127, 253, 252, 169, 127, 251, 253, 159, 127, 250, 252, 146, 127, 249, 248, 130, 127, 238, 225, 106, 127, 117, 96, 39, 127, 14, 14, 7, 127, 8, 8, 6, 127, 5, 4, 4, 127, 6, 6, 6, 127, 6, 6, 6, 127, 4, 4, 4, 127, 5, 5, 5, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 4, 4, 4, 127, 4, 4, 4, 127, 5, 5, 5, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 13, 13, 13, 127, 26, 26, 26, 127, 33, 33, 33, 127, 35, 35, 35, 127, 30, 30, 30, 127, 21, 21, 21, 127, 17, 17, 17, 127, 13, 13, 13, 127, 9, 9, 9, 127, 16, 16, 16, 127, 20, 20, 20, 127, 19, 19, 19, 127, 19, 19, 19, 127, 25, 25, 25, 127, 33, 33, 33, 127, 41, 41, 41, 127, 41, 41, 41, 127, 35, 35, 35, 127, 31, 31, 31, 127, 31, 31, 31, 127, 37, 35, 35, 127, 31, 30, 31, 127, 26, 24, 25, 127, 33, 31, 31, 127, 33, 33, 33, 127, 21, 21, 21, 127, 17, 17, 17, 127, 21, 21, 21, 127, 20, 20, 20, 127, 22, 22, 22, 127, 25, 25, 25, 127, 27, 27, 27, 127, 23, 23, 23, 127, 16, 16, 16, 127, 14, 14, 14, 127, 13, 13, 13, 127, 10, 10, 10, 127, 9, 9, 9, 127, 12, 12, 12, 127, 18, 18, 18, 127, 20, 20, 20, 127, 22, 22, 22, 127, 26, 26, 26, 127, 22, 22, 22, 127, 14, 14, 14, 127, 9, 9, 9, 127, 14, 14, 14, 127, 16, 16, 16, 127, 17, 17, 17, 127, 11, 11, 11, 127, 7, 7, 7, 127, 8, 8, 8, 127, 14, 14, 14, 127, 17, 17, 17, 127, 17, 17, 17, 127, 17, 17, 17, 127, 20, 20, 19, 127, 33, 33, 35, 127, 51, 51, 55, 127, 59, 59, 65, 127, 51, 51, 57, 127, 47, 47, 53, 127, 33, 33, 39, 127, 26, 23, 29, 127, 25, 23, 27, 127, 18, 18, 19, 127, 18, 19, 23, 127, 55, 55, 64, 127, 130, 138, 152, 127, 158, 172, 191, 127, 148, 160, 177, 127, 145, 156, 173, 127, 120, 130, 145, 127, 55, 61, 71, 127, 20, 24, 25, 127, 17, 18, 21, 127, 16, 16, 19, 127, 19, 18, 21, 127, 20, 19, 22, 127, 21, 21, 23, 127, 24, 24, 26, 127, 21, 21, 23, 127, 22, 22, 24, 127, 22, 22, 24, 127, \ +252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 252, 252, 252, 127, 250, 250, 249, 127, 251, 251, 249, 127, 251, 251, 249, 127, 251, 251, 249, 127, 251, 251, 249, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 250, 245, 127, 249, 250, 249, 127, 248, 248, 248, 127, 249, 249, 240, 127, 251, 252, 221, 127, 252, 253, 205, 127, 253, 253, 199, 127, 253, 252, 185, 127, 252, 253, 154, 127, 251, 252, 133, 127, 253, 253, 146, 127, 253, 254, 175, 127, 253, 254, 195, 127, 253, 253, 203, 127, 254, 253, 203, 127, 254, 252, 189, 127, 253, 253, 177, 127, 253, 254, 177, 127, 253, 253, 181, 127, 254, 253, 181, 127, 253, 253, 174, 127, 253, 252, 169, 127, 253, 252, 168, 127, 253, 253, 165, 127, 252, 253, 152, 127, 251, 250, 138, 127, 235, 226, 102, 127, 179, 161, 68, 127, 57, 47, 24, 127, 13, 16, 13, 127, 10, 7, 10, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 4, 4, 4, 127, 3, 3, 3, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 9, 9, 9, 127, 9, 9, 9, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 4, 4, 4, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 8, 8, 8, 127, 7, 7, 7, 127, 9, 9, 9, 127, 14, 14, 14, 127, 22, 22, 22, 127, 28, 28, 28, 127, 30, 30, 30, 127, 15, 15, 15, 127, 12, 12, 12, 127, 13, 13, 13, 127, 16, 16, 16, 127, 19, 19, 19, 127, 26, 26, 26, 127, 24, 24, 24, 127, 20, 20, 20, 127, 17, 17, 17, 127, 23, 23, 23, 127, 31, 31, 31, 127, 39, 39, 39, 127, 31, 31, 31, 127, 29, 29, 29, 127, 31, 31, 31, 127, 29, 29, 29, 127, 35, 33, 33, 127, 30, 28, 29, 127, 30, 28, 29, 127, 31, 30, 31, 127, 33, 31, 33, 127, 16, 15, 16, 127, 18, 18, 18, 127, 28, 28, 28, 127, 28, 28, 28, 127, 30, 30, 30, 127, 17, 17, 17, 127, 19, 19, 19, 127, 14, 14, 14, 127, 19, 19, 19, 127, 16, 16, 16, 127, 12, 12, 12, 127, 13, 13, 13, 127, 15, 15, 15, 127, 19, 19, 19, 127, 16, 16, 16, 127, 12, 12, 12, 127, 12, 12, 12, 127, 13, 13, 13, 127, 11, 11, 11, 127, 9, 9, 9, 127, 7, 7, 7, 127, 12, 12, 12, 127, 11, 11, 11, 127, 8, 8, 8, 127, 11, 11, 11, 127, 11, 11, 11, 127, 14, 14, 14, 127, 12, 12, 12, 127, 14, 14, 14, 127, 9, 9, 9, 127, 8, 8, 7, 127, 8, 8, 7, 127, 11, 11, 12, 127, 18, 19, 23, 127, 26, 28, 31, 127, 30, 30, 33, 127, 20, 20, 23, 127, 16, 16, 19, 127, 25, 23, 28, 127, 21, 20, 25, 127, 16, 17, 19, 127, 23, 25, 29, 127, 51, 53, 61, 127, 98, 106, 119, 127, 136, 149, 166, 127, 135, 144, 166, 127, 107, 113, 133, 127, 39, 43, 49, 127, 17, 18, 21, 127, 18, 18, 20, 127, 16, 15, 19, 127, 15, 15, 17, 127, 19, 19, 21, 127, 20, 20, 22, 127, 24, 24, 26, 127, 26, 26, 28, 127, 24, 24, 26, 127, 20, 20, 22, 127, 26, 26, 28, 127, \ +251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 252, 127, 252, 252, 252, 127, 251, 251, 251, 127, 251, 251, 249, 127, 250, 250, 248, 127, 250, 250, 248, 127, 251, 251, 249, 127, 249, 249, 247, 127, 248, 248, 246, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 246, 127, 249, 250, 247, 127, 250, 249, 249, 127, 251, 249, 242, 127, 252, 251, 230, 127, 252, 253, 207, 127, 253, 253, 199, 127, 252, 252, 193, 127, 253, 253, 166, 127, 251, 253, 133, 127, 251, 253, 140, 127, 253, 254, 165, 127, 253, 254, 193, 127, 254, 253, 205, 127, 253, 252, 203, 127, 254, 253, 191, 127, 254, 252, 179, 127, 253, 253, 174, 127, 252, 253, 175, 127, 253, 253, 179, 127, 254, 253, 179, 127, 254, 252, 170, 127, 253, 252, 167, 127, 253, 253, 163, 127, 253, 252, 155, 127, 252, 248, 144, 127, 245, 238, 120, 127, 226, 209, 99, 127, 118, 104, 47, 127, 17, 15, 13, 127, 10, 9, 12, 127, 8, 11, 10, 127, 8, 8, 7, 127, 6, 5, 6, 127, 9, 9, 9, 127, 6, 6, 6, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 9, 9, 9, 127, 10, 10, 10, 127, 9, 9, 9, 127, 10, 10, 10, 127, 9, 9, 9, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 4, 4, 4, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 9, 9, 9, 127, 7, 7, 7, 127, 13, 13, 13, 127, 12, 12, 12, 127, 16, 16, 16, 127, 23, 23, 23, 127, 23, 23, 23, 127, 20, 20, 20, 127, 24, 24, 24, 127, 23, 23, 23, 127, 24, 24, 24, 127, 30, 30, 30, 127, 25, 25, 25, 127, 18, 18, 18, 127, 15, 15, 15, 127, 14, 14, 14, 127, 26, 26, 26, 127, 35, 35, 35, 127, 31, 31, 31, 127, 30, 30, 30, 127, 26, 26, 26, 127, 31, 31, 31, 127, 30, 30, 30, 127, 31, 31, 31, 127, 28, 26, 27, 127, 25, 23, 24, 127, 31, 29, 30, 127, 33, 31, 31, 127, 20, 18, 19, 127, 22, 22, 22, 127, 31, 31, 31, 127, 31, 31, 31, 127, 29, 29, 29, 127, 23, 23, 23, 127, 20, 20, 20, 127, 12, 12, 12, 127, 17, 17, 17, 127, 12, 12, 12, 127, 8, 8, 8, 127, 6, 6, 6, 127, 10, 10, 10, 127, 10, 10, 10, 127, 9, 9, 9, 127, 7, 7, 7, 127, 11, 11, 11, 127, 12, 12, 12, 127, 11, 11, 11, 127, 9, 9, 9, 127, 11, 11, 11, 127, 10, 10, 10, 127, 6, 6, 6, 127, 5, 5, 5, 127, 13, 13, 13, 127, 17, 17, 17, 127, 17, 17, 17, 127, 17, 17, 17, 127, 13, 13, 13, 127, 10, 10, 10, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 11, 11, 11, 127, 17, 17, 17, 127, 13, 13, 11, 127, 10, 10, 9, 127, 16, 16, 17, 127, 21, 19, 24, 127, 19, 18, 23, 127, 20, 21, 23, 127, 28, 29, 33, 127, 57, 59, 67, 127, 69, 76, 90, 127, 107, 117, 133, 127, 84, 89, 101, 127, 30, 31, 37, 127, 18, 19, 21, 127, 15, 16, 17, 127, 16, 16, 18, 127, 15, 16, 18, 127, 18, 18, 20, 127, 19, 18, 20, 127, 20, 20, 22, 127, 17, 17, 19, 127, 20, 20, 22, 127, 22, 22, 24, 127, 21, 21, 23, 127, 24, 24, 26, 127, \ +250, 250, 250, 127, 251, 251, 251, 127, 251, 251, 251, 127, 252, 252, 252, 127, 251, 251, 251, 127, 250, 250, 248, 127, 249, 249, 247, 127, 250, 250, 248, 127, 249, 249, 247, 127, 249, 249, 247, 127, 248, 248, 246, 127, 249, 249, 247, 127, 249, 249, 247, 127, 250, 250, 248, 127, 250, 250, 248, 127, 250, 250, 246, 127, 249, 251, 246, 127, 250, 250, 247, 127, 252, 249, 245, 127, 253, 251, 230, 127, 254, 252, 215, 127, 253, 253, 197, 127, 254, 253, 193, 127, 251, 253, 174, 127, 251, 253, 142, 127, 252, 253, 140, 127, 253, 253, 162, 127, 253, 254, 185, 127, 253, 254, 201, 127, 252, 254, 207, 127, 254, 254, 197, 127, 253, 253, 183, 127, 254, 253, 173, 127, 254, 253, 170, 127, 254, 253, 174, 127, 254, 252, 177, 127, 254, 253, 175, 127, 253, 252, 165, 127, 251, 252, 163, 127, 252, 253, 157, 127, 252, 249, 143, 127, 243, 233, 125, 127, 219, 197, 93, 127, 155, 127, 61, 127, 53, 41, 24, 127, 9, 8, 10, 127, 8, 3, 8, 127, 4, 10, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 9, 9, 9, 127, 9, 9, 9, 127, 8, 8, 8, 127, 9, 9, 9, 127, 10, 10, 10, 127, 9, 9, 9, 127, 8, 8, 8, 127, 9, 9, 9, 127, 6, 6, 6, 127, 4, 4, 4, 127, 6, 6, 6, 127, 9, 9, 9, 127, 11, 11, 11, 127, 9, 9, 9, 127, 7, 7, 7, 127, 13, 13, 13, 127, 12, 12, 12, 127, 24, 24, 24, 127, 24, 24, 24, 127, 20, 20, 20, 127, 23, 23, 23, 127, 23, 23, 23, 127, 23, 23, 23, 127, 30, 30, 30, 127, 21, 21, 21, 127, 11, 11, 11, 127, 12, 12, 12, 127, 12, 12, 12, 127, 23, 23, 23, 127, 30, 30, 30, 127, 31, 31, 31, 127, 26, 26, 26, 127, 28, 28, 28, 127, 33, 33, 33, 127, 35, 35, 35, 127, 28, 28, 28, 127, 27, 25, 26, 127, 26, 24, 25, 127, 27, 25, 26, 127, 30, 28, 29, 127, 25, 23, 24, 127, 19, 18, 19, 127, 21, 21, 21, 127, 33, 33, 33, 127, 28, 29, 28, 127, 26, 26, 26, 127, 33, 33, 33, 127, 11, 11, 11, 127, 11, 11, 11, 127, 10, 10, 10, 127, 10, 10, 10, 127, 8, 8, 8, 127, 10, 10, 10, 127, 9, 9, 9, 127, 7, 7, 7, 127, 7, 7, 7, 127, 8, 8, 8, 127, 7, 7, 7, 127, 11, 11, 11, 127, 9, 9, 9, 127, 8, 8, 8, 127, 10, 10, 10, 127, 9, 9, 9, 127, 9, 9, 9, 127, 9, 9, 9, 127, 11, 12, 11, 127, 16, 16, 16, 127, 16, 16, 16, 127, 25, 25, 25, 127, 17, 17, 17, 127, 21, 21, 21, 127, 15, 15, 15, 127, 5, 5, 5, 127, 9, 7, 8, 127, 14, 12, 14, 127, 14, 12, 14, 127, 11, 9, 11, 127, 11, 9, 11, 127, 15, 14, 15, 127, 19, 16, 21, 127, 20, 18, 23, 127, 27, 27, 30, 127, 29, 30, 33, 127, 57, 57, 67, 127, 57, 59, 73, 127, 55, 61, 72, 127, 20, 22, 25, 127, 14, 14, 12, 127, 13, 13, 14, 127, 10, 10, 12, 127, 13, 13, 17, 127, 13, 13, 15, 127, 15, 15, 17, 127, 16, 16, 18, 127, 21, 21, 23, 127, 19, 19, 21, 127, 15, 15, 17, 127, 19, 19, 21, 127, 29, 29, 31, 127, 27, 27, 29, 127, \ +250, 250, 250, 127, 251, 251, 251, 127, 250, 250, 250, 127, 250, 250, 250, 127, 250, 250, 249, 127, 250, 250, 248, 127, 250, 250, 248, 127, 250, 250, 248, 127, 248, 248, 246, 127, 247, 247, 245, 127, 248, 248, 246, 127, 249, 249, 247, 127, 248, 248, 246, 127, 249, 249, 247, 127, 250, 250, 248, 127, 249, 250, 245, 127, 249, 251, 244, 127, 250, 250, 244, 127, 252, 249, 242, 127, 253, 251, 219, 127, 253, 252, 197, 127, 253, 253, 193, 127, 252, 253, 181, 127, 249, 253, 144, 127, 252, 253, 142, 127, 253, 252, 166, 127, 253, 252, 185, 127, 253, 253, 199, 127, 253, 253, 205, 127, 253, 253, 203, 127, 253, 254, 187, 127, 253, 253, 175, 127, 254, 253, 172, 127, 254, 253, 169, 127, 254, 252, 171, 127, 254, 252, 172, 127, 254, 253, 167, 127, 251, 253, 160, 127, 249, 254, 161, 127, 251, 253, 154, 127, 251, 244, 135, 127, 228, 209, 93, 127, 181, 155, 59, 127, 120, 95, 39, 127, 53, 37, 23, 127, 10, 9, 7, 127, 4, 5, 7, 127, 5, 6, 4, 127, 5, 5, 4, 127, 7, 7, 7, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 5, 5, 5, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 8, 8, 8, 127, 7, 7, 7, 127, 10, 10, 10, 127, 8, 8, 8, 127, 8, 8, 8, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 9, 127, 12, 12, 12, 127, 11, 11, 11, 127, 4, 4, 4, 127, 8, 8, 8, 127, 11, 11, 11, 127, 13, 13, 13, 127, 10, 10, 10, 127, 7, 7, 7, 127, 12, 12, 12, 127, 15, 15, 15, 127, 25, 25, 25, 127, 19, 19, 19, 127, 24, 24, 24, 127, 23, 23, 23, 127, 18, 18, 18, 127, 22, 22, 22, 127, 20, 20, 20, 127, 13, 13, 13, 127, 8, 8, 8, 127, 7, 7, 7, 127, 14, 14, 14, 127, 26, 26, 26, 127, 25, 25, 25, 127, 25, 25, 25, 127, 26, 26, 26, 127, 31, 31, 31, 127, 35, 35, 35, 127, 31, 31, 31, 127, 28, 27, 27, 127, 35, 33, 33, 127, 31, 29, 30, 127, 31, 29, 30, 127, 27, 25, 26, 127, 31, 29, 30, 127, 22, 21, 21, 127, 20, 20, 20, 127, 28, 28, 28, 127, 23, 23, 23, 127, 23, 23, 23, 127, 23, 23, 23, 127, 17, 17, 17, 127, 13, 13, 13, 127, 10, 10, 10, 127, 10, 10, 10, 127, 12, 12, 12, 127, 16, 16, 16, 127, 16, 16, 16, 127, 9, 9, 9, 127, 10, 10, 10, 127, 14, 14, 14, 127, 11, 11, 11, 127, 9, 9, 9, 127, 9, 9, 9, 127, 5, 5, 5, 127, 7, 7, 7, 127, 18, 18, 18, 127, 18, 18, 18, 127, 16, 16, 16, 127, 13, 13, 13, 127, 13, 13, 13, 127, 18, 18, 18, 127, 26, 26, 26, 127, 19, 19, 19, 127, 24, 24, 24, 127, 21, 21, 21, 127, 7, 7, 7, 127, 8, 8, 8, 127, 11, 9, 11, 127, 11, 9, 12, 127, 9, 7, 10, 127, 11, 9, 12, 127, 15, 13, 16, 127, 18, 15, 21, 127, 21, 19, 25, 127, 27, 27, 30, 127, 29, 29, 33, 127, 55, 55, 63, 127, 39, 39, 45, 127, 15, 14, 19, 127, 11, 10, 12, 127, 11, 10, 9, 127, 10, 10, 10, 127, 11, 11, 13, 127, 14, 14, 16, 127, 11, 11, 13, 127, 13, 13, 15, 127, 14, 14, 16, 127, 19, 19, 21, 127, 18, 18, 20, 127, 17, 17, 19, 127, 19, 19, 21, 127, 31, 31, 33, 127, 31, 31, 33, 127, \ +250, 250, 248, 127, 249, 249, 247, 127, 248, 248, 247, 127, 248, 248, 247, 127, 248, 248, 246, 127, 249, 250, 245, 127, 249, 250, 245, 127, 249, 250, 244, 127, 248, 249, 244, 127, 247, 248, 243, 127, 247, 248, 243, 127, 249, 249, 245, 127, 249, 250, 245, 127, 249, 250, 245, 127, 249, 249, 247, 127, 249, 249, 247, 127, 250, 249, 245, 127, 252, 250, 240, 127, 253, 253, 219, 127, 251, 253, 201, 127, 253, 253, 197, 127, 254, 251, 183, 127, 252, 252, 155, 127, 249, 254, 140, 127, 250, 253, 164, 127, 252, 253, 189, 127, 252, 253, 203, 127, 252, 253, 207, 127, 253, 253, 203, 127, 253, 253, 193, 127, 253, 254, 179, 127, 254, 253, 168, 127, 254, 252, 169, 127, 254, 252, 166, 127, 254, 252, 167, 127, 254, 252, 165, 127, 253, 253, 162, 127, 251, 253, 158, 127, 249, 254, 160, 127, 251, 253, 155, 127, 253, 250, 141, 127, 250, 240, 120, 127, 239, 225, 105, 127, 195, 172, 70, 127, 96, 73, 21, 127, 23, 15, 8, 127, 8, 8, 3, 127, 5, 9, 6, 127, 8, 7, 5, 127, 10, 9, 8, 127, 13, 13, 13, 127, 11, 11, 11, 127, 7, 7, 8, 127, 4, 4, 5, 127, 5, 5, 5, 127, 7, 7, 7, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 12, 12, 12, 127, 12, 12, 12, 127, 7, 7, 7, 127, 11, 11, 11, 127, 12, 12, 12, 127, 12, 12, 12, 127, 10, 10, 10, 127, 7, 7, 7, 127, 13, 13, 13, 127, 17, 17, 17, 127, 18, 18, 18, 127, 18, 18, 18, 127, 24, 24, 24, 127, 20, 20, 20, 127, 13, 13, 13, 127, 9, 9, 9, 127, 7, 7, 7, 127, 8, 8, 8, 127, 6, 6, 6, 127, 7, 7, 7, 127, 14, 14, 14, 127, 20, 20, 20, 127, 29, 29, 29, 127, 19, 19, 19, 127, 23, 23, 23, 127, 33, 33, 33, 127, 26, 26, 26, 127, 25, 25, 25, 127, 41, 41, 41, 127, 31, 30, 31, 127, 33, 31, 33, 127, 39, 37, 37, 127, 35, 33, 33, 127, 28, 26, 27, 127, 25, 24, 24, 127, 19, 19, 19, 127, 16, 16, 16, 127, 19, 19, 19, 127, 17, 17, 17, 127, 7, 7, 7, 127, 24, 24, 24, 127, 20, 20, 20, 127, 15, 15, 15, 127, 6, 6, 6, 127, 4, 4, 4, 127, 6, 6, 6, 127, 10, 10, 10, 127, 9, 9, 9, 127, 11, 11, 11, 127, 12, 12, 12, 127, 10, 10, 10, 127, 6, 6, 6, 127, 8, 8, 8, 127, 8, 8, 8, 127, 7, 7, 7, 127, 9, 9, 9, 127, 14, 13, 13, 127, 21, 19, 20, 127, 12, 11, 12, 127, 18, 17, 18, 127, 24, 23, 23, 127, 25, 24, 24, 127, 24, 24, 24, 127, 20, 20, 20, 127, 14, 14, 14, 127, 6, 6, 6, 127, 6, 6, 6, 127, 9, 8, 9, 127, 13, 13, 14, 127, 14, 13, 16, 127, 14, 13, 18, 127, 16, 15, 20, 127, 23, 23, 25, 127, 35, 33, 37, 127, 31, 31, 35, 127, 29, 28, 35, 127, 43, 43, 49, 127, 13, 13, 16, 127, 11, 10, 11, 127, 13, 12, 14, 127, 13, 12, 14, 127, 11, 11, 11, 127, 11, 11, 13, 127, 14, 14, 16, 127, 12, 12, 14, 127, 16, 16, 18, 127, 15, 15, 17, 127, 16, 16, 18, 127, 18, 18, 20, 127, 20, 20, 22, 127, 23, 23, 25, 127, 28, 28, 30, 127, 31, 31, 33, 127, \ +251, 251, 249, 127, 249, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 248, 249, 245, 127, 248, 249, 244, 127, 248, 249, 244, 127, 247, 248, 243, 127, 248, 249, 244, 127, 247, 248, 243, 127, 247, 248, 241, 127, 248, 249, 242, 127, 248, 249, 243, 127, 247, 248, 242, 127, 248, 249, 243, 127, 248, 249, 244, 127, 251, 249, 237, 127, 252, 252, 217, 127, 253, 253, 201, 127, 252, 253, 193, 127, 252, 253, 185, 127, 253, 252, 162, 127, 254, 251, 148, 127, 252, 253, 157, 127, 251, 252, 185, 127, 253, 254, 199, 127, 253, 254, 205, 127, 254, 254, 201, 127, 254, 254, 191, 127, 253, 254, 179, 127, 253, 254, 171, 127, 253, 254, 164, 127, 254, 252, 166, 127, 254, 253, 165, 127, 254, 253, 164, 127, 253, 253, 161, 127, 253, 253, 160, 127, 253, 252, 154, 127, 252, 252, 156, 127, 252, 252, 153, 127, 252, 252, 143, 127, 251, 249, 132, 127, 243, 234, 108, 127, 231, 213, 88, 127, 177, 158, 55, 127, 79, 64, 25, 127, 16, 12, 10, 127, 7, 9, 12, 127, 8, 7, 6, 127, 8, 7, 6, 127, 9, 9, 8, 127, 9, 9, 9, 127, 5, 5, 7, 127, 3, 3, 3, 127, 4, 4, 4, 127, 7, 7, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 13, 13, 13, 127, 14, 14, 14, 127, 11, 11, 11, 127, 13, 13, 13, 127, 13, 13, 13, 127, 17, 17, 17, 127, 11, 11, 11, 127, 10, 10, 10, 127, 12, 12, 12, 127, 18, 18, 18, 127, 17, 17, 17, 127, 23, 23, 23, 127, 19, 19, 19, 127, 9, 9, 9, 127, 9, 9, 9, 127, 8, 8, 8, 127, 10, 10, 10, 127, 6, 6, 6, 127, 5, 5, 5, 127, 8, 8, 8, 127, 17, 17, 17, 127, 22, 22, 22, 127, 20, 20, 20, 127, 11, 11, 11, 127, 17, 17, 17, 127, 30, 30, 30, 127, 29, 29, 29, 127, 33, 33, 33, 127, 39, 39, 39, 127, 31, 30, 31, 127, 35, 33, 33, 127, 37, 35, 35, 127, 27, 25, 26, 127, 29, 27, 28, 127, 27, 26, 26, 127, 20, 20, 20, 127, 10, 10, 10, 127, 12, 12, 12, 127, 12, 12, 12, 127, 5, 5, 5, 127, 9, 9, 9, 127, 14, 14, 14, 127, 9, 9, 9, 127, 9, 9, 9, 127, 11, 11, 11, 127, 6, 6, 6, 127, 9, 9, 9, 127, 7, 7, 7, 127, 11, 11, 11, 127, 12, 12, 12, 127, 11, 11, 11, 127, 9, 9, 9, 127, 7, 7, 7, 127, 12, 12, 12, 127, 9, 9, 9, 127, 10, 9, 10, 127, 13, 12, 13, 127, 23, 21, 22, 127, 19, 17, 18, 127, 20, 18, 19, 127, 22, 20, 21, 127, 16, 16, 16, 127, 24, 24, 24, 127, 28, 28, 28, 127, 10, 10, 10, 127, 4, 4, 4, 127, 5, 5, 5, 127, 9, 9, 9, 127, 19, 19, 19, 127, 25, 25, 27, 127, 29, 28, 33, 127, 33, 33, 37, 127, 37, 37, 39, 127, 39, 39, 45, 127, 35, 33, 39, 127, 27, 24, 31, 127, 14, 12, 16, 127, 10, 10, 12, 127, 9, 9, 10, 127, 10, 10, 12, 127, 10, 10, 12, 127, 8, 8, 9, 127, 12, 12, 14, 127, 11, 11, 13, 127, 15, 15, 17, 127, 15, 15, 17, 127, 14, 14, 16, 127, 14, 14, 16, 127, 17, 17, 19, 127, 26, 26, 28, 127, 28, 28, 30, 127, 22, 22, 24, 127, 24, 24, 26, 127, \ +250, 250, 248, 127, 248, 249, 247, 127, 249, 249, 247, 127, 249, 249, 247, 127, 248, 248, 245, 127, 247, 248, 243, 127, 246, 247, 242, 127, 247, 248, 243, 127, 248, 249, 244, 127, 247, 248, 243, 127, 246, 246, 241, 127, 246, 247, 242, 127, 248, 248, 244, 127, 247, 247, 242, 127, 248, 247, 239, 127, 250, 249, 235, 127, 252, 251, 221, 127, 253, 253, 201, 127, 253, 252, 195, 127, 253, 253, 187, 127, 251, 253, 170, 127, 252, 253, 156, 127, 253, 253, 164, 127, 253, 252, 185, 127, 253, 253, 203, 127, 254, 254, 205, 127, 254, 253, 197, 127, 253, 253, 189, 127, 253, 253, 177, 127, 253, 253, 168, 127, 254, 253, 164, 127, 254, 253, 164, 127, 254, 253, 163, 127, 254, 253, 162, 127, 253, 253, 161, 127, 253, 253, 159, 127, 253, 253, 157, 127, 254, 253, 150, 127, 254, 252, 151, 127, 253, 252, 152, 127, 252, 251, 150, 127, 252, 252, 142, 127, 251, 250, 137, 127, 251, 248, 134, 127, 240, 229, 103, 127, 137, 117, 47, 127, 28, 25, 21, 127, 15, 14, 13, 127, 9, 9, 5, 127, 5, 6, 3, 127, 6, 7, 4, 127, 7, 7, 7, 127, 6, 6, 7, 127, 2, 2, 3, 127, 4, 4, 5, 127, 5, 5, 5, 127, 7, 7, 7, 127, 8, 8, 7, 127, 6, 6, 5, 127, 10, 10, 11, 127, 9, 9, 9, 127, 6, 6, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 9, 9, 9, 127, 14, 14, 14, 127, 15, 15, 15, 127, 8, 8, 8, 127, 15, 15, 15, 127, 16, 16, 16, 127, 16, 16, 16, 127, 12, 12, 12, 127, 13, 13, 13, 127, 15, 15, 15, 127, 15, 15, 15, 127, 13, 13, 13, 127, 20, 20, 20, 127, 10, 10, 10, 127, 10, 10, 10, 127, 9, 9, 9, 127, 11, 11, 11, 127, 9, 9, 9, 127, 6, 6, 6, 127, 6, 6, 6, 127, 12, 12, 12, 127, 20, 20, 20, 127, 26, 26, 26, 127, 17, 17, 17, 127, 21, 21, 21, 127, 8, 8, 8, 127, 25, 25, 25, 127, 33, 33, 33, 127, 35, 35, 35, 127, 31, 30, 30, 127, 30, 28, 29, 127, 27, 25, 26, 127, 30, 28, 29, 127, 28, 26, 27, 127, 30, 28, 29, 127, 22, 22, 22, 127, 12, 12, 12, 127, 6, 6, 6, 127, 4, 4, 4, 127, 6, 6, 6, 127, 9, 9, 9, 127, 12, 12, 12, 127, 10, 10, 10, 127, 6, 6, 6, 127, 10, 10, 10, 127, 12, 12, 12, 127, 7, 7, 7, 127, 6, 6, 6, 127, 9, 9, 9, 127, 11, 11, 11, 127, 12, 12, 12, 127, 10, 10, 10, 127, 10, 10, 10, 127, 10, 10, 10, 127, 6, 6, 6, 127, 8, 8, 8, 127, 11, 11, 11, 127, 13, 11, 12, 127, 23, 21, 22, 127, 29, 27, 28, 127, 24, 22, 23, 127, 22, 20, 21, 127, 17, 17, 17, 127, 25, 25, 25, 127, 28, 28, 28, 127, 13, 13, 13, 127, 5, 5, 5, 127, 5, 5, 5, 127, 10, 10, 10, 127, 25, 25, 25, 127, 35, 35, 37, 127, 41, 39, 45, 127, 47, 45, 51, 127, 47, 47, 51, 127, 47, 47, 55, 127, 35, 35, 41, 127, 14, 12, 17, 127, 12, 9, 12, 127, 8, 8, 10, 127, 7, 7, 9, 127, 8, 8, 10, 127, 10, 9, 11, 127, 13, 13, 15, 127, 13, 13, 15, 127, 12, 12, 14, 127, 15, 15, 17, 127, 13, 13, 15, 127, 12, 12, 14, 127, 16, 16, 18, 127, 19, 19, 21, 127, 22, 22, 24, 127, 24, 24, 26, 127, 17, 17, 19, 127, 21, 21, 23, 127, \ +249, 249, 247, 127, 247, 247, 245, 127, 247, 247, 245, 127, 247, 247, 245, 127, 248, 248, 245, 127, 248, 249, 244, 127, 246, 247, 242, 127, 246, 247, 242, 127, 247, 248, 243, 127, 247, 249, 244, 127, 245, 247, 241, 127, 244, 246, 243, 127, 247, 247, 244, 127, 249, 247, 238, 127, 250, 248, 232, 127, 253, 251, 221, 127, 253, 254, 201, 127, 253, 253, 197, 127, 252, 253, 189, 127, 252, 253, 177, 127, 251, 253, 167, 127, 251, 253, 172, 127, 253, 253, 187, 127, 254, 252, 201, 127, 254, 253, 205, 127, 253, 254, 195, 127, 252, 252, 185, 127, 252, 253, 177, 127, 253, 253, 170, 127, 254, 253, 163, 127, 254, 253, 161, 127, 254, 253, 162, 127, 253, 252, 160, 127, 253, 253, 159, 127, 254, 254, 158, 127, 254, 254, 157, 127, 253, 253, 155, 127, 253, 254, 150, 127, 253, 253, 150, 127, 253, 252, 151, 127, 253, 252, 148, 127, 252, 252, 149, 127, 251, 251, 141, 127, 250, 250, 134, 127, 248, 243, 116, 127, 175, 163, 83, 127, 33, 33, 20, 127, 20, 18, 20, 127, 27, 27, 24, 127, 20, 21, 17, 127, 24, 25, 21, 127, 10, 10, 9, 127, 8, 8, 8, 127, 5, 5, 5, 127, 5, 5, 4, 127, 5, 5, 5, 127, 7, 7, 7, 127, 8, 8, 8, 127, 8, 8, 8, 127, 10, 10, 10, 127, 11, 11, 11, 127, 7, 7, 7, 127, 9, 9, 9, 127, 11, 11, 11, 127, 12, 12, 12, 127, 12, 12, 12, 127, 10, 10, 10, 127, 13, 13, 13, 127, 10, 10, 10, 127, 11, 11, 11, 127, 19, 19, 19, 127, 17, 17, 17, 127, 17, 17, 17, 127, 15, 15, 15, 127, 16, 16, 16, 127, 11, 11, 11, 127, 18, 18, 18, 127, 17, 17, 17, 127, 18, 18, 18, 127, 12, 12, 12, 127, 10, 10, 10, 127, 9, 9, 9, 127, 14, 14, 14, 127, 9, 9, 9, 127, 8, 8, 8, 127, 10, 10, 10, 127, 11, 11, 11, 127, 21, 21, 21, 127, 24, 24, 24, 127, 20, 20, 20, 127, 18, 18, 18, 127, 17, 17, 17, 127, 31, 31, 31, 127, 33, 33, 33, 127, 29, 29, 29, 127, 24, 24, 24, 127, 26, 25, 25, 127, 25, 23, 24, 127, 29, 27, 28, 127, 28, 26, 27, 127, 23, 21, 22, 127, 14, 13, 14, 127, 9, 9, 9, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 9, 9, 9, 127, 8, 8, 8, 127, 6, 6, 6, 127, 4, 4, 4, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 11, 11, 11, 127, 8, 8, 8, 127, 14, 14, 14, 127, 16, 16, 16, 127, 10, 10, 10, 127, 17, 17, 17, 127, 18, 16, 17, 127, 19, 17, 18, 127, 33, 31, 33, 127, 33, 31, 33, 127, 26, 24, 25, 127, 24, 24, 24, 127, 24, 24, 24, 127, 23, 23, 23, 127, 10, 10, 10, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 9, 9, 9, 127, 23, 23, 25, 127, 41, 41, 45, 127, 55, 53, 59, 127, 55, 55, 64, 127, 51, 51, 57, 127, 27, 25, 30, 127, 8, 6, 9, 127, 10, 8, 11, 127, 7, 6, 8, 127, 6, 6, 8, 127, 8, 8, 10, 127, 11, 11, 13, 127, 13, 13, 15, 127, 11, 11, 13, 127, 14, 14, 16, 127, 12, 12, 14, 127, 14, 14, 16, 127, 16, 16, 18, 127, 19, 19, 21, 127, 23, 23, 25, 127, 22, 22, 24, 127, 21, 21, 23, 127, 19, 19, 21, 127, 17, 17, 19, 127, \ +249, 250, 247, 127, 248, 249, 244, 127, 248, 249, 245, 127, 247, 247, 245, 127, 248, 248, 245, 127, 248, 248, 244, 127, 245, 246, 241, 127, 246, 247, 242, 127, 247, 248, 243, 127, 248, 249, 244, 127, 245, 247, 240, 127, 245, 247, 241, 127, 248, 247, 237, 127, 251, 249, 226, 127, 253, 251, 215, 127, 253, 252, 201, 127, 253, 254, 191, 127, 253, 253, 189, 127, 252, 253, 179, 127, 252, 253, 177, 127, 252, 253, 183, 127, 253, 253, 191, 127, 253, 253, 199, 127, 254, 253, 199, 127, 253, 253, 191, 127, 252, 254, 181, 127, 252, 253, 173, 127, 253, 253, 170, 127, 253, 253, 168, 127, 254, 253, 166, 127, 254, 253, 162, 127, 254, 254, 159, 127, 254, 254, 159, 127, 254, 254, 157, 127, 254, 254, 155, 127, 254, 254, 154, 127, 253, 254, 153, 127, 251, 253, 151, 127, 251, 254, 150, 127, 253, 252, 150, 127, 253, 253, 150, 127, 252, 253, 152, 127, 251, 252, 145, 127, 247, 251, 144, 127, 231, 227, 123, 127, 96, 82, 41, 127, 27, 29, 31, 127, 19, 18, 25, 127, 27, 28, 22, 127, 47, 49, 43, 127, 47, 49, 43, 127, 39, 39, 35, 127, 14, 14, 13, 127, 9, 9, 9, 127, 9, 9, 10, 127, 7, 7, 8, 127, 8, 8, 8, 127, 10, 10, 10, 127, 10, 10, 10, 127, 9, 9, 9, 127, 11, 11, 10, 127, 11, 11, 11, 127, 12, 12, 11, 127, 13, 13, 13, 127, 14, 14, 14, 127, 14, 14, 14, 127, 12, 12, 12, 127, 13, 13, 13, 127, 11, 11, 11, 127, 18, 18, 18, 127, 21, 21, 21, 127, 17, 17, 17, 127, 16, 16, 16, 127, 17, 17, 17, 127, 20, 20, 20, 127, 15, 15, 15, 127, 19, 19, 19, 127, 20, 20, 20, 127, 14, 14, 14, 127, 15, 15, 15, 127, 12, 12, 12, 127, 13, 13, 13, 127, 15, 15, 15, 127, 13, 13, 13, 127, 9, 9, 9, 127, 10, 10, 10, 127, 11, 11, 11, 127, 17, 17, 17, 127, 18, 18, 18, 127, 16, 16, 16, 127, 23, 23, 23, 127, 21, 21, 21, 127, 24, 24, 24, 127, 21, 21, 21, 127, 23, 23, 23, 127, 24, 24, 24, 127, 26, 25, 25, 127, 19, 17, 18, 127, 16, 14, 15, 127, 19, 17, 18, 127, 11, 9, 10, 127, 6, 5, 5, 127, 7, 7, 7, 127, 10, 10, 10, 127, 6, 6, 6, 127, 4, 4, 4, 127, 7, 7, 7, 127, 7, 7, 7, 127, 9, 9, 9, 127, 9, 9, 9, 127, 13, 13, 13, 127, 7, 7, 7, 127, 5, 5, 5, 127, 10, 10, 10, 127, 8, 8, 8, 127, 9, 9, 9, 127, 9, 9, 9, 127, 12, 12, 12, 127, 12, 12, 12, 127, 11, 11, 11, 127, 17, 17, 17, 127, 14, 14, 14, 127, 13, 12, 12, 127, 22, 20, 21, 127, 23, 21, 22, 127, 35, 33, 33, 127, 31, 30, 31, 127, 28, 26, 27, 127, 27, 27, 27, 127, 25, 25, 25, 127, 20, 20, 20, 127, 8, 8, 8, 127, 6, 6, 6, 127, 4, 4, 4, 127, 5, 5, 5, 127, 7, 7, 7, 127, 23, 23, 26, 127, 49, 49, 53, 127, 63, 61, 69, 127, 66, 65, 77, 127, 45, 45, 51, 127, 8, 7, 9, 127, 8, 6, 7, 127, 9, 7, 9, 127, 5, 4, 6, 127, 8, 8, 10, 127, 9, 9, 10, 127, 10, 10, 11, 127, 9, 9, 11, 127, 10, 10, 12, 127, 12, 12, 14, 127, 12, 12, 14, 127, 15, 15, 17, 127, 18, 18, 20, 127, 18, 18, 20, 127, 21, 21, 23, 127, 20, 20, 22, 127, 17, 17, 19, 127, 19, 19, 21, 127, 16, 16, 18, 127, \ +249, 249, 245, 127, 248, 249, 243, 127, 247, 248, 242, 127, 247, 247, 244, 127, 247, 248, 245, 127, 245, 246, 242, 127, 244, 245, 238, 127, 246, 247, 241, 127, 248, 249, 244, 127, 248, 248, 244, 127, 246, 245, 239, 127, 247, 246, 236, 127, 250, 249, 228, 127, 252, 252, 211, 127, 252, 252, 197, 127, 252, 252, 191, 127, 254, 254, 191, 127, 252, 253, 185, 127, 252, 254, 181, 127, 253, 253, 185, 127, 253, 252, 195, 127, 253, 253, 193, 127, 253, 253, 187, 127, 253, 253, 179, 127, 252, 253, 172, 127, 252, 253, 168, 127, 253, 253, 164, 127, 253, 252, 161, 127, 253, 252, 163, 127, 253, 252, 162, 127, 254, 253, 158, 127, 254, 254, 156, 127, 254, 254, 158, 127, 254, 254, 157, 127, 254, 254, 154, 127, 253, 254, 153, 127, 253, 253, 153, 127, 252, 252, 154, 127, 253, 254, 151, 127, 253, 252, 150, 127, 253, 252, 149, 127, 252, 252, 150, 127, 252, 252, 151, 127, 246, 249, 150, 127, 185, 179, 101, 127, 49, 39, 28, 127, 22, 28, 25, 127, 21, 20, 15, 127, 11, 12, 7, 127, 14, 14, 12, 127, 13, 13, 12, 127, 55, 55, 53, 127, 31, 31, 30, 127, 20, 21, 16, 127, 31, 33, 30, 127, 22, 22, 21, 127, 12, 12, 11, 127, 9, 9, 8, 127, 10, 10, 9, 127, 12, 12, 13, 127, 14, 14, 15, 127, 11, 11, 11, 127, 11, 11, 10, 127, 11, 11, 11, 127, 11, 11, 11, 127, 14, 14, 14, 127, 14, 14, 14, 127, 14, 14, 14, 127, 15, 15, 15, 127, 23, 23, 23, 127, 21, 21, 21, 127, 20, 20, 19, 127, 16, 16, 16, 127, 16, 16, 16, 127, 18, 18, 18, 127, 18, 18, 18, 127, 16, 16, 16, 127, 13, 13, 13, 127, 13, 13, 13, 127, 16, 16, 16, 127, 14, 14, 14, 127, 18, 18, 18, 127, 18, 18, 18, 127, 15, 15, 15, 127, 11, 11, 11, 127, 10, 10, 10, 127, 14, 14, 14, 127, 13, 13, 13, 127, 10, 10, 10, 127, 10, 10, 10, 127, 16, 16, 16, 127, 17, 17, 17, 127, 17, 17, 17, 127, 23, 23, 23, 127, 24, 24, 24, 127, 20, 20, 20, 127, 13, 13, 13, 127, 8, 7, 7, 127, 11, 10, 11, 127, 13, 12, 12, 127, 6, 5, 6, 127, 7, 7, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 6, 6, 6, 127, 6, 6, 6, 127, 8, 8, 8, 127, 4, 4, 4, 127, 7, 7, 7, 127, 10, 10, 10, 127, 12, 12, 12, 127, 11, 11, 11, 127, 8, 8, 8, 127, 11, 11, 11, 127, 12, 12, 12, 127, 10, 10, 10, 127, 12, 12, 12, 127, 10, 10, 10, 127, 13, 13, 13, 127, 13, 13, 13, 127, 11, 11, 11, 127, 13, 13, 13, 127, 6, 6, 6, 127, 9, 7, 8, 127, 25, 23, 24, 127, 35, 33, 33, 127, 23, 21, 22, 127, 25, 23, 24, 127, 31, 31, 31, 127, 22, 22, 22, 127, 20, 20, 20, 127, 8, 8, 8, 127, 6, 6, 6, 127, 4, 4, 4, 127, 4, 4, 4, 127, 8, 8, 8, 127, 28, 27, 31, 127, 47, 45, 53, 127, 65, 64, 73, 127, 57, 57, 64, 127, 20, 20, 24, 127, 5, 5, 6, 127, 6, 6, 6, 127, 9, 8, 9, 127, 7, 7, 7, 127, 8, 8, 8, 127, 8, 8, 9, 127, 11, 11, 11, 127, 9, 9, 10, 127, 9, 9, 10, 127, 13, 13, 15, 127, 14, 14, 16, 127, 16, 16, 18, 127, 15, 15, 17, 127, 15, 15, 17, 127, 20, 20, 22, 127, 22, 22, 24, 127, 15, 15, 17, 127, 12, 12, 14, 127, 16, 16, 18, 127, \ +247, 248, 243, 127, 246, 247, 240, 127, 246, 248, 239, 127, 246, 247, 241, 127, 247, 247, 243, 127, 244, 244, 240, 127, 243, 244, 235, 127, 246, 245, 240, 127, 248, 246, 243, 127, 249, 246, 241, 127, 250, 246, 238, 127, 251, 248, 231, 127, 251, 251, 215, 127, 251, 253, 197, 127, 252, 254, 191, 127, 253, 253, 193, 127, 253, 254, 187, 127, 253, 253, 187, 127, 253, 253, 187, 127, 253, 254, 187, 127, 253, 254, 185, 127, 253, 253, 179, 127, 253, 253, 173, 127, 253, 253, 166, 127, 253, 253, 161, 127, 254, 253, 162, 127, 254, 254, 158, 127, 253, 254, 154, 127, 253, 254, 155, 127, 254, 253, 155, 127, 253, 254, 155, 127, 253, 254, 155, 127, 254, 254, 158, 127, 254, 254, 156, 127, 254, 254, 155, 127, 253, 254, 154, 127, 253, 254, 154, 127, 254, 252, 155, 127, 254, 253, 152, 127, 253, 253, 150, 127, 252, 251, 147, 127, 252, 252, 152, 127, 251, 250, 158, 127, 226, 225, 151, 127, 93, 83, 51, 127, 35, 31, 33, 127, 20, 21, 19, 127, 21, 16, 12, 127, 8, 7, 6, 127, 7, 7, 7, 127, 5, 5, 5, 127, 23, 23, 22, 127, 77, 78, 72, 127, 97, 100, 88, 127, 119, 121, 112, 127, 136, 137, 133, 127, 105, 106, 104, 127, 39, 41, 39, 127, 13, 13, 11, 127, 12, 12, 14, 127, 14, 14, 16, 127, 9, 9, 9, 127, 9, 9, 9, 127, 9, 9, 9, 127, 9, 9, 8, 127, 13, 13, 13, 127, 10, 10, 10, 127, 15, 15, 15, 127, 19, 19, 19, 127, 22, 22, 21, 127, 18, 18, 16, 127, 14, 14, 12, 127, 12, 13, 10, 127, 18, 18, 16, 127, 15, 15, 13, 127, 15, 15, 15, 127, 16, 16, 16, 127, 15, 15, 15, 127, 18, 18, 18, 127, 14, 14, 14, 127, 12, 12, 12, 127, 17, 17, 17, 127, 18, 18, 18, 127, 16, 16, 16, 127, 17, 17, 17, 127, 15, 15, 15, 127, 17, 17, 17, 127, 19, 19, 19, 127, 13, 13, 13, 127, 15, 15, 15, 127, 15, 15, 15, 127, 15, 15, 15, 127, 22, 22, 22, 127, 21, 21, 21, 127, 16, 16, 16, 127, 15, 15, 15, 127, 11, 11, 11, 127, 8, 8, 8, 127, 11, 11, 11, 127, 13, 13, 13, 127, 12, 11, 12, 127, 10, 10, 10, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 8, 8, 8, 127, 6, 6, 6, 127, 4, 4, 4, 127, 3, 3, 3, 127, 6, 6, 6, 127, 8, 8, 8, 127, 9, 9, 9, 127, 10, 10, 10, 127, 12, 12, 12, 127, 12, 12, 12, 127, 15, 15, 15, 127, 18, 18, 18, 127, 11, 11, 11, 127, 12, 12, 12, 127, 14, 14, 14, 127, 16, 16, 16, 127, 19, 19, 19, 127, 12, 12, 12, 127, 9, 7, 8, 127, 20, 18, 19, 127, 29, 27, 28, 127, 17, 15, 16, 127, 29, 27, 28, 127, 29, 29, 29, 127, 23, 23, 23, 127, 13, 13, 13, 127, 8, 8, 8, 127, 6, 6, 6, 127, 4, 4, 4, 127, 2, 2, 2, 127, 5, 5, 5, 127, 11, 11, 15, 127, 41, 41, 49, 127, 64, 61, 73, 127, 31, 31, 33, 127, 6, 6, 7, 127, 7, 7, 7, 127, 3, 3, 3, 127, 9, 9, 9, 127, 7, 7, 7, 127, 8, 8, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 12, 12, 14, 127, 15, 15, 17, 127, 14, 14, 16, 127, 17, 17, 19, 127, 18, 18, 20, 127, 16, 16, 18, 127, 15, 15, 17, 127, 11, 11, 13, 127, 10, 10, 12, 127, 13, 13, 15, 127, \ +247, 247, 242, 127, 246, 247, 238, 127, 245, 247, 235, 127, 244, 246, 236, 127, 245, 245, 237, 127, 245, 243, 239, 127, 245, 242, 238, 127, 247, 243, 241, 127, 249, 244, 241, 127, 251, 247, 232, 127, 253, 251, 217, 127, 253, 253, 203, 127, 251, 253, 187, 127, 252, 253, 187, 127, 253, 254, 193, 127, 254, 254, 191, 127, 253, 253, 179, 127, 252, 253, 177, 127, 252, 253, 175, 127, 252, 253, 173, 127, 252, 253, 170, 127, 253, 252, 165, 127, 253, 252, 159, 127, 252, 252, 157, 127, 252, 252, 156, 127, 253, 252, 159, 127, 253, 253, 157, 127, 254, 254, 155, 127, 254, 254, 157, 127, 254, 254, 157, 127, 254, 254, 157, 127, 254, 254, 158, 127, 253, 253, 160, 127, 253, 253, 157, 127, 253, 253, 156, 127, 253, 253, 155, 127, 253, 254, 154, 127, 254, 252, 152, 127, 252, 254, 149, 127, 252, 253, 150, 127, 252, 251, 158, 127, 252, 252, 164, 127, 219, 217, 146, 127, 105, 102, 65, 127, 39, 33, 26, 127, 35, 28, 31, 127, 22, 20, 21, 127, 14, 15, 11, 127, 6, 6, 3, 127, 10, 10, 9, 127, 7, 7, 8, 127, 25, 25, 24, 127, 59, 61, 55, 127, 21, 23, 17, 127, 10, 11, 8, 127, 25, 26, 25, 127, 76, 77, 74, 127, 140, 141, 137, 127, 90, 90, 87, 127, 15, 15, 14, 127, 11, 11, 11, 127, 11, 11, 13, 127, 10, 9, 14, 127, 6, 6, 10, 127, 5, 5, 6, 127, 8, 8, 8, 127, 12, 12, 10, 127, 17, 17, 16, 127, 21, 21, 20, 127, 45, 45, 41, 127, 33, 33, 29, 127, 10, 11, 8, 127, 13, 14, 9, 127, 29, 30, 25, 127, 49, 49, 47, 127, 39, 39, 39, 127, 18, 18, 18, 127, 12, 12, 12, 127, 18, 18, 18, 127, 15, 15, 15, 127, 15, 15, 15, 127, 16, 16, 16, 127, 15, 15, 15, 127, 15, 15, 15, 127, 17, 17, 17, 127, 18, 18, 18, 127, 26, 26, 26, 127, 20, 20, 20, 127, 15, 15, 15, 127, 23, 23, 23, 127, 29, 29, 29, 127, 28, 28, 28, 127, 21, 21, 21, 127, 24, 24, 24, 127, 25, 25, 25, 127, 19, 19, 19, 127, 13, 13, 13, 127, 8, 8, 8, 127, 12, 12, 12, 127, 13, 13, 13, 127, 14, 14, 14, 127, 9, 9, 9, 127, 6, 6, 6, 127, 8, 8, 8, 127, 13, 13, 13, 127, 10, 10, 10, 127, 7, 7, 7, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 7, 7, 7, 127, 6, 6, 6, 127, 9, 9, 9, 127, 12, 12, 12, 127, 15, 15, 15, 127, 16, 16, 16, 127, 17, 17, 17, 127, 11, 11, 11, 127, 7, 7, 7, 127, 12, 12, 12, 127, 19, 19, 19, 127, 15, 15, 15, 127, 23, 22, 22, 127, 15, 13, 14, 127, 18, 16, 17, 127, 28, 26, 27, 127, 21, 19, 20, 127, 23, 21, 22, 127, 31, 31, 31, 127, 21, 21, 21, 127, 10, 10, 10, 127, 9, 9, 9, 127, 5, 5, 5, 127, 3, 3, 3, 127, 1, 1, 1, 127, 4, 4, 4, 127, 8, 7, 10, 127, 39, 37, 45, 127, 53, 51, 61, 127, 10, 10, 11, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 10, 10, 10, 127, 8, 8, 9, 127, 12, 12, 14, 127, 13, 13, 15, 127, 13, 13, 15, 127, 17, 17, 19, 127, 18, 18, 20, 127, 15, 15, 17, 127, 13, 13, 15, 127, 9, 9, 11, 127, 8, 8, 10, 127, 14, 14, 16, 127, \ +247, 246, 238, 127, 246, 246, 239, 127, 245, 244, 239, 127, 244, 243, 239, 127, 246, 243, 240, 127, 246, 242, 239, 127, 247, 242, 237, 127, 249, 244, 235, 127, 252, 249, 228, 127, 254, 252, 211, 127, 253, 253, 189, 127, 252, 254, 177, 127, 252, 253, 174, 127, 253, 253, 179, 127, 254, 253, 179, 127, 253, 253, 170, 127, 252, 251, 169, 127, 252, 252, 166, 127, 252, 253, 162, 127, 252, 253, 160, 127, 252, 254, 156, 127, 253, 254, 153, 127, 252, 253, 152, 127, 253, 253, 154, 127, 253, 253, 154, 127, 253, 253, 155, 127, 253, 253, 156, 127, 253, 253, 157, 127, 253, 253, 157, 127, 253, 253, 157, 127, 253, 253, 157, 127, 253, 253, 158, 127, 254, 253, 162, 127, 254, 253, 160, 127, 254, 254, 158, 127, 254, 254, 157, 127, 253, 254, 155, 127, 254, 253, 151, 127, 252, 253, 150, 127, 252, 253, 163, 127, 252, 250, 181, 127, 233, 231, 151, 127, 108, 99, 49, 127, 33, 28, 23, 127, 21, 23, 19, 127, 31, 27, 25, 127, 24, 19, 26, 127, 9, 12, 10, 127, 8, 8, 6, 127, 12, 11, 11, 127, 8, 8, 10, 127, 29, 29, 28, 127, 37, 39, 35, 127, 81, 81, 80, 127, 25, 25, 24, 127, 7, 7, 7, 127, 6, 6, 5, 127, 27, 27, 25, 127, 118, 118, 114, 127, 70, 70, 69, 127, 11, 11, 11, 127, 15, 15, 16, 127, 12, 12, 16, 127, 8, 7, 12, 127, 9, 9, 9, 127, 24, 25, 23, 127, 37, 37, 33, 127, 49, 49, 47, 127, 77, 77, 75, 127, 66, 67, 64, 127, 39, 41, 37, 127, 69, 70, 67, 127, 84, 85, 81, 127, 78, 79, 75, 127, 43, 43, 39, 127, 19, 19, 19, 127, 18, 18, 18, 127, 9, 9, 9, 127, 20, 20, 20, 127, 18, 18, 18, 127, 13, 13, 13, 127, 9, 9, 9, 127, 11, 11, 11, 127, 13, 13, 13, 127, 15, 15, 15, 127, 19, 19, 19, 127, 16, 16, 16, 127, 13, 13, 13, 127, 21, 21, 21, 127, 24, 24, 24, 127, 24, 24, 24, 127, 19, 19, 19, 127, 12, 12, 12, 127, 23, 23, 23, 127, 21, 21, 21, 127, 14, 14, 14, 127, 7, 7, 7, 127, 11, 11, 11, 127, 10, 10, 10, 127, 14, 14, 14, 127, 14, 14, 14, 127, 15, 15, 15, 127, 15, 15, 15, 127, 16, 16, 16, 127, 17, 17, 17, 127, 12, 12, 12, 127, 11, 11, 11, 127, 9, 9, 9, 127, 9, 9, 9, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 11, 11, 11, 127, 16, 16, 16, 127, 15, 15, 15, 127, 18, 18, 18, 127, 17, 17, 17, 127, 11, 11, 11, 127, 5, 5, 5, 127, 10, 10, 10, 127, 17, 17, 17, 127, 15, 15, 15, 127, 15, 14, 14, 127, 24, 22, 23, 127, 20, 18, 19, 127, 19, 17, 18, 127, 23, 21, 22, 127, 20, 18, 19, 127, 35, 35, 35, 127, 20, 20, 20, 127, 10, 10, 10, 127, 7, 7, 7, 127, 6, 6, 6, 127, 4, 4, 4, 127, 3, 3, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 21, 20, 24, 127, 26, 25, 31, 127, 5, 4, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 11, 11, 11, 127, 11, 11, 11, 127, 12, 12, 14, 127, 12, 12, 14, 127, 13, 13, 15, 127, 16, 16, 18, 127, 17, 17, 19, 127, 13, 13, 15, 127, 8, 8, 10, 127, 6, 6, 8, 127, 10, 10, 12, 127, 21, 21, 23, 127, \ +247, 244, 237, 127, 247, 243, 238, 127, 246, 244, 236, 127, 247, 245, 234, 127, 248, 245, 231, 127, 251, 247, 224, 127, 253, 249, 217, 127, 254, 251, 209, 127, 253, 252, 197, 127, 252, 253, 177, 127, 253, 253, 167, 127, 253, 252, 165, 127, 253, 252, 167, 127, 253, 252, 166, 127, 253, 253, 160, 127, 253, 253, 156, 127, 253, 253, 157, 127, 253, 253, 157, 127, 253, 253, 155, 127, 253, 253, 155, 127, 253, 254, 153, 127, 253, 254, 154, 127, 253, 253, 156, 127, 253, 253, 156, 127, 253, 253, 156, 127, 253, 253, 154, 127, 253, 253, 157, 127, 254, 253, 160, 127, 254, 253, 160, 127, 254, 253, 160, 127, 254, 253, 160, 127, 253, 252, 160, 127, 253, 252, 161, 127, 253, 252, 161, 127, 253, 253, 159, 127, 253, 253, 157, 127, 253, 253, 157, 127, 253, 252, 158, 127, 252, 253, 166, 127, 252, 253, 174, 127, 252, 251, 174, 127, 205, 199, 113, 127, 63, 51, 25, 127, 23, 20, 20, 127, 25, 29, 23, 127, 31, 31, 24, 127, 23, 21, 24, 127, 10, 13, 13, 127, 9, 9, 8, 127, 9, 9, 9, 127, 9, 9, 10, 127, 22, 22, 20, 127, 51, 53, 49, 127, 107, 108, 103, 127, 89, 89, 85, 127, 64, 65, 64, 127, 35, 35, 37, 127, 21, 21, 22, 127, 43, 43, 41, 127, 89, 89, 87, 127, 20, 20, 19, 127, 24, 25, 23, 127, 41, 41, 37, 127, 71, 72, 70, 127, 86, 87, 83, 127, 77, 77, 74, 127, 45, 45, 41, 127, 28, 29, 26, 127, 13, 14, 11, 127, 9, 9, 7, 127, 15, 15, 14, 127, 31, 31, 31, 127, 26, 26, 25, 127, 13, 13, 12, 127, 13, 13, 12, 127, 18, 18, 18, 127, 17, 17, 17, 127, 9, 9, 9, 127, 15, 15, 15, 127, 14, 14, 14, 127, 10, 10, 10, 127, 7, 7, 7, 127, 10, 10, 10, 127, 8, 8, 8, 127, 10, 10, 10, 127, 14, 14, 14, 127, 15, 15, 15, 127, 17, 17, 17, 127, 17, 17, 17, 127, 15, 15, 15, 127, 14, 14, 14, 127, 13, 13, 13, 127, 12, 12, 12, 127, 17, 17, 17, 127, 22, 22, 22, 127, 14, 14, 14, 127, 13, 13, 13, 127, 11, 11, 11, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 10, 10, 10, 127, 15, 15, 15, 127, 19, 19, 19, 127, 17, 17, 17, 127, 18, 18, 18, 127, 17, 17, 17, 127, 16, 16, 16, 127, 14, 14, 14, 127, 8, 8, 8, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 14, 14, 14, 127, 17, 17, 17, 127, 21, 21, 21, 127, 17, 17, 17, 127, 12, 12, 12, 127, 21, 21, 21, 127, 25, 25, 25, 127, 21, 21, 21, 127, 11, 10, 11, 127, 21, 19, 20, 127, 23, 21, 22, 127, 19, 17, 18, 127, 29, 27, 28, 127, 26, 24, 25, 127, 30, 30, 30, 127, 23, 23, 23, 127, 9, 9, 9, 127, 6, 6, 6, 127, 6, 6, 6, 127, 4, 4, 5, 127, 4, 4, 6, 127, 4, 4, 2, 127, 3, 3, 2, 127, 4, 4, 4, 127, 6, 5, 8, 127, 4, 4, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 8, 8, 8, 127, 7, 7, 7, 127, 11, 11, 12, 127, 11, 11, 13, 127, 12, 12, 14, 127, 13, 13, 15, 127, 13, 13, 15, 127, 12, 12, 14, 127, 12, 12, 14, 127, 8, 8, 10, 127, 5, 5, 7, 127, 11, 11, 13, 127, 20, 20, 22, 127, \ +245, 241, 231, 127, 246, 242, 229, 127, 248, 246, 223, 127, 250, 249, 217, 127, 252, 252, 211, 127, 253, 253, 197, 127, 253, 252, 183, 127, 252, 253, 175, 127, 252, 253, 166, 127, 252, 253, 159, 127, 253, 253, 158, 127, 253, 253, 161, 127, 253, 252, 159, 127, 253, 253, 156, 127, 254, 253, 157, 127, 253, 253, 159, 127, 253, 254, 152, 127, 253, 253, 154, 127, 253, 253, 154, 127, 253, 254, 154, 127, 253, 254, 156, 127, 253, 253, 159, 127, 253, 253, 160, 127, 253, 252, 160, 127, 253, 253, 159, 127, 253, 253, 157, 127, 253, 253, 159, 127, 254, 252, 162, 127, 254, 252, 161, 127, 254, 252, 161, 127, 254, 252, 161, 127, 254, 252, 161, 127, 254, 253, 162, 127, 253, 253, 161, 127, 253, 253, 160, 127, 253, 253, 159, 127, 252, 254, 158, 127, 253, 251, 167, 127, 253, 253, 181, 127, 251, 253, 173, 127, 248, 248, 142, 127, 170, 158, 69, 127, 47, 39, 19, 127, 28, 29, 23, 127, 25, 25, 22, 127, 28, 30, 25, 127, 19, 22, 17, 127, 13, 13, 12, 127, 14, 13, 10, 127, 12, 12, 11, 127, 25, 25, 25, 127, 99, 100, 97, 127, 132, 133, 129, 127, 68, 70, 65, 127, 45, 47, 43, 127, 49, 51, 51, 127, 93, 93, 95, 127, 88, 88, 90, 127, 69, 70, 68, 127, 106, 106, 102, 127, 103, 103, 97, 127, 92, 93, 85, 127, 77, 78, 71, 127, 51, 53, 49, 127, 26, 27, 25, 127, 11, 11, 12, 127, 7, 7, 6, 127, 8, 9, 5, 127, 9, 10, 6, 127, 13, 13, 10, 127, 17, 17, 17, 127, 19, 19, 19, 127, 16, 16, 16, 127, 12, 12, 12, 127, 14, 14, 14, 127, 18, 18, 18, 127, 19, 19, 19, 127, 8, 8, 8, 127, 11, 11, 11, 127, 11, 11, 11, 127, 10, 10, 10, 127, 7, 7, 7, 127, 10, 10, 10, 127, 9, 9, 9, 127, 14, 14, 14, 127, 17, 17, 17, 127, 14, 14, 14, 127, 15, 15, 15, 127, 20, 20, 20, 127, 20, 20, 20, 127, 16, 16, 16, 127, 16, 16, 16, 127, 19, 19, 19, 127, 18, 18, 18, 127, 20, 20, 20, 127, 18, 18, 18, 127, 15, 15, 15, 127, 13, 13, 13, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 12, 12, 12, 127, 13, 13, 13, 127, 16, 16, 16, 127, 20, 20, 20, 127, 18, 18, 18, 127, 16, 16, 16, 127, 14, 14, 14, 127, 14, 14, 14, 127, 10, 10, 10, 127, 11, 11, 11, 127, 8, 8, 8, 127, 5, 5, 5, 127, 4, 4, 4, 127, 11, 11, 11, 127, 12, 12, 12, 127, 12, 12, 12, 127, 12, 12, 12, 127, 11, 11, 11, 127, 23, 23, 23, 127, 18, 18, 18, 127, 14, 14, 14, 127, 18, 18, 18, 127, 15, 13, 14, 127, 21, 19, 20, 127, 16, 14, 15, 127, 28, 26, 27, 127, 30, 28, 29, 127, 27, 26, 27, 127, 22, 22, 22, 127, 10, 10, 10, 127, 6, 6, 6, 127, 6, 6, 6, 127, 4, 4, 6, 127, 4, 3, 6, 127, 3, 3, 2, 127, 3, 3, 2, 127, 2, 2, 1, 127, 3, 3, 3, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 5, 5, 5, 127, 7, 7, 7, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 10, 127, 12, 12, 13, 127, 10, 10, 12, 127, 12, 12, 14, 127, 11, 11, 12, 127, 8, 8, 10, 127, 7, 7, 9, 127, 5, 5, 7, 127, 6, 6, 8, 127, 17, 17, 19, 127, 18, 18, 20, 127, \ +240, 236, 217, 127, 250, 244, 211, 127, 252, 252, 197, 127, 252, 253, 185, 127, 253, 252, 179, 127, 253, 253, 169, 127, 252, 253, 162, 127, 252, 253, 158, 127, 253, 253, 158, 127, 253, 252, 159, 127, 254, 253, 158, 127, 254, 254, 158, 127, 253, 253, 159, 127, 253, 252, 159, 127, 253, 252, 160, 127, 253, 252, 160, 127, 253, 253, 155, 127, 253, 253, 154, 127, 253, 253, 156, 127, 253, 254, 158, 127, 253, 253, 160, 127, 254, 252, 167, 127, 253, 252, 164, 127, 253, 253, 159, 127, 251, 253, 160, 127, 252, 254, 163, 127, 252, 253, 166, 127, 253, 253, 166, 127, 254, 253, 163, 127, 253, 253, 161, 127, 253, 253, 161, 127, 253, 252, 162, 127, 253, 253, 162, 127, 253, 253, 161, 127, 252, 253, 163, 127, 251, 252, 162, 127, 251, 252, 157, 127, 252, 252, 164, 127, 251, 251, 157, 127, 251, 250, 132, 127, 223, 213, 94, 127, 97, 85, 31, 127, 26, 27, 20, 127, 25, 25, 23, 127, 21, 21, 20, 127, 26, 26, 26, 127, 19, 19, 18, 127, 14, 14, 14, 127, 13, 13, 13, 127, 20, 20, 20, 127, 105, 105, 105, 127, 96, 97, 96, 127, 26, 26, 26, 127, 26, 27, 26, 127, 24, 25, 24, 127, 80, 81, 80, 127, 57, 57, 57, 127, 35, 35, 35, 127, 59, 59, 57, 127, 53, 53, 51, 127, 37, 37, 37, 127, 33, 33, 33, 127, 24, 24, 22, 127, 9, 9, 7, 127, 12, 12, 10, 127, 12, 11, 10, 127, 11, 11, 11, 127, 11, 11, 11, 127, 12, 12, 12, 127, 14, 14, 14, 127, 16, 16, 16, 127, 19, 19, 19, 127, 14, 14, 14, 127, 16, 16, 16, 127, 16, 16, 16, 127, 20, 20, 20, 127, 18, 18, 18, 127, 10, 10, 10, 127, 13, 13, 13, 127, 10, 10, 10, 127, 8, 8, 8, 127, 12, 12, 12, 127, 17, 17, 17, 127, 24, 24, 24, 127, 21, 21, 21, 127, 13, 13, 13, 127, 14, 14, 14, 127, 19, 19, 19, 127, 18, 18, 18, 127, 18, 18, 18, 127, 14, 14, 14, 127, 20, 20, 20, 127, 13, 13, 13, 127, 13, 13, 13, 127, 17, 17, 17, 127, 18, 18, 18, 127, 14, 14, 14, 127, 15, 15, 15, 127, 13, 13, 13, 127, 15, 15, 15, 127, 17, 17, 17, 127, 21, 21, 21, 127, 16, 16, 16, 127, 22, 22, 22, 127, 22, 22, 22, 127, 22, 22, 22, 127, 14, 14, 14, 127, 14, 14, 14, 127, 14, 14, 14, 127, 12, 12, 12, 127, 11, 11, 11, 127, 12, 12, 12, 127, 4, 4, 4, 127, 5, 5, 5, 127, 11, 11, 11, 127, 18, 18, 18, 127, 16, 16, 16, 127, 15, 15, 15, 127, 8, 8, 8, 127, 16, 16, 16, 127, 15, 15, 15, 127, 16, 16, 16, 127, 17, 17, 17, 127, 23, 21, 22, 127, 21, 19, 20, 127, 20, 18, 19, 127, 19, 17, 18, 127, 30, 28, 29, 127, 19, 18, 19, 127, 19, 19, 19, 127, 11, 11, 11, 127, 6, 6, 6, 127, 6, 6, 6, 127, 4, 4, 5, 127, 4, 4, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 7, 7, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 9, 9, 9, 127, 11, 11, 11, 127, 13, 13, 13, 127, 10, 10, 11, 127, 10, 10, 10, 127, 10, 10, 10, 127, 8, 8, 8, 127, 6, 6, 8, 127, 7, 7, 9, 127, 13, 13, 15, 127, 16, 16, 18, 127, 15, 15, 17, 127, \ +235, 225, 191, 127, 252, 244, 185, 127, 252, 250, 177, 127, 251, 253, 174, 127, 252, 253, 170, 127, 252, 253, 169, 127, 250, 254, 164, 127, 251, 254, 160, 127, 250, 253, 158, 127, 251, 253, 160, 127, 253, 254, 158, 127, 254, 254, 157, 127, 254, 254, 158, 127, 253, 253, 157, 127, 253, 253, 157, 127, 253, 252, 159, 127, 253, 252, 160, 127, 253, 253, 159, 127, 253, 253, 156, 127, 254, 254, 156, 127, 253, 253, 157, 127, 254, 252, 164, 127, 254, 252, 164, 127, 254, 253, 163, 127, 252, 252, 166, 127, 254, 253, 170, 127, 254, 253, 168, 127, 253, 252, 167, 127, 253, 252, 171, 127, 253, 252, 174, 127, 253, 252, 175, 127, 253, 253, 172, 127, 253, 253, 162, 127, 253, 253, 159, 127, 254, 252, 155, 127, 253, 251, 147, 127, 251, 252, 135, 127, 250, 252, 124, 127, 250, 249, 101, 127, 249, 241, 85, 127, 175, 157, 63, 127, 47, 39, 19, 127, 22, 24, 27, 127, 27, 26, 28, 127, 27, 27, 26, 127, 24, 24, 24, 127, 20, 20, 20, 127, 17, 17, 17, 127, 11, 11, 11, 127, 64, 64, 64, 127, 113, 113, 113, 127, 17, 17, 17, 127, 7, 7, 7, 127, 23, 24, 23, 127, 82, 83, 82, 127, 93, 94, 94, 127, 24, 24, 24, 127, 16, 17, 17, 127, 65, 66, 65, 127, 27, 27, 25, 127, 9, 9, 8, 127, 19, 19, 18, 127, 39, 39, 37, 127, 13, 13, 12, 127, 12, 12, 12, 127, 11, 11, 11, 127, 15, 15, 15, 127, 14, 14, 14, 127, 12, 12, 12, 127, 16, 16, 16, 127, 17, 17, 17, 127, 18, 18, 18, 127, 15, 15, 15, 127, 18, 18, 18, 127, 20, 20, 20, 127, 19, 19, 19, 127, 18, 18, 18, 127, 16, 16, 16, 127, 16, 16, 16, 127, 17, 17, 17, 127, 20, 20, 20, 127, 24, 24, 24, 127, 25, 25, 25, 127, 25, 25, 25, 127, 23, 23, 23, 127, 16, 16, 16, 127, 19, 19, 19, 127, 16, 16, 16, 127, 14, 14, 14, 127, 17, 17, 17, 127, 13, 13, 13, 127, 8, 8, 8, 127, 6, 6, 6, 127, 12, 12, 12, 127, 15, 15, 15, 127, 15, 15, 15, 127, 18, 18, 18, 127, 17, 17, 17, 127, 23, 23, 23, 127, 22, 22, 22, 127, 21, 21, 21, 127, 28, 28, 28, 127, 25, 25, 25, 127, 27, 27, 27, 127, 26, 26, 26, 127, 22, 22, 22, 127, 16, 16, 16, 127, 10, 10, 10, 127, 9, 9, 9, 127, 12, 12, 12, 127, 10, 10, 10, 127, 13, 13, 13, 127, 9, 9, 9, 127, 9, 9, 9, 127, 11, 11, 11, 127, 18, 18, 18, 127, 24, 24, 24, 127, 20, 20, 20, 127, 7, 7, 7, 127, 23, 23, 23, 127, 19, 19, 19, 127, 22, 22, 22, 127, 12, 11, 12, 127, 23, 21, 22, 127, 16, 14, 15, 127, 21, 19, 20, 127, 29, 27, 28, 127, 28, 26, 27, 127, 26, 25, 25, 127, 15, 15, 15, 127, 10, 10, 10, 127, 7, 7, 7, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 5, 5, 5, 127, 5, 5, 5, 127, 7, 7, 7, 127, 6, 6, 6, 127, 8, 8, 8, 127, 6, 6, 6, 127, 7, 7, 7, 127, 11, 11, 11, 127, 11, 11, 11, 127, 10, 10, 10, 127, 11, 11, 11, 127, 9, 9, 9, 127, 9, 9, 9, 127, 7, 7, 7, 127, 7, 7, 8, 127, 4, 4, 6, 127, 8, 8, 10, 127, 15, 15, 17, 127, 17, 17, 19, 127, \ +228, 215, 159, 127, 252, 243, 139, 127, 254, 251, 150, 127, 252, 253, 174, 127, 252, 253, 179, 127, 252, 253, 181, 127, 252, 254, 179, 127, 251, 254, 175, 127, 250, 253, 168, 127, 249, 254, 162, 127, 252, 254, 160, 127, 254, 254, 159, 127, 253, 253, 157, 127, 253, 253, 155, 127, 253, 253, 154, 127, 253, 253, 157, 127, 253, 252, 162, 127, 253, 252, 164, 127, 254, 253, 163, 127, 253, 253, 162, 127, 253, 253, 161, 127, 252, 253, 164, 127, 252, 253, 165, 127, 253, 254, 165, 127, 252, 252, 168, 127, 254, 253, 170, 127, 253, 253, 165, 127, 252, 252, 168, 127, 251, 252, 179, 127, 252, 253, 189, 127, 252, 253, 189, 127, 253, 253, 179, 127, 253, 252, 154, 127, 253, 252, 129, 127, 253, 253, 111, 127, 253, 251, 102, 127, 252, 250, 93, 127, 247, 250, 78, 127, 250, 247, 64, 127, 213, 195, 66, 127, 83, 68, 31, 127, 26, 30, 22, 127, 25, 24, 27, 127, 29, 28, 26, 127, 25, 26, 24, 127, 27, 27, 27, 127, 19, 19, 19, 127, 11, 11, 11, 127, 9, 9, 9, 127, 106, 106, 106, 127, 74, 74, 74, 127, 10, 10, 10, 127, 10, 10, 10, 127, 8, 9, 8, 127, 82, 84, 83, 127, 89, 89, 89, 127, 93, 93, 93, 127, 73, 74, 74, 127, 89, 90, 89, 127, 39, 39, 37, 127, 12, 12, 11, 127, 13, 13, 12, 127, 43, 43, 41, 127, 15, 15, 15, 127, 10, 10, 10, 127, 9, 9, 9, 127, 14, 14, 14, 127, 12, 12, 12, 127, 16, 16, 16, 127, 16, 16, 16, 127, 21, 21, 21, 127, 20, 20, 20, 127, 16, 16, 16, 127, 20, 20, 20, 127, 22, 22, 22, 127, 20, 20, 20, 127, 18, 18, 18, 127, 17, 17, 17, 127, 14, 14, 14, 127, 18, 18, 18, 127, 27, 27, 27, 127, 25, 25, 25, 127, 19, 19, 19, 127, 18, 18, 18, 127, 17, 17, 17, 127, 17, 17, 17, 127, 16, 16, 16, 127, 13, 13, 13, 127, 17, 17, 17, 127, 12, 12, 12, 127, 12, 12, 12, 127, 12, 12, 12, 127, 12, 12, 12, 127, 15, 15, 15, 127, 13, 13, 13, 127, 17, 17, 17, 127, 17, 17, 17, 127, 19, 19, 19, 127, 25, 25, 25, 127, 27, 27, 27, 127, 25, 25, 25, 127, 26, 26, 26, 127, 22, 22, 22, 127, 21, 21, 21, 127, 21, 21, 21, 127, 16, 16, 16, 127, 18, 18, 18, 127, 13, 13, 13, 127, 10, 10, 10, 127, 7, 7, 7, 127, 5, 5, 5, 127, 8, 8, 8, 127, 6, 6, 6, 127, 6, 6, 6, 127, 8, 8, 8, 127, 13, 13, 13, 127, 21, 21, 21, 127, 21, 21, 21, 127, 10, 10, 10, 127, 18, 18, 18, 127, 23, 23, 23, 127, 20, 20, 20, 127, 20, 20, 20, 127, 31, 30, 31, 127, 24, 22, 23, 127, 18, 16, 17, 127, 33, 31, 33, 127, 24, 22, 23, 127, 25, 24, 24, 127, 19, 19, 19, 127, 12, 12, 12, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 5, 5, 5, 127, 7, 7, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 8, 8, 8, 127, 10, 10, 10, 127, 11, 11, 11, 127, 10, 10, 10, 127, 11, 11, 11, 127, 9, 9, 9, 127, 7, 7, 7, 127, 9, 9, 9, 127, 7, 7, 7, 127, 6, 6, 7, 127, 3, 3, 5, 127, 9, 9, 11, 127, 13, 13, 15, 127, 15, 15, 17, 127, \ +224, 209, 129, 127, 250, 238, 95, 127, 254, 248, 111, 127, 253, 252, 152, 127, 253, 253, 173, 127, 253, 253, 181, 127, 253, 253, 181, 127, 253, 253, 179, 127, 253, 254, 177, 127, 252, 254, 173, 127, 253, 253, 166, 127, 254, 253, 162, 127, 253, 252, 160, 127, 253, 253, 157, 127, 253, 253, 156, 127, 254, 254, 156, 127, 254, 254, 158, 127, 254, 253, 161, 127, 254, 253, 162, 127, 253, 253, 164, 127, 253, 253, 166, 127, 252, 254, 167, 127, 250, 253, 165, 127, 252, 253, 166, 127, 253, 253, 162, 127, 253, 253, 157, 127, 253, 253, 155, 127, 253, 253, 165, 127, 252, 253, 181, 127, 251, 253, 187, 127, 251, 253, 175, 127, 253, 253, 152, 127, 254, 253, 109, 127, 252, 253, 81, 127, 251, 251, 66, 127, 252, 250, 64, 127, 251, 247, 64, 127, 251, 244, 67, 127, 248, 238, 65, 127, 151, 134, 57, 127, 41, 39, 33, 127, 19, 26, 17, 127, 19, 19, 17, 127, 23, 22, 20, 127, 22, 22, 23, 127, 22, 22, 22, 127, 14, 14, 14, 127, 13, 13, 13, 127, 14, 14, 14, 127, 108, 108, 108, 127, 86, 86, 86, 127, 9, 9, 9, 127, 10, 10, 10, 127, 7, 8, 7, 127, 83, 85, 84, 127, 41, 43, 43, 127, 29, 29, 29, 127, 95, 96, 96, 127, 127, 128, 127, 127, 27, 27, 27, 127, 19, 19, 20, 127, 20, 20, 20, 127, 51, 51, 51, 127, 14, 14, 14, 127, 9, 9, 9, 127, 12, 12, 12, 127, 17, 17, 17, 127, 17, 17, 17, 127, 20, 20, 20, 127, 16, 16, 16, 127, 17, 17, 17, 127, 18, 18, 18, 127, 22, 22, 22, 127, 19, 19, 19, 127, 24, 24, 24, 127, 16, 16, 16, 127, 10, 10, 10, 127, 7, 7, 7, 127, 11, 11, 11, 127, 14, 14, 14, 127, 15, 15, 15, 127, 13, 13, 13, 127, 12, 12, 12, 127, 12, 12, 12, 127, 11, 11, 11, 127, 7, 7, 7, 127, 10, 10, 10, 127, 15, 15, 15, 127, 14, 14, 14, 127, 16, 16, 16, 127, 17, 17, 17, 127, 19, 19, 19, 127, 19, 19, 19, 127, 15, 15, 15, 127, 14, 14, 14, 127, 14, 14, 14, 127, 18, 18, 18, 127, 25, 25, 25, 127, 30, 30, 30, 127, 28, 28, 28, 127, 27, 27, 27, 127, 29, 29, 29, 127, 25, 25, 25, 127, 24, 24, 24, 127, 23, 23, 23, 127, 17, 17, 17, 127, 15, 15, 15, 127, 13, 13, 13, 127, 10, 10, 10, 127, 12, 12, 12, 127, 8, 8, 8, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 9, 9, 9, 127, 10, 10, 10, 127, 16, 16, 16, 127, 16, 16, 16, 127, 13, 13, 13, 127, 17, 17, 17, 127, 28, 28, 28, 127, 17, 16, 17, 127, 23, 21, 22, 127, 33, 31, 33, 127, 25, 23, 24, 127, 30, 28, 29, 127, 23, 21, 22, 127, 22, 22, 22, 127, 18, 18, 18, 127, 12, 12, 12, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 9, 127, 11, 11, 11, 127, 8, 8, 8, 127, 10, 10, 10, 127, 9, 9, 9, 127, 6, 6, 6, 127, 8, 8, 8, 127, 8, 8, 8, 127, 6, 6, 8, 127, 5, 5, 7, 127, 11, 11, 13, 127, 12, 12, 14, 127, 14, 14, 16, 127, \ +221, 197, 118, 127, 243, 223, 59, 127, 251, 238, 55, 127, 252, 246, 100, 127, 253, 251, 129, 127, 251, 253, 145, 127, 251, 253, 155, 127, 253, 254, 167, 127, 253, 253, 174, 127, 253, 253, 177, 127, 254, 254, 173, 127, 254, 253, 169, 127, 253, 253, 166, 127, 253, 252, 161, 127, 253, 252, 158, 127, 253, 253, 155, 127, 253, 254, 152, 127, 252, 254, 153, 127, 252, 254, 152, 127, 252, 254, 151, 127, 253, 254, 150, 127, 253, 253, 149, 127, 253, 253, 144, 127, 252, 251, 136, 127, 251, 250, 124, 127, 251, 250, 112, 127, 252, 251, 118, 127, 253, 253, 136, 127, 253, 254, 148, 127, 253, 253, 147, 127, 253, 252, 124, 127, 253, 250, 92, 127, 253, 250, 67, 127, 252, 250, 57, 127, 252, 250, 59, 127, 253, 250, 59, 127, 252, 248, 57, 127, 250, 241, 57, 127, 236, 219, 63, 127, 96, 76, 25, 127, 39, 31, 25, 127, 21, 21, 18, 127, 15, 16, 13, 127, 18, 19, 17, 127, 23, 22, 23, 127, 23, 23, 23, 127, 17, 17, 17, 127, 21, 21, 21, 127, 14, 14, 14, 127, 49, 49, 49, 127, 142, 142, 142, 127, 49, 49, 49, 127, 7, 7, 7, 127, 6, 6, 6, 127, 47, 47, 47, 127, 84, 85, 86, 127, 67, 68, 68, 127, 149, 149, 149, 127, 63, 63, 63, 127, 15, 14, 16, 127, 22, 21, 22, 127, 49, 49, 51, 127, 57, 57, 57, 127, 16, 16, 16, 127, 15, 15, 15, 127, 19, 19, 19, 127, 21, 21, 21, 127, 20, 20, 20, 127, 21, 21, 21, 127, 22, 22, 22, 127, 23, 23, 23, 127, 23, 23, 23, 127, 24, 24, 24, 127, 22, 22, 22, 127, 18, 18, 18, 127, 17, 17, 17, 127, 17, 17, 17, 127, 16, 16, 16, 127, 15, 15, 15, 127, 14, 14, 14, 127, 12, 12, 12, 127, 11, 11, 11, 127, 8, 8, 8, 127, 6, 6, 6, 127, 9, 9, 9, 127, 11, 11, 11, 127, 13, 13, 13, 127, 16, 16, 16, 127, 13, 13, 13, 127, 19, 19, 19, 127, 19, 19, 19, 127, 17, 17, 17, 127, 17, 17, 17, 127, 16, 16, 16, 127, 17, 17, 17, 127, 20, 20, 20, 127, 26, 26, 26, 127, 26, 26, 26, 127, 24, 24, 24, 127, 24, 24, 24, 127, 27, 27, 28, 127, 23, 23, 24, 127, 20, 20, 20, 127, 26, 26, 26, 127, 18, 18, 18, 127, 14, 14, 14, 127, 17, 17, 17, 127, 14, 14, 14, 127, 10, 10, 10, 127, 10, 10, 10, 127, 9, 9, 9, 127, 9, 9, 9, 127, 12, 12, 12, 127, 9, 9, 9, 127, 6, 6, 6, 127, 10, 10, 10, 127, 10, 10, 10, 127, 22, 22, 22, 127, 20, 20, 20, 127, 12, 12, 12, 127, 13, 13, 13, 127, 24, 24, 24, 127, 15, 15, 15, 127, 10, 8, 9, 127, 20, 18, 19, 127, 26, 24, 25, 127, 30, 28, 29, 127, 23, 21, 22, 127, 15, 15, 15, 127, 18, 18, 18, 127, 12, 12, 12, 127, 7, 7, 7, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 5, 5, 5, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 9, 9, 9, 127, 7, 7, 7, 127, 7, 7, 7, 127, 9, 9, 9, 127, 7, 7, 7, 127, 8, 8, 8, 127, 8, 8, 8, 127, 7, 7, 7, 127, 8, 8, 8, 127, 8, 8, 8, 127, 5, 5, 6, 127, 5, 5, 7, 127, 12, 12, 14, 127, 8, 8, 10, 127, 9, 9, 11, 127, \ +215, 189, 126, 127, 234, 205, 43, 127, 246, 221, 20, 127, 252, 233, 45, 127, 252, 240, 71, 127, 252, 247, 95, 127, 252, 251, 110, 127, 253, 252, 129, 127, 253, 253, 145, 127, 252, 253, 157, 127, 252, 254, 159, 127, 253, 254, 160, 127, 254, 253, 161, 127, 253, 253, 157, 127, 253, 253, 152, 127, 253, 254, 145, 127, 252, 253, 140, 127, 253, 253, 138, 127, 253, 253, 134, 127, 253, 253, 126, 127, 253, 253, 121, 127, 253, 250, 112, 127, 253, 247, 102, 127, 253, 244, 88, 127, 251, 242, 71, 127, 251, 243, 53, 127, 253, 245, 57, 127, 254, 246, 66, 127, 253, 246, 65, 127, 252, 245, 59, 127, 252, 244, 51, 127, 252, 244, 47, 127, 253, 245, 53, 127, 253, 246, 59, 127, 254, 245, 59, 127, 252, 242, 49, 127, 251, 240, 37, 127, 249, 233, 26, 127, 241, 213, 37, 127, 172, 142, 57, 127, 55, 45, 35, 127, 23, 23, 25, 127, 25, 25, 23, 127, 19, 20, 22, 127, 19, 19, 18, 127, 20, 20, 20, 127, 22, 22, 22, 127, 18, 18, 18, 127, 12, 12, 12, 127, 10, 10, 10, 127, 61, 61, 61, 127, 137, 137, 137, 127, 137, 137, 137, 127, 116, 118, 118, 127, 116, 120, 118, 127, 124, 128, 128, 127, 147, 150, 150, 127, 79, 81, 80, 127, 16, 17, 16, 127, 31, 31, 31, 127, 55, 55, 55, 127, 65, 65, 65, 127, 26, 26, 26, 127, 17, 17, 17, 127, 14, 14, 14, 127, 18, 18, 18, 127, 18, 18, 18, 127, 20, 20, 20, 127, 26, 26, 26, 127, 24, 24, 24, 127, 19, 19, 19, 127, 19, 19, 19, 127, 19, 19, 19, 127, 17, 17, 17, 127, 17, 17, 17, 127, 15, 15, 15, 127, 13, 13, 13, 127, 15, 15, 15, 127, 17, 17, 17, 127, 13, 13, 13, 127, 13, 13, 13, 127, 12, 12, 12, 127, 12, 12, 12, 127, 16, 16, 16, 127, 19, 19, 19, 127, 19, 19, 19, 127, 18, 18, 18, 127, 18, 18, 18, 127, 27, 27, 27, 127, 24, 24, 24, 127, 16, 16, 16, 127, 17, 17, 17, 127, 17, 17, 17, 127, 19, 19, 19, 127, 21, 21, 21, 127, 26, 26, 26, 127, 25, 25, 26, 127, 24, 24, 26, 127, 25, 25, 26, 127, 20, 20, 21, 127, 20, 20, 21, 127, 23, 23, 24, 127, 25, 25, 25, 127, 23, 23, 23, 127, 23, 23, 23, 127, 21, 21, 21, 127, 13, 13, 13, 127, 14, 14, 14, 127, 14, 14, 14, 127, 10, 10, 10, 127, 9, 9, 9, 127, 9, 9, 9, 127, 5, 5, 5, 127, 5, 5, 5, 127, 8, 8, 8, 127, 11, 11, 11, 127, 13, 13, 13, 127, 17, 17, 17, 127, 21, 21, 21, 127, 15, 15, 15, 127, 10, 10, 10, 127, 19, 19, 19, 127, 15, 14, 14, 127, 16, 14, 15, 127, 17, 15, 16, 127, 13, 11, 12, 127, 31, 30, 31, 127, 28, 26, 27, 127, 24, 23, 23, 127, 16, 16, 16, 127, 14, 14, 14, 127, 8, 8, 8, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 4, 4, 4, 127, 4, 4, 4, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 7, 7, 7, 127, 7, 7, 7, 127, 8, 8, 8, 127, 7, 7, 7, 127, 10, 10, 10, 127, 8, 8, 8, 127, 8, 8, 8, 127, 6, 6, 6, 127, 7, 7, 7, 127, 6, 6, 6, 127, 4, 4, 5, 127, 3, 3, 4, 127, 7, 7, 8, 127, 4, 4, 5, 127, 6, 6, 7, 127, \ +217, 189, 131, 127, 228, 191, 51, 127, 241, 199, 7, 127, 250, 211, 11, 127, 251, 223, 27, 127, 251, 232, 55, 127, 253, 239, 74, 127, 254, 244, 92, 127, 253, 248, 110, 127, 252, 251, 122, 127, 252, 253, 131, 127, 253, 254, 140, 127, 254, 254, 145, 127, 253, 253, 143, 127, 253, 253, 137, 127, 253, 253, 130, 127, 253, 253, 124, 127, 253, 251, 119, 127, 253, 251, 112, 127, 253, 250, 103, 127, 252, 247, 93, 127, 253, 244, 80, 127, 253, 239, 63, 127, 253, 235, 45, 127, 252, 232, 26, 127, 252, 232, 13, 127, 253, 234, 14, 127, 251, 235, 15, 127, 251, 236, 14, 127, 251, 237, 18, 127, 252, 239, 27, 127, 252, 241, 37, 127, 253, 244, 49, 127, 253, 243, 47, 127, 252, 238, 39, 127, 253, 233, 25, 127, 250, 229, 14, 127, 250, 229, 8, 127, 244, 213, 33, 127, 133, 103, 31, 127, 35, 28, 28, 127, 17, 21, 17, 127, 15, 15, 14, 127, 14, 14, 15, 127, 20, 20, 20, 127, 21, 21, 21, 127, 24, 24, 24, 127, 13, 13, 13, 127, 10, 10, 10, 127, 6, 6, 6, 127, 9, 9, 9, 127, 19, 19, 19, 127, 51, 51, 51, 127, 69, 71, 72, 127, 59, 61, 59, 127, 26, 29, 29, 127, 83, 85, 85, 127, 104, 106, 104, 127, 61, 61, 61, 127, 80, 80, 80, 127, 57, 57, 57, 127, 25, 25, 25, 127, 24, 24, 24, 127, 19, 19, 19, 127, 18, 18, 18, 127, 18, 18, 18, 127, 23, 23, 23, 127, 22, 22, 22, 127, 17, 17, 17, 127, 14, 14, 14, 127, 19, 19, 19, 127, 16, 16, 16, 127, 16, 16, 16, 127, 19, 19, 19, 127, 16, 16, 16, 127, 14, 14, 14, 127, 11, 11, 11, 127, 12, 12, 12, 127, 11, 11, 11, 127, 13, 13, 13, 127, 17, 17, 17, 127, 17, 17, 17, 127, 16, 16, 16, 127, 20, 20, 20, 127, 19, 19, 19, 127, 15, 15, 15, 127, 12, 12, 12, 127, 22, 22, 22, 127, 21, 21, 21, 127, 13, 13, 13, 127, 7, 7, 7, 127, 14, 14, 14, 127, 14, 14, 14, 127, 19, 19, 19, 127, 22, 22, 22, 127, 19, 19, 19, 127, 20, 20, 22, 127, 22, 22, 24, 127, 18, 18, 20, 127, 22, 22, 24, 127, 26, 26, 28, 127, 33, 33, 33, 127, 28, 28, 28, 127, 26, 26, 26, 127, 21, 21, 21, 127, 21, 21, 21, 127, 16, 16, 16, 127, 10, 10, 10, 127, 16, 16, 16, 127, 15, 15, 15, 127, 9, 9, 9, 127, 8, 8, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 9, 9, 9, 127, 12, 12, 12, 127, 21, 21, 21, 127, 20, 20, 20, 127, 27, 27, 27, 127, 19, 19, 19, 127, 9, 9, 9, 127, 15, 15, 15, 127, 6, 6, 6, 127, 20, 18, 19, 127, 20, 18, 19, 127, 12, 10, 11, 127, 24, 22, 23, 127, 20, 18, 19, 127, 21, 20, 20, 127, 16, 16, 16, 127, 16, 16, 16, 127, 11, 11, 11, 127, 8, 8, 8, 127, 7, 7, 7, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 2, 2, 2, 127, 3, 3, 3, 127, 2, 2, 2, 127, 4, 4, 4, 127, 4, 4, 4, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 4, 4, 4, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 7, 7, 7, 127, \ +203, 187, 133, 127, 215, 181, 72, 127, 230, 183, 10, 127, 242, 189, 2, 127, 244, 199, 6, 127, 245, 211, 24, 127, 249, 223, 39, 127, 252, 231, 57, 127, 252, 239, 77, 127, 252, 244, 90, 127, 252, 246, 102, 127, 253, 248, 110, 127, 254, 250, 116, 127, 253, 250, 117, 127, 252, 248, 114, 127, 253, 248, 109, 127, 253, 248, 105, 127, 253, 246, 100, 127, 253, 245, 92, 127, 253, 244, 80, 127, 253, 241, 69, 127, 253, 235, 53, 127, 253, 229, 33, 127, 253, 223, 17, 127, 252, 221, 4, 127, 252, 219, 2, 127, 252, 221, 3, 127, 252, 225, 3, 127, 252, 229, 4, 127, 252, 232, 8, 127, 253, 236, 17, 127, 252, 238, 22, 127, 252, 238, 23, 127, 252, 234, 19, 127, 252, 230, 15, 127, 252, 227, 13, 127, 252, 226, 8, 127, 250, 225, 9, 127, 240, 211, 29, 127, 132, 102, 35, 127, 41, 33, 33, 127, 20, 23, 19, 127, 13, 13, 15, 127, 21, 22, 21, 127, 26, 24, 26, 127, 20, 20, 20, 127, 20, 20, 20, 127, 10, 10, 10, 127, 9, 9, 9, 127, 7, 7, 7, 127, 11, 11, 11, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 7, 127, 6, 6, 4, 127, 6, 6, 7, 127, 47, 43, 45, 127, 61, 59, 59, 127, 16, 14, 15, 127, 19, 19, 19, 127, 19, 19, 19, 127, 26, 26, 26, 127, 27, 27, 27, 127, 22, 22, 22, 127, 22, 22, 22, 127, 19, 19, 19, 127, 16, 16, 16, 127, 15, 15, 15, 127, 18, 18, 18, 127, 21, 21, 21, 127, 16, 16, 16, 127, 17, 17, 17, 127, 20, 20, 20, 127, 21, 21, 21, 127, 18, 18, 18, 127, 10, 10, 10, 127, 12, 12, 12, 127, 13, 13, 13, 127, 14, 14, 14, 127, 16, 16, 16, 127, 17, 17, 17, 127, 16, 16, 16, 127, 18, 18, 18, 127, 23, 23, 23, 127, 20, 20, 20, 127, 21, 21, 21, 127, 28, 28, 28, 127, 26, 26, 26, 127, 17, 17, 17, 127, 12, 12, 12, 127, 7, 7, 7, 127, 14, 14, 14, 127, 17, 17, 17, 127, 24, 24, 24, 127, 18, 18, 18, 127, 15, 15, 16, 127, 19, 19, 20, 127, 23, 23, 25, 127, 25, 25, 27, 127, 30, 30, 31, 127, 35, 35, 37, 127, 37, 37, 37, 127, 27, 27, 27, 127, 20, 20, 20, 127, 20, 20, 20, 127, 23, 23, 23, 127, 17, 17, 17, 127, 11, 11, 11, 127, 11, 11, 11, 127, 13, 13, 13, 127, 9, 9, 9, 127, 12, 12, 12, 127, 12, 12, 12, 127, 13, 13, 13, 127, 9, 9, 9, 127, 17, 17, 17, 127, 23, 23, 23, 127, 21, 21, 21, 127, 19, 19, 19, 127, 11, 11, 11, 127, 12, 12, 12, 127, 15, 15, 15, 127, 11, 10, 10, 127, 15, 13, 14, 127, 12, 10, 11, 127, 13, 11, 12, 127, 14, 13, 13, 127, 17, 15, 16, 127, 14, 14, 14, 127, 17, 17, 17, 127, 16, 16, 16, 127, 15, 15, 15, 127, 8, 8, 8, 127, 8, 8, 8, 127, 7, 7, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 6, 6, 6, 127, 5, 5, 5, 127, 4, 4, 4, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 7, 7, 7, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 3, 3, 3, 127, 5, 5, 5, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 4, 4, 4, 127, 3, 3, 3, 127, 8, 8, 8, 127, \ +175, 174, 119, 127, 189, 172, 78, 127, 215, 175, 17, 127, 232, 175, 4, 127, 237, 179, 3, 127, 237, 185, 3, 127, 239, 191, 10, 127, 242, 199, 21, 127, 244, 209, 33, 127, 248, 217, 43, 127, 249, 227, 59, 127, 250, 232, 71, 127, 252, 235, 77, 127, 252, 237, 80, 127, 251, 237, 80, 127, 252, 237, 80, 127, 253, 237, 75, 127, 252, 234, 71, 127, 252, 233, 65, 127, 253, 231, 53, 127, 251, 227, 43, 127, 250, 221, 31, 127, 250, 215, 15, 127, 248, 209, 4, 127, 248, 207, 1, 127, 249, 205, 4, 127, 250, 209, 3, 127, 253, 215, 5, 127, 253, 219, 5, 127, 252, 224, 5, 127, 251, 226, 7, 127, 252, 228, 9, 127, 253, 226, 3, 127, 253, 227, 5, 127, 253, 228, 6, 127, 252, 227, 6, 127, 251, 226, 6, 127, 250, 223, 9, 127, 246, 211, 17, 127, 181, 149, 37, 127, 72, 55, 35, 127, 25, 23, 24, 127, 16, 18, 18, 127, 18, 19, 19, 127, 14, 14, 13, 127, 19, 19, 19, 127, 19, 19, 19, 127, 13, 13, 13, 127, 9, 9, 9, 127, 6, 6, 6, 127, 13, 13, 13, 127, 8, 8, 8, 127, 9, 9, 9, 127, 10, 9, 11, 127, 6, 7, 4, 127, 8, 7, 9, 127, 25, 21, 23, 127, 39, 35, 33, 127, 14, 11, 12, 127, 20, 19, 19, 127, 20, 20, 19, 127, 27, 27, 27, 127, 26, 26, 26, 127, 21, 21, 21, 127, 19, 19, 19, 127, 15, 15, 15, 127, 19, 19, 19, 127, 21, 21, 21, 127, 16, 16, 16, 127, 16, 16, 16, 127, 20, 20, 20, 127, 23, 23, 23, 127, 21, 21, 21, 127, 20, 20, 20, 127, 17, 17, 17, 127, 14, 14, 14, 127, 18, 18, 18, 127, 17, 17, 17, 127, 15, 15, 15, 127, 17, 17, 17, 127, 20, 20, 20, 127, 21, 21, 21, 127, 18, 18, 18, 127, 17, 17, 17, 127, 18, 18, 18, 127, 23, 23, 23, 127, 23, 23, 23, 127, 22, 22, 22, 127, 20, 20, 20, 127, 17, 17, 17, 127, 11, 11, 11, 127, 18, 18, 18, 127, 24, 24, 24, 127, 20, 20, 20, 127, 19, 19, 19, 127, 19, 19, 20, 127, 15, 15, 17, 127, 28, 28, 30, 127, 30, 30, 31, 127, 39, 39, 41, 127, 39, 39, 41, 127, 35, 35, 37, 127, 30, 30, 30, 127, 33, 33, 33, 127, 23, 23, 23, 127, 15, 15, 15, 127, 12, 12, 12, 127, 11, 11, 11, 127, 16, 16, 16, 127, 15, 15, 15, 127, 11, 11, 11, 127, 13, 13, 13, 127, 9, 9, 9, 127, 12, 12, 12, 127, 8, 8, 8, 127, 12, 12, 12, 127, 21, 21, 21, 127, 24, 24, 24, 127, 24, 24, 24, 127, 23, 23, 23, 127, 23, 23, 23, 127, 13, 13, 13, 127, 25, 24, 25, 127, 27, 26, 27, 127, 18, 16, 17, 127, 15, 12, 13, 127, 13, 11, 12, 127, 14, 12, 13, 127, 12, 11, 12, 127, 15, 15, 15, 127, 14, 14, 14, 127, 14, 14, 14, 127, 10, 10, 10, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 6, 6, 6, 127, 7, 7, 7, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 6, 6, 6, 127, \ +138, 162, 84, 127, 148, 162, 69, 127, 181, 165, 25, 127, 213, 163, 6, 127, 221, 164, 3, 127, 223, 163, 2, 127, 224, 163, 2, 127, 224, 164, 2, 127, 224, 166, 2, 127, 228, 172, 4, 127, 233, 179, 10, 127, 237, 185, 15, 127, 240, 193, 19, 127, 240, 197, 22, 127, 239, 199, 24, 127, 240, 201, 24, 127, 243, 203, 22, 127, 242, 201, 20, 127, 244, 201, 18, 127, 244, 199, 12, 127, 241, 199, 7, 127, 241, 195, 7, 127, 242, 193, 4, 127, 244, 193, 1, 127, 245, 195, 0, 127, 245, 199, 2, 127, 244, 201, 1, 127, 247, 207, 1, 127, 250, 211, 1, 127, 250, 215, 1, 127, 249, 219, 4, 127, 249, 219, 4, 127, 253, 221, 5, 127, 254, 224, 4, 127, 253, 226, 3, 127, 250, 224, 4, 127, 248, 221, 4, 127, 245, 211, 7, 127, 236, 201, 12, 127, 197, 169, 37, 127, 84, 68, 33, 127, 26, 23, 20, 127, 16, 18, 15, 127, 7, 6, 8, 127, 6, 6, 5, 127, 10, 10, 10, 127, 10, 10, 10, 127, 9, 9, 9, 127, 4, 4, 4, 127, 8, 8, 8, 127, 13, 13, 13, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 6, 127, 8, 8, 4, 127, 9, 7, 10, 127, 21, 18, 19, 127, 33, 31, 30, 127, 14, 12, 13, 127, 19, 18, 19, 127, 20, 20, 20, 127, 26, 26, 26, 127, 28, 28, 28, 127, 28, 28, 28, 127, 20, 20, 20, 127, 17, 17, 17, 127, 18, 18, 18, 127, 18, 18, 18, 127, 19, 19, 19, 127, 31, 31, 31, 127, 30, 30, 30, 127, 22, 22, 22, 127, 15, 15, 15, 127, 16, 16, 16, 127, 16, 16, 16, 127, 20, 20, 20, 127, 18, 18, 18, 127, 16, 16, 16, 127, 15, 15, 15, 127, 12, 12, 12, 127, 14, 14, 14, 127, 15, 15, 15, 127, 12, 12, 12, 127, 12, 12, 12, 127, 20, 20, 20, 127, 20, 20, 20, 127, 18, 18, 18, 127, 19, 19, 19, 127, 22, 22, 22, 127, 18, 18, 18, 127, 19, 19, 19, 127, 22, 22, 22, 127, 21, 21, 21, 127, 21, 21, 21, 127, 23, 23, 23, 127, 22, 22, 22, 127, 25, 25, 27, 127, 29, 29, 31, 127, 35, 35, 37, 127, 43, 43, 45, 127, 37, 37, 39, 127, 43, 43, 43, 127, 41, 41, 41, 127, 35, 35, 35, 127, 27, 27, 27, 127, 21, 21, 21, 127, 16, 16, 16, 127, 16, 16, 16, 127, 19, 19, 19, 127, 16, 16, 16, 127, 12, 12, 12, 127, 10, 10, 10, 127, 11, 11, 11, 127, 11, 11, 11, 127, 13, 13, 13, 127, 10, 10, 10, 127, 17, 17, 17, 127, 24, 24, 24, 127, 20, 20, 20, 127, 23, 23, 23, 127, 23, 23, 23, 127, 14, 14, 14, 127, 16, 16, 16, 127, 18, 17, 17, 127, 17, 15, 16, 127, 15, 13, 14, 127, 15, 13, 14, 127, 12, 10, 11, 127, 11, 10, 10, 127, 13, 13, 13, 127, 13, 13, 13, 127, 13, 13, 13, 127, 12, 12, 12, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 9, 9, 9, 127, 6, 6, 6, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 3, 3, 3, 127, 4, 4, 4, 127, 4, 4, 4, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 1, 1, 1, 127, 4, 4, 4, 127, \ +105, 156, 61, 127, 108, 157, 59, 127, 134, 156, 37, 127, 169, 154, 17, 127, 185, 153, 7, 127, 191, 152, 6, 127, 193, 150, 5, 127, 195, 145, 2, 127, 199, 144, 5, 127, 203, 140, 4, 127, 205, 134, 2, 127, 213, 132, 2, 127, 213, 136, 3, 127, 211, 142, 2, 127, 215, 146, 3, 127, 217, 148, 3, 127, 221, 151, 1, 127, 224, 154, 4, 127, 227, 158, 4, 127, 228, 159, 3, 127, 229, 162, 2, 127, 230, 166, 2, 127, 233, 171, 2, 127, 238, 175, 4, 127, 240, 179, 1, 127, 240, 185, 1, 127, 237, 189, 1, 127, 239, 195, 3, 127, 244, 201, 4, 127, 246, 205, 4, 127, 249, 211, 6, 127, 251, 215, 7, 127, 250, 221, 3, 127, 252, 221, 3, 127, 250, 215, 2, 127, 243, 207, 6, 127, 230, 195, 5, 127, 213, 177, 10, 127, 187, 166, 16, 127, 154, 139, 41, 127, 63, 55, 31, 127, 29, 24, 23, 127, 16, 15, 14, 127, 7, 6, 7, 127, 3, 3, 3, 127, 8, 8, 8, 127, 5, 5, 5, 127, 4, 4, 4, 127, 6, 6, 6, 127, 8, 8, 8, 127, 10, 10, 10, 127, 6, 6, 6, 127, 7, 7, 7, 127, 6, 7, 8, 127, 8, 9, 6, 127, 10, 10, 11, 127, 17, 16, 17, 127, 28, 27, 26, 127, 12, 12, 12, 127, 18, 18, 18, 127, 25, 25, 25, 127, 27, 27, 28, 127, 31, 31, 31, 127, 25, 25, 25, 127, 21, 21, 21, 127, 23, 23, 23, 127, 25, 25, 25, 127, 26, 26, 26, 127, 26, 26, 26, 127, 27, 27, 27, 127, 26, 26, 26, 127, 26, 26, 26, 127, 21, 21, 21, 127, 22, 22, 22, 127, 22, 22, 22, 127, 24, 24, 24, 127, 22, 22, 22, 127, 20, 20, 20, 127, 22, 22, 22, 127, 23, 23, 23, 127, 21, 21, 21, 127, 17, 17, 17, 127, 13, 13, 13, 127, 17, 17, 17, 127, 16, 16, 16, 127, 14, 14, 15, 127, 14, 14, 14, 127, 20, 20, 20, 127, 17, 17, 18, 127, 17, 17, 18, 127, 22, 22, 22, 127, 22, 22, 23, 127, 20, 20, 21, 127, 25, 25, 25, 127, 25, 25, 25, 127, 24, 24, 25, 127, 31, 31, 33, 127, 33, 33, 35, 127, 35, 35, 37, 127, 45, 45, 47, 127, 39, 39, 41, 127, 43, 43, 45, 127, 45, 45, 45, 127, 33, 33, 35, 127, 25, 25, 27, 127, 20, 20, 21, 127, 20, 20, 20, 127, 20, 20, 20, 127, 23, 23, 23, 127, 18, 18, 18, 127, 16, 16, 16, 127, 11, 11, 11, 127, 15, 15, 15, 127, 8, 8, 8, 127, 12, 12, 12, 127, 7, 7, 7, 127, 9, 9, 9, 127, 11, 11, 11, 127, 13, 13, 13, 127, 7, 7, 7, 127, 7, 7, 7, 127, 17, 17, 17, 127, 9, 9, 9, 127, 13, 13, 13, 127, 13, 12, 12, 127, 12, 10, 11, 127, 16, 14, 15, 127, 9, 8, 8, 127, 10, 10, 10, 127, 13, 13, 13, 127, 10, 10, 10, 127, 10, 10, 10, 127, 10, 10, 10, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 4, 4, 4, 127, 5, 5, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 3, 3, 3, 127, 2, 2, 2, 127, 0, 0, 0, 127, 3, 3, 3, 127, \ +93, 149, 45, 127, 91, 150, 41, 127, 96, 149, 37, 127, 111, 150, 33, 127, 129, 149, 31, 127, 136, 151, 30, 127, 133, 147, 27, 127, 133, 141, 18, 127, 143, 145, 26, 127, 154, 141, 26, 127, 164, 117, 5, 127, 175, 98, 1, 127, 181, 98, 5, 127, 181, 104, 2, 127, 187, 109, 3, 127, 189, 110, 4, 127, 189, 111, 1, 127, 191, 113, 1, 127, 195, 119, 1, 127, 201, 124, 3, 127, 205, 129, 4, 127, 207, 133, 4, 127, 209, 137, 4, 127, 215, 144, 2, 127, 219, 148, 1, 127, 224, 156, 2, 127, 226, 165, 2, 127, 229, 173, 3, 127, 234, 181, 3, 127, 238, 187, 2, 127, 242, 193, 3, 127, 248, 201, 4, 127, 247, 201, 5, 127, 241, 193, 5, 127, 221, 183, 1, 127, 189, 167, 7, 127, 154, 146, 12, 127, 124, 130, 27, 127, 117, 136, 43, 127, 103, 108, 51, 127, 41, 41, 33, 127, 35, 29, 31, 127, 22, 19, 19, 127, 10, 11, 10, 127, 6, 6, 7, 127, 7, 7, 7, 127, 3, 3, 3, 127, 7, 7, 7, 127, 8, 8, 8, 127, 9, 9, 9, 127, 9, 9, 9, 127, 5, 5, 5, 127, 6, 6, 6, 127, 10, 10, 11, 127, 7, 8, 7, 127, 14, 14, 14, 127, 47, 47, 47, 127, 61, 61, 61, 127, 13, 13, 13, 127, 21, 21, 21, 127, 24, 24, 26, 127, 27, 27, 29, 127, 31, 31, 33, 127, 27, 27, 28, 127, 29, 29, 29, 127, 27, 27, 27, 127, 26, 26, 26, 127, 27, 27, 27, 127, 24, 24, 24, 127, 29, 29, 29, 127, 26, 26, 26, 127, 23, 23, 23, 127, 23, 23, 23, 127, 28, 28, 28, 127, 27, 27, 27, 127, 29, 29, 29, 127, 28, 28, 28, 127, 27, 27, 27, 127, 25, 25, 25, 127, 20, 20, 20, 127, 11, 11, 11, 127, 12, 12, 12, 127, 13, 13, 13, 127, 13, 13, 13, 127, 14, 14, 14, 127, 14, 14, 16, 127, 17, 17, 19, 127, 14, 14, 16, 127, 14, 14, 16, 127, 22, 22, 24, 127, 19, 19, 21, 127, 20, 20, 22, 127, 25, 25, 27, 127, 26, 26, 28, 127, 24, 24, 26, 127, 22, 22, 24, 127, 28, 28, 30, 127, 35, 35, 37, 127, 39, 39, 41, 127, 39, 39, 41, 127, 41, 41, 43, 127, 45, 45, 47, 127, 43, 43, 45, 127, 33, 33, 35, 127, 31, 31, 33, 127, 33, 33, 35, 127, 28, 28, 29, 127, 19, 19, 19, 127, 26, 26, 26, 127, 20, 20, 20, 127, 17, 17, 17, 127, 18, 18, 18, 127, 12, 12, 12, 127, 11, 11, 11, 127, 14, 14, 14, 127, 16, 16, 16, 127, 27, 27, 27, 127, 20, 20, 20, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 20, 20, 20, 127, 11, 11, 11, 127, 14, 14, 14, 127, 16, 16, 16, 127, 15, 15, 15, 127, 17, 17, 17, 127, 16, 16, 16, 127, 8, 8, 8, 127, 15, 15, 15, 127, 9, 9, 9, 127, 8, 8, 8, 127, 8, 8, 8, 127, 7, 7, 7, 127, 8, 8, 8, 127, 11, 11, 11, 127, 9, 9, 9, 127, 10, 10, 10, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 6, 6, 6, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 3, 3, 3, 127, 1, 1, 1, 127, 2, 2, 2, 127, \ +92, 145, 31, 127, 92, 144, 37, 127, 95, 146, 45, 127, 101, 152, 49, 127, 107, 158, 55, 127, 109, 161, 53, 127, 100, 153, 47, 127, 93, 142, 30, 127, 103, 149, 41, 127, 117, 145, 43, 127, 138, 114, 15, 127, 155, 91, 2, 127, 158, 85, 1, 127, 156, 87, 1, 127, 160, 87, 2, 127, 161, 85, 1, 127, 160, 84, 0, 127, 162, 86, 2, 127, 162, 86, 1, 127, 164, 88, 2, 127, 168, 91, 3, 127, 171, 93, 1, 127, 174, 96, 1, 127, 177, 101, 2, 127, 181, 104, 3, 127, 185, 109, 4, 127, 189, 119, 3, 127, 197, 128, 2, 127, 203, 137, 1, 127, 209, 145, 1, 127, 213, 153, 1, 127, 219, 161, 3, 127, 215, 155, 4, 127, 207, 141, 4, 127, 177, 133, 6, 127, 125, 127, 21, 127, 84, 125, 33, 127, 68, 120, 33, 127, 88, 123, 47, 127, 75, 76, 39, 127, 37, 33, 35, 127, 31, 27, 31, 127, 28, 27, 27, 127, 13, 14, 13, 127, 9, 8, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 8, 8, 8, 127, 11, 11, 11, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 7, 7, 127, 6, 6, 7, 127, 8, 8, 8, 127, 18, 18, 18, 127, 51, 51, 51, 127, 53, 53, 53, 127, 20, 20, 20, 127, 26, 26, 27, 127, 23, 23, 25, 127, 23, 23, 25, 127, 28, 28, 30, 127, 25, 25, 27, 127, 28, 28, 28, 127, 26, 26, 26, 127, 23, 23, 23, 127, 30, 30, 30, 127, 26, 26, 26, 127, 23, 23, 23, 127, 29, 29, 29, 127, 30, 30, 30, 127, 25, 25, 25, 127, 23, 23, 23, 127, 24, 24, 24, 127, 22, 22, 22, 127, 16, 16, 16, 127, 7, 7, 7, 127, 4, 4, 4, 127, 8, 8, 8, 127, 11, 11, 11, 127, 14, 14, 14, 127, 16, 16, 16, 127, 19, 19, 19, 127, 14, 14, 13, 127, 12, 12, 13, 127, 9, 9, 11, 127, 15, 15, 17, 127, 23, 23, 25, 127, 23, 23, 25, 127, 13, 13, 15, 127, 30, 30, 31, 127, 22, 22, 24, 127, 29, 29, 31, 127, 29, 29, 31, 127, 26, 26, 28, 127, 30, 30, 31, 127, 35, 35, 37, 127, 43, 43, 45, 127, 33, 33, 35, 127, 39, 39, 41, 127, 47, 47, 49, 127, 41, 41, 43, 127, 33, 33, 37, 127, 39, 39, 41, 127, 45, 45, 47, 127, 35, 35, 37, 127, 29, 29, 29, 127, 28, 28, 28, 127, 27, 27, 27, 127, 23, 23, 23, 127, 20, 20, 20, 127, 19, 19, 19, 127, 13, 13, 13, 127, 17, 17, 17, 127, 19, 19, 19, 127, 33, 33, 33, 127, 27, 27, 27, 127, 12, 12, 12, 127, 12, 12, 12, 127, 21, 21, 21, 127, 20, 20, 20, 127, 17, 17, 17, 127, 14, 14, 14, 127, 13, 13, 13, 127, 17, 17, 17, 127, 20, 20, 20, 127, 18, 18, 18, 127, 12, 12, 12, 127, 8, 8, 8, 127, 11, 11, 11, 127, 10, 10, 10, 127, 7, 7, 7, 127, 8, 8, 8, 127, 7, 7, 7, 127, 10, 10, 10, 127, 6, 6, 6, 127, 7, 7, 7, 127, 9, 9, 9, 127, 8, 8, 8, 127, 8, 8, 8, 127, 8, 8, 8, 127, 8, 8, 8, 127, 6, 6, 6, 127, 5, 5, 5, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 1, 1, 1, 127, 2, 2, 2, 127, \ +97, 146, 35, 127, 104, 148, 39, 127, 112, 155, 51, 127, 111, 155, 51, 127, 111, 158, 53, 127, 108, 158, 53, 127, 98, 150, 45, 127, 92, 140, 29, 127, 97, 144, 37, 127, 110, 143, 39, 127, 139, 125, 17, 127, 162, 108, 4, 127, 170, 101, 1, 127, 170, 102, 2, 127, 172, 101, 2, 127, 171, 99, 2, 127, 166, 96, 2, 127, 165, 95, 2, 127, 164, 94, 2, 127, 163, 93, 1, 127, 164, 93, 4, 127, 165, 91, 1, 127, 167, 92, 2, 127, 168, 93, 1, 127, 168, 95, 2, 127, 167, 93, 1, 127, 169, 94, 1, 127, 173, 97, 1, 127, 175, 101, 1, 127, 177, 106, 2, 127, 181, 112, 1, 127, 189, 121, 3, 127, 189, 127, 4, 127, 193, 132, 8, 127, 168, 129, 14, 127, 107, 121, 25, 127, 74, 120, 31, 127, 68, 118, 29, 127, 82, 115, 37, 127, 61, 66, 33, 127, 31, 33, 33, 127, 31, 31, 35, 127, 28, 27, 30, 127, 16, 16, 15, 127, 11, 11, 11, 127, 12, 12, 12, 127, 10, 10, 10, 127, 9, 9, 9, 127, 7, 7, 7, 127, 5, 5, 5, 127, 4, 4, 4, 127, 6, 6, 6, 127, 4, 4, 4, 127, 3, 3, 3, 127, 7, 7, 7, 127, 15, 15, 15, 127, 20, 20, 20, 127, 20, 20, 20, 127, 20, 20, 20, 127, 26, 26, 27, 127, 23, 23, 25, 127, 30, 30, 31, 127, 31, 31, 33, 127, 27, 27, 29, 127, 30, 30, 30, 127, 29, 29, 28, 127, 33, 33, 33, 127, 31, 31, 31, 127, 26, 26, 26, 127, 25, 25, 25, 127, 28, 28, 28, 127, 28, 28, 28, 127, 31, 31, 31, 127, 29, 29, 29, 127, 26, 26, 26, 127, 19, 19, 19, 127, 16, 16, 16, 127, 13, 13, 13, 127, 14, 14, 14, 127, 15, 15, 15, 127, 13, 13, 13, 127, 15, 15, 15, 127, 13, 13, 13, 127, 14, 14, 12, 127, 9, 9, 9, 127, 13, 13, 14, 127, 21, 21, 23, 127, 18, 18, 20, 127, 22, 22, 24, 127, 18, 18, 20, 127, 22, 22, 24, 127, 31, 31, 33, 127, 24, 24, 26, 127, 31, 31, 33, 127, 37, 37, 39, 127, 31, 31, 33, 127, 33, 33, 35, 127, 37, 37, 39, 127, 37, 37, 39, 127, 33, 33, 35, 127, 43, 43, 45, 127, 43, 43, 45, 127, 41, 41, 43, 127, 39, 39, 41, 127, 49, 47, 51, 127, 49, 49, 51, 127, 41, 41, 43, 127, 35, 35, 35, 127, 27, 27, 27, 127, 33, 33, 33, 127, 30, 30, 30, 127, 26, 26, 26, 127, 23, 23, 23, 127, 20, 20, 20, 127, 14, 14, 14, 127, 30, 30, 30, 127, 29, 29, 29, 127, 28, 28, 28, 127, 21, 21, 21, 127, 22, 22, 22, 127, 24, 24, 24, 127, 17, 17, 17, 127, 11, 11, 11, 127, 16, 16, 16, 127, 10, 10, 10, 127, 8, 8, 8, 127, 13, 13, 13, 127, 14, 14, 14, 127, 12, 12, 12, 127, 10, 10, 10, 127, 10, 10, 10, 127, 14, 14, 14, 127, 8, 8, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 6, 6, 6, 127, 12, 12, 12, 127, 11, 11, 11, 127, 9, 9, 9, 127, 10, 10, 10, 127, 11, 11, 11, 127, 10, 10, 10, 127, 6, 6, 6, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 2, 2, 2, 127, 2, 2, 2, 127, \ +108, 154, 39, 127, 108, 156, 39, 127, 107, 156, 45, 127, 108, 156, 49, 127, 109, 157, 53, 127, 105, 153, 49, 127, 101, 150, 47, 127, 95, 142, 33, 127, 92, 137, 30, 127, 106, 140, 33, 127, 142, 132, 19, 127, 171, 121, 7, 127, 181, 116, 2, 127, 183, 118, 4, 127, 185, 119, 3, 127, 183, 119, 2, 127, 179, 115, 4, 127, 174, 110, 1, 127, 172, 109, 1, 127, 172, 108, 3, 127, 173, 109, 4, 127, 175, 108, 1, 127, 177, 108, 1, 127, 179, 110, 1, 127, 179, 112, 2, 127, 181, 112, 2, 127, 179, 109, 1, 127, 181, 110, 1, 127, 181, 113, 1, 127, 183, 117, 2, 127, 187, 123, 1, 127, 197, 133, 4, 127, 207, 145, 5, 127, 203, 151, 7, 127, 167, 138, 13, 127, 97, 117, 21, 127, 68, 108, 25, 127, 69, 106, 27, 127, 72, 105, 35, 127, 59, 61, 45, 127, 33, 33, 33, 127, 33, 29, 33, 127, 31, 28, 33, 127, 21, 21, 22, 127, 12, 11, 12, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 9, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 12, 12, 12, 127, 12, 12, 12, 127, 14, 14, 14, 127, 24, 24, 25, 127, 26, 26, 28, 127, 26, 26, 28, 127, 25, 25, 27, 127, 25, 25, 28, 127, 26, 26, 28, 127, 30, 30, 30, 127, 31, 31, 30, 127, 30, 30, 29, 127, 28, 28, 28, 127, 29, 29, 29, 127, 29, 29, 29, 127, 29, 29, 29, 127, 31, 31, 31, 127, 30, 30, 30, 127, 27, 27, 27, 127, 27, 27, 27, 127, 21, 21, 21, 127, 20, 20, 20, 127, 16, 16, 16, 127, 17, 17, 17, 127, 16, 16, 16, 127, 15, 15, 15, 127, 14, 14, 14, 127, 14, 14, 14, 127, 14, 14, 14, 127, 15, 15, 15, 127, 23, 23, 24, 127, 22, 22, 24, 127, 21, 21, 23, 127, 22, 22, 24, 127, 20, 20, 22, 127, 31, 31, 33, 127, 26, 26, 28, 127, 31, 31, 33, 127, 33, 33, 35, 127, 39, 39, 41, 127, 35, 35, 37, 127, 33, 33, 35, 127, 33, 33, 35, 127, 37, 37, 39, 127, 39, 39, 41, 127, 43, 43, 45, 127, 43, 43, 45, 127, 43, 43, 45, 127, 45, 45, 47, 127, 41, 41, 43, 127, 45, 45, 47, 127, 41, 41, 41, 127, 37, 37, 37, 127, 24, 24, 24, 127, 29, 29, 29, 127, 30, 30, 30, 127, 29, 29, 29, 127, 29, 29, 29, 127, 25, 25, 25, 127, 21, 21, 21, 127, 35, 35, 35, 127, 30, 30, 30, 127, 35, 35, 35, 127, 24, 24, 24, 127, 22, 22, 22, 127, 18, 18, 18, 127, 19, 19, 19, 127, 16, 16, 16, 127, 23, 23, 23, 127, 15, 15, 15, 127, 4, 4, 4, 127, 7, 7, 7, 127, 12, 12, 12, 127, 13, 13, 13, 127, 14, 14, 14, 127, 10, 10, 10, 127, 15, 15, 15, 127, 9, 9, 9, 127, 9, 9, 9, 127, 7, 7, 7, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 12, 12, 12, 127, 10, 10, 10, 127, 9, 9, 9, 127, 13, 13, 13, 127, 15, 15, 15, 127, 9, 9, 9, 127, 3, 3, 3, 127, 4, 4, 4, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, \ +114, 160, 51, 127, 103, 152, 37, 127, 103, 151, 39, 127, 108, 152, 45, 127, 110, 153, 51, 127, 108, 150, 49, 127, 104, 149, 47, 127, 99, 144, 37, 127, 92, 135, 31, 127, 100, 132, 31, 127, 140, 132, 22, 127, 177, 130, 10, 127, 187, 129, 2, 127, 191, 132, 3, 127, 193, 136, 3, 127, 193, 136, 2, 127, 189, 131, 2, 127, 185, 125, 1, 127, 185, 123, 1, 127, 185, 123, 2, 127, 185, 124, 2, 127, 187, 124, 1, 127, 187, 122, 2, 127, 189, 128, 3, 127, 193, 132, 3, 127, 195, 133, 3, 127, 193, 129, 2, 127, 193, 130, 3, 127, 195, 136, 2, 127, 199, 142, 1, 127, 205, 150, 2, 127, 213, 159, 5, 127, 219, 167, 4, 127, 213, 165, 3, 127, 170, 138, 11, 127, 85, 108, 19, 127, 59, 99, 25, 127, 67, 100, 27, 127, 72, 104, 35, 127, 53, 55, 41, 127, 37, 33, 33, 127, 33, 33, 33, 127, 28, 30, 31, 127, 23, 23, 22, 127, 15, 14, 13, 127, 12, 12, 12, 127, 8, 8, 8, 127, 8, 8, 8, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 8, 8, 8, 127, 4, 4, 4, 127, 4, 4, 4, 127, 7, 7, 7, 127, 10, 10, 10, 127, 14, 14, 14, 127, 16, 16, 16, 127, 27, 27, 28, 127, 27, 27, 29, 127, 25, 25, 27, 127, 23, 23, 24, 127, 25, 25, 27, 127, 30, 30, 31, 127, 29, 29, 29, 127, 22, 22, 22, 127, 17, 17, 17, 127, 16, 16, 16, 127, 22, 22, 22, 127, 28, 28, 28, 127, 28, 28, 28, 127, 25, 25, 25, 127, 18, 18, 18, 127, 19, 19, 19, 127, 19, 19, 19, 127, 19, 19, 19, 127, 22, 22, 22, 127, 21, 21, 21, 127, 17, 17, 17, 127, 14, 14, 15, 127, 11, 11, 11, 127, 10, 10, 10, 127, 11, 11, 11, 127, 13, 13, 13, 127, 22, 22, 23, 127, 23, 23, 25, 127, 25, 25, 27, 127, 21, 21, 23, 127, 25, 25, 27, 127, 26, 26, 28, 127, 29, 29, 31, 127, 33, 33, 35, 127, 33, 33, 35, 127, 33, 33, 35, 127, 37, 37, 39, 127, 35, 35, 37, 127, 35, 35, 37, 127, 37, 37, 39, 127, 41, 41, 43, 127, 45, 45, 47, 127, 45, 45, 47, 127, 45, 45, 47, 127, 45, 45, 47, 127, 49, 49, 51, 127, 43, 43, 45, 127, 45, 43, 47, 127, 41, 41, 43, 127, 35, 35, 35, 127, 25, 25, 25, 127, 27, 27, 27, 127, 31, 31, 31, 127, 28, 28, 28, 127, 35, 35, 35, 127, 31, 31, 31, 127, 27, 27, 27, 127, 35, 35, 35, 127, 37, 37, 37, 127, 35, 35, 35, 127, 25, 25, 25, 127, 23, 23, 23, 127, 22, 22, 22, 127, 18, 18, 18, 127, 17, 17, 17, 127, 22, 22, 22, 127, 25, 25, 25, 127, 13, 13, 13, 127, 7, 7, 7, 127, 9, 9, 9, 127, 13, 13, 13, 127, 10, 10, 10, 127, 11, 11, 11, 127, 13, 13, 13, 127, 10, 10, 10, 127, 11, 11, 11, 127, 9, 9, 9, 127, 11, 11, 11, 127, 11, 11, 11, 127, 12, 12, 12, 127, 11, 11, 11, 127, 12, 12, 12, 127, 16, 16, 16, 127, 10, 10, 10, 127, 10, 10, 10, 127, 16, 16, 16, 127, 15, 15, 15, 127, 4, 4, 4, 127, 3, 3, 3, 127, 2, 2, 2, 127, 1, 1, 1, 127, 1, 1, 1, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 0, 0, 0, 127, 1, 1, 1, 127, 1, 1, 1, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, \ +114, 159, 57, 127, 99, 147, 41, 127, 103, 149, 41, 127, 106, 147, 43, 127, 105, 143, 43, 127, 105, 142, 43, 127, 96, 140, 41, 127, 91, 138, 35, 127, 91, 134, 37, 127, 90, 124, 29, 127, 134, 129, 19, 127, 181, 135, 10, 127, 193, 137, 1, 127, 201, 140, 2, 127, 203, 147, 3, 127, 203, 148, 4, 127, 201, 143, 2, 127, 195, 137, 1, 127, 195, 135, 3, 127, 193, 132, 3, 127, 191, 133, 3, 127, 197, 136, 4, 127, 193, 134, 3, 127, 197, 139, 4, 127, 205, 146, 4, 127, 207, 150, 3, 127, 203, 146, 2, 127, 201, 143, 2, 127, 207, 151, 4, 127, 213, 160, 2, 127, 219, 168, 3, 127, 223, 175, 9, 127, 228, 181, 7, 127, 223, 173, 5, 127, 166, 141, 8, 127, 79, 100, 11, 127, 53, 89, 23, 127, 61, 91, 28, 127, 70, 91, 39, 127, 47, 49, 39, 127, 37, 39, 37, 127, 30, 28, 31, 127, 25, 24, 24, 127, 21, 21, 20, 127, 21, 21, 21, 127, 15, 15, 15, 127, 10, 10, 10, 127, 10, 10, 10, 127, 5, 5, 5, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 6, 6, 6, 127, 11, 11, 11, 127, 12, 12, 12, 127, 16, 16, 16, 127, 21, 21, 21, 127, 24, 24, 24, 127, 27, 27, 27, 127, 26, 26, 25, 127, 25, 25, 25, 127, 24, 24, 24, 127, 17, 17, 17, 127, 15, 15, 15, 127, 17, 17, 17, 127, 20, 20, 20, 127, 27, 27, 27, 127, 26, 26, 26, 127, 22, 22, 22, 127, 18, 18, 18, 127, 13, 13, 13, 127, 14, 14, 14, 127, 13, 13, 14, 127, 12, 12, 13, 127, 15, 15, 16, 127, 18, 18, 19, 127, 15, 15, 16, 127, 15, 15, 16, 127, 10, 10, 12, 127, 13, 13, 14, 127, 16, 16, 17, 127, 25, 25, 26, 127, 24, 24, 26, 127, 24, 24, 26, 127, 21, 21, 23, 127, 28, 28, 30, 127, 31, 31, 33, 127, 31, 31, 33, 127, 33, 33, 35, 127, 35, 35, 37, 127, 30, 30, 31, 127, 37, 37, 39, 127, 37, 37, 39, 127, 41, 41, 43, 127, 39, 39, 41, 127, 41, 41, 43, 127, 41, 41, 43, 127, 45, 45, 47, 127, 47, 47, 49, 127, 49, 49, 51, 127, 47, 47, 51, 127, 49, 47, 53, 127, 45, 45, 49, 127, 41, 39, 45, 127, 43, 43, 45, 127, 37, 37, 39, 127, 33, 33, 35, 127, 28, 28, 29, 127, 30, 30, 31, 127, 30, 30, 31, 127, 39, 39, 41, 127, 31, 31, 33, 127, 26, 26, 28, 127, 33, 33, 35, 127, 37, 37, 39, 127, 33, 33, 35, 127, 26, 26, 26, 127, 26, 26, 26, 127, 24, 24, 24, 127, 15, 15, 15, 127, 12, 12, 12, 127, 24, 24, 24, 127, 23, 23, 23, 127, 23, 23, 23, 127, 10, 10, 10, 127, 12, 12, 12, 127, 13, 13, 13, 127, 9, 9, 9, 127, 8, 8, 8, 127, 12, 12, 12, 127, 12, 12, 12, 127, 10, 10, 10, 127, 11, 11, 11, 127, 13, 13, 13, 127, 10, 10, 10, 127, 11, 11, 11, 127, 13, 13, 13, 127, 10, 10, 10, 127, 13, 13, 13, 127, 20, 20, 20, 127, 10, 10, 10, 127, 12, 12, 12, 127, 19, 19, 19, 127, 11, 11, 11, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 1, 1, 1, 127, 1, 1, 1, 127, 2, 2, 2, 127, 1, 1, 1, 127, 1, 1, 1, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, \ +106, 152, 51, 127, 98, 145, 39, 127, 99, 145, 39, 127, 95, 138, 35, 127, 94, 132, 35, 127, 100, 135, 33, 127, 93, 132, 31, 127, 89, 131, 33, 127, 89, 126, 33, 127, 81, 109, 23, 127, 125, 124, 17, 127, 179, 140, 9, 127, 195, 145, 1, 127, 205, 149, 2, 127, 207, 156, 2, 127, 209, 158, 4, 127, 207, 153, 2, 127, 201, 144, 1, 127, 197, 139, 5, 127, 189, 125, 4, 127, 187, 126, 6, 127, 197, 138, 4, 127, 199, 142, 6, 127, 203, 148, 5, 127, 211, 156, 4, 127, 217, 162, 5, 127, 213, 159, 5, 127, 209, 154, 4, 127, 215, 161, 6, 127, 221, 170, 5, 127, 225, 177, 5, 127, 231, 185, 11, 127, 236, 187, 4, 127, 229, 179, 4, 127, 165, 142, 8, 127, 77, 96, 7, 127, 51, 84, 19, 127, 51, 80, 17, 127, 59, 72, 37, 127, 41, 43, 41, 127, 31, 33, 33, 127, 31, 28, 30, 127, 29, 26, 27, 127, 27, 26, 26, 127, 25, 25, 25, 127, 21, 21, 21, 127, 16, 16, 16, 127, 8, 8, 8, 127, 9, 9, 9, 127, 9, 9, 9, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 4, 4, 4, 127, 10, 10, 10, 127, 9, 9, 9, 127, 13, 13, 13, 127, 18, 18, 18, 127, 21, 21, 21, 127, 29, 29, 29, 127, 30, 30, 30, 127, 30, 30, 30, 127, 25, 25, 25, 127, 22, 22, 22, 127, 20, 20, 20, 127, 19, 19, 19, 127, 18, 18, 18, 127, 23, 23, 23, 127, 25, 25, 25, 127, 19, 19, 19, 127, 20, 20, 20, 127, 18, 18, 18, 127, 12, 12, 12, 127, 10, 10, 10, 127, 9, 9, 9, 127, 6, 6, 8, 127, 10, 10, 12, 127, 18, 18, 20, 127, 18, 18, 20, 127, 14, 14, 16, 127, 18, 18, 20, 127, 25, 25, 27, 127, 28, 28, 30, 127, 24, 24, 26, 127, 25, 25, 27, 127, 25, 25, 27, 127, 30, 30, 31, 127, 35, 35, 37, 127, 33, 33, 35, 127, 37, 37, 39, 127, 33, 33, 35, 127, 35, 35, 37, 127, 33, 33, 35, 127, 39, 39, 41, 127, 41, 41, 43, 127, 43, 43, 45, 127, 41, 41, 43, 127, 39, 39, 41, 127, 41, 41, 43, 127, 43, 43, 45, 127, 47, 47, 49, 127, 47, 47, 49, 127, 47, 45, 51, 127, 51, 49, 55, 127, 53, 51, 57, 127, 45, 43, 49, 127, 43, 43, 47, 127, 39, 39, 41, 127, 35, 35, 37, 127, 30, 30, 31, 127, 31, 31, 33, 127, 29, 29, 31, 127, 39, 39, 41, 127, 29, 29, 31, 127, 30, 30, 31, 127, 35, 35, 37, 127, 39, 39, 41, 127, 31, 31, 31, 127, 28, 28, 28, 127, 24, 24, 24, 127, 20, 20, 20, 127, 17, 17, 17, 127, 10, 10, 10, 127, 17, 17, 17, 127, 21, 21, 21, 127, 24, 24, 24, 127, 17, 17, 17, 127, 10, 10, 10, 127, 13, 13, 13, 127, 14, 14, 14, 127, 8, 8, 8, 127, 9, 9, 9, 127, 13, 13, 13, 127, 9, 9, 9, 127, 8, 8, 8, 127, 13, 13, 13, 127, 11, 11, 11, 127, 10, 10, 10, 127, 11, 11, 11, 127, 14, 14, 14, 127, 12, 12, 12, 127, 18, 18, 18, 127, 17, 17, 17, 127, 10, 10, 10, 127, 14, 14, 14, 127, 17, 17, 17, 127, 5, 5, 5, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 2, 2, 2, 127, 2, 2, 2, 127, \ +94, 142, 39, 127, 87, 138, 31, 127, 82, 132, 27, 127, 78, 123, 20, 127, 77, 118, 18, 127, 84, 125, 21, 127, 82, 125, 24, 127, 80, 123, 27, 127, 75, 114, 24, 127, 70, 102, 18, 127, 122, 125, 20, 127, 179, 143, 12, 127, 195, 149, 2, 127, 207, 155, 2, 127, 213, 162, 1, 127, 215, 165, 3, 127, 213, 163, 4, 127, 207, 153, 2, 127, 201, 143, 5, 127, 183, 119, 2, 127, 177, 111, 3, 127, 193, 136, 3, 127, 203, 147, 4, 127, 209, 154, 2, 127, 217, 164, 2, 127, 223, 171, 2, 127, 221, 168, 3, 127, 215, 162, 3, 127, 219, 168, 5, 127, 226, 177, 5, 127, 231, 185, 5, 127, 236, 191, 8, 127, 240, 193, 2, 127, 231, 183, 7, 127, 164, 142, 10, 127, 75, 95, 6, 127, 53, 86, 17, 127, 55, 82, 21, 127, 55, 63, 41, 127, 31, 31, 35, 127, 33, 33, 35, 127, 30, 29, 30, 127, 31, 29, 29, 127, 26, 26, 26, 127, 33, 33, 33, 127, 23, 23, 23, 127, 15, 15, 15, 127, 13, 13, 13, 127, 12, 12, 12, 127, 10, 10, 10, 127, 6, 6, 6, 127, 5, 5, 5, 127, 8, 8, 8, 127, 8, 8, 8, 127, 7, 7, 7, 127, 9, 9, 9, 127, 9, 9, 9, 127, 12, 12, 12, 127, 17, 17, 17, 127, 25, 25, 25, 127, 29, 29, 29, 127, 25, 25, 25, 127, 20, 20, 20, 127, 19, 19, 19, 127, 20, 20, 20, 127, 19, 19, 19, 127, 20, 20, 20, 127, 21, 21, 21, 127, 20, 20, 20, 127, 24, 24, 24, 127, 17, 17, 17, 127, 12, 12, 12, 127, 9, 9, 9, 127, 9, 9, 9, 127, 12, 12, 13, 127, 14, 14, 16, 127, 17, 17, 19, 127, 17, 17, 19, 127, 17, 17, 19, 127, 25, 25, 27, 127, 28, 28, 30, 127, 28, 28, 30, 127, 18, 18, 20, 127, 28, 28, 30, 127, 33, 33, 35, 127, 31, 31, 33, 127, 33, 33, 35, 127, 35, 35, 37, 127, 37, 37, 39, 127, 39, 39, 41, 127, 37, 37, 39, 127, 35, 35, 37, 127, 41, 41, 43, 127, 37, 37, 39, 127, 41, 41, 43, 127, 43, 43, 45, 127, 43, 43, 45, 127, 39, 39, 41, 127, 45, 45, 47, 127, 45, 45, 47, 127, 49, 49, 51, 127, 49, 49, 53, 127, 47, 45, 51, 127, 49, 47, 53, 127, 55, 55, 59, 127, 49, 47, 53, 127, 45, 43, 47, 127, 43, 43, 45, 127, 33, 33, 37, 127, 31, 31, 33, 127, 35, 35, 37, 127, 31, 31, 33, 127, 37, 37, 39, 127, 30, 30, 31, 127, 31, 31, 33, 127, 39, 39, 41, 127, 37, 37, 39, 127, 29, 29, 30, 127, 31, 31, 31, 127, 23, 23, 23, 127, 20, 20, 20, 127, 23, 23, 23, 127, 20, 20, 20, 127, 14, 14, 14, 127, 21, 21, 21, 127, 17, 17, 17, 127, 21, 21, 21, 127, 9, 9, 9, 127, 11, 11, 11, 127, 16, 16, 16, 127, 12, 12, 12, 127, 9, 9, 9, 127, 10, 10, 10, 127, 8, 8, 8, 127, 6, 6, 6, 127, 9, 9, 9, 127, 11, 11, 11, 127, 9, 9, 9, 127, 10, 10, 10, 127, 14, 14, 14, 127, 16, 16, 16, 127, 17, 17, 17, 127, 19, 19, 19, 127, 14, 14, 14, 127, 15, 15, 15, 127, 20, 20, 20, 127, 9, 9, 9, 127, 2, 2, 2, 127, 0, 0, 0, 127, 2, 2, 2, 127, 1, 1, 1, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 2, 2, 2, 127, 2, 2, 2, 127, \ +80, 131, 26, 127, 74, 129, 23, 127, 73, 128, 24, 127, 72, 122, 18, 127, 72, 118, 13, 127, 76, 123, 18, 127, 78, 125, 23, 127, 73, 120, 22, 127, 67, 111, 19, 127, 64, 103, 15, 127, 110, 120, 15, 127, 174, 142, 14, 127, 193, 151, 5, 127, 205, 156, 5, 127, 215, 165, 3, 127, 219, 169, 7, 127, 217, 168, 7, 127, 209, 158, 1, 127, 205, 147, 3, 127, 189, 123, 4, 127, 175, 106, 3, 127, 193, 135, 5, 127, 203, 151, 4, 127, 213, 161, 3, 127, 221, 170, 3, 127, 227, 179, 1, 127, 227, 177, 2, 127, 219, 169, 1, 127, 219, 171, 2, 127, 226, 181, 2, 127, 232, 191, 1, 127, 237, 195, 3, 127, 241, 195, 1, 127, 226, 183, 8, 127, 158, 142, 13, 127, 77, 103, 14, 127, 57, 92, 20, 127, 63, 83, 33, 127, 47, 49, 43, 127, 31, 30, 33, 127, 31, 31, 37, 127, 31, 30, 33, 127, 29, 28, 28, 127, 33, 33, 31, 127, 35, 35, 35, 127, 26, 26, 26, 127, 16, 16, 16, 127, 17, 17, 17, 127, 12, 12, 12, 127, 11, 11, 11, 127, 9, 9, 9, 127, 6, 6, 6, 127, 5, 5, 5, 127, 8, 8, 8, 127, 6, 6, 6, 127, 6, 6, 6, 127, 14, 14, 14, 127, 14, 14, 14, 127, 14, 14, 14, 127, 23, 23, 23, 127, 22, 22, 22, 127, 17, 17, 17, 127, 14, 14, 14, 127, 8, 8, 8, 127, 12, 12, 12, 127, 13, 13, 13, 127, 11, 11, 11, 127, 17, 17, 17, 127, 18, 18, 18, 127, 20, 20, 20, 127, 18, 18, 18, 127, 13, 13, 13, 127, 13, 13, 13, 127, 16, 16, 16, 127, 18, 18, 19, 127, 21, 21, 23, 127, 15, 15, 17, 127, 22, 22, 24, 127, 26, 26, 28, 127, 29, 29, 31, 127, 24, 24, 26, 127, 17, 17, 19, 127, 29, 29, 31, 127, 31, 31, 33, 127, 28, 28, 30, 127, 33, 33, 35, 127, 33, 33, 35, 127, 41, 41, 43, 127, 39, 39, 41, 127, 41, 41, 43, 127, 43, 43, 45, 127, 41, 41, 43, 127, 43, 43, 45, 127, 43, 43, 45, 127, 45, 45, 47, 127, 43, 43, 45, 127, 39, 39, 41, 127, 43, 43, 45, 127, 47, 47, 49, 127, 43, 43, 45, 127, 47, 47, 49, 127, 51, 49, 53, 127, 47, 45, 51, 127, 45, 45, 49, 127, 49, 47, 53, 127, 47, 47, 51, 127, 47, 47, 51, 127, 41, 41, 43, 127, 35, 35, 39, 127, 37, 37, 39, 127, 39, 39, 41, 127, 33, 33, 35, 127, 35, 35, 37, 127, 35, 35, 37, 127, 29, 29, 31, 127, 37, 37, 39, 127, 39, 39, 41, 127, 24, 24, 25, 127, 33, 33, 33, 127, 23, 23, 23, 127, 22, 22, 22, 127, 27, 27, 27, 127, 24, 24, 24, 127, 18, 18, 18, 127, 18, 18, 18, 127, 11, 11, 11, 127, 22, 22, 22, 127, 16, 16, 16, 127, 9, 9, 9, 127, 13, 13, 13, 127, 16, 16, 16, 127, 9, 9, 9, 127, 8, 8, 8, 127, 10, 10, 10, 127, 8, 8, 8, 127, 8, 8, 8, 127, 12, 12, 12, 127, 12, 12, 12, 127, 10, 10, 10, 127, 10, 10, 10, 127, 11, 11, 11, 127, 17, 17, 17, 127, 20, 20, 20, 127, 18, 18, 18, 127, 17, 17, 17, 127, 15, 15, 15, 127, 13, 13, 13, 127, 5, 5, 5, 127, 3, 3, 3, 127, 2, 2, 2, 127, 1, 1, 1, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, \ +69, 124, 16, 127, 67, 123, 18, 127, 73, 129, 26, 127, 74, 126, 20, 127, 81, 129, 21, 127, 85, 132, 28, 127, 87, 132, 29, 127, 87, 130, 31, 127, 81, 123, 26, 127, 77, 117, 22, 127, 102, 120, 15, 127, 161, 141, 14, 127, 181, 149, 7, 127, 195, 155, 9, 127, 207, 167, 12, 127, 217, 174, 19, 127, 219, 172, 18, 127, 213, 162, 3, 127, 209, 153, 3, 127, 193, 128, 2, 127, 179, 109, 2, 127, 191, 134, 8, 127, 205, 153, 7, 127, 215, 167, 6, 127, 221, 174, 6, 127, 229, 183, 4, 127, 232, 185, 6, 127, 221, 175, 4, 127, 219, 172, 3, 127, 225, 181, 3, 127, 232, 193, 2, 127, 238, 199, 4, 127, 239, 199, 7, 127, 221, 183, 14, 127, 153, 143, 18, 127, 80, 110, 22, 127, 64, 102, 29, 127, 61, 77, 43, 127, 43, 39, 41, 127, 31, 29, 24, 127, 37, 35, 45, 127, 26, 24, 31, 127, 28, 27, 29, 127, 33, 33, 31, 127, 29, 29, 29, 127, 23, 23, 23, 127, 17, 17, 17, 127, 11, 11, 11, 127, 9, 9, 9, 127, 11, 11, 11, 127, 10, 10, 10, 127, 5, 5, 5, 127, 7, 7, 7, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 7, 7, 7, 127, 12, 12, 12, 127, 17, 17, 17, 127, 24, 24, 24, 127, 21, 21, 21, 127, 15, 15, 15, 127, 10, 10, 10, 127, 5, 5, 5, 127, 7, 7, 7, 127, 11, 11, 11, 127, 20, 20, 20, 127, 27, 27, 27, 127, 22, 22, 22, 127, 20, 20, 20, 127, 18, 18, 18, 127, 17, 17, 17, 127, 19, 19, 19, 127, 20, 20, 20, 127, 21, 21, 21, 127, 19, 19, 21, 127, 23, 23, 25, 127, 22, 22, 24, 127, 22, 22, 24, 127, 22, 22, 24, 127, 20, 20, 22, 127, 28, 28, 30, 127, 29, 29, 31, 127, 35, 35, 37, 127, 35, 35, 37, 127, 35, 35, 37, 127, 37, 37, 39, 127, 43, 43, 45, 127, 39, 39, 41, 127, 41, 41, 43, 127, 41, 41, 43, 127, 41, 41, 43, 127, 41, 41, 43, 127, 43, 43, 45, 127, 43, 43, 45, 127, 39, 39, 41, 127, 39, 39, 41, 127, 41, 41, 43, 127, 41, 41, 43, 127, 39, 39, 41, 127, 43, 43, 45, 127, 47, 45, 49, 127, 43, 41, 47, 127, 41, 41, 45, 127, 47, 45, 51, 127, 43, 43, 47, 127, 47, 47, 51, 127, 35, 35, 37, 127, 35, 35, 39, 127, 37, 37, 39, 127, 41, 41, 43, 127, 39, 39, 41, 127, 31, 31, 33, 127, 39, 39, 41, 127, 29, 29, 31, 127, 37, 37, 39, 127, 35, 35, 37, 127, 24, 24, 25, 127, 28, 28, 28, 127, 18, 18, 18, 127, 20, 20, 20, 127, 22, 22, 22, 127, 24, 24, 24, 127, 21, 21, 21, 127, 21, 21, 21, 127, 12, 12, 12, 127, 17, 17, 17, 127, 19, 19, 19, 127, 12, 12, 12, 127, 11, 11, 11, 127, 14, 14, 14, 127, 13, 13, 13, 127, 9, 9, 9, 127, 11, 11, 11, 127, 8, 8, 8, 127, 7, 7, 7, 127, 10, 10, 10, 127, 15, 15, 15, 127, 12, 12, 12, 127, 11, 11, 11, 127, 12, 12, 12, 127, 13, 13, 13, 127, 11, 11, 11, 127, 16, 16, 16, 127, 22, 22, 22, 127, 20, 20, 20, 127, 13, 13, 13, 127, 7, 7, 7, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 1, 1, 1, 127, 3, 3, 3, 127, 3, 3, 3, 127, \ +66, 119, 9, 127, 66, 120, 12, 127, 83, 137, 31, 127, 93, 145, 37, 127, 94, 144, 33, 127, 95, 144, 35, 127, 96, 143, 35, 127, 102, 145, 41, 127, 96, 139, 37, 127, 94, 139, 33, 127, 100, 133, 24, 127, 141, 142, 19, 127, 160, 146, 12, 127, 177, 150, 9, 127, 187, 162, 19, 127, 201, 170, 35, 127, 213, 172, 24, 127, 217, 163, 6, 127, 209, 155, 3, 127, 193, 133, 3, 127, 179, 114, 2, 127, 185, 136, 11, 127, 199, 156, 15, 127, 213, 169, 12, 127, 221, 175, 9, 127, 230, 187, 7, 127, 233, 191, 12, 127, 219, 177, 12, 127, 209, 170, 10, 127, 219, 177, 5, 127, 231, 189, 3, 127, 237, 199, 5, 127, 236, 197, 6, 127, 209, 181, 19, 127, 135, 145, 20, 127, 76, 120, 23, 127, 72, 111, 39, 127, 57, 65, 45, 127, 39, 35, 35, 127, 33, 33, 27, 127, 30, 31, 35, 127, 23, 23, 27, 127, 33, 33, 35, 127, 31, 31, 31, 127, 30, 30, 30, 127, 23, 23, 23, 127, 14, 14, 14, 127, 14, 14, 14, 127, 12, 12, 12, 127, 13, 13, 13, 127, 9, 9, 9, 127, 6, 6, 6, 127, 9, 9, 9, 127, 5, 5, 5, 127, 5, 5, 5, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 9, 127, 14, 14, 14, 127, 22, 22, 22, 127, 18, 18, 18, 127, 17, 17, 17, 127, 13, 13, 13, 127, 12, 12, 12, 127, 17, 17, 17, 127, 23, 23, 23, 127, 26, 26, 26, 127, 22, 22, 22, 127, 17, 17, 17, 127, 16, 16, 16, 127, 20, 20, 20, 127, 21, 21, 21, 127, 19, 19, 19, 127, 19, 19, 19, 127, 22, 22, 23, 127, 25, 25, 27, 127, 20, 20, 22, 127, 22, 22, 24, 127, 22, 22, 24, 127, 20, 20, 22, 127, 28, 28, 30, 127, 31, 31, 33, 127, 35, 35, 37, 127, 41, 41, 43, 127, 37, 37, 39, 127, 33, 33, 35, 127, 39, 39, 41, 127, 39, 39, 41, 127, 37, 37, 39, 127, 39, 39, 41, 127, 41, 41, 43, 127, 41, 41, 43, 127, 39, 39, 41, 127, 37, 37, 39, 127, 39, 39, 41, 127, 37, 37, 39, 127, 41, 41, 43, 127, 39, 39, 41, 127, 37, 37, 39, 127, 39, 39, 41, 127, 37, 37, 39, 127, 41, 41, 43, 127, 39, 39, 41, 127, 39, 39, 41, 127, 45, 45, 47, 127, 49, 49, 53, 127, 45, 45, 47, 127, 37, 37, 39, 127, 37, 37, 39, 127, 39, 39, 41, 127, 41, 41, 43, 127, 41, 41, 43, 127, 29, 29, 31, 127, 43, 43, 45, 127, 33, 33, 35, 127, 33, 33, 35, 127, 30, 30, 31, 127, 25, 25, 26, 127, 27, 27, 28, 127, 23, 23, 24, 127, 21, 21, 22, 127, 24, 24, 25, 127, 21, 21, 22, 127, 20, 20, 20, 127, 25, 25, 25, 127, 13, 13, 13, 127, 17, 17, 17, 127, 12, 12, 12, 127, 14, 14, 14, 127, 10, 10, 10, 127, 12, 12, 12, 127, 14, 14, 14, 127, 11, 11, 11, 127, 10, 10, 10, 127, 10, 10, 10, 127, 10, 10, 10, 127, 10, 10, 10, 127, 14, 14, 14, 127, 16, 16, 16, 127, 11, 11, 11, 127, 11, 11, 11, 127, 17, 17, 17, 127, 11, 11, 11, 127, 10, 10, 10, 127, 14, 14, 14, 127, 19, 19, 19, 127, 16, 16, 16, 127, 9, 9, 9, 127, 2, 2, 2, 127, 3, 3, 3, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 2, 2, 127, 2, 3, 2, 127, 2, 3, 2, 127, 1, 3, 1, 127, 2, 2, 1, 127, 3, 1, 1, 127, 5, 2, 2, 127, 4, 3, 2, 127, \ +82, 131, 21, 127, 83, 133, 25, 127, 96, 147, 39, 127, 104, 156, 47, 127, 100, 153, 41, 127, 98, 152, 37, 127, 96, 148, 33, 127, 104, 152, 43, 127, 106, 154, 51, 127, 106, 158, 47, 127, 100, 147, 33, 127, 117, 139, 20, 127, 131, 139, 16, 127, 149, 144, 9, 127, 168, 160, 30, 127, 189, 171, 49, 127, 207, 175, 20, 127, 217, 166, 7, 127, 205, 159, 12, 127, 183, 142, 7, 127, 177, 133, 4, 127, 181, 148, 8, 127, 193, 161, 15, 127, 203, 171, 17, 127, 211, 175, 10, 127, 223, 183, 12, 127, 224, 189, 18, 127, 205, 175, 23, 127, 189, 165, 28, 127, 195, 168, 20, 127, 215, 179, 14, 127, 223, 187, 9, 127, 223, 187, 3, 127, 187, 169, 18, 127, 115, 140, 20, 127, 78, 130, 23, 127, 79, 116, 39, 127, 57, 59, 45, 127, 35, 33, 30, 127, 31, 31, 29, 127, 24, 28, 27, 127, 33, 35, 35, 127, 33, 33, 33, 127, 30, 30, 30, 127, 31, 31, 31, 127, 24, 24, 24, 127, 17, 17, 17, 127, 17, 17, 17, 127, 14, 14, 14, 127, 14, 14, 14, 127, 9, 9, 9, 127, 7, 7, 7, 127, 10, 10, 10, 127, 5, 5, 5, 127, 5, 5, 5, 127, 7, 7, 7, 127, 5, 5, 5, 127, 9, 9, 9, 127, 11, 11, 11, 127, 15, 15, 15, 127, 16, 16, 16, 127, 14, 14, 14, 127, 20, 20, 20, 127, 20, 20, 20, 127, 17, 17, 17, 127, 20, 20, 20, 127, 16, 16, 16, 127, 14, 14, 14, 127, 12, 12, 12, 127, 11, 11, 11, 127, 17, 17, 17, 127, 20, 20, 20, 127, 21, 21, 21, 127, 23, 23, 23, 127, 21, 21, 22, 127, 19, 19, 21, 127, 20, 20, 22, 127, 21, 21, 23, 127, 20, 20, 22, 127, 30, 30, 31, 127, 33, 33, 35, 127, 37, 37, 39, 127, 37, 37, 39, 127, 39, 39, 41, 127, 33, 33, 35, 127, 33, 33, 35, 127, 35, 35, 37, 127, 31, 31, 33, 127, 35, 35, 37, 127, 37, 37, 39, 127, 41, 41, 43, 127, 39, 39, 41, 127, 37, 37, 39, 127, 41, 41, 43, 127, 37, 37, 39, 127, 37, 37, 39, 127, 39, 39, 41, 127, 31, 31, 33, 127, 39, 39, 41, 127, 39, 39, 41, 127, 37, 37, 39, 127, 35, 35, 37, 127, 35, 35, 37, 127, 35, 35, 37, 127, 43, 43, 45, 127, 51, 51, 53, 127, 41, 41, 43, 127, 37, 37, 39, 127, 41, 41, 43, 127, 39, 39, 41, 127, 43, 43, 45, 127, 39, 39, 41, 127, 30, 30, 31, 127, 43, 43, 45, 127, 35, 35, 37, 127, 31, 31, 33, 127, 23, 23, 25, 127, 18, 18, 20, 127, 23, 23, 25, 127, 30, 30, 31, 127, 25, 25, 27, 127, 27, 27, 29, 127, 21, 21, 23, 127, 18, 18, 18, 127, 19, 19, 19, 127, 16, 16, 16, 127, 16, 16, 16, 127, 11, 11, 11, 127, 11, 11, 11, 127, 9, 9, 9, 127, 12, 12, 12, 127, 12, 12, 12, 127, 14, 14, 14, 127, 13, 13, 13, 127, 13, 13, 13, 127, 11, 11, 11, 127, 10, 10, 10, 127, 14, 14, 14, 127, 18, 18, 18, 127, 10, 10, 10, 127, 7, 7, 7, 127, 13, 13, 13, 127, 13, 13, 13, 127, 7, 7, 7, 127, 11, 11, 11, 127, 13, 13, 13, 127, 15, 15, 15, 127, 12, 12, 12, 127, 6, 6, 6, 127, 3, 3, 3, 127, 2, 2, 2, 127, 1, 1, 1, 127, 2, 2, 2, 127, 2, 3, 3, 127, 2, 4, 3, 127, 2, 3, 1, 127, 3, 2, 1, 127, 5, 3, 2, 127, 5, 3, 3, 127, 12, 13, 16, 127, \ +105, 151, 43, 127, 113, 159, 55, 127, 110, 160, 55, 127, 106, 159, 49, 127, 106, 162, 47, 127, 96, 154, 37, 127, 93, 147, 31, 127, 105, 156, 47, 127, 116, 167, 61, 127, 110, 165, 53, 127, 98, 153, 37, 127, 101, 142, 24, 127, 109, 142, 25, 127, 128, 148, 24, 127, 151, 162, 45, 127, 183, 173, 51, 127, 207, 175, 15, 127, 207, 167, 16, 127, 189, 164, 30, 127, 175, 158, 25, 127, 185, 159, 17, 127, 189, 158, 8, 127, 187, 163, 16, 127, 189, 171, 25, 127, 181, 167, 14, 127, 201, 181, 23, 127, 205, 185, 26, 127, 183, 174, 33, 127, 165, 162, 43, 127, 163, 160, 37, 127, 177, 166, 27, 127, 191, 168, 16, 127, 199, 172, 8, 127, 164, 158, 14, 127, 110, 140, 24, 127, 92, 144, 31, 127, 93, 128, 47, 127, 49, 55, 39, 127, 30, 30, 31, 127, 29, 30, 31, 127, 37, 39, 41, 127, 33, 33, 35, 127, 29, 30, 30, 127, 26, 27, 27, 127, 28, 28, 28, 127, 24, 24, 24, 127, 21, 21, 21, 127, 17, 17, 17, 127, 11, 11, 11, 127, 14, 14, 14, 127, 10, 10, 10, 127, 10, 10, 10, 127, 12, 12, 12, 127, 8, 8, 8, 127, 6, 6, 6, 127, 7, 7, 7, 127, 4, 4, 4, 127, 5, 5, 5, 127, 11, 11, 11, 127, 17, 17, 17, 127, 16, 16, 16, 127, 16, 16, 16, 127, 16, 16, 16, 127, 14, 14, 14, 127, 11, 11, 11, 127, 11, 11, 11, 127, 10, 10, 10, 127, 15, 15, 15, 127, 15, 15, 15, 127, 26, 26, 26, 127, 28, 28, 28, 127, 21, 21, 21, 127, 19, 19, 19, 127, 24, 24, 24, 127, 22, 22, 22, 127, 21, 21, 23, 127, 19, 19, 21, 127, 24, 24, 26, 127, 30, 30, 31, 127, 30, 30, 31, 127, 33, 33, 35, 127, 39, 39, 41, 127, 35, 35, 37, 127, 37, 37, 39, 127, 37, 37, 39, 127, 35, 35, 37, 127, 33, 33, 35, 127, 37, 37, 39, 127, 33, 33, 35, 127, 37, 37, 39, 127, 39, 39, 41, 127, 41, 41, 43, 127, 39, 39, 41, 127, 41, 41, 43, 127, 37, 37, 39, 127, 37, 37, 39, 127, 39, 39, 41, 127, 37, 37, 39, 127, 39, 39, 41, 127, 39, 39, 41, 127, 39, 39, 41, 127, 39, 39, 41, 127, 37, 37, 39, 127, 37, 37, 39, 127, 41, 41, 43, 127, 47, 47, 49, 127, 41, 41, 43, 127, 37, 37, 39, 127, 45, 45, 47, 127, 41, 41, 43, 127, 41, 41, 43, 127, 39, 39, 41, 127, 31, 31, 33, 127, 41, 41, 43, 127, 35, 35, 37, 127, 26, 26, 28, 127, 25, 25, 27, 127, 17, 17, 19, 127, 19, 19, 21, 127, 31, 31, 33, 127, 25, 25, 27, 127, 23, 23, 25, 127, 24, 24, 26, 127, 22, 22, 22, 127, 15, 15, 15, 127, 12, 12, 12, 127, 12, 12, 12, 127, 13, 13, 13, 127, 9, 9, 9, 127, 9, 9, 9, 127, 10, 10, 10, 127, 10, 10, 10, 127, 9, 9, 9, 127, 10, 10, 10, 127, 15, 15, 15, 127, 13, 13, 13, 127, 14, 14, 14, 127, 14, 14, 14, 127, 19, 19, 19, 127, 13, 13, 13, 127, 6, 6, 6, 127, 8, 8, 8, 127, 11, 11, 11, 127, 11, 11, 11, 127, 8, 8, 8, 127, 12, 12, 12, 127, 10, 10, 10, 127, 10, 10, 10, 127, 8, 8, 8, 127, 4, 4, 4, 127, 1, 1, 1, 127, 1, 1, 1, 127, 1, 1, 1, 127, 3, 3, 3, 127, 3, 3, 3, 127, 3, 2, 2, 127, 3, 2, 1, 127, 5, 6, 5, 127, 27, 31, 33, 127, 53, 59, 72, 127, \ +118, 161, 59, 127, 129, 173, 72, 127, 122, 170, 66, 127, 121, 172, 63, 127, 119, 173, 59, 127, 104, 160, 43, 127, 97, 152, 33, 127, 115, 168, 55, 127, 121, 173, 66, 127, 110, 166, 51, 127, 96, 153, 35, 127, 101, 149, 30, 127, 100, 150, 33, 127, 114, 153, 35, 127, 133, 163, 55, 127, 167, 169, 55, 127, 187, 168, 28, 127, 181, 167, 43, 127, 159, 166, 51, 127, 155, 165, 43, 127, 179, 171, 39, 127, 183, 163, 23, 127, 168, 161, 25, 127, 160, 166, 35, 127, 147, 160, 25, 127, 163, 175, 35, 127, 171, 181, 39, 127, 155, 169, 41, 127, 147, 167, 53, 127, 143, 167, 51, 127, 146, 164, 43, 127, 160, 165, 37, 127, 163, 162, 18, 127, 144, 158, 20, 127, 118, 155, 37, 127, 104, 152, 39, 127, 97, 129, 51, 127, 55, 66, 39, 127, 25, 28, 31, 127, 37, 37, 41, 127, 31, 31, 35, 127, 33, 35, 37, 127, 29, 31, 29, 127, 27, 28, 28, 127, 29, 29, 29, 127, 25, 25, 25, 127, 23, 23, 23, 127, 17, 17, 17, 127, 14, 14, 14, 127, 16, 16, 16, 127, 14, 14, 14, 127, 11, 11, 11, 127, 10, 10, 10, 127, 9, 9, 9, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 7, 7, 127, 12, 12, 12, 127, 19, 19, 19, 127, 20, 20, 20, 127, 14, 14, 14, 127, 10, 10, 10, 127, 11, 11, 11, 127, 10, 10, 10, 127, 16, 16, 16, 127, 21, 21, 21, 127, 23, 23, 23, 127, 30, 30, 30, 127, 30, 30, 30, 127, 25, 25, 25, 127, 25, 25, 25, 127, 21, 21, 21, 127, 21, 21, 21, 127, 20, 20, 20, 127, 17, 17, 19, 127, 21, 21, 23, 127, 23, 23, 25, 127, 27, 27, 29, 127, 26, 26, 28, 127, 29, 29, 31, 127, 37, 37, 39, 127, 37, 37, 39, 127, 41, 41, 43, 127, 39, 39, 41, 127, 35, 35, 37, 127, 35, 35, 37, 127, 39, 39, 41, 127, 35, 35, 37, 127, 37, 37, 39, 127, 37, 37, 39, 127, 39, 39, 41, 127, 41, 41, 43, 127, 39, 39, 41, 127, 35, 35, 37, 127, 39, 39, 41, 127, 39, 39, 41, 127, 41, 41, 43, 127, 35, 35, 37, 127, 41, 41, 43, 127, 37, 37, 39, 127, 35, 35, 37, 127, 41, 41, 43, 127, 43, 43, 45, 127, 41, 41, 43, 127, 45, 45, 47, 127, 47, 47, 49, 127, 43, 43, 45, 127, 45, 45, 47, 127, 41, 41, 43, 127, 39, 39, 41, 127, 37, 37, 39, 127, 33, 33, 35, 127, 37, 37, 39, 127, 31, 31, 33, 127, 24, 24, 26, 127, 25, 25, 27, 127, 19, 19, 21, 127, 24, 24, 26, 127, 27, 27, 29, 127, 23, 23, 25, 127, 22, 22, 24, 127, 24, 24, 26, 127, 21, 21, 21, 127, 19, 19, 19, 127, 14, 14, 14, 127, 11, 11, 11, 127, 13, 13, 13, 127, 11, 11, 11, 127, 13, 13, 13, 127, 8, 8, 8, 127, 9, 9, 9, 127, 9, 9, 9, 127, 9, 9, 9, 127, 14, 14, 14, 127, 19, 19, 19, 127, 15, 15, 15, 127, 16, 16, 16, 127, 17, 17, 17, 127, 16, 16, 16, 127, 9, 9, 9, 127, 8, 8, 8, 127, 8, 8, 8, 127, 10, 10, 10, 127, 10, 10, 10, 127, 9, 9, 9, 127, 9, 9, 9, 127, 6, 6, 6, 127, 7, 7, 7, 127, 4, 4, 4, 127, 2, 2, 2, 127, 1, 1, 1, 127, 2, 2, 2, 127, 3, 3, 3, 127, 3, 3, 3, 127, 4, 3, 4, 127, 9, 10, 10, 127, 43, 49, 53, 127, 70, 82, 93, 127, 68, 81, 101, 127, \ +128, 170, 72, 127, 132, 177, 78, 127, 131, 177, 76, 127, 134, 183, 75, 127, 127, 179, 64, 127, 117, 171, 53, 127, 119, 172, 53, 127, 130, 179, 68, 127, 130, 179, 71, 127, 112, 167, 51, 127, 112, 164, 47, 127, 111, 157, 37, 127, 105, 158, 35, 127, 116, 163, 47, 127, 130, 171, 70, 127, 143, 168, 61, 127, 148, 165, 49, 127, 147, 173, 76, 127, 128, 166, 64, 127, 123, 158, 43, 127, 144, 165, 47, 127, 152, 166, 39, 127, 144, 165, 39, 127, 132, 162, 37, 127, 120, 157, 31, 127, 125, 167, 39, 127, 132, 170, 43, 127, 129, 162, 43, 127, 136, 173, 57, 127, 134, 177, 63, 127, 131, 174, 61, 127, 137, 173, 57, 127, 131, 164, 30, 127, 136, 169, 43, 127, 137, 177, 65, 127, 124, 167, 57, 127, 110, 143, 57, 127, 74, 93, 45, 127, 31, 39, 33, 127, 33, 33, 35, 127, 27, 27, 31, 127, 30, 31, 35, 127, 25, 27, 26, 127, 24, 25, 24, 127, 26, 26, 26, 127, 27, 27, 27, 127, 23, 23, 23, 127, 18, 18, 18, 127, 17, 17, 17, 127, 16, 16, 16, 127, 16, 16, 16, 127, 9, 9, 9, 127, 7, 7, 7, 127, 10, 10, 10, 127, 8, 8, 8, 127, 8, 8, 8, 127, 8, 8, 8, 127, 7, 7, 7, 127, 10, 10, 10, 127, 14, 14, 14, 127, 10, 10, 10, 127, 11, 11, 11, 127, 15, 15, 15, 127, 13, 13, 13, 127, 13, 13, 13, 127, 12, 12, 12, 127, 18, 18, 18, 127, 28, 28, 28, 127, 17, 17, 17, 127, 18, 18, 18, 127, 20, 20, 20, 127, 17, 17, 17, 127, 21, 21, 21, 127, 22, 22, 22, 127, 15, 15, 16, 127, 15, 15, 17, 127, 16, 16, 18, 127, 22, 22, 24, 127, 26, 26, 28, 127, 25, 25, 27, 127, 30, 30, 31, 127, 35, 35, 37, 127, 35, 35, 37, 127, 41, 41, 43, 127, 33, 33, 35, 127, 35, 35, 37, 127, 35, 35, 37, 127, 37, 37, 39, 127, 37, 37, 39, 127, 31, 31, 33, 127, 39, 39, 41, 127, 39, 39, 41, 127, 43, 43, 45, 127, 43, 43, 45, 127, 39, 39, 41, 127, 43, 43, 45, 127, 39, 39, 41, 127, 39, 39, 41, 127, 37, 37, 39, 127, 37, 37, 39, 127, 41, 41, 43, 127, 33, 33, 35, 127, 37, 37, 39, 127, 41, 41, 43, 127, 41, 41, 43, 127, 39, 39, 41, 127, 43, 43, 45, 127, 37, 37, 39, 127, 43, 43, 45, 127, 43, 43, 45, 127, 43, 43, 45, 127, 35, 35, 37, 127, 35, 35, 37, 127, 29, 29, 31, 127, 29, 29, 31, 127, 25, 25, 27, 127, 28, 28, 30, 127, 24, 24, 26, 127, 29, 29, 31, 127, 31, 31, 33, 127, 24, 24, 26, 127, 21, 21, 23, 127, 21, 21, 23, 127, 22, 22, 22, 127, 20, 20, 20, 127, 15, 15, 15, 127, 10, 10, 10, 127, 11, 11, 11, 127, 7, 7, 7, 127, 10, 10, 10, 127, 11, 11, 11, 127, 11, 11, 11, 127, 9, 9, 9, 127, 10, 10, 10, 127, 11, 11, 11, 127, 13, 13, 13, 127, 15, 15, 15, 127, 20, 20, 20, 127, 21, 21, 21, 127, 19, 19, 19, 127, 11, 11, 11, 127, 9, 9, 9, 127, 9, 9, 9, 127, 6, 6, 6, 127, 10, 10, 10, 127, 8, 8, 8, 127, 8, 8, 8, 127, 6, 6, 6, 127, 7, 7, 7, 127, 8, 7, 8, 127, 3, 3, 3, 127, 1, 1, 1, 127, 3, 3, 3, 127, 3, 2, 2, 127, 3, 3, 3, 127, 11, 12, 13, 127, 61, 68, 74, 127, 97, 107, 121, 127, 86, 102, 121, 127, 86, 102, 121, 127, \ +130, 177, 76, 127, 135, 181, 82, 127, 139, 185, 85, 127, 140, 185, 81, 127, 137, 185, 74, 127, 134, 185, 69, 127, 136, 187, 69, 127, 136, 185, 72, 127, 130, 179, 69, 127, 122, 175, 59, 127, 131, 179, 59, 127, 131, 173, 51, 127, 118, 167, 41, 127, 121, 171, 53, 127, 134, 179, 76, 127, 144, 179, 75, 127, 147, 181, 82, 127, 146, 185, 97, 127, 136, 175, 78, 127, 123, 163, 49, 127, 123, 164, 53, 127, 129, 169, 49, 127, 131, 172, 49, 127, 122, 163, 39, 127, 115, 161, 35, 127, 118, 168, 45, 127, 120, 171, 47, 127, 123, 169, 45, 127, 135, 181, 57, 127, 130, 179, 57, 127, 118, 172, 47, 127, 113, 169, 43, 127, 122, 174, 49, 127, 143, 185, 75, 127, 152, 189, 90, 127, 144, 183, 75, 127, 135, 173, 69, 127, 92, 118, 53, 127, 41, 49, 35, 127, 26, 28, 27, 127, 23, 23, 25, 127, 25, 25, 31, 127, 23, 25, 24, 127, 24, 26, 26, 127, 29, 29, 29, 127, 22, 22, 22, 127, 21, 21, 21, 127, 17, 17, 17, 127, 18, 18, 18, 127, 13, 13, 13, 127, 18, 18, 18, 127, 10, 10, 10, 127, 9, 9, 9, 127, 7, 7, 7, 127, 12, 12, 12, 127, 11, 11, 11, 127, 7, 7, 7, 127, 7, 7, 7, 127, 8, 8, 8, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 9, 9, 9, 127, 13, 13, 13, 127, 8, 8, 8, 127, 11, 11, 11, 127, 20, 20, 20, 127, 18, 18, 18, 127, 20, 20, 20, 127, 26, 26, 26, 127, 20, 20, 20, 127, 12, 12, 12, 127, 15, 15, 15, 127, 12, 12, 12, 127, 13, 13, 13, 127, 19, 19, 21, 127, 24, 24, 26, 127, 27, 27, 28, 127, 22, 22, 24, 127, 29, 29, 31, 127, 31, 31, 31, 127, 33, 33, 33, 127, 30, 30, 31, 127, 35, 35, 37, 127, 27, 27, 29, 127, 35, 35, 37, 127, 33, 33, 35, 127, 33, 33, 35, 127, 33, 33, 35, 127, 31, 31, 33, 127, 39, 37, 41, 127, 37, 35, 41, 127, 47, 47, 49, 127, 47, 47, 49, 127, 41, 41, 45, 127, 37, 37, 41, 127, 35, 35, 37, 127, 37, 37, 39, 127, 37, 37, 39, 127, 33, 33, 35, 127, 43, 43, 45, 127, 37, 37, 39, 127, 35, 35, 37, 127, 37, 37, 39, 127, 43, 43, 45, 127, 43, 43, 45, 127, 43, 43, 45, 127, 39, 39, 41, 127, 43, 43, 45, 127, 41, 41, 43, 127, 41, 41, 43, 127, 33, 33, 35, 127, 29, 29, 31, 127, 30, 30, 31, 127, 25, 25, 27, 127, 29, 29, 31, 127, 31, 31, 33, 127, 25, 25, 27, 127, 26, 26, 28, 127, 31, 31, 33, 127, 25, 25, 27, 127, 26, 26, 28, 127, 19, 19, 21, 127, 23, 23, 23, 127, 15, 15, 15, 127, 11, 11, 11, 127, 7, 7, 7, 127, 11, 11, 11, 127, 7, 7, 7, 127, 10, 10, 10, 127, 14, 14, 14, 127, 13, 13, 13, 127, 10, 10, 10, 127, 8, 8, 8, 127, 10, 10, 10, 127, 11, 11, 11, 127, 9, 9, 9, 127, 18, 18, 18, 127, 25, 25, 25, 127, 21, 21, 21, 127, 15, 15, 15, 127, 8, 8, 8, 127, 9, 9, 9, 127, 6, 6, 6, 127, 8, 8, 8, 127, 8, 8, 8, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 7, 127, 10, 8, 9, 127, 7, 6, 7, 127, 1, 2, 3, 127, 2, 2, 2, 127, 4, 3, 2, 127, 9, 10, 11, 127, 67, 73, 80, 127, 108, 118, 132, 127, 109, 124, 144, 127, 98, 113, 137, 127, 97, 114, 133, 127, \ +125, 179, 65, 127, 135, 185, 81, 127, 136, 185, 83, 127, 138, 185, 83, 127, 142, 191, 85, 127, 142, 191, 81, 127, 139, 189, 76, 127, 130, 181, 68, 127, 124, 177, 59, 127, 125, 181, 59, 127, 138, 187, 59, 127, 138, 183, 57, 127, 130, 179, 55, 127, 126, 175, 57, 127, 135, 179, 69, 127, 150, 189, 85, 127, 160, 195, 101, 127, 153, 193, 100, 127, 145, 185, 82, 127, 137, 179, 67, 127, 130, 175, 59, 127, 132, 175, 55, 127, 137, 177, 59, 127, 131, 170, 51, 127, 129, 169, 55, 127, 131, 174, 66, 127, 131, 179, 69, 127, 132, 181, 70, 127, 140, 187, 71, 127, 129, 179, 51, 127, 112, 167, 37, 127, 117, 173, 47, 127, 134, 183, 67, 127, 147, 193, 84, 127, 155, 193, 95, 127, 161, 197, 89, 127, 154, 191, 85, 127, 109, 139, 67, 127, 39, 49, 35, 127, 25, 25, 24, 127, 31, 31, 31, 127, 28, 27, 31, 127, 23, 23, 23, 127, 27, 27, 27, 127, 28, 28, 28, 127, 22, 22, 22, 127, 21, 21, 21, 127, 18, 18, 18, 127, 17, 17, 17, 127, 15, 15, 15, 127, 14, 14, 14, 127, 8, 8, 8, 127, 9, 9, 9, 127, 8, 8, 8, 127, 9, 9, 9, 127, 11, 11, 11, 127, 9, 9, 9, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 3, 3, 3, 127, 5, 5, 5, 127, 6, 6, 6, 127, 11, 11, 11, 127, 14, 14, 14, 127, 16, 16, 16, 127, 16, 16, 16, 127, 18, 18, 18, 127, 24, 24, 24, 127, 22, 22, 22, 127, 14, 14, 14, 127, 11, 11, 11, 127, 16, 16, 16, 127, 17, 17, 17, 127, 21, 21, 21, 127, 22, 22, 22, 127, 21, 21, 21, 127, 22, 22, 22, 127, 26, 26, 26, 127, 29, 29, 29, 127, 27, 27, 27, 127, 30, 30, 30, 127, 29, 29, 29, 127, 31, 31, 31, 127, 28, 28, 28, 127, 33, 33, 35, 127, 25, 25, 27, 127, 31, 31, 33, 127, 35, 35, 37, 127, 37, 37, 39, 127, 37, 37, 39, 127, 41, 39, 45, 127, 43, 41, 47, 127, 43, 43, 47, 127, 41, 41, 45, 127, 37, 35, 39, 127, 33, 33, 35, 127, 35, 35, 37, 127, 39, 39, 41, 127, 37, 37, 39, 127, 45, 45, 47, 127, 45, 45, 47, 127, 47, 47, 49, 127, 43, 43, 45, 127, 43, 43, 45, 127, 47, 47, 49, 127, 47, 47, 49, 127, 45, 45, 47, 127, 39, 39, 41, 127, 39, 39, 41, 127, 39, 39, 41, 127, 27, 27, 29, 127, 26, 26, 28, 127, 29, 29, 31, 127, 30, 30, 31, 127, 35, 35, 37, 127, 33, 33, 35, 127, 27, 27, 29, 127, 29, 29, 31, 127, 33, 33, 35, 127, 29, 29, 31, 127, 24, 24, 26, 127, 16, 16, 18, 127, 20, 20, 20, 127, 11, 11, 11, 127, 5, 5, 5, 127, 4, 4, 4, 127, 8, 8, 8, 127, 9, 9, 9, 127, 11, 11, 11, 127, 13, 13, 13, 127, 14, 14, 14, 127, 14, 14, 14, 127, 9, 9, 9, 127, 9, 9, 9, 127, 12, 12, 12, 127, 8, 8, 8, 127, 19, 19, 19, 127, 23, 23, 23, 127, 22, 22, 22, 127, 16, 16, 16, 127, 10, 10, 10, 127, 9, 9, 9, 127, 8, 8, 8, 127, 5, 5, 5, 127, 7, 7, 7, 127, 8, 8, 8, 127, 6, 6, 6, 127, 5, 5, 5, 127, 10, 8, 8, 127, 13, 8, 12, 127, 5, 6, 10, 127, 4, 4, 3, 127, 6, 6, 4, 127, 51, 55, 61, 127, 111, 124, 140, 127, 110, 126, 144, 127, 109, 126, 144, 127, 105, 123, 142, 127, 102, 120, 137, 127, \ +118, 177, 57, 127, 125, 181, 71, 127, 125, 179, 72, 127, 128, 181, 77, 127, 133, 183, 78, 127, 144, 191, 84, 127, 143, 193, 83, 127, 133, 185, 71, 127, 125, 181, 59, 127, 122, 177, 51, 127, 135, 183, 57, 127, 133, 181, 57, 127, 130, 179, 59, 127, 129, 177, 61, 127, 134, 179, 68, 127, 143, 185, 81, 127, 152, 193, 95, 127, 148, 187, 93, 127, 144, 185, 78, 127, 145, 187, 69, 127, 137, 181, 59, 127, 139, 177, 64, 127, 142, 177, 68, 127, 143, 179, 70, 127, 142, 181, 67, 127, 142, 181, 74, 127, 146, 189, 88, 127, 148, 191, 90, 127, 145, 189, 76, 127, 130, 175, 51, 127, 122, 172, 47, 127, 131, 181, 65, 127, 139, 185, 75, 127, 146, 191, 84, 127, 160, 199, 97, 127, 167, 203, 93, 127, 161, 197, 89, 127, 117, 150, 72, 127, 33, 45, 26, 127, 25, 24, 24, 127, 24, 23, 24, 127, 27, 26, 30, 127, 28, 28, 28, 127, 29, 29, 30, 127, 26, 26, 26, 127, 26, 26, 26, 127, 23, 23, 23, 127, 19, 19, 19, 127, 14, 14, 14, 127, 11, 11, 11, 127, 5, 5, 5, 127, 7, 7, 7, 127, 9, 9, 9, 127, 8, 8, 8, 127, 7, 7, 7, 127, 11, 11, 11, 127, 5, 5, 5, 127, 4, 4, 4, 127, 6, 6, 6, 127, 8, 8, 8, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 9, 9, 9, 127, 17, 17, 17, 127, 13, 13, 13, 127, 13, 13, 13, 127, 18, 18, 18, 127, 20, 20, 20, 127, 11, 11, 11, 127, 10, 10, 10, 127, 16, 16, 16, 127, 16, 16, 16, 127, 17, 17, 17, 127, 23, 23, 23, 127, 18, 18, 18, 127, 22, 22, 22, 127, 23, 23, 23, 127, 27, 27, 27, 127, 31, 31, 31, 127, 31, 31, 31, 127, 33, 33, 33, 127, 31, 31, 31, 127, 30, 30, 30, 127, 35, 35, 35, 127, 35, 35, 35, 127, 31, 31, 33, 127, 29, 29, 31, 127, 37, 37, 39, 127, 39, 39, 41, 127, 37, 37, 39, 127, 41, 39, 45, 127, 41, 41, 45, 127, 43, 41, 47, 127, 43, 41, 47, 127, 35, 35, 39, 127, 33, 33, 37, 127, 35, 35, 37, 127, 39, 39, 41, 127, 39, 39, 41, 127, 49, 49, 51, 127, 53, 53, 55, 127, 51, 51, 53, 127, 49, 49, 51, 127, 51, 51, 53, 127, 51, 51, 53, 127, 49, 49, 51, 127, 47, 47, 49, 127, 41, 41, 43, 127, 39, 39, 41, 127, 35, 35, 37, 127, 26, 26, 28, 127, 22, 22, 24, 127, 33, 33, 35, 127, 29, 29, 31, 127, 35, 35, 37, 127, 35, 35, 37, 127, 30, 30, 31, 127, 28, 28, 30, 127, 28, 28, 30, 127, 23, 23, 25, 127, 20, 20, 22, 127, 12, 12, 13, 127, 22, 22, 22, 127, 12, 12, 12, 127, 9, 9, 9, 127, 5, 5, 5, 127, 9, 9, 9, 127, 10, 10, 10, 127, 10, 10, 10, 127, 12, 12, 12, 127, 11, 11, 11, 127, 15, 15, 15, 127, 10, 10, 10, 127, 11, 11, 11, 127, 17, 17, 17, 127, 8, 8, 8, 127, 14, 14, 14, 127, 22, 22, 22, 127, 23, 23, 23, 127, 17, 17, 17, 127, 14, 14, 14, 127, 8, 8, 8, 127, 8, 8, 8, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 8, 7, 7, 127, 10, 8, 10, 127, 8, 8, 8, 127, 8, 6, 3, 127, 33, 35, 39, 127, 107, 116, 131, 127, 113, 131, 148, 127, 119, 137, 155, 127, 122, 139, 157, 127, 112, 128, 147, 127, 108, 124, 143, 127, \ +107, 167, 55, 127, 119, 175, 70, 127, 119, 174, 73, 127, 127, 181, 81, 127, 130, 181, 81, 127, 141, 187, 86, 127, 135, 185, 77, 127, 123, 177, 63, 127, 117, 173, 51, 127, 115, 170, 43, 127, 127, 175, 53, 127, 126, 175, 53, 127, 125, 174, 53, 127, 128, 177, 61, 127, 133, 179, 71, 127, 130, 175, 71, 127, 135, 179, 76, 127, 144, 185, 89, 127, 146, 189, 80, 127, 150, 191, 74, 127, 144, 183, 66, 127, 143, 177, 74, 127, 141, 175, 73, 127, 146, 183, 76, 127, 144, 183, 70, 127, 145, 183, 76, 127, 153, 189, 92, 127, 154, 191, 92, 127, 145, 185, 75, 127, 134, 177, 63, 127, 134, 177, 69, 127, 141, 185, 84, 127, 143, 185, 79, 127, 145, 185, 81, 127, 160, 197, 97, 127, 163, 201, 92, 127, 163, 201, 90, 127, 132, 168, 81, 127, 53, 66, 33, 127, 16, 15, 15, 127, 15, 17, 17, 127, 23, 23, 26, 127, 27, 27, 27, 127, 30, 30, 31, 127, 29, 29, 29, 127, 27, 27, 27, 127, 25, 25, 25, 127, 15, 15, 15, 127, 14, 14, 14, 127, 10, 10, 10, 127, 7, 7, 7, 127, 6, 6, 6, 127, 12, 12, 12, 127, 7, 7, 7, 127, 8, 8, 8, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 6, 6, 6, 127, 10, 10, 10, 127, 17, 17, 17, 127, 14, 14, 14, 127, 15, 15, 15, 127, 19, 19, 19, 127, 16, 16, 16, 127, 12, 12, 12, 127, 11, 11, 11, 127, 12, 12, 12, 127, 11, 11, 11, 127, 20, 20, 20, 127, 23, 23, 23, 127, 19, 19, 19, 127, 26, 26, 26, 127, 24, 24, 24, 127, 29, 29, 29, 127, 30, 30, 30, 127, 33, 33, 33, 127, 31, 31, 31, 127, 31, 31, 31, 127, 27, 27, 27, 127, 33, 33, 35, 127, 37, 37, 37, 127, 39, 39, 41, 127, 31, 31, 35, 127, 37, 37, 39, 127, 39, 39, 41, 127, 37, 37, 39, 127, 37, 37, 41, 127, 37, 37, 41, 127, 43, 43, 47, 127, 43, 41, 47, 127, 33, 33, 37, 127, 35, 35, 39, 127, 37, 37, 39, 127, 39, 39, 41, 127, 35, 35, 37, 127, 47, 47, 49, 127, 51, 51, 53, 127, 49, 49, 51, 127, 51, 51, 53, 127, 53, 53, 55, 127, 55, 55, 57, 127, 51, 51, 53, 127, 43, 43, 45, 127, 37, 37, 39, 127, 33, 33, 35, 127, 33, 33, 35, 127, 23, 23, 25, 127, 22, 22, 24, 127, 35, 35, 37, 127, 28, 28, 30, 127, 31, 31, 33, 127, 33, 33, 35, 127, 29, 29, 31, 127, 28, 28, 30, 127, 27, 27, 29, 127, 17, 17, 19, 127, 17, 17, 19, 127, 15, 15, 16, 127, 17, 17, 17, 127, 11, 11, 11, 127, 10, 10, 10, 127, 6, 6, 6, 127, 4, 4, 4, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 9, 127, 9, 9, 9, 127, 14, 14, 14, 127, 11, 11, 11, 127, 9, 9, 9, 127, 19, 19, 19, 127, 11, 11, 11, 127, 15, 15, 15, 127, 21, 21, 21, 127, 23, 23, 23, 127, 14, 14, 14, 127, 11, 11, 11, 127, 8, 8, 8, 127, 6, 6, 6, 127, 4, 4, 4, 127, 4, 4, 4, 127, 5, 5, 5, 127, 4, 5, 5, 127, 8, 8, 8, 127, 7, 8, 10, 127, 5, 8, 7, 127, 9, 5, 4, 127, 15, 13, 15, 127, 83, 89, 99, 127, 115, 130, 150, 127, 118, 137, 156, 127, 119, 140, 156, 127, 116, 134, 152, 127, 114, 130, 149, 127, 111, 125, 144, 127, \ +97, 154, 47, 127, 113, 166, 68, 127, 117, 170, 75, 127, 127, 177, 86, 127, 132, 179, 86, 127, 130, 174, 77, 127, 119, 167, 64, 127, 98, 153, 43, 127, 106, 164, 47, 127, 116, 169, 49, 127, 124, 171, 53, 127, 121, 170, 51, 127, 115, 167, 47, 127, 116, 168, 53, 127, 125, 173, 69, 127, 130, 174, 72, 127, 139, 179, 76, 127, 153, 191, 94, 127, 151, 189, 83, 127, 151, 189, 77, 127, 146, 183, 71, 127, 142, 177, 75, 127, 146, 183, 82, 127, 147, 189, 80, 127, 141, 183, 69, 127, 140, 181, 73, 127, 150, 189, 85, 127, 153, 191, 84, 127, 145, 185, 78, 127, 141, 185, 82, 127, 143, 183, 88, 127, 147, 185, 90, 127, 144, 183, 78, 127, 138, 175, 70, 127, 149, 183, 88, 127, 154, 189, 88, 127, 156, 193, 87, 127, 128, 163, 70, 127, 79, 94, 53, 127, 16, 15, 13, 127, 18, 20, 21, 127, 17, 17, 19, 127, 30, 30, 30, 127, 31, 33, 33, 127, 25, 26, 25, 127, 27, 27, 27, 127, 23, 23, 23, 127, 20, 20, 20, 127, 20, 20, 20, 127, 11, 11, 11, 127, 9, 9, 9, 127, 12, 12, 12, 127, 11, 11, 11, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 7, 7, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 4, 4, 4, 127, 7, 7, 7, 127, 9, 9, 9, 127, 8, 8, 8, 127, 14, 14, 14, 127, 19, 19, 19, 127, 16, 16, 16, 127, 16, 16, 16, 127, 18, 18, 18, 127, 16, 16, 16, 127, 16, 16, 16, 127, 11, 11, 11, 127, 10, 10, 10, 127, 11, 11, 11, 127, 12, 12, 12, 127, 15, 15, 15, 127, 19, 19, 19, 127, 21, 21, 21, 127, 24, 24, 24, 127, 29, 29, 29, 127, 27, 27, 27, 127, 30, 30, 30, 127, 29, 29, 29, 127, 30, 30, 30, 127, 31, 31, 31, 127, 31, 31, 31, 127, 31, 31, 31, 127, 27, 27, 29, 127, 29, 29, 31, 127, 35, 35, 37, 127, 39, 39, 41, 127, 39, 39, 41, 127, 41, 39, 45, 127, 43, 41, 47, 127, 43, 41, 47, 127, 43, 41, 47, 127, 37, 35, 41, 127, 35, 35, 37, 127, 43, 43, 45, 127, 37, 37, 39, 127, 33, 33, 35, 127, 41, 41, 43, 127, 49, 49, 51, 127, 47, 47, 49, 127, 51, 51, 53, 127, 53, 53, 55, 127, 55, 55, 57, 127, 53, 53, 55, 127, 41, 41, 43, 127, 37, 37, 39, 127, 30, 30, 31, 127, 31, 31, 33, 127, 20, 20, 22, 127, 25, 25, 27, 127, 37, 37, 39, 127, 33, 33, 35, 127, 30, 30, 31, 127, 30, 30, 31, 127, 21, 21, 23, 127, 29, 29, 31, 127, 26, 26, 28, 127, 12, 12, 14, 127, 17, 17, 19, 127, 15, 15, 16, 127, 14, 14, 15, 127, 12, 12, 12, 127, 10, 10, 10, 127, 7, 7, 7, 127, 5, 5, 5, 127, 10, 10, 10, 127, 4, 4, 4, 127, 9, 9, 9, 127, 9, 9, 9, 127, 8, 8, 8, 127, 10, 10, 10, 127, 8, 8, 8, 127, 13, 13, 13, 127, 11, 11, 11, 127, 11, 11, 11, 127, 17, 17, 17, 127, 21, 21, 21, 127, 12, 12, 12, 127, 7, 7, 7, 127, 10, 10, 10, 127, 7, 7, 7, 127, 4, 4, 4, 127, 6, 6, 6, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 9, 127, 9, 10, 12, 127, 6, 8, 9, 127, 8, 5, 5, 127, 49, 53, 61, 127, 110, 123, 137, 127, 118, 135, 151, 127, 121, 139, 157, 127, 122, 140, 158, 127, 114, 132, 150, 127, 116, 133, 151, 127, 108, 124, 142, 127, \ +99, 152, 45, 127, 115, 165, 65, 127, 119, 168, 74, 127, 124, 171, 78, 127, 128, 173, 77, 127, 129, 173, 76, 127, 116, 165, 63, 127, 99, 154, 49, 127, 106, 163, 53, 127, 119, 170, 59, 127, 121, 169, 55, 127, 113, 162, 45, 127, 106, 159, 41, 127, 108, 159, 45, 127, 120, 167, 65, 127, 135, 175, 79, 127, 152, 185, 91, 127, 157, 189, 98, 127, 148, 183, 81, 127, 144, 181, 69, 127, 139, 177, 63, 127, 140, 177, 71, 127, 145, 187, 81, 127, 140, 187, 74, 127, 128, 175, 57, 127, 137, 181, 68, 127, 150, 189, 82, 127, 152, 193, 84, 127, 148, 193, 88, 127, 142, 187, 90, 127, 142, 185, 86, 127, 143, 185, 80, 127, 138, 174, 67, 127, 135, 172, 66, 127, 145, 179, 85, 127, 144, 179, 82, 127, 140, 177, 74, 127, 134, 168, 70, 127, 71, 86, 41, 127, 16, 15, 17, 127, 16, 17, 18, 127, 16, 16, 18, 127, 31, 30, 31, 127, 33, 35, 35, 127, 30, 29, 30, 127, 28, 28, 28, 127, 26, 26, 26, 127, 27, 27, 27, 127, 16, 16, 16, 127, 11, 11, 11, 127, 16, 16, 16, 127, 13, 13, 13, 127, 11, 11, 11, 127, 6, 6, 6, 127, 7, 7, 7, 127, 9, 9, 9, 127, 7, 7, 7, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 8, 8, 8, 127, 8, 8, 8, 127, 12, 12, 12, 127, 17, 17, 17, 127, 16, 16, 16, 127, 10, 10, 10, 127, 16, 16, 16, 127, 17, 17, 17, 127, 18, 18, 18, 127, 14, 14, 14, 127, 11, 11, 11, 127, 12, 12, 12, 127, 10, 10, 10, 127, 11, 11, 11, 127, 21, 21, 21, 127, 21, 21, 21, 127, 26, 26, 26, 127, 25, 25, 25, 127, 27, 27, 27, 127, 21, 21, 21, 127, 27, 27, 27, 127, 25, 25, 25, 127, 30, 30, 31, 127, 28, 28, 28, 127, 25, 25, 25, 127, 26, 26, 28, 127, 20, 20, 22, 127, 28, 28, 30, 127, 31, 31, 33, 127, 33, 33, 35, 127, 35, 35, 37, 127, 41, 39, 43, 127, 45, 45, 49, 127, 43, 41, 47, 127, 39, 39, 45, 127, 37, 37, 41, 127, 37, 37, 39, 127, 39, 39, 41, 127, 39, 39, 41, 127, 33, 33, 35, 127, 35, 35, 37, 127, 37, 37, 39, 127, 45, 45, 47, 127, 45, 45, 47, 127, 55, 55, 57, 127, 51, 51, 53, 127, 57, 57, 59, 127, 45, 45, 47, 127, 41, 41, 43, 127, 31, 31, 33, 127, 33, 33, 35, 127, 25, 25, 27, 127, 28, 28, 30, 127, 35, 35, 37, 127, 35, 35, 37, 127, 26, 26, 28, 127, 31, 31, 33, 127, 22, 22, 24, 127, 31, 31, 33, 127, 23, 23, 25, 127, 10, 10, 12, 127, 12, 12, 14, 127, 12, 12, 13, 127, 13, 13, 14, 127, 14, 14, 14, 127, 14, 14, 14, 127, 10, 10, 10, 127, 5, 5, 5, 127, 12, 12, 12, 127, 8, 8, 8, 127, 8, 8, 8, 127, 8, 8, 8, 127, 9, 9, 9, 127, 7, 7, 7, 127, 9, 9, 9, 127, 6, 6, 6, 127, 9, 9, 9, 127, 11, 11, 11, 127, 15, 15, 15, 127, 20, 20, 20, 127, 11, 11, 11, 127, 5, 5, 5, 127, 7, 7, 7, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 7, 7, 127, 6, 6, 6, 127, 6, 6, 6, 127, 8, 8, 8, 127, 9, 8, 9, 127, 9, 9, 8, 127, 12, 13, 15, 127, 94, 104, 118, 127, 115, 131, 147, 127, 119, 137, 148, 127, 123, 140, 154, 127, 119, 135, 153, 127, 118, 134, 152, 127, 119, 137, 154, 127, 107, 126, 143, 127, \ +99, 153, 43, 127, 111, 163, 63, 127, 120, 171, 73, 127, 108, 159, 57, 127, 105, 155, 51, 127, 115, 165, 57, 127, 109, 163, 53, 127, 104, 160, 55, 127, 114, 170, 65, 127, 116, 169, 59, 127, 115, 163, 51, 127, 114, 164, 49, 127, 110, 162, 43, 127, 115, 165, 51, 127, 118, 166, 59, 127, 128, 169, 68, 127, 140, 175, 75, 127, 136, 171, 67, 127, 131, 170, 57, 127, 132, 173, 55, 127, 129, 170, 51, 127, 130, 173, 57, 127, 134, 181, 68, 127, 133, 177, 65, 127, 121, 167, 49, 127, 128, 174, 55, 127, 138, 181, 66, 127, 141, 187, 76, 127, 144, 191, 88, 127, 138, 185, 83, 127, 134, 183, 73, 127, 139, 185, 76, 127, 134, 175, 61, 127, 132, 175, 61, 127, 136, 177, 70, 127, 132, 172, 67, 127, 128, 166, 61, 127, 138, 170, 75, 127, 47, 59, 30, 127, 14, 13, 17, 127, 11, 11, 10, 127, 12, 11, 14, 127, 30, 29, 30, 127, 33, 33, 33, 127, 29, 28, 30, 127, 27, 27, 27, 127, 24, 24, 24, 127, 25, 25, 25, 127, 16, 16, 16, 127, 19, 19, 19, 127, 20, 20, 20, 127, 12, 12, 12, 127, 9, 9, 9, 127, 11, 11, 11, 127, 13, 13, 13, 127, 10, 10, 10, 127, 8, 8, 8, 127, 8, 8, 8, 127, 4, 4, 4, 127, 6, 6, 6, 127, 11, 11, 11, 127, 6, 6, 6, 127, 15, 15, 15, 127, 16, 16, 16, 127, 18, 18, 18, 127, 13, 13, 13, 127, 14, 14, 14, 127, 16, 16, 16, 127, 12, 12, 12, 127, 14, 14, 14, 127, 13, 13, 13, 127, 14, 14, 14, 127, 13, 13, 13, 127, 21, 21, 21, 127, 25, 25, 25, 127, 17, 17, 17, 127, 24, 24, 24, 127, 25, 25, 25, 127, 27, 27, 27, 127, 25, 25, 25, 127, 31, 31, 31, 127, 25, 25, 26, 127, 33, 33, 35, 127, 27, 27, 29, 127, 23, 23, 25, 127, 21, 21, 23, 127, 25, 25, 27, 127, 27, 27, 29, 127, 31, 31, 33, 127, 33, 33, 35, 127, 39, 39, 41, 127, 45, 45, 47, 127, 41, 39, 43, 127, 41, 41, 43, 127, 41, 39, 41, 127, 39, 39, 41, 127, 37, 37, 39, 127, 35, 35, 37, 127, 37, 37, 39, 127, 33, 33, 35, 127, 31, 31, 33, 127, 29, 29, 31, 127, 45, 45, 47, 127, 39, 39, 41, 127, 49, 49, 51, 127, 47, 47, 49, 127, 55, 55, 57, 127, 45, 45, 47, 127, 43, 43, 45, 127, 35, 35, 37, 127, 33, 33, 35, 127, 25, 25, 27, 127, 31, 31, 33, 127, 37, 37, 39, 127, 39, 39, 41, 127, 28, 28, 30, 127, 31, 31, 33, 127, 26, 26, 28, 127, 33, 33, 33, 127, 22, 22, 22, 127, 13, 13, 14, 127, 11, 11, 12, 127, 10, 10, 10, 127, 8, 8, 8, 127, 17, 17, 17, 127, 12, 12, 12, 127, 12, 12, 12, 127, 8, 8, 8, 127, 7, 7, 7, 127, 12, 12, 12, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 8, 8, 8, 127, 8, 8, 8, 127, 6, 6, 6, 127, 9, 9, 9, 127, 13, 13, 13, 127, 17, 17, 17, 127, 14, 14, 14, 127, 12, 12, 12, 127, 5, 5, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 4, 4, 4, 127, 7, 7, 7, 127, 9, 7, 7, 127, 10, 8, 6, 127, 37, 39, 43, 127, 116, 124, 142, 127, 113, 126, 144, 127, 114, 132, 143, 127, 116, 133, 148, 127, 121, 138, 154, 127, 117, 134, 150, 127, 115, 132, 150, 127, 110, 127, 145, 127, \ +105, 155, 45, 127, 114, 164, 61, 127, 109, 160, 57, 127, 101, 152, 47, 127, 104, 156, 43, 127, 106, 159, 37, 127, 99, 155, 31, 127, 107, 162, 49, 127, 112, 164, 53, 127, 116, 164, 53, 127, 128, 171, 57, 127, 129, 173, 55, 127, 122, 169, 49, 127, 123, 170, 51, 127, 127, 170, 57, 127, 129, 171, 59, 127, 121, 167, 51, 127, 116, 159, 43, 127, 116, 159, 41, 127, 129, 171, 51, 127, 129, 170, 49, 127, 125, 167, 45, 127, 127, 173, 55, 127, 131, 170, 55, 127, 123, 168, 47, 127, 121, 166, 41, 127, 128, 172, 51, 127, 132, 177, 63, 127, 142, 187, 80, 127, 140, 187, 79, 127, 131, 179, 66, 127, 137, 183, 77, 127, 136, 183, 71, 127, 133, 181, 66, 127, 124, 173, 55, 127, 125, 169, 59, 127, 133, 170, 72, 127, 133, 159, 82, 127, 31, 39, 22, 127, 11, 10, 13, 127, 12, 13, 10, 127, 19, 18, 21, 127, 30, 29, 31, 127, 30, 30, 30, 127, 29, 29, 30, 127, 30, 30, 30, 127, 23, 23, 23, 127, 18, 18, 18, 127, 19, 19, 19, 127, 20, 20, 20, 127, 12, 12, 12, 127, 8, 8, 8, 127, 13, 13, 13, 127, 15, 15, 15, 127, 13, 13, 13, 127, 14, 14, 14, 127, 11, 11, 11, 127, 12, 12, 12, 127, 7, 7, 7, 127, 7, 7, 7, 127, 12, 12, 12, 127, 11, 11, 11, 127, 13, 13, 13, 127, 15, 15, 15, 127, 17, 17, 17, 127, 14, 14, 14, 127, 16, 16, 16, 127, 16, 16, 16, 127, 15, 15, 15, 127, 13, 13, 13, 127, 17, 17, 17, 127, 14, 14, 14, 127, 13, 13, 13, 127, 25, 25, 25, 127, 17, 17, 17, 127, 16, 16, 16, 127, 21, 21, 21, 127, 24, 24, 24, 127, 25, 25, 25, 127, 28, 28, 28, 127, 26, 26, 27, 127, 28, 28, 30, 127, 30, 30, 31, 127, 31, 31, 33, 127, 25, 25, 27, 127, 24, 24, 26, 127, 24, 24, 26, 127, 30, 30, 31, 127, 37, 37, 39, 127, 33, 33, 35, 127, 45, 45, 47, 127, 45, 45, 45, 127, 37, 37, 37, 127, 41, 41, 43, 127, 41, 41, 41, 127, 43, 43, 45, 127, 37, 37, 39, 127, 35, 35, 37, 127, 35, 35, 37, 127, 33, 33, 35, 127, 30, 30, 31, 127, 22, 22, 24, 127, 35, 35, 37, 127, 39, 39, 41, 127, 41, 41, 43, 127, 43, 43, 45, 127, 43, 43, 45, 127, 45, 45, 47, 127, 43, 43, 45, 127, 35, 35, 37, 127, 31, 31, 33, 127, 24, 24, 26, 127, 29, 29, 31, 127, 33, 33, 35, 127, 33, 33, 35, 127, 27, 27, 29, 127, 25, 25, 27, 127, 28, 28, 29, 127, 27, 27, 27, 127, 20, 20, 20, 127, 18, 18, 18, 127, 15, 15, 15, 127, 10, 10, 10, 127, 8, 8, 8, 127, 16, 16, 16, 127, 12, 12, 12, 127, 19, 19, 19, 127, 16, 16, 16, 127, 4, 4, 4, 127, 10, 10, 10, 127, 10, 10, 10, 127, 8, 8, 8, 127, 6, 6, 6, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 14, 14, 14, 127, 13, 13, 13, 127, 16, 16, 16, 127, 10, 10, 10, 127, 10, 10, 10, 127, 7, 7, 7, 127, 6, 6, 6, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 6, 6, 6, 127, 8, 8, 9, 127, 11, 9, 8, 127, 9, 7, 5, 127, 74, 82, 87, 127, 114, 123, 139, 127, 113, 124, 142, 127, 113, 130, 142, 127, 111, 130, 142, 127, 106, 123, 138, 127, 112, 129, 145, 127, 108, 125, 142, 127, 106, 123, 141, 127, \ +127, 173, 70, 127, 131, 177, 76, 127, 121, 168, 68, 127, 115, 162, 57, 127, 121, 169, 57, 127, 114, 164, 43, 127, 108, 160, 35, 127, 119, 170, 57, 127, 120, 168, 55, 127, 128, 170, 55, 127, 145, 179, 67, 127, 146, 181, 65, 127, 133, 174, 53, 127, 134, 175, 55, 127, 135, 174, 57, 127, 135, 175, 59, 127, 130, 175, 53, 127, 130, 172, 51, 127, 124, 162, 43, 127, 130, 166, 47, 127, 126, 160, 41, 127, 123, 162, 41, 127, 125, 167, 49, 127, 129, 167, 49, 127, 122, 164, 45, 127, 119, 161, 41, 127, 128, 168, 51, 127, 133, 175, 59, 127, 137, 179, 70, 127, 137, 181, 73, 127, 134, 181, 66, 127, 137, 183, 73, 127, 140, 187, 81, 127, 128, 179, 66, 127, 120, 171, 53, 127, 123, 169, 59, 127, 133, 171, 78, 127, 113, 134, 78, 127, 22, 27, 16, 127, 15, 14, 15, 127, 15, 16, 11, 127, 26, 26, 30, 127, 37, 37, 41, 127, 35, 35, 35, 127, 27, 27, 28, 127, 29, 29, 29, 127, 19, 19, 19, 127, 19, 19, 19, 127, 19, 19, 19, 127, 14, 14, 14, 127, 11, 11, 11, 127, 15, 15, 15, 127, 20, 20, 20, 127, 12, 12, 12, 127, 17, 17, 17, 127, 14, 14, 14, 127, 10, 10, 10, 127, 12, 12, 12, 127, 10, 10, 10, 127, 11, 11, 11, 127, 16, 16, 16, 127, 18, 18, 18, 127, 11, 11, 11, 127, 13, 13, 13, 127, 19, 19, 19, 127, 21, 21, 21, 127, 20, 20, 20, 127, 18, 18, 18, 127, 18, 18, 18, 127, 19, 19, 19, 127, 15, 15, 15, 127, 10, 10, 10, 127, 23, 23, 23, 127, 21, 21, 21, 127, 15, 15, 15, 127, 21, 21, 21, 127, 18, 18, 18, 127, 24, 24, 24, 127, 26, 26, 26, 127, 29, 29, 29, 127, 25, 25, 27, 127, 30, 30, 31, 127, 31, 31, 33, 127, 33, 33, 35, 127, 30, 30, 31, 127, 33, 33, 35, 127, 31, 31, 33, 127, 31, 31, 33, 127, 33, 33, 35, 127, 35, 35, 37, 127, 41, 41, 43, 127, 41, 41, 41, 127, 41, 41, 43, 127, 43, 43, 45, 127, 39, 39, 41, 127, 39, 39, 41, 127, 39, 39, 41, 127, 33, 33, 35, 127, 37, 37, 39, 127, 33, 33, 35, 127, 30, 30, 31, 127, 20, 20, 22, 127, 20, 20, 22, 127, 37, 37, 39, 127, 37, 37, 39, 127, 31, 31, 33, 127, 31, 31, 33, 127, 49, 49, 51, 127, 43, 43, 45, 127, 37, 37, 39, 127, 29, 29, 31, 127, 25, 25, 27, 127, 31, 31, 33, 127, 35, 35, 37, 127, 33, 33, 35, 127, 25, 25, 27, 127, 22, 22, 24, 127, 24, 24, 25, 127, 21, 21, 21, 127, 17, 17, 17, 127, 19, 19, 19, 127, 17, 17, 17, 127, 11, 11, 11, 127, 9, 9, 9, 127, 14, 14, 14, 127, 10, 10, 10, 127, 18, 18, 18, 127, 22, 22, 22, 127, 6, 6, 6, 127, 4, 4, 4, 127, 8, 8, 8, 127, 10, 10, 10, 127, 6, 6, 6, 127, 4, 4, 4, 127, 5, 5, 5, 127, 8, 8, 8, 127, 14, 14, 14, 127, 15, 15, 15, 127, 12, 12, 12, 127, 8, 8, 8, 127, 6, 6, 6, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 8, 8, 8, 127, 9, 9, 9, 127, 7, 7, 7, 127, 8, 9, 9, 127, 12, 10, 8, 127, 15, 14, 15, 127, 96, 107, 115, 127, 105, 118, 134, 127, 107, 119, 137, 127, 111, 127, 139, 127, 106, 123, 137, 127, 111, 127, 142, 127, 105, 121, 137, 127, 100, 116, 133, 127, 102, 117, 137, 127, \ +127, 174, 74, 127, 130, 175, 78, 127, 125, 171, 73, 127, 119, 165, 68, 127, 133, 179, 82, 127, 122, 171, 67, 127, 114, 165, 53, 127, 126, 174, 72, 127, 130, 174, 69, 127, 141, 177, 67, 127, 156, 185, 77, 127, 155, 185, 74, 127, 140, 175, 59, 127, 140, 179, 61, 127, 143, 179, 63, 127, 140, 179, 63, 127, 138, 183, 63, 127, 139, 181, 61, 127, 140, 181, 61, 127, 136, 175, 55, 127, 123, 160, 43, 127, 121, 158, 43, 127, 125, 164, 49, 127, 135, 170, 55, 127, 134, 171, 57, 127, 129, 167, 55, 127, 132, 169, 59, 127, 135, 173, 59, 127, 136, 175, 64, 127, 135, 175, 64, 127, 134, 177, 59, 127, 135, 181, 59, 127, 137, 185, 71, 127, 124, 174, 64, 127, 123, 173, 61, 127, 131, 177, 68, 127, 138, 175, 84, 127, 84, 101, 57, 127, 17, 20, 13, 127, 16, 16, 16, 127, 18, 21, 15, 127, 29, 30, 33, 127, 35, 35, 39, 127, 33, 33, 33, 127, 31, 31, 31, 127, 27, 27, 27, 127, 23, 23, 23, 127, 24, 24, 24, 127, 20, 20, 20, 127, 17, 17, 17, 127, 17, 17, 17, 127, 20, 20, 20, 127, 14, 14, 14, 127, 10, 10, 10, 127, 23, 23, 23, 127, 14, 14, 14, 127, 14, 14, 14, 127, 16, 16, 16, 127, 13, 13, 13, 127, 11, 11, 11, 127, 17, 17, 17, 127, 18, 18, 18, 127, 8, 8, 8, 127, 17, 17, 17, 127, 19, 19, 19, 127, 23, 23, 23, 127, 24, 24, 24, 127, 20, 20, 20, 127, 19, 19, 19, 127, 18, 18, 18, 127, 11, 11, 11, 127, 21, 21, 21, 127, 21, 21, 21, 127, 15, 15, 15, 127, 18, 18, 18, 127, 25, 25, 25, 127, 17, 17, 17, 127, 24, 24, 24, 127, 28, 28, 28, 127, 31, 31, 31, 127, 33, 33, 33, 127, 33, 33, 35, 127, 41, 41, 43, 127, 35, 35, 37, 127, 31, 31, 33, 127, 37, 37, 39, 127, 35, 35, 37, 127, 31, 31, 33, 127, 29, 29, 31, 127, 31, 31, 33, 127, 39, 39, 41, 127, 33, 33, 35, 127, 41, 41, 43, 127, 39, 39, 41, 127, 39, 39, 41, 127, 39, 39, 41, 127, 39, 39, 41, 127, 35, 35, 37, 127, 39, 39, 41, 127, 37, 37, 39, 127, 33, 33, 35, 127, 24, 24, 26, 127, 22, 22, 24, 127, 31, 31, 33, 127, 37, 37, 39, 127, 31, 31, 33, 127, 24, 24, 26, 127, 43, 43, 45, 127, 45, 45, 47, 127, 33, 33, 35, 127, 30, 30, 31, 127, 29, 29, 31, 127, 29, 29, 31, 127, 33, 33, 35, 127, 33, 33, 35, 127, 23, 23, 25, 127, 24, 24, 26, 127, 24, 24, 25, 127, 19, 19, 19, 127, 21, 21, 21, 127, 19, 19, 19, 127, 19, 19, 19, 127, 11, 11, 11, 127, 13, 13, 13, 127, 11, 11, 11, 127, 15, 15, 15, 127, 19, 19, 19, 127, 24, 24, 24, 127, 5, 5, 5, 127, 6, 6, 6, 127, 8, 8, 8, 127, 8, 8, 8, 127, 8, 8, 8, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 7, 7, 127, 13, 13, 13, 127, 13, 13, 13, 127, 9, 9, 9, 127, 8, 8, 8, 127, 6, 6, 6, 127, 6, 6, 6, 127, 5, 5, 5, 127, 7, 7, 7, 127, 8, 8, 8, 127, 9, 9, 9, 127, 9, 9, 9, 127, 8, 8, 8, 127, 7, 8, 7, 127, 10, 8, 8, 127, 28, 29, 31, 127, 105, 120, 130, 127, 104, 121, 135, 127, 110, 124, 139, 127, 106, 118, 131, 127, 104, 118, 134, 127, 106, 121, 137, 127, 103, 118, 134, 127, 102, 116, 134, 127, 110, 124, 144, 127, \ +114, 166, 59, 127, 121, 171, 68, 127, 120, 170, 70, 127, 120, 168, 76, 127, 130, 179, 88, 127, 121, 174, 75, 127, 112, 166, 61, 127, 116, 166, 69, 127, 123, 166, 68, 127, 139, 175, 72, 127, 160, 185, 87, 127, 155, 179, 80, 127, 141, 173, 65, 127, 142, 177, 68, 127, 148, 185, 74, 127, 149, 189, 78, 127, 141, 185, 73, 127, 147, 191, 76, 127, 149, 193, 75, 127, 135, 179, 59, 127, 123, 163, 45, 127, 125, 162, 45, 127, 130, 166, 47, 127, 142, 174, 57, 127, 141, 175, 61, 127, 139, 173, 64, 127, 140, 173, 69, 127, 143, 179, 70, 127, 143, 179, 67, 127, 138, 175, 61, 127, 135, 177, 51, 127, 131, 175, 43, 127, 136, 181, 63, 127, 128, 174, 59, 127, 135, 181, 63, 127, 146, 189, 78, 127, 127, 160, 76, 127, 61, 77, 35, 127, 30, 31, 22, 127, 21, 20, 20, 127, 25, 29, 26, 127, 24, 26, 28, 127, 43, 45, 45, 127, 31, 31, 30, 127, 33, 33, 31, 127, 28, 28, 28, 127, 22, 22, 22, 127, 26, 26, 26, 127, 24, 24, 24, 127, 19, 19, 19, 127, 23, 23, 23, 127, 21, 21, 21, 127, 12, 12, 12, 127, 21, 21, 21, 127, 22, 22, 22, 127, 14, 14, 14, 127, 19, 19, 19, 127, 18, 18, 18, 127, 20, 20, 20, 127, 18, 18, 18, 127, 13, 13, 13, 127, 18, 18, 18, 127, 14, 14, 14, 127, 17, 17, 17, 127, 18, 18, 18, 127, 20, 20, 20, 127, 25, 25, 25, 127, 23, 23, 23, 127, 19, 19, 19, 127, 19, 19, 19, 127, 14, 14, 14, 127, 22, 22, 22, 127, 13, 13, 13, 127, 14, 14, 14, 127, 21, 21, 21, 127, 18, 18, 18, 127, 18, 18, 18, 127, 22, 22, 22, 127, 25, 25, 25, 127, 31, 31, 31, 127, 33, 33, 35, 127, 35, 35, 37, 127, 37, 37, 39, 127, 31, 31, 33, 127, 35, 35, 37, 127, 33, 33, 35, 127, 37, 37, 39, 127, 33, 33, 35, 127, 31, 31, 33, 127, 35, 35, 37, 127, 45, 45, 47, 127, 29, 29, 31, 127, 37, 37, 39, 127, 35, 35, 37, 127, 37, 37, 39, 127, 41, 41, 43, 127, 37, 37, 39, 127, 39, 39, 41, 127, 37, 37, 39, 127, 37, 37, 39, 127, 35, 35, 37, 127, 28, 28, 30, 127, 24, 24, 26, 127, 27, 27, 29, 127, 37, 37, 39, 127, 26, 26, 28, 127, 22, 22, 24, 127, 35, 35, 37, 127, 41, 41, 43, 127, 31, 31, 33, 127, 27, 27, 29, 127, 31, 31, 33, 127, 28, 28, 30, 127, 37, 37, 39, 127, 33, 33, 35, 127, 25, 25, 27, 127, 20, 20, 22, 127, 21, 21, 22, 127, 21, 21, 21, 127, 18, 18, 18, 127, 16, 16, 16, 127, 20, 20, 20, 127, 12, 12, 12, 127, 15, 15, 15, 127, 9, 9, 9, 127, 12, 12, 12, 127, 18, 18, 18, 127, 25, 25, 25, 127, 4, 4, 4, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 6, 6, 6, 127, 7, 7, 7, 127, 11, 11, 11, 127, 9, 9, 9, 127, 8, 8, 8, 127, 7, 7, 7, 127, 7, 7, 7, 127, 5, 5, 5, 127, 6, 6, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 12, 12, 12, 127, 10, 10, 10, 127, 7, 7, 6, 127, 7, 7, 7, 127, 7, 7, 7, 127, 37, 41, 47, 127, 107, 123, 137, 127, 101, 121, 135, 127, 105, 118, 132, 127, 101, 111, 124, 127, 95, 108, 123, 127, 100, 113, 130, 127, 97, 110, 128, 127, 97, 110, 129, 127, 103, 116, 137, 127, \ +109, 167, 49, 127, 115, 171, 57, 127, 114, 170, 61, 127, 111, 167, 63, 127, 117, 173, 72, 127, 115, 170, 66, 127, 112, 167, 59, 127, 115, 166, 63, 127, 120, 164, 64, 127, 133, 171, 70, 127, 152, 181, 85, 127, 143, 171, 73, 127, 136, 170, 66, 127, 142, 179, 74, 127, 153, 187, 85, 127, 161, 193, 90, 127, 151, 185, 79, 127, 155, 189, 78, 127, 157, 193, 77, 127, 144, 183, 64, 127, 140, 177, 59, 127, 144, 177, 59, 127, 149, 183, 64, 127, 154, 185, 68, 127, 148, 181, 67, 127, 147, 181, 71, 127, 146, 181, 73, 127, 144, 181, 69, 127, 139, 177, 61, 127, 137, 175, 61, 127, 139, 179, 55, 127, 133, 177, 43, 127, 131, 179, 51, 127, 130, 177, 49, 127, 137, 185, 55, 127, 140, 185, 66, 127, 110, 148, 53, 127, 88, 111, 45, 127, 39, 41, 25, 127, 19, 19, 20, 127, 31, 33, 39, 127, 28, 29, 33, 127, 51, 51, 53, 127, 30, 30, 30, 127, 29, 29, 29, 127, 29, 29, 29, 127, 24, 24, 24, 127, 30, 30, 30, 127, 25, 25, 25, 127, 20, 20, 20, 127, 27, 27, 27, 127, 17, 17, 17, 127, 15, 15, 15, 127, 29, 29, 30, 127, 17, 17, 18, 127, 19, 19, 20, 127, 22, 22, 23, 127, 22, 22, 22, 127, 27, 27, 27, 127, 25, 25, 25, 127, 16, 16, 16, 127, 13, 13, 13, 127, 11, 11, 11, 127, 14, 14, 14, 127, 19, 19, 19, 127, 18, 18, 18, 127, 26, 26, 26, 127, 26, 26, 26, 127, 24, 24, 24, 127, 19, 19, 19, 127, 20, 20, 20, 127, 15, 15, 15, 127, 11, 11, 11, 127, 17, 17, 17, 127, 24, 24, 24, 127, 17, 17, 18, 127, 23, 23, 24, 127, 24, 24, 25, 127, 25, 25, 25, 127, 26, 26, 26, 127, 29, 29, 31, 127, 33, 33, 35, 127, 29, 29, 31, 127, 27, 27, 29, 127, 31, 31, 33, 127, 33, 33, 35, 127, 35, 35, 37, 127, 33, 33, 35, 127, 30, 30, 31, 127, 35, 35, 37, 127, 45, 45, 47, 127, 31, 31, 33, 127, 33, 33, 35, 127, 33, 33, 35, 127, 37, 37, 39, 127, 39, 39, 41, 127, 37, 37, 39, 127, 39, 37, 41, 127, 35, 33, 37, 127, 39, 39, 41, 127, 37, 37, 39, 127, 33, 33, 35, 127, 31, 31, 33, 127, 27, 27, 29, 127, 37, 37, 39, 127, 29, 29, 31, 127, 31, 31, 33, 127, 37, 37, 39, 127, 37, 37, 39, 127, 33, 33, 35, 127, 25, 25, 27, 127, 31, 31, 33, 127, 31, 31, 33, 127, 35, 35, 37, 127, 30, 30, 31, 127, 26, 26, 28, 127, 20, 20, 22, 127, 16, 16, 17, 127, 21, 21, 21, 127, 14, 14, 14, 127, 14, 14, 14, 127, 17, 17, 17, 127, 15, 15, 15, 127, 15, 15, 15, 127, 11, 11, 11, 127, 8, 8, 8, 127, 16, 16, 16, 127, 20, 20, 20, 127, 5, 5, 5, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 5, 5, 5, 127, 3, 3, 3, 127, 5, 5, 5, 127, 8, 8, 8, 127, 10, 10, 10, 127, 8, 8, 8, 127, 9, 9, 9, 127, 10, 10, 10, 127, 9, 9, 9, 127, 7, 7, 7, 127, 9, 9, 9, 127, 8, 8, 8, 127, 8, 8, 8, 127, 11, 11, 11, 127, 9, 9, 9, 127, 8, 8, 7, 127, 7, 6, 7, 127, 7, 6, 7, 127, 45, 51, 57, 127, 102, 117, 134, 127, 96, 113, 130, 127, 97, 110, 122, 127, 94, 107, 117, 127, 91, 106, 119, 127, 95, 110, 126, 127, 100, 114, 130, 127, 95, 109, 127, 127, 94, 108, 127, 127, \ +109, 167, 49, 127, 111, 171, 49, 127, 104, 165, 41, 127, 94, 155, 37, 127, 107, 165, 55, 127, 121, 175, 64, 127, 117, 169, 57, 127, 122, 171, 63, 127, 125, 168, 61, 127, 131, 170, 66, 127, 141, 177, 76, 127, 134, 169, 65, 127, 130, 168, 61, 127, 135, 177, 70, 127, 147, 183, 81, 127, 163, 195, 92, 127, 154, 189, 80, 127, 152, 189, 73, 127, 158, 195, 77, 127, 154, 191, 73, 127, 150, 187, 71, 127, 159, 191, 78, 127, 165, 195, 85, 127, 164, 193, 84, 127, 157, 191, 80, 127, 151, 189, 73, 127, 146, 185, 70, 127, 142, 183, 65, 127, 138, 179, 59, 127, 135, 177, 61, 127, 140, 183, 61, 127, 136, 183, 53, 127, 121, 175, 37, 127, 121, 179, 39, 127, 129, 181, 53, 127, 125, 175, 47, 127, 119, 167, 41, 127, 100, 131, 49, 127, 29, 33, 19, 127, 31, 33, 31, 127, 22, 22, 28, 127, 43, 43, 47, 127, 47, 49, 49, 127, 25, 25, 25, 127, 29, 29, 29, 127, 23, 23, 23, 127, 27, 27, 27, 127, 30, 30, 30, 127, 19, 19, 19, 127, 22, 22, 22, 127, 25, 25, 25, 127, 20, 20, 20, 127, 22, 22, 22, 127, 28, 28, 30, 127, 16, 16, 18, 127, 23, 23, 25, 127, 26, 26, 28, 127, 25, 25, 27, 127, 27, 27, 27, 127, 29, 29, 29, 127, 18, 18, 18, 127, 6, 6, 6, 127, 10, 10, 10, 127, 15, 15, 15, 127, 14, 14, 14, 127, 17, 17, 17, 127, 24, 24, 24, 127, 29, 29, 29, 127, 26, 26, 26, 127, 19, 19, 19, 127, 19, 19, 19, 127, 11, 11, 11, 127, 14, 14, 14, 127, 16, 16, 16, 127, 20, 20, 21, 127, 21, 21, 23, 127, 25, 25, 27, 127, 26, 26, 28, 127, 25, 25, 26, 127, 27, 27, 29, 127, 33, 33, 35, 127, 35, 35, 37, 127, 25, 25, 27, 127, 28, 28, 30, 127, 30, 30, 31, 127, 30, 30, 31, 127, 31, 31, 33, 127, 35, 35, 37, 127, 33, 33, 35, 127, 35, 35, 37, 127, 37, 37, 39, 127, 30, 30, 31, 127, 28, 28, 30, 127, 30, 30, 31, 127, 37, 37, 39, 127, 39, 39, 41, 127, 41, 39, 43, 127, 43, 41, 43, 127, 41, 39, 41, 127, 43, 41, 43, 127, 39, 39, 41, 127, 43, 43, 45, 127, 37, 37, 39, 127, 30, 30, 31, 127, 39, 39, 41, 127, 30, 30, 31, 127, 37, 37, 39, 127, 35, 35, 37, 127, 33, 33, 35, 127, 35, 35, 37, 127, 28, 28, 30, 127, 29, 29, 31, 127, 26, 26, 28, 127, 29, 29, 31, 127, 28, 28, 30, 127, 26, 26, 28, 127, 22, 22, 24, 127, 16, 16, 17, 127, 21, 21, 21, 127, 11, 11, 11, 127, 12, 12, 12, 127, 13, 13, 13, 127, 17, 17, 17, 127, 16, 16, 16, 127, 13, 13, 13, 127, 7, 7, 7, 127, 17, 17, 17, 127, 15, 15, 15, 127, 4, 4, 4, 127, 5, 5, 5, 127, 5, 5, 5, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 8, 8, 8, 127, 9, 9, 9, 127, 6, 6, 6, 127, 7, 7, 7, 127, 10, 10, 10, 127, 9, 9, 9, 127, 8, 8, 8, 127, 6, 6, 6, 127, 9, 9, 9, 127, 10, 10, 10, 127, 10, 10, 10, 127, 13, 13, 13, 127, 11, 11, 11, 127, 8, 8, 8, 127, 7, 6, 6, 127, 5, 4, 5, 127, 51, 57, 63, 127, 100, 113, 130, 127, 98, 110, 130, 127, 93, 105, 117, 127, 89, 104, 113, 127, 81, 98, 109, 127, 87, 103, 116, 127, 92, 108, 123, 127, 94, 109, 126, 127, 85, 100, 118, 127, \ +110, 166, 53, 127, 117, 175, 51, 127, 110, 169, 39, 127, 108, 166, 41, 127, 121, 175, 61, 127, 127, 181, 64, 127, 126, 177, 61, 127, 132, 179, 70, 127, 134, 177, 70, 127, 138, 179, 75, 127, 139, 181, 76, 127, 143, 181, 75, 127, 136, 179, 67, 127, 133, 181, 63, 127, 142, 185, 70, 127, 155, 193, 80, 127, 150, 189, 75, 127, 153, 193, 79, 127, 162, 199, 90, 127, 159, 197, 83, 127, 150, 189, 71, 127, 154, 191, 78, 127, 156, 193, 79, 127, 164, 197, 85, 127, 158, 197, 78, 127, 148, 191, 69, 127, 142, 185, 61, 127, 133, 177, 51, 127, 128, 175, 47, 127, 127, 177, 49, 127, 125, 177, 45, 127, 130, 187, 51, 127, 113, 175, 37, 127, 111, 179, 39, 127, 122, 179, 45, 127, 124, 175, 41, 127, 118, 168, 43, 127, 81, 110, 45, 127, 33, 33, 27, 127, 29, 24, 22, 127, 33, 31, 31, 127, 41, 41, 39, 127, 19, 19, 18, 127, 23, 23, 24, 127, 27, 26, 25, 127, 25, 25, 25, 127, 26, 26, 26, 127, 18, 18, 18, 127, 15, 15, 15, 127, 27, 27, 27, 127, 28, 28, 28, 127, 21, 21, 21, 127, 28, 28, 28, 127, 27, 27, 29, 127, 19, 19, 21, 127, 24, 24, 26, 127, 26, 26, 28, 127, 26, 26, 28, 127, 28, 28, 29, 127, 30, 30, 30, 127, 17, 17, 17, 127, 6, 6, 6, 127, 11, 11, 11, 127, 15, 15, 15, 127, 14, 14, 14, 127, 20, 20, 20, 127, 26, 26, 26, 127, 29, 29, 29, 127, 22, 22, 22, 127, 16, 16, 16, 127, 14, 14, 14, 127, 13, 13, 13, 127, 17, 17, 17, 127, 18, 18, 18, 127, 20, 20, 21, 127, 19, 19, 21, 127, 26, 26, 28, 127, 26, 26, 28, 127, 30, 30, 31, 127, 31, 31, 33, 127, 31, 31, 33, 127, 31, 31, 33, 127, 28, 28, 30, 127, 31, 31, 33, 127, 35, 35, 37, 127, 35, 35, 37, 127, 35, 35, 37, 127, 45, 45, 47, 127, 37, 37, 39, 127, 31, 31, 33, 127, 31, 31, 33, 127, 28, 28, 30, 127, 21, 21, 23, 127, 26, 26, 28, 127, 28, 28, 30, 127, 33, 33, 35, 127, 35, 33, 37, 127, 39, 37, 41, 127, 45, 43, 45, 127, 43, 41, 43, 127, 41, 39, 43, 127, 49, 47, 51, 127, 41, 41, 43, 127, 37, 37, 39, 127, 45, 45, 47, 127, 35, 35, 37, 127, 35, 35, 37, 127, 31, 31, 33, 127, 31, 31, 33, 127, 31, 31, 33, 127, 27, 27, 29, 127, 31, 31, 33, 127, 28, 28, 30, 127, 28, 28, 30, 127, 21, 21, 23, 127, 21, 21, 23, 127, 19, 19, 21, 127, 19, 19, 20, 127, 18, 18, 18, 127, 10, 10, 10, 127, 14, 14, 14, 127, 12, 12, 12, 127, 23, 23, 23, 127, 18, 18, 18, 127, 14, 14, 14, 127, 7, 7, 7, 127, 13, 13, 13, 127, 17, 17, 17, 127, 6, 6, 6, 127, 4, 4, 4, 127, 4, 4, 4, 127, 3, 3, 3, 127, 4, 4, 4, 127, 4, 4, 4, 127, 9, 9, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 8, 8, 8, 127, 10, 10, 10, 127, 8, 8, 8, 127, 7, 7, 7, 127, 6, 6, 6, 127, 11, 11, 11, 127, 11, 11, 11, 127, 11, 11, 11, 127, 14, 14, 14, 127, 10, 10, 10, 127, 7, 7, 7, 127, 8, 8, 8, 127, 4, 5, 5, 127, 57, 65, 71, 127, 93, 106, 123, 127, 96, 109, 128, 127, 88, 99, 112, 127, 81, 96, 105, 127, 81, 97, 108, 127, 80, 94, 107, 127, 88, 102, 117, 127, 87, 100, 117, 127, 86, 101, 117, 127, \ +117, 172, 55, 127, 124, 177, 57, 127, 115, 168, 45, 127, 121, 172, 49, 127, 126, 175, 51, 127, 127, 177, 57, 127, 129, 177, 64, 127, 137, 183, 75, 127, 140, 185, 80, 127, 132, 177, 71, 127, 138, 179, 75, 127, 149, 185, 85, 127, 145, 187, 78, 127, 139, 187, 65, 127, 143, 189, 64, 127, 149, 189, 68, 127, 144, 187, 67, 127, 153, 195, 83, 127, 158, 199, 89, 127, 151, 193, 75, 127, 145, 187, 59, 127, 150, 189, 67, 127, 151, 185, 67, 127, 166, 199, 81, 127, 166, 201, 82, 127, 149, 191, 72, 127, 135, 181, 49, 127, 122, 172, 31, 127, 119, 172, 33, 127, 117, 174, 33, 127, 113, 174, 30, 127, 122, 183, 39, 127, 116, 173, 35, 127, 110, 175, 37, 127, 120, 183, 45, 127, 114, 169, 33, 127, 99, 152, 37, 127, 79, 111, 37, 127, 74, 79, 53, 127, 27, 24, 20, 127, 55, 53, 53, 127, 18, 16, 15, 127, 22, 22, 19, 127, 25, 25, 25, 127, 22, 22, 23, 127, 24, 24, 24, 127, 17, 17, 17, 127, 14, 14, 14, 127, 21, 21, 21, 127, 26, 26, 26, 127, 23, 23, 23, 127, 18, 18, 18, 127, 30, 30, 30, 127, 26, 26, 28, 127, 19, 19, 21, 127, 17, 17, 19, 127, 29, 29, 31, 127, 23, 23, 25, 127, 26, 26, 27, 127, 29, 29, 29, 127, 18, 18, 18, 127, 4, 4, 4, 127, 11, 11, 11, 127, 18, 18, 18, 127, 16, 16, 16, 127, 23, 23, 23, 127, 27, 27, 27, 127, 28, 28, 28, 127, 22, 22, 22, 127, 16, 16, 16, 127, 11, 11, 11, 127, 16, 16, 16, 127, 17, 17, 17, 127, 19, 19, 19, 127, 23, 23, 23, 127, 24, 24, 26, 127, 21, 21, 23, 127, 33, 33, 35, 127, 33, 33, 35, 127, 39, 39, 41, 127, 39, 39, 41, 127, 39, 39, 41, 127, 33, 33, 35, 127, 35, 35, 37, 127, 35, 35, 37, 127, 33, 33, 35, 127, 37, 37, 39, 127, 39, 39, 41, 127, 37, 37, 39, 127, 33, 33, 35, 127, 31, 31, 33, 127, 28, 28, 30, 127, 23, 23, 25, 127, 27, 27, 29, 127, 33, 33, 35, 127, 33, 33, 35, 127, 35, 35, 37, 127, 47, 45, 49, 127, 43, 41, 45, 127, 41, 39, 43, 127, 43, 41, 43, 127, 45, 43, 47, 127, 41, 41, 43, 127, 41, 41, 43, 127, 45, 45, 47, 127, 41, 41, 43, 127, 35, 35, 37, 127, 31, 31, 33, 127, 33, 33, 35, 127, 35, 35, 37, 127, 31, 31, 33, 127, 28, 28, 30, 127, 28, 28, 30, 127, 28, 28, 30, 127, 23, 23, 25, 127, 17, 17, 19, 127, 15, 15, 17, 127, 19, 19, 20, 127, 16, 16, 16, 127, 14, 14, 14, 127, 14, 14, 14, 127, 16, 16, 16, 127, 28, 28, 28, 127, 20, 20, 20, 127, 14, 14, 14, 127, 7, 7, 7, 127, 8, 8, 8, 127, 14, 14, 14, 127, 11, 11, 11, 127, 5, 5, 5, 127, 3, 3, 3, 127, 2, 2, 2, 127, 4, 4, 4, 127, 4, 4, 4, 127, 9, 9, 9, 127, 6, 6, 6, 127, 4, 4, 4, 127, 3, 3, 3, 127, 5, 5, 5, 127, 7, 7, 7, 127, 9, 9, 9, 127, 6, 6, 6, 127, 15, 15, 15, 127, 10, 10, 10, 127, 11, 11, 11, 127, 12, 12, 12, 127, 9, 9, 9, 127, 7, 7, 7, 127, 6, 6, 6, 127, 4, 5, 6, 127, 55, 61, 70, 127, 86, 100, 115, 127, 97, 111, 126, 127, 80, 91, 103, 127, 75, 89, 99, 127, 78, 93, 102, 127, 79, 92, 103, 127, 80, 92, 106, 127, 83, 95, 110, 127, 87, 100, 116, 127} +#endif /*__160_INPUT_IMAGE_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/192_0_25_parameters.h b/Inc/intq-mobilenet-v1-models-pc/192_0_25_parameters.h new file mode 100644 index 0000000..80a4785 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/192_0_25_parameters.h @@ -0,0 +1,361 @@ +#ifndef __192_0_25_PARAMETERS_H__ +#define __192_0_25_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (192) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (8) +#define CONV1_OUT_DIM (96) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (96) +#define CONV2_IM_CH (8) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (8) +#define CONV2_OUT_DIM (96) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (96) +#define CONV3_IM_CH (8) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (16) +#define CONV3_OUT_DIM (96) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (96) +#define CONV4_IM_CH (16) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (16) +#define CONV4_OUT_DIM (48) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (48) +#define CONV5_IM_CH (16) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (32) +#define CONV5_OUT_DIM (48) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (48) +#define CONV6_IM_CH (32) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (32) +#define CONV6_OUT_DIM (48) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (48) +#define CONV7_IM_CH (32) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (32) +#define CONV7_OUT_DIM (48) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (48) +#define CONV8_IM_CH (32) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (32) +#define CONV8_OUT_DIM (24) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (24) +#define CONV9_IM_CH (32) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (64) +#define CONV9_OUT_DIM (24) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (24) +#define CONV10_IM_CH (64) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (64) +#define CONV10_OUT_DIM (24) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (24) +#define CONV11_IM_CH (64) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (64) +#define CONV11_OUT_DIM (24) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (24) +#define CONV12_IM_CH (64) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (64) +#define CONV12_OUT_DIM (12) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (12) +#define CONV13_IM_CH (64) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (128) +#define CONV13_OUT_DIM (12) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (12) +#define CONV14_IM_CH (128) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (128) +#define CONV14_OUT_DIM (12) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (12) +#define CONV15_IM_CH (128) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (128) +#define CONV15_OUT_DIM (12) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (12) +#define CONV16_IM_CH (128) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (128) +#define CONV16_OUT_DIM (12) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (12) +#define CONV17_IM_CH (128) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (128) +#define CONV17_OUT_DIM (12) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (12) +#define CONV18_IM_CH (128) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (128) +#define CONV18_OUT_DIM (12) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (12) +#define CONV19_IM_CH (128) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (128) +#define CONV19_OUT_DIM (12) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (12) +#define CONV20_IM_CH (128) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (128) +#define CONV20_OUT_DIM (12) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (12) +#define CONV21_IM_CH (128) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (128) +#define CONV21_OUT_DIM (12) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (12) +#define CONV22_IM_CH (128) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (128) +#define CONV22_OUT_DIM (12) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (12) +#define CONV23_IM_CH (128) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (128) +#define CONV23_OUT_DIM (12) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (12) +#define CONV24_IM_CH (128) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (128) +#define CONV24_OUT_DIM (6) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (6) +#define CONV25_IM_CH (128) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (256) +#define CONV25_OUT_DIM (6) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (6) +#define CONV26_IM_CH (256) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (256) +#define CONV26_OUT_DIM (6) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (6) +#define CONV27_IM_CH (256) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (256) +#define CONV27_OUT_DIM (6) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (256) +#define FC28_OUT_CH (1000) + + +#endif /*__192_0_25_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/192_0_25_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/192_0_25_weights_bias.h new file mode 100644 index 0000000..bd69f84 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/192_0_25_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __192_0_25_WEIGHTS_BIAS_H__ +#define __192_0_25_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {-6068730, -5528332, 194244, 78301, 580909, 194111, 678461, 228207} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-267, -51, -154, -122, -312, -227, 56, 164}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1365106432, 1943098496, 1491990528, 1170242176, 1183174784, 1448502656, 1842795008, 1163524096}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {-327, -1109, -9870, 146234, -9424, 36594, -4477, -4781} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-218, -104, -82, -204, -254, -207, -26, -231}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1113843072, 2127991808, 1816252544, 1972459520, 1771584256, 1789269632, 1428398464, 1128329216}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {-28126, -1649339, 58918, 62625, -44514, 13539, 17912, -14892, 68082, -36893, -15712, 6517, -49754, 12648, -16494, 71591} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {0, -160, -242, -246, 0, -11, -211, 0, -253, -40, -105, 0, -9, -239, -1, -253}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1731321728, 2090310144, 1240436480, 1205630976, 1198784896, 1936467584, 1627877376, 1151061376, 1951735040, 1745673088, 1360254336, 2019067904, 1498053760, 1908551168, 1155330816, 2064256768}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {2515, -314, 3127, 29114, 22931, 2623, 94997, 131652, 4936, 398, -1591, 2821, -1184, 12133, 15679, 17874} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-101, -207, -139, -136, -178, -114, -189, -227, -132, -101, -114, -137, -91, -48, -164, -98}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1948831104, 1912518912, 1711259776, 2122420480, 1602863232, 1595269632, 1329650304, 1242632576, 1236484736, 1424566272, 1331818624, 1120053632, 1174355712, 1910586624, 1480203520, 1910926720}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {33494, -62710, 7805, -20201, 5439, 25471, 16142, -11333, 7260, -10304, 56121, -93535, 46916, 40187, 32815, 35990, -4298, 89657, 32606, -6762, -54375, 34505, 24881, -79875, 55584, 5837, 77368, 7172, -11897, 32833, 173633, 5030} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-181, -8, -121, -46, -86, -166, -120, -38, -41, -52, -196, -47, -193, -174, -212, -201, -39, -205, -192, -20, -26, -178, -198, -20, -243, -107, -248, -107, -114, -211, -129, -106}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {2059534592, 1096539392, 1797767040, 1179152896, 1355756416, 1117328384, 1449689728, 1524047232, 1228661120, 1480179968, 1105832320, 1700209280, 1439565312, 1133954560, 1556770432, 1480579840, 1126270208, 1697967104, 1528889856, 1691176704, 1860321024, 1750918784, 1234210688, 1677805696, 1370043648, 1902111232, 1458454656, 1862749056, 1802794752, 1987307008, 1212479616, 1085723264}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {3097, 19433, 56118, -64, 71, 18218, 164, 11399, 24254, 109, 226, 452, -2473, 17495, -247, 19883, 1470, 24838, 92, 643, -60, -754, 8008, 13333, 36470, -399, 39193, 340, 22411, 8682, -92759, 247} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-11, -138, -211, -120, -161, -92, -155, -146, -120, -107, -53, -138, -11, -116, -133, -73, -101, -124, -110, -96, -117, -144, -50, -55, -182, -132, -36, -114, -119, -103, -9, -128}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1526099328, 1157741184, 1088239232, 1378050560, 1482374144, 1897340928, 1406499200, 1352828672, 1471415808, 1247444352, 1181091328, 1835682944, 2044339584, 1729028480, 2002855808, 2033810816, 1431180032, 1379049856, 1194222848, 1889655296, 1319073408, 1508756736, 1361774464, 1870751488, 2128107904, 2070335872, 1319819648, 1093426816, 1344650880, 1265636736, 1866612736, 1897831424}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {231, 4039, -58116, -12551, 33013, 41734, 53543, 7132, 21568, 12278, 1479, 15793, 41819, 18211, -14372, 9987, 8385, -47110, 26773, 11630, -3052, 14364, 59343, 17051, -8911, 20040, -67156, -2353, -17778, 4972, 81611, -19944} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-130, -98, -22, -181, -120, -145, -140, -96, -123, -63, -133, -128, -151, -167, -132, -114, -94, -65, -166, -37, -58, -102, -146, -57, -128, -95, -99, -119, -163, -136, -154, -190}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1995399040, 2019986432, 1629101952, 1799517696, 1587847040, 2066048640, 1242408704, 2090336128, 1088781440, 1234179072, 1957706496, 1158438656, 1591912576, 1638464256, 1904655104, 1472401280, 1915980544, 1091442176, 2100823424, 1368476800, 1811450624, 1394957696, 1076394240, 1773247360, 1744407680, 1517583744, 2147423232, 1163991040, 1675259520, 1559665536, 1689596544, 1791298688}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {656, 114721, 3008, 4678, 169169, 250999, 18598, -26153, 338782, 1249, 201236, 33519, 14696, 249231, 24353, -701, 174756, 3289, 273261, -104124, 2981, 177166, 188411, 110215, 54657, 135710, 33851, 128234, 8881, 12672, 178600, 17259} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {16, -328, 64, 111, -290, -313, 11, 47, -276, -128, -312, -314, 63, -280, 46, -149, -320, 81, -327, 25, 68, -306, -277, -301, 72, -307, 98, 57, 71, 67, -210, 83}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1623359488, 1288993792, 1878280960, 2115740416, 1736785536, 1482931584, 1154527872, 1742435712, 2065172480, 1633352320, 1410232576, 1088501248, 1837510144, 1261100800, 1856594944, 1744692224, 1715761920, 1476590336, 1602899456, 1390126208, 1967645568, 1587783680, 2108709888, 1455314304, 1897689472, 1643946880, 1799534592, 1840400896, 1342634112, 2020605824, 1481952512, 1444071808}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-26298, 30106, 1474, -4327, -29049, 7056, 22612, 21360, -41566, 9886, 53592, 38253, -15035, 32584, -18974, -49698, -18983, -1749, 53706, 24051, 26952, -3018, 126141, 36266, 32364, -23560, 29585, 20609, 26124, -31591, 35177, 48186, 31397, 70045, 108500, 65344, 26124, -12411, 53678, 2633, 88466, 1151, -11495, 32980, 31003, -16532, 11969, 79378, -21031, 53525, 40389, 60585, 53564, 56963, -29733, 97571, 58127, 36363, 12942, 9688, 15844, 14603, -24049, 62597} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-28, -172, -65, -133, -115, -72, -163, -127, -139, -153, -141, -103, -91, -113, -91, -105, -85, -77, -216, -141, -116, -166, -170, -145, -154, -103, -201, -83, -114, -78, -112, -151, -206, -164, -214, -155, -146, -74, -171, -27, -127, -138, -85, -86, -43, -135, -157, -223, -119, -134, -130, -164, -109, -187, -41, -181, -186, -139, -66, -122, -93, -243, -45, -172}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1682950784, 1524816256, 1375193856, 1404816384, 1873644416, 1659894400, 1128706560, 1264730880, 1079631616, 2047575936, 2109341440, 1962576640, 1827636352, 1808715904, 1470388096, 1497084160, 1771078656, 1350150912, 1929102464, 1894720000, 1556981504, 1536873984, 1717775104, 1706410112, 1854888448, 1290612736, 1551473536, 1960575488, 1448896384, 1611175808, 1082122368, 1943622016, 1793476736, 1780089984, 1687467264, 1807620480, 1130838912, 1656704512, 1788763392, 1252749056, 1307147264, 1821120512, 1219085056, 1759470208, 1329877504, 1164993536, 1543739392, 1535200768, 1371132288, 1523281664, 1776886528, 1233640832, 1191107712, 1783064064, 1112485888, 1782080000, 2123150336, 1775709440, 2050292480, 1737386240, 1386542208, 1545238528, 1742470400, 1274108032}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {-1396, 124, 9350, 2686, 47096, 93201, -2808, 22496, 59679, -2783, 18502, -8941, 28783, -7063, 93834, 58830, 19553, 4775, 22932, 4601, 30353, -6003, -17306, 69665, 24092, -19273, 2373, 19956, -9717, 68866, 46327, 1977, 10475, 260, -5062, 82956, -8223, 67534, 398, 40055, 2927, 20589, 47110, -97, 3847, -5156, 1801, 591, -4975, 893, 2006, 73964, 33198, -27522, -6610, -12117, 6220, 33454, 31088, 66, 29216, 68888, 255, 21472} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-76, -115, -65, -75, -214, -255, -113, -89, -218, 100, -147, -70, -246, -59, -247, -247, -58, -48, -207, -173, -199, -43, -39, -229, -237, -35, -50, -237, -52, -230, -243, -145, -90, -172, -119, -247, -44, -247, -139, -222, -69, -226, -192, -114, -168, -39, -153, -153, -43, -153, -16, -204, -241, -12, -27, -23, -91, -110, -229, -126, -243, -217, -133, -72}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1726330496, 1878801536, 1649024384, 1277501056, 1327768448, 1593649408, 1272161280, 1576368896, 1223558656, 1398067072, 1800651008, 1123727232, 1500286848, 2130484608, 1235474432, 1588338560, 1727477504, 1732999040, 1170790144, 1694225280, 1522720896, 1899713792, 1921425280, 1577005824, 2039768832, 1460185984, 1416265216, 1127694720, 1477981056, 1400799232, 1744756096, 1640346240, 1397621632, 1457528192, 1288777472, 1717828608, 1530107008, 1322436608, 1355217024, 1511879552, 1909891200, 1155997952, 1396515584, 1713180288, 1503772544, 2012685824, 1362075264, 1692359168, 1113719936, 1268457984, 2063947648, 1194190464, 2102553600, 1867643520, 1542159872, 2024253440, 1092275456, 1409755392, 1294519680, 1450549760, 1195410944, 1416785152, 1125288448, 1518420096}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {13618, 4070, 10939, -12180, 6311, 2210, 112108, 37221, -12061, 50981, -3221, -6116, 5609, 11575, 38546, 19433, 2701, -4548, -27654, 29088, -27413, -33592, 15439, -12817, 847, 17888, -36912, -30195, 23741, -16294, 47258, -681, -58975, 25111, 35618, -32243, -5086, 16062, -42091, 20391, 21425, 39767, 91897, 11416, 19527, -49721, -32797, 29211, -16246, 19735, 7076, 7319, 10145, -13727, 39854, 2612, 31175, 26999, 22660, 3303, 16175, 32449, -11830, -44853} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-90, -144, -119, -119, -116, -77, -154, -152, -49, -147, -128, -99, -100, -115, -90, -138, -123, -110, -81, -77, -145, -90, -157, -156, -148, -77, -97, -138, -107, -136, -189, -95, -146, -146, -132, -68, -140, -96, -109, -97, -148, -111, -120, -131, -74, -69, -94, -73, -148, -137, -212, -134, -59, -99, -117, -116, -192, -138, -101, -81, -111, -135, -124, -80}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1341800320, 1140837120, 1232820992, 1609944192, 1733761536, 1709017728, 1938374656, 1224583296, 1975542528, 1164144256, 1765618560, 1550195712, 1328650112, 1239290752, 1650595712, 1817641088, 1177327872, 1229383936, 1271245312, 1487665024, 1201078912, 1489521792, 1367292416, 1972978944, 2099727232, 1320387968, 1331097344, 1112246784, 1395442432, 1207440384, 1660702848, 1987184256, 1420764800, 1268381824, 1810323584, 1303676672, 1511066880, 1337074048, 1442174080, 1788436480, 1497963392, 1797708288, 1873190144, 1821646848, 1164740352, 1766202624, 1345474048, 1100670080, 1206182784, 1493919488, 1548477696, 1963312896, 1179789312, 1624867584, 1450004480, 1903981952, 1742902400, 1341389184, 1495022592, 1756626816, 1354454656, 1648597504, 1370485632, 1358188672}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {138775, 13623, 151839, 10753, 8265, 268204, -182, 122, 275831, 121265, -356, 129066, 131881, 9597, 63643, 311009, 226458, 119606, 174188, 339863, -1669, 7684, 9483, 84360, 190322, 96982, 2697, -1821, -21919, 67352, 175233, 236833, 3173, 2055, 6991, 21680, 1774, 566, -629, 158296, 117721, 150845, 201680, -575, 300387, 42042, 661, -49060, 63914, 110268, 13250, 1802, 114100, 569, 644, 4738, -775, 276629, 119029, 12, 121359, 129871, 1583, 798} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {-322, 77, -317, 68, 84, -315, -134, 72, -303, -282, 67, -329, -292, 77, -352, -307, -335, -198, -304, -316, 95, 90, 60, -307, -347, -285, 75, 66, 79, -352, -317, -307, 104, 50, -124, 82, 65, 59, -89, -307, -320, -281, -304, -100, -326, 77, 60, 80, -344, -353, 89, 51, -309, 49, 65, 93, 59, -319, -335, -100, -258, -312, 53, 69}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1248003840, 1545962496, 1663630208, 1351174272, 1651408896, 1679936640, 2048710272, 2010411136, 1941705984, 1663740416, 1564393344, 2079721344, 1214535808, 1108011904, 1448361344, 2012371840, 2015309184, 1748085888, 1123535872, 1876488192, 2025699968, 1381290624, 1437356672, 1102510336, 1230431872, 1316488960, 1698829056, 1445434880, 1636385536, 1311491968, 1167483648, 1650117760, 1142760320, 1242536064, 1513048192, 1167029504, 1511447808, 1351252864, 1260368512, 1454196992, 1486261120, 1231504128, 1085640704, 1631577728, 1896850816, 1168662144, 1319225472, 1195657344, 1428642176, 1295144064, 1597363328, 1240138624, 1990487808, 2126781952, 2094420352, 1309016192, 1843206912, 2085312256, 1627170816, 1223624320, 1308055040, 1205346304, 1569499136, 1645902976}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {64263, 74888, 18094, 26109, 20438, 38985, 110348, 1164, 14567, 13811, 10528, 55938, -9098, 997, -658, 29662, 12706, 790, -35852, 23001, 25164, 96480, -39880, 26776, -8807, 99683, 16401, 102226, 97662, 52974, 32017, -1279, 13586, -38182, 55417, -47036, 79538, 54736, 95330, 25190, -10157, 371, 25866, -353, 74119, 7125, -25702, 57979, 22334, 38864, 12488, -16123, 69863, 100804, -3825, 99882, 10273, -4253, -25005, 5900, -11631, -6653, 54725, 37200, 64515, 133094, -11174, 27159, 23938, 16455, 6119, 15306, 15567, 1760, -45463, 4101, 2068, 23273, 28198, 94553, 53705, 57015, 28387, 8966, 33917, 46111, 29449, 3218, -4158, 26799, 18959, 47839, 6760, 23077, 11597, 33167, 45821, 31784, 40279, -9877, 1423, -107, -26535, 85765, 23115, 67369, 3843, -5240, 13669, 64082, 4705, 138208, 25400, 46745, 69404, -4988, 32258, -5194, -7768, -2382, -7638, 27124, -3010, 52487, 39028, 123781, 33326, 24006} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-225, -176, -103, -117, -92, -125, -167, -52, -184, -158, -122, -97, -59, -154, -97, -115, -199, -69, -125, -102, -157, -109, -151, -102, -56, -120, -71, -176, -150, -155, -152, -90, -149, -107, -157, -34, -135, -93, -134, -112, -33, -55, -89, -35, -162, -131, -96, -125, -91, -111, -123, -23, -132, -152, -64, -151, -78, -153, -57, -88, -36, -64, -117, -202, -151, -139, -25, -118, -144, -149, -61, -128, -142, -116, -106, -100, -57, -161, -144, -162, -229, -169, -113, -95, -94, -149, -163, -131, -114, -107, -158, -117, -99, -85, -180, -134, -115, -134, -144, -75, -74, -93, -108, -121, -139, -146, -82, -127, -60, -131, -112, -168, -79, -124, -138, -142, -162, -148, -75, -54, -134, -167, -142, -144, -166, -194, -110, -87}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1893398656, 1696563584, 1132936960, 1843904896, 1407544320, 1557529600, 1563837824, 1211172736, 1905638016, 1392746496, 1367112960, 1192990592, 2023648640, 2101802880, 1811713664, 1395483136, 1348675968, 1723395200, 1908663552, 1477728256, 1634453504, 1773164416, 1832476032, 1223123712, 1928076672, 2047014144, 1251871616, 1356961664, 1507132672, 1119468032, 1116878592, 1166996992, 1844916096, 2066926720, 1768411520, 2023955328, 1428246784, 1745917056, 1261621632, 1546640768, 1832862848, 1605082752, 1132095104, 1139903616, 1746259072, 1366882432, 1923478144, 1336049536, 2118946560, 1143935360, 2114873088, 1303083264, 1892316160, 1428005760, 1881081984, 1958295040, 1975091328, 1521884416, 1271334656, 1325464960, 1683203200, 1729007744, 1595884160, 1663792640, 1898324608, 1854458368, 1314568832, 1185077888, 1181168256, 2110781184, 1746878464, 1742525440, 1665667072, 1076122880, 1492941696, 2051048704, 1865357056, 1928208128, 1462992640, 1208481536, 1628375936, 1831847168, 1137279616, 1612850048, 1633865984, 1819926016, 1181843328, 1754151552, 1562585600, 1516755712, 2112776832, 1092820992, 1815451648, 1335430784, 1210977664, 1648137344, 1794037248, 1799220736, 1494516864, 1464043392, 1742356864, 1795524224, 1511489024, 1226561408, 2030592256, 1387489792, 1884781440, 1488053888, 1830952064, 1682125952, 1921190144, 1269437824, 1436847872, 1996681216, 1618068992, 1309968000, 1792312320, 1845187328, 1964525696, 2083427328, 1275376256, 1478420608, 2090583040, 1728647552, 1505771648, 1344180864, 2131141632, 1639461376}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {33855, 24115, -15069, -596, 8888, 29394, -592, 3706, 2187, 93734, -8384, 308, 54, 227, -6175, 25967, 29086, 9330, 1872, 184577, -15581, -2042, 19510, 39487, -5793, 10220, 17153, 1285, 173, -6200, 45088, 159, 32099, -4515, -376, 9118, -423, 472, -446, 62103, 395, 404, 10905, 45096, 153588, 1436, 57633, 10687, -25511, 1377, 48051, 283, 12695, -576, 180, 5587, 1333, 268115, 1163, 37343, 514, 52660, -4550, -2301, -113, -8163, 121, -532, 98893, 537, 511, 60230, 29309, 62, -12014, 763, 99, 1700, -298, -903, -1201, 33021, 682, 89975, 25401, 143, 22821, 96, 30843, 39981, -124, -72, 308, 11664, 39914, 7133, -13731, 26528, 368371, -2140, 243, 42311, 193982, -5262, 30408, -10282, 61719, 899, -7410, 794, -400, -358, 4057, -11878, 56367, 113041, 2824, -742, 10778, -1850, 15230, 3024, 71773, 8968, 34945, 3872, -2238, -9828} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-263, -236, -16, -125, -46, -230, -80, -66, -109, -433, -23, -90, -130, -113, -100, -253, -203, -64, -3, -412, -24, -151, -189, -265, -60, -62, -237, -90, -98, -1, -257, -50, -257, -18, -117, -62, -103, -99, -123, -318, -123, -119, -67, -251, -420, -24, -231, -36, -9, -92, -238, -118, -127, -55, -134, -44, -75, -455, -162, -258, -109, -265, -59, -110, -115, -43, -125, -111, -330, -113, -120, -252, -231, -128, -1, -107, -126, -102, -125, -120, -126, -239, -84, -270, -245, -99, -252, -117, -245, -129, -113, -90, -110, -180, -206, -64, -9, -233, -423, -37, -115, -252, -356, -23, -240, -29, -235, -135, -12, -102, -25, -117, -31, -16, -258, -260, -82, -94, -39, -102, -60, -110, -284, -54, -67, -40, -108, -1}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1595877504, 1172591872, 1583707136, 2090852224, 1526011008, 1711742720, 2109519488, 1085340288, 1830045312, 1296307712, 1393040128, 1186764032, 1542001664, 1872161920, 1427711872, 1881439360, 1131866112, 2107673216, 2131952640, 1810713216, 1114478464, 1763021952, 1953462656, 1676078592, 1482756480, 1353261568, 1316601728, 1307492736, 1558311296, 1106975872, 1625627904, 2026702336, 1740755456, 1096441344, 1371810048, 1643383936, 1702569600, 1740504448, 1528483712, 1229173632, 1320032512, 1339546624, 2084623232, 1818494080, 1209831040, 1107590272, 1611784960, 1086014336, 1739849728, 1853823616, 1397445504, 1084352640, 1865030272, 1145525120, 1525930752, 1543729792, 2028750208, 1463737472, 1139820032, 1381876992, 1226747136, 1209076736, 1997037440, 1150550144, 1578160896, 1149253504, 1180672384, 2029106304, 1754650880, 1209546624, 1363274368, 1596520832, 2107886464, 1524592000, 1291879424, 1233474944, 1668046080, 1389493632, 1388640768, 1377363584, 1501868160, 1154036352, 1849778816, 1455748480, 2023195008, 1273789952, 2002467200, 1885907072, 1201492608, 2054584832, 1430225664, 1858015872, 1952920448, 1085695232, 1613011328, 1341931264, 1080573952, 1261876608, 1842888192, 2134646144, 1532341248, 1157051136, 1720786432, 1588263808, 1786949632, 1711744256, 1740694400, 1084281216, 1430935040, 1971178752, 2118513792, 1166665088, 1806747648, 1734788736, 1195796352, 1146201856, 1337754752, 1930378624, 1987332096, 1176591872, 2082941312, 1202143872, 1640148992, 1175871104, 1966017152, 1123939072, 1109765888, 1707959168}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {29321, -15947, -31140, 14563, 3459, 1712, 19209, 42232, -12605, -18024, -20282, -9732, -8169, 15640, -1188, -1235, 42012, 24378, 47220, 40961, 17982, -8338, 109466, 3030, 13784, 9173, -7662, -12643, 9320, 24260, 2948, 17054, -43959, 1165, 43116, -12011, 4011, 90, -16623, 50666, 29471, 5599, 668, 48052, 42435, 89082, 21712, 14351, -47210, 9039, -1581, 77228, 137803, 54184, 46949, 58838, 14502, -61349, 34895, 12350, 41492, -5167, -14881, -22384, 21189, 31658, 19983, -4536, 55964, 22657, -15487, 93688, 17194, -26537, 16501, 9682, -8995, 6166, 9576, 8336, 12957, -23334, 28061, 41538, -30397, -6773, 7568, 32811, 18416, 10598, -956, 19852, -12306, 103077, 16163, -37561, 48580, 1189, -10394, -34550, 5700, 30392, -26457, 43854, 24287, 11080, -1594, -32256, 35651, 7321, -40608, 35123, -2270, 3185, 12434, 10275, -1313, 7000, -9592, -37354, 6187, 31575, -25362, 12357, 54616, 102757, -50462, -3378} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-98, -91, -96, -132, -68, -79, -175, -115, -152, -124, -113, -116, -104, -186, -133, -90, -112, -67, -90, -142, -77, -94, -75, -119, -119, -156, -136, -192, -64, -126, -68, -162, -98, -141, -134, -171, -129, -120, -104, -88, -131, -177, -111, -154, -115, -82, -107, -75, -114, -60, -177, -103, -152, -134, -61, -139, -131, -71, -168, -64, -160, -81, -119, -121, -181, -152, -193, -163, -127, -96, -138, -151, -105, -147, -131, -98, -161, -141, -49, -151, -103, -104, -182, -116, -102, -121, -139, -113, -161, -97, -128, -124, -122, -113, -148, -123, -156, -125, -87, -118, -114, -122, -103, -212, -106, -107, -146, -143, -120, -115, -140, -107, -101, -149, -53, -182, -184, -143, -146, -93, -106, -105, -142, -209, -119, -107, -116, -120}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1713098368, 1837586944, 1762705280, 1808095360, 1274520832, 1204641664, 1444688000, 1867909888, 1191926400, 1333990144, 1320470912, 1487097728, 1575522432, 1326239616, 1279545344, 1290299904, 1521389696, 1600155392, 1634715136, 1198981760, 1080273536, 1918844672, 1592199424, 2131854208, 1760725504, 1294198400, 2047116160, 1982084352, 1634229376, 1497247232, 1367416064, 1160025728, 2122336768, 2047540992, 1298588416, 1828301056, 1890523008, 1824633216, 1092824832, 1860132864, 1909449984, 1494865536, 1380483712, 1565250560, 2062375040, 1683659776, 1987152768, 2053119104, 1696625920, 1335873920, 1841852672, 1562457088, 1075568256, 1350596224, 1342101632, 2042029440, 1775566464, 1221434880, 1953118464, 1270109056, 1299893504, 1749314816, 1497726464, 1729727360, 1955916416, 1114469376, 1268815488, 1141605120, 1742624384, 1181565824, 1395265664, 1627105408, 1594841472, 1541397120, 1884976768, 1302640896, 1757967104, 1110918144, 1681932288, 2085932416, 1679886976, 1143461120, 1577602176, 1098060160, 1691758336, 2001449216, 1584921600, 1443486976, 1688531968, 1408397312, 1289066752, 1662011520, 1529860864, 1147270784, 1200399744, 1570912512, 1944109568, 1905810688, 1090297472, 1963491584, 1232392192, 1364878464, 1638702464, 1253644672, 1111938176, 1193642368, 1438090112, 1906947328, 1655009920, 2026640768, 1680723968, 1610585728, 2027891712, 1363634432, 1292938240, 1274904704, 2000887424, 1452419712, 1369733760, 1555224960, 1087480832, 1854053376, 1074756992, 1549726976, 2037189376, 1262138752, 1661105920, 1487098880}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {31515, 53428, 11377, 16020, 37, 89183, 5269, 2874, 47827, -10880, 148357, 4019, 9500, 225, -4401, -108, -17411, 1519, 1695, 3210, 4527, 9999, 16065, 6203, -746, 3904, 17397, 26154, 1429, -15597, 40587, -1418, 10551, 255, 1091, 146905, -26027, -35041, -39691, 40521, -1477, 60730, 13071, -4203, -5082, -26, 4656, 17812, -5010, 8194, -1694, 105685, 18606, -13990, 7506, -2326, -10087, -2710, -9516, -945, -4612, 23007, 75731, 8656, -326, 4240, 18576, 85504, -3145, 46374, -33941, 38612, 2870, -25205, 2451, -25701, 862, -6655, 32601, 13004, 142087, 10683, -26516, -13006, 47304, -8209, 6949, -569, 28269, 74392, 26739, 24773, -3041, 15664, 35209, 1191, -20277, -10302, 104479, -14502, -5927, 14924, -1563, -8118, 5667, 65259, 43077, -12030, 40207, 10, -16302, 15990, 158908, 28695, 59029, -5144, 40422, -15903, -761, 68503, -64, -12460, -15197, 6571, -6171, -197, 128, 51713} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-244, -185, -67, -74, -86, -321, -41, -87, -283, -6, -435, -169, -30, -58, -74, -25, -8, -121, -97, -95, -119, -70, -187, -56, -92, -25, -42, -155, -12, 11, -245, -3, -127, -90, 13, -229, 7, 20, 83, -238, -35, -162, -75, -89, -109, -107, -84, -80, -7, -204, -116, -189, -215, -25, -33, -95, -47, 1, -18, -42, -26, -256, -311, -67, -60, -36, -70, -240, -100, -258, 57, -249, -98, 22, -23, 4, -14, -2, -238, -118, -355, -32, -17, -23, -236, 1, -72, -15, -89, -245, -130, -150, -12, -176, -256, -83, -8, -103, -290, 9, -51, -141, -6, -38, -42, -247, -103, 7, -240, -83, 42, -43, -318, -133, -200, 1, -305, -7, -29, -99, -31, -15, 30, -39, -67, -49, -162, -312}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1075317120, 1825637376, 1762262656, 2033879296, 1878531712, 1591650304, 1099360384, 1413386752, 1957682688, 1085301632, 1847304832, 2032816768, 1117844096, 2014753536, 1311242496, 1911769856, 1325066880, 1477988992, 1742395776, 1435358592, 2061461248, 1309517440, 1278910720, 1452945408, 1723839872, 1679880704, 1219850112, 1092340992, 1085626496, 1988809344, 1808293760, 1928659840, 1638841728, 1229175552, 1297803520, 1595753088, 1243282688, 1528774400, 1264147200, 1138253440, 1124791424, 2056560896, 1277366912, 1235489664, 1184213504, 1162458880, 1104890112, 1154276608, 2055515904, 2140327552, 1177745536, 1834340992, 1527762560, 1707309312, 1669970048, 1226388352, 1466229632, 1132376064, 1150509696, 1585808000, 1649552640, 2059173632, 1118405248, 1424056448, 1734845696, 1921125632, 1095716352, 1303814400, 1222068096, 1662302720, 1960729472, 1332221824, 1368963712, 1363931392, 1896569984, 1251717632, 1195305728, 1950206592, 1631209856, 1623612672, 1993540352, 1550776192, 2143775232, 2024171904, 1094781824, 1790489216, 1731391616, 1826686208, 2117106816, 2114415488, 1249836288, 1253011200, 1826104576, 1981048576, 1836938112, 2121542656, 1371618048, 1659114112, 1487209216, 1747162112, 1346483968, 2090624384, 1880242048, 1646162688, 1090846592, 1134245888, 1738223616, 1576493056, 1541528064, 1120669312, 1432934784, 1943754112, 1981224064, 1289286272, 1219813760, 2109994112, 1885195264, 1706973312, 1229065984, 1257611520, 1810707200, 1158422656, 1600442752, 1558204672, 1560003072, 1416334592, 1865760128, 1796443776}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-4592, 35293, 36632, -3370, 18732, 92080, 33813, -5463, -4325, 15222, 56596, -16458, 43744, -20171, 3229, -35982, 15041, -6385, -4564, 74, 23258, 77030, 32407, 5693, -1292, -41880, -6944, -14949, -45907, 3060, 25032, 14894, -15152, 14179, 15618, -19490, 62561, -2477, 23622, 23889, -1619, 31940, 80861, 26373, 18132, 71077, 141, 9874, 1164, 64587, 22339, 120093, 17318, 37191, -1770, -25946, 14239, 25724, 80114, 15384, -1878, 26496, -70815, -79350, -27887, 9138, -43062, -23411, 54286, 16388, 21171, 23187, 4125, 94642, 32282, 31931, 44929, 36440, 15235, -27482, -2546, -27616, 52547, 49733, 60961, -5612, 24652, 61810, 12629, 82311, 29710, 98738, -18396, -22039, 43698, 44278, 32759, -32414, 86446, 9406, 44, 7541, 42736, 2364, 21351, 11925, 30051, 49148, -13305, -10902, -13379, 78194, 43075, 14229, 39259, 5635, 10764, -8070, 64278, 28309, 70897, 23846, 15083, 51069, -3312, 14344, -3788, -16603} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-115, -126, -126, -160, -135, -143, -116, -89, -160, -130, -136, -80, -94, -94, -95, -115, -196, -147, -135, -154, -112, -119, -132, -132, -124, -95, -151, -115, -124, -110, -160, -140, -133, -92, -141, -121, -101, -120, -103, -95, -128, -130, -156, -80, -110, -147, -122, -119, -120, -122, -131, -153, -130, -120, -119, -66, -110, -63, -112, -85, -132, -170, -151, -78, -149, -134, -86, -136, -120, -99, -155, -118, -130, -161, -142, -207, -79, -125, -99, -102, -170, -112, -103, -160, -172, -84, -74, -116, -112, -124, -112, -142, -135, -124, -153, -133, -123, -107, -98, -137, -106, -134, -127, -119, -130, -149, -85, -119, -122, -118, -148, -141, -102, -104, -146, -131, -143, -141, -110, -101, -127, -88, -170, -162, -156, -126, -93, -118}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1176411648, 2124364928, 1396093696, 1142825216, 2088982784, 2119199104, 1699422720, 2110785280, 1870071936, 1541489536, 1870291712, 1420545920, 1079698688, 1473084416, 1097385344, 1704938624, 1687304960, 1403298432, 2003679616, 1276791296, 1870447360, 1128108416, 1298603648, 1289527680, 1297181184, 1728738560, 1494478848, 1255629952, 1582071040, 1202234496, 1257941760, 1799922816, 1387009152, 1236766848, 1282320128, 1329955456, 1976374016, 1875634688, 1573233152, 1314204800, 1526899584, 1942681472, 1369705344, 1631726208, 1980606848, 1198580096, 1205696768, 1618474112, 1429875456, 1833762816, 1352817536, 1717686656, 1489159424, 1259340544, 1622066816, 1416464512, 1654424960, 2111542144, 1078528384, 1939171712, 2068578048, 1200429056, 1136857600, 1825140224, 1366592896, 1252814080, 1206192000, 1102014976, 1482542080, 1249822208, 1889355776, 1507817344, 1595963520, 1102539136, 1824608640, 1636637440, 1249908736, 1797050624, 1351911808, 1193706240, 2099570176, 2072278272, 1967600000, 1169682688, 1494313856, 1502919296, 1105796352, 1689553408, 1134573568, 1494950144, 1310468736, 1636519680, 1920948864, 1285224960, 1526433664, 2025124736, 1928259328, 1482554368, 1200546560, 1342734976, 1777541504, 2077340928, 1446517248, 2033518208, 1749477888, 1367720576, 1416720000, 1239655168, 1119529472, 1315161728, 1093783680, 1102605312, 1584119552, 1400194688, 2017152256, 1391838720, 1302842880, 1359042944, 1333687296, 1629187584, 1101554944, 1479077888, 1177691008, 1798117760, 1500258048, 1159486976, 1353016960, 1096680448}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-2668, -12885, 3685, -19114, -23777, -16136, -3542, 82006, 8991, 32979, -5357, -24983, -14179, 4282, -23577, -23518, 31124, 26744, -2869, 17213, 69735, 17848, 269391, -28107, -4158, -398, -10894, 85804, -2757, 19363, -6029, 8835, 384, 7583, 78805, -8093, -5583, -4613, 49559, -10646, -4477, 65400, 32960, -2549, -585, 28559, 31322, -16591, 18158, -21076, -13846, -3138, 64379, -270, 50699, 10248, 41435, 271677, 2075, -3884, 16335, 45936, 46353, 128327, 43609, -7842, 24934, -3968, 80153, -5498, 24246, -3900, 13306, 1003, -10199, -2924, -15562, 46971, 28304, 30948, 1962, -16406, -8612, -3594, 18502, 21, 51817, -14043, -14418, 10205, 1347, -16494, -14129, -21179, -7787, 46803, -3802, 52726, 3452, 28660, -1536, -2037, 35329, -9366, 11921, 18502, 58475, 28395, -11228, 38710, 5124, 40255, -22460, -13517, 98376, -1824, 38494, 87647, 40449, 17015, 5832, 39033, -16743, 5170, 93839, -6618, -9829, -6169} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-101, -4, -103, 20, -29, 36, -20, -179, -34, -253, -16, 289, -30, -30, 0, 10, -43, -122, -116, -112, -289, -188, -473, -60, -34, -27, 14, -281, -20, -153, -116, -29, -118, -62, -284, -22, -47, 46, -257, -33, 34, -236, -79, -45, -87, -253, -110, 11, -156, 11, -15, -71, -299, -34, -205, -60, -288, -523, -50, -128, -155, -250, -294, -324, -279, -32, -112, -140, -265, -10, -246, -52, -96, 53, -26, -51, 4, -297, -237, -138, -73, 0, 19, -39, -240, -87, -259, -9, 18, -45, -90, 3, -25, -5, -11, -245, -27, -305, -34, -177, -90, -86, -167, -3, -107, -107, -250, -234, -20, -261, -23, -252, -2, -10, -285, -13, -252, -393, -255, -107, -178, -254, -42, -31, -359, -106, -15, -15}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1300989056, 2040562688, 1728680192, 1554479744, 1457073280, 1959273088, 2144150784, 1677015808, 1300984064, 2102849664, 1624787072, 1074509568, 1547324416, 1765831424, 1158435584, 2017196672, 1462279552, 1246724096, 1707497984, 2008007168, 1537827456, 2139966848, 1633002240, 2040249984, 1777926144, 1815491456, 1365628928, 1830475392, 1850249600, 2125041280, 1921273856, 1655749248, 1319397632, 1730384640, 1260578560, 2113058304, 1137904000, 1666612096, 1475432704, 1698206080, 1086691200, 1661163776, 1431270912, 1892222976, 1647299712, 1337804672, 1541648256, 1652411904, 1873900288, 1240622208, 1669353344, 1527284864, 1436111104, 1472359296, 1234026368, 1766256640, 1904164864, 1719859712, 1665815296, 1263549568, 1465764480, 1907806336, 1783987584, 1177783808, 1281194624, 1427618688, 1305105408, 1119309056, 2103526656, 1304193024, 1248641792, 1221561216, 1891553024, 2087885312, 1917355776, 1661852288, 1225483136, 1123150336, 2117616768, 1202216448, 1199860480, 1960194688, 1707122176, 1770228352, 1952798592, 1574190976, 1510838656, 1669630336, 1735032064, 1492770176, 1415553536, 2010023296, 1413821824, 1190369024, 1149204992, 1285703040, 1317192192, 1546650368, 2038342528, 1457570944, 1854070528, 2071077632, 1174242432, 1111384576, 1893923200, 1682123776, 1433355008, 1099115136, 1504173184, 1800842496, 1131534592, 1438528128, 1661145088, 1600853504, 1387524864, 2046406528, 1874362112, 1774006656, 1584158208, 1811664512, 1800271488, 1429276800, 1423911168, 1077659264, 1702701824, 1084732544, 1428684928, 1165810304}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {7239, -939, -6068, -40957, -19956, -5571, 62652, 27865, -26979, 12142, 16412, 50110, 32029, -21936, 1566, -27761, -66444, 1244, 21334, -20129, -24259, -58245, -91102, -35770, -399, -19118, -25218, -14673, -31515, 23081, 21751, 46890, 63092, 70835, 55787, 6778, 15610, 34846, 67550, 44587, 17206, 34971, -6128, -4107, 24224, 10009, 7214, 31558, 28668, 74214, 12247, 45308, -59240, 9100, 27219, 18309, -56386, 14970, 35908, 826, 66633, -28173, -23309, 31117, 64008, -5496, 15328, 24233, 25628, 23401, 16294, 89805, 31345, 51346, 10488, 40568, -4600, 8462, -7232, 19738, 23114, 36569, 43078, 59451, 36041, -30235, 21408, 51144, -39266, 28486, 24512, 44795, 85875, -7555, -11200, 41767, 8737, -7057, -17473, -3828, 32042, 34712, -2269, -6681, -7269, -2048, 17401, 40473, -17912, -13992, 32944, 20651, 54399, 26342, 14530, 2046, -4765, -3864, 7915, 29728, -25549, 4595, 31659, -13541, -28533, 13100, 43638, 24740} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-104, -131, -120, -139, -132, -85, -113, -120, -129, -162, -120, -107, -139, -93, -64, -136, -112, -137, -155, -123, -67, -97, -108, -141, -123, -89, -92, -123, -143, -120, -101, -162, -170, -148, -150, -129, -131, -180, -133, -146, -109, -112, -133, -139, -100, -86, -126, -122, -107, -113, -97, -133, -94, -125, -135, -110, -119, -125, -71, -99, -109, -121, -133, -130, -176, -134, -117, -148, -138, -131, -148, -128, -126, -108, -124, -134, -116, -137, -101, -151, -134, -134, -135, -117, -116, -99, -124, -157, -119, -116, -183, -128, -133, -94, -113, -117, -143, -120, -116, -97, -146, -124, -107, -121, -133, -103, -119, -139, -134, -149, -141, -128, -202, -105, -103, -165, -90, -165, -149, -145, -101, -129, -128, -79, -137, -96, -122, -116}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1302509952, 1668492672, 1378442240, 1721845504, 1910096128, 1342064256, 1320328960, 1138082688, 2101825536, 1230970624, 1133088896, 1757453568, 1740481152, 1712877184, 2045287680, 1675506944, 1953853056, 1799085824, 1269523840, 1844223616, 1782284672, 2101839232, 1548918272, 1427426304, 1234004736, 1815946752, 1860811264, 1885045376, 1816226048, 1675104896, 1947250816, 1818483584, 1310477440, 1197284096, 1258603136, 1199428352, 2037748224, 1770530944, 1873449216, 1176071808, 1543053056, 2087837184, 1243817344, 1687594112, 2057159936, 2088127616, 2076000768, 2073582080, 1348721920, 1325227392, 1289919872, 1164499328, 1379285888, 1592060544, 1355332736, 1226350976, 1206225280, 2116752768, 1543858688, 1259791616, 1387991808, 1521837952, 1405636224, 1767648256, 1386103296, 1264915968, 1280716416, 1792456704, 1757722368, 2141479168, 1799331712, 1403742976, 1385416448, 1780636032, 1612927232, 1311130240, 1788994176, 1331940864, 1684036480, 1505117440, 1897017856, 1621150848, 1626784896, 1388689536, 1945317120, 1728208512, 1347876096, 1280336640, 1458250368, 1735437696, 1272059904, 1834195968, 1085204608, 2018338048, 1136667392, 1447011072, 1495298432, 1548082048, 1945010944, 1318953600, 1135848832, 1443873024, 1982616192, 1444180864, 1897459456, 1404709120, 1967562496, 1926737152, 1817618944, 2011641856, 1473839360, 1877098240, 1933547392, 1861451392, 1522524416, 1131085312, 1214794368, 1675313536, 1258476928, 1196762624, 1700829696, 1129662720, 1328339840, 1949203584, 1542607616, 1361297536, 1264036992, 1794088448}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-19050, -12987, -34670, -26363, -5762, -12953, 957, -1916, -4174, -26959, -2596, -20, -2964, -3601, 7161, -235, 226924, -29232, 5920, -5243, -4529, -2102, -17761, -34892, -5251, 174439, -6321, -40, 3916, -10531, 103109, 1283, 27483, 17261, 57569, -47422, 33711, 907, 4297, 24697, 2003, 34935, -24660, 52762, -8035, 83153, -49168, -25977, -7349, 27865, -19405, 755, -1794, 11719, -23220, 3270, -337, 79352, 17373, -12026, 33005, -18127, -1481, 44785, 60710, -509, 17466, -10457, 3800, 127422, -13935, -11768, 45617, -173, -8115, 7618, -32940, 37525, 48965, -6176, -5633, 68978, 25023, 73858, 34995, -4185, -11829, 20409, 139988, -1013, 10617, 41064, 33763, -572, 31747, 51907, -13963, -6096, 84551, 42655, 18451, 56981, 23502, 10089, -14336, -15947, -1766, -14235, 16483, 37848, 28286, -10096, 31243, 33100, 42995, 83818, 39489, 7841, 91749, -15079, 257567, 28287, 71388, -3419, -19447, 7152, 329, 3285} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {7, -145, 16, 11, -21, -26, -16, -29, -30, 12, -39, -16, 10, 3, -23, 47, -746, -52, -26, -17, -6, -13, 8, 12, -20, -322, -9, -9, -25, 14, -290, -78, -247, -238, -151, 1, -134, -46, -24, -222, -17, -227, 11, -184, -24, -313, -36, -62, -29, -256, -9, -140, -13, -35, 20, -17, -69, -318, -40, -32, -252, 51, -81, -163, -248, -42, -149, -63, -84, -292, -146, -14, -260, -46, -112, -27, 15, -118, -133, 21, -24, -264, -250, -368, -229, -12, -41, -168, -295, -141, -80, -265, -257, 2, -153, -263, 3, 12, -272, -180, -86, -122, -140, -22, -35, -19, -11, -16, -82, -118, -223, -62, -116, -241, -263, -278, -118, -40, -380, -9, -364, -116, -260, -21, -45, -34, -129, -24}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1442513408, 1372397056, 2118016768, 1405256448, 1964474880, 1707135488, 2104679424, 1086893952, 1510259456, 1075065088, 1904184704, 1719918976, 2128387968, 1177518592, 1148434432, 1823474688, 1091551488, 1163880320, 1871573888, 1748717824, 1999053824, 1891095808, 1552323328, 1919273600, 1471771264, 1610545152, 1625478144, 2108221312, 1236212352, 1790559488, 1297212416, 1263887872, 1094993408, 1810221312, 1146549632, 1667998592, 1842290944, 1373431808, 1796823936, 1338240896, 1774086400, 1635781760, 1137382016, 1201056896, 1254088576, 1794151552, 1446302080, 1732463360, 1740425856, 1837308160, 1822729088, 1230264704, 1633816832, 1610403968, 1295094784, 1239178624, 1598193024, 1232405888, 1440457600, 1514991488, 1289538688, 1434384768, 1077664896, 1780311424, 1551787520, 1079856128, 1290718976, 1443270912, 1221561344, 1939454336, 1193424768, 1967377024, 1862386432, 1263193344, 1503662080, 1598038784, 2082052096, 1679655552, 1529091584, 2014943104, 1571640704, 1943932416, 2030491008, 2100639360, 1617833600, 1483367168, 1730668416, 1518895872, 1727998208, 1526258432, 1947070848, 1851822336, 1282509824, 1729952768, 2112027136, 1866109568, 1878443520, 1797976576, 1794079232, 1893031680, 1555361664, 1832777216, 1806082944, 1108616576, 1521485824, 1241230208, 1660720768, 1840776832, 1469598720, 1928653184, 1935082624, 1512973824, 1475155712, 1075736448, 1327241344, 1203751424, 1602762624, 1237738624, 1509840640, 1316998656, 1213669120, 1305002496, 1898515712, 1131649920, 1235661056, 1630415744, 1172920064, 1889052288}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {13748, -5458, 43873, -20441, 60472, 20468, -7352, -1095, 85051, 31126, -19450, 2655, 21969, 48171, 20989, -16996, 15431, 80752, -18424, 30638, 8727, 19582, 19458, -48775, -25280, 37204, -13440, 4685, -38418, -6414, 7164, -4911, -27955, 26656, -6613, -27962, -34914, 7968, 30577, -31775, 1322, 53889, 24424, -20156, 84280, -19034, -13770, 36534, -42043, -4306, 18832, -41140, 26021, -66895, -58016, -41202, 16986, 73106, 8918, 19565, -26076, -24086, -11187, 37784, -16848, -13177, -68557, -29527, 28668, -24719, 43208, -4301, 10317, 30006, -57410, 7769, -12986, -4844, -11629, 15878, 39485, 44846, 43890, 11779, -56452, 4567, -18862, -17333, -12557, 44039, -18770, -20306, -32550, 8128, -3266, 35123, 35458, -20930, 98200, -51599, 5818, 39816, 2358, 8492, -9581, 83347, 1374, -6829, 28111, 66308, 8468, 2812, -49285, -10324, 24053, -12592, -15383, -23193, 22021, 51823, 8018, -20766, 23668, -6312, -41215, -4430, 5105, 6645} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-163, -134, -105, -92, -118, -155, -102, -88, -86, -128, -122, -139, -117, -123, -103, -141, -113, -126, -133, -112, -144, -153, -150, -90, -138, -127, -121, -118, -86, -104, -140, -108, -100, -136, -100, -122, -129, -129, -124, -89, -112, -148, -127, -115, -130, -94, -145, -113, -183, -107, -162, -150, -137, -85, -149, -111, -105, -144, -95, -132, -115, -101, -142, -126, -100, -142, -120, -99, -103, -133, -129, -100, -106, -144, -120, -113, -126, -98, -98, -113, -108, -163, -139, -107, -118, -112, -132, -136, -147, -96, -115, -122, -114, -84, -124, -120, -137, -130, -106, -132, -116, -116, -113, -118, -144, -138, -149, -137, -112, -147, -112, -140, -100, -137, -124, -144, -127, -129, -113, -132, -108, -91, -74, -112, -96, -111, -121, -124}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1470662144, 1736662272, 2104689920, 1881232128, 2049915776, 1136020608, 1108368384, 1303515520, 1710439296, 1727235328, 1975475968, 1330189312, 1521882112, 1192951552, 1172162176, 1905627904, 1083563008, 1573675520, 1182249088, 1762360576, 1729923712, 1553207552, 2004107392, 1875360768, 1100410112, 2052517376, 1719196032, 1681080576, 1614508800, 1195559168, 1724282752, 1124026752, 1241225984, 1483484288, 1088659456, 1709288320, 1330097536, 1745595776, 1755020800, 1931934464, 1316696704, 1528273792, 1650249728, 1872190592, 1845741440, 1795986176, 1146301824, 1863000192, 2068590464, 1563144320, 1870531840, 1168094720, 1284094336, 1288242816, 1118315264, 1872994816, 2090081536, 1356195456, 1942674176, 1138698496, 1482340608, 1847880064, 1688472064, 2054590464, 1304532096, 1759243520, 1543959680, 1581074432, 1147295488, 1731409664, 2118713344, 1744712192, 1654035712, 1161081088, 2030638720, 1263950336, 1885917824, 1829960704, 1723481216, 2082095232, 1653440128, 1202656128, 1658792320, 1847502592, 1811076864, 1466582016, 1577838720, 1156708096, 1170392576, 1148922368, 1169210112, 1544729088, 1512344832, 1768969216, 1250461056, 1520505984, 1811632640, 1465164800, 1680203008, 1677066112, 1098167296, 1155686912, 1959847552, 1489371904, 1991403264, 1618334848, 2070706944, 1635131136, 1218909824, 1667001600, 1626186624, 1114190208, 1146463232, 1759484672, 1657178496, 1964162176, 1148867840, 1726073856, 2000356224, 1731108736, 2048937728, 1925718912, 1344206336, 1732274944, 2145635584, 1725664896, 1786154752, 1446527232}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {65385, -11248, 41718, 2546, 81541, 231842, -2811, -4189, 23316, -11236, 42416, -3144, 73799, -3469, -6695, -13186, -2213, 44223, 94252, 323, -4890, -804, -10748, 3689, 218564, -11722, 81870, 5078, 888, 254443, 1938, 14224, -8461, -7490, 109115, -42, 102770, -16410, 64157, -2163, -15362, 245510, 1354, 7114, 54852, -1734, -18884, 35262, -14524, -1949, 35647, 368, 243955, 140616, -8882, -24, 81670, 49838, -35, -4288, -17468, -3046, 96722, 67168, 95382, 379, -2815, -2207, 34179, -4637, 55336, -12253, -4987, -19772, -5715, -5290, -2525, 43, 117300, -6365, 3240, 48214, 86259, 130693, 178408, 134883, 21378, -5059, -7032, 142836, 110909, -531, 25949, -17596, 9279, -12238, -227, 34, 37011, -3863, 85291, 19237, 82367, 35024, -22419, 325245, 102359, -5724, -5574, 144747, -1122, 125327, -20005, -1371, 7062, -218, 201503, -4771, 46088, 103436, -1256, -25612, 12392, 120528, 94232, 2762, 92801, -5116} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-133, -24, -252, 27, -208, -422, 23, -22, -229, -64, -158, -24, -161, -17, -27, 10, -2, -238, -329, -28, 0, -100, -87, 72, -421, 6, -235, -125, -28, -535, -84, -86, -6, 15, -266, -85, -535, -1, -246, -25, -14, -477, -30, -16, -261, -40, 29, -203, -101, -37, -163, -21, -421, -322, -95, -39, -256, -257, -128, -46, -15, -17, -256, -263, -232, -18, -24, -14, -126, -98, -225, -8, -27, -64, 10, -15, 35, -76, -355, -106, -100, -176, -234, -326, -285, -307, -110, -27, -17, -508, -303, -47, -180, 1, -92, 141, -8, -106, -233, 28, -261, -96, -248, -213, 14, -355, -353, -62, -19, -285, -145, -331, -1, -65, -157, -48, -469, -22, -238, -302, -42, -1, -167, -253, -308, -35, -335, -17}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1466852864, 1862969600, 1869621376, 2044921984, 1120370304, 1618224000, 1663989888, 1303246208, 1545282560, 1833121920, 1431150336, 1204817792, 2043185152, 1128819968, 1797297152, 1219376000, 1551632640, 1149768704, 1960876288, 1095136768, 1609429376, 2038630912, 1112148608, 1606300288, 1752606592, 1330329472, 1834604800, 1240249216, 1093511552, 1426819200, 1530051840, 1675244160, 1275493504, 1107939584, 1862668544, 1646019328, 1095456896, 1176838400, 2097169280, 1898235776, 1120773504, 1107863936, 2082181376, 1249186048, 1426918528, 1155287936, 1322360832, 1238830464, 1757492096, 1109960320, 2057134976, 1146422016, 1169462528, 1307963776, 1205057920, 1964429440, 1367036800, 1167412864, 1768283392, 1200867584, 1823071616, 1144818048, 1706141824, 1517806464, 1799365248, 2134969344, 1859027840, 1168934528, 1182182528, 1970680192, 1668889472, 1078775168, 1613397376, 1080673408, 1890241664, 1214242688, 1594504448, 1742165120, 1785413888, 2055473152, 2121734272, 1327942144, 1084439168, 1250924032, 1661225344, 1504159360, 1425884160, 2082514432, 2138322688, 1782346624, 1186010112, 1344915584, 1114517888, 2105234560, 1400974464, 1270687232, 1150911872, 1212453248, 1985124480, 1935239808, 1883782144, 1313542528, 1279699072, 1536527360, 1481177984, 1877416704, 1433425280, 2093242624, 1366585216, 2022304512, 1232654720, 1538920064, 1814248448, 1836507392, 1420643712, 1558076160, 1771671296, 1713255808, 1509342208, 1580308096, 1393246464, 1144208384, 1391836928, 1503703680, 2029525632, 1149541248, 1567279488, 1966435712}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-6094, 11101, -36156, -22848, 15994, 211, -63632, -28718, 94168, 1503, -38750, -68723, -29300, 56824, -19591, -52766, 49291, -3025, 86102, -49847, -17101, -8305, 11399, 51256, -15658, 50384, -27311, -52791, -20784, -34750, -7252, -15454, 7041, -28918, 12999, -76092, 37533, -33231, -6265, -20270, 67270, -6674, -39955, 91037, -49699, 12252, -54265, 63928, -15520, -11327, 427, -50930, 16808, 38388, 1377, -13927, -9947, 7358, 83827, 24652, 46373, -3368, -68717, -18916, -51674, 554, -48762, -33647, -6890, 29125, -2899, -16891, -17906, 66902, -39420, 65194, 29945, -17085, 17987, -20181, -16873, -20258, 18810, 1212, -9674, 22383, -51638, 108124, -58152, 12723, -42826, 499, -7414, -15323, 13118, 66681, -584, -13903, -12816, 42367, 2881, -13723, -50542, -39026, 55140, -1838, -27446, 75624, 1148, 980, -43525, -40477, -4915, -60093, -34923, 29026, 21845, 22246, 7150, -20827, 47895, -28345, -4852, 30957, -6622, -20681, 45792, 31040} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-134, -137, -155, -131, -111, -122, -164, -139, -111, -110, -140, -127, -137, -111, -108, -126, -125, -125, -135, -124, -143, -108, -155, -139, -130, -114, -110, -119, -90, -127, -126, -102, -75, -134, -119, -147, -144, -107, -149, -134, -137, -115, -115, -133, -109, -120, -111, -137, -128, -127, -150, -114, -143, -144, -125, -159, -123, -105, -159, -125, -104, -140, -122, -116, -128, -137, -116, -118, -86, -122, -139, -135, -93, -143, -95, -104, -91, -122, -118, -99, -163, -115, -140, -94, -96, -135, -126, -155, -123, -90, -156, -77, -141, -124, -122, -139, -85, -120, -160, -139, -119, -115, -106, -86, -87, -138, -160, -139, -121, -122, -94, -124, -130, -135, -128, -46, -132, -108, -107, -143, -110, -121, -129, -114, -118, -155, -117, -128}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1630635392, 1471019008, 2138710784, 1646518912, 1260269696, 1144817280, 2091626112, 1479785344, 1165945856, 1806283648, 2137171584, 1402255872, 1605230720, 1708209024, 1190428800, 1751742720, 1306629888, 1910781696, 2077561088, 1387142144, 1737023616, 1622185600, 1813916416, 1266017792, 1876137088, 1434993408, 1586242560, 1582643840, 1222345728, 1877554688, 1537822720, 1112977792, 1865467008, 2144972032, 1531828608, 1171221120, 1815693440, 1534514560, 1250631552, 1904054656, 1380911360, 1929326336, 1609279104, 1491966464, 1289083776, 1326003968, 1579255168, 1461456512, 1081993088, 1704150144, 1198655488, 1889479168, 2141838080, 2026604288, 1716784640, 1267920640, 1607462528, 1158428800, 1541877504, 1759128704, 1194627712, 1982505472, 1364982272, 1795985536, 1753243392, 1739151232, 1452944512, 1588239360, 1205523072, 1800416256, 1745361152, 1837627136, 1435556096, 1134492544, 2130072448, 1443934848, 1166923392, 2141759872, 1265751808, 1742601728, 1821356160, 2099852160, 1574119680, 1671804800, 1204551552, 1097787520, 1887423616, 1731997184, 1728925568, 1764968960, 1438761216, 1318392704, 1660249856, 2130046720, 1411157248, 1260537600, 2002907904, 1345691008, 1134067072, 1099438080, 1574202752, 1273083520, 1390384128, 1101157120, 1521720576, 1566076160, 1806665856, 1086072832, 1205282432, 1610633472, 1081983360, 1194916224, 1709228032, 1174767104, 1674006400, 1576241536, 1374415744, 1113879936, 1690256128, 1485550976, 1774189440, 1137962496, 1889347968, 1662029824, 1882174720, 1563031296, 1250726016, 1435900288}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {190939, 91159, -685, 185544, 73323, 218071, -358, -982, 100114, 206979, -3147, -94, 532, 86169, 189244, 83, 83388, -19, 95579, -656, -1760, 18296, 148091, 154633, 138572, 88535, -22582, 207346, -631, -588, 81, -1098, 266747, -1737, 196739, -1620, 92027, -632, -88340, 115626, 101883, -662, -24, 98443, -4315, 40988, -196, 158812, -254, 177622, -12797, -393, 81972, 103112, -847, 145326, 548, 35008, 96922, 93681, 93073, 222368, 250, 192957, 3860, 182608, -285, -483, -166, 256374, 202454, 141504, 107744, 97025, 191999, 115670, 569, -145, 430, 167697, 36, -598, 250, 45481, 35891, 7578, 148713, 109128, 1540, -355, -4145, 12270, 168607, -536, -208, 90094, 215381, 153447, -11782, 93390, -3402, 127211, 165351, 215602, 96828, 146365, -755, 117038, 25370, 194191, -1143, -2206, 33444, 1898, -287, 101663, -70521, 145957, 12218, 144207, 226627, -129, 169434, 144792, -62765, -166, 123108, 95956} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {-265, -264, 28, -277, -170, -286, 16, 28, -261, -337, 63, 35, 40, -246, -295, 53, -181, 46, -275, 21, 31, -94, -263, -269, -287, -276, -3, -290, 24, 39, 18, 50, -298, 67, -291, 42, -246, 41, 266, -288, -269, 29, 70, -272, 89, -134, 38, -252, 15, -271, 102, 18, -233, -266, 4, -270, -4, -119, -260, -301, -248, -297, 68, -307, 47, -278, 13, 34, 43, -327, -280, -290, -390, -248, -294, -277, -124, 54, 30, -278, 42, 48, 44, -147, -91, -102, -272, -268, -17, 69, 46, 52, -320, 53, 46, -244, -276, -294, 103, -243, 77, -287, -411, -310, -283, -299, 31, -320, -136, -289, 70, 38, -143, 51, 32, -261, 3, -280, -12, -308, -301, 50, -287, -260, 18, 39, -252, -260}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1949962752, 1278386432, 1345799424, 1079895424, 1497734528, 1893275648, 1974192000, 1601957120, 1823510144, 1235895424, 1731326336, 1868115456, 1372928384, 1642526592, 1286413952, 1414221952, 1830438400, 1883478656, 1435681024, 1740441472, 1490204288, 1409022208, 1407425792, 1847664640, 1586915072, 1102245248, 1198901760, 2124368256, 1705500544, 1661641600, 1393256832, 1385309312, 2132196096, 1980236288, 2082848000, 1241395968, 1975153792, 1916549504, 1928078592, 1447682176, 1117362048, 1708156800, 1496079488, 2069285632, 1439553920, 1476562432, 1770421120, 1996935296, 1140519808, 1660331648, 2060305152, 1822951040, 2092393344, 2023756928, 1111335936, 1554042496, 1123090432, 1409517312, 1871024768, 1247108992, 1166435072, 2129690496, 1524439168, 1626269696, 1240912384, 1137778560, 1900449920, 1955863680, 1389941632, 1403264768, 2087662720, 1423969920, 1409048576, 1380576896, 1093338496, 1972449664, 1318787712, 1326269568, 1155896448, 1495472256, 1624655360, 1938501120, 1779218176, 1185568512, 1141112320, 1222005376, 1489175936, 2069724928, 2053116544, 2123142528, 1231296768, 1165941120, 1335328256, 1812069504, 1661127808, 1389427584, 1740999040, 1825745920, 1095755904, 1199383936, 2146198400, 1613542528, 1687557504, 1159794816, 1815238528, 1371955328, 1219005568, 2004772608, 1157494784, 1831594112, 1088319360, 1508574464, 1677168512, 1252171648, 1774375168, 2045302528, 2059464576, 1238825728, 1504280448, 2017376384, 1588038528, 1682226560, 1425719168, 1912988160, 1191812096, 1733497600, 1175705728, 1170884352}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-29274, 10279, 12009, -33019, 27711, 20200, 19095, 74540, 40362, -15524, -49101, -28959, 1470, 23998, 31266, 21515, 17117, 8372, -10275, 58254, -39041, 21878, 18286, -53362, -12240, -24832, 28444, -25536, -63553, -37555, 79220, 49510, 30387, -9851, -13095, -5019, 50598, 4817, 15179, -24755, -9325, 74353, -33447, 16461, 54635, 26158, -95780, -4609, -26275, -22978, -18776, 36112, 25382, -33160, -8597, -52946, -28069, 46773, 6785, 29549, -8870, 4808, 53590, 5813, 6974, -42747, 29271, 56645, -3086, 75243, -14623, -8282, -26223, 2982, -14735, -32244, 7344, 28697, -20345, 53909, -32774, 5130, 10065, 92008, 25109, -41093, -101041, 16733, -44719, -42480, -88382, 48217, -64186, -4723, 6664, -18552, 36201, -69424, -13942, -8677, -22954, -19646, 25386, -9815, -40892, 38186, 2708, -110700, 44900, -16021, -4020, 15325, 5990, -71728, -7521, -11060, 12910, -27452, 27406, 172702, -6816, -15687, 18335, 54833, 44960, 8220, 51612, 13789, 57928, -9990, -30283, -52293, 13131, 5759, -63006, 41692, -11100, -23982, -21101, -55864, 20029, -5779, 122913, 28316, -4417, -8696, 58168, 23763, -25133, 47064, 48341, -34306, 50670, 23, 803, -32296, 884, -70376, -12190, 5136, -36718, -23229, -5956, -9501, 47444, 32497, 24699, 30015, -36570, 35774, 51492, 5191, 31873, 7956, -7779, -27434, -70413, -82654, -10707, 71085, 50093, -12994, 45058, -9123, -35506, 13954, 67424, 12657, -35955, 137, -41748, 10298, 46666, 215, -39984, 13352, 25383, 69642, -90145, -1062, 5855, -22220, -31876, 11642, -6030, 38592, 1604, -23005, 28679, 28258, 44396, 13268, 23277, 52088, 13554, 1965, 39394, 14362, -25325, 16723, -13778, 6799, 23982, 13575, 19899, 12004, -52323, -18711, -2525, 19966, -64697, -35481, 62716, 37833, 43234, 4331, 9818, 82047, 53450, 493, -199, 4530, 38938, -50410, -770, 43012, -7065, 22804, 15751, 64496, 64277, 26897, 4439, 13777, 49015, 20893} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-119, -160, -89, -147, -143, -111, -132, -159, -111, -124, -143, -114, -132, -150, -108, -90, -123, -122, -128, -144, -160, -137, -130, -102, -106, -111, -152, -88, -116, -136, -153, -137, -115, -112, -115, -79, -80, -53, -135, -143, -166, -149, -145, -138, -125, -100, -112, -132, -127, -126, -125, -149, -114, -103, -111, -133, -127, -134, -140, -147, -97, -108, -89, -136, -182, -93, -100, -115, -70, -150, -136, -132, -99, -95, -184, -147, -73, -171, -108, -100, -108, -120, -125, -143, -168, -78, -118, -99, -138, -105, -100, -142, -119, -156, -116, -141, -99, -118, -155, -146, -113, -108, -162, -101, -102, -149, -129, -117, -122, -113, -140, -124, -155, -117, -137, -149, -150, -120, -136, -140, -141, -142, -129, -141, -110, -128, -92, -132, -163, -139, -118, -123, -179, -120, -137, -149, -104, -117, -135, -141, -223, -112, -158, -141, -95, -150, -156, -115, -137, -123, -125, -115, -113, -142, -137, -70, -103, -99, -115, -116, -108, -113, -137, -106, -128, -115, -119, -157, -116, -134, -127, -138, -157, -181, -107, -124, -99, -159, -142, -124, -136, -148, -76, -142, -137, -105, -165, -176, -123, -92, -88, -126, -157, -133, -152, -156, -145, -162, -113, -158, -160, -165, -137, -100, -45, -120, -124, -103, -96, -161, -137, -145, -108, -146, -144, -129, -135, -138, -133, -111, -150, -108, -121, -168, -154, -127, -125, -130, -151, -166, -96, -133, -172, -81, -115, -124, -101, -132, -117, -132, -105, -147, -217, -117, -161, -144, -107, -161, -143, -117, -114, -134, -98, -123, -110, -175}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1568713600, 1315849728, 2119829120, 1310680576, 2038282368, 1989878272, 1078358144, 1565016320, 1599182208, 1764987008, 1852156544, 1309693568, 1872732160, 1913248640, 2086103040, 1097089024, 1552629376, 1661830784, 1084606336, 1887185408, 1220471936, 1515953152, 1123036160, 2037720960, 1342076800, 1713285632, 1714952320, 1652178944, 1513246592, 1816711040, 1837808384, 1316154624, 1207122688, 1930506112, 2050918400, 1356054912, 2138337536, 1265238528, 1852802432, 1338062080, 1782728448, 1886674688, 1102660608, 1119081344, 1311870848, 1099369088, 1648101632, 1326829184, 1966058496, 1363287808, 1363913984, 1373159936, 1794874496, 2056096128, 1450402560, 1900867200, 1554108032, 1623090048, 1544101376, 1155457408, 1440423936, 1075274624, 1314322944, 1643835392, 1510819584, 1152764928, 1177184128, 1447594240, 1544370560, 1212543872, 1619470208, 1880495232, 2050904704, 1101970816, 1329850624, 1901439872, 1942344576, 1863964928, 2055781760, 1933224064, 1319044352, 1150905088, 1805203200, 2076074240, 1105059456, 1166584448, 1855283968, 1736104448, 1421136128, 2038671872, 1487654016, 1917434624, 1382765312, 1824247936, 1516247040, 1735165440, 1122967552, 1286516096, 1481622656, 1577518208, 1122381440, 1612760448, 1358305536, 1906888448, 1914184832, 1587618560, 1865785472, 1757217536, 1801775872, 1794903168, 1896729728, 1777471232, 1235078656, 1158756096, 2050186624, 1240124672, 1113455744, 1906769792, 1716568192, 1864679936, 1211442432, 1782252544, 1965623168, 1459360256, 1219100928, 1124760064, 1102497152, 1720903168, 1207363840, 1228061568, 1406402048, 1168796416, 1146866176, 1801697920, 2018665344, 1148066432, 1113158272, 1858226176, 1605882240, 1865879424, 1836533888, 1190172672, 1079622912, 1911650048, 1798438784, 1381501312, 1404105088, 1767379712, 1628535552, 1659152768, 1216537728, 1795865472, 1289761792, 1754945280, 1816573440, 1492861568, 1291998848, 1645623296, 1089300352, 1225003392, 1742377728, 1921081728, 1154375424, 1220128384, 1386609664, 1436560896, 1558607744, 2038668288, 1873326592, 1358087296, 1756061952, 1792855424, 1317547008, 1139067008, 1166347648, 2111250432, 1865888256, 1096903680, 1925457664, 1847068416, 1696104320, 1117752960, 1604233728, 1315405568, 1717804032, 1607793664, 1713828864, 1228346880, 1497521920, 1181822720, 1333601280, 1250968704, 1469830400, 1825256320, 1808103936, 1553505664, 1133373440, 1761098624, 1592627584, 1273945088, 1408238592, 1148815104, 2072873472, 1961541120, 1125291520, 1671870336, 1769298816, 1143572608, 2110540032, 1802304768, 1508146432, 1541941760, 2023536640, 1194443392, 1581071488, 1875011712, 1881493760, 1767264768, 1680025728, 1772459008, 1123598848, 2026390528, 1301834752, 2068894976, 1159626752, 1914429440, 1380038016, 1420768256, 1332597888, 1248155392, 1820722304, 2100370688, 1874824576, 1895596160, 1972887808, 1370482304, 1282160000, 1874154368, 2059264640, 2023396096, 1902459904, 1990167168, 1209571456, 1788641024, 1319426560, 1695664896, 1890819328, 1698529792, 1967741440, 1309394816, 1207443968, 1871210112, 1302781056, 1820175488, 1702068480, 1578997248}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-2061, -79, 61576, -849, -11467, -4304, 186380, -1808, -2700, -43833, -852, -2211, -890, -1967, 221937, 12878, -44211, 306946, 79751, 221144, -193, -3774, -2685, -1735, 82327, -72, -633, 191144, -1766, -1163, 247522, -1086, 206484, -1419, -5223, 34875, -2745, 116925, 70766, 300184, -49, -2990, -1622, -1325, -2849, -2466, 26334, 122582, 5829, 162779, 112139, -7684, 257299, -799, -22348, -2581, -1402, 97606, 9233, 123494, 62694, 54413, 135774, -2257, -173, 313897, 105164, -599, 245867, 102607, -1054, -2007, -2656, -5352, -14, 1974, 165777, -2292, 99923, -717, -12937, 302534, -1607, 180174, 88150, -3273, -1879, 99969, -1044, -2084, -1647, 89281, -1012, -42898, -1903, -2129, 378714, -12610, -104, 6424, 212656, 222965, 150295, 86735, -19503, -3765, 332815, -990, 74268, -229, -1102, -15690, -2398, 260788, -1081, -1673, -7480, -2130, -939, 7571, -971, -770, -2894, -276, 4773, 133961, 3500, 201627, -268, -2303, -2539, 208026, -2362, -1214, -12391, 120330, 83846, -1714, -977, 995, 32309, -2922, -35695, -1103, -26506, -77, 139015, -2715, 52322, 109795, 95090, 188742, 168693, 142226, -4573, 48363, 123405, 178895, -25649, 245480, -1403, -537, -2161, -870, -935, 214925, -791, 88382, -70, -1556, -3263, 86124, -17877, -87, -10693, -3638, 277198, -554, -2407, 82189, 79028, 292708, 10830, 264326, -4197, -6256, -871, 147379, 114940, 169194, 125075, 22, 37136, -1486, 351448, 106791, -2113, 321598, -559, -1659, 32, 91568, -147, 211078, 75077, -2072, -1581, -21753, 190953, -1338, -1852, 157838, 376468, -7494, -2186, 282564, -1207, 124466, -737, -1733, 235065, -1414, 222874, -174, 252566, -1243, -2602, 225470, 70387, -613, -189, -22050, 10207, 661, 117901, -3, -1440, 117314, 6744, 54248, -1063, -687, 24562, -8587, 118697, -3901, -1901, -3384, -2929, 332872, -1262, -5973, 189704, 1275, -2217, -3427} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {240, -161, -315, 207, 126, 245, -490, 168, -112, 529, 329, 112, 222, 187, -501, 358, 41, -809, -418, -491, -131, 394, 216, 224, -425, -181, 224, -544, 193, 250, -440, 290, -743, 298, 322, -340, -105, -483, 236, -609, -191, 228, 253, 132, 251, 172, 355, -484, -118, -395, -408, 103, -670, 118, -117, 170, 383, -430, -127, -377, -314, -479, -454, -108, -91, -508, -462, 256, -903, -437, 192, 260, 337, -109, -169, -119, -684, 140, -330, 216, 199, -470, 157, -427, -444, 298, 190, -448, 190, 217, 161, -386, 262, 55, 166, 279, -876, 69, -168, -115, -612, -726, -373, -464, -60, 498, -562, 317, -406, -120, 364, 354, 494, -755, 133, 177, 240, 335, 183, -169, 211, 273, 290, 173, -114, -452, -104, -389, -123, 232, -116, -366, -101, 259, 368, -445, -381, 150, 165, 266, -137, 446, 208, 284, 21, -175, -333, 333, -389, -371, -357, -538, -448, -489, -143, -436, -447, -458, 174, -758, 182, -80, 282, 340, 159, -745, 172, -451, -189, 271, 291, -499, 26, -202, 220, 119, -682, -201, 170, -305, -373, -530, -114, -592, -117, 92, -126, -358, -388, -583, -383, -111, -340, 187, -863, -429, 188, -564, 221, 114, -97, -509, -189, -594, -489, 192, 276, 126, -417, 174, 206, -388, -587, -28, 294, -663, 192, -484, 314, 179, -508, 158, -584, -170, -678, 109, 255, -446, -374, 234, -95, -9, -82, -72, -366, -153, -92, -460, -126, -418, 204, -156, -341, 364, -446, 284, 319, 345, 246, -785, -117, 353, -628, -95, 231, -115}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1159335680, 1294340608, 1683366016, 1870338432, 2104869504, 1129830528, 1240054016, 1230764032, 1106892672, 1502625536, 2034978304, 1362946304, 1714073856, 1384020864, 2089992064, 1274541184, 1634101888, 1516770176, 1181884928, 1435459840, 1285521536, 1813284992, 1997185664, 1971152128, 2081099264, 2043234304, 1542655744, 1484006784, 1487718784, 1957108608, 1462661504, 1953108096, 2127422848, 1199550592, 1174483328, 2018234880, 1539008384, 1840374400, 1623308544, 1665486336, 2111919616, 1684967808, 1277461888, 1432628352, 1886321664, 1603055744, 2093823104, 1883091072, 1946299904, 1705776768, 1752536960, 1363465856, 1731493120, 1884082944, 1662231808, 1119220096, 1411252224, 1927074176, 1397188352, 1630244608, 1575058944, 1401009280, 1432386176, 1881540608, 1632260864, 1136744704, 1720899328, 1574583936, 1448402560, 1749658496, 1893743744, 1954835200, 1489376512, 1671151744, 1800239616, 1248764032, 1223680256, 1706980352, 2136016000, 1304682624, 1160461056, 1093300736, 1305561472, 1158125440, 1859962112, 1290238080, 1127182464, 1947187328, 1549626496, 1512834816, 1812385792, 2000136448, 1227919744, 2023497216, 1456097536, 1702547200, 1182408320, 1427569280, 1702741760, 1284593408, 1566495360, 1256095744, 2146603392, 2043382144, 1240864512, 1097644416, 1191433472, 2145018112, 1250573440, 1435674880, 1286491264, 1083037568, 1242623744, 1204177280, 1245921664, 1549772672, 1775062144, 1575410048, 1394826112, 2101589888, 1693887360, 1267419776, 1695221504, 2083325696, 1074485248, 1460747264, 1935070976, 2013313920, 1319607808, 1443174784, 1250715264, 1480590848, 1710281984, 2074009088, 1609987328, 1392325120, 2082502912, 1474582656, 1578761856, 1300731392, 1768645376, 1264524160, 1693930240, 1691234176, 1216864128, 1987836032, 1290186752, 1433957376, 1559169664, 1963977856, 1124294912, 2104658688, 1127665664, 1387902208, 1818938880, 1581404416, 1713013888, 1509449600, 1406485120, 1537662080, 1293510912, 1700631680, 1344058880, 2019363712, 1491768064, 1178165504, 2040823168, 2115272832, 1997464192, 2045994240, 1469184512, 1091086592, 1851561216, 2111271552, 1389128832, 1230352384, 1602619392, 1586966528, 1159914496, 1114328320, 1706910080, 1253311360, 1711506688, 1727142144, 1411296896, 1953999744, 1426996480, 1823393792, 2101186176, 1246836608, 1480750336, 1329792896, 1114726784, 1292071680, 1367370624, 1728014848, 2072300800, 1302273024, 1641326848, 1350639616, 1758966144, 1608697472, 1419998848, 2131875200, 1085418240, 1369919232, 1524411008, 1332367872, 1887932160, 1636390784, 1620725632, 1156201344, 1899934080, 1289832192, 2017338368, 1133317632, 2102875520, 2123218816, 1122936576, 1249619712, 1119951488, 1324901120, 1818498176, 1466450944, 1300107776, 1839106304, 1096364288, 1282432384, 1211349376, 1455693440, 1573850112, 1539041280, 2091657216, 1501506688, 1999601920, 1870895104, 1222613632, 1492194944, 1949525120, 1403382912, 1174294272, 1401831936, 1400774528, 1383697152, 1640005760, 1384558336, 2048932352, 1523247104, 1389451648, 1640185984, 1414701056, 1443904384, 2094112384, 1541644288, 2134326912, 1199010176}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {13321, 32622, 17555, 35183, 31861, 34072, 45576, -16742, 9832, 26792, 45755, 34819, 6901, 17116, 5602, 5616, -53662, -4261, -13237, 27432, 25268, -7812, 31494, -20697, 31507, -1796, 16565, 2862, 29951, 13993, -15395, 39878, 2333, 5508, 67970, 6014, 7438, 30239, -23613, -37746, 1811, -9302, -824, 24219, 17393, 31499, 31370, -4662, -19052, 9833, -16661, 10677, -12041, 43521, 29347, 46328, 17701, 4611, -22770, 33008, 5598, -3985, 12852, 33420, 21024, 43902, 10960, -27237, 30686, -36283, -1520, 24392, 3893, 9682, -37246, 2840, -890, 34821, 46470, -10424, 70386, -560, 3208, -7933, 14272, 11067, 55553, -5371, 37490, -44478, -17350, 10338, -32858, -39052, -23410, 14319, 18353, 35282, 19103, 3679, 1435, -35763, -6359, 24630, 38914, 36982, 8073, 20315, 17760, 41988, 26271, 23318, 8660, -19360, -3638, 6307, -21550, -7435, 23968, -818, -6825, 25588, 6943, 14959, -8863, 3145, 17575, 27413, 5697, -27384, 19769, -2742, 33388, 36160, 14647, 31107, -17593, 7375, -41482, 17732, 17330, 13030, 5774, 51776, -14276, 4924, 46074, 45307, 6740, -18306, 47723, -15426, 18558, -567, 70440, 15741, 31462, -34217, 5630, 28570, 16924, 30444, 3215, 9686, 21564, 4816, -3738, -11270, 12067, 33672, -81, 4742, 7004, -17586, 13308, 8555, 7232, 14548, -17792, -21617, -40069, -12499, 3616, 28006, -28126, -13419, 13097, 163, 22469, 50741, 28220, 8210, 10789, 24760, 58452, 33163, 781, -898, -21602, -10507, 14018, 13058, 41408, -23870, -3849, 11605, -9312, 26155, -14307, 54283, -7521, -52312, 8361, -10432, -11162, -22570, 7832, -15988, -21911, -30041, 65746, -46479, 23591, -370, 6657, 2643, 4953, 12267, -15009, 22893, -11834, 16630, 13984, 1137, 9219, -5929, 20397, -10203, -1812, -20255, 32170, 40425, 13593, -31405, -11585, -4907, 17698, -4690, 23205, -31578, 20041, 46836, 15739, 33900, -2795, 31259} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-132, -148, -110, -119, -112, -161, -148, -149, -151, -149, -120, -128, -145, -117, -135, -150, -106, -116, -138, -160, -131, -133, -134, -115, -127, -167, -136, -144, -176, -145, -167, -118, -133, -129, -131, -117, -138, -120, -123, -157, -148, -122, -146, -142, -152, -143, -151, -119, -148, -122, -137, -173, -165, -144, -137, -176, -116, -124, -146, -145, -150, -148, -155, -175, -168, -130, -169, -163, -122, -138, -137, -147, -170, -143, -154, -136, -151, -138, -120, -107, -138, -136, -135, -182, -128, -130, -139, -130, -154, -130, -139, -130, -129, -135, -137, -126, -142, -143, -132, -147, -177, -141, -181, -147, -151, -138, -112, -160, -146, -102, -156, -156, -133, -149, -114, -148, -168, -143, -127, -147, -141, -161, -149, -137, -139, -147, -170, -137, -135, -165, -121, -129, -158, -137, -164, -108, -168, -134, -118, -164, -138, -164, -142, -124, -152, -153, -128, -136, -135, -119, -114, -129, -151, -134, -151, -149, -120, -144, -102, -123, -144, -120, -109, -126, -145, -118, -125, -170, -149, -152, -202, -122, -110, -129, -135, -122, -113, -145, -129, -165, -117, -157, -133, -164, -133, -144, -124, -122, -152, -133, -125, -126, -150, -187, -146, -122, -145, -146, -120, -125, -143, -154, -133, -126, -117, -175, -177, -138, -115, -173, -145, -103, -148, -100, -109, -150, -130, -136, -112, -156, -161, -116, -167, -107, -121, -129, -168, -140, -132, -119, -138, -109, -155, -137, -130, -99, -115, -169, -130, -144, -150, -138, -120, -157, -140, -121, -144, -143, -143, -118, -139, -162, -138, -153, -142, -127}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1447147520, 1281072640, 1568552576, 1447997440, 1617235840, 1614570368, 1425299584, 1501930624, 1327373824, 1918276864, 1438776704, 1588326656, 1608753664, 1571830400, 1253433088, 1545427328, 1431329536, 1259312384, 1892495872, 1526913920, 1745944320, 1341565184, 1412342272, 1863455104, 1549472768, 1501135872, 1648211968, 1740138752, 1820727680, 1775210624, 2027135360, 1445036416, 1627339520, 1405299072, 1261508352, 1400934016, 1198767872, 1662530944, 1238156160, 1451961728, 1490027008, 1696510720, 1465681792, 1397520256, 1515552128, 1350261632, 1433064320, 1549336448, 1502287232, 1518278144, 1460069760, 1596174848, 1633995520, 1511621120, 1240227968, 1549218944, 1518066560, 1316545280, 1282747648, 1353787648, 1613734656, 1576740224, 1328263808, 1166555136, 1953293056, 1444573312, 1515977984, 1865882496, 1461467008, 1252020480, 1268671616, 1933778176, 1803280512, 1402583168, 1427723520, 1274710784, 1674251648, 1321931520, 1286365056, 1136378368, 1336377344, 1228664320, 1604559488, 1915068416, 1438494592, 1633467008, 1219056768, 1858002816, 1409338112, 1477284096, 1153981696, 1263819776, 1497562112, 1763003904, 1323380480, 1766698112, 1315191424, 1639268096, 1300038528, 1330821376, 1111056768, 1199048960, 1174860032, 1247431296, 1546905472, 1174130048, 1611164416, 1760094336, 1652749696, 1408759424, 1469537536, 1703570944, 1788417664, 1320365568, 1107348992, 1762824704, 1487751040, 1528409600, 1690971008, 1387904896, 1292783744, 1212464896, 1396597248, 1195590016, 1460565504, 1428093056, 2054888960, 1258916352, 1130262912, 1183267072, 1339629440, 1484182144, 1801177472, 1367995264, 1697468544, 1652238080, 2093385472, 1970273792, 1630247680, 1311701120, 1643967872, 1558687488, 1455469056, 1431160064, 1691682176, 1732672000, 1493363200, 1436016256, 1978814208, 1123632384, 1753996928, 1433229568, 1592343424, 1825206400, 1250548992, 1442971392, 1288495104, 1358523520, 1684698880, 1084358144, 1468699392, 1503198464, 1948894976, 1282324096, 1372989312, 1106011136, 1517374976, 1621163648, 1458620288, 1520537728, 1559166976, 1414956288, 1878102528, 1406840832, 1228815872, 1963080576, 1537862912, 1428261888, 1240733440, 1634647552, 1520663040, 1698121728, 1859254784, 1493139840, 1658664832, 1755422336, 1450458368, 1440626304, 1922358912, 1518303488, 1474377344, 1970159104, 1756881536, 1077934848, 1245755264, 1436864896, 1658658048, 1207714816, 1289819008, 1250963200, 1563142528, 1984834304, 1532025600, 1677497472, 2019511552, 1075911936, 1079088128, 1689793024, 1338484224, 1823926272, 1556843648, 1440490880, 1674626560, 1349293056, 1243950080, 1791144576, 1658115072, 1347677184, 1918566656, 1661974016, 1536867456, 1469817088, 1987908992, 1435033728, 1286109696, 1749883904, 1545352320, 1146287744, 1437544576, 1162554880, 1715542784, 1488878336, 1741857536, 2145969280, 1539492096, 1434661760, 1317938944, 1408176768, 1311366912, 1216836352, 1799367552, 1586405120, 1160154112, 1663825152, 1710069504, 1482174720, 1411415808, 1617203968, 1625697920, 1237235200, 1601912704, 1200130944, 1641305728, 1570667520, 1545055616, 1510724480}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-5319, 4703, -4816, -2970, 9400, 3881, 2701, 1770, 260, -2204, -5155, -6419, -1442, -986, 5, -2155, 790, -3095, 3410, -1670, 583, 6277, 5996, 727, 2022, 1989, 3860, 156, 2530, -1293, 5219, 191, -1342, -2277, 17, -7686, -536, -837, 923, -1546, 2001, 4733, 4830, -4573, 1191, 5404, 6315, 1186, -4796, -3406, 336, -4246, 3373, 3027, -1469, 1183, 2028, -1181, 4414, 4831, -360, 4467, 1422, 5781, 5245, 6392, -5471, -3964, 1125, 4829, -4693, 4667, 817, -572, -855, 8345, 5187, 4133, 2617, 5629, -7806, -3983, -2442, -14449, -5454, 157, -7958, 3803, 1353, 5043, -2535, -1529, 1208, -32, -4074, -4211, 3829, -3711, -9054, -2511, -2092, -10376, 6248, 4144, 1515, 1325, 8940, -7729, -6645, -6877, -9199, 14259, 5201, -1112, 578, -15260, -5239, 1257, -299, -4252, -1715, -3665, -3646, -3415, -4743, -6563, -7921, -6410, -1751, -2762, -2650, -4762, 530, 2600, -9584, -4058, -7998, -6305, -5470, -3995, -3346, -1166, -3855, -2128, -4526, -4958, 1690, -5083, -1914, -3244, 1222, 4006, -12327, 4164, -1649, 4759, 2362, -9659, -7519, 231, -1194, 11572, 8354, 3197, 692, -3165, -677, -8271, 2075, -1534, 1725, 3093, -1899, -2665, 6196, -6932, -2517, -555, 7371, 244, -2753, 1019, 5049, 2542, 776, 3942, 222, 2018, -4321, -4421, -942, 6029, -554, -7216, -3031, 11071, 948, 4451, -7340, 2029, -8073, 4210, 3190, 3103, 4620, -3837, -7197, -5867, -2734, 3796, -6106, -1244, 2357, -1280, 1038, -2693, -213, 5869, 1418, -2553, -2151, -4630, -1037, 7293, -5257, 1906, -113, -5349, -3453, 6785, -1325, -8882, -4215, 4429, 3950, 2846, 2323, 8617, 2759, 6889, -1847, -1138, 566, -2443, -2237, 4865, -5973, 2704, 1198, 2470, 4551, 2484, -1838, -947, 9796, -5917, 391, 4657, 2034, -5460, -72, 1954, -3772, 1369, 3274, -1462, -3810, -7370, -8470, -1045, 913, -4713, 3808, 2032, -1844, -3723, 2194, -2085, -9277, -1464, 4121, 11028, -2889, 143, 8954, 7547, -442, 1376, -1697, 1214, 609, -6920, 2884, -2187, 796, 1111, 1940, -2014, -1154, 5303, -8009, -3757, -5222, -4047, -8398, 5043, 2736, -10430, -5716, -8527, -8148, -6692, -5318, 7220, 10046, 3562, -569, -7196, -294, -7217, -4192, -12068, -10114, -5725, -4856, -8339, -9852, -594, -4573, -1619, 6044, 687, 3519, -2701, 2400, -2198, 3410, -1928, -6240, -3405, -232, -4958, -5877, -1991, -2853, -982, 2458, -3017, -4084, -3763, -2838, -2492, -5094, -5121, -1140, -7488, 632, -2933, 1814, 3244, -5699, 5653, 5476, 708, 4176, 1968, 2090, 7214, 25, 3772, -6012, -4896, -1226, 975, 3284, 2614, 1825, -2197, 3230, 6291, -3366, 5436, 3036, 2195, -2487, 1924, -1470, -4037, -1337, 914, -4368, 4304, -4524, -5491, -687, 3839, -3600, -2839, -3849, 14295, 515, 5871, 2526, -4396, -5782, 6689, -6773, -3595, -13867, -5938, 105, -5318, 4367, 5380, 3559, 2234, 7311, -1464, -846, 6172, -1362, 5587, 4237, 7347, 5746, 2030, -4063, -5305, 2163, 4502, 1748, 2627, 3026, 238, 8570, -357, -3224, -7342, -3727, -3153, 5101, 3374, 1314, -1924, 4229, 6466, -1407, -3171, 5441, -1114, 2270, -2038, -3075, -12, -2189, 2001, -847, 3316, -10113, 6131, -11385, 1635, 914, 3302, 6566, 8779, -2591, -3078, 710, -2321, -1887, 924, 965, 8206, -3468, 2229, -3330, 960, -226, -6895, 5954, 2585, -2443, -5146, -13452, 4257, 4090, 2342, 2494, 88, -4420, 1617, 2884, -8348, -6009, -3820, -20, -5334, 179, 7260, 3805, 1774, -3112, -2688, 2063, 1053, -1495, -2937, 1361, -4749, -4360, -2309, -2314, -1733, 702, 2803, 1671, -1178, -997, 2860, 48, -1804, -2686, 12004, -2318, 3828, 468, -5319, -959, 9808, 726, -4560, 1649, 125, 2683, -1899, -13057, 5665, -523, 2229, -11104, -60, 8410, 4161, -1206, 10594, 292, -8333, -5369, 11428, -3629, 3145, 4547, 1124, -3537, 1448, -4270, 2075, 1596, 4289, -2020, 1054, -2578, 4838, -6850, 1136, 1287, 980, 8427, 2336, -2141, -5697, -4959, 9473, 2861, 4312, 62, 8590, 563, 7052, -209, -3243, -5342, 233, 3593, 1449, -5425, 10242, 4656, 5736, -3468, 1553, -30, 4939, 8578, -7828, 6834, 8594, -2586, -4533, 8068, -3927, 4044, 3876, 3810, 3498, 7605, -1832, 8868, -2472, 4826, -2662, 608, -12, 3077, 877, -1276, 562, 8446, -6543, 3742, 5270, 2469, 8617, -4538, -942, 7445, -1701, -6591, 3223, 5391, -232, 8710, 258, -787, -746, 1118, 136, -2191, -11680, -11190, 3970, 3355, 2175, 66, -1612, 6873, -7922, -46, 2203, 10733, -4651, -2833, -2788, 1310, 6432, -2642, -1996, -3096, 4939, 566, -2123, 94, 784, 4593, 1852, 1867, 1679, -1958, 4814, -230, 5342, -4003, 2594, 2675, -1206, -9927, 3519, 8439, -1969, 2319, 5059, 3526, 4099, 502, -1618, 2215, -1351, -5753, -8308, 571, -374, 5678, -2665, 2171, 1640, 5718, -3837, -902, -221, 4652, -5727, 1315, 9949, 2962, -6064, -907, 4282, -13238, -1234, -2454, 3106, 1783, 3300, 3896, 2585, 10446, -7654, 1465, 4657, 1522, -1211, 4207, -4357, -10332, -6997, 7095, -3203, -1244, -1998, -1678, 1403, 5340, -1971, -4746, -5280, 1921, 1369, -664, 6599, -5, 3520, -2076, 2102, -5859, -989, 4973, 7108, -1122, 8094, 3263, 3254, 6021, -2326, -1675, -2529, -2146, -3407, -1523, -2676, 5796, 2752, -412, 3472, 11563, 1275, -10595, 2042, -5989, 5598, 3646, -10402, -3764, 188, 4937, 3030, 6962, 10716, -8576, -1622, -3498, -3493, 1105, 5696, 1372, 6037, -2311, -9666, 6232, -4586, -5433, 8505, 4716, 1848, 5741, -481, 4048, 8373, 1255, 3326, -3317, -2894, -230, -6920, -2849, 1701, -3324, -7839, 991, -1818, -5748, -3420, -881, 1437, -2630, 1327, 2472, -3155, -4591, 3808, -2407, -2280, 4699, 6291, 4974, 890, -3241, -6006, 8545, -4356, 7699, -705, -2053, -4151, 7827, -13127, 7011, 9913, 2322, -2399, -13, 1488, 5035, 7851, 5347, 9855, -7090, -3141, 3806, -3228, 2877, 2535, 2967, 5890, 1475, 8053, -6917, -1340, 6868, 5378, -769, 4735, 3870, -1902, -4824, -2705, 3242, -839, 2139, -4228, 6507, -9548, 1545, -3912, -5737, 2916, -140, -1464, -8037, 12696, 11903, 2589, 3526, -5675, 4813, 23719, -4322, -3481, 1491, -258, 2929, -2715, 5983, 7185, -2156, 3166, -667, 3591, 6886, -4273, -10019, -3607, -1971, 6216, 9075, 8177, 4225, 1843, -404, 2941, 737, 15459, -1891, -50, -1805, 364, 4051, 3542, -1916, 6391, 292, 1031, 7002, -1498, -10140, -4274, -4590, -3110, -3420, 3950, -1265, -5032, -260, -5082, -1329, -1774, 2462, -1618, 767, -2561, -2484, 502, 708, -5202, -4615, 3682, -5170, -11220, -1437, 1473, -501, -2371, -1976, -276, 4661, -588, 1343, -4362, 7155, -10395, 3235, 3176, 1945, -3364, -2029, -1409, 5039, 2941, 3692, -2521, -857, 7581, 4706, -189, -1000, 5255, 4, 6402, 940, -622, 3939, 5545, 8597, -6033, -3801, 1469, -5375, -1268, -5816, -6059, -3131, -8324, -5361, -13600, -5907, -7772, -5545, -4614, -685, 3936} +#define FC28_W_Z (175) +#define FC28_IN_Z (0) + + +#endif /*__192_0_25_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/192_0_5_parameters.h b/Inc/intq-mobilenet-v1-models-pc/192_0_5_parameters.h new file mode 100644 index 0000000..754217a --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/192_0_5_parameters.h @@ -0,0 +1,361 @@ +#ifndef __192_0_5_PARAMETERS_H__ +#define __192_0_5_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (192) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (16) +#define CONV1_OUT_DIM (96) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (96) +#define CONV2_IM_CH (16) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (16) +#define CONV2_OUT_DIM (96) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (96) +#define CONV3_IM_CH (16) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (32) +#define CONV3_OUT_DIM (96) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (96) +#define CONV4_IM_CH (32) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (32) +#define CONV4_OUT_DIM (48) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (48) +#define CONV5_IM_CH (32) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (64) +#define CONV5_OUT_DIM (48) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (48) +#define CONV6_IM_CH (64) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (64) +#define CONV6_OUT_DIM (48) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (48) +#define CONV7_IM_CH (64) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (64) +#define CONV7_OUT_DIM (48) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (48) +#define CONV8_IM_CH (64) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (64) +#define CONV8_OUT_DIM (24) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (24) +#define CONV9_IM_CH (64) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (128) +#define CONV9_OUT_DIM (24) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (24) +#define CONV10_IM_CH (128) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (128) +#define CONV10_OUT_DIM (24) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (24) +#define CONV11_IM_CH (128) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (128) +#define CONV11_OUT_DIM (24) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (24) +#define CONV12_IM_CH (128) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (128) +#define CONV12_OUT_DIM (12) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (12) +#define CONV13_IM_CH (128) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (256) +#define CONV13_OUT_DIM (12) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (12) +#define CONV14_IM_CH (256) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (256) +#define CONV14_OUT_DIM (12) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (12) +#define CONV15_IM_CH (256) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (256) +#define CONV15_OUT_DIM (12) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (12) +#define CONV16_IM_CH (256) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (256) +#define CONV16_OUT_DIM (12) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (12) +#define CONV17_IM_CH (256) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (256) +#define CONV17_OUT_DIM (12) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (12) +#define CONV18_IM_CH (256) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (256) +#define CONV18_OUT_DIM (12) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (12) +#define CONV19_IM_CH (256) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (256) +#define CONV19_OUT_DIM (12) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (12) +#define CONV20_IM_CH (256) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (256) +#define CONV20_OUT_DIM (12) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (12) +#define CONV21_IM_CH (256) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (256) +#define CONV21_OUT_DIM (12) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (12) +#define CONV22_IM_CH (256) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (256) +#define CONV22_OUT_DIM (12) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (12) +#define CONV23_IM_CH (256) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (256) +#define CONV23_OUT_DIM (12) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (12) +#define CONV24_IM_CH (256) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (256) +#define CONV24_OUT_DIM (6) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (6) +#define CONV25_IM_CH (256) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (512) +#define CONV25_OUT_DIM (6) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (6) +#define CONV26_IM_CH (512) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (512) +#define CONV26_OUT_DIM (6) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (6) +#define CONV27_IM_CH (512) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (512) +#define CONV27_OUT_DIM (6) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (512) +#define FC28_OUT_CH (1000) + + +#endif /*__192_0_5_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/192_0_5_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/192_0_5_weights_bias.h new file mode 100644 index 0000000..14ac5c7 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/192_0_5_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __192_0_5_WEIGHTS_BIAS_H__ +#define __192_0_5_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {49334, 274210, 160945, -3261969, 4565, 22145, -4569783, 246832, 52848, -545842, -3198668, -62018952, 125756, 124452, -11865536, -7393793} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-151, -236, -148, -89, -141, -92, -77, -11, -62, -233, -121, -237, -62, -161, 86, -127}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1298642048, 1220544512, 1754911744, 1464954368, 1758051584, 1856568704, 1634211584, 1172878080, 1659432960, 1817131136, 2124981504, 1336609792, 1097824896, 1110622848, -1950907136, 1826043904}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {7134, 11870, 74769, -816, -698, 20589, -111, 34317, -3040, 892, -198, -36, 39311, 6896, 36516, -237} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-110, -91, -146, -278, -111, -184, -257, -139, -306, -160, -238, 28, -211, -108, -177, -194}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1462502144, 2038791424, 1630343552, 1304171264, 1255797504, 1662306176, 1184282496, 1784629376, 1537399680, 1137169792, 1822305408, 1085799680, 1193019136, 1092768640, 1165651200, 1290234368}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {54662, 55709, 86863, 57532, 7766, 13608, -5443, 17596, -8821, 25784, -5863, 15858, 35141, 978, 33627, 50593, 12850, 89119, 74432, 53290, 98674, -4215, 66993, 19647, 44393, 6797, 4087, -32615908, 40833, 17263, 63603, -74} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-164, -177, -210, -204, -104, -102, -92, -131, -61, -125, -104, -97, -112, -80, -139, -158, -114, -246, -225, -249, -234, -102, -246, -108, -207, -75, -88, -85, -159, -119, -244, -85}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1402994304, 1946927104, 2091847040, 1584521984, 1286572544, 1569523712, 1997001856, 1797465472, 1461592448, 2134308096, 1099810944, 1754303488, 1952086784, 1119202688, 1240102272, 1393027072, 1258032896, 1601208960, 1428487936, 1479700480, 1260199680, 2020303616, 1459849600, 1689460992, 1439606528, 2021902848, 1086283392, 2101134848, 2067123200, 1713506688, 1222011008, 1076941952}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {42509, 10283, 1719, 3547, 91170, 698, -45, 33441, 80286, 35636, 79517, 39312, 10101, 6010, 8357, 17022, 3242, 69204, 616, 54799, 37912, -23261, 2385, -48483, 55201, 117, 87235, -35, 26581, 59025, 2014, 4262} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-115, -132, -95, -9, -278, -102, -120, -125, -323, -158, -232, -160, -109, -20, -145, -145, 3, -228, -130, -333, -165, -40, -100, -43, -5, -95, -311, 8, -213, -75, 33, -62}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1532562688, 1968473216, 1308621184, 1421857408, 1539440640, 1755291520, 1456173056, 1209888000, 1739035648, 1894540416, 1953019264, 1127201024, 1315172096, 1947779968, 1720896512, 1166908928, 1945310208, 1470075776, 1887472256, 1192223488, 1260748160, 2069838720, 1102692224, 1390789632, 1519494784, 1159872000, 1538899584, 1581440256, 1642214272, 1788428544, 1413203456, 1318005888}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {-6771, 7440, -16521, 2677, 44561, 5737, 19751, -2318, 72986, 93377, -23677, 25172, 22370, 70320, 33108, 26328, -36474, 28323, -30889, 55460, 27741, 77220, -10363, 55706, -9846, 41485, 37313, -8069, 40956, -1187, 39440, -17015, 34433, 6191, 27695, 33361, -7495, 10413, 7601, -185, 43894, -35919, -4811, 6714, -4742, 66744, 30292, -8413, 19109, 24452, -3132, -36444, 28982, -19608, 6787, -6574, 15472, 60985, -78746, 27566, -600, -6439, 10501, -15070} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-24, -153, -48, -243, -114, -117, -127, -123, -169, -198, -79, -186, -112, -122, -153, -71, -93, -76, -95, -185, -232, -221, -63, -158, -165, -135, -193, -162, -123, -114, -126, -116, -133, -73, -187, -103, -160, -131, -132, -50, -190, -64, -50, -134, -81, -152, -231, -154, -136, -62, -56, -43, -138, -21, -176, -149, -205, -232, -59, -194, -171, -142, -106, -179}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1438944768, 1107813888, 1884608384, 1254164608, 1392698880, 1750500096, 1828394752, 1168877696, 1095315328, 1859279232, 1650424832, 1443587840, 1156180864, 1205294464, 1661565568, 1764790784, 1734839680, 2091756416, 2030042112, 1961069056, 1903420544, 1583773696, 2091506688, 1743149440, 1901484928, 1611470336, 1264329216, 1267793664, 1076662016, 1754089472, 1178569216, 1868186240, 1384350848, 1506220544, 1547883520, 1651763840, 1108393856, 2107193472, 1238775680, 2132525824, 1672667264, 1115122048, 1332804096, 1157340928, 1398947840, 1491657472, 1076151552, 1503145216, 1483420800, 1348324480, 1076334208, 1576717184, 1719281792, 1985503104, 1223384320, 1845013120, 1478632704, 1648158464, 1851141888, 1542852864, 1255785984, 1900301312, 2034465024, 1376375296}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {1392, 29120, 66034, -116, 11757, -766, 20373, 50175, 44051, 70620, 4190, 52, 22380, 9859, 22388, 25658, 1640, 7030, 7243, 10991, -7606, 166157, 15181, 24594, -654, 51070, 45821, -2853, 28446, 15502, 15071, 56978, -142, -4810, 3823, 216, 50124, 100, -662, 393, 1010, 1429, 32596, 56, 149, 2554, 4682, -35850, 33876, 60852, 63624, 2384, 35827, -15640, 55977, 39463, 22495, 33731, -7843, 5370, -3630, -362, 11570, 30871} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-106, -165, -239, -109, -54, -128, -245, -136, -228, -217, -24, -68, -103, -71, -101, -110, -127, -51, -120, -54, -35, -262, -80, -134, -90, -209, -208, -63, -125, -146, -213, -218, -147, -108, -136, -149, -216, -134, -104, -110, -131, -85, -188, -122, -122, -59, -168, -6, -176, -202, -159, -119, -109, -22, -154, -148, -123, -224, -45, -36, -13, -24, -66, -114}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1108639872, 1920657536, 1196371200, 1767490560, 1170231808, 1102187008, 1862972672, 1533876608, 1364330624, 1185232128, 1286927104, 1822420736, 1790667776, 1789195136, 1158320128, 1082233088, 1203151744, 1332043392, 1844631680, 1981590272, 1257878016, 1763618432, 1592429312, 1076635392, 1761708928, 1170682624, 1524819584, 1760300800, 1532473472, 1839981312, 1620770176, 1082862080, 1782522496, 1989959296, 1916868480, 1424464384, 1182355840, 1799659648, 1626442112, 1711008000, 1887347200, 1713804288, 1990448512, 1206836096, 1266463872, 1113105024, 1827561216, 2031455488, 1722220416, 2107100928, 1740133248, 1297222528, 2030262144, 1187327232, 1426234880, 1803080704, 1827165312, 2138645248, 1182727424, 1107330944, 1507689216, 1205505280, 1268925824, 1671911936}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {-6555, -17920, 58840, -14800, -48427, 33912, 19219, 62091, -6193, 3675, 30723, -39310, -1640, 14724, 16920, 117907, 2714, -32107, -51004, 13189, -43504, -6565, -14298, -1702, 24321, 73457, 49773, 11163, 53242, -24638, 12952, 78, -68899, 27991, 17699, 27917, -26840, -6016, 2246, -24423, 61750, -8123, 45320, 1934, 21965, 22184, -22812, -46049, -17366, 48219, -35769, 59956, -6147, 10743, -67132, 22516, 21037, 33033, -4837, 43517, -14518, 1506, -36769, -48108} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-96, -155, -203, -85, -109, -170, -197, -193, -142, -95, -101, -135, -87, -192, -151, -172, -107, -74, -77, -129, -95, -119, -69, -70, -129, -169, -161, -131, -155, -124, -106, -147, -106, -113, -169, -124, -107, -125, -116, -114, -147, -151, -118, -148, -92, -112, -77, -57, -98, -144, -102, -125, -70, -116, -59, -172, -118, -179, -148, -137, -84, -145, -114, -81}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1354729728, 1285377280, 1231805312, 1401450368, 1613481728, 1361045248, 1813782784, 1521032704, 2003896448, 1548705024, 1780027904, 1256786048, 2020491392, 1785130496, 1374252032, 1255382656, 1848502272, 1721506944, 1589523840, 2098963712, 1640897920, 1877107840, 1336696960, 1510482304, 1765672960, 1443458432, 1865568256, 1874322176, 1816600576, 1233505024, 1403874560, 1955341952, 1105840000, 2092715776, 1641016576, 1332107776, 1292430464, 1081542528, 1687684224, 1176937728, 1744230528, 1390578048, 1283924480, 1999727104, 2019072384, 1335751936, 1113984128, 1186624384, 1368288768, 1621732224, 1296626048, 1334797312, 1575605888, 1357659136, 1235902848, 1584374656, 1908381312, 2093342208, 1701342592, 2077941760, 1625393152, 1212453632, 1520506752, 1828809728}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {991, 8507, 7705, 64868, 1920, 66391, 99028, 1346, 250384, 21722, 288858, 2133, 58101, 63357, 15106, 1879, -56884, 2083, 163835, 2116, 117587, 3939, 28220, 288700, 1253, 1648, 1963, 187130, 190288, -2600, 98785, 25597, 11915, 51540, 6238, 2550, 5298, 1617, 252, 13561, 5398, 103453, 188662, -4145, -108641, 2089, 3669, 52, 11663, -21760, 2356, -5928, 83679, 86939, 3844, 106533, 66132, 1749, 18792, 5995, -2723, 781, -223, 2690} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {82, 73, 112, -383, 54, -378, -350, 62, -336, 63, -292, 82, -337, -357, 84, -141, 55, 70, -324, -103, -388, 70, 102, -330, -93, -120, 31, -338, -372, 40, -330, 50, 102, -307, 44, 110, 67, -104, 93, 41, -63, -306, -335, 58, 87, 46, 100, -9, 90, 92, 79, -152, -299, -309, 63, -315, -274, 64, 46, 78, -126, -156, 156, 66}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1226988160, 1602241152, 1867124480, 1336066560, 2138296960, 1961170560, 1214224768, 1180559744, 1150622464, 1463943424, 2026045184, 1700811008, 1875011712, 1477825024, 1587094528, 1720212736, 1551297024, 1226411008, 1347022336, 1256743552, 2015404288, 1341836544, 1092200064, 1078070400, 1709208832, 1267032448, 2035438080, 1250961536, 1742874624, 2132712960, 1425573248, 1623904000, 1646479872, 1153692032, 1393534464, 1591323648, 1340254080, 1227299840, 1420583296, 1820936832, 2037847168, 1157741312, 1097228928, 1381438080, 1399595904, 1389970816, 1137127424, 1226440192, 1691196160, 1220481024, 1916173568, 1351591168, 1397823744, 1182574080, 1373952640, 2021227392, 1458300544, 1530023296, 1863334272, 1126825728, 1969948544, 1674079872, 1444460544, 1905324160}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-12299, -26873, 28611, -2946, -5462, 43098, -334, -31097, 63847, 30356, 51056, 2301, -35812, 13649, 35099, 31481, -30276, 43054, 35478, -24932, 46602, -933, 25222, 38335, 43839, 2999, 35256, 51325, 19107, 34673, 95756, 61015, 34304, 134787, 53053, 46792, 56079, 1625, -81713, 74606, 26007, 18415, 14417, 55960, 13586, 20908, 44295, 62738, -34221, 16906, 43927, 57227, -18739, 17118, 49867, 9218, 4353, 6194, 43622, 27000, -1242, 40015, 5264, 8801, 9230, 63748, 37169, 54587, 30241, 68839, 14339, 32602, 62347, -16520, 33411, 30966, 27417, 48216, 39196, 42890, -16011, 47635, 38517, 30078, 41025, 4125, 8300, -39550, 7401, 30442, -17951, 59975, -10936, 40895, 27074, 2074, 95465, 83492, -38083, 4202, 25363, 20142, 15689, 46583, -42355, 5853, -38895, 25971, 30697, 40381, 49163, -18569, 106592, 19153, 33222, 35561, -16362, 61436, 46894, 18656, 17663, 136704, 8571, 25437, 84407, 16376, 32666, 32807} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-135, -49, -186, -112, -126, -121, -88, -81, -114, -73, -150, -57, -44, -69, -158, -117, -66, -119, -109, -56, -147, -80, -115, -190, -97, -82, -156, -117, -94, -106, -119, -126, -118, -181, -122, -158, -141, -161, -68, -167, -61, -122, -117, -127, -80, -118, -104, -143, -114, -150, -82, -88, -111, -102, -58, -120, -67, -130, -112, -77, -157, -175, -127, -86, -120, -126, -121, -118, -175, -135, -86, -93, -166, -111, -108, -65, -57, -106, -130, -141, -99, -115, -113, -156, -92, -154, -66, -62, -135, -104, -111, -98, -110, -126, -85, -162, -189, -109, -67, -82, -118, -138, -100, -103, -136, -100, -107, -155, -155, -151, -92, -59, -78, -133, -130, -114, -112, -91, -113, -137, -90, -151, -101, -129, -160, -142, -134, -119}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {2091757184, 2116384512, 1598932736, 1558234112, 1736890240, 1084963072, 1494849536, 1580528128, 2144780160, 1371606656, 1151235328, 1649198080, 1116158848, 1499293440, 1647189632, 1223004032, 2066180096, 1251090688, 1742208640, 1565666432, 1085911424, 1728294528, 1191933312, 1369992448, 1365199616, 1711904768, 1886317824, 1194627200, 1153260672, 1710184320, 1545912576, 1178772864, 1101432448, 2127153280, 1126245120, 1583687680, 1087540352, 1348457728, 2052596992, 1385790720, 1451882368, 1773529600, 1629705088, 1660782208, 1403268480, 1262319744, 1811179392, 1281706368, 1765867392, 1181734656, 1500470016, 1536303104, 1220178432, 1767854720, 1797388416, 1199753728, 1248974848, 2127944448, 1393872896, 1237541120, 1124405888, 1499983360, 1894443648, 1079280000, 1657533568, 1811357184, 1570180736, 1877388800, 1213978752, 1783139456, 1650828416, 1268573056, 1423342208, 1463392384, 1188865408, 1142375808, 1371264896, 1308105088, 1094460032, 1871299840, 1381425408, 1438458624, 1242272768, 1474028800, 1330558592, 1682553856, 1759934848, 1119046528, 1775876992, 1871631872, 1712124416, 1444131968, 2020782848, 1553097216, 1765191680, 2027741184, 1787272832, 1371437312, 1246271616, 1267394304, 1195098752, 1796132096, 1277364480, 1228629632, 1539971840, 2006397440, 1112897280, 1537315328, 1614572160, 2109213312, 1253234304, 1147748224, 1695265664, 1789501184, 1644751744, 1401303296, 1535701248, 1125574144, 2073882624, 1707427840, 1738476800, 2107131264, 1116523520, 1101844352, 1124876672, 1727009152, 1510530816, 1851289600}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {-4664, 255, 15384, 370, 24698, 21045, 45, -72, -4231, 16790, 25769, -235, 24558, 40277, -8857, 43927, -872, 44121, 32053, -259, -388, -680, 30833, -94, 13937, 25641, 35525, -15037, -12, 985, 11425, -518, 465, -132, 24136, -240, 1460, -8443, -225, -797, 97251, -25, 16457, 6116, 25760, 8195, 686, 1044, 70961, 94615, 6174, -256, 107467, -2393, -8074, 20908, 33315, 34509, 366, 1112, 709, -147, 24, -34, -4250, 13349, 1790, 98, 2094, 1573, -9941, -292, 16712, -829, 15719, 74, 158, 9013, 17527, -198, -9695, 205643, 34188, 30676, 19921, 70562, 187, 216, -4901, 62, 29961, -8563, 51, 1538, 14246, -4396, 110, 26432, -420, 2844, 384, 52469, 2740, 289, -8296, 1121, -10108, 273030, -123, -1292, -388, 173, 26377, -2207, 24574, -2594, 33651, 52, -15779, 57805, 18873, 15290, 72281, 30135, 41027, -12191, 23, 5052} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-32, -118, -40, -30, -226, -226, -32, -41, -69, -214, -236, -43, -206, -234, -77, -237, -130, -262, -128, -101, -104, -110, -240, -115, -237, -229, -247, -26, -104, -41, -84, -95, -11, -123, -128, -126, -133, -26, -33, -103, -291, -56, -52, -84, -230, -70, -166, -94, -252, -260, -51, -115, -275, -92, -24, -230, -234, -172, -91, -78, -61, -64, -60, -99, -39, -109, -39, -131, -141, -191, -26, -93, -231, -54, -218, -139, -107, -50, -61, -120, -58, -323, -251, -220, -89, -280, -112, -112, -31, -94, -225, -56, -65, -130, -229, -37, -119, -205, -98, -110, -147, -236, -132, -97, -26, -78, -36, -312, -122, -91, -139, -38, -223, -41, -231, -106, -220, -108, -15, -215, -223, -46, -298, -225, -227, -52, -118, -42}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {2090148480, 2002914944, 1279767424, 1746859776, 1737173888, 1233157632, 1752318848, 1321751936, 1628533632, 2030732544, 1274479616, 1263042432, 1340306816, 1846108160, 1201798912, 1291486080, 1915321216, 1196348800, 1243326976, 1151605120, 1491808384, 1161494528, 1333548032, 1223579904, 1945334016, 1474891264, 2028688768, 1918572544, 1366738816, 1117951360, 1396172672, 1661826176, 1276723840, 1667345536, 1304214272, 1796185344, 1225467520, 1597853952, 1529478144, 1880001664, 1655211008, 1605805440, 1088133760, 1223424000, 1890132864, 2068260736, 1849102720, 1947214208, 1841502592, 1170901760, 1409808512, 2089158400, 1897823360, 1437899008, 1186188416, 1477197056, 1281839744, 1667729408, 1309872256, 1439381376, 1198311168, 2064547072, 1140251520, 1128575872, 1131775616, 1614445056, 1327910528, 1547724544, 1638308608, 2038799744, 1745743232, 1115148800, 1523567616, 1126656768, 1577221632, 1624981376, 1095408640, 1178254208, 1083957248, 1327916416, 2080086272, 2035386624, 1991415936, 1358759168, 1447662976, 1450897408, 1582919552, 1505088640, 1400167168, 1157313152, 2131971200, 1151700736, 1188190080, 1154355968, 1653378432, 1728312960, 1103643904, 1116465408, 1131387008, 1163847168, 1239405824, 1176328320, 1839009664, 1202694400, 1201095040, 1481610496, 1328871168, 1209790720, 1075393792, 1419417472, 1314639104, 1614020224, 1109450624, 1340092416, 1389179776, 1331755904, 1802955392, 1445126272, 1597321216, 1146554880, 1522713472, 1114257408, 1754021248, 2018244352, 1519853440, 1740685184, 1898668544, 1520017280}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {-18089, -22210, 56651, 6992, -3033, 14559, 33040, 6241, -37035, -16740, 15099, 12529, -18831, 6674, -7266, -60677, 20652, -16476, 22845, 22255, -6495, 86526, 11362, 17940, -7111, 44770, -10522, -3448, -41263, -11677, -13634, 2888, 9750, 9868, 4049, -16714, -10166, -2911, -655, 7656, 7680, 16161, -23120, 52162, -13968, -20508, 17831, -39535, -18639, -16144, 8744, -7592, -6560, 65126, -5266, -7909, -10146, -20479, -32125, -7137, 29191, -14151, -1576, 12809, -19641, 22527, 1426, -43650, -16120, -25758, 6216, 10322, 6827, 66255, 16324, -13923, 39588, -10916, 21098, 56911, -34016, -2000, -62598, 1978, -10947, 26451, -20488, 6266, 12100, 13611, -3611, 16106, 14285, -16955, 10791, 8277, 27291, 19790, -17429, 29576, -3591, 17299, 51987, 56171, 3271, -3261, 39742, 44462, -14655, -4207, 3810, 25804, 3521, -39444, -42487, 12155, 165, -218, 5210, -16619, -24224, -54067, -37094, 32279, -2721, -27687, 15716, -8727} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-129, -78, -109, -133, -72, -145, -119, -115, -103, -102, -63, -133, -131, -169, -74, -121, -173, -82, -103, -86, -145, -179, -120, -142, -122, -134, -129, -82, -115, -102, -120, -160, -94, -191, -143, -148, -97, -84, -104, -169, -132, -125, -69, -121, -105, -131, -140, -99, -173, -130, -125, -143, -108, -124, -122, -143, -126, -93, -147, -174, -49, -110, -156, -97, -125, -100, -96, -136, -65, -164, -155, -200, -43, -131, -84, -85, -119, -85, -159, -166, -125, -155, -121, -134, -119, -138, -99, -146, -154, -130, -92, -137, -149, -144, -104, -75, -96, -120, -67, -137, -150, -139, -93, -94, -137, -84, -147, -189, -131, -94, -101, -113, -85, -104, -138, -127, -156, -115, -109, -94, -101, -116, -140, -144, -100, -87, -107, -90}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1557773056, 1695107328, 1681563392, 1505597184, 1899744896, 2035822336, 1924579584, 1633262848, 1397758080, 1502485632, 1095681280, 1264230016, 1345507456, 1107617536, 1407042816, 1650486528, 1782080000, 1185934464, 1695306624, 1659688576, 1442662656, 1607502848, 1194606720, 2031795072, 1941452544, 1523066624, 1343436416, 1493133056, 2055177216, 1334574464, 2027219456, 2125019648, 1565055232, 1661735808, 2080448256, 1205459840, 2082720512, 1944949888, 1235078656, 1184562304, 1648165888, 1736382848, 1540203904, 1737957888, 1584280320, 1630037760, 1956304896, 2029440384, 1584500480, 1996868224, 1216531456, 2147364096, 1238915456, 1607142656, 1987650944, 1236054016, 1820248960, 2065951744, 1296226048, 2116338432, 1655437312, 1166380288, 1385270272, 1956507776, 1482122112, 1166747264, 1144258304, 1500736128, 1151658368, 1702378752, 1416067072, 1986392448, 1807726720, 1760178304, 1678584448, 1185205248, 1338449920, 1094369536, 1319373696, 1973504128, 1171995392, 1243336064, 1931746816, 2074186880, 1507646976, 1170297344, 1853782016, 1493161216, 1091332736, 1594492928, 1719613184, 2049452160, 1687289856, 1976156800, 1083696000, 1573478144, 1535128448, 1156771712, 1876140800, 1498402432, 1774606080, 1285328384, 1852489216, 1651090560, 1440974208, 1100986240, 1223149056, 2021385984, 1087389824, 1078335744, 1209388416, 1100033280, 1530487936, 1481663232, 1342860160, 1686980096, 1199156352, 1157321088, 2048484864, 1415331840, 1371167360, 1613053440, 1944835072, 1092988032, 1438017024, 1253306496, 1159676672, 1612439296}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {-1051, 257019, 9434, 227896, 83955, 148280, -3679, 124034, -1811, 2742, 103807, -183, 1324, -113, 225, 4446, 10042, 20674, 2969, 123258, 76113, 14904, 115605, 156181, 102585, -3582, 5031, 239950, 129547, 36, 124971, 20412, -4770, 3166, -1742, 43545, 30908, 13035, -545, 1476, -480, 375, 1010, 66608, 22220, 382, -8851, 225114, -1400, 81619, 118735, 1304, 119558, -10159, 84191, 113914, 74955, -352, 1174, -931, 82770, 1623, 62092, 77637, 152011, 121201, 165929, 99412, 28198, 148724, -1005, 28183, 73871, 70415, 107227, -1548, 2122, 63665, 415, 181837, 2298, -81, 140270, 35427, 123708, -1017, -405, 15078, -6537, -2458, 140944, -1955, 11798, 220876, 441, 86808, 224211, 1084, 66208, 208596, 124309, 96426, 80793, 82900, -1574, 100406, 157758, -909, 1643, 164371, 13794, 103053, 63562, -9337, 118509, -172, 214797, 12751, 19367, 5730, 12255, -11916, 113070, 2028, 365, 3155, 1195, 283179} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {94, -389, -106, -347, -273, -312, 64, -325, 72, 84, -279, 57, 101, -3, 111, 83, -10, 45, 57, -296, -395, -94, -328, -298, -325, -75, 66, -309, -323, 118, -321, 101, 116, 74, 95, -317, -107, 62, 40, -106, 78, 38, 67, -275, 91, -103, 50, -303, 88, -327, -328, 83, -387, 58, -323, -294, -353, 78, 66, 71, -272, 88, -334, -330, -352, -303, -335, -313, 98, -335, 86, 92, -298, -291, -300, 56, 90, -331, -112, -323, 61, 87, -324, 93, -295, 47, 78, -102, -84, 48, -393, -161, 74, -319, 86, -285, -301, 74, -328, -306, -373, -307, -280, -260, 80, -296, -329, 33, 49, -344, 68, -379, -340, 119, -352, 75, -363, 62, 70, 51, 80, -111, -329, 81, 84, 91, 74, -318}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1317199616, 1639552128, 1087999232, 1735576448, 1489643008, 1598028672, 1600895104, 1147527424, 1290706688, 1668994688, 1898380160, 1564892544, 1371709056, 1812962816, 1220177280, 1474500992, 1279216768, 2136978944, 2061745024, 1285874944, 1128732416, 1273163264, 1183448064, 2027822848, 1212954880, 1283077888, 1182677760, 1882268928, 1928593280, 1359245184, 1819970688, 1272314880, 1481166592, 1391267584, 1687027840, 1232900224, 1793520512, 1321983744, 1759975296, 1129556864, 1472670080, 1733752192, 1776367744, 1762966528, 1294544384, 1330705152, 1247315968, 1195544448, 1743582080, 1289645056, 1369139584, 1205063808, 1930427904, 1184757120, 1387635072, 1123048448, 1537426816, 1392000000, 2007340672, 1694854656, 1813015680, 1960140032, 1473834880, 1236239488, 1158537216, 1750097408, 1272046848, 1305690752, 1188524928, 1505123712, 1431836160, 1697769344, 2141405184, 1713905280, 2057549696, 1628723456, 1575564416, 1139373056, 1609474560, 1836877696, 1460890368, 1382577024, 1126946944, 1831809920, 1967380480, 1528196864, 1726679296, 1536237568, 1333249408, 1997804800, 1370039424, 1422547584, 1242422144, 1107531520, 1178101760, 1636112512, 1478241152, 1386259072, 1444864128, 1607532672, 1747323392, 1124479616, 1533477120, 1537269248, 1327075712, 1627156992, 1359466112, 1091518720, 1961827456, 2062122752, 1497822976, 2063140480, 1276159872, 1934577664, 1084501248, 1538862592, 1735895552, 1620977664, 1510491264, 1465879424, 1308941696, 1820060800, 1217744512, 1500879360, 1519324544, 1851436032, 1779474560, 1653271936}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {81831, 39693, 14341, 51731, 51442, 72563, 37768, -17197, 72690, -23158, -70454, 80410, 58986, 67737, 29559, 34673, 49317, 135808, 462, -63977, -1537, 6685, 61185, -26772, -50539, 49112, 5934, 28090, 48770, 39815, 53657, 59919, 21313, 22301, -24059, 30254, 24838, -16437, -37452, 15827, 71322, 2920, 9533, -10109, 50677, 20912, 65874, 41174, 36336, 63795, 32947, -23467, 53997, 2924, 35512, 50238, -16756, 68838, -25483, 27871, 33691, 27631, 15120, 42151, 22245, -24414, -9945, 16613, 24719, 121056, 43664, 40676, -46663, 69340, 7500, -9348, -38581, -5467, 33677, 34078, 40682, 76260, 11987, 70625, 27638, 9753, 107730, -26627, 6810, 1863, 68089, 20833, 30745, 26839, 11697, 39296, 44471, 13745, 51062, 83654, 34141, 7882, 60519, 33556, 47376, -19245, -5830, 65385, 130060, 22369, -1773, 16876, 16002, 6016, 1109, 31921, -10910, 30875, 8381, 6629, 8123, 66459, 82984, 26225, -11473, -6982, -13034, 51810, 40535, 104839, -33990, 35384, 24198, -3104, 66294, 625, 51477, -2504, -28, -9452, -38548, 23256, 40964, 30129, 33544, 19209, 114834, 583, 11483, 37016, 24969, 97373, -28868, 2977, 81887, -72759, -20854, -9795, 70241, -50768, 9387, 79631, -8766, 73427, 20808, 2565, 815, 8275, 1243, -14495, 119327, 38315, 80465, 117225, 46654, 3495, 115451, -4440, 66428, 9770, 15173, -18549, 61784, 49022, 9340, 76300, 39522, 16708, 847, 31260, 60124, -3138, -4307, 42641, 3731, 17057, -10101, 56170, 20300, 6488, 26356, 32039, 29177, 58800, 25322, 55352, -5632, 86139, 36742, 7761, 61815, 7906, 37714, 42532, 6518, 15852, -13340, 40900, 74144, 53232, 25990, -392, 82238, 75410, 49887, 35554, 53403, 59718, 74089, 81721, 71453, -49063, 23169, -6452, 23003, 39273, 60286, 35188, -9008, -12759, 41876, 66958, 36143, 29759, 10656, 16275, 2092, 56877, 17965, 41047, 47769, 37402, 4167, 128304, 26461, 83528} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-133, -148, -140, -108, -184, -180, -121, -116, -194, -145, -86, -163, -91, -127, -102, -75, -122, -124, -123, -67, -120, -136, -147, -79, -114, -169, -139, -148, -115, -105, -160, -128, -149, -145, -86, -118, -105, -108, -77, -124, -108, -82, -127, -110, -136, -116, -146, -164, -75, -139, -99, -119, -97, -125, -128, -153, -149, -132, -137, -199, -96, -145, -117, -137, -82, -104, -97, -96, -95, -143, -122, -149, -149, -138, -93, -94, -142, -129, -107, -161, -122, -100, -118, -123, -91, -93, -163, -118, -137, -124, -124, -152, -103, -118, -105, -143, -77, -123, -158, -127, -71, -117, -126, -153, -85, -122, -116, -153, -190, -108, -96, -117, -150, -131, -138, -146, -103, -155, -74, -66, -81, -159, -148, -86, -88, -83, -65, -149, -147, -131, -78, -133, -97, -91, -141, -136, -161, -72, -82, -152, -130, -135, -130, -152, -125, -115, -117, -119, -97, -79, -120, -120, -91, -156, -144, -81, -82, -71, -113, -108, -98, -162, -56, -115, -107, -120, -125, -89, -86, -96, -129, -85, -120, -146, -162, -82, -120, -84, -128, -208, -90, -101, -117, -95, -131, -134, -149, -95, -78, -102, -137, -145, -101, -134, -144, -81, -76, -119, -44, -114, -144, -128, -175, -179, -117, -118, -111, -148, -134, -106, -126, -84, -200, -155, -119, -94, -102, -100, -150, -184, -123, -107, -122, -121, -136, -129, -146, -182, -131, -114, -144, -88, -131, -118, -75, -135, -116, -114, -105, -105, -101, -125, -141, -142, -137, -88, -68, -146, -63, -137, -129, -143, -115, -140, -126, -114}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1593817088, 1225614592, 1471894912, 1131623296, 1625650560, 1971892608, 1362155392, 1835944320, 1885954816, 1459444608, 1964259840, 1836486656, 1518082944, 1739924992, 1544662528, 1564158336, 1631516416, 1703687552, 1826279808, 1860196224, 1171740672, 1191328128, 1454315904, 1319702016, 1243806208, 1918912896, 1310360320, 2003074560, 1135282816, 1403678080, 1289963264, 1638888064, 1992706304, 1999611648, 1440393984, 1653355648, 1756859520, 1856308608, 1662665600, 1494954112, 1160343936, 1398490752, 1406804608, 1491203456, 1607473664, 1442852096, 1558822016, 1989471232, 1519572992, 1912513152, 1453069952, 1356663296, 1423920384, 1451911296, 1454370560, 1351264256, 1268209024, 1157098624, 1585563392, 1896414720, 2067925120, 1660016640, 1427966976, 1423385088, 1710629504, 1982347648, 1160682368, 1160492928, 2121742592, 1838987008, 1644880256, 1325463808, 1156958592, 1143519488, 1373093888, 2035904000, 1588257664, 1700117888, 1616030976, 1372601728, 1651188992, 1908790272, 1644964864, 1493830272, 1587756800, 1948706304, 1867918464, 1697390464, 1209615616, 1712461696, 2138593664, 1870579712, 1929140096, 2142881920, 1318825216, 1191253888, 1540972544, 2023550208, 1145163264, 1588718080, 1205318784, 1595966208, 1325778944, 1527318784, 1319071104, 1867897088, 1459027584, 1814825088, 1516877696, 1229174784, 1100717440, 1408031488, 2016372480, 1679150336, 2085068544, 1122141568, 1209101440, 1145602816, 1934933248, 1945624960, 1996137472, 1509539328, 1643956736, 1957405056, 1387293696, 1935126912, 1278747392, 1531031552, 1475892608, 1276539776, 1671052672, 1429738368, 2024187264, 1085970944, 1075536512, 1789090176, 1574693504, 1085425536, 1832976640, 1549659008, 1150716928, 1817071488, 1822902144, 1860557056, 2028958848, 1674328704, 1202988160, 2095255168, 1848393984, 1455341824, 1190184832, 1213977472, 2062662528, 1812772992, 1858470272, 1192320896, 1648406016, 1508315392, 1189124992, 1510970752, 1566465024, 1097385472, 1551778304, 1532598784, 1155787392, 1105053184, 2120534144, 1327094656, 1765347328, 1454912896, 1276582400, 1962312960, 1105359104, 2066074112, 1921097728, 1246326144, 1351715456, 1592844416, 1239993728, 1993561216, 1262194432, 1588333952, 1360203776, 1838876416, 1257532032, 1936947328, 1967289984, 1512290560, 1163262080, 1669152128, 1397815936, 1632016768, 1525189376, 1477230592, 1254866048, 1285128192, 1971676288, 1294596992, 1294626560, 1620176000, 1996679808, 1280618752, 1597136384, 1733698944, 1458707456, 1173519360, 1734588416, 1917585152, 1336339200, 1464786560, 1646650752, 1318568448, 1483170688, 1126038528, 1145558272, 1225421312, 2111854336, 1221317888, 1628683392, 1107042944, 1698991488, 1474018304, 2074568192, 1189258240, 1278280448, 1410302464, 1469191808, 1605209600, 1477945728, 1250842496, 2089036288, 1553146624, 1494070144, 2009105536, 1802692224, 2037794176, 1312012032, 1776453504, 1841500800, 1445914368, 1855912064, 1180353920, 1281064064, 2090125568, 1490181760, 1550203264, 1667357440, 2031801216, 1751907840, 1425295616, 1490907136, 1433222400, 1159161472, 1965185920, 1239932544, 1416054144}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {-8173, -558, 10065, -179, 287, 141, -1756, -24636, -448, -3556, 79025, 479, -1639, -7373, -8913, 75, -10203, 5224, 2651, 779, 46090, 20175, 1801, 11009, -6337, -7639, 11204, 60670, -688, -2766, 696, 196, -13991, 3926, 43497, 28641, -1735, 25458, -12561, -28948, -9895, -1008, -6354, 234, 2112, 25523, 502, 7771, 446, 907, 36857, 460, 1493, -10255, 584, -441, -17780, 745, -6676, 51162, 576, 371, 161, -6688, 1169, 52031, 19232, 77159, 1110, 4901, 3700, 27119, 92362, -132, -12526, 328, 94136, 650, -3916, -11204, 3213, -2288, 1236, 954, 10072, -4984, 422, 336, 58674, 420, 205, 663, 24787, -1544, -8114, 2, -6180, 204, 9909, 1691, 98, -5237, 1264, 533, -10983, -6049, -26653, 29249, -124, 1965, 22050, 2753, 8488, -207, -4124, -5396, 21269, -6151, -6798, 6328, 876, 133894, 22139, -7104, 21013, 50, 517, 75600, 509, 183, -1673, 1384, 6243, 179, 50206, 401, -1401, -29, 100479, -633, -14946, -88, 2209, 96, 85669, 11811, -6079, -319, 490, 6176, 807, 2139, -744, 51246, 2950, 1548, -2158, 898, 25109, 6803, 45, -231, 572, -554, 123818, -9533, 3998, 15161, 30797, -10579, -6941, -10570, 868, 27241, -14745, 6537, 431, -10116, 26983, 4623, 13777, 634, 12178, -3509, 4839, -240, 1624, 367, 430, -10949, 110, -6507, -495, -3948, -134, 1901, 165, 12493, 66723, 10947, -681, 44720, 8536, 32776, -540, -1714, 94811, 992, -19856, 4854, 5738, 390, 39, -888, -392, -425, 6247, -3494, 59, -1850, 21018, 8073, -612, 24, -10423, 46184, 39255, 25285, 1164, -511, 106, 197, -5054, -302, -3214, 9088, -499, 19346, 8554, 61744, -4571, 736, 22, -11525, 430, 832, 23, 212, 132, 88, 45431, 1398, -520, -732, -6292, 30916} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-33, -140, -79, -88, -87, -117, -102, -14, -132, -30, -328, -107, -112, -130, -56, -120, -21, -49, -57, -144, -218, -245, -95, -44, -24, -14, -75, -308, -98, -85, -102, -109, -45, -18, -290, -245, -58, -208, -22, 44, -33, -12, -17, -124, -144, -175, -112, -33, -126, -108, -230, -125, -138, -45, -110, -85, -15, -128, -102, -213, -112, -12, -96, -41, -99, -288, -231, -264, -106, -48, -31, -237, -269, -80, -35, -117, -280, -119, -21, 0, -48, -105, -105, -100, -182, -93, -108, -47, -210, -126, -110, -116, -243, -29, -17, -107, -31, -62, -206, -87, -127, -66, -92, -103, -22, 0, -11, -248, -117, -87, -248, -105, -64, -99, -25, -61, -237, -97, -59, -43, -103, -311, -246, -70, -242, -105, -118, -287, -119, -102, -14, -112, -32, -110, -260, -140, -61, -9, -554, -9, -23, -108, -87, -105, -186, -41, -52, -11, -139, -87, -169, -92, -120, -282, -61, -37, -96, -75, -252, -101, -83, -88, -109, -124, -278, -12, -24, -122, -185, -42, -61, -21, -112, -242, -46, -75, -46, -25, -231, -66, -229, -98, -55, 28, -52, -127, -110, -109, -108, 8, -128, -17, -31, -59, -134, -95, -125, -234, -270, -36, -114, -229, -71, -256, -5, -120, -333, -119, -15, -158, -45, -109, -90, -5, -54, -122, -29, -23, -113, -125, -141, -26, -129, -118, -5, -237, -233, -242, -149, -146, -134, -31, -20, -18, -108, -39, -124, -250, -56, -176, -62, -98, -108, 93, -122, -133, -114, -32, -145, -100, -235, -87, -6, -145, -3, -217}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1932260224, 1302460288, 1322601728, 1427410816, 1551862400, 1483446400, 2008645248, 1641986816, 1405556096, 1675504000, 1994201728, 1600200448, 1600135552, 1568189696, 1515950080, 1438036352, 1294188672, 1323046656, 1550768256, 1127142912, 1964544000, 1955664384, 1750701184, 1605670528, 1463111552, 1102423808, 1608134144, 1822540416, 1559610112, 1939253248, 1334686080, 1648028288, 2117134592, 1183415936, 2039744768, 1618798592, 1461077376, 1812250880, 1445600128, 1305019776, 1152924160, 1870078336, 1370974848, 1200082816, 1551877888, 1226267648, 1935504512, 1460073088, 1695684992, 1631658880, 1138070912, 1339269248, 1334556928, 1196373248, 1888435072, 2133270528, 1243337472, 1513173120, 1312416896, 1765670016, 1185013376, 1093305728, 1414041856, 1404024320, 1710623360, 1249478784, 1448822912, 1790498432, 1268765952, 1366955776, 1576468864, 1761792000, 1232674304, 1447776000, 1854178816, 1410355968, 1486844672, 1241107456, 1357222272, 1345127808, 1463179008, 1223820672, 1175337856, 1278782720, 1530226688, 1156728064, 1656316544, 2123229952, 2137668736, 1291170432, 1891338752, 1325709824, 1713198720, 1877568512, 1426622976, 1316730368, 1826666368, 1538346752, 1230292736, 1929873152, 1566146816, 1449576704, 2067091968, 1276173056, 1378610048, 1549682560, 1574011264, 1438994304, 1775052032, 1793443840, 1285672064, 1173439744, 1678710400, 1455285632, 2091117696, 1474052480, 1186662784, 1739176448, 1636751616, 2120222208, 2107642496, 1598398976, 1327390592, 1806329728, 1374438400, 2013915520, 2057157504, 1242666368, 1209465472, 1464025088, 1249166336, 1232426880, 1201469696, 1424040064, 1671625856, 1208129408, 1490603008, 1690096768, 1304413824, 1111820928, 1866226304, 1191282048, 1176945280, 1739284992, 1179207808, 1265982464, 1198099200, 2140263936, 1710509568, 1148908928, 1433596288, 1766106880, 1134064640, 1926484096, 1776779520, 1789217792, 1107744256, 1110850816, 1081137152, 1438753664, 1775355264, 1098697600, 1364943360, 2041446656, 1316060032, 1086588672, 1214810880, 1510233856, 1914390144, 2097681792, 1308323456, 1217050624, 1087776128, 1341051136, 1079438976, 1257992192, 1506856192, 1216823936, 1353319552, 2129016064, 1289953408, 1530614400, 1283245568, 1989977856, 1402316160, 1109732992, 1789819392, 1149308160, 1351983232, 2091966080, 1477549696, 1687986688, 1851271168, 1188865920, 1881088128, 1167644416, 1213661696, 2075527936, 1545626112, 1962427136, 1420083712, 1199005184, 1943157632, 2045475840, 1884410112, 1273896576, 1144418304, 2078401792, 1425631616, 1096348544, 1435558656, 1227833600, 1755291136, 1661304320, 1215874304, 1280192768, 1813274112, 1234609152, 1168167936, 1654606208, 1321567232, 1496275328, 1728775936, 1233508480, 1103495808, 1335109504, 1303444608, 1553927680, 2135006464, 1584756224, 1219493888, 1977615360, 2050710400, 1643278592, 1871459712, 2089881216, 1547339392, 2016590336, 1801095296, 1472336128, 1850387840, 2000917760, 1156390016, 1723682432, 1354840704, 1218154880, 1322770048, 1504380288, 1981655936, 1727983232, 1643204736, 1346329344, 1638858240, 2110329856, 1116162176, 1749478016}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {13530, 4595, 36333, 11001, 29459, 97163, 24028, -1075, -7543, 22700, 44379, 31530, 21312, 41934, 18879, -2573, -8726, 5064, 18955, -9407, 21386, 8750, -10462, 63886, -6344, 7528, 24147, 1425, -19871, 20390, 39518, 13173, 26325, 19394, 30864, -6890, 15947, 55873, -14085, 69664, 20108, 7531, 15662, -1188, -19505, 42146, -28869, 8388, -16625, 18435, -5765, 54618, 37733, 3822, 20258, -19786, 42549, 74013, 32184, -1330, -31337, -22238, -1145, 22293, -4249, 30801, 28662, 8089, -3093, 4955, -22033, -18725, -10841, 13806, 17917, 3816, -14217, 10965, 5310, -3408, 54503, 29923, 48788, 12420, 7873, 73247, 8446, 6940, -7140, -8040, 29540, 7143, 59913, 44097, 40948, 4907, 26026, 77630, 35619, 18095, 88556, 6128, 28922, -19035, 720, 40379, 16612, 55950, 9662, 54888, 17801, 65055, 66009, -23020, 52651, -4989, 100894, 23685, -162, 43229, 1827, -18764, 17668, 12570, 33225, 17920, 68561, 63816, 2471, 26990, 10922, 5301, 12539, 15956, 58003, 16048, 1161, 80756, 14796, 27401, 27294, -4399, 31849, -12032, 14543, 11291, 55751, 64166, 26564, 27359, 13749, 8941, 59667, -16476, 4729, 51203, 39874, 23919, -8163, 22439, 4075, 11643, 29465, 46523, 102344, 80896, 20909, 78078, 1478, 26369, -12939, 29726, -13601, 77354, -17958, 7351, 33919, 4949, 16882, 14930, 57038, -11536, -7800, 15941, 20189, 63208, -8148, 24393, 17394, -6386, 25520, -9959, 3374, 54040, 48657, -44064, 12933, 17361, 67242, 37980, 35769, -1504, -4994, 54942, -8596, 8610, 903, -23818, 21936, 51052, 166378, -990, -25196, 6574, 12286, 57023, 16452, 83507, 1020, -14136, 95109, 79448, 84888, -11475, 37340, 24160, 26686, -8125, 96498, 825, 197, -15140, 37130, 42344, -15186, 63851, 25151, 82072, 6636, 1272, -19984, -9269, 50842, 32841, 917, 28174, 27928, 11487, -16086, 16486, 8953, -1936, -3147, 25295, -3136, 5530} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-111, -157, -137, -99, -150, -148, -113, -161, -128, -101, -106, -120, -125, -192, -104, -165, -108, -175, -91, -114, -98, -161, -67, -126, -100, -158, -107, -134, -99, -95, -81, -183, -88, -135, -127, -209, -167, -100, -171, -134, -111, -114, -91, -153, -127, -100, -101, -107, -122, -144, -113, -96, -80, -95, -149, -95, -111, -118, -108, -124, -145, -137, -127, -123, -92, -149, -164, -87, -56, -158, -110, -113, -131, -70, -115, -102, -114, -141, -165, -167, -208, -111, -172, -142, -152, -104, -153, -114, -100, -142, -102, -118, -107, -131, -107, -125, -134, -90, -121, -121, -144, -131, -196, -119, -154, -119, -91, -106, -107, -94, -61, -130, -153, -74, -119, -90, -147, -99, -183, -131, -149, -138, -111, -166, -91, -50, -140, -137, -123, -102, -98, -141, -125, -105, -76, -111, -128, -146, -176, -87, -152, -139, -159, -159, -94, -107, -121, -137, -138, -158, -123, -119, -106, -108, -121, -136, -108, -117, -142, -133, -118, -143, -126, -115, -129, -137, -123, -111, -107, -209, -111, -158, -103, -114, -127, -146, -120, -62, -109, -105, -121, -142, -152, -117, -153, -171, -110, -76, -152, -105, -159, -110, -67, -152, -135, -102, -139, -84, -100, -114, -90, -111, -157, -132, -147, -105, -187, -122, -129, -110, -89, -103, -117, -119, -92, -163, -111, -150, -124, -105, -133, -152, -131, -110, -92, -174, -149, -151, -99, -124, -150, -163, -66, -112, -95, -131, -143, -136, -99, -103, -95, -119, -121, -118, -79, -139, -144, -125, -139, -172, -102, -140, -102, -129, -112, -130}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1950294272, 1375614208, 1454568832, 1637234816, 1080311808, 1181462400, 2105691904, 1841583232, 1561310592, 1976400512, 1111152512, 1906080000, 1953981824, 2019369728, 2072493184, 1949013888, 1227557888, 1363895424, 1407714688, 1583885568, 1667562752, 1115801856, 2058303872, 1597507968, 1837728512, 2140215424, 1459966080, 1189569024, 1215645568, 1364063488, 1616328192, 1249041280, 1510611072, 1140071424, 1931346560, 1075663360, 1930429312, 1253133696, 1651040768, 1923994368, 1228244992, 1869283712, 1654011904, 1237371008, 1648827392, 1859755520, 1788566400, 1274287360, 1474926592, 1683795072, 1994944256, 1969355136, 1518623232, 1517555840, 1355463168, 2118859136, 2089591552, 1283475584, 1705021824, 1463779328, 1163870848, 1110025344, 1764145152, 1130260736, 1107286144, 1494429056, 1301009024, 2100763136, 1490960128, 1679290624, 2110025600, 1449035264, 1355661184, 1515572096, 1733570176, 1429234560, 1364907008, 1253413120, 1445305728, 1279031680, 1341394688, 1566910976, 1562346368, 1386123136, 1690700416, 1627443200, 2010236928, 2138028672, 1117809280, 1284848896, 1287421312, 2131322752, 1325275904, 1331438976, 1893026432, 2043846400, 1590575232, 1905737088, 1893114624, 1582040448, 1224227968, 1230901376, 1358623104, 1229611136, 1285052800, 1248679808, 1852229376, 1422704768, 1728141952, 2038477440, 1876099712, 1138669696, 1798822656, 1434666368, 1358570496, 1722573952, 1770821888, 1290236160, 1340529920, 1152210048, 1850559488, 1287601152, 1876284928, 1745566720, 1739452160, 2004133888, 1263580288, 1952836992, 2058828672, 1509142016, 1973485952, 1300928128, 1209793280, 1682121728, 1926570880, 1674364800, 1666402048, 1731511552, 1128907776, 1439647872, 1764522240, 1728413056, 1353068160, 1996794496, 1969222528, 1517711104, 1417605760, 1505391360, 1964352896, 1419954816, 1169718016, 1137382400, 1218401664, 1680458624, 1164090112, 1432433536, 1480588800, 1753298176, 1081223936, 1150078336, 1221513856, 1685083392, 1314666240, 2147141888, 1599093248, 1117979776, 1727670656, 2117031296, 2064683904, 1177933184, 1563531264, 1689720832, 1420994816, 1888866048, 1946420224, 1717706752, 1207975424, 1202071936, 1847596160, 1344058112, 1679451776, 1884091776, 1218098560, 1340361472, 1304057344, 1668561280, 1520930560, 1405395328, 1807487104, 1941211776, 1828141312, 1500779648, 1411767296, 1194440832, 1462277632, 1501736832, 1914762880, 2035869312, 1448624000, 1144182272, 1225384576, 1079828992, 1372895488, 1519464960, 1345305984, 1969378048, 2022533888, 1278444288, 1353944448, 1104962176, 1165230464, 1561224320, 1170348672, 1665652736, 2073756416, 1120715904, 1430000512, 1136401536, 2069233536, 1387656832, 1448938880, 1319940480, 1109409920, 1635678976, 1418968320, 1165230208, 1611725440, 1350613248, 1756867072, 1281966976, 1736004480, 1252777216, 1587155968, 1153653248, 1985932160, 1479433728, 1369385984, 1664986496, 1819779712, 1578709888, 1155195136, 1594084096, 1513164672, 1571651456, 1231934976, 1244236160, 1428007808, 1416838656, 1173952512, 1785989120, 2035998848, 2016284672, 1101371008, 1714734208, 1712431360, 1485887232}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {-805, -55268, 37676, 4673, 12496, 3343, 40998, -4550, 3957, 23993, 15591, -7774, 88289, 24588, -400, 150, -20507, 24791, -8762, 8775, 24493, -9348, -76, 1993, 37741, 2200, 20382, 126942, 5865, 30834, 30964, 22127, 6177, 11557, 76636, -7736, 24769, -10418, 1711, 2168, -1423, 32082, 97338, 30500, 48555, 2497, -12523, 15581, 5099, 6813, -18205, 6021, -6963, 31417, -40, -789, 14698, -841, 83664, 156, -470, 13227, -10768, 30680, -9247, -1041, 20725, 77605, 84, -45, 1245, -198, 48303, -10584, -10560, 7795, 3549, -1371, 14065, 15533, 2087, 46410, 8637, -16499, 88993, 35189, 782, -2081, 1026, -19527, -1040, 1817, 21191, 39301, 23191, 96095, -5224, 19619, 25297, -4648, -8291, -11691, 136290, -20910, 90209, 3354, -35993, 2286, -8089, 27111, 60742, 21745, -388, -23432, 27484, 61792, 29990, 1418, 18156, 2670, -4870, 19038, 2974, 35970, 38902, 10980, 1095, 21760, -12398, 2665, 75028, 11476, 15174, 3572, 3282, 2699, 8917, 3087, -16345, 56854, 3958, 43493, -3975, 8572, 151599, 8251, 28039, -12642, 13662, 70167, 37640, 18565, 33731, -6031, 8858, 21474, 22130, 112944, 52503, 14984, -19512, 1329, 65210, -6453, 14961, 16558, -519, -14661, -8285, 79, -1034, -68161, 70385, 23148, 3217, 17000, -13782, 27002, 10539, 2462, 8401, 71459, 29741, 10398, 52199, 6477, 31164, 37659, 11655, -33966, 60027, 42874, -13668, 4210, 42797, -12656, -3146, 23049, 9701, -5473, 33021, 2215, -11809, -7487, -11696, 39015, 28358, -5783, -1108, -206, 37020, 58501, 68213, -18592, -2292, -878, 10543, 4517, 32390, -9171, 9667, 6835, 20529, 32435, -14001, -56005, 155266, 8284, 22005, 105800, -8470, 14268, 52865, 69773, -2659, 1707, 34925, 21776, -13334, 5621, -17798, -5378, 14836, -4737, 8792, -7468, -9724, -28578, -2582, 21097, 127862, 25593, -11997, -4347, -24434, -26866} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {5, 21, -265, -180, -64, -40, -188, -15, -27, -251, -170, -79, -324, -230, -2, -55, -9, -177, -33, -90, -252, -14, -32, -82, -267, -90, -86, -397, -115, -258, -210, -139, -39, -82, -325, 0, -145, -15, 20, -115, -52, -183, -287, -251, -405, -135, 23, -186, -20, -49, 14, -60, -75, -259, -13, 8, -126, -87, -296, -110, -92, -89, -20, -241, -8, -106, -140, -300, -17, -20, -25, 22, -259, -18, -4, -104, -111, -85, -119, -95, 14, -276, -83, 51, -189, -276, -157, -55, -62, 15, -124, -95, -83, -170, -99, -208, -7, -123, -247, -23, -50, 6, -344, -31, -303, -40, -39, -71, -41, -254, -314, -198, -101, 23, -248, -265, -264, -121, -113, -30, -20, -79, -83, -213, -244, -215, -126, -258, -19, -18, -286, -91, -106, -64, -35, -108, -127, -50, -11, -288, -88, -300, -115, -49, -437, -121, -255, -30, -107, -222, -281, -106, -257, 24, -111, -100, -94, -502, -212, -121, 12, -66, -256, 0, -239, -137, -109, -50, -3, -29, -27, 34, -269, -253, -19, -89, -12, -251, -49, -79, -156, -232, -147, -128, -258, -46, -102, -250, -114, 31, -376, -317, -20, -106, -206, 11, -114, -40, -43, -27, -256, -103, 22, 4, -50, -232, -97, 0, -36, 46, -206, -246, -307, 1, -43, -86, -24, -52, -261, 10, -64, -51, -249, -180, 5, 25, -698, -162, -239, -319, -8, -57, -187, -229, -24, -90, -66, -249, -21, -60, 12, -21, -91, -29, -92, 22, -35, 20, -22, -128, -441, -137, -11, -112, 63, 12}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1241657984, 1906775040, 1201865216, 1127202560, 2119463936, 1550430336, 1097367808, 1141893504, 1952274048, 1950756864, 1123522176, 1083407744, 1164699008, 2003560704, 2030564864, 1863865984, 1605416704, 1373718400, 1247127552, 1383053056, 1475863296, 1620585984, 1779616128, 1494018816, 1788727936, 1516274304, 1367379200, 1209397248, 1558488448, 1494346368, 1667720064, 1779614208, 1176941824, 1356780672, 1139803264, 2102176384, 2117172224, 1871679232, 1094664448, 1451324672, 1340840448, 1122684800, 1728206592, 1363641472, 1082441216, 1961333504, 1924116224, 1716418048, 1145704832, 1255922816, 1939579008, 1227064832, 1579799424, 1534051584, 1275062016, 1213585024, 1114323328, 1251976320, 1204491648, 1490054144, 1730843904, 1207921664, 1182816512, 1874279296, 1261362176, 1463986048, 1939763968, 1542984192, 1120323712, 1211251328, 1344096384, 1939273856, 1635917824, 1115778048, 1079563392, 1451134208, 1537083008, 1224120960, 1123088896, 1777269248, 1404701824, 1162555904, 1451055360, 1593964416, 1618406272, 1242117376, 1400124416, 1194585344, 1718206592, 1909063936, 1120152704, 1507326976, 2105754880, 1363592704, 1145910400, 1654016256, 1948930688, 1533441024, 2036247936, 1251670016, 1632763136, 1846346368, 1672326784, 1229201152, 1113050496, 1451824768, 1432012288, 1228922240, 1613160448, 1294377472, 1737103488, 1286165632, 1885205888, 1076207232, 1965234304, 1228428672, 1774248704, 1832464512, 1568254592, 1319319552, 1334281344, 1531591936, 1925142528, 1938724480, 1158593024, 1810008064, 1150983296, 1226711168, 1265464064, 1902479744, 2070592000, 1550870016, 1178026368, 1168879744, 2060723840, 1889475968, 2079326464, 1609916544, 1906549120, 1415563264, 1329679104, 1617966464, 1913845632, 1171693312, 1799002368, 1088192640, 1686507264, 1567445632, 2125978496, 2010803072, 1195826048, 1691743616, 1719630080, 1409264512, 1364569984, 1249254912, 1118030976, 1192524672, 1534088832, 1185879936, 1091658880, 1713769216, 1275368960, 1994232448, 1122977664, 1825630208, 1612268800, 1184459648, 1117737088, 1763450368, 1210270464, 1616642304, 1304726912, 1323979520, 1278220032, 1805501824, 1295837824, 1130942976, 1951144576, 2134609792, 1777511808, 1618918400, 2061855232, 1766584704, 1293856768, 1130576000, 1294691840, 1544109824, 1083721984, 1639887360, 1169109760, 2128168448, 2052653824, 1891779456, 1593853952, 1896616704, 1078677888, 1169417856, 1099453824, 1152390272, 1480936064, 1724446976, 1351413632, 1490066048, 2021289216, 1161965312, 2066677376, 1703226368, 1834505856, 1602745984, 1947615744, 1642105344, 1098357376, 1223784448, 1324737280, 2005946240, 1254557568, 1493003904, 1592704000, 1814176512, 1285806592, 1992844800, 1454587904, 2120537344, 1179473408, 1902222976, 1766595328, 1338534016, 1332906624, 1251726592, 1429747328, 1335391232, 1953793280, 1358343680, 1234830592, 1261352064, 1333930368, 1269275136, 1255583616, 1492330880, 2110111872, 1876328832, 1270428288, 1651336960, 1475700992, 1207606144, 1246912640, 1220190208, 1126713984, 1272708608, 2121169920, 1102862208, 1421680384, 1295164288, 1473894016, 1543032704}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-3044, 839, -14216, 51755, -22846, 21331, 1039, 46673, -22957, -7743, 45640, -17500, -2385, -4411, -7, 8212, 37362, 37117, 2908, -14511, -11556, -18364, 26441, 37462, -52582, 9511, 14635, 7984, 16196, -31674, -14940, -2911, -63477, 10061, 69240, -9378, -23622, -5057, 55381, 31177, -33000, 5605, 37547, -15305, -23360, -15794, 19609, -20807, -5251, -32996, 19313, 43375, 14092, -16364, -1415, -5338, -21108, 9391, -55703, 16396, 51736, -15069, 20647, 82342, -43178, 4481, 1003, 15967, -15223, -6188, 39773, -2321, 45173, 45256, -28198, -30106, 18001, 25211, 61151, -4548, -5191, 59151, -42827, -5514, -69894, -32486, 39169, -47472, -3265, 26497, 31251, 6300, -21993, 11800, -19284, -10046, -14773, 25539, -2082, 35902, 98180, -6870, 31278, 48032, -7136, 24137, 51126, -60326, -17458, -8605, -36260, 47628, -15636, -60709, 10477, 12525, -9379, 33569, -27163, -25188, -28051, -14761, 24772, 157434, 25935, 17334, -17525, 16805, -52883, -42443, -41905, 37275, 11184, 25214, -1474, -13018, 65102, 406, 1278, -572, 17034, 2244, 32539, -18528, 729, 36305, -32808, 662, 19684, -17018, -661, 7539, 112644, -15030, -15962, 45744, 51228, -552, 90377, 8428, 53790, 28786, 32801, -19067, 42963, -5597, -12460, 35813, -17189, 11966, 22328, 54862, -63340, -14302, -18019, 10864, 34460, -21477, 27178, 9769, -31226, -2905, 16953, 70120, 35708, -11733, 127703, 40393, 27552, -1342, 18853, 23922, 37570, 466, 49980, 7269, 73736, -16081, 36190, -23286, 21203, 36681, 99073, -45329, 6975, 73852, 34449, -26017, -11660, -8097, -10536, -20151, 19898, 33058, 106240, 10447, 31747, -1704, 80979, 33878, 27192, -2769, 11302, 9703, 1818, 43872, -23935, 6853, 25322, -17469, 20761, 74760, -9113, -25288, 23397, 78070, -25264, 26192, -20024, 26040, -655, -4559, -16883, 43646, 28372, -1408, -44016, -21717, 75722, 2974, 45016, 6914, 132619, 20651, 128987, 25708} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-133, -174, -105, -105, -127, -121, -143, -107, -82, -131, -130, -144, -126, -132, -147, -69, -126, -150, -113, -148, -106, -139, -133, -175, -105, -125, -136, -102, -122, -125, -102, -174, -137, -131, -67, -117, -124, -89, -134, -90, -131, -103, -142, -104, -111, -108, -151, -87, -139, -140, -136, -123, -97, -117, -118, -110, -94, -160, -147, -110, -131, -152, -137, -140, -106, -138, -100, -135, -149, -110, -145, -121, -133, -121, -123, -139, -108, -178, -119, -115, -135, -122, -109, -168, -142, -115, -116, -99, -144, -103, -101, -134, -110, -134, -87, -180, -113, -95, -99, -96, -142, -102, -107, -129, -127, -126, -144, -122, -113, -111, -113, -150, -127, -88, -118, -130, -166, -125, -99, -92, -126, -95, -150, -123, -149, -122, -124, -163, -155, -109, -101, -135, -119, -120, -145, -135, -143, -125, -149, -107, -147, -135, -131, -57, -80, -122, -128, -132, -112, -117, -91, -129, -134, -111, -114, -100, -153, -146, -133, -125, -126, -130, -139, -144, -119, -167, -118, -110, -104, -107, -123, -132, -106, -147, -73, -125, -140, -118, -120, -122, -138, -113, -84, -120, -138, -97, -112, -152, -155, -147, -126, -162, -133, -122, -156, -120, -99, -124, -97, -120, -150, -97, -133, -113, -136, -142, -163, -97, -96, -115, -134, -86, -119, -130, -127, -165, -133, -94, -155, -145, -150, -113, -138, -121, -133, -130, -130, -132, -76, -98, -148, -122, -130, -102, -119, -128, -109, -125, -86, -135, -101, -101, -165, -171, -122, -108, -110, -117, -123, -119, -141, -157, -168, -142, -144, -153}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1151360000, 1331317120, 1599001728, 1785455744, 1303543168, 1384153216, 1167786112, 1262209152, 1289666944, 2000225408, 1410041600, 1475724544, 2050431872, 1652658944, 1308515840, 1551881600, 1474173312, 1309370240, 1707290624, 1350920576, 1536636288, 2061365888, 1146352640, 1440305792, 1231025152, 1599937408, 1732830336, 1844285696, 1855453824, 1120832512, 1777714560, 1988358272, 2090053504, 1175814528, 1859184256, 1352153344, 2080867328, 1359892480, 1317125888, 1690404352, 1600264960, 1698174848, 1791441280, 1276228736, 1356058112, 1819053184, 1794993664, 1963993984, 1551760000, 2013908480, 1299371904, 1662209408, 1927628416, 1399242368, 1615419008, 1764472960, 1473905792, 1882606848, 1545367552, 2061636224, 1352645760, 1827266688, 1652008448, 1198539264, 1130213632, 2134308224, 1817800832, 1689661056, 1693009536, 1413815424, 1808028160, 1353472256, 1108996608, 1471458560, 1285098368, 1488338176, 2021072512, 1765885696, 1451240320, 1104837632, 1364056704, 1105015296, 1250510976, 2128780160, 1893260160, 1148263552, 1368912768, 1558675840, 1877478656, 1087105152, 1679299072, 1514024960, 1456331776, 1930732672, 1788356736, 1854311936, 1539893504, 1392441984, 1253541120, 1424562304, 1669782400, 1623674112, 1599940736, 1801124224, 1230172160, 1668254976, 1620753792, 1214006016, 2072713472, 1205391360, 1093288192, 1496401408, 1127338880, 1184141952, 1101401600, 1096242304, 1122420608, 1859623936, 1690176256, 1775682560, 1855184000, 1670697088, 1717013888, 1140756736, 1190798080, 1572571520, 1160227712, 1933761920, 1376615168, 1695577600, 1640020736, 1377862016, 1249608320, 1304112000, 1386267264, 1183807872, 1149340160, 1216718080, 1569185664, 2143302144, 2107225600, 1252907648, 1374744832, 1551157504, 1807578496, 1864677760, 1673417984, 1401170816, 1141278336, 1105126912, 1714287616, 2041738368, 1264490368, 1658763136, 1856551424, 1956086144, 1918994688, 1689049856, 1951710720, 1597329920, 1110159232, 1334681472, 1631248640, 1463119616, 1468828288, 1118801536, 1517887232, 1446093440, 1588699520, 1465690240, 1268100352, 1293485824, 1681457280, 1386027648, 1644974208, 1604821376, 2003897984, 2102100352, 1208227456, 1259089920, 1607568256, 2085650304, 1729768832, 1175725440, 1670358656, 1552780288, 1530017408, 1880184192, 1582310656, 1175596928, 1353757824, 1181369344, 1719724672, 1171337472, 1575642880, 1241436416, 1791127296, 1557615104, 1164421248, 2053757824, 1077780224, 1297973760, 2088218752, 1319651712, 1756481024, 1843436928, 1969108224, 2021342464, 1750047744, 1922242688, 1325331328, 2109725056, 1603633152, 1592633984, 1399361408, 1729486720, 1576755072, 1554158720, 1990044800, 1519400576, 1586515200, 1225860096, 1443809536, 1451215488, 1535485312, 1599166848, 1387646720, 1648189184, 1205858560, 1645300352, 1444625792, 1910841216, 1604136192, 1273862784, 1625528576, 1883656320, 1510455296, 1630143232, 1592050304, 1250486912, 1992835584, 1759790464, 1209062400, 1143345792, 1306435968, 1913807360, 1443848064, 1253441536, 1193175936, 1389602304, 1280285056, 1333990400, 1209848448, 1543114752, 1572211328, 1732706432}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-11967, -33148, -1860, -10143, 20942, -7606, -1098, 28625, 1236, 105645, -14036, 18186, 23452, 35687, -4787, -20547, -10277, 59742, -8518, -7309, 35835, 1861, 15705, 5902, -5865, 14309, 35323, -3262, -3823, -3824, -6002, -1157, 5440, 60190, 132683, 25553, 22866, -15525, 22204, -13675, -1877, -19704, 11649, -8161, -4622, -4267, 14590, 138890, -8219, -9109, 105222, -6348, 40566, 782, 854, -14498, -17974, 131247, -6479, 14965, 7010, 22811, -17661, 4564, -11762, -6740, -8632, -4114, -19169, -3, 70876, 2701, 49366, -1142, 130216, -12127, 52957, -2332, 4983, 10311, 63870, 24068, -8974, -559, -15020, -16024, -2850, -5857, 34821, -352, 8, -11851, -29943, 20598, -4741, -18390, 9735, 16174, 13207, 79732, 23344, -7939, 110260, -9136, 9854, 22038, 26894, -2175, 78052, 134118, -25600, 3329, -15331, -36003, 55489, -6689, -7602, 8775, -9452, -1258, -24310, -5951, -13958, 48123, 96963, -18706, 13662, -5399, -21607, -7141, -27057, 48189, 66197, -8301, -12337, 22277, -3947, 85844, -23871, 1766, -18687, -15606, 83021, -6047, 53721, -4240, 56874, 20860, -403, 1887, -2501, 15627, 46114, 37721, 5184, 2967, -977, -9059, 35531, -6233, -15925, -7376, -4464, -11997, 38509, -4563, -35780, -3368, 17695, 73975, -14562, -82, 72164, -7911, -1994, -23306, 20473, 16198, 1293, 25845, -28648, -23313, 3356, 15131, 36066, -9469, 26961, 357213, 60684, 28689, 8162, -15234, -29291, -4077, -11915, 12573, 16535, -16179, 24000, 27147, -20796, 52504, 34925, -3319, -20913, -1667, -50290, -4754, 1971, 23063, 98246, -12406, -429, -5106, 21830, -10160, 62596, -2761, -21848, 2041, -13308, 91629, 49733, -2045, 30561, -6036, -15665, -9254, 7157, 77070, -10328, 7326, 17895, -517, 23333, 1194, 64150, 111181, -62283, 7876, 26861, 181575, 13718, 76259, -12807, 153225, 62410, 3874, 19617, -12225, -5062, -3528, 6140, 27247, 21136, 95876} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {17, 9, -70, -27, -91, 11, -103, -250, -122, -316, -3, -148, -105, -226, -46, 17, -26, -273, -17, 6, -251, -39, -154, -79, -2, -144, -151, -46, -60, 6, -140, -6, -124, -250, -385, -85, -146, -2, -160, -86, 0, 32, -175, -37, -12, -14, -117, -480, -10, -29, -376, -12, -329, -62, -118, 24, 20, -361, -59, -200, -74, -100, -11, -32, 6, 25, -7, -10, -12, -48, -389, -13, -312, -110, -340, -20, -218, -39, -47, -81, -403, -246, -25, -148, -73, 12, -30, 21, -266, -177, -130, -60, 47, -130, -12, 15, -84, -103, -119, -264, -255, -50, -347, -16, -103, -147, -245, -5, -173, -599, 12, -43, -33, 31, -314, 15, -12, -25, -1, -83, 15, -46, -45, -208, -281, 6, -139, 4, 11, 40, 17, -207, -535, -30, 4, -110, -57, -422, -8, -152, 10, 36, -419, -27, -179, -38, -234, -136, -125, -169, 5, -61, -281, -193, -121, -26, -131, -30, -133, -9, -11, -36, -27, -6, -223, 23, 6, -6, -126, -320, -37, -36, -613, -3, -4, 35, -162, -144, -104, -153, 38, 20, -55, -172, -259, -7, -264, -577, -319, -114, -74, -59, -63, 83, -24, -65, -239, -31, -208, -295, 15, -188, -291, -64, 26, -120, 11, -10, -142, -136, -407, 10, -122, -63, -247, 0, -294, 0, -31, -44, -121, -315, -405, -115, -116, -44, -33, -14, -29, -326, 15, -50, -133, -11, -82, -24, -227, -342, 35, -80, -115, -402, -35, -279, 11, -518, -413, -159, -237, -30, -17, -119, -47, -257, -239, -305}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {2025778816, 1795683840, 1091078400, 2025326336, 1388127872, 1917863168, 1651080192, 1134665344, 1805554944, 1133397120, 1598456576, 1565433600, 1982699648, 1383334784, 1166876544, 1148409728, 1251995904, 1299244800, 2126631936, 1102592640, 1703114112, 1193799680, 1735526784, 2135707904, 1095128448, 1515648384, 1548220672, 1277881856, 2099391360, 1543177344, 1402194560, 2031808768, 1425592448, 1220015872, 1176790272, 1920475648, 1469553536, 1575641344, 1649921408, 1960650496, 1160487936, 1105046272, 2117955968, 1428355840, 1109012096, 1615550464, 1113491968, 1989274752, 1196184064, 1115429376, 1269982464, 2098059008, 1341126528, 1108686080, 1289839232, 1845747840, 1896987264, 1123139968, 1710351616, 1733996160, 1132831488, 1958925184, 1527822848, 1131397504, 1856273664, 1473343616, 1792416384, 1202534272, 1538666624, 1112499328, 1472531968, 1112463616, 1077975552, 1095825408, 1237030400, 1994790272, 2042072192, 1716999680, 2009506176, 1693584128, 1418531584, 1998758400, 1576868992, 1869395200, 1114818816, 1746939520, 1581468928, 1630489984, 1280557056, 1748742784, 1643114880, 1236542080, 1832301824, 1785317376, 1511521152, 1171008640, 1814594432, 1350477568, 1442891008, 1814517120, 1154564096, 1889900928, 1096918912, 1797738368, 1848378880, 1243162368, 1857557248, 1493519360, 1843197696, 1120236800, 1812614912, 1100473856, 1455302016, 1464385664, 1802960256, 1372845056, 1076351744, 1075928576, 1226195328, 2021298816, 2127171584, 1379208192, 1762136448, 1777753856, 1208815232, 1442572544, 1961501056, 1792638720, 1322825600, 1625758080, 1409882240, 1592264448, 1614828032, 2081884160, 1226406912, 1909729408, 1470576384, 1919731456, 1737891712, 1595228032, 1081857792, 1763428352, 1687264640, 1136606080, 1405179008, 1991927040, 1401372160, 1203127040, 1425879936, 1646440960, 1573803264, 2067900544, 2120926336, 1509829760, 1842314368, 1359077504, 1975101824, 1326081664, 1701204096, 1121778048, 1238056320, 1306983040, 1155929984, 1786573184, 1436758016, 1344363136, 1525136256, 2086657792, 1143774464, 1626280064, 1177214080, 1424991872, 1939778688, 1876622720, 1860103040, 1694912768, 1126153472, 1401299200, 1113179648, 1181864704, 1369751936, 1191704320, 1862182912, 1536326528, 1515996032, 1726766208, 1700806912, 1309912320, 1147636352, 1126061440, 1123410688, 1812251136, 1315073152, 1696802944, 1647761024, 1417217664, 1722030848, 1848327808, 1619537792, 1132081664, 1697015552, 1779881344, 1077440128, 1420019584, 1924536192, 1753554944, 1517668480, 1800346752, 1910721280, 2090279424, 1390247680, 2062567808, 1407663616, 1620316416, 1349903232, 1985463296, 1507950976, 1495719936, 1540647296, 1093465472, 1576251648, 1816814080, 1378008064, 1705405696, 1709986816, 1846319104, 1276303872, 2138988544, 1286833920, 1242362880, 1859387776, 1519220224, 1635101312, 1915191296, 1956958976, 1142451456, 1356288768, 1440120960, 1857089920, 1795746944, 1558279552, 1331850112, 1444029056, 1308977920, 1635889280, 1934202496, 1228999808, 2042313472, 1175769344, 1132231168, 1210593152, 1973416192, 1127087360, 1278995072, 1415059456, 1288148352}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {-45340, -11775, -3164, 43272, 11990, -33174, 13895, 29574, -36689, 5715, -22455, -8127, 24055, -19229, -28163, -16407, -31005, -2714, -81773, 9940, 103694, 9603, -37444, -37933, 716, 3193, -3068, -21702, 32258, -18443, 33259, 51959, -33092, 1770, 22051, 9082, 60362, -15723, 73046, -31533, 90468, -7234, 50898, 32861, 29450, 3736, 45832, 21266, 22456, -18130, -23882, 10168, -28577, 6921, 22103, 8802, -1541, 11029, 41127, 63455, -4398, 70546, 41791, 1763, -26349, 27614, 26761, 34162, 12946, 20813, 114936, 65501, 2665, 46888, -50678, -20375, 61654, 1927, -10064, -26270, -12869, 4396, -69161, 6232, 3087, 11762, 38514, -10776, 27211, -30909, -8110, 111350, 15652, 33474, -8686, 14032, 47624, -38960, -1549, -30761, -14379, -44674, 36821, -20084, 21169, -5456, -12287, 99080, -30642, 4573, 25798, -8462, 5869, 52555, -21119, -30484, -18571, -4602, -22475, 5779, 30601, -47724, 8242, 95294, 29065, 13013, -589, 20410, -18255, -5932, 27987, -35250, -9359, -15444, 25757, 938, -56874, -42386, -78584, 1199, 18699, 33586, 12580, 1954, 19037, -5123, -9411, -4688, 47275, 106877, 69336, -14202, 49298, -12998, -22963, 7765, -13267, 3413, 126110, -47224, -11584, 18787, 81284, -48562, 9785, -7572, 10321, -8075, 84851, -4984, 103831, 12199, 23194, 17178, 15891, 6733, 18521, -24835, 3411, -19054, -1192, 6195, -43409, 44332, 29304, 28009, 8598, 50893, 18191, 24082, -23430, 12457, -40837, 563, -21483, 10638, -2039, 15942, -37409, -27422, 889, -36569, 4978, 47873, -33646, 3389, -35792, 65171, 20060, 959, -101880, 31391, -42971, 48801, -26518, 14342, 956, -1090, -50671, 4126, -9384, -19473, 5519, 14905, 17536, -2133, -19582, 89771, -25447, 13602, -12605, -27823, 40896, 44871, -3736, 12396, 1387, 42043, 20920, -13858, 67788, 34281, 49087, 3128, -16440, 40252, -28220, 5246, -40704, -11817, -5434, -39678, -51660, 60766, 13188, 1106} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-120, -129, -111, -113, -153, -106, -144, -108, -118, -125, -146, -129, -100, -157, -142, -96, -117, -107, -108, -145, -133, -112, -133, -129, -143, -107, -111, -91, -161, -122, -153, -106, -122, -111, -122, -96, -158, -130, -116, -113, -130, -137, -113, -107, -135, -199, -145, -98, -90, -117, -135, -118, -119, -89, -129, -124, -104, -154, -153, -103, -98, -94, -113, -103, -123, -138, -141, -134, -109, -115, -132, -122, -109, -132, -94, -82, -118, -109, -97, -94, -140, -132, -135, -109, -144, -128, -104, -125, -150, -86, -130, -144, -104, -129, -78, -79, -150, -121, -117, -87, -100, -153, -144, -72, -133, -144, -108, -100, -145, -161, -152, -123, -135, -119, -124, -126, -121, -112, -89, -134, -117, -93, -101, -119, -132, -148, -117, -105, -132, -127, -139, -97, -123, -121, -121, -63, -112, -105, -112, -166, -150, -135, -107, -102, -126, -86, -112, -153, -149, -113, -103, -130, -93, -107, -117, -129, -106, -172, -133, -115, -123, -93, -112, -140, -139, -91, -133, -131, -122, -156, -109, -109, -117, -119, -85, -110, -127, -115, -134, -127, -129, -138, -98, -116, -109, -142, -146, -117, -132, -170, -107, -115, -133, -130, -168, -113, -134, -157, -112, -92, -116, -133, -136, -126, -128, -87, -140, -96, -139, -122, -132, -96, -77, -86, -123, -134, -92, -160, -117, -140, -100, -143, -114, -142, -128, -141, -155, -136, -108, -138, -104, -108, -95, -115, -123, -113, -114, -114, -125, -145, -111, -98, -129, -129, -153, -147, -134, -122, -90, -150, -162, -119, -124, -113, -111, -129}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1810087680, 1249270272, 1434825088, 1381193344, 1427785984, 1398698752, 1530511872, 1386538240, 2108075008, 1784094080, 1402631424, 1136507264, 1076700416, 1804857728, 1761523328, 1322957312, 1753594368, 1223065600, 1349368576, 1628793856, 1682001920, 1537981056, 1348799872, 1112454272, 1655719040, 1156158848, 1679550720, 1735462656, 2017786624, 1425563264, 1244476416, 1206806016, 1690110848, 1671134336, 1890051968, 1396980608, 2011545472, 1610101248, 2081975168, 2049793280, 1192034944, 1801319168, 1231813120, 1366126848, 1230143360, 1505213440, 1095705600, 1350596096, 2022240512, 1652409600, 1285566208, 1789723392, 1193156096, 1141317888, 2006099584, 1383751936, 1701050880, 1326905216, 1981349120, 1451106432, 2093944320, 2058718208, 1090103680, 1164383104, 1737552896, 1123441024, 1076236032, 1233902080, 2025484800, 1824436608, 1588423680, 1766562176, 1295682432, 1285828736, 1319963264, 2066164224, 1269981440, 1209696896, 1406604544, 1778004096, 1219580800, 1320896000, 2047114880, 1129860480, 1195843968, 1823717632, 1185313664, 1247102080, 1120958336, 1636578944, 1174085248, 1405089664, 1321694848, 1814792192, 1359104512, 1282110720, 1248221440, 1507830272, 1217023104, 1210443136, 1454337280, 1908173696, 2076255872, 1564894848, 1415154048, 1257255680, 1407860096, 2122025344, 1156445056, 1829153792, 1868640896, 1697137152, 1920898176, 1622995072, 1467659648, 1396387840, 1221797248, 1382208000, 1732928384, 1384715520, 1658243456, 1639405568, 1126388224, 1230411008, 1322199168, 1889317120, 1908309760, 1411187968, 1247168384, 1448574720, 2136881920, 1642121088, 1557642496, 1541561472, 1283063680, 1331320704, 1956415616, 1333079680, 1261412096, 1443877760, 2120182528, 2134561664, 1533684608, 1465752832, 1834531200, 1627053184, 1519489536, 1554051456, 1479143552, 1951044864, 1571333888, 1205393792, 1256178176, 1655976064, 1792458368, 1258731648, 1733310208, 1701805312, 1598785664, 1895299712, 1489778176, 1330198656, 1722076032, 1516248192, 1966938368, 1491139712, 1759308544, 1455293568, 1390341248, 1847020800, 1127371648, 1350872576, 1472375296, 1733350400, 1721179008, 1387708544, 1793372544, 1459550080, 1508410880, 1191862144, 1130440704, 1504957184, 1206878720, 1740157056, 1719859072, 1590560512, 1665749888, 1889434752, 1130184448, 2045199360, 1333622144, 2103640320, 1394860288, 1732709760, 1254356096, 1694409856, 1120388992, 1894650240, 1449473536, 1996636288, 1394543872, 1301839104, 1203979776, 1360002816, 1148498816, 1245924352, 1272687104, 2081424896, 1491864704, 2045575168, 1968250752, 1387020032, 1565840128, 1917750656, 1277158656, 1418349440, 1683600128, 1368684416, 1162212992, 1103789184, 1144325120, 1225236480, 1763078656, 1542537984, 1323861248, 1441352192, 1171193472, 1167213056, 1247771264, 1480296064, 1530526464, 1822055680, 1407038336, 1923106688, 1620038656, 1200197248, 1488496896, 1336850944, 1770649600, 1246825216, 1391210112, 1352221824, 2131901056, 2078436096, 1245023872, 1225261312, 2029696896, 1832758784, 1439872640, 1757097984, 1606877568, 1404902912, 1582070400, 1255101824, 1577910144, 1783921536}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-18699, 43908, 57524, 4543, 91324, -2128, 661, 4969, -3960, 177424, -11406, -5936, 43375, -2052, 32, 4385, -8806, 51534, 387, -5840, 21289, 14413, -6367, 94, 98621, 44081, 12915, 57198, 86860, 10729, 5291, 43892, 82275, 5942, 111463, 50140, 55713, -892, 21899, -12219, 57612, -19610, -8755, 26, -14817, 4587, -749, -9536, 10674, 166008, -8262, 8918, -16328, -7397, 33530, -14091, 34005, 17299, 27671, 38227, -6234, 23632, -962, 110903, -21887, 102904, 127746, 38535, 7473, -6031, 14473, 18999, -12410, -22596, -1875, 167761, 20718, -4376, -11245, -6633, -12137, 135055, -1248, -2851, 10029, 21384, 28558, -9775, -36602, 48386, 8, 21906, 34047, 43067, -19165, 164, -10518, -2083, -1385, 5586, -5775, -5801, 9656, -5585, 13902, 2571, 123207, 36550, 71827, 9622, 22818, -12803, 8103, 127660, 144075, -4092, -6026, 431, -20482, -3556, 30085, -7585, -16318, 1733, -17623, 7398, 3560, 62674, -1520, 54750, 3590, -13808, 19868, -18845, 59635, 1584, -7838, -939, -21804, -52486, 7810, 20136, 6208, 87732, -3682, 63199, 57232, 124612, 17344, 3137, -4548, -6802, -7840, 14440, -858, -9756, -9463, 19978, 23598, -21823, -23616, 84343, 20919, -7134, -2720, 50273, 13915, -4664, 22372, -26960, 16383, 60443, -2591, 32591, 61910, -22149, 18812, -1781, -11726, 18532, 93125, -25122, 5122, -1840, -5506, 66794, 27213, 49678, -5145, 8719, -24306, 140501, 49136, -5099, -73, 61960, -1928, -17680, -7457, -20669, -9700, -91, -4336, 35395, -994, 63342, 6123, 8512, -15951, 159097, -5730, 31894, -15627, 161358, -4557, -33725, 74666, -14648, -4239, -17805, -13719, -3708, 107787, -20592, 3829, 70137, -25708, 6807, 106433, 14116, 29210, 73492, 37052, 29148, -37770, -5066, 15924, 23495, 9926, 11021, 5612, 10632, 19963, -1863, 119821, 23701, -11506, 10961, 31441, -5322, -48, 27007, 69628, -3923, -12667, -9330} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {4, -219, -249, -31, -283, -14, -94, -13, -19, -686, -53, -68, -212, -69, -85, -19, -78, -310, -70, -75, -245, -55, -39, -60, -437, -260, -24, -252, -238, -42, -100, -259, -407, -28, -412, -202, -168, -119, -242, -18, -300, 7, -27, -103, -105, -59, -36, -108, -25, -375, -113, -27, 6, -12, -238, -44, -149, -127, -169, -258, -10, -211, -84, -423, 27, -371, -563, -207, -41, -52, -241, -239, -16, -40, -29, -537, -127, 40, -12, -22, -9, -349, -48, -57, -52, -105, -255, 12, 45, -213, -16, -247, -195, -189, 27, -21, 21, -55, 11, -36, -42, -101, -27, -14, -80, -166, -313, -270, -367, -33, -168, -72, -157, -500, -369, -32, -114, -19, 4, -26, -104, 24, 9, -69, -16, -74, -131, -442, -12, -229, -131, 67, -96, 11, -160, -12, 7, 28, 27, 48, -19, -164, -178, -380, -156, -285, -296, -470, -97, -29, -96, -118, -21, -127, 55, -28, -26, -135, -238, 0, 29, -324, -240, -64, -67, -318, -117, -19, -247, 18, -193, -254, -118, -197, -336, 28, -185, -22, -6, -36, -294, 9, -26, -33, -14, -277, -199, -271, -10, -96, 26, -420, -245, -53, -11, -279, -36, -102, -21, 61, -10, -18, -71, -254, -24, -364, -48, -26, -14, -373, 4, -240, 17, -454, -73, 72, -343, -91, -25, -60, -13, -9, -697, -4, -32, -385, -25, -28, -421, -93, -150, -311, -238, -261, 41, -41, -152, -146, -27, 57, -23, -173, -204, -1, -420, -158, 24, -141, -147, -109, -26, -159, -233, -95, -5, 29}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {2004140672, 1591353216, 1413911808, 2146496128, 1900216832, 1084139904, 1558188672, 1913777024, 2013300992, 1158245504, 1211397120, 1255353472, 1819727360, 1218322560, 1981613184, 1107363712, 1247659264, 1292745088, 1502311680, 1895534592, 1140265984, 1156856192, 1874553344, 1340480384, 2098880896, 1399902464, 1142107520, 1560124288, 2055479936, 1212536448, 1744351616, 1678680448, 1205740288, 1184145152, 1209361408, 1567154176, 1801952640, 1274750848, 1698211968, 1074932608, 1100462976, 1790925440, 1592484224, 1416583808, 1172202752, 1440545024, 1183043072, 1409511296, 1615704448, 1161737216, 1759680768, 1190019328, 1376871680, 1260194432, 1077675776, 1204376320, 1201564544, 1593835776, 1304204928, 1593114496, 1152477056, 2087930368, 1231449600, 1093260032, 1122267520, 1313615360, 1646155904, 1495591808, 1391028224, 1282070144, 1618511616, 1499092480, 1079566720, 1239499776, 1645494144, 1274281472, 1223470720, 2005688064, 1428062080, 2080175616, 1792401152, 1695851392, 1520548864, 1884934016, 1400197376, 1981478528, 1513693184, 1818400896, 1608626944, 1377452288, 1161084800, 2012229632, 1475341824, 1467042560, 1576755712, 1082882816, 1263697280, 2048695296, 1223719296, 1350333568, 1372671360, 1994917760, 1718214016, 1736524160, 1178914816, 2128817408, 1846537856, 1911101568, 1483190272, 1788265728, 2144925312, 1631755520, 1778350464, 1246941056, 1564414336, 1298203136, 2098656256, 1723692032, 1275331456, 1786034176, 1390495360, 1365535104, 1629743744, 1286848256, 1436477696, 1811116032, 1724650496, 2028083712, 1272827648, 1155747712, 1415245952, 1430029440, 1075816832, 1188999424, 1594625536, 1101799680, 1763990016, 1278088960, 1166403456, 1705451776, 1314230656, 1893551360, 1924752640, 1169677952, 1868420992, 1643992448, 1506829312, 1887608576, 2093046656, 1186709888, 1875074944, 1155657344, 1149068416, 1567660416, 1699946880, 1553899520, 1431599232, 1442861568, 1231214848, 2056668800, 1741007360, 1575878784, 1388120704, 1459388416, 1143758720, 1814909824, 1428185856, 2096717696, 1629268736, 1286869632, 1339210112, 1103184128, 1857770368, 1951133696, 1729058944, 1739705344, 1188288512, 1992649728, 1306886016, 1230605824, 1856232320, 1393231360, 1222105984, 1407649792, 1333063936, 1188341504, 1491384448, 1994275584, 1483481472, 1194342656, 1154381696, 2083431168, 1188190336, 1346301184, 1207704960, 1505326592, 1960864768, 2115286784, 1419144576, 1489560832, 1607806464, 1953199616, 1428193664, 1660601344, 1528695296, 1601739776, 1651119872, 1709046016, 1217618944, 2026513280, 1744403072, 2050171392, 1336986240, 1363151360, 1221214336, 2026924288, 1721991936, 1870169216, 1457324928, 1122638848, 1564119680, 1449874176, 1097780224, 1829589120, 1141426560, 1817975168, 1300975616, 2046178432, 2099213056, 1554105472, 1748786944, 1758680320, 1803347968, 1545040768, 2022380032, 1457068544, 1527824384, 1252418688, 1799655168, 1376113024, 2074521216, 1270163968, 1784571904, 1166878720, 1351791616, 1286098176, 1971206784, 1257002112, 1170866176, 1629613952, 1159450368, 1211415808, 1895200896, 1806035584, 1726825088, 1103430272}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {10164, -25994, 18137, -39722, -13741, 17821, -10921, 9407, -42868, 29223, -8561, 4201, -10404, -46228, -33687, -1146, 9696, 45337, 21159, -27512, 19854, -1209, 31362, 37165, -23841, 26951, 19276, -34082, 3582, -8028, -11255, 166, -55053, -4994, -43420, -6348, 68636, 62851, -29886, -43547, 24392, 53506, 17347, 6023, -26438, 16882, 26418, 7165, 8669, -44709, -748, 17083, 735, 84607, -28969, 27174, -40939, -25552, -40348, 39498, -41369, -19021, 27279, -8477, 29742, -44401, 20621, -26909, -13130, -16024, -25431, 38623, 28980, 16239, -6648, -2785, 17760, -8102, 92475, -53611, 8801, 22068, 94895, 6657, -28699, -39446, 55442, -24872, -43102, -21700, -8942, -1962, -5790, -53, 11235, 20533, -13643, -16140, 5092, 31528, -53820, -21841, 32996, -40117, 36382, -13199, -14492, -3427, -22469, -17776, -31209, 21565, -2571, 28979, -12248, 28312, -2355, 3037, -4788, 3100, 2537, -30691, 16662, 33554, -24823, -10218, 19653, 25999, 24882, 15200, -23478, 4647, -39945, 61264, 15045, -40710, -19854, 21193, -16755, 9918, 6060, 1739, -34569, -8880, 2492, -46592, 9829, -293, -50655, 2613, 10131, 4530, 39699, 3878, -5312, 16017, 11073, 40430, 26539, -28095, 11450, 7590, -19409, 15978, 21029, -27071, -14584, -51052, 21592, 35656, -19045, -4674, 2879, 13864, 25323, -47031, -8928, -20103, 195, 6760, -33229, 32162, 15905, -40061, -21435, -5657, 7585, 15124, -9059, 3802, 29782, 11067, 29744, -7832, 31775, 12499, 16227, -46891, 65647, 24906, 60965, 24793, -13965, 23533, -1809, 15695, -16104, -66481, -33778, -35429, 719, 18299, -48725, 18036, -17184, 43400, -3054, 7047, -1701, 7489, -31209, 11227, 13566, -7501, -2438, 42220, -11907, -40673, 64351, 24390, 14177, -10516, -32994, 88304, 97, 31890, -25764, 988, -4687, 9704, 22493, 8729, -6337, 11988, 15802, 12081, 2552, -8504, 76735, -22564, -11798, 13978, 561, -3110, 49944, 10169} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-114, -95, -141, -137, -98, -127, -103, -178, -118, -112, -90, -163, -131, -119, -136, -141, -131, -118, -126, -90, -168, -107, -145, -123, -91, -127, -158, -137, -95, -101, -130, -79, -111, -113, -129, -132, -148, -132, -108, -129, -117, -122, -118, -115, -129, -136, -127, -108, -156, -135, -96, -120, -103, -128, -109, -66, -139, -98, -93, -132, -111, -118, -155, -107, -144, -118, -119, -131, -106, -129, -153, -118, -128, -116, -149, -123, -139, -126, -143, -128, -132, -123, -148, -84, -80, -122, -140, -129, -106, -139, -82, -127, -151, -181, -150, -123, -107, -110, -142, -115, -106, -104, -124, -108, -126, -70, -118, -132, -121, -105, -110, -107, -125, -116, -114, -161, -92, -111, -167, -120, -126, -104, -142, -107, -151, -153, -140, -150, -150, -124, -120, -142, -134, -145, -107, -130, -141, -148, -103, -146, -104, -112, -118, -119, -153, -120, -128, -126, -129, -119, -143, -143, -134, -100, -88, -128, -109, -131, -153, -144, -152, -142, -116, -147, -100, -137, -107, -146, -126, -150, -111, -167, -138, -118, -120, -141, -146, -152, -118, -109, -140, -123, -143, -127, -133, -116, -127, -121, -99, -125, -116, -118, -134, -121, -136, -95, -84, -113, -140, -140, -154, -153, -135, -152, -149, -140, -104, -100, -133, -111, -146, -140, -120, -180, -125, -141, -153, -161, -108, -131, -112, -112, -120, -113, -140, -115, -88, -160, -138, -127, -123, -116, -100, -130, -137, -122, -89, -114, -124, -126, -105, -101, -139, -113, -105, -103, -104, -123, -133, -122, -151, -131, -125, -143, -100, -136}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1790732928, 1839653248, 1651657088, 1157578112, 1514844800, 1326125824, 1713303040, 1908436224, 1708318848, 1075598848, 1699027200, 1258532608, 1554268288, 1491087872, 1764521728, 1518140288, 1092740608, 1197465472, 1185335040, 1557102336, 1706044672, 1716142080, 1766764928, 1128367488, 1941351424, 1757266944, 1730229760, 2120845440, 1488238848, 1419244672, 1253300352, 1112103296, 1782104320, 1397806976, 1269189504, 1487201408, 2044427776, 1114354304, 1552957184, 1634949504, 1484106496, 1706384512, 1120625536, 1379211392, 1973424384, 1454158848, 1571481984, 1585452800, 1382190336, 1774482816, 1949637248, 1288776320, 1892915200, 1344499712, 1360576512, 1390316928, 1239853312, 1556183296, 1268728704, 1718125568, 1306003968, 1342561664, 1407028608, 1190316032, 1163534464, 1330221952, 1465301248, 1124683520, 1865415552, 1711331584, 1319669504, 1144248320, 2056959872, 1526324864, 1392890624, 1306517376, 1623573248, 1385030400, 1239118080, 1355265152, 1330493696, 1467589632, 1872838784, 1586508160, 1511525248, 1639966336, 1100829696, 1897367936, 1424439808, 1412807936, 1100614912, 1240138368, 1623065600, 1638058624, 1228007424, 1157054080, 1137641984, 1599750784, 1490052224, 1226552576, 1330291712, 1384727936, 1923248000, 1513665024, 1256232832, 1570260224, 1604228480, 1220544384, 1732277760, 1829917056, 1770483328, 1975579904, 1800377344, 1715108096, 1475059968, 2144038016, 1929223296, 1209061632, 2028756992, 1634715008, 1819059456, 1186580864, 1197388800, 1865603072, 1923973376, 1091037568, 1298689024, 1288781312, 1531119360, 1524957184, 1074020224, 2042334464, 1662866560, 1146279040, 1266566272, 1476941312, 1490593536, 1863611520, 1732529920, 1588613760, 2054925696, 1876592768, 1508630656, 2049732480, 1181689088, 1278851968, 1653050496, 1827287424, 1579780736, 1746892416, 1545416960, 2064379008, 1654827392, 1735491456, 1628794368, 1489773696, 1286108544, 1567617408, 1635650944, 1200888192, 1460940672, 1967235712, 1642124800, 1290987520, 1411536768, 1496339072, 1092237312, 1602292480, 1334075520, 1266824576, 1875490176, 1497792128, 2035221376, 1505032960, 2008730624, 1364608512, 1635282560, 1672926208, 1797687168, 1429731200, 1112265472, 1217725312, 1075803392, 1560902784, 1773876224, 1936413312, 1328657280, 1187598592, 1487427840, 1303353600, 1655359104, 1643494016, 1592457856, 1320313856, 1080247168, 1630265728, 1366731392, 1346506752, 1271050880, 2066461056, 1460911744, 1757350912, 1799308672, 1405503488, 1586112896, 1415928832, 1858859264, 1362643200, 1784243328, 2027608960, 1676941824, 1614844032, 1428423936, 1259071872, 1432079232, 1173041536, 1251834880, 1152146688, 1797786624, 1989639424, 1593303680, 1770667776, 1635642624, 1587282304, 1528801664, 1913107072, 1767981440, 1360923776, 1656845056, 1424015360, 1942558720, 1371126912, 1278657536, 1828691072, 1467330304, 1576568064, 1651139968, 1637341184, 1649220224, 1178351232, 2054553856, 1075513216, 1664720768, 1699821952, 1391853952, 1231405312, 2017610624, 1968186112, 1710799360, 2011491712, 1265350912, 1624986240, 1087896448, 1606750848, 1826025856, 1996541056}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {61376, -354, 51492, -10434, -2952, 89975, 63122, -12885, 82476, 50894, -4714, 50167, 186429, -19707, -20085, 28098, 7335, 41887, 42909, -3956, 107597, -8845, 118828, 18580, 52418, 71962, -40, -5124, 50709, -7106, -8564, 85723, 143926, 57804, -4914, -610, 39104, 39302, 26467, -21106, 30232, 22792, -44878, -291, -9828, 121943, 268755, -1542, -9860, -15958, -6543, 99667, -1277, 26776, 124024, 28909, -4443, 76642, -5243, -8049, -4840, -1617, 145288, -3385, 68874, -7662, -7695, 108387, 80826, 211910, -5494, 9960, 44085, -9302, -175, -6539, 95169, -3459, 40502, -2685, -5976, -714, 26306, 46118, -8754, -6837, -3110, -5212, -10003, -2966, -3526, -2253, -9472, 86022, -32448, 74509, 44746, -10737, -3453, 4080, -12488, 64211, -6648, -4347, 79752, -2427, 70315, 25981, -3179, 42682, -7564, 94989, -10122, 115066, 2459, 19703, -676, -62524, 27110, -4594, -4288, 88600, 17667, -403, -7835, 12092, 19340, -20397, 143384, -4523, 110392, -12576, 113571, 37093, 3456, -827, -3738, 16661, -14036, -3179, -20522, -18549, 176755, -80623, 220055, -6587, 4284, -40487, -29627, -233, 9488, 243436, 112199, 132553, 1727, -5622, 3596, 4794, 45863, 71330, -11523, 141791, 14381, 41962, -5784, 130451, -17919, -15255, 91629, 36360, 55634, -10748, -11321, -5882, -14076, -3395, -8289, -3820, -160, 41573, -31943, -5376, 101077, -14349, -4965, -4322, 93748, -5897, -238, 83051, 59623, 76468, 134553, -4381, 15016, -5978, 65473, -13252, 17811, 57352, 38584, 77849, -11459, 22389, 36989, 44829, -1274, -3972, 61747, 49165, 20111, -7719, 95320, 55825, -4260, -6242, -16954, 26326, 21925, 62892, 60989, 97623, -4708, 748, -6247, 26092, -80, -501, 19585, 83127, -164, -914, -3042, 132039, 3504, -44, 28379, -2019, 48774, -9311, 826, -42475, -4842, 128138, 35405, -3257, 79933, -4241, 17798, 6972, 115697, -3729, -6091, -3989, 22270, -9997} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-251, -101, -214, 23, -8, -349, -319, -8, -278, -281, 46, -269, -563, -9, -9, -142, -81, -269, -193, -25, -335, -9, -417, -45, -215, -374, -91, -65, -196, -33, -4, -324, -375, -250, -67, -47, -87, -263, -163, 5, -119, -243, -24, -33, -11, -366, -620, -60, -87, -4, -9, -392, -26, -193, -344, -258, -20, -355, -52, -9, 2, -127, -492, 6, -293, -5, -20, -250, -442, -653, -3, -173, -235, -36, -25, -54, -339, 15, -237, -56, 6, -11, -242, -200, 8, -26, -64, -26, 12, 24, -14, -104, -43, -305, 2, -278, -246, 0, 0, -34, -23, -376, 2, -64, -273, -37, -280, -121, -17, -204, -3, -359, -8, -385, -81, -231, -131, 80, -97, -8, -17, -383, -78, -41, 18, -93, -99, -23, -468, -31, -343, -93, -529, -223, -34, 35, -112, -196, -17, -47, -23, 34, -709, 126, -851, 2, -90, 61, 19, -11, -101, -449, -343, -435, -97, 10, -92, -68, -215, -345, -3, -613, -89, -226, -21, -381, 103, -9, -260, -248, -305, -1, -62, -3, -77, 21, -49, -20, -92, -264, 5, -179, -320, 4, -13, 10, -333, -110, -66, -254, -210, -389, -305, -31, -127, -10, -381, -20, -117, -335, -267, -439, -75, -91, -186, -154, -24, -92, -319, -164, -161, -60, -288, -228, -13, -57, -34, -110, -81, -282, -258, -386, -16, -46, -58, -257, 13, -1, -247, -430, 7, -47, -80, -317, -69, -109, -173, -43, -287, -20, -98, -21, -34, -392, -248, -17, -437, -4, -243, -57, -431, -89, -134, -24, -255, -12}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1160987392, 1686332672, 2001712256, 1862943232, 1894339328, 1490913152, 1629443840, 1247203200, 1227466496, 1429037312, 1646390144, 1084184192, 1701945088, 1458763904, 1436265728, 1417290240, 1739803904, 1133397120, 1734893568, 1389387008, 1124155136, 1176018944, 2136473088, 1233455488, 2017204992, 1650379136, 1111996544, 1688576640, 1518595968, 1183538816, 1161121664, 1435805056, 1253317760, 1418430720, 1518070400, 1461740672, 1263207296, 2038005632, 1846378496, 1714956800, 1094864000, 1131281280, 1346898432, 1121332608, 1195696896, 1840112000, 2025291904, 1768100608, 1328958848, 2083867392, 1181816192, 1483652736, 1238454144, 1343620480, 1777917696, 1730495616, 1270076800, 1589166848, 1153755264, 1897131904, 1881783936, 1323570816, 1679517568, 1696924800, 1196188800, 1447484032, 2115882112, 1084548992, 1341652352, 1316308992, 1887236864, 1541973632, 1854757504, 1345944576, 1922714112, 1638944128, 1759617152, 1132577792, 1978563072, 1437691520, 1497907968, 2051178624, 2044399360, 1943213824, 1888517120, 1891903104, 1665534208, 1086620032, 1680130944, 1546887168, 1763776896, 1163340800, 1203132288, 1198906624, 1135234048, 1294547328, 1097960960, 1724295168, 1819447168, 1983602688, 1200556032, 1331063424, 1967635328, 1969875840, 1687690496, 1423081984, 1792813824, 1108345728, 1383620864, 1556476800, 1800618752, 1880554240, 2087116160, 1456570624, 1272077440, 1582826624, 1659630976, 1317265152, 1110585216, 1554120576, 1283873536, 1922960512, 1645487616, 1119453696, 1256796160, 1714415744, 1409381504, 1352782720, 1924302080, 2066368128, 1637444608, 1145739008, 2000815488, 1488364160, 2076027392, 2051570944, 1618929024, 1102472064, 1288473216, 2015602688, 1955631232, 1825090432, 1601262720, 1793593472, 1915343872, 2060663680, 1488558848, 1331961856, 1534158080, 1459579136, 1336284032, 1954887680, 1294310016, 1977233280, 1409004032, 1704060416, 1926411904, 1086980480, 2019627904, 1148482944, 1143918080, 1573191040, 1453521920, 1106302720, 1889256576, 1921965440, 1849158144, 1538986112, 1808534400, 2111041152, 1141991040, 1297142912, 1118063104, 1700318592, 1250028800, 1678785664, 1936052608, 1171155072, 1183752192, 1496667904, 1312724096, 1455107584, 1181180160, 1667165824, 1177196544, 1326802048, 1603887744, 1343447424, 1427022592, 1724117248, 1241274752, 1850760832, 1377420160, 1620988416, 1161888256, 2105744768, 1701126528, 1075024768, 1267111936, 1835396480, 2061926016, 1449311488, 1439965184, 1476924800, 1599884800, 1117117824, 1084121728, 1568685312, 1297160320, 1101447040, 1600244736, 1468070784, 1755739392, 1507706624, 1096970112, 1375404544, 1842172672, 1444287744, 1232026240, 2098527360, 2133808896, 1187705600, 2018233344, 1124983168, 2111814784, 1892221056, 1258959360, 1920612352, 1309709952, 1503463936, 1202347648, 1095261184, 1485779584, 1220035456, 1863892992, 1626710528, 1276528768, 1357442304, 1167866240, 1323305344, 1922703104, 1805986176, 1953903104, 1162473216, 1790617216, 1797728256, 1416155776, 1765260160, 2141095424, 2016564096, 1742619264, 1319735936, 1263865344, 1675335168, 1484865024, 1774107392}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-16941, 5303, 151, 64200, 62577, -68407, -15841, 32144, 50840, -21614, -25122, -2464, 25674, -2967, -15312, -22534, -40200, 1227, -1209, -25250, 17701, -5139, -1734, -31197, -1473, -15837, 8344, -41073, 7908, 16689, -14568, 18077, 21573, 47003, -22880, 62820, -24324, -10468, 48008, 2150, 59678, 67817, -1212, -36770, 2432, -1577, 37476, 51526, 36148, -46161, 33719, -23284, 16300, 45137, 38345, 29448, -24559, -4913, -22779, 18898, -15114, -89258, -110888, -15212, -8624, -59004, 31412, 21868, -12711, 10478, 49153, 55661, 8604, -46524, -41696, -28472, 45473, 48262, -7370, -57997, -26567, 6276, -17652, 22532, -39387, 14610, -26889, -32159, -28121, -19369, -41714, -3894, 24353, -26676, -3347, -19371, 2624, -24530, 23313, -34680, -13159, -12532, 1587, 22230, 43511, -16635, 12480, -26010, -60699, 30034, -10814, 5948, 85705, -35400, 21499, -11346, -122178, 11817, -22082, 8829, 43157, -63269, -15918, -66687, 40161, -37667, 27758, 20208, 9614, -32567, 6505, 8662, 4355, -51486, -36803, 36776, 21153, -32263, 14864, -70177, 4570, -46350, -18712, -8241, -10982, -19541, -11306, 3261, -3305, 29862, 283, 76477, 4610, 23300, 32233, -35514, -21669, 9734, 9460, 625, -18345, -36381, -39064, -9645, 69398, 17995, -33001, 27862, -9103, -36507, -46669, 14363, -48792, -1954, 31987, -17986, 12037, 1513, -8470, -16836, -4792, -50999, 68004, 36882, -14532, 8048, 3567, 39690, 78718, -22193, -30703, -45552, -5963, 22659, 27742, 7170, -42496, -28496, -22091, -37932, -19342, -46372, 8606, -7512, -5476, 36569, -35825, -11385, -52937, -37045, -19907, -64924, -43889, -7835, 18056, -28267, -8751, 46718, -509, -9988, 4481, 6814, -10077, -12028, -2780, 16859, -5555, -16163, -21377, -8081, 10808, -33472, 39590, -14129, 35692, 20103, -12324, -57534, 2532, 2695, -14251, -47644, 69109, -20617, -24719, -29089, -52189, 11208, 5051, -7950, -29763, -37930, 1458, -15879, -225, 9610} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-141, -125, -150, -129, -109, -115, -139, -151, -140, -111, -173, -120, -103, -130, -88, -96, -128, -126, -104, -122, -112, -81, -136, -103, -138, -129, -150, -133, -131, -131, -144, -122, -126, -139, -124, -103, -149, -155, -112, -135, -139, -134, -170, -133, -155, -129, -123, -135, -135, -119, -152, -141, -128, -91, -124, -111, -131, -137, -145, -128, -128, -143, -98, -115, -108, -121, -175, -79, -119, -113, -121, -123, -135, -143, -132, -114, -143, -133, -131, -141, -111, -93, -116, -142, -129, -149, -138, -87, -136, -133, -110, -144, -123, -129, -106, -95, -153, -153, -145, -98, -122, -157, -128, -138, -137, -127, -150, -132, -152, -99, -81, -118, -118, -133, -125, -145, -124, -127, -135, -120, -69, -124, -128, -134, -124, -131, -129, -124, -91, -157, -133, -105, -139, -109, -133, -131, -96, -140, -158, -151, -138, -102, -142, -144, -113, -138, -137, -131, -153, -175, -114, -122, -121, -93, -105, -116, -65, -156, -82, -109, -103, -115, -117, -157, -132, -131, -140, -104, -128, -116, -113, -112, -144, -122, -112, -127, -176, -122, -103, -122, -110, -123, -132, -142, -143, -132, -128, -97, -134, -117, -88, -152, -141, -96, -120, -143, -139, -145, -93, -101, -150, -163, -104, -149, -153, -148, -131, -137, -153, -122, -132, -121, -125, -165, -125, -99, -129, -122, -120, -148, -153, -145, -147, -149, -95, -150, -126, -115, -95, -118, -141, -120, -140, -157, -98, -146, -117, -137, -80, -118, -138, -135, -134, -131, -129, -118, -120, -119, -123, -168, -124, -123, -78, -120, -110, -109}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1242135296, 1208829184, 1376727808, 1374462848, 2104347264, 1321605888, 1450437120, 1372313600, 1208023552, 1354589824, 1131458432, 1697649024, 1725353344, 1403760768, 2066584832, 1792762112, 1694223232, 1158195072, 1397859200, 1589668736, 1946841600, 1565529856, 1677497216, 1314181504, 1512048384, 1510163840, 1344148864, 1430025856, 1157104256, 1540031360, 1676462976, 1248408704, 1448111872, 1334707968, 1134716416, 1625307136, 1424764032, 1202762368, 1350339584, 1264550016, 1990973952, 1977425664, 1955569792, 1353494016, 1265824256, 1760272384, 1417290624, 1460238464, 1251995264, 1607069184, 1949837440, 1967553664, 1479857792, 1638872576, 1295406592, 1429046912, 1483672576, 1201568384, 1654536192, 1306411392, 1132869248, 1425350144, 1285921024, 1638019200, 1525441536, 1590580608, 1220376576, 2054087552, 1728940800, 1524925568, 1256369664, 1224337024, 1867151616, 1286435072, 1462297856, 1263475328, 1573034240, 1529690752, 1328453632, 1687473664, 1405366272, 1525291776, 1640812800, 1247926784, 1727731456, 1408107648, 2053293184, 1515483520, 1374445056, 1440913536, 1463309952, 1450219776, 1522186752, 1632231040, 1340752000, 1450911104, 1414267136, 1696461824, 1335126272, 1513729920, 1522671872, 1791138688, 1121206016, 1360919680, 1836587392, 1586040064, 1377108224, 1560775168, 1786427008, 1707926144, 1903399552, 1724278400, 1236203520, 1777753216, 1304983680, 1746399360, 1701079168, 1438518656, 1402625408, 1288436992, 2083793536, 1327921536, 1697038848, 1648874112, 1609262720, 1384235776, 1290816768, 1450068736, 1179324032, 1648787840, 1110150144, 1638718080, 1599402624, 1256232704, 1389678080, 2133506688, 1762530432, 1261720064, 1481695104, 1260568064, 1410600704, 1608284672, 2031980800, 1166991104, 1814033792, 1690143872, 1233661952, 1485227392, 1173623040, 1925951360, 1281233792, 1279993600, 1118691968, 1807157632, 1670553088, 1705501440, 1612732160, 1498904960, 2001997696, 1761236352, 1465007232, 1208768512, 1502766336, 1443841536, 1835553408, 1396827904, 1400108032, 1816371712, 1697830272, 1398225920, 1658452480, 1248000256, 1251444608, 1339897472, 1830647296, 1718985472, 1856147968, 1256718464, 1198186752, 1256470144, 1569527936, 1110408576, 1077520768, 2004603520, 1704945664, 1308868608, 1599662208, 1388739968, 1115345920, 1450083072, 1492395776, 1328439168, 1606156672, 2068813952, 1465883776, 1627409024, 1905007104, 1433888896, 2070164608, 1397827456, 1702768768, 2144890752, 1877769728, 1692847104, 1885358080, 1225514880, 1378440064, 1618797952, 1584275584, 1442563840, 2141721088, 1688097664, 1562197248, 1975843456, 1177996928, 1619127424, 1599311360, 1127578368, 1443202816, 1695097216, 1462262912, 1348414336, 1335156736, 1617615744, 1815586688, 1422965504, 1198784640, 1723021440, 1845740032, 1630053248, 1413284224, 1314330624, 1344379136, 2015577728, 1553106816, 1958001152, 1125509248, 1492637184, 1856067328, 1269265536, 1325282176, 1559119872, 1249860608, 1443958272, 1471665920, 1477208192, 1283850112, 1173544960, 1504509440, 1936563712, 1596943104, 1588244864, 1334088192, 1590075648, 1634444928, 1545143040}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-802, 174355, 177199, 73684, 95953, -37520, -432, 208351, 67159, 141534, 137478, -297, 118178, 183225, 81401, 139314, -272, 163200, 73474, 118991, 176307, 38187, -22850, 196089, 12009, 74974, -935, 199781, 74782, 127534, -489, -491, 189562, 178152, -837, 79486, 151300, 147223, 135360, -278, 104486, -4064, 156683, 1378, -294, -345, 74120, 65826, 38441, 1, 94060, -279, 91283, 82997, 119855, 188838, -1527, 419, 87, -731, -217, -1803, 150720, -906, 185480, 894, 63653, 57221, -707, 157940, 84297, 79867, 103202, -542, -770, 155547, 22288, 139047, -9162, -2629, 170713, 16920, 158072, -605, -1744, 65966, 97650, 13463, -516, -1109, -92, -1652, 5751, 145220, -1027, 118354, 182919, -748, -635, 142228, 791, 11953, 33, 116316, -39907, -429, 123347, -616, 140504, 116245, 57690, 95809, 51880, -524, -456, 175502, -289, 23609, 8473, 79739, -61383, -657, 145149, -2, 105210, -652, 168043, 147705, 32623, 157921, -385, -1164, 162023, 1048, 132841, 73050, 22184, -540, -527, 7020, -163, -5634, -1013, 559, 394, -403, 100773, -304, 7702, 153925, 546, 68151, -154, -65219, 177387, -572, 147080, 159525, 96799, 138422, -697, -2270, 89342, -1244, 83064, 106197, 164471, 80750, -865, -652, -814, 204100, -772, -11245, 140886, 96121, 580, 91815, 32414, -197, -8, 62, 81724, 135707, -6299, -500, 182106, 102144, 77463, 89682, 4316, 181791, -337, -374, -11347, 155732, -400, -113, 74, -620, 118, -4605, -9459, -36, 94717, 186608, -563, -901, 1362, -396, 14950, -320, -1979, 111491, 30729, -540, 143125, 59013, -314, 110, -120, -10423, -655, 121549, -20933, 273, 1471, -442, -109, -128, 103611, 163228, 169670, 16515, 99066, 130203, -14943, -312, 68386, -570, -31, 196519, 86436, 172539, -85, 297, -150, 166546, 2836, -1226, -1297, 4261, 22839, 1772, -727, 160558} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {71, -333, -334, -268, -253, 79, 50, -283, -265, -329, -310, 57, -293, -345, -299, -311, 45, -302, -269, -307, -324, -96, 132, -300, 84, -295, 62, -340, -275, -504, 46, 64, -297, -312, 48, -295, -320, -306, -381, 67, -350, -155, -314, 33, 53, 41, -268, -249, -159, 51, -281, 76, -303, -251, -290, -306, 53, 51, 56, 52, 51, 74, -314, 27, -359, 48, -259, -305, 52, -314, -280, -272, -236, 52, 54, -303, -119, -327, 110, 54, -301, -127, -343, 50, 88, -298, -358, 17, 46, 44, 42, 70, -173, -307, 85, -424, -352, 60, 62, -315, 36, 31, 47, -336, 1, 54, -433, 40, -318, -314, -259, -315, -225, 79, 53, -321, -52, -129, 66, -281, -41, 33, -305, 62, -298, 90, -324, -375, -113, -303, 39, 48, -323, 85, -313, -285, -121, 27, 61, 35, 37, 72, 47, 29, 53, 26, -364, 44, -122, -327, 49, -263, 49, 113, -303, 70, -303, -298, -325, -336, 41, 104, -331, 65, -271, -283, -351, -290, 36, 46, 74, -332, 60, -146, -285, -376, 26, -311, -84, 43, 52, 37, -271, -279, 32, 30, -326, -383, -278, -252, -134, -322, 80, 34, -140, -328, 52, 79, 39, 41, 29, 59, 67, 44, -308, -306, 32, 51, 53, 66, -42, 50, 129, -391, -106, 67, -298, -256, 74, 72, 89, 108, 50, -306, 91, 66, 49, 70, 71, 30, -443, -313, -331, 54, -294, -344, -96, 70, -179, 37, 30, -352, -287, -300, 40, 62, 53, -338, 21, 71, 39, 39, -126, 65, 44, -322}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1315131008, 1865753344, 1197256192, 1139316864, 2062260352, 1850985984, 1583631488, 1432325504, 1091460736, 1649660416, 1239022976, 1616713344, 1103037440, 1477276416, 1770739712, 1863457536, 1588060160, 1625368960, 2096018304, 1622189696, 1768657024, 1999675392, 1243487232, 1639612032, 1181605888, 1640772352, 1342428032, 1805478144, 1885114496, 1938471552, 2137965568, 1651628928, 1763636864, 1534653056, 1607531904, 1675548544, 2139662592, 1237997824, 1165112064, 1660479360, 1101728896, 1786573824, 1850318336, 1605612032, 1377076224, 1674590080, 1130899456, 1318331520, 1418856064, 1646598272, 1578962304, 1465723136, 1488357632, 1955969152, 1544595072, 1504245376, 1296608128, 1819041152, 1658305664, 1461692544, 1433234176, 1187488256, 1080645760, 1662221568, 1432351104, 1787444736, 1215294080, 1803699712, 1524928000, 1146829312, 1724263424, 2007558912, 1363099008, 2025710208, 1550588416, 1661130496, 1397385728, 1220600192, 1355483648, 1515705216, 1729955712, 1756651392, 1596374272, 1518840320, 1174785024, 1332317568, 1640436096, 1393580800, 1587898752, 2099038976, 2067457408, 1177205888, 1958308992, 1104938880, 1707422464, 1181254016, 1270871168, 1661498880, 1567735936, 1115146752, 1124138240, 1165598592, 1431310080, 2130542464, 1784143616, 1608775936, 2106704000, 1382618112, 1081170048, 1222247936, 1202534272, 1134553216, 1684390528, 2064559104, 1979814272, 1806932224, 1115011584, 1435731200, 1148097408, 1646725376, 1263921024, 1484608256, 1192337408, 1189172864, 1580043264, 1872675968, 1936535040, 1195916416, 1188563712, 1107710208, 1804992384, 1560905856, 1401099136, 1437730176, 1353297920, 1188628736, 1652456832, 1482933888, 1367788928, 1758252672, 1540961408, 1690697856, 1595761920, 1229461248, 1799514496, 1600457088, 1402733056, 1508299008, 1898070016, 1276133120, 1904804736, 1112681088, 1831600000, 1803487744, 1888334720, 1830460288, 1748990976, 1656113792, 1154490240, 1280208896, 1549518464, 1421247616, 1622971904, 1352565248, 1110625536, 1540557440, 1864525056, 1568782336, 1635211648, 1688809728, 1341434624, 1299083136, 1763215360, 1823120000, 1135928960, 1535746048, 1288639488, 1939961984, 1855434112, 1965778688, 2053283968, 1901393024, 2059786368, 1202733568, 2088805632, 1424806784, 1621962496, 1437195264, 1969824256, 2023413376, 1143083776, 2112148096, 1734262656, 1468149120, 2138195968, 1568458240, 1329282688, 1388678912, 1192905728, 1129521024, 2007397760, 1313260288, 1155455872, 1254841344, 1496091904, 1656904192, 1802721280, 1432219648, 1754620288, 1130920832, 1516273152, 1689240832, 1867901952, 1107953408, 1436883456, 1729251840, 1835081472, 1450483968, 1449013376, 1743985408, 1446571776, 1429155584, 1376882304, 1117076224, 1534629632, 1660731264, 2067842560, 1181304192, 1278609408, 1939954816, 1198946944, 1636797824, 1718830720, 1278106496, 1571864192, 1287892480, 1211454720, 1783652992, 1111752320, 1352456320, 1564851072, 1239100160, 1580878976, 2096791040, 1982670848, 1831392896, 1659046144, 1268721024, 1384068352, 1789565824, 1388622208, 1663409664, 1705183872, 1516874240, 1504290944, 1138232192}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-8000, 12084, -4249, -20426, -22269, 17717, -59265, -8109, -17306, 32897, 12358, -12969, 44481, -15048, -5173, 12291, 52409, 34614, 18109, 111, 30501, -14017, -33876, -622, 10866, -36346, 1711, -11800, -9727, 13272, 19306, -6684, 17432, 26285, -63587, -4026, 24030, -44835, -28658, -74132, -7010, 5498, -1113, 26165, 2723, 14517, -27401, -17603, -33565, -11220, 17412, 7455, 81041, 33791, 21392, 6114, 3745, -24394, -23520, -6374, 8287, -7793, -35023, 17087, -33709, -8953, 1962, -55799, -1426, -20372, -16131, -14448, -9576, 14853, 6500, 20404, -10267, -16827, 4861, -9215, -28782, -32055, -64315, -33865, 12523, 21435, -26482, 7638, -22185, -12196, 7976, -33799, -23750, 44098, 2394, 18689, -8547, -1847, -42768, -14142, 12887, -38881, 42332, -21912, -31055, 8878, 15041, 11141, 46058, 9303, 9826, -233, -22616, 19418, -42824, -28428, -8411, -26305, -4525, -45481, 18676, 26416, -51438, -7900, 12492, -62825, -28088, 45656, 173, -5734, 42144, 26997, -673, 6565, -17126, -47080, -8878, -17296, 27263, -27352, -11504, -49594, -13239, -52573, 44926, -76956, 2701, 51881, -11093, 14243, 82328, 3566, 7140, 43840, 4484, -52434, -48413, 32050, -25092, -42418, -6139, 17233, -1712, 43289, 29627, -56293, 27031, -30303, 21803, -38, 49596, -25899, 16409, 40040, 9765, -32642, -28911, 9433, -3472, -10497, -40928, 68430, -16715, -10944, 39185, -21478, -33583, 44446, -24712, -26805, -6484, -28809, 35170, 65969, -29124, -18235, 34294, 7175, 25731, -14542, -1540, -16970, -2645, -44570, 51446, 20390, -8279, 12940, -37446, 14502, 35503, 59070, -25394, -36537, -40481, -17564, -54290, 25810, 8239, 7349, 22296, 21225, -1796, 12331, -49147, 74704, -25010, -6977, -232, -11857, 26682, -21019, -55310, -9488, -11422, 67957, -76911, -40294, -51117, -25870, -9018, 4024, -13981, -18542, 3998, 61914, -28924, 36058, -15486, 3295, 1440, 32074, 3941, -3328, -19696, 32867, 45906, -20900, 11712, -52358, -27998, -42365, -33627, 7412, -27055, 2242, -15871, -1457, -6465, 23095, -26541, -79126, -25869, -42428, -60320, -50856, 37967, 33108, -2636, 28467, -34918, 47358, -36540, -67367, 13693, 50814, -14118, -34873, 15896, 33227, 12738, -14121, 23456, 12815, -63683, -43104, -53185, 4471, 8327, -5896, 50788, -49350, -4400, -35048, 10828, 33788, -5635, -9827, -17228, 17318, -7241, -24114, -39328, 9925, 20690, 31628, 1728, -33658, -40055, 60739, -25636, 34726, 38946, -32567, -40977, -32612, 4451, -83184, 7419, 12163, 8114, -20629, -264, 5648, -12282, -8110, -3346, -38224, -21115, 3654, 41908, -29276, 10759, -6333, 62903, 16902, 3612, 7702, -64261, 58613, -28818, 16250, 16154, 28875, -25974, 76103, -39441, 665, -7477, -71210, -2798, 73767, 35332, 6255, -68986, -11653, 19092, -23651, 67294, -12536, 50010, 18311, 26177, -19732, 10058, -1518, 1030, 46537, -56198, -54383, 4025, 48826, -12824, 15095, -33637, 43525, -47055, -59608, 24921, -16414, 18375, 26017, 5313, -21831, -29213, 891, 5443, 53538, 32203, -50427, 38496, -26895, 24883, -47052, -13916, -26006, -11915, -2741, -7116, -62419, 36609, 21021, -20772, -58206, -28185, -4337, -21270, -1707, -52814, -26063, 28708, 8193, 2683, -20416, -11358, -13337, 3809, -31680, 16565, 7079, -24469, 50940, -1067, 41351, -58609, 24402, 22877, 23309, -37185, 18898, 7377, -25429, -9847, 3244, 25056, 47450, -45938, 29195, -19391, 54767, 10641, -32400, 37501, 24411, -27570, 30580, 7660, 47646, 63675, 9229, -1595, 4249, 15602, -11910, -17217, -81108, 11787, -37640, 37697, 41983, 19406, 5662, 36599, 11909, 39261, -19104, 17462, 17259, -26359, -6044, 61849, -13460, 7794, -14319, -31893, 13052, -6458, 5775, 23623, -4997, 56076, 35001, -14901, 20538, 40640, 15803, 20539, 37774, -6717, 40625, 66556, -9048, -23403, -8270, -27966, 3445, -13342, -15469, -18392, -62350, -31917, -76994} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-139, -145, -148, -138, -121, -139, -127, -131, -102, -116, -105, -130, -155, -117, -71, -150, -130, -123, -122, -124, -134, -126, -107, -149, -121, -108, -95, -108, -136, -167, -104, -141, -142, -132, -148, -135, -80, -123, -125, -144, -129, -143, -123, -129, -109, -123, -159, -104, -138, -122, -147, -131, -89, -115, -128, -49, -150, -140, -110, -138, -138, -135, -140, -149, -116, -106, -114, -148, -130, -148, -108, -152, -39, -107, -130, -135, -123, -125, -114, -139, -149, -122, -147, -120, -78, -86, -139, -144, -110, -107, -124, -149, -140, -131, -149, -133, -112, -145, -123, -94, -141, -123, -137, -135, -143, -124, -126, -152, -128, -99, -141, -99, -123, -126, -110, -156, -140, -126, -116, -120, -133, -149, -118, -134, -113, -127, -119, -130, -148, -147, -145, -121, -145, -122, -108, -121, -127, -182, -119, -133, -142, -133, -116, -110, -121, -103, -122, -108, -134, -124, -128, -120, -142, -143, -103, -149, -139, -141, -135, -123, -161, -118, -148, -116, -97, -140, -176, -147, -138, -112, -132, -119, -137, -124, -145, -127, -123, -144, -130, -129, -117, -136, -99, -132, -145, -113, -142, -130, -134, -139, -111, -78, -136, -145, -130, -143, -218, -132, -144, -131, -121, -142, -125, -134, -128, -142, -121, -111, -138, -117, -138, -148, -89, -102, -134, -108, -133, -113, -135, -125, -142, -145, -110, -128, -105, -147, -133, -143, -121, -102, -128, -120, -130, -141, -141, -135, -111, -161, -132, -126, -102, -126, -125, -100, -116, -130, -148, -125, -141, -156, -73, -107, -134, -103, -136, -138, -126, -140, -147, -138, -113, -160, -147, -151, -147, -131, -148, -145, -131, -127, -132, -139, -135, -138, -126, -129, -138, -122, -155, -176, -138, -180, -136, -125, -133, -106, -164, -113, -89, -133, -137, -91, -122, -160, -130, -156, -130, -103, -112, -141, -142, -100, -124, -130, -149, -125, -111, -134, -96, -161, -82, -110, -128, -133, -126, -150, -139, -122, -125, -131, -117, -111, -148, -141, -132, -143, -54, -135, -145, -94, -100, -138, -43, -121, -122, -133, -142, -139, -123, -124, -113, -112, -117, -112, -145, -124, -101, -111, -99, -137, -120, -114, -69, -123, -110, -120, -102, -141, -150, -131, -139, -129, -136, -127, -118, -135, -116, -150, -151, -123, -136, -103, -133, -116, -145, -63, -145, -140, -124, -124, -130, -129, -138, -112, -118, -132, -144, -117, -153, -114, -157, -90, -136, -145, -140, -166, -107, -128, -123, -140, -159, -126, -131, -113, -113, -132, -149, -110, -116, -117, -177, -142, -112, -139, -81, -103, -110, -136, -109, -140, -132, -135, -135, -110, -115, -106, -168, -129, -113, -112, -122, -161, -124, -145, -125, -165, -103, -136, -130, -119, -93, -123, -163, -95, -116, -138, -112, -129, -134, -137, -136, -147, -145, -108, -124, -127, -127, -135, -136, -100, -104, -116, -108, -131, -56, -127, -119, -103, -135, -113, -94, -124, -150, -113, -134, -142, -167, -150, -121, -145, -137, -131, -151, -81, -113, -112, -114, -140, -121, -99, -126, -151, -142, -140, -137, -138, -119, -140, -147, -87, -120, -139, -129, -88, -97, -137, -146, -132, -91, -98, -110, -159}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1312629248, 1322799616, 1700861696, 1121126272, 1419809792, 1745235456, 1470401536, 1779941376, 1748663680, 1202202624, 2122108800, 1676629248, 1346725504, 2118887680, 1299504768, 1366961792, 1593463808, 1360563712, 1421874560, 1907557376, 1317761664, 1978363136, 1669269248, 1356984192, 1953905152, 1598034432, 1233211776, 1491463936, 1352730624, 2094603392, 1262380672, 1744644224, 2060670976, 1658537856, 1655294848, 1085150592, 1163165696, 1457532288, 2048611968, 1503151104, 1650533248, 1439801472, 1384411904, 2004805120, 1934965760, 1298398464, 1457495552, 1147846272, 1913935232, 1911629696, 1640504192, 1109615232, 1467822336, 1483429248, 1740106368, 1076745856, 1340566016, 1422073472, 1849683840, 1095516928, 1922606976, 1531454720, 1158504448, 1864165120, 1608104320, 1205040896, 2070369024, 1835192064, 1519591040, 1651057920, 1807906304, 1465363072, 1932643840, 1758772224, 1451181312, 1511004928, 1659410304, 1426969344, 1728199168, 1920161792, 1196066816, 1559491584, 2044867840, 1506051456, 1152177536, 1976326656, 1612813184, 1702454656, 1205493376, 1510475904, 1307797248, 1295713536, 1096443904, 1508224384, 1555140864, 1493924608, 1564850048, 1393822464, 1983340672, 1945903232, 1932874240, 1377383680, 2028655744, 1382724992, 1635174400, 2110329984, 1251265664, 1914424704, 1556749440, 1144527744, 1479563264, 1681928448, 1527626496, 1723864064, 1732181120, 1377668608, 1379696768, 1429883008, 1281217280, 1557924864, 1625246592, 1647039360, 1233409664, 1679875072, 1529090048, 1718392192, 2123984640, 1757129600, 1878443904, 1590564480, 1370324224, 1886445056, 1321781120, 1293976576, 1551313024, 1493102336, 1955669760, 1234981888, 1580946176, 1530462720, 1542300928, 1525485824, 1287107584, 1423247232, 1688889856, 1430664704, 1441840384, 1858593408, 1272821248, 1867784192, 1147682432, 1592873856, 1394641920, 1586862720, 1688310528, 1839703424, 1627439872, 1333048832, 1511624704, 1150020352, 1131574400, 2039655296, 1440675584, 1771952640, 1812697472, 1483627392, 1168560768, 1378690432, 2060797568, 1448561920, 1732694272, 1631933952, 1831662848, 1455439872, 1739731712, 1510710016, 1284134912, 1383297280, 1472576384, 1827980160, 2005633920, 1368705536, 1210240640, 1451040000, 1413325312, 1808971264, 1255628288, 1557325184, 1365325952, 1927903360, 1116341504, 1430894336, 1400399616, 2007826432, 1381729536, 1647027328, 1267936896, 1524405120, 1802050304, 1762732160, 1815836288, 1114077696, 1356472320, 1622143744, 1581042944, 1231122944, 2030486656, 1799958016, 1207119104, 1123425664, 1500346496, 1089061376, 1127800704, 1841662848, 1371314176, 1232590976, 1489278336, 1711026176, 1946423296, 1767315200, 1322355712, 1388473984, 1877410432, 1836413440, 1361438848, 1128973440, 1608533120, 1123235328, 1690260736, 1903482880, 1700517120, 1352476800, 1171939200, 1134561024, 1297038208, 1635889024, 1104791808, 1898002944, 1729038848, 1086726656, 1963871616, 1975572608, 1483111296, 1818222976, 1304396160, 1716055936, 1343747968, 1785606144, 2024550144, 2078109184, 1759006720, 1490289664, 1455687168, 1575649536, 1725052288, 1346541696, 1630869376, 1692690816, 1755036416, 1463853440, 1292027904, 1929699584, 1679303296, 1732682624, 1414398848, 1781566208, 1615855616, 1084982656, 1548028800, 1287723648, 1684296576, 1624322432, 1660463360, 1650545920, 1348763520, 1447455360, 1630551808, 1680471936, 2009300864, 1191534592, 2098573440, 1783810176, 1566084224, 1460214144, 1619781120, 1635414784, 1118294912, 1514648320, 1566365568, 1655090176, 1926044928, 1990520832, 1149227008, 1661028480, 1497305472, 1292722176, 1435646848, 1862334080, 2024991104, 1465907456, 1745924224, 1411097600, 1366317184, 1956231552, 1314393600, 1665791872, 1659788160, 1534052224, 1654584576, 1377583616, 1180217728, 1649080704, 1519813632, 1416251904, 1872362624, 1336381184, 1434040064, 1813097472, 1559038592, 1309124352, 1506006272, 1880004736, 1520817664, 2117932928, 1356328704, 1096651648, 2024613504, 1616685312, 1993700480, 1900165888, 1343853184, 1812897792, 1717740032, 1441516672, 1587138048, 1970966272, 1401370752, 1424317952, 1644432384, 1295425152, 1435943680, 1100930176, 1790114176, 1961587072, 1341279232, 2121526272, 2140545536, 2013124352, 1483819008, 1303414400, 1108050816, 1583824256, 1906492928, 1350431872, 1507726208, 1915916672, 1227553536, 1345587968, 1445069184, 1294369024, 1656873856, 1748390016, 1410693120, 1253714176, 1560328576, 1307582208, 1328871040, 2122171648, 1409550464, 1526541056, 1915814784, 1131135104, 1599314048, 2085190400, 1456911360, 1644052992, 1452719232, 1463770880, 1529696256, 1304768640, 1959442048, 2013345024, 1636057088, 1569518592, 1408544768, 1370727424, 1559004288, 1371392256, 1667623424, 1411166336, 1424320000, 1595459584, 1453700608, 1392838016, 2118543616, 1846627712, 1754721792, 1614472448, 1742723200, 1325547776, 1796843264, 1450406272, 1844514816, 1443317632, 1494436992, 1902552960, 1889203200, 1758990976, 1354953216, 1356263296, 1393763456, 1432886400, 1164231424, 1491820032, 1456994432, 1645396608, 1868039040, 1724846592, 1842811776, 1370163200, 1528614528, 1316500864, 1437137664, 1735336320, 1875824512, 1840879488, 2048115712, 1870647936, 1649769856, 1505673728, 1434600576, 1350159488, 1490093696, 1739379200, 1842306816, 1142440832, 1652391424, 1554980992, 1292322048, 1376351616, 2038260864, 1383161344, 1621813888, 1667878144, 1498618368, 2013896832, 1706311296, 1945164928, 1414668544, 1827085696, 1744141952, 1422065024, 1845792640, 1658577792, 1411009024, 1649037056, 1553139712, 1634289536, 1543610112, 1109723136, 1586050816, 1745278848, 1643368576, 1732872064, 2079021312, 1605764352, 1359626880, 2136820480, 1402677504, 1110723328, 1965683328, 1596369280, 1879454464, 1626667392, 1301925888, 1962169728, 1570189312, 1840869760, 1750627456, 2000443392, 1393382912, 1823111168, 1920752256, 1199558272, 1611061376, 1811036544, 1550323072, 1732584704, 1902532992, 1528101120, 1396597248, 1570686464, 1292302848, 1638627584, 1432849664, 1293986688, 1120400768, 1377691264, 1862389248, 1579498112, 2084461056, 1374962816, 1436065920, 1985131648, 1567408256, 1750717056, 1568088192, 1779156096, 1550313216, 1479104640, 1404742528, 1406316032}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-19, -49296, 70026, -131, -7973, 28248, -1514, -5956, 81054, -4673, 47881, -4058, 140894, 1510, 71408, -1399, 206038, 5594, -1819, -752, -10685, 98199, -2334, -1675, 119863, -1697, 133377, -1486, -548, 71423, -63, -1881, -339, -3213, -6815, -15208, 106932, -855, -1150, -2375, -58137, 123396, 65535, -1529, -295, 86734, -29, 106978, 255, -2427, -1814, 150145, -2753, -8886, 175890, 29810, -1525, -1102, -8779, -17, 149243, -1282, -937, 140816, -1363, 692, -1776, -15747, 92943, -17, 4051, 67453, 47074, 113969, -9109, -1320, -1467, 2096, 94825, 463, -1057, -1539, -29, 284806, 77322, 156488, 75943, 1259, 118838, -1353, -4445, -885, -1189, -864, -5251, -709, 90251, -336, 714, 61461, 134994, -1141, 66392, -790, -1778, -2054, 73228, 119482, -753, 196154, -1915, 94579, -911, 212408, 112755, -10204, -1690, -3526, 80861, -2083, -17518, 83487, -1185, -49423, -6377, -1696, -200, 41402, 154314, -3791, 75746, 76082, -689, -1012, 141894, -145, 134069, 120268, 67777, -9417, -1818, -891, 115483, 921, -42296, -1125, -5870, 86296, 82810, 72700, 254582, -915, -530, 302278, -1991, -329, 138107, -1522, 100909, 460, -11, -24, -1206, 415, 114006, -78, 21700, 285, 98282, 239, -1291, -41309, 157929, 163481, -19805, 358990, -368, -456, 622, 68713, 230325, 139567, 117037, -1174, 1582, -5909, -726, 40037, -1723, -145, 89689, 66659, -2153, 16128, -1976, 85459, 149914, 113538, -3820, 49873, -899, -568, -253, 147389, 335508, -6082, 123105, 114222, 221, 88954, -1533, 99883, -88, 112457, -1182, 133560, -2011, 72674, 121812, 142347, -1878, -3034, 57996, 96530, -72723, 123634, -1823, 479, 156407, -1368, 443, -3309, -556, -248, 130724, 88757, 678, -2235, -846, -1434, 149528, 86295, -391, -1855, -70, 246161, 114015, 407168, 46823, 623, 111186, -325, 78723, 8, 279263, -16996, -2000, 1615, 44536, -2499, 5285, -7745, -996, -20339, -128, 40714, 194596, -33, -22115, -1870, -544, 212159, 513, -1551, -1433, -2410, -336, 67375, -429, 62482, -161, 50993, -2337, -1454, 253956, 124400, 122800, 78664, 90956, -3929, -3369, -35117, 58607, -3301, -3454, -2257, -1138, 63529, 217535, 76, 41023, 915, -1775, -456, 88469, 52958, -4071, -1810, 56286, -1090, 39933, -3194, -3874, -2450, 149668, -1788, -10296, -1077, -1971, -64, -1738, 153183, 64888, 44910, 385, 51513, 49300, -1516, -1282, -62, 70673, -711, 28232, 297612, 2091, 181025, -1354, -1262, -1012, -353, 45650, -2984, 236398, -82, -1923, 101714, 73252, 2626, -1079, -3479, 443942, 138848, -2623, -2967, 94362, 256652, 294473, 607, -1037, -1485, -129, 132299, 249105, 54782, -6265, -8, 130724, -1605, 147578, -2696, 220156, 179975, 119915, 188873, -1101, 25462, -1198, -11036, -35, -1345, -1975, 129422, 76149, -3831, -1924, -2763, -14991, -2579, 282818, -3318, 258876, 87541, 304093, -2656, 119324, -11091, 32056, 63756, 155864, -1550, -27058, 233816, 127411, -1290, 2747, -2541, 53341, 134510, 150152, -1665, -10852, -792, 57565, -1146, 121717, -7721, -1357, -11322, -8854, -7503, -1349, -32159, -353, -1169, 116, 35971, -16588, -17054, -4706, 194931, -1474, -2509, -1485, -32, -474, 41092, 291370, -25980, -1755, 99221, 168376, -11429, -4, -1237, 103541, 167622, 135754, 78253, -1125, 123214, -45, 45701, 75938, 165342, 163, 50124, 128492, 62069, 49838, -517, 274414, 215663, 95234, -9492, -6615, -26141, -2468, -1849, -3336, 95995, 87452, -594, 1419, 94103, -1005, 116119, 97767, 110730, -6636, 207838, -1643, 125914, -397, 96677, 143533, 110490, -2952, 209414, 3305, 79887, 6, 77449, -1889, -47, -8223, 150290, -2211, 498467, -7317, 16, 146710, -93, -2746, -14163, 51763, 76866, -5702, 85494, 49010, -13078, -3261, -10100} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-188, 150, -445, 362, 222, -345, 227, 262, -383, -111, -350, -173, -619, -94, -486, 233, -535, -112, -128, 325, 594, -556, 314, 345, -454, 380, -749, 214, 292, -406, -161, 395, -201, -100, 302, 312, -502, 302, 589, 621, 99, -421, -413, 313, -190, -439, -190, -578, 67, 247, 458, -595, -94, 301, -591, -370, 189, 318, -144, -189, -648, 282, 183, -509, 195, -120, 413, -14, -509, -124, -113, -465, -463, -434, 287, 313, 394, -108, -480, 316, 232, 576, -205, -542, -456, -678, -468, 299, -576, 330, 118, 214, -179, 199, -169, -111, -423, 117, 269, -405, -564, -134, -464, 273, 255, 368, -477, -512, 373, -667, 427, -549, 185, -592, -435, -7, 331, 466, -422, 333, 193, -360, 324, 45, -94, 326, -117, -327, -449, 317, -466, -467, 143, 324, -472, -63, -782, -504, -413, 197, 268, 328, -461, 320, 53, 275, 239, -503, -480, -444, -635, 366, 249, -874, 312, 143, -472, 209, -495, 216, -179, -203, 339, -106, -613, -161, -145, -158, -450, -99, 284, 722, -548, -468, 120, -901, -204, 326, 290, -430, -706, -654, -540, 319, -171, 649, 190, -205, 295, -210, -414, -461, 221, -199, 276, -363, -412, -458, 204, -358, 279, -144, -43, -760, -691, 175, -650, -487, -111, -483, 389, -437, -145, -552, 268, -547, 9, -422, -477, -510, 402, -181, -263, -459, 161, -743, 421, -102, -626, 182, 101, 66, 34, -203, -651, -425, 321, 217, 394, 168, -629, -439, 369, 251, -202, -641, -664, -924, -373, 321, -572, -164, -428, -191, -932, 210, -172, -102, -359, 447, -105, 279, 312, 254, -135, -375, -605, -212, 129, -165, 140, -779, 272, 376, 297, 329, -123, -370, 163, -433, -210, -387, 323, 269, -512, -495, -569, -398, -568, 274, -120, -27, -177, 12, 242, 199, 268, -385, -521, 293, -351, 444, 302, -120, -434, -408, 479, 337, -365, 293, -397, 409, 406, 352, -530, 337, -161, 419, 376, -201, 393, -642, -413, -375, 204, -451, -402, 274, 313, -197, -447, 230, -391, -778, -116, -544, 304, 455, 255, -97, -438, 372, -769, -205, 283, -401, -472, -108, 531, 582, -1376, -561, -96, 193, -451, -873, -818, -104, 299, 317, -109, -491, -638, -419, 539, -160, -605, 276, -457, 339, -505, -756, -490, -607, 363, -355, 255, 168, -202, 366, 252, -600, -436, 220, 395, 230, 374, 343, -699, -158, -666, -516, -685, 434, -445, 218, -328, -418, -676, 291, 16, -631, -477, 422, -90, 181, -440, -447, -670, 395, -108, 85, -495, 330, -613, 196, 259, 251, 307, 206, 196, -49, -181, 224, -41, -365, -80, 256, 420, -483, 400, 278, 289, -203, 268, -344, -1195, 271, -101, -578, -535, 173, -159, 561, -475, -610, -474, -492, 434, -488, -184, -315, -519, -574, -177, -382, -659, -408, -386, -112, -976, -601, -414, 130, -114, 68, 333, 310, 661, -521, -513, -114, -119, -500, 161, -505, -389, -546, 503, -606, 309, -489, -125, -503, -702, -461, 379, -583, -173, -446, -95, -400, 444, -130, 417, -685, 488, -979, 229, -108, -577, -90, 396, 109, -375, -383, -129, -458, -371, 464, -76, 534}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {2124468224, 1659543936, 1235864192, 1646651904, 1088755968, 1157774464, 1377999744, 1088730112, 1127047040, 1176622080, 1750334080, 1682086912, 1178881664, 1321393536, 1087054592, 1341106432, 1394938112, 1572182784, 1350141568, 1843241216, 1140083328, 1614894080, 2039255936, 1215876224, 1422892416, 1965650176, 1291389824, 1571454464, 1659299712, 1148981120, 1188307328, 2133015552, 1161509376, 1975624832, 1489693184, 2050265728, 1542280448, 1095101568, 1434641792, 1400592256, 1280989696, 2052514304, 1343139584, 1843375744, 2009799936, 1832252672, 1416256256, 1426930304, 1175422592, 1728295680, 2031193984, 2119174528, 1416326912, 1783709952, 1135687680, 1169569408, 1442347136, 1519978880, 1758238080, 1701758080, 1134852736, 1571654528, 1517219200, 1616583936, 1424174720, 1103003776, 1789380352, 1652776064, 1861615360, 1787659136, 1096407808, 1366131712, 1406796032, 1878795008, 1091567360, 1886198144, 1675983744, 1987997056, 1813092096, 1829253504, 1211252352, 1851823488, 1793485696, 1078591360, 1104786176, 1163268608, 1907119488, 1973666816, 1701631488, 1154012032, 1967176064, 1638898176, 1095518848, 1700635008, 1928617216, 1125225472, 2046503040, 1105211264, 1980498944, 1241843328, 1153880448, 1698515840, 1106812672, 1351592448, 1204149248, 2070528384, 1874470144, 1483440512, 1647120128, 1307121536, 1674263168, 1497555968, 1459540096, 1329786496, 1420543744, 1687904000, 1205416960, 1611943808, 1308736640, 2142823552, 1817740928, 1127706240, 1115061888, 2013894016, 1722416256, 1259521920, 1840672000, 1806117504, 1667236992, 2090451328, 1354966272, 1132581504, 2112646272, 1454007552, 1655545856, 1400692352, 1121171328, 1724492544, 1367499904, 1220843648, 1240666624, 2094526592, 1599064704, 1712749568, 2017445888, 1253051648, 1102314752, 1736411392, 1952944768, 1974044288, 1227257728, 1141409792, 1432230016, 1478988416, 2032787328, 1380383360, 1745601920, 1076956032, 2139842176, 2012500352, 2038180480, 1607276288, 1442099328, 1187934720, 1633422464, 1826372608, 1413191424, 2042115712, 1810465280, 1701324928, 1218570752, 1561495424, 1839041152, 1441408896, 1489974912, 1278555008, 1186548480, 1736511232, 1642152576, 1132229120, 1135878144, 1362617344, 1578918528, 2045376640, 1941873280, 1970669312, 2088821248, 1175457536, 1109546240, 1364453504, 1881633408, 1098891904, 1174374784, 1506910592, 1991714816, 1944736768, 1090295424, 2087101056, 1538702208, 1559907712, 1451636992, 2004214656, 1334187264, 1110226048, 1592860160, 1138491136, 1355958528, 1431502848, 1442587648, 1707058688, 1626271744, 1782030592, 1597112704, 1687699456, 1173863168, 1779789440, 1282047744, 1171706496, 1668268416, 1700511104, 1564402048, 1457423488, 1292448000, 1771588864, 1197372544, 1787745664, 1728545664, 1215132672, 1142607744, 1163696128, 1132917760, 1450616064, 1603662976, 1689538304, 1473344512, 1943244288, 1258349056, 1417491200, 1312627712, 1309056256, 1111041792, 1808886144, 1548828544, 1111227648, 1246760832, 1851801088, 1269065600, 1273240064, 1591503616, 1334489088, 1359238784, 1920061056, 1227288832, 1366084096, 1286813184, 1341076224, 1151812480, 1968496128, 1749267456, 1235530496, 1205996032, 1971977216, 2021104128, 1858465920, 1321449728, 1757130240, 2104921728, 1657122560, 1419991808, 1976185984, 1983966208, 1777957120, 1203901568, 1097339904, 1248065920, 1725125120, 2127059072, 1318014208, 1088552960, 1250735232, 1665670400, 1694518016, 1709677568, 1195370368, 2101901824, 1429915520, 1300342912, 1125423104, 1821698944, 2054637568, 2048155648, 2004192384, 1130676736, 1738724992, 2052913280, 2016575744, 1479075584, 1818749696, 1252737664, 1109224320, 1912420096, 1674917504, 1799792384, 1953346688, 1900499200, 1313067904, 1329316480, 1742355456, 1518212224, 1101742336, 1692151040, 1964572544, 1724161024, 1558984576, 2076942976, 1963264896, 2122569600, 1965668480, 1714330880, 1837106048, 1572520320, 1961957760, 1177276032, 1849235968, 1188583680, 1365128960, 1560084224, 1207904256, 1253793408, 1327335168, 2074550272, 1304022400, 1274473344, 1601870336, 1297207680, 2129613824, 1413040768, 1755152896, 1357017728, 1696331264, 1552713344, 1211121664, 1970209536, 1456317312, 1913217920, 1297779712, 1972946816, 1919666432, 1610639360, 2003684480, 1535173504, 1189576576, 1998098304, 1100454144, 1809713152, 1937878400, 1709032320, 1971122304, 1399721344, 1173823232, 2010993024, 1201255936, 1215312128, 1354904192, 1467419648, 1304923904, 1660732160, 1224319488, 1920263424, 1805747072, 2135048704, 1370961408, 1441541504, 1093478784, 1224489728, 1394758400, 1389529088, 1135237120, 1802141184, 1087835648, 1078079360, 2051429760, 1091338624, 1315058560, 1789434752, 1333219584, 1865220736, 1952868864, 1896419328, 1445068032, 1833859072, 1111074048, 1916089472, 1734231936, 1416097792, 1243627776, 2134314368, 1196539648, 1662465152, 1076464512, 1622937216, 1265427072, 1360567424, 1738232064, 1758450560, 1931534208, 1373406080, 1081816320, 1392045184, 1992186240, 1471585792, 1203532032, 1149586688, 1192950528, 1553226496, 1178628352, 1307428352, 1207995776, 1909128704, 1194392704, 1188753792, 1357747584, 1599803008, 1420407040, 1119927168, 2008400000, 1271837056, 1777193728, 1785595776, 1456526720, 1672733184, 1882668032, 1149791360, 1662453632, 2097327744, 1673959936, 1153944320, 1933827456, 1190486784, 2147259776, 1914374400, 1435151488, 1521371648, 1293975808, 1674441600, 1136780544, 1307933696, 1897110656, 1131979264, 1605736192, 1078305664, 1864036992, 1805952128, 1575649792, 1082294016, 1531347456, 1914884352, 1193683072, 1949205888, 1601857536, 1473073664, 1201378176, 1752474752, 1552618624, 1391288576, 1364517888, 1772324864, 1114230144, 1456181504, 1592670464, 1841098752, 1157894912, 1224031104, 1660453888, 1943531648, 1453404416, 1565572352, 1398160256, 1355676032, 1906359168, 1818243968, 1835478016, 1894030976, 1966143616, 1102855168, 1718118144, 1681656832, 1204033920, 1872306688, 2109810688, 2052498304, 1092234624, 1836436096, 2139556480, 1222703616, 1170767360, 1586440320, 1205084544, 2119080192, 1109935104, 1597273856, 1862189056, 1841049216, 1524627584, 1570995072, 1095462912, 1220889600, 1720542720, 1708709888, 2101609472, 1665163008, 1533567872}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {-9610, -31628, -9216, 30172, -5230, -5590, 3571, -44277, 43722, -1262, 4709, -16215, -24228, -39739, -31949, -7380, -21435, 20425, 8308, 5191, -36801, 10214, -25914, -905, -25847, -48831, -16902, -20332, -48901, -17399, -65148, -17561, 13233, -3467, -28930, -17530, -27311, -26266, -44133, -15605, -38311, -42587, -32614, -18055, -13364, -5068, -9722, -38215, -3876, -14156, -47908, -55490, -17086, 14250, 17518, 13163, 4630, 20219, -492, 12124, 5220, -11121, 7458, -4937, -11921, -1984, 146, -33442, -35346, -51672, -7149, -16101, -47195, -45351, -22698, -66061, -3682, -54617, -35259, -39340, -38809, -18420, -39296, -25532, -23502, 478, -24290, -7006, 25277, 11581, -51335, -31167, 2229, -24126, -9900, 34467, -21154, -18872, -9976, 4793, -12596, -4782, 580, -5290, 1000, 9765, -7172, -5432, 757, -30026, 16608, -13131, -19740, -15032, 4618, -13043, -26295, -487, 48804, -2944, -2354, -10537, -14045, -95482, 8125, 37972, -36522, 1914, 2419, 2672, -16948, 11015, -3032, -58884, -51160, -25111, 6233, -4542, -4519, -45410, 34275, -12400, 8492, 17522, -4615, -19002, -12260, -25279, 3595, 39992, -5877, -6234, 3303, 22217, -24707, -19616, -30124, 19676, -10487, -23239, -36837, -35282, 3030, -9789, -12243, -39262, 6937, -11203, -48607, -3297, -6577, 24308, -25339, 33094, -38485, -17806, -31711, -12222, -5068, -36872, -7165, 19982, -5550, -18834, -25234, 22364, -18138, -28373, -38073, -26600, -45325, 16421, -85611, -41519, -19879, -30089, -28805, -8142, 15299, -4310, 4565, 29099, 10442, -2169, -37759, -13297, -1703, -31588, 4106, -41757, -9554, -3584, -89782, 16989, -7903, -19167, 3424, 691, -26038, -18718, 263, -31825, 46142, 7237, 6308, -21397, -10306, 7826, -30524, -20212, -19521, 43101, -25589, -45035, -15285, -16745, -24762, -27076, -4293, 30036, -3399, 6273, -2280, -11795, -10556, 2958, -12678, -13033, 18366, -19456, 8696, -28957, -21298, -49834, -8883, -13518, -29152, -23890, 2813, -6412, 8830, -32816, 5298, 35112, -5232, -44606, -5177, 6872, -20117, -54148, 917, -25807, -8716, -19362, 19346, -7569, -19371, -8462, -15178, -21419, 1518, 4827, -4840, -4249, 22295, -34124, -67899, -9690, -35852, -35507, -57294, 24686, 3909, -8300, 93, -8305, 354, -5931, -45278, -7527, 16062, 8431, -11264, -44115, -14100, -19952, -8334, -18306, 44080, -20404, -20982, -29279, -11988, -58019, 14016, -6440, 35195, -167, 359, 49825, 4656, -4253, -11425, 21483, 24595, -34345, 3885, 5777, 1502, -29323, -10677, -13168, -24350, 22878, -12595, -19790, -29831, -26089, -7524, 2077, -16435, -8901, 1451, -21656, 9142, 15914, -13256, -45819, -36891, 22316, -12766, 4970, 25110, -18230, 24333, -4101, -2150, -27569, -28956, -3311, 11282, -14585, -9043, 43810, 45240, 28720, -26931, -45041, -6975, -23043, -2984, -21883, -2630, 14381, 14651, -4727, 4788, 22272, 21429, -32000, -22437, 11856, -69555, 3192, -9977, -35528, 3891, 25041, -13261, -19424, -29358, -24728, -10634, 3004, 13416, -59088, 13295, -15886, 1879, 44537, -19870, -2577, -17135, -14911, 9091, -11242, -14329, -6472, -47270, 33477, 2489, 43200, -8927, -6497, -49826, -21667, -49096, -35871, 16430, -3091, -48063, 7886, -8204, -17659, -970, -25595, -24419, -2008, 19994, -5693, -16103, 2657, -25814, -30300, -63179, -15878, -18640, 529, -17861, 7516, -13394, -44897, 2355, -29151, 15647, -31911, 58897, 6155, -33083, -31648, -39906, -5756, -48750, -19048, -1729, -50547, -16899, 130, -13564, -15769, -3163, -26769, 6523, -14617, -23504, -26299, -57958, -1743, -12221, -24450, 25939, -19308, -19093, 4978, -26149, -34156, 6483, -19692, 1420, -12415, 8639, 31839, 13294, 1218, -18515, -22634, -20748, 10765, -16996, 6669, -9009, 7474, -15384, -1268, -37426, -47095, 40461, -47201, 30073, -20849, -50385, -5587, -15325, 34029, -48966, -6252, -22860, -45078, -16805, 21014, -14913, -31580} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-142, -132, -142, -136, -125, -138, -159, -146, -149, -130, -107, -131, -155, -183, -121, -141, -161, -135, -131, -124, -115, -137, -122, -130, -137, -143, -131, -128, -119, -89, -154, -110, -138, -140, -134, -116, -148, -126, -147, -141, -131, -126, -141, -125, -134, -153, -128, -116, -147, -129, -141, -121, -115, -137, -145, -132, -109, -154, -137, -138, -140, -143, -132, -142, -149, -123, -130, -133, -127, -125, -147, -151, -142, -131, -166, -129, -132, -128, -129, -146, -123, -145, -138, -120, -150, -97, -148, -133, -126, -145, -114, -130, -125, -116, -135, -131, -134, -152, -155, -141, -154, -121, -145, -134, -165, -116, -144, -154, -122, -136, -140, -181, -142, -133, -130, -124, -128, -151, -135, -145, -131, -135, -170, -129, -127, -138, -121, -161, -117, -155, -115, -150, -178, -113, -113, -130, -118, -138, -147, -142, -157, -135, -168, -132, -123, -139, -149, -139, -140, -142, -129, -127, -124, -154, -139, -158, -152, -156, -152, -121, -83, -181, -145, -148, -184, -138, -182, -146, -141, -142, -127, -128, -132, -144, -128, -132, -151, -160, -148, -143, -144, -139, -113, -146, -114, -132, -144, -145, -137, -124, -132, -140, -121, -116, -133, -130, -120, -153, -180, -157, -117, -165, -144, -151, -133, -125, -165, -138, -141, -132, -123, -148, -145, -141, -173, -146, -164, -142, -119, -120, -180, -155, -131, -129, -160, -123, -178, -169, -154, -145, -136, -138, -115, -112, -116, -112, -131, -143, -144, -137, -130, -140, -148, -125, -144, -154, -159, -128, -167, -145, -159, -124, -150, -134, -134, -142, -130, -124, -172, -120, -125, -147, -148, -135, -96, -137, -136, -157, -141, -136, -135, -132, -177, -153, -147, -120, -126, -131, -155, -140, -142, -142, -166, -148, -116, -137, -131, -147, -154, -134, -130, -137, -142, -150, -128, -168, -130, -140, -131, -116, -125, -124, -121, -147, -157, -134, -139, -127, -132, -143, -140, -137, -139, -129, -132, -139, -144, -127, -119, -114, -131, -156, -125, -150, -165, -119, -145, -127, -133, -152, -155, -142, -132, -132, -132, -94, -136, -143, -142, -113, -144, -154, -137, -152, -175, -172, -120, -118, -164, -136, -135, -124, -112, -153, -121, -137, -130, -141, -134, -148, -146, -154, -124, -132, -141, -150, -120, -127, -130, -163, -165, -156, -159, -111, -142, -128, -142, -137, -134, -135, -127, -136, -124, -123, -139, -153, -141, -166, -169, -132, -147, -126, -124, -136, -140, -123, -183, -130, -136, -130, -134, -150, -140, -151, -146, -148, -123, -127, -151, -143, -134, -118, -154, -162, -133, -134, -129, -147, -136, -146, -142, -128, -195, -123, -168, -129, -122, -96, -130, -136, -141, -128, -134, -127, -118, -133, -128, -163, -155, -136, -160, -132, -124, -130, -141, -125, -135, -138, -124, -136, -136, -157, -147, -131, -149, -133, -150, -147, -144, -127, -149, -103, -143, -185, -131, -128, -137, -147, -126, -164, -117, -141, -147, -145, -120, -139, -133, -160, -136, -138, -136, -166, -139, -128, -146, -147, -124, -146, -120, -157, -143, -133, -117, -136, -137, -123, -142, -130, -149, -120, -146, -125, -142, -117, -160, -147, -109, -134, -106, -134, -147, -133}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1082010368, 1419462912, 1244609152, 1242757632, 1124553600, 1176510336, 1266930048, 2116650240, 1497869312, 1074244992, 1419989248, 2134810624, 1861831424, 1516122496, 2090730880, 1537225088, 1105975680, 1210478208, 2107739136, 1348200576, 1399827200, 1135619840, 1418918144, 1151479552, 1410677248, 1081515520, 2007828480, 1130852480, 1183568384, 2031951104, 1074179200, 1284762112, 1896717056, 2030960128, 1340342272, 1103914368, 1159552000, 1207015424, 1124079360, 1341897088, 1891027200, 1116367488, 1204130176, 1239381376, 2112803840, 1201618560, 1199885568, 1237316224, 1257561472, 2134368384, 1256140032, 1202894208, 1488289152, 2074729728, 1169705472, 2090637056, 1394888192, 1835693056, 2085793280, 1111229184, 1487223168, 1171457536, 2043331712, 1370997760, 1144025856, 1095419392, 2001039488, 1203966336, 1244094976, 1155898368, 1389782016, 1301552128, 2107559808, 1118488192, 1839266816, 1078613248, 1997539840, 1161265024, 1365852544, 1153475072, 2069315584, 1186349824, 1239159936, 2103523712, 1133959552, 1558297728, 1378624512, 2077406080, 2008636288, 1370905856, 1968794112, 2132303872, 1154740096, 1081801856, 1075430528, 1144270464, 1143960064, 1861225472, 1170956160, 1106889600, 1341696896, 1139018752, 1236274560, 1303408896, 1298270464, 1321677440, 1103046784, 1091340672, 1245633280, 1307265408, 1217291008, 1766060928, 1605044480, 1271307648, 1198826624, 1901984640, 1203475200, 1952013056, 1924581888, 1090766592, 1348405632, 1204841984, 1352509440, 1127656064, 1196654592, 1203857536, 1832245632, 1383729152, 1800592640, 1215552512, 1141586688, 1441233664, 2109330944, 1241960448, 2012982400, 2029005824, 1392961664, 1272193920, 1110309504, 1126604800, 1280857216, 1114705408, 1603011456, 2037597824, 1166181632, 1195135616, 1430061440, 1890177792, 1123514496, 1206698112, 2009107712, 1143063680, 1446812544, 1159807744, 1390685440, 1138917504, 1151669120, 1951688448, 1222709632, 1263219712, 1394540544, 1776727808, 2048089984, 1315301504, 1952898944, 1174627072, 1801885184, 1146219648, 1165757440, 1302752128, 1099200640, 1168944512, 1098156160, 1154302464, 1954076544, 1143666816, 1387961728, 1319273216, 1148658688, 1438042240, 2034225664, 1360510336, 1219415424, 2063672960, 1650150784, 1983894912, 1542068480, 1073977984, 1211059712, 1114937216, 1146288384, 1231830016, 2094385408, 1198732800, 1151711872, 2050225024, 1545577856, 1444612608, 1617241088, 2078693248, 1164765184, 1133887104, 1322496000, 1997706880, 2100216960, 1280149376, 2101278848, 1135829376, 1361096832, 1859048192, 1257867904, 1262499584, 1798320640, 1156544256, 1894348928, 1147287296, 1392624384, 1361661952, 1916928000, 2113079552, 1598307584, 1193814400, 1245642624, 1558529280, 1303665664, 1313775104, 1745285888, 1493599104, 1270220416, 1133667968, 1078039552, 1092944128, 1292621952, 1139556992, 1162287616, 1111837952, 1148465920, 1826527744, 1184909440, 1354273792, 1163927040, 1227581312, 1266998400, 1233798528, 1085858304, 1268363264, 1225577984, 1098559104, 1638557440, 1245056640, 2146305152, 1193203584, 1210237312, 1361587328, 1362186240, 1253120640, 1166394752, 1383703040, 1663601536, 1221318016, 1326383744, 1431412352, 1195813120, 1083115136, 1408657280, 1845249024, 1083221120, 1460363264, 1194160512, 2069748096, 1470114176, 2072198784, 1488891264, 1398068352, 2115940736, 1580685312, 2005834368, 1408966272, 1247825408, 1284990592, 1387976960, 1114333696, 1654329600, 1316878208, 1247980416, 1213309952, 1088567680, 1082070016, 1087607552, 2055090048, 1170542208, 1140859520, 1172473344, 1167298176, 1124766976, 1308050432, 1315368192, 1189787520, 1109297792, 2085826816, 2051534592, 1397210112, 1255642496, 1138288000, 1644464512, 1282404224, 1662533632, 1193326976, 1219962880, 1078025216, 1226702464, 1123835776, 1423537792, 1242605952, 1088940672, 2054904576, 1186946816, 2025364096, 2137012992, 1485551104, 1983246208, 1373137920, 1312652416, 2026143872, 1345462656, 1965307520, 1902318464, 1315704704, 1205933952, 1476993152, 1140863232, 2116297472, 1107483776, 1377860864, 1225105664, 1636263936, 1248608512, 1116829184, 1192544256, 1192424192, 1253470848, 1416543488, 2127168768, 1196080384, 1121143424, 1364269440, 2123606784, 1099803648, 1668580864, 1164852864, 1375642624, 1118437120, 1299313152, 1319356288, 1967913344, 1079296640, 2054239872, 2092767360, 1262512000, 1360044416, 2032477696, 2131580928, 1349747712, 1147116032, 1147964544, 1190155008, 1120129408, 1950995072, 1319515904, 1539418624, 1126837888, 1556031488, 1442087936, 1460400896, 1993631360, 2006198272, 1242834688, 1352827776, 1156355840, 1972095104, 1565285248, 2146515200, 1162878464, 2053034880, 1260718208, 1232725888, 1164711040, 1828917248, 1448467456, 1249444352, 1370806400, 1218800896, 1209296768, 1347918336, 1236222592, 1128069504, 1833413760, 1128278912, 2145924224, 2046504064, 2110166528, 2094163968, 1133826560, 1547302656, 1283816704, 1248107648, 2067965696, 1332914816, 1178379136, 1237340928, 2016532992, 1208710016, 1171692288, 1813650304, 1189537408, 1885972352, 1208453504, 1456568960, 1999236736, 1117383296, 2081760384, 2034110464, 1198349184, 1107838848, 1230154880, 1354459648, 2081407488, 1426454144, 1215259904, 1081478912, 1366511104, 1300205056, 1172680704, 1132634752, 1120813184, 2044369920, 1136615296, 1543646208, 1367200384, 1116100224, 1478866176, 1133003008, 2113388416, 1851210496, 1234442112, 1827034112, 1185436800, 1094826240, 1267165824, 1286496256, 1363252736, 1282731904, 1400671744, 1222373760, 1481954432, 2050120832, 1566023936, 1097233536, 1980226944, 1134842496, 1176201728, 1239004160, 1326405760, 1564981504, 1985983360, 1129648000, 1794783616, 1271709184, 1128054656, 1186758784, 1148682112, 1165804160, 1202606336, 1193030912, 1097543424, 1217328128, 1243597440, 1094439552, 2054705920, 1211555072, 1260109568, 1386167552, 1137779840, 1234666496, 1594737408, 1115400064, 1991465728, 1106983168, 1131126784, 1433592192, 1368456576, 2141237888, 1235513856, 1197417984, 1870846208, 1160632448, 1368823168, 1225831424, 1845749632, 1120876928, 1101736832, 1292428032, 2052550016, 1147983872, 1347269504, 1209374336, 1127916544, 1076998912, 1339869696, 1092705664, 1100419072, 1136659712}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-4137, 3524, -7378, -7691, 5188, -1573, 2565, 993, 1392, -3286, -7906, -5041, -2222, -1482, -1596, -4142, -3418, -1253, -2157, -3429, -269, 6383, 1257, 1253, 1915, -2015, -826, -3075, -655, -517, 1395, -40, 1781, -3675, -1280, -6532, 839, -1433, 126, 2159, -2434, 643, 1166, -3854, 5581, 2759, -876, -186, -6836, -96, 1435, -2657, 1684, 5301, 2993, -533, 812, -958, 2932, 1409, -2188, 5228, -527, 6467, 6075, 1140, -4756, -1180, 1931, 2096, -3402, 1122, 1828, 3267, -3213, 8138, 1190, 3732, 4965, 6471, -9629, -2745, 1135, -16808, -5426, 232, -4699, 2602, 3611, 3017, -3284, -3409, 1175, -3027, -1940, -5670, 301, -6538, -10677, -7997, -3509, -3762, -218, 7074, -1393, 346, 4041, -270, -7083, -11812, -6859, 12592, 7511, -803, 968, -11951, -6588, -2555, -156, -1670, -2619, -2753, -3176, -6945, -3001, -5629, -4079, -10207, -3514, -1053, -4485, -5871, -2492, -741, -11301, -6839, -6994, -6907, -7825, -8495, -9962, -4104, -5850, -6656, -7008, -3798, -1473, -6694, -3156, -2503, -201, 5886, -9288, 4862, -2075, 2134, 164, -6884, -5770, -592, -1830, 8938, 7952, 2054, 1700, -3799, -2149, -7708, 1376, 518, 2220, 8477, 370, 165, 7085, -5152, -3026, -1410, 6367, 568, -291, 127, 1818, -1240, 3403, 5199, 60, -874, -629, -144, -1747, 4501, 755, -3060, -2357, 12303, 1403, 87, -3115, 5361, -6961, -3454, 5101, 6006, 5254, -854, -2441, -2534, -3625, 5216, -901, 2922, 1009, 1033, -478, -1336, 1150, 6980, 1957, 1676, -2360, -7411, -1761, 10548, -3066, 3995, 8, -1014, -5236, 7377, -346, -5012, -4171, 1031, 635, -411, 1946, 6265, 2121, 6073, -2428, -5126, 2775, -2941, -1034, 5316, 379, 5648, 909, -1196, 870, 3075, -311, -2873, 9272, -4837, 1131, 1497, -1403, -1466, 1547, -1524, -2300, 3599, 866, 4910, 4688, -1457, -4108, -221, 7471, -1776, -541, -1641, -5890, -6368, -1413, -522, -4773, 2548, -969, 8613, -4599, -1460, 8629, 3763, 1289, 1250, -1765, 74, -2326, -7513, -3474, -6893, -394, 1518, -3134, 1151, 1260, 761, -3883, -4421, -4808, -524, -7091, 1765, 2537, -5322, -3635, -6959, 1115, -1427, 71, 8270, 7401, 4446, -320, -5288, 723, -6775, -9169, -8534, -9889, -8851, -6277, -10885, -8205, -1744, -4923, -6345, -2436, -4529, 5755, 2512, 256, 238, 2023, -4922, -5750, 737, -912, -3068, -3741, -5161, -3277, -11, 1519, -3580, -966, -2141, -822, -6586, -3963, -2630, 5150, -2732, 4201, 1192, 1016, 7805, -2365, 4033, 2349, -486, -99, 2225, 3171, 7235, -1964, 4129, -813, -4924, -198, 1962, -665, -22, 1983, -601, 3131, 4791, -1015, 4596, 2525, 2849, -9161, 1067, -1356, -3606, -4715, -1936, -3318, 3003, -9116, -8478, -5779, -205, -10738, -2648, -2405, 6813, -244, 4351, -1462, -2419, -12467, 1486, -2500, -4364, -5147, -3478, -2339, -91, 4133, 6816, 1698, 653, 8313, -3760, 6012, 3391, -2975, 3671, 3098, 8067, 7819, -2431, -5410, -5834, 2043, 2300, 137, -3579, -666, 1138, 1638, -1494, 1088, 76, -1836, 1134, 2073, -1107, 3986, -807, 3600, 6430, 1714, -1156, 4801, 1590, 5340, 2413, 1157, -1343, -102, -1245, 4409, 4192, -936, 3434, -3305, 5603, 3090, 2253, 7324, 2477, -3185, -1722, 7077, 3089, 2598, 1737, -2472, 2020, -1930, 4927, -4480, 476, 2595, -2198, 4428, 1346, -1469, -6934, -5250, 1100, -587, 3673, 1623, 1841, -6984, 3764, 5611, -2584, 556, -4083, 989, -9653, 3905, 7011, -751, 3904, 1321, -522, 184, 3622, -1071, -784, -692, -4951, -4413, 410, -2923, 1398, 720, 4999, 546, -4710, -711, 3829, -5669, 1124, -240, 7914, -1265, 473, 1793, -1303, -6930, 7241, 6229, -4055, 1870, 5302, 565, 462, -4550, 4532, -1747, 7454, -8812, -4886, 3286, 4722, -722, 6418, -811, -12245, -6649, 9061, -1927, 4477, 2137, -3462, -3658, -4409, -70, 2121, 1467, 574, -3767, -540, -904, 8538, -8478, -1169, -2695, 3789, 5497, 797, 54, -1889, 386, 2269, 4944, 1681, 2136, 4034, 1404, 3636, -3174, -4336, -202, 2707, 7254, 670, -3931, 5015, -596, 5876, -4754, 85, 2257, 8759, 3462, -9573, 3423, 6136, -4627, 2511, 8956, 5090, 5281, 3861, -2701, -529, 4144, 863, 7310, -334, 1667, -4060, -1246, -3760, -291, -474, 2016, 720, 2724, -2215, 3216, 2284, 4413, 11514, -3075, -554, 4802, 2753, -3396, 4341, 7562, 447, 6187, 3875, 5601, -4537, 3066, 1731, 1240, -4884, -7241, -2978, 2930, 650, 7639, -4628, 3655, -5500, -441, 902, 10308, 1248, 986, 516, 2235, 6993, 1734, 1700, 3133, 1394, 897, -2717, 2280, -1964, 3105, 3719, 4101, -1152, -7290, -1921, 1951, 7260, 1296, 3511, 5499, -49, -2958, 2928, 5659, 1403, 2049, 993, 1166, 5757, 4742, -1193, 5497, -5339, -8720, -2152, -3902, 183, 6845, -9059, 1409, 7587, 3810, -2596, 1360, -1918, 7799, -5125, 429, 5550, 5091, -8143, 1419, 3048, -4941, -6008, -2448, 5017, 1069, 2448, 3443, 404, 7949, -3744, 5598, 5655, 3198, -2563, 5592, -2653, -4765, -1935, 7146, -1535, -49, -262, -6012, 4800, 4626, 628, -5755, 470, 499, 2425, -1535, 2702, -1041, 3270, -1811, 6037, -2305, 3472, 3291, 4387, -313, 6995, 5729, -743, 4102, 1461, -2920, -5815, 1551, -3797, -1082, -2530, 7733, 3319, -67, 2196, 7424, 3116, -3471, 2975, -1632, 5388, 3773, -3320, -37, -483, 5211, -136, 5712, 11332, -3752, -3958, -4726, -6626, 411, 22, 1917, 4206, 2640, -2532, 2524, -1652, -4682, 4751, 7825, -1853, 1421, 1402, 2817, 4646, -3264, 5410, -1905, -3617, -2971, -2502, 1978, 3502, -5689, -753, 2165, -5064, -7578, -1551, -280, 1855, -2123, -3593, 1435, -2078, -385, 2804, -1595, 1013, -147, 5873, 5694, 303, -3746, -4321, 4052, -3194, 1056, 3148, -655, -1229, 8495, -8328, 8900, 9309, 6280, 2226, 838, 3768, 4119, 6059, 4892, 9726, -1647, 659, 4128, 1078, 3653, 468, -261, 1370, -2839, 4303, -8303, -4536, 6451, 6034, -4243, 4219, -1559, 193, -4347, 518, -3855, -3755, 4493, -4633, 2031, -6092, 4595, -3069, -10640, 1493, 1949, -209, -7885, 6799, 9970, 160, 2790, 282, -590, 17257, -757, -6397, 1566, -1174, 1610, -2, 2643, 4992, -2801, -1985, 1358, 1735, 3483, -4071, -3181, -1342, 312, 3830, 6116, 7827, 3891, 1430, -4636, 2455, 28, 8068, -4011, -1237, -1777, -4532, -1267, 151, -1050, 8855, 1325, -1695, 2617, -458, -6577, -4523, -9275, 263, 1413, 7535, -1868, -1663, -204, -4910, -1050, -2096, 2122, -2141, -600, -5067, -3606, -394, 1393, -2612, -4967, 609, -6139, -5352, -3990, -1233, -708, -2753, -1450, -2445, 4037, -910, -1276, -1606, -1231, -8305, 1563, 1386, -2235, -3365, -3741, 1939, 4929, 3339, -754, -1406, -2826, 8848, 3075, -8054, 2436, 6944, 2905, 8543, 6641, -2910, 4073, 1271, 4461, -7076, -121, 710, -7418, 324, -3475, -3382, -1179, -5693, -4690, -14285, -2962, -6347, -3945, -6668, 1343, 4492} +#define FC28_W_Z (169) +#define FC28_IN_Z (0) + + +#endif /*__192_0_5_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/192_0_75_parameters.h b/Inc/intq-mobilenet-v1-models-pc/192_0_75_parameters.h new file mode 100644 index 0000000..c25fc35 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/192_0_75_parameters.h @@ -0,0 +1,361 @@ +#ifndef __192_0_75_PARAMETERS_H__ +#define __192_0_75_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (192) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (24) +#define CONV1_OUT_DIM (96) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (96) +#define CONV2_IM_CH (24) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (24) +#define CONV2_OUT_DIM (96) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (96) +#define CONV3_IM_CH (24) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (48) +#define CONV3_OUT_DIM (96) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (96) +#define CONV4_IM_CH (48) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (48) +#define CONV4_OUT_DIM (48) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (48) +#define CONV5_IM_CH (48) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (96) +#define CONV5_OUT_DIM (48) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (48) +#define CONV6_IM_CH (96) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (96) +#define CONV6_OUT_DIM (48) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (48) +#define CONV7_IM_CH (96) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (96) +#define CONV7_OUT_DIM (48) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (48) +#define CONV8_IM_CH (96) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (96) +#define CONV8_OUT_DIM (24) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (24) +#define CONV9_IM_CH (96) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (192) +#define CONV9_OUT_DIM (24) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (24) +#define CONV10_IM_CH (192) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (192) +#define CONV10_OUT_DIM (24) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (24) +#define CONV11_IM_CH (192) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (192) +#define CONV11_OUT_DIM (24) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (24) +#define CONV12_IM_CH (192) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (192) +#define CONV12_OUT_DIM (12) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (12) +#define CONV13_IM_CH (192) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (384) +#define CONV13_OUT_DIM (12) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (12) +#define CONV14_IM_CH (384) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (384) +#define CONV14_OUT_DIM (12) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (12) +#define CONV15_IM_CH (384) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (384) +#define CONV15_OUT_DIM (12) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (12) +#define CONV16_IM_CH (384) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (384) +#define CONV16_OUT_DIM (12) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (12) +#define CONV17_IM_CH (384) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (384) +#define CONV17_OUT_DIM (12) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (12) +#define CONV18_IM_CH (384) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (384) +#define CONV18_OUT_DIM (12) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (12) +#define CONV19_IM_CH (384) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (384) +#define CONV19_OUT_DIM (12) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (12) +#define CONV20_IM_CH (384) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (384) +#define CONV20_OUT_DIM (12) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (12) +#define CONV21_IM_CH (384) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (384) +#define CONV21_OUT_DIM (12) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (12) +#define CONV22_IM_CH (384) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (384) +#define CONV22_OUT_DIM (12) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (12) +#define CONV23_IM_CH (384) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (384) +#define CONV23_OUT_DIM (12) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (12) +#define CONV24_IM_CH (384) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (384) +#define CONV24_OUT_DIM (6) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (6) +#define CONV25_IM_CH (384) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (768) +#define CONV25_OUT_DIM (6) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (6) +#define CONV26_IM_CH (768) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (768) +#define CONV26_OUT_DIM (6) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (6) +#define CONV27_IM_CH (768) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (768) +#define CONV27_OUT_DIM (6) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (768) +#define FC28_OUT_CH (1000) + + +#endif /*__192_0_75_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/192_0_75_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/192_0_75_weights_bias.h new file mode 100644 index 0000000..97b1b23 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/192_0_75_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __192_0_75_WEIGHTS_BIAS_H__ +#define __192_0_75_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {-335523520, 30417, 45952, 68765, 159931, 43443, -7861114, 148631, -37926252, -96628880, 53933, 180013, -11520771, -59739, 28040, -618648, -44833600, 110760, 4061598, -77262168, 38574, -11774, 112203, 681} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-21, -159, -186, -149, 177, -182, -105, -200, -16, -288, -149, -216, -188, -172, -148, -221, -60, -201, -217, -73, -93, -88, -158, -163}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1594918912, 1198116096, 1484272384, 1336737920, 1396861312, 1532980608, 1719224832, 1617727488, 1529355264, 1288162304, 1118242560, 1771764096, 1685734656, 1904784384, 1170171136, 1365013504, 1390487808, 1207988480, 1960097024, 1905110400, 1627963264, 2111782656, 1299932928, 1474838912}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {-725, 40556, 3480, -4527, -4871, 5255, -514, 2071, -494, 1264, 3003, 18281, -384, 20118, 5145, -1516, 1678, 34516, -6993, 375, 3152, 69109, 11983, -1216} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {139, -185, -84, -66, -217, -113, 283, -118, 19, -128, -89, -113, 98, -202, -119, 165, -238, -188, -49, -319, -132, -189, -187, -101}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1950321280, 2112691072, 1342353152, 2016091520, 1875749504, 1891442432, 1979478528, 2001586432, 1820457600, 2088088064, 1561059200, 1383976960, 1174585088, 2049226368, 1637031040, 2091450752, 1455207936, 1982555264, 1526337280, 1775484544, 1868784640, 1643015168, 1986947584, 1195698560}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {64804, 29941, 39060, 40007, -14412, 18534, 41659, 66814, 15980, 9597, -9263559, 19228, 46621, 22333, 94145, 108514, 61936, -11802903, 43123, 9610, 78202, 47826, 106809, 78265, 42430, -12369, 29595, 66911, -12194, 18275, 16657, 32296, 17258, 20576, 33722, 85041, 3227, 43754, 25622, 80419, 56315, -253709, 39534, 37211, 91233, 45925, 63286, 41740} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-169, -127, -138, -153, -109, -101, -155, -212, -172, -145, -114, -153, -173, -81, -237, -226, -219, -123, -166, -121, -212, -205, -239, -205, -179, -97, -98, -163, -110, -133, -108, -155, -176, -128, -158, -244, -115, -185, -126, -211, -145, -115, -146, -165, -215, -172, -230, -170}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {2098144256, 1860741760, 1860965120, 1801474048, 1802747136, 1169471104, 1222416896, 1752126336, 1314541952, 1289571456, 1517158784, 1294586624, 1721120384, 2116385152, 1409017472, 1095601152, 2121595776, 1088220544, 1258923264, 1765756160, 1720837888, 1330168576, 1450616704, 1766182528, 1188871680, 1730191488, 1344141440, 2092267264, 1095864704, 1728040192, 1498490752, 1226924416, 1226683264, 1593861248, 1900455040, 1160557568, 1663699456, 1867503616, 1892786304, 1236885504, 1273095296, 1351320704, 2075393024, 1106630784, 1977965056, 1626232192, 1857621248, 1487123584}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {1626, 420, 16542, 582, 6144, 38, 67, 1221, 39, -153, -24, 435, 491, 20, 3170, 263, 134, -65, 308, 10618, 12315, 10722, -1356, 195, 2593, 1139, 133, 3967, 22545, 409, -8, 1268, 6394, 52, 7572, 190, 697, 8132, 9074, 29, 127, -210, -387, 22, 5722, 159, 5709, 585} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-287, -101, -244, -125, -282, -99, -95, -44, 45, -3, -99, -45, -152, -150, -259, -108, 22, 4, -110, -273, -303, -305, -43, -112, -103, -269, -145, -114, -351, -137, -94, -138, -307, -38, -218, -74, 14, -312, -251, -76, 35, 42, -40, -129, -199, 0, -266, -130}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1315161856, 1194091904, 1515949056, 1651290112, 1403264896, 1219166976, 1735233280, 1322219264, 1759809408, 2102201472, 1585870336, 1438596992, 1965749760, 1972449280, 1646130176, 1324595072, 1482621312, 1929151360, 1960312960, 1526783360, 1423816960, 1544723584, 1753984384, 1148278400, 1761296640, 1643627776, 1332819584, 2022769024, 1098529792, 1308915456, 1974536320, 1841289728, 1101325824, 2023738624, 2092565376, 1970707456, 1347868288, 1204279936, 1340152320, 1253579136, 1931415936, 1372140672, 1734785920, 1990472960, 1892864384, 1200172160, 2038010624, 1663872512}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {-14623, -33544, 4759, 24829, -13814, 44262, 25394, 137383, 3010, 10756, 76119, 7163, 8435, 45518, -10526, 1057, 39709, -9290, -42081, 34730, 58487, 223, 31351, 3776, -5269032, 21863, -35802, -14715, 29433, -34459, 32205, 17261, -32280, -4979, -48581, 12430, 30181, 140300, 56884, 35616, -2876, 31519, 21986, 46705, -5344, -28102, 1072, -1942, -8188, 18002, 96763, 8892, -58674, 29034, 21394, 33854, 24962, 7939, -15430, 26161, 39218, -4290, -22812, 12181, 38039, 31927, 5150, 33493, 3963, 6520, -18872, 67470, -27976, 98907, 2710, 8936, 27376, -46097, 125, -4236, 56647, 16020, 47736, -54961, 107062, 5543, 155261, 10715, 35729, 1024, -42451, -36794, 19856, 59092, 223712, 22377} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-188, -148, -78, -94, -113, -142, -151, -134, -116, -162, -139, -162, -129, -204, -154, -69, -157, -202, -138, -142, -148, -176, -117, -113, -120, -139, -158, -145, -91, -126, -133, -148, -43, -156, -64, -182, -126, -148, -208, -96, -145, -143, -134, -201, -61, -34, -141, -80, -128, -126, -133, -114, -53, -112, -94, -131, -153, -118, -146, -97, -208, -112, -99, -114, -159, -145, -146, -150, -84, -69, -102, -143, -117, -150, -133, -88, -147, -68, -176, -165, -141, -121, -200, -52, -130, -164, -132, -127, -175, -175, -65, -29, -135, -160, -122, -104}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1703417216, 1386103936, 1328981248, 1674204800, 1974840064, 1220414336, 1277400320, 1648587904, 1636363648, 1316928128, 1089475328, 1876248576, 2123876096, 1395446400, 1509547904, 1686169856, 1267691648, 2113597568, 1231388416, 1888245888, 1863275136, 1543484800, 1223927552, 1166303360, 1564651648, 1428985088, 1132973952, 1777379200, 1814747520, 1289497472, 1201020672, 1712186624, 1801933312, 1966993408, 1595371904, 1087319936, 1483058176, 1471108864, 2033799680, 1082320256, 1960669184, 1782348544, 1513433088, 1471594496, 1353835008, 1866593408, 1183467008, 1589146368, 1462017664, 1607009920, 1378096128, 1092420480, 1280724864, 1328743424, 1935701888, 1988403456, 1475950720, 1456297088, 1245565056, 1565638784, 1327051008, 1171858688, 1196961920, 1254692864, 1891421312, 1942705280, 1547446016, 1482336384, 1141948032, 1734963712, 2078992000, 1210048000, 1674018432, 1629426816, 1300496640, 1920233088, 1361075456, 2106178048, 1082818944, 2019363968, 1316606336, 1892971904, 1121356160, 1531479296, 2071726336, 1601103872, 1113723392, 1402392704, 1292757376, 1668262912, 1492903808, 1978908160, 1151901056, 1406767232, 1864329984, 2105610368}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {1833, -2228, 6112, -181, 21579, -2322, -6055, 4384, 11501, 43112, 2662, 50461, -375, -4370, 77047, 1801, 13825, 45, 65618, 4186, 3323, 1642, 3748, 4634, -733, -2813, 45761, -4541, -32857, 25452, 212, -253, 12219, -11768, 5593, 34978, 20174, 10981, 30521, -318, 35022, 30565, -2648, -10920, 605, 26740, 22258, 11253, -2748, 4879, 694, 8227, -285, 11432, 59112, 32759, 12098, 502, -3648, 2308, 23729, 5629, -7270, -14790, -1220, -5, 44011, 51, 52241, 15092, 16066, -1198, 30501, 9256, 36487, 46882, -25358, 42633, 45758, 38972, 1481, -20071, 440, 20734, 5749, 55559, 493, 11686, -129, 16014, -317, 6075, -220, 133, 219721, 15137} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-104, -55, -101, -82, -154, -139, -39, -128, -95, -175, -110, -203, -52, -96, -204, -96, -151, -94, -225, -102, -142, -120, -121, -134, -58, -24, -225, -103, -67, -145, -121, -86, -70, -54, -149, -211, -105, -80, -163, -43, -170, -168, -131, -96, -117, -199, -152, -121, -94, -165, -109, -95, -128, -71, -24, -128, -67, -156, -68, -116, -104, -98, -46, -8, -119, -137, -196, -127, -237, -186, -198, -57, -168, -52, -133, -211, -21, -216, -235, -245, -169, -18, -124, -54, -132, -223, -96, -120, -131, -72, -134, -38, -99, -133, -237, -104}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1730512384, 1804416896, 1705925760, 1421925376, 1547606912, 1194382976, 1187122048, 1907214336, 1873590400, 1283579904, 1281106816, 1885977472, 1720036480, 1418795520, 1445643136, 1973835776, 1500141312, 2108289280, 1107997184, 1474916992, 1632345344, 1085891200, 1868902912, 1487706624, 1297494272, 2087801856, 1545964416, 1106192640, 1821725184, 2135149824, 1759353088, 1638971904, 1472500224, 1303803264, 1411274240, 1189390720, 1895593344, 1668238592, 1657078400, 1670234112, 1266219648, 1131095040, 1950421760, 2145811200, 1200405248, 1760573568, 1367535872, 1335721472, 1173612928, 1320035840, 1891249536, 1095417088, 1751542656, 1362417408, 2115945600, 1180556160, 1131182208, 1548586496, 1857113856, 1727519488, 2105853184, 1942442112, 1361512576, 1672478848, 1266119168, 2140393856, 1180873088, 1266334592, 1316314240, 1300698112, 1271798784, 1302726784, 1702196736, 1780153088, 1306712704, 1248939136, 1711423488, 1497281280, 1642000384, 1120208128, 1884993536, 2048460160, 1559925760, 2019891200, 1702905216, 1981278592, 1293520000, 1984286848, 1676295936, 1109300096, 1125205248, 1903310464, 1990333440, 1372176256, 2070906112, 1287999360}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {28669, -6934, 13856, -5327, 53549, -3765, -5963, 1901, 7765, -13352, -7219, 25353, 756, -6028, 19862, 9399, 21654, -444, 5867, 36175, 17865, -3191, -41006, 9469, -4577, 1928, 118731, -15539, 28525, -4044, -26576, 54534, 109736, 88344, 17261, -13132, -51108, -26090, -54742, -9045, 5147, 6165, -3539, 24462, -527, -3444, 4700, 16601, 8329, 7138, -1815, 2068, 30265, 52988, -24376, -9931, 53350, -104282, -30832, -1494, 53554, 25559, 25578, -21721, -18639, 23243, 5688, 30451, -29859, -30924, 39038, -24197, 17006, 13951, -1327, 12714, 9386, -28236, 53679, -15560, 26693, -9763, 51709, 37971, -4020, -8214, 12977, 7402, 45265, -7995, -16267, 12482, 66156, -22989, -29552, -970} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-108, -104, -97, -80, -149, -168, -86, -93, -112, -110, -162, -181, -174, -153, -172, -107, -140, -110, -169, -128, -110, -142, -135, -95, -124, -101, -137, -67, -136, -84, -98, -114, -156, -120, -142, -117, -121, -81, -126, -133, -166, -125, -130, -187, -104, -71, -167, -74, -152, -170, -143, -178, -154, -135, -106, -73, -131, -105, -120, -64, -118, -172, -48, -87, -90, -143, -127, -118, -78, -134, -182, -118, -66, -71, -105, -182, -89, -145, -137, -98, -139, -108, -130, -129, -143, -111, -150, -48, -130, -137, -136, -122, -135, -115, -103, -138}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {2044924672, 1268898176, 1710709376, 1308628352, 1410160384, 1945764736, 1658911616, 2127767680, 1370744064, 1627279104, 1301719424, 1509204224, 1089679616, 1710686720, 1222177408, 1272645504, 1319749632, 1139192448, 2126721664, 1242134912, 1145549824, 1431003904, 1357711744, 2132198144, 1481586560, 1730589440, 1780680832, 1108363136, 1378022784, 1719874688, 1764224000, 1279753856, 1937814784, 1147848960, 1268089344, 1693690368, 1248087680, 1524978432, 1756523136, 1702395136, 1959454336, 1579690752, 1377367040, 1578702464, 2100842496, 1111667712, 1319606912, 1208010880, 1622435072, 1920061312, 1676696832, 1403000064, 1123136640, 1180328960, 1896186368, 1680242176, 1356847232, 1884139136, 1678866944, 1800619136, 1543709696, 1957880320, 1280609408, 1306827008, 1227632512, 2141121536, 1594433920, 1451756672, 1456520064, 1676226048, 1866724480, 1798577408, 1712599552, 2121441792, 2103341952, 1891452416, 1369470848, 1759164800, 1534333568, 1801324544, 2077112448, 1754921856, 1886391168, 1643279616, 1551636224, 1112558080, 1221606528, 1957087104, 1246321280, 1118806528, 1632174464, 1801408128, 1384034048, 1122583680, 1964174336, 1549884928}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {442, 30674, 9365, 102414, -1106, -8688, -1204, 120224, 29088, 57146, -7, -452, 207977, -1043, 1173, 112278, 530, -51368, 20099, -45689, 100005, 1917, 2888, 134262, 125170, -2054, -84532, 592, -207, -43655, 2510, 3962, 1770, 157398, 87603, 713, 652, 84159, 6657, 33801, 1994, 81400, -841, 81082, -78, -27011, 158392, 170552, 122390, 79399, -1442, 6148, -240, 22436, 8311, 1038, 224534, 2914, 1292, 2300, 157714, 3216, 163655, 3800, 10655, -16692, -4653, 800, 11410, 264869, 42156, 276666, 134250, 2915, 53490, -1955, 145489, 53480, 92633, 132457, 134372, 164154, 105723, 7341, 9891, 103582, 126902, 96411, 19956, 47233, 147323, 176872, -4128, 74291, 69961, 8662} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-101, 68, -127, -286, 52, 122, 89, -325, 52, -228, 81, -126, -317, 75, 74, -331, 84, 107, -54, 37, -349, 68, 41, -298, -336, 88, 71, 22, 75, 63, 64, 80, 83, -285, -375, 87, 52, -399, 63, -331, 41, -342, 84, -303, 141, 61, -363, -322, -339, -169, 57, 91, 66, 53, 65, 38, -320, 90, 78, -127, -301, 70, -294, 25, -264, 57, -137, -128, 20, -316, -314, -324, -341, -168, -339, 48, -387, -341, -369, -324, -345, -329, -333, 3, 66, -375, -357, -314, -104, -362, -371, -313, -163, -351, -315, 120}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1686615552, 1984695040, 1239740800, 1744849920, 1090719232, 1570847360, 1432768256, 1890339456, 1620355456, 1605933824, 1563554816, 1241794944, 1089828480, 1354709632, 1983206272, 1478217216, 1636182144, 1815887744, 1777664384, 1200592640, 1860485760, 1429825664, 1837753472, 1946335744, 1815965568, 1416484480, 1458596736, 2138843648, 1849246080, 1576545280, 1585924608, 1224608384, 1706739712, 1247496832, 2123525632, 1763289216, 1835843712, 1388003712, 1535620352, 1509122944, 1632030848, 1516380160, 1206836224, 1596019840, 1625644288, 1591823104, 1384800640, 1141488384, 1661478656, 1193206400, 1839256960, 1139329408, 1446192768, 1863311616, 1261617408, 1621576832, 1111575936, 1101217536, 1411302784, 1698560128, 1465462912, 1666712576, 1765467520, 1173059200, 1275492608, 1432733568, 1149975680, 1591179520, 1170343040, 1423621888, 1128336512, 1231316480, 1113409664, 1195112320, 2000182016, 1136638848, 1744626432, 2042813312, 1374156928, 1968550784, 1407613056, 1677149696, 1393869952, 1831430912, 1911331712, 1237078784, 2049490048, 1732009344, 1262250496, 1098729344, 1468957568, 2127882624, 1716832768, 1486583808, 1582411392, 1126292864}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {29103, 39592, -7366, 53440, -8566, -59154, 7942, 49831, 9465, 28798, 6688, 23150, 14631, 100779, 73588, -2207, 13730, 16515, 24372, 56895, 16376, -54160, 14270, -6800, 26183, 5849, 42415, -33624, 5237, 26888, -21717, 50526, 34887, 3065, 54328, -18697, -364, -85973, 60666, -82667, 64746, 34420, -22076, 47830, 38981, 30758, 8165, 40052, 41577, 1834, 18487, 38738, 5191, 33267, 232715, -30944, -35268, -2776, 32046, 13032, -35842, -22286, 2275, 19299, 13109, 12155, -12480, 15399, 64404, 3954, 79483, 40389, -21930, -44846, -35262, 43141, 41780, -38143, 8440, 47271, 34371, 33857, 79503, 20204, 96417, 33401, -14570, 63591, -826, 47564, -26849, 53660, 51048, 72806, -17218, 527, -3781, 45303, 98524, -22263, 42492, 26203, 28036, -25932, 9757, 24854, -25109, 29474, 135377, 10560, 62295, 56440, -18788, 14573, 2721, 4975, 10223, 74973, -27839, 25552, 45215, 11435, 51617, 28634, 25568, -5802, -4696, 17469, 69288, 29095, 36948, 103043, 48581, 76599, 59315, 28263, 34009, 69562, 76417, 35526, -8915, 47289, 41274, 5614, 25562, 18238, 30380, -28173, 59853, 82748, -40231, 1023, 37673, 18321, -3316, 53888, 26639, 94804, 55473, 11216, 10158, 85363, 2892, 4943, 25444, 47397, 9234, 14300, -27257, 59561, 23980, 14800, -19572, 44626, 14849, 27655, 15214, 79666, 33696, 77135, -23479, 24675, 29060, 12205, 24766, 59010, -18351, 10329, 37319, 52433, -46179, 17577} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-134, -151, -94, -121, -124, -101, -75, -150, -146, -144, -79, -176, -181, -179, -127, -76, -147, -67, -127, -67, -144, -140, -76, -82, -101, -141, -132, -42, -84, -100, -140, -120, -99, -84, -179, -127, -142, -76, -107, -112, -151, -144, -72, -141, -136, -153, -115, -178, -94, -46, -152, -118, -45, -93, -145, -116, -141, -108, -116, -90, -111, -78, -53, -117, -128, -137, -131, -149, -178, -88, -125, -69, -113, -81, -87, -142, -85, -106, -68, -139, -161, -96, -142, -151, -178, -106, -114, -138, -63, -160, -49, -77, -126, -159, -115, -87, -74, -122, -125, -75, -71, -108, -117, -94, -155, -169, -84, -126, -171, -140, -126, -197, -137, -75, -89, -159, -83, -163, -86, -119, -125, -54, -147, -136, -97, -107, -88, -95, -142, -118, -99, -126, -150, -144, -139, -147, -112, -93, -152, -109, -92, -90, -104, -113, -133, -144, -108, -91, -137, -139, -115, -135, -98, -110, -156, -185, -128, -132, -151, -119, -84, -129, -120, -146, -124, -120, -68, -110, -76, -177, -125, -80, -77, -99, -90, -133, -142, -146, -130, -128, -108, -105, -75, -69, -97, -137, -134, -170, -138, -103, -131, -130}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1388025600, 1849269248, 1114383744, 1594917632, 1614614912, 1376134400, 1215484160, 1077445632, 1755111680, 1789894272, 1195253120, 1978499968, 1592433408, 1354600064, 1765048192, 1450464512, 1681160064, 1630949504, 1584641280, 1773594624, 2027355520, 1696666496, 1471967104, 1426449408, 1202790784, 1274387328, 1993702656, 1153451648, 1195085312, 1502719872, 1331932672, 1275923840, 1275558912, 1334022400, 1170261376, 1348003840, 1161040384, 1597234560, 2065962112, 1866663168, 1810230912, 1680920064, 1799921920, 1647085952, 1798273536, 1232777344, 1222754432, 1555369216, 1647107968, 1819909120, 1638183040, 1185569536, 1775672320, 1607909120, 1106392320, 1181919232, 1073784832, 1235868416, 2144363776, 1590738688, 1473492096, 1286003712, 1154149120, 1371030784, 1439241984, 1757449216, 1597678976, 1352307968, 1099093248, 1515599616, 1279542912, 2017160960, 2009867520, 1842910592, 2130080512, 1163244288, 1332427008, 1139925120, 1333631872, 1716224000, 1203146112, 1721629824, 1765846272, 1275886208, 1179825024, 1868483840, 1756253440, 1670950400, 2082207872, 1406349440, 1335607936, 1396202624, 1598785664, 1372768256, 2032962560, 1704481536, 1263715840, 1183975168, 1343152896, 1546414592, 1709592960, 1134276992, 1868841344, 1234761984, 1116622848, 1281417600, 1209042048, 1457758336, 1767907072, 1141393792, 1152462464, 1421539072, 1383426816, 1906371200, 1943337088, 1415287040, 1807730304, 1423519360, 1829820032, 2020269056, 1124573184, 1603650304, 1558293888, 1211363456, 1328925824, 1084737280, 1413396736, 2083945984, 1420056832, 1881099136, 1599032192, 1544645504, 2068838016, 1172810880, 1220856960, 1360982528, 1936506624, 1874910976, 1098436608, 1674903168, 1932654080, 1218856448, 1094481408, 1174145024, 2081984640, 1435888896, 1164468224, 1074011520, 1433528832, 1715660544, 1479270528, 1477569920, 1602559360, 1434841984, 1222107264, 1779297408, 1186575488, 1280465664, 1471674240, 1254769920, 1733256064, 1992562304, 1222149504, 1787719936, 1263749888, 1877228544, 1615276928, 2015490432, 1823065728, 1959257472, 1652090880, 1693897856, 1743745024, 2038689792, 1221863936, 2075429376, 1742667136, 1576770944, 1699959680, 1158748800, 1940266880, 2076842368, 1949142656, 1673617536, 1440480896, 1209353088, 1217467648, 2028698368, 1277897216, 1872883840, 1318890624, 1765233920}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {-5742, -339, 97899, 70789, -9497, 10727, -1051, -6125, 6399, 649, -8202, -12956, 57341, 92, -3067, 320, 2679, -1297, 45169, 21795, 3605, -305, -1564, 709, -1086, -3216, 63531, 156, 10525, -1123, 4443, -670, 116, 32968, 2301, -15061, -12146, -6182, 31112, -1103, 186, -2374, 337, 12298, -906, 4826, 16153, 20888, 2107, 863, 38318, 25880, -650, 16059, 40419, 1277, -185, 825, -511, 766, -61, 12458, -5759, 63795, -15671, 13375, -2639, 1193, 12751, 294, 11408, 1988, 39915, -890, 275921, -1210, 123, -455, 13620, 2686, -9669, -2512, 7968, 18038, 24947, -47, 24885, 15362, -1770, -4693, -380, 48427, 45239, 9989, 17471, -3, 49411, -9316, 25729, -3093, 983, -134, 795, 95897, 759, 389, -273, -2887, 462, -2953, 10373, 23202, 37084, 2642, -492, -5678, 3183, -652, -16317, -5031, 17837, 208, 129, -5521, 55027, 25255, -334, -192, -163, 24300, 911, 38094, 274, 21340, 18500, 8434, 2731, -1034, 399, 43410, -4025, -838, -1008, 6912, -649, 4664, -202, -3891, 7744, -1190, 35843, 73122, -2963, -1524, -19337, 42184, 8903, -8278, -17680, 24186, 11, 22835, -27212, 5113, 189, -95, 22888, 1042, -3080, -145, -2456, -115, 761, 60975, 58152, 7444, 48374, 15754, -878, 5539, 3239, -7059, 387, -29, 268, -2233, 34398, -14446, 1401, 22667, -3790, 387} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-83, -20, -326, -266, -58, -55, -219, -39, -134, -105, -81, -28, -242, -114, -32, -131, -131, -51, -188, -212, -156, -25, -46, -38, -119, -52, -179, -142, -147, -35, -89, -91, -93, -204, -155, -17, -22, -25, -188, -50, -133, -90, -144, -50, -126, -103, -196, -229, -130, -82, -231, -220, -95, -234, -236, -35, -18, -134, -55, -101, -109, -224, -75, -241, -26, -203, -32, -99, -198, -130, -58, -47, -218, -135, -460, -133, -117, -51, -246, -111, -20, -153, -67, -229, -225, -94, -53, -233, -31, -54, -94, -231, -241, -56, -99, -83, -219, -52, -218, -37, -144, -97, -120, -363, -123, -115, -54, -108, -125, -89, -89, -238, -233, -100, -117, -16, -134, -105, -49, -37, -226, -62, -111, -76, -227, -217, -42, -87, -106, -237, -78, -228, -105, -227, -233, -127, -155, -142, -115, -253, -124, -119, -119, -173, -120, -181, -132, -31, -50, -144, -215, -238, -52, -131, -25, -238, -38, -45, -33, -225, -129, -243, -3, -41, -109, -42, -180, -167, -38, -135, -22, -112, -43, -259, -325, -161, -253, -231, -90, -45, -27, -97, -109, -102, -65, -43, -230, -51, -149, -216, -34, -148}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1278022656, 2059006208, 1833221888, 1554391296, 1575219584, 1951910528, 1746860672, 1243460736, 1421351552, 1392972928, 1692470656, 1487326208, 1349412352, 1397933696, 1346664448, 2105671680, 2041451648, 1452663808, 1114528640, 1842536320, 1200860928, 1105956480, 1098706944, 2011493504, 1456157312, 1595148928, 2101261184, 1506889728, 1776204672, 1595362816, 1435627136, 1203615616, 1176813184, 1982906752, 1422883712, 1287627008, 1945905536, 1661982720, 1623007488, 1538125056, 1507342080, 1744875776, 1196109184, 1719261056, 1176934784, 1215147136, 1498417536, 1173670272, 1155328256, 1225227520, 2099208448, 1207082752, 1255305984, 1939193728, 1282282624, 2090097408, 1886157056, 1889904768, 1424780416, 1396200064, 2006004480, 1403139584, 1882618624, 1132099584, 1833588480, 1322362368, 2101039872, 1409462784, 1309727872, 1395873536, 1436274432, 1663608192, 2059788928, 1184361856, 1428501120, 1627791744, 1166573696, 1537781504, 1379807232, 1445650944, 1844875520, 1143199616, 1270627200, 1340523520, 1283122432, 1364057088, 1417487360, 1654656768, 1660677248, 1586263808, 1245594624, 1397633920, 1448579200, 1440100352, 1105777408, 1812559872, 1325584896, 1297853312, 1139780480, 1286168448, 1914570240, 1245047808, 1117331712, 1456528384, 1424272896, 1998803328, 1165408384, 1953890816, 1170900480, 1345874304, 2036364544, 1440593792, 1227023744, 1280015232, 1229764224, 2146941696, 1354354432, 1105503488, 1343808000, 1152485888, 1236333184, 1701748992, 1197089280, 1624877184, 1280831104, 1548684928, 1528584576, 2118202752, 1761238144, 1379207936, 1943336448, 1586975616, 1214628096, 1457023488, 1334293632, 1718756992, 1161885440, 1718921600, 1900489216, 2136224768, 2106327680, 1121441280, 1413571072, 1538614912, 1360214784, 1276494464, 1488541312, 1110393088, 1880886272, 1706457088, 1887401088, 1143677184, 1793331072, 2135112704, 1755394816, 1114924032, 1177140224, 1171833216, 2107429632, 1378420096, 1315439616, 1194783104, 1175848704, 1765040768, 1247476352, 2083628672, 1199127680, 2050421504, 1196507520, 1941120640, 1472311296, 2117530112, 1450336384, 1760323712, 1124831616, 1365098368, 1124140672, 1590642432, 1686897920, 1564422528, 1661463040, 1098697088, 1227517568, 1102786816, 1864665344, 1906802944, 2045939840, 1215116672, 1810442624, 1421069568, 1559770240, 1900510464}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {-7673, 53082, 1574, -10256, -27418, -1054, -34872, 10008, 14221, -8056, -2083, 23762, 32681, 49710, -33882, 44050, -8815, -25172, 1403, 10030, 42477, 15672, 1498, -38794, 46384, 14250, 35263, -9009, 13172, 41868, -3848, 5629, 4547, -10880, 10753, -10298, 6271, -13581, -5011, -7332, 21485, 3522, 23225, 18049, -11957, 86239, 66469, 10071, 45356, -15640, -12651, -1248, -12055, 59, 21600, 17716, -22568, 2693, -25834, -55092, 38541, 40181, -12284, -3255, 16374, -9013, 32876, 16033, -5148, -10385, 18828, -19479, 19011, 96961, -16387, 59180, 16531, 24918, 53362, 7890, 476, -8493, -8643, -31832, 8574, 5692, 14906, -11017, -20700, 41166, -67757, -50703, 15022, -15800, -44976, -33382, 3474, -19402, -873, -15033, 67890, 3049, -12387, -1549, -16273, 41679, -21303, 6141, 22173, 89743, -11237, 1341, -30347, 12627, -11989, 8247, -18701, 19780, 65837, -52189, 39761, -27112, 18499, 1518, 11409, 17644, -15087, -22163, 6899, 1505, 12302, 15435, -22080, -6976, 39302, 45960, -21903, 2215, 57579, 10160, -1588, 14918, 13657, 4663, -14761, 7001, 14724, -5271, -8162, 2492, 22021, 43344, -5372, -14416, -6138, -19174, 6349, -7379, -4837, 14773, 15763, -17370, 47104, 24740, 14095, 89726, 4003, 36847, 52705, 9942, 1899, 20851, 6251, 87193, 73433, 35923, -27378, -16174, 5330, -18767, 25150, -19049, 7449, 20918, -43422, -5527, 10348, 6600, 14316, -15643, 9689, 64327} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-133, -110, -135, -125, -102, -120, -106, -73, -90, -89, -112, -105, -169, -157, -104, -142, -157, -110, -82, -129, -125, -107, -138, -136, -120, -142, -184, -142, -119, -127, -47, -129, -156, -125, -136, -88, -179, -136, -112, -93, -111, -121, -171, -106, -144, -130, -128, -66, -147, -124, -127, -52, -112, -121, -124, -148, -140, -162, -121, -106, -103, -134, -151, -81, -134, -93, -155, -136, -99, -130, -119, -115, -159, -126, -163, -160, -140, -114, -111, -96, -124, -138, -139, -100, -124, -120, -147, -128, -129, -102, -113, -115, -121, -137, -88, -134, -119, -98, -143, -129, -109, -210, -111, -130, -122, -181, -104, -116, -136, -143, -137, -130, -121, -139, -100, -156, -118, -114, -107, -131, -144, -123, -151, -145, -86, -112, -111, -160, -111, -188, -117, -97, -147, -140, -140, -90, -78, -124, -111, -161, -120, -86, -136, -127, -118, -118, -118, -81, -127, -92, -81, -122, -142, -109, -159, -152, -158, -126, -163, -138, -99, -91, -127, -94, -134, -131, -128, -115, -150, -154, -147, -121, -75, -139, -127, -166, -145, -131, -115, -58, -112, -145, -118, -166, -123, -84, -126, -109, -59, -161, -132, -120}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1493092352, 1097948800, 1830492672, 1663325312, 1738126464, 1230309888, 1201435904, 2054322560, 1505775360, 1514602112, 1572740352, 2098528256, 1695337344, 1098851840, 1426068608, 1311959168, 2033930880, 1211120000, 1116311680, 1236542592, 1329662336, 1099690880, 1429994240, 1678940288, 1114069760, 1866031872, 1931510016, 1860991232, 1119184512, 2064042368, 2021396480, 1553384320, 1721401728, 1935309440, 1597018624, 1227822976, 1854187520, 1208900352, 1664878464, 1699454848, 2062681856, 1088414336, 1203675264, 1745469312, 1516126592, 1579967104, 1327450496, 1629022208, 1727684992, 1118748288, 1828279296, 1312063616, 1580972544, 1713927168, 1672493568, 1384044928, 1671641216, 1460171264, 1557066112, 1583988736, 1702668032, 1585490304, 1486321280, 2004696576, 1861340672, 1095711872, 1438765952, 2031805952, 1828844800, 1384297088, 1555813120, 1093313920, 1104586624, 1258213248, 1352546944, 1997154176, 1398296320, 1563754752, 1857581056, 1202356224, 1238769024, 1781778816, 1193219328, 1790219904, 1165529216, 1383467392, 1821984640, 1680698368, 1493499520, 1353861376, 1709856768, 1272260352, 1375375232, 1569513856, 1505298560, 1786866816, 1094895744, 1184553344, 1324143616, 1345788288, 1133169152, 1245973248, 1157328512, 1521775744, 1581156352, 2058821376, 1446322560, 1093442560, 1695815552, 1077904640, 1399415168, 1296764288, 1742107264, 1504080512, 1977683456, 1571088512, 1483920768, 1280935168, 1955366272, 1530311424, 1118177920, 1359558400, 1167528576, 1288037888, 1587761664, 1177878272, 1886914944, 1862754560, 1247058304, 1772691584, 1385814656, 1171420288, 1684505984, 2097710336, 1495301504, 1341514496, 1664235904, 1153821312, 1427330304, 1132016000, 2103317248, 1595004928, 1872663040, 1703872768, 1231819776, 1420560128, 1959934720, 1720732032, 2123807104, 1451158016, 1531940480, 1817083776, 1439436288, 2033408896, 1281136512, 1926850944, 1825922048, 1281587072, 1795721216, 1806882560, 1668668800, 1096726656, 1249405312, 1185010304, 1671437696, 1286035328, 1446384000, 1478825344, 1709586304, 1719445120, 1788638336, 1516625536, 1777663744, 2001969664, 1716465664, 1594772992, 1798004864, 1900230272, 1290822784, 1562242048, 1107532416, 1284465152, 1997738624, 1983488000, 1385298560, 1121017344, 1808115840, 1640905984, 1290582144, 2069485952, 2104297088, 1532739456}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {4318, 198992, 92, 110853, 124941, 134879, 0, 89021, 285192, 384, 1656, 98275, -956, 147299, 9555, 46705, 2448, -2474, 77565, 64012, 5200, 6096, -2849, 2232, 108604, 47510, 146434, 180, -17682, 27305, 1255, 143004, 89881, -1505, -1507, 77303, 142159, 93838, -527, 141140, 129846, 67858, 183963, 75576, 879, -472, 86694, -12895, 1361, 102726, 90503, 188452, 2518, 4322, 1864, 148884, 8038, 5043, -4151, 7639, 141793, -7023, 3474, 1076, -1558, 3475, -63042, 583, 79415, 104552, -137, 4168, 3556, 3519, 71035, 192804, -8256, 19882, 838, 79622, 15402, 213, 164699, 18475, 4953, 238529, 3071, 330, 2706, 100217, -4983, 315, 94715, 2638, 527, 778, 144139, 93691, -1566, 133763, 16740, -876, 85644, 7566, -2885, 139601, -378, 3384, 18324, -3384, 5248, 1719, 15728, 18943, 155669, 861, -12063, 74582, 184130, -790, 105426, -1158, 24, 76297, 4742, 53777, 18757, 71493, 9856, 50465, 5770, 93364, 96287, -74, 69844, 121495, 1638, 1447, 155269, 37939, 27673, 87583, -628, 16340, -3452, 83025, 72832, 141032, 14023, 106821, 3379, 81523, 2671, 5460, 670, 99860, 114487, -2030, 19294, -90, 1083, 234595, 105513, 710, 527, 151818, 8520, 3748, 210878, 183014, -261, 2604, 83909, 100202, 2071, 155742, 2225, 104349, 90182, 202, 118274, -271, 117977, 9844, 185, -46, 144721, -177, 63853, 115617, 49168, 111011} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {61, -322, 69, -373, -340, -370, -40, -325, -378, 83, 92, -323, 12, -331, 103, -206, 80, 65, -342, -347, -110, 46, 99, 94, -316, -375, -318, 111, 92, -176, 77, -353, -318, 96, 50, -381, -367, -331, 99, -329, -338, -346, -332, -317, 76, -171, -313, 70, 91, -365, -317, -377, 74, 63, 110, -325, 57, 106, 108, 75, -419, -130, 44, 111, 108, -115, 149, 106, -316, -344, 43, 74, 77, -90, -421, -326, 66, -127, -106, -365, 90, 48, -349, 71, 84, -334, 72, 111, 84, -300, -41, 145, -290, 89, 70, 75, -317, -342, 101, -343, -167, 80, -366, 77, 70, -297, 94, 76, -142, -88, 90, 95, 100, 90, -306, 94, 96, -323, -323, 92, -313, 78, 87, -270, 97, -400, 114, -333, 89, -156, 119, -320, -487, 94, -308, -328, 127, 85, -316, -137, 81, -325, 73, 67, 69, -346, -311, -333, 111, -338, -124, -321, 54, 88, 134, -334, -392, 81, 107, 71, -155, -342, -399, -91, 37, -317, 103, 87, -325, -373, 87, 95, -286, -289, -102, -320, 91, -387, -270, -109, -284, 87, -401, 45, 81, 69, -293, 89, -341, -396, -331, -290}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1634860544, 1387371904, 1285127040, 1626141824, 1156777856, 1842789248, 1338588544, 1301422848, 1591404672, 1640358272, 1544348928, 1292065664, 1231159552, 1075067008, 1080656384, 1510112640, 1383301760, 1450093696, 1420805120, 1785938816, 1092546688, 2050691456, 1195294976, 2093415680, 1271252352, 1722904832, 1316793088, 1545647360, 1700868864, 2028851456, 1404047744, 1147363328, 1971561088, 1947920384, 1485362560, 1672417664, 1126888832, 1317960832, 1809326976, 1263327744, 1336016640, 1302762624, 2135969408, 1270894208, 1394684800, 1856251648, 1952072832, 1624817536, 1702626048, 1480045568, 1421612032, 1607016832, 1587258112, 1206605056, 1420889344, 1268494464, 1727605888, 1138563200, 1617915392, 1391568256, 1588313216, 1546563456, 1728539136, 1948574080, 1326651776, 1116934528, 1568335872, 1162701696, 1507319296, 1293292416, 1299097856, 1960610688, 1094362368, 1887025280, 1192223616, 1793954048, 1359691520, 1712897280, 1529972992, 1838057856, 1224978048, 1631005312, 2001170176, 1447564800, 1138913280, 1959954432, 1944228608, 1305173504, 1385860096, 1954883456, 1557394816, 1313598464, 1252259328, 1674333312, 2037700352, 1666114944, 1257340800, 1801696512, 1324683008, 1488501248, 1489433984, 1202813952, 1190623872, 1352795264, 2028746368, 1538513024, 1252434432, 1427472896, 1730238208, 1902252416, 1103161856, 1918796928, 2100205184, 2000991360, 1266151424, 1363374720, 1202422144, 1141233792, 1764937856, 1587661952, 1803017472, 1126298880, 1152253312, 1532838656, 2009706880, 1600028288, 1210530688, 1595546240, 1838056064, 1314211584, 1727520000, 1135641472, 1767606144, 1883107456, 1638750720, 1694771456, 1932658688, 2106151680, 1795419520, 1652816640, 1909533184, 1861563520, 1484010752, 1836233728, 1281626496, 1292037376, 1148722560, 1130477440, 1591339264, 1810806784, 1146955904, 1134456576, 1313799168, 1681939584, 1262344832, 1092000512, 2043833856, 1257557632, 1680175360, 1345377408, 1361887488, 1800995328, 1814321920, 1081814144, 1570372352, 1764444288, 1603928576, 1683584896, 1534448768, 1699211264, 1642334208, 1676668800, 2072688128, 1463528192, 1538380544, 1452171904, 1775614976, 1786473088, 1927996672, 1655259648, 1548204160, 1434388608, 1882866560, 1534122112, 1103902848, 2096728192, 1293241344, 1557784704, 1859154560, 1857673600, 1094512512, 1773396224}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {23288, 80848, 29787, -12049, 37846, 54716, 17699, 35632, -21652, -14906, 11157, -63486, 33750, 41354, 78937, 60528, 72435, 48181, 38484, 1885, 16507, -4948, 17378, 18416, 29814, 9596, -18273, -10991, 22838, 35137, 67280, -22549, 34771, 55194, -590, 7971, 26532, 17853, 51730, -9005, 15108, -33479, 28727, 34994, 3542, 43070, 15276, 34296, -17256, 7139, 94947, 50052, -32964, -11907, 19389, 62789, 47080, -45884, 41522, 11823, -8290, 37774, 72112, 99625, -22511, 27492, 7390, 68128, 38764, 2935, 41870, -52913, 5158, 29348, 60824, 37835, 38259, 1481, -8140, 24534, 41945, 31895, 56074, 72631, 26354, 15033, -22407, 55874, -54555, 37180, 75735, -5929, 48245, 56364, 34363, 40516, 22804, 31320, 29186, 9975, 44822, -20721, -10019, 31316, 43967, 32758, 5253, 43296, 78811, 72981, 6592, 7078, 4346, 33384, -32529, 9895, -30244, 36627, 52577, 21257, 49247, 71248, -10147, 11023, 106030, 40807, 28254, -48993, 45839, 29444, 95557, 84607, -34462, 47048, 9865, 13419, 95178, 95881, -54498, 19172, 3211, 23687, 66665, -60939, 23892, 45006, 42792, -19473, 30396, -17524, -2000, 2281, 6060, 38876, 21389, 33019, 43628, 116536, 48238, 3508, -6820, 31528, 22276, 72800, 22921, 35773, 67866, 76099, 63817, 16356, 17464, 44936, 31073, 37961, 7359, 1, -27205, 27931, 81301, 1918, 82043, -5823, 33367, 16413, 31818, 4704, 44187, 17158, 40938, 5109, 3225, 41199, 29361, -17552, 32469, 4422, 56066, 13125, 33633, -297, 93209, 56071, 51885, -27681, 67733, 28127, -5027, 9497, 71939, 33524, -33793, 14082, -108, 39253, 39366, 34678, 13988, -33131, 110170, 51083, 42780, 25945, -10337, 33103, 46833, 41498, -18957, -32035, 3830, -66579, 38182, 14463, 25527, -3665, 6985, 3392, -6429, 87103, -12727, 4090, 110914, -7159, -3707, 90468, 48196, 27523, 2482, 13014, 28351, -18608, 14183, 54953, 45785, 569, -8509, 26493, 20538, 29504, 34366, -63368, 40358, 65392, -5171, 63532, 36000, 14643, -45704, 20804, 44005, 29374, 17738, 3459, 19561, 51196, 11603, 99597, 9547, -9233, 10960, -21142, -14168, 32753, -17967, 53633, 8260, -27112, 61013, -35935, -16099, -31790, 95845, 32760, 35039, 45944, 19889, 30607, 9350, -51020, 462, 43900, 42585, -25621, 33939, 25691, 40667, 13743, 9682, 41785, 7084, 3008, 28529, -5651, -15842, 14161, 29842, -7196, 41258, 33329, 21107, 39853, 132944, -32814, -28447, 63513, -3673, 2597, 6880, 124207, 27864, 39363, 72061, -2407, 31325, 39676, 19782, 35667, 57435, 32244, 74174, 38236, -31266, 46464, 15300, 50532, 20317, 35941, 41928, 63982, -24674, -4895, 26324, 46687, 21045, -53557, 51913, 8328, 40743, 12370, 16252, 10960, 19578, 40222, -17449, 15609, -18715, 57381, -17135, 9847, 795, 16353, -28122, -6284, 11671, -15235, 51225, 49784, 535, 48049, 21804, 12367, 64798, -2212, 9277, 13380} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-99, -169, -103, -69, -152, -160, -89, -95, -109, -100, -69, -92, -113, -128, -117, -174, -100, -92, -137, -54, -124, -76, -105, -120, -174, -94, -91, -122, -113, -143, -128, -123, -133, -101, -52, -95, -120, -151, -128, -115, -112, -103, -144, -154, -146, -131, -105, -93, -100, -75, -134, -111, -148, -96, -151, -149, -132, -129, -135, -135, -123, -109, -142, -129, -106, -123, -116, -112, -112, -105, -166, -113, -99, -153, -144, -144, -146, -112, -82, -97, -121, -131, -112, -132, -116, -155, -111, -119, -90, -89, -110, -126, -148, -148, -106, -125, -139, -122, -116, -132, -113, -119, -94, -109, -114, -127, -127, -130, -155, -170, -78, -100, -127, -101, -97, -147, -116, -131, -155, -148, -112, -132, -122, -77, -132, -167, -103, -100, -111, -157, -132, -118, -105, -159, -92, -141, -138, -123, -88, -106, -128, -147, -97, -117, -113, -142, -121, -96, -147, -131, -62, -138, -93, -118, -79, -125, -88, -177, -105, -149, -133, -83, -119, -149, -150, -106, -143, -130, -124, -108, -108, -106, -134, -126, -123, -117, -116, -121, -116, -122, -124, -93, -123, -122, -85, -125, -124, -132, -92, -125, -108, -133, -100, -115, -114, -93, -115, -80, -129, -110, -155, -128, -111, -105, -147, -140, -76, -90, -143, -138, -118, -104, -74, -147, -91, -124, -123, -142, -127, -127, -85, -81, -108, -157, -137, -133, -122, -127, -139, -93, -93, -119, -98, -97, -86, -74, -95, -160, -157, -138, -123, -57, -119, -113, -124, -79, -87, -124, -127, -61, -142, -164, -139, -88, -158, -95, -91, -102, -118, -104, -95, -127, -90, -121, -160, -135, -104, -130, -142, -78, -137, -108, -106, -123, -115, -150, -124, -131, -182, -119, -64, -135, -131, -106, -148, -86, -135, -112, -143, -101, -135, -159, -155, -133, -133, -128, -90, -100, -72, -138, -146, -111, -93, -100, -149, -115, -156, -84, -158, -93, -107, -168, -114, -113, -100, -127, -134, -110, -80, -83, -139, -123, -95, -120, -96, -132, -103, -147, -143, -152, -135, -139, -130, -131, -128, -117, -114, -118, -149, -104, -148, -140, -99, -117, -122, -118, -123, -123, -122, -84, -103, -138, -144, -102, -144, -112, -106, -122, -95, -170, -97, -151, -120, -111, -129, -137, -122, -124, -115, -91, -128, -66, -97, -93, -114, -138, -130, -135, -86, -120, -142, -115, -95, -125}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1213533568, 1797323648, 1270189056, 1278478336, 1121969792, 2082099584, 1227729664, 1636342528, 1933883520, 1618454528, 1687806976, 1190715264, 1172242816, 1328986112, 1495935488, 1195872768, 1371983488, 1229558656, 1565934848, 1254858112, 1454391680, 1487282432, 1499746688, 1080641792, 2111801216, 1264503040, 1078788608, 1351111296, 1372970880, 1879807616, 1771405824, 1306682240, 2108793984, 1586966656, 1835487360, 1440734080, 2144817536, 1315566720, 1378641792, 1125533440, 1298577536, 1252001792, 1975417344, 1394903424, 1431827712, 1520024192, 1596497152, 1989668224, 1597817088, 1511060480, 1118613632, 1303942656, 1609032320, 1116447232, 1904711808, 1653786752, 2107689344, 1439356672, 1248631680, 1151376256, 1826799744, 1814199296, 1775023104, 1519230848, 2022177792, 1145875072, 1643259008, 1676777856, 1794249472, 2044576768, 1549990528, 1315434112, 1464625408, 1463158144, 1319080576, 1245505280, 2003905024, 1789161728, 1854112000, 1710386816, 1444742528, 1881314304, 1942927104, 1506982016, 1660464640, 1413456000, 1400229120, 1623855488, 1091661056, 1401768576, 1995011456, 1178428544, 1819131520, 1265294976, 1118557568, 1281453696, 1492488320, 2028084992, 1543449088, 1312692608, 1646745216, 1093112064, 1776526848, 1973912064, 1235495936, 1762926720, 1836847360, 2113078144, 1548300672, 1634043136, 1529352960, 2071444352, 1354579200, 1142719104, 1085225856, 1282721152, 1112316544, 2046507136, 1150096896, 1077582208, 1293645568, 1700365184, 1681788288, 2040173952, 1423407488, 1225301760, 1533356672, 1414172544, 1737603712, 1839762048, 1326391936, 1316379136, 1395974272, 1388352640, 1456450816, 1662719104, 1244103040, 1572828032, 1585307776, 2122639360, 1422892032, 1519548288, 1390679808, 1756650240, 1161252864, 1233563648, 1163209856, 1164258560, 1845278464, 1558902912, 1111618816, 1247764352, 1629324672, 1628672640, 1473073280, 1098406656, 1884426752, 1257714816, 1447399168, 1223471360, 1792607104, 1678110976, 1311853312, 1276134912, 1583271552, 1180324608, 1185532416, 1130520960, 1826701952, 1391792512, 1998677888, 1183715072, 1856921600, 1326260480, 1613396992, 1319620096, 1207092096, 1097713152, 1276306432, 1956028288, 1080937600, 1904334464, 1127957760, 1553644928, 2146409728, 1409997824, 1955384704, 1181898112, 1117341696, 1603594496, 2084051584, 1972733440, 1897018624, 1737677696, 1147178752, 1529875200, 1533092480, 1459369216, 1548870912, 1471333760, 2015450368, 1494454400, 1166607488, 1716199168, 2139864960, 1233088896, 1335497600, 1822597632, 1775051392, 1435908608, 1383238400, 1688261888, 1528307456, 1957835648, 1939023360, 1294264576, 1807024256, 1634302976, 2115644544, 1440184448, 1163315328, 1933824384, 1557677312, 1799153280, 1488924160, 2067425920, 1381277312, 2004165120, 2101858560, 1869631744, 1824438656, 1919611008, 1744966784, 1687236608, 1319809664, 1475929088, 2032879104, 1600626944, 1672406016, 2033171328, 1115989888, 1355744128, 1203861376, 1134611584, 1159776512, 1546520960, 1872968960, 1581895552, 1399303936, 2018701696, 1411224320, 1275641856, 1346754560, 1997821568, 1223967616, 1617010688, 1078785024, 1252468992, 2142591744, 2138992640, 1598936448, 1195437440, 1217773824, 1460365568, 1879038208, 1353034496, 2031467008, 1504548352, 1457243776, 1245799936, 1330405888, 1514406912, 1171525376, 2078152448, 1626125824, 1451973504, 2003811072, 1602711552, 1769137152, 1245222912, 1883673472, 1191613440, 1151049216, 1534395008, 1530618112, 1593622144, 1573495424, 1771203968, 1916048128, 1460602752, 1232638720, 1762966528, 1841053824, 1897941248, 1240714240, 1796576384, 1999612928, 1311503616, 1662928384, 1473844224, 1773096704, 1326562432, 2040363136, 1585242496, 1814563072, 2128747008, 1541462656, 1324128640, 1245971328, 1756193792, 2096535808, 1239581312, 1887626112, 1345931008, 1681930240, 1578963584, 1302774528, 1509368192, 1882614912, 1317582592, 1523102464, 1160689152, 1804437120, 1915640832, 1712534144, 2059882880, 2041496832, 1782792448, 1893389568, 2109944832, 1660642176, 1778807040, 1586459648, 1189567104, 1301435264, 1348481664, 1186949632, 2101382656, 1708099968, 1705004544, 1432902400, 1583864576, 1469705344, 1676506112, 1519087232, 2081687808, 1385564672, 1400963840, 2139309440, 1243313024, 1199297024, 2003569664, 1214574208, 1167343104, 2078887680, 1401168000, 1468367360, 1078878720, 1541307264, 1141833344, 1425296128, 1224989056, 1313445888, 1138708864, 1802296448, 1494885888, 1203737472, 1506600064, 1669138816, 1192826752, 1640578688, 1290930048, 1850440320, 1250761600, 2082525568, 1244994688, 1340949376, 1769982592, 1489986304, 1239213824, 1158473728, 1257394048, 1344023168, 1771311488}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {-714, 719, -300, 1037, 1995, -1874, 6512, -7929, 46910, -7, 170, -19615, -2088, 42258, 533, -215, 1259, 2971, -15008, -667, -298, 79, 221, -75, -74, 6000, -9337, 14446, -68, 1074, 855, 44097, 1013, 2506, 27, 46123, 2049, 2120, 1373, -578, -758, -6320, 98, 14983, 160405, 1725, -106, 310, -197, 2073, 13384, 864, 42560, 57176, 55787, -1298, 18545, -6922, -385, 637, -758, 1228, -12797, 1565, 2971, -1829, -2904, -1325, -508, -1410, 193, 4608, 50593, -7969, -7550, 67871, -335, 34006, 105357, -4713, -5730, 160, 2724, 56851, 323, -9863, -7953, -5516, -2290, -4135, 738, -1106, 73, 1273, 16355, 3037, 306, 217, 164, 93790, 982, -5589, -6032, -13928, 20366, -1399, -5225, 595, 21533, 4038, -7531, 19101, -113, 1200, 1136, -15372, 280, -121, -8419, 7186, -22056, -165, -3455, -484, 16234, 25562, 37569, 18028, -770, 1535, -9547, 4783, -3056, -1508, 372, -1044, 5501, 172, -5073, 1915, -13307, -5613, 6000, 691, 624, -165, 5454, -13707, 2656, -78, -75, -611, -409, 505, 1453, 55827, 22179, 405, 166, 33707, 1298, 387, 618, 2019, 3523, -7245, -3140, 2380, 724, -3236, 499, -5665, -2227, 6112, -675, 202, -475, -37, 1050, -7908, -2187, 33042, 40056, 723, 1058, 8722, -1396, 75, -1622, 20152, 156839, -25044, 19931, 1918, 28014, -111, -2383, -76, 38817, 91267, 977, -3050, 18941, 82802, -100, 506, -614, 0, 22328, -13786, -5920, -16, 446, -8192, -243, 33289, 32192, -2179, 1530, 673, 480, -283, -36582, 730, -67, -3026, -4611, 148366, -5990, -1139, 687, -7764, 7819, 28092, 5818, 973, 1234, -902, -325, 1283, -351, 462, -10889, 106, -13856, 1569, -77610, 1076, 8268, 536, -8579, 7612, 24832, 1984, 29470, -163, 45416, 33777, -1694, -1923, 4079, 340, 114225, 198, -383, -7062, -5752, -4533, 221, 222, 439, -95, 612, 9932, -2047, 67, -1062, -13920, 59596, -5679, 56, 906, -2972, 3352, -8804, -227, -7431, -6049, 47480, 60462, -1054, 260, -10690, -5838, 4285, 4949, 2862, 1742, 26502, -5185, 902, -625, 26459, 965, 1092, 3384, -4932, 11094, -53, -2973, 4099, 72744, -8041, 3945, -1183, -913, 24651, 17889, -205, -714, 5037, -4961, 266, 569, -10321, 64705, 727, 39, 29595, -962, -921, -12863, -4488, 2101, 2341, -15298, 939, 157, -355, -3856, -4736, 6731, -12232, 635, -700, 9762, -170, 944, 4563, -124, -7214, 509, -8692, -4574, 51, 30, 283, 11856, 45392, 20879, 1746, 1517, -6713, -1212, 135, 218, 9340, -525, -2787, 5618, -15653, 127147, 315, -6759, -1603, -3825, 30492, -5942, -3112, -114, 19, 164, 41533, 77084} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-113, -107, -16, -118, -181, -94, -26, -15, -143, -35, -131, -28, -85, -292, -90, -99, -42, -29, -37, -88, -99, -109, -90, -74, -85, -49, -20, -191, -179, -82, -106, -242, -94, -90, -116, -239, -110, -157, -111, 2, -8, -8, -84, -199, -748, -69, -93, -123, -83, -91, -221, -128, -184, -263, -378, -96, -209, -16, 0, -88, -146, -100, -50, -35, -29, -149, -50, -124, -132, -159, -154, -32, -295, -48, -17, -394, -90, -241, -420, -10, -24, -146, -39, -198, -96, -38, -4, -29, -15, -83, -102, -92, -108, -89, -236, -94, -125, -110, -72, -420, -96, -12, -15, -45, -244, -91, -133, -108, -247, -57, -12, -119, -52, -114, -100, -23, -106, -113, -24, -55, -12, -107, -49, -132, -224, -251, -345, -67, -45, -58, -35, -113, 3, -38, -108, -121, -43, -110, -20, -115, -97, -14, -138, -9, -111, -116, -26, -52, -107, -16, -145, -37, -127, -128, -124, -314, -214, -131, -107, -355, -34, -89, -43, -91, -35, -17, -106, -109, -99, -36, -117, -40, -70, -84, -87, -92, -159, -103, -93, -63, -74, -253, -283, -95, -109, -46, -149, -91, -114, -227, -613, -34, -135, -79, -233, -121, -20, -117, -279, -443, -110, -63, -251, -401, -145, -153, -116, -130, -247, -58, -25, -107, -95, -40, -144, -277, -192, 133, -87, -69, -102, -126, 5, -89, -117, -58, -22, -341, -20, -24, -93, -25, -47, -223, -35, -102, -125, -41, -12, -116, -100, -105, -15, -101, -9, -107, 55, -89, -220, -18, -54, -194, -252, -90, -175, -80, -220, -247, -48, -27, -32, -149, -480, -47, -136, -39, -13, -114, -91, -107, -90, -23, -109, -60, -61, -95, -108, -38, -323, -84, -144, -113, -35, -103, -4, -129, -13, -29, -244, -269, -144, -127, -40, -45, -128, -131, -129, -19, -153, -53, -70, -27, -257, -85, -83, -136, -24, -44, -153, -71, -57, -623, -90, -55, -79, -119, -212, -251, -149, -152, -25, -8, -92, -98, 4, -286, -79, -74, -233, -60, -93, -41, -70, -119, -139, -30, -133, -82, -1, -9, -31, -140, -60, -120, -104, -51, -8, -96, -131, -37, -7, -103, -77, -43, -210, -140, -109, -30, -275, -212, -88, -94, -19, -157, -76, -116, -40, -30, -102, -139, 22, -366, -109, -14, -15, -83, -154, -9, -39, -65, -94, -128, -257, -476}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1559881216, 1409184896, 1483239040, 1162798336, 1696246656, 1572210304, 1659281920, 1174027008, 2018044288, 1365397760, 1543615104, 1463999616, 1384717312, 1709718784, 1725529728, 1133824640, 1269017216, 1360225920, 1876074880, 1607641216, 1262828416, 1304293376, 1675341952, 2053618048, 1483297536, 1093478272, 1156612608, 1316965248, 1089511168, 1848236288, 1203864960, 1440386304, 1398587520, 1596714112, 1547108992, 1549017216, 1703170176, 1813329408, 1485000960, 1337516032, 1243668096, 1625637760, 1872280832, 1518392832, 1498137088, 1703563008, 1496242176, 1354644096, 2052935168, 2023773312, 1353420288, 1346245632, 1630976768, 1804236032, 2092577536, 1594912128, 1477454976, 1419893376, 1106467712, 1133352192, 1092190464, 1089425536, 1939010688, 1386017280, 1449744384, 1310758912, 1136919296, 1127792128, 1522391808, 1986710912, 1098852736, 1140045312, 1447377152, 1169163776, 1499492352, 1428625024, 1237321472, 1482163840, 1427227520, 1716253824, 1395464448, 1430267648, 1777475328, 1957009792, 1486516480, 1451874688, 2011793280, 1414006656, 1428266112, 1488252288, 1380196608, 1203006336, 1690859136, 1092493312, 1336095104, 1305030272, 1404887936, 1707714688, 2102642560, 1444696192, 1877747200, 2003953664, 1661158400, 2091731456, 1108739200, 1307753216, 1726957952, 1531072640, 2115465984, 1695591168, 1515357056, 1398756224, 1330983808, 1309799808, 1306437376, 1319293312, 1450406144, 1521425536, 2084119552, 1210512256, 1767619200, 1559961344, 1926235264, 1478556928, 2027622016, 1078143744, 1642569472, 1394854016, 1524010368, 1794934656, 1509981824, 1118492672, 1270071680, 1535970176, 1193181952, 1332286464, 1390958208, 1367616896, 1359454592, 2070434816, 1748020480, 1824219264, 1550018688, 1846952320, 2142901760, 1499523584, 1166170624, 2128093056, 1639741184, 2108658688, 1426184960, 1140704128, 1183569152, 1978055168, 1278227328, 1228022400, 1240770432, 1837556480, 1771239040, 1635388928, 1073928576, 1277631360, 2017017728, 1876138752, 1426471168, 1932176512, 1587267584, 1990484096, 1140615808, 1578537600, 1341645056, 1099442688, 1091448832, 2020095232, 1117478528, 1594408320, 1938790912, 1424239488, 1121854976, 1338779392, 1777151232, 1730395520, 1983952896, 1558275456, 1808247168, 2102151424, 1483437056, 1809534976, 2070336512, 1488061056, 1804967936, 1765742336, 1869098496, 1169322624, 1951020672, 1390355840, 2095344896, 1315560704, 1522837120, 1505551744, 1603453184, 1314455040, 1158032512, 1455951616, 1762138880, 1553341440, 1476978816, 1186435072, 1276548992, 1302762496, 1694708864, 1510206848, 1890219904, 1602462848, 1098091648, 1196117376, 1801753856, 1330812160, 1158437760, 1256078080, 1309727360, 1967353088, 1587601792, 1488879744, 1380131968, 1393370752, 1321741184, 1279630720, 1762404992, 1994453248, 1119553280, 1359537536, 1389763840, 1530720896, 1652249728, 1359999744, 1915633536, 1388370048, 2060998016, 1809403392, 2030394496, 1656756608, 1355878272, 1711098368, 1391002112, 1823096960, 1538488064, 2048417152, 1972344576, 2146015744, 1262172928, 1406242304, 1106715904, 1671248384, 1155791744, 1837491840, 1576650880, 1150176896, 2102153344, 1713594240, 1225051776, 1623476608, 2062790144, 1545015552, 1968731904, 1963378304, 1725733760, 1255314944, 1130664192, 1306162176, 1881970304, 1145230080, 1305298816, 1645489408, 1911332992, 1593897344, 1349770368, 1715792640, 1099880192, 1154846208, 1532281728, 1595413376, 1506122496, 1935090944, 1276039808, 1287705856, 1991638784, 1264903040, 1234922112, 1196141440, 1343832576, 1678740480, 1818439680, 1365451776, 1290682624, 1471767552, 1323040384, 1258138624, 1208641536, 1108315392, 1811474688, 1220316928, 1826658688, 1769611008, 1953110912, 1380917888, 1630012544, 1866064768, 1949771520, 2074538752, 1979006976, 1594064768, 1658262400, 1437346816, 2090613632, 1239708672, 1876912640, 1308128512, 2015797888, 1543078528, 1121944960, 1699703424, 1361174528, 1238950016, 1152219264, 1271525120, 2047906560, 1169773056, 1548398848, 1334502528, 1530494848, 1655655808, 2021476480, 1170307456, 1285903232, 1282738304, 1624236032, 1935558912, 1475132544, 1919975808, 1164773120, 2121498880, 1099091968, 1710225920, 1147016704, 1170968192, 1616625536, 1396103040, 1818471680, 1336085504, 1184208256, 1502726528, 1584758912, 1762748416, 1798826880, 1908242816, 1558938496, 1552644608, 1981693440, 1203897472, 1724493184, 1330614784, 1322766080, 1842558336, 1599893248, 1320173568, 2081396480, 1449165440, 1953467904, 1130121728, 1621308544, 1220449024, 1701361664, 1134932224, 1911316480, 1809874048, 1324892288, 1348877696, 1279857408, 1760335104, 1594279168, 1445597312, 1462329984, 1589791104}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {8167, -6173, 36839, 78352, -3401, 4343, 30554, 21491, 16868, 32326, 3082, -24655, 3986, 48341, 12531, 49895, 26890, 44694, -4893, 12316, 32706, 7742, -8832, 8925, -12857, 61268, 9374, 4563, 23770, -2894, 29875, 27729, 23600, 59633, 2404, -28275, 64346, 11495, -22776, 39997, 5546, 13182, -14983, 92370, 60304, 19266, 32000, 43604, -18752, -18222, 34894, 8551, 11977, -4804, 8674, -9052, 36874, 4868, 3025, 32407, 162, 42455, -4125, 63086, -22899, 97798, 29549, 1694, -11826, -3083, 18250, 44574, 13593, 87587, 19047, 1896, -7975, -34436, -403, -11954, -1821, 21308, 17009, -36833, 49287, -29567, 21028, 19019, 6595, 40092, -3084, 18964, 15049, 32860, 33911, -41907, 41307, 12259, 36, 50845, 8256, 18040, 12298, 16787, 24653, 50093, 79604, 16115, -867, 14464, 46139, 31526, 10032, 4078, 34764, 24138, 2339, -3941, 2674, 14715, 6904, -9242, 5694, -18490, -306, -3740, 22841, 20986, 83267, 19582, 18195, 3886, -16662, 70889, 17806, 2087, 85383, 22094, 26332, 14158, -10419, 20853, 6108, 13196, -34032, -1585, -3759, 115455, 21627, 8675, -14750, 42817, -7516, 1370, 17941, -7843, 2454, 14363, 38549, 28229, 8983, 34116, 1050, 9126, -6649, 14181, -19255, 88654, 43386, 54472, 33697, -36603, 24685, 30545, 9965, 60228, -36861, 5610, 3999, 22244, 36681, -11588, 1265, 13678, 5683, 13804, 28066, 14422, 19062, 20139, 2609, 84657, 10350, 18530, 6591, 14202, 16248, -4160, -2353, 16051, 2817, 5349, 84908, 15846, -19098, 67722, 17231, 28148, 41969, 14790, -46867, 11298, 9730, 20556, 32975, -6150, 47773, 32860, -9853, -4889, 9807, 52319, 7923, 63965, 29193, 12514, -6986, -389, 37965, 18415, -4402, -788, -52088, 14401, 3484, 13035, 34610, -15699, 40132, -1016, -2601, 27499, 20384, 16069, -22815, -5709, 51028, 9432, 2911, 12088, 45306, -635, 20902, -15887, -30598, 14420, 38381, -9782, 6657, 12575, -1527, 64198, 67683, 13143, 7296, -9436, 17679, 49800, -13597, 29970, 33459, 34391, 32538, -4384, 18781, 8969, 31867, 26000, 4390, 109787, -21317, 29132, 10792, 1577, 45823, 41924, 33077, 25860, 42869, -5420, -2160, 763, -15981, 12194, 44990, 45267, 27956, -9244, -27736, 7132, 26481, -3828, 92096, 30446, 9830, -746, 4920, -7559, 4120, -12922, 14455, -12443, -25238, -2332, 6692, 3615, 5416, 607, 30494, 72, 9790, 71945, -27024, 15374, 27052, 100080, 68026, 21188, 95552, -1356, 30758, 15451, 36890, 23526, 47014, 86400, -8526, 7625, 49143, 19421, 12781, 4398, 11622, 22123, -13243, 26312, -8016, 102372, 9620, -23583, 30748, -10362, 89016, 20179, 111870, 15471, 7913, -38, -2775, -13216, 23653, 32273, 42053, 40383, 23162, -20708, 12988, -9967, 43049, -9953, 39460, 55958, 44755, 11253, 8186, -2540, 27146, 12328, 18422, 22869, 7548, 3565, 39798, 67316} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-125, -85, -150, -178, -122, -111, -95, -165, -104, -143, -146, -96, -150, -113, -140, -110, -194, -108, -93, -121, -114, -73, -120, -132, -118, -113, -85, -80, -195, -121, -134, -133, -143, -135, -121, -128, -114, -137, -123, -105, -105, -144, -126, -126, -113, -180, -108, -194, -131, -131, -110, -138, -102, -97, -142, -143, -129, -104, -103, -148, -91, -133, -88, -121, -114, -103, -115, -98, -116, -157, -174, -152, -99, -104, -134, -151, -92, -161, -132, -127, -89, -156, -143, -109, -103, -124, -106, -142, -151, -135, -100, -138, -105, -124, -150, -116, -136, -133, -129, -115, -98, -156, -115, -141, -112, -119, -131, -123, -135, -110, -90, -171, -106, -160, -169, -147, -161, -107, -81, -119, -97, -114, -145, -100, -111, -100, -107, -135, -125, -134, -120, -146, -122, -115, -145, -140, -141, -164, -122, -124, -99, -116, -110, -87, -132, -137, -109, -137, -151, -156, -98, -193, -93, -122, -101, -97, -86, -89, -168, -127, -134, -130, -183, -139, -158, -125, -122, -135, -95, -183, -174, -86, -129, -103, -89, -82, -128, -89, -145, -54, -119, -124, -134, -107, -161, -110, -91, -133, -119, -96, -124, -101, -133, -119, -117, -129, -128, -130, -95, -137, -104, -91, -132, -129, -124, -95, -147, -141, -82, -167, -115, -149, -82, -127, -161, -112, -118, -127, -168, -87, -126, -162, -116, -120, -160, -83, -102, -159, -147, -63, -117, -106, -104, -128, -96, -98, -115, -140, -126, -153, -75, -140, -153, -119, -130, -129, -145, -128, -129, -159, -146, -160, -118, -124, -114, -139, -161, -143, -114, -132, -109, -120, -132, -158, -118, -93, -160, -149, -127, -105, -151, -99, -115, -180, -85, -81, -160, -138, -104, -116, -135, -104, -151, -117, -99, -210, -185, -141, -124, -132, -83, -103, -115, -81, -145, -138, -146, -108, -132, -179, -152, -145, -145, -149, -152, -131, -108, -149, -134, -90, -119, -80, -116, -117, -102, -119, -104, -126, -84, -116, -136, -126, -110, -121, -121, -111, -113, -69, -217, -92, -113, -130, -94, -97, -111, -162, -148, -136, -121, -117, -134, -100, -157, -90, -75, -98, -109, -123, -116, -148, -140, -117, -145, -124, -146, -107, -155, -136, -123, -100, -98, -103, -122, -119, -119, -146, -98, -96, -88, -124, -170, -128, -163, -119, -103, -120, -152, -76, -130, -163, -149, -177, -140, -108}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1146537344, 1212605952, 1486295168, 1725716224, 1573898624, 1159530496, 1361343872, 1844179456, 1168735488, 1253006976, 2116200704, 1438266624, 1310203648, 1205285376, 1341640576, 2113495040, 1465820800, 1359334912, 2108679168, 1834099712, 1974103680, 1536956672, 1359864320, 1486111104, 1684639744, 1862513664, 1216840064, 1983580032, 1366047616, 1597808000, 1900035072, 1965194112, 1097655040, 1219250304, 1753537280, 1400441600, 1589611392, 1882563968, 1889304960, 1735637120, 1536328448, 1459871616, 1452652160, 1517810048, 1772663808, 1276392960, 1212768256, 2064359552, 1375161856, 1963078144, 1103511296, 1991810176, 1659548672, 1420796416, 1296069504, 1751654144, 1510172416, 1313730944, 1808331904, 1127640192, 1565444096, 1599053824, 1137048960, 1270921600, 1567138560, 1163291136, 1241317888, 1123617280, 1454328320, 2047412992, 1227046016, 1385544192, 1349044608, 2030116736, 1871088512, 1169179264, 1354312960, 2049962496, 1193601920, 1912183680, 1365491456, 1573466112, 1387610368, 1477104128, 1346236416, 1170266624, 1258116864, 1174748416, 1437308288, 1222520576, 1275788416, 1517151872, 1622245632, 1186170496, 1638473856, 1318130688, 1240376704, 1232224128, 1717761920, 1113224448, 1570526464, 2130822784, 1249336704, 1557699200, 1673215488, 1360747520, 2055570816, 1485559296, 1352274944, 1207581184, 2013335680, 1785146112, 2066816640, 1236493440, 2025909504, 1274474496, 1777762560, 1223080832, 1392787712, 1190131200, 1183786752, 1784583040, 1352518016, 1318440576, 1544135808, 1261408000, 2002969472, 1417515392, 1438562944, 1462264192, 1288269056, 1088524672, 1240992640, 1383135104, 1313935104, 1746034048, 1694538752, 1236011648, 1271195776, 1717781632, 1290502528, 2109283584, 2019168512, 1965531136, 1606523136, 2110201600, 1876525696, 1562536448, 1536030208, 1235863296, 2140288256, 1475131520, 1142325376, 1633169920, 1447911680, 1231487488, 1183174400, 1094106240, 1519736704, 1935551488, 1559155328, 1272921984, 1781531648, 2130806912, 1504273792, 1286486656, 1960235136, 1756088960, 1443874560, 1239635968, 1289221760, 1876146560, 1105305984, 2007680768, 1382135168, 1349510016, 1110560640, 2009803008, 1415145600, 1981930368, 1853662848, 2064343552, 1758768256, 1113212672, 1216156032, 2009999360, 1172766848, 1947856768, 1237674624, 1098771328, 1661360256, 1641634432, 1652523392, 1908581376, 1310925568, 1974398848, 1984991616, 1076161536, 1574272640, 1950986240, 2067513600, 1888483072, 2142072960, 1966185728, 1325655808, 1077889536, 2085428352, 1875937536, 2142426624, 1414430720, 1162479744, 1566850304, 1948720512, 1956341120, 1076158208, 1221331840, 1209540352, 1692991616, 1337228160, 1176390016, 1289363584, 1410780928, 1129547520, 1637605632, 1886297472, 2107528576, 1685791232, 1569917568, 1215186944, 1782356608, 1635971968, 1315303680, 2114992128, 1186851456, 1365035776, 1442498816, 1244720512, 1983080192, 1265635840, 1188640512, 1216086016, 1919639552, 1146553600, 2123956992, 1141995392, 1905674880, 1078027136, 1191004160, 1097644032, 1225996160, 1115714304, 1230506752, 1862115456, 1400845824, 1296753792, 2072879616, 1597486080, 1131657344, 1442055552, 1208981248, 1699193600, 1916584064, 1991463168, 1190540928, 1881031808, 1105034624, 1787899520, 2000710272, 1323638784, 1276558464, 2104495616, 2013112576, 1085553280, 1254277632, 1442626432, 2073956864, 1693047936, 1800861824, 2053111296, 1105088256, 1240748160, 1733723136, 1798623104, 1840998528, 2124032128, 2073045632, 1321441152, 1333773056, 1807742848, 1813324032, 1424425344, 1544752768, 1282486912, 1122910336, 1503096448, 1129396864, 2108939136, 1699683584, 1770606464, 1321247872, 2071908736, 1203524224, 1370455808, 1474264064, 1572501376, 2051651456, 1432360064, 1184498560, 2057571712, 1475246336, 1508104448, 2069821696, 1402634368, 1217829248, 1669772032, 1409392512, 1092463104, 1125597568, 1078283008, 1718831104, 2129967360, 1086200832, 1760955264, 1840405248, 1619496576, 1546582656, 1463536256, 1900888448, 1161858944, 1770308736, 1159559296, 1679427968, 1221581440, 1226838528, 1354547712, 1239827712, 1529742976, 2032429312, 1089003776, 1818643072, 1885179392, 1365137024, 1585207552, 1341395584, 1415693952, 1110709248, 1376921984, 1843021568, 1296931584, 1607252736, 1536305024, 1854861312, 1290510208, 1411522432, 1831334016, 1646769152, 1403830784, 1688506752, 1720942464, 1195607168, 1411569792, 2144425984, 1493730560, 1968041856, 1736016384, 1227127424, 1146085760, 1640527872, 1262385152, 2124985728, 2033486080, 1765441024, 1145826048, 1403848064, 1224789248, 1436268672, 1666691840, 1666235776, 1906455296, 1452386944, 1863056000, 1635820544, 2068233600, 1139401344}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {-15649, -13638, -30558, 7520, -2171, -1722, 3270, -20401, 43735, -14243, -4177, -1355, 12211, 51927, 44872, 24393, 12027, -1175, 256, 40493, -8588, 24073, -1236, 2539, -9414, -70, 3596, 45306, 18927, -7005, 21807, 62708, 17664, -4673, 155689, -13885, 37691, -5179, -5537, 7220, 604, -47, -3353, 13904, 148, -13721, 3725, 3205, 3330, -7891, 6129, -5756, 60341, 63408, 8137, -4814, 4569, 52572, 11737, 38713, -12206, 55383, -4572, 25802, -4590, 7487, 16271, -18510, 13717, -7552, -60944, -26130, -7327, 2577, -55548, 6921, 2989, 8440, -7114, -28121, 49, 46640, -16058, -8639, -11714, -6554, 14249, -6257, -30587, 26608, -1907, -2767, -10268, 8116, -8651, 2765, -12638, -876, 43968, 46703, 37838, 10022, -4144, 45085, 35710, 24023, -5409, -12844, -4332, 8861, 29590, -16551, 53192, -10086, 1808, 12177, 20534, 91592, -43244, 2675, -2510, -6014, -23070, -16512, 24, 13316, 36307, 12488, 18242, 62060, 36140, 1214, -6060, 17799, -2059, -14314, 10248, 4397, 55327, 96866, 45677, 55, -6340, -9153, 191894, -10623, 11196, 464, -5073, -996, -3196, 34496, -8707, 2765, 38597, 694, -27918, 61026, -11314, 48522, -6950, 10386, 41620, -7645, 54538, 11731, 2178, 29063, 17455, 1989, 27857, 43495, -2912, 2201, 52882, -6736, -6580, 40750, -2724, 41144, 27942, -1776, -14965, 9665, 28975, 14918, 65842, 27584, 8448, 69458, -7814, 26736, 102388, 22998, 8626, -11122, -12009, 6857, -6494, -24540, 55734, -14634, 922, -7712, -21809, 919, 15502, 42037, -4372, -7324, -14497, -16467, 51393, -8643, -42859, 3515, 3549, 14391, 2524, 32783, -3919, 12332, -15986, 10616, -32364, 17379, 59434, -14313, -11077, 35796, -2808, -16198, -10132, 70621, 10318, 47001, 52114, -4739, -934, 16344, -9548, 11576, -53241, -4851, -7130, 36, 25100, 77225, -1823, 14770, 57497, -12497, 27723, -2638, -10082, 13235, 90991, 4852, 30359, 6141, -16304, 33425, -5510, -29067, -35130, 49653, -35458, 30135, -10574, 48730, 7711, 24423, 52096, -7858, -38926, 65402, -485, 7155, 18949, 1296, 85532, -11245, 16561, -14603, 30291, 120, 18015, -29934, 10475, -5743, 44685, 80969, -32820, 40017, 10927, 28159, 63014, 14766, -10977, 10073, 14813, 86073, 10745, 10475, -11695, 48796, -6291, 12993, 83365, 3733, 65260, 53676, 22667, -8830, 9477, 68294, 38823, -5480, 22389, -9661, -22423, -6412, 97850, 54901, 38843, -3150, -4188, 52921, -6380, 14453, 35534, 81357, 19798, -9446, 280, 6648, -3636, 9525, -9887, 12182, 29268, -14291, -66107, 24700, -1347, 11307, -1835, -5199, 5192, -5385, 53337, -16012, 19969, -3095, 4762, -30194, -17015, -10066, -120, -10827, 17398, 58006, 12225, 1476, 42, -1597, 35649, 8358, 39464, -7524, -52422, 17636, -13721, -3384, 53431, 47607, -61510, 34035, -6006, 17115, 13091, 3900, -12071, 1342} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-5, 29, 79, -50, -3, -17, -41, 13, -269, 8, 2, -88, -64, -263, -327, -206, -101, -139, -102, -241, -4, -144, -84, -71, 15, -91, -59, -241, -102, -54, -128, -194, -153, -104, -468, -36, -258, -99, 4, -54, -52, -87, -22, -190, -157, -23, -10, -44, -98, -18, -121, -16, -316, -446, -124, -12, -68, -331, -100, -198, 7, -273, -137, -215, -15, -42, -173, -7, -113, -26, 39, -26, -27, -38, 41, -76, -42, -84, -33, -7, -63, -310, -27, 38, -76, 6, -122, 25, 29, -241, -39, -17, -39, -45, 3, -89, -82, -150, -355, -292, -252, -88, -31, -334, -257, -256, -83, 3, -7, -69, -233, -9, -316, 15, -61, -54, -176, -491, -14, -52, -4, -85, 34, -7, -101, -77, -268, -159, -199, -267, -137, -149, -117, -97, -131, 1, -92, -83, -274, -308, -178, -93, -38, -26, -409, 4, -79, -92, -22, -16, -49, -247, 6, 0, -320, -124, 28, -308, -82, -451, 0, -149, -215, 38, -162, -141, -76, -257, -220, -26, -186, -234, -88, -89, -308, -21, -18, -264, -31, -193, -272, -66, -11, -49, -147, -114, -319, -103, -37, -342, 11, -256, -439, -160, -45, -11, -5, -83, 0, 119, -322, 14, -141, 4, 20, -102, -136, -247, -75, -93, 25, -14, -319, 9, -5, -126, -26, -64, -90, -242, -59, -84, 9, -55, 6, -202, -347, -9, 3, -282, -9, -4, 17, -337, -106, -325, -261, -4, -16, -89, 4, -95, 28, -10, 6, -61, -262, -431, -9, -71, -270, -17, -201, -16, -14, -74, -652, -172, -193, -45, 7, -144, 1, 19, 39, -279, 24, -252, 31, -332, -140, -258, -303, -23, -1, -292, -26, -73, -211, -57, -435, -67, -144, -2, -251, -43, -147, -22, -169, -9, -277, -423, 68, -262, -112, -248, -384, -159, 5, -81, -86, -222, -180, -69, -29, -312, -5, -77, -283, -62, -288, -329, -177, -3, -60, -375, -236, -27, -261, -25, -3, -24, -527, -272, -264, -38, -117, -250, -35, -128, -161, -360, -197, -57, -45, -55, -76, -153, -12, -141, -152, 9, 23, -212, -7, -99, -14, -35, -45, 5, -410, -33, -258, -134, -36, 29, 35, 3, -20, 8, -122, -332, -138, -94, -150, -56, -259, -35, -245, -63, -41, -166, -17, -122, -313, -238, 39, -260, 7, -83, -88, -88, 28, -15}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1771462144, 2115155456, 1565992192, 1131111296, 1187127808, 1421842816, 1177992960, 2030536064, 2034240768, 1629379712, 2016290176, 1275452032, 1431559552, 1918479872, 1419996160, 1857869824, 1158571904, 1947651200, 1528979712, 1494062464, 1804403200, 2099971968, 1564971264, 1149873664, 1158801664, 1238855808, 1103229312, 1811462144, 2058378624, 1179984384, 2020758912, 1503491072, 1245449728, 1994188800, 1767068160, 1577883008, 1431055104, 1830604544, 1969089152, 1815923584, 1998874752, 1579237760, 1428647552, 1509105024, 1767620736, 1426086016, 2081269888, 1773106048, 2099620992, 1612648832, 1480247552, 1711816576, 1427278848, 2079458176, 1765172864, 1993723264, 1436414336, 1902654336, 1244931072, 1295898752, 1981700608, 1942024832, 1336218752, 1675703424, 1953555712, 1216088960, 1713150336, 1111960448, 1481786496, 2058825472, 1736911872, 1099071232, 1302390016, 1296859904, 1235817472, 1167463680, 1598142592, 1157119232, 1208478336, 1914599424, 1158934912, 1211909248, 1238588800, 1183849728, 1885718656, 1499377920, 1874242944, 1994215808, 2080844544, 1802491008, 2048870784, 1309584128, 1145907456, 1078807040, 1864502656, 1557866368, 2075499520, 1601625088, 1616215552, 1525931008, 1306907136, 1145056000, 1447940864, 1221725312, 1767289216, 1833940352, 1137139968, 1196527360, 1077122432, 1478419328, 1757793536, 1440489088, 1457348480, 1729036800, 1473688064, 1117705856, 1126520448, 1375551872, 1681456384, 1865942272, 2121699968, 1510883968, 1643175296, 1781717376, 1094310528, 2092990720, 1144745216, 1764688512, 2069030528, 1444891136, 1516054272, 1217027712, 1433200512, 1357717504, 2058775296, 1171301504, 1989733504, 1784350592, 1445194240, 1317648512, 1281519360, 1093664128, 1228936064, 1539910528, 1211138048, 1208906112, 1266601216, 1763392512, 1317737216, 1081442176, 1246439040, 1405755520, 1781709824, 1189763072, 1853029760, 2068174336, 1930923136, 1180725888, 1857143296, 1511294976, 1213280640, 1767206784, 1315541760, 2141807232, 1303919360, 2020579200, 2019745536, 1105954816, 1140224384, 1306954112, 1365015552, 1727808768, 1188577664, 1743047168, 2125685504, 1523849856, 2082482176, 2004440960, 2121693952, 1448869120, 1655935360, 1195696896, 1083667456, 1315859584, 2127598464, 1633985280, 1893944192, 1638503808, 1978976896, 1917099008, 1121692416, 1837747328, 1346467712, 1259696384, 1160368256, 2003070336, 1904489728, 1265817856, 1954894464, 1973835904, 1997388544, 1120369408, 1509338368, 1894357632, 1081105664, 1245626624, 1140643584, 1249836288, 2136475648, 1160464512, 1188500480, 2080999808, 1946717312, 1988832640, 1424728832, 1709277312, 1888910976, 1606754688, 1136092288, 1807954560, 1775867648, 1157370368, 1965261312, 1083718400, 2142215296, 1668155264, 1290852736, 1225360768, 1780899328, 1844772736, 1845335552, 1101602048, 1110656000, 1954973568, 1950724480, 1377993216, 1991915520, 1933757312, 1403272448, 1687783680, 2128357248, 2045418624, 2051712640, 2062070528, 1393671936, 1248702720, 1608292992, 1444219136, 1576439936, 1477003776, 1254371840, 1798402176, 1366721024, 1095503872, 1477879296, 1777338368, 1318126080, 1125992320, 1759157248, 1422595456, 1237566976, 1249891456, 1849199104, 1359304192, 1395053312, 1892431872, 1476103552, 1611993472, 1571847680, 1317442176, 1411752064, 1932380544, 1833741568, 1138342912, 1147667328, 2022973184, 1362209792, 1701991424, 2083500288, 1763500672, 1736890752, 1710110080, 1178636800, 1778244352, 1929099904, 1313992192, 1269695104, 2121057664, 1891994368, 2007551104, 1249244288, 1474529280, 1698911872, 2132199168, 1114640384, 1312429952, 1228134912, 1215433472, 1674214656, 1728411776, 1414574464, 1335396352, 2097338112, 1483246208, 1144962048, 1318920320, 1946972160, 1909296768, 1244309888, 1354235264, 1471852928, 1419394816, 1721787648, 1863275648, 2105695616, 1660244736, 1080003584, 2090567168, 1310744576, 1097796864, 1126086400, 1215595264, 1606809984, 1552369024, 1272124800, 1567941760, 1567660416, 1162025984, 1101337984, 1125035264, 1981055744, 1298727040, 1138217088, 1237975936, 1794275328, 1505598080, 1140503808, 1123749632, 1120971392, 1414309760, 1863839232, 1907489664, 1714140416, 1758862720, 1908461312, 1764408704, 1274969600, 1964948864, 1142082816, 1132979584, 1152977920, 1474781056, 1543180160, 1555116928, 1323871232, 1160965632, 1995377280, 1794212352, 1134487808, 2135182592, 1538326144, 1220341504, 1535915520, 1922086656, 1550580224, 1809678336, 1213338368, 1127897984, 1111813504, 1274137216, 1147661568, 1643866368, 1847365376, 1590354560, 2083052032, 1864652288, 1620050048, 1367367552, 1668646400, 1164651648, 1178435968, 1902732544, 1750998912, 1891372928}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-94990, 2246, 38800, 28414, -8517, -27766, -12191, -26761, 97679, -26696, 5414, -4046, 12028, -53557, 14904, -17412, -5229, 31316, 55858, 27860, 1867, -20819, 95094, 52091, -12841, 5584, 53233, 22642, 16240, 28933, -2052, -31160, 73111, 32268, -22498, 4191, -24027, -15554, -23364, -27314, 7275, -38120, 57721, -52245, -45065, 18702, 1873, 28169, 80767, 62839, -49068, 24746, 43628, 27515, 7940, -1257, -5508, -8243, -29893, -15233, -9565, 24648, -715, 42527, 45591, 42147, 15579, -23168, -12328, 21768, 12881, -23182, 31947, 1494, 1488, -6914, 34031, -26946, -14804, 59, 58481, 13972, 32022, 45860, -8873, -14720, 15147, -13217, 17797, 10861, -31371, 8559, -49134, -25044, -10039, 116807, 65601, 52649, 2081, 5852, 28152, 16710, 18303, -1887, 7826, 18845, 50938, -26723, -40113, 111264, 21089, -1840, 10493, 66206, 12613, -5540, 76485, -18183, -24480, -33312, -23317, 51135, 43163, 23236, 23283, 40025, 10388, -4443, -7629, 28814, -9652, 1217, -15904, 535, 16366, 18632, -17601, -11315, 79980, -17733, -7386, -40621, -32006, 9260, 21156, -29115, -26719, -20908, 16198, 32891, 9387, -12834, 22391, 59580, 38541, -40744, 55786, 4955, 17235, 47968, 72137, 9999, 3680, -476, 93598, -6015, 7523, 39231, 6087, -18006, -7569, -18081, 87935, 19831, -5973, -35691, 2568, 3725, 23645, -6613, -6953, 16704, 25832, 29992, -822, 62277, 13728, 10127, 4433, -15723, 22038, -2136, 1904, -11840, -18288, 8472, -6931, 3037, -12086, -16237, 15633, -592, -3083, -32526, -19061, 11813, 7414, 36284, -5821, 5002, 10041, -20851, 26867, 46922, -7523, -28901, 69501, -44372, 270, -20892, -21797, 45040, -57139, -9648, 6270, -4445, -23056, 8034, 62482, -10276, -1564, 30670, -6137, 2491, -23052, 24052, 22742, -4658, -30317, -6454, 76580, 1038, -45265, -10362, 10134, 30358, -5489, -9829, 1458, -1751, 14973, -11850, 33632, 1982, -4334, 5133, 5021, -16273, 31922, 41086, -9298, 130, 32898, 21377, -24438, -2548, -21213, 7182, 4318, -13206, 22541, 2402, -10025, -26278, -12865, 22459, 23286, -19866, -17956, 26683, -10407, 14699, 9668, -15230, 165, 11020, 2476, -14437, 13462, -12861, 14938, 27405, -19390, -8201, -19791, -25537, -2348, 12376, 2993, -1093, 65213, -4043, 32638, -2931, -18832, -4572, 36054, -13432, 8553, -31745, 34178, 12521, 12156, 58409, -5990, 63011, -27825, 19111, 714, 27279, -25942, -6177, 6648, 50635, 10179, 7876, -13972, -10540, 29063, 23374, -22288, 9957, -30515, 48328, 2753, 12947, -42429, -9777, 5658, 15441, -31151, -48530, 66549, 80806, 3877, 20315, 16108, 4795, 517, 21399, -7544, 30076, 16739, -90406, 52441, -30260, -32055, 88517, 4814, 2296, 75123, 9722, 44243, -15869, -24868, 43369, -28360, -12826, -13971, 62888, 38495, -27227, -10537, 1090, -58516, 35859, 12820, 11008, -3745, -7231, 34048, -10253, 62037, 12304} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-126, -141, -138, -132, -99, -147, -179, -104, -160, -151, -115, -148, -153, -134, -150, -107, -124, -128, -165, -136, -145, -122, -134, -141, -118, -111, -128, -124, -123, -113, -84, -138, -144, -154, -126, -140, -111, -133, -126, -125, -157, -105, -106, -129, -138, -133, -151, -116, -107, -142, -127, -98, -98, -92, -135, -146, -154, -110, -100, -142, -113, -89, -92, -135, -122, -141, -119, -127, -107, -192, -157, -126, -157, -140, -126, -120, -119, -164, -142, -138, -122, -93, -140, -114, -160, -140, -146, -107, -122, -121, -119, -107, -123, -103, -130, -117, -136, -120, -105, -113, -97, -151, -133, -56, -138, -134, -123, -103, -157, -117, -158, -126, -126, -116, -154, -118, -105, -125, -114, -99, -110, -137, -150, -131, -125, -159, -189, -142, -131, -126, -109, -136, -66, -122, -131, -114, -146, -163, -135, -181, -67, -114, -98, -180, -89, -105, -121, -116, -115, -116, -121, -120, -115, -92, -113, -104, -115, -149, -100, -156, -81, -114, -126, -122, -142, -119, -143, -184, -153, -90, -78, -142, -153, -168, -84, -111, -105, -155, -125, -123, -135, -124, -114, -112, -112, -127, -101, -149, -96, -121, -120, -132, -119, -126, -128, -151, -126, -183, -105, -108, -144, -146, -148, -104, -136, -99, -118, -116, -113, -126, -129, -118, -102, -110, -162, -137, -119, -128, -98, -124, -138, -142, -135, -149, -135, -162, -132, -126, -120, -125, -128, -110, -121, -155, -117, -146, -109, -108, -123, -121, -97, -120, -108, -118, -158, -122, -134, -103, -129, -133, -95, -135, -83, -136, -131, -150, -132, -121, -133, -126, -79, -130, -154, -160, -122, -105, -139, -130, -142, -105, -107, -150, -141, -107, -112, -128, -89, -110, -131, -148, -133, -96, -138, -113, -96, -133, -142, -136, -137, -94, -106, -176, -98, -127, -115, -141, -158, -90, -117, -139, -119, -148, -117, -165, -92, -142, -122, -119, -126, -136, -131, -93, -124, -137, -133, -99, -143, -140, -130, -107, -130, -103, -106, -150, -118, -168, -116, -130, -156, -113, -147, -102, -111, -142, -120, -143, -135, -114, -133, -158, -138, -169, -128, -129, -114, -101, -127, -129, -122, -111, -131, -151, -131, -120, -148, -122, -118, -155, -141, -138, -105, -119, -127, -126, -108, -111, -134, -151, -112, -140, -159, -140, -93, -114, -122, -110, -115, -114, -144, -124, -125, -144, -149, -111}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1709521792, 1382389632, 2035379328, 1793106560, 2003622144, 1991030656, 1869644288, 1125199488, 1754770048, 2137291008, 2001151360, 2005958784, 1410146688, 1479357696, 1316391680, 1958882944, 1641017600, 1209434624, 1193081344, 1347743360, 1301211648, 2092764032, 1241027328, 1170945024, 1143097984, 1933081600, 2034556928, 1436766720, 1215993472, 1366242688, 1581562112, 1784019072, 1122534016, 1138326912, 1117722752, 1417400576, 1408093696, 1174436352, 1900239488, 1358990464, 1495026432, 1384773632, 1849432576, 1918754560, 1321062016, 1676308352, 1120027392, 1149224192, 1260003968, 1138577536, 1334121088, 1427860864, 1739538816, 1121555584, 1103364736, 1419973632, 1128418048, 1294995840, 1327096704, 1151687680, 1526103296, 1389581440, 1469486592, 1281110016, 2041808512, 1376194688, 1577753856, 1475903488, 1658580352, 1733820416, 1086192640, 1417000192, 1815146624, 1409778432, 1423933696, 1620994816, 1477250944, 1608300032, 1670530432, 1303981312, 1289164544, 1436634240, 1254277248, 1076984704, 1155997824, 1924208768, 1381130240, 1408070784, 1879456512, 1252848384, 1087756544, 1544257152, 1197712512, 1178786560, 1528947328, 1840319104, 1374558720, 1846209792, 1691183872, 1970184448, 1177959808, 1444174208, 1932281984, 1667848704, 1504594304, 1372780288, 1289396352, 2080684160, 1192498176, 1446168192, 1148728704, 2105949824, 1101754240, 1630034304, 1194386944, 1233281152, 1278381568, 2134117888, 1256846336, 1189997568, 1730944000, 1993553920, 1226234112, 1463681024, 1453975808, 1600584960, 1993453952, 1273342464, 1304296320, 1952354432, 1189728256, 1325499648, 1578683264, 1282062976, 1412384128, 2027007616, 1156948736, 1225916160, 1641184128, 1996450816, 1816442624, 1226004864, 2143837824, 1367589504, 2040073600, 1177188224, 1104865408, 1486572288, 1847109504, 1588990464, 1283179520, 1395516032, 1749083648, 1877736064, 1694931968, 2066510976, 1218453632, 1414208256, 2017346688, 1528188544, 1238509568, 1354959488, 1577941248, 1311376896, 1961154816, 1728639104, 1273467008, 1572835200, 1242291456, 1376784512, 1637690240, 1101684864, 1851171584, 1552786304, 1470940416, 1642596608, 1195799424, 2056071040, 1227624832, 1345925632, 1341797248, 1369701760, 1230839040, 1230625536, 1405280000, 1768380416, 1222593024, 1108938240, 1397095424, 1580257920, 1141750400, 1698284288, 1938923392, 1282446976, 1906093568, 1636831104, 1113293312, 1311477504, 1546126976, 1194666752, 2126570368, 1234233728, 1409356800, 1272965632, 1209057024, 1208693376, 1529816832, 1109160064, 1681187328, 1600816896, 1263995520, 1657830272, 1401393408, 1234091648, 1702274688, 1260552704, 1886763136, 1384184960, 1339483136, 1133551360, 1371526912, 1107252736, 1321462912, 2065232896, 1867327488, 1964167040, 1663257984, 1281532672, 1432290944, 1397601536, 1538132352, 1774229248, 1974299392, 1465051904, 1193436544, 1102413952, 1187805056, 1272180096, 1080666624, 1398107648, 1266772480, 1657675520, 1296643584, 2063967360, 1126489472, 1690501760, 1645754880, 1282969472, 1461005824, 1231497472, 1962166528, 1462232832, 1168555648, 1526453504, 1152283136, 1471998976, 1084935424, 1430720512, 1455311744, 1524230272, 1376359680, 1360123264, 1332479360, 1924525312, 1343269888, 1247128704, 1077683968, 1741917952, 1815307648, 1461848576, 1451078784, 1544237056, 2075884288, 1482025088, 1340413056, 1253237760, 1881577600, 1134228480, 1162438528, 1168489600, 1577945728, 2073776512, 1286040704, 1299979392, 1877519488, 1540508160, 2104966144, 1678901888, 1129835008, 1334430208, 1558393216, 2030579328, 1271136896, 1997081600, 1755498368, 1149286656, 2017301760, 1441358720, 1438035840, 1756008704, 1758540288, 1534912640, 1588710144, 1563392768, 1379869952, 1379107712, 1200488576, 1795297280, 1700415104, 1344272384, 1335549184, 1485102464, 1322070656, 1348499456, 1201127552, 1577851392, 1379763712, 1794715776, 1812588928, 1299884160, 1789178240, 1356276352, 1775969792, 1952022272, 1483793024, 1773445760, 1781019904, 2142697472, 2130597120, 1183394048, 2037864832, 1216355200, 1542109824, 1440153216, 1883921280, 1122653440, 1122789760, 1240322816, 1967201152, 1436554624, 1332836992, 1447239168, 1199354496, 1268225024, 1367224704, 1602671232, 1450093824, 1405808256, 1375173504, 1106873984, 1979925760, 1537686272, 1128482560, 1876837632, 1694080640, 1385740416, 1235322752, 1464372608, 1361582848, 1143120640, 1180880640, 1813795456, 1616305536, 1111058944, 1247447808, 1636580992, 1120231296, 1082120832, 1772039296, 1215530496, 2086484352, 2125064576, 1509617024, 1948113280, 1624275200, 1890472320, 1608158080, 2122207232, 2110117248, 1822163712, 1954990976, 1445747968, 1362117376, 1249497344}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-3587, 45622, -5261, 592, 31634, -355, -290, -9026, 21245, -6881, 66835, 109384, -6908, -7938, -10624, -29738, 38039, -7321, -2815, 2, -15215, -15485, 21296, -6987, 29424, -15240, 43096, 14284, -8013, 25632, 77081, -4309, 57580, -14861, 10543, -15590, -7084, 39194, -301, 11000, 52091, -80, 28343, -3220, -3977, 5153, 26479, 27958, -9917, 11139, 4796, -12448, 18902, 56252, 54295, 56354, 56109, 20898, -3739, 80011, -3407, 25037, 77345, 29220, 84182, 16424, -5726, -3593, -2226, 34204, -7420, -7133, 1907, -3931, -4893, 95740, 27297, -4383, -12110, -8795, 301, -9279, 111084, 911, -17788, -1156, -3246, 75047, -7119, 31563, -10742, 10085, -19515, -8046, 70246, 24144, 46561, -1774, 47657, 69, 84924, -1947, -15060, 82433, 5881, -1098, 1920, -18404, -13135, 22448, 11824, 9762, 1091, -9, -9186, -19190, 12824, 16491, 54176, 45622, 204, 160375, 25627, 5251, -5873, -33933, -152, 21807, -10459, 386, 34790, 146203, -475, -13163, -5831, 16046, 39415, -14478, 22448, -2600, 134752, -4700, 35983, 18341, 107954, 3131, 40149, 23137, -6280, 29433, -11896, 3371, -1431, 15996, -8896, 8839, 4101, -11566, -1919, 16560, 5334, 22674, 4590, -1472, -19666, 16180, 18456, -15871, 74379, -21610, -2500, -2237, -11992, -19021, 81221, -2590, 19796, -4256, -1839, -20498, -11850, -10668, -454, 31643, -35, 77004, -2243, 57620, -1350, -1697, 21522, -10311, 34320, 24758, -1809, 47540, 93649, -23167, 108338, -10655, 68571, -10754, 17652, 43957, -4265, 1157, 12960, 67611, 88151, -940, -6913, -19446, 9890, -1420, -8694, 5444, 15937, -4892, -24057, -4465, 51052, 23727, -19189, -1135, 26535, -8833, -52, 36606, 35817, 44909, -4441, 172258, 7703, 36570, 108789, 56691, -20533, 64673, -1885, -21827, 19264, 36490, 67122, 160607, -1232, 35845, 4488, -14777, 9916, -10426, 68935, -5264, 47393, 20497, -8612, 69910, 20497, -8580, 6798, 6130, 83549, 73017, -2934, 4842, 119429, 32396, 46957, 6659, 5273, 2312, -11325, 10205, -24576, 61584, 82357, 22962, 6297, -15120, 3762, -8786, 86245, 40897, 51240, 85146, 14859, 82199, -8422, -5634, -14869, -12055, 172110, 6640, -12994, -7636, 38602, -8338, 24718, 10714, -3904, 34547, 4522, -4009, 5056, -1394, 89575, -11480, -4989, 25432, -9337, -17271, -47, 53488, -2637, 21231, 49655, 22169, -11939, 15118, 28186, -221, -7062, 15441, -20832, 10648, 16295, 8564, 52700, 13494, -23632, -21068, -14074, -12363, 27300, 3338, 9005, 55192, 14003, -4354, -2688, -13582, -19554, -14172, 4196, 13574, -344, 57656, 12770, -8772, -15269, 54470, 39149, 17581, 45052, -3591, 28339, 5231, -12592, 17778, -4942, -1678, 18046, 7336, -25577, 12719, -1332, 6671, -1135, 43583, 53483, 24197, 5675, -6444, 13352, 42669, -8178, 5120, -4996, 2441, 39631, 6243, 43389, 83771, 9581, 27046} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-69, -220, -78, -20, -143, -103, -8, -33, -230, 9, -308, -476, -18, 45, 14, 12, -175, -42, -9, -131, 16, 45, -95, -66, -213, 6, -312, -131, -6, -99, -595, -5, -293, -55, -80, -47, -1, -163, -53, -124, -244, -52, -264, -50, -79, -54, -176, -220, -18, -67, -28, 9, -214, -334, -320, -283, -416, -167, -36, -340, -47, -254, -407, -201, -298, -127, -163, -5, -10, -151, -26, -22, -44, -130, -15, -351, -243, -140, -7, 0, -22, -1, -297, -18, 9, 19, -90, -428, 8, -185, -43, -162, 2, -23, -195, -194, -296, -51, -210, -110, -433, -92, 7, -408, -74, -16, -50, 41, 12, -233, -77, -99, -69, -119, -13, 50, -206, -102, -351, -347, 47, -548, -119, -58, 13, 18, -8, -175, -4, -90, -279, -548, -27, -94, -125, -146, -169, 6, -252, 9, -608, -5, -200, -162, -455, -136, -233, -101, -8, -147, 12, -122, -153, -239, -42, -102, -56, -119, -27, -161, -34, -195, -25, -111, -77, -162, -115, 9, -404, 76, -9, -26, -91, 19, -322, 5, -161, -85, -148, 13, 6, -77, -3, -179, -116, -415, -19, -178, -99, -113, -154, -15, -236, -255, -141, -231, -413, -10, -325, 3, -199, -2, -108, -347, -32, -129, -101, -414, -594, -48, -21, -30, -47, -101, 3, -72, -151, -2, 28, -6, -389, -209, -14, 154, -225, 9, -120, -241, -197, -326, 29, -691, -66, -300, -476, -312, 24, -417, -57, -44, -252, -327, -354, -1091, -12, -244, -58, -13, -84, -73, -424, -24, -286, -119, -15, -276, -167, -104, -169, -32, -500, -497, -11, -49, -356, -281, -252, -154, -85, -24, 1, -81, -6, -224, -349, -250, -74, -23, -104, -65, -372, -279, -334, -411, -81, -441, -27, 16, -12, 8, -533, -86, 13, -89, -292, -110, -124, -191, -18, -161, -57, 43, -143, -22, -483, 13, -25, -205, -103, 20, -65, -311, -28, -234, -396, -249, -48, -124, -158, -63, 7, -75, 0, -100, -241, -71, -325, -106, -68, 31, -31, -27, -145, -29, -84, -221, -144, -29, -117, -3, 78, -11, -24, -186, -126, -351, -155, -24, -4, -255, -354, -98, -259, -17, -230, -124, 22, -241, -80, -112, -114, -56, -55, -130, 4, -34, -83, -325, -178, -212, -30, -12, -66, -131, -7, -105, -39, -29, -309, -30, -116, -369, -82, -252}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1169157248, 1078190720, 1528274176, 1649091840, 1923951872, 1148522368, 1450929664, 1170831872, 1906020736, 1786770176, 1209391744, 1492452096, 2013938048, 2094885632, 1563387136, 1193514240, 1468202624, 1372487680, 1111087872, 1462074240, 1892517888, 1581686016, 1549619456, 1133808384, 1350868992, 1987176320, 1123281664, 1555467520, 1146723328, 1467161600, 1511446912, 2052648832, 1201419392, 1977969792, 1290056064, 1926633984, 1796343168, 1373376128, 1209885184, 1263400320, 2017954560, 1297130752, 1299000704, 1606907520, 1230682624, 1372278144, 1516742528, 1731984768, 2065469568, 1179943680, 1648667648, 1912514432, 1144099200, 1351344512, 1194670336, 1249185792, 1333079936, 1167007872, 2038552960, 1740059648, 1217297280, 1963258880, 1712629888, 2074299520, 1908697472, 1737792000, 1600535168, 1644777088, 1091707776, 1627563648, 2067755520, 1119167488, 1776645504, 1074779392, 1185187712, 1722856704, 2071565952, 1162073856, 1267870336, 1259885056, 1766527616, 1543206400, 2071198592, 2060623744, 1835814144, 1244956928, 1731644288, 1751379456, 1738980608, 1710100096, 1182337920, 2137809408, 1382241792, 1735855872, 1643759616, 1465603328, 1147225216, 1088563328, 1925595520, 2138117632, 1549634816, 1963733248, 2026652032, 1634906880, 1323986304, 1154430848, 1085604352, 1761160192, 1745699584, 1936420608, 1997228672, 1503824640, 1663309824, 1276787328, 1759305088, 1738875648, 1917689216, 1766569216, 1177871360, 2006988672, 1659936512, 1270513664, 1895150464, 1758654848, 1649107840, 2058829056, 1432645120, 1431735168, 1997205376, 1514644096, 1243829632, 2045132160, 1364014848, 1341050752, 1520727680, 1206811904, 1460150272, 1604808704, 1947236096, 1218064768, 2042197248, 2022653440, 1345551232, 1984033664, 1077076608, 1235889920, 1689185024, 1676500224, 1193794560, 1296575616, 1633183616, 1914140416, 2141680384, 1659356544, 1125704576, 1307622400, 1193088896, 1621458432, 2049750272, 1294417536, 1171661568, 1177771136, 1096601728, 1137526400, 1570719616, 1150848512, 2054735744, 1191550336, 1899268224, 1528751744, 1916626560, 1956709888, 1259402112, 1256403712, 1595600384, 2018208896, 2114853888, 1878618496, 1457334144, 1161208960, 1904296960, 1955428480, 1597544448, 1756805504, 1560298368, 2012443392, 1846436224, 1900870272, 1142824448, 1823179136, 1233027712, 1980705024, 1681034240, 1301210496, 1763300864, 1459036672, 1381554432, 1108737152, 1085409664, 2059790976, 1582741248, 1951385088, 1527889920, 2087069440, 2135260800, 1136197888, 2043712768, 1363567232, 1406986880, 1088991872, 1410240640, 1824996864, 1286519680, 1938484480, 2085353344, 1540209280, 1170732160, 1735892224, 1912856832, 1120810752, 1357468416, 1434056192, 1750174208, 1920003328, 1429777024, 2035823744, 1648980224, 1558465280, 1898251008, 1429066624, 1628237184, 1834303488, 1263525248, 1081732608, 1166910080, 1309736960, 1404117248, 1746706304, 1670509184, 1120148480, 1213209344, 1736734592, 1140568960, 1598107648, 2102702080, 1224270976, 2074768512, 1073993600, 2129888000, 1170634752, 1844333184, 1369151872, 1400241920, 2052898816, 1194295168, 2061561216, 2068107904, 1637813760, 1165063808, 1094459392, 1930948992, 1548794240, 2037282176, 1364524800, 1716004480, 1136358656, 1145757056, 1642533760, 1795615232, 2136496000, 1235362688, 1803551232, 2109018240, 1227981440, 1511587840, 1311399936, 1391724928, 1169486848, 1491201920, 1777070464, 1990629248, 1271197952, 1149738240, 1773169408, 1544080768, 2066431488, 1248152192, 2095217024, 1415933696, 1127926144, 2058157952, 1092872960, 1842441216, 1250618240, 1944291968, 1411868288, 1668582656, 1570769408, 2138322048, 2076112000, 1929665792, 2079413888, 1725208576, 1924279296, 1619944192, 1774183808, 1163311488, 1636227072, 1981674752, 1122794880, 2059152256, 1305747328, 1195611264, 2033656832, 1175653760, 2126422912, 1175488896, 1668899584, 1509045760, 1853550976, 2013462912, 1511281152, 1106870528, 1724488320, 1280215040, 1506871680, 1275955456, 1341321984, 1525303040, 1535010304, 1140516992, 2092673408, 1127449344, 1968701952, 2122116352, 2009326208, 1607633792, 1237736704, 1247915904, 1079629568, 1103497216, 1793738752, 1092210944, 1159236864, 1205979904, 2013945088, 1990845184, 1753104768, 1175492480, 1212158976, 1391037440, 1111866112, 1610301696, 1416985344, 1175267328, 1438557184, 1658170112, 1399950336, 1467141504, 1210436352, 1152673280, 2040338176, 1670486528, 1718145152, 2100538496, 2077381504, 1151111168, 1583725696, 1997750272, 1885976576, 1879487872, 2057991040, 1079984768, 2008752896, 1150053248, 1348725120, 1945789696, 1105606016, 2133858048, 1093001088, 1312861824, 2047221504, 1152470016, 2106228864}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {-20958, -30368, 51477, -1226, 5392, 20698, 14522, 12841, -5719, 9615, -14388, 9488, 77567, 3049, 134664, -29120, -68107, -20160, 34688, -21190, -10608, 41920, 23158, 17262, -10355, 13609, 8917, -24436, -3915, -49662, -35259, -17493, -13917, 2629, -55, -23000, 19394, 18261, 3416, -52442, -18339, 29303, 52318, -32101, -5894, -14266, 12581, -10165, 44078, 4106, -4391, -24799, -8573, 42530, -7926, 41413, -7545, -8146, -1854, 33763, 15417, 39881, 11711, -4237, 25816, -11284, -3383, 27152, 32822, 8525, -20478, 23485, -17391, -3644, -21531, 83868, 17981, 9093, -18228, 846, 3569, -4846, -47509, -2321, 9779, 81652, 14819, -42419, -18498, 50625, -1409, -10650, 17456, 38354, -17815, 1543, 42981, 17634, -12104, 58397, 24583, -17636, -5201, -25476, 7876, -15647, -6103, 10336, -48731, -12303, 3466, 7809, 22720, 12317, 12224, -1190, 93538, -15666, 61882, 11833, -2334, 47080, 36397, -4961, 95669, 94196, -24550, 5604, 39125, 33439, 13349, -36229, -54112, 44791, -26071, -30830, -29815, 19150, -32015, 7535, 32649, -1933, 24117, 3769, -13593, 4588, -43113, 64857, -26002, -40739, 83459, -2274, -18820, -25621, -12209, 24749, 48723, -4009, 18839, -25128, 38024, 17469, -4746, 53812, -7060, -236, 50946, -20448, -27493, -24391, 27427, 84517, -134, -36736, -9079, 12271, -3610, -24231, -13366, 23108, 39462, -13118, 8941, -2513, -26866, 31816, -4988, 1182, 32735, 38118, 14294, 28607, -10446, -18541, 63040, 46080, 17865, -27599, -21899, 27399, -24512, -18287, 29396, -960, 17639, -5802, 14071, 73442, 971, -4034, 1905, -4160, 2900, 20453, -13844, 4375, 17076, -20146, 13435, 1366, 8417, -7175, 43298, -7511, 5211, -400, -33094, 6876, -19606, 10203, -13980, -29098, 9188, -4357, 31379, -6683, -39811, -27207, -8410, 12933, 16297, -24114, -26163, 24214, -1635, 30495, 32480, -3045, -26497, 16805, 14927, 49135, -18424, -10675, -12075, -17553, -40159, 26781, 15372, 1237, -33796, -33092, 78016, 49023, 19557, -29473, 7922, 27163, 575, 30253, -22722, -15, -7883, 6159, 17156, -11794, 15114, 9546, -32943, -7838, 3077, 33801, 11587, -5112, 7020, -21383, 11054, 8839, 37768, -17295, 77254, -23769, 24157, -45378, 64222, 11982, -12036, 24823, 54648, -37723, 6022, 39638, -23932, 11907, 13142, 29441, -2220, 15400, -23012, 72852, 27405, 32865, 37857, 30494, -9161, -20220, 28367, 30195, 15287, 14124, -10687, 4309, -18395, 49730, 32626, -9306, 24493, 43699, -3976, -30664, 703, 15037, 29111, 20749, -17291, -31909, 2667, -18241, 20898, 17728, 39912, -22734, -46500, -7033, -12299, -18254, -35114, 4595, 4125, 5854, 11166, 128827, -25138, -21663, 29305, 86285, 22836, -6219, 11623, -5507, -5035, -19730, -40208, -55745, 6508, -12853, -119, 11289, -9712, -4713, 40289, 18861, 12905, 5720, 43962, -16827, 2846, -19025, -6747, 65105, -34312, -1371, 10334, 4830} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-121, -138, -135, -150, -160, -125, -108, -145, -106, -86, -119, -107, -120, -129, -124, -141, -125, -124, -116, -130, -133, -123, -130, -165, -124, -115, -107, -121, -93, -92, -81, -136, -133, -141, -87, -155, -119, -115, -144, -98, -157, -94, -122, -131, -153, -111, -117, -158, -81, -138, -91, -128, -149, -112, -118, -99, -130, -164, -106, -98, -160, -111, -123, -143, -125, -146, -110, -83, -143, -137, -78, -123, -148, -126, -125, -165, -132, -128, -149, -124, -123, -154, -133, -107, -124, -117, -153, -98, -108, -131, -129, -110, -89, -113, -113, -110, -100, -143, -105, -98, -101, -114, -133, -104, -121, -82, -109, -113, -138, -122, -133, -150, -133, -99, -127, -144, -119, -80, -105, -148, -58, -126, -139, -106, -102, -145, -105, -136, -123, -118, -110, -124, -121, -146, -138, -112, -92, -126, -156, -135, -86, -96, -95, -147, -132, -114, -112, -125, -117, -113, -127, -135, -135, -155, -150, -146, -115, -120, -146, -103, -115, -129, -104, -136, -139, -118, -118, -135, -123, -113, -104, -108, -99, -133, -113, -143, -130, -79, -160, -94, -121, -128, -134, -110, -118, -183, -111, -94, -111, -100, -130, -150, -118, -125, -113, -118, -138, -123, -71, -126, -80, -136, -128, -153, -120, -125, -115, -116, -107, -126, -112, -150, -99, -80, -118, -102, -132, -110, -149, -149, -111, -128, -119, -99, -136, -112, -155, -107, -144, -109, -138, -95, -135, -113, -135, -120, -140, -154, -156, -99, -120, -92, -102, -118, -124, -115, -120, -117, -126, -109, -108, -147, -112, -109, -103, -137, -136, -117, -115, -129, -188, -139, -142, -164, -117, -124, -96, -141, -142, -125, -122, -136, -109, -148, -144, -133, -101, -141, -128, -136, -187, -133, -105, -94, -115, -134, -158, -112, -169, -130, -128, -123, -180, -115, -117, -109, -110, -142, -108, -126, -102, -103, -130, -123, -84, -110, -143, -106, -137, -129, -102, -112, -118, -134, -150, -127, -131, -131, -109, -105, -98, -148, -120, -137, -111, -159, -142, -132, -140, -148, -121, -111, -97, -123, -121, -138, -120, -109, -104, -126, -112, -153, -131, -121, -91, -146, -107, -129, -132, -111, -118, -134, -86, -119, -127, -133, -88, -142, -137, -175, -85, -139, -94, -125, -140, -88, -152, -130, -137, -133, -122, -87, -146, -135, -149, -63, -130, -121, -114, -145, -99, -97, -123, -164}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1364949632, 1239562880, 1332571264, 1358273536, 1908807808, 1289866112, 1684163072, 1998014336, 1616856832, 1930130304, 1821193984, 2029802112, 1843708416, 1334361088, 1188379520, 1491682432, 2020838656, 1175929472, 2138914816, 2114830848, 1112464128, 1614260096, 2047893888, 1168062848, 1974141440, 1252851456, 1393961728, 1704944128, 1708084096, 1446407680, 2116709376, 1288489088, 1306718848, 1233325824, 1787027712, 1657622400, 1171601792, 1898790144, 2040302720, 1624410496, 1225145088, 1813583488, 1894220160, 1353518080, 1393717888, 1321343744, 1190804096, 1227065472, 1091558656, 1273856512, 1134782720, 2105235584, 1997544192, 1363693568, 1163963520, 1299620864, 2119469568, 1232356992, 1575580672, 1707578752, 1182714496, 1420416000, 1989474432, 1872983296, 2064276352, 1098366592, 1865865728, 1686897920, 2071102976, 1314071680, 1652881664, 1719475328, 1686233728, 2050298880, 1278167424, 2122487040, 2069910528, 2056832640, 1273387136, 1977999616, 1377485952, 1702990976, 1127758720, 2010136832, 1128853376, 1473633152, 1709641856, 1464021376, 1216989440, 1458740992, 1565454464, 1386833024, 1654367616, 1648540672, 2100428288, 1914772224, 1393701760, 1942156416, 1422333056, 1442417024, 1958711424, 1240481408, 2113164800, 1223345536, 1322264320, 1267793408, 1492812288, 1900185728, 1193881472, 1096528000, 1676318592, 1606081408, 1309217664, 1168519424, 1512514304, 1106650240, 1125717120, 1972669056, 1852799104, 1395532416, 1732276096, 1253621248, 1384546432, 1352368768, 1267883008, 1892319488, 1403604736, 1185404544, 1869115776, 1224715392, 1435223808, 2066687104, 1315514240, 1687953920, 1417555456, 1248876160, 1842982016, 1239561600, 1246608768, 2028640256, 1144357504, 1143419008, 1925722368, 1197273984, 1799222656, 1714705280, 1648891264, 1688572288, 1117731584, 1154045312, 1627619072, 1228593792, 1310267264, 1148254848, 1907170432, 1179171456, 1808673280, 1841482880, 1102791680, 1719619456, 1237644544, 1416278528, 1389538048, 1182673024, 1306904832, 1074599040, 1715045760, 1194138496, 1595518080, 1364885376, 1253145472, 1604612864, 1282661504, 1145421568, 1872160512, 1584227584, 2070251136, 1764613632, 1079727744, 1188960640, 1871001216, 1448812416, 1997139328, 1378145152, 1292181504, 1753014400, 1925809536, 1337677568, 1369464832, 1132896000, 1528168448, 1079712256, 1162043008, 1244515584, 1915981056, 1809615360, 1200369792, 1232721664, 1386257536, 1969487104, 1648274304, 1117603584, 2079699456, 1179099392, 1287238400, 1811873408, 1341466496, 1202536704, 1234153472, 2031409536, 1210160256, 1116958976, 1235656320, 1209781120, 1203651456, 1384319616, 1093091840, 1457382656, 1266912256, 1368934400, 1167942400, 1455257344, 1590985984, 1305135360, 1286157952, 1175976320, 1076437120, 1128016640, 1555849728, 1448164864, 1454574848, 1524065792, 1867556992, 1349378048, 1795046656, 1592596480, 1136310784, 1458311808, 1333688576, 1214277888, 1096631680, 1787873024, 1234570496, 1355667200, 1691551872, 1488470656, 1194368896, 1550429440, 1429084288, 1134035584, 1120590848, 1174004096, 1440965120, 1259109120, 1423153792, 1324616832, 1127087104, 1307402752, 1327404544, 1189886464, 1613432448, 1218757632, 1091568000, 1110817664, 2007906944, 1078694016, 1406279552, 1572235392, 1815122560, 1106848896, 1178439424, 2100812032, 1202647296, 1906681600, 1503045888, 1301835264, 1453734016, 1145745536, 2140293632, 1946867840, 1395158016, 1408967040, 1627163648, 1419359360, 1783903232, 1649923072, 1323744640, 1439168768, 1403956096, 1729923328, 1728308224, 1155742976, 1728581888, 1104912384, 2097398784, 1300504960, 1262752640, 1568868480, 1979040512, 2078168704, 1076777344, 1450618368, 1503826176, 1304478720, 1161051648, 1804286080, 2106187264, 1203064960, 1874943744, 1339364992, 1111051008, 1544468352, 1661971712, 1323969536, 1556305152, 1180957568, 1514585088, 1186422656, 2130919552, 1813155584, 2045949312, 2098694528, 2028762752, 1305572992, 1440336128, 1337592960, 1139397120, 1670183936, 1284777216, 1398291072, 1086216832, 1806874752, 1155695616, 1174827008, 1430883200, 1276430592, 1938454016, 1267737856, 1384564736, 1967404800, 1095766144, 1358758784, 1633064832, 1735949312, 1187181440, 1885882368, 1111484800, 1314566272, 1246184960, 2012942976, 1298275200, 2112114816, 1452012416, 1482433920, 1554460928, 2000126208, 1662930560, 1978156288, 1419470976, 1690083072, 1492081536, 1200249728, 1228094208, 1811030400, 1377538048, 1491123968, 1108225408, 1193440000, 1466834944, 1965904000, 1497950976, 2147133440, 1952164736, 1873699328, 1936275712, 2096910720, 1142544896, 1171361152, 1271967232, 1849333248, 1189588224, 1772416768, 1232279296, 1601870080}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-11830, -4452, 9901, -13975, 50611, 69369, 27657, 20107, -3738, -7714, 72806, -1995, 20556, -498, 62829, -3806, 587, -3732, -6221, -4423, -16053, 25238, 16705, -18079, 9936, 155329, 349, 16221, 3917, -5911, 53211, -1176, -14420, 27325, 104615, -3657, -5153, -2274, 36094, 120361, -5838, -724, -17754, 15034, -8041, -9432, 30600, -26, 11503, -5046, -35, -6223, 9027, -534, -27, 42454, -4794, 20479, 9859, -4070, 40258, 17429, 79970, 6580, -16127, 49698, 4101, -165, 48379, 14371, -2109, -1076, -12019, -9168, -1641, 61652, 25846, -6927, 350, 43180, -5606, 26672, 10208, 186, 66665, 4579, -1991, -9645, -3014, 12246, 45246, -5887, 6324, -10507, -2993, -3676, -256, -3615, -17323, 21018, 14716, -1436, 62430, -5024, 119990, 50073, 61350, -9394, 74364, -39403, 124988, -4175, 54042, 62521, 94121, 5857, 14396, 15857, 12879, 44769, -27302, 41547, 83039, -7780, 13199, -548, -195, 7451, 6716, 115845, 8020, -1672, -12677, 16147, 14157, 52355, -3705, -6914, -4509, -11407, -11330, 26046, 8433, -9331, -6054, 67764, -2888, 9301, 62343, 4855, 12761, -3560, -8928, 1868, -7897, 4534, 30872, -15085, -3916, 1306, -1954, 22921, -9507, 87985, 2609, -12010, 7466, -23683, -9637, -2687, 19722, 14584, -37, -8150, 10698, 24668, -10808, -12400, -18243, 8132, -1809, 103997, -3832, -23890, -5003, 49303, -6647, 92589, 9346, 22243, 33209, 6449, -3683, -982, 25193, 6625, 76976, 229, 38645, -1218, -1348, -7455, 3344, -773, 14613, 35329, 12702, 12105, 21438, 13422, 7815, 25890, 73833, -3337, 13214, 79781, 72949, -6769, 20151, -2848, 9837, -7386, -25304, 118359, -3207, 76094, -3007, -2134, -5305, -4252, -517, 88257, 374, 62691, 55150, -11376, -2314, -11380, -10175, 74832, -6666, 53637, 122234, 7359, 4791, -1528, -9700, -657, -6414, 29983, 53249, -14952, -15539, -10594, 44902, 89524, 8460, -2597, -4413, 11128, -21037, -5555, 15421, -981, -990, -3916, 107866, 61934, 42848, 8619, 41301, 20976, 8625, 77719, 76440, 13368, -7199, 45679, 24817, -444, -20345, 96753, 39265, 13455, 18830, -14072, 28363, 17183, 32205, -8793, 24428, -4131, 28234, 36420, 7342, -9782, -8203, 27519, 19079, 3335, 69247, 19545, -6153, 2624, -11687, -6020, 50501, 120561, 6316, 52299, 70695, -5729, 43103, 17543, 15269, 11671, 17150, 10704, 88527, 25433, 68453, 23646, 30202, 59018, 4855, 25259, 37486, 10808, 51154, -3678, 10837, 54249, 2242, 113069, 17208, -1652, -3165, 1100, -8930, 4131, -1373, -971, 15874, -4946, 47293, 46724, -2092, -9854, -3139, 52948, 43374, 17473, -6916, -19100, 25446, 10841, 10790, 16904, 39119, 32693, 81974, -3903, -6694, -1022, 5511, -4021, -22444, 18953, -8755, -1965, 23032, 1344, 79508, -8704, -7057, -16599, 185877, 87140, -10927, 5670, 4285, 4759, 82691, 103538} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-9, -17, -66, 30, -306, -248, -221, -142, -133, -7, -341, -105, -177, -15, -386, -4, -63, -8, -89, -32, -19, -162, -172, -54, -96, -429, -113, -202, -68, -101, -268, -39, -13, -126, -461, -194, -51, -75, -190, -421, -18, -104, 26, -141, -134, 46, -255, -123, -145, -125, -106, -25, -111, -38, -114, -212, 8, -164, -67, -46, -272, -100, -463, -97, -56, -290, -103, -91, -294, -74, -28, -65, -52, 9, -100, -246, -193, -18, -129, -321, -40, -112, -175, -43, -425, -28, -51, -18, -200, -190, -283, -46, -21, -20, -56, -5, -26, -39, -26, -193, -51, -46, -338, -28, -605, -243, -241, -10, -280, 2, -511, -8, -334, -385, -623, -56, -50, -156, -186, -261, 0, -243, -428, -1, -244, -116, 11, -23, -80, -511, -54, -10, 37, -209, -110, -315, -24, -1, -22, -38, 4, -206, -61, 1, -96, -295, 17, -79, -283, -78, -140, -28, -59, -84, -74, -123, -211, -44, -23, -51, -26, -109, -14, -353, -49, -3, -37, -88, -32, -186, -213, -249, -118, -53, -104, -121, -13, 19, -79, -158, -58, -369, -32, 5, -23, -155, -53, -349, -214, -155, -178, -41, -86, -14, -206, -145, -242, -7, -363, -10, -6, 2, -168, -26, -126, -210, -36, -166, -171, -158, -159, -94, -340, -18, -116, -307, -432, -7, -142, -80, -69, -41, -63, -369, -100, -491, -114, -123, -109, 4, -14, -412, -3, -479, -329, -5, -2, 7, -40, -304, -27, -325, -575, -36, -78, -36, 3, -56, 16, -174, -334, -23, -76, -6, -248, -316, -120, -74, -14, -170, -56, -51, -88, -93, -152, -62, -479, -405, -273, -78, -274, -108, -26, -353, -261, -67, -2, -273, -229, -58, -31, -349, -376, -131, -103, -53, -276, -73, -171, -45, -214, 53, -226, -262, -101, 10, -5, -196, -246, -79, -319, -155, -8, -38, -2, -53, -284, -559, -91, -318, -398, -71, -262, -201, -100, -137, -192, -105, -325, -157, -318, -125, -185, -325, -171, -101, -231, -102, -352, 41, -111, -230, -32, -406, -216, -142, -21, -100, -133, -40, -137, -84, -92, -13, -397, -290, -20, 13, -129, -352, -288, -159, -12, -67, -165, -60, -202, -161, -424, -172, -326, -57, 2, -19, -130, -14, 13, -125, -30, -78, -220, -29, -359, -21, -51, -13, -737, -296, -5, -32, -15, -31, -436, -436}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1266308992, 1499310208, 1091065344, 1386800384, 1139297408, 1526253184, 1878205184, 2072462336, 2058704512, 1201699584, 1753511168, 1076730880, 1808705664, 2138073728, 1524629376, 1609337856, 2120543104, 2006219264, 2094245888, 1217507200, 1712393216, 1927482368, 1589968256, 1463405568, 1409076864, 1312629376, 1084800512, 1766615168, 1502212352, 1592095488, 1143354496, 1940266496, 1560734848, 2045087360, 2059690496, 1879064192, 1847626368, 1967921152, 1171059072, 1128235648, 1853943424, 1283859968, 1895584128, 1854917248, 1519502336, 1749720448, 1268722944, 1933219712, 1886443648, 1157654656, 1449961728, 1986420480, 1996978048, 1421731584, 1620227584, 1298545024, 1857778816, 1277667584, 1868158592, 1246043008, 1105218304, 1174641792, 1113620480, 1536364672, 2026060928, 1264494208, 1823733504, 1595514368, 1276758912, 1249618560, 1524645760, 1988283648, 1749776000, 1168752256, 2100323712, 1229248000, 2067507840, 1604379392, 1851139968, 1563452288, 1152782336, 1811552256, 1584122496, 1224249216, 1952455424, 2078506880, 1981309952, 1341393024, 1849357824, 1741145088, 1761094400, 1391768704, 1162908416, 1551340544, 1411013888, 1225534848, 1767379584, 1467236096, 1570168192, 2076415744, 1632823040, 1250011264, 1235652992, 1568194304, 1941929472, 1536286848, 1467838720, 1638035072, 1424892928, 1539098752, 1113770240, 2067568000, 1126971264, 1266327168, 1145548800, 1284962944, 1198243584, 1586862592, 1233920896, 1144813568, 2109058560, 1173840000, 1397927552, 2093610368, 1858673280, 1756586624, 1297551104, 1204351744, 1189169408, 1890096512, 1851222400, 2109489664, 1209279360, 2055991168, 1942163968, 1984934784, 1911928576, 1817743232, 1326680192, 1434425344, 2037501312, 1851884416, 1261867904, 1199791744, 1489608064, 1650828928, 2046790272, 2107169280, 2056800384, 1557377280, 1117938944, 1135665792, 1362019968, 1186539264, 1535530880, 1490082560, 1869294592, 1413713536, 1374349696, 1950345088, 1688790272, 2101325056, 1142108544, 1504828288, 1825142400, 1171738880, 1962729344, 1499470080, 1750962432, 1643633024, 1372769408, 1885661952, 1553977216, 1294059904, 1080172928, 1681859712, 2132159360, 1116052608, 1966299392, 1629996544, 1660692608, 1499074176, 1681451392, 1268253184, 1287669248, 1285615360, 1964676096, 1649318912, 1190991744, 1390282496, 1519111680, 1180160768, 1271388928, 1145447168, 1076056448, 1422841600, 1231436032, 1407464064, 1527885696, 1923395840, 2066292352, 1116189312, 1154955136, 1291683840, 1537845504, 2027432960, 1365239552, 1136300800, 1607658112, 1916264576, 1891788672, 1473835520, 1625521152, 1409034624, 1363387648, 2065864192, 1495648512, 2116529280, 1991848064, 1162956288, 1129927936, 1882470016, 1880463744, 1460988928, 1641574016, 1480165376, 1098870784, 1927065728, 1992580864, 1732468480, 1677972352, 1341252608, 1600084096, 1492405504, 1288707584, 2121155840, 1308320256, 2041341312, 1170156032, 1520342400, 1991268736, 1425272320, 1738894080, 1913440512, 1307037056, 1484833152, 2126225024, 1249961216, 2082294784, 1609997312, 2093335040, 1726941952, 1568419840, 2082802176, 1250693376, 1808169344, 1495649024, 2135701376, 1201828352, 1689102208, 1526023168, 1334997376, 1504594560, 2061667456, 1546276224, 1245945856, 2137045504, 1544620928, 1820892544, 1897893120, 1533761408, 1106814976, 1135276672, 1506326016, 1429447168, 1879827200, 1118689920, 1844377984, 1308445440, 1515434752, 1760476288, 1229138560, 1373069952, 2042832640, 1267656576, 1674664832, 1749933824, 2027694336, 1128706560, 1430042496, 1378461184, 1200524800, 1386531584, 1101476864, 1515031040, 1762068480, 1125539840, 1966933760, 1983928960, 1641283456, 1300772608, 1340640384, 1119916544, 1963424000, 1748006144, 1176973568, 1317566720, 1943332096, 1593154944, 1863080192, 1589294720, 1618945280, 1564146560, 1643272192, 1757626368, 1877356416, 1902731776, 1528612992, 1508044416, 1283243776, 1774488704, 1680889728, 1924038912, 1521938944, 1804358016, 1605044864, 1847802368, 2073387904, 1134918784, 1214066816, 1632722560, 1589789056, 1987562624, 1264358784, 1430224896, 1589760512, 1953786496, 1386818176, 1675449856, 2100850304, 1182062464, 1792673280, 1586394368, 2108154368, 1247161472, 1126513792, 1084637696, 1141371264, 1202268800, 1272419584, 1788120832, 1527872768, 2117982336, 1156323456, 1813159296, 1209335296, 1991069440, 1396717056, 1221818368, 1266094080, 1500331136, 1291850752, 1387261184, 2092558080, 1411486720, 1404196992, 1356860928, 1283001088, 1818857984, 1108450304, 1160833536, 1117981056, 1116751360, 2107422848, 1694793600, 1915030784, 1578137600, 1715024000, 1130099072, 1513424512, 2050804352, 1166989184, 1294167040, 1899936128}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {4592, -5876, -28824, -61973, -2209, -11041, 12184, 38616, 593, -12949, 17138, 4980, -3596, 8499, -17489, -23098, 14065, -13955, -16759, -26854, -36978, -8200, -17931, -25330, 10908, 31550, -36086, -37579, -25386, -15675, -37206, 22403, -22279, -3585, -2187, -36506, -13873, 76429, -64432, -53142, -4068, -6097, -8556, -5488, 16559, 29172, -9786, 31955, 23311, -19770, -24970, -32571, 7706, -4028, 29672, 9482, 42939, -24385, -30279, 64350, -16449, -9934, -25626, 5140, -55933, -44951, 22867, 15761, -7748, 7119, -31592, -50028, -6128, 119585, 53498, -22553, -13252, 8379, 10449, -46238, 93281, 10478, 6770, -16855, -32865, -14559, -38823, 2967, -3008, -50534, -49004, 23311, -68934, -37410, -40464, 17991, -10032, -21282, 70344, 5563, -43637, -16802, -63412, -10377, -34298, 33339, -7655, -60882, 10111, -2200, -19919, 14365, -17297, -31320, -8055, -39101, 48816, 45874, -10847, -13474, -34999, 74676, 19112, -13436, 8957, 19323, 773, 62179, -10903, -6501, 22337, 59458, -26297, -18348, 29889, -21235, 14332, 13317, 18168, 1453, 18716, -2208, -34452, 56967, -3378, -24959, -7269, -18779, 6337, -32628, 18282, 26548, -19551, -34978, 1245, -20264, 5554, -7477, 139651, -9482, -25737, -11223, -22360, 34720, -47458, 15547, 38671, 74112, -15942, -16098, -38508, -26275, -28645, -25523, 49451, -39256, -13591, 4722, -19534, 6313, -14987, 40702, 21049, 38758, 38139, -1927, 65333, 28002, 28828, 300, 1049, -42423, -11752, 17254, -13635, -11678, -24785, 30156, 48740, -58664, 70465, -36760, 10044, 5521, 16671, 15062, 72045, 13662, 26545, -40824, 27506, 3810, 23123, -11821, -9668, -4291, -25683, -42928, 43075, -32769, 45269, -27874, 59680, -3510, 7426, -1142, 24451, -41342, -2533, 20995, -22070, -29270, -11181, 29057, -27137, -43817, 50342, 2573, 22762, -14150, -17498, 23288, -18843, 14161, 21623, -3794, -41657, -39341, 4732, 8164, -5159, -3932, 16624, -8599, -36719, 13627, -69271, -12939, 8550, -15305, 27872, -34885, 43760, 16380, -28603, 19889, 12394, -3388, -8559, -28733, 2638, -9462, 12368, 16879, -36256, -70099, -1900, -23613, 21182, 38272, 8543, -32488, 71438, -70655, -5959, -6511, -295, -9048, -2774, -6205, 26587, -67886, 32157, -14192, -32073, 33404, -37751, -9523, -15539, 23391, -22346, -16613, -16869, 11762, -17323, -32760, 151, -45734, -42117, 8205, -13703, -31909, -37250, 21155, -24671, -19721, 125674, -43005, -23594, -70982, 14180, 77792, -95034, -9593, 17836, 48409, -63459, -29572, -25903, 27392, -16681, 2691, -30, 11581, -13355, -14595, -25635, -42187, -38774, 1575, 8479, 5808, -16517, -2565, 14795, -5078, 13634, -68722, 54674, 788, -23523, 57291, -3431, -8986, 21145, -22536, -24891, -27091, -37790, -14133, -29504, 21295, -3208, 4917, 12125, 36565, -7660, -42599, 11977, -1392, -27135, 62039, 45578, -50240, -13477, 30184, -41050, 19000, -19850, -52533, 29141, 4741, -17765, -974} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-153, -148, -118, -76, -144, -115, -111, -142, -149, -116, -157, -107, -122, -153, -109, -116, -173, -128, -123, -98, -96, -115, -117, -125, -125, -102, -104, -124, -108, -121, -99, -134, -133, -113, -117, -113, -112, -150, -128, -119, -139, -158, -132, -122, -85, -98, -130, -147, -85, -140, -143, -139, -106, -137, -111, -97, -94, -108, -110, -143, -139, -124, -121, -123, -118, -86, -141, -166, -63, -110, -147, -138, -98, -132, -112, -146, -104, -110, -116, -115, -123, -124, -111, -104, -119, -129, -118, -108, -108, -136, -117, -119, -130, -143, -128, -96, -115, -126, -118, -131, -107, -111, -104, -168, -131, -134, -102, -140, -118, -106, -148, -138, -112, -126, -142, -96, -107, -123, -144, -125, -107, -138, -119, -137, -122, -115, -140, -102, -126, -138, -142, -142, -113, -116, -103, -131, -144, -119, -157, -73, -149, -115, -130, -114, -122, -113, -149, -127, -116, -125, -136, -74, -127, -135, -128, -149, -105, -112, -109, -138, -130, -135, -109, -133, -119, -139, -110, -139, -113, -98, -113, -114, -89, -136, -119, -140, -148, -139, -127, -112, -137, -123, -121, -116, -117, -118, -133, -155, -146, -136, -128, -118, -123, -145, -127, -127, -104, -164, -150, -128, -144, -128, -96, -142, -138, -137, -135, -137, -129, -116, -115, -97, -180, -108, -178, -152, -102, -123, -122, -149, -129, -134, -124, -106, -119, -142, -126, -122, -106, -165, -131, -104, -126, -162, -118, -109, -119, -134, -94, -116, -133, -95, -93, -160, -130, -93, -85, -140, -127, -125, -137, -119, -128, -88, -120, -137, -138, -158, -137, -139, -174, -125, -91, -129, -91, -118, -145, -157, -116, -78, -118, -96, -159, -156, -131, -121, -148, -160, -151, -114, -101, -109, -140, -129, -156, -143, -138, -137, -109, -118, -97, -101, -112, -138, -127, -130, -100, -136, -106, -149, -138, -150, -90, -127, -117, -110, -97, -134, -122, -108, -126, -84, -124, -132, -121, -125, -135, -144, -146, -101, -120, -105, -120, -130, -134, -131, -119, -119, -114, -145, -97, -173, -111, -128, -114, -102, -71, -116, -128, -182, -101, -113, -116, -116, -128, -117, -140, -123, -138, -86, -130, -118, -99, -122, -129, -115, -123, -154, -74, -111, -114, -136, -156, -122, -125, -167, -98, -100, -138, -131, -102, -123, -140, -119, -118, -157, -132, -149, -132, -131, -134, -84, -129, -103}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1172168576, 1367841280, 1965844480, 1494257920, 1594608896, 1560607360, 1170441472, 1455427840, 1214327424, 1098795136, 1169245184, 1341716352, 1355502080, 1704238720, 1214105216, 1087107968, 1864704640, 1428728064, 1435528576, 1363146496, 1678956288, 2097314560, 1276150656, 1965549696, 2138486400, 1385653120, 1757233920, 1094488960, 1942910208, 1420574720, 1446216704, 1484185856, 1242526976, 1367001856, 2050379904, 1120478848, 1106236672, 2000975104, 1840446592, 1843397248, 1428640384, 1256014080, 1135941632, 1267039360, 1451385088, 2111428864, 1274079616, 1990621696, 1926099200, 1181301376, 1563848192, 1421840512, 1115134976, 2018710528, 2089895168, 1802476416, 1892968064, 2145271808, 1302083456, 1174589824, 1158758272, 1652984704, 1263820160, 1126040576, 1176206080, 1456711296, 1236744064, 1087963136, 1137025920, 1902230656, 1138504704, 2077836800, 1901268736, 1374866944, 1155890816, 1257342592, 1416958592, 1392302848, 1278659968, 1161982336, 2024151680, 1424590592, 1243634560, 1561673728, 1396991872, 1613131648, 1447032320, 1141512448, 1136254336, 1208483712, 1791940992, 1076478976, 1083196416, 1307584384, 1144535168, 1264819712, 1717312896, 1255279744, 1402301824, 1739381632, 1370898304, 1171915648, 1453895552, 1372101120, 1813115776, 1810302080, 1712284032, 1181799936, 1213334016, 1621407872, 1171356032, 1211173248, 1237354112, 1151367424, 1461435008, 1095638400, 1407809792, 2022354176, 1397202048, 1217086720, 1244783232, 1868918144, 1213887360, 1342168192, 1230342528, 1446991488, 1170796544, 1428791168, 2085760384, 1087866880, 2090359296, 1081375360, 1114563968, 1096137600, 1467739392, 1893809792, 2109865088, 1481714176, 1694624768, 1561941120, 1489115776, 1147066624, 1142579584, 1817330688, 1082329088, 1357893888, 1259651328, 1342171904, 1100561536, 1175181056, 1325575296, 1927886592, 1832610560, 2129734912, 2036437376, 1401550464, 1354262784, 1747997056, 1838892288, 1248232064, 2055510656, 2084426496, 1845424256, 1257530880, 1153170816, 1078901248, 1490120192, 1824009600, 1219824640, 1750075392, 1153292416, 1662669056, 1300781824, 1178090624, 1929294336, 1223504000, 1323634304, 2060655744, 1347757312, 2128698240, 1265468032, 2064803712, 1685357184, 1661175168, 1266840832, 1415939840, 1592244480, 1513274496, 1581425792, 1379962240, 1162102400, 1245371904, 2026577408, 1289276672, 1355097984, 1106904448, 1348362752, 1652724480, 1349591296, 2079756800, 1692109440, 1968845056, 1161271296, 1558129792, 2040969984, 1135052032, 1081995008, 1341980800, 1824497792, 1141912192, 1455598720, 1547800320, 1428312832, 1965632256, 1766675840, 1421331072, 2019590656, 1148110592, 1940884864, 1180735616, 1495585280, 1244406912, 1469757440, 1196713856, 1429688576, 1762372352, 1116503808, 1101520896, 1460047360, 1640902912, 1077387392, 1836620672, 1149337472, 1902659328, 2034502784, 1205722880, 1092254464, 1232668160, 1202530048, 1235819520, 1255276416, 1364154752, 1694823296, 1744132224, 2089889408, 1702529024, 1615255424, 1120723072, 1228695808, 1653585024, 1306700800, 1213500544, 2037561728, 1230244736, 1223844224, 1120043008, 2070783488, 1286986240, 1910935168, 1533445504, 1651823488, 1278068224, 1617111168, 2114870272, 2109134848, 1276616064, 1426862080, 1419767680, 1308476416, 1646693888, 1942875008, 1339749504, 1093279488, 1549593088, 1218329600, 1184638336, 2067259520, 1720064512, 1771770368, 1829862144, 1472705792, 1182112768, 1289201408, 1871673856, 1448151168, 1386385408, 2000045696, 1080859392, 1149643008, 1406482304, 1736587520, 2023837440, 1954855168, 1300605952, 2034315136, 1731671424, 1524989952, 1330413440, 1504433792, 1479814528, 1429708928, 1976823808, 1459063808, 2000589056, 1825928576, 1351483008, 1786845952, 1227646464, 1135694336, 1461232640, 1078406144, 1415322240, 1220099712, 1605586304, 1121620096, 1423551104, 1868888320, 1233774080, 1475249536, 1131298432, 1358174848, 1274242560, 1089279744, 1101018880, 1103042816, 1894226048, 1193296640, 1210274816, 1271396864, 1363626240, 1792980480, 2091273984, 1159375872, 1175116928, 1311147136, 1690090496, 2000226432, 1175128448, 1884845568, 1876666880, 1161801472, 1368762368, 1309815296, 1862799872, 1075580544, 1153985920, 1458444032, 1251220352, 1616644224, 1823751808, 2052355456, 1448543872, 2011390976, 1547479680, 2123122432, 1370195456, 1500636544, 1385432960, 1622633344, 1182564608, 1543894656, 1182843776, 1391202176, 1713902080, 1558045696, 2004498688, 1584654720, 1224738816, 2100337536, 1288147456, 1364531072, 1282819968, 1902996864, 2076361728, 1247926528, 1559734912, 1333514240, 1247940224, 1076473600, 2143229312, 1333215872, 1887053184, 1091670528, 1082148480}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-1161, -9314, 81475, -6567, -11783, 20452, -3116, -17353, 121666, 53048, 111485, -4209, 14637, 120718, 56273, 60976, -12272, 69001, -1140, 4304, 85312, -4326, 114146, -6391, 17659, 40426, -16150, 142190, 28743, 102236, 82599, -8492, 59622, -9016, -4262, -3844, -12795, 79810, -3005, 50435, -37190, 30977, 109103, -6595, 40311, 6201, -4535, 8765, -16905, 11755, -2900, -2569, 90668, 94966, 65710, 90734, -1424, -3577, -3643, 26134, -2435, -5176, -10738, 11647, -2283, -999, 50977, -1871, 96499, 86545, -3569, -7263, 1936, 16788, 49464, 64445, 112511, 122396, 109796, -6146, 35042, -17365, 26054, -16630, 127705, -10503, -16431, 66272, 87421, 58467, -11142, 5335, -3422, -8560, -6203, 82854, 75212, -10076, 7452, -7513, 17114, -33133, -1572, 168520, -2239, 13467, 155635, -12587, 135061, -2395, -2502, -9815, -4585, -9747, 115185, 5580, 42606, 16488, -5440, 120805, -12265, 73765, -12078, 48869, 40374, 110617, 61, -46604, 82571, -13833, 57503, -23484, 60794, -5942, 44778, -1154, -715, 156357, 80983, -2777, -7535, -2689, 11232, -2147, -966, -280, 16312, -3221, 100335, -3171, 69026, 113723, -4036, 137863, -10882, 53343, 10220, -15679, 27785, 48279, 6455, -4219, 63073, -10759, 100450, 241348, 9943, 41970, 99262, 124995, -14314, -20233, 26529, -3703, 33862, -544, 66565, -9099, -3161, -53079, -14222, 20926, 57183, -37200, -7633, 90340, 31384, 45980, -67854, 62004, 122098, 70538, 16614, 63237, 7656, 102917, 75759, -73853, 14597, -13758, 8181, 2971, 9482, -5914, 48378, -3338, 24687, -496, 43078, -8291, -12992, -557, 13890, 45327, -5298, 69550, 3788, 80905, 27058, -12738, -18616, -15707, 23050, 55087, 51958, -8251, -17386, -598, 90137, 4038, -1478, 65848, -2467, 24281, 113569, -1151, 15777, -7481, 34347, -2414, -3546, 72254, -2549, -13212, -10059, 61897, 85508, -12912, -4151, -6222, 52202, -12184, -18746, 194055, 93747, 48551, -4618, -8770, -8176, -3551, 6724, -2447, 65551, 46027, 28531, -4365, 7356, 18735, 152554, 72382, 52092, 67518, 29654, -4646, -8214, -3396, -2273, -65387, 11958, 42858, 109226, 116513, 5114, -4256, 68292, 4745, 55237, -8496, 106356, -804, 18406, 192530, 51574, -12737, -7746, -5570, -4557, -7, -3184, 11337, -1190, 68, -2549, 17781, -14368, -2372, 114839, 22168, 96337, -15019, 70746, 10020, 101433, 88, -1069, -9078, 23858, -10178, 2226, -3530, 14815, 15624, -3983, 104342, -2288, 124349, 54157, -5534, 101448, -6849, 939, 115798, -19860, -7007, 51320, -5911, -7685, 5692, -2536, 18504, -24186, -13327, 66821, -29435, -1962, -3278, -21211, -10108, -3392, -7434, -6545, 4037, 4551, -7814, -3087, -2310, 12711, 143830, 59186, 68608, 57951, 205707, -8365, -7203, -5515, 33890, -12466, -17309, 45974, 2666, -2099, -4342, 80442, -2053, 3762, 153256, 50407, -7321, -4021, 3277, -7370, -127, -11887, 61265} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-19, 24, -415, -76, -27, -121, -67, -33, -528, -380, -465, -55, -87, -359, -260, -323, -12, -392, -20, -64, -307, -22, -328, 26, -121, -371, 48, -399, -280, -329, -399, -24, -288, -23, 69, 26, -105, -252, -9, -239, -10, -80, -378, -20, -270, -127, 6, -48, -56, -74, -36, -98, -442, -295, -380, -370, -75, -6, -59, -209, -30, 6, -41, -159, -75, -19, -373, -22, -415, -437, -110, -17, -128, -240, -273, -300, -373, -543, -314, 20, -194, 25, -183, -5, -480, -14, -20, -319, -419, -211, -86, -25, 5, -7, 18, -303, -377, 35, -73, -76, -121, -3, -24, -420, -27, -202, -617, -5, -756, -24, -84, -72, -62, 12, -335, -89, -262, -175, -4, -384, -25, -207, -7, -162, -208, -346, -14, 42, -411, -6, -386, 41, -246, 43, -214, -37, 6, -392, -392, -22, -8, -13, -78, -122, -6, -2, -104, -16, -323, -113, -406, -435, 2, -425, -25, -353, -116, -69, -245, -225, -63, -18, -364, 11, -483, -832, -107, -267, -384, -544, -13, 7, -230, -56, -138, -34, -376, -64, -92, 78, -12, -224, -317, 111, 1, -358, -272, -201, 57, -226, -584, -416, -195, -326, -56, -377, -340, 57, -196, -67, -92, -149, -70, -93, -331, -14, -158, -50, -281, -13, 6, -29, -91, -269, -54, -232, -68, -297, -186, 21, -37, -33, -240, -395, -242, -14, -9, 32, -293, -187, -3, -345, -19, -114, -383, -79, -220, -45, -285, 31, -4, -307, -14, -21, 19, -306, -321, -61, -68, -14, -233, -4, 20, -891, -387, -169, -3, -15, -10, -44, -169, -61, -279, -243, -192, -45, -54, -132, -655, -375, -288, -352, -222, 8, -20, -13, 3, 53, -104, -258, -466, -610, -55, -70, -285, -150, -235, -98, -363, -24, -176, -675, -247, -11, -12, -30, -1, -38, -7, -210, -26, -74, -75, -96, 13, -11, -515, -123, -565, -20, -306, -52, -354, -58, -33, -57, -243, -35, -102, -3, -86, -224, -31, -377, -38, -436, -230, 19, -481, -93, -126, -394, -94, -14, -327, -40, -14, -108, -53, -97, -74, 6, -447, -13, -146, -16, -27, 6, -17, -128, -7, -121, -108, 30, -37, -28, -187, -413, -339, -226, -253, -501, 20, -85, 118, -158, -22, -32, -224, -116, -55, 26, -361, -106, -33, -784, -224, -133, -52, -60, 4, -29, 25, -331}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1088861952, 1877353088, 1501801344, 1245099776, 1654320000, 1628033536, 1385997696, 1827843456, 1910365952, 1240628480, 1948521600, 1486792576, 1936484224, 1313449472, 1226179840, 1930702208, 1819041792, 1546393728, 1749949696, 1590846848, 1358621440, 1599606144, 2047786752, 1474930048, 1979370496, 1147213696, 1278903808, 1670717440, 1121144192, 2119213952, 1536385536, 1972179072, 1195200640, 1441764736, 1376967040, 1743309312, 1372474880, 1084877568, 1455679232, 1475676544, 1948091904, 1227267072, 1605892736, 1488686464, 2102094208, 1491322752, 1770035584, 1554554496, 1770577408, 2076704128, 1445080320, 2046098048, 1670484736, 1098889088, 1819238784, 1444465536, 1312530304, 1959317632, 1196232832, 1200383872, 2075706624, 1195415552, 1472539392, 1934829056, 1901184000, 1087876736, 1339329792, 1792834304, 1167695232, 1151430912, 1841589760, 1104881792, 1460817792, 1225793920, 1446692736, 1769048064, 1377286272, 1833372928, 1789455744, 1251319296, 1624521216, 1118748928, 1212955648, 1505464832, 2040120448, 1765484928, 1302816256, 1843818624, 1625083648, 1121921024, 1487327616, 1079518464, 1484987904, 2100186496, 1637865728, 1827190272, 1915361920, 1091387136, 2058306048, 1285002496, 1265667840, 1857489152, 1712709248, 1116549888, 1101902464, 1167043328, 1362822912, 1851868288, 1449740800, 1277205504, 1659637120, 1699301632, 1466911744, 2039704064, 1445881472, 1462587520, 1602791808, 1593414912, 1145975296, 1259883136, 1522456704, 1436461312, 1500591616, 1189720320, 1076858880, 1704302720, 2032616448, 1087376000, 1493013120, 1827375104, 2093363200, 2143850496, 1358955392, 2083347200, 1075107712, 1307841024, 1112594432, 1110234880, 1365189248, 1336597376, 1606135296, 1706964736, 1141803392, 1805313920, 1614151168, 1278349568, 1590484608, 1235799552, 1154696064, 1804141056, 1579386240, 2121067008, 1725403520, 1778696448, 2061517824, 1887224448, 1162910848, 1318428800, 1542740864, 1303763712, 1506095104, 1823225472, 1484056192, 2071163136, 2012433664, 1670796928, 1210424576, 1812188288, 1696845312, 1202132480, 1096123648, 1407867520, 1582430720, 1704262400, 1162640000, 1237404928, 1650927744, 1469964160, 1678286848, 2069174144, 1622351232, 1670429184, 1390316544, 2048756352, 2051036032, 1766201216, 1325890176, 1109810944, 1549598848, 1787382528, 1765886592, 1173820800, 1747597184, 1267477376, 1247980672, 1848689280, 1751129600, 1460528640, 1718779008, 1981778688, 2104955648, 1501761152, 1567196800, 1470542208, 1194892544, 1976090496, 1134290816, 1184449024, 1771268864, 1378216576, 1284864128, 1337143808, 1532129152, 1403358720, 2009968896, 1414202368, 1730951936, 1309031296, 1873471744, 2095462528, 2030412288, 1235584640, 1180155520, 1795133824, 2132783744, 1283369600, 1272431104, 1596083840, 2086759680, 1213442560, 1809393024, 1900935040, 1120361088, 1619897600, 1575929984, 1102095872, 2089904640, 1855083520, 2092409856, 2099263872, 1509204480, 1637446400, 1126314496, 2120032640, 1635357696, 2015482112, 2050641920, 1286618112, 2021887488, 1343346176, 1130585728, 1193639808, 1520655232, 1219034880, 1417878144, 1116475776, 1219065344, 1902316928, 1602871296, 1981418368, 2031076096, 1341531008, 1872803584, 2138653312, 1378537856, 1704950912, 1240481280, 2145265920, 1485702528, 1887800448, 1224713728, 1680563328, 2010815616, 1277075584, 1285167488, 2006043136, 1917204224, 1620038912, 1503799936, 1257266048, 2121289600, 1974319616, 1192338688, 1296823168, 1456476544, 1625090176, 1272051200, 1455725696, 1850827008, 1721213056, 1275096320, 1545568384, 1427275136, 1130103168, 1747300480, 1813951104, 1801085824, 1665240832, 1615511680, 1886728704, 1347768704, 1124474752, 1247733120, 2052404352, 1547778432, 1675636608, 1847920128, 1258625536, 2089272448, 1135786112, 1752285312, 1178240000, 1805251584, 1816717056, 1129145472, 1398169088, 1612272000, 2011457408, 1204821760, 1682465152, 1409644928, 1541344256, 1478707456, 1334642304, 2035909376, 1625866624, 1239224320, 1526021632, 1137412992, 1759233024, 2109009792, 2069723648, 1692442112, 1960657920, 1365272320, 1305332352, 1193968640, 1312984832, 2000298368, 1205784064, 1355406976, 1650934528, 1428668800, 1148999168, 1552983808, 1439084032, 1988624256, 2092123392, 1491919744, 2032309120, 1386416000, 1767656832, 1845305472, 1903090560, 1743811072, 1988256640, 1666898560, 1415511424, 1757820672, 1154089984, 2032919552, 1391445888, 2067492352, 1746557312, 1118471808, 1095763712, 1130625408, 2111492480, 1451735936, 1228106240, 1146059776, 1276469248, 1932465920, 1444612992, 1955673728, 1809686528, 1567636608, 1655388928, 1807684736, 1607681792, 1867922048, 1118257024, 1629484160, 1105845504}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {97, -23506, -21931, -53800, 33077, -29793, -41924, 7660, -18311, 2665, -40685, 2550, -14904, 15550, -1303, 4558, 8830, 15258, 8447, 6962, -45634, 18839, 26815, -25422, 13694, 11666, -45878, -13442, -61211, -11212, 47592, 7525, 44985, 7100, 29096, -4359, -9055, 25879, -36683, 22004, -18740, 34382, -11954, 40414, -15456, 7745, -81557, -9711, 1299, -11293, 8829, 34250, 51202, 28069, 21442, 15540, -41475, -20624, -2576, -26384, 507, 8443, -31255, 15775, -2797, -933, 26530, 34248, -8147, -18161, -10565, 41214, -39781, -40891, -41462, 13704, -66865, 12010, 8996, 60378, -25442, -25996, 394, -31243, 31884, -15110, -41901, 14789, -3994, -11159, 45077, -28847, -3929, -32142, 2718, 6137, -15681, 51177, -1313, 24344, -13764, 25095, 34216, -6088, 3042, -23301, -23042, -7316, 40610, 28708, 47291, -9195, -5063, -48441, 54068, 4577, -9208, -16427, -4499, 7417, -14471, 24207, -55696, 90167, -36815, -69297, 37502, -36650, -5172, 23783, -37175, 21839, 15119, -20418, -7713, -6912, 23316, -25308, 10692, 26860, 8935, -1936, -51298, -49460, -22017, 33595, 8229, 95369, 41242, -65272, 2518, -27495, -7664, -4151, -22760, -3493, -29474, -16990, 9506, 56989, -5992, 7105, -6015, 28165, -46323, -22671, -6977, 48205, 12860, 26926, 21792, -33, 64933, -39130, 4703, 25114, 83479, -12545, -34225, -13496, 22108, -25849, -1132, -38486, -1228, 215, 14766, 24614, 28224, 26352, 42967, 39580, 3055, -52118, 19116, -8332, -70876, -40138, -55349, 7154, 15998, 7991, -97874, 29765, -63352, -53302, 37375, 20486, 36437, -41562, -44022, 45412, -35295, 28310, -8969, -31106, 22997, -15449, -28352, -52798, 39618, 8632, 42215, 5980, 6777, -11929, -28397, -11690, -17418, -39158, -27162, -22584, 45407, 5041, 8992, 8232, 37724, 29735, -37290, -19730, 15485, 59342, -52131, 11622, -46004, 15288, -25301, 22546, -24387, -78133, 38946, -52893, 50971, 24671, 427, -3061, -35038, -8477, -11540, -22124, -37389, -10558, 51843, 17730, 21340, -53091, 8601, -11044, -2297, 13462, -841, -31072, 59462, -16278, -10296, -21242, 24508, -22115, -88675, -43666, -16600, -59056, -32776, 11000, -12016, 6484, 30065, 46341, 14867, 23046, -22992, -20675, 12749, 41791, 11190, 7004, -21279, -16097, -7669, -25086, 4700, -24822, -31438, -2072, -45186, 43317, -62799, -6781, -46514, 36488, -10787, 71130, 12831, 33845, -1346, -54943, 10869, 6867, 27113, 5418, -29369, 83857, 13885, -6095, -7368, -10766, -18358, 42512, -43924, -1728, -26138, -32218, -8727, -3255, -68093, -7039, -8336, -25390, 79360, 18635, 9292, 17236, -20467, -50043, 23261, -10277, -24608, 5498, 22056, 27272, 17695, -22812, -18550, 7440, 38741, -11767, 19623, -6994, 41132, -12925, 15295, -24301, 15490, -4641, 6848, -36426, 5290, -42109, -57030, -7332, 11470, -29391, 4874, 29032, 426, 33996, 14805, -14001, 18783, 33671, -6702, -35325, 10753, -37361} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-144, -107, -72, -119, -155, -118, -102, -171, -96, -148, -143, -121, -168, -134, -119, -125, -124, -98, -140, -108, -129, -113, -122, -138, -121, -127, -123, -145, -144, -163, -139, -116, -151, -133, -128, -133, -139, -116, -119, -110, -120, -128, -100, -125, -136, -166, -133, -131, -129, -151, -141, -133, -128, -118, -148, -111, -145, -112, -117, -146, -63, -128, -126, -132, -146, -111, -137, -162, -141, -109, -116, -116, -139, -169, -159, -126, -119, -148, -124, -137, -106, -137, -77, -122, -109, -107, -131, -136, -132, -113, -137, -132, -144, -114, -109, -129, -146, -142, -120, -144, -115, -138, -161, -164, -140, -105, -119, -127, -131, -158, -153, -118, -88, -101, -124, -149, -168, -134, -129, -129, -140, -141, -118, -111, -149, -120, -130, -123, -134, -169, -158, -132, -120, -154, -111, -125, -141, -150, -114, -127, -107, -135, -136, -128, -118, -45, -133, -129, -119, -153, -118, -124, -102, -121, -146, -88, -123, -156, -138, -132, -134, -95, -134, -126, -107, -145, -114, -154, -132, -95, -143, -167, -143, -120, -125, -132, -140, -149, -92, -146, -109, -129, -148, -131, -105, -137, -110, -146, -123, -139, -149, -129, -133, -134, -171, -156, -142, -122, -104, -135, -102, -127, -118, -142, -90, -153, -131, -160, -148, -93, -128, -131, -125, -123, -144, -122, -114, -120, -149, -116, -100, -107, -129, -117, -141, -148, -130, -154, -126, -125, -116, -149, -129, -122, -128, -140, -121, -110, -147, -147, -136, -153, -128, -154, -110, -111, -142, -111, -129, -133, -86, -130, -152, -121, -134, -137, -102, -145, -135, -134, -120, -105, -122, -119, -140, -139, -127, -135, -122, -154, -127, -148, -121, -134, -150, -112, -139, -114, -91, -110, -139, -119, -109, -135, -109, -83, -157, -162, -124, -130, -127, -155, -133, -126, -94, -198, -142, -132, -157, -147, -119, -141, -123, -130, -141, -125, -113, -138, -139, -145, -95, -140, -114, -118, -130, -126, -124, -140, -126, -141, -127, -124, -147, -134, -89, -130, -145, -137, -134, -131, -137, -131, -163, -135, -127, -143, -144, -115, -105, -116, -160, -130, -107, -122, -151, -111, -137, -123, -128, -143, -125, -142, -83, -97, -122, -134, -129, -91, -108, -96, -120, -129, -92, -151, -149, -172, -153, -138, -103, -106, -126, -132, -115, -129, -148, -118, -118, -133, -123, -130, -158, -145, -114, -148}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1274080000, 1498451072, 1953771648, 2145532544, 1621386368, 1684433408, 1707794304, 1981135488, 1247009280, 1308750208, 1307916928, 1383898880, 1896388224, 1656933632, 1205339520, 1279668736, 1365680256, 1745618944, 1621282688, 1258668928, 1345441408, 1437927168, 1213426816, 1581939712, 1481758976, 1136152448, 1333767296, 1135794688, 1569257344, 1531846400, 1298198144, 1353059584, 2048249344, 1652331776, 1074239488, 1352587520, 1227620480, 1692158080, 1387213312, 1647817600, 1196751744, 1484488704, 1891649536, 1308818432, 1323939328, 1565472256, 1124837248, 1564939136, 2140899456, 1267230080, 1352680832, 1370833920, 2131295744, 1249108224, 1340488192, 1414789888, 1753823744, 1314824704, 1090568320, 1338997504, 1231983104, 1946853248, 1099842304, 1372234496, 1569593344, 1238611200, 1855361408, 1384489088, 1336632576, 1575190400, 1189481344, 1567976192, 1230193920, 1659820928, 1173996800, 1505785088, 1090142848, 1759017856, 1268200576, 1395376640, 1220523648, 1785252864, 1379268736, 1985937792, 1918233344, 1228251776, 1608963584, 1084564992, 1501292672, 1751277440, 1280257536, 1310165760, 1191028352, 1392001408, 1673964672, 1214896384, 1441549056, 1552445440, 1277138432, 1581878784, 1246093440, 1440373248, 1951518848, 2033038592, 1278390272, 1658710912, 1538537344, 1241924480, 1377241856, 1925080192, 1753863424, 1227223808, 2009404288, 1458467328, 1934324736, 1472355072, 1899084416, 1306585984, 1986392704, 1439431040, 1232822400, 1273004544, 1427880192, 2068938880, 1478249344, 1795343872, 1253374080, 1396012544, 1257236608, 1563514880, 1215669504, 1928293504, 2052432384, 1965097856, 2004456576, 1500327040, 1471398016, 1383710080, 1163138944, 1694281216, 1081321600, 1332597248, 1433273216, 1349435904, 1161832576, 2053181056, 1188717440, 1170098560, 1185759232, 1546331904, 1374335744, 1273906816, 1249343232, 1750635392, 1386575360, 1246275072, 1207233280, 1663824384, 1402202880, 1302405632, 1357442816, 1728042496, 1105992832, 1140391680, 1368650112, 1557093504, 2036897792, 1594521600, 1119831040, 1483812992, 1511534336, 1912189568, 2005158400, 1190931840, 1425283968, 1785900672, 1971420800, 1224144896, 1299434752, 1155247232, 1801076224, 1740714368, 1218768768, 1193030272, 1985867904, 1369190272, 1897437440, 1341688320, 1782311040, 1365559680, 1560389120, 1983424128, 1857658496, 1596003456, 1493076608, 2091290496, 1165093120, 1700256384, 1217141760, 1475878400, 1098931968, 1269510272, 1145671296, 1509381248, 1231717120, 1419872384, 1114565248, 1484146688, 1459100672, 1417937536, 1293389440, 2083236992, 1175619968, 1819572608, 1369736960, 1366798208, 1852962432, 1207055488, 1436088064, 1447238144, 1135864192, 1979349120, 1158336384, 1989875584, 1602920192, 1599895296, 1399125888, 1450974720, 1650108800, 1375406336, 1703973248, 1369377408, 1389199872, 1490713344, 1414558208, 1831914496, 1456849024, 1357924096, 1340110336, 1391551232, 1350617088, 1813513344, 1134579328, 1426532352, 1551790592, 1616009344, 1093813632, 1576644224, 1379784960, 2120143104, 1467893888, 1099160576, 1168473856, 1199441280, 1147576064, 1396015360, 1736155776, 1462745472, 1386880640, 1474451840, 1240126208, 1216756608, 1545315328, 1440808576, 1441432576, 1081656448, 1856053632, 1599366656, 1717323776, 1240469120, 1249015680, 1724472320, 1997086336, 1097697024, 1481678848, 1573131776, 1215836672, 1225973376, 2058787200, 1277721856, 1303936384, 1301920256, 1224512640, 1251638528, 1117882496, 1097775744, 1381134976, 1798914304, 1107314944, 1566998528, 1315331968, 1132822784, 1593631360, 1273584384, 1551758336, 1523750912, 1441955328, 1267762560, 1700604672, 1259419520, 1422490752, 2146604800, 2141951872, 1619424128, 2018163712, 1182218496, 1198066816, 1116532608, 1220629888, 1363996672, 1426164480, 2106451712, 1290016000, 1366174848, 1275474816, 1480788224, 1181178496, 1255254272, 1282037120, 1152776832, 1332910208, 1363039232, 1298520064, 1474792576, 1893444480, 1216833664, 1576609792, 1941268736, 1354407552, 1235156096, 1277347968, 2112553600, 1558366720, 1258235392, 1193105664, 1270871424, 1527013504, 1134896896, 1304803456, 1389366784, 1130167424, 1290481280, 1776974592, 1357410304, 2013113856, 1181363840, 1126418560, 1408889984, 1100448896, 1076090624, 1089618304, 1460632960, 1297785600, 1336950784, 1383391360, 2073243904, 1512903168, 1581259904, 1230038400, 1842448896, 1552621696, 1320000768, 1866224896, 1508254592, 1371983616, 1691645568, 1980005120, 1166288896, 1326681856, 1415924096, 1174066432, 1301336064, 1222961280, 1351956736, 1626814080, 1109270656, 1284485376, 1164843776, 1471395072, 2038997376, 1150851584, 1366253312, 1901754752, 1582694272}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {147767, -30161, 164206, 202147, -6086, 146009, -776, 115000, -633, -14665, -1067, -235, -363, -13131, 142382, -787, 160000, 41165, 94054, -302, -1597, 23252, 137398, -446, 84391, 133442, -800, 114773, -902, 86342, 184390, 151019, 59518, -29616, 133129, 158544, 125798, 79920, 131529, 126620, -514, 108912, -2207, -6, 76982, -384, -22, 173377, 68012, 2145, -393, 55269, 80711, 175353, -113, -1049, 142262, -443, 135081, -894, 43811, 38115, 104653, -54398, -1163, -110, 27038, 74322, 181820, 192527, -2370, 101327, -529, -945, -821, -821, -442, -327, -240, -3401, -616, 144542, 93554, -328, 162897, 69211, 164610, -415, -7989, -316, 141247, -238, 95551, -352, 135196, -913, 16725, 214737, -369, 101205, -375, 185848, 80255, -73, -336, -957, -411, 165485, 69714, -6971, 83276, 137456, 11489, -4801, 132607, -286, -9776, -301, -544, 145809, -854, 73376, 11575, -4313, -687, -1863, 99219, -301, -257, 18544, -71, -80, 102974, -8864, -607, -528, -209, -233, 126364, 153011, 72481, -2504, -668, -422, -353, 2748, 123645, 57529, 85831, -261, -346, 158907, 126144, 26232, -349, 63366, -273, 219052, 177907, 27100, 180093, 57872, -468, 89609, 133910, -497, 61493, 65704, -348, 107930, 140283, -30, 75324, -384, 98133, -263, 64106, 1476, -944, -359, 60793, 128174, 142749, -87, 102218, -733, -693, -1009, 67489, -5759, 156553, 184835, 36420, 81794, -431, 123450, 204, 179653, 5384, 102412, 91492, -5259, -872, 181776, -2562, -377, 9822, 176541, 142797, -34, -5231, 101553, -22, 188235, 99790, -124, 39787, -445, -657, 175752, 61900, 104800, 81920, -39126, 39420, -59, -275, -217, -210, -286, 94556, 136194, 204478, 2821, -3732, -423, 58675, 154757, -142, -836, -7647, 52006, 1520, 119519, -614, 6825, -481, 133896, -863, -529, 40417, 176078, 190788, -2887, -373, -1197, 97575, -4009, -113, 145962, -397, -686, 158861, 81994, 193466, -893, -203, -7079, -602, 407, 95020, -171, 96321, -29620, -10819, 124264, -472, 10, -13272, -768, -186, -442, 732, -555, -689, 57365, 121326, 65829, -417, 162073, -431, -701, 213689, 97512, -785, 135988, -215, -4654, 144239, 160905, 9599, 71908, 141134, -564, -653, 60836, 327, -324, 172143, 19842, 113214, 90092, 166693, 112369, 171956, 55586, 110035, 139834, 90227, 151099, 85147, 75504, 73250, -298, 35749, -417, -365, 29009, -2960, -537, 3321, 138728, 10394, 131452, -163, 87700, 167856, -352, 80288, 264, -841, 196849, 93135, -707, 121892, 99745, -7, 40435, -328, 57520, 149341, 101, 89420, 104098, 85711, -10358, 86380, -439, 52894, -37012, 159730, 293, 100516, -2768, 92468, -387, -16210, -6950, -959, -19113, 81160, -395, 133070, 101765, 68849, 152446, -395, -722, -503, 68266, -8, -368, 106865, -765} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {-285, 103, -335, -353, -126, -452, 43, -276, 69, 62, 52, 60, 66, 100, -362, 54, -354, -162, -433, 36, 82, -78, -465, 53, -378, -354, 64, -375, 76, -359, -340, -360, -243, 122, -336, -294, -344, -296, -331, -359, 81, -397, -133, -145, -290, 112, 37, -315, -159, 86, 71, -238, -218, -362, 54, 43, -332, 86, -329, 63, -346, -140, -318, 61, -113, 68, -134, -287, -345, -340, 96, -361, 37, 40, 62, -173, 84, 98, 62, -123, 58, -327, -341, 51, -435, -385, -342, 43, 97, 37, -325, 69, -339, 52, -365, 77, 31, -363, 77, -366, 75, -285, -325, 47, 71, 76, 58, -369, -312, -129, -410, -384, -128, 70, -381, 44, -85, 52, 124, -376, 51, -297, 29, -94, 70, 69, -473, 78, 45, -75, 43, 69, -320, 92, 36, 62, 117, 58, -325, -336, -322, 80, 45, 74, 72, -142, -264, -249, -301, 94, 73, -368, -423, -163, 87, -338, 56, -377, -342, -132, -292, -351, 80, -351, -349, 65, -254, -274, 69, -571, -333, 65, -260, 56, -364, 62, -265, 26, 71, 116, -394, -317, -311, 71, -387, 60, 64, 56, -342, -139, -291, -328, -131, -334, 71, -303, 90, -331, 84, -381, -370, 115, 74, -340, 69, 68, -134, -348, -392, 64, 90, -262, 74, -534, -381, 59, -371, 52, 40, -387, -275, -327, -304, 250, -187, 54, 102, 73, 158, 98, -349, -297, -329, 69, 65, 56, -200, -335, 74, 50, 80, -240, 79, -392, 52, -112, 41, -356, 73, 80, -157, -345, -412, 76, 42, 57, -296, 81, 45, -338, 46, 105, -353, -407, -361, 44, 57, 117, 75, 71, -313, 76, -398, 94, 54, -333, 82, 47, -72, 58, 89, 65, 49, 43, 81, -328, -373, -302, 77, -388, 76, 53, -357, -306, 57, -333, 59, 106, -372, -378, 3, -415, -360, 81, 66, -252, 27, 77, -362, -37, -285, -297, -373, -451, -339, -212, -331, -356, -289, -291, -231, -292, -387, 60, -155, 68, 63, -138, 86, 85, 69, -351, 15, -351, 94, -299, -314, 71, -309, -114, 109, -360, -368, 78, -441, -339, 98, -228, 68, -248, -347, 55, -397, -329, -314, 63, -371, 99, -246, 79, -362, 65, -380, 117, -364, 63, -139, 50, 59, 160, -287, 75, -345, -348, -396, -296, 86, 77, 79, -256, 39, 80, -269, 60}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1683463552, 1123528320, 1571596160, 1380802432, 1662223616, 1740300544, 1811000448, 2043634432, 1535713920, 1295717504, 1243123456, 1783567488, 1732705536, 1495372288, 1829373056, 1482220928, 1175816960, 1315193984, 1149044480, 1929725952, 2009254016, 1707461760, 1794232960, 1673526656, 1222445184, 1942217728, 1451048832, 2064704768, 1306252416, 1293427712, 1199746688, 1549920768, 1077219456, 1720934400, 1230168960, 1396212480, 1353156224, 1129958528, 1475762304, 1699485056, 1632959104, 2090009472, 1990925568, 1889591296, 1593028736, 1995675648, 1753132160, 1450628096, 1096935424, 1403413632, 1537143168, 1148843776, 1720214784, 1435904256, 2060464000, 1721060096, 1911392256, 1643246336, 1084527616, 1853871488, 1270607360, 1309045376, 1449979392, 2124389632, 1900769920, 1931310208, 1611349632, 1876746240, 1341998080, 1141310592, 1337221760, 1868664064, 1399009792, 1827362432, 1420601728, 1817741824, 1312309504, 1740984960, 1880372608, 1361415296, 1626865792, 1344380800, 1391354880, 2040332032, 1571852544, 1785380992, 1242463232, 1905616896, 1756766464, 1810289792, 1315216896, 1727919104, 1490255232, 1572996096, 1248930432, 1346502784, 1878791424, 1087786752, 1893224704, 1612598400, 1702496128, 1351552896, 1502679552, 1611665408, 1795023872, 1165629696, 1389423360, 1566765312, 1662781824, 2065756288, 1490342912, 2086574464, 1156307328, 1385405312, 1120351488, 1823760384, 1185949568, 1454265344, 1387933568, 1773549952, 1327282304, 1904198272, 1670556032, 1378833664, 1463280128, 1644425472, 2090000256, 1921750272, 2001217920, 1848878848, 1704799744, 1473960960, 1501138944, 1697097728, 1814348032, 1775515392, 1720103424, 1181021312, 1676931840, 1894013184, 1868856320, 1227986176, 1543891712, 1550640384, 1585065728, 1747240704, 1498549120, 1435731840, 1489988352, 2130744832, 2022459264, 1432300800, 1084653952, 1740413440, 1724044032, 1839284864, 1491879808, 1209134720, 1191271936, 1449749760, 1366829824, 1781627648, 1594097024, 1267641600, 1108724352, 2081570176, 1244537216, 1223841024, 1566600320, 1731342336, 1495784832, 1149812864, 1837462784, 1598334336, 1299195776, 1411190016, 1155308672, 2018489856, 1637017216, 1330067840, 1680439296, 1649238912, 1371219968, 2022640000, 2026176768, 1327464960, 1470122112, 1377377536, 1461432192, 2068479232, 1376569344, 1409516672, 1420504192, 1434595200, 1470138880, 2034099072, 1412484608, 1306183296, 1488247168, 1207493376, 1536033920, 1164439552, 1744656128, 1134724096, 1328274816, 1793946880, 1432759680, 1195261056, 1317983744, 2044819072, 1913933952, 1175892096, 1293236736, 1499954688, 1197164672, 1486251392, 1199532544, 1469073664, 1703996544, 1459384832, 1729831552, 1744799872, 1552167296, 1119950080, 2016288384, 1414683904, 1818206976, 1893966208, 1346858368, 1493973504, 1465925376, 1395006080, 1360848640, 1172735360, 1919939200, 2007485312, 1183468160, 1812716672, 1681139328, 1258084096, 1247577728, 1567452800, 1388550912, 1132945280, 1395615744, 1185985408, 1124775040, 1404631168, 1536571904, 1497606528, 1134225024, 1591588096, 1255336320, 1705269632, 1453697408, 1177783936, 1652217344, 1901184384, 1975108224, 1505215232, 2061878144, 1097071104, 1526430592, 1547017472, 1225634944, 1601451648, 1493348480, 1731241728, 1305983744, 1474552960, 1265471232, 1476589440, 1508424320, 1595507584, 1171584128, 2047981952, 1541392000, 2069584384, 1302248448, 1479710976, 1114753024, 1800656128, 1636005120, 1822101248, 1507196672, 1926110976, 1573201664, 1799389952, 1923195392, 1977771136, 1434553216, 1663907456, 1191405696, 1162475776, 1522271232, 1448830464, 1699916416, 2088101760, 1159446400, 1502075776, 1880941568, 1451796608, 1786909696, 1420552192, 1653690880, 1075340416, 2055766272, 1335968000, 1510515072, 1254761600, 1129709184, 1427354112, 1592740480, 1993542272, 1276338944, 1424188288, 1335988736, 1290843904, 1329595392, 1491803392, 1141271936, 1807390464, 1504245120, 1772651904, 1524497024, 1554174976, 1821216640, 1635484416, 1711041408, 1855943296, 1430039168, 1693760000, 1707386240, 1849446784, 1821174400, 1484053504, 1868091904, 1831457152, 1400405632, 1448674304, 1389215488, 1139300608, 1723757568, 1544245888, 1683662208, 1392234880, 1097255680, 1923609984, 1296382464, 1174030720, 1931600640, 1280918144, 1618892160, 1383470720, 2012812288, 1608378624, 1282907136, 1584288768, 1454888192, 1883094656, 1895491840, 1611003648, 1320582272, 1321548032, 1918564224, 1326078976, 1301600000, 1872020224, 1466920064, 1837109632, 1489016576, 1633555456, 1979329408, 1700082048, 1497278080, 1512825728, 1469511040, 1263433728, 1669905920, 1960858880, 2109967616, 1559586944, 1260209280, 2055664256}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {77256, -12144, -115068, -12787, 38506, -14182, 31009, -45280, -6301, 64193, 15144, -25891, 14078, -46700, 15401, 17254, -42691, 34027, 9378, -13212, 37951, -16592, -30210, -17005, 17852, -58853, 9577, 47249, -1909, 3449, 34704, -40312, -19381, -45676, -21640, 50027, -45490, -19237, 26110, -7369, -14216, 4932, 4089, 54615, -2164, -29285, -8690, -39955, -28822, 37728, -10457, 46058, 15696, 22536, -77546, -70514, -31113, -1578, 68935, 9485, -25069, 40805, -37633, 58233, 95582, -5514, 20429, -62721, -34370, 13854, 72912, 50760, -40985, 31422, 2047, -66550, -48108, -70225, 29872, 65001, -14717, 3138, -20881, -56403, -28724, 64793, 37567, 11936, -7033, 13102, 69136, -39777, 30686, 48119, -7357, -45940, 7554, -6136, -34109, 12222, 52561, -52912, 12770, 78613, -29931, 10676, -31524, -32029, -29517, 3841, -30174, 9054, 7135, 3448, -14910, 231, -5368, -12933, 31772, -39887, 13917, 2769, -42857, 7855, -45371, -60938, 106, 49422, 9549, 44633, -69025, 44964, -9157, 4189, -8832, -20185, -47526, 7172, 22928, -16950, -8974, 1843, 17881, -64360, -42909, -26434, -42804, -52204, 26743, -45679, 13975, 36717, -2222, -11650, 8700, -37762, 27991, 18387, 8174, -9060, -4452, 3936, -1083, 15681, -17527, 4468, -5187, 52560, -8080, -1483, 10700, 12243, 32283, 1855, -7404, 46630, 32752, -35868, -17460, -28815, -20014, 23582, 8781, 5163, -32269, 15722, -9576, -6359, -9870, 21399, -26928, -34321, -45276, 6267, 10983, -19876, 32119, -3772, -31607, 23764, -40045, 5840, -8329, 5842, -21771, 26491, -20232, -19387, -35632, 7710, -21663, -16716, 49168, -9803, -8598, 40224, 33094, -21476, -9922, -36687, -12383, -10433, -16607, 13448, 84361, 44938, -23085, 23636, -15944, 41500, -5106, 3298, -29456, -65320, -810, -30975, -29229, -22949, -20939, -39753, -8783, -9283, 27499, -13929, -57914, 57185, -2340, -1795, 28599, -170, 40539, 26639, -95669, 28041, 17367, -36607, -12317, -37703, -20246, -6468, 14247, -34701, -8968, 28303, -5427, -24732, -25211, -69954, -62091, 13858, 11851, -1354, 57584, -22836, -4816, 1315, 25029, -22178, -1139, -69, -2915, -24210, -10575, -3458, -15426, -12850, -28374, -51675, -26509, -13475, -19366, -24430, -13520, 12331, -49670, 35157, 29911, -37930, 45189, -24104, -18808, -27295, -8185, 29083, 23696, -15688, 83208, -6287, -13212, -27402, -57167, -22503, -18320, -28205, 6412, -32837, 13521, -6632, 60885, -40110, 11909, 29176, -20860, -32649, -1251, -10833, -63639, -44092, 14009, -1904, -4140, 71257, -3003, 30525, 28294, -25273, -23856, -23671, 19168, 20651, 26499, -2585, -1634, 11671, -7039, -36772, 31149, -21417, -27249, -85562, 1964, -14351, 9149, 9168, 41237, -42377, -56810, 23865, -932, 14180, -29241, 6986, 6354, 3372, 4102, 64087, 4785, 5628, -25921, -13661, 28195, -24561, 38022, -12926, 32942, 49271, 41164, 5637, 11195, -4319, 16471, 12370, -67193, -16014, 6320, -39835, -7373, 2765, -24643, 262, 45678, -34954, 5219, -31355, -11258, 3001, -6399, -23048, -13677, -45671, -19658, -45577, -3264, -14848, -5493, -16293, -27890, -11977, -43448, 14801, -40368, -11444, -32974, 8073, 2824, -13080, 22455, -35226, 95936, -22446, -37419, 2437, 5518, -3791, -9812, -7779, -33956, 22411, 2174, 22160, 37165, 14163, -27601, 50573, -7301, -63212, 13911, -3037, 11504, -60601, -21845, 7365, -25966, -25562, -6130, -12274, 43053, 15128, -29710, 22417, -35703, -14505, 11942, -1491, -17187, 22191, -3503, -13291, -75115, -26221, -14447, -3409, -27220, 5262, 14009, -18854, 8587, -43081, 20059, -43981, 30967, -7794, -48962, -27594, -7336, 21189, 56091, 58370, -19751, 11400, 66388, 90423, -38593, -8599, 12936, -17075, 553, 27243, 49981, -53434, -13011, 14852, -17070, 31451, -33198, 44444, 33367, 18252, -17214, 80779, -63782, -39187, -6266, 6061, -22950, 15077, -6945, 38645, 251, -22069, 1970, 25162, 49544, -22171, -14462, 38348, -39025, 25278, 2716, -48084, 10593, -11487, -21095, 63220, 30335, -9678, 1521, -30580, -8137, 15192, 33027, 11211, 48536, -22529, 26745, -70059, 29116, -5701, -13325, -8823, -16077, 3032, -12447, 17507, 8683, -57474, 15294, 5600, 15671, -23040, 2566, -13372, 30685, 29785, -18748, -28578, 10457, -51272, -12819, 16537, 39202, -19161, -27001, 23233, 20184, 21225, -21250, -39024, 14115, 33161, -30877, 27723, -23053, 18468, 7442, -14010, 6210, -58510, -16720, -1707, -45683, 2008, 10023, 11686, 8639, -19485, 39947, 14271, 53644, -18402, 44237, -40213, -14776, -37815, 20553, -50715, -4579, -17696, -2417, -15769, 38925, -78203, 7620, 364, 7576, -19060, 33005, 14831, -20114, -33711, -12782, 22014, -63682, -46826, 271, 13922, -53284, -21656, -50799, 16915, -21044, 84219, 48700, -47213, -4088, -51076, 36545, -13208, -16377, 33716, 24776, -3790, 1279, -31487, 37016, -27305, 17007, 10194, -38045, 13845, -38861, 3580, 9022, -13625, -31442, 10372, -69734, -34186, -22424, -49735, -2246, -3997, -11420, 19052, -5569, 22222, -26491, -19477, 83337, -12979, -66411, -8601, -44484, -34138, 26295, -23231, -43668, -12264, -29552, -35647, -13980, 27794, 2626, -10670, -53006, 52136, 22060, -20915, 1062, -66933, 30452, 5666, 3161, -30160, -51311, -25009, -25485, -27480, -30888, -11190, -9572, -27020, 87509, -12299, 14407, 10129, -9874, 12753, -47830, -1045, -22528, -2363, -51843, 36, 25374, 20076, 33443, -13827, -40970, -23880, -13692, 38971, 4639, -66308, -25410, 22081, -27056, 363, 32651, -5892, -16859, -7528, -46936, -44483, -38926, 18808, 56546, -35746, 33451, -5513, 3907, -41570, 12433, 14007, -20775, -7635, 6871, -7637, 3449, -33442, 2320, -7042, -7546, 20901, -28965, -25711, -19371, 18943, 16226, 13235, 17597, -23477, -19005, -10753, -31554, 73934, -19131, 29656, -17919, -13495, 20478, -14493, -33864, 38913, 58747, -6707, -37628, -68915} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-118, -130, -126, -147, -104, -127, -166, -129, -138, -145, -95, -163, -139, -121, -134, -106, -105, -137, -133, -91, -122, -134, -142, -145, -121, -139, -106, -134, -149, -116, -106, -140, -149, -122, -129, -148, -93, -158, -121, -149, -122, -164, -119, -126, -102, -129, -97, -126, -133, -130, -129, -132, -108, -127, -111, -120, -127, -138, -125, -117, -159, -133, -103, -138, -121, -132, -117, -118, -131, -153, -114, -126, -141, -129, -111, -121, -161, -125, -135, -113, -171, -112, -121, -134, -107, -132, -116, -132, -123, -108, -130, -129, -142, -103, -132, -156, -155, -180, -131, -136, -120, -127, -136, -129, -108, -146, -109, -131, -144, -122, -128, -109, -138, -163, -122, -142, -106, -125, -125, -144, -146, -128, -113, -108, -134, -121, -158, -135, -148, -139, -140, -150, -119, -115, -131, -132, -130, -111, -67, -128, -123, -124, -142, -150, -110, -131, -121, -150, -136, -114, -139, -108, -122, -128, -107, -127, -122, -126, -146, -120, -157, -91, -123, -144, -131, -130, -145, -154, -124, -105, -142, -119, -118, -130, -134, -117, -114, -115, -147, -135, -123, -155, -106, -130, -113, -127, -165, -104, -126, -143, -124, -143, -129, -100, -133, -159, -101, -131, -173, -111, -124, -110, -138, -139, -159, -127, -135, -123, -134, -156, -139, -188, -126, -114, -144, -122, -106, -146, -134, -157, -134, -135, -68, -118, -120, -118, -107, -127, -138, -132, -137, -124, -141, -138, -116, -135, -136, -143, -142, -142, -157, -156, -105, -127, -112, -142, -139, -147, -120, -108, -135, -124, -141, -126, -109, -128, -118, -171, -147, -97, -117, -136, -186, -133, -137, -110, -117, -115, -128, -146, -136, -118, -116, -137, -148, -66, -132, -93, -141, -181, -150, -111, -131, -133, -83, -121, -121, -124, -122, -90, -113, -114, -144, -137, -124, -139, -147, -133, -130, -117, -129, -146, -110, -121, -138, -147, -138, -132, -127, -137, -127, -121, -107, -138, -162, -138, -131, -116, -111, -144, -75, -147, -98, -116, -132, -122, -113, -132, -67, -116, -126, -103, -136, -96, -140, -140, -134, -151, -141, -147, -145, -72, -126, -112, -111, -129, -126, -111, -130, -136, -128, -126, -143, -131, -137, -120, -145, -104, -129, -158, -133, -135, -118, -120, -160, -134, -140, -133, -122, -154, -132, -135, -121, -97, -151, -150, -124, -105, -131, -145, -130, -122, -132, -147, -90, -135, -125, -134, -147, -133, -124, -138, -120, -121, -106, -128, -103, -140, -133, -131, -128, -144, -112, -118, -68, -190, -136, -145, -115, -82, -132, -127, -132, -101, -138, -147, -124, -150, -153, -119, -163, -146, -146, -112, -152, -104, -136, -111, -115, -109, -141, -81, -117, -117, -117, -133, -117, -88, -108, -146, -141, -144, -146, -155, -144, -138, -171, -144, -113, -131, -110, -99, -161, -149, -124, -119, -154, -65, -134, -125, -78, -87, -132, -137, -143, -124, -145, -119, -110, -132, -103, -151, -128, -137, -189, -63, -148, -100, -155, -132, -144, -155, -129, -113, -136, -142, -138, -141, -132, -150, -100, -118, -132, -147, -125, -131, -119, -112, -114, -133, -103, -123, -104, -161, -164, -135, -129, -115, -156, -146, -109, -198, -120, -136, -134, -158, -154, -94, -94, -129, -117, -89, -110, -132, -147, -125, -131, -164, -37, -124, -125, -112, -136, -121, -152, -127, -120, -158, -147, -127, -181, -118, -112, -113, -126, -131, -139, -152, -110, -123, -133, -90, -137, -148, -125, -152, -116, -126, -120, -123, -123, -144, -114, -149, -127, -134, -135, -131, -144, -120, -159, -107, -165, -118, -127, -116, -135, -132, -127, -191, -139, -116, -124, -126, -110, -118, -111, -121, -146, -172, -118, -126, -135, -129, -93, -119, -43, -102, -131, -123, -115, -144, -159, -147, -149, -81, -115, -169, -146, -166, -127, -139, -132, -137, -117, -149, -118, -140, -109, -126, -154, -148, -115, -174, -153, -150, -117, -129, -105, -134, -115, -133, -109, -128, -117, -128, -144, -109, -130, -163, -143, -130, -119, -129, -113, -129, -133, -135, -123, -137, -131, -141, -133, -138, -155, -135, -148, -115, -134, -126, -146, -115, -134, -137, -125, -134, -121, -93, -132, -99, -131, -138, -125, -161, -142, -142, -120, -140, -71, -123, -111, -130, -130, -147, -161, -123, -139, -147, -152, -111, -123, -158, -119, -133, -118, -156, -187, -141, -145, -114, -105, -118, -99, -146, -123, -125, -135, -140, -117, -105, -99, -137, -109, -128, -172, -130, -120, -112, -134, -111, -151, -140, -140, -130, -126, -156, -150, -148, -138, -117, -121, -131, -127, -142, -111, -157, -111, -129, -97, -148, -88, -128, -123, -137, -98, -125, -141, -153, -142, -102, -99, -77, -124, -100, -155, -121, -116, -136, -100, -117, -137, -160, -141, -142, -137, -128, -122, -125}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1597781888, 1714739456, 1330113920, 1632897920, 1986587648, 1428131456, 1885047552, 1324689024, 1111806464, 1848655360, 1850693504, 1526782080, 1658010240, 1889346432, 1182913792, 1651204224, 1494983552, 1416495104, 1626648960, 2019896192, 1361741696, 1408192128, 1148020992, 1838370304, 1461745792, 1341890432, 1129489536, 2039147520, 1637115776, 1566643328, 2050278144, 1236858752, 1711881984, 1115531648, 2141855104, 1452994560, 1134522624, 1205749376, 1487086336, 1641229568, 1263332992, 1589012480, 1420698496, 1596332288, 1688265856, 1841479680, 1080315776, 1308653440, 1305165056, 1733283968, 1190988544, 1267894016, 1769565696, 1265015424, 1246804992, 1493920512, 1684419584, 1099371008, 1751521152, 1837684864, 1307389312, 1310521344, 1356467712, 1624318336, 1705277952, 1965840640, 1386098944, 1369270400, 1779458432, 1553315968, 1991915136, 1908845440, 1290009472, 1216320512, 1413229696, 1511591936, 1695423104, 1126779392, 1278545792, 1602737536, 2141811584, 1263591936, 1646732928, 1519804160, 1729551232, 1907663616, 1471242624, 1629140352, 1468974848, 1983265152, 2073538048, 1559349248, 1256618624, 1578726400, 1978359296, 1656253696, 1759857408, 1328447488, 1279595648, 1555192192, 1866635136, 2143714176, 1863588736, 1529248896, 1208720640, 1612067200, 1794119168, 1309488128, 1191781632, 1826268672, 1094092288, 1773568768, 1559244800, 1603128192, 1614693760, 1191868672, 1505169664, 2028601216, 1742414592, 1326639104, 1335220480, 1321528576, 1438460800, 1938457984, 1470461184, 1185588480, 1864512896, 1135332096, 1651143936, 1330507136, 1888521600, 2104398336, 1594948352, 1880320384, 1187623424, 1334482560, 1277718656, 1686363648, 1483489920, 1290796800, 1261353088, 1481558656, 2091974912, 1352674688, 1790659072, 1905001216, 1228075264, 1108937472, 1078104320, 1301359616, 1463916928, 1478335104, 1382312576, 1705844992, 1358788224, 1504565888, 1435390208, 1090186368, 1519805824, 1385203328, 1180136064, 1119048320, 1798319360, 1278162048, 1392875776, 1480925568, 1449545216, 1839550592, 1449945088, 1235559040, 1318778112, 1636286336, 1818775680, 1310684160, 1400251648, 1513137152, 1791857024, 1181237120, 1760295936, 1294368768, 1292939648, 1965820800, 1802517376, 1216393984, 1475259008, 1859484160, 1470958080, 1127645568, 1511468544, 1348134912, 1828867456, 1188104192, 1372776448, 1800336128, 1292841728, 1432635392, 1862502656, 1528050048, 1573604224, 1641471104, 1093622272, 1294567040, 1234554496, 1601138688, 1494809856, 1947087744, 1725945088, 1902641408, 1764172160, 1520730752, 1447547264, 2118150272, 1398311936, 1657590016, 1089301504, 1596790144, 2001175680, 1924166528, 1158769792, 1074968320, 1119621632, 1481705728, 1787522432, 1534410240, 1678729472, 1728987136, 1519589504, 1175287296, 1588528384, 1585921280, 1537571456, 1092709504, 1648003328, 1327697792, 1784111104, 1164472832, 1163607808, 1169673728, 1836542720, 1655758336, 1154970240, 1321003520, 1253307136, 1179523712, 1255612032, 1248482944, 1658536576, 1631051136, 1642483712, 1948146432, 1531212032, 1459484928, 1566315008, 1633076352, 1445007488, 1096511232, 1276076288, 1198979072, 1650655232, 1924548224, 2024676224, 1277133952, 1585310464, 1489942912, 1240171776, 1569145728, 1715657472, 1086771328, 1151799424, 1542417792, 1605734656, 1229050368, 1770663296, 1258915456, 1286918016, 1323832832, 1875090944, 1228736768, 1225783040, 1188133888, 1255546240, 1650178560, 1337573504, 2138940032, 1313728384, 1461643904, 1307844992, 1417592832, 2077767808, 1942796288, 1556149248, 1144569856, 1332688896, 1281184512, 1724278272, 1111334656, 1810082048, 1323438848, 1531523840, 1829807872, 1298704256, 1420408192, 1877497728, 1657086976, 1668192640, 1336568832, 1624784896, 1882316032, 1714813312, 1693999872, 1534696576, 1314009600, 1689360640, 1571448448, 1446856832, 1683200640, 1660036480, 1094784768, 1685863424, 2002762240, 1557904000, 1363499776, 1535746048, 1319765760, 2076164224, 1890669440, 1625953152, 1239407872, 1366753536, 1867262080, 1664483840, 1128850560, 1144960384, 1766244352, 1371273472, 1193231744, 1269224064, 1170956416, 1834141824, 1722902528, 1795880832, 1541498752, 1415557504, 1355978752, 1649258368, 1579062400, 1285032704, 1893303168, 1272694784, 1158970112, 1262966528, 1431599104, 1568680448, 1697047424, 1470068864, 1286630656, 1212950272, 1699649664, 1265000192, 1511581312, 1228874624, 1304713984, 1299175296, 1643138560, 1133405824, 1415904768, 1177743872, 1624294784, 1826680832, 1188425984, 1709449984, 1532875008, 1529272064, 1579889792, 1407198464, 1357276032, 2102993152, 1802943744, 1420893824, 1666421248, 1686196864, 1369367936, 2076433920, 2146709888, 1081969536, 1554574336, 1437523456, 1512656768, 1776620928, 1261052032, 1264672768, 1769759360, 1537401088, 1575475072, 1736482560, 1781040256, 1306290048, 1316859648, 1389312384, 1535902720, 1175974144, 1560871680, 1408065536, 1529396736, 1447282048, 1407964032, 1550621184, 1517629312, 1619178624, 1246679168, 1122513920, 1407691264, 1349469440, 2018967808, 1407296768, 1501671168, 1596101504, 1163911296, 1752399104, 1440066176, 1717506560, 1340221824, 1912570240, 1339018368, 1818777088, 1872257408, 1131576704, 1819390464, 1928798592, 1645516800, 1212086912, 1402876544, 1193595008, 1119052544, 1211372800, 1325906304, 1685093888, 1117065728, 1403558784, 1712227072, 1184231552, 1541116928, 1107552256, 1653300992, 1282291584, 1420097024, 1160650496, 1537083648, 1388304640, 1148011648, 1489977728, 1496349312, 1326810240, 1132808960, 1985507584, 1594818304, 1821713792, 1452763776, 1170052096, 1356099328, 1166014848, 1116117504, 2004534656, 2026434688, 1955939456, 1300271232, 1492655488, 1448172288, 1566467456, 1429648128, 1585340800, 1399090304, 1355692160, 1407798272, 1539898624, 1421691392, 1847660800, 1200508288, 1759135232, 1556663424, 1387528448, 1502577408, 1510507392, 1603512320, 2107771776, 1622300544, 2007151488, 1633762304, 1479698816, 1697458048, 1652978432, 1462758016, 1238717824, 1131031040, 1422188544, 1607359872, 1484170368, 1406220928, 1417197056, 1674373504, 1205749632, 1537593984, 1435264896, 1092007168, 1132559872, 1433223680, 1440599296, 1456035200, 1787789440, 1138851328, 1812490880, 1776029056, 1651219328, 1077465216, 1112385280, 1534981632, 1284272256, 1976916736, 1637874688, 1158483456, 1262774784, 1859767040, 1228979456, 1110957440, 1300046848, 1376592256, 1197122688, 2061124480, 1185943424, 1117457920, 1329820160, 1684403200, 1654737024, 2096080896, 1783451776, 1216417152, 1642953728, 1730848768, 1232252544, 1598319104, 1905838720, 1330679936, 1194713600, 1839103616, 1598063488, 1426513920, 1836344064, 1438474496, 1494060032, 1488661632, 1205478016, 1698577664, 1325816960, 1118691200, 1513215616, 1709334144, 1722850048, 1431790464, 1311497984, 1708766336, 1987830784, 1466652800, 1542313728, 1250892032, 1180800768, 1303936256, 2103892480, 1079963904, 1305512576, 1194902528, 1499173760, 2035323392, 1375444608, 1400003712, 1483977088, 1922996864, 1563943168, 1226227968, 1139486464, 1447041408, 1259380096, 1342889600, 1180850304, 1121800064, 1403298560, 1557313792, 2034795520, 1724464128, 1699710720, 1717163136, 1173869056, 1286538752, 1306008960, 1678377728, 1726131840, 1208385024, 1111069696, 1435759232, 1577159552, 1513738624, 1898773888, 1090250496, 2034579584, 1167918592, 1942113408, 1934638848, 1143840640, 1096059904, 1368274688, 1172451200, 1127675776, 1566537856, 1095362048, 1240313600, 1502424832, 1449443968, 1903848576, 1288397184, 1404245248, 1514672000, 1189007360, 1367981824, 1931940736, 1682371584, 1146551040, 1539795584, 1588883072, 1111053312, 1598842880, 1489758720, 1743689344, 1445058944, 1375491584, 1132004352, 2057870976, 1351267840, 1819083392, 2042847488, 1326224384, 1512526464, 1378495616, 1287410176, 1416777600, 1433582592, 1356181632, 1485690752, 1423021696, 2122040960, 1471811968, 1694201088, 1436819200, 1319549056, 2073451648, 1847141504, 1621597184, 1316736896, 1413491456, 2050772736, 1568846080, 1657374848, 1763083776, 1577986304, 1411264000, 2095171840, 1570894592, 1160497152, 1681230464, 1640465536, 1128644736, 1678309504, 1405965696, 1259113856, 1096429568, 2001308160, 1179442176, 1381368576, 1434850432, 1443321216, 1962166016, 1443329920, 1135100416, 1273697536, 1311032192, 1470686080, 1804523264, 1256688384, 1580572160, 1173380224, 1640537472, 1878616960, 1159335552, 1195478400, 1280756864, 1712889856, 2062241024, 1151764352, 2000685440, 1340810752, 1581081856, 1584006400, 1607421696, 1664411776, 1929927680, 1983613312, 1427549952, 1227266560, 1141808640, 1718442624, 1554595712, 2110425088, 1410920960, 1316127360, 2142557568, 1982482560, 1527947904, 1213900800, 1719186560, 1732277248, 1511523712, 1636237696, 1256351488, 1249366272, 2008759680, 1417401728, 1230015872, 1405691520, 2006671232, 1233741440, 1706194048, 1186407168, 1348257792, 1238693120, 1622447616, 1599587456, 1196530944, 1287515648, 1579010176, 1220777600, 1722556416, 1770314240, 1596203904, 1609535104, 1624031232, 1255842688, 1631162752, 1615669120, 1906199552, 1503495296, 1274996224, 2122133632, 1645276288, 1118851200, 1307513984, 1337594496, 1199121408, 1813074048, 1351458560, 1324046208, 1763651072, 1360460928, 1629409024, 1929797888, 1156848000, 1811335808, 1625408256, 1691947904, 1728939776, 1347254016}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {10335, 66246, -146, -6623, 70129, 70913, 144741, -946, 51546, -33003, 57175, -827, -188, 33264, -775, 467, -1214, -5837, 111406, 170128, 6142, -9336, -985, -9761, 29070, -268, 155709, 63562, -63189, 400690, 82782, -430, -794, 98, -144, 105421, -1203, -430, 436, 43908, 92680, -39, 63, 86366, 119436, -30954, 46342, -2534, -3316, 368776, -1547, -5202, 195257, 58643, -793, -1349, -450, -11242, 54521, 103019, 50, 4212, -1533, 40014, 144938, -100, -13508, 1200, -2003, 74338, 3758, 264371, -340, -1322, 126562, -7798, 952, -604, -1389, -5491, -6, 173, 46046, 159, 83741, 149929, 54700, 66747, -1655, 49348, -2660, 942, -2047, 119826, -448, 39482, -6123, -22531, -1327, 45753, 104327, -416, -559, 91384, -570, 35019, 52900, -24085, -1065, 241196, -679, 35872, 3223, -82, -1820, -72, 48739, 14, 47865, 1585, 37379, -795, -1093, 508, -1357, -1140, 73785, -1746, 103487, -8975, 365, -8018, -15822, 31542, -1838, -786, 75393, 96987, 61025, -1399, -377, 109930, -632, -1070, 55506, 52, -1871, -5795, -2769, -855, -1351, 62758, 162259, -3395, 80945, -63, 90855, 29095, -6614, -743, 4, 48352, 635, -135, -1309, 4446, 62063, 158183, -3732, 66699, 85643, -32814, -281, -1360, -1545, 114661, 101388, -15, 133493, -37, -7502, 158405, 102381, -22501, -1838, 84384, -722, 95528, -19170, 104933, 325, -1636, -1694, 174574, -1783, -1094, 52465, 3261, -799, 45838, -813, 712, -12819, 114363, -162, -2139, -2068, 573, -6891, -622, -3170, -154, -8739, 44344, -729, 45748, 50633, 55855, -13436, -676, 80012, -68, 54115, 106053, 4131, 39152, -1792, -620, -730, 324706, -7432, 113624, -10014, -21323, 47956, -3068, 596, -352, 999, -2142, -1688, -149, 154284, -752, -788, 159346, -1284, 82098, -1881, 9923, -21999, 78077, 1203, 109715, 164274, -1656, -201, 418, -268, 71589, 861, -2620, -1, -27935, -2489, 65406, 28343, 717, 1323, -198, -13618, -687, 113124, -1129, -1847, 53215, 143349, 135310, 543, 28386, 80257, 101665, -1937, -12479, 71890, -2389, -874, -1701, -255, 71576, 4119, -3419, -9273, -798, -381, 91154, 123474, -918, 58247, -7570, 82664, -1689, -17797, -20788, 234523, -1251, 154494, 188220, 52544, -966, -1158, -929, 146231, -7954, 442, 68311, -7933, 132223, 264140, 28, 115882, -11199, -17, -2764, -2047, -215, 48484, -1424, 141118, 111832, 338, 218585, 130143, 64797, -7981, -1578, -1116, 1773, 48816, 730, 162472, 47241, -1887, 989, -5225, -3425, 180072, 55289, 500, -495, -939, 72170, -2923, 34667, 111036, -680, -51, 110674, -1611, -3296, -1016, -2556, 137841, 160559, 74356, 85421, -5269, -1878, -7305, 458, 33935, 70171, 35573, 56872, 59061, 203694, 71058, 69571, -1422, -1622, -3373, 166514, 602, -110, 90686, 174907, -2734, 96234, 59435, -2006, 40531, 1888, 41705, -868, 69553, -2919, -1628, -8726, -133, -731, -1436, 51526, -1124, 60258, 106305, -10, -689, -123, 167878, 95592, 2184, -683, -15175, 64787, -1193, -4135, -10503, 1031, -65808, -1812, -33, 43804, 786, -4338, -1916, 72106, -6542, 50649, 58645, -7780, -2850, 39581, -761, 37467, -514, -16499, 125697, 44100, 114578, 48, -1172, 59900, -803, -777, -857, -2005, -442, -2196, -1792, -478, -3864, 101622, -54, -4462, 98248, -5681, 80543, -51999, -1206, -1515, 50905, 92424, -1466, 47027, 50022, -687, 65803, -11333, 149460, 450, 89770, -1195, -1118, -2623, 57194, 72167, 175489, 161747, 17002, 98924, -2905, 30167, -6863, -62, 148, -1599, 44496, 82494, 58216, 1203, 43224, 47985, -1298, 7, -9329, 60586, -9093, 111597, -1894, 77856, -460, 73151, -2231, 538, 506, 118318, 68143, 76556, 37, -52, 79345, 26776, 39135, -873, -1761, 86925, -434, 152363, -1031, -1646, -12351, 149911, 4405, -1689, -11461, -2268, -1318, -616, 11456, 826, 158120, 78262, 68844, 68895, 63085, -114, -117, 61873, -1647, 450, 7125, -5724, 125389, 53396, 79173, -1160, 46510, -9707, 50699, 164260, 59159, 96698, -1347, 127776, -7524, 530, 39598, -20141, -1082, 71427, 90596, -1206, -70653, -7877, -1518, 92521, 75989, -2286, 57115, 235266, -363, 74854, -1769, 112186, 191953, 70465, 91527, 92, -18975, 929, -8353, -746, -33, -17801, 26647, -1538, 48067, -38173, 62473, 48880, 156623, -1536, -5224, -893, 51529, -133, 104490, -4025, 61012, 223318, 57269, -649, -5458, -1744, -3515, 230, 69867, -3792, -2305, -90, -349, 299006, -952, -1010, 55106, -15837, 408, -1200, -6214, 89508, -873, 128227, 176571, -6991, 9, -674, 51520, 362, -643, 600, 91231, -547, -139, -4555, 75613, -1376, 80033, 115686, -615, 75, -1679, -1945, 51064, -1383, -1673, -4042, -1087, -316, -9188, 933, -922, 131868, -1037, 123556, -247, 49763, -333, 161, 157235, 101653, 200, 61810, -869, 767, 219673, -1037, -9121, 47443, -18463, 63560, 115566, -1861, -1882, 72091, -373, 153529, -20138, -581, 111303, 74438, -1222, -1763, -245, -669, -252, -2393, -620, -2724, -1287, -34897, -170, -327, 112690, 192409, 127134, 153, -30, -5190, -18763, -29828, -1882, -2174, 553, -2715, 68913, -356, -10537, 53108, 1190, 46557, 253989, -47283, 93388, -89, -26, -1060, 568, 49157, 37452, 53622, 739, -2752, 140, -663, -68, 55688, 42723, -44, 65415, 244558, 240263, -1385, 119580, 133301, -1978, -1042, 98305, 47655, 29159, 229, 193094, 154270, 40023, -1721, 68649, -13125, 97, -1290, 161147, 79586, 93226, -6214, -14976, 199165, 705, -57222, -12001, -5765, 107494, -2080, -546, -98, -1267, 79987, 14575, 877, 955, -1189} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-183, -461, 344, -111, -488, -525, -475, 320, -499, -11, -436, 408, -124, -325, 178, -106, 309, 385, -417, -833, -175, 317, 304, 86, -391, -186, -465, -508, 379, -1587, -526, 326, 302, 465, 112, -500, 220, -184, 541, -448, -489, -118, -114, -495, -545, 316, -422, 372, 791, -779, 453, 171, -889, -409, 407, 366, -160, 231, -434, -673, -62, -151, 415, -410, -622, 163, 184, -114, 401, -472, -168, -589, 393, 268, -696, 604, -114, -169, 420, 683, -145, 408, -439, -103, -546, -603, -396, -467, 753, -450, -110, 394, 433, -514, 264, 822, 473, -72, 303, -439, -515, 297, -157, -521, 150, -377, -457, 611, 201, -612, 221, -406, -177, -106, 353, 445, -409, -115, -410, -171, -315, 390, 231, 451, 264, 435, -496, -124, -579, -139, 129, -109, 467, -405, 459, 387, -447, -544, -420, 417, 208, -481, -150, 455, -397, 473, 303, 321, 251, 248, 342, -472, -635, 278, -493, 425, -544, -374, 294, 169, -149, -420, -121, -116, -132, -69, -515, -681, -109, -524, -432, 419, 198, 554, 377, -521, -543, -120, -545, -169, 268, -617, -516, 93, 364, -494, 349, -655, 404, -409, -142, 428, 494, -668, 553, 441, -408, -91, 684, -487, 315, -115, 498, -572, -55, -106, -122, 435, 185, 248, 523, -212, 309, -425, -107, -450, -421, -486, 339, -199, -472, -209, -458, -513, -171, -354, 467, 254, 684, -999, 662, -520, 862, 123, -458, -131, 351, 153, 396, 159, 194, -197, -694, 277, 255, -728, -122, -445, -90, -52, 220, -519, 372, -470, -680, 421, 266, 538, 318, -498, 454, -121, -200, 219, 314, -404, -323, -109, -110, -17, 636, 419, -553, 312, -149, -395, -631, -656, 304, -423, -453, -545, 490, 105, -473, 530, 315, 290, -196, -454, -111, 278, 898, 173, -155, -628, -553, 278, -437, -18, -657, 271, -59, 149, -692, 223, -672, -660, -407, 326, 326, 486, -769, 214, -116, -428, -128, -666, -836, 505, -558, 546, -214, 4, 668, -4, -364, 344, -770, -680, 652, -903, -717, -467, 863, 338, 326, 910, -430, -110, -704, -396, 246, -101, 174, 199, -797, -423, -160, 366, 225, -476, 541, -367, -457, 166, -217, -523, 411, 860, 345, 732, -622, -692, -506, -522, 848, 814, -113, 139, -352, -497, -428, -417, -485, -849, -475, -332, 462, -175, -126, -716, 448, -221, -559, -643, 567, -497, -383, 180, -390, -96, -431, 159, -532, 129, 422, 427, 312, -111, 207, -394, -92, -479, -523, -207, 303, -124, -670, -504, -107, 300, 56, -484, 233, 346, -71, 313, 174, 285, -202, -378, 275, 627, 233, -578, 395, -419, -481, 666, 799, -364, 296, -414, 253, 102, -534, -497, -543, -181, 192, -512, 273, 226, 458, 427, -162, -132, 676, 130, 216, -415, -197, 328, -608, -94, -492, 115, 238, 641, -434, -654, -161, -448, -459, -204, -489, 343, -779, 456, -541, 235, 273, 268, -498, -414, -692, -662, -224, -558, 499, -195, 416, -219, 419, 408, -426, -519, -430, 405, -396, -419, 396, -155, -108, -439, 461, -549, 359, -519, 443, -552, -170, -151, -142, -530, -427, -498, -123, -201, -416, -412, -370, 523, 385, -552, 311, -716, 351, 381, 245, -650, -104, 391, 665, 759, 282, 535, -73, 389, -731, -579, -437, -534, -519, -107, -112, -495, 481, -88, 358, 349, -528, -467, -553, 423, -345, 262, -422, -645, -447, -570, 173, -569, 383, -120, -453, 394, 493, -397, -528, 255, 353, 238, 259, -538, -478, -133, -434, -1079, -194, -467, 478, -646, -618, -465, -527, -145, 833, 507, 231, -171, -189, 223, -354, 310, -362, 152, -436, -457, -640, 292, 647, -109, -386, 391, -440, 743, -456, -762, -416, 275, 1102, 488, -126, -125, -495, 511, 370, -192, 612, -896, 387, 289, -380, 580, -111, 300, 370, -586, 349, -519, -846, 227, -130, 260, -392, -115, -202, 281, -539, 201, -70, 177, -440, 401, -391, -582, 280, -188, 372, 404, -420, 262, 155, -90, 296, 378, 320, 331, 397, -673, 276, -584, -189, -427, -21, 243, -661, -522, -131, -458, 413, 384, -893, -97, 255, -440, 286, -431, -728, 167, -147, -463, 292, -815, 686, 458, -596, -505, 348, 269, -162, 451, -195, 452, 439, 716, 278, 364, -124, 343, -521, -681, -524, 353, -210, 109, 48, 189, 262, 362, 471, 415, -448, 157, 409, -492, -108, -425, -964, 245, -469, -196, -205, 270, 435, -424, -346, -408, 298, 447, 241, 287, 362, -486, -383, 301, -467, -1022, -1016, 497, -609, -747, 508, 432, -575, -406, -367, -114, -1053, -506, -390, 375, -471, 350, 356, 272, -632, -476, -460, -154, 402, -806, 220, 604, -94, 225, -525, 251, 78, -87, 274, -429, -102, 333, 446, 333}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1846277760, 2082283648, 1831883008, 1516247680, 1950632960, 2112505728, 1284588032, 1141550976, 1375417984, 2058527872, 1265360768, 1427141760, 1788971776, 2122752768, 1128691968, 1956484224, 1302442368, 2110014976, 1596704896, 1274214528, 1950950016, 1202546048, 1294466432, 1364084096, 2010590592, 2086887040, 1411483264, 1161435264, 2142478336, 1626245632, 1857524608, 1456162304, 1685072768, 1936998784, 1803513472, 1838809088, 2139403264, 1971776896, 1247907328, 1447975680, 1152292224, 2014612224, 2048502912, 1772603008, 1441826688, 1728480256, 1521897344, 1152538496, 1929611392, 1228284288, 2131698816, 1492596992, 1278684288, 1220907904, 1325453824, 2014691840, 1442814976, 2124689280, 1471916160, 1351033856, 1826709248, 1636134656, 1252964608, 1567290112, 1716387328, 2036925952, 1421524224, 2122704640, 2005262720, 1079454976, 1723017472, 1808484736, 1392336768, 1257714816, 1443424768, 2091149568, 1249756288, 1659287936, 1894374528, 1854699520, 1638800384, 1085555072, 1451298944, 2055609600, 1682583296, 1813624064, 1442747776, 2114652928, 1600291712, 1368506496, 2089433472, 2045768064, 1876542208, 1965561984, 1653313664, 1311345792, 1175127552, 1126904960, 1401965696, 1460076928, 1441591936, 2104418816, 1302412544, 1568214528, 1281643904, 1901074560, 1324630656, 1428339328, 1548231936, 1812635264, 1461646208, 1842976512, 1456660608, 1142789632, 1138938496, 1081688832, 1528880384, 1395207424, 1354670720, 2137556736, 2035454080, 1336914560, 1421619968, 1231308160, 1291563392, 1090670848, 2063144576, 1168927872, 1498386688, 1942875264, 1241434112, 1222096128, 2141065216, 2100153600, 1704343296, 1383248128, 1325503360, 1518598400, 1083840000, 1989388032, 1664579712, 1642264320, 1129085312, 1077093760, 1457663872, 2116152192, 1256352000, 1307675520, 1477951488, 1540502528, 2093544704, 1074019712, 1112524288, 1318742400, 1121538432, 1949019136, 2057581184, 2137415296, 1321701248, 1571258112, 1375501952, 1413632512, 1851117568, 1690793984, 1576410240, 1477281024, 2076730752, 2098976384, 1588041088, 2087348480, 1631651200, 1567585536, 1116947840, 1644117120, 2099020800, 1478022912, 1613163264, 2022165504, 1453710208, 1243680640, 1696126976, 1487448832, 1441944832, 2000364672, 1871806336, 1698944768, 1275746048, 1406417280, 1307553152, 1128807680, 1870139904, 1901164416, 1921164032, 1968302720, 1964932224, 2025209856, 1380337536, 1182371456, 1590919040, 1408225920, 1547672576, 1887731584, 1618536576, 1347294976, 1421566080, 1914668544, 2071884416, 1480803200, 1704952832, 1810278272, 1324884864, 1799750144, 1136624128, 1545020800, 1493600896, 1384084736, 1291054208, 1326295168, 2115037568, 1148090624, 1830250496, 1577421056, 1164080640, 1582292096, 1517113216, 1866389632, 1732268032, 1404958720, 1592325632, 2111139072, 1203900032, 1880232704, 1116808448, 1629713408, 1324806656, 2081136000, 1503524352, 1470965120, 1257750912, 1750924416, 1309661056, 2024432256, 1301579648, 1614358144, 1628184320, 1104714368, 1890524672, 1088361984, 1676791808, 1108877568, 1962304256, 1776165888, 1630443264, 1236361472, 1985281536, 1973020032, 1341831808, 1856547456, 1143660032, 1906840192, 1455569408, 1536035840, 1077593728, 1577557248, 1777319680, 1168016256, 1139555072, 1183016448, 2038262528, 1135458176, 1128410752, 1308874624, 1482897152, 1406526464, 2069204224, 1250056320, 1925182592, 1513034240, 1347126528, 2090080896, 1342029056, 1494211200, 1615830400, 2050540928, 1381534720, 1612257024, 1355307520, 2023093376, 1950786944, 1926770304, 1285748864, 1262710016, 2130027264, 1730179584, 1167122432, 1720242944, 1221625344, 1607083008, 1210775680, 1970447872, 1612754816, 1256272256, 2044262016, 1338385920, 2075044480, 1334557824, 1090774784, 1813639808, 1317204992, 1476258560, 1104015872, 1127315328, 1333024256, 1258663168, 1871229312, 2030067200, 1595084160, 1179693056, 1283247232, 1670701312, 1897335424, 1553149696, 1886044800, 1645635200, 1706752000, 1211917056, 1498290688, 2134677760, 1183681536, 1268240768, 1447510656, 1971547008, 1145949696, 1313505280, 1950129792, 1148435968, 1165694208, 1237345280, 1483751936, 1801571072, 1097120384, 1401940352, 1330615296, 1705073536, 1604084224, 1417843456, 2117119360, 1302446208, 1291089024, 1494487168, 1622017920, 1147139200, 1410650368, 1978442368, 1790058112, 1981535360, 1348667136, 1478944000, 1906948864, 2100940160, 1121178112, 1473618816, 1413155968, 1989458816, 1810968832, 1747600256, 1918919424, 1278989440, 2001803520, 1955929472, 1954141824, 1138028928, 1739820032, 1266744704, 1195673472, 2029049088, 2063678976, 1971632896, 2090397824, 1531063040, 1374868864, 1140667776, 1791052288, 2126412160, 1088667648, 1948936192, 1175212672, 1693253248, 1227053952, 2065003648, 1702205696, 1595237120, 1647348224, 1779176064, 2127714304, 2048759296, 1407430656, 1599706112, 1236049664, 1531689472, 1392830592, 1451635968, 1890643840, 1123362688, 1333248512, 1645262592, 1488078208, 1086943104, 1085406976, 1575686784, 1947135616, 1512941952, 1936627712, 1084275840, 1450066048, 1314793344, 1619173632, 1176322048, 1941232896, 2117891968, 1576709248, 1634000256, 1211470720, 1318463360, 1336795008, 1862756352, 1182085248, 1375171072, 1219435392, 1701394560, 1177362304, 1681289600, 1586181248, 1706500736, 1748124032, 1616077312, 1310341632, 1478381824, 1810736640, 1854406400, 1861419136, 1089021696, 1501330304, 1537285504, 1975816576, 2129237504, 1280353024, 1123074304, 1357261952, 1410087936, 1189675136, 1458211840, 1364228608, 1092702848, 1660906496, 1772419200, 2065831040, 1431565824, 2041053568, 1629780864, 1263949056, 1472471296, 1594231936, 1402198400, 1211562368, 1237120896, 1177474432, 1719724032, 1999949696, 1784405376, 1855913728, 1327917056, 1298322304, 1363918976, 1275481856, 1127803776, 1849504000, 1386902272, 1427147648, 1606088576, 1541274880, 1673106688, 1613124736, 1116059904, 1857224704, 1077747840, 1549349248, 1899398912, 1172396032, 2129005184, 1746182016, 1412822528, 1110403712, 1472787840, 1118336768, 1145747968, 1856293120, 1587595136, 2042726784, 1727663744, 1507801088, 1911947648, 1779654016, 1444194304, 1652175872, 1454280448, 2061984896, 1858814848, 1304590976, 1871396224, 2125043712, 1229031168, 1721940736, 1925126144, 1094107008, 1615747584, 1502960640, 1543286784, 1369128192, 1128734336, 1248649600, 1958710400, 1686996864, 2090372608, 1345378688, 1212873984, 1251541632, 1108334592, 2069513728, 2048659200, 1249190400, 1888434432, 2092060544, 1995236992, 1164003200, 1462621824, 1804787584, 1116472064, 1815660544, 1229145088, 1454621312, 1206824192, 2006287744, 1189408384, 1838583040, 1730830336, 1679953536, 1556929536, 1428471808, 1101854080, 1423366016, 1613869568, 1551521920, 1396620032, 1342754816, 1119458048, 1582117760, 1419929216, 1079454080, 2057849984, 1782640000, 1360245376, 1988136192, 1334954880, 1383872384, 1763537024, 1948971008, 2100883584, 1484947200, 1659419136, 1207214336, 1937346688, 1103599872, 1479588096, 2076701056, 1390309248, 1549281664, 1536621824, 1505047296, 1357328128, 1294430208, 1762527232, 1767378048, 1116686592, 1153000960, 1243560064, 1490173184, 1370029696, 1236472448, 1447974528, 1496744576, 1224719488, 1434018176, 1278124672, 1353931264, 1437034496, 1474430592, 1400645888, 1110227072, 2120824704, 1224958336, 1466508416, 1548867712, 1822734336, 1294429824, 2069906048, 1433853440, 1624229760, 2079234048, 1742472064, 1516971904, 1528147328, 1421091456, 1273004800, 1179531392, 1234221312, 1136185728, 1445989888, 2094913280, 1599395712, 1791604992, 1403630592, 1474664320, 1768213376, 1713822720, 1500330112, 1296268544, 2125024896, 2101650176, 1749184640, 1573112704, 2077664384, 2100398592, 1621465600, 1965328128, 1078599296, 1163057408, 1300823680, 1805528704, 2108878976, 2142528256, 1163686656, 1329660544, 1323754240, 1113913088, 1703341440, 1612894336, 1103299584, 1504003968, 1957428864, 1111191936, 1320110208, 1304543872, 1101529600, 1624035200, 1330086656, 2004604544, 1487996672, 1112830208, 1554613760, 1092960768, 1255614464, 1345989888, 2049898368, 1513281024, 2146589824, 1368726016, 1381226240, 1957896064, 1169460480, 1154224000, 1399350784, 1105879936, 1936914816, 1309440768, 1096054400, 1850190336, 1987884800, 1338305536, 2089781760, 1241414528, 1282956416, 1151634816, 1441446656, 1510515072, 1683821184, 2081288064, 1312043776, 1453351296, 1420402176, 1647891072, 1376981760, 1856906496, 1167255680, 1313952640, 1201977600, 1098172032, 2028211840, 1458069760, 1404653568, 1177351296, 1792942336, 1255244800, 1782158080, 1186329984, 1597115136, 1907127040, 1266959616, 2069180800, 1418146432, 1595205632, 1929639168, 1631504128, 1253060992, 1873206400, 1358802048, 1284044800, 1404812928, 1851506432, 1651393536, 1818599680, 1676982656, 1694620672, 1650263552, 1815705600, 1186528640, 1616449664, 1773810816, 2002320000, 2005860864, 1731067264, 1871318656, 1327839360, 1280538880, 1521500160, 1114969088, 1593288832, 1495482880, 1098536192, 1203519744, 1583294848, 1433006464, 1688293504, 1604828416, 1159057408, 1907266816, 1951809408, 1227492608, 1667358336, 1732580096, 1129482880, 1444207232, 1721902592, 2109398272, 1561485440, 1932016000, 1130751616, 1377715584, 1469184512, 1363321856, 2113254528, 1753923584, 1465100672, 2028281856, 1671439232, 1393829632, 1419463808, 1267757184}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {547, 435, 1095, 554, 763, -874, -695, 279, 1432, 376, 621, -412, 1054, -1060, 719, -642, 1692, 291, 8, 765, 2283, 29, 194, 1531, -695, 507, -290, 2341, 3182, 1998, 1190, -1653, -1207, -196, 374, 94, 1530, -26, 530, 1245, 1953, -168, 1622, 1577, 375, -162, 875, 1289, 1089, 155, -209, -876, 2903, 1070, 878, 1714, 1478, 336, -824, 416, -1461, -501, -338, 915, 218, 1311, 324, 1577, 2416, 1960, -13, 948, 1865, -295, 1178, 1063, 719, 110, -972, 300, 1245, 420, 408, -1440, 47, -464, 3279, 379, -212, 39, 1761, 320, -2061, 570, 1811, -4, -1984, 4078, -496, 1020, 1533, 351, 51, -1119, -1415, 1683, 554, -908, 88, 877, 870, 134, 177, -245, 14, 1569, -56, 2017, 1811, -14, -836, 1704, 1907, 382, 2525, 873, 1296, -286, -15, 1039, 476, 1106, 1110, 498, -305, -213, -599, -979, 1443, -29, -1456, 1177, 1862, 406, 63, -686, -1357, -273, -323, 1153, -1100, -163, -1623, 323, 619, 537, 588, 284, 346, -346, -755, -1781, 703, -1274, -1500, 1696, 2577, 216, 120, -246, 377, 2207, 1722, 65, 1197, 691, -35, 1495, 5269, 2509, -405, 2912, -1477, -1451, 1171, -940, 705, 1598, 1292, 1709, -539, 2110, 1448, -600, 88, -636, 912, 3209, 880, 454, 1015, 1493, 939, 1022, -411, -771, -1518, 1223, 1180, 1582, 945, -86, -248, 302, 497, 1652, -13, -976, -1226, -1823, -919, -1125, 1548, -796, 2501, 1672, 1064, -1531, -638, 1085, -139, 1021, 1740, 809, 1091, 1679, -768, -880, -658, 1547, 1471, 1553, 80, 1468, 69, -293, 754, -107, 189, -1218, 949, -1012, 1522, 1275, 798, 688, 1726, 708, 1585, 82, -835, 749, 1338, 222, 538, 691, 248, 841, -123, -78, -931, 932, 1770, -348, 390, 660, -946, 2938, -216, 61, 1060, -79, 772, 1344, 1747, 3079, 1043, 401, 141, 2997, -59, -1508, -1327, 876, 1751, 645, 685, 494, 1544, -1020, 2358, 1336, -690, -379, -1138, -71, 1472, -306, 256, 652, -667, 1761, -193, 514, -819, 386, -961, 742, 219, 3233, 1082, -215, 788, 808, 1409, 1659, -1111, -1069, 663, 1649, 1751, 934, 2072, 69, -988, 1392, 2938, 300, 1071, -22, 536, 926, -1033, 645, 145, -696, 563, 432, 617, -1261, -298, 873, 477, 2665, -479, 427, -296, 431, 1766, -527, 653, 1470, 2026, 483, 2462, -640, 1476, 1619, 988, -699, -899, 1503, 202, 560, 3494, 1052, 1463, -1836, 2354, 810, 137, 385, 525, 2122, 3078, 272, 798, 749, -139, 1002, -132, 944, -217, 315, -36, 1528, 1344, -731, 1791, -403, 682, 1691, 1736, 111, -487, 1292, 777, -619, 468, 614, -1517, -565, -211, 3410, -1031, 763, 548, 1370, -1154, 625, 1472, -1072, 2105, -506, 788, 2072, 274, 2904, 1944, -1077, -851, 2104, 454, 1800, 59, 525, -1262, -1734, 1106, -597, 1494, 3291, 1042, 904, 1296, 1047, 1122, 187, 2542, -1471, -727, 521, 2771, -986, 313, 2690, -762, 141, 314, 435, 587, 1209, 712, 257, -1016, 122, 1033, 1244, 1766, 486, 1720, -15, -635, -1926, -568, -775, -727, 1482, 283, 2376, -193, 1155, -673, 548, 593, -2449, 453, 2186, -411, 1389, 738, 2289, 134, 1380, 450, -2057, 1672, -1721, -2200, -493, 591, 354, -1390, 2688, -1150, -866, 1409, -400, 1591, 432, 594, 4, 84, -399, 2127, 1437, 1116, 1572, 305, -2844, 451, 1121, 1752, 147, 1342, 1126, -859, 709, 1908, -396, -459, 3014, -79, 576, 2605, 1699, 675, 1709, -265, 917, -154, 586, 2509, -172, -348, 1326, -441, 1714, -1213, 391, -195, 2284, 622, 1378, 87, -471, 434, -1356, 1093, -437, -1359, 540, -76, 997, 2031, 3331, 2995, -22, 3193, 571, 4598, -762, -156, -51, 715, -1838, 989, -876, -184, 412, 148, 44, 168, 2751, -535, -585, 1028, 1043, -463, 1344, 1019, -203, 428, 3162, 1418, -327, 2658, -1169, -2003, 4220, 1020, -265, 173, 466, -215, 1767, 1069, 796, -458, 1204, 853, 1079, 1176, 2179, 1771, 683, 99, -1796, 2970, 604, -1438, 2283, 1737, 1238, 540, 1183, 2477, -964, -633, -1473, 236, 456, 1264, 583, 872, 364, -1495, 1167, 203, 2892, 595, 257, -535, 1355, 2224, -1051, -155, 2572, 955, -2083, 433, 1581, 1857, 716, 395, 1201, 177, 1392, 1578, 2754, 572, 286, 169, -39, 118, -1231, -328, 1306, -481, 558, 12, 373, 1345, -1335, -453, -112, -34, -862, -153, 365, -893, -598, -602, -97, -66, 312, 176, 2328, -1554, -134, 694, -254, 655, 499, -2118, -448, 630, -631, 1877, 486, 229, -915, 755, 2556, 1096, 1493, -1441, 632, 105, 1833, 1675, 583, 339, 2380, 622, 880, -963, 139, 1872, -720, 1436, 3375, -2435, -1461, 1163, -129, 727, 461, 1142, 549, 191, 1464, 3294, 1434, 1274, 1419, -1013, 1617, 849, 327, 1378, 1376, -1081, -451, -374, -332, 830, 211, 1439, -1192, 1965, 1611, -2254, 393, -2286, -545, 1113, 429, 568, 274, 565, 190, -810, -240, 2016, 82, 533, 887} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-8, -9, -8, -8, -8, -7, -8, -7, -8, -8, -9, -8, -7, -9, -10, -8, -9, -9, -7, -7, -8, -6, -7, -9, -7, -10, -8, -8, -9, -8, -8, -7, -8, -9, -8, -9, -9, -8, -7, -9, -9, -9, -8, -8, -8, -7, -9, -8, -8, -9, -7, -8, -9, -7, -8, -9, -8, -8, -8, -9, -10, -9, -8, -8, -7, -8, -10, -9, -9, -8, -8, -8, -8, -8, -7, -7, -8, -7, -9, -8, -7, -8, -8, -9, -8, -8, -7, -7, -8, -8, -7, -8, -7, -8, -8, -8, -6, -8, -8, -10, -8, -10, -7, -8, -8, -9, -8, -9, -7, -7, -9, -8, -9, -7, -8, -9, -7, -9, -8, -8, -8, -9, -7, -9, -7, -8, -8, -7, -7, -10, -9, -8, -7, -8, -8, -8, -8, -7, -8, -7, -8, -8, -9, -7, -9, -8, -8, -7, -7, -7, -8, -8, -7, -9, -8, -7, -7, -7, -10, -7, -7, -7, -7, -9, -8, -8, -8, -8, -9, -8, -8, -9, -8, -7, -9, -9, -7, -7, -8, -8, -9, -8, -7, -8, -7, -8, -8, -9, -8, -9, -9, -8, -9, -7, -8, -7, -8, -9, -8, -9, -9, -8, -8, -8, -9, -8, -7, -8, -9, -8, -7, -8, -7, -8, -9, -8, -8, -9, -7, -7, -8, -8, -8, -8, -9, -8, -7, -7, -9, -10, -10, -7, -8, -8, -9, -8, -10, -8, -7, -8, -7, -8, -9, -8, -8, -9, -9, -8, -9, -8, -7, -8, -8, -8, -8, -9, -9, -10, -9, -9, -8, -7, -8, -8, -9, -8, -7, -7, -7, -9, -7, -7, -10, -8, -9, -8, -7, -9, -9, -8, -8, -7, -8, -8, -9, -9, -10, -8, -8, -8, -7, -9, -8, -7, -9, -9, -8, -9, -8, -8, -9, -9, -7, -8, -7, -8, -7, -7, -9, -8, -7, -7, -7, -8, -8, -7, -8, -8, -9, -9, -7, -8, -8, -9, -8, -9, -8, -8, -7, -7, -10, -7, -8, -9, -7, -9, -7, -9, -7, -7, -8, -7, -8, -9, -9, -8, -7, -9, -9, -8, -7, -9, -8, -7, -8, -8, -7, -9, -7, -8, -7, -8, -8, -7, -9, -8, -7, -8, -10, -7, -8, -8, -7, -9, -8, -9, -8, -7, -8, -7, -10, -8, -9, -8, -7, -8, -8, -7, -8, -8, -9, -7, -8, -8, -9, -7, -10, -8, -8, -9, -7, -8, -9, -8, -6, -8, -7, -8, -8, -9, -7, -10, -8, -7, -9, -7, -8, -9, -8, -7, -8, -8, -9, -9, -8, -9, -7, -8, -7, -8, -8, -7, -7, -9, -8, -8, -7, -10, -10, -8, -9, -9, -8, -7, -9, -7, -7, -7, -8, -8, -7, -7, -9, -9, -8, -9, -8, -7, -9, -7, -8, -7, -8, -7, -8, -8, -10, -7, -8, -9, -10, -9, -8, -8, -8, -8, -7, -10, -9, -8, -9, -7, -7, -8, -8, -9, -8, -9, -9, -8, -8, -7, -8, -8, -8, -11, -8, -9, -8, -7, -8, -7, -7, -8, -8, -8, -10, -8, -7, -8, -8, -9, -9, -10, -8, -9, -7, -9, -9, -8, -7, -8, -9, -8, -10, -8, -8, -8, -10, -8, -6, -7, -7, -8, -7, -8, -9, -8, -7, -8, -8, -7, -8, -8, -8, -8, -7, -8, -8, -8, -9, -7, -6, -8, -8, -8, -9, -8, -9, -7, -9, -8, -12, -8, -8, -8, -9, -8, -8, -8, -9, -9, -8, -9, -8, -8, -8, -8, -9, -8, -7, -7, -9, -9, -9, -8, -9, -9, -8, -9, -8, -8, -10, -7, -9, -8, -9, -8, -8, -7, -9, -8, -9, -8, -8, -8, -7, -10, -9, -7, -8, -8, -9, -9, -8, -8, -8, -8, -8, -9, -8, -8, -8, -9, -8, -8, -8, -8, -8, -9, -9, -7, -10, -8, -10, -8, -9, -7, -8, -7, -8, -7, -7, -7, -8, -8, -8, -8, -8, -8, -10, -6, -9, -9, -7, -9, -7, -7, -8, -8, -8, -9, -10, -9, -9, -7, -7, -8, -8, -10, -7, -8, -8, -8, -7, -8, -9, -8, -6, -8, -6, -8, -7, -8, -9, -9, -9, -7, -7, -8, -7, -9, -9, -8, -7, -8, -10, -7, -8, -9, -8, -8, -7, -8, -7, -8, -9, -9, -8, -8, -10, -8, -8, -9, -8, -8, -8, -9, -9, -8, -9, -9, -9, -7, -8, -8, -8, -7, -9, -8, -8, -8, -7, -8, -10, -9, -8, -8, -8, -8, -8, -8, -7, -8, -8, -7, -7, -8, -9, -8, -8, -8, -7, -8, -9, -8, -8, -8, -9, -7, -6, -8, -8, -8, -9, -8, -8, -8}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {2034719488, 2088759936, 1931856896, 1837065344, 1142760832, 1901546240, 1160885632, 1082294656, 1397155072, 1097731072, 1397016064, 2056410240, 1132797824, 1145481600, 1379001600, 1272424192, 1142234496, 1137273088, 1137575296, 1162351488, 1144563200, 1126105216, 1971384192, 1163678848, 1512769280, 1484626560, 1152672640, 2064880640, 2120867712, 2131622912, 1970881920, 1976542208, 2075062272, 1198819712, 1956129280, 1374404864, 2116700160, 2125197824, 1265881728, 1370686848, 1078963968, 1339126144, 1889767168, 1191382528, 1244193536, 1300429952, 1274706944, 1102850816, 1250041856, 1150903808, 1153827072, 1213327872, 1104061056, 1204856192, 1265767808, 1178220928, 1278795776, 1088160512, 2142438912, 1098071936, 1498698752, 1109878272, 1145428224, 1936737024, 1188915456, 1908801536, 1325996032, 1313279744, 1152863616, 1297403264, 1971117824, 2025063680, 1987980672, 1130376704, 1284395776, 1103262976, 1981143424, 1126126080, 1157552768, 1182144512, 1996699520, 1088403840, 1134411264, 1132408192, 1156488704, 1240301952, 1969337216, 1191826048, 1163060992, 1116026240, 1108845440, 1359314048, 2075338880, 1227863424, 1251533696, 1972920448, 1236453888, 2051507200, 1136104448, 1445696512, 1197127040, 1261716224, 1105976064, 2068394368, 1162967680, 1115874048, 1141202048, 1183373312, 1193286656, 2015903104, 1202943488, 1894544896, 1208800256, 1189068288, 1988579456, 1214504704, 1204362624, 1254956672, 2145032192, 1999384320, 1897456000, 1138890880, 1115115008, 2055056896, 2032941312, 2082130304, 1380347648, 2144234240, 2109786752, 1591772288, 1143091200, 2080582016, 1285922048, 1094006656, 1300314624, 2069798272, 2035692672, 1080338176, 2053657216, 2022419328, 1221863936, 1946941056, 1887459840, 2076263424, 1094856064, 2058196352, 1917138560, 1267313152, 1197775744, 1205690624, 2092493568, 1196510464, 1091075712, 1305110400, 1254305920, 1235224064, 2074446592, 1131221120, 1411411200, 1285467008, 1185238016, 2110312192, 2030614656, 1231801088, 2012042368, 1314454016, 1119848448, 1130992256, 1139293184, 1154604416, 1178410240, 1160031104, 1140994560, 2045592192, 2120803584, 2028157440, 2067727616, 2033903744, 2075806592, 2042488064, 1109647616, 2085125632, 1854287360, 1172386176, 1985124608, 1119742976, 1259225984, 1388145152, 1306796672, 2138320128, 1085672320, 1087211520, 2114742144, 1113131776, 2076189696, 2089693568, 1185409920, 1110124032, 2090283520, 1736625024, 2146583296, 1205084416, 1910920064, 1283595136, 1131510016, 1104640768, 2031398912, 1108302336, 1199087232, 2103461120, 1125219072, 2126164736, 2142950528, 2040258048, 1475381888, 1850331008, 2138568192, 1102243840, 1141551360, 1132289792, 2064696576, 1176952832, 2048696192, 1155646080, 1146350592, 1111024512, 1302406144, 1093733504, 2034976384, 1335771904, 1533690624, 1996984704, 1914853888, 1201149184, 1953764352, 1187978240, 1846047104, 1169987840, 1076926720, 1802118784, 1115995264, 2097645696, 2102669952, 1470200832, 1708756864, 1957576448, 1185192960, 2024701952, 1198940288, 1884414720, 1100766592, 2058273536, 2015198848, 1178975616, 1988972672, 1193521152, 1285077888, 1296853504, 1190928640, 1136702976, 1236519552, 2134447744, 1970056704, 2022143872, 1373031296, 2126919168, 1928126720, 1221995648, 1080302208, 1253396992, 1916934784, 2012971520, 1448119552, 1977251584, 1150047360, 1913789184, 1216425088, 1344034176, 1116654208, 1172060288, 1123440896, 2135526016, 1234619648, 2054001024, 2084044672, 1212191360, 1180419200, 1078886784, 1994401024, 1924757120, 1954300544, 1249571328, 2085243648, 1135991424, 1191040768, 1607393152, 2072650112, 1718836352, 1929470080, 2058802176, 1165333120, 1289384832, 2062000384, 1097984640, 1237828480, 2132025216, 2090837376, 1140861696, 1118233984, 1970167552, 1105700352, 1983179392, 1087315200, 1960270336, 2057892352, 1241158656, 1867597568, 1339078272, 1384926336, 1164769280, 1686720512, 2128700288, 2058112256, 1284821376, 1612396672, 1123893888, 2058901632, 1979533312, 2016252032, 1099677824, 1331280000, 2050738560, 2098190976, 1228331776, 1247581568, 1837486208, 1163065984, 1279782912, 2051775872, 1225292672, 1165593472, 1080178816, 2135566720, 1081522304, 1320585728, 2080226304, 1087293312, 1433611392, 1173546880, 1113115136, 1083330048, 1359525888, 1093287296, 1346554752, 1784886784, 1225937280, 1257405440, 1945786752, 2112267392, 2121147392, 1280137344, 1167964544, 1422536320, 1959388928, 1227928704, 1271883776, 2031959936, 2072822528, 1300202624, 1098215040, 1442243456, 1098524032, 1381235584, 1162549888, 1096044672, 1261855232, 2069961216, 1180601728, 1131025920, 1245172608, 1321718400, 2095354112, 1285513600, 1977372288, 2138840960, 1149631360, 1256625664, 2012695296, 2121981824, 1982606080, 1219505536, 1150579456, 1906297216, 1134045056, 1150682368, 1183258368, 1433558016, 1112017664, 1964294144, 2008866048, 1271056128, 1113012480, 1324477440, 1242246016, 1106378496, 1139010048, 2056630144, 2061925376, 1094943360, 2116188544, 1238861952, 1357253760, 2030901632, 1233106944, 1168746240, 1237438976, 1168207232, 1317643904, 1125152000, 1157513472, 1227716352, 2113576704, 1396871296, 1231885952, 2127339264, 1115921024, 1891824000, 1770701440, 1783435136, 1080722816, 1073931008, 1319825408, 1534689408, 1076204160, 1332003456, 1228036864, 1189205248, 1259076992, 1425934976, 1101422208, 1229165440, 1239225344, 1076142208, 1088079488, 1343201408, 1079641984, 1225657344, 1154932224, 1147048704, 1124507648, 1310575744, 1863961984, 1994015488, 1514129024, 1319626112, 1177133824, 1126673152, 1089321600, 1389336832, 2055461120, 1923769728, 2097041920, 1195356160, 1180097408, 1242900864, 1264585472, 1486926336, 1454203008, 1214437504, 1172479616, 1179315584, 1984103808, 1157127680, 1278116096, 1400662784, 2141383168, 2095514368, 1233678208, 1433984640, 1205100928, 1085740160, 1195796096, 1980057984, 1350519936, 1194936576, 1163890176, 1892645120, 1148232320, 2006138880, 1867098240, 2086773120, 2081111680, 1240924416, 1154295552, 1090409856, 1536128896, 1959918592, 1951699712, 1996014592, 1726550784, 2083504128, 1076034816, 2119780608, 1109340544, 1219442944, 1091216512, 1361662976, 1523812608, 1076899328, 1362069120, 2034701952, 1197189504, 1370440448, 1620860160, 1929008000, 1086847488, 1168058240, 1218718592, 1090696832, 1174547968, 1715897088, 1150934016, 2039772032, 1093427712, 1404519424, 2074841088, 1080390272, 1968657152, 1544148480, 1219433856, 1247639680, 1382252544, 1094395392, 2027094784, 2055213312, 1159804672, 1090250752, 2068114304, 2140118144, 2134485888, 2103257344, 1402972160, 1091477248, 1112084096, 1994890368, 1148152064, 1169145856, 1202829824, 1210955520, 1110913024, 2058466048, 1143567872, 1133592448, 1937126144, 2031633920, 1345642240, 1246313216, 1282558080, 1412833152, 1896572800, 2062246400, 1185930752, 1255207680, 1146199936, 2005376768, 1998031104, 1233765248, 1171370240, 1083570944, 1426143872, 2137800064, 1263068288, 1156789376, 1996232960, 1369455872, 1082024064, 1098423552, 1150232704, 1169335680, 2093574016, 1932931200, 2064144384, 1262849920, 2078489472, 1919325952, 2021236992, 1383650048, 1418695424, 1339838976, 1200307968, 2036472960, 1166145536, 1630854400, 1189099264, 1320561280, 1268319616, 1124802688, 1819913344, 1894477952, 1198995456, 1264077952, 1190439808, 1383213824, 1375338240, 1134186624, 1166997632, 1161829888, 1390655744, 1473855488, 1277897856, 1204185984, 2022571648, 1149926656, 1137550336, 1197973120, 2120877568, 1259723904, 1816041728, 1102013056, 1197238272, 2013385472, 2026421248, 1966731392, 1202598912, 1135915264, 1112316544, 1916023040, 1119554816, 1108299392, 1318017536, 1096371712, 1348869888, 1463112320, 1115220608, 1574533248, 2021656192, 1910549888, 2132665216, 1856993024, 1100806528, 1271148800, 1106991872, 2004951424, 2053903488, 2131624064, 2102430720, 1261813120, 2045336704, 1114959232, 1949046400, 1336742016, 1272828800, 1244883200, 1423431936, 1156010752, 1922783488, 2083761280, 1456863872, 1876333824, 1343763840, 1134532864, 1266385792, 1363959552, 1166779008, 1287851904, 1142698112, 1139790592, 1298023552, 1086913152, 1515369728, 2065226496, 1729134208, 1184040064, 1313431808, 1093144832, 1183017088, 1236044544, 1103588480, 1292439936, 1082979584, 1394812928, 1192978048, 1111886592, 1204265984, 1987730688, 1502808320, 1286789120, 1139352192, 1358324736, 2084781056, 1171433472, 1100985472, 1161628800, 1158252672, 1113613824, 1549310720, 1200631808, 1109640448, 1100607488, 1480899584, 1222634368, 1168223616, 1116647424, 1252081024, 1103284480, 1211814400, 1502041728, 1103044224, 1973035520, 1338719872, 1247601920, 2126372736, 1158193024, 1365894656, 1205847808, 2147165696, 1228612992, 1255317632, 2104955648, 1170753664, 1160555264, 1198454656, 1912207616, 2097991680, 1179194240, 1465178880, 1997856512, 1409244544, 1346857600, 1412055040, 1369246976, 1081528704, 1191464832, 1331253504, 1360248448, 1090583552, 1874983936, 2070463360, 1269503360, 1119066112, 1962765824, 1976261760, 1277548928, 2037701504, 1184786944, 2131969024, 1216195200, 1152693888, 1123138944, 1174855424, 1132476160, 1094132352, 1126781824, 1897172352, 2043779968, 1081284992, 1132798208, 2044535168, 1199147136, 2041249664, 1240751104, 1093128192, 2079016064, 1351607168, 1140299392, 2095744000, 2051609088, 2069614592}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-122, 121, -353, -428, 208, -108, -175, 90, 16, -231, -239, -433, 1, 42, -169, -49, -31, -96, 115, -53, 137, 315, 203, -65, -8, -148, 99, -167, 189, 201, 48, -45, 161, -188, -5, -376, 7, -144, 183, 124, -21, 128, 86, -310, 161, 72, -3, 46, -391, -84, 267, -211, 228, 277, 17, 16, 151, -51, 237, 340, 63, 288, 48, 242, 282, 158, -162, -140, -30, 68, -407, 81, -17, 150, -151, 333, 84, 294, 289, 256, -261, -84, 21, -692, -345, 113, -227, 216, -88, 367, -140, -222, 64, -55, 117, -195, -55, -432, -679, -429, -424, -357, 76, 186, 39, -128, 128, -253, -379, -752, -348, 656, 107, -73, 118, -792, -69, -78, 12, 8, -249, -163, -72, -360, 80, -183, -347, -299, -280, -175, -474, -345, -197, -22, -715, -653, -401, -482, -467, -500, -356, -310, -603, -257, -269, -197, -168, -569, -346, -273, -39, 456, -659, 203, -102, 151, 185, -274, -219, -80, -81, 406, 586, 261, -98, -286, -194, -402, 104, -87, 109, 625, 110, 17, 489, -293, -100, -10, 409, 127, -15, -32, 287, -314, 378, 325, 105, 102, -122, 90, -125, 367, 181, -103, -86, 670, 169, 170, -254, 414, -531, 126, 225, 408, 398, 21, -427, 84, 23, 427, -245, 137, -80, -38, 149, -37, -34, 348, 98, 170, -159, -352, -40, 748, -172, 258, -144, 38, -385, 314, 46, -375, -11, 86, 203, -187, 218, 413, 321, 503, -88, -232, 156, -108, -28, 433, -43, 247, -248, -113, 128, 324, 16, -170, 592, -218, 101, 135, -95, 154, 98, -171, -75, 222, 286, 131, 11, -63, -324, -93, 316, -291, 339, -108, -285, -408, 25, -184, -139, 211, 41, 328, -227, -332, 363, 158, 144, 27, -182, -182, -232, -348, -42, -328, 72, 71, -13, -72, 81, 18, -402, -178, -288, -49, -419, 316, 230, -289, -239, -297, -187, -124, 108, 423, 467, 311, -125, -297, 57, -242, -372, -585, -607, -439, -268, -566, -464, -208, -262, -146, 63, -41, 27, 166, -28, -33, 231, -145, -339, -244, -56, 102, -85, -148, -135, -35, -34, -134, -167, -233, -42, -444, -264, -317, -46, -111, 206, -9, 97, 421, -60, 224, 69, 79, 45, 167, 68, 278, -182, 111, -127, -170, 18, 137, -37, -273, 36, -83, 180, 188, -223, 14, 63, 38, -580, -79, -180, -254, -319, -117, -167, 118, -436, -422, -216, -107, -572, -245, -133, 325, 8, 438, 32, -8, -591, 77, -92, -154, -265, -345, 30, -262, 280, 358, 88, -40, 440, -357, 343, 281, -140, 381, -1, 407, 315, -11, -457, -215, 180, 5, 4, -69, -3, 14, 11, 76, 88, -122, 73, -170, 146, 41, -133, -20, 27, 309, 82, -18, 531, 128, 86, 90, -21, -83, -40, 178, 330, 298, -244, 357, -162, 284, 136, 122, 769, 211, -89, -145, 235, 145, 373, -58, -196, 230, -267, 72, -361, 255, 26, -86, 230, 79, -122, -415, -580, 1, -32, 223, -79, 25, -397, 217, 434, -407, 71, -338, 56, -633, 58, 207, -192, 97, 128, -119, 170, 0, 68, 46, -139, -314, -343, 49, 51, 82, 102, 250, 69, -167, -120, 286, -206, -191, -51, 570, -32, -162, 90, -101, -225, 476, 279, -125, -62, 231, 252, -80, -227, 17, -132, 567, -412, -189, 133, 113, -71, 338, 20, -512, -397, 247, -143, 36, 153, -199, -270, -229, -336, 184, 58, -13, -208, -135, -125, 504, -354, -44, -218, 197, 105, -166, 17, -128, 78, -11, 278, 225, 36, 79, 15, 190, -161, 48, -168, 107, 370, 135, -189, 347, -137, 198, -8, -192, 31, 364, 76, -521, 296, 427, -203, 165, 483, 166, 172, 145, -84, 78, 73, -72, 444, -71, 317, -400, -91, -24, 96, 120, 227, 187, 312, -324, 253, 58, 370, 921, -48, -65, 232, 423, -294, 240, 443, 2, 230, 477, 331, -143, 552, -92, 7, -375, -457, -59, 113, 62, 230, -283, 405, -232, 105, -34, 266, -126, 6, 98, 311, 658, 119, 64, 33, 94, 287, -151, 312, -80, 204, 391, 112, 37, -504, -232, 134, 325, -65, 210, 301, -261, -148, 379, 400, 155, 133, 127, 94, 337, 49, -239, 219, -263, -578, -290, -258, 33, 696, -178, -182, 273, 294, -76, -31, 9, 197, -103, 120, 372, 449, -253, 0, 70, -64, 88, 103, 393, 1, 98, 102, -56, 709, -325, 196, 441, 90, -51, 267, -116, -349, -202, 183, -310, 0, -35, -158, 448, 165, 68, -240, -106, 10, 93, 104, 212, 48, 217, -204, 320, -11, 116, 63, 19, 157, 351, 180, -34, 132, 101, -152, -244, 92, -370, 45, -4, 98, 197, -120, 117, 343, 267, -260, 15, -31, 192, 131, -74, 104, -65, 354, 97, 247, 697, 14, -125, -427, -223, 129, -35, 130, 367, -24, -95, 116, -127, -264, 323, 45, 104, 40, -187, -82, 98, -183, 353, -170, -247, -304, -108, -33, 115, -146, -105, -42, -188, -406, -201, 10, 206, -207, -185, 242, -99, 159, 268, -323, -74, 173, 364, 279, -9, -38, -503, 399, -326, 334, 35, -184, -217, 667, -210, 469, 488, 404, 64, 323, 174, 165, 247, 288, 564, -66, -94, 171, -125, 328, 36, 192, -2, -353, 256, -515, -181, 358, 265, -237, 343, -61, 67, -60, -68, -72, -85, 401, -144, 249, -578, 158, -234, -628, 91, 191, 8, -412, 369, 430, 9, 151, 131, -16, 1170, -254, -304, 95, -26, -214, -146, 29, 393, -166, 0, 161, 100, 281, -77, -302, -138, 180, 200, 118, 219, 264, 152, -260, 95, 48, 462, -8, 43, -285, -90, -253, -176, 23, 468, 158, 140, 38, 45, -366, -236, -430, -139, -163, 375, -18, -131, -39, -449, 91, -332, -64, -249, -407, -201, -64, -112, -58, -387, -285, -78, -250, -567, 1, -31, -103, -49, -55, -14, 119, -22, 2, -140, -49, -712, -35, 32, -207, -119, -236, -25, 250, 138, -10, 50, -307, 396, 72, -391, 133, 215, 175, 525, 216, -338, 253, 83, 525, -433, -1, 48, -336, 19, -154, -78, -121, -307, -388, -903, -195, -423, -418, -289, 33, 202} +#define FC28_W_Z (9) +#define FC28_IN_Z (0) + + +#endif /*__192_0_75_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/192_1_0_parameters.h b/Inc/intq-mobilenet-v1-models-pc/192_1_0_parameters.h new file mode 100644 index 0000000..4d05d2b --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/192_1_0_parameters.h @@ -0,0 +1,361 @@ +#ifndef __192_1_0_PARAMETERS_H__ +#define __192_1_0_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (192) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (32) +#define CONV1_OUT_DIM (96) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (96) +#define CONV2_IM_CH (32) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (32) +#define CONV2_OUT_DIM (96) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (96) +#define CONV3_IM_CH (32) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (64) +#define CONV3_OUT_DIM (96) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (96) +#define CONV4_IM_CH (64) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (64) +#define CONV4_OUT_DIM (48) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (48) +#define CONV5_IM_CH (64) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (128) +#define CONV5_OUT_DIM (48) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (48) +#define CONV6_IM_CH (128) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (128) +#define CONV6_OUT_DIM (48) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (48) +#define CONV7_IM_CH (128) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (128) +#define CONV7_OUT_DIM (48) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (48) +#define CONV8_IM_CH (128) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (128) +#define CONV8_OUT_DIM (24) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (24) +#define CONV9_IM_CH (128) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (256) +#define CONV9_OUT_DIM (24) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (24) +#define CONV10_IM_CH (256) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (256) +#define CONV10_OUT_DIM (24) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (24) +#define CONV11_IM_CH (256) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (256) +#define CONV11_OUT_DIM (24) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (24) +#define CONV12_IM_CH (256) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (256) +#define CONV12_OUT_DIM (12) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (12) +#define CONV13_IM_CH (256) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (512) +#define CONV13_OUT_DIM (12) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (12) +#define CONV14_IM_CH (512) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (512) +#define CONV14_OUT_DIM (12) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (12) +#define CONV15_IM_CH (512) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (512) +#define CONV15_OUT_DIM (12) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (12) +#define CONV16_IM_CH (512) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (512) +#define CONV16_OUT_DIM (12) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (12) +#define CONV17_IM_CH (512) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (512) +#define CONV17_OUT_DIM (12) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (12) +#define CONV18_IM_CH (512) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (512) +#define CONV18_OUT_DIM (12) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (12) +#define CONV19_IM_CH (512) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (512) +#define CONV19_OUT_DIM (12) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (12) +#define CONV20_IM_CH (512) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (512) +#define CONV20_OUT_DIM (12) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (12) +#define CONV21_IM_CH (512) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (512) +#define CONV21_OUT_DIM (12) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (12) +#define CONV22_IM_CH (512) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (512) +#define CONV22_OUT_DIM (12) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (12) +#define CONV23_IM_CH (512) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (512) +#define CONV23_OUT_DIM (12) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (12) +#define CONV24_IM_CH (512) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (512) +#define CONV24_OUT_DIM (6) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (6) +#define CONV25_IM_CH (512) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (1024) +#define CONV25_OUT_DIM (6) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (6) +#define CONV26_IM_CH (1024) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (1024) +#define CONV26_OUT_DIM (6) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (6) +#define CONV27_IM_CH (1024) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (1024) +#define CONV27_OUT_DIM (6) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (1024) +#define FC28_OUT_CH (1000) + + +#endif /*__192_1_0_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/192_1_0_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/192_1_0_weights_bias.h new file mode 100644 index 0000000..9419711 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/192_1_0_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __192_1_0_WEIGHTS_BIAS_H__ +#define __192_1_0_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {-3983350, 47489, -22826, 7414652, 10049, 200322, 92429, 96012, 388793, -5004289, 12993, 22689, -11987749, 64134, 12061, 7752, -1022254, 5620, 197812, -2522981, 757, 48574, 65599, 27649, 40401264, -15124153, -241, 39857, 71748, 125, 175619, 51526} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-94, -136, -135, -194, -130, -21, -142, -215, -222, -192, -148, -85, -216, -63, -118, -127, -245, -101, -18, -131, -101, -183, -202, -121, -126, -77, -126, -103, -93, -146, -60, -119}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1234865024, 1466959104, -1965781248, 1792065152, 1160554112, 1428260352, 1450336768, 1239305088, 1786975360, 1207503488, 1696681728, 2062418432, 1277885440, 1082226304, 1568408192, 1590072192, 1798755712, 1866109952, 1389202304, 1161584128, 1968394880, 1321043712, 1196854528, 1228187648, -1641774464, 1185101568, 1091943424, 2135532928, 1578862976, 1293790080, 1529304064, 1135158528}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {-545, -724, 4252, 79657, 2117, 1547, -11746, 1055, 586, 2010, 21049, 4437, -489, 12499, 18916, 3645, 273, 3358, 7038, 230, 71, 48501, 7306, -32325, 330, -169, -754, -6229, 2909, 354, 7160, 42505} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-213, -96, -132, -224, -52, -147, 94, -116, -135, -45, -127, 70, -183, -201, -176, -41, -75, -47, -101, -104, -53, -205, -201, 0, -87, -210, 53, -53, -113, -63, 375, -202}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {2146630528, 1270657792, 1284439424, -1516910592, 1777037440, 1527725952, -1467516288, 1235513600, 1122442752, -2038112256, 1545324800, 1798065920, 1105761280, 1465913472, 2078753280, 1190242432, -1809301376, 1543892480, 1120934272, -1978674944, 1303466624, 1522528256, 1211047424, 2034089472, 1963234048, 1183011456, 1511315584, 1746127360, 1075552000, 1424480384, -2013565440, 1732709504}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {957, 1423, -6308, 1143, -1315, -343, -2493, 490, 866, 245, -1720, -1832, -514, 334, 819, -819, -846, 1587, -3614, -1063, -3211, -1414, -1074, 940, 1119, -524, 161, -1188, 220, 821, -949, -136, -758, 2265, -3721, 2672, 935, 354, 59426, 1800, -36, 472, -321, 1968, -364, 148, -1020, 1191, 508, -466, -355, -1692, -613, 91, 1136, -838, -514, -409, -293, -1239, 650, 917, -35357, -421} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-48, -47, -68, -96, -29, -78, -114, -113, -129, -87, -42, -60, -71, -80, -100, -87, -36, -102, -46, -104, -44, -64, -62, -133, -136, -62, -127, -30, -44, -128, -60, -100, -64, -73, -22, -97, -74, -72, -151, -92, -133, -76, -49, -80, -74, -71, -81, -94, -109, -104, -99, -47, -35, -115, -132, -56, -57, -129, -106, -54, -155, -123, -109, -116}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1514869376, 1453964544, 1296314496, 1154984576, 1799170432, 1314203136, 1926350464, 1834291968, 2105482496, 1715525248, 1919094272, 1313330944, 1862663296, 1288843904, 1641309184, 2131969152, 1886306432, 1904909952, 1938077056, 1756505856, 1760440960, 1568526848, 1626326784, 1999213312, 2034614784, 1091905664, 1715448704, 1976777856, 1180765824, 1858926592, 1141778688, 1289225088, 1161151104, 1437004928, 1392403968, 1338127488, 1216510848, 1695565056, 1356448000, 1580291200, 1127049216, 2069746816, 1823005312, 1790202624, 1462829952, 1761436544, 1475944192, 1232472576, 1092192384, 1437574528, 1085913856, 1241224960, 1295644032, 1832956160, 1352938496, 1340892160, 1221259520, 1380828032, 1369072896, 1154540544, 1549090816, 1809051008, 1630729216, 1145256576}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {26, 567, -13, 97, 6327, -8122, 6098, 154, 3655, -3108, 11940, 76, 2735, 320, 430, 40, 1952, 3082, 356, 95, -6, -94, 581, 55, 33, 14, 99, 229, 194, 271, 304, 2118, 2803, 3405, 3384, -590, 1400, 166, 4174, 88, 5285, 76, 180, 3622, 140, -11, 6228, 8, 10664, 5, 19, -450, 1071, 50, 2051, 110, 192, 1084, 365, 2730, 493, 2853, -114, 2030} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-131, -96, -238, -118, -118, 64, -347, 42, -162, 84, -287, 25, -226, -49, -134, -86, -255, -184, 0, 50, -43, -29, -119, -125, -130, -132, 68, 132, -73, -120, -129, -343, -156, -177, -361, -48, -114, -124, -276, -103, -322, -135, -2, -211, -163, -109, -302, -98, -314, -148, -47, -12, -114, -80, -159, -42, -165, 53, -85, -160, 36, -362, -50, -154}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {2142967936, 1890023040, 1839995648, 1189922944, 1688205568, 1923823744, 1725927296, 1789066112, 1194105472, 1585337600, 1473302272, 1193291648, 2147080704, 2004838016, 1106844288, 1422616192, 1223089664, 2020421248, 1126694016, 1086199040, 2146838912, 1142117248, 1125023104, 1507376128, 2029350784, 1613920256, 1589920384, 2006346496, 1825239808, 2045514624, 1379763328, 1120000640, 1713393536, 1923019392, 1509319040, 1265582976, 1630170240, 1362864128, -1260831232, 1570797824, 1973152512, 1364407808, 1227612416, 1769871360, 1550477568, 2050913152, 1116022528, 2117771136, 1373506688, 1762933248, 1772926592, 1614324608, 1769560192, 1193502336, 1610425856, 2059699840, 1109255808, 1655060480, 1130439680, 1825259264, 1245293184, 2049100288, 1462047360, 1171641472}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {9990, 10436, -38434, -3321, -11685, 6898, -5763, 72858, -23187872, 21290, 3314, -30419, 36643, 64596, 52796, 5907, 62941, 59284, -6305, 10632, 20120, -10405, -25618, 32562, -2176, -24535, 11034, 26797, 83091, -318, -10522, -20697, 9870, 20917, 6999, -24503, 1905, 5735, 36482, 20927, 29262, -25364, -10564, 20605, 2018, 17395, 13476, 30666, 13267, 69960, -5112, -32932, 50360, 32848, -31744, 496, -26074, -15296, 64238, 2759, -1777, 15904, 23620, 77036, 45204, 8761, -17217, -11846, 8055, -22045, -18501, -8333, 636, -19509, 5152, -14152, 22553, 1862, 4629, -1386, 54414, 17411, 10544, -11371, 8598, 36239, -9377, -30746, 17632, 26740, -11533, 18552, -2430, 61005, -660, 26707, 32498, 9959, -2570, -15398, 7592, -15686, -107, 55244, 9929, 21566, 7828, 4816, 12926, 1686, 36292, 8435, 54145, -4101, 10315, 39909, -28, 35916, -10020, 52341, -12542, 4408, 52026, 31583, 21506, -3654, 29046, -6143} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-99, -143, -140, -141, -64, -102, -160, -132, -123, -184, -126, -76, -107, -142, -132, -106, -128, -100, -44, -144, -139, -91, -69, -144, -118, -101, -122, -96, -169, -127, -156, -134, -208, -162, -150, -122, -88, -150, -121, -106, -122, -164, -147, -161, -102, -163, -102, -96, -170, -153, -121, -133, -112, -116, -148, -175, -118, -137, -121, -184, -117, -87, -132, -148, -105, -97, -145, -77, -106, -85, -113, -118, -175, -34, -169, -86, -132, -118, -107, -144, -123, -205, -156, -216, -156, -105, -100, -110, -96, -127, -158, -138, -86, -127, -110, -122, -69, -85, -114, -108, -125, -128, -121, -178, -133, -109, -122, -180, -224, -97, -112, -106, -166, -110, -192, -174, -148, -220, -124, -132, -85, -145, -136, -96, -195, -100, -115, -109}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1968569472, 2020649856, 1482802560, 1241787264, 1421730560, 1314166272, 1860540160, 1675540480, 1287481472, 1492437504, 2017501696, 1082915072, 1346449024, 1551236352, 1352731776, 1809531264, 1945820032, 1622165632, 1686730112, 1944285440, 2121275520, 1220430080, 1757649152, 1643377152, 1884574464, 1747630720, 1154368384, 1268204928, 1179227392, 1142129920, 2111044608, 2025948800, 1453453312, 1767670656, 1124430976, 1665500416, 1291465600, 1439313024, 1429296000, 1538132736, 1133103232, 1960703744, 1807972864, 1771018240, 1750582912, 1322013696, 1422830464, 1077082368, 1116882048, 1512103936, 1220801792, 1265343232, 1703733888, 1475992192, 1267565568, 1149252352, 2113220480, 1329311872, 1301343232, 1550268928, 1419619968, 2085112192, 1215643008, 1139395328, 1480605440, 1543657472, 1211750400, 1478091776, 1978302080, 1587172608, 1130387200, 1203439616, 1419132032, 1253007360, 1855405952, 2038893952, 1554393472, 1441322240, 1302208384, 1116097408, 2026964992, 1396167168, 1613311488, 1532413696, 1853799424, 1432366848, 1692679296, 1810817792, 2068127744, 1794468480, 2021256704, 1301300992, 1078820736, 1513519488, 1722606592, 1498612096, 1345496704, 1629688704, 1338361856, 1657408512, 1288619776, 1607538816, 1074516224, 1400759424, 1586835328, 1578547712, 2059491968, 1918093696, 1981023488, 1611506560, 1820246400, 1203790336, 1323593216, 1149345792, 1117384960, 1313355776, 2076871040, 1111293056, 1173005184, 1495417600, 1617251584, 1189571072, 1570728448, 1688192512, 1107394816, 1378520064, 1095220480, 1477301760}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {27436, 28942, 36881, 3370, 13077, 806, -4356, 10738, -63, -25197, 424, 127, 6000, 4915, 2805, 39141, 8854, 1528, 1936, 4524, -18759, 6033, 35238, 1430, -483, 18446, 8144, 2049, 9339, 11406, 62797, 84419, 181, 1119, -2255, 903, -5166, -5439, 4161, -864, 5272, 7644, 1059, 33768, 335, -3350, 4369, 1457, -4461, -1253, 16981, 2976, 4011, 22804, -1234, 18672, -825, 28966, 30804, -2806, 21952, 9412, 927, 9731, 2630, 19751, 14122, -5977, 20827, -4244, -29190, -1433, -2610, -1200, 47294, -4861, 16763, -6370, 105, 50874, 3072, 51989, 47063, 559, -8153, 24577, -42, 11299, -126, 1273, 11833, -5363, 7517, 18733, 15468, 20, 47069, 16645, 6145, 1424, 21275, -2542, 36356, -17352, 15014, 734, 4278, 12884, 18634, -338, 15671, 32675, -16954, 33, 6392, -2824, 2136, 9898, 93918, 1394, 41767, 129, 6158, -2630, 9534, 327, -162, 897} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-159, -202, -156, -43, -33, -92, -30, -141, -61, -22, -44, -110, -53, -116, -78, -164, -43, -96, -141, -64, -16, -48, -210, -82, -24, -148, -137, -124, -189, -99, -234, -270, -93, -45, -80, -110, -30, -91, -34, -119, -117, -163, -94, -208, -110, -75, -83, -110, -84, -55, -145, -104, -82, -229, -95, -64, 10, -225, -211, -67, -171, -71, -105, -150, -172, -73, -174, -25, -163, -33, -55, -51, -46, -149, -211, -46, -107, -32, -101, -242, -160, -233, -257, -129, -43, -222, -103, -159, -114, -95, -136, -97, -24, -188, -98, -40, -251, -97, -97, -59, -123, -53, -190, -54, -163, -118, -145, -92, -169, -101, -99, -157, -40, -99, -178, -56, -197, -88, -367, -81, -228, -103, -119, -116, -198, -31, -84, -117}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1146896640, 1135084288, 1212317952, 1207118720, 1329718656, 1742283520, 1711253120, 1927487104, 1747262208, 1536554240, 1859885440, 1229997696, 1486075008, 1849243264, 2004067584, 1673198976, 1816715648, 1998998528, 1845780608, 1086054400, 1082259840, 1958022272, 1366997504, 1789978752, 1453729024, 1351753216, 2108063616, 1339777664, 1410742400, 1320111616, 1254014720, 1528128512, 1366393600, 1316541824, 1483369728, 1782728832, 1663794944, 1404547456, 1703643264, 1815226368, 1912262272, 1939366400, 1516425728, 1592157312, 1310402816, 1630954112, 1960224000, 1912656768, 2085917056, 1949298944, 1493193088, 1209014144, 1512807296, 1144721792, 1172323328, 1917890816, 1346370688, 1471606272, 1374741376, 1609786880, 1118802048, 1667992704, 1721858176, 1429461248, 1141409024, 1544107008, 1469558400, 1773423872, 1545001984, 1547378560, 1447267840, 1406873344, 1921207936, 1769995520, 1424107904, 2037678720, 1999533184, 1514815872, 1309550080, 2031477248, 1344975488, 1141066496, 1502678400, 1265821696, 2068677120, 1501555840, 1893378560, 2039680640, 1822246656, 2076798720, 1872470528, 1661051904, 1195018624, 2119192320, 1214193664, 1763006464, 1432380672, 1123651968, 1885353216, 2122393856, 1627126400, 1517033472, 1981371520, 1840948224, 1735422720, 1964469248, 1938126592, 1901657856, 1475996416, 1864495488, 1538772864, 1734219520, 1751999232, 1492301568, 1572536192, 1369343360, 1329468800, 1516084224, 1336264320, 1482099456, 1563068160, 2081778304, 1438449280, 1499913728, 1137557760, 1584893056, 1208893568, 1143227904}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {2819, 15, -618, 4411, 1326, 3076, 892, -720, 1002, -1709, 3707, 1270, 580, 112, -1990, 1640, -269, 3960, -2047, -26, -1169, 931, 2418, 2549, -1279, 852, 38, -1506, 4257, -5, -1042, 607, -170, -633, 596, -75, 1550, -2889, -1138, -354, 1493, 4350, 744, 1829, 1543, 2354, -606, -762, 558, 789, -1125, -724, 198, -2210, 1357, 51, 486, 1573, 4792, 6895, -376, 2436, 2993, 288, 768, 3538, 1311, -2144, 454, 56, -394, -1916, -392, 3426, 876, 7531, 2558, -320, -686, 1287, 888, 1887, 1196, 3542, 1664, -1287, 1309, 437, 2145, -490, 760, 315, -750, -540, 581, 1628, -706, -382, 422, -380, 2923, 1947, 1212, -1779, 2174, -504, 2526, 436, 1082, -1645, -883, 1319, -121, -55, 2482, 185, 640, -1965, -897, 1529, -941, 718, 92, 2814, 2952, -1018, 745, 1347} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-164, -133, -43, -138, -155, -190, -136, -163, -114, -78, -159, -99, -111, -129, -111, -130, -133, -126, -139, -61, -87, -132, -134, -109, -147, -199, -120, -68, -202, -98, -135, -86, -83, -55, -129, -91, -172, -97, -92, -60, -111, -156, -114, -89, -92, -148, -95, -126, -38, -135, -139, -110, -126, -106, -175, -58, -96, -146, -154, -163, -159, -185, -177, -118, -132, -177, -130, -99, -81, -149, -127, -77, -121, -102, -104, -157, -166, -119, -89, -105, -101, -91, -155, -91, -148, -128, -146, -135, -174, -130, -82, -113, -101, -100, -166, -163, -119, -85, -93, -136, -151, -129, -114, -60, -138, -130, -142, -124, -153, -109, -87, -106, -123, -138, -107, -61, -70, -77, -146, -171, -146, -43, -103, -143, -123, -153, -148, -139}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1721797248, 1824980096, 1132143872, 1497599104, 2093827584, 1083571584, 1428826752, 1864659200, 1957280256, 1498835584, 1116873216, 1111664512, 1186204032, 2084013184, 1172974720, 1753612800, 1269118080, 1472189312, 1488207872, 1309223552, 1651309696, 2019141120, 1079660416, 1860967808, 1195924352, 1821903232, 1188232576, 1242999296, 1540628352, 1920957312, 1293137024, 1337820160, 1234414336, 1596449152, 1148212992, 2004360448, 1150455680, 2139409152, 1260997120, 1657203968, 1151842816, 1462224384, 1264329216, 1080189184, 1334350976, 1138756736, 1912334208, 1513807104, 1578111744, 1396564096, 1334276608, 1970882304, 1080782976, 1527899520, 1314167168, 1716832256, 1552730752, 1137023872, 1908130048, 1074993920, 1466512512, 1231829120, 1475541120, 1465275264, 1532171776, 1094907136, 1440862336, 1103576320, 1530581248, 1216796544, 2128229248, 1256008320, 1163143552, 1282131968, 1732369664, 1386788736, 1224484224, 1208105728, 1629373568, 1299128704, 1284582400, 1084972928, 1795473024, 1607199872, 2086920064, 1955090688, 1386238336, 1372477184, 1132682368, 1247994240, 2020083200, 1175302144, 1197635712, 1235391104, 1536551808, 1888335360, 1850154624, 1838947328, 1219469440, 1463466880, 1854217088, 1101098240, 1401900032, 1272723200, 1297711744, 2051091584, 1307905536, 1685882112, 1305410688, 1134808576, 1108115328, 1346521600, 1470145152, 1409003136, 2129428736, 1605071488, 1870819200, 1355583488, 1380826880, 1456861568, 1439286272, 1390112384, 1720237952, 2025250048, 1322719744, 1241681152, 2121732864, 1356216320}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {111073, 10087, 23404, 23275, 14675, 129242, 82163, 137988, 37124, 307, -8737, 201, 31842, 22819, 2219, -2008, 6113, 38860, -2809, -37874, 41179, 38220, 1873, -627, 2403, 36979, 3, 30965, -264, 131599, 47797, -54347, 108555, 42671, 194528, 3258, 31905, 1847, 966, -19691, 201, -7722, 1159, 1966, -34840, 30108, 462, 459, 69402, 527, 115710, 3998, 55211, 1370, -632, 95467, 58021, 13, 11877, 472, 113766, -40220, 185428, 6218, 2981, -1662, 104196, -2098, 31950, -11808, 870, 11523, 5708, 46, 39257, 11695, 405, 14708, 448, -3582, 6102, -42627, 6292, 215976, -330, 10385, -4612, 7817, 70673, -1457, 7780, 62896, 2923, 11101, -603, 8404, 57346, 3161, 2814, 9829, 7157, 23751, 62737, 25409, -981, 1231, 166359, 5127, 15868, 429, 2810, 51263, 6890, -5540, -62531, 117893, 83087, -4374, -7815, 5510, 4515, 77310, 46765, 88739, -6410, 52343, 12529, -65084} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-308, 75, -291, -170, -136, -328, -415, -350, -200, 199, -54, 62, -199, -88, 68, 68, 70, -177, 74, 69, -347, -135, 67, -144, 74, -352, 52, -320, 79, -292, -355, 67, -319, -312, -326, -113, -119, 62, 90, 90, 68, -116, -116, -137, 48, 58, 90, 72, -364, 151, -320, 52, -332, 101, 52, -335, -359, 84, -161, -124, -263, 102, -322, 62, 72, 61, -329, 72, -314, -90, 71, 75, 102, -162, 49, -89, 118, -120, 50, -167, 67, 68, 63, -340, 22, 68, 74, 67, -388, 26, -154, 77, 91, 64, 73, 68, -365, 59, 75, 74, 67, 74, -317, -317, -4, 53, -366, 49, 48, 58, 56, 101, 109, -67, 69, -320, -338, 66, 132, 35, -4, -264, -341, -353, -103, -359, 103, 73}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1726683264, 2051984000, 1308915840, 1334307840, 1521059072, 1477433088, 1323974656, 1974775296, 1731970048, 1612853248, 1975518208, 1189264768, 1248924416, 1404900992, 1932040448, 1629023488, 1246708352, 1275736960, 1648502272, 1351385856, 1125168128, 1868030464, 1767723136, 1743689728, 1563775232, 1364074368, 1345641984, 1594360832, 1950672640, 1862907136, 1855311872, 1874463744, 1214026368, 1366490112, 1253890176, 2099210240, 1337376768, 1229972480, 2016434432, 1638738176, 1164183296, 1793638656, 1887043712, 1332384128, 1806984704, 1727008896, 1712191744, 2127119488, 1842193664, 1271278464, 1796610560, 1102082688, 1835805568, 1494064896, 1542295552, 1241752832, 1904256384, 1857295744, 1727768192, 1705234816, 1723685248, 1669213952, 1134897280, 1636565888, 1311235072, 1247753216, 1192436096, 1950532352, 1590563584, 1465123712, 1729320704, 1845535488, 1861393664, 1319885312, 1577846656, 1514171520, 1258827904, 1074708736, 1106859136, 1839122432, 1232594176, 1811485440, 1089753984, 1531860608, 2050583552, 1448640768, 1339169280, 1550158848, 1542003968, 1950075136, 1350387072, 1249132032, 1465901056, 1760655488, 1833909248, 1281964288, 1695671552, 1438929664, 1928354432, 1869511424, 1720823040, 1364721664, 1677717632, 1080888704, 1236549888, 1751518464, 1274369152, 2123229440, 1762915328, 1216118528, 1514085376, 1363824640, 1353418624, 1729359488, 1619180288, 1075934208, 1294527872, 1569529600, 1217039872, 1905017984, 1320697728, 1724620160, 2060682368, 1580570496, 1358406016, 1961843072, 1228382592, 1291056768}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {21794, 4326, 46094, 25476, -12247, -11907, 6453, 18279, 23745, 79240, -7536, 271, 23034, 85006, -5531, -5364, -31729, 23980, 7123, -49137, 18294, -322, -11910, 13578, 11353, 11539, 14749, 1713, 28301, 9093, -8084, 1357, 6830, 37986, 7554, 21685, 47879, 52167, 35756, 42841, -7440, 9086, 612, 14736, 69298, 42559, 35371, -3597, 9769, 10412, 22107, 85951, 81740, -6563, 65074, 22007, 8723, 70342, 23002, 10991, 28557, 11230, -5051, 45245, 17181, 30795, 65470, -27092, 41940, 33577, 35364, -21275, 34785, 46942, 15297, 16302, 51824, 299, 29940, 3898, -7978, 29146, 32417, 48203, -37353, 16638, -3788, 56526, 9344, 16955, 17815, 10729, -1435, 23089, -37592, 9739, 43988, 73632, -3765, 60646, 20019, 11633, 54666, 20765, 14743, 15122, 2842, -20188, 112843, -51307, 13317, 43119, 25359, 32299, 116484, 14907, 14145, -10348, -24416, -597, -23445, 23229, 28208, 31007, 17897, 30726, -1107, -9421, 12627, -15571, 40114, 326, 25693, -36482, -34886, 59147, 16923, 28654, 30135, 88592, 172924, 31688, 3712, -17943, 691, 16173, -15377, 1030, 11238, 8884, 18348, 30323, -19437, 9791, -12044, 60204, 17381, -2732, 4088, -1918, 48408, 776, 79145, -17653, 66889, 34896, 11188, 18287, 52244, -18256, 41458, 105686, 19882, 16343, 79132, 63323, 44614, 8163, -26109, 26192, 4591, 38114, 66290, 25010, 9283, 60110, 36548, 14288, 24231, 20436, 82398, -40256, 34068, 29088, 8720, 21134, -9315, 23754, 31750, 7386, 43005, 6740, -21815, 46739, 4019, 22540, 17105, 95575, 41211, 5021, 10407, 83108, 76494, 96010, 24460, 121128, 89, 51456, -4320, 79748, 38824, 63320, 8439, 44184, 5026, -3061, 34363, 7436, -57388, 6763, 48870, 57233, 17962, 6497, 27277, -5972, 1306, 66020, 26056, 70468, 3275, 11721, -267, 53056, 40884, 47484, 23492, 71013, 22798, 67040, -2150, 32149, 55424, 39992, 46703, 28918} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-104, -80, -124, -134, -72, -137, -116, -128, -120, -160, -103, -121, -90, -117, -152, -77, -59, -78, -112, -69, -105, -175, -92, -132, -131, -120, -109, -93, -123, -65, -76, -150, -126, -117, -126, -168, -125, -116, -100, -119, -109, -87, -156, -135, -136, -93, -111, -83, -136, -125, -79, -148, -170, -148, -101, -138, -87, -173, -96, -91, -132, -75, -54, -146, -96, -123, -96, -31, -114, -106, -79, -57, -146, -128, -134, -53, -148, -128, -216, -169, -62, -162, -150, -101, -77, -107, -62, -115, -75, -97, -101, -145, -80, -92, -105, -167, -132, -106, -121, -188, -106, -136, -164, -114, -165, -79, -117, -135, -138, -137, -86, -130, -108, -140, -112, -82, -102, -102, -112, -116, -149, -117, -144, -117, -112, -110, -146, -116, -123, -111, -124, -67, -137, -121, -98, -102, -110, -114, -75, -190, -104, -154, -147, -133, -91, -104, -114, -100, -162, -128, -166, -83, -84, -96, -126, -167, -163, -127, -102, -107, -92, -84, -136, -117, -176, -146, -138, -84, -117, -70, -134, -171, -176, -121, -88, -112, -119, -96, -127, -105, -95, -122, -170, -128, -126, -150, -88, -78, -115, -99, -177, -125, -130, -119, -147, -117, -106, -116, -166, -105, -108, -103, -118, -130, -92, -108, -111, -146, -119, -143, -107, -148, -134, -156, -118, -131, -104, -129, -89, -176, -117, -145, -151, -174, -69, -123, -101, -101, -89, -116, -97, -142, -131, -96, -168, -100, -99, -163, -135, -136, -87, -105, -74, -78, -109, -146, -101, -148, -139, -167, -153, -113, -137, -131, -97, -120}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1879737728, 1114147712, 2035468416, 1343730560, 1881114112, 1326528128, 1883724288, 1532134912, 1682188288, 2095455872, 1443726336, 1369245568, 1206142848, 1269115520, 1084032000, 1999850368, 2123471104, 1970744192, 1358192896, 1168857600, 1477106560, 1607325056, 1262055808, 1987003904, 1358459904, 1121151616, 1639350784, 1126626432, 1790966144, 1409082752, 1534317824, 1929389312, 1076990080, 1921154432, 2088456448, 2029814912, 1987893888, 1844063616, 1683428480, 1874940928, 1947531392, 1776635392, 1406552320, 1999426816, 2011967104, 1239986560, 1237336448, 1126993152, 1470258944, 1827610880, 1622725376, 1711276672, 1927457280, 1564065792, 1790705664, 1406385664, 1848456704, 1675877888, 1128416896, 1795929216, 1182122752, 1276103296, 1435818624, 1523688576, 1623502208, 1301356288, 1096720896, 1905587072, 1582188544, 1747314048, 1784642176, 2119607808, 1759375104, 1149116032, 1119342592, 2139167744, 1412770944, 1478148864, 1541878016, 1225211648, 1094758784, 1325338112, 2008649728, 1455965056, 1537920256, 1625225856, 1666726912, 1861163136, 1480824576, 1345404160, 1506928512, 2009474432, 1290811136, 1133093504, 1385484032, 1634399232, 1493901440, 1263150464, 1477607552, 1420464640, 1108461056, 1651342208, 1101710464, 1645787264, 1225959296, 1569722880, 1193118208, 1812183168, 1605058560, 1857339136, 1205322240, 1833393664, 1178653440, 1650023296, 1087632000, 1154806400, 1113206912, 1425221504, 1375362944, 1805983488, 1901032448, 1667965568, 2138416512, 1971490688, 1124487552, 1663625216, 1269430784, 1750085504, 1511597824, 1095871360, 1084831872, 2118257792, 1701289728, 1475836416, 1348231040, 1477918464, 1365971072, 2042814336, 2025231104, 1268597888, 1589559296, 2070744064, 1891808384, 1953898880, 2024394240, 2100435328, 1414717184, 1603425664, 1765219456, 1838843008, 1955144832, 1150607232, 1211593600, 1540097280, 1927181824, 1822693888, 1301705216, 1372855296, 2107547776, 1477464448, 2095262080, 1642723328, 1328143744, 1215032704, 1283404032, 1375602176, 1967104512, 1843826688, 1209806848, 1464638336, 1605639808, 1903332480, 1106109312, 1597572352, 2089833984, 1922893824, 2072853504, 1176782848, 1733037440, 1622900736, 1313879680, 1828326272, 1371600640, 1736939264, 1196971648, 1194407936, 1641938688, 1077290880, 1389877888, 1760776960, 2102948224, 1484030464, 1298933376, 1302307968, 1133166464, 1405151616, 1725997312, 1954592000, 1688727424, 1336882432, 1119530240, 1221597440, 1692150912, 1143424384, 2127839232, 1420900480, 1651208704, 1191071744, 1163169536, 1796239104, 1899341696, 1095954560, 1091241088, 1353041536, 1110903424, 1747020416, 1400546944, 1597343616, 2035651072, 1373085952, 1165305216, 1750112896, 1391602688, 2016914432, 1367524864, 1636575872, 1722968192, 1683321472, 1979579136, 1574144256, 1820337792, 1650877568, 1487166336, 1714538112, 1162312704, 1123304192, 2138907264, 1075397248, 2008689536, 1820019328, 1297701888, 1083749888, 1221107072, 1488736768, 1832919680, 1789468160, 1297422336, 1798088448, 1210577792, 2004152320, 1341800192, 1565452672, 1296664704, 1916948480, 1223273856, 1564056064}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {-7995, -138, -237, -2939, 4957, 24312, -445, 9121, -417, -2832, 6724, 30372, -23, 9216, -1095, 120, -3617, 18645, 17944, 445, -252, -91, 16924, -140, 2289, -1709, 247, 358, 927, -262, 33058, -8169, -1703, 1164, 6866, -63496, 26, 10422, 24607, 25972, -3843, 12427, -825, 1291, -715, -497, 323, 5540, -10900, -1320, 35370, 30615, 6399, 5735, 26062, -2543, 21714, -4134, 43036, 52450, -1131, 282, 30183, -4205, -3807, 17340, 297, 94, -434, 2460, 768, -2005, 85041, 12618, -11098, 19881, 565, 28690, 12161, 13159, 320, 85080, 8074, -347, 531, -355, 196, 20047, 90561, 20587, 816, 83259, 208, -3865, 7835, 22236, 3796, 21716, 728, 70161, 10876, -4541, 4193, 3625, -7057, 41145, -2860, -4381, 10069, -14381, -177, -4621, 2088, 27435, -4186, 73527, -10808, 36009, -2070, -1, 161, -4222, -10240, -222, 33851, 8025, -11353, 1048, -3467, 3167, -46, -786, 38861, 3292, -7572, 37982, -571, 19283, -99, -1059, 107, 27575, 390, 9438, 3934, 24113, -666, 38899, 95400, 972, 3315, 114, 41633, -990, 5103, -716, -694, 583, 17867, 2587, 31351, 28388, 20715, 55, -3005, 232, -7027, -4167, 10634, 481, -6248, -4791, 6911, 1046, 243, 10014, -144, 7947, -4929, 1223, 58836, -4295, -749, -11148, -6260, -7734, -1071, 15396, -3488, 28019, 7979, 1755, -7319, 81570, -3829, 39020, 3362, -328, 39848, 30715, 29090, 8617, -2866, 31682, -3240, 9895, -1114, 184, 21007, 65320, 40867, -6736, 21491, 64903, 46950, 13608, 13934, 88, -9564, -340, 36707, 1020, -6528, -8631, 98, -2588, 69781, 31945, 14289, -1085, -1769, 66914, 755, 513, 2440, -1913, 168, -4424, -1947, 760, 277, 11606, 377, 24385, -167, 861, 18904, 31606, 41964, -1075, 15276, 65872, 105, 897, 1291, -9} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-66, -46, -153, -122, -86, -157, -127, -147, -110, -65, -38, -220, -104, -64, -116, -63, -42, -225, -132, -77, -136, -45, -151, -103, -46, -108, -95, -110, -133, -150, -227, -54, -121, -100, -42, 40, -107, -60, -234, -239, -124, -48, -56, -129, -131, -131, -115, -58, -86, -105, -270, -218, -137, -39, -215, -38, -197, -31, -209, -447, -101, -113, -274, -42, -45, -224, -128, -165, -127, -38, -113, -50, -244, -129, -34, -217, -108, -204, -216, -37, -58, -285, -150, -101, -48, -125, -140, -228, -268, -183, -118, -230, -101, -31, -194, -136, -141, -225, -141, -226, -52, -30, -156, -121, -42, -249, -148, -25, -55, 73, -47, -54, -176, -222, -118, -321, -84, -343, -40, -29, -18, -20, -40, -153, -237, -172, -36, -98, -102, -128, -157, -104, -207, -143, -32, -230, -102, -235, -115, -115, -130, -217, -80, -49, -21, -177, -33, -235, -238, -97, -132, -91, -252, -82, -111, -104, -33, -146, -169, -137, -219, -228, -211, -128, -45, -93, -43, -86, -130, -43, -86, -111, -98, -43, -111, -61, -146, -69, -63, -100, -258, -36, -133, -85, -35, -56, -117, -195, -54, -249, -51, -54, -30, -368, -45, -221, -158, -138, -343, -226, -217, -165, -20, -240, -119, -188, -127, -146, -251, -272, -238, -31, -210, -208, -237, -220, -176, -94, -27, -102, -237, -149, -16, -5, -47, -134, -148, -275, -81, -43, -75, -342, -34, -105, -124, -42, -135, -69, -32, -92, -129, -99, -105, -202, -110, -113, -224, -240, -333, -119, -92, -224, -78, -175, -84, -112}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1421444224, 1175090816, 1293723648, 1524646400, 1881632256, 1211627776, 1452020352, 1959871232, 1363269248, 1248756480, 1627436288, 1588814336, 1089614080, 1128206720, 1198918656, 1712851328, 1452891648, 1320485120, 1415543936, 1429980928, 1947982720, 1353470720, 1239163136, 1094535680, 1549690112, 2002790656, 1207883904, 1166966656, 1135508480, 1470272000, 1098419968, 1225711872, 1851994752, 1200794112, 1414652544, 1366397312, 1210615168, 1603958144, 2097835136, 1989424128, 1496328704, 1759000192, 1949984768, 1091063040, 1328147584, 1399243264, 1943291008, 1181111168, 1283170816, 1586512384, 1881656576, 1885633664, 1895215488, 1171590784, 1435450112, 1386539392, 1235936896, 1197316992, 1902620672, 2098780928, 1423371904, 2012641024, 1109585792, 1479397888, 1880083200, 1954393472, 1562430976, 1584374656, 1760231424, 1230671104, 2086246016, 2048010496, 1703302400, 1756625792, 1344054912, 1412383872, 1823387904, 1677146752, 2081566464, 1234092160, 1286692992, 1092315264, 1554291328, 1849527808, 2008120704, 1349577472, 1504443264, 1125366912, 1371919360, 1170339840, 1179957504, 1726831104, 2002382208, 1234487168, 1881457024, 1838465408, 2056860928, 1805892096, 1921232384, 1530670720, 2099634304, 1074535808, 1514888960, 1344253184, 1108299136, 1741622016, 1390726144, 1732998784, 1366813824, 1866107904, 1268278016, 1496474496, 1254609024, 2087679488, 1511213056, 1802273024, 2041612160, 1564999040, 1227466112, 1230344832, 1271373696, 2061381760, 1354927616, 1113804800, 1718063104, 2138195328, 1092834048, 1684576384, 1499816576, 1299566080, 1215340672, 1686716672, 1599513216, 1948882176, 1115666816, 1893601024, 1817255552, 1545320192, 1536816512, 1748924544, 1863323264, 1549389696, 1802361600, 1442057856, 1172947456, 1822382336, 1352979328, 2059742208, 1726570752, 1291372928, 2117577344, 1219925248, 1938403456, 1117953024, 1465125632, 1357524992, 1706924544, 1163319168, 1120817664, 1806507904, 1145398272, 1523033472, 1582897920, 1774459136, 1133695232, 1338140288, 1705487488, 1963184640, 1312980992, 1779803264, 1717692672, 1370830720, 1183062016, 1423523072, 1124234496, 1623554688, 2104644224, 1205839744, 1646217088, 1265198592, 1592913152, 2015626112, 1955731968, 1314778112, 1504862080, 1649373440, 1660560000, 1311570688, 1173569792, 1813444992, 1328572672, 1077601792, 1385995648, 1728919680, 2138584192, 1989997184, 1587583104, 1236693376, 1275696000, 1185947264, 1226674048, 2038823040, 1919769984, 2090164736, 1256044672, 1902840448, 1971101568, 1445183104, 1150520192, 1230184448, 2120098688, 1231051008, 2061221888, 1812567296, 1645053440, 1332889472, 1075018880, 1685198592, 1995083904, 1842396800, 2017588992, 1090594560, 1982767616, 1825887360, 1198300032, 1397642752, 1803419648, 1222969088, 1448295680, 1521724288, 2045190784, 1877794176, 1772043904, 1732548992, 1724847360, 1395897984, 1635915904, 1647340544, 1962476672, 1989253888, 1604143744, 1667519872, 1860500608, 1415517056, 1209026944, 1201041664, 1104489600, 1311296896, 1389415552, 1906663296, 1589726336, 1371201792, 1441538304, 1566798080, 1117960576, 1108915072}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {8574, 37267, 32113, 7483, 33263, 83779, 21821, -5838, 9470, 70199, 32701, -26772, -6446, 23385, -7163, 17320, -183, 13209, 1336, -44123, -25474, 16353, -12621, -12372, 13266, 74842, -36727, -20327, 15781, -31997, 26553, -22493, 1886, -34724, -30299, -23505, 31113, 58724, 26778, -48788, -13216, -7233, 123740, -19186, -16560, -6959, -30012, 26044, 10249, -9020, -32674, 11111, 59531, 4311, -13195, 49035, 26450, -85710, 7597, -15322, -6852, 38106, 4790, -101145, -20383, -6626, 11322, -2808, -6189, 6662, 59753, -37329, -26745, -20881, -59095, 44378, -5854, 673, -11360, 17667, 32393, -40518, 44234, 6209, -1437, -39019, 26240, 1639, 91892, 36351, 26801, 25469, 5507, -4062, 19047, -5630, -11699, 1092, 45252, 19478, -14458, -1112, -33008, -1616, 17977, 9078, -21028, -3056, -6452, 5551, -17300, 12252, -3142, 4697, 21505, -1388, 20483, 55295, 9101, 5096, -73926, -7549, -28079, -22947, 12679, 4722, -37028, -12076, -8907, 8363, -12544, 1702, -30184, -33275, -16233, 10018, 159854, 445, -5238, -19280, 99125, -4760, -19263, -30785, 17447, 22259, -29315, -8926, 13870, 9334, -36948, 27086, 28128, -10400, 1790, 4921, -6337, -2286, 17312, -16063, 10201, -2876, -5881, -17515, 16924, 51364, 7594, 10143, 41271, -11978, -17574, -57985, 12636, 27853, -44174, -6153, -1226, -4190, -4265, 10782, -531, -33345, -4452, -5747, 14664, 2699, -12767, 25278, 3867, 4556, 48134, -7132, -33915, 1328, -17902, 4444, -5042, 37961, 45356, -4018, 30621, -6382, -56157, -3628, 3921, 13684, -19080, -6328, -54792, -6088, 14926, 60623, -1288, 49262, -18668, 40772, 23957, -21347, 4156, 17130, -3505, -6262, -11086, -1072, 18295, -27429, -27884, 2590, -55493, 2002, -9399, -781, -11530, -13889, 66427, 3072, 18915, -56159, 25455, 17829, 14286, 4690, -20682, -26056, -1831, -29616, -13235, -8510, -47578, -81, -17772, -1238, -37356, 11463, -22337, -7016} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-120, -92, -131, -165, -137, -178, -120, -162, -141, -139, -156, -140, -132, -116, -58, -122, -150, -128, -144, -107, -115, -94, -136, -128, -78, -111, -112, -121, -182, -108, -135, -111, -103, -112, -146, -149, -119, -191, -95, -104, -152, -51, -126, -124, -62, -116, -151, -113, -98, -120, -112, -95, -143, -105, -111, -133, -109, -96, -64, -89, -156, -146, -152, -88, -174, -127, -126, -160, -126, -138, -115, -118, -105, -101, -143, -135, -128, -139, -95, -151, -148, -116, -125, -114, -119, -119, -105, -129, -116, -104, -113, -150, -128, -139, -150, -104, -98, -82, -101, -138, -138, -146, -139, -131, -132, -126, -106, -171, -123, -144, -127, -122, -85, -88, -118, -129, -137, -124, -136, -85, -117, -122, -153, -122, -139, -111, -152, -154, -140, -135, -102, -105, -82, -121, -112, -82, -179, -142, -106, -128, -110, -126, -158, -148, -133, -142, -70, -122, -133, -103, -153, -108, -186, -96, -135, -127, -128, -144, -107, -111, -149, -88, -142, -64, -153, -110, -104, -142, -104, -130, -151, -115, -121, -119, -164, -106, -112, -103, -145, -158, -185, -122, -123, -53, -155, -144, -106, -102, -137, -180, -123, -152, -149, -142, -126, -101, -98, -138, -107, -114, -159, -142, -127, -122, -146, -153, -144, -131, -126, -128, -122, -123, -105, -101, -86, -186, -128, -147, -142, -111, -152, -124, -87, -114, -128, -116, -106, -145, -80, -135, -145, -134, -97, -113, -114, -100, -109, -127, -121, -143, -91, -125, -122, -115, -77, -97, -142, -101, -171, -110, -128, -82, -114, -149, -108, -81}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1748040320, 1723369600, 2132087040, 1409516800, 1085713024, 1075604096, 1840369792, 1171362944, 1511427072, 1565528064, 1325454336, 1935046912, 1351063936, 1616804608, 2006881280, 1206175104, 1330798592, 1127839360, 1371011584, 1337877888, 1222054400, 1852947328, 1648116992, 1621133568, 1594682496, 1415265664, 1459732480, 2021273216, 1854119040, 1835115520, 1373450112, 1432046208, 1121598208, 1780694400, 1174536832, 1595693440, 1443483008, 1945075968, 1933374464, 1712581120, 2005898368, 1350828032, 1436566784, 1981989888, 1884943104, 1330980992, 1189196032, 2068906880, 1761259264, 2045249536, 1457239936, 1259992832, 1796115072, 1551097600, 1479556736, 1388760320, 1971905920, 1548025344, 1101872000, 1862412672, 1238985600, 1587423872, 1160664704, 1324744832, 1939886720, 1850705664, 1083041920, 1672528000, 1194693888, 1299314560, 1504769792, 1718792832, 1483966336, 1638168704, 2067265280, 1504339200, 1149542656, 1974845696, 2026520960, 1944597376, 1461051392, 1506743040, 1889162368, 1175278720, 1575667328, 1453685248, 1507197440, 2063385856, 1346688128, 1442468480, 1404614912, 1098349696, 1308722048, 1932413440, 2002127360, 1924786048, 1432166400, 1817623936, 1084110080, 1250722560, 1820604032, 1371131648, 1181865856, 1429035648, 1112265088, 1585360512, 1972757632, 1504389504, 2030013312, 1634307968, 1902427264, 1291959680, 1655094784, 1240754816, 1221035648, 1995527680, 1815620736, 1131591808, 1949962880, 1388799488, 1777314816, 1315511552, 1455266176, 1438456448, 1210719104, 1862515200, 2082784896, 2107224704, 1377454592, 1324773248, 1111733632, 1155701376, 2081202944, 1454649600, 1636806528, 1815984128, 1174693504, 1282800896, 1127826304, 1859992832, 1541094656, 1094204928, 1783398528, 1589503616, 1755876864, 1616865280, 1225721472, 1626414464, 1556592512, 1105363456, 1550803584, 1188491008, 1654763648, 1108495488, 1781268864, 2145607424, 1191682560, 1585801600, 2050509952, 1640937600, 2039363328, 1309662592, 1315816832, 1732970240, 2142140160, 1395080192, 1954643584, 2007710464, 1647808128, 1459832960, 1476873088, 1813744896, 1213354752, 1708206976, 1639452544, 1240936576, 1486408320, 1474767488, 1132745088, 2112476928, 1079547904, 1126748288, 1559694336, 1172626816, 1478950016, 1087431040, 1665251456, 1132544000, 1613545600, 1687590144, 1602487808, 1317880960, 1540396416, 1191944448, 1649726592, 1828498944, 1238939264, 1609585280, 2016976256, 1971771136, 1131460608, 1888162944, 1765608448, 2056062848, 2031838208, 1692810240, 1541973760, 2139747584, 1897762816, 2050838144, 2052960768, 1591882240, 1691249408, 1279389184, 2012062592, 2051910656, 1738045696, 1864796288, 1407818368, 1640756224, 1722785920, 1258933504, 2081969408, 1368599296, 1446268288, 1824926720, 1603932928, 2070711296, 1569038464, 1534654464, 2140693120, 1549166720, 2090951808, 1299970944, 1219716480, 1921434752, 1184285056, 1414683008, 1113618304, 1652122880, 1495356672, 1477164928, 1743027072, 1195592704, 1304226688, 1713590784, 1504485632, 1686072064, 1734634496, 1536081536, 1638180608, 1804142208, 1679546752, 1864485632, 1115032064, 1618408448}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {113078, 10395, 97434, 6460, 3363, 86747, 79474, 19862, 99840, 17727, 46764, 2647, 76708, 2531, 77186, 84109, -7825, 2414, 57462, 4722, -834, 75949, -533, 3934, 69359, 81634, -183, -2960, 103911, -755, 145237, -26400, 76006, 216, 66829, 5456, -533, 138572, 98274, 1109, 612, 6193, 794, -340, 79718, 54684, -3299, 108908, 50178, 98608, -297, 1702, 78613, -2293, -5101, 85102, 60017, -673, 64527, 9853, -2653, 74791, 69417, -10, 1521, 15462, 73461, 7834, -386, 40890, 99032, 5765, -200, -319, 67629, 192937, -2616, -5086, -37543, 17756, 2890, 905, 131655, -6464, 6, 5943, 14013, -164, 2324, 75814, 122913, -7392, 72731, 59, 1679, -1412, 55007, 1526, 89335, 1613, -2636, 9314, -76, -2018, -739, 19790, 775, -1858, 63289, -188, -1813, -139, 90398, -1350, 81424, 1225, 83193, 98158, 9993, 14, -13194, 618, 117668, 822, 157934, 13502, 819, -206, 113353, -75058, 1577, 3514, 4065, 1353, 956, 129826, 27009, 121034, 1830, -2044, 54702, 319, 5229, -549, 11503, 197375, 908, 3158, 8517, -227, 11689, 100772, -3610, 54373, 85832, 201, 10044, 143376, -9497, 384, -3476, -182, 1661, -1633, -199, 717, -4860, -583, 84394, 68953, 96222, -14320, -852, -952, -252, 58638, 55728, 72585, 100, 48504, 3760, 3080, 90666, -13038, 111357, 77428, 22428, 461, 5084, 14385, 138997, -643, 83151, -566, 5119, 82210, -716, 89534, 110636, -1419, 87188, -232, -345, 31948, -2383, 92799, -405, 66366, -925, 14255, 3655, 6732, 243, 156505, 113693, 125593, 69691, 8173, 62980, 394, -1855, 4497, -478, 39, -1643, 47785, 71490, -1515, -1526, -607, 26180, -3395, -400, 104361, 1494, 92507, -264, 6570, 45523, 72888, 101416, 440, 68383, 7558, 2028, -1874, -1340, 145212, -442, 104403, 59670, 66457, 6479, -19973, -688, 104544} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {-326, -127, -309, 62, -120, -294, -372, 105, -319, -153, -195, 64, -395, 68, -393, -408, 94, 67, -310, 132, 67, -295, 79, 93, -300, -334, 44, 93, -292, 114, -327, 118, -336, 99, -363, 85, 116, -291, -279, 96, 67, 67, -161, 130, -356, -357, 90, -268, -327, -372, 83, 70, -291, 120, -43, -293, -375, 69, -344, 81, 110, -350, -310, -93, 70, 85, -446, 110, 92, -363, -346, 98, 69, 63, -408, -318, 93, -18, 77, 61, 118, 42, -313, 106, 107, 104, 90, -175, -158, -298, -361, -132, -508, 105, -155, 89, -269, 81, -391, 7, -149, 102, -113, -15, 106, -116, 72, -96, -310, 103, 126, -75, -473, -170, -302, 103, -291, -343, -156, -83, -89, 58, -353, -60, -344, 104, 89, 88, -346, 61, -90, 74, 98, -28, 23, -312, -156, -408, 95, 103, -203, -110, 104, 55, -147, -345, 106, 36, 50, 84, 99, -377, 105, -325, -291, 146, 107, -364, 165, 70, 77, -51, 93, 61, 61, 65, 11, 29, -330, -431, -463, -75, 96, 50, 83, -342, -298, -446, 90, -375, 52, 112, -285, 55, -314, -349, 97, -121, 81, 96, -332, 66, -377, 103, 98, -415, -111, -293, -375, 62, -351, 63, 90, -141, 99, -350, -10, -361, 68, 83, -161, -149, 71, -323, -352, -341, -342, 48, -408, 44, 77, 69, 54, 106, -134, -344, -328, 71, 122, -17, 50, 97, -130, -330, -125, -410, -116, 53, -214, -413, -339, -116, -376, 77, 93, 98, 72, -381, 131, -383, -321, -391, 87, 47, -123, -305}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1086170496, 1675682048, 2036929536, 1714484224, 1339092608, 1388428800, 1102422784, 1908590208, 1551616512, 1505850368, 1225373824, 1545362176, 1321313024, 1378693632, 1251894912, 1174131712, 1199595520, 2025407744, 1670959872, 1332565888, 1607641984, 1201104384, 1699182208, 1074271232, 1107908864, 1348981504, 1749837184, 1474913024, 1074827264, 1722364672, 1649517184, 2086506624, 1354555520, 2141263744, 1486732032, 1297751040, 2050423040, 1956033408, 1969134976, 1690418688, 1876970624, 1830870272, 1583764608, 1350765568, 1341074944, 2107151616, 1309193856, 1381257856, 1910913408, 1156221824, 1385038208, 1135494784, 2066500480, 1204010624, 1878036224, 1447053568, 1591698432, 1431733632, 1442347392, 1609324160, 1370866176, 1693548928, 1725502208, 1162981504, 2019974144, 1742379264, 1350173952, 1273427072, 1822192384, 1153758720, 1994121216, 1306193280, 1432755328, 1323788160, 1320338944, 1544621568, 1942171520, 2127957504, 1750507008, 1677222656, 1504090752, 1278946176, 1906589824, 2023588864, 1147006080, 1666054528, 1202759168, 1327320960, 1163708416, 1883792256, 1106482304, 2038156672, 1151186688, 1362594304, 1249372416, 1676243456, 1776302336, 1343745280, 1787935616, 1399962752, 1483041664, 1507927552, 1203099776, 1484647552, 1711535616, 1610358656, 1303062272, 1699754752, 1514829696, 1406108672, 1831411072, 1114681856, 1118236032, 1628417280, 1515689216, 1667258368, 1090312832, 1118587776, 1857585024, 1349061632, 1144949504, 1556691072, 1994933248, 1392441856, 1944711040, 1573977344, 1589105664, 1825711744, 1987498880, 1225835136, 1271174784, 1820544128, 1089399296, 1120509568, 1670115840, 1486530944, 2076607744, 1650993408, 1686314880, 1694076032, 2039838848, 1367611008, 1539810048, 2030559488, 1887475328, 1324058240, 1467862784, 1600400128, 1504521344, 1287946752, 1415355776, 1331347584, 1530050816, 1697147904, 1906410496, 1409896192, 1899011456, 1754327552, 1626903040, 1161742208, 1451309696, 2054881024, 1967444480, 1371778048, 1111172224, 1621161216, 1673000576, 1224573952, 1736515840, 1266909440, 2046792320, 2019908992, 1077158016, 1304546560, 1969831040, 1558007168, 1885252096, 1286372224, 1965650944, 1846008832, 1110569728, 1358369408, 1606702080, 1470401152, 1226353280, 2140612096, 1563779968, 2054611200, 1341845888, 1902322816, 1628566912, 1801322624, 1242577792, 1608219648, 1628970752, 1211176064, 1899319040, 2057536640, 1214215808, 1189277440, 1116168704, 1149498624, 1159068800, 1686229888, 1454855296, 1519996288, 1717884160, 1774477184, 1565294976, 1330796544, 1302356992, 1419645568, 2014426752, 1829713664, 1938004480, 1786560768, 1337052032, 1211434368, 1533561472, 1199741568, 1769668096, 1841246720, 1314394368, 1289122304, 1131543808, 2087867136, 1773185536, 1388824576, 1396905856, 1676472960, 1363078656, 1785613440, 2038312320, 1826074496, 1602973952, 1095770624, 1613183232, 1330017024, 2134972416, 1498406912, 1175471488, 1645162624, 1299003520, 1543616128, 2095657856, 1514584192, 1906008448, 1658719616, 1840358656, 1086129152, 1657220352, 1615465344, 1567549056, 1726793600, 1640574464, 2136786944}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {11141, -2404, 47571, 25280, 71513, 33459, 40573, -6910, 48105, 7991, 21120, 25993, 92980, 6742, 2832, 6424, 55208, 6092, 51734, 56125, 21299, 59584, 63046, 7707, 23577, 26203, 51236, -16470, -8551, -7448, 1382, 41465, -4504, 46060, 10789, 21843, -464, 47853, 29408, 24161, 15962, 22066, -22259, 135885, -13772, 49242, 1230, 24459, 70530, 27613, 33939, 25748, -9138, 4259, 11996, -7003, 20375, 25042, 21890, -15306, 24113, 57312, 10559, -20651, 30677, -812, 10783, -2313, -6334, 43342, 5409, -15518, 22596, 5780, 25340, 918, -480, 32056, 74317, 1998, 20477, 66159, 134, 9811, 26818, 45028, 14109, 49532, 18178, 1730, 17453, 27960, 39156, 32898, 39702, 28045, 38320, 54512, 53258, 10960, -34419, 18388, 69337, 40218, 28449, 80782, 4451, 24155, -3191, 15211, 56584, 25148, 70078, 16602, 828, -3666, 1954, 25104, 15977, 41688, -2287, 15827, 27691, 85045, 8516, 52095, 37934, 90780, 23860, 59513, 26008, 34549, 21785, 3621, 12202, 69955, 6819, 24369, -8445, 39895, 39767, -15865, -5508, 44840, 43397, 11382, 68496, 34414, 24426, 27407, 6918, 62941, 26696, -10141, 9967, 17156, -15658, 27307, 35859, 24789, 58575, 36918, 2226, 88398, 26932, 17343, 27198, 12724, -5177, 10385, -9383, 65983, 25526, -28425, 58083, 53324, 80222, 19670, 67591, 58866, 40901, 11582, 3010, 1142, 91541, 18944, 41394, -1017, -58602, 51910, 7569, -4888, 19404, 50118, 32102, 16661, 18158, 30076, 41074, -13406, 39556, -78692, 27031, -12403, -5488, 50835, -6815, 28660, -12927, 10066, 2009, 77503, 18726, 63415, 65676, 27479, 22866, 4752, 8353, 94748, 23944, 758, 29484, -13150, 18669, -15874, 7024, 40223, 3972, -6093, 21514, -3903, 78549, -5868, 69554, 12420, 23857, 2277, 28503, 533, 66456, 2042, 62587, 12532, 13822, 32862, 46019, -60255, 24849, 49487, 21575, 25417, 29289, 34758, 15638, 48216, 32928, -9021, 47352, 108748, 7257, 22839, 28226, 29031, 1242, 53346, 4610, 9634, 17928, 24666, -2734, 75138, 19063, 54442, 3058, 36739, 2960, -64251, -3150, 58579, -2997, 14091, 63954, -40693, 23310, 45473, 44200, 14482, 83770, 54018, 53044, 71919, 94780, -6226, 47509, 67433, 34338, 46091, -20767, 31069, 18762, 50513, 22504, 6594, 69565, 28992, 26180, -14784, 13373, 11696, -21190, -2556, -580, -6272, 117243, 43928, -745, 16626, 24405, 14864, 4017, -196, 23385, 39177, 57705, 71997, 49176, 43131, 9232, 31480, 21057, -8431, 6719, 15674, 13475, 65483, 27137, 36187, 63231, 5054, 95736, 105180, 27185, 22137, -1773, 26393, 41430, 13937, 47823, 47078, 35541, 22042, -247, 31865, 86624, 53749, -7989, 68207, 13011, -3471, 8140, -17, 4778, 3576, -6148, 9204, 17451, 23095, 91168, 225, 5237, 36408, 42672, 26901, 121399, 41900, 2277, 61661, 104857, 17832, 34145, 7178, 35645, 13963, 45360, 14957, 35816, -6220, -11504, 38679, 13620, 37303, 80849, 44871, 22992, 3388, -7611, 40208, 25258, 36725, 46531, 14408, 53594, 5106, 23859, 29038, 24461, 28924, 39255, 5189, 62141, 22900, 26356, -1864, 12353, 39782, 28965, -9553, 36775, 9373, 53255, 89585, 63632, 19655, -5597, 32325, 7529, -6882, 33004, 65750, -1269, -11803, 31503, 32818, 45566, 20914, 20901, 79451, 29472, 10543, 4582, -18227, 13519, 41986, 44010, 14275, 41913, 11575, 5798, 42146, -7752, 19315, 23984, 55768, 31673, 2501, 52387, 32784, 5003, 20243, 26247, 59689, 6739, 18787, 63807, 1509, 13692, 64508, 2512, 70083, 41795, 34581, 41585, 47710, 46450, 48701, 45678, 672, 3802, 32083, -7642, 5149, 76625, -12545, 9695, -40, 52013, 27484, 16237, 5232, 1869, -25059, 36677, 10439, 35405, 74726, 7627, 27533, 29125, 73666, 3390, 36098, -20388, 64258, 21262, -9631, 9702, 17, 3920, -4628, -6241, 12744} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-148, -136, -111, -163, -146, -114, -128, -91, -131, -98, -110, -117, -148, -120, -137, -118, -137, -114, -146, -112, -111, -149, -102, -114, -107, -160, -103, -107, -125, -159, -96, -138, -105, -128, -102, -112, -87, -102, -138, -99, -64, -136, -112, -163, -84, -114, -84, -135, -123, -113, -166, -107, -78, -128, -103, -113, -158, -115, -110, -73, -138, -82, -124, -59, -110, -118, -138, -97, -77, -114, -94, -100, -135, -120, -70, -50, -127, -135, -134, -95, -118, -137, -98, -153, -104, -106, -86, -142, -103, -139, -130, -146, -118, -120, -76, -135, -122, -127, -132, -127, -104, -104, -126, -102, -146, -139, -111, -122, -98, -109, -106, -138, -150, -44, -148, -101, -97, -116, -119, -126, -113, -197, -116, -115, -116, -110, -118, -140, -161, -157, -127, -133, -91, -104, -94, -105, -124, -121, -103, -123, -162, -80, -80, -102, -71, -132, -138, -109, -134, -126, -126, -126, -142, -90, -143, -134, -143, -109, -113, -119, -134, -128, -124, -143, -107, -102, -132, -131, -125, -111, -131, -107, -117, -160, -113, -117, -150, -133, -122, -117, -151, -89, -102, -132, -100, -101, -163, -95, -81, -143, -115, -81, -106, -118, -146, -111, -97, -106, -120, -79, -152, -96, -134, -112, -51, -140, -96, -162, -126, -139, -124, -135, -89, -100, -121, -143, -112, -84, -112, -109, -133, -96, -126, -62, -140, -85, -109, -112, -99, -66, -132, -67, -115, -84, -104, -124, -109, -120, -119, -100, -144, -133, -139, -85, -105, -94, -114, -113, -120, -149, -127, -122, -102, -112, -121, -113, -98, -85, -92, -119, -80, -118, -185, -106, -128, -131, -145, -107, -122, -87, -68, -121, -131, -118, -74, -87, -62, -126, -133, -89, -88, -125, -173, -107, -113, -118, -91, -89, -90, -88, -110, -108, -133, -108, -126, -128, -141, -120, -99, -128, -92, -99, -132, -87, -85, -73, -101, -127, -132, -115, -120, -130, -120, -123, -123, -141, -116, -115, -107, -85, -88, -129, -111, -107, -121, -117, -134, -142, -75, -134, -136, -106, -96, -106, -68, -131, -109, -97, -121, -111, -108, -135, -144, -103, -120, -109, -102, -121, -111, -99, -108, -85, -90, -89, -112, -132, -95, -144, -117, -109, -82, -93, -115, -122, -122, -109, -127, -131, -135, -83, -150, -171, -76, -149, -150, -131, -117, -82, -165, -137, -105, -167, -97, -62, -136, -77, -120, -97, -94, -125, -164, -120, -144, -123, -96, -95, -64, -133, -116, -102, -140, -144, -149, -103, -156, -136, -118, -111, -114, -137, -117, -152, -105, -105, -127, -91, -96, -93, -105, -145, -127, -154, -118, -159, -108, -103, -101, -102, -128, -83, -118, -75, -144, -116, -141, -137, -85, -121, -152, -100, -124, -162, -86, -127, -121, -135, -136, -135, -130, -152, -84, -114, -87, -90, -115, -78, -96, -148, -70, -117, -99, -147, -131, -120, -99, -84, -68, -118, -168, -138, -121, -103, -155, -121, -154, -97, -92, -77, -84, -154, -121, -131, -129, -110, -109, -153, -127, -128, -108, -81, -115, -153, -119, -142, -140, -140, -135, -104, -137, -89, -96, -90, -98, -110, -114, -81, -115, -85, -100, -148, -111, -115}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {2107933696, 1341353344, 1402680704, 1958554368, 1113279616, 1535408896, 1880303488, 1507828480, 1492992768, 1108803328, 1336042752, 1083486848, 2068711424, 1346931968, 1768375424, 1380798336, 2118159744, 1353535744, 1847697408, 1227030400, 1075849472, 1412944768, 1182463872, 1452153728, 1336603392, 1222424704, 1369234560, 1287193472, 1718156288, 1100085760, 1293292160, 1567153536, 2072867712, 1096673280, 1410653696, 1664531200, 1251980160, 1667367680, 1295453696, 2103308928, 2057235840, 1873440896, 1996810496, 1344236544, 1142606592, 1443252096, 1715238144, 1282365696, 1878408064, 1151253248, 1423787648, 1450619136, 2116128000, 1095824512, 1491402880, 2004607872, 1093635456, 1125168512, 1718878208, 1890688896, 1568044800, 1771822592, 1395196160, 1885606784, 1429730944, 1947861248, 1899888128, 2010028416, 1869181440, 1861241728, 1580195712, 1930862336, 1593926272, 2136339584, 1777418752, 1089719808, 1587388544, 2077301504, 1191490432, 1211371264, 1435040256, 1660542464, 1187243904, 1520735488, 1817445632, 1331325696, 1579624960, 1542354176, 1491324544, 1533598720, 1502501632, 1173944064, 1783091968, 1755277056, 1508441728, 2120797440, 2112780800, 1183699200, 1503264640, 1546203264, 1114566144, 1248347776, 1772759552, 1912928128, 1604024704, 1083305856, 1531037440, 1250135424, 1886800384, 1340623232, 1859928960, 2107922304, 2042043776, 1818047104, 1373741184, 1754157056, 1446090240, 1156141696, 1859218816, 1220828032, 1264243072, 1376559872, 1934421760, 1398884480, 1541547008, 1374036608, 1811701248, 1382093824, 1148498816, 1861054848, 1128673024, 1885272064, 1648259328, 1235213824, 1918597504, 1614023296, 1363118592, 1978551680, 1541015936, 1919606656, 1942994304, 1356728704, 2066405760, 1721684352, 1132667392, 2010269312, 1500547584, 1424351872, 1240839168, 1088743808, 1998875520, 2140897536, 1639960704, 1276374656, 1306526336, 1634129792, 1659629696, 1553682688, 1922672640, 1232421504, 1647411200, 2045926400, 1372436608, 1336673920, 1140086016, 1707232768, 1222094464, 1536846464, 1383502720, 1786534016, 1846870400, 2081707648, 1341125504, 1574085504, 1434726912, 1171503744, 1878342912, 1885664128, 1185686144, 1491105152, 1781749632, 1791297792, 2096995840, 1793685120, 1577458688, 1107465344, 1315856256, 1595130240, 2005919232, 1383820416, 1602952960, 1759945472, 1250968576, 1899805696, 1149021824, 1576156416, 1786752640, 1081820288, 1893080192, 1200573184, 1084751104, 1548973952, 1816810112, 1893255680, 1634011264, 1366277504, 1965292544, 1666272512, 1312498944, 1126533120, 1413579392, 1249614464, 1353982080, 1967026944, 1818315136, 1481890304, 1091347840, 1506661376, 1215151616, 1358533760, 1905679488, 1430271360, 1370255872, 1977710208, 1739355392, 1226888832, 1423002624, 1806593280, 1929716864, 1915084288, 1217055232, 1411796736, 1544963072, 2102312832, 1667641856, 1839122176, 1567415168, 1261512320, 1357485440, 1148137344, 1833256960, 1291452288, 1255815040, 1491361152, 1903382272, 1616672640, 1244213760, 1991294592, 1278389120, 1459981440, 2075762688, 1985669888, 1272759040, 1947687424, 1894665856, 1638642176, 2126588032, 2064235136, 2129087232, 1822178176, 1124633472, 1110582016, 1910618368, 1379822208, 1954406912, 1438653440, 1757429248, 1107395712, 1334235008, 1278257152, 1108199680, 1220833920, 1903353472, 1984789504, 1792089472, 1083372416, 1583916160, 1437149184, 1469830656, 1930028416, 1573586048, 1290941056, 1615663488, 1259078528, 1667508736, 1128413696, 1247238528, 1110324736, 2017664000, 1994968064, 2029615744, 1117269888, 1396611200, 1289146368, 2013452800, 1151457280, 1681726080, 1524706560, 1442700800, 1319977984, 1295427840, 1339573760, 1853560576, 1172589184, 2106261120, 1642140416, 1350100224, 1327203328, 1346542720, 1106228992, 1084526976, 1345627776, 1347891328, 1080262016, 1917914112, 1105023744, 1112913408, 2077260288, 1433533568, 1440228992, 1260012416, 1404430208, 1312640640, 1514297216, 1441412608, 1189051776, 1874084864, 2032277632, 2003257984, 1148626432, 1380700032, 1390939776, 1330331264, 1443462656, 1087125248, 1385463552, 1518481152, 1291134592, 1550253440, 1704818688, 1745579136, 2004534912, 2105912960, 1693028352, 2125482368, 1442639104, 1929942656, 1265174784, 1535289728, 1844888192, 1546517760, 1520109568, 1978247552, 1968034816, 1552271488, 1779216768, 1497399808, 1882549504, 2014786816, 1646094592, 1888514432, 1520246528, 2102778496, 1891290880, 1918321792, 1308512896, 1490142080, 2055412480, 1747057536, 1627324288, 2041744000, 2044651008, 1361198080, 1757101824, 1382862976, 1182832000, 1161304192, 1869648512, 1261674112, 1286685568, 1671819520, 1460308096, 1526540416, 1202933376, 1094932992, 1702857728, 1109672448, 1976788864, 1506321792, 1610716032, 1441206528, 1213208576, 1135422080, 1080790144, 1095764096, 2134857728, 2048322816, 1253453312, 1286430976, 2022855680, 1536422784, 1083448832, 1830035840, 1730507264, 1591958784, 1914651008, 1346229120, 1472519552, 1106483456, 1953534208, 1724272384, 1298996992, 1079218816, 1243120640, 1544015616, 1498327808, 1178589440, 1770462976, 1386717696, 1484895744, 1849692672, 1463418752, 1498364928, 1241047168, 1427288704, 1907019520, 1789595648, 1517528704, 1349345280, 1146535808, 1380581248, 2039946496, 1661176832, 1891047680, 1643993728, 1825861632, 1905883392, 1111979008, 1462660736, 2139492864, 1216982272, 1282092160, 1830290304, 1867549312, 1683851776, 2061012864, 1985134848, 1422279168, 1274415104, 1300553088, 1666719872, 1388889728, 1187040512, 1533524096, 1103849088, 1169212160, 1993044736, 1970796288, 1321142912, 2095370624, 1253392256, 1805146496, 1791070464, 1182408320, 1797921792, 2070749568, 1764830592, 1455018880, 1107978624, 1211082752, 1364116992, 1548150912, 1915164544, 1114117120, 1230427008, 1612768768, 2088866432, 1241154944, 1438450176, 1690651520, 1818845056, 1667102720, 1679082112, 1771177472, 1437813120, 1333527552, 1374007296, 1226874240, 1495212544, 1186808320, 1440080000, 1922210048, 1530799104, 2073133440, 1903142144, 1154988544, 1596191104, 1745584256, 1211228672, 2070029056, 1294963968, 2147361280, 2123414656, 1532717696, 1301640064, 1654828288, 1216124416, 1165614208, 1869501696, 1422920320, 1470500096, 1350352256}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {-16435, -7594, -360, 33520, 648, -577, 17139, -105, 43, 27904, 35247, -856, 14439, 82812, 755, -296, -417, 78325, 1003, 236, 7, -5388, -416, -125, 72, 34045, 3148, -2813, -7121, 9952, -5190, -11103, 7951, 586, 1152, 2387, 70803, 55, 1955, 990, 1217, -5263, -54855, 3151, 87437, -2601, -170, 514, -901, 2186, 1984, 19970, 652, 24457, -1596, 13178, 185, 230, 551, 81199, 544, 1044, -11012, -44, 5318, 1298, 24568, -19236, -4301, -3824, -26, -8033, -2071, -3549, 969, 48415, 35521, -19406, -174, -146, -1804, 310, -6395, -7751, -13, 2649, 1228, -145, 55864, -5978, -23533, 19329, 6649, 19600, 746, 8754, 5195, -2129, 1231, -7463, -562, -711, 600, 21470, 135, 1899, 58468, -7518, 8565, 646, 504, 29534, -1026, 32728, 39326, -705, -3118, -6487, 426, -544, -2147, 18014, 2244, -926, -2555, 1559, 46800, 16451, 10481, 231, -965, -5248, 32756, -2201, 450, -1669, -1307, -2347, -170, -8213, -242, 2223, 5797, 3168, 1588, 8426, -1252, -21389, -3390, 528, -74, 23402, -14899, -1924, 41402, 2899, -6363, 42938, -4116, 29034, 1643, 724, -32, 2822, 1546, -3539, -5307, -6641, 46984, 30552, 3697, 1058, 638, -1410, -138, 33879, 280, 80469, -44, -1996, 90934, 658, 1012, 4435, -749, 4286, -166, 46, 2914, -3305, 57139, 33767, -59, 22057, 1687, -8452, 4611, -1269, -7, 40108, 202, -8506, -9625, 10016, 20371, 318, -834, -217, 48512, 21754, -4810, 120, 24919, -878, 760, 47461, 882, 1029, -6905, -1293, 81805, 864, -4701, 163, 129, -3269, -2303, 4076, 158, -143, -9772, -11825, 16662, -923, -1170, -10649, 20864, 115, 30480, 484, 314, 6871, 6603, 31349, -69, 7125, 246, -3510, -390, -510, 35527, 457, 23, 1822, 1110, 12330, 21339, -8810, 1543, 20, 636, 842, 29686, 747, -4526, 1126, -3199, 748, -59, 133, 2915, -3909, 410, 21545, 69120, 19643, -891, -3119, -2868, 1545, 60479, -898, 921, -518, 295, 11989, 339, 48295, 763, 265, 117, -135, 521, 283, 28, -9268, 5782, 22998, 39453, -2119, 1520, 1425, -16959, 924, 349, -4153, -7869, 35636, -14936, -883, -1988, -7400, 994, -2406, 1926, 422, 5896, 3580, -6430, 271, 5207, 76534, 89, 7677, -151, -7535, -1487, -3684, 47676, -16050, -15483, -6202, 2041, 4816, -188, 736, -1219, 16301, -456, 33771, 12751, 3082, -323, 33795, 299, 1431, -4416, -12988, 21779, 18965, -9685, 583, 151, 4063, 14496, 11737, -7309, 17050, 34293, 34797, 8938, -383, -5790, 32664, 1204, 212, 138, 1099, -5429, 1247, -12747, 2242, 659, -420, -421, 229, -4829, 1647, -349, -20289, 1499, 51890, 353, 7, -320, 33423, -3645, -1175, 4013, -306, -1767, -4390, 17290, 176, 37194, 335, -54, 219, -459, 259, 835, -29917, 3258, -442, 15850, 7711, -3425, -5980, -263, 32526, 18733, 74, -2563, 11138, -5259, -3487, 40406, 286, 1679, 1323, -4540, -415, -2073, 2665, 23006, 821, -847, 1107, 524, 842, 61002, 15987, -2571, 321, 1124, -1398, 323, -526, 300, 5877, -1334, 25986, 130, -7700, 3542, 18571, -18495, 8, -18182, -982, 139, -931, -3975, -108, -763, -130, 2022, 11133, -1446, -11103, 660, -1339, -34720, -367, 2891, 11666, 70816, -3933, -2323, 320, -5080, 943, -1145, -793, 27854, 1666, 916, 51855, -150, 1149, -11324, -327, 589, -10933, -11945, -1553, -154, -8774, 236, 3843, 35028, 451, -273, -2152, -28787, 69, -98, -145, -634, -225, 42917, 918, 1715, -2242, -519, 50121, 172, 21512, -4931, -1490, 1221, -5675} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-47, 3, -102, -285, -138, -155, -234, -80, -126, -258, -314, -24, -237, -357, -35, -110, -116, -533, -117, -94, -120, -23, -109, -114, -26, -149, -47, -19, -20, -150, -38, -36, -31, -104, -133, -116, -511, -89, -26, -92, -105, -95, 44, -41, -444, -119, -124, -103, -125, -80, -112, -223, -129, -234, -15, -43, -94, -136, -138, -469, -138, -100, -6, -101, -44, -106, -319, -11, -89, -24, -172, -25, -117, -108, -38, -338, -257, -39, -146, -120, -82, -109, -16, -10, -135, -100, -98, -119, -292, 0, 18, -233, -129, -238, -121, -202, -16, -89, -101, -29, -91, -119, -113, -248, -67, -169, -266, -53, -69, -51, -86, -226, -128, -307, -282, -160, -26, -101, -86, -41, -5, -244, -124, -114, -142, -114, -271, -245, -21, -87, -91, -60, -244, -140, -160, -76, -98, -141, -11, -7, -14, -133, -90, -63, -117, -60, -85, 9, -91, -70, -92, -244, -55, -15, -308, -83, -24, -351, -19, -265, -139, -89, -44, -33, -106, -11, -7, -39, -249, -282, -99, -95, -60, -28, -100, -233, -116, -559, -92, -105, -574, -94, -156, -119, -92, -30, -68, -22, -181, -40, -440, -266, -129, -260, -81, -113, -41, -172, -120, -433, -137, -23, -28, -19, -179, -101, -132, -99, -344, -176, -14, -88, -239, -102, -96, -210, -100, -128, -72, -46, -483, -90, -53, -118, -81, -103, -78, -32, -92, -105, -55, -53, -240, -122, -91, -11, -158, -104, -238, -112, -101, -145, -52, -257, -16, -44, -121, 3, -103, -117, -309, -123, -130, -101, -101, -166, -246, 5, -132, -92, -96, -107, -415, -114, -9, -46, -32, -83, -124, -90, -87, -73, -40, -222, -318, -260, 19, -24, -92, -120, -399, -117, -92, -27, -127, -37, -90, -307, -105, -98, -106, -45, -103, -65, -24, -58, -112, -185, -347, -35, -89, -92, -23, -120, -113, -33, -114, -322, -3, -3, -13, -3, -57, -21, -87, -122, -68, -20, -71, -104, -83, -225, -117, -70, -120, -79, -97, -119, -268, -40, 43, -104, -90, -93, -136, -69, -95, -169, -87, -308, -226, -37, -95, -264, -97, -77, -24, -79, -230, -224, -90, -119, -85, -51, -247, -244, -2, -230, -170, -292, -49, -87, -33, -234, -157, -95, -104, -120, -85, -105, -45, -92, -79, -53, -114, -94, -13, -104, -94, -33, -120, -464, -96, -111, 2, -263, -67, -64, -77, -103, -26, -70, -200, -36, -257, -107, -90, -121, -126, -114, -126, 6, -94, -23, -248, -31, -126, -67, -104, -261, -231, -169, -47, -135, -10, -40, -458, -100, -89, -104, -71, -62, -67, -122, -230, -106, -151, -70, -100, -130, -388, -151, -107, -56, -132, -16, -112, -96, -64, -124, -35, -246, -118, -95, -34, -167, 49, -90, -49, -95, -123, -95, -23, -129, -117, -119, -103, -26, -96, -70, -89, -157, 43, -99, -103, -135, -418, -67, -13, -145, -70, -101, -104, -79, -231, -98, -99, -389, -127, -139, -4, -173, -85, -12, -8, -126, -143, -10, -115, -99, -260, -25, -76, -5, -2, -88, -141, -116, -103, -98, -325, -92, -90, -94, -107, -388, -89, -190, -26, -19, -164, -58}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1440972928, 2034620544, 1307566720, 1552671488, 1972515456, 1703923584, 1732383104, 1105412736, 1437917440, 1402930816, 1720989696, 1959335040, 1752185088, 2069724672, 2036410624, 1094040960, 1904230272, 1265667712, 1460752768, 1528514560, 1421076864, 1809226240, 1404966784, 1926514176, 2113643264, 1740647680, 1412964736, 1947470464, 1227192704, 1932939136, 2011291520, 1287153152, 1884131584, 1380258304, 1881612032, 1874765440, 1796489344, 1612838400, 1164113024, 1875642240, 1503192960, 1420769024, 1334173184, 1420113792, 2068133376, 1964134016, 1595592448, 1505441280, 1407899904, 1663171200, 1115856384, 1189239424, 1897968128, 1421793024, 1879972480, 1742851968, 1864748288, 2090838016, 2147362304, 1627481088, 1222859264, 1310829952, 1116264704, 1154143744, 1145612032, 1090498176, 2040737920, 1298869632, 1479275776, 1164860928, 1687758464, 1737583744, 1357697280, 1582250112, 1324089088, 1337508992, 1570458240, 1418342272, 1800642304, 1407136256, 1299373568, 1718484736, 1202843136, 1080805632, 1089107200, 1861849984, 1624437376, 1116376192, 1150745984, 1633244160, 1807602176, 1434770560, 1200659328, 1767268736, 1286282624, 1447865984, 1440862208, 1277538432, 1079376000, 1366494592, 1261374592, 1998535808, 1187756544, 2032961920, 1942087296, 1852809856, 1616343808, 1684432512, 1402513664, 2097797376, 1267074944, 1211798784, 1360263680, 1305487488, 1847869184, 1304300544, 1266479104, 2105287296, 1795123584, 1302288384, 1673718912, 1654215808, 1363440640, 1628500864, 1208058752, 1899544576, 1788017280, 1432037248, 1108270080, 1708425600, 1255824384, 1422283264, 1138872192, 1525864704, 1693677696, 1107573248, 1453272448, 2000215296, 1892354432, 1269499264, 2034804224, 1851472768, 1755987584, 1085985792, 2095897088, 2028013952, 1378408448, 1688141056, 1681396480, 1645800192, 1438025984, 1928332416, 1652147840, 1177842176, 1158862464, 1272391040, 1245425280, 1444331904, 1515955200, 1183794944, 2122291584, 1761356672, 1450513024, 1306096768, 1100078848, 1817688192, 1136890880, 2016170368, 1479426432, 1247473280, 1589095552, 1796023424, 1268541440, 1349643008, 1473321856, 1109894784, 1142201856, 1423783552, 1106286592, 1324218240, 1371452928, 2037118208, 1564036224, 1306312576, 1710358656, 1470844800, 1652152320, 1195854080, 1595646720, 1406244864, 2084362752, 1216564224, 1428370304, 1899294336, 1340887552, 1078761472, 1866624512, 1840772096, 1277783680, 1106600064, 1488825344, 1201957504, 2107570432, 1392770432, 1376647424, 1459452928, 1889005056, 1334049152, 2097371776, 1241940224, 1357436928, 1570478208, 2017901824, 1133944704, 1383411584, 1412623872, 1152166016, 1779464064, 1294233600, 1728196480, 1580119168, 1945225088, 1162203392, 1550051200, 1112859648, 1729094656, 1996887424, 1931579520, 2106019840, 1723637504, 1097275776, 1264096640, 1822040064, 1862232704, 1732022528, 1120719616, 1658608384, 1602914432, 1158574592, 2090122752, 1388241280, 1369396480, 1563605632, 1779707904, 1395110016, 2038410112, 1714855040, 1154788864, 1878645120, 1198679424, 1949613696, 1277036160, 1855122816, 1221159936, 1299694208, 1119622656, 2067700864, 1811746304, 1393584896, 1150032000, 1376029312, 1442231040, 2128809344, 1724700288, 1594672256, 1354384000, 1785692800, 1734104832, 2100125824, 1807723136, 1348110464, 1923693824, 2036493184, 1942162304, 1221526528, 1592323968, 1342528256, 1100002048, 1139973632, 1530170880, 1836310272, 1110052096, 1564097280, 1380938496, 1109522688, 1602319872, 1317761024, 1673396992, 1111306368, 1103617920, 1515737600, 1586525056, 1709347968, 1481566336, 1639182848, 1557888384, 1278261504, 1430202112, 1320203776, 1302370304, 1199542912, 1932202496, 1621805568, 1641113472, 1926757120, 1681474304, 1700146560, 1657331968, 1711610752, 1595000192, 1253242112, 1337359744, 1147530240, 1741041920, 1876012032, 2069195648, 1909003136, 1564137344, 1405057280, 1490543488, 1665217792, 1887806592, 1421339520, 1726711808, 1565525888, 1382232576, 1199810432, 1980921728, 1739530624, 1553893248, 1619214976, 1361091712, 1819456768, 1127137024, 1314731776, 1627806208, 1245296384, 1226091776, 1811001728, 1692033920, 1493663872, 1534570112, 1541961088, 1729129088, 1672311808, 1531620736, 1761943808, 1655988736, 1079529088, 2107719040, 2066057216, 1516030592, 1459396992, 1245841664, 1455747968, 1235657344, 1974219776, 1301971200, 2096944384, 1721019520, 1102733440, 1171883136, 1760246272, 1220027008, 1486074624, 1598243328, 1952815872, 1870622976, 1102596608, 2141722752, 1274236416, 1479159424, 1153335552, 1538759424, 1935820160, 1208995840, 1298710144, 1682444160, 1602217984, 1375925888, 1422526336, 1081328000, 1207924224, 1739921536, 1719005952, 1702034688, 1360428928, 1640715264, 1527825664, 1844918656, 1291363584, 1638442240, 1694743424, 1383512448, 1432530048, 1161828224, 2022971264, 1830483584, 1317395712, 1867332992, 1465685504, 1818338560, 1208991104, 1200548096, 1698643968, 1220371712, 1892068352, 1313704320, 1782544512, 1424843264, 1239362432, 1610687104, 1178119680, 1713660160, 1935363328, 1141420288, 1247523328, 1237656192, 1593446528, 1862439424, 1443231488, 1078704768, 1702236928, 1744030720, 2144439808, 2038479360, 1665553408, 1731588736, 1505781888, 1144142976, 2033889536, 2055801728, 1285753728, 1170434176, 2123286784, 1591720448, 1240892544, 1080054912, 1632055168, 1923619840, 1484406912, 1832014592, 1411379712, 1241952000, 1399184896, 1648077184, 1306873344, 1560013312, 1900494208, 2142493184, 1453386624, 1445058432, 1331056640, 1155747328, 1090010240, 1419480064, 1338851840, 1270271616, 1276932480, 1486018176, 1976849024, 2019823360, 1650176768, 1533774336, 1808268672, 1431621376, 1396174464, 1844500480, 1406526592, 1187084672, 1180776576, 2130388864, 1873146880, 1743832192, 1112882944, 1094958464, 1206521472, 1425634304, 1407592064, 1847881856, 1899914624, 1324664960, 1503784704, 1605661568, 1174009472, 1309611136, 1181163392, 1377935872, 1390878464, 1199977856, 1306559744, 1247950464, 1883501568, 1145482624, 1742690048, 2131255040, 1086387584, 1492464000, 1981374976, 1519559040, 1665272320, 2097523072, 1112342656, 1354822912, 1533170432, 1396925056, 1088305152, 2142864640, 1300738304, 1300921088, 1238316800, 1651893632}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {550, 2594, -25, 1066, 2414, 3178, 2368, 987, -241, 897, 785, 1820, -2254, 3267, 2991, 331, -458, 949, -699, 1173, 35, 2493, 1053, 707, 506, 2892, -324, 1310, 1119, 2207, 487, -618, 727, -1193, 905, 596, 2258, 477, -1307, -556, 1341, -770, -2125, 289, 456, 3596, 1127, 82, -604, 759, -79, -795, 137, 363, 1223, 252, 26, -381, 1205, -1492, 2888, -864, 2005, 325, 1230, 1028, -477, 6854, 5139, 1350, 604, -868, -555, -319, 1150, 678, -567, -552, 2033, -2026, -1867, -291, 221, 3102, 271, -197, 2242, -2043, 1031, 1775, 1099, -2393, 736, 179, 410, 2273, 197, 720, 1986, 600, 622, -582, 937, 862, 858, 40, 717, 1196, 681, 3394, 494, 1581, 1366, 1970, 1052, 660, 1616, -1645, 3010, 553, -1660, 2781, 5705, -422, 4036, 2355, 798, -153, -331, -449, 1357, 1562, 1385, 29, -1076, -1499, 827, 501, 1747, 1272, -885, 883, 830, -718, 317, -1389, -410, -850, 117, -960, 1249, -364, 2049, 346, 391, -581, -396, 2403, -284, 882, 2354, -387, 1007, 1016, 1034, 1901, 1404, 454, 232, 896, 943, 1393, 594, 5340, 7006, -419, 1013, 373, 373, 2882, -1669, 1997, 4921, 1442, 387, 1393, -266, 1249, 3312, 608, 641, -727, 745, 1568, 197, 603, 691, 216, -645, 2068, -390, -694, 378, 284, 3145, 396, 3740, 865, 2321, 1964, -37, -219, 2284, 553, 854, 6115, 2974, 2999, -1372, -351, 1093, 896, -180, -1389, 943, 369, 180, 197, -442, 1434, 4358, 3969, 604, -158, 1931, -431, 1223, 222, 2665, 1020, -461, 232, 2470, 6835, 400, 186, 714, 1794, -681, 556, 217, 85, 681, 2035, 5051, 791, 1333, 776, 199, 3451, 537, 2956, 3896, 533, -633, 588, 2326, 3182, -561, -775, 2321, 2663, 4, 2259, 32, 508, 1208, 4794, 1900, 2721, -1593, 1095, 1054, 463, 2123, 1396, 1103, 961, 1421, 1074, -53, 1713, 804, 147, 950, 439, 1061, -219, -771, 1853, -53, 279, 1468, 445, 554, 2438, 7751, -950, 1827, 705, 103, 2806, 2862, -627, 213, -672, 438, 1096, 1294, 1007, -705, -674, -149, 491, 3575, 1240, 1559, 4844, 1600, 133, -4243, -85, 873, 2091, -93, 2218, 881, 831, -852, 1124, 3433, 874, -327, 189, 4287, -833, 450, 4774, 334, 1694, 1468, 1692, 1646, 1933, -1134, 620, -432, -613, 3208, 1329, 141, -368, -482, 1726, 604, 149, 475, 5114, 59, 988, 395, 525, 1142, -274, -728, -87, 3752, 309, -1375, 1178, 1112, -1874, -350, -173, -83, -530, -1382, 652, 964, 472, 1834, 819, 895, -158, 2044, 1461, 545, -1409, 1026, 864, -468, 1151, 1403, 778, 4124, 22, 2773, 1474, 2538, 1638, 150, -961, 477, 22, 2125, 3815, 335, -623, 1270, -919, 4879, -712, 1016, 8, 946, 3548, 972, 2037, 106, 4037, -329, 630, 517, 3115, 186, -1339, 884, 1131, 1828, -1512, 2856, 655, 1161, 2886, 1200, 915, -1191, -1543, 100, 1454, 402, 630, 2132, 5658, 2278, 487, -733, -854, 1200, -1265, -600, 124, -435, 2444, 1458, -287, -2005, 1917, 257, 619, 5003, -394, 1051, -702, 468, 2149, 1779, -11, 1500, 2310, 3253, 5174, -338, 808, -859, 3036, -347, 5628, 61, -780, 3239, 2907, -963, 195, 1295, -708, -298, 1462, 2116, 2070, -2008, 718, -1672, 1283, 1563, -1435, 784, 886, -27, 1408, 502, -1405} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-7, -6, -6, -7, -7, -7, -9, -8, -8, -6, -4, -6, -6, -5, -7, -7, -8, -9, -8, -5, -7, -6, -7, -8, -7, -8, -8, -7, -8, -9, -8, -8, -6, -8, -7, -9, -7, -9, -7, -5, -6, -8, -7, -5, -8, -7, -5, -9, -7, -9, -9, -7, -10, -7, -7, -6, -7, -8, -8, -9, -7, -6, -6, -6, -7, -7, -6, -7, -6, -7, -7, -6, -7, -6, -6, -8, -6, -7, -7, -6, -7, -8, -7, -5, -6, -8, -8, -9, -5, -6, -5, -6, -7, -6, -5, -8, -5, -9, -7, -7, -5, -8, -7, -10, -7, -8, -4, -7, -7, -5, -8, -6, -7, -8, -5, -7, -6, -6, -7, -8, -9, -8, -8, -8, -10, -10, -10, -6, -6, -8, -10, -11, -7, -8, -6, -7, -7, -7, -11, -5, -6, -7, -8, -7, -8, -7, -7, -11, -6, -6, -6, -6, -5, -9, -7, -5, -7, -9, -7, -7, -8, -9, -7, -6, -10, -7, -7, -9, -8, -6, -5, -8, -8, -7, -8, -9, -8, -8, -9, -8, -6, -7, -6, -8, -7, -10, -8, -5, -6, -7, -5, -7, -7, -6, -6, -6, -8, -6, -10, -7, -5, -6, -9, -7, -9, -9, -7, -4, -6, -8, -7, -8, -9, -9, -7, -6, -10, -10, -7, -11, -6, -8, -5, -9, -6, -9, -9, -10, -8, -9, -8, -6, -9, -8, -7, -7, -4, -5, -8, -7, -8, -6, -8, -6, -8, -10, -7, -5, -8, -8, -7, -8, -7, -7, -7, -7, -7, -7, -5, -9, -6, -7, -8, -8, -7, -4, -6, -10, -8, -8, -7, -8, -5, -8, -7, -5, -8, -8, -8, -10, -8, -5, -8, -9, -8, -7, -8, -7, -7, -7, -7, -9, -9, -7, -6, -9, -8, -7, -7, -7, -8, -6, -10, -5, -9, -12, -7, -8, -8, -7, -8, -7, -5, -7, -8, -8, -7, -6, -6, -8, -5, -9, -9, -9, -8, -7, -8, -8, -8, -8, -9, -10, -7, -6, -7, -9, -7, -5, -7, -6, -7, -5, -8, -7, -8, -6, -8, -8, -7, -6, -8, -7, -6, -8, -7, -7, -8, -9, -6, -7, -7, -7, -4, -8, -6, -7, -7, -7, -8, -9, -5, -7, -4, -9, -7, -7, -7, -7, -6, -9, -7, -7, -8, -8, -8, -7, -8, -7, -7, -11, -9, -8, -7, -7, -8, -7, -7, -6, -7, -9, -7, -7, -7, -10, -7, -7, -6, -7, -11, -6, -7, -6, -6, -9, -9, -12, -6, -9, -6, -6, -8, -6, -9, -6, -6, -6, -9, -7, -10, -7, -9, -8, -10, -8, -8, -8, -11, -7, -8, -7, -5, -8, -9, -8, -7, -8, -8, -7, -7, -7, -6, -7, -9, -7, -8, -6, -9, -7, -6, -8, -7, -7, -7, -7, -8, -7, -6, -7, -9, -8, -7, -7, -7, -7, -8, -8, -7, -10, -4, -9, -8, -8, -8, -7, -7, -8, -6, -9, -9, -6, -8, -7, -7, -6, -9, -9, -7, -7, -7, -8, -6, -4, -7, -8, -8, -7, -7, -7, -5, -6, -4, -10}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1531756672, 1359169152, 2044166016, 1464982784, 1367381888, 1163213696, 1139974144, 1535111296, 2145788928, 2053505536, 1551325696, 1701854336, 1738852352, 1859951104, 2043796224, 1778401792, 1111124096, 1290653568, 1789403904, 1118086016, 1297878912, 1859322112, 1310747008, 1792859008, 1990273536, 1766312192, 2030571392, 2036125696, 1196846464, 2033253760, 1730836736, 2122032512, 2120293760, 1108509952, 1858158080, 2027888000, 1274426496, 1736057344, 1577464064, 1566861952, 1642825088, 1093145728, 1118831872, 1457964032, 1439257088, 1200871168, 1363837568, 1309289728, 1373139712, 1535112704, 1582371712, 1847719808, 1145050752, 1192581120, 1154231296, 2102276224, 1965201920, 1243391104, 2011788416, 1081614208, 1890171904, 1175854976, 1074856704, 1307191168, 1666942464, 1381545856, 1963020544, 1749077120, 1527931776, 1570713856, 1679428992, 1398202752, 1902505344, 1985388288, 1226414336, 1216611968, 1369320064, 1721420544, 1119109504, 1103280512, 1987963392, 1163686400, 1213160960, 1873430784, 1614846720, 2011639296, 1932117376, 1606274560, 2134369792, 1214645760, 1773942784, 1902722048, 1079116544, 1226221824, 1355517440, 1771349120, 1740532096, 1473206784, 1794040704, 2112240640, 2112936832, 2022652544, 1146840832, 1182989568, 1910454784, 1498580608, 1475655680, 1338890368, 1531571968, 2003711872, 1350840960, 1726971776, 1380688000, 1962327040, 1301673984, 1507927680, 1748619264, 1120786048, 1793287552, 1187350784, 1452754304, 1357064192, 1913365632, 1474894080, 1599356800, 1388254720, 1161470336, 1867534976, 1830902656, 1282576384, 1129571712, 1162434688, 1107343360, 2141319040, 1680330368, 1758939392, 1426092672, 1201703936, 1500368896, 1770913664, 1234194560, 1221915648, 1302699520, 1339130112, 2085746688, 1949477888, 1460154752, 1998126336, 2072140800, 1380158720, 1343032576, 1529152768, 1466135424, 1699934592, 1898792704, 1482862976, 1463047680, 1884994688, 1634433408, 1151617024, 1322942336, 1312363008, 1258822144, 1469899392, 1352455168, 1332379776, 1306007680, 2002726144, 1190569344, 1143993728, 1176893824, 1647122304, 1613204352, 1655442432, 1360786944, 1268602240, 1310125824, 2073463424, 1601895936, 1343328256, 1416473344, 1965877120, 1331458944, 1974222336, 1742373760, 1139575936, 1199238784, 1565584000, 1966082560, 1857003776, 1933786624, 1416993792, 1874934784, 1890361088, 1635213184, 2052461440, 1985118720, 1218939648, 1703940608, 1748582656, 1337935744, 1597249536, 2138412160, 1245947392, 1937450624, 1236773248, 1625491072, 1517879808, 1755575552, 2014185472, 1531288832, 1877317760, 1894281216, 1135978496, 1790192384, 1350927872, 1821890688, 1660988544, 1201429888, 1770999680, 1664663040, 1826495104, 2050509056, 1227678720, 1885975552, 1153493760, 1342973440, 2030985472, 1353552000, 1179001216, 2032394880, 1763291008, 1541900928, 1977691520, 1184260608, 1658528896, 2134431104, 1182445696, 1166928768, 1349921536, 1138838272, 1817304192, 1165564928, 1643310336, 1129693184, 1582550272, 1893616000, 1990108288, 1294341888, 1964953728, 1814027136, 1454030208, 1112730240, 1569000448, 1796222592, 1301076480, 1929654528, 1585002752, 1821750528, 1769814016, 1901799296, 1550496000, 1557670784, 1995903744, 1763623680, 1237077760, 1162524416, 2124255616, 2132336640, 1736339456, 1734044160, 1204508032, 1397432576, 1436030976, 1709552000, 1812183552, 1404473728, 1670876672, 1147888512, 2090436224, 2101655040, 1684445568, 1165232640, 1123447808, 1141874048, 1374944384, 1487513984, 1517911552, 1356360576, 1373635712, 1077412480, 1745434368, 1188262784, 1358362752, 1350069376, 1686054912, 1613658752, 1235146368, 2102239872, 1393087360, 1964652032, 1503960832, 1786166784, 1097171200, 1802898304, 1516536320, 1154588288, 2138942464, 1583324160, 1775179264, 2112464256, 1156661760, 1736868224, 2039138048, 1664350464, 1765321984, 1169634560, 1154107648, 1251281280, 1956978048, 2135012608, 1946668544, 2006980864, 1985278592, 1813536256, 1380988160, 1865260416, 1241823744, 1973921792, 1607137280, 1310041472, 1792173696, 1258325120, 1818287872, 1382794880, 1517443456, 1788698368, 1195616256, 1662333568, 1851924736, 1854320000, 1553866624, 1605048960, 1269294336, 1756850048, 1103096960, 1448568064, 1727186944, 2077839360, 1631558144, 1112450944, 1182240768, 1454610176, 1305324032, 1090289536, 1411706624, 1683947520, 1155474944, 1805963264, 1721752960, 1163638912, 1465905408, 1137348224, 1173777152, 1691996672, 2071263488, 1243675776, 2139838080, 1511776640, 1148091904, 1101228544, 2092254592, 1959913216, 1561217408, 2082901632, 1572950016, 1766164864, 1692502784, 2023548416, 1214945536, 1325679616, 1963931136, 1634832000, 1348196992, 1867372288, 1108471680, 1805067904, 1365797376, 1759408384, 1712774656, 1674872448, 1287470080, 1267362560, 2003209984, 1867095040, 1224141568, 1390553216, 1144590336, 1833963520, 1984260224, 1907823488, 1846434048, 1589739648, 1237614848, 2120049536, 1956370816, 1339219584, 2050772992, 1248954752, 1274549632, 2130802176, 1300619520, 1172664960, 1877600512, 1689162496, 1954300672, 1104163840, 1674586880, 1177790720, 1219247360, 1160802304, 1239837824, 1769868416, 1198879872, 1129210880, 1945130752, 1297306880, 1093863168, 1838155904, 1314346496, 1741706752, 1181095936, 1124589312, 1185451392, 1709490944, 1321112320, 1135412864, 1335100416, 2111904512, 1868715264, 1283616896, 1437764736, 1473759488, 1999516416, 1738975488, 1603962368, 1793282944, 1819260928, 1099572224, 1245539328, 1474573312, 1565081472, 1588741120, 1384945536, 1627392768, 1496291968, 2119634176, 1369689472, 1732220416, 1689336192, 1283179008, 1294144896, 1287285120, 1393859840, 1232413952, 1148114560, 1177116544, 1406545664, 1431136768, 1933626112, 1397441536, 1148918144, 1638985344, 1991715712, 1292182016, 1206196992, 1472316288, 1202953472, 1158861056, 1175775616, 1801820288, 1377316992, 1270836224, 1448913408, 1173461120, 1354756992, 1807173888, 1565297024, 1078584960, 1756552704, 1119508096, 1312836352, 1507946368, 1374674560, 1697329280, 1910299392, 1498000512, 1516727808, 2118778624, 2068845056, 1468388480, 1380365440, 1423862528, 1557467136, 1223778176, 1411139328, 1324755584, 1280101760, 1848536448, 1081875328, 1755272448, 1345786880}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {-23054, 26320, -3332, 85097, 961, 900, 22230, 23577, -19589, -6629, 52758, 26772, 1583, 21358, 21308, 12767, 1068, 1454, 1927, 19872, -20248, 9089, 60667, -8078, 85765, 29747, -8927, -6098, -4464, 112, -9630, 75895, 23720, -6195, -3953, -7925, 30349, -9238, -20707, 37864, 748, -9759, -10682, 20319, -4659, -1824, 59971, -12415, -12046, 1880, -11136, -2963, -10511, 3426, 1009, 57982, 3293, -5371, -6303, 4668, 376, -6790, 7349, 25783, -10577, 33822, -8902, 27858, 113, -7792, -4143, 3933, 55396, -4954, -8825, 44887, -10286, -1264, 27011, -11601, 6105, -8938, 67115, 17570, -1054, 7835, -6767, -11549, 24875, 14366, 6973, -1288, 51868, 37652, 31198, 11326, 38133, -5356, -4240, -15529, 15817, 6653, -10408, -4306, 623, -11828, 11315, -3747, -5431, 19179, 27832, 37155, 43060, 85155, -14170, -2471, 26104, -5669, 8880, -31639, -15902, 7314, 631, 34832, -6544, -47866, -28271, 48936, -212, -9330, 17345, 11155, 39383, -4906, 39929, -29674, 704, 50001, 2410, 6694, -8626, 75214, 28980, 37455, 119210, 163, -1707, -2569, -6080, -2827, -20850, -4364, 5906, -3211, -4721, -13598, -11224, 1353, 11315, -2829, 23157, -10629, 59041, 37192, -30122, 40420, -2786, -3904, -777, 61791, 11760, -27437, -2622, 2015, 18043, -18801, 46436, 68754, -11925, 25755, -12840, 1837, 8711, 3486, 62329, -18233, 7687, 40461, 29161, -16707, 35485, -1180, 66520, -7739, 46627, 112758, 3530, 20439, -12821, -10150, 58468, 45993, -11041, 44037, -40282, 9915, 24009, 32219, 77553, 20941, -6226, -8795, 16975, -3060, -5435, 20943, -2302, 73958, -5808, -18449, -8598, -9208, -550, 54986, -4388, 195075, -8083, -7848, 86015, -15574, -6168, -4806, 16796, -5782, 13472, 4907, 12205, -14105, 2509, 19485, -7462, 35, -24834, 8894, 10726, -8943, -4342, 2044, 13950, 15648, 7403, -3552, -6388, -5333, -7651, -7992, 31123, -5324, 35161, -1926, 22371, 4376, 14371, 9755, -13005, 71989, 22653, -43042, -6727, 50913, -3359, 4969, 44316, 1303, 5641, 2466, 49775, 25562, -16541, -1915, 79829, 7461, 61162, -15224, 1890, 4051, -13469, 40621, -3048, -7124, -10586, 72010, 9888, -15878, 59506, 10897, -27308, -11157, 17094, -4115, -10122, 81003, 26286, -2497, -754, -2532, 6388, 4432, 7023, -7863, -428, -10600, 36628, -4323, 72202, 9625, 66507, 48140, 1428, 8743, -8849, -9720, 13745, 7864, 27476, -5628, 26948, -2944, 1674, -14825, -25128, -6783, -4804, 8224, -16682, -2277, 51044, 45499, 750, -8367, 287, -4417, 7219, 51388, -3609, 49263, -1085, 4632, -14637, 72218, 12510, -12207, 107780, -6472, -8210, -28274, -16059, 1577, 22722, 37759, -3029, -258, 49601, -22892, 47493, 6750, 6270, 29210, 10033, 54630, -6912, 13223, 56122, -17359, -649, -13778, 40095, 104364, 20, 7413, -7569, -17886, -8574, -11888, 100056, -5244, -5999, -2593, -3038, 9894, 9556, -28265, -4665, -12344, 107738, -8597, -12145, -18332, 27584, 25397, -7551, -1492, 44500, 7162, -764, 52216, 15514, 32918, -3614, -10336, 48335, -6532, -14598, -4241, 40727, -6915, -7434, 2864, 60469, 52999, 4308, -6506, 50655, -3793, -4187, 2014, 14996, 16652, -16250, 4604, -7049, -6009, 34860, -3431, -6789, -12188, -17425, -7697, 52545, 9, -10154, -3333, -13, -2105, 11042, 2817, -301, 8122, -11310, -6097, 53099, 13888, 1211, -1, 24525, 33851, -23219, 4270, 27358, -18313, 31169, -20939, 49265, 13091, -618, -4396, 48, 7677, 29878, 61201, 45293, 41661, 23316, 7121, -7281, 12627, -3920, -12280, 16102, 15820, 56134, 11075, -32601, 59510, -7327, 33320, 45512, 18708, -17378, 67355, 756, 24088, -13997, 58500, 157242, -11910, 14123, 16801, 30437, -250, -140, 43142, -17149, -10137, 12152, -24889, 38080, 54294, -5617, 5932, 41322, 2687} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {1, -209, -31, -475, -26, -83, -195, -173, 16, -5, -349, -269, -73, -244, -247, -47, -47, -116, -57, -231, 2, -138, -370, 10, -275, -255, 7, 4, -74, -133, -4, -360, -153, -135, -109, 5, -270, -37, 9, -386, -99, 4, -12, -118, -99, -129, -302, -50, -2, -100, 6, -54, 13, -87, -148, -335, -145, -18, 3, -51, -13, -90, -80, -236, -9, -277, 9, -171, -214, 10, -1, -28, -207, -48, 5, -328, 10, -59, -293, -4, -122, 3, -303, -233, -48, -95, -92, 21, -222, -114, -80, -26, -277, -293, -132, -194, -261, 16, -56, -20, -207, -153, -134, 18, -65, -88, -116, -62, 11, -258, -222, -271, -285, -349, 4, -28, -222, -8, -82, 33, -3, -87, -133, -191, -55, -6, -20, -296, -43, 18, -104, -131, -178, -75, -293, 50, -126, -289, -41, -135, 12, -446, -158, -269, -840, 178, -32, -12, -43, -48, 42, -75, -77, -7, -10, 0, -1, -71, -160, -96, -180, 15, -339, -293, 2, -279, -77, -82, -146, -385, -124, 32, -20, -39, -240, 8, -235, -415, 7, -241, 38, -98, -55, -62, -357, -13, -41, -257, -276, 22, -271, -106, -343, -64, -277, -525, -132, -241, 9, 18, -329, -288, -27, -299, -8, -123, -249, -292, -349, -205, -33, -2, -183, -33, -24, -238, 3, -283, 4, 8, -5, -11, -96, -302, -60, -592, 14, -41, -450, -4, -34, -87, -167, -46, -139, -69, -194, -21, -44, -196, -3, -113, 121, -204, -116, 1, -34, -153, -100, -111, -101, 16, -45, -29, -48, -6, -250, 23, -272, -36, -260, -85, -68, -122, -3, -345, -166, -14, -16, -245, -25, -84, -271, -12, -70, -97, -318, -219, -26, -23, -283, -126, -349, 30, -65, -94, -63, -235, -122, -97, 12, -370, -66, 12, -268, -117, 11, 6, -122, -116, -35, -405, -137, -18, -110, 1, -48, -50, -116, -25, -50, -2, -295, -51, -363, -147, -354, -348, -34, -80, 9, 18, -91, -140, -251, -11, -135, -118, -69, 17, 11, -54, -59, -50, -16, -70, -333, -290, -92, -82, -98, 4, -100, -354, -83, -375, 2, -41, 0, -575, -111, -76, -355, 0, 36, 39, -8, -58, -252, -234, -27, -100, -289, 43, -340, -53, -82, -197, -105, -217, -13, -140, -317, 4, -53, -22, -274, -811, -133, -28, 8, 62, -6, -7, -668, -54, -4, -59, -96, -75, -100, -7, -68, 9, -334, 18, -33, 24, -182, -131, -6, -19, -307, -62, -140, -237, -173, -175, -19, -76, -290, -8, 5, -125, -277, -18, -2, -85, -255, -377, -92, 13, -303, -52, -77, -179, -174, -176, 7, -60, 18, -46, -223, -100, 20, -39, 10, -24, -365, -54, -38, -51, -102, -13, -86, -118, -91, -33, -22, -99, -307, -55, -125, -128, -234, -210, 22, -175, -248, 19, -298, 45, -263, -198, -108, -156, -33, -49, -219, -332, -195, -260, -258, -116, 23, -162, -65, 11, -192, -146, -248, -175, 49, -453, -28, -295, -313, -252, 8, -467, -53, -256, -8, -319, -598, -10, -145, -147, -252, -113, 2, -261, 40, -101, -107, 23, -304, -481, -33, -131, -279, -118}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1892637696, 1162053120, 1222522752, 1650001408, 2021582976, 1449770112, 1171269632, 1520492288, 1111555072, 1916274432, 1309212160, 1648364672, 1628024704, 1718524288, 2063326080, 1098346624, 1693837952, 1185882880, 1197155584, 1475772160, 1208132096, 1287599616, 1828036608, 1669246336, 2025765888, 1244027904, 1500509952, 1486816512, 1094269696, 1378422400, 1118578304, 1877998208, 1531514752, 1200420352, 2001471232, 1263300992, 1868807552, 1580868608, 1101800192, 1725526016, 2128850688, 1938761856, 1835692800, 1834100096, 1601363968, 2025001472, 1335819392, 2087293440, 1216874112, 2078046848, 1074179072, 1476582016, 2015036928, 1997331456, 1807736448, 1188335360, 1347937408, 1166022400, 1732613760, 1813067008, 2000652672, 1779438464, 1420289280, 1771460736, 1362431104, 1210362624, 1181000704, 2100751488, 1634785408, 1638451968, 1976963072, 1224166144, 1650683136, 1761749760, 1209653760, 1351146496, 2034197120, 1125373952, 1140498688, 1134731008, 1796159872, 1838173184, 1506767232, 1780900224, 2125850368, 1655111424, 1653652352, 1762305920, 1650063616, 1841244800, 1798506112, 1944856832, 1191423744, 1724251392, 1630355968, 1664192768, 1636088960, 1400650880, 1553784064, 1150385792, 1664970880, 1967263488, 1853606272, 1097284352, 1534358272, 1198952320, 1392034432, 1270517632, 1190733824, 1163590656, 1108719232, 1126637568, 1733411456, 1616620032, 1783066752, 1133842560, 1172159104, 2077233920, 1214555264, 1789649152, 1909678080, 1970901504, 1228042240, 1627459200, 1205750528, 1348418560, 1112090368, 1221048832, 2076385792, 1791345152, 1725672192, 1662455424, 1258499200, 1178118272, 1470028288, 1309812608, 1535618688, 1488208384, 1945084032, 2074300288, 1559145728, 1713325184, 1267940608, 1833433984, 1624050560, 1647223168, 1635122688, 1452780416, 1270619520, 1444593664, 1306685056, 1276438400, 1133411840, 1925861888, 1101814016, 1182191360, 1137313280, 1915056000, 2075607424, 1507250688, 2030136064, 1574786304, 1471868032, 1645059328, 2024796288, 1192891520, 1409671168, 2010795392, 1819845504, 1101392512, 1268996224, 1198519680, 1179842432, 1409355648, 1238606208, 1447766016, 1142318336, 1852236160, 1198395648, 1415409664, 1478970368, 1408367744, 1279515392, 1945606784, 1143634176, 2106276096, 1214861184, 1404729856, 1397118592, 1192123264, 1459646464, 1600808960, 2109139200, 1697410560, 1701774336, 1435042432, 1411165696, 1309213312, 1080043392, 1740630656, 2100800384, 1592738816, 1993433472, 1334970240, 1571394688, 1216338432, 1974134528, 1699419264, 1307545856, 1561170688, 1334440960, 1362573696, 1282765952, 1171753344, 1175321984, 1140346880, 1183322880, 1556431232, 1900826752, 1705337472, 1566584960, 1291661824, 1297943424, 1337994240, 1171928960, 1709350528, 2135988608, 1603937536, 1648597760, 1320521088, 1514358656, 1578595840, 1143664512, 1472689792, 1166678016, 1992156672, 1571038464, 1440417792, 1158035712, 1146428032, 1984764032, 1947002240, 1269822080, 1506414464, 1998008064, 1690750848, 1509593728, 1787900416, 1092328320, 1920169856, 2031304448, 1619595264, 1472893824, 1146638720, 1357397248, 1639770112, 1266876416, 1600632448, 1353141632, 1393516928, 1555105408, 1269329536, 1799647360, 1345769728, 1928739584, 1385268736, 1761236608, 1841322368, 1420450048, 1763362944, 1961165440, 1488955776, 2143012992, 1234544640, 1606173184, 1454949120, 1247118080, 1572120832, 2097822208, 1928037248, 1160914304, 1955879424, 1207668352, 1524972928, 1797167232, 1695655936, 1802968320, 1077565440, 1149758336, 1075132800, 1936618624, 1963231232, 2117579136, 2143184000, 1372561408, 1629980160, 1681777152, 1112433152, 2124346240, 1828548480, 1275719936, 1837675776, 1167616256, 1265926016, 1720811008, 1764897152, 1438974080, 1093170816, 1151496064, 1467118080, 1223620480, 1156551424, 2037580544, 1255975296, 2111209728, 1379016832, 1132270848, 1478815104, 1805400192, 1133688704, 1960956416, 1569526528, 1901677952, 1629680896, 1591660800, 2066070016, 1584363264, 2035464448, 1535871616, 1658677376, 1228771840, 1600642048, 1882677120, 2025388160, 1152130304, 1628557312, 1246463360, 1514008704, 2108150784, 1438394112, 1658538368, 1990040448, 1287316096, 1186192640, 2020062208, 1862103808, 1792826496, 1363963648, 1777244928, 1558440704, 1981243136, 1257739904, 1993820416, 1658376064, 1638297728, 1148190464, 1258201472, 1328983936, 1969257600, 1084667904, 1187312000, 1185767040, 1474930816, 1369013760, 1117227264, 1580915968, 1686646528, 1375931008, 1151701888, 1345712512, 1821346176, 1379747840, 1918011776, 1971043968, 1188967808, 1363859072, 1171949312, 1113119232, 1806806528, 1472535808, 1347774848, 1540628352, 1301280000, 1463668480, 1610041344, 1159199616, 1154628480, 1145348992, 1202686848, 1258055296, 1097526656, 1155887232, 1655748992, 1828636800, 1682935808, 1654779392, 2088198784, 1766718464, 1580823296, 1614403712, 1162653312, 1138175744, 1638364416, 1849641728, 1204386432, 1589548416, 1324876544, 1409608576, 1963239040, 1344092416, 1418526848, 1097812736, 1269806336, 1790882688, 1995540224, 1328118784, 1868318080, 1375329152, 1134492288, 1273140736, 1257445632, 1867293952, 1150761344, 1210647040, 1597132160, 1815057408, 1259202304, 1656172416, 1076700800, 2078552320, 1111236608, 1600948480, 1368244096, 1790633600, 1162215936, 1558196864, 1655096576, 1152451200, 1367058176, 1613392384, 1333649920, 1250803840, 1141785984, 2094551552, 1202575744, 1730801024, 1398981120, 1193934976, 1138610688, 1805659776, 1492029568, 1184852480, 1469962368, 1491638912, 1896000640, 1268796288, 1731264768, 1221762176, 1232329728, 1768980352, 1094099968, 1365388416, 1545246208, 1444260864, 1625535616, 1324604544, 1179172608, 1576343040, 1459688832, 1805645440, 1709714432, 1987794176, 1740536064, 1240650624, 1760916736, 1212351488, 1997223680, 1662670464, 1142595456, 1279384960, 1964832896, 1484037632, 2056132352, 1083994112, 1173018496, 1514612864, 1590857088, 1487841152, 1839404544, 1094398336, 1154438272, 1842772864, 1713594112, 1325511552, 1310757376, 1101540736, 1649461504, 1203813376, 1607262336, 1158863872, 1898720640, 1399435264, 1428242816, 1868465280, 1391789568, 1089307392, 1964827008, 2080712960, 1148790400, 2022531584, 1684106624, 1892349824}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {1264, 166, -3908, 52, -824, 1617, 1268, 353, -775, 4561, -979, 620, 2654, -457, 2109, 3745, -970, -56, -306, 1107, -186, 4224, 1078, 1294, 5146, -350, 1145, 290, 1135, -1283, 2618, -250, 753, 858, 1353, 1132, -130, -69, -49, -257, 665, 2091, 3206, -876, -748, -554, 665, 40, -1420, -482, 679, -540, 1065, 1386, 1566, -792, 924, -633, 1123, -904, 1794, 1687, 433, 732, 1075, 910, 1561, 389, 140, -37, -474, 1174, 3468, 1168, 1141, -3633, -83, 3251, 504, -576, 5032, 3101, -425, 4384, 718, -123, 286, -129, 1580, 1767, 1199, 1490, -572, -1564, 1777, -264, 1368, 4128, 2498, 2648, -286, 642, 660, -29, 198, 56, -1573, 1851, -1223, 502, 1304, 312, -1832, 1046, 2625, -292, -944, 2599, 519, 4112, -1281, 592, -2166, 1445, 462, -546, 1327, 1012, -1435, 1148, 113, 4282, -8, -3019, 1692, 291, 1582, 2189, -698, 1039, 1401, 795, 1734, 406, -868, 1280, 866, 266, 1060, -700, 1522, -595, -1458, -232, -175, 1179, 133, -372, -193, -437, -1130, 55, 2023, 938, 439, 1453, -1228, 1645, -713, 2101, 2096, -380, -122, 903, -1159, -2045, 337, 1568, 1095, 443, 1951, 421, 132, 4790, 729, 1797, 2016, -1406, 2693, -514, -812, -115, -1721, 583, -1154, 2418, -103, 7251, 1198, 2585, -820, 1550, 271, 754, -144, -438, 2816, 305, 4020, 3468, 225, 820, 273, 762, 722, -41, -263, 2685, 1462, 99, 1947, -616, 3527, 2506, 4260, 2419, 1095, 2935, -905, 91, 3776, 652, 1113, 493, -150, 3544, 919, 1398, -1420, 706, -109, 401, 177, 582, 2276, 801, 1922, -845, 853, -384, 1226, -92, -1553, -40, 325, -2952, 1420, 242, 4178, 566, 147, -1005, -379, 272, 786, -49, 3433, 435, 2455, -1178, -1385, 147, 220, -2057, -357, -226, -420, -579, -369, 600, 1116, 1218, -74, -1254, -2032, 910, -1531, -91, 2427, -1095, 1167, 855, -1444, 804, 801, 3080, 1051, -1, 631, 300, 1411, 148, 140, 467, 176, 929, 1337, 137, -821, 863, -238, 3136, 152, -2056, 449, 334, 367, -1288, 110, -940, 1605, 612, 2892, 990, 514, 1634, 1024, 1077, 3704, 1835, 1484, 1270, 108, 812, 2027, -374, 121, 158, -1960, -84, -158, 2864, -1110, -432, 350, 484, 672, 183, 214, -989, 1729, 1295, 1162, 1343, 255, -1354, 2265, 53, -336, 1207, 400, 991, -705, 1701, 1518, 1067, 105, 369, 450, -1261, 1582, 1142, 1514, 1168, 2069, 2521, 1456, 1715, 1237, -1378, 1891, 1007, 1052, -726, -942, 63, 148, 30, -79, 553, 854, 3491, 526, 715, 1472, -157, 696, -633, 2633, -2493, 1002, -3386, -637, 858, -434, -791, -768, 1203, -1668, -27, -3090, -1045, -522, 539, 882, 577, 875, 1153, -2138, 324, 482, 503, 2690, 454, 1351, 1316, 167, 4820, 960, 1142, 2034, -669, -424, -1001, 3794, 3773, -945, 3243, 1522, 2116, 1593, -771, -157, 912, -543, 1394, 1610, 462, 251, 197, 504, 814, -1166, 767, 2058, -119, 2422, 899, 95, 3719, 781, 2106, 324, -238, -2167, 692, 2243, 278, 1721, 684, 501, 709, -2, 72, 1601, 5413, 1949, 7052, 1300, -1081, -529, 2196, 86, 86, -507, -821, 1040, 530, 1221, 4327, 1791, -1163, 1102, 1842, 614, 846, 3810, 5168, -1890, -1637, 805, -1981, 4768, -47, 1051, -222, 41, 1056, 967, 654, -255, -596} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-10, -8, -8, -7, -5, -9, -8, -5, -8, -8, -8, -6, -7, -6, -6, -8, -6, -6, -8, -8, -10, -7, -6, -7, -6, -6, -8, -6, -8, -8, -8, -8, -8, -6, -6, -7, -8, -8, -7, -7, -7, -8, -7, -7, -8, -10, -9, -6, -8, -8, -7, -8, -8, -7, -7, -5, -6, -9, -8, -7, -8, -7, -5, -9, -9, -8, -6, -5, -8, -7, -6, -9, -7, -7, -9, -9, -7, -8, -7, -7, -6, -8, -5, -8, -7, -9, -8, -7, -6, -8, -8, -8, -7, -7, -8, -8, -9, -6, -9, -6, -8, -8, -5, -8, -6, -6, -6, -8, -7, -8, -8, -8, -7, -8, -6, -7, -8, -7, -8, -5, -7, -8, -6, -8, -7, -7, -6, -6, -5, -9, -8, -6, -8, -6, -10, -8, -9, -7, -8, -5, -7, -9, -5, -7, -7, -7, -7, -7, -6, -7, -8, -6, -8, -5, -8, -8, -7, -9, -7, -7, -6, -7, -6, -6, -7, -7, -8, -8, -8, -5, -8, -8, -8, -6, -7, -8, -6, -6, -7, -8, -6, -7, -9, -9, -8, -9, -8, -7, -5, -7, -6, -9, -7, -9, -7, -11, -8, -7, -5, -9, -7, -9, -9, -8, -9, -7, -8, -5, -8, -6, -7, -8, -9, -7, -6, -8, -7, -7, -8, -8, -7, -6, -8, -5, -8, -10, -6, -8, -8, -7, -7, -8, -5, -6, -6, -4, -10, -6, -7, -7, -7, -10, -7, -6, -8, -11, -8, -7, -9, -7, -8, -10, -8, -6, -9, -8, -10, -6, -7, -5, -7, -7, -8, -8, -6, -5, -6, -9, -6, -9, -7, -9, -7, -8, -9, -8, -8, -6, -6, -10, -4, -8, -9, -10, -9, -8, -7, -9, -8, -7, -9, -8, -6, -9, -9, -7, -8, -6, -7, -5, -8, -11, -9, -8, -9, -7, -8, -7, -10, -8, -9, -8, -9, -6, -8, -8, -8, -6, -6, -8, -11, -7, -8, -7, -7, -7, -7, -7, -6, -8, -7, -6, -6, -6, -6, -9, -9, -10, -7, -7, -7, -7, -9, -9, -9, -7, -8, -6, -9, -8, -6, -8, -9, -7, -6, -5, -10, -9, -7, -9, -7, -7, -7, -10, -9, -7, -7, -7, -7, -7, -6, -6, -9, -7, -8, -6, -6, -8, -7, -6, -7, -7, -8, -6, -7, -7, -7, -10, -6, -8, -8, -6, -9, -8, -5, -8, -9, -5, -6, -8, -9, -6, -7, -8, -8, -7, -7, -7, -7, -8, -8, -7, -7, -7, -7, -8, -6, -7, -6, -8, -8, -7, -9, -8, -8, -4, -8, -8, -7, -7, -8, -7, -8, -7, -7, -8, -4, -7, -9, -7, -7, -8, -6, -7, -6, -8, -6, -7, -7, -8, -7, -7, -7, -7, -7, -9, -9, -6, -7, -7, -10, -8, -7, -8, -7, -7, -9, -8, -9, -8, -8, -9, -7, -9, -9, -6, -7, -8, -7, -8, -7, -8, -6, -8, -6, -8, -6, -6, -6, -8, -6, -6, -6, -6, -8, -7, -7, -7, -8, -6, -7, -7, -8, -8, -8, -6, -7, -9, -7, -6, -8, -7}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1515113216, 1397635968, 1341258496, 1348743168, 1137194752, 1381031168, 2018386176, 1691987712, 1473081856, 1246536576, 2095321984, 2038012416, 1873651712, 1261965824, 1253619072, 1138615552, 1491011712, 1250821248, 1425496832, 1101423872, 1954287360, 1498480896, 1528529024, 2042763904, 1165488128, 1153820288, 1426953472, 1224622208, 1252271360, 1745258112, 1494999680, 1204224640, 1344513408, 1152610432, 1207942272, 1522773248, 1150214144, 1758041728, 1198720896, 1322260352, 1681929984, 1988114176, 2070073600, 1548919936, 1329427200, 1724831360, 1701046144, 1132744704, 1304256000, 1919662208, 1450632192, 1080935040, 1988196864, 1266746624, 2093017600, 1465439744, 1658019328, 2107508608, 2005576064, 1970207744, 1320200064, 1760586112, 1454137216, 1569595008, 1789358336, 1992307200, 1885665792, 1275672320, 1243302144, 1810761088, 1286875136, 1162400384, 1089278336, 1875549440, 1405813120, 2054228608, 1518117504, 1385958144, 1676795136, 2007141120, 1746143488, 1112487040, 2005072256, 1728795904, 1230214144, 1342704384, 1367250944, 1988355200, 1315885056, 1295598336, 1845188480, 1198569984, 1236420736, 1342210432, 1095990912, 1120821888, 1278166272, 1675675520, 1553231872, 1529959552, 1151096448, 1651012992, 1216634368, 1302352000, 1276716800, 2112628736, 1371183744, 1227730048, 2049334016, 1281442560, 1335271296, 1420171008, 1169715200, 1365100800, 1370730752, 1417851776, 1193506944, 1239654912, 1824825344, 1786938368, 1769350528, 1594537856, 1374185984, 1689329024, 1509679360, 1642303616, 1979759360, 1161257088, 2009910656, 1671968896, 2127142400, 1606435584, 1342089344, 2049437952, 1500926592, 1727780352, 1462527872, 2102635136, 1906048640, 1506273024, 1865262848, 1824226560, 1634862208, 1502996096, 1191596160, 1805363968, 1630238336, 1628253440, 2042228736, 1759295360, 1395973632, 1119185408, 1921588096, 1463023616, 1495152896, 1150277248, 1247423744, 1555560704, 1281540480, 1107697536, 1288163584, 2026162304, 1644604160, 1164931712, 1079909504, 1163091968, 1121152384, 1590634240, 1245119104, 1785157504, 1565469568, 1257031552, 1963815040, 1140838784, 1093304832, 1886152448, 1509124224, 1792226688, 1974427264, 1780269952, 1571619584, 1476699008, 1205698816, 1509709696, 2039065472, 1966572544, 1471805440, 1260690176, 1714764672, 1282235648, 1779875456, 1308050688, 1293708544, 1706336768, 1806490752, 1639764736, 1322874112, 1493859328, 1937014528, 1691588608, 1292765952, 1149248128, 1705975552, 1538323456, 1875847296, 1399113216, 1694314240, 1753557888, 1146049536, 1812119296, 1170443520, 1907644416, 1093269120, 1216937472, 1462375680, 1840512768, 1798682624, 1245938944, 1910694528, 1647584896, 1821994752, 2004782208, 1990648576, 1424565120, 1154981760, 1222014592, 1269027968, 1624676736, 1107987456, 1765222784, 2128576768, 1537720448, 1593357696, 1106417024, 1221847168, 1540274944, 1141033472, 1237057792, 1260613376, 1906126464, 1387022208, 1232826752, 1448678912, 1316008320, 1656208896, 1968400000, 1641227904, 1126135296, 1189859456, 1107507456, 1883665664, 1335098752, 1845735808, 1162787584, 1288616320, 1608756224, 2017854720, 1789409664, 1346632704, 1808774400, 1339578240, 1398780160, 1082691840, 1128112128, 1291931520, 1558539520, 1975853696, 2032912768, 1536886784, 1257934592, 1631251840, 1732009088, 1364132480, 2108079616, 1079303296, 1454718848, 1228431616, 1544742016, 1678616576, 1136417408, 1383448704, 2112803200, 1243586688, 1223823360, 1077587072, 1832785536, 1288327040, 1632721536, 1741004160, 1383516288, 1307702400, 1088127872, 1921038592, 1360763520, 1983223040, 1442397824, 1814962048, 1369810560, 1235613440, 2112370432, 2050417536, 1824309504, 1115107456, 1271993344, 1774565760, 1674275200, 1104562304, 1116837760, 1441999232, 1110520832, 1498857984, 1588668800, 1862864512, 2008959232, 1286251904, 2138428416, 1810766080, 1695288704, 1089178880, 1347651200, 1583647744, 1741453824, 2096143488, 1808104064, 1957724288, 1350976768, 1292034816, 2036636416, 1821130752, 1423243776, 2091543168, 2065010944, 1410412928, 1326809600, 1597758464, 1391048448, 1323121408, 1513497344, 1224611200, 1707532800, 1974493056, 1614094976, 1841611904, 2016427008, 1255097600, 1936045440, 1830916608, 1472598144, 1445757824, 1402419328, 1494835072, 1442301440, 2013843072, 1465733120, 1854813056, 1276360448, 1949450368, 1315124864, 1970010752, 1576387712, 1250936704, 1128333440, 1636877568, 1501845120, 1268815744, 2080338560, 1100838528, 1858381184, 1923523968, 1998301184, 1289729536, 1295540864, 1770359040, 1780190848, 1117152128, 1294181632, 1311415936, 2088593280, 1076114176, 1153762944, 1478238848, 1467400960, 2126795264, 1801169664, 1592075648, 1080429952, 2015338496, 2104626304, 1166383488, 1883852800, 1435801984, 1542341120, 1235332480, 1203547008, 1135209856, 1159913600, 1256205952, 1580722688, 1199544704, 1132562560, 1670394496, 1346752000, 1418566144, 2125042432, 1197153152, 1194804992, 2055829888, 1206669952, 1084047488, 1978626176, 2023615744, 1221791616, 1331606912, 1133645312, 1207478912, 1406244864, 1259251328, 1242205056, 1228803968, 1162945024, 1628867456, 1510538624, 1808872192, 1316001792, 1811380096, 1382066944, 1198753280, 1867747072, 1307477760, 1119705088, 1794169856, 1110018560, 1538772224, 1866572800, 1682517120, 1903056128, 1949746048, 1906363648, 1338949888, 1673607936, 1170873728, 1489075840, 1403422720, 1126740096, 1238727168, 1765317760, 1551944704, 1491867648, 1169649536, 1189756160, 1263389440, 1476221440, 1237602560, 1502958720, 1659931776, 1855790976, 1204104832, 2023622400, 1966734976, 1240907648, 1838961536, 1304281472, 2047584384, 1544994688, 1179794816, 1154475648, 2120051712, 2070907776, 1236936064, 1172969600, 1247767680, 1596937344, 1743764480, 1226808448, 1117841536, 1940764928, 1091832576, 1296343936, 1127785472, 1331189632, 1436438400, 1345655424, 1467620608, 1148335616, 1174741376, 1732508160, 1133508352, 1433858176, 1100466688, 1089559680, 1857013888, 2128192768, 2056555008, 1152576640, 1745744256, 1999603072, 1127763456, 1375853952, 1332217216, 1182140416, 1119307392, 2088825472, 2072294912, 1402208512, 1261433984, 1558033536, 1309145344, 1227864704, 2095028096, 1579197696, 1440755968, 2033695744}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {35578, -1336, -4604, -5529, -1803, -3190, 8198, 34741, 1232, 5947, 54893, 47903, 387, -5997, -4174, -1444, -4448, 5376, 7594, 5218, -12757, 7503, 5910, 43165, 26213, -4046, 45923, 4527, -19767, -7095, 1144, -4114, -10275, 28567, -11053, 38698, 17188, -7604, -4358, 26429, 6715, 3488, 13105, 9701, -5554, 64084, 13260, 138347, 51897, -3047, 68636, -5391, 25844, 21853, 27775, 89358, 61808, 35451, -643, 11224, 11873, -9593, 70115, -16155, -6700, -13329, -8135, 28777, 9424, 5993, -468, -2809, 300, -9509, 36801, -1916, -5832, 32832, -7846, 2901, 22861, -5865, -2356, 19955, -5563, 2206, 814, -17798, -258, -9014, 19501, -7848, -4521, 6665, 8660, 125, -29458, 20078, 67582, 1480, -4361, -4456, 7070, -3252, 10012, 6721, 64549, -22578, -4501, 25684, -13748, 15481, -13306, 5111, 11734, 42685, -6013, -3155, 12445, 15357, -5094, 18234, 45147, -13, 39235, 71953, 26981, -2549, -5421, 9581, 8181, 15269, -2647, 10441, 11710, 11374, -172, -8055, 1615, 22387, 4897, 116162, 3994, -598, 69890, 7905, -1238, -1191, 41897, 6189, -20568, -602, -7879, -2995, -10576, -6122, -5925, -6504, 22008, -4608, 760, 13915, 20136, -2814, 16777, -3505, -9330, 14523, 5498, 39126, 7121, -3035, 3274, -10436, -9887, 30870, -7995, 14419, 34956, 5009, 10331, 47244, -2372, 15981, -6445, 10381, -146, 5454, 377, 31529, -3085, 81920, -11104, -15392, 43679, -6983, -3680, -5446, 6212, -5115, 49105, 5781, 6516, -4275, -9160, 24435, -2007, 31982, -5055, 7136, -212, 40182, 16901, 5648, -2507, 14453, 13564, 7695, -4319, -6137, 6559, -4153, -3247, 25296, 9664, -4533, -12778, 8311, -878, -5062, -5145, -2514, -3601, 11012, -7052, 20408, -14507, 1923, 8, 41705, 47724, -3363, -2220, 41228, 7323, 23093, 67245, 72296, 7413, 12613, -894, 1562, -5464, 55163, -10866, 19928, 14567, 37431, 4994, 48596, 36287, -5255, -3022, 10219, -6714, 5758, 7394, -19330, -3744, -2184, -14303, 20814, 5197, -7166, -5453, -8870, 33070, -6458, 11122, 9902, 5265, 59840, -2709, -9610, 8676, -339, -6740, -1329, -6440, 111576, -19588, -5548, -6304, -8414, 23496, 1429, 52484, -4740, -7376, 17668, 59688, 44080, -12670, 15752, 55764, -394, 4845, -1253, -2497, 8818, 45766, 3949, -18994, -7983, -8899, 5234, -3619, -851, 64553, 32898, 27727, 51841, -3769, -5092, -2378, -9017, -7798, 54248, 7209, 24904, -1923, 29657, -3579, 63303, 3508, 12828, -1664, 9845, 45402, -3222, 5197, 9512, -10439, 16470, 4518, -93, -6679, 61224, -9210, 14436, 22065, 3143, 7690, 50410, -5758, 26138, 540, -2717, 67336, -53046, 16650, 34766, -7760, -6389, 47817, 42774, -76, -1497, 10877, -10070, -3480, 29400, 23289, 47791, 30937, 4244, -2703, 8788, 37092, 38633, -12605, 7238, 17204, 18274, -4739, 23007, 36781, 15297, 6265, -4395, -11337, 25336, 20851, -1119, 6900, -595, 4999, 14697, 16441, -12263, -155, -237, 2009, -20171, 8137, 15376, -1140, 5206, -9973, 62485, -10571, -6525, -9122, 6905, 254, 12472, 18342, 37025, 48796, 104733, 4043, 15541, -18894, -7085, 30594, 10662, 15549, 31432, 61307, 909, 26332, 37067, 8656, 11293, 14316, -8687, 83204, 26658, -3128, 6284, 16497, -10961, 55074, -6030, 42990, 15092, 3312, 22551, -2777, -7031, 12441, 8216, -6432, -4195, 18551, 14138, 13647, 13617, 31644, -1362, 22442, 13417, -1130, -2699, -18007, -2129, 42348, 56006, 5095, 8315, 122049, 61128, 6304, 14647, -23963, 32833, 19859, 13545, -8480, 80, -61858, 3199, -3543, 15039, 30152, -1960, 37466, 44375, 58487, 34910, 80591, -5949, 46219, 17207, -2301, 26335, 20805, 4442, -2563, -3974, -33, -10046, 1679, 9384, -817, 4019, 6550, 12508, 5354, 100496, 21256, 8727} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-334, -100, -2, -113, -17, -78, -91, -358, -108, -36, -327, -249, -100, -80, -98, -38, -116, -172, -155, -84, -87, -38, -182, -296, -249, -49, -294, -34, 21, -24, -44, -65, 12, -297, 2, -226, -140, -12, -68, -316, -125, -67, -179, -170, -33, -453, -167, -583, -327, -51, -408, -25, -251, -177, -221, -583, -437, -285, -97, -170, -208, -70, -409, -45, -18, 20, -67, -304, -139, -99, -97, -64, -131, -59, -301, 2, -80, -306, 11, -59, -253, -8, -95, -248, -5, -105, -103, -26, -146, -155, -164, 3, -33, -30, -221, -77, 44, -263, -442, -24, -79, -10, -27, -51, -52, -98, -348, 37, -43, -191, 3, -93, -19, -65, -134, -263, -13, -167, -92, -242, -117, -99, -138, -98, -352, -287, -279, -71, -3, -158, -133, -244, -104, -205, -60, -163, -94, -45, -36, -211, -130, -423, -43, -56, -442, -171, -8, -49, -234, -23, -17, -110, -52, -23, 0, 5, 21, 20, -127, -86, -52, -175, -235, -16, -123, -128, -42, -226, -68, -260, -172, -55, -145, -4, -8, -177, -18, -168, -268, -158, -54, -396, -50, -236, -27, -134, -86, -52, -14, -218, -15, -462, -6, -98, -391, -36, -15, -58, -42, -105, -427, -131, -86, -49, -15, -309, -47, -274, -34, -211, -132, -398, -121, -30, -14, -106, -137, -44, -31, -9, -100, -7, -59, -264, -202, -124, 18, -184, -35, -136, -168, -54, -17, -72, 4, -97, -11, -56, -114, -276, -275, -69, -20, -308, -53, -249, -345, -516, -117, -99, -99, -48, 2, -382, -4, -124, -100, -261, -150, -365, -129, -29, -26, -89, -47, -111, -136, 0, -26, -64, 15, -103, -90, 8, -7, -5, -295, -28, -171, -82, -94, -372, -46, 18, -156, -100, -37, -18, -63, -469, -73, -14, 43, -15, -156, -133, -198, -33, -5, -141, -340, -274, -61, -140, -353, -73, -27, -88, -58, -167, -300, -86, -39, 1, 7, -110, -109, -94, -550, -173, -285, -344, -93, 11, -22, 20, 3, -340, -107, -129, -17, -175, -11, -253, -39, -145, -107, -135, -253, -45, -29, -91, -28, -134, -75, -98, -33, -290, 11, -114, -216, -57, -129, -254, -21, -211, -19, -36, -526, 9, -165, -267, -16, -86, -331, -331, -103, -49, -139, -6, -20, -247, -118, -350, -181, -38, -98, -185, -256, -264, -21, -71, -165, -204, -13, -109, -198, -90, -58, -98, -9, -236, -116, -43, -46, -92, -98, -74, -216, 22, -94, -24, -65, 5, -176, -112, -47, -20, 15, -432, 26, -10, -10, -168, -158, -111, -128, -217, -431, -531, -103, -105, -78, -96, -240, -107, -136, -242, -443, -113, -275, -272, -30, -118, -248, -24, -523, -222, -148, -43, -234, 14, -520, -87, -345, -159, -77, -143, -161, -10, -176, -59, -5, -85, -60, -177, -134, -206, -231, -93, -226, -90, -148, -17, -22, -53, -260, -295, -91, -129, -707, -457, -95, -152, -61, -177, -153, -242, -100, -33, 53, -39, -117, -141, -293, -21, -317, -298, -191, -211, -393, -57, -262, -244, -47, -254, -170, -43, -42, -5, -106, 42, -50, -47, -6, -71, -60, -94, -153, -682, -134, -164}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1387007104, 2117596416, 1342540928, 1803575936, 1931500160, 2122622592, 1261066496, 1342273280, 1207917696, 1292248064, 1846267776, 1912565504, 1237569536, 1734680832, 1749591936, 1468344320, 1347530368, 1889509632, 1578257920, 1434869504, 1267551744, 2100511232, 1746287488, 1325713792, 1336141056, 1604070656, 1138231936, 1447222016, 1685673600, 1098409856, 1813713152, 1224097152, 1197091200, 2057913216, 1093954688, 1710516224, 1353659008, 1185571712, 2122712704, 2053339520, 1219166720, 1334677120, 1427168768, 1197827712, 1477501056, 1875425024, 1866848640, 1767127168, 2098724224, 1327492480, 1311893376, 1584763648, 1186319232, 1607926656, 1170737280, 1216438400, 1510195200, 1333653760, 1265676672, 1073865216, 1419834624, 1093437568, 1405464320, 1076226688, 1251418624, 1950323712, 1403093632, 1535042944, 1256993408, 1501072256, 1358016896, 1349648128, 1266948736, 1431289088, 1562701952, 1883074944, 1657193856, 1651229440, 1210398336, 1125359744, 1496631808, 1110204288, 1226173696, 1978766208, 2032216576, 1800859776, 1650950528, 1151517440, 2065155456, 1773286656, 1474628224, 1247147392, 1777210752, 1088742912, 1579353472, 1627993344, 1615798912, 1839095168, 1356124928, 1930676096, 1573073920, 1373675264, 1376461568, 1196794496, 1577913728, 1444082432, 1693982336, 1913349760, 1407172736, 1745754880, 1133577728, 1198959360, 1526124544, 1503936000, 1929673984, 2014191488, 2104790656, 1360250112, 1666254080, 1331445760, 1643302144, 2115364480, 2086912128, 1078236160, 1413882112, 1187138048, 1371820416, 1661910656, 1088025344, 1576653952, 1834618496, 1393941760, 1960631552, 1972252544, 1350918528, 1824320256, 1311311360, 1532991232, 1583958912, 1669519616, 1906987520, 2040408960, 2023097984, 1268013184, 1180628224, 1430801408, 1077841280, 2142997632, 1645922048, 1159716864, 1421017728, 1200704384, 1338488832, 1428900352, 1865462912, 1426066944, 1124815872, 1997097088, 1935925888, 1976587520, 1197299200, 1603301248, 2024075136, 1355661184, 1917703424, 1238953472, 1848484096, 1982596480, 1228861056, 1345923712, 2054364928, 1145477248, 1496946304, 1131265664, 1737571840, 1483107968, 1211054592, 1821196160, 1115151488, 1956029952, 1155272704, 2072948864, 1808349952, 1504023296, 1142797568, 1598317440, 1074361728, 2037798400, 1508860928, 1934211840, 1112697856, 1187783552, 2047982464, 1640508160, 1212832384, 1128201856, 1148117760, 2009837312, 1971365504, 1900350080, 1180653184, 2098073984, 1749980416, 1840217472, 2058584832, 2100158592, 1261017984, 1605963648, 1536668544, 1671257600, 1527969408, 1397337728, 1759794176, 1215161728, 1189487488, 1186902784, 1907827584, 1914125184, 1428187008, 1194257664, 1289205504, 1210724352, 1428456064, 1214774528, 2130392448, 2004188416, 1774632320, 1833646720, 1960639616, 1221072640, 1247850624, 1779392128, 1084250496, 1411489536, 1082482944, 1154266368, 1398622336, 1717969152, 2055130496, 1258447872, 2071989888, 1124147328, 1246902272, 1518691712, 2071480448, 1372412544, 1076532480, 1458737920, 1147073024, 1555074688, 1241107584, 1721648768, 2128375296, 1956390528, 1490528768, 1121067904, 1879742720, 1593472000, 2113100416, 1145689216, 1289483392, 1421671040, 1186286464, 1307774592, 1936623360, 1762263552, 1244827648, 1611357056, 1092943232, 1154367744, 1262104064, 1887738752, 1551768704, 1921065984, 1377563008, 1162530816, 1925465728, 1076545792, 1526637184, 1827158656, 1229146752, 1914033152, 1349810304, 1892710272, 1677606016, 1876870144, 1525939456, 2143094656, 1480178944, 1655870592, 1375241728, 1099876096, 1325685248, 1962942080, 1508388096, 1430707840, 1791884800, 1643884544, 1287724928, 1939214080, 2034117632, 1080166400, 1552235392, 1278602240, 1155957760, 1870957696, 1216741632, 1147868288, 1297749632, 1824556160, 1429460736, 1992161536, 1168927744, 1527710336, 1710221312, 2107861760, 2020802176, 1132334208, 1403865600, 1121690880, 2045386496, 2089668608, 1677626752, 2132349824, 2050162432, 1954028416, 2042175360, 1823867008, 1359213824, 1520536320, 1750358400, 1268283392, 1173948416, 1320159744, 1172217856, 1674681216, 1831996416, 1994679040, 1851788032, 1410571264, 1520589696, 1436975872, 1158457344, 1814348672, 1713490944, 1508142592, 1131448576, 1792634112, 1763952000, 1429569920, 1685824000, 1511896192, 2065270016, 1638788352, 1141996160, 1329791616, 1233531904, 1188649856, 2106935040, 1383183104, 1581726464, 1741914112, 1471201152, 1124551168, 1127528704, 1229953408, 1210375424, 1687049600, 2029925504, 1118729984, 1468653824, 1476649472, 1516364800, 1817769984, 1196023936, 1288317312, 1258363776, 1192880512, 1708015616, 1814371968, 1875918080, 1599364352, 2000516864, 2043467520, 1881203456, 1530872960, 1442262656, 1114342272, 1459567872, 1629321600, 1369049728, 1442493824, 1523798144, 1417213056, 1951286528, 2042870400, 1421759488, 2002309248, 1575570816, 1502773632, 2137643520, 1914627584, 1343964928, 1565608704, 1878587008, 1989925120, 1683940992, 1579017088, 2012452352, 1901813632, 1363934848, 1389656320, 1140429824, 1205025280, 1296678912, 1673225344, 1468533376, 1182446720, 2096591488, 1244085376, 1189242752, 1085241344, 1849318016, 1227502336, 1229557248, 1480777216, 1152343936, 1443391232, 1686942592, 1715789696, 1535790336, 1533410048, 1189027072, 1411014784, 1683091968, 2087362816, 1246550784, 2072313472, 2107484800, 1078850944, 1938277760, 1582621568, 1777695616, 2090311936, 1721250176, 1885782272, 1479529344, 2072616192, 1730146304, 1169885696, 1283357312, 1136398848, 1132765696, 1920562816, 2082464512, 1267643392, 1853648896, 1242589056, 1690223232, 1984877184, 1213111936, 1802791552, 1557240320, 1122499328, 1389972608, 1498193280, 1526112768, 2032702720, 1265405056, 1906157952, 1901409664, 1667173504, 1840024960, 1404248064, 1551746816, 2048345600, 1364904704, 1551585280, 1126358272, 1273001856, 1211824768, 1123907456, 1973018752, 1626673408, 1686089856, 1149498112, 1669927936, 1473499648, 1632091264, 1253035008, 1555411328, 1847765120, 2074392064, 1805566848, 2103538560, 1593413888, 1542895872, 1162426752, 2030413952, 1712178048, 1439250816, 1371781248, 1455398912, 1610814464, 1876219520, 1285301120, 1671623808, 1094763136, 1088199168, 1203160320, 1289763200, 1819861504}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {484, -2415, -272, -1082, -1130, -1764, -1843, 2783, 1054, -565, -150, 1153, -117, 1285, -503, 4225, -1562, 965, 499, 1984, -1059, 2305, 269, -40, -1308, 820, 580, -2189, 1197, 3370, -965, 1545, 1444, 369, -693, 322, -444, -954, 85, 2279, -709, 707, 618, -878, 1106, -1377, -314, -1480, -2826, 656, -2102, -3524, 1645, 614, -870, -952, 508, 997, 1, 864, -90, -1521, -1349, -440, 686, -308, -1044, 1060, -130, 1060, -204, -287, -1471, -459, -1744, -326, 70, -349, -757, 4578, -370, -2009, -808, 1864, -220, 1830, -1824, -1321, -206, 1745, 3991, 662, 6210, -1400, 3066, -190, -167, -110, -511, 1054, -1112, 1128, -1467, -1535, -1983, -172, -1082, -3257, 603, -302, 743, -1576, -490, -3165, -357, -943, 2222, 2364, 1011, 110, -878, 478, -2604, 617, 1835, -1016, 708, -1303, -1057, -259, 2319, 1041, 924, 781, -1783, 2908, 49, -686, 10, -112, -1977, -124, 93, -249, -529, 1746, 595, -459, -414, -614, -2088, -2495, -1269, 1327, -1418, 1154, -56, 1771, -392, 420, -361, 1422, -1240, 640, -201, 1123, 1178, -2139, -1227, 281, 784, -339, -462, -2649, 3203, 2844, 357, 874, -1327, 614, -417, -468, 1468, -1429, 5, -1682, 1567, -1564, 344, -282, 217, 2991, -839, -1212, -84, 7841, -1416, -2441, 1298, 2309, 49, -2509, -1087, 2508, -540, 1896, 1923, 1100, 1832, -945, 278, -1090, -331, 650, -15, 2371, 272, -1251, 700, 2192, 1883, -1193, 2320, -388, -1829, -2605, -168, -326, 1230, -366, -264, 647, 1207, -99, 908, 988, -822, -509, -1281, -3164, -891, -816, 1116, -866, -103, -1781, 176, 1723, 1698, 333, -1643, 1218, -2026, 3514, 147, 936, -1917, -1698, 754, -884, 179, -16, -404, 2448, 1131, 1131, -611, 269, -328, -385, 517, 421, -1736, 118, -5481, 25, -2224, 623, 637, 1537, -1198, -351, 1844, 335, -1255, -2197, -688, 11, -1100, -164, -128, -2236, 984, -90, -3616, -327, 1510, -74, -1220, -256, -428, 1679, -839, 302, 516, 877, -211, -417, -673, 652, 997, -2716, 597, 454, -2353, 374, -585, -873, 37, 976, 2074, -277, 1045, -39, -308, -52, 1898, 1251, -432, -266, -2570, -370, -1166, -3193, -1356, 131, 175, -100, 673, -1658, 1256, 1826, 1160, 2816, -1105, 102, -56, 1648, 932, 1491, -1196, 15, -1617, 1813, -1418, 327, -1047, 1050, 1335, 46, 850, 258, -247, -1347, 36, 1196, 2155, 259, -1615, 2202, -296, -3098, -1400, 2433, -500, -1111, -154, 381, 5519, 84, -1398, 93, -2326, 854, 1490, -1017, -831, 312, -646, -1262, 1931, -1575, -254, 1141, 1099, -1486, 252, 5, 1187, -227, 856, -2184, -116, 3335, -2082, 121, -677, 851, 492, 445, 1587, -1191, 1933, 92, -288, 484, -1868, -410, -1215, 1275, 85, 627, -1527, -1818, -1670, 744, -321, 701, -1726, -2422, -998, -1425, -1414, -1392, 878, 593, 1215, 274, 2834, 310, -889, -3033, -1849, 5057, -1382, 281, 658, -2415, -437, -1272, 2138, -2162, -1524, 4051, 2317, -507, 1240, -567, -715, 993, -3238, -170, -1289, 46, 335, -2665, 1131, 2203, 983, 966, -886, 6117, -1796, -1675, -2104, -776, 2008, -1066, 2036, -581, -426, -1620, -82, 2338, 721, -173, 658, -695, -2102, 1042, -534, 2093, -672, -578, 1403, 1632, -1715, 523, -1196, -1300, 86, -392, -602, -943, -302, 2022, -1022, -65, -1994, -393, -1668, 48} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-6, -9, -8, -8, -7, -6, -7, -9, -8, -6, -6, -7, -6, -6, -7, -8, -9, -8, -10, -8, -7, -6, -8, -7, -7, -7, -8, -7, -8, -7, -5, -7, -6, -8, -8, -7, -6, -8, -9, -6, -6, -8, -10, -9, -8, -8, -9, -9, -7, -9, -6, -7, -10, -7, -7, -8, -9, -9, -6, -8, -7, -7, -7, -6, -6, -7, -7, -8, -8, -9, -7, -6, -8, -7, -7, -7, -6, -7, -7, -8, -6, -9, -8, -9, -5, -6, -7, -7, -7, -8, -8, -9, -7, -7, -7, -7, -8, -8, -6, -7, -6, -7, -9, -6, -7, -8, -6, -8, -6, -8, -6, -8, -7, -7, -6, -7, -9, -8, -10, -6, -6, -7, -6, -7, -8, -7, -6, -8, -9, -7, -9, -6, -8, -9, -9, -8, -8, -8, -6, -7, -7, -8, -6, -8, -7, -7, -8, -9, -6, -8, -10, -5, -6, -7, -8, -8, -8, -6, -8, -6, -7, -7, -8, -7, -9, -5, -8, -7, -9, -7, -8, -9, -7, -8, -8, -6, -8, -7, -5, -8, -4, -9, -7, -7, -7, -9, -9, -8, -7, -7, -8, -8, -7, -7, -9, -7, -7, -6, -7, -7, -6, -8, -9, -7, -5, -6, -6, -6, -7, -8, -7, -8, -9, -6, -8, -7, -7, -9, -9, -8, -9, -8, -7, -7, -6, -6, -8, -7, -6, -7, -9, -7, -6, -8, -7, -8, -7, -7, -9, -8, -7, -8, -8, -6, -6, -7, -8, -9, -8, -8, -8, -6, -8, -9, -6, -7, -8, -6, -7, -7, -8, -6, -7, -7, -8, -8, -7, -5, -8, -9, -9, -7, -6, -7, -7, -8, -8, -7, -7, -7, -8, -6, -7, -9, -5, -8, -6, -8, -6, -9, -7, -9, -7, -7, -7, -6, -8, -9, -7, -8, -9, -8, -7, -7, -8, -7, -7, -7, -8, -8, -6, -7, -10, -8, -9, -8, -6, -7, -8, -9, -8, -8, -6, -9, -9, -10, -7, -6, -6, -10, -8, -8, -6, -9, -6, -7, -7, -6, -9, -9, -8, -7, -9, -7, -7, -8, -5, -9, -6, -6, -9, -6, -7, -7, -7, -9, -7, -8, -6, -8, -8, -6, -7, -8, -6, -7, -9, -7, -8, -8, -7, -6, -7, -7, -8, -7, -9, -8, -7, -6, -7, -8, -7, -7, -7, -6, -8, -6, -6, -8, -7, -6, -5, -8, -6, -7, -9, -6, -9, -7, -8, -6, -6, -7, -7, -7, -6, -6, -9, -7, -8, -8, -7, -9, -8, -7, -8, -9, -6, -6, -6, -8, -7, -7, -8, -4, -8, -8, -8, -6, -6, -7, -8, -8, -8, -9, -7, -9, -6, -6, -9, -8, -8, -7, -7, -8, -6, -7, -8, -5, -7, -7, -10, -8, -7, -7, -8, -7, -6, -6, -8, -7, -9, -6, -8, -7, -8, -7, -7, -7, -8, -8, -5, -8, -6, -6, -9, -8, -7, -6, -5, -8, -7, -8, -8, -5, -8, -6, -7, -9, -7, -8, -7, -10, -6, -7, -6, -9, -9, -6, -7, -7, -8, -6, -7, -6, -7, -9, -6, -7, -9, -7}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1336517376, 2034850304, 1206673664, 1951540992, 1297507584, 1147033344, 1175984384, 1403408768, 1207770752, 1999252608, 1192862592, 1388339328, 1105125120, 1224843648, 1462341632, 1470722688, 1860393728, 2145776896, 1627162368, 1258337024, 1347330688, 1183890176, 1248813696, 1210698368, 1088474496, 2000262528, 1167430016, 1154119296, 1258687744, 1736620032, 1869451008, 1839412096, 1824993280, 1502161280, 1742788096, 1242697216, 1293293952, 1166669184, 2056772736, 1720879360, 1195355008, 1258862976, 2016769152, 1129023744, 1840649600, 1352090496, 1359430784, 1390734336, 1219384576, 1341103232, 1554858624, 1303665920, 1416084736, 1540402560, 1255363328, 1909586688, 2077571840, 1668378752, 1160947072, 1139623680, 1226459008, 2034367360, 1154534784, 1638527488, 1238953344, 1567061376, 1764939264, 1361325824, 1336526208, 1335605760, 1408679552, 1953052288, 1782990336, 1095360640, 1216039168, 1549577088, 1285101696, 1311345664, 2084659584, 1298387968, 1166758144, 1256415488, 1700972160, 2110414080, 1891713280, 1316907136, 1308826880, 1137418112, 1940494208, 1272693760, 1272008320, 1721517056, 1489105920, 1316837888, 1170359808, 1927395200, 2146776576, 1237164672, 1305476736, 1584857344, 1594822528, 1486389504, 2020145024, 1795751936, 1154923776, 1988657792, 2029410944, 1914795008, 1076544640, 1919107712, 1391638144, 1385529984, 2096321536, 1816395776, 1452046976, 1515199360, 1960436224, 1748028288, 1436053888, 1322405760, 2109427328, 1142234880, 2058580480, 1135427584, 1204383616, 1208447104, 1240741504, 1212461312, 1400420736, 1912980096, 1490732032, 1091995776, 1995449728, 1299137920, 1396015744, 1724749568, 1142171136, 1755084416, 1074611968, 1331248000, 1164987136, 1132057856, 1343304704, 1195991936, 1271496064, 1812121472, 1124724352, 1946328064, 1625604608, 1516034304, 1919579776, 1269184768, 1267952640, 1241064832, 1127724800, 1090598400, 1178942592, 1136956416, 1552813568, 2034827520, 1657226112, 1446730496, 1223515904, 1137398016, 1408349440, 1304286336, 1103892352, 1265930624, 1224088832, 1100932608, 1097341952, 1249884416, 1388833920, 1780497280, 1383422976, 1269574016, 1376882048, 1607914240, 1244582144, 1748611968, 1120589824, 2031816448, 1343737472, 1765732736, 1992357504, 1168714624, 1429048576, 2133290240, 1600669056, 1823289216, 2059564416, 1737062144, 1173950208, 1483022464, 1999253248, 1214471808, 1111137792, 1369067008, 1727314176, 1880385792, 1925276160, 1136387456, 1199460352, 1367198592, 1135591936, 1105289088, 1147587072, 2144568320, 1401940096, 1084101632, 2118924800, 1798842496, 2109443584, 2061296512, 1560325504, 1202172032, 1968998400, 1303328768, 1895821184, 1571139072, 1825040000, 1163963008, 1469857536, 1146505856, 1446067328, 2094539136, 1206148352, 1194771200, 1983655424, 1580782720, 1789910272, 1298481408, 1972820608, 1968526592, 1723071872, 1229557888, 1758305408, 1318589568, 2033741056, 2084145792, 1296251520, 1893038592, 1211595520, 1204566272, 1924522112, 1253852928, 2096258944, 1591584384, 1811849088, 1670744192, 1839424768, 1922010240, 1358715008, 1826763008, 2068536320, 1956658944, 1265051264, 1436363648, 1350517632, 1137829632, 1093839616, 1766232832, 1341508096, 1305567872, 2042604544, 1973400576, 2114238976, 1543635328, 1657604736, 1937098496, 2077038464, 2023237248, 1790910336, 1375905152, 1482734720, 1179237888, 1888560512, 1181815040, 2006621696, 2139649408, 1198654336, 1312199168, 1863685632, 1358689280, 1238973312, 1449225984, 1662228608, 1287618432, 1206896896, 1410181504, 1473067136, 1731120256, 1397127936, 1478236928, 1907512192, 1464003712, 1266594048, 1714169600, 1130674176, 1482333184, 1336503680, 2042570240, 1163120512, 1121707136, 2010763776, 1311383808, 1105874944, 1281174656, 1965824512, 1479627776, 1738333568, 1127202560, 1526612736, 1624979968, 1681944448, 2058573312, 1502468096, 1405088256, 1127667968, 1786550144, 1827671808, 1647882368, 1439090048, 1135493632, 2144506880, 1285335680, 1564660608, 1471427072, 1481902976, 1511503360, 1090727296, 1263275520, 1646991360, 1924657536, 1353414272, 1147268480, 1359870592, 1143392896, 1770419584, 1257889152, 2134934528, 1691425408, 1129640064, 2038745984, 1741294592, 1239620992, 1831886080, 2008010496, 2088312320, 1435217536, 1088204928, 2088402176, 1247981824, 1779946624, 1280123264, 1111238016, 1528699136, 1132703232, 1123794048, 1345918336, 2066655744, 1452995584, 2038148736, 1732517888, 2032836736, 1192849920, 1181579520, 1209508352, 1159976704, 2049243392, 1148526464, 1211034624, 1214211200, 1103504128, 1221533568, 2072692608, 1560450432, 1890148480, 1624286848, 1146731136, 1296299008, 1264597376, 2027004928, 1805843072, 1567316480, 1187280512, 1327930112, 1673192192, 1725580032, 2057581184, 1341390848, 1371718784, 1295080448, 1218197120, 2005555584, 1279149568, 1091508352, 2138081152, 1750973056, 1683824000, 1588312192, 2024871552, 1181215744, 1752928384, 1141580672, 1087141248, 2078225792, 1074409856, 1111733248, 1139188480, 1710856576, 1842448128, 1767469056, 1484141184, 1674634240, 1693465472, 1250976128, 1258569856, 1393070976, 1915956608, 1372906112, 1403620992, 1691947008, 1370946048, 2011139200, 1315087104, 1159389184, 1300031872, 1488763136, 1346056576, 1252681472, 1126956416, 1185631104, 1990848384, 2102017536, 1963406848, 1573416192, 1937223680, 1657671296, 1628485760, 1240390784, 1087014912, 1796558592, 1382797056, 1295783552, 1201624320, 1494817792, 1807926912, 1264528768, 1624976640, 1100070784, 1115676544, 1634760064, 1846683392, 1366320512, 1319390720, 1297227520, 2075992704, 1627824000, 1414244096, 1805847680, 1319081088, 1489772416, 1269991680, 1681550208, 2129250688, 1928189312, 1169927168, 1079033600, 2002388992, 2114341632, 1351824768, 1427338112, 1098906240, 1337600000, 1735862784, 1893544064, 2104290048, 1482466304, 1089311616, 1807531008, 1238114432, 1221766656, 1265681024, 1860816128, 1892604928, 1167969408, 1192700288, 1279479808, 1717660160, 1887731968, 2004158592, 1700944128, 1637245696, 1188365312, 1205223296, 1318750976, 1194451712, 2142447360, 1294868608, 1167359616, 1856952576, 1584473216, 1736868224, 1520759296, 1129296896, 1248771072, 1374599808, 1978077184, 1085829888, 1337341952, 1368374016}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-3195, -4102, 25898, -3711, -2557, -9027, 68361, 35280, 23403, 39636, 51074, -7315, 27015, 4576, -6562, 6255, 27, 42156, 10694, -4112, -4637, 7911, -10169, 71291, -5775, -1053, -14324, 74437, -8950, 18881, 189721, -5914, -29209, 4587, 31301, -7952, 9217, -2489, 10193, 71068, -10728, -7700, 52263, -7712, 20361, 25341, -9436, -9724, -6209, -2466, 137995, 84696, 78256, -28444, -11007, -3020, -9624, -10825, 2796, 118674, 14044, -1203, -5198, -10249, 3676, 87132, -4361, 13844, 10316, -5369, -10365, 39263, -25, -9552, -2499, 10602, -5294, 5767, -3505, 22131, 4969, -8861, 190642, 7530, 52564, 36605, -7675, -9430, 6028, 15781, 18222, 14876, 11150, -11222, 7331, -7076, 87256, -2376, 93364, 9495, -465, -13631, 14098, 11635, -3232, -8499, -10183, 2216, 61944, -5778, -8222, -8999, 5710, -7584, 96526, 39085, -10161, 20850, 9643, -8864, -4284, 9871, -12166, -19572, 12637, -3806, 44105, -1020, -6258, 28849, 42107, 15455, -3128, -2709, -2746, 14420, -5106, 69604, 23234, 10934, -4458, -10745, -6365, -2736, 66445, 79358, 64996, -3157, -6977, -3219, -4359, -6001, -2418, -5581, -16413, 18767, 62885, 30415, 704, 30024, -2025, -880, -17511, -10616, -7819, 82057, -1610, 5171, -9758, 4283, -10556, -6849, -8484, -9586, 18885, 36422, -10875, 3751, -362, 29930, -5729, -4868, -3003, 67355, -34139, -11096, -3172, -4476, -11715, 3350, 13296, 12400, -15927, -300, 2118, 10318, -6857, -671, 34280, 6708, 40134, -5428, -5146, 50929, 43918, 14423, -10862, -4855, -13041, -10220, -62278, -9685, 26891, 6359, 15392, -4676, -1875, -3198, -7622, 65177, 2010, -7219, 12316, 70549, 27696, -3235, -11852, -10589, 24704, 108330, -34707, -4901, 40540, 18414, 11138, 97352, -5419, 29704, -12626, -10621, -469, -5876, -24207, 11142, -17408, -9358, 31901, 42849, 5131, 6736, -11614, 9948, -11970, -10343, 18043, 28621, -2174, -5138, -16075, 9442, 119913, -11874, -1625, 9037, 78274, 17317, 7794, -16092, -10914, 53431, -4476, -1104, -5505, -3494, -3369, -4158, -9651, 542, 36669, -101, -5869, 92506, 11937, 6253, 7411, -1252, -9303, 8892, 63760, -11260, -2927, -11783, 53871, -3614, -4731, -13540, 41678, -14927, -5379, 4498, 58796, 124414, -3995, -1073, 1483, 79720, 42378, 51233, 63189, -5252, 108, -6593, 33574, 3146, -4715, -2234, -9076, -3770, 93299, 7910, 11062, -3638, -1990, -3343, -6398, -21695, -8549, 80755, -2023, 11096, -4036, -1554, 33274, -13620, -2625, 32222, 75828, 85026, 8144, -3991, -4524, 13010, -44007, 29462, 8476, -11569, 128342, 3471, 16386, 954, -4894, 66750, -4777, -1105, 4186, 89909, -7025, 3902, 4284, -303, -17216, -10906, -5299, -2159, 90295, 73587, 12947, 48807, -1026, 32075, -3189, -1922, -10642, 76384, 2157, -3424, -1553, 112351, 27313, -5, 49770, -13490, 12569, 7759, 27532, -2247, -6216, -8203, 50391, -8133, 106639, -5324, 20935, 2050, -34486, -12659, -32291, -946, -3972, 94721, 11265, 1921, -5637, 99522, -1164, 20006, -10427, 56207, 10120, 116357, 23674, 584, -11088, 3722, -10381, 970, -9143, -4463, -2430, 104331, -1137, -18957, 13078, 141773, -6996, 6940, -536, -57076, -4958, -3105, 80206, 57485, 93049, -7072, -7899, 16588, 51466, 50357, 21790, 6035, -10108, -6743, -844, 34688, -8392, 35346, -6284, 205022, -4502, -9665, 30718, -7372, -2452, 13395, 9247, 6148, -9228, 5488, 20771, -5550, 4138, 39264, -13532, -5118, 45458, -6555, 81477, 11728, 12242, 17866, -11953, 24776, -2223, -11038, -9748, -4442, -6881, 23741, 34803, 65093, 35709, -7441, -5314, 26188, -1174, 53454, -7177, 76081, 48305, 10876, 44980, 5255, 31722, 138, -8942, -5125, -1879, 22607, -3303, 60369, -7426, -5012, -4659, -8634, 4388, 3172, 126561, -12547, 50115, 109466, -14075, -2702} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-24, -1, -232, -28, -53, -19, -642, -305, -162, -372, -353, -30, -212, -62, -42, -146, -48, -277, -118, -48, -27, -167, 16, -436, -31, -86, -12, -491, -134, -150, -657, -29, -43, -31, -260, -4, -30, -150, -124, -352, -81, -20, -366, -52, -116, -218, 27, -7, 4, -2, -782, -384, -285, -12, 6, -22, -15, -73, -92, -630, -158, 131, -24, -16, -39, -715, 14, -163, -75, -118, -72, -318, -100, -19, -5, -120, -23, -111, -13, -77, -40, -29, -592, -140, -376, -290, -42, 36, -137, -125, -262, -131, -103, -4, -58, -40, -425, -12, -529, -121, -48, -51, -98, -193, -32, -42, 4, -69, -400, -99, -72, -21, -164, 42, -534, -296, -38, -202, -35, -9, -20, -86, -16, 29, -112, 12, -344, -41, 9, -166, -245, -107, -28, -65, -102, -119, -111, -345, -198, -97, 0, -51, 25, -12, -303, -537, -361, -12, -60, -10, -6, 0, -13, -52, 15, -117, -472, -263, -87, -305, -46, -140, 59, -33, -3, -451, -13, -63, -75, -121, -27, -7, 42, -1, -162, -233, -23, -67, -12, -255, -10, -80, -40, -380, 2, 7, -46, -32, -43, -21, -83, -87, 22, -69, -105, -222, -57, -9, -225, -51, -198, -2, -46, -260, -345, -160, -99, -36, 13, 5, 86, -4, -174, -39, -134, -39, -43, -14, -19, -416, -97, -87, -90, -267, -272, -27, 14, -40, -237, -538, -36, -24, -287, -183, -222, -837, -30, -251, -52, 36, -60, -1, -43, -89, 126, -14, -240, -227, -150, -42, -16, -58, -39, -26, -137, -167, -35, -24, -23, -190, -518, -90, -180, -155, -330, -129, -146, -45, -3, -383, -32, -15, -80, -37, -7, -94, -4, -39, -294, -105, -77, -415, -171, -80, -191, -17, -34, -157, -757, -57, 2, 5, -303, -18, -21, 11, -266, 16, -148, -166, -300, -548, -54, -190, -72, -476, -226, -452, -407, -24, -59, -27, -290, -58, -7, -86, -3, -109, -491, -37, -38, -18, -74, -88, -84, -15, -22, -417, -76, -111, -3, -175, -192, -11, -109, -181, -311, -418, -42, -33, -77, -91, -26, -303, -128, -36, -542, -86, -158, -155, -26, -337, 1, -90, -123, -637, -69, -48, -26, -36, -8, -18, -20, -37, -527, -424, -144, -334, -21, -194, -21, -14, -35, -429, -90, -24, -22, -466, -261, -22, -365, -1, -145, -28, -160, -82, -9, -82, -338, -13, -572, -28, -146, -72, 38, -9, -76, -17, -40, -679, -81, -70, -85, -421, -35, -154, -7, -493, -90, -458, -245, -26, -22, -93, -46, -142, -5, -41, 82, -524, -19, 28, -208, -684, -6, -25, -124, 74, -20, -75, -593, -378, -253, -79, 21, -208, -258, -385, -86, -129, 0, -68, -157, -286, -102, -318, 5, -607, -9, -75, -232, 41, -130, -235, -201, -60, 17, -128, -162, -6, -170, -356, -38, -105, -369, -5, -444, -135, -123, -167, 13, -263, -21, 22, -9, -12, -84, -191, -254, -438, -241, -35, -3, -211, -96, -338, -37, -581, -329, -98, -261, -43, -316, -52, -53, -29, -12, -139, -36, -305, 21, -68, -33, -62, -96, -37, -594, -30, -316, -573, 14, -75}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1994254720, 2077975936, 1145096320, 1491096960, 1378690560, 1095078016, 1321784320, 1747388160, 2000299520, 1289388032, 2012827392, 1209088000, 1368302080, 1550022784, 1189558656, 1567145984, 1898617600, 1368068736, 1478641152, 1393902592, 1260571520, 1377447936, 2003267328, 1555848064, 1345602304, 2091083648, 1209227904, 1551304320, 1278482688, 1750289792, 2049568768, 1152751360, 1463879168, 1711936896, 1755832704, 1200072320, 1371561728, 1708083712, 1666518784, 1311631616, 2127666560, 1249888768, 1121059712, 1130803456, 1959314816, 1774327168, 2030833408, 1297514624, 1994851072, 1741742464, 1880844800, 1572653696, 1961762688, 1458532864, 1180471936, 1246797440, 1978149760, 1236700032, 1892400768, 1808496640, 1424003072, 1151042688, 1153763840, 1130777600, 1297197184, 1131756032, 1319955456, 1197311232, 1369402368, 1708498816, 1600993408, 1899208960, 1582489984, 1171907712, 1932918528, 1356825984, 1203564160, 2019750272, 2110006144, 1519420928, 1511492992, 1340732672, 2119269248, 1336348800, 1151693824, 1860448768, 1239919360, 1573746048, 1968254208, 1480813696, 2012203136, 1799613696, 1964334080, 1129720832, 1304814336, 1825499776, 1205923840, 2068379904, 1146017152, 1594478592, 1164360064, 1893841280, 1914672512, 1972380032, 1908190208, 1084835584, 1773379968, 1215577600, 1449170816, 2143019776, 1259743872, 2011628928, 1367057280, 1478840320, 2031888000, 1989710080, 1353720064, 1074081408, 1299571968, 1159668736, 1195053184, 1211258496, 1906617984, 1561706112, 1140812672, 2017861248, 1165970304, 1742168448, 1162925312, 1651470336, 1896977152, 1895750272, 2114850176, 1284789120, 1205204096, 1200895360, 1386406016, 2034156672, 1742314752, 1273346944, 2020769280, 1392093696, 1161149184, 2146285696, 1461288704, 1450372992, 1586907904, 1518503808, 1896279040, 1146660224, 1126260352, 2016903424, 2030538624, 1209812992, 1940017408, 1432247168, 1612940544, 2051699072, 1693051008, 1892692480, 1883621888, 2007337088, 1914931712, 1589750400, 2089757568, 1137033728, 1206097536, 1167536256, 1534727040, 1611678592, 1676582528, 1102057984, 1979039872, 1087903232, 1821163648, 1690450432, 1870538112, 1965321856, 1940892288, 1545048576, 1636830848, 1153840512, 1741506432, 1679339776, 1653345920, 1214834048, 1826600704, 1270651648, 1834252672, 1289557760, 1272071552, 1694345472, 1825517696, 1350041344, 1562361472, 1824634624, 1876628480, 2138247040, 1348242432, 1136435584, 2066432000, 1807880320, 1576205824, 1458936832, 1214311936, 1250847872, 1758448256, 1973324288, 1723715968, 1362816896, 1099127808, 1229624064, 1350731520, 1628595456, 1930174720, 2144444160, 1637073792, 1083765632, 1243231104, 2072129536, 1617849600, 2034012032, 1892703104, 1243921152, 1236914048, 1113589248, 1556143232, 1132850176, 1184253824, 1705017856, 1121178112, 1411886336, 1940727296, 1782030848, 1726384000, 2069461120, 2024478208, 1685023488, 1227513216, 1140323840, 1544080512, 1898545664, 1851355776, 1283593984, 2125236992, 1126721280, 2073792000, 1747765504, 1640988800, 1306414720, 1116452480, 1966515584, 1599383552, 1088086656, 1752402816, 1318196736, 1351662592, 1191592320, 1335802880, 1542221696, 1504849024, 1721303808, 2115819776, 1276216064, 1629324160, 1490532864, 1173565312, 2124896512, 1923795968, 1650228352, 1184024064, 2084638976, 1463954304, 1206897408, 1094080640, 1889064960, 1083796992, 1289067008, 1449191808, 1080277632, 1937989248, 1489313408, 1159042688, 1376165248, 1880479488, 1154037248, 1787021184, 1710392960, 1353300864, 2020176512, 1581101056, 1088664960, 1973716608, 1884862976, 1160381824, 1898280448, 1633826560, 1266978944, 1574412160, 1520275200, 1951947264, 2018910208, 1670619904, 1844292352, 1998244992, 1507676928, 1669403648, 1671831680, 1732627200, 1206896640, 1104180608, 1284825856, 1608293248, 2100541440, 1749701120, 1124819072, 2116209408, 1872207488, 1181179904, 1886030080, 1625218688, 1341858560, 1223932928, 1248780032, 1081046016, 1215871488, 1133415424, 1110891648, 2081497216, 2053228800, 1148825600, 1862854528, 1158695936, 1637739136, 1746108160, 1107869312, 1789123072, 1174889088, 1339402496, 1153271552, 1394578688, 1118034048, 1573085952, 2005060224, 1680684672, 1443800704, 1595584256, 1651385216, 1557072384, 1577758208, 1248954368, 1334062976, 2132840704, 1822148736, 1256951936, 1203951616, 1402474752, 1622062720, 2109740544, 1151101568, 2101019776, 1852084224, 1187743616, 1791953536, 1139420672, 1531810176, 2122116992, 1869540352, 1777910272, 1467626752, 1100114176, 1162869888, 1202780032, 1264238976, 1572132096, 1392973568, 1897131776, 1278351872, 1086208128, 1303096704, 1306618112, 1240937344, 1334212352, 1692482304, 1527516288, 1414157568, 1221826048, 1396665600, 1732509952, 1122128896, 1607790080, 1152603392, 1750231680, 1884709632, 1914667904, 1195749888, 1691436288, 1170471808, 1347062400, 2032929664, 1817107840, 1277744896, 1810892160, 1106940544, 1598803584, 2001941632, 1293563648, 1888459136, 2110069376, 1266844288, 1678236160, 1183644672, 1302081792, 1382700032, 2073111808, 1701624064, 1185990784, 1228829824, 1675346304, 1969426176, 1187277824, 1085194752, 1630369792, 1103935488, 1318284160, 1232178048, 1505734656, 1140524288, 1156463360, 1701037440, 1103549440, 1716862592, 1781576320, 1460175488, 1476823936, 1315283712, 1487357824, 1448038400, 1491772544, 1366503808, 2017762944, 1230653568, 1293624576, 1094979840, 2000421632, 1254881920, 2063730944, 1254884096, 1129141888, 1634447616, 2016592128, 1077546624, 1211668608, 1512029568, 1218472448, 1250291968, 1634066176, 1089569152, 1691863808, 2128771072, 2028479744, 1332211712, 1311472512, 1143228160, 1742606976, 1805465600, 1436177280, 1521962880, 1073838208, 2121348608, 2017030144, 1712948352, 1693434240, 1468021248, 1074613376, 1233381888, 1399964160, 2014179840, 2022465408, 1646503296, 1430163072, 1096579200, 2089429504, 1833620608, 1343800320, 2053582976, 1369132800, 1453706240, 1945180544, 1289222656, 1581779968, 1361349504, 1883300224, 1275017344, 1905653632, 1210705536, 2032154880, 1431121280, 1424606592, 2134295168, 2085131904, 1422936960, 1231484160, 1786576128, 1544680064, 1146824320, 1719550464, 1312529024, 1122581760, 1276100480, 1943210880, 1465217280}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {24, 139, -571, 1780, 996, -919, -72, 800, 1542, -188, -345, -1014, -128, 303, -1633, -622, -3442, -392, 914, -1315, 416, 117, -213, -924, -571, -1766, 1996, -965, 1793, -931, -467, -2028, 0, 2538, -1263, -1202, -1382, -1718, -1703, -1475, 3, 12, -1567, -4767, -2003, -1900, 76, -2238, -142, -1383, 75, -1112, -388, 433, 516, -81, -473, -3350, -1533, 482, 902, -1853, -373, 346, -61, -1802, -1038, -1274, -77, 356, -1332, 2260, -1044, -3548, -909, 735, 999, -134, -1166, 1125, -1045, 198, -1304, 82, 1703, 342, -1539, -1154, -924, 74, 1619, 328, -224, 488, -1418, 1206, -1386, -1733, -484, -1377, -1488, -1829, 367, 735, -1631, 713, -1345, 783, -1569, -448, -1123, -417, 190, -2630, 96, -1429, -587, -340, 461, -3385, -1924, -295, 61, -193, 1025, -1043, 1102, -898, -825, -627, -1258, -2414, 1328, -676, 152, 1477, 2572, -2226, -757, -494, -340, -154, 2070, -608, 779, 874, -1326, 1440, -926, 464, -1554, -706, -608, -1651, -463, 784, -833, -1040, 15, -1345, -3475, 724, -1138, -2363, -854, -2142, 70, -379, 219, 1024, 1160, 1317, 109, -950, 1109, 853, -549, 1616, -935, -1366, -2448, -897, -595, 2472, 25, -1193, 247, -1037, 653, -846, -684, -496, -1276, 1693, -917, -221, 218, -1285, 241, 1296, -1509, 829, -784, 1672, -988, -1017, -1624, -875, -1677, 2019, -274, 1283, -736, 881, -1198, -1651, 529, -1900, -2868, -696, -542, -1714, -2462, -451, -285, 765, 5612, 1742, -2971, 9, 1302, 423, 129, -1510, 1639, -179, -138, 520, 1690, 805, -1492, -294, -781, -100, -2396, -1349, -268, -1564, -163, -875, 678, -451, 321, -286, -884, -804, -1712, 374, 679, -770, 387, -1723, 361, -1111, 444, 229, -644, -901, -1487, -319, -301, 1559, -791, -1213, -950, -1199, 281, -277, 985, -623, 823, -1367, 605, -2462, 337, -2425, -795, -918, 218, -56, -1053, -823, 622, 3464, -2668, 1597, -1256, 943, 1652, -1430, -1255, -646, -339, -819, -47, -1484, 615, 2409, -864, -77, -118, 818, -201, -505, -147, -99, -323, -1466, -2923, 1904, 713, 3, -949, -158, -1033, -1370, -323, -482, -200, -1400, -779, -1869, -91, 137, -2531, 2757, -2394, 647, -1427, -1098, -582, -239, 459, -675, -1509, -33, 24, -1173, -746, -2268, 98, -1180, -2158, -776, -1095, 2652, -963, 533, -1319, -261, 370, -1329, -3260, -871, -939, 655, 1479, -1106, -1679, 1070, -2052, 724, -2637, -524, -1566, 726, 1231, 196, -798, -1870, -863, -642, -530, -842, -24, -985, 173, 132, 562, -1481, 227, -406, -32, -85, 366, 176, -875, -621, 1573, 1293, 346, -559, -339, -868, -524, 619, -180, 917, -379, -380, 14, 1821, 125, -284, 1017, -1248, -1970, -126, 1541, -1004, 231, 89, 470, 282, 1090, -1757, -692, 1667, -565, 1438, -470, -1775, 1347, -463, -461, 2785, -894, 335, -642, -913, -1035, 99, -909, 2218, -2111, 2934, -313, -1406, 2824, 715, 1474, 551, 107, 1322, 243, -1823, -812, 269, 383, -804, -1299, -2903, -14, -309, -2265, -1275, -2161, -84, -1549, 377, -380, 604, 848, -2397, 1259, -1143, 419, 1972, -139, -774, -1447, 94, 1196, 660, 777, -20, 2701, -1176, -1246, -211, -1676, -1007, -1782, -75, -840, -2067, -1873, 1707, -410, -1868, -2203, 836, 2808, -1260, -179, 858, -433, 518, -65, -156, -1041, 2539} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-9, -9, -8, -6, -7, -9, -9, -7, -9, -7, -7, -6, -5, -6, -7, -8, -6, -9, -8, -8, -7, -7, -8, -8, -8, -9, -7, -5, -10, -5, -7, -7, -8, -6, -7, -6, -8, -6, -8, -7, -8, -9, -6, -5, -8, -8, -5, -7, -8, -8, -8, -8, -7, -7, -8, -7, -7, -8, -6, -8, -6, -7, -6, -8, -7, -7, -7, -9, -9, -9, -6, -7, -7, -7, -8, -6, -7, -7, -7, -9, -7, -7, -5, -7, -5, -9, -7, -7, -8, -10, -6, -7, -8, -9, -8, -6, -7, -8, -9, -8, -6, -6, -8, -8, -7, -8, -6, -7, -7, -8, -8, -6, -9, -7, -5, -7, -8, -7, -9, -7, -7, -10, -7, -9, -8, -7, -9, -6, -7, -7, -7, -6, -8, -7, -8, -5, -10, -7, -6, -8, -8, -8, -6, -7, -8, -6, -7, -8, -8, -6, -6, -9, -6, -8, -8, -7, -5, -7, -7, -7, -7, -6, -8, -9, -7, -6, -8, -6, -9, -7, -8, -7, -8, -7, -11, -7, -9, -8, -7, -5, -7, -8, -7, -6, -9, -5, -9, -8, -9, -7, -6, -9, -6, -8, -7, -8, -7, -8, -9, -9, -7, -7, -8, -9, -6, -9, -8, -7, -8, -8, -7, -8, -7, -8, -8, -6, -8, -7, -7, -8, -7, -7, -7, -7, -7, -7, -8, -8, -8, -8, -7, -7, -6, -7, -7, -5, -6, -7, -6, -7, -7, -5, -8, -7, -6, -8, -7, -8, -8, -8, -8, -9, -7, -7, -8, -6, -9, -7, -7, -7, -8, -7, -8, -7, -7, -6, -6, -6, -7, -9, -7, -10, -7, -6, -7, -7, -8, -7, -8, -8, -7, -4, -13, -7, -7, -7, -8, -7, -8, -7, -7, -7, -8, -8, -7, -7, -7, -5, -9, -6, -6, -7, -5, -7, -8, -7, -7, -8, -8, -8, -9, -9, -9, -5, -8, -7, -7, -8, -8, -7, -8, -8, -8, -6, -7, -8, -6, -7, -10, -7, -8, -6, -6, -8, -9, -9, -8, -10, -5, -6, -9, -7, -9, -9, -7, -8, -9, -7, -6, -9, -8, -8, -5, -8, -7, -6, -9, -7, -7, -8, -6, -8, -7, -8, -8, -7, -6, -8, -7, -7, -8, -7, -9, -6, -8, -8, -7, -7, -6, -8, -6, -7, -9, -8, -9, -6, -7, -9, -5, -7, -8, -7, -7, -6, -7, -5, -7, -7, -9, -8, -6, -6, -7, -10, -8, -9, -8, -7, -7, -6, -8, -6, -6, -8, -8, -6, -9, -7, -7, -7, -5, -6, -8, -5, -8, -7, -9, -7, -8, -9, -6, -8, -5, -8, -7, -8, -7, -9, -6, -8, -8, -10, -9, -8, -8, -8, -8, -7, -7, -7, -8, -9, -8, -7, -6, -8, -6, -10, -9, -7, -7, -7, -8, -5, -8, -8, -8, -8, -8, -9, -5, -5, -7, -7, -8, -8, -8, -7, -9, -6, -7, -8, -8, -5, -8, -8, -8, -9, -7, -7, -6, -6, -8, -8, -7, -5, -6, -7, -7, -7, -7, -8, -8, -9, -7, -6, -6, -6, -8, -8, -8, -8}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1139486720, 1622599168, 1464074240, 1206533248, 1794236672, 1164468096, 1152219520, 1218320128, 1143000576, 1502140800, 1679598336, 1245333120, 1484679808, 1606525696, 1134840832, 1622371968, 2101304704, 1265162880, 1458142976, 1195037312, 1098277504, 1286382720, 1988928256, 1385369216, 2133658112, 1201360896, 1608414976, 1297665792, 1198155648, 1351137664, 2059307648, 1120303104, 1353713280, 1474077568, 1141872512, 1369610112, 1393228032, 1134560768, 1085679616, 1157486336, 1226269952, 1714110464, 1588768128, 1105562112, 2119655552, 1476761344, 1654801280, 1485455872, 1559015424, 1911921664, 1150883968, 1988679040, 2078473472, 1146213888, 1338586112, 1381691008, 1096736640, 1938806528, 1358216448, 1107225344, 1442674944, 1266476288, 1452596096, 1211743232, 1134843392, 1438476416, 1476367872, 1605070592, 1326287232, 1292260480, 1141437824, 1481608832, 1172606848, 1175663104, 1107013120, 1929819392, 1982287104, 1116371328, 1558299392, 1394000256, 1566133632, 1229180544, 1500428544, 1486192000, 1164378496, 1725833216, 1178367360, 1943624576, 2057492608, 2012818304, 1220579072, 2104066944, 1298278528, 1314576512, 1451392000, 1787901952, 1119775104, 2111806592, 1302351488, 2089044608, 2086322304, 1244179840, 1192808192, 1296896512, 1247186432, 1426173440, 1292200064, 1076739712, 1994784384, 1261055232, 2011968128, 1353620096, 1508857344, 1151418112, 1423218304, 1551110912, 1831525248, 1576766208, 1334196992, 2032213376, 1279729536, 1485397760, 1647396608, 1215877248, 1317402112, 1236406912, 1383185408, 1701244288, 1834164992, 1141005824, 2092911232, 1601330560, 1661738112, 1117316224, 2082551936, 1609506560, 1640370176, 1769969280, 1923330432, 2063521408, 1218400768, 1142926592, 1175142656, 1427535872, 2077949952, 1624357248, 1157911040, 1341614080, 2115100544, 2063986816, 1249067008, 1411457792, 1281348608, 1238390912, 1096187136, 1194226176, 1563189760, 1186297984, 1107997952, 2118488064, 1838873984, 1214640768, 2104717184, 2079104512, 1358520576, 2077797888, 1708618112, 1208686464, 1862547584, 1121055232, 2122214272, 1241946624, 2079777408, 1999188224, 2125464832, 1128641920, 1951195264, 1430442752, 1115213696, 1206074112, 1534833536, 1088245248, 1572744064, 1546184576, 1259112960, 2142156544, 1238610176, 1977056128, 1240278656, 1122285696, 1423698688, 1400477568, 1717307264, 1134850816, 1520134016, 2017894528, 1281667456, 1228123648, 1460237952, 1115862784, 1908570752, 1611863424, 1927204480, 1076686848, 1107502976, 1253766144, 1966914944, 2146404352, 1257561344, 1218865792, 2003391488, 2072159232, 2082470400, 1399839104, 1168725760, 1424395392, 1728198016, 1218816512, 1097152256, 1409943168, 1277726208, 1219495808, 1124042752, 1154657664, 1123399936, 1895694976, 1990737152, 1713095296, 1312318080, 1153830400, 1948217600, 1361832064, 1482866048, 1908528000, 2008343680, 1362091008, 1181267456, 1378798976, 1310217856, 1879066368, 1343897216, 1783973632, 1317995008, 1139654912, 1139604224, 2066759040, 1266711552, 1327022336, 1379478144, 1175401472, 1197616128, 1313594496, 1298231936, 1161762560, 1255917568, 1095317376, 1673281664, 1318776064, 1535023616, 1226714240, 1274990720, 1265617024, 1145366912, 1393650944, 1252340608, 1720815744, 1672449152, 1173713664, 1501862144, 1706143744, 1128366976, 1277762176, 1088769024, 1213404288, 1292970368, 1144235264, 1227578240, 1365281280, 1279288704, 1881419008, 1906440704, 1244942464, 1603563136, 1130416384, 1906383488, 1117192832, 1178850688, 2108730240, 1757827840, 1169818240, 1152126208, 1236229888, 1423737600, 1773092608, 1351504000, 1777577344, 1257604352, 1316344192, 1966390912, 1294491648, 1120704512, 1547142656, 1276496128, 1376385408, 1892021888, 1974155904, 1965451648, 1079578880, 2073759104, 1494111872, 1450852480, 2098460544, 1339096704, 1132485632, 1371760512, 1325936512, 1763516544, 2107445376, 2013264000, 2041851776, 1186547840, 1450502016, 1283326208, 1801152896, 1719874048, 2087065600, 1682434560, 1742722688, 1623872256, 1215466112, 1255831424, 1741002880, 1095437440, 1363530880, 1364891264, 1325644032, 1685665152, 1964467456, 1463671296, 1976288000, 1366754432, 1456910464, 1277445120, 1257996032, 1275951488, 2010657792, 1708952448, 1492280448, 1505874816, 1470685056, 1159891968, 1164719104, 1735284864, 2115408640, 1977625984, 1375794560, 1563718272, 1975290752, 1199270656, 2014312576, 1330287232, 1561677440, 2042611584, 1527948160, 1212128896, 1283427328, 2023015680, 1377976832, 1993520768, 1996761088, 1929698560, 1734318336, 1188639488, 1131314176, 1526394112, 1912997120, 1231614336, 1157464832, 1520222464, 1257960576, 1301753216, 1128723840, 2130268544, 2109881600, 1259328640, 1447926656, 1096652032, 1363710592, 1086309504, 1352229248, 1292736384, 1770655360, 2127412224, 1277442176, 1426464384, 1185318016, 1847562624, 1386101248, 2091133184, 1206794112, 1630753792, 1410243968, 1232551424, 1756212480, 1830423680, 1448544000, 1118743040, 1659891072, 1247891840, 1617012864, 1252668160, 1415477120, 1296777472, 1641530368, 1858622080, 1765412096, 1316407808, 1200606080, 1396871424, 1116461696, 1939392768, 1405721728, 1163238400, 1704162816, 1850634624, 2035219712, 1217650816, 1655385344, 1892940288, 1183873280, 2096259584, 1172207104, 1205352960, 1120503424, 1954390912, 1544780544, 2084828288, 1576740864, 1221831296, 1895658880, 1176930944, 1544534400, 1392595584, 1768717440, 1174450944, 1394727552, 1116507392, 1354340864, 1801030912, 1324670336, 1286821376, 1236693888, 2067451520, 1762946176, 1129508224, 1456264064, 1636767360, 2143193472, 1850615936, 1237460736, 1480751232, 1317144960, 2110740096, 1416414848, 1280194944, 1078077184, 1124136576, 1805606016, 1091261696, 1558681600, 1762968192, 1319707776, 2136128256, 1221587200, 1079023488, 1369535488, 1267782272, 1836230400, 1116490752, 1983743872, 1147185664, 1168907520, 1810934400, 1540448512, 1227216256, 1970101504, 2118895232, 1394816896, 1454552192, 1393076224, 1127061120, 1580991360, 1100698368, 1166712448, 2104729984, 1503526912, 1144898048, 1550567552, 1398137344, 1295749888, 1968535680, 1214648960, 2141529600, 1453541888, 1118984320, 1889657088, 1395682432, 1991149696, 1100158464, 1477727488, 1616178688, 1657535104}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-1188, -350, -25895, -1691, -5487, -4408, -5772, 81070, 14445, -25283, -11647, -5462, 61176, 38316, -7187, 11991, -228, 78566, 8015, -3633, 63676, 28045, 11461, -6232, 70083, -5753, 2262, 67343, 32358, -8692, -3773, 74312, -6649, -4652, 67669, -28661, -3135, 5011, -972, -9997, 111887, 73810, -195, -2006, 1521, -10850, -21853, -6145, -14353, -8022, 22308, 127679, -10030, 30344, 95376, 21015, -4554, -5306, 89441, 15338, 54681, 14425, -5196, 36365, 93365, 40759, -2257, 138845, 9548, -15932, -2277, 18248, -4156, -7261, 66052, -1953, 45471, -6387, 54688, -12555, 49918, 130202, -10886, -6189, 21169, -14997, -1639, -1647, 3893, 20242, 42627, -2128, 22467, 64590, -6286, -34943, -10401, -5002, 8140, -10572, 69320, -7230, 16789, 36707, -11378, 17422, -10382, 42205, -150, 86048, 8478, -15378, 51156, 145075, -15053, -3952, -7635, -1609, -4379, -3004, -2286, -4613, 65241, -4985, 94969, -6273, -2905, -3899, -5955, -6248, 22042, 59997, 13700, -3935, -1093, 2459, 3597, -2283, 79414, -5669, 48632, 111581, 35789, 47949, 75804, 62514, 149089, 31426, -1588, 45412, 133646, 73632, 18870, 67302, -3870, 60267, 95486, -4288, -5204, 44098, -5170, 118390, -3383, -2856, -3631, -3026, -435, -6519, 20184, 157057, 10234, 56440, 43721, -4067, 17243, 47780, -5580, -3791, -4737, 24328, -10041, 150159, 76078, 45050, 55227, -21472, 78123, -8384, -21849, -5868, 95183, -837, -2630, 88427, 43695, -1553, 59503, -2365, 53884, -5214, -1169, 42662, 67916, -5262, 17110, -10219, -9611, -5312, -12250, 47135, -11321, 75587, -3674, -2920, -6256, 20417, 62271, 45948, -5141, -9009, -1249, 58705, -11628, 1047, 15209, 6229, 70255, -6187, -8619, -1940, 45943, 37745, 9882, -1708, 14780, 52081, -1419, 83052, -5684, 36704, 68, 38782, -11928, 7190, -2944, -5089, -1729, -1845, 14988, 27605, -3934, 19110, 80660, -4662, -897, -30777, -5466, 1158, -12409, -2079, 5596, -12296, 129848, -3717, 18546, -5667, -4301, -3726, 3576, 21412, -1764, 40745, -4402, 2620, 59823, 96716, 69281, 75066, 51189, -2763, 106205, 70511, 77532, -6512, 61876, -14919, 134539, 21338, 5222, -19223, -2221, -5968, -3242, -410, -738, 16275, -11283, 71785, -427, -9848, 116149, 97717, 80217, 49618, -10947, -285, 127430, 82199, -2242, 53046, -2769, 25059, 66647, 10040, 72996, -5432, 16941, -290, 63208, -2625, 12028, -13804, -3826, 44477, -6690, -2927, 6190, 47098, -2803, -333, -3176, -5738, 76518, -5278, -7374, 3940, 153426, 20579, -793, -4697, -9319, -19417, 8554, -897, -12414, 126738, 7491, -2523, -6050, -3107, 41135, 81662, -6604, -8474, -4153, 43701, 2603, 68794, -10698, -224, 53197, -7479, -2716, -8781, -8250, 23791, -10580, -11817, -2125, 12259, -244, -12363, -2390, -7372, 44, -5912, 21875, -5457, 23080, -14665, -3346, -1068, -3491, -2072, 1010, 54162, 70365, -3197, 39695, -23503, 41064, 138823, -10636, 56627, 12752, 34376, -3885, 82458, -8015, 47814, 101322, 11931, -4025, -5794, 95452, 79215, -3231, -588, 18064, -5588, 7939, 89923, -15587, -4890, -3762, -5204, -1631, 115433, 45565, -2729, 33383, -3766, -4639, 40498, -6642, -6405, -5563, 6221, -35502, -18555, 45000, -4646, 24170, 106422, -2362, -4819, 14410, 5808, -10238, -3703, -1958, 91469, -1782, 42354, -34, 14207, 6115, -1006, 10668, 32136, 14862, 59416, 5518, 32138, 58388, 689, -348, 56243, -28365, -2504, -175, -2384, 47832, 54330, -5301, -2505, -6778, 17472, 4, 36149, -18823, 6827, 7231, -4241, -7479, -19323, -21769, -4240, 70944, 52792, 73635, -7399, 112083, 83332, 56902, 56584, 48472, 102577, 55415, 8523, -1569, -1540, -2062, -4872, -1979, -2633, -2200, 70663, 59486, 61856, 1128, -8909, 18754, -3357, 16329, 79746, 127425, 72886, -6546, -5854, 49998, 19156} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-100, -13, -5, -131, -57, -10, 6, -479, -111, 14, -43, 13, -338, -289, 3, -131, 4, -375, -97, -3, -285, -290, -115, -16, -322, 14, -76, -530, -177, 12, -122, -321, -10, -39, -524, 1, 6, -98, -59, -114, -430, -455, -50, -73, 2, -3, 32, -80, 16, 22, -220, -469, 196, -173, -363, -175, -19, 17, -431, -246, -312, -130, -35, -325, -513, -430, 21, -852, -97, -3, -6, -174, -63, -55, -226, -33, -347, -1, -413, -77, -266, -454, -31, -36, -184, -18, -29, -94, -76, -118, -341, -50, -193, -462, 63, 92, -5, -16, -99, 10, -366, -18, -159, -293, 12, -211, -15, -291, -76, -522, -104, -32, -433, -535, 29, -1, -20, -20, -43, -1, 41, -13, -362, -89, -571, 47, -75, -105, 7, 23, -179, -256, -111, 1, -124, -51, -49, 0, -426, 63, -288, -384, -237, -527, -506, -541, -600, -226, -8, -427, -515, -540, -167, -278, 7, -384, -576, -64, -31, -322, 113, -519, -19, -28, -43, -12, -121, -23, -116, -596, -141, -424, -212, -12, -145, -309, -18, -73, -24, -266, -14, -662, -611, -282, -476, -1, -579, -13, -21, -14, -505, -172, -70, -348, -343, -91, -472, 11, -262, -90, -57, -274, -328, -103, -168, -102, -1, -31, 37, -202, 5, -422, -20, -10, -37, -153, -412, -220, 42, -36, -24, -423, 16, -106, -181, -91, -327, 8, -37, -30, -270, -312, -75, -52, -124, -331, -158, -454, -102, -221, -142, -282, -33, -177, -10, -1, -30, 1, -130, -143, -79, -166, -299, -7, 29, 18, -29, -100, -20, -17, -104, -74, -363, -4, -74, -64, -4, -18, -138, -138, -55, -186, -34, -80, -481, -617, -274, -526, -305, -22, -456, -561, -236, -40, -340, -12, -398, -144, -36, -49, -69, 2, -50, -125, -111, -168, 2, -360, -73, -16, -579, -593, -374, -311, 91, 9, -624, -353, -48, -408, -12, -127, -422, -122, -381, -83, -165, 3, -455, -141, -114, -17, -4, -336, -37, -20, -36, -318, -15, -13, -113, 24, -367, -29, -13, -46, -381, -136, -31, -46, 0, 33, -148, 77, 10, -360, -129, -26, 5, -29, -262, -424, -42, -1, -50, -327, -68, -365, 128, -30, -395, 1, -46, 3, -92, -271, -86, -6, -29, -140, 16, -91, -9, 6, -106, -23, -139, -20, -269, -7, -98, -150, -5, -22, -149, -480, -382, -142, -266, 76, -233, -644, -21, -366, -81, -240, 26, -545, 5, -314, -552, -165, -85, 29, -390, -364, -60, -100, -151, -33, -114, -476, 36, 8, -85, -19, -73, -468, -317, -29, -227, -121, 1, -297, -27, -14, -4, -196, 45, -51, -487, -24, -187, -365, -81, -94, -125, -94, -5, -25, 36, -431, -58, -167, 6, -57, -108, -63, -110, -288, -138, -354, -106, -243, -308, -80, -77, -334, 11, -100, -43, -22, -334, -456, 13, -69, -2, -170, -127, -373, 37, -197, -176, -79, -21, -55, 2, -54, -314, -270, -477, -14, -425, -386, -326, -359, -265, -634, -302, -168, -102, -23, -41, -15, 27, 2, -31, -388, -363, -389, -97, -33, -151, -107, -125, -450, -445, -325, 44, -5, -295, -175}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1420178304, 1715970432, 1638732416, 1861061888, 1129536128, 1584110720, 1261174528, 1213804032, 1429682944, 1779627392, 1102563328, 1725192960, 1688015616, 1166978944, 1477465216, 1295616512, 2011747968, 1563987712, 1314807296, 1387076480, 2143168128, 1627251456, 1726497792, 1683467136, 1251508864, 1483580416, 1093660032, 1511034624, 1302575232, 1207530496, 1846635264, 1713492864, 1323454080, 1368143488, 1631219456, 1341842432, 1668113152, 1239546240, 1717460736, 2092995712, 1270902272, 1438286976, 1639394176, 2129566976, 1272561152, 1293907584, 1627873152, 1863518464, 1606808704, 1167025408, 1890423040, 2072438912, 1685794560, 1082745472, 2029441280, 1915431040, 1110572544, 1743198080, 1368773504, 1801163008, 1074643072, 1113763200, 1521275904, 1331169792, 1169070336, 1291330048, 1647256576, 1431473024, 1545366912, 1760826112, 1677405312, 1180912896, 1284956928, 1654393088, 1334720000, 1861940352, 1552029824, 1704733184, 1792663936, 1221758848, 1761387648, 1394685056, 1219987840, 1238354688, 1535537664, 1372991616, 1474270720, 1645233664, 1560703232, 1090322944, 1172862208, 1754536448, 1117328384, 1739558784, 2123815680, 1339362560, 1983269760, 2124691072, 2016910976, 1366965888, 2026390144, 1304888064, 1387984256, 1874382720, 1133987072, 1674149376, 1100980480, 1810474496, 1244364288, 1146912512, 1311085824, 1545549440, 1229435264, 2029675392, 1101187072, 1122192256, 1836620160, 1079493376, 1294954752, 1942041984, 1116471936, 1851998592, 1620081408, 1818261504, 1089172864, 1530380672, 1550488832, 1451068288, 1510335744, 1956018304, 1284339072, 1440729344, 1907233536, 1076075392, 1418662144, 1977642112, 1097867648, 2003997824, 1425449856, 1608127616, 2104566528, 1703467136, 1341261056, 1885989888, 1316601856, 1590584704, 1795247744, 1441134720, 1376387072, 1126988160, 2066966400, 1378552192, 1800918016, 1172765696, 1652207744, 1846496768, 1079358848, 1950588416, 2044836096, 1262318464, 1314797312, 1284424832, 1168438784, 1082827648, 1975513600, 2127438336, 1814377216, 1901743232, 1896063488, 1131326080, 1528266624, 1279193344, 1702527616, 1121855104, 2030460800, 1253333760, 1212151552, 1084934400, 1237793024, 1531326848, 1985278720, 1917683328, 1249909760, 1749205760, 1129390848, 2011556608, 1208556544, 1176166400, 1507345408, 2064751104, 1221000832, 1340754432, 1334121728, 1951070976, 1102036864, 2102845056, 1609683840, 1210605696, 1568908032, 1099531136, 1503288320, 1134399616, 1466499072, 1111040896, 1367499136, 1406586880, 1881946112, 1662160512, 1807536640, 1856417024, 1543649152, 1561129728, 1944463488, 2041570048, 1336879872, 2079819648, 1585774080, 1128203264, 1354359040, 1940682112, 1833418752, 2097347840, 2064198656, 1130114560, 1590216192, 1578100736, 1786352512, 2025619200, 1483214592, 1983995008, 1736311808, 1788815360, 1825499520, 2097595648, 1268864640, 1101042688, 1689815040, 1346401152, 1333760640, 1101728128, 1394072704, 1545837056, 1367440640, 1168669696, 2062138112, 1857390464, 1080541184, 1304311808, 1365327872, 1479094784, 1226927616, 1949002624, 1208951552, 1579558784, 1720304128, 1583232512, 1297581056, 1736994688, 1659664640, 1220706816, 1100156800, 1140102528, 1130789248, 1756469248, 1598849664, 2029423744, 1097516288, 1157565312, 1390051968, 1865567104, 1078971136, 1208954624, 1609209216, 1811733632, 1520449152, 2106748416, 1284924800, 1386748672, 1981946752, 1146924672, 1504877184, 1308640384, 1485201152, 1092114944, 1394125056, 1373845888, 1197897728, 1873885056, 1179703808, 1099934976, 1264322432, 1859531776, 1231547008, 1664710784, 1359088896, 1225772032, 1901741568, 1700691072, 1874873984, 1240399744, 1978657152, 2132852864, 1572357888, 1583072128, 1576923648, 1838751104, 1787153408, 1498551040, 1202226048, 2078949760, 2113643904, 1493414912, 1860279296, 1137052672, 1836260224, 1150647808, 1081854592, 1288859648, 1731544704, 1522259456, 1208286848, 2024137344, 2018537856, 2038073728, 1728603520, 1671266816, 1088984064, 1250062080, 1839557632, 1512173440, 1493395968, 1217506176, 1637316224, 1961023104, 1132416512, 1156053888, 2130350976, 1507482752, 1555205504, 1676320128, 1312706688, 1092012416, 1761600640, 1665531648, 1646267904, 1261341568, 1824374272, 1250960768, 2141914880, 1145187456, 1647257728, 1442399104, 1103795328, 1722122624, 2053431040, 1229978112, 1180105088, 1257954176, 1448839424, 1179421824, 1155601280, 1325937664, 1515847936, 1503066112, 1185717248, 1192096640, 1175770496, 1333087104, 1356811392, 1467167488, 1228727424, 1190832640, 2017143808, 1695572864, 1634943232, 1713066112, 1905683584, 2086898816, 2107453312, 1709376256, 1538315520, 1676087552, 1926783872, 1644796160, 1227241600, 1714788736, 1554451584, 1887662080, 1096046208, 1319035136, 1571535104, 1138924928, 1388054144, 1891249408, 2016260480, 1111917952, 1541687168, 1170549504, 1625414400, 1132659072, 1766834432, 1248625280, 1308103168, 1836535552, 1287902080, 1211118848, 1104526848, 1123168768, 1337889152, 1525625984, 1562546176, 1157113088, 1719263744, 1353541760, 1482028544, 1497638272, 1092868224, 1198156672, 1355275008, 1929204992, 1413432576, 1084949760, 1201683456, 1687481088, 1877149440, 2120479616, 1453874176, 2134579200, 1806995840, 1128763776, 2098453632, 1440239616, 1091813760, 1820640512, 1551664128, 1577013376, 1933075712, 1569837056, 1125083392, 1144297344, 1217655040, 1191814656, 1640059264, 1222834048, 1523848704, 1761205888, 2096138880, 1315630976, 1293475200, 1790688512, 1919866752, 1778247936, 1573817600, 2050329216, 1132611968, 1152442368, 1492536320, 1781067776, 1407449472, 1358103808, 1297804800, 1266895232, 1239564416, 1897210112, 1231074176, 2021868672, 1179870208, 1099827712, 1608219904, 1624118144, 2044835968, 2065312384, 1896347136, 1179277440, 1804738560, 2142201600, 1374084480, 1476450048, 1910179968, 1385112320, 1462415744, 1135236608, 1203055104, 1331680768, 1096243712, 1093650560, 1470081408, 1950983296, 1526515968, 1789573248, 1460135552, 1175335168, 2115951232, 2119149568, 1836877568, 2068026368, 2062125568, 1125159424, 1823867136, 1650075136, 1476815360, 1161555328, 1096577536, 2053836160, 1883810560, 1372894720, 1434404224, 1416546432, 1897710208, 1439602688, 2070092032, 1823169280}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-4652, 16106, -10122, -7847, 9406, -18388, -20535, -24372, -7856, -39664, -38881, -55762, -18495, 23087, -81064, -32158, -28245, -26518, -71154, -2021, 2519, -18412, -78448, -35252, -14156, 18810, -30577, -22491, -901, -43979, -15208, -17734, -16594, -53946, -27228, 18640, 39585, -55661, 11125, -27865, -25018, 42243, -25631, 1675, -6825, 35523, -2378, 16449, -59160, -7937, 27070, -1559, -20393, 9031, -4864, -59440, -50776, -15482, -50311, 25683, -33458, 5442, -25934, -25144, -53747, 1045, -63740, -8747, -46106, -7768, 48934, 7383, -49867, 24466, -9198, -25479, 32047, -26952, -27038, 31322, -22523, 7411, -51946, -13354, 20831, -11626, 25631, -17155, 10216, 22985, 20439, 33759, -31687, -16129, -76926, -32951, -25820, 26851, -16061, 11390, -9196, 644, -34863, -11369, -10063, -47415, 3523, 12337, -82989, -13798, -12277, -8618, -18102, 14958, 17563, -44970, -27226, -43998, -12763, -19143, -23491, -34224, -21260, 6447, -39364, -35959, -34026, -41306, -2259, -23862, 64, 71489, -63250, -34412, -1428, -15831, 32531, -28556, -2328, -7776, -9207, 7789, -23072, -445, -12457, -11789, 29691, -105, -37350, -28324, 36525, 19915, -15926, -58823, -4000, 2174, -52553, 89553, 27830, 9713, -8556, -39518, -3418, -10664, -21905, -44063, -17625, -50716, 14835, 2205, -33560, -871, -9553, -65673, -17880, -10018, -33185, -22205, 546, -7101, -33805, 10527, 21143, -21100, -12980, -33855, -78626, -15590, 22031, 25904, 21864, 9016, -21320, -16764, -11905, 27691, -8236, -33161, 23105, 63982, -25867, 63338, -13105, 18342, -11642, -10313, -23589, 15204, -33179, -41503, 75304, 26087, -66567, -2494, -5864, -27238, -1693, 14597, -66144, -16638, -55150, -1880, 5201, 30305, 41288, -51718, -32438, -9589, 13227, -18141, 14181, 1973, 12789, -35995, -12260, 13673, -5186, 27083, -34048, -21036, 12286, 40615, -27261, -12132, -55807, -31898, -34681, -76355, 45920, -61169, 23080, -16116, -34339, -29816, 59059, -5973, 9457, -4279, 2935, 2060, -2944, -12103, -16528, -39673, 22073, -20343, -60476, 2897, -49002, -52269, 14716, -9827, 931, -56441, -3143, -27360, -48476, -16311, -24164, -28173, 12859, 490, -20689, -19178, 314, -10704, 60390, 12273, -16110, 7804, -12826, -12756, -23065, 14470, -26202, 28212, -2995, -44328, -18342, -5906, -16145, 31648, -1724, 16203, 7108, -39621, -20888, -7149, 24421, -52476, -18471, -84540, -21608, -10388, 6320, -53266, 59338, 61698, -15598, -5765, -3925, -68239, -11682, -1035, -13414, -23458, -26420, 26653, -21915, -7652, 12290, 50698, -53794, -35584, 14147, 16714, -70557, 28786, -11894, 14785, -15639, -10643, -21922, -28948, 8207, 36814, -51362, 28589, -39107, 1103, 3582, -26171, -55307, -33199, -8774, -13496, 18664, -31304, -61646, 40907, -20741, -40928, -16118, 15484, -43437, -24835, -17262, 25655, -61895, 56655, -19730, 35780, -67943, -41638, 40210, -45046, 8928, 6522, -24482, -20396, -16819, -37673, 5446, -21818, -15892, 6317, -4370, -40795, -17594, -40054, -22021, -51029, -31317, 1888, -71357, 2275, 33988, 5163, -18096, -27179, -35698, -6538, -10901, 9884, -35123, -43945, -29830, -19287, -4438, 20796, 1417, -59339, -64349, 32278, -7206, 47189, -4935, -21279, 17594, 11760, -30841, -12355, -37942, 6349, -47143, -79873, -16106, 9976, -29124, 28243, -53802, -22431, 1786, 23448, 11462, 10970, 8106, -35372, -6823, -3089, 19499, -17838, -53903, -13355, -22292, -30594, 9854, -7186, 15802, -66570, 6821, -20646, 8254, -2098, 1228, -25594, -26325, -16092, 19408, 17045, -36369, 63963, -40247, 11374, -49202, -36905, -8926, 21855, -19923, -9898, 46955, 3389, -37076, 4294, -34320, 50236, 2672, 6416, 369, 21948, 74410, 9895, -9699, 41122, 9187, 11531, 606, -6154, -45707, 26417, 16691, 12577, 4201, -33517, 18484, -10174, -9811, 2199, 6047, 6194, -67129, 752, 6819, -12645, -19155, -76551, -60720, -33895, -26071, -58711, -7354, -21079} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-119, -137, -124, -147, -140, -138, -149, -140, -135, -94, -133, -139, -128, -137, -112, -110, -109, -131, -141, -69, -152, -157, -124, -121, -137, -139, -161, -104, -177, -101, -131, -106, -99, -111, -159, -159, -128, -120, -140, -123, -120, -135, -130, -121, -145, -123, -136, -113, -114, -118, -77, -89, -168, -115, -159, -107, -129, -116, -112, -137, -140, -165, -129, -86, -106, -105, -123, -155, -118, -139, -121, -146, -151, -108, -129, -125, -58, -134, -117, -118, -149, -124, -95, -117, -127, -139, -139, -120, -115, -107, -112, -126, -133, -146, -123, -153, -119, -99, -154, -126, -94, -142, -152, -139, -134, -144, -142, -125, -91, -105, -150, -130, -101, -114, -108, -128, -120, -134, -164, -138, -155, -132, -152, -124, -125, -144, -148, -124, -111, -142, -113, -104, -124, -117, -150, -117, -128, -121, -121, -128, -131, -133, -136, -112, -156, -115, -112, -132, -136, -101, -147, -108, -165, -128, -113, -143, -156, -117, -113, -134, -144, -142, -142, -90, -118, -129, -151, -152, -112, -107, -105, -149, -122, -126, -107, -91, -124, -148, -133, -124, -141, -133, -121, -142, -114, -147, -128, -88, -134, -134, -131, -150, -124, -157, -129, -147, -121, -124, -72, -126, -127, -113, -132, -99, -92, -151, -116, -125, -131, -118, -134, -107, -153, -190, -125, -162, -151, -132, -117, -125, -141, -119, -117, -128, -93, -117, -119, -91, -139, -126, -146, -139, -108, -128, -146, -159, -129, -110, -92, -131, -98, -132, -122, -138, -149, -122, -144, -120, -137, -141, -148, -137, -93, -143, -133, -134, -129, -129, -142, -121, -145, -117, -148, -149, -136, -122, -133, -140, -150, -141, -120, -118, -124, -115, -139, -150, -128, -123, -120, -143, -123, -151, -141, -99, -62, -154, -113, -126, -124, -137, -130, -122, -97, -117, -133, -119, -87, -99, -136, -126, -106, -107, -114, -127, -133, -138, -115, -170, -97, -147, -96, -132, -180, -150, -99, -122, -134, -115, -136, -70, -139, -150, -133, -91, -145, -153, -181, -115, -139, -152, -112, -147, -122, -134, -113, -110, -111, -107, -143, -88, -131, -132, -128, -141, -142, -119, -131, -110, -130, -120, -109, -125, -138, -122, -129, -121, -130, -140, -118, -129, -129, -131, -167, -136, -137, -159, -133, -149, -143, -138, -131, -96, -123, -137, -131, -142, -136, -112, -113, -144, -120, -128, -66, -125, -144, -117, -136, -137, -142, -140, -130, -131, -134, -108, -126, -113, -129, -112, -111, -108, -134, -142, -136, -162, -125, -102, -119, -122, -136, -122, -107, -121, -131, -163, -167, -123, -158, -131, -109, -106, -92, -105, -137, -152, -116, -129, -109, -146, -126, -114, -121, -144, -80, -124, -142, -112, -152, -134, -132, -124, -127, -123, -138, -153, -111, -116, -111, -115, -117, -127, -133, -172, -120, -147, -155, -123, -133, -126, -101, -113, -145, -124, -140, -114, -145, -140, -140, -104, -132, -136, -123, -115, -128, -157, -143, -112, -117, -164, -136, -136, -149, -118, -144, -128, -127, -152, -142, -123, -129, -149, -103, -156, -123, -133, -150, -128, -117, -138, -140, -100, -110, -117, -113, -115, -144, -132, -99, -118, -141, -139, -133, -135}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1149280512, 1829388288, 1227365376, 1478354048, 1136198400, 1248811776, 2042153472, 1991590528, 1732313472, 1271150208, 1252322944, 1280632320, 1315666176, 1301948800, 1237550720, 1233766016, 1322982272, 1286470528, 1176196480, 1522355328, 1549408384, 1961151360, 1848338304, 1853510528, 1812542848, 2112064384, 1204231296, 1654401792, 1673396096, 1259779456, 1085467392, 1248158336, 2002913664, 2049436416, 1599207296, 1837859712, 1155803648, 2043927552, 1249210112, 1549303296, 1131720704, 1540194688, 1746364288, 1696480640, 1152877184, 1802369536, 1522872448, 2085835520, 2134162688, 1586091392, 1077480832, 1406352768, 1292673792, 1337623296, 1949914624, 1243640576, 1999519232, 1267728896, 1216783360, 1094029568, 1235669760, 1403431424, 1367464192, 1540814208, 1394493952, 1497810176, 1918961664, 1230873344, 1951547648, 1219784448, 1770047488, 1150904576, 1942235264, 2141547776, 1195608576, 1128823552, 1151499904, 1336670336, 2029018752, 1349152640, 1094748672, 2069993600, 1397481856, 1424689280, 1434952576, 1166910208, 1545774208, 1305617152, 1279578240, 1230185856, 1352909824, 1210437888, 1594326400, 1233692288, 2036163456, 1075619968, 1167543552, 1149827456, 1222432128, 1244829568, 1082314752, 1472175872, 2009863808, 1426375552, 1429117184, 1085580160, 1566101632, 2105646208, 1117945856, 1784221056, 1267155584, 1543958656, 1650790912, 1631374976, 1489733376, 1905613952, 1433013248, 1403476352, 1161797248, 1235302912, 1086268288, 1965681920, 2049195264, 1690144896, 1195302400, 1255074432, 1547984000, 1965585920, 1306111744, 1200654592, 1726241408, 1416092928, 1087101952, 1214008704, 1515574272, 1540311040, 1076202240, 1416373760, 1628891392, 1603288064, 2102415616, 2133610624, 1213995776, 1299888000, 1568920448, 1359815808, 1972380288, 1539354752, 2111148032, 1245995264, 2019244672, 2055226624, 1522669184, 2109365376, 1282518656, 1314556416, 1239505792, 1559120768, 2042981376, 2096830592, 1183114496, 1207025408, 1727262336, 1634068224, 1237722496, 1888824832, 1266707072, 1251277952, 1679059456, 1273996928, 1600464768, 1504673280, 1601031040, 1204775680, 1552170880, 1455203968, 1475619072, 1336963840, 1259370240, 1110681088, 1261887104, 1114397440, 1214469248, 1087301376, 1363563904, 2093306496, 2004036608, 1398018816, 1077835648, 2038681216, 1631329664, 1573225088, 1314402432, 1670153216, 1427147392, 1679297152, 1135153152, 1169053568, 1106172032, 1555164160, 1129013120, 1803848704, 1234337792, 1418873472, 1238688000, 1564284928, 1220595072, 1242259584, 1262744064, 1216755968, 1944021760, 1879121536, 1167653760, 2121748864, 1749489024, 1204393088, 1355939456, 1247692416, 1139678464, 1535388672, 2035209600, 1300855936, 1304862848, 1103289600, 1122993280, 1196929792, 1876995840, 1810707328, 2100035584, 1609467264, 1833943680, 1074260480, 1351930752, 1122738048, 1519977216, 1800258176, 2027174272, 2044061696, 1283443840, 1225478528, 1654341376, 1148163712, 1190072576, 1489499904, 1354128640, 1374987776, 1665297792, 1864902912, 1454239744, 1968903808, 2125869440, 1726630784, 1788328832, 1370508544, 1788638592, 1143876352, 1529035776, 1245613184, 2118879488, 1167620864, 1242010752, 1779202432, 2057363712, 1536982912, 1193548032, 1301233024, 1152272384, 1381794816, 1123792640, 1095311488, 1113074048, 1693638272, 1436308608, 1297848576, 1954381440, 1654678528, 1341294592, 2140959488, 1907205248, 1450976384, 1488975744, 1189021312, 1950137856, 1113022080, 1434199936, 1100173312, 1351544960, 1360948736, 1393140352, 1144255104, 1243192576, 1278625152, 1342946176, 1115888384, 1328074624, 1244784384, 1879182976, 1685802752, 1905897728, 1414854784, 1390152832, 1769782656, 2037124992, 1480369408, 1367318144, 1429679488, 1478901888, 1282680832, 1904458880, 1871355008, 1335343488, 2014334592, 2041598208, 1218586240, 1179884800, 2110164352, 1300148992, 1921989248, 2028221696, 1125968512, 1468136448, 1220541184, 1229689728, 1327790976, 1934809344, 1339023232, 1876966912, 1764013312, 2054776960, 1573403648, 1591557120, 1251391232, 1113271808, 1560903552, 1470362368, 1374411008, 1266424960, 1110965120, 1257723776, 1370369536, 1635145344, 1755079552, 1425890560, 1147530624, 1425798528, 1685048704, 1107343488, 2071178752, 2013739392, 1422203520, 1740086144, 1776076672, 1401441792, 1996370048, 1627101696, 1181123072, 1097420288, 1472782848, 2081878528, 1335640192, 1266634880, 1171423616, 2015247104, 1210073472, 1236472576, 1248157952, 1237943040, 1698802432, 2107648256, 1131063936, 1085488640, 1228215296, 1075397504, 1224126080, 1835126144, 2054840064, 2102115712, 1215869440, 1539465088, 1169678080, 1414451968, 1135329792, 1151136128, 2042275712, 1339639680, 2145959808, 1134677248, 1341625472, 1508295424, 1162197632, 1335416832, 1182382336, 1321474304, 1747939072, 1998264192, 1374117888, 1218771072, 1334497536, 1315993472, 2103859072, 1126824448, 1586883968, 1520971520, 1474048896, 2065031552, 1392031360, 2074587392, 1387155200, 1574746880, 1597782016, 1122519168, 2131160576, 1808365568, 1588825216, 1185241856, 1734671744, 1846305280, 1152723712, 1198603392, 1177395200, 1946370176, 1655690496, 1203298304, 1325714432, 1216730368, 2049854592, 2098069760, 1291158784, 1276741504, 1443611648, 1342396160, 1081102848, 1192183936, 1215143296, 1140581248, 1356393472, 1734819328, 1403501184, 1170860928, 1177807104, 1327765888, 1252336768, 1434393856, 1447625728, 1521755776, 2121187328, 1147638656, 1527883264, 1186067584, 1881611392, 1415120768, 1529575808, 1239682304, 1167270144, 1389981184, 1102574592, 2107074688, 1952287104, 1909622656, 2106806784, 1421499136, 1374245504, 1104468480, 1266792064, 1364755072, 1228080768, 1430372608, 1174992896, 1979982080, 1334055168, 1623370112, 1135813632, 2000981504, 1373757440, 2029173120, 1821277568, 2054979072, 1307563648, 1369398400, 1248525952, 1263380096, 1425344768, 1315336192, 1605660416, 1815109888, 1117071104, 1255066240, 1594693632, 1091886208, 1389161216, 1479874304, 1097311488, 1223984768, 1315512320, 1322177664, 1189114496, 1483211264, 1218934400, 1402295168, 1909718912, 2124293376, 1377772544, 1193562880, 1483526528, 1832177792, 1951554688, 1233278208, 1272068864, 1099926784, 2054924416, 1120638976, 1174634624}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-457, 74740, 156079, -169, 131563, -697, 146988, -352, 11991, -2566, -684, -1073, 191303, 179507, -108, 176557, -346, -667, -344, 63640, 21106, -347, -325, -10263, -31311, 124452, 1174, 103400, 53953, 9767, -191, -468, -26447, -1117, 136343, 82722, 114874, -225, 113858, -24188, -534, -2634, 2381, 43467, -29123, 121181, 15026, 124331, -1248, -565, 37523, 16732, -507, -42553, -30664, -940, 1514, -81, -1018, 112, -898, 180507, -838, 81856, -466, 108577, 1547, -155, 33736, -263, -40584, 158482, -378, 186201, -423, 185495, 79320, -972, -1658, -11518, -531, 59762, -429, 235385, 138443, 146162, 112348, 13450, 5222, 59779, 126883, 70256, -424, -17034, -1668, -583, -185, 86064, 155978, 125617, -1086, 195149, 4716, 75017, 198429, 21, 66136, 148901, -4295, 97180, 141729, 55841, 96961, 75394, 152058, -652, 105789, -25081, 109453, -832, -2711, -879, -462, 56711, -304, 2525, -565, -334, 140156, 249450, 37231, 86951, -646, 113505, -50, 128255, 109927, 180101, 2809, 38267, -104, 104150, 72352, 146449, 134611, 71021, -2018, 59589, -470, 1010, 3696, -39332, 97939, -254, 46518, 158764, 155360, 51385, 75147, -489, 319, -274, -597, 54961, 9671, -468, -423, -718, 67780, -259, 54474, 181896, 159639, -326, 60249, 70822, 149528, 2646, 55380, -170, -495, -11067, 1077, 99370, 89466, -1050, -268, -98, -16020, 99249, 76754, 145045, -419, -547, -44366, -9030, 19, -331, 82766, 91400, -392, -2491, 126830, 92015, 106219, 162637, 151950, 172123, 147075, -119, 76269, 95089, -276, -334, -3975, -414, -366, 168308, -249, 129698, -46, 130062, 170151, 140596, 59577, -82, -17864, 66065, 102302, 180, -1915, 114539, 133161, -1130, -452, 7555, 143531, -120095, -75, 11698, 138689, -7912, 107849, -353, 18611, 173797, -4086, -25171, 162331, -583, -528, -77384, 622, -24155, 63752, -164, 135101, 117175, -452, 100153, -412, 147388, -207, -187, 98513, 170236, -850, 180547, -352, -432, 134583, 143114, 175967, -359, -102, -645, 132042, 188483, -385, -516, 109786, 332, -13400, 64701, 78438, -8267, 81355, -4327, 27, -5318, 86, -1377, 77440, -7893, -132, 83175, 96409, -11975, -396, 63236, -683, 93844, 36853, 227915, -9615, 139, 180407, 56497, 18287, -1638, 119893, -13259, 1831, -17818, 50948, 72225, 71641, 69641, 288, 114044, 184342, -422, 126265, 134177, -105, -186, 55, 64743, -302, -545, 73247, 112635, -185, -191, 23001, 184653, -3461, 69431, 186027, 72221, -28834, 797, -954, -737, 140497, 148141, -431, 61115, 74829, 200921, 76282, -474, -201, -176, 52913, -13782, 169778, 56742, -358, -27909, -536, 124, -111, 149619, -559, -977, 132513, 16929, -911, 76406, -8008, 73115, 1488, -258, 80516, -262, -16875, 155521, 124524, 2718, 61444, -104, 178847, -759, -213, 52542, 195760, -309, -503, -679, 152777, -2818, 142705, 94539, -531, -63, 142251, -2838, -485, -77232, -23740, 70402, 106900, -12005, -237, 179510, -562, 116090, 158082, 145031, 143342, -478, -427, 164009, -236, 56682, 122150, 93612, 178235, 87159, -44876, 78915, 1271, 96388, -681, 74, 153926, -149, 154045, 88149, 194899, -96, 176825, -52046, -607, 81610, 2359, 153618, 181609, 228238, 111225, 257744, -742, -2406, 29586, -1724, 89272, 159824, 127113, -898, 145401, 71635, -627, -5269, 126053, -881, -307, 136224, 2562, 63056, 138927, 155897, -298, 107674, -213, 139423, 83127, 15720, -13212, 180011, 119221, 107, -687, 130478, 11498, 65544, 103602, 284, -6400, 77946, 138171, 202180, 175406, 74298, 42267, 100349, 172026, 78232, -304, 133769, 117082, 492, 73961, 125959, 36297, 133904, 157821, 149919, 101764, 123724, -339, 138220, 89753, -337, -421, -263, -220, -440, -107, -522, -3723, -581} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {96, -284, -410, 57, -470, 91, -366, 52, -69, 116, 68, 61, -391, -389, 49, -490, 29, 62, 79, -487, -106, 65, 71, -135, 187, -398, 69, -560, -404, 65, 126, 52, 33, 106, -448, -345, -426, 101, -405, 148, 97, -132, 61, -344, -55, -372, -44, -300, 75, 74, -202, -125, 62, -39, -10, 121, 122, 98, 107, 94, 97, -420, 73, -522, 46, -619, 114, 70, -127, 120, -28, -413, 77, -416, 39, -354, -286, 50, 89, 68, 123, -207, 91, -420, -350, -315, -446, 2, -121, -214, -396, -292, 64, 126, 76, 167, 73, -363, -411, -314, -148, -430, 14, -420, -331, 91, -441, -349, 152, -413, -450, -362, -364, -295, -367, 78, -315, 115, -372, 86, 94, 62, 53, -174, 124, 95, 119, 133, -399, -458, -132, -341, 121, -383, 64, -339, -245, -431, -118, -152, 85, -272, -447, -556, -332, -361, -142, -417, 101, 69, -133, 50, -350, 109, -413, -408, -417, -260, -273, 62, 54, 122, 84, -410, 13, 95, 78, 50, -291, 78, -389, -352, -393, 49, -405, -417, -361, 67, -340, 101, 57, -117, -139, -500, -374, 76, 116, 139, 87, -530, -319, -329, 105, 56, 190, 73, 59, 77, -310, -386, 69, -140, -345, -386, -257, -333, -399, -434, -363, 63, -304, -363, 85, 119, -139, 60, 142, -336, 56, -368, 68, -340, -420, -270, -293, 78, 149, -430, -331, 74, 89, -345, -378, 69, 58, -150, -379, 175, 93, -119, -375, -69, -403, 59, 7, -400, 136, 134, -388, 70, 93, 341, 85, -73, -279, 111, -435, -402, -135, -386, 67, -350, 71, 55, -529, -344, 82, -367, 116, 118, -435, -333, -307, 79, 83, 73, -358, -361, 80, 102, -366, 65, -134, -295, -438, -112, -329, 137, 94, 84, 52, 93, -495, 151, 79, -323, -342, -152, 70, -331, 83, -318, -386, -423, -78, 47, -501, -389, -142, 84, -251, 129, 68, 235, -246, -350, -413, -305, 44, -309, -376, 76, -436, -383, 105, 105, 103, -277, 106, 63, -352, -289, 59, 131, -113, -363, 122, -303, -410, -306, 94, 67, 85, 79, -354, -330, 114, -265, -386, -332, -420, 95, 150, 126, -568, 216, -317, -421, 76, 133, 61, 109, 78, -362, 72, 98, -367, 31, 48, -311, 130, -286, 78, 58, -328, 54, 83, -339, -377, 47, -503, 84, -494, 59, 61, -392, -445, 98, 64, 41, -444, 88, -391, -352, 74, 122, -386, 42, 69, 55, -20, -518, -389, -120, 94, -341, 63, -323, -364, -361, -298, 93, 88, -343, 109, -281, -389, -265, -369, -247, 77, -372, 59, -414, 46, 78, -373, 130, -350, -312, -336, 82, -435, 167, 64, -362, -103, -435, -332, -425, -339, -431, 73, 81, -50, 116, -322, -354, -572, 144, -335, -378, 71, 95, -392, 117, 68, -339, -123, -264, -426, -337, 44, -279, 81, -344, -386, -53, -81, -410, -340, 55, 68, -454, 102, -294, -461, 84, 129, -329, -316, -357, -373, -308, -159, -352, -392, -378, 52, -378, -396, -147, -216, -326, -188, -269, -367, -299, -420, -265, 88, -408, -447, 42, 44, 61, 80, 124, 39, 76, 9, 97}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1582935808, 1459746688, 1389453568, 1890375680, 1946686848, 1535876992, 1584728192, 1754995840, 1660715520, 1172006016, 1470641024, 1328657152, 1121955840, 1995076608, 1128168320, 1315299072, 1853600000, 1826806016, 1821147904, 1353031936, 1133186176, 1263464064, 1458484096, 1268903808, 1163160704, 1272639488, 1496798336, 1791067392, 1485747840, 1445254784, 1379201280, 1523770368, 2062839168, 1127331712, 1632458496, 1251447424, 1470229760, 1785053312, 1780350720, 1961168768, 1599593600, 1765058816, 1321079808, 2069907072, 1104365056, 1203419008, 1467755136, 1234348288, 1795804416, 1708122112, 1690475648, 2113050240, 1566901504, 1467182336, 1189194240, 1140919936, 1629194752, 1249533824, 1360185344, 1390168320, 1986651904, 1171248640, 1303267200, 1181781632, 1598110976, 1480241024, 1800267392, 1506373120, 1954777216, 1890281216, 1989048704, 1139328256, 1265434624, 1945048448, 1412717056, 1146908416, 1963825536, 1697791360, 1446198912, 1467979648, 1345598720, 2043855744, 1615461120, 1618644864, 1322153984, 1276754304, 1287517568, 1915231232, 1509396864, 1748253952, 1716656256, 1633586560, 1286011904, 1076271616, 1811823488, 1107299072, 1659044480, 1538120192, 1272876544, 1654128128, 1513230208, 1346787456, 1479348224, 1224977664, 1112242944, 1309025152, 1295966592, 1116738432, 1470144000, 1293671808, 1979481344, 1657193600, 2059072000, 1974694784, 1191876480, 1712107904, 1654016896, 2077878144, 2134605824, 1329556352, 1771034368, 1518121088, 1909217792, 2072889856, 1653763328, 1338755456, 1295312512, 1372756480, 1097217792, 2031797504, 1288042496, 1889531008, 1491289600, 1575051648, 1516839168, 1125156736, 1615858688, 1342859008, 1846812288, 1081849088, 1839613312, 1980786816, 1279561216, 1342002560, 1934073088, 1562239872, 1739631616, 1494498176, 1508866688, 1312060928, 1543619968, 1907780608, 1244574080, 1775474816, 1847384832, 1863343872, 1075540224, 1434638976, 1430310656, 1347519488, 1604368768, 1607736448, 1195741568, 1938593664, 1725484672, 1636565120, 1667457536, 1412738048, 1089342720, 1857340288, 1971417088, 1999714176, 1705185408, 2083007616, 1611244544, 1591380864, 1205528832, 1481382272, 1645128192, 1485903232, 1133816448, 1337026688, 1493593344, 1940294912, 1208965504, 1141345152, 1760251648, 2077146240, 1118644864, 1094280576, 1186423680, 1351558016, 1406679680, 1675586816, 1330493312, 1368055552, 1339223808, 1645773824, 1894804480, 1378694016, 1549488128, 1132762368, 1243319040, 1686465536, 1446529536, 1184713216, 1624887808, 1268315904, 1998320000, 1409702784, 1100172928, 1543451904, 1306775296, 1527581440, 1693564800, 1627831424, 1206543872, 1959985920, 1595715072, 1913711744, 1465967744, 1620428928, 1730622848, 1424083456, 2050262144, 1229432320, 1691140352, 1461454848, 1074829440, 1580493184, 1411667200, 1564012928, 1476990080, 2080102784, 1806990592, 1726707456, 1408488960, 1473955328, 1601578112, 1232408832, 1741930240, 1357792256, 1597634816, 1746832512, 2119168384, 1997835520, 1555529600, 1233402496, 1906433024, 1595527680, 1673082368, 1301212928, 1915901568, 1713949056, 1206348288, 1974685568, 2114710144, 1733555328, 1955121920, 1984653312, 1594914304, 1202533760, 1943854464, 1318728448, 1119638528, 2045695104, 1629640960, 1185312128, 1231310464, 1721917184, 1535791744, 1137375104, 2125816448, 1853644800, 1734482432, 1546029824, 1503348608, 2071711488, 1406706304, 1685060992, 1100219136, 1537894016, 1089309952, 1803874432, 1182705280, 1216286080, 1165350272, 1427522560, 1982719488, 1616928000, 1490239232, 2146549888, 1150066176, 1412251008, 1579850880, 2128449152, 1172003968, 1116753792, 2115505280, 1433034240, 1458583936, 1591566720, 1082249984, 1418500096, 1790926336, 1740614272, 1307284736, 1629761024, 1253578240, 1935346304, 1641894656, 1495500928, 1694479488, 1194328448, 1149724288, 1561722752, 1223320960, 1093091328, 1721459072, 2102473856, 1728031488, 1418693376, 1149222272, 1381007744, 2002165248, 1099469056, 1988299264, 2068524288, 1539456128, 1601177088, 1379164672, 1234174208, 1531770368, 1870174208, 1322937856, 1105301632, 1442154496, 1682939264, 1215183488, 1469306112, 1125859712, 1500515712, 1366094080, 1306794624, 1361328128, 1416091904, 1210929920, 1893609472, 1625852672, 1952377472, 1300768128, 2076431872, 1269804928, 1348286208, 1446081792, 1212509312, 2142088064, 1093535360, 1724700416, 1286259328, 1462818048, 1436406784, 2078444288, 1531065728, 1426766336, 1118738048, 1340627200, 1156480768, 1763081600, 1435473536, 1993381376, 1965613184, 1603884800, 1965095808, 1647954048, 1711443200, 2053380096, 1221435520, 1145217536, 1575622400, 1489144448, 1937522048, 1308955648, 1646104704, 1413803392, 1788375296, 2145358848, 1593101312, 1904384768, 1412230400, 1697440256, 1094678912, 1708626304, 1150141312, 1501951104, 1281349120, 1318892928, 1514150144, 1905174400, 1455825664, 1273166336, 1178877696, 2014361728, 1831218560, 1413939712, 1161257984, 1766201344, 1966254720, 1098016384, 1266564352, 1321283456, 1549741440, 1572931328, 2110837376, 1864945920, 1267100160, 1839294336, 1435331840, 1842301184, 2080778752, 1751369344, 1188537088, 1721973504, 1106727552, 1371534592, 1906194304, 1237008128, 1540800768, 1307187840, 2061166208, 2141694848, 1387635072, 1544442496, 1306598016, 1450392704, 1111611520, 1698625536, 1089272832, 1173317888, 1715800960, 1605998080, 1518033408, 1178666368, 1815532928, 1505694336, 1427440768, 1380351744, 1283979264, 1375269248, 1229139840, 1921341824, 1632900608, 1382680832, 1867978880, 1742352000, 1163875968, 1547873536, 1684880000, 2020579456, 2015257088, 1648109184, 1468735232, 1088770944, 1217431424, 1083687680, 1314782208, 2045517440, 1472899456, 1611789696, 1118284800, 1322077952, 1773410816, 1328500480, 1149905536, 1398225280, 1909234304, 1573359232, 1467863936, 1624219264, 1191376128, 1207796352, 2144480768, 1298402304, 1189869312, 1081483648, 2131575296, 1850454272, 1344719232, 1165101440, 1200562176, 2030883584, 1712603264, 1253363072, 1213483648, 1154090240, 1568176512, 1531514112, 1233725952, 2111462912, 1351926144, 1787474688, 1117232000, 1133430528, 1700097408, 2064147712, 1875095168, 1634450304, 1625863808, 1320168448, 1317517568, 1398073856, 1725517824}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-789, -1789, -1672, -1531, 1707, 812, -764, 1334, -2444, 320, 1434, 178, -2033, -1594, -712, -646, -572, 1427, -1315, -3202, 610, 2695, 1113, -1868, 1629, -2732, 1465, -4167, 96, 1713, 1938, -2286, 1542, 298, -106, -934, -862, -1750, -211, -1617, 486, 1183, -132, -1392, 108, 1147, 1499, -2752, 1215, 474, -1327, -108, -2945, -1782, -1806, -2063, -1523, 2224, 1503, -2322, 1613, 2098, -1659, -777, 2067, -3324, -1015, -107, 725, -3398, -435, -4759, -2373, 470, 81, 861, 348, -1927, -50, 1556, 492, -2019, -477, -170, 2083, 768, -331, -406, -1063, -351, -696, 1788, 1178, -1572, -811, 430, 1421, -3703, -2109, 1066, 1016, -868, -2162, -1256, 295, -163, 343, -1038, -1157, -480, -1892, 1545, 1440, -2162, -459, -397, -839, 1100, 788, 664, -2296, -24, 1524, -493, 5594, 1709, -1681, -404, 433, -2105, 68, -193, 484, -2080, -234, 41, -658, -1650, -315, -686, -351, 1634, 1484, 710, -399, -932, 1693, -2288, -1853, 3608, -14, 583, -2004, 1729, -1252, 1649, -1052, -111, -4459, 869, -121, -1918, -323, 1012, 227, 2125, 1106, 626, -2492, 2672, -1180, -2210, 2138, 668, -1159, 152, -1136, 657, -1718, 894, -1187, 329, -803, 614, 379, 2628, -362, -455, -283, 11, 113, 248, -445, -2236, 1395, -1623, 678, 1330, -63, 2997, -558, 721, -2515, -2123, 1505, -1969, 620, 1444, -22, -2457, -573, -1279, 775, 616, 433, 450, 733, -835, 1445, 177, -892, 164, 1004, -767, -1403, -898, -1676, -1084, -2219, -2742, -1964, -542, 3198, -1175, 680, -604, -237, 1632, -684, -120, -1999, -1137, -2450, -1813, 1437, 464, -803, 311, -756, -3900, 1028, 286, -916, 513, -1952, -381, -3854, 444, 529, -516, -149, 1162, 2023, 615, -110, 422, 70, 3271, 1118, -106, 1046, -1430, -1768, -382, -1409, -2281, 2668, -3225, -804, 1271, 412, -2364, 121, -892, -1986, 881, 573, 1354, 2956, 199, -1275, -1316, -1382, 2051, 641, 903, -4306, -1062, -1849, -1104, -1142, 700, 1686, -541, -813, 1700, -746, -469, -2374, -2720, -1799, 2110, -2671, 498, -1474, 2310, 2328, -38, -2157, 923, -3317, -1340, 1064, 501, -1527, 38, 1183, 3674, 824, -1661, -1711, -1317, -265, 463, -1632, -1657, 1400, -1347, -2678, -2633, 619, -491, -460, 470, -564, -1693, 1644, -1588, -1705, -1157, 675, -1401, 200, -2473, -1941, -2437, 30, -1493, -1384, 2007, -406, 44, -2896, -3812, -2244, -1712, -360, -1608, -1188, 1362, -1225, -2529, 99, 344, 1427, -706, -863, 1597, -971, -1858, 464, -2621, 333, -1800, 1444, 613, 1279, -700, -3820, 619, -2324, 857, -1994, -53, -3076, 1024, -1451, 124, 870, -902, -2083, -375, -3541, -85, 1251, -337, -713, -1543, -46, -135, 461, 29, 1698, -1341, -299, 4455, -1199, -1991, 2049, -1482, 615, -882, -2639, 256, 196, 116, -2151, -1919, 1735, 402, -2680, 472, -1405, -2684, 1171, -554, -83, -42, 1984, -187, -470, 1304, -408, -1754, -2350, -638, 3838, -1511, -2287, -1371, 1106, 1075, -426, -365, -725, 85, 2333, 642, -705, -1332, 1281, -2591, -1864, 1388, 251, -68, 456, 37, 1, -2201, -2646, 1517, -3305, 324, 105, -2832, -2917, -264, 175, -1608, 1157, 847, -988, -756, 395, -1555, -57, -1313, -2380, -96, 2324, -1418, -1735, -1288, 254, 3050, 3991, 3547, -629, -989, 82, -3382, -1893, -876, -67, -351, -22, 1529, 960, -683, -1856, -272, -2826, -148, 2335, 861, 2396, -79, 2610, -2373, -85, 1366, -3050, 23, -3640, -1597, -2106, -118, -397, -1235, -287, 800, -51, -2631, 756, 885, -435, -416, 202, 656, 2825, 1789, -191, -4976, 3587, -1909, -1452, 100, -997, 67, -784, -2576, 35, -2279, -3030, -283, 296, -1479, -1111, -2562, 232, -93, 1612, 437, -3150, -1096, -1041, -1885, -3026, -1232, 1228, 51, -672, 934, 3070, 1544, -966, 647, -1715, 1146, 645, -1780, 837, -1252, -897, -2441, 218, -543, 1855, 219, -746, -799, -1555, -1174, -55, 1283, 192, -1247, 379, -1533, 1358, -1896, -1326, 280, 3741, 100, -726, 1271, 168, -1065, 1431, -1216, 764, 588, -428, 983, 1381, -1306, -1369, 487, 1320, -1232, -1110, -2473, -1368, 467, 287, 800, 0, 622, 260, 1353, 2482, 762, -2256, -1929, -2754, -3177, -2458, -874, 504, -4022, 269, 376, -361, 17, -985, 336, 292, 941, -1456, 406, -2107, -850, -1190, -2019, -1109, 512, -140, 1977, 484, 1141, -1113, 1320, 2570, -17, -260, -1252, 1589, -762, -1404, -1232, -281, 95, 2061, 1103, -2965, -696, 1443, 1384, 1350, -1321, 1230, -727, -2494, 1501, 91, 167, 1523, -2295, 1555, 130, -1922, -806, -1572, 1740, -1899, -626, -750, -65, 429, 937, -17, -1460, -1501, -1223, -2022, -1280, -1833, -2616, -2975, -2532, -2598, -1886, -3319, -1853, 1135, -2290, -2187, 968, -1054, 1764, 926, 835, 650, 1054, -631, 1478, -1453, -48, -131, -441, -1346, 799, -1212, -4242, -74, 1010, -472, 472, -679, 1765, -1287, 94, -2717, -953, -1683, 413, -1406, 225, -3906, -102, -134, -2801, 865, -1180, -473, 122, -4906, -672, -2362, -1396, -2341, -1360, -963, -1774, 623, 2000, -421, -3666, 1586, -1322, -315, -3548, -1799, 281, 5, -765, -3141, -1771, -1261, -492, 1283, -31, -2508, -199, -1901, 246, -1285, -2921, 208, 1548, -941, 180, -200, 69, 1109, 1400, -986, 581, -2075, -1229, -246, -746, -1954, -1341, 1496, -1687, -1437, -1271, -1171, -222, -1147, -149, 3599, -955, -1073, -303, 1051, 419, -2034, 391, 82, -124, 1076, -533, 2237, -1449, -708, -512, 606, -2424, 2965, 1568, -607, -1565, 1735, 419, 541, -1691, -811, -1333, -821, -428, -1167, -2550, -2172, -493, -460, 1110, 1002, -241, 1148, 569, 524, 1343, 356, 692, 2241, -660, 2110, -2971, 1869, -92, -946, -365, -2472, -1359, -2413, 1402, -3329, 2380, -1397, -1269, 3840, 648, -666, 542, -2320, -4577, 1812, -615, -2619, -401, -457, 3444, -1453, -780, -979, -3081, -1161, -1113, 926, -1149, -746, -997, 50, 505, 494, 300, 242, -1014, -195, 498, -734, -340, -55, 303, -300, 367, -4499, -514, 2673, 831, -544, 1734, -796, 1823, -3277, -240, 601, -2115, -1691, -81, 2262, 2270, 1582, 1381, 1650, -584, -731, 1022, 1208, -238, 2152, -1190, 1610, -1759, 2334, 1175, 1257, -2635, -471, 74, -1307, 385, 1351, 81, -478, 1989, 2408, -895, -584, 749, -1813, -2180, 2087, -1681, -515, -515, -1996, -6433, 556, 4421, 491, -1884, 4467, -760, -691, 1006, -1964, -1063, -1190, 1196, -2189, -1530, -1127, -549, -741, -234, 417, 549, -472, 1346, 1582, 1125, -32, 237, 213, -383, -550, 1285, 631, -165, -3183, -1254, -1657, 386, -1377, -209, -1104, 4097, 25, 837, 1577, -2090, 556, 702, 1095, -986, 1616, -531, 1076, 619, -1989, -53, -848, -2836, -1430, -554, -2300, -3706, 1933, -1262} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-11, -6, -7, -8, -7, -9, -9, -8, -8, -8, -7, -9, -8, -6, -6, -8, -9, -8, -8, -8, -7, -8, -8, -9, -7, -8, -7, -8, -8, -8, -7, -8, -8, -8, -7, -7, -9, -8, -7, -9, -11, -8, -7, -8, -5, -8, -4, -8, -7, -7, -9, -7, -8, -6, -8, -7, -9, -6, -9, -8, -8, -7, -7, -7, -8, -7, -7, -7, -6, -9, -9, -7, -8, -8, -9, -10, -7, -8, -8, -7, -9, -8, -8, -7, -8, -7, -8, -7, -7, -9, -9, -7, -5, -8, -10, -7, -8, -8, -9, -8, -8, -8, -8, -8, -4, -7, -6, -6, -9, -9, -7, -8, -4, -9, -7, -8, -6, -7, -7, -8, -9, -8, -7, -8, -7, -8, -8, -8, -6, -8, -9, -8, -6, -10, -8, -5, -6, -9, -7, -9, -8, -6, -8, -7, -7, -7, -7, -9, -6, -8, -8, -7, -9, -9, -7, -5, -9, -8, -8, -9, -7, -8, -6, -7, -9, -7, -7, -7, -8, -9, -8, -8, -7, -7, -7, -7, -6, -7, -8, -8, -9, -8, -9, -7, -7, -7, -7, -6, -6, -8, -6, -10, -5, -7, -9, -6, -9, -8, -7, -7, -9, -8, -9, -8, -8, -8, -7, -6, -9, -7, -9, -7, -7, -9, -8, -5, -8, -9, -6, -6, -8, -9, -6, -7, -7, -7, -7, -8, -8, -7, -9, -8, -8, -7, -8, -10, -9, -7, -9, -8, -6, -7, -7, -8, -5, -8, -7, -8, -8, -8, -7, -7, -7, -9, -8, -9, -9, -7, -7, -7, -7, -7, -8, -7, -9, -10, -7, -8, -10, -8, -7, -7, -7, -6, -9, -8, -9, -8, -7, -9, -9, -8, -6, -6, -8, -7, -7, -6, -9, -7, -8, -5, -8, -8, -7, -8, -9, -7, -7, -6, -9, -6, -7, -9, -8, -9, -6, -6, -7, -9, -8, -6, -9, -7, -7, -7, -8, -8, -8, -9, -8, -8, -7, -11, -8, -8, -8, -7, -9, -8, -9, -9, -9, -9, -7, -7, -8, -9, -7, -9, -9, -8, -9, -8, -10, -7, -6, -7, -7, -8, -7, -8, -7, -8, -9, -9, -8, -8, -6, -8, -10, -9, -8, -9, -10, -8, -7, -7, -8, -7, -7, -8, -8, -8, -7, -8, -7, -8, -10, -10, -8, -8, -8, -9, -5, -8, -7, -7, -8, -8, -7, -8, -8, -10, -7, -7, -8, -6, -9, -9, -7, -7, -8, -7, -6, -8, -10, -8, -9, -7, -8, -8, -7, -9, -9, -7, -6, -7, -6, -8, -12, -8, -8, -8, -8, -6, -8, -8, -9, -7, -7, -8, -8, -8, -7, -9, -7, -11, -7, -7, -7, -8, -8, -6, -9, -8, -8, -9, -8, -8, -7, -7, -7, -9, -8, -8, -8, -8, -7, -8, -8, -8, -6, -7, -8, -11, -8, -8, -8, -8, -9, -7, -8, -7, -9, -8, -8, -7, -13, -9, -7, -9, -10, -7, -8, -10, -5, -8, -7, -7, -8, -10, -8, -7, -4, -7, -8, -8, -7, -10, -7, -8, -8, -8, -7, -7, -8, -7, -5, -8, -8, -9, -8, -8, -7, -8, -8, -10, -8, -7, -8, -7, -6, -7, -9, -9, -9, -8, -9, -8, -9, -7, -7, -9, -8, -8, -8, -6, -7, -7, -8, -7, -8, -8, -8, -8, -8, -7, -8, -6, -7, -7, -7, -8, -8, -10, -8, -8, -7, -9, -8, -8, -7, -6, -10, -8, -9, -7, -7, -8, -7, -6, -10, -10, -9, -6, -7, -7, -8, -9, -8, -6, -8, -8, -8, -7, -7, -6, -7, -6, -8, -9, -8, -8, -5, -7, -8, -8, -8, -9, -8, -8, -8, -7, -9, -8, -7, -7, -9, -7, -7, -7, -8, -5, -6, -7, -8, -11, -5, -9, -9, -7, -10, -8, -8, -9, -7, -6, -9, -6, -8, -8, -6, -7, -7, -8, -7, -8, -7, -8, -8, -8, -9, -8, -7, -7, -7, -7, -5, -7, -8, -6, -8, -8, -9, -8, -8, -8, -8, -8, -10, -6, -9, -8, -9, -9, -7, -9, -8, -8, -6, -8, -5, -8, -8, -8, -8, -9, -7, -8, -8, -8, -6, -10, -8, -8, -6, -8, -8, -7, -7, -9, -7, -9, -7, -7, -9, -8, -7, -8, -5, -11, -4, -7, -7, -8, -8, -10, -9, -7, -8, -8, -7, -8, -7, -8, -7, -10, -7, -6, -8, -8, -6, -7, -7, -7, -5, -8, -8, -10, -9, -7, -8, -5, -7, -8, -7, -9, -8, -11, -9, -7, -9, -8, -8, -9, -8, -8, -7, -7, -7, -7, -8, -8, -7, -8, -11, -7, -8, -7, -8, -9, -7, -9, -9, -6, -7, -7, -6, -7, -8, -7, -6, -7, -7, -8, -8, -8, -10, -10, -8, -8, -5, -7, -8, -8, -8, -8, -8, -8, -9, -6, -8, -7, -9, -7, -7, -7, -8, -6, -9, -8, -9, -9, -6, -6, -6, -8, -7, -8, -9, -8, -9, -7, -8, -8, -8, -9, -8, -7, -9, -6, -13, -7, -9, -4, -6, -8, -9, -6, -8, -8, -8, -9, -8, -8, -7, -7, -7, -7, -8, -8, -10, -8, -8, -8, -8, -12, -8, -7, -6, -9, -5, -7, -7, -7, -7, -9, -7, -6, -9, -9, -7, -6, -8, -6, -8, -7, -7, -7, -7, -6, -8, -8, -11, -7, -7, -7, -7, -8, -8, -8, -6, -7, -7, -7, -6, -7, -7, -8, -8, -8, -8, -8, -7, -9, -9, -8, -9, -7, -6, -8, -7, -5, -8, -7, -8, -8, -9, -7, -8, -9, -8, -9, -9, -7, -8, -7, -7, -10, -9, -8, -7, -9, -8, -6, -8, -11, -6, -10, -8, -8, -7, -7, -9, -9, -9, -8, -7, -8, -7, -7, -8, -8, -7, -6, -7, -9, -8, -8, -7, -11, -8, -6, -7, -7, -7, -8, -7, -9, -8, -5, -8, -7, -7, -8, -8, -10, -7, -9, -8, -9, -8, -9, -6, -8, -9, -7, -8, -8, -4, -7, -6, -10, -9, -6, -9, -8, -8, -8, -7, -8, -9, -8, -8, -7, -9, -7, -8, -7, -7, -9, -7, -9, -9, -8, -7, -8, -5, -10, -8, -8, -7, -8, -9, -8, -7, -9, -7, -7, -8, -8, -6, -8}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1393291776, 1553044864, 2112815360, 1456211712, 1932108800, 1851956992, 1261202432, 1408236032, 1637032320, 1693414272, 2133046784, 1198960128, 1173622016, 1536208896, 1148142464, 1717499648, 1601207808, 1767710848, 1530113280, 1147834240, 1939152768, 1227904896, 1835860864, 2003306112, 2044655616, 1131663232, 1927531264, 1109319168, 1789841408, 1203334784, 1682485120, 1234030080, 2127011584, 1318215296, 1928861696, 1522557440, 1864603264, 1901312640, 1882574592, 1913093120, 1798274816, 1512294016, 1157139968, 1106676224, 1376183808, 1523177088, 1252806912, 1658719872, 2058240896, 1895558784, 2097273088, 1559248256, 2053300992, 1534599936, 2111880448, 2080334464, 2037142272, 1652003328, 1557685248, 1422577408, 1257825280, 1669823488, 1958837632, 1417568000, 1673700992, 1771520512, 1244583040, 1920733696, 1510484736, 2040466048, 2046226688, 1100555648, 1380454784, 1722846080, 1399302272, 2121825792, 2011237248, 1619189888, 1909214208, 1803872896, 1901461888, 1333540352, 1599428992, 1644449792, 1525542144, 2028252160, 1116115200, 1513907968, 1466925184, 1584167552, 1123441920, 1244922112, 1908764160, 1895087616, 1147382272, 1340339584, 1529414144, 1918555904, 1607991424, 1533628160, 1585237632, 2113497856, 1094125696, 2083778304, 1582049152, 1503990528, 2041234048, 1563915648, 1593109888, 1966499328, 1547961600, 1873073408, 2142586240, 1241772544, 1606292864, 1389210752, 1809479296, 1647869568, 1587666304, 1561384960, 1440284032, 2059710720, 1505640960, 1639977216, 1546068864, 1707876992, 1208850944, 1230297216, 1131734528, 1840101120, 1727540480, 1140508544, 1448940416, 1712147584, 1121251712, 1248840320, 1193476864, 1403507968, 2088883072, 1264849408, 2142772736, 1078803200, 1299084544, 2107794432, 1140873088, 1254132096, 1497516544, 2022735744, 1717569792, 1853398016, 1890571904, 1407780480, 1167408256, 1276417664, 2137711488, 2084251648, 1227481344, 1858400896, 1128744576, 1333063296, 2116595328, 1340631936, 1768676352, 1347760256, 1217520000, 2098315776, 1751428480, 1599737600, 1182996608, 1965092864, 1101311616, 1966807936, 1267622272, 1762636544, 2002495488, 1271933056, 1895179776, 1491859072, 2116731776, 1176023936, 1210888576, 1261573888, 1141057024, 1545248896, 1521079296, 1578432896, 1094142464, 1782650240, 1849205888, 1692331904, 1110550400, 1715306240, 1211775616, 2018434432, 1345053568, 1453835136, 1879763328, 1077649024, 1153623424, 1895458688, 1651054720, 1341425408, 1904778496, 1205647488, 1604534144, 2014695296, 2075831808, 1899680512, 2139331456, 1793815424, 1140510464, 1198188288, 1757852672, 1439637632, 1235430016, 1955322624, 1076631168, 1177079168, 1160144512, 1106064128, 1410201472, 2121949824, 1784795648, 1770770432, 2133540352, 2011990528, 1753184384, 2048449920, 1809370624, 1223926400, 2046912768, 1259448064, 1528892928, 1852126592, 1588334208, 1568405120, 1886510336, 1359609216, 1340928768, 1561463296, 1703041280, 1565412736, 1344204288, 1138848768, 1332147840, 2052111232, 1369950336, 1294963840, 1802377856, 1736743040, 1999145728, 1478009344, 1140681984, 1278314112, 2043294080, 1888041088, 2089371008, 1923353472, 1800633216, 1079672576, 1785046528, 1612201984, 1778695424, 1782643200, 1680310784, 1162594432, 1800588800, 1641771648, 1666912640, 1423544576, 1434288768, 2110788992, 1563042688, 1370050432, 1436881536, 1102353408, 2037302272, 2043961984, 1825276032, 1986579840, 1129436928, 1641619712, 1679553280, 1302472192, 1172666880, 1171672320, 1587441920, 1827353728, 1303728256, 1470350464, 1101277696, 1954098304, 1270863488, 1421837312, 1694606208, 1994999808, 2035554432, 1976709120, 1210546816, 1175539072, 1567092096, 1785415296, 2093567488, 1522559488, 1640275584, 1658689280, 1643712512, 1997065344, 1849729152, 1781116416, 1393831808, 1665630464, 1204982144, 1958895744, 1790697856, 1608552832, 1551050368, 1158629760, 1842098304, 1095486080, 1351759360, 1164683776, 1671271168, 1464286720, 1868964608, 1093797504, 1097802752, 1339733248, 1899126272, 1418504960, 1142367616, 1905179776, 1093748480, 1128638336, 1217747200, 1578897792, 1994171008, 1271961856, 1215901696, 1716760320, 1096540416, 1231774720, 1786766080, 1321890176, 1975415296, 2013044480, 1730261504, 1870464768, 2040977408, 1535218432, 1249624832, 1408192896, 1699908992, 2009436032, 1244243712, 1979650944, 1691805056, 1445567744, 1627454592, 1434981888, 1731308160, 1264117504, 1139788800, 1481659520, 1077858816, 1498106240, 2144029440, 1096252032, 1692267520, 1636549120, 1480931584, 1623920384, 1539356672, 1195704448, 1615860736, 1730122496, 1330083584, 1138806784, 1239994112, 1425607168, 1523533440, 1834120832, 1607697920, 1512872064, 1656871808, 1589652992, 1323389056, 1598670720, 1828561024, 1351096960, 1528789120, 1948086528, 2049282304, 1831853056, 1632005632, 1507116288, 1892985600, 1103185920, 1455307520, 1968966656, 1543770368, 1392350848, 1891578624, 1584817280, 1540987904, 1875654784, 1266719104, 1295271424, 1726911232, 1494820736, 1413636096, 1272695296, 1764917248, 2061627648, 1999064832, 1939855616, 1519952000, 1800752768, 1163546752, 1092948224, 1600149376, 2052757504, 2048038400, 1661189248, 1577127808, 1491023360, 1693178112, 1224292352, 1802457600, 2011936896, 1761076224, 1541063552, 2005533312, 1158829312, 1306342656, 1834119296, 1736107648, 1987478528, 1922065536, 1649731840, 1439184640, 1199961344, 1631035520, 1827852928, 2067950464, 1402183040, 1309528704, 1880297216, 1936355840, 1443392000, 1142632320, 1100371584, 1833938304, 1428737280, 2010152832, 1155850368, 1227365504, 1804106752, 1767137152, 1208538752, 1976924160, 1689070464, 1368524672, 1518811008, 1896782208, 1657743872, 1907178368, 1137752960, 1479470592, 1929677440, 1109656960, 1234808448, 1316266752, 1542652032, 1827752960, 1621272448, 1260581760, 2071007744, 1233258752, 1309624320, 1579540480, 1508450432, 1196708864, 1084578304, 2053970432, 1205785344, 1772999552, 1912304512, 1296349568, 1342018560, 1496970368, 1707408000, 2111984000, 1224367360, 1529714688, 1586224512, 1287227648, 1390449024, 1538490240, 1241745024, 1824063104, 1212325888, 2037564928, 1643770624, 2019569408, 1995368448, 2141787520, 1500890880, 1739351680, 1660467072, 1263830528, 1320307584, 1118290560, 1476910848, 1785851008, 1089101440, 1130653184, 1403886720, 1760673408, 1168106368, 2075955584, 1526840448, 1589160576, 1075331328, 2051599104, 1303713408, 1087368448, 1216465408, 1089709952, 1741351424, 1338612736, 1719812224, 1270609152, 1488133376, 1374880384, 1310470528, 2133705984, 1486919936, 1237791360, 1452619392, 1417498112, 1338806656, 2012648064, 1946441472, 1302641408, 1153036672, 1195594368, 2087802112, 1098579200, 1424613248, 1371060096, 2104994176, 1126138496, 1407232640, 1120685696, 1323914624, 1632155648, 1453872768, 1187226496, 1780994304, 1754931840, 1589955072, 1175676032, 1916261760, 1371075072, 1883626624, 1834216064, 2042519936, 1442371328, 1699225728, 1766527104, 1839855232, 2113028992, 1500922752, 1528652672, 1242050944, 1178721024, 1609168384, 1896124160, 1260970752, 2101917056, 1557936384, 1227241728, 1930169472, 1344424576, 1894356352, 1397234048, 1247232128, 1808034432, 1989473920, 1446283136, 1901349248, 1255533056, 1180811264, 1240905600, 1816466944, 1359314560, 1683447296, 1682276608, 1363172992, 1189885952, 1207819648, 1328795776, 1477820160, 1741770752, 1387817984, 1951650048, 1800195712, 2039488000, 1220621184, 1485440256, 1418598528, 1172216576, 1408503680, 1263521792, 1074163584, 1150431232, 1326121856, 1836163584, 1367590272, 1766821760, 1547014400, 1988443136, 2126712960, 1233281792, 2098645248, 1560868352, 2059763584, 1820390912, 1524780416, 1665147520, 1745108096, 1268666624, 1465439104, 1754020352, 1883973504, 1148441344, 1241999488, 1319129984, 1822496000, 1326392064, 2016481664, 1895040384, 1124935552, 1791860480, 1225842688, 1162499840, 1672850176, 1200708608, 2140174720, 1123793920, 2065608448, 1674925824, 1757227904, 1542638080, 1835630464, 1569164672, 1592521472, 2050191744, 1921001856, 1907908736, 1799016960, 1105930880, 1270257280, 1194870784, 2101874176, 1572960128, 1823374080, 1620542976, 1113429760, 1552581248, 1246391808, 1101849088, 1552480256, 1852040960, 1601779456, 1789516800, 1320435200, 1915839360, 2046249728, 2112618112, 1392635520, 1661166464, 1592180352, 1586632576, 2083764352, 1231575808, 1449614336, 1530533760, 1796199168, 1986805760, 2042381952, 1140131456, 1305710080, 2013950336, 1148733696, 1797787264, 1382225280, 1621821696, 1937771520, 2054615552, 1504588672, 1579933696, 1528026112, 1405841664, 1363305728, 1324717696, 1721143168, 1890466688, 1196948608, 1203472768, 1318786560, 1250049920, 1411393408, 1217026048, 1855005696, 1611843456, 1241744256, 1074347520, 1587223936, 1239056896, 1322323584, 1263831040, 1676443264, 1665082112, 1785757568, 1237065088, 1629985280, 1507185536, 1263646976, 1844589568, 1185956992, 1254475776, 1788624896, 2099397376, 1126802944, 1909609344, 1662101504, 1458358912, 1588589312, 1645347840, 1749487360, 1929638912, 1890467712, 1182901504, 1317596544, 1075969920, 1884586880, 1948598784, 1459574400, 1840836736, 1693479680, 1971995904, 1217522944, 1594280448, 1544766080, 1834406656, 1439126912, 1236388352, 1422928768, 1609907072, 1761083136, 1171944320, 1180622336, 1618936192, 1886333184, 2006676864, 1713225344, 1076589824, 1941484928, 1549768960, 1894795648, 1409038976, 1274493312, 1131680896, 1908931072, 1099882752, 1688989824, 1867172864, 1980327552, 1185671424, 1800581888, 1161286144, 1620997376, 1510356864, 1845680384, 1512811264, 2093284224, 1969583232, 1161140352, 1313221760, 1642477056, 1887728128, 1371710336, 1197617024, 1388659456, 1455387008, 1232321152, 2016410624, 1138112640, 1956961280, 1506110848, 1555379840, 1377790464, 1087157248, 1182008960, 2019664896, 1870010880, 2101861632, 2144766720, 1281110784, 1927331072, 2099670528, 1743586944, 1550981376, 1148508672, 1114769920, 1127709696, 1379717504, 1700806784, 1199163264, 1138840832, 1488342016, 1438476544, 1820445312, 1232401280, 1686665088, 1199300352, 1229780608, 1898647680, 1981372416, 2079517312, 1153304320, 1362781696, 1760276864, 1088399360, 1477438080, 1728504320, 1319723392, 1182594304, 1305008640, 1411439744, 1972771584, 1866987904, 1817897856, 1852247808, 1079638912, 1800960512, 2083139456, 1974437760, 1802892032, 1531865344, 1118411648, 1106458880, 1434533248, 1917585920, 2078036864, 1698088576, 1641440640, 1985455616, 1543534976, 1710836480, 1371443328, 1278714880, 1542473600, 1744528128, 1140214400, 1746543616, 1265692160, 1232689280, 2007609984, 1136846208, 1332052224, 1944653568, 1427310592, 1851908992, 1743479168, 1499022720, 1278361216, 1928213504, 1403862912, 1243900416, 1615304704, 1844231936, 1896226432, 1929902080, 1478447104, 2052140672, 1095945472, 1925595008, 1236671488, 1400891520, 1922462976, 1409014272, 2125200512, 1966265600, 1842881408, 1776152320, 1266084480, 1440100096, 1165004672, 1373855360, 1095020160, 1885051776, 1179927680, 1261034112, 1640529664, 1657079168, 1707808000, 1264041216, 1954351360, 1312262912, 1283681664, 1129617408, 1690089216, 1823256320, 1717314688, 1333842048, 1114670592, 1221300224, 2010762240, 1834144512, 1406026752, 1221839232, 1332359168, 2049009792, 2113571968, 1545472128, 1967230336, 1632584448, 1167298944, 2072593280, 1195542656, 1329667200, 1240299392, 2082177408, 1812707072, 2112658048, 1331086080, 1855524096, 1719121280, 1401525376, 2121488768, 1479049600, 1997449472, 1437364352, 1705312000, 1970324096, 1113308160, 1363518976, 1725648512, 1746994048, 2026900224, 1604657408, 1235148672, 1268830336, 1368955136, 2108823296, 1098287744, 2090407296, 1221142528, 1243142784, 1976266880, 2135154944, 1738013568, 1488125952, 1134990080, 1297644032, 1809230976, 1546046848, 1082576384, 1195127936, 1319692672, 1181299584, 1641453952, 1989324032, 1121605760, 1360101632, 1445526528, 1501036160, 1461266304, 1914811648, 1322478336, 1075467008, 1826307712, 2134830336, 1861715328, 1176812800, 1765137792, 1194050816, 1778836864, 1346044544, 2077321216, 1842844544, 1548013568, 1567373056, 1158506752, 1248924672, 1421053056, 1172836736, 2117651456, 1176815104, 1631253888, 1359477760, 1849464320, 1444298624, 1341615360, 1533607808, 2146522368, 1793789440, 1407213440, 1456936832, 2093566592, 1692262912, 1215392128, 1911146880, 1821749120, 1836180992, 1235292800, 2113246592, 1443454720, 1676991232, 1245504768, 1228779776}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-6, 5141, 302, -9145, 109425, -479, -702, 299, 196, 84230, -2701, 31049, -2798, 55208, 20809, 11, 681, -410, 34802, -305, 28792, 3815, -1902, -607, 66028, -55, 37625, -160, -49716, -4812, 59137, -14697, -626, 1203, 33136, 56457, 31094, 11, 55027, -77, 40694, 32700, -1112, -553, 35083, 74965, 21123, -277, 48563, 308, -31, 38505, -194, 20654, -789, -2548, -25, 55362, 24975, 2492, 36016, -3174, 38981, 48244, 61, 77032, -595, -1137, 1002, -119, 283, -227, -438, 46922, -304, 31295, 27680, 27027, 94313, 97016, 371, -838, -1405, 42902, 44367, 33873, 48453, -1063, 37307, 452, -747, 24323, 25991, 345, -138, -14832, -27060, -13, -286, 42659, -23254, 141, -1284, -141, 38617, 266, 42888, 88, 364, -17255, 109, -4200, 25850, 197, 44241, -307, 77228, 44945, 32750, 25497, -294, -530, -1019, 30767, 148433, 218, -357, -575, 54836, -889, 93729, -668, -296, -4, 460, 37938, 46727, 394, -234, 37, 22478, 90532, 23295, 171506, -674, -195, 80624, -80, 73349, 5334, -1581, 26369, -122, -2017, 148, 148915, -576, 47833, 361, -215, -135, -2301, 21011, 63331, -404, -7335, 33952, 49042, -2513, -1899, -1044, -194, -14264, 325, -8444, 21351, 37415, 30077, -307, -1302, -586, -2471, -607, 37011, 37097, 886, 61, 111499, 42873, 27677, -1639, 45804, 38858, -4546, -736, 67937, -7758, 45064, 146501, 62459, 26438, 60240, -28, 5, 99988, -590, -5382, 41142, -74, 337, -4879, -391, 99988, -16346, -403, 44494, -5672, 19413, 489, -63, 37, -418, 444, 87018, 271, 34422, 39060, -99, 191, -228, 212, 3, 24831, -484, 110858, 30, 15902, 64791, -2, -678, 28387, -6526, 17, -159, 43468, 37290, -119, 23543, 81501, 296, 35566, 16736, -433, 33517, -278, -145, -61, 27362, 2159, -137, 197, 48298, 21610, 481, 33837, 49, 16730, -37216, -727, -28416, 17, 73046, 52752, 1363, -116, 4, 109296, -509, -468, 34830, -456, -415, 27148, 20655, -154, 49669, 69559, 86757, 32305, -2201, -1265, 77856, -301, 50127, 39124, 26577, -438, 289, -852, 54579, -2990, 115531, 36592, 24263, 30298, 14858, -741, 18444, 146, 30, -3790, 68807, 21968, 520, -662, 107180, 48434, 47040, 31499, -2639, 38907, -287, 40348, 15207, 34, 30267, 37787, 35754, -908, 47536, 592, -64, -3616, -164, -2822, 56991, -3526, 386, 45947, -18, -102, 4183, 34060, -782, 38446, 85, 61736, 39140, 6818, 33746, 133268, -5587, 63191, -555, -560, -115, -35905, -21333, 40934, -6359, -71, -7538, -316, -78, -17, -567, 83774, 160, 41713, 56400, 46846, 159, -20525, 603, 74309, -162, -2387, 33466, 282, -1729, 45691, -27, 38663, -19157, 66953, 65969, 65940, -777, 33, -4574, 22117, 30700, -20, 14288, 25973, 51183, -547, 53080, -5659, -1471, 29227, 25081, 12, 2096, 68247, -109, -65, 39174, 230, -1, -13492, -4957, 39824, -88, 385, 7694, -630, -38, 50310, -48, 47403, -150, -1659, 126, -1678, 24456, 35059, -7115, 187, 109664, 26971, 57347, -34, -2907, -819, -123, 29998, -372, 45174, 5991, 53213, -1523, 36087, -1448, 234, 5, 73473, 145, 74, -8900, 4694, 29626, 46990, -23524, -391, -316, 35698, -706, -422, -2259, 63823, 65669, -1669, 54560, 31094, -3836, 466, 33218, -5843, -214, -720, 94950, 390, 110844, -938, -539, -282, -292, -49405, -2876, 74177, 105, 24851, 194, -81, -385, 30760, 18438, -497, 35510, -35515, 159, 26392, 40904, 27689, 34813, 3033, 87957, -253, -7, 33873, -2102, 76, -261, -1791, 67101, -607, 331, 86670, 55594, -227, -1325, -218, 376, 2248, 60, 1060, 19985, 26393, 134, 26195, 32376, -2088, 10077, 15, 0, 26, -920, -1133, 340, -32, -185, -3509, 207, -1451, -567, 564, 85, -3516, 26419, 30, -423, -208, -242, -528, -417, -2667, -159, 21108, -2534, 33094, -4743, 26361, 122, 86, -438, 34722, 45303, -322, 273, -1221, -15, 37298, -1907, -140, -258, -614, -295, -3826, 651, 37993, 46684, 120416, -185, -30427, 37154, 39971, 30199, -399, -102, -5662, 171, -526, -289, -3930, 207, -7247, 994, 54564, 27346, -1415, 32140, 27748, 34678, 54169, 125652, -221, -45, -24787, -8619, -449, -312, 26562, -2384, 1104, -14901, -835, 84625, 406, 44142, -9432, 119, 38145, 28484, 54346, -362, 28851, -2, 6503, -9787, 6258, 25394, 15981, -80, -107, 473, 29724, 65386, -974, 49055, 11745, 105534, 56385, 40300, 420, 319, 183, -411, -17, -388, -27200, 151, -371, -1952, -13633, -529, -490, 28, 60933, -211, -239, 41697, 554, 347, -4216, 233, 32611, 32746, 41785, 42616, 406, 38978, -344, 21755, -17844, -212, 32077, -31, 102211, -385, 672, 346, 51555, -3575, -14708, 29825, -7, -4, 31530, 122, -685, -830, 64490, 8, 141, 44206, 43441, 42237, -1260, -53, -9039, -9692, 280, -827, -2869, -4065, -6, 22883, 511, -14, 33141, -1, 70033, 112, -7615, 100, 16, -61, -995, -504, -1773, -360, -2864, -282, -2099, 287, 54720, -333, -3198, 64109, -10709, 2184, 60217, -15363, -427, -267, 48085, 46818, -109, -63, 294, 25111, -734, 135201, -5650, -1352, -2055, -4261, 68, 151, -101, 41930, -637, 58, -173, -34, -357, -5790, -308, 54981, -181, 38388, 30768, -1115, 40087, 390, -49, 94869, 164, -11099, 598, -17484, -220, 222, 2, 35500, 22567, 42351, 154, -91, 58965, -132, -170, 598, -782, 37127, 34438, -45, 767, 31, -317, 54310, 34197, 30756, -647, 58146, -421, -602, -2290, 23, 334, 4513, 478, 31837, 29, -22208, 43387, -400, -90, 44723, -460, -887, 40617, -128, 53002, 49841, 64543, -343, 50334, -884, -500, 24023, -1409, -3466, -25490, -290, -4133, 510, 40458, 34783, -644, 47715, 37854, -19416, 57106, -1604, 52372, -105, 285, 841, 37542, 122, 21764, 43634, 17086, -75, -4889, 50349, -1284, -1239, -3339, 15169, 28138, -83, -333, 43875, 283, 8, -1309, 45157, 34230, -9621, 57872, 48821, 21760, 31452, 39402, 21136, 18994, -849, -19035, 611, -915, 55956, 72662, 28122, -190, -452, -3007, -15744, -529, -29755, -507, -338, 50842, 38928, -51, 53319, -658, 87, 51218, 35110, 103267, 57427, -47214, 84922, -12269, 153699, 202860, -5656, -8826, -1624, -363, 17270, 25455, -277, 430, -59, 959, 17145, 42323, 24, 34359, 30614, 26448, 55510, 69518, 47818, -142, -1933, -30, 24, 42109, -7340, 35, 25851, 81475, 75159, 136, -32, -131010, 47983, -114, 116, 76023, -2353, 40010, 32630, 41181, -732, -3839, 76303, 39075, -8598, -5700, -215, -431, -506, 49769, 39017, 22950, -564, 24784, 27229, -533, 60939, 37611, 56961, 171, 218, 85237, -21, -3606, 21395, 248, 145, -32151, 250, 36336, 638, -35, -49423, 105, 11331, 133, -3494, -22416, -167, -422, 228, -370, 601, -574, -216, 31208, 106, 36, -5539, 418, 40921, 35152, 107770, -257, -2072, 24470, 48928, 3, 45254, 64493, -207, 287, -3721, 268, 115, -34, 48577, -197, 23543, -233, 27779, 334, -5470, 25370, -1434, 88391, -2958, 42849, 31121, 21690, -320, 89580, 27509, -329, 39530, 5, -1508, 28394, -146, -31183, 379, -584, 33850, 72868, 29852} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-193, -97, 260, 237, -636, -159, 252, 167, 368, -394, -139, -356, 192, -428, -347, 75, -106, -125, -347, 167, -335, -108, 273, 167, -426, 84, -383, 105, 259, 245, -371, 92, -114, -98, -429, -347, -364, 206, -429, 127, -307, -414, 166, 215, -371, -327, -320, 148, -320, 176, 170, -343, 85, -348, 221, 161, 184, -395, -308, -120, -338, -120, -308, -355, -90, -475, -192, 243, -111, -215, 70, 206, 179, -349, -122, -310, -348, -343, -396, -378, 203, 89, 242, -378, -373, -369, -340, 138, -336, 211, 174, -312, -325, 160, -150, 206, 263, 335, -189, -348, 282, 95, 131, 130, -339, 397, -357, 340, -114, 275, -206, 107, -333, 257, -303, 217, -417, -332, -349, -302, 147, -85, -165, -339, -356, -101, 96, 230, -402, 144, -447, 174, 151, -191, 270, -374, -384, 77, 241, 250, -304, -448, -297, -901, 200, 193, -517, -7, -439, -178, -162, -351, 220, 325, -129, -724, 294, -394, 107, -119, 104, 436, -336, -384, 182, -93, -366, -390, 239, -146, 220, 143, 144, 144, 188, -335, -351, -356, 221, -154, 184, 72, 122, -385, -389, -97, -111, -484, -471, -363, -199, -344, -355, 134, 316, -466, -153, -296, -625, -455, -319, -418, -152, -171, -491, 183, 100, -354, 50, 366, 166, -186, -490, 69, 270, -420, 73, -291, 133, 164, -129, 162, -83, -327, 227, -353, -348, 135, 146, 164, 170, 92, -284, -182, -475, -143, -331, -443, -185, 146, -331, 526, -182, 138, -337, -362, 77, -348, -392, 152, -366, -319, 214, -367, 132, 116, 201, -336, -92, 152, 124, -411, -331, -121, -353, 160, -297, 45, 226, 219, -113, -501, -291, -155, 160, 126, -464, 223, 49, -340, 236, 152, -305, -338, -197, -346, -397, -390, -375, 374, 354, -414, 164, -454, -388, -316, 235, 120, 169, -389, 91, -560, -350, -347, -303, -309, -87, -322, 80, 123, 249, -428, -315, 183, -141, -548, -401, -357, -307, 282, -338, 159, -419, -328, 98, -346, -324, -341, 130, -378, 165, 134, 196, 220, 183, -423, 412, 96, -362, 239, -149, -106, -376, 227, -351, 123, -434, -338, -148, -341, -580, 196, -396, 278, 244, 215, 284, 52, -300, 146, -95, 346, 285, 187, -185, 174, -461, 134, -373, -370, -393, 233, 107, -211, -351, 375, 365, -319, -37, 135, -418, -212, -320, 46, -415, -393, -296, 441, -89, 135, -308, -308, 248, -326, -320, -366, 183, -432, -102, 438, -351, -313, 230, -134, -386, 34, -168, -380, 72, 191, 211, 105, -323, -145, 80, -173, -87, 81, -361, 73, -313, -108, 417, 150, 223, -336, -339, 84, -118, -391, -295, -405, 94, 104, 347, 294, -337, -137, -332, -128, -399, 314, -294, 273, 217, -138, -396, 260, 265, -72, 154, -329, -394, 88, 167, 186, -400, 316, -165, 426, -416, -402, 143, -303, -334, 143, 184, -338, -111, 277, 303, -641, 184, -668, -211, -142, -214, -149, 17, 83, -420, 195, -304, 84, 70, -212, -370, -326, -120, -386, 175, 141, -330, -376, -342, -339, -165, -572, 120, -187, -402, 220, 233, -170, 135, -351, 84, 490, -463, -390, 131, 185, 162, 97, -109, -90, -127, -307, -316, 139, -305, -376, 114, -300, -128, 182, 159, 300, 249, -216, 214, -108, 57, 158, 194, -113, -116, -148, 180, -296, -112, -99, 56, 110, -101, 231, 84, 169, -325, -156, -402, 129, -314, 134, 160, 194, -342, -413, 102, 137, -105, 331, -360, -113, 84, -213, 240, 299, 435, 228, -269, -396, -563, 110, 543, -369, -376, -367, 111, 214, 551, 111, 198, 202, 419, 103, -38, -105, -356, -326, 181, -357, -271, -329, -335, -758, 148, -214, -65, 193, 164, 186, -322, 137, -101, 584, -126, -506, 300, -362, 339, 18, -403, -373, -400, 197, -366, -31, -114, 102, -58, -328, -313, 190, 105, 166, -296, -393, -205, -376, -283, -483, -409, -355, 207, 130, 177, 263, 236, -172, 254, 119, -139, 201, 777, 234, 131, -173, -377, 113, 181, -452, 280, 174, 184, 147, -346, -407, -355, -384, 162, -421, 91, -296, 122, 132, -311, -188, -381, 137, -102, -95, -386, 30, -121, -358, -155, 233, -354, 293, 172, 257, -395, -91, 329, -361, -466, -356, -118, 52, -106, 81, 72, 429, 185, -134, -170, -339, -140, 115, -376, -215, -459, 105, 238, 145, 191, -136, 171, 230, 181, 311, 320, 118, 194, 130, -367, -224, 276, -409, 352, -143, -411, 207, -95, -131, -385, -383, 99, -174, 110, -352, 213, -510, -130, 262, 82, 296, -112, -113, 198, -344, 211, -128, 145, 202, 280, 529, -17, -413, 183, -397, -379, 203, -432, 156, -209, -457, 138, -104, 237, 596, -117, 239, -159, -411, -337, -356, 70, -218, -558, 156, 292, 96, 228, -350, -374, -210, -106, 156, 131, -319, -346, -335, 21, -347, 91, 69, 142, 96, 221, -119, 189, -372, 167, 511, -379, -112, 171, -324, 253, -108, -381, 119, -357, -359, -310, 164, -398, 370, 201, -325, 226, -126, 268, 103, 172, 270, -308, -347, 140, -384, -244, 201, -449, -131, -418, -88, 159, -117, -398, 291, -322, -358, -285, 80, -129, -385, 184, 266, 125, -278, -341, -189, 170, -354, 154, -176, 181, -390, -369, -91, -452, -360, -309, -337, -440, -340, -296, -111, 9, 342, -111, -394, -350, -360, 280, 134, 130, 30, 221, -55, 210, 132, -245, -384, 190, -369, 160, 146, -345, -326, -552, -376, 183, -443, 71, -579, -916, 191, 560, 332, 183, -311, -338, 33, 307, 165, -110, -291, -346, 352, -399, -310, -332, -364, -381, -339, 40, -152, 236, 69, -393, 243, -107, -333, -376, -381, 170, -207, 392, -360, -119, 38, -428, -142, -345, -291, -373, 178, 357, -400, -387, 72, 213, 154, -110, 232, -338, -323, -321, 141, -316, -351, 119, -477, -345, -404, 412, -89, -360, -194, 489, -353, 288, 102, 276, 45, -429, 191, 80, 106, 127, -189, 90, 218, 91, -193, 222, -118, 247, 305, 129, 247, -313, 231, 159, 342, -90, -336, -394, -567, 113, -167, -331, -351, 146, -395, -462, 161, 118, 435, -129, 75, 209, -356, 93, -341, -153, -322, 145, 178, -356, 120, -448, 418, -346, -328, -298, -176, -557, -327, 103, -442, 304, -104, -355, 98, 114, -105, -179, -329, -396, -382}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1699449472, 1987681280, 2007082752, 1330510592, 1087219200, 1120041344, 1970632576, 1107572352, 1284983424, 1772470144, 1939463808, 1923655168, 2079104512, 1436632576, 1522971008, 1581972224, 1592725504, 2101920512, 1776875520, 2130959360, 2121024512, 1901149440, 1792526208, 2114588416, 2090048896, 1763634944, 1680930688, 1094822016, 1464340224, 1375138688, 1135020800, 1952446464, 1762691968, 1095557120, 1824315904, 1294328576, 2012762240, 1209218560, 1152986752, 1639379712, 1665533440, 1822016384, 1131508864, 1804027008, 1710584192, 1414695296, 1375572352, 1134061696, 1399046016, 1088915968, 1889562880, 1630167552, 1452459008, 1346738304, 1748314880, 1962512768, 1410380416, 1504853760, 1159794432, 1561967104, 1948621440, 2041050624, 1622484224, 1410918784, 1738881024, 1705817472, 1483020032, 1213868160, 2033108608, 1256414208, 2064112000, 1353794944, 1202701824, 1582618112, 1394269824, 1919140736, 1293474304, 1116070656, 1648093056, 1597441152, 1386939776, 1119840128, 1193359232, 1836069504, 1489428864, 1829069696, 1864363776, 2075430272, 1857603584, 1197883392, 1705337728, 1229683712, 1104520064, 1264650752, 1902492928, 1391497216, 1906086272, 1149089664, 1179366016, 1747037440, 1395177984, 1648609792, 1259283584, 1267979520, 1655814272, 1452768896, 1861366784, 1597958528, 1303096448, 1132871936, 1428574848, 1240560000, 1248411776, 1114640256, 1592718848, 1816344832, 1673002112, 1828439936, 1087358336, 1253701248, 1204829824, 1748696448, 2106217216, 1910979072, 1354021632, 1912048768, 1428824576, 1933597056, 1424700672, 1382660352, 1922184960, 1980872320, 1190032000, 1164849792, 1100468096, 1660229120, 1339019136, 1167573760, 1855356416, 2098857600, 1253210240, 1501711744, 1314070912, 2116550528, 1900501632, 1081409152, 1728187136, 1593922048, 1776536192, 1586279424, 1817602432, 2143648512, 1218740480, 1348585728, 1379467776, 1827180672, 1456367616, 1316894464, 1121825280, 1160194304, 1541757312, 1923293440, 1298566656, 1429197568, 1231284864, 1704156160, 1758302464, 1463211520, 1546812160, 1291243776, 1763762176, 1575939328, 1479392896, 1968349696, 1337063936, 1343175552, 1649197440, 2000998272, 1223742976, 1280339328, 1920460160, 1349354880, 1641205760, 1749239808, 1673040896, 1598267648, 2088126592, 1380956032, 1410092672, 1973536640, 1141061888, 1497510528, 1607435264, 1629832576, 1351422720, 1198690432, 1766034048, 1231500288, 1421323008, 1102813952, 1296972416, 1375222016, 1776163840, 1476773248, 1651269248, 1630354816, 1255436544, 1534587904, 1172642560, 1333054080, 1654621696, 2097233920, 1648871936, 1802845952, 1673776768, 1396359552, 1403837440, 1418022272, 1281481600, 1449483776, 1438776192, 1192488960, 1170541312, 1199292800, 1225743488, 1646773248, 1702552960, 1684363904, 1762296320, 1972131968, 1695665152, 1103550336, 1152209024, 1342598784, 1586227584, 1492541312, 1166725376, 1198115200, 2087944320, 2097472384, 1248379904, 1553392000, 1523933952, 1107809280, 1554147072, 1673695872, 1438924288, 1121980416, 1800886528, 1509419648, 1732803584, 1806927104, 1576248320, 2093651584, 1869613696, 1141533952, 1692123392, 1149552256, 1753680000, 1443716992, 1074577664, 1286335232, 1277481600, 1302291968, 1933020544, 1439983360, 1737068800, 1731041920, 1872103296, 1085515136, 1761375488, 1448877184, 1787028224, 1581784704, 1315201024, 1435065984, 1424645504, 1489230592, 1287945856, 1936552576, 1582033920, 1566187648, 1116916736, 1403866496, 1895896448, 1499891968, 1161630592, 1194009728, 1976644224, 1946024192, 1560637056, 1679096704, 1383972736, 1369344128, 1498993664, 1115608064, 1143390976, 1139443200, 2077242240, 1216578304, 1828303488, 2067215232, 1714516992, 1349142784, 1956667520, 1943413632, 1406579968, 1497569664, 1792534656, 1496955392, 1885509248, 1321830784, 1540747520, 1524659072, 1827304064, 1297556864, 1463205632, 1311798400, 1929443840, 1741987456, 1743887360, 1106589056, 1508743424, 1878571264, 1589711232, 1984704768, 1828151552, 1966467968, 1703600896, 1478904448, 1884222208, 1558534400, 1140666752, 1766199168, 1761281792, 1425162752, 1528825984, 2072447488, 1933810944, 1230249472, 2125240704, 1360281728, 1819383808, 1561675520, 2037419520, 1428366720, 1099814784, 1650905088, 1894133248, 1838673792, 1545113472, 1880412032, 2085980032, 2119431424, 1491868800, 1244917376, 1707395968, 1107873408, 1761582848, 1450888960, 1329241856, 1305925504, 1868080384, 1273054208, 1225276672, 1126526720, 1978512768, 1892103680, 1453928448, 1420777600, 1588521088, 1632100992, 1233312384, 2146370816, 1906978816, 1466832256, 1135253376, 1832623744, 1406638848, 1074525824, 1351230464, 1124633344, 1935525504, 1950307840, 1211343104, 1176908160, 1831654272, 1282713600, 1895835264, 1866528000, 1377667200, 1206492800, 2108142336, 2026514944, 1100075776, 1648384384, 1204878976, 1379830912, 1882236544, 2089867008, 2022105600, 1277752192, 2130545664, 1897612288, 1342731648, 1851005312, 1105979904, 1773866368, 1842707072, 1787889792, 1324156928, 1085104640, 1584216320, 1465376000, 2050922112, 1474467456, 2072073856, 1649146880, 1320780928, 1494663808, 1435617792, 1459338624, 1110622592, 1561886080, 1597521280, 1157172224, 1871793280, 1405060992, 1242437888, 1544206592, 1125202944, 1321299968, 1299352832, 1212616960, 1559960960, 1081689984, 1977600384, 2081128832, 1554098944, 1290370048, 1490471424, 1991002240, 1630673792, 1277469568, 1998450944, 2038280960, 1239553536, 1106478976, 1899929600, 1496109952, 1584620544, 1900667264, 1383311232, 1722889728, 2000993792, 1937997696, 1673503488, 1304977792, 1373235968, 1941793664, 1077587968, 1257260416, 2104212608, 1353084032, 1789968768, 1601886976, 1737465728, 1851402112, 1230197760, 1288712832, 1937729536, 1870672768, 1533288832, 1319740416, 1134954752, 1230375424, 1416124288, 1711121024, 2110599296, 1587993984, 1862843904, 1866785280, 1274874624, 1088133120, 1158455040, 1886526592, 1895473152, 1706166016, 1731436416, 1796208384, 1087727488, 1827525632, 2068780032, 1868130048, 1127322496, 1672899328, 1471183232, 1895809664, 1524329472, 1612925440, 1761839744, 1668967040, 1129926016, 1245155968, 1249894400, 1865968128, 1853018112, 1953528576, 2064777344, 1238506368, 1126987648, 1411656064, 2121070848, 1781661824, 1423143680, 1647628160, 1444860672, 1327337984, 1081721984, 1897020160, 1118437376, 1820148864, 1219186048, 1318817024, 1725840000, 1124699776, 1914317952, 1371602176, 1504322304, 1281678336, 1231350528, 1613314304, 1103513600, 1215930240, 1608640384, 1171460736, 2095063552, 1742115968, 2095295872, 1256901632, 2075200512, 1567966848, 1173429120, 1565285632, 1795083136, 1708984320, 1990739328, 1103242752, 1469156096, 1285218688, 1683311744, 1342772352, 1437229952, 1567932032, 1931862016, 1186374784, 1868401536, 1399878784, 1477958528, 2044753792, 1745251456, 1391340032, 1617295232, 1417435392, 1486481792, 1714444928, 1085833728, 1682546176, 1589693184, 1796089216, 1854722432, 1482358400, 1451561088, 1478102272, 1339570944, 1074494592, 1733507584, 1078072960, 1151179648, 1141080832, 1086154368, 1426402944, 2046792192, 1560237952, 1428762496, 1127080192, 1942303104, 1082781952, 1431815936, 2060690048, 1902904576, 2136847360, 1511526272, 1271388544, 1327566336, 1798111488, 1087206272, 1951383552, 1353056384, 1168160256, 1229598592, 1625111552, 1255983744, 2039121024, 1225534848, 1102122112, 1963077632, 1674428160, 2076342144, 1394572416, 1776412544, 1762733952, 1482060416, 2066183552, 1538520320, 2125213312, 1083913216, 1130482560, 1254646272, 1130704640, 1116480640, 2078504832, 1659077760, 2021714816, 1794081280, 1413299072, 2057434880, 1331238144, 1927003264, 1511609216, 1391463936, 1490332160, 2115053824, 1574230656, 1404762240, 1282672896, 2008756992, 1578725504, 1834204288, 1788301184, 2127015936, 1290789760, 1404614144, 2033722496, 1914065792, 1762243328, 1319087232, 1148358144, 1237784960, 2050167424, 1549776640, 1450886016, 1957614848, 1595732096, 1664238208, 1924143872, 2014590720, 1790537984, 1492813568, 1399408512, 1406838784, 1593570176, 1616717568, 1645216896, 1760416768, 1167388928, 1164963200, 1133790592, 2052889984, 1372716160, 1351734528, 2012408192, 1265849728, 1592456448, 1439914496, 2006879872, 1360554752, 1089401600, 1931779968, 1250620544, 1828017536, 1677713152, 1406361600, 2068576640, 1552043904, 1433559552, 1260570752, 1747452416, 1843282432, 1224080768, 1775345664, 1283960192, 1216035712, 1149793920, 2065208320, 2019849472, 1269781504, 1380795392, 1539500160, 1429471104, 1701080576, 2100655744, 2141945088, 1596341376, 1912951424, 1108086656, 1216304128, 2099264640, 1820545536, 1935954176, 1661433088, 1703829888, 1207417600, 1180107776, 1081581568, 1984664064, 1302634624, 1687881088, 1512365184, 1138546304, 1824788736, 1441524992, 1555936384, 1311156480, 1689070080, 1986622848, 1298721152, 1376549760, 1714083456, 1124448640, 1929902336, 1125592448, 1909982592, 1370045184, 1857035136, 1429961984, 1151214976, 1305004672, 1815189632, 1246019840, 1302856704, 1469359616, 1389801600, 1175071232, 2132259200, 1079703424, 1402425856, 1137358720, 2021461248, 1765004544, 1413236480, 1665658752, 1881415296, 1936727808, 1458051456, 2113486720, 1114403072, 1080926336, 1326941696, 2039348224, 1732527744, 1851874304, 1540176896, 1255045632, 1314524544, 1771024256, 1373842560, 1546570624, 1648970368, 1093665408, 2098480384, 1627821568, 1619826560, 1147802624, 2040781184, 1705443200, 1864534016, 1950099328, 1695160448, 1623203712, 1081108480, 1563881600, 1879626368, 2146508288, 1466515584, 1160510208, 1669444480, 1881389952, 1442022912, 1738954240, 2051748864, 1510247808, 1366142208, 1824771584, 1745789056, 1329635968, 1555840768, 1081848192, 1847276288, 1513934336, 1304716032, 1118780544, 1747489920, 1244673280, 1205700480, 1444220288, 1980482048, 1335706624, 1190029696, 1325863168, 1727789184, 1085491456, 1772252928, 1099103360, 1835754240, 1108954752, 1984224256, 1472210560, 2085098624, 1681860608, 1410236416, 1570986368, 1785372416, 1432695168, 1195191296, 1279419008, 1219862656, 1824879744, 1456516608, 1075319168, 1624079744, 1162699520, 1367144064, 1713940864, 1725595904, 1161590528, 1075273472, 1278216576, 1860906752, 1480209408, 1768960000, 1689719552, 1167705472, 1707693568, 1365528064, 1387095808, 1199381120, 1473208832, 1448302208, 1391676032, 1718007040, 1937104896, 1274571648, 1375225984, 1304450816, 1940882688, 1495985280, 1370204672, 1465666048, 1342753664, 1431797120, 2132432128, 1147391232, 1537055744, 1388621312, 2015777024, 1846793728, 1841497216, 1223533056, 1130752128, 1082633600, 1094887168, 1909314688, 1282440192, 1651017984, 1525287296, 1316395520, 1594276736, 2129559680, 1777057408, 1486571648, 1258452992, 1287650176, 1295083904, 1748819584, 1568865024, 1603419776, 1142846720, 1268298624, 1709744640, 1608044800, 1222233472, 1153522944, 1725976192, 1165208576, 1286336384, 1098458496, 1373351680, 1212664192, 1621693056, 1617467008, 1159135616, 1819327616, 1913776640, 1107564160, 1508920064, 2010621184, 1519663872, 2126706688, 1561695360, 1517917440, 1109890816, 1477040896, 1488408576, 2007402240, 1089188480, 1861117440, 1135508480, 1760358912, 1150644736, 2039125632, 1365225088, 1120399872, 1243166208, 1074263040, 1454695040, 1541501056, 1914683264, 1801724288, 1082995328, 1258446208, 1782753024, 1416048384, 2098328704, 1605807488, 1394870272, 2047171328, 2008399488, 1563418624, 1542760448, 1264072064, 1898322560, 1263361792, 1137648640, 1917052800, 1263089152, 1588393600, 1153506560, 1225496064, 1693336320, 2101036416, 2008527232, 1105308544, 1288398080, 1974388352, 2001012352, 1791473536, 1414134912, 1536611328, 1528797184, 1978706560, 1100978944, 1666982016, 1743034112, 1833071488, 1652915840, 1329882752, 1863893248, 1259202176, 1281894528, 1877425792, 1704472192, 2140546560, 2127465216, 2090846208, 1496223872, 1664505728, 1282346112, 2068287744, 1781479936, 1664652288, 1186398720, 1400184192, 1989371392, 1200767360, 1378130176, 1411389568, 1495445632, 1869730048, 1191564800, 1888022656, 1404029568, 1678176896, 1699006080, 2053378176, 1432609152, 1699075584, 1283336576, 1429047936, 2125583360, 1758980608, 1446498304, 1110239104, 1251079808, 1685146368, 1738941568, 1761534720, 1205065344, 1403697792, 1603996928, 1821254656, 1130056064, 1490151040, 1580898304, 1228333312, 1952791808, 1976669184, 1565739648, 1415112320, 2100037632, 1745313792, 1841873920, 1088630272, 2009693184}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {-132, -140, -127, -561, -211, -68, -190, -432, -21, -58, 335, 53, -165, 497, 68, 61, 248, 200, 8, -56, 53, 376, 227, -204, -360, -73, -247, -171, -359, 104, 34, -201, 161, 10, -66, -6, 236, -61, -89, -803, -105, 43, 309, -588, -334, -158, 87, 192, -279, -33, -139, -141, -388, -244, 319, 158, 162, 336, 229, 131, -200, 234, 5, -110, -370, -367, -191, 52, 169, 97, -65, -433, 14, 96, -304, 133, 199, -185, -83, 25, -76, 295, -276, 48, 259, -62, 75, -32, 49, 314, -110, 181, -103, 67, 186, -162, -239, 158, -85, 261, -294, -302, -18, -39, -171, -177, -520, 181, -281, -6, 105, -104, 163, 84, 98, 554, 384, 129, 83, 184, 79, -154, 150, -26, -108, -204, -15, 445, -507, -260, -31, 132, 86, 96, 332, 464, -90, -152, -168, -71, -73, -32, -102, -407, -233, -339, -26, -191, -88, -176, 28, 112, 98, 215, -263, -160, 292, 257, -84, 9, 105, -131, -432, -68, -191, -72, -30, -132, -24, -304, -440, 148, 115, 263, -126, -49, 262, 187, -134, -34, -204, 75, -138, -131, 211, -178, -98, -77, -82, -56, -44, -54, -228, -293, 192, -24, -99, -74, -116, -112, -441, -98, -111, 305, -183, -335, -266, -10, 59, -111, -134, 181, 255, -119, -38, -4, 95, -175, -154, -276, -347, -257, -142, 67, 87, -264, 99, 97, -490, -18, -178, -6, -156, 166, 211, 136, 231, -171, 32, -68, -11, 97, 118, 59, -221, 302, 9, -51, 538, 315, 23, -257, 229, 50, -65, -83, 39, -166, -87, -306, -188, -196, -16, 157, -66, -547, 83, 198, 8, -123, 24, 80, -131, -202, 111, -56, 331, -179, -336, -261, -138, -112, -29, -27, -146, 280, -7, 157, 212, -153, -15, -41, -21, 26, -270, 61, -490, 86, -266, -75, -372, -197, 43, 142, -100, -46, 19, -96, 8, 21, -336, 246, 210, -128, -210, -224, -21, 257, 117, 177, -44, -279, 127, -357, -349, -532, 88, -148, 107, 152, -230, 75, 295, 100, -319, -55, 96, 316, -417, -113, 133, -308, -315, -192, 109, -214, -94, 143, 209, -205, 74, 66, 30, -128, 158, 126, 122, 188, -143, 107, 43, 21, 77, 75, 129, 15, 35, 101, -167, -272, 160, -121, 105, -152, -332, -199, 158, -100, -368, 284, 308, -9, 291, -115, 57, -5, -233, 128, -274, -196, 121, 158, -22, 199, -190, -192, -56, -63, 132, -142, -178, -256, 187, 207, 77, -286, 339, -59, 358, 8, -495, 30, -45, -19, 121, -65, -353, 143, -29, -403, 102, -66, -331, 39, 44, -150, -136, -196, -301, -94, 158, -68, -401, -231, -50, -165, -98, -337, -115, -136, 276, -231, 57, 348, 108, 232, -198, 160, -423, 133, 75, 20, 61, -179, 220, -111, 15, 201, 41, -72, -104, -437, 405, 20, -248, -253, -25, 7, 51, -391, -279, 39, 249, 174, -257, 21, -23, -279, -129, -34, -147, 492, -98, 374, 3, 100, -159, 21, -87, -76, 327, -425, 92, -86, 10, -93, -105, -118, 37, -280, 13, 116, -171, -213, -179, 56, -256, 137, -102, -142, -19, 107, -156, -104, -141, -85, 267, 14, 231, -278, -259, -200, 223, -294, 252, 100, 88, -84, 234, 179, -200, -8, -374, -53, 50, 13, -90, -90, -41, -22, 451, -50, -30, -11, -64, 237, 212, -180, -257, 283, -190, -57, -348, -144, -448, 130, 256, -69, 39, 6, -367, 264, -116, -214, 30, -89, -56, 5, 209, 233, 103, -339, 81, 31, -335, -235, 412, -95, -61, -191, -260, -25, -261, 23, 295, -278, 175, -10, 1, 122, 438, 85, -160, -176, -87, 219, -486, -276, -2, 85, -368, 7, -111, 118, -63, -160, -137, -203, 274, -123, -71, 226, 58, 156, 103, 4, -24, -113, 290, 141, -306, -181, -100, -146, 101, 17, 203, 527, 80, -377, -9, -78, 21, -292, 43, 34, -331, 149, 290, -308, 63, -79, -497, -5, 26, -201, -117, 9, -40, -280, 43, 191, 195, -120, 23, 33, -17, 260, 23, 66, -135, -33, -610, 152, 27, -1, -30, -134, -209, -119, -229, -14, 6, -64, -93, -200, 142, -258, 7, -120, -84, 108, -59, 243, -168, -132, 442, -54, -9, -166, -198, 80, 395, 227, -313, -119, -4, -179, 81, 147, 2, -432, 200, 103, 97, 303, -115, 41, -180, -69, -354, 129, -6, -121, -115, -33, 59, 67, -121, -233, -37, -47, 96, -38, -19, 111, -129, 156, -50, -93, -172, 122, -210, -198, 146, 56, -44, 15, 72, 276, -38, -461, -77, 169, -276, 181, -87, -15, 289, -6, 79, -148, 99, -31, -320, 142, 47, -388, -166, 214, -100, -347, -14, 387, -376, 48, 56, 60, -594, -120, -122, -9, -303, -192, -61, 371, 222, -280, -127, 22, 98, -359, -441, -17, 94, 271, -81, -33, -11, -12, -7, 370, 139, -65, -306, 6, 241, -454, -22, 104, -543, -88, 60, -200, -14, -44, -229, -16, 457, -59, 77, -332, -338, -95, -196, 120, 194, -176, -70, -38, -146, -68, -263, 270, -200, 61, 16, -1, -63, 193, 148, -111, 218, -188, 18, -258, 61, 165, -263, 231, -148, -101, -145, 123, -77, 196, -63, -42, -120, -267, 86, -31, -58, -353, 57, 174, 93, -59, 43, 200, -171, 40, 203, -132, -8, -249, -448, 133, -50, -189, 274, -17, 71, 202, 78, 91, 176, -108, 332, -400, -110, -158, 99, -256, -90, -48, -190, -39, -201, -115, -133, 61, 76, -231, 24, -203, -15, -186, 117, -50, -86, -26, -261, -132, 85, -289, 40, -215, 265, 491, 22, 176, -335, -38, 45, -270, -363, -15, -244, -85, -177, -432, -237, 173, -59, 152, -56, 46, -98, 173, -457, -143, 198, 48, 216, -426, 588, 265, 23, -280, 260, 241, 47, 68, 264, 102, -196, -34, -229, -101, -118, -60, 197, 88, -255, 309, -12, -227, -304, 44, -214, 226, -122, 138, -63, -126, -179, 445, 245, 51, 4, 71, 190, -110, 3, -42, 2, -304, 59, 232, -132, -222, -270, -91, 97, -38, -272, -132, -87, -281, -69, 112, -82, 356, -175, -82, -168, -206, -116, 87, 21, 526, 35, -141, -144, -271, 0, 67, 59, 24, 12, -120, -40, -458, 98, 71, 20, -123, -113, -52, -89, 112, -219, 446} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -1, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -1, -2, -2, -2, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -1, -1, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -1, -2, -2, -1, -2, -2, -1, -2, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -1, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -1, -1, -2, -1, -1, -2, -2, -1, -1, -2, -2, -1, -2, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -1, -1, -2, -2, -1, -2, -1, -1, -1, -2, -2, -2, -1, -1, -2, -1, -1, -2, -1, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -1, -2, -2, -1, -1, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -1, -1, -2, -2, -1, -2, -1, -1, -2, -1, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -1, -1, -1, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -1, -1, -1, -2, -2, -1, -1, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -1, -2, -1, -2, -2, -2, -1, -1, -2, -1, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -1, -1, -2, -2, -1, -2, -1, -1, -1, -2, -1, -2, -2, -2, -2, -1, -1, -1, -2, -1, -1, -2, -1, -1, -1, -2, -1, -2, -1, -1, -2, -2, -1, -2, -1, -1, -2, -1, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -1, -2, -1, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -1, -1, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -1, -2, -1, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -1, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -2, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -1, -1, -1, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -1, -2, -1, -2, -2, -1, -2, -1, -2, -1, -2, -2, -1, -2, -1, -1, -1, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -1, -2, -2, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -1, -1, -1, -1, -1, -2, -1, -2, -2, -2, -1, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -1, -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -1, -1, -2, -1, -1, -2, -2}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1918523776, 1638367744, 1513635328, 1782929024, 1784494976, 2066935040, 1906219264, 1492440192, 2132275584, 1646628608, 1819424384, 1736853888, 1805528448, 1832067456, 1574087552, 1653427200, 1804830848, 1099273984, 1102156800, 1993174144, 1963951744, 1288348032, 1816671104, 1828815232, 1905453952, 1880848512, 1792765184, 1729492224, 1907901824, 1721737856, 1550081792, 2089681792, 1619965696, 1107157504, 1569377408, 1163743488, 1885022976, 1824487808, 1859884288, 1648005632, 1862667776, 1596492160, 1695078272, 1714104320, 1808630016, 1722324096, 1898829312, 1905720576, 1620117760, 1978933248, 1542938496, 1843606400, 1759167616, 1877167744, 1863336064, 1960104576, 1085681920, 1100318208, 1132423680, 2004495232, 1639480448, 1736072704, 1812102016, 1688180224, 1865983872, 1599047936, 1802928640, 1829022336, 1544747136, 1103481984, 2022095360, 1786509312, 1347005312, 2141899520, 1726641792, 1728078720, 1810858368, 1744613888, 1976307712, 2086647296, 1774752256, 1104434560, 1614729344, 1801946752, 1854701696, 1741281664, 1110057600, 2005489664, 1968115072, 1853316352, 1686034176, 2010733568, 1634126848, 1077195648, 1849358976, 1355804416, 1660481280, 1999935232, 1480151424, 1365865856, 1704077952, 1890249088, 2074897536, 1876320896, 1616185472, 2118894208, 1673466240, 2003751168, 1165488512, 1654270336, 2027078912, 1656248960, 1972677760, 1723328768, 1789255296, 1738674432, 1580324096, 1521002240, 1950728576, 1568857728, 1658760320, 1805372160, 1858215296, 1146315648, 1859689472, 1890801408, 1627916800, 2002542720, 1630188416, 1102706432, 1644892416, 1724609536, 1157187328, 1784852992, 1660117120, 1837480192, 1944183680, 1927120512, 1399707392, 1127875840, 1614905600, 1093967616, 1699435520, 1688234752, 1715954816, 1688918528, 1706138496, 2132695040, 1873448192, 2062507008, 1365668352, 1886652928, 1975692544, 1533790720, 1881607296, 1606476288, 1936984832, 1774640000, 1250284928, 1891184768, 1912008064, 1698953216, 1887484416, 1680872448, 1614222208, 1843862400, 1604313216, 1561733376, 1734055808, 1695497856, 2041423616, 1698214272, 2058679296, 1822257280, 1667014656, 1980992512, 1713913728, 1580643840, 1946429056, 1169437824, 1127865728, 1838203136, 1481870336, 1820644736, 1531044864, 1906993152, 1349854848, 1204089088, 1652473088, 1633791488, 1875716864, 1678499328, 1764881024, 1871607040, 1709383168, 1508400128, 1937882112, 1483271808, 1603912448, 1983874432, 2101528064, 2139195904, 1729208832, 1711148288, 1776193024, 1686270720, 2103618176, 1107992064, 1285291392, 1776646528, 1904792448, 1673940352, 1112124288, 1962026880, 1956825344, 1863452416, 1771440512, 1680342016, 1690876160, 1111916032, 1744516736, 1891292288, 1170278528, 1734863232, 1799837568, 1473873024, 1967960448, 1714651648, 1733079936, 1232349696, 1754037632, 2134492544, 1764831232, 1699821184, 1951566208, 1851433472, 1881547648, 1776362112, 1596695552, 1934229760, 1590062464, 1932975488, 1616895360, 1888140800, 1692174464, 1898265216, 1851259136, 1190041600, 1604102528, 1782717696, 1787171456, 1653227008, 1891556096, 1802759552, 1935988224, 2067764864, 1128531072, 2017145856, 1841746048, 1687719936, 1955063424, 1603452928, 1600515968, 2007221120, 1293250432, 1706673664, 1084396672, 1391576576, 1863226496, 1579925888, 1835325184, 2065141760, 1176169600, 1601791744, 1084331520, 1776444160, 1662923136, 1800566272, 1707506944, 1847673600, 2109269504, 1976645248, 1906061440, 1312747264, 1805912960, 1893655552, 2073587968, 1858924544, 1747500800, 1919899904, 1674179712, 1976641920, 1857969024, 1635288448, 1637795072, 1960783104, 1760903040, 1948392192, 1100210816, 1900896128, 1710498688, 1691024512, 1999848192, 1948773888, 1877082752, 1482104704, 1741260672, 1154240128, 1735198848, 1881831424, 1948277888, 1649900544, 1916082176, 1895861632, 2036025856, 2031277440, 1781106944, 1577302912, 1707051008, 1609126272, 2006606208, 1613906048, 2043751680, 2019009792, 1635995392, 1611075200, 2054611072, 1093165184, 1186707200, 2029989248, 1080402688, 1696353152, 1802351744, 1924191488, 1836983168, 2077212672, 2136602752, 1831822464, 1727939328, 1819820288, 1858584192, 1903825408, 1586514176, 1658805120, 1953872384, 1828198016, 1812330368, 1561369088, 2071846016, 1738149376, 1091486464, 1849562496, 1132653184, 2032946048, 1914355968, 1431957504, 1793982976, 1136107264, 1841129728, 2097114752, 1170478080, 1943088768, 1767069824, 1716679552, 1503222912, 2024595840, 1082587520, 1763316480, 2002358016, 2024159232, 1587033088, 1903166208, 1993027712, 1789070592, 1860974464, 1878136320, 1603382144, 1144708224, 1924432768, 1753639680, 1786786048, 1171650944, 1695893376, 1787389696, 1838644480, 1756500608, 1729221376, 1841334656, 1456700928, 1599805440, 1932484480, 1929751296, 1488474624, 1883113472, 1955108608, 1771480832, 1681182720, 1831018880, 1983742336, 1967195648, 1119101440, 1090724608, 1599612160, 1820528768, 2061287552, 1662274048, 1918720640, 1609408896, 1828053760, 1655013760, 1586573824, 1687151104, 2101046784, 1088552704, 2146890880, 1561383808, 1889766656, 1844664192, 2129734144, 1606564736, 1979191552, 2103409152, 1495117568, 1787279872, 1087401728, 2109963264, 2094035584, 1992690176, 1877743360, 1623658496, 1606664448, 1891191936, 1741635584, 1604937856, 2000804224, 1759243648, 1955127808, 1764698240, 1801093632, 1092591616, 1876154752, 1803213184, 1086386560, 1873647104, 1843626880, 1758944256, 1943850112, 1560356608, 1495393792, 1694345088, 1535421056, 2007172608, 1670672512, 1554182528, 1564877056, 2052231040, 1707094144, 1744104832, 2144140160, 1620185856, 1715909248, 1700348928, 1846273664, 1913970944, 1305022080, 2138174592, 2128701312, 1749644672, 1105160704, 1750077440, 1600362752, 1194108032, 1453224448, 2046337664, 2043075072, 1677476992, 2063316992, 1863730048, 1677684480, 1747765888, 1940235648, 1879346432, 1928833792, 1842717824, 1573485568, 1821085952, 1787009280, 1910821376, 1772186240, 1746768896, 1408950784, 1952992768, 1107920640, 2105152384, 1148559872, 1689680000, 1766884096, 1937426688, 1920391424, 1836049280, 2026501120, 1133337600, 1633067008, 1633637760, 1166663552, 1689367040, 1601192960, 1772457728, 1927191424, 1893430144, 2084514816, 1810642176, 1702396160, 1892598400, 1535942144, 2023775104, 1950703872, 1214899712, 1990818816, 1682789120, 1682824320, 1864824832, 1924077440, 1712183296, 1613373568, 2048011392, 1157236480, 1694423552, 2033213824, 1608734080, 1103609344, 1983493632, 1906385024, 1382414464, 1721431552, 1164114688, 1098797952, 2090069888, 1789985280, 1656320128, 1893847808, 1806677760, 1646436608, 1155476096, 1557486848, 2100581376, 1955689344, 1653977984, 1432012544, 1942377856, 1104011008, 1660819712, 1805248896, 1708584960, 1457310336, 2062395264, 1936750592, 1844748928, 1803638528, 1770581504, 2021716736, 1744644736, 1786454784, 1807013760, 1843496448, 2138509696, 2025432064, 1855832192, 1842315008, 1916305280, 1957347840, 1747552000, 1101175808, 1845950464, 1527840512, 1516077568, 1969151232, 1733172864, 1847327360, 2008814336, 1086308992, 2023684096, 1861252480, 1496032768, 1924424704, 1537475840, 1578482176, 1227696896, 1858987264, 2087266688, 1941561856, 1659587072, 1817160448, 1768655744, 1797125504, 2121348736, 1775602048, 1937853184, 1892196480, 1633158656, 1840421248, 1982889856, 2143263232, 2032444544, 1721020288, 2015831296, 1328533632, 1824808960, 1838705152, 1976842752, 1749516288, 1192485632, 1090377728, 1934042112, 2079719552, 1913683200, 1971386880, 1096150272, 1899468800, 1074975488, 1789449600, 2051839232, 1698017280, 1842520704, 1665186816, 1871536896, 1128939008, 1702705792, 1824247168, 1492177152, 1615147520, 2096656256, 1098542080, 1913784704, 2136784768, 1216187136, 1823410304, 1883417856, 2054256384, 1902155904, 1845493120, 1652936320, 1635621504, 1783027840, 1632754176, 1518076032, 2058159104, 1779209088, 1729660800, 1966889984, 1425233024, 1813440128, 1940681216, 1081337728, 1917466240, 1999073152, 1833077504, 1827430016, 1525909504, 1870513536, 1758744960, 1944896512, 1653058176, 1873359360, 1704596992, 1091312512, 2035259520, 1839307392, 1148817664, 1445758464, 1920499328, 1908216960, 1945641088, 1469696640, 1868810112, 1386394624, 1186827136, 1876200064, 1733818624, 2022841984, 1773088256, 1127415296, 1590809216, 2000868352, 1301340160, 1885287680, 1794468352, 1677753344, 1094558208, 1801895936, 1078090624, 1641174528, 1982679552, 1775910912, 1287818880, 1667349376, 1756677632, 1742467200, 1593920128, 1618150528, 1536077184, 1869967104, 1753789056, 1189731328, 2124279296, 1887470080, 2100099840, 1716267136, 1835735680, 1107103360, 2124942720, 1785955584, 1892316288, 2088779008, 1878098944, 1849343360, 1735742848, 1744561536, 1847529728, 1868035200, 1282617856, 1696042752, 1856719872, 1138081152, 1694994048, 1169099008, 1879152512, 1076848512, 1940171136, 1747376896, 1620092288, 1927146496, 1953103616, 1856524928, 1111048192, 1516306688, 1174959104, 1263081856, 1136554496, 2067372288, 1873542144, 2002484352, 1955136256, 1270826752, 1854505216, 1901912960, 1578539392, 1916013184, 1101218048, 1917291648, 1917282944, 1110719488, 1733678208, 1965940480, 1857508736, 1882754048, 1660920960, 1856592896, 1916513152, 1133184256, 1615386240, 2019320832, 1760786944, 1305564160, 1835923840, 1421516160, 1745908608, 2060695808, 1586310272, 1993806848, 1913533312, 1978863488, 1766636800, 1866056960, 1078092544, 1224629376, 2055843328, 1832032768, 1628307840, 1188103296, 1825146624, 1504644352, 1637198720, 1925930496, 1997559936, 1648610432, 1135906944, 1939531136, 1107897984, 1994695680, 1177293568, 1789920768, 1716982144, 1833540992, 1698681472, 1757610368, 1613685632, 1615982080, 1636722304, 1640357760, 1900729472, 1108742400, 1629734784, 1474141696, 1723987712, 1602437760, 1831935744, 1745966336, 1699517568, 1702974592, 1770969344, 1077888128, 1699361920, 1440588288, 1787279488, 1736675584, 1506863104, 1643449472, 1253776768, 1727960192, 2014210304, 1992873472, 1829672704, 1946645760, 1934134400, 1919441536, 1707461888, 1810046976, 1752124928, 1886931584, 1603399552, 1079886720, 1813554944, 1990206848, 1673001984, 1797238400, 1807597312, 1493465472, 1665887744, 1366805376, 1856807424, 1746636416, 2012633856, 1610600192, 1948822272, 1720910336, 1742387328, 1532949120, 1408732672, 1871890176, 1773057408, 1773569152, 1712830592, 2018162304, 1587024256, 1897719936, 1789731200, 1899212672, 1738809344, 1131348864, 1920441600, 1665371392, 2013706240, 2020842880, 1803450496, 2058651520, 1640075776, 1315031680, 2130623488, 1802452992, 2121105408, 1111005696, 1868413184, 2117565056, 2043302144, 1729095040, 1830592512, 1834980992, 1946749184, 1783147008, 2087148032, 1655940992, 1949300608, 2054242432, 2017935872, 1085329280, 1971262976, 1990116096, 1675912704, 2039211392, 1074438400, 1854709632, 1257503360, 1846615936, 1661232640, 1719414016, 1293640704, 1605911296, 1671635456, 1089010304, 1150882560, 2010569600, 1740111872, 2005194496, 1879929984, 1138982016, 1882930944, 1676045184, 1903010944, 1841913088, 1082185088, 1781154176, 1423294464, 1076628736, 2028931328, 1719616000, 1628038144, 1203957120, 2057048192, 1578835712, 1663281920, 1463942016, 2030294784, 1248223872, 1132348672, 1818728576, 1125242752, 1670128512, 1846068224, 1760391424, 1940819968, 1661316224, 1868273536, 1793122176, 1153840512, 1706614400, 1611698816, 1660868736, 1949806976, 1997639552, 1934735360, 1976231424, 1439213312, 1768558336, 1567453312, 1963836928, 1591908352, 1515612032, 1537561856, 1605522560, 1791166464, 1098415232, 1946232832, 1168705920, 1581960192, 1717338752, 2106955648, 1532263808, 1743420160, 1824066048, 1709767552, 1836163328, 1879396096, 1097141504, 1794346368, 1878155136, 1898443904, 2102026368, 1932995584, 1817913344, 1836702464, 2017667200, 1569974912, 1709217408, 1662263680, 1737365888, 1684482688, 1724695680, 1976344832, 1758495360, 1605627648, 1793689600, 1717296768, 1489696128, 1927321600, 1794906880, 1929924608, 2019681792, 1786441344, 1617429888, 1955532672, 1748981888, 1318644480, 1637484160, 1664300672, 1761072384, 1728538752, 1733221888, 2069487744, 1837048704, 2122502144, 1799856384, 1781078528, 1772600832, 1915245056, 1876311040, 1923666304, 1094615424, 1489242880, 1949432192, 1657378560, 1079005440, 1906104320, 1523057280, 1666837120, 2033266048, 1612911360, 1843395456, 1839116672, 1890258432, 1979548160, 1169549952, 2045869440, 1951237632}; +static const int8_t CONV27_N_ZERO[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 4, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-71, -15, -125, -110, 31, 5, -50, -3, -28, -57, -99, -70, 4, -10, -56, -50, -56, -77, -21, -44, -5, 95, 45, -3, 36, -35, 33, -48, 19, 4, 2, 19, 31, -76, -3, -120, 35, -56, 19, 11, 13, 3, 18, -60, 60, 14, 47, 19, -48, -13, 43, -51, 92, 66, 5, -15, 0, -50, 57, 96, -22, 81, 10, 55, 74, 57, -49, -56, 8, 33, -51, 32, -8, 33, -68, 79, 42, 60, 45, 84, -107, -5, -8, -185, -86, -12, -79, 52, -15, 72, -29, -82, 40, -35, -9, -106, 23, -73, -149, -132, -43, -78, 8, 69, 74, -54, 50, -48, -143, -148, -108, 159, 13, -27, 35, -229, -47, -65, -24, -60, -33, -77, -45, -112, -28, -53, -85, -83, -91, -25, -80, -56, -42, 31, -120, -146, -78, -108, -88, -98, -110, -88, -160, -82, -79, -34, 1, -100, -53, -76, -43, 73, -174, 90, -27, 20, 26, -67, -66, -25, -27, 102, 136, 44, -12, -41, -22, -114, 37, -17, 64, 166, 14, 9, 70, -84, -35, -28, 100, 35, 50, 16, 75, -43, 24, 60, 0, 22, -40, 18, -14, 70, 61, -21, -23, 172, 45, 21, -70, 64, -91, -4, 66, 83, 94, -37, -79, -4, -29, 45, -52, 17, 5, -25, -14, -14, -26, 141, 60, 18, -27, -109, -39, 175, -71, 75, 61, -4, -74, 117, 1, -63, 47, 44, 57, -33, 55, 140, 64, 121, -17, -92, 24, -39, 0, 92, -47, 100, -21, 14, 43, 35, 5, -55, 94, -72, 37, 100, -3, -4, 40, -5, -23, 44, 9, 4, 18, -34, -80, -38, 57, -14, 8, -28, -67, -104, -18, -31, -77, 45, -5, 121, -33, -26, 106, 76, 32, -30, -58, -29, -62, -84, -34, -83, -15, -8, -2, 5, 26, 64, -78, -44, -35, -32, -84, 83, 72, -36, -55, -104, -4, -29, 13, 134, 123, 68, -20, -58, 17, -40, -96, -171, -202, -140, -72, -167, -127, 3, -21, -42, 12, -48, 21, 40, -21, -35, 52, -28, -56, -74, -44, -10, -77, -47, -82, -17, 32, -58, -20, -63, -23, -91, -92, -47, 33, -31, 29, -1, 20, 70, -26, 29, -12, 43, 7, -19, -10, 63, -31, 36, -24, -31, -26, 12, -50, -65, -30, -27, 26, -2, -42, 24, 17, -20, -117, -31, -32, -59, -64, -45, -68, 21, -106, -99, -63, -59, -98, -77, -39, 34, -27, 55, 0, -55, -124, 44, -36, -58, -131, -16, -62, -14, 100, 70, 38, -23, 63, -71, 29, 45, 5, 64, -27, 100, 40, 7, -137, -58, 77, -7, -26, -6, 6, 17, -23, 12, 46, -76, -5, -9, 35, 28, -2, 42, 50, 141, 77, 24, 143, 31, 12, 56, 10, 28, 58, 51, 110, 74, -20, 97, -16, 44, 45, 85, 155, 1, -43, -35, 92, 19, 59, -33, -19, 57, -70, 16, -137, 25, -6, -28, 68, 25, -40, -57, -93, -15, -23, 48, 10, 35, -87, 23, 71, -31, -7, -100, 20, -128, 37, 36, -60, 72, 4, 34, 58, 19, 10, -13, 0, -37, -103, 34, 9, 20, 14, 27, 10, -75, -68, 83, -70, -3, -21, 123, -13, -56, 16, 6, -52, 105, 70, -28, 11, 17, 35, -23, -4, 9, -18, 97, -121, -23, 42, 32, -20, 31, -4, -145, -100, 76, 2, 27, 3, -6, -48, -46, -9, 49, -23, 7, -57, -33, 25, 149, -112, -46, -54, 97, 34, -27, -3, -1, 17, -44, 20, 8, -41, 7, 14, 46, -36, 15, -2, 38, 122, 6, -105, 70, 30, 30, -26, 28, -8, 51, -10, -115, 50, 94, -51, 32, 133, 11, -16, 5, 20, 58, 52, -7, 72, -36, 80, -78, -28, -6, 15, -26, 71, 63, 88, -39, 73, 36, 39, 190, 31, -41, 93, 55, -63, 69, 54, 19, 72, 41, 14, -33, 114, -12, 32, -65, -110, -56, 15, 20, 109, -44, 147, -34, 14, 15, 128, -2, -12, 11, 36, 173, 16, 13, 53, 47, 45, -90, 52, 4, 87, 123, 74, -8, -126, -56, 26, 67, 25, 78, 63, -62, -50, 117, 94, 37, 4, 63, 33, 89, 41, -28, 4, -85, -102, -115, -45, -14, 120, -63, -39, 41, 53, -29, -15, -42, 50, 8, -19, 104, 81, -68, 33, 8, -44, 18, -1, 91, 9, 65, 44, -36, 115, -77, 50, 59, 30, -13, 83, -24, -96, -21, 64, -53, 2, -16, -57, 65, 50, 21, -92, 0, -25, 14, 52, 61, 10, 7, -17, 72, -23, 7, -1, 18, 15, 95, 28, 6, 33, 54, -11, -39, 42, -70, 55, -19, 96, 110, -14, -7, 58, 53, -80, 18, 6, 91, 10, -39, 21, 20, 81, -8, 38, 182, -6, -57, -73, -69, 43, 54, 22, 54, 22, 2, 30, -64, -44, 95, 80, 21, -19, -8, 61, 17, -26, 95, -64, -16, -85, -22, 50, 29, -25, -31, -1, -25, -93, -57, -2, 9, -68, -36, 30, 8, -14, 42, -84, -7, 34, 82, 53, 30, 13, -38, 66, -67, 42, 29, -44, -53, 141, -107, 87, 96, 71, -19, 13, 35, 54, 24, 80, 168, 10, -4, 65, 6, 57, 3, 6, -20, -51, 106, -109, -42, 62, 85, -56, 91, -6, 23, -45, 10, -38, -23, 119, -43, 59, -110, 41, -62, -183, -31, 7, 14, -54, 144, 122, 26, 61, -9, -28, 173, -50, -114, 36, 0, -35, -3, 50, 79, -11, 35, 80, 36, 56, -25, -61, -7, -15, 108, 83, 67, 93, 78, -35, 40, 52, -5, -13, -21, -63, -23, -48, -17, 11, 141, 54, 2, 18, -5, -72, -88, -117, -29, -2, 172, 29, -32, -16, -103, 9, -88, 18, -57, -67, -28, -15, -30, -34, -33, -84, -24, -86, -71, 29, -1, -8, -75, 2, -14, 22, -23, -10, -44, 16, -131, 1, 65, -50, -33, -65, 41, 62, 10, -22, -23, -27, 93, -17, -114, 25, 80, 30, 106, 52, -23, 80, -13, 79, -75, -29, 4, -69, -6, -34, -52, -14, -88, -77, -169, -46, -81, -39, -102, 13, 33} +#define FC28_W_Z (2) +#define FC28_IN_Z (0) + + +#endif /*__192_1_0_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/224_0_25_parameters.h b/Inc/intq-mobilenet-v1-models-pc/224_0_25_parameters.h new file mode 100644 index 0000000..7e16251 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/224_0_25_parameters.h @@ -0,0 +1,361 @@ +#ifndef __224_0_25_PARAMETERS_H__ +#define __224_0_25_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (224) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (8) +#define CONV1_OUT_DIM (112) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (112) +#define CONV2_IM_CH (8) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (8) +#define CONV2_OUT_DIM (112) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (112) +#define CONV3_IM_CH (8) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (16) +#define CONV3_OUT_DIM (112) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (112) +#define CONV4_IM_CH (16) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (16) +#define CONV4_OUT_DIM (56) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (56) +#define CONV5_IM_CH (16) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (32) +#define CONV5_OUT_DIM (56) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (56) +#define CONV6_IM_CH (32) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (32) +#define CONV6_OUT_DIM (56) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (56) +#define CONV7_IM_CH (32) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (32) +#define CONV7_OUT_DIM (56) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (56) +#define CONV8_IM_CH (32) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (32) +#define CONV8_OUT_DIM (28) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (28) +#define CONV9_IM_CH (32) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (64) +#define CONV9_OUT_DIM (28) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (28) +#define CONV10_IM_CH (64) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (64) +#define CONV10_OUT_DIM (28) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (28) +#define CONV11_IM_CH (64) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (64) +#define CONV11_OUT_DIM (28) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (28) +#define CONV12_IM_CH (64) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (64) +#define CONV12_OUT_DIM (14) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (14) +#define CONV13_IM_CH (64) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (128) +#define CONV13_OUT_DIM (14) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (14) +#define CONV14_IM_CH (128) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (128) +#define CONV14_OUT_DIM (14) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (14) +#define CONV15_IM_CH (128) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (128) +#define CONV15_OUT_DIM (14) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (14) +#define CONV16_IM_CH (128) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (128) +#define CONV16_OUT_DIM (14) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (14) +#define CONV17_IM_CH (128) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (128) +#define CONV17_OUT_DIM (14) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (14) +#define CONV18_IM_CH (128) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (128) +#define CONV18_OUT_DIM (14) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (14) +#define CONV19_IM_CH (128) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (128) +#define CONV19_OUT_DIM (14) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (14) +#define CONV20_IM_CH (128) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (128) +#define CONV20_OUT_DIM (14) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (14) +#define CONV21_IM_CH (128) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (128) +#define CONV21_OUT_DIM (14) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (14) +#define CONV22_IM_CH (128) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (128) +#define CONV22_OUT_DIM (14) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (14) +#define CONV23_IM_CH (128) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (128) +#define CONV23_OUT_DIM (14) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (14) +#define CONV24_IM_CH (128) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (128) +#define CONV24_OUT_DIM (7) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (7) +#define CONV25_IM_CH (128) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (256) +#define CONV25_OUT_DIM (7) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (7) +#define CONV26_IM_CH (256) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (256) +#define CONV26_OUT_DIM (7) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (7) +#define CONV27_IM_CH (256) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (256) +#define CONV27_OUT_DIM (7) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (256) +#define FC28_OUT_CH (1000) + + +#endif /*__224_0_25_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/224_0_25_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/224_0_25_weights_bias.h new file mode 100644 index 0000000..50a8d1f --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/224_0_25_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __224_0_25_WEIGHTS_BIAS_H__ +#define __224_0_25_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {299655, -5046576, -23347234, 193014, -35144, 127878, 44315, 176109} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-231, -18, 164, -43, -161, -142, -123, -95}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1143949184, 1752123776, 1119525888, 1391820416, 2046593920, 1418715008, 1185122816, 1392325888}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {8042, -1661, -142, 29265, -436, -7098, 55017, 77465} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-125, -205, -362, -50, -77, -124, -131, -225}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1757661696, 1842590848, 1424388224, 1233926272, 1567418368, 1193874560, 1292598272, 1877394816}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {-10412, -27406, -6717, -7144, -33332, 69684, 5723, -18602, -27830, -3446, -548936, 7517, 49093, 35113, -272156, 33732} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-13, -13, -53, -36, -100, -224, -14, -10, -1, -35, -123, -63, -215, -250, -98, -224}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {2033571072, 1758109824, 1149803136, 1086137856, 2005878016, 1256135808, 1102779776, 1363781760, 1703237248, 1419277952, 2093468544, 1531573376, 1462561152, 1279766784, 1998994432, 1724518656}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {248, 1741, 6744, 5828, 85699, 43917, 4053, 24722, 45254, -20, -168, 8548, 3823, 32240, 1266, 7509} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-117, -11, -85, -129, -161, -138, -123, -129, -238, -102, -223, -146, -128, -107, -55, -157}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {2010935936, 1192092416, 1367571200, 1387078528, 1263241856, 1288326784, 1581805568, 1303257216, 1399240960, 1241703680, 1244526464, 1156349952, 1701807872, 1129125632, -1697136640, 1913332864}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {15016, 11662, 3847, 43373, 44045, 29955, 26047, 14307, 40102, -32459, 3371, 55422, 2441, 2257, -4118, -3784, 5906, 84661, -35572, 7945, 1852, 18868, -3312, 45750, -24986, 2625, 8983, 29364, -13007, 22793, 13205, -35511} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-147, -84, -129, -203, -243, -155, -207, -111, -220, -51, -111, -116, -211, -180, -82, -47, -96, -23, -22, -58, -209, -141, -157, -197, -15, -28, -198, -9, -28, -61, -99, -121}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1777140864, 2015979520, 1173851904, 1156940160, 1440414720, 2005080064, 1807794432, 2125486720, 2073312512, 1708916864, 1502489600, 1540015488, 1948969856, 1144259968, 2012631552, 1840355712, 1404233472, 1286141824, 1297714304, 2102315136, 1299025664, 1931656704, 1513754496, 1102522496, 1188381440, 1336590592, 1147872000, 1228535296, 1482100864, 1432069888, 2046227456, 1119202176}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {26581, 15416, 16156, 9088, 28772, 64, 22, 152, -733, 44881, 19099, -125, 38735, 20164, 14328, 9724, -153, -35569, 41795, 28465, -195, 34510, -524, 167, 1771, 7407, -15812, 31131, 12969, 189, -7069, 448} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-116, -64, -231, -80, -234, -126, -78, -110, -129, -45, -204, -138, -162, -67, -125, -54, -101, -37, -164, -224, -142, -111, -80, -144, -34, -72, -63, -241, -268, -130, -16, -30}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1099164544, 2032498816, 1621917184, 1311629696, 1404506112, 1466304512, 1122661888, 1123646080, 1971076992, 1092037632, 2020129664, 1491115008, 1615192320, 1258489728, 1150786304, 1451336704, 1804812672, 2093329408, 1923985408, 1096719488, 1191738880, 1246702976, 1400618112, 1910939520, 1285707008, 1798067200, 2119996416, 1584850688, 1408416640, 1524929920, 1356739328, 1675113728}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {7572, 13543, 4678, -14947, 10958, -1211, -660, -43915, -16873, 14026, -15233, 6023, 27960, 2022, 15809, 17835, 25571, -4118, 9839, 15382, 14638, -22476, 52303, 10725, 4276, 7575, -37623, -3489, 21440, 42535, 39735, 28819} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-33, -117, -117, -146, -90, -39, -55, -55, -87, -30, -122, -99, -130, -141, -127, -145, -119, -33, -116, -47, -126, -71, -195, -171, -158, -136, -56, -163, -125, -204, -176, -101}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1979885568, 2055407616, 1849216768, 1627733760, 2077414144, 1257098112, 1445287552, 1548247040, 1546541568, 1794214912, 1104377216, 1964204288, 1221396352, 2075283328, 1169269760, 1654027904, 2054408960, 1482901120, 1695833088, 1159099648, 1139537536, 1596393984, 1078391808, 1135630336, 1200874880, 1222111104, 1618624128, 1382008320, 1386884864, 1176859392, 1773431808, 2086520832}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {384695, 75210, 10144, 118566, 158963, 56, 55326, 127017, 1268, -55761, 2437, 166281, 177122, 30289, 157695, 154755, 278984, -2367, 15398, -14124, 2917, 5641, -134, 142, 50597, 234764, 5450, 140178, -35032, 267274, 238200, 143305} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-332, -339, 77, -320, -307, -154, -284, -307, 73, -9, 73, -314, -317, 48, -283, -315, -310, -17, 97, -90, 27, 46, -135, 41, 48, -304, 8, -331, 58, -314, -289, -292}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1109000960, 2017166336, 1306472192, 2100458496, 1114107904, 1339863040, 1189939456, 1088211328, 1079506048, 1521351936, 2031051008, 1837726976, 1732140288, 1598124416, 1315898368, 1788601728, 2145451008, 1178695040, 1313164800, 2024264448, 2005768192, 1703990272, 1899459968, 1604087552, 1226355968, 1198601216, 1888695168, 1680956800, 1766814592, 1708978048, 1472821760, 1935824256}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-39819, 56707, 31980, -6505, -3060, -19969, 46380, 12503, 75402, 11627, -1899, 37011, -21094, 50929, 16470, 18677, 42899, -27026, 17178, -30713, 77224, 17271, 83869, 23368, 30770, 1318, 1734, 16471, -50627, 31000, 77046, 13024, 11673, 124100, 28884, 14999, 45540, -309, 48010, -8789, 34746, 57408, 75778, 46862, 82233, 22696, 51764, 61638, 45432, 46687, -2513, -9546, 9145, 26876, 37381, 39792, 39344, 49881, -14020, 47245, -10631, 29344, 26465, 17125} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-146, -206, -78, -93, -130, -120, -200, -113, -192, -69, -72, -73, -138, -173, -148, -148, -118, -113, -56, -76, -106, -122, -148, -56, -128, -29, -129, -152, -60, -138, -171, -111, -111, -173, -74, -126, -105, -71, -185, -121, -144, -74, -101, -130, -121, -84, -146, -177, -178, -137, -122, -134, -118, -80, -132, -186, -141, -100, -81, -135, -58, -105, -142, -52}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1968092416, 1827918848, 1726051712, 1183436672, 2031833984, 1721594752, 1091707776, 1406445824, 1674264960, 1804956800, 1470533120, 1625999616, 1099606912, 1082103936, 2068843776, 1706181504, 1247110144, 2134454400, 1524500992, 1359979776, 1113763200, 1461556480, 1896421504, 1649108736, 1553979648, 1293013504, 1590550016, 1813110144, 1661856256, 1442832256, 1143599232, 1627857536, 1994958592, 1897395840, 2000154752, 1404100224, 1357666816, 1814715776, 1436416512, 1121433856, 1550000896, 1226569600, 1887391104, 1223636096, 1219644160, 1088242816, 1764525440, 1741544832, 1296014592, 1798859520, 1658010752, 1580069376, 1521868672, 1909020672, 2023084288, 1190395776, 1147806592, 2078201216, 1338792576, 2040060672, 1931821184, 1865963904, 1403726720, 1298052608}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {18930, 394, -27, -22334, -7163, 57384, 2525, 30750, 3582, 22616, 6531, 109, -54, 8240, 15460, 43620, 588, 9670, 1661, -137, -7713, -3602, 25584, -7380, 18142, 1281, -112, -199, 75145, -4366, -8380, 32309, 20305, 1580, 57789, 86024, 1131, 210, 7121, -405, 159068, 2255, 3750, 138, 77104, -22083, -2549, 204, 21553, 61786, -1558, 37592, 62761, 45652, 822, 19919, 447, 6314, 53452, 19631, -8315, -10940, 514, 16765} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-65, -123, -123, -25, -52, -220, -145, -232, -55, -197, -47, -116, -55, -24, -62, -224, -151, -44, -134, -46, -19, -112, -206, -44, -113, -118, -114, -118, -257, -44, -47, -114, -224, -40, -210, -225, -149, -150, -57, -102, -260, -78, -193, -133, -232, -41, -114, -129, -65, -235, -53, -207, -222, -216, -129, -225, -120, -54, -229, -99, -26, -32, -139, -90}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1895761536, 1136486272, 1151573504, 1135302016, 1151441536, 1587841024, 1606904960, 1120976384, 1910974336, 1864881536, 1250762112, 2135903360, 1578153856, 1849197056, 2010052992, 1251968256, 1761556736, 1871713920, 1934802944, 2012998144, 1861398656, 1585651456, 1227487872, 1190405248, 1494950912, 1934911104, 1699198976, 1358934656, 1136359168, 1878608896, 1271940736, 1129922688, 1338358912, 1148945920, 1645546880, 1399692416, 1591428736, 1623821312, 1252625664, 2052328320, 1414799232, 1645771648, 1625376640, 1447519488, 1770771456, 1404935296, 2120951424, 1102126976, 1759639040, 1095898368, 1459848192, 1378945152, 1141234560, 1305756672, 1709084288, 1928218368, 1155943296, 1959713536, 1085206272, 1345687040, 1192873984, 1460832512, 1335288704, 1383442048}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {2254, -38431, 30791, -12275, 48259, 43780, -10577, 10147, -31007, -25007, 47138, -86766, 16191, -61917, 57121, 35327, 9072, -10640, 16805, 52181, 118527, -52184, -23472, 21594, -47365, -45496, -19328, 54627, -52234, 40578, 14061, -53032, 22316, -11162, 21711, -43639, -5230, -4192, -41812, -12858, 45543, -1418, -55539, 26826, 23141, 18716, 22953, 44381, 20256, -42657, 29992, -41110, -26667, 7173, 45011, -27937, 7761, 3710, -10273, 44997, 19707, 9617, -43967, -34943} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-128, -159, -128, -102, -185, -174, -111, -64, -61, -139, -163, -90, -161, -131, -66, -121, -112, -98, -119, -134, -153, -99, -64, -176, -71, -171, -80, -162, -126, -183, -120, -44, -127, -134, -125, -108, -190, -93, -146, -122, -212, -62, -157, -148, -164, -153, -164, -145, -173, -83, -69, -89, -103, -58, -124, -143, -79, -139, -186, -127, -181, -198, -86, -120}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1882459264, 1090390784, 1733983232, 1750452736, 1149384704, 1876804480, 1437323264, 1222872448, 1837734912, 1647509632, 1211757056, 1277288064, 1119101824, 2059966592, 1945745536, 1936325248, 1245742848, 1643347968, 1092704512, 1259001344, 1661524608, 1483813760, 1249750016, 1732153216, 1355899008, 2098018944, 1197599360, 1191783424, 1442326784, 1318175872, 2026752384, 1147923968, 1255800704, 1624592384, 1624340480, 1624114560, 1644727424, 1372482816, 1534727680, 2054301312, 1307953024, 2110480896, 1522415616, 1154420096, 1419322624, 1324652160, 1404826112, 1803454080, 1824080640, 1106845824, 1196766976, 1277092608, 1514736896, 1453308416, 1719601792, 1504398720, 1185833728, 1224608384, 1558958336, 1477406464, 1446032256, 1767986432, 1733014144, 1084282240}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {66383, 97051, 137896, 8699, 17305, 146822, 98665, 231845, -3972, 7070, 408, -425, 632, 32890, 123044, 16369, 12157, -1115, 27550, 311229, -1453, 20271, -2478, -23832, 116, -2130, 7729, 405, 32645, -33213, 20029, 142649, 11554, -429, -26787, -1028, 38251, 134384, 20076, 158859, 3924, -5326, 18483, 4620, 149069, 10248, 1733, 350249, 129743, 10202, 161226, 520, 295479, 254428, 7022, 17117, 3344, -18951, 35950, -34229, 19930, -8506, 34589, 742} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {-294, -304, -316, 98, 76, -304, -304, -344, 40, 85, 71, 49, 52, -274, -311, 73, 44, -143, 109, -320, -152, 109, 69, 50, 65, -88, 51, -161, 102, 47, -94, -305, -138, 31, 40, 56, -305, -349, 38, -301, 35, -20, 78, 54, -301, 85, 75, -314, -319, 36, -318, -147, -305, -305, 44, 72, 65, 71, -315, 58, 63, 69, 65, 45}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1540209024, 2036894720, 1577517952, 1150145408, 1566872960, 1660813824, 1281342592, 1408371968, 1169266176, 1418800768, 1333969024, 1441400192, 1567811840, 1116232320, 1713338624, 1557727104, 1719139072, 2078826880, 1869998848, 1151782784, 1251726336, 1607321728, 1391897984, 1585516800, 1701373568, 1176735744, 2109431808, 1470368896, 1554954752, 1499174528, 1856343424, 1468778112, 1347724672, 1530389888, 1301011840, 1351125760, 1812460288, 1561025024, 1607961216, 2004593152, 1845475968, 1816844672, 1252970880, 1602498176, 1273213184, 1427278976, 1171267328, 1080690304, 1443685632, 1781952256, 1210460416, 1735512832, 1149308416, 1780810368, 1258974848, 1236308352, 2102865536, 2013691392, 1925095296, 1590352000, 1546526336, 1093405952, 1313819776, 1857286272}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {33474, 13580, 18103, 37918, -19822, 11510, 16479, -25874, 18742, 23749, 20857, 36794, -27808, 9720, 25902, -64712, 12360, 94368, 40597, 7886, -2010, 61995, 116544, 7093, 35741, -4215, 18754, 39745, 8906, -18129, -5881, 48912, 59824, 8145, 313, 53496, -12339, 27389, 11235, 3457, -14328, 109340, 23022, 33004, 28923, 24544, 26672, 607, 38655, 59227, -18278, 14025, 42740, -34528, 29255, 10916, 26372, 63375, 13525, 108070, 37987, 7243, 55214, 62347, 36836, 27320, 15289, 7995, 50523, 44921, 28609, 8549, 98622, -29607, 13252, -2703, 55834, 53190, 82989, 38065, 21600, -3986, 3641, 2735, 12536, 3102, 28847, -4088, 24205, 3670, 25923, 60461, 13586, -18680, 69699, 3951, 8548, 4942, 17202, 2634, 18503, 67851, 92839, 29894, 36876, 5681, 29362, -58498, 15194, 4749, -4859, -5883, 4065, 3147, 15006, 13158, -1323, 69064, 16493, 29649, 38528, 11110, -21066, 27036, -11418, -13034, -40394, 878} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-62, -151, -139, -121, -120, -121, -98, -105, -139, -136, -178, -189, -129, -72, -179, -59, -79, -195, -189, -133, -41, -173, -92, -32, -109, -101, -166, -109, -86, -113, -116, -70, -123, -94, -76, -143, -109, -113, -58, -92, -78, -155, -96, -111, -75, -122, -114, -110, -150, -87, -117, -123, -112, -64, -99, -127, -120, -136, -107, -185, -127, -94, -148, -126, -94, -127, -91, -96, -112, -124, -86, -123, -155, -56, -53, -136, -104, -95, -139, -166, -120, -64, -86, -151, -109, -131, -136, -133, -124, -113, -134, -124, -140, -78, -172, -99, -120, -101, -103, -80, -59, -123, -173, -94, -127, -126, -112, -79, -141, -60, -87, -83, -85, -131, -138, -133, -120, -205, -67, -90, -120, -138, -128, -125, -54, -134, -68, -120}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1164838912, 1486868224, 1293347840, 2069452672, 1265167104, 1435560064, 1761706752, 1961759360, 1092899456, 1319824000, 1568420608, 1496838272, 1566298112, 1783305856, 1939613440, 1491115136, 1247526400, 1442181376, 2004451712, 1858287104, 1597247744, 2021301632, 1586665856, 1391811840, 1972929408, 1941316224, 1511333504, 1592345600, 1666562816, 2081540608, 1670792960, 1581117568, 1582158720, 1319553280, 2016832128, 1898415744, 2005570816, 1961296768, 1901393664, 1150092928, 1247538944, 1611879296, 1630908800, 1098957312, 1206627712, 1779633152, 1625220224, 1613366400, 1512388608, 1577616384, 1092122240, 1695847424, 1544328576, 1900401280, 1470586752, 1421300608, 1733874304, 1466478464, 1538978688, 1525748736, 2023815808, 1464038784, 1303541376, 1354658560, 2098475392, 1472754432, 1238603776, 1249240576, 1473620224, 1331113088, 1360776576, 1229296384, 1947087744, 2091175552, 1269299200, 1969437056, 2019283840, 1212389376, 2105225984, 1121383808, 1641577984, 1889944192, 1882068864, 1640975104, 1908473472, 1351972480, 2097110144, 1928425600, 1724302848, 1577403264, 1956497536, 1711433344, 2066398848, 1513079424, 1287353856, 1296544128, 1665596928, 1343525120, 1338098304, 1300625280, 1205907456, 1205457536, 1273266944, 1543303424, 1663601792, 1107678464, 1080907264, 1301998464, 1939498368, 1919384960, 2098320512, 1835566336, 1115122432, 1219303040, 1182710272, 1862803840, 1512425600, 1152610304, 1715910656, 1412784256, 1461359488, 1827439872, 1954665600, 2037408256, 1215200128, 1197343744, 1494141696, 1302950528}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {323, 27656, 615, 21552, -2661, -95, -4863, 91, 327, 216, -8755, 11447, 91735, 7131, 2621, 2862, 11790, 17532, 83578, 3620, 79466, -96, -12668, -2077, 7560, -4893, 4742, 6583, 129, 4507, 44, 28147, 161, 3577, -451, 2216, 33407, -14465, 13739, 1032, 653, 23586, 25512, -279, 3378, 107, 85, -1987, -11023, 33970, -8792, 114, 43527, 277, 8272, 8830, -6759, 2027, 1484, -64, 32438, 63633, 49895, 14787, 324, 10620, -2074, 33563, 1409, 27525, 20736, -14537, 252, 370, 789, 29179, 12092, 3971, 94, 824, -4998, 1279, 1396, -20481, 9371, 1091, 22627, -4619, 3647, 588, 49364, 518, 1137, -8087, 1972, 347, 11469, -7018, 44088, 424, 125, 479, 19348, 31081, 12905, -2578, 3478, -343, 8047, 219, 33233, -7468, 5244, 1150, -14076, -346, 1267, -302, -227, 2904, 5703, 59258, -1693, -1435, -39, -4418, 264, 1395} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-123, -245, -115, -68, -22, -146, -10, -131, -128, -119, -8, -56, -214, -68, -35, -111, -51, -200, -350, -109, -265, -130, -11, -85, -30, -77, -59, -36, -125, -21, -125, -241, -130, -101, -121, -130, -235, -21, -72, -107, -128, -60, -233, -71, -24, -119, -113, -12, -30, -244, -39, -124, -192, -116, -51, -72, -15, -17, -94, -124, -189, -278, -231, -238, -115, -31, -98, -231, -16, -259, -248, -17, -103, -104, -32, -242, -239, -41, -86, -136, 8, -89, -106, -3, -95, -112, -246, -27, -18, -96, -257, -126, -77, -13, -128, -131, -126, -22, -252, -93, -127, -116, -236, -252, -234, -92, -57, -95, -53, -136, -255, -28, -129, -146, -15, -103, -109, -60, -145, -115, -60, -256, -30, -122, -95, -2, -126, -180}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1654573952, 1682646912, 2127355264, 1727329408, 1079333120, 1133772672, 1129976832, 1741522560, 1366579072, 1081699456, 1844556672, 1966000512, 1995945216, 1693743744, 1301094400, 1695629696, 2137223296, 1868992000, 1836690304, 1826319744, 1361055104, 1913435520, 1184733056, 1194523904, 2040079232, 1308438144, 1193770240, 2066159360, 1669967744, 1142801024, 1396244736, 1597334272, 1626476416, 1575972992, 1451041152, 1889172608, 2070221056, 1975846656, 1692184064, 1190573696, 1510130176, 1776974976, 1454758272, 1514605056, 1597666944, 1247169152, 1533166848, 1989718144, 1700347392, 1563143424, 1252184320, 1704802944, 1139269376, 1251193344, 1345926656, 1517611008, 1453394048, 1937186816, 1605723008, 1270096256, 1990241792, 1674637312, 1594228224, 1202498048, 1097069312, 1966857344, 1927932032, 1990517376, 1467925632, 1169037312, 1282325120, 1316960640, 1443988992, 1245815680, 1113582720, 1668386048, 1153828864, 1563261056, 1885357312, 1448956416, 1148308992, 1490585600, 1560992512, 1453916032, 1728322560, 1266145920, 1203919360, 1248493440, 1543195776, 2041797248, 1769831296, 1696037504, 1204280704, 1968639232, 2037217536, 1703471872, 1790268800, 1858853632, 1601481856, 1438273024, 1146934400, 1806705792, 1350793216, 1966009600, 2140583168, 1832650752, 1363669376, 1804681728, 1856057728, 1691471104, 1906482816, 1168976640, 1825131648, 1423563392, 1230115968, 1260118016, 1142110208, 1102653952, 1927793792, 1251890432, 1388708864, 1425986560, 1870064000, 1645993856, 1093468928, 1617467264, 1864469248, 1214480384}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {5288, -19013, -3502, -50164, -22707, 39144, -34391, -1153, 47412, 22485, -2841, 45122, -25813, -7921, 50836, -7132, 31955, 24276, 38849, 8114, 15797, -40367, 12322, -10171, 19940, -807, 44556, 40825, 50717, 6038, -33262, 3846, 2777, 43116, 23976, 12066, -12234, -1687, 6587, 3515, -39675, 71549, 42485, -13891, 32137, -29, 63570, 14141, 9175, 17712, 49932, 19592, 1603, 16558, -11711, 9969, 1110, 34507, 49891, 381, -10402, 62532, 4509, -32686, 10858, 12505, 37221, -8079, -8469, 17068, 8143, 78787, -16493, 10293, 54473, 36864, 19279, 52312, -5384, 50001, 15683, -13030, 87591, 26917, 7674, 95414, 90578, 45759, 68751, 4800, 19602, -19353, 8462, 44989, 68353, 6946, 40196, 40546, 33752, -20406, 26798, 3531, -26328, 58920, 50749, 65271, 93798, 24302, -2015, 26115, 51962, 6511, 2186, 2784, -1262, 14277, 1112, -13679, 52480, 58805, 51296, -2621, 29765, -6351, -2417, -11722, -65976, 8974} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-91, -135, -81, -100, -111, -122, -133, -98, -94, -102, -153, -124, -101, -153, -150, -95, -210, -161, -156, -137, -185, -135, -167, -133, -197, -127, -132, -130, -124, -123, -104, -146, -98, -134, -141, -125, -115, -107, -136, -98, -118, -101, -101, -24, -110, -141, -89, -77, -191, -141, -100, -134, -125, -75, -151, -110, -183, -95, -130, -146, -115, -167, -147, -121, -141, -119, -138, -138, -86, -149, -104, -145, -167, -95, -100, -40, -146, -116, -132, -131, -106, -116, -129, -123, -149, -110, -172, -123, -141, -159, -129, -79, -123, -146, -166, -122, -134, -107, -94, -138, -161, -79, -91, -150, -135, -141, -154, -119, -136, -158, -123, -214, -117, -149, -148, -123, -190, -136, -169, -125, -103, -157, -132, -105, -131, -155, -82, -70}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1686017408, 1299455232, 1141628800, 1923176192, 1993448064, 1108183552, 1397981824, 1278213120, 1895975680, 1174677888, 1874652288, 1175192192, 1712321792, 1988557184, 1171194880, 1146410880, 1695888384, 1271703424, 1505835392, 1449441408, 1330050944, 1944002688, 1971042944, 1187059072, 1362017664, 1547283200, 1695753984, 1411690496, 1306452224, 1258447104, 1097209088, 1163649024, 1102092928, 1547281920, 1380718080, 1472947456, 1920333952, 1208204032, 2144943488, 1576469632, 2108931328, 1274705408, 2010075136, 1324677632, 1418088064, 2028795904, 1353248384, 1263503872, 1711475968, 1876025600, 2041188736, 1724374784, 1197521536, 1583647104, 1083293312, 1844781440, 1384117888, 1086695552, 1392836736, 2064931712, 1988734848, 2026771840, 1294679424, 2122073856, 2054465536, 2122355968, 1521548928, 1334665984, 1447599104, 1878670208, 1153944832, 1710842624, 1523631360, 1854667008, 1793296128, 1530438656, 1325875968, 1703953280, 1699914240, 1457634944, 1110884480, 1914602752, 1786207488, 1658902272, 1096646784, 1756068224, 1274411264, 1706462336, 1703314432, 1811685632, 1706606848, 1122315776, 1640523136, 1584021632, 1287806464, 1314480256, 1925881600, 1962641280, 1718296832, 1455048320, 1733912064, 1989037824, 1144034816, 1943657600, 1757522816, 1221935616, 1713121280, 1537237760, 2122316288, 1519709824, 1212155264, 1369754368, 1404574720, 1171975040, 1090297472, 1323615616, 1631431040, 1419151616, 1179773440, 1463693440, 1659243776, 1205558912, 1604435200, 1273746560, 2102552576, 1622533120, 1859922944, 1771904128}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {5496, -8110, 35046, 1624, -21036, 19635, -10866, 243, 23387, -21765, 16281, 48364, -36009, 15915, 32017, -45631, 43693, -7807, -5174, 76644, 4727, -3564, 8161, 164510, 775, -1308, -18855, -9648, 28725, -11723, 9242, -4985, 377883, 1258, -50403, 39313, -15513, 3631, -8665, -9261, -21927, 1325, 24661, 19075, 79465, -4942, 38898, 356, -35368, -2797, 3195, -4484, -1984, -2773, -3, -11411, 64356, 9888, 33450, 145, 6299, 36453, -38796, -10264, -4354, -11652, 1471, -1829, 8746, -510, -5620, -6569, 51737, -5935, -10196, 15415, 19045, -14115, -34, -9181, -8258, 63850, 6087, 82464, -2864, 50042, -8866, 273041, 2236, -17963, 86310, -26388, -29599, 2212, 131, 87, 29162, 38319, 7470, -6657, 25669, 156289, 91646, -8547, 15619, 85, 842, -2959, -5498, 19817, 69703, 48745, -2486, -11168, -2025, 55027, 1581, -2071, -5300, 82341, 9602, -41776, -34, -65, 222, 4299, 37388, 74500} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-129, 0, -229, 10, -10, -123, -59, -116, -228, 13, -42, -246, 39, -146, -246, 11, -263, -82, -121, -349, -69, -114, -104, -253, -81, -89, 0, -55, -259, 10, -117, -16, -569, -94, 45, -255, 50, -21, -7, -7, 15, -63, -204, -96, -325, -114, -234, -33, 2, 19, -106, 7, -15, -73, -17, 2, -114, -32, -251, -34, 42, -241, 22, -18, 3, 3, -90, -15, -91, 4, -26, -77, -251, -3, -69, -226, -63, 4, -66, -40, -4, -231, -38, -311, -33, -247, -62, -431, -29, -32, -256, 4, 21, 61, -99, -90, -269, -165, -50, 2, -95, -287, -352, -65, -45, -109, -95, -52, -16, -142, -222, -106, -133, 22, -11, -310, -58, -16, -39, -288, -112, 19, -23, 7, 0, -56, -143, -321}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1485302400, 1784462336, 1130224640, 1601208960, 1719641088, 1559457280, 1326732928, 1119402368, 1247980800, 1375739520, 1337440640, 1786929408, 1680869120, 2133125376, 2073916672, 1229660160, 1435276800, 1083305728, 1408830592, 1129881728, 1487144064, 1182792320, 1243392896, 1739047808, 1457044608, 1634467200, 1631187072, 2019057920, 1223534464, 1678880256, 1240491008, 1899285120, 1658120576, 1154008448, 1961933824, 1756016384, 1158647424, 1512076928, 1974460160, 1162360320, 2006436864, 1851389440, 1160184320, 1457269632, 1281126912, 1484474496, 1829470976, 1385998848, 1479177472, 1286546432, 1196219008, 1466256384, 2092203392, 1846868864, 2084774528, 1092868608, 1837384320, 1417483136, 1501407872, 1818050688, 1933688960, 1252130944, 1423672832, 1359051136, 1748907136, 1664341248, 1109069824, 1875785600, 1435426176, 1261593984, 1134560512, 1571151232, 1781909120, 1279983744, 1822176128, 1374548608, 1778230144, 1767686272, 1448348800, 1473868800, 1175867520, 2010585856, 1366649856, 2027405952, 1341614592, 1735621504, 1540939776, 1589018368, 1285485184, 1188666624, 1233397376, 1438580224, 1234501760, 1166400256, 1863304192, 1382300672, 1760687872, 1990167168, 1394142848, 1342239360, 1116283008, 1811960320, 1721052160, 1269504768, 1558368128, 1659928448, 1155267072, 1272112000, 1444624256, 1530526464, 1740966144, 1511218432, 1388873856, 1410831744, 1969719552, 1288523136, 1505462912, 1911341440, 1589009664, 1099366912, 1254430208, 1337247488, 1569259264, 2032861824, 1189002112, 1160631424, 1233459840, 2000958464}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-11506, -1919, 79426, 43747, 25710, 22153, 50782, 73429, 51626, 57803, -12066, 6392, -25281, 50995, -10768, 50477, 41844, 11430, 9479, 54412, -26589, 26187, 17121, -23431, 15353, -47700, -2237, 49089, -7097, 43737, 17043, -35224, 32601, 37948, -13341, 33966, -6421, 30942, 61718, 11098, -5848, -32008, 32835, 51334, -14253, -23746, 5503, 55779, 22947, 18310, 10373, 72488, -8729, 67939, -52446, 5012, 7962, -9142, 16096, 35471, -13380, 510, 40361, 22674, -2483, -43205, -7267, 23587, 34109, 123407, -44207, -57916, 9501, 6828, 24120, 1713, 26835, 15076, -14010, 148999, 18566, -12363, -17514, 44448, 8548, -39022, -65822, 5236, -24050, 43010, 74047, 24124, 17420, -2851, 2369, 33990, 59419, 3670, -30947, 25087, -7822, -63751, 19340, 6188, -34950, 66125, 22588, 40446, 100401, 52769, 2723, -9129, 44793, 50251, -25466, 12938, -42607, 56263, -11933, 13476, 13576, 24842, 53189, 18019, 29933, -16356, 3966, 48231} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-85, -146, -161, -125, -79, -116, -123, -178, -190, -103, -39, -107, -151, -149, -116, -183, -130, -146, -59, -177, -113, -117, -100, -110, -82, -81, -140, -88, -164, -124, -99, -77, -117, -122, -98, -87, -133, -142, -164, -108, -139, -120, -111, -122, -143, -126, -146, -113, -118, -123, -155, -145, -93, -157, -87, -130, -128, -109, -112, -101, -119, -144, -108, -103, -140, -111, -131, -110, -122, -154, -106, -103, -121, -96, -185, -151, -129, -108, -145, -153, -122, -98, -139, -136, -106, -138, -112, -139, -132, -109, -116, -134, -129, -114, -105, -92, -124, -135, -114, -138, -118, -107, -144, -134, -110, -117, -141, -128, -133, -107, -116, -82, -116, -107, -115, -109, -156, -112, -111, -117, -97, -152, -166, -116, -187, -144, -120, -116}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1203970816, 1323948416, 1171921920, 1950350208, 1220131968, 1859885952, 1742132608, 1203842304, 1134782464, 1559613440, 1795252736, 1111948544, 1632254720, 1125642752, 2091796096, 1395361536, 1565842560, 1081994624, 1768106752, 1719950592, 1615374976, 1279526016, 1911661312, 1849646976, 1530445184, 1517919232, 1134327680, 1189994240, 1639926144, 1199625984, 1177953792, 2140345984, 1667709056, 1100319104, 2138258432, 2055996032, 2030364032, 1244240000, 1097019008, 1248159232, 1300249728, 1922640128, 1724549760, 1178195712, 2115195904, 1548007168, 1427991040, 1236063360, 1460972672, 1498342272, 1732336128, 2071824128, 1407850240, 1957926272, 1161010816, 1238152704, 1892201600, 1107607296, 1957174912, 1549433856, 1102132864, 1790184448, 1442515968, 1611353984, 1519910656, 1877704064, 1231472768, 1215421824, 1232344704, 1117091456, 1888662784, 1220875648, 1844789888, 1333437440, 1612753024, 1178168064, 1550237568, 1971015296, 1193676800, 1826507264, 1444291072, 1147104768, 1406065792, 1859893120, 1322412288, 1726990080, 2028064768, 1548464128, 1892597888, 1099761152, 1660736000, 2045561472, 1359945088, 1137281152, 2105764352, 1772449792, 1184111872, 2089370752, 1143238656, 1182264320, 1987988992, 1730675200, 1565179136, 1896852608, 1491488384, 1376914944, 1354722048, 1263400960, 1415467520, 1209291264, 1813639168, 1871116032, 1488906112, 1507527040, 1649870720, 2034297472, 2124836992, 1610728320, 1286801792, 1180111104, 1140354048, 1624961920, 1260076928, 1132948992, 1397493888, 1804382720, 1866659328, 1866041600}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-4883, -5610, 53059, 43842, 9323, 21544, 38705, -32564, 7473, 57492, 838, -2995, -11685, 29123, 1405, 1558, 30896, 38734, 48636, -707, 77710, 41766, -8905, -4336, 34725, 253, 668, 3369, -24233, 95760, 179371, 10317, 105, -3332, 69575, 56450, 14514, 11314, -6008, 40438, -7800, -38330, -71214, -6016, -1181, 97622, 66973, 41095, 48243, -18901, -10693, 22725, 3136, -23884, 149, -1429, -10138, -1220, -4421, 3972, -18324, -2954, 55559, -3501, -17935, 1173, -1887, -13203, -451, 6463, -5940, -7243, -6584, 148108, 26157, 105149, 55762, 22828, -2591, 18255, 17396, 762, -11937, -11470, -81, 173359, -146, 49959, -6416, 68973, -885, 42985, 29481, -42311, -3206, 28207, -10026, -384, -1192, 17593, -6088, -13211, 4048, 4772, 55933, 6960, 959, 31085, 4163, 2687, 275, -1649, 29923, -3277, -14580, 3448, -26815, 32557, 34762, 93038, 12495, 71683, -16727, 179, 32372, 86861, -13452, 123896} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-44, -73, -193, -304, -37, -135, -257, 17, -205, -304, -105, -94, -136, -242, -99, -108, -149, -27, -256, -98, -579, -50, 17, -14, -124, -25, -18, -30, -39, -256, -438, -87, -93, -117, -217, -221, -36, -38, -129, -117, -149, 18, -9, -27, -110, -338, -312, -257, -163, 3, -21, -219, 243, 11, -47, -94, 36, -2, -13, -167, -9, -88, -274, -45, -43, -82, -71, -11, -140, -33, -61, 5, -161, -322, -72, -265, -249, -139, 1, -223, -162, -55, 2, -3, -13, -323, -9, -170, -10, -298, -101, -267, -111, -15, -32, -248, -17, -1, -31, -180, -6, 74, -37, -37, -283, -138, -87, -144, -18, -27, -94, -29, -149, -25, 15, -84, 2, -240, -128, -272, -44, -293, -13, -9, -105, -483, -30, -379}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1638167680, 1346020864, 2048285696, 1483552256, 1167385216, 1546650112, 1712422400, 1924080640, 1866218368, 1547774976, 1105216768, 1628714880, 1207019392, 1139584256, 1992002944, 1310415104, 1106927872, 1664179328, 1809543680, 1152500096, 1424569472, 1360336640, 1643159552, 1126191232, 1455446272, 1273258880, 1125475072, 1820863232, 1089356800, 1748804352, 1625170176, 1432753664, 1191259904, 1172250752, 1440855936, 1887870976, 2112389120, 1782641152, 2089648000, 1654579968, 1120728704, 1117304064, 1714889600, 1236947328, 1386253696, 2026409728, 1381781248, 1186923136, 1608416384, 1476027008, 1590417664, 2067411584, 1146200192, 1791823360, 1653156480, 1688524160, 1107020800, 1463070336, 1833209472, 2028886400, 2118512000, 1837792256, 1306572288, 1864984320, 1846163328, 2146279936, 1335008512, 1685548800, 1569076864, 1248705536, 1987801472, 1694229248, 1648186496, 1804410880, 1637584640, 1823925120, 1486406912, 1757874304, 1538754944, 1835280640, 1933014016, 1466343936, 1506833408, 1162251136, 1106868224, 1934628736, 1383023616, 1391534848, 1509038720, 1108430976, 1845948800, 1912332800, 1967922432, 1229603712, 1305090688, 1701601664, 1963245952, 1687529216, 1316356480, 1907526656, 1960103424, 2089295104, 2047167744, 1574138112, 2036098432, 1257613824, 1825865984, 2054400384, 1175308288, 1507394432, 1818483584, 1920646784, 1687133696, 1314919168, 1553114368, 1299933568, 1283956992, 1284215424, 1777322240, 1558861440, 2072246528, 1711629568, 1497740416, 1432577408, 1983571840, 1785891200, 1214090112, 1422243328}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {19179, 27190, 13757, 36845, 49733, -27033, 2429, -28516, -9930, 27182, 12980, 15144, -23728, 23955, 21957, -25015, 675, 5250, 1338, -5645, 50409, 24046, -28893, 11802, 2338, -61842, 16693, 30031, 19578, 22146, 33621, 32842, -3625, 23941, -1359, 78989, 33763, 9766, -66161, 47894, -4729, 35319, -23667, 35590, -69036, -4200, 6503, 36817, 38098, 49775, 17083, -1266, -33604, 103, 17507, -26791, 52460, 39617, 16887, 72336, -22181, -10376, -3703, -7934, 33876, 63715, -9183, 36715, -10130, 11073, 50354, 33707, -28363, 1504, -18453, 13774, 22865, -1287, 73119, 34874, -4706, 8174, 17983, 42390, -18876, 51544, 30589, -18031, 97655, 2678, 59505, 4060, -43467, -19871, 35770, 25364, 1615, 30320, 2180, 27944, -63338, 60726, 19432, 527, 28941, -17463, 24946, 42911, -9281, 3882, -13564, 6950, 10166, -10857, 50426, -2817, -34383, 12823, 28974, -22384, -36097, 12846, 13017, 17578, 22269, 15693, 11683, 59694} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-105, -119, -119, -124, -129, -133, -91, -112, -138, -130, -127, -109, -141, -100, -126, -121, -123, -78, -125, -116, -122, -75, -104, -142, -128, -92, -145, -121, -107, -130, -91, -120, -116, -101, -154, -148, -157, -81, -114, -148, -145, -138, -120, -136, -141, -163, -119, -120, -117, -131, -106, -125, -122, -134, -98, -103, -146, -132, -105, -120, -124, -110, -94, -125, -105, -186, -157, -121, -143, -105, -143, -198, -104, -130, -135, -96, -122, -134, -147, -125, -108, -184, -96, -100, -95, -131, -111, -132, -145, -120, -142, -76, -132, -97, -108, -143, -145, -143, -110, -142, -112, -125, -108, -127, -137, -99, -74, -126, -127, -133, -138, -156, -136, -111, -156, -158, -106, -132, -125, -108, -114, -111, -115, -141, -138, -128, -90, -143}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1631343104, 1347398144, 1626478464, 2099848320, 1750990080, 1642375808, 1550756096, 1154538624, 1479393152, 1078500352, 1183799552, 1267336832, 1232538752, 2020644096, 1276711040, 1981088512, 1198319616, 1118241024, 1277356416, 1175047680, 1282797440, 1856762496, 1432284416, 1613486848, 1337850752, 1527953408, 1191614592, 2125047168, 2111501696, 1539164672, 1164584448, 1657495808, 1273577216, 2080619648, 1883440896, 1387756544, 1513264256, 1547509248, 1435526528, 1756346112, 1287379200, 1078574592, 1751723136, 1349932288, 1104710912, 1693518720, 1328206848, 1291538432, 1341414912, 1663276160, 1420201728, 1601717632, 1665664000, 1195058176, 1999179392, 1950523520, 1687943936, 1717537664, 1241507456, 1852321920, 1551729664, 1999589120, 2054808064, 1633069568, 1149139200, 1174458496, 1642762240, 1506408320, 1119085312, 1095516672, 1821817600, 1259057920, 1810950912, 1680565248, 1173664512, 2033512704, 1283026816, 1150747648, 1355979776, 2104551808, 2021493248, 1625952640, 1404675712, 1612853760, 1206422144, 1923667072, 1968793856, 1657075072, 1741166976, 2031580672, 1484583936, 1191543808, 1184094720, 1820324096, 1238537472, 1784002432, 1369768192, 2125315840, 2132704896, 1917977216, 1209395712, 1372861568, 1920526336, 1769471104, 2085498496, 1121022208, 1201236608, 1451114240, 2011277696, 1185682560, 1251761792, 1083589632, 1734382336, 1685643904, 1607300736, 1714241920, 1967906944, 1272683776, 1692728064, 1156990464, 2104907648, 1791971840, 1727232128, 1186242688, 1255115264, 1428318208, 1121010560, 1251585280}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {7005, -8471, -4703, 7576, -7039, -3, -2867, -4066, 244891, -14696, 65225, 214263, -10177, 4898, 54797, 38157, -87057, -1164, -54869, 67859, 34599, 1220, -1211, 153, 69959, 1215, -5292, 143053, 1311, 1944, 22625, 43305, 51591, -2485, 28393, 41765, 49332, 6965, 95, 87977, 221786, -6989, -9032, 40130, -8212, -16565, -5680, 16282, 85548, 74343, 7459, 8643, -8752, 109818, -18583, 211605, -23619, 54995, 86722, 9169, 6330, -3220, 54358, 1443, 45798, 3180, 50868, 5, -8682, -7386, -4498, 20159, 112998, -2715, -411, 27881, 4922, -16414, 27393, -2628, -4241, -17668, -18319, 87429, 155063, 114299, 68728, -22522, 2331, -4008, 28695, -14171, 720, -4608, 92275, 86461, 16291, 18067, -12260, 52179, -5262, 22894, 88402, 54237, 548, -4683, -8981, 43956, 75022, -3007, -29935, -52742, 433, 47481, 35073, 59538, 115834, 67774, 33749, 142381, -2750, 64333, -1006, 152086, 29802, -1231, -4377, -2211} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-20, -41, -8, -30, -64, -48, -90, -7, -451, -61, -242, -669, -2, -50, -359, -205, 131, -97, 143, -268, -247, -35, -103, -17, -250, 17, -116, -304, -128, -36, -246, -265, -233, -20, -96, -271, -369, -16, -56, -346, -496, -137, -56, -210, -45, -11, 6, -116, -297, -350, -184, -27, -6, -276, 2, -382, 12, -253, -332, -32, 10, -171, -304, -68, -122, -20, -197, -74, -50, -40, -17, -103, -264, -31, -11, -162, -189, 10, -221, -114, -12, -67, 7, -293, -815, -269, -290, -6, -12, -5, -55, 0, -9, -16, -270, -289, -44, -29, 3, -141, -8, -245, -245, -119, 4, -126, -9, -268, -267, -191, -41, 38, 32, -271, -186, -260, -271, -241, -205, -359, -44, -247, 0, -329, -97, -121, -9, 3}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1144365184, 1263301120, 1886831488, 1085893120, 1154379520, 1482718976, 1381975296, 2069226112, 1789855488, 1312305792, 1241581184, 1236329984, 1241604864, 1455703552, 1171085312, 1420957440, 2005181440, 1215963008, 1252222336, 1507269504, 1116731264, 1709872768, 1196877824, 1436031232, 1710618496, 1638735616, 1563739136, 2070548352, 1616785664, 1102324096, 1447558016, 1255681664, 1623766400, 1204542720, 1108218880, 1449342208, 2031505920, 2136481792, 1208989312, 2088534784, 1405226880, 1676383616, 1263774848, 1861346048, 1099149696, 1760493440, 1135563520, 1239433088, 1581214208, 1677639040, 1574616960, 1350214016, 1090169728, 1499579776, 1658315520, 1326996992, 1153134848, 1383653376, 1825634688, 2111683584, 1393244416, 1147416448, 1243058944, 1174665600, 1558811648, 1272359040, 1290468480, 2004400000, 1206500864, 2111197696, 1756220160, 1963988992, 1528414976, 1101038080, 1508363904, 1444728832, 1204366080, 2086705024, 1169051264, 1402150528, 1399202688, 2083393152, 1837027840, 1434077312, 1391917952, 1841717760, 2084448384, 1094531328, 1750246912, 2098558464, 1553164800, 1804512896, 1293371776, 1819410944, 1422225664, 1349005312, 1969778816, 1175504256, 1096293120, 1642470912, 1588416256, 2040196480, 1109463424, 1311017088, 1717870720, 1783742592, 1300653952, 1417325568, 1335530880, 1561130240, 1763353856, 1249330304, 1306490880, 1912242944, 1892745472, 1655746816, 1926499328, 1651123840, 1719076480, 1148128512, 1528133248, 1253895296, 1151477760, 1080043392, 1272775552, 1095018752, 1457076224, 1941399936}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {30907, 3309, 35619, 32963, 14129, 14262, 5421, 11655, -8845, 162, 5870, 58480, -233, 4037, -3461, -18453, -16163, -2412, 21269, 19497, -119490, 23154, 18468, 63226, 53089, -16156, -9983, -62270, 18235, -2471, 9602, -44232, -73088, -29175, -36497, -42767, 23188, -23377, -61227, 64008, -32132, -8854, 18060, 1038, -7250, 70220, 21518, 8011, 1332, 49935, 15890, 44954, -31923, -19877, -80433, 36915, 18077, -21712, 79401, 9026, -26633, 12448, 3434, 199577, 4228, 88522, 7525, 6857, 8120, 78136, 40709, 19220, -19484, 107504, -7115, -8390, 21299, -4832, -11835, 16774, -33148, -35078, 19647, 28349, 20292, -930, -19943, -29171, -34614, 5536, -5107, -44771, -55044, -31896, -47738, 13327, -2455, -58019, -50961, 40668, 5145, -74456, -5514, 47457, -52576, 45492, 19053, -21153, -9967, 13442, -52541, -20700, -3912, -489, -25160, 29993, 39343, 39099, 43303, -20728, 44966, 8297, 38290, 21349, -74719, -84725, 88871, 52589} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-132, -128, -134, -133, -100, -85, -111, -78, -148, -142, -116, -166, -96, -140, -133, -131, -174, -105, -138, -120, -102, -123, -145, -148, -117, -104, -88, -81, -136, -111, -106, -120, -79, -97, -125, -113, -119, -110, -132, -105, -120, -137, -135, -75, -101, -151, -104, -127, -118, -128, -157, -163, -119, -97, -124, -159, -118, -111, -133, -116, -144, -102, -116, -107, -114, -140, -137, -112, -125, -128, -121, -119, -115, -129, -114, -161, -96, -157, -101, -142, -142, -88, -123, -107, -120, -140, -140, -124, -118, -118, -181, -122, -161, -118, -133, -132, -140, -112, -91, -107, -111, -137, -134, -126, -115, -99, -148, -84, -132, -128, -107, -99, -149, -88, -121, -133, -147, -128, -138, -146, -109, -135, -121, -115, -97, -109, -90, -112}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1643412608, 1688897792, 1907670912, 1114861568, 1585823488, 2052774912, 1205068160, 1579553536, 1751333376, 2010218368, 1933066880, 1802946048, 1387319296, 2056597888, 1378239232, 2115874176, 1983937664, 2084669312, 2084421504, 1986325120, 1877766016, 2033368192, 1886131200, 1443918336, 1713822592, 2083271296, 1522385920, 1171510656, 2040951552, 1222294016, 1293641984, 1215675264, 2072520064, 1170239744, 1486083584, 2003915392, 1663416192, 2000311168, 1839312896, 1278464128, 1150856192, 1840582016, 1347092224, 1530961024, 1708254720, 1658378496, 1106401408, 1599088128, 1994228352, 1395173760, 2116688384, 1774353536, 1604500480, 1337878528, 1820512000, 1299893632, 2045814912, 1821521536, 1379741184, 1695001472, 2036392192, 1100548992, 1791162880, 1732171904, 1451365376, 2035441152, 1564823808, 1435938688, 1480402560, 1623822208, 2017838592, 1452179840, 1416069632, 1946914048, 1974043776, 1641998208, 1483370624, 1966352128, 1371068672, 1410245888, 1085735424, 1583297536, 1495322368, 1212036736, 2042945408, 1526108288, 1293293056, 1467586432, 1878333696, 1557382656, 2095162880, 1697148800, 1914312320, 1784831616, 1432645376, 1934782976, 1139720448, 1658160896, 1895829248, 1159975040, 1728152448, 1123090944, 2064884864, 1579792000, 1794928128, 1630416512, 2053528320, 1771751296, 2049346816, 1678441856, 1458983552, 1245138048, 1526130176, 1647064704, 1094542720, 1282429312, 1696210560, 1532231296, 1281356672, 2026042240, 1592404480, 1911119744, 1341134976, 1943913728, 1084145408, 2054853248, 1271500928, 1216641152}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-24054, 147521, -274, 3350, 60960, 6186, -997, -1101, 104899, 118, -55252, -4248, 57956, 5557, -235, 56479, -5255, -2005, -14406, 148496, -7522, 33701, -15621, 36387, 463, -8749, 143941, 193701, 2840, 621, -1271, -7135, 135863, -1025, 30, 92602, -424, -20975, -224, 24226, 111164, -1447, 116727, -4500, 100508, 22744, 6947, -4776, -4404, 53706, 166421, 26080, -15902, 45936, 39049, 80319, 34333, 121997, 92147, -673, -602, 150641, 70238, -36513, -1414, 60485, 11637, 69454, 97535, 287797, 3616, 115486, 248, 142521, -7737, -14528, -9309, -1899, -26904, -25558, 181229, 139540, -38685, 75189, -12693, -2205, 121412, -541, 143670, 198, -17907, 105217, 756, -1438, 58, -5167, -4664, -21472, 110045, -2832, 94780, 131649, 3598, 52602, -4001, 32809, 124695, 18, -9385, -9675, 94194, 115321, -288, -870, 145143, 259154, 47606, -82, -9981, 144732, -8451, -206, 35042, -3978, -17391, -7625, 23128, 27041} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-67, -405, -20, -24, -230, -146, -19, -169, -274, -107, 70, -15, -424, -154, 8, -118, -122, 25, -23, -338, 21, -156, -15, -233, -47, 8, -437, -571, -29, -82, -25, -57, -303, 39, -34, -295, -19, -22, 73, -224, -372, -25, -240, -7, -265, -233, -173, 35, -8, -280, -336, -59, 18, -113, -140, -84, -127, -293, -260, -128, 26, -356, -246, -53, -135, -290, -56, -257, -228, -397, -44, -386, 143, -315, -24, -76, -54, -29, -52, 13, -322, -308, 4, -237, -11, -8, -355, -66, -282, -51, -113, -252, 172, -15, -99, 89, 20, -32, -275, 75, -276, -296, -27, -294, -52, -243, -395, -133, -7, 22, -309, -276, -7, 57, -291, -562, -207, -28, 13, -281, -8, -21, -224, -34, 23, -23, -238, -231}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1570216320, 2086156672, 1239101056, 1114895488, 1447031808, 2135576192, 1781478784, 1419977984, 1660846592, 1248721024, 2089045248, 1210025600, 2045043712, 1167393536, 1410362112, 1684871296, 1969550976, 1100233344, 1403686272, 1118200704, 2026048384, 1199896320, 1236412672, 1420681216, 2011393024, 1429704064, 1275751808, 1421122048, 1075252864, 1083102080, 1712176256, 1612743424, 1322571648, 1716789120, 1177086720, 1373078656, 1566763776, 2039019008, 1559833216, 1460200320, 1795152896, 1134291968, 1443616640, 1110941184, 2013849728, 1389586688, 1228819712, 1366332160, 1819957120, 1936949376, 1701888896, 1131713792, 1691885440, 1655129088, 1852843904, 1557000576, 2027113344, 1180711296, 1148188544, 1978550656, 1899572864, 1687495936, 1597011328, 1332766592, 1735334528, 1402082048, 1450862080, 1753938176, 1738777472, 1230655872, 1914801152, 1177388288, 1458515712, 1826457472, 1413893376, 1091670400, 1959131904, 1255694080, 1543003264, 1596982784, 1486528512, 1729513088, 1855696512, 1091573120, 1509710720, 1783797120, 1935679232, 1399777664, 1492402688, 1709517440, 1858201472, 1710739712, 1866793856, 2107293952, 1317493760, 1156773632, 1084241024, 1949447552, 1871255808, 1865260288, 1568147968, 1740065792, 1146198784, 1385814016, 1570876416, 1738472320, 1183956736, 1349271040, 1098576896, 1735962368, 1245825792, 1356725760, 1432183680, 1484833536, 1175746688, 1828915840, 1424355328, 2015509120, 1705693952, 1158440960, 2021599232, 1803292416, 1081846272, 1089071360, 1769139456, 1378182400, 1522208640, 1242003840}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-76309, 40362, 22569, -36059, -11498, -42741, 43858, 6230, 11882, 5164, 47397, 294, -5364, 2147, 87386, -6292, 56457, -55616, -44569, 17329, 17474, 66082, 15150, 690, 65760, 34688, -3033, 68212, -8406, -15043, -33399, 8696, 24750, -7877, -54752, 6097, 39626, 21001, 17458, -22433, 35551, 7305, 25234, 13991, -38235, 8679, 43987, 11487, -42562, 22992, -48120, 66916, -5049, -17607, 14143, 14987, 8448, -4534, 22522, -22252, 53085, -12427, 8170, 14769, 41257, -15117, -17095, 224581, -19290, -15101, -15256, -40284, -14454, 27300, 33412, -42750, 24233, -41616, 29050, -63906, 44619, 32795, 22205, -32208, -60445, 36713, 58793, 13564, 66248, 17472, 41399, -23472, -9675, 28181, 2838, -33931, -7740, 96628, 44928, -43469, 46721, -46484, 58297, -26237, -199, 22691, 1314, -21771, -37324, -15998, -87368, 36314, 841, -24140, -29350, -40, -12769, 19598, 58988, 11555, 83797, 59817, -18572, 21825, -6837, 10341, 48959, 9760} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-129, -140, -108, -145, -137, -107, -131, -127, -136, -125, -105, -138, -165, -126, -114, -129, -164, -50, -103, -161, -147, -121, -145, -109, -127, -120, -156, -140, -125, -115, -87, -123, -154, -87, -167, -141, -122, -87, -114, -159, -136, -113, -88, -74, -140, -155, -131, -67, -87, -145, -145, -143, -94, -166, -120, -135, -128, -132, -149, -104, -124, -123, -97, -135, -106, -136, -138, -166, -111, -120, -155, -102, -105, -119, -83, -108, -164, -116, -148, -126, -134, -120, -128, -140, -149, -126, -150, -132, -131, -127, -139, -105, -153, -128, -157, -137, -112, -145, -130, -135, -108, -132, -139, -111, -126, -128, -130, -97, -155, -106, -129, -153, -147, -123, -127, -120, -109, -166, -134, -135, -117, -148, -109, -129, -113, -142, -127, -153}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1708978048, 1685737728, 1781676032, 2067966208, 1322514432, 1140328576, 1187328512, 1857840768, 1193042176, 1982620544, 1354576128, 2040925568, 1998587264, 1387837568, 2147395840, 1922062336, 1633580800, 1563815680, 1214097792, 1986114432, 1134084352, 2119323392, 1193089152, 1187875328, 1324406016, 1546135296, 1100801024, 1331443968, 1548935168, 2089754752, 1433510528, 1322279680, 1751250688, 1732102784, 1420888576, 1424384640, 1855892608, 1795425024, 1214477184, 1780285056, 1873641216, 1743974912, 1328085760, 1355625088, 2023517568, 1206498816, 2060160000, 1344824576, 1982832768, 1621328896, 1975353344, 1300580736, 1198180096, 1075466112, 1281796736, 1557433088, 1296759040, 2013436288, 1996341120, 1529474560, 1546881408, 1076163968, 1876075776, 1310082560, 1328135424, 1125893504, 1847213696, 1742557184, 1598092800, 1612529152, 1775757312, 1551067264, 1153120384, 1359386624, 1187560576, 1748092800, 2004826368, 1205076480, 1508541696, 1748876672, 1263645312, 1447689728, 1738262656, 1671844992, 1877943552, 1781530752, 1257544448, 2083168128, 1772913024, 1612808576, 1382335104, 1621443712, 1593366784, 1751529088, 1727793280, 1743953920, 1186743552, 1831738112, 1558707328, 2033837824, 1636078848, 1769448704, 1487880448, 1872841600, 1082234368, 1633930496, 1235098752, 2068620032, 1605688576, 1242561408, 1666283904, 1780285184, 1651113472, 1112022400, 1504085760, 2073088512, 1751872512, 1828756480, 1091752704, 1847163904, 1230961536, 1536174464, 1885588736, 1297719552, 1745452032, 1715593856, 1214587392, 1121859200}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-114, 253962, 145425, -2132, 266892, 143045, 10794, 146439, 191887, -223, 91450, -522, 206947, -737, 154701, -1116, 1671, -1255, -152, -277, 169119, -7280, 615, 180873, 121124, 61, 169624, 76376, 1533, 139280, -80, -5092, -101, -1212, -505, 810, 126647, 221180, 140536, -219, 214752, 84258, 107168, 148507, 286034, 246891, 156456, 14379, 120937, 263714, 623, 88797, -375, 8747, -6866, -3318, -3376, 131152, 212315, 24130, 103820, -381, 108803, 116235, -142, 179889, 66, -18179, -7910, -1032, 215046, -524, 197143, 105616, 114803, -1325, 1586, -6786, 84, -585, 663, -644, 411, 4019, 209638, 249635, -13030, 268430, 109025, 1401, 165511, -797, 904, 131392, 204597, -4, -753, 34381, 307029, -552, 115259, 178008, -39637, 316, -12238, 217751, -268, 38965, -1131, 151182, -899, 98887, 180228, 115, -5978, 185451, 363, 179306, 157846, -453, 138671, 100449, 169, -92928, -604, -1188, 69054, 202904} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {19, -286, -328, 49, -306, -337, -96, -343, -286, 57, -283, 58, -297, 31, -311, 37, -102, -43, 67, 43, -306, -103, 47, -298, -316, 59, -284, -244, 63, -271, 36, 122, 66, 25, 20, 31, -302, -313, -277, 41, -267, -240, -309, -323, -336, -296, -278, -53, -279, -309, 35, -279, 33, -68, -112, -121, -98, -327, -279, -143, -280, 56, -284, -274, 62, -311, 55, -93, -28, 83, -290, 25, -287, -272, -298, 62, -104, 57, 18, 22, 68, 55, 73, 43, -298, -301, 64, -334, -275, 44, -417, 55, 58, -337, -298, 52, 76, -71, -306, 37, -291, -308, -82, 59, 82, -279, 52, -74, 27, -391, 35, -276, -302, 49, 68, -303, 58, -320, -329, 41, -262, -246, 47, 103, 38, 24, -185, -315}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {2133445888, 1754503040, 1925620096, 1679643136, 1443866752, 1719390080, 2057044096, 1113758976, 1285183744, 1266333056, 1934096128, 1538084480, 1963535360, 1563875840, 1103312000, 1292679680, 1794262528, 1788695808, 2060000256, 1725571712, 1154925440, 2047849600, 1592148736, 1759148032, 1714227840, 1721142784, 1513021184, 1193239040, 1435645312, 1701660800, 1527582976, 2027076992, 1666198528, 1390429568, 1727543424, 1335786240, 1320649088, 1757046016, 1917763456, 1348464384, 1897051264, 1901890688, 1646749824, 2050259712, 1368343168, 1291361664, 1945497984, 1726460032, 1388891264, 1434845696, 1722090752, 2099395840, 1090521088, 1269551360, 2001373952, 1195362432, 1453362688, 1385134848, 1286493696, 1122676352, 1074506368, 1508430336, 1553667200, 1371677568, 1172029568, 1290429568, 1941233408, 1468660864, 1139170048, 1213959808, 1669050112, 1318628736, 1120178048, 1203754368, 1118395520, 1987580800, 1640172288, 1790105088, 1991870848, 1505988224, 1322281728, 1443097728, 1527892864, 1368475904, 1455655424, 1568751104, 1516540800, 1591796864, 1080710016, 1441199488, 1073899648, 1274196992, 1941955456, 1456254720, 1107741440, 1566995712, 1800749952, 1096432128, 1428924160, 1457364992, 1577601536, 1379771648, 1345103104, 2081423744, 1484969088, 1786770048, 1935377408, 2105985536, 1327841664, 1276562688, 1119446912, 1876320512, 1333938944, 1249706880, 1123313408, 2084289920, 1945771264, 2032003200, 1874110592, 1150625152, 1105928320, 1909719424, 1622246144, 1823877632, 1453144064, 1386719232, 1456427648, 1999416192}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-46395, -7749, -10910, 13006, 67448, 27521, 134905, 57731, -66572, -11437, 9890, 38500, 1959, 21325, 38407, 17011, -26175, 25098, 32822, -24380, 17854, -5587, 21757, -27365, 53765, 34657, -18158, 24615, 7895, 42215, -25059, 4752, 40329, 16220, -51052, -8411, -17908, 15959, 12555, -17004, 16480, 2231, -5708, 24553, 46850, -108133, -45579, -3471, 7604, -17974, -38081, 2791, -3667, 22418, 32872, 28706, -14570, 13076, -15067, 12552, -58678, 28603, -14483, 40034, 24403, 27824, 84380, 40031, -26643, -32866, 54429, 25751, 53484, -22775, -67144, 5998, -8751, 769, 15849, -1143, -106692, 8448, 77552, -56131, 62471, 19373, 29313, -83560, -24951, 37004, 84686, -65779, 29662, -5997, 5343, 58319, -22249, 36179, 6430, -43208, -33083, 9711, -8073, -9453, -15334, 18840, -18953, 28052, 41529, 5530, 41552, 24416, 32124, 37029, -4618, 59014, 7129, -9666, -39472, -17870, -14873, -24697, -14354, -2536, 46515, -9711, 28099, 1888, 44718, 29606, 31982, 48370, -13884, 60575, -19141, 5669, -6496, -8898, -26337, 34093, -8153, 10064, -7974, 50938, -12856, -16162, 29050, -937, 12757, 17109, -161, 9598, -8480, -7682, -23102, 31193, 41088, 216, 45770, -9373, -65286, -18100, -38884, 7752, 17701, -11966, -21273, 15259, -30193, -13979, 13306, 27618, 36197, -28969, 18096, 20319, -10899, 42593, -19155, 40728, 47027, -23479, 36717, -7351, 3858, 17226, 3259, 20507, 3759, 43377, -45809, 13140, 73701, -24175, -50989, -41565, 50099, 37615, -18045, -47450, -483, 25259, 15099, -76752, -28864, -87665, -39787, -10777, -4422, 69420, -50093, 19173, 78299, -49200, 23614, -23084, -2178, -28870, -134014, -22817, -11593, 33339, -2004, 3511, 1171, 38727, 25347, 17421, -3102, -56706, 43256, 9087, 47578, 47521, 26172, 26108, 29284, 20464, -84551, 47208, -53721, -77688, -15615, -55239, 65355, -26924, -1712, -9003, 50828, 18677, -66, -9129, 1236, 14969, -269, 52956} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-125, -108, -124, -118, -121, -122, -112, -137, -135, -96, -140, -162, -125, -147, -106, -134, -145, -122, -123, -134, -104, -150, -121, -113, -122, -131, -103, -98, -131, -88, -124, -114, -118, -94, -116, -122, -137, -117, -165, -135, -152, -144, -171, -125, -121, -123, -81, -106, -149, -131, -113, -138, -93, -95, -161, -145, -164, -127, -131, -92, -78, -122, -124, -122, -129, -127, -136, -172, -115, -135, -149, -131, -125, -137, -115, -126, -153, -128, -129, -187, -79, -124, -128, -93, -120, -124, -180, -124, -153, -108, -127, -124, -131, -131, -127, -148, -70, -135, -137, -124, -93, -106, -99, -144, -156, -133, -95, -105, -137, -135, -123, -145, -137, -106, -121, -138, -98, -109, -152, -136, -119, -133, -96, -152, -163, -120, -136, -120, -119, -161, -128, -124, -100, -114, -118, -136, -107, -29, -118, -136, -154, -130, -205, -134, -147, -101, -143, -148, -119, -163, -85, -89, -125, -93, -113, -131, -103, -108, -136, -118, -124, -154, -112, -141, -131, -128, -155, -165, -131, -92, -152, -136, -131, -114, -99, -135, -83, -92, -145, -164, -82, -108, -149, -68, -139, -124, -160, -109, -125, -134, -113, -149, -124, -122, -113, -83, -124, -212, -128, -111, -120, -132, -111, -110, -140, -133, -124, -125, -79, -145, -129, -121, -109, -126, -148, -107, -138, -134, -128, -67, -125, -130, -132, -113, -130, -166, -129, -124, -141, -126, -141, -159, -130, -122, -122, -135, -114, -130, -129, -113, -107, -83, -131, -144, -139, -135, -108, -118, -122, -160, -107, -52, -143, -146, -19, -121}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1911714560, 1605501440, 1888095488, 1559469440, 2059078272, 1501283968, 1440587648, 1324602880, 2124718720, 2087822976, 1095858048, 1919746176, 1686897920, 1622152576, 1107100288, 1628132352, 1348584320, 1101802752, 1708464512, 1697279104, 2056772992, 1098965504, 1674072448, 1722549504, 1900070400, 2044596480, 1471939200, 1608079232, 1294920192, 1476734208, 1728822272, 2010527232, 1656146304, 1122097280, 1521818240, 1689749376, 2085026816, 2090416640, 2073157888, 1192303104, 1654500480, 2023153792, 1803969536, 2076474752, 1893679872, 1346844672, 2002791424, 1845677056, 1150421504, 1273279872, 1993560448, 1695907072, 2145204352, 2147171968, 1140669312, 2105617536, 1273280000, 1725498880, 1366214784, 1169237376, 1782814464, 1865694080, 1198135808, 1253859072, 1285251456, 1424898688, 1665341184, 2135638528, 1477478656, 1827575680, 1542091904, 1867478272, 1089711360, 1889784576, 1693565184, 2063178624, 2038043008, 1197839104, 1943598336, 1561954816, 1907475328, 1148433920, 1827773696, 1962470528, 1093943552, 1678250240, 1260560384, 1633464704, 1525391744, 1315709696, 1888337152, 1414164480, 1635871616, 1282025600, 2075220352, 1168669056, 1194426240, 1576513664, 1740806912, 1167162368, 1571623040, 1107182208, 1322522752, 1288384384, 2030464768, 2102051584, 1201280256, 2084522240, 1536803712, 1557217408, 2007586304, 1264501120, 1852544128, 1252317440, 1111130240, 1392460032, 2129516032, 1165037440, 1110109824, 1241510016, 1732932096, 1580183424, 1850928640, 1336724096, 1175587584, 1703373952, 1283647872, 2056715648, 1513402880, 1521029248, 1288336000, 2128665984, 1530315776, 1241644160, 1875066496, 1170799744, 1088039936, 1169895296, 1469747456, 1845969152, 1244112000, 1185657216, 1204194560, 1450803200, 1556367104, 1107066368, 1702465536, 1433701376, 1195051136, 1259385216, 1296737152, 1168774656, 2024545280, 1816523392, 1634780032, 1253740672, 1166665216, 2060337920, 1610496000, 1583180800, 1793340288, 2132538368, 1901459200, 1239367808, 1457606144, 1194981760, 1194987264, 1532734336, 1675571840, 1650082176, 1314794240, 1599439872, 1491459840, 1085863808, 1203537024, 1093567744, 1107982592, 2058221696, 1745086592, 2099004032, 1369621888, 1895908992, 1905392256, 1167884672, 1544033792, 1485337216, 1513848320, 1314626432, 1730672896, 1143700352, 1579410176, 2130740096, 1459544960, 1590036352, 1667939200, 1597322880, 1195547776, 1157927808, 1544655616, 2112240512, 1847524992, 1886048768, 1595799296, 1999612928, 2003893248, 1844024960, 1428896512, 1694928384, 1566452096, 1784572160, 1971312896, 1770653824, 1309577728, 1135038208, 1579909248, 1288327168, 1185309696, 2041778304, 1746049024, 1210369152, 1144789632, 1711974656, 1254160640, 1157521792, 1080362880, 1289217920, 1424187264, 1114366208, 2058006144, 1271739136, 2098560640, 1213672320, 1276463744, 1162005376, 1278561664, 1129958272, 1191574784, 1159730560, 1605378432, 2141313024, 1320908416, 2024005760, 1794882304, 1903430272, 1510078464, 1618033280, 1110791552, 1082705920, 1443405952, 2056040064, 2116355200, 1156554752, 1274453376, 1513707264, 1339289344, 1110890752}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {253818, -5059, -515, 164201, -479, 72211, 9625, -1252, -1171, 127960, 107470, -1318, -347, -107, -1285, 1774, 226726, 148529, 125002, -570, 155391, 167894, 56, -392, -1887, -961, -23996, -69881, -978, 82944, -1094, 255342, 4023, 14696, 163960, 119195, -1950, 222257, 222645, 81081, 109841, -230, 30, -978, 72100, 472, 78755, 151996, 80430, 126659, -243, -2610, -538, 130454, 315621, 158210, 460537, 206864, -1537, -321, -746, -10993, -2139, 172100, 158677, 13, -28172, 278377, -1145, 102818, 87743, -2314, -3391, -2360, -60, 222714, -1546, 176236, -1542, 89541, 36, -1347, 307219, -3025, -246, -85, 476105, -779, -382, 221794, 120060, -4961, -1104, 158318, 56922, -1293, 60526, -1212, -194, -2158, -1190, -4790, 72888, -756, -1937, 180893, -63353, 209503, -1379, -7, 296226, 167960, -583, -12640, 111349, 2305, -580, -13487, -2135, 237101, -2640, 194732, -304, 228551, 187516, -1201, 96277, -1985, 500, -181, 287074, 144461, -2328, 1144, -2737, -954, -539, 67920, -1388, -76, 179304, -13703, 27267, -1406, -129, 71, -82361, -1008, -769, 159216, 3235, -17365, -1915, 63598, 130078, 231984, 161997, -62, 104167, -1388, 194152, -7586, -10917, 8887, 1935, -1541, 136140, 94064, -10288, 102982, -1018, 250025, 156006, -192, -21691, 4061, 175424, 215664, 141515, -42576, 245982, 204800, -824, 68237, -2867, 371538, 170261, 89557, -1279, 6723, 268151, -1977, -1846, -1087, -1246, -467, 119251, 65690, -558, 1744, 451165, -1548, 255795, -123, -243, -1929, -260, -3351, 56862, -14694, -4028, -65, 242045, -2162, -14959, -1285, -1088, -1437, -1471, 121142, 52398, -2912, -4632, 224711, 146924, -1274, 178572, 5353, -1817, -6105, -28301, -7113, -1332, 152838, 45181, 310875, -2922, 171486, -73, -78, 792, -13592, -2615, -173, 6483, -1423, 78803, -1353, 1073, -10307, 70593, 57411, -456, -624, 23592, 240593} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-685, -97, 196, -606, -113, -426, -174, -108, 204, -360, -457, 333, -111, -182, 260, -97, -510, -502, -471, 153, -443, -426, -96, 268, 172, 160, -30, 142, 145, -396, 167, -408, -134, -64, -444, -586, 75, -666, -428, -451, -314, 337, -195, 184, -445, 99, -325, -381, -465, -466, 133, -108, 275, -358, -510, -385, -785, -453, 233, 25, 261, -66, 200, -508, -442, -128, 309, -651, 154, -445, -340, 160, -104, 259, -67, -439, 141, -411, -119, -487, -84, 302, -565, 383, -115, -116, -586, 130, -122, -470, -439, 209, 146, -464, -313, -100, -309, 199, 170, 231, 153, -106, -438, 142, 176, -516, 385, -699, 130, -194, -731, -568, 269, 205, -422, -138, -102, 142, 363, -577, -120, -421, -190, -659, -500, 190, -379, 187, -140, -205, -502, -381, -108, -119, 297, 320, 177, -460, 218, 192, -380, 272, -173, 246, 104, 294, 138, 193, 125, -607, -129, 126, 329, -446, -328, -500, -692, -116, -401, -115, -419, 101, 206, -118, -149, 248, -386, 239, 350, -464, 145, -574, -484, 307, 251, -110, -467, -682, -421, 123, -433, -488, -129, -434, 456, -1008, -530, -391, 363, -122, -559, 272, 177, 318, 364, -116, -412, -414, 93, 353, -659, 199, -665, 265, -196, 257, 33, 197, -328, 115, 173, -147, -550, 277, 221, 123, 141, 265, 153, -525, -341, 270, -105, -614, -529, 185, -451, -115, 157, 156, -15, 345, -96, -576, -337, -690, 217, -516, 141, -133, 436, 93, 133, 226, -117, 195, -434, 239, -97, 168, -401, -428, 193, 106, -337, -656}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1612308096, 1214901632, 2029526784, 1176395520, 1256091904, 1423280768, 1586874112, 1823007104, 1135992576, 1136277504, 1393652096, 1184265216, 1264901120, 1692803456, 1679503232, 1679388672, 1366255488, 1293633152, 1797028224, 1538229632, 1081184000, 1319819008, 1814530560, 1606498816, 2087554816, 1312440832, 2060611584, 1682031744, 1687403904, 1115497216, 1116936192, 1440045312, 1829644544, 2102484864, 1873603072, 1317486336, 1448714624, 1913283712, 1317709312, 1795431296, 1474273152, 1388654336, 1539341824, 1705097472, 1891485440, 2122821120, 1136507904, 1636746368, 1707048832, 1658668288, 2039453312, 1377376128, 1181587712, 1605509504, 1157691904, 1567321856, 2145575040, 1165770496, 2036157824, 1319087744, 2008640128, 1448650112, 1481003648, 1413661824, 1671953280, 1850069888, 1238702080, 1742682496, 1404100992, 1662537856, 1783044096, 1114253056, 1539113088, 1425412736, 1680514688, 1638513408, 1398041984, 1440372992, 1479944960, 1794385920, 1575485952, 1615606016, 1595250944, 1307035008, 1522138240, 1120871168, 1802875264, 1631594880, 2124568192, 1567160448, 1474037760, 1179132544, 1262606208, 1732134400, 1437824640, 2023657344, 1551135104, 1365003392, 1446178176, 1401789056, 1453573248, 1807416576, 1146543872, 1699628032, 1113980416, 1144476160, 1849113856, 1597019392, 1529237248, 1376330368, 1489333760, 1154320512, 1787151360, 1168863360, 1525920256, 1704613632, 1212201088, 1862440064, 1317519488, 1515805696, 1491233664, 1839968896, 1173480192, 1194976000, 2003103360, 1448322432, 1654705920, 1865163264, 1140770944, 1987291392, 1437757056, 1630680320, 1322728960, 1091521408, 1196033152, 1784743808, 2092953344, 2014876672, 1276127488, 1851432832, 1352535808, 1324783232, 1430105472, 1662053248, 1093860480, 1189944320, 1091797120, 1357053568, 1990655872, 1873222784, 1322490624, 1375312384, 1234472832, 1266157312, 1402072704, 1915917696, 2065371648, 1886838016, 1605293824, 2026882176, 1387177856, 1617709312, 1119957632, 1780972416, 1664410496, 1610536960, 1958272512, 1355166976, 1200970496, 1092593024, 1535869696, 2114626432, 1117919744, 2021553408, 1565755264, 1923814528, 1282013824, 1642510592, 1485109504, 1532742656, 1864434176, 1281523712, 1524111360, 2061363456, 1560144512, 2052908416, 1169866752, 1722469248, 1355216896, 1984477056, 1844018176, 1345038080, 1192524032, 1832044544, 1529509120, 1221937664, 1405377920, 1959723520, 1431544192, 1781565440, 1740916352, 2009329024, 1991926016, 1778190336, 1601558272, 1295576192, 1802725632, 1701214976, 1277888128, 1125292800, 1792294144, 1232497152, 1395106176, 1560499968, 1515658368, 1385456768, 1872198272, 1797213056, 1677431424, 1376223744, 1362309248, 1197009664, 1822966912, 1148631296, 1397377408, 2046711808, 1470986496, 1150334208, 1354445568, 1693634816, 1922778112, 1301624192, 2038540288, 2008502656, 1794421888, 1083811456, 1404174592, 1115999104, 1748264064, 1665814144, 1533924608, 1383079296, 1235972736, 1114838272, 1244521344, 1376056576, 1189336960, 1160525184, 1930700032, 1659255936, 1189039360, 1211421696, 1993150720, 1764285824, 1415875712, 1481683072}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {-14713, 19043, -18796, -31730, -16207, -1278, -12547, -40146, 13974, 26597, -17098, 21177, 1501, 24461, -38705, -5584, -19876, -1862, -12880, -35898, 14349, 41877, -280, 4709, -15532, 11365, -5135, -2610, -21309, 11746, 22204, 12810, -22375, 21265, -28600, 6222, 36, -18430, 2769, -29412, 22399, 26901, 4333, -34365, -13457, 24967, -32626, 2646, 5568, 16335, 37504, 4069, 10717, 14675, -40463, -2831, -18178, -7516, 28783, -5863, -17044, 7199, -19247, 9747, 5633, 19336, 16540, -4582, 6414, -11740, -12778, -12919, 34727, -15930, -8549, -12151, 33910, 26702, -6614, 8811, -19655, -1497, -25620, -30803, 15207, -18506, 26934, 6495, -2955, -23360, 15732, 16957, 25874, 379, 7127, -17856, -24769, 18015, 28674, 18309, 21923, -45334, 793, -2515, -23005, 35064, -22997, 12198, 17266, 22335, 35352, 4944, 28630, 31255, 32014, -29253, -49247, 12712, 16725, -26118, -9273, 18244, 3790, -22483, -6985, 19641, -37203, -9690, 3214, -20587, -10637, 21059, -11395, -31644, -17691, -10707, -6975, 27173, -28855, 1636, -7310, 21877, 4325, -20836, 12586, -17341, -24888, 16784, -16176, -16025, 28249, 21253, -19596, 13663, -50541, 64062, 26261, -18787, 23651, -39399, -4083, -4203, 24456, 9450, 2691, 9799, 19755, -10065, -13137, 4106, -15247, 7798, 9417, -12295, -29266, -4972, -12198, -28944, -25925, -34329, 2291, 52058, 17821, -31050, 40553, 11090, 2706, -37932, 23836, -3834, -660, 25026, -12431, -37631, -42584, -12798, 43234, -50726, -14265, -18494, -29530, -19195, -10433, -9752, 15812, 23521, -16112, 10422, -20349, -29627, -10583, 9081, -30872, -4200, -8928, -29105, 23075, -9870, 7273, 35220, -28464, 2896, -5727, 14783, -3423, -18290, -38020, -15300, 10858, 10366, -28832, -5029, -42840, 14240, -18712, 33205, 21258, -17083, 10370, -25564, -8996, -10089, -12148, -3829, -1740, -19784, -24349, -4434, 1240, 3103, -3971, -16557, 33064, -7155, -45993, -4096} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-144, -140, -68, -155, -149, -131, -128, -114, -145, -104, -134, -146, -164, -168, -128, -140, -126, -147, -143, -98, -119, -131, -125, -159, -136, -129, -148, -147, -134, -157, -170, -121, -160, -168, -135, -133, -143, -131, -40, -132, -142, -134, -140, -146, -135, -173, -133, -132, -215, -155, -149, -116, -107, -137, -170, -141, -107, -110, -173, -151, -141, -133, -147, -132, -127, -167, -170, -116, -126, -143, -181, -147, -135, -116, -157, -112, -106, -140, -155, -131, -133, -104, -106, -135, -121, -133, -183, -186, -133, -111, -126, -162, -140, -149, -131, -133, -127, -124, -167, -125, -151, -142, -126, -122, -144, -149, -128, -167, -131, -143, -154, -151, -120, -160, -130, -150, -122, -171, -161, -149, -120, -116, -162, -138, -167, -178, -106, -126, -135, -124, -141, -149, -122, -156, -97, -142, -138, -134, -109, -133, -143, -204, -149, -142, -163, -162, -156, -146, -137, -157, -138, -126, -84, -153, -131, -125, -110, -92, -125, -117, -139, -155, -123, -128, -118, -111, -136, -105, -147, -137, -134, -127, -154, -130, -120, -157, -150, -142, -102, -144, -126, -122, -119, -139, -135, -152, -131, -123, -111, -126, -121, -152, -145, -129, -148, -157, -137, -145, -167, -134, -155, -134, -155, -114, -174, -158, -152, -152, -110, -131, -124, -157, -129, -143, -136, -131, -143, -144, -149, -151, -117, -120, -171, -162, -110, -110, -121, -109, -152, -164, -138, -161, -110, -127, -147, -141, -130, -136, -151, -123, -132, -129, -126, -147, -135, -151, -141, -126, -125, -165, -159, -135, -177, -118, -144, -142}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1893690880, 1620074752, 1412913920, 2114335616, 2005385984, 1578166912, 1456103680, 1925592704, 1912602880, 1783172864, 1766420864, 1174386560, 1398876800, 1916148608, 1420010368, 1988756864, 1377314304, 1077749248, 1803408256, 1854922624, 1503178880, 1603876096, 1613480064, 1113191936, 1657086208, 2069805312, 1774354560, 1587661824, 1596515456, 1851433088, 1102987648, 1697498752, 2028075776, 2121432192, 1125325568, 1232336256, 1648446336, 1696498304, 1714386432, 1854123008, 1952683264, 1517538304, 1618481664, 1512236032, 1768750080, 1902272000, 1677685632, 1635764992, 1141230976, 1113404288, 1593192576, 1113629440, 1837187328, 1550137472, 1495768320, 1725177216, 1561679872, 2071655040, 2013769216, 2094844672, 1676168192, 1844270976, 1293456896, 1627506688, 1638776448, 1118245120, 1104787968, 1610891136, 1133217792, 1537491200, 1159586304, 1888929536, 1667678464, 1074267904, 1641169536, 1935161216, 1923494400, 1587225472, 2130113280, 1472752256, 1774299648, 2021226496, 1930344960, 1688733184, 1771126912, 1441942656, 1325928832, 1208636800, 1731282048, 1753605504, 1986293120, 1987784064, 1565816960, 1120053632, 1863488512, 1826041856, 1529608320, 1498271616, 1204797696, 1529074048, 1201235072, 1089673216, 1993699840, 1943783808, 1079506048, 1703213056, 1425103488, 1918497792, 1146139008, 2036105216, 1773985280, 1566518912, 1933880192, 1868591616, 1860162816, 1728693376, 1945492480, 1385257344, 1110203648, 1575267712, 2119009408, 1704662272, 1248272384, 1517387264, 1265136640, 1117866624, 1989500288, 1994860416, 1917305728, 1876608384, 1532675968, 1634522112, 1764290560, 2111967872, 1757803904, 1788711680, 1858635136, 1683148800, 1877273472, 1364766080, 1712444544, 1273658368, 1437410688, 1361297024, 1737381888, 1845328640, 1985540992, 1327724928, 1825930240, 2072364544, 1489701376, 1909964416, 1976358400, 1717146368, 1645460736, 1310006400, 1208054656, 1923963904, 2015928576, 1333598080, 1833067008, 1550214400, 1596680192, 2129276928, 1108339968, 1714503168, 1444685184, 1747322496, 1644289920, 1559036928, 1536452864, 1532514560, 1994194560, 1429736832, 1699251456, 1265583744, 1873929600, 1704885120, 1536311552, 1868614400, 1864895488, 1767135104, 2109855872, 1783368576, 1616584448, 1196247936, 1490154880, 1893235968, 1832518272, 1878125312, 1644756352, 1705093120, 1615216384, 1723781760, 1117637888, 1496894848, 1832763904, 1567289088, 1207970688, 1609939200, 1972670464, 1798045056, 1513523200, 1565566848, 1870011008, 1277710976, 1879816704, 1631041408, 1774040192, 1795809664, 1898724992, 1569193472, 1579080192, 1562509696, 2031398912, 2013885952, 1460458368, 2116702592, 1806272128, 1512928512, 1900561280, 1577067136, 1834564480, 1701564672, 1271355520, 1911692416, 1133742336, 2049103488, 1924542976, 1892325504, 1860192128, 2089602688, 2036272384, 1738515712, 1662696704, 1925997824, 2105451776, 1733408128, 1787473792, 1662981888, 1383091456, 1673630080, 1277244928, 1340438528, 1080511616, 1894487040, 1933717888, 1751508224, 2131560064, 1521993984, 2024899968, 1103744000, 1721690496, 1946157824, 1775341184, 1594617600}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-314, 2153, -6941, -2287, 8135, -528, 4000, 1544, -446, -3713, -2997, -4400, 562, 2662, -517, -1236, -2176, -2052, 2291, -2070, -1366, 6006, 6297, 4374, 1005, -204, 5748, 2604, 1412, -1503, 3807, 246, 638, -2464, -237, -9450, -2007, -3792, 2853, 930, 316, 1140, 3389, -2100, -1444, 2652, 4361, -1132, -5084, 1492, 1239, -3581, 2139, 4065, 987, -1714, 4092, -1179, 5195, 3467, 1890, 2134, 1555, 3903, 1721, 5052, -4919, -1416, 1159, 3226, -5638, 4634, 2951, 2227, 1957, 8255, 5351, 6491, 4611, 3887, -3471, -828, 3641, -11026, -781, 232, -3600, 3325, 2977, 5352, -1942, -4235, -464, -1742, -1222, -5932, 3419, -3777, -6146, -4787, -1508, -4626, 1680, 5175, 2775, 1958, 5184, -673, -4651, -9705, -8676, 15205, 7139, -463, 4265, -11812, -7878, 811, -1671, -3449, -1655, -5522, -6912, -4377, -2185, -7511, -2379, -3700, -732, 2509, -910, -2632, 2981, 726, -7940, -3930, -5895, -3876, -4769, -6107, -4176, -2341, -2498, -4666, -2473, -1443, -4355, -9302, -2882, -3772, 2285, 11, -8534, 6940, -3209, 2933, -72, -9708, -6900, -2516, -3597, 6276, 6807, 3026, -2385, -2928, -2112, -8228, -2311, -7746, -1928, 7410, 930, -1900, -624, -9859, -6489, -5513, 8750, -565, -3228, -2602, 1224, 333, 3394, 3981, 1446, 3432, -5268, -1080, -2630, 6087, -1593, -5530, -5166, 12932, 1879, 242, -5061, 2791, -7146, 2295, 6194, 5516, 4386, -3315, -4298, -8125, -5565, 6381, -5428, -272, -2431, -543, 1673, -4562, -809, 6939, -1807, -3302, -1649, -2184, -4884, 8886, -3279, -1887, -2650, -7082, -7953, 5260, -4021, -10294, -7815, 1662, 1728, -2334, 2747, 6192, 2788, 5488, -2325, -2919, 319, -5863, -6741, 2595, -5721, 1956, -2711, -3665, 1441, 4904, -3064, -2281, 9297, -9441, -1746, -637, 660, -3157, 1080, -2505, -5552, -2744, -3419, 1416, 1656, -4557, -7222, 3245, 5503, 1343, 5537, 3303, -4262, -4515, -100, 2105, -3799, 898, 4236, 8713, -5016, -249, 6665, 5772, 4368, 1182, -942, 1278, 276, -5534, -2084, -992, -1138, 2401, 3007, -3844, 1956, 867, -7220, -1527, -7167, 93, -12264, 3889, 1478, -4000, -426, -8437, -2670, -4542, -3427, 6384, 6098, 3525, 557, -4919, 2522, -3136, -4761, -8380, -12199, -8321, -4421, -8296, -11999, -1263, -3643, -2194, 3035, -459, 1390, 832, 3170, -1485, 140, -2333, -7675, -3239, -233, -3229, -2549, -1467, -3434, -3065, -241, -1265, -4640, -736, -1232, -827, -4092, -2488, 4850, -4799, 876, -298, -133, 4244, -1403, 4805, 3965, 287, -412, 2656, 530, 4060, -1982, 2170, -3075, -4258, 290, 3208, 2947, -434, 2962, -296, 3374, 4105, -1396, 5901, 4446, 1655, -4875, 3384, 1835, -3344, -2331, 543, -1599, 6989, -7744, -4409, -2679, 2020, -4291, -3399, -9585, 7850, -1878, 3456, -500, -1576, -10718, -836, -3155, -4328, -8466, -1565, 1651, -5373, -1852, 6091, 3240, 417, 7498, -4034, 1796, 3567, -1668, 1274, 2295, 8970, 13067, 5198, -5041, 466, 833, 4731, 912, -1708, 3461, 770, -93, -208, -3705, -5734, 2608, -5763, 4234, -272, -1309, 1896, 329, 3987, 2169, -821, 5381, 36, 357, 1376, 545, 2605, 2311, 371, 2827, 2905, -1818, 3567, -4263, 2274, 3, -987, 9098, 12150, -1495, -2043, 1981, -5336, -3054, -2299, -3400, 2837, -4544, 1313, -4386, 748, -885, -4911, 4190, 3775, 357, -1731, -7353, 1308, 3092, 550, 55, 8444, 1814, 5653, 3898, -2777, -6108, -2235, 3337, -7878, 403, 13445, 6568, 293, -3375, -2697, 5178, 47, -1004, 618, 2333, -3680, -3650, -6397, 103, 915, 2329, 5739, -3199, -4365, 898, 8311, -6230, -2117, -4274, 9378, 560, 270, 4222, -3677, -147, 7295, 4548, -2594, -22, 3467, 5912, -2317, -5060, 4029, -1501, 2557, -4462, -787, 2071, 1146, -4740, 10867, -1307, -8998, -2277, 11597, -3540, 3254, 2841, 18, -2124, -365, -4619, -1157, 2758, 1516, -4037, -1000, -1750, 4130, -7293, 2610, 3388, 1995, 6800, 1559, 3351, -4283, -1307, 2700, 3346, 4559, 2839, 5853, -1088, 4720, -1191, -6967, -2943, -3601, 3881, 3712, -200, 10694, 593, -64, -5512, 4085, -1252, 5540, 2310, -7045, 7199, 4902, -5983, 3292, 9328, -250, 2929, -602, -781, 2634, 9248, -666, 3823, 1205, 2065, -171, -945, -2634, -2500, 2555, 27, 4348, 7316, -2757, 3900, 4379, 3523, 14072, 1377, -878, 3517, 3486, -2767, 278, 3635, 42, 6816, 6215, 3653, -1521, 2400, -2321, -605, -3599, -8381, 7, 1399, 776, 1953, 1024, 2506, 1212, -592, 1682, 5417, 4069, 179, 957, 935, 8435, -5183, -3887, -2986, 4994, 2472, -4424, 3326, -5960, 3968, 216, -1766, 1296, -7149, 4801, -796, 7071, 975, 2574, 2921, -2807, -11614, 12132, 8091, -2865, 1894, 6340, -1128, 4094, -526, 2689, -712, -270, -8447, -4728, -3716, 2886, 3322, -3618, 1908, 5694, 4776, -5229, -3660, -5679, 7406, -4998, 3251, 7937, -3286, -7093, -4001, 1778, -11347, -4008, -3582, 8083, 4236, 7426, 5912, 1537, 4720, -8525, 1057, 2843, 7901, -3178, 5149, -3926, -6267, -4147, 7710, -4202, 878, -1322, -4395, 1221, 1895, -3315, -3566, -283, -315, 1379, -3892, 3319, 2141, 7662, 1064, 2554, -5883, 2612, 5450, -165, -3081, 9184, 4196, 1946, 6233, -1078, -1101, 220, -1096, -3296, -767, -2169, 5752, 180, -1816, 6754, 11847, 2781, -7142, 1163, 721, 5214, 6447, -8973, -4441, -1879, 8423, 3743, 6228, 11596, -8277, -1076, -3095, -1762, 1076, 6841, 5090, 3887, -3406, -824, 9134, -6077, -12644, 5043, 5303, 2769, 9059, -2572, 2857, 6998, -447, 4985, -2179, -5407, 1076, -2085, -4935, 2472, -2188, -8390, 2755, -3421, -5379, -5502, -2778, 2689, -4616, 380, 960, -7491, -438, 3337, -3593, -2254, 3620, 6088, 7035, 4951, -607, -7376, 6378, -3212, 6087, 2669, -4638, -4583, 9704, -12167, 8339, 9317, 1187, 1084, -1131, 277, 7237, 2691, 6636, 11509, -5919, -2477, 3799, -3519, 3504, 2167, 370, 3580, 3008, 8666, -7770, 641, 4732, 6032, 295, 2450, -2103, -2199, -4577, -2742, 91, 547, 3205, -1365, 446, -9477, 656, -4706, -9667, 1868, 1451, 983, -6353, 8624, 11354, 1752, -1108, -4666, 1805, 25940, -6396, -4367, 2609, 251, -253, -390, 9909, 4052, 1124, -1742, -4756, 2797, 4011, -2252, -7383, -1877, -3297, 8969, 9356, 10413, 4898, 3324, -5006, 1090, 2400, 16761, -5563, 463, -4047, -1933, 2330, 4300, 1469, 2522, -2603, 2130, 6240, 465, -8154, -2579, -7080, -230, -247, 5275, -595, -3462, 1620, -4910, -4629, -236, 7131, -2238, 1359, -6048, -1349, -1192, -2338, -810, -3079, -1535, -5880, -5045, 1396, 329, 40, -230, -3604, 2427, 3881, 1669, -4394, -302, 3204, -9832, 1076, 4680, -89, 2486, -5724, -1517, 1381, 1703, 2246, -3098, -501, 6712, 3313, -4587, 852, 870, -1140, 8571, -183, -659, 2537, 1083, 5216, -5441, -3029, 3308, -4064, -4099, -817, -7498, -2384, -5053, -4778, -13943, -3170, -6811, -1345, -6165, -3091, 5160} +#define FC28_W_Z (164) +#define FC28_IN_Z (0) + + +#endif /*__224_0_25_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/224_0_5_parameters.h b/Inc/intq-mobilenet-v1-models-pc/224_0_5_parameters.h new file mode 100644 index 0000000..39e75a3 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/224_0_5_parameters.h @@ -0,0 +1,361 @@ +#ifndef __224_0_5_PARAMETERS_H__ +#define __224_0_5_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (224) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (16) +#define CONV1_OUT_DIM (112) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (112) +#define CONV2_IM_CH (16) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (16) +#define CONV2_OUT_DIM (112) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (112) +#define CONV3_IM_CH (16) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (32) +#define CONV3_OUT_DIM (112) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (112) +#define CONV4_IM_CH (32) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (32) +#define CONV4_OUT_DIM (56) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (56) +#define CONV5_IM_CH (32) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (64) +#define CONV5_OUT_DIM (56) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (56) +#define CONV6_IM_CH (64) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (64) +#define CONV6_OUT_DIM (56) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (56) +#define CONV7_IM_CH (64) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (64) +#define CONV7_OUT_DIM (56) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (56) +#define CONV8_IM_CH (64) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (64) +#define CONV8_OUT_DIM (28) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (28) +#define CONV9_IM_CH (64) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (128) +#define CONV9_OUT_DIM (28) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (28) +#define CONV10_IM_CH (128) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (128) +#define CONV10_OUT_DIM (28) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (28) +#define CONV11_IM_CH (128) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (128) +#define CONV11_OUT_DIM (28) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (28) +#define CONV12_IM_CH (128) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (128) +#define CONV12_OUT_DIM (14) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (14) +#define CONV13_IM_CH (128) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (256) +#define CONV13_OUT_DIM (14) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (14) +#define CONV14_IM_CH (256) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (256) +#define CONV14_OUT_DIM (14) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (14) +#define CONV15_IM_CH (256) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (256) +#define CONV15_OUT_DIM (14) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (14) +#define CONV16_IM_CH (256) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (256) +#define CONV16_OUT_DIM (14) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (14) +#define CONV17_IM_CH (256) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (256) +#define CONV17_OUT_DIM (14) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (14) +#define CONV18_IM_CH (256) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (256) +#define CONV18_OUT_DIM (14) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (14) +#define CONV19_IM_CH (256) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (256) +#define CONV19_OUT_DIM (14) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (14) +#define CONV20_IM_CH (256) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (256) +#define CONV20_OUT_DIM (14) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (14) +#define CONV21_IM_CH (256) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (256) +#define CONV21_OUT_DIM (14) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (14) +#define CONV22_IM_CH (256) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (256) +#define CONV22_OUT_DIM (14) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (14) +#define CONV23_IM_CH (256) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (256) +#define CONV23_OUT_DIM (14) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (14) +#define CONV24_IM_CH (256) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (256) +#define CONV24_OUT_DIM (7) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (7) +#define CONV25_IM_CH (256) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (512) +#define CONV25_OUT_DIM (7) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (7) +#define CONV26_IM_CH (512) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (512) +#define CONV26_OUT_DIM (7) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (7) +#define CONV27_IM_CH (512) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (512) +#define CONV27_OUT_DIM (7) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (512) +#define FC28_OUT_CH (1000) + + +#endif /*__224_0_5_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/224_0_5_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/224_0_5_weights_bias.h new file mode 100644 index 0000000..136f88a --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/224_0_5_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __224_0_5_WEIGHTS_BIAS_H__ +#define __224_0_5_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {71920, 28864, 108531, 848172, 156014, -2281707, 42737, 89325, 16912, 17301, 17507, -81936640, -13100016, 405716, -60267, 101681} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-134, -154, -177, -198, -159, 162, -148, -71, -103, -75, -124, -448, -4, 635, -205, -175}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1605465088, 1587449088, 1272619648, 1504286208, 1543174400, 1930177920, 1299367808, 1313174144, 1926301824, 1827882752, 2143166080, 2099469312, 1164349056, 1178036352, 1345707264, 1744077440}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {2796, 11402, 51392, -22759, 17792, -1679, -2174, 15408, 2149, -32509, 17377, -659, -312, -6512, -968, 63155} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-60, -153, -239, -98, -172, -47, -66, -205, -127, -70, -113, -27, -227, -186, -33, -191}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1093731456, 1541005568, 1192309888, 1258081664, 1657252480, 2140079104, 2069483648, 1296642048, 1108245120, 1112817024, 1652352000, 2006396416, 1131426304, 1081399936, 1405536640, 1880903552}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {31877, 5085, -32655, -25983, -646120, -18297, -51959, -10065, 12419, -16906, 31685, -2150, 54684, 33492, -8069, 9505, 50412, 17891, 4081, 28834, 46024, -3736, 31353, 16159, -23118, -7466, 40296, 12233, 22492, -3133, 20229, 40336} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-136, -80, -110, -75, -118, -98, -1, -73, -122, -29, -128, -31, -245, -136, -163, -90, -169, -171, -119, -249, -209, -27, -175, -137, -55, -34, -201, -165, -183, -98, -234, -193}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1392493952, 1710505728, 1376327552, 1244110080, 1335145856, 1585107200, 1204965632, 1823525120, 1631080064, 1628714112, 1463822720, 1085111808, 1207324032, 1241074944, 2140729472, 1251307904, 1808182784, 1491061632, 2112869504, 1344014848, 1563511936, 1608138240, 1171575040, 1871457664, 1375402752, 1833777664, 1565733760, 1318586752, 1439889408, 1733868416, 1626714752, 1443216256}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {106, 15116, 2374, 528, -30, 293, 8198, 932, 4949, 157, 250, 447, 203, 5848, 2486, 1837, 309, 1867, 450, 3540, 1253, 446, -36, 23, 1222, 235, 886, 4173, 2515, 1551, 1224, 7042} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-131, -251, -125, -135, -246, 55, -281, -208, -229, -141, -134, -125, 35, -220, -164, -162, -100, 17, -105, -334, -38, -36, -144, -116, -113, -55, -136, -181, -143, -209, -232, -234}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1254663296, 1312367872, 1580456192, 1325291392, 1283121920, 1220045184, 2095224448, 1312495360, 1528671104, 1241263744, 1382667648, 1829735936, 1798612864, 1269139840, 1475137152, 1450661888, 1328480512, 1911696896, 1352565632, 1493501440, 1736263296, 1458532864, 1681830912, 1155419136, 1516463104, 1252131328, 2143085184, 1554540544, 1669967616, 1961120512, 1869170304, 2053614336}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {-2611, 31658, 23283, 13146, -30507, -26862, 32401, -21566, -461, 19604, -3974, 43442, 50855, 11334, -17713, -902, 3401, 34858, 45515, -12404, -5757, -2142, 23890, 25045, 6817, -36278380, 2316, -2349, 38345, -104, 21556, -75308, 2751, -14050, 3274, 15275, 36569, -13277, -16172, 37304, 21371, -9887, 16275, 38097, -13104, -31677, 10617, 5695, 20737, 127944, 50330, 63689, 1376, 4602, -2520, 38810, -10394, -2294, -510, 3045, -22733, 24221, 50126, -27170} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-85, -157, -80, -67, -60, -87, -171, -88, -99, -125, -158, -111, -67, -110, -66, -167, -120, -114, -154, -67, -112, -114, -113, -220, -125, -101, -144, -129, -136, -114, -184, -32, -60, -85, -131, -58, -118, -126, -40, -164, -108, -160, -124, -85, -128, -45, -101, -153, -129, -82, -136, -166, -96, -155, -143, -191, -41, -219, -130, -140, -24, -204, -169, -79}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1725963264, 1083520640, 1315480192, 1526363904, 1815685760, 1660581632, 1319956480, 1706384896, 1573492224, 1725800960, 1525818880, 1719804416, 1323001088, 1184641920, 1174044672, 1932849024, 1818185344, 1438209152, 1975174912, 1774624384, 1908860160, 1242834560, 1668196992, 1824807040, 1323681792, 1377357440, 1499718528, 1412704256, 1644596352, 1674470528, 1243882112, 1128879872, 1813321472, 1663765504, 1935805696, 1569843200, 1364119680, 1559118976, 1719115520, 1218075776, 1115056128, 1689516544, 1811710976, 2081497472, 1237249024, 1092204032, 1606352000, 1675419264, 1802882432, 1358559488, 1481309952, 1182355456, 1521099648, 1295396864, 1834478464, 1504785920, 1427723904, 1681237120, 1599827456, 1900556160, 1989361536, 1443716352, 1149610880, 1549349632}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {-377, 15384, 496, 23747, -5812, 8242, 30187, -5558, 9320, 1041, 1782, 1373, -246, 5741, 21765, -18279, 51, 5117, -960, 18453, 11654, 1704, 253, 1471, 20570, -601, 1458, 28696, 1274, 39541, 1310, 18589, -254, -879, 51385, 324, 399, -138, 1878, 4879, 16840, -10791, -928, 2310, -80, -3271, -11498, 6144, 11321, 86010, 320, -6, 2725, 24525, -4961, -120, -9991, 4278, -8773, 3069, 21195, 3407, 4767, -3018} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-79, -110, -89, -215, -20, -154, -145, -44, -128, -148, -91, -94, -140, -115, -149, -21, -106, -63, -114, -118, -71, -135, -114, -38, -240, 14, -134, -209, -105, -221, -22, -168, -93, -93, -236, -125, -143, -92, -38, -128, -161, -79, -44, -107, -70, -39, -19, -87, -43, -156, -102, -120, -125, -155, -27, -95, -20, -178, -14, -108, -191, -112, -90, -60}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1169913088, 2054665728, 2075050752, 1075953664, 1288141696, 2054427392, 1777249152, 1703121792, 1320954240, 1116440832, 1353466880, 1199127040, 1576902016, 2133992960, 1211460992, 1137925504, 1159221632, 1553209472, 1780280576, 1251738496, 1470870016, 1554865792, 1241495296, 1103131008, 1600627968, 1122539904, 1501997056, 1606907392, 1154316416, 1563594368, 1750485120, 1288572160, 1389597568, 1710684800, 1328522112, 1394927872, 1199126144, 1896202112, 1189435648, 1135080960, 1390364032, 1709090560, 1357248768, 2104984704, 2034453120, 2004350464, 2025744256, 1433237632, 2044009856, 1261042944, 1110316672, 1909269760, 1183451520, 1091391872, 1503791232, 1940696576, 1606373248, 1152055680, 1182105984, 1530416384, 1995963392, 1158761088, 1237621888, 1776624128}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {17984, 13641, 27993, -5632, -35617, -16625, 10249, -26364, 58454, -3294, -7447, 25317, 661, 4884, 1013, -12444, -6941, 9115, 36292, 3579, -9064, 1848, -16636, -24286, 11845, -15462, 3061, 39912, 388, -3396, 160, 8039, 7620, 37468, 25180, 3675, -10197, 17751, -13648, -1548, -18795, -13937, 35998, 3774, -12524, 2138, 7375, 25700, 7056, -16701, 37461, -4212, 16901, 18369, 492, 33100, 35362, 9047, -3066, 13538, 31510, 33796, 14146, 10477} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-82, -92, -153, -125, -77, -91, -127, -97, -124, -167, -137, -60, -81, -133, -146, -89, -81, -55, -112, -119, -150, -70, -69, -116, -51, -100, -162, -128, -186, -28, -153, -113, -151, -74, -159, -64, -81, -115, -163, -63, -110, -130, -154, -231, -97, -32, -139, -166, -101, -83, -149, -188, -141, -127, -85, -175, -175, -57, -52, -179, -148, -157, -153, -140}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1569987328, 2130669184, 1128498176, 1741495936, 1622119936, 2091998592, 1637474560, 1954817664, 1200524544, 1093283328, 1090223232, 1312543104, 1288346624, 1512659072, 1775673344, 1436393344, 1358703360, 1189969536, 1095384064, 1837889536, 2025105664, 2026283392, 1274579712, 1145411328, 1199717888, 1940947200, 1271265792, 1515637376, 1652691328, 1200431104, 1831893632, 1314529792, 1811051520, 1302068096, 1105629440, 1457949440, 1867989888, 2023301376, 1448895616, 1951261184, 1471821056, 1416588544, 1519951232, 1135070208, 2106323456, 1984968576, 1401697920, 1722835840, 1314437120, 1778809216, 2014083200, 1636074240, 1433879424, 1135922816, 1571417472, 1704657792, 1075593216, 1141565824, 1211788928, 1234503552, 1564901120, 1387345408, 1264391552, 1633633152}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {2052, -29013, 99591, 107784, 33516, -5085, -36531, 9349, -2020, 12526, 90679, -34803, 66511, 47312, 256656, 9509, -894, 52392, 80429, 345992, 199182, 2979, 17796, 143854, 17184, 6106, 703, 17422, 180216, 28954, 119953, -1258, 154851, -52462, 2101, -216, 51, 105731, 105422, 123856, 11651, 36985, -2769, 103760, 28597, 8558, 155182, -2791, 1192, 14160, -42023, 10182, 2706, 37945, 200139, 112519, 99947, 12321, -2710, 21074, -83584, 3894, 7179, 149419} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-142, 37, -311, -317, -302, 14, 49, 57, -111, 66, 72, 9, -319, 93, -333, 54, 64, -296, -282, -319, -341, 49, -289, -307, -192, 82, 59, -142, -319, -228, -302, 65, -336, 34, 58, -63, -108, -293, -291, -280, 77, -294, -145, -296, 59, -156, -333, -125, 55, 96, 47, 61, 64, -184, -325, -321, -319, -78, 144, 74, 86, -111, 71, -313}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1936443648, 1756141184, 1182611584, 2138948480, 1352247680, 1509667456, 1491144192, 1338449024, 1136431488, 2045920384, 1586750848, 1627945856, 1618607104, 1525769088, 1863101440, 1159057152, 1694066432, 1734215680, 1629370624, 1696211456, 1135007104, 1491123968, 1249817984, 1778469376, 1561771264, 2048583296, 1182902016, 1126659840, 1160892672, 1837269888, 1750809472, 1849130880, 1396580864, 1197371520, 1239049728, 1489120640, 1954013440, 1104141952, 2064845696, 1621206400, 1588335872, 1245773824, 1934667904, 1084375296, 1767487360, 1126464512, 1994239360, 1673001984, 1475944960, 1409329152, 1524587520, 1869229056, 1786258944, 1391444608, 1531490432, 2030932224, 2057924352, 1953156736, 1127852544, 1330335616, 1304633216, 1905694848, 1282215424, 1920464768}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-15791, 48503, 62480, 138608, -12022, 52907, -13094, 44066, 45940, 32543, 8379, 64035, -62189, -32354, -17636, 49698, -10579, 98434, 4202, -58387, -38941, 10830, 6341, 28489, 28136, -46973, -25369, 1087, 41114, 95667, 57705, -20192, 204717, 37092, 25137, -18320, 41755, 46871, 80408, 94880, 35884, 100566, -22224, 2550, 22490, 33295, -9123, 19002, 3455, 86011, -16089, -34790, -15020, -8879, -51048, 40687, 83157, 18305, -64487, 52403, 10515, 38907, 54000, 29420, 11010, 26789, 80666, 14756, 15156, 32206, 11347, 133924, 3147, 31420, -116287, 16647, 18345, -12571, 36873, 55167, 38961, -26968, 36943, 39448, 4270, 80289, 3632, 8741, 41453, -82170, 17017, -63387, 11454, 9537, 3393, 105516, 20395, -27722, 7677, 46865, 85655, 45495, 11267, -45836, 34157, 63174, -8006, 31186, 35799, 89262, 131984, 10301, 42654, 1357, 88762, 22045, 33255, -9780, 15, 8165, 73246, 48606, 22775, 152066, 20697, -21169, 10641, 38745} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-95, -123, -206, -100, -68, -114, -142, -144, -135, -47, -115, -81, -37, -87, -84, -138, -103, -151, -121, -110, -64, -135, -101, -148, -114, -132, -89, -117, -187, -104, -187, -121, -173, -101, -134, -119, -131, -110, -163, -133, -95, -153, -106, -68, -150, -69, -59, -164, -179, -163, -110, -83, -125, -75, -116, -95, -100, -157, -136, -180, -136, -165, -73, -145, -99, -104, -178, -109, -90, -81, -105, -145, -197, -84, -139, -126, -142, -121, -139, -125, -185, -81, -109, -109, -146, -161, -140, -106, -152, -68, -99, -78, -125, -141, -101, -165, -137, -139, -116, -74, -154, -100, -92, -98, -133, -135, -107, -182, -192, -158, -153, -87, -160, -105, -211, -78, -165, -118, -121, -157, -213, -171, -108, -165, -44, -114, -94, -99}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1141344128, 1089676800, 1388963328, 1543539584, 1075087744, 1737983616, 1584734720, 2117298944, 1901415808, 1492832384, 1280862080, 2062325376, 1996976128, 1086317440, 1877472768, 1207385728, 1256621824, 1469517056, 1183709056, 1361758080, 1412522240, 1372507904, 1335875584, 1089307264, 1711932032, 1581972992, 1208038656, 1538105472, 1258989184, 1402572544, 1216090752, 1335531264, 1217492736, 1699973888, 1217939072, 1438812928, 2013163904, 1180600576, 1682404224, 1230445568, 1274625536, 1335903872, 1102435584, 1454967296, 1480007296, 1772080640, 1921817984, 1632429056, 1466444160, 1670146048, 1514475776, 1793974144, 1329929984, 1253979136, 1509949184, 1583965824, 1524437120, 1929718656, 1146914944, 1187108480, 1350754304, 2067856512, 1402011520, 1964769280, 1429616000, 1385122560, 1285193472, 1533789824, 1248283392, 1486212992, 1539312512, 1873911296, 1605392512, 1782174464, 1221116160, 1722445312, 1089538048, 1314453120, 1384473088, 1310446080, 1835432704, 1411936128, 2042017152, 1988975360, 1689901440, 1480682752, 1224933632, 1186125568, 1716874240, 1184819072, 1833268864, 2061986432, 1435815040, 1295026688, 1876010112, 1577620096, 1077006592, 1800196480, 1437797248, 1565075200, 1259449984, 1394045056, 1833475584, 1470037376, 1145479808, 1300609920, 1749882112, 1281947520, 1703601152, 1177275264, 1084826624, 1662752896, 1897773184, 1814498432, 1815791488, 2053971200, 1423787008, 1785303424, 1848286592, 1782485632, 1201502080, 1868884096, 1219016448, 1349462656, 1775594880, 1096089216, 1389645696, 1496545024}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {195686, 25016, 11694, 3486, 6421, -14846, -192, -120, -9712, 4438, -11701, -348, -4557, 378, 26084, -229, 114194, 29042, -721, 1182, -3136, 61705, 575, 10417, 7161, -18085, -721, -8253, 10971, -807, 247, -91, -1069, 309, -1688, 46111, 35320, 68295, 85297, 11752, 5021, -6199, 7116, -876, 3773, -389, 34771, 22050, -206, -13787, -11381, -851, 79927, 7924, -9885, 37289, 4216, -5821, 5764, 4125, 2050, 149701, -40, -13767, -455, 57, 94699, 25609, -742, 44939, -8313, 128, 1204, 300277, 10513, -10916, 2652, -4731, -24048, 23158, -425, -254, -634, 14832, 50649, 99386, -10592, -1124, 22159, -8485, 555, 13256, -14874, -13167, 1851, 13582, -1428, 14829, -1304, -2573, 26181, 462, 31206, 23555, 17658, 56155, 27960, 133620, 13516, 1147, 44985, 8355, -552, 26073, -17843, 6610, -11566, -504, 22713, 2354, 11468, 14596, -7675, 2722, 6994, 16122, -9594, -15969} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-318, -247, -202, -159, -63, -34, -14, -45, -31, -54, -65, -150, -89, -20, -151, -140, -177, -233, -155, -162, -125, -232, -78, -44, -96, -66, -115, -57, -60, -96, -120, -30, -119, -169, -153, -211, -229, -238, -242, -53, -205, -88, -90, -101, -87, -149, -199, -220, -63, -43, -36, -136, -142, -56, -34, -211, -78, -38, -186, -159, -141, -239, -118, -27, -131, -125, -291, -119, -100, -236, -16, -129, -60, -310, -46, -21, -108, -42, -18, -94, -151, -141, -125, -225, -196, -257, -3, -138, -233, -44, -108, -69, -21, -64, -138, -57, -90, -37, -111, -37, -227, -113, -242, -96, -207, -207, -232, -259, -245, -41, -205, -43, -143, -189, -18, -200, -15, -141, -227, -44, -35, -229, -35, -150, -208, -179, -52, -59}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1358591360, 1195268352, 1358986624, 1172776448, 1950051712, 1127675264, 1871159936, 2085769344, 1234237824, 1310422784, 2021353728, 1157463040, 1597643008, 2001904896, 1694090112, 1383555072, 1163833728, 2089481344, 1139781504, 1155927040, 1666761472, 1241364992, 2021036672, 1236325504, 1527000320, 1449489152, 1991904256, 1706606080, 1870901376, 1147983104, 2016678144, 2017695360, 1781214336, 2095115392, 1596845568, 1093801344, 1097940480, 2014762112, 1877937536, 1302622464, 1816201472, 1251324800, 1829382144, 1128611968, 1443929472, 1233774336, 1570557952, 1598758016, 1168662144, 1995072768, 2011613312, 1861082752, 1125579264, 1770022144, 1435458816, 1887141248, 1507725952, 1732379136, 1323724160, 1784360192, 1897479168, 1288170880, 1114627712, 1693889920, 1917941760, 1884891392, 1778531840, 1459464704, 1459911296, 1957544704, 2073952768, 1556938880, 1154449408, 1279444096, 1381243392, 1664813312, 1764917120, 1341111040, 1313734656, 1892388480, 1236754688, 1440831744, 2053815040, 1731665152, 1365142912, 1515533056, 1378611584, 1214716928, 1387988224, 1632401536, 1970770432, 1156296064, 1240213120, 1768397952, 1119458176, 1409885696, 1670811264, 2143793280, 1770128768, 1825089536, 2044321024, 1990831360, 1535724928, 1274870272, 1480030336, 1809072768, 1136681728, 1437350656, 1258790656, 1374296576, 2001947904, 1132170496, 1853357184, 1224013056, 1100364032, 1152182912, 1800863488, 1077094656, 1934253184, 1104464896, 1166612608, 1204944000, 1680504064, 1894390016, 1631290240, 1956955648, 1197563136, 1673511040}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {25511, 771, -8825, 22734, -2138, -19784, -38416, -11052, -1287, -36161, -2471, 26298, -23346, -7831, -10919, -3891, -18734, 32842, -1457, 49051, 18544, -13824, 11679, 4641, -2348, -432, -16480, 31444, 14620, 9086, 30373, 8711, 33164, -19229, -7749, -38302, 10240, -18399, 17523, -7839, -27282, 2300, 45706, 30705, -60969, -17540, 13290, 3596, -20067, -16847, 17689, 6339, 31205, 23374, 14140, -6568, 2544, -13933, -4552, 9343, -3622, -10213, -45000, -36340, -27177, 5559, 11648, 18241, -21788, -12858, -13954, 18873, 30127, -14980, -61414, -23075, -3579, -22277, -24711, -23116, 9870, 30473, -31259, -12021, -4274, 27925, 2838, 4472, 71035, -11141, -10261, -3259, -13927, 61984, 3371, -40686, -7610, -11047, -66, 19453, -46945, -33051, 2363, -6160, -33449, -24632, -2180, -15122, 887, -14532, -10426, -21190, -25317, -15579, 12207, -14287, 852, -37634, 17322, 7187, -46449, 59978, 24102, -8511, -2228, -21067, -21541, 29253} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-118, -154, -158, -121, -116, -130, -106, -105, -132, -75, -96, -107, -116, -152, -111, -110, -111, -98, -158, -113, -166, -124, -88, -95, -148, -149, -156, -120, -115, -123, -138, -165, -114, -127, -75, -136, -165, -142, -92, -94, -139, -142, -199, -125, -120, -140, -90, -116, -139, -70, -120, -137, -180, -110, -145, -89, -145, -110, -124, -128, -134, -57, -76, -133, -171, -155, -54, -142, -117, -124, -127, -109, -148, -111, -101, -124, -138, -94, -159, -111, -58, -109, -104, -102, -97, -124, -124, -142, -181, -141, -125, -83, -157, -137, -161, -134, -138, -93, -138, -105, -134, -74, -134, -90, -145, -105, -186, -123, -121, -64, -133, -124, -131, -109, -89, -113, -147, -95, -73, -140, -81, -149, -77, -123, -72, -103, -171, -153}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1269849344, 1278394880, 1461249920, 1811695104, 1162603008, 1516453376, 1581413632, 1794347008, 1444087296, 2039948672, 1848334848, 1228883840, 1858651136, 1607975808, 1165692672, 1223924736, 1318468480, 1672096384, 1288284928, 2097385472, 1731261824, 1471153664, 1367705088, 1238746496, 1725776512, 1390195072, 1688438144, 1562479616, 1282654208, 1095725312, 1658480128, 1673082496, 1306746880, 1637870592, 1147286656, 1724926976, 1305605760, 1253865600, 2115241600, 1088763904, 1474919168, 1356824192, 1919494784, 1948875008, 2143770624, 2046643072, 1302253184, 2017971584, 1635871872, 1276067840, 1172584320, 1211231232, 1507739776, 1086971648, 1950019840, 1692737664, 1316535680, 2080207616, 1646771072, 1815820160, 1942393984, 1839748224, 1814459008, 1966341632, 1309482752, 1896616704, 1583448832, 1123335168, 1247939200, 1693144320, 1717211136, 1189945984, 1592364288, 1331575040, 1101222400, 1658871680, 2037359616, 2005745664, 1897857792, 1125913600, 1232522496, 1775362432, 1148241792, 1180470400, 1711203200, 1708622208, 1688379648, 1974672128, 1203436416, 1708243584, 1885065856, 1186086272, 1587311104, 1949717760, 1162024704, 1098157696, 1105648384, 1816750080, 2039511936, 1467446784, 2072044416, 1225572608, 1939786624, 1229469952, 1991244928, 1834299008, 1135330048, 1349889280, 1219928320, 1501174912, 1568095232, 1827158400, 1165537536, 1212023424, 2058507008, 1809855616, 1130107008, 2091169280, 1937717120, 1966847488, 1637905280, 1570751104, 2059956096, 1101939456, 1100339072, 1140414848, 1309980032, 1124127872}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {198168, 45905, 44996, 57421, -92, 88575, -58, -1903, 418, 74890, 3488, 231, 16898, 1890, 17452, 30519, 111695, 108184, -1642, 4071, 86129, 120846, 141975, 195864, -4554, -20153, 19167, 23837, 96412, 170494, -44223, 2487, 149349, 6419, 85156, 15089, 73849, 9393, -1017, 56258, 571, -41923, 195651, 201616, -1107, -14895, 90270, -2356, -1110, -667, -975, 48138, 244759, 94817, 2233, 65596, 86573, 198, 48838, 192803, 512, 85558, 123925, 1418, 163292, 7098, 104896, 77447, 9987, 26073, 104674, 116882, 513, 7495, -18957, 100379, 3860, 87709, -1751, 1728, 87376, 1521, 102198, -35608, 84159, 81096, 102397, -1547, 223776, 15455, 82661, -2182, 303875, -257, 1047, -566, -11288, 94750, -2926, 90792, -439, 3900, 80519, 2558, 115997, 11495, 40924, 115134, 139984, 108907, -1562, 7364, 3458, 2365, 256168, 192966, 69730, -515, 110018, -176, 3367, -2612, 95565, 16360, 67980, 247491, 2114, 467} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {-319, -150, -347, -354, 82, -348, 83, 53, 150, -311, -93, -166, 86, 68, 78, -382, -339, -278, 72, -133, -345, -387, -348, -323, 80, 94, -121, -126, -230, -318, 78, 89, -328, 21, -329, 97, -392, 97, 91, -331, 67, 42, -296, -322, 75, 96, -347, 92, 83, 59, 45, -313, -316, -346, 85, -307, -337, 110, 124, -310, 51, -308, -347, 98, -321, 100, -325, -342, 116, 58, -334, -282, -94, 70, -91, -327, 43, -356, 105, 62, -267, -120, -349, 72, -348, -315, -380, 84, -323, 89, -298, 109, -321, -118, 67, 99, 18, -336, 60, -341, 65, 87, -378, 84, -332, 55, -376, -384, -359, -318, 110, 83, 80, 66, -316, -325, -354, 94, -266, 59, 107, -103, -289, 79, -348, -364, 92, 66}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1699661824, 1594994688, 1202303232, 1637498752, 1629455232, 1267617664, 1341853056, 1267306368, 1170554880, 1364776704, 1305842688, 1394326144, 1328549632, 1196085632, 1368968320, 1302109056, 2006871424, 2115865728, 1468157568, 2117185280, 1349314432, 2012324096, 1700472064, 2071663872, 1404536704, 1288000640, 1396882560, 1289216384, 1630083328, 1370255488, 1394076928, 1191122688, 1096532736, 1217979392, 1075368448, 1475052928, 1506852096, 2005905792, 1902232960, 1809005440, 1181267072, 1689204096, 1291794304, 2083786752, 1819534464, 2083037440, 1529413376, 1989807488, 1702736128, 1339238016, 1476526720, 1839963008, 1458360192, 1159137536, 1288549760, 1591407616, 1187988480, 1909006720, 1689362560, 1793723904, 1643258624, 1658016512, 1096445184, 1662031872, 1412850304, 1542031744, 1701139712, 1440473216, 2042673920, 2080713728, 1194851456, 1189447680, 1578085120, 1688314112, 1381192320, 1263323008, 1730540160, 2146921728, 1161959552, 1321909248, 2135498240, 1133726464, 1390336000, 1298004736, 1293060992, 1192685568, 1190410112, 2106216576, 1509149312, 1131262976, 1492733440, 1810102912, 1739963648, 1867907456, 1333164544, 1275284480, 1418395136, 1160741504, 1758936448, 1630975744, 1291633024, 1138634880, 1927068032, 1768035456, 1198659328, 1384713856, 2135040512, 1721476864, 1435532672, 1700040576, 1683161856, 1219432064, 1443569280, 1580261248, 1230491392, 1258763392, 1188781952, 1460034048, 1230081408, 1573429504, 1355864832, 1255063040, 1892291456, 1774200320, 1882873088, 1486575360, 1612320896, 1937931136}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {65912, 24967, 27393, 48927, 32065, 37074, 26577, 39495, 31446, 12521, -19313, 43002, 62500, -7528, 5955, 23184, 74711, 65803, -7504, 36998, -8488, 2170, 50400, 3752, 28873, 68471, -945, 138179, 68119, -30402, 5391, 21730, 47778, 29982, 54638, 12857, 38961, -7079, 5520, 53190, 32035, 64811, 123521, 63433, 24418, 121635, 28078, 18718, 67952, 26307, 13879, 60382, 53703, 56243, 36810, 84238, 28108, 48763, 28471, 17875, 23332, 36654, -32760, 86310, 18380, 56086, 20023, -36312, 50024, 57831, -13591, -10340, 2932, 33175, 6469, 4685, 15572, 3166, -44693, -22268, 37147, 37614, -2764, -46411, -25108, 9694, 93081, 34835, 13021, -21170, 37506, 18626, 13453, 2644, 6346, 19684, 36648, -8449, 32829, 114464, 143006, 1193, 13894, 40760, 23579, 1769, 62431, 114467, 39339, 47947, 48334, -38708, -9556, 52982, 17889, 65717, 3613, 54197, 45904, 5890, 34986, 50978, 50423, 17362, 22947, 69777, 70939, 6287, 7288, -14979, 85085, 48919, 79038, -34363, 12159, 54906, 3164, -19212, 3146, 32221, 20119, 30348, 27489, -3731, 105651, 78424, 13870, 54400, 25280, 10029, -30414, 15335, 22809, 18621, -16101, 91309, 31581, -16345, 34884, 33807, 1322, 29388, 75108, 43587, 29108, -14832, 43911, 61628, 31765, 32564, 74945, 35718, 33589, 52760, -27180, 65488, -40393, 40809, 139252, 33122, 78862, -86728, -9745, -33075, 1429, 12210, 41673, 21115, 8518, 5242, 49572, 31653, 101794, 760, 24565, 53734, 17953, -9352, -6095, 32323, -20028, 41871, 23064, 71705, 38563, 18706, 103342, 48912, 30719, 38184, -18880, 29978, 78692, 40420, 7479, 66326, 56062, 47987, 30596, 75210, 43865, 46508, 55549, 36533, 62640, 5073, 23852, 60209, 56029, 40039, 31545, 1339, -22615, 67570, -22875, 15450, 105411, -14088, 2954, 2343, 119398, 4970, 43992, -29541, 112219, -821, 1039, 22936, 13593, 53253, -19385, 66031, 70062, -24335, 56690, 6923} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-133, -95, -102, -141, -152, -136, -138, -176, -104, -108, -86, -167, -128, -116, -119, -123, -134, -157, -92, -127, -116, -94, -125, -123, -82, -152, -87, -134, -125, -130, -107, -86, -147, -111, -100, -163, -140, -90, -71, -137, -118, -130, -162, -120, -94, -205, -97, -119, -133, -88, -136, -149, -143, -86, -130, -117, -110, -121, -157, -87, -171, -172, -77, -129, -124, -121, -139, -93, -145, -162, -91, -124, -104, -109, -99, -92, -94, -157, -119, -121, -119, -109, -121, -106, -108, -121, -166, -146, -121, -122, -196, -124, -124, -119, -119, -162, -152, -55, -112, -188, -98, -85, -133, -80, -86, -133, -122, -163, -161, -136, -136, -129, -111, -163, -155, -140, -151, -126, -145, -109, -161, -150, -133, -105, -120, -129, -121, -87, -118, -68, -209, -166, -224, -132, -141, -148, -132, -103, -112, -114, -89, -162, -155, -132, -127, -106, -164, -119, -153, -90, -144, -160, -104, -65, -138, -158, -128, -83, -111, -140, -107, -83, -146, -135, -137, -131, -84, -156, -93, -121, -173, -161, -106, -169, -117, -125, -146, -96, -150, -116, -156, -121, -69, -140, -138, -105, -149, -147, -127, -74, -90, -72, -122, -144, -72, -127, -125, -76, -92, -63, -96, -95, -91, -102, -110, -144, -125, -134, -131, -125, -95, -204, -201, -145, -83, -119, -110, -146, -106, -169, -112, -117, -111, -86, -100, -120, -107, -131, -112, -136, -75, -113, -110, -151, -69, -85, -78, -64, -97, -119, -127, -72, -137, -102, -168, -154, -95, -94, -79, -135, -119, -123, -178, -62, -113, -112}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1194846976, 1965048832, 1186720896, 2028851584, 1102702464, 1765692544, 1391984640, 1139946496, 1778097152, 2052188160, 1441454336, 1392845568, 1473096448, 1610678912, 1375748352, 1423842944, 1812240640, 1561847040, 1376808064, 1235597312, 1453552000, 1819654016, 1123331712, 1978578432, 1151446400, 1130888960, 1499525376, 1502272768, 1695842176, 2101781248, 1885451904, 1517391104, 1600805376, 1094567552, 1093635456, 1772742144, 1342579072, 1409248640, 1392952064, 2083466240, 1083850112, 1134762240, 1438713600, 1805764096, 1226023040, 1203891200, 1422172416, 1428834688, 1989469824, 1413548160, 1167361920, 1964263936, 1091659648, 1563259520, 1413038080, 1933509760, 1494377856, 1566690304, 1211193472, 1325075072, 2021478272, 1417864832, 1943608320, 1436312448, 1919748864, 1391745152, 1365283200, 1841019776, 1715831040, 1101597056, 1242116864, 1311073792, 1400420864, 1422748672, 1075968640, 1509465856, 1790411264, 1116824064, 1632696704, 1090457472, 1240666880, 1500889728, 1892382080, 1209833216, 2136363648, 1562575104, 2103813120, 1442440192, 1776172160, 1837089536, 1233965952, 1210963968, 1180008320, 1080611072, 1570864000, 1086718976, 1573407360, 1781437696, 1719714176, 1722638592, 1744283648, 1364888576, 2116232448, 1562575488, 2029759104, 1151678720, 2122534656, 1798598144, 1327916288, 1398466048, 1258607872, 1474257408, 2135004032, 1814756608, 1366204544, 1748114304, 1603525120, 1477100416, 1940347392, 1139711232, 1629412352, 1194803328, 2074125056, 1174081280, 1859661696, 1228247040, 1833054592, 1837525632, 1174240000, 1406983424, 1097547648, 1343116032, 1262556800, 1195748992, 1269730432, 1357953408, 2080046080, 1240287104, 1263643648, 2018751872, 1785516544, 1883963776, 1740503936, 1672391168, 1980470016, 1429480576, 1806603904, 1269227264, 1220161024, 1628456064, 1827239168, 1992243968, 1170585728, 1474440576, 1533770112, 1304626176, 1344054784, 1541883008, 1851980416, 1873835264, 1998705280, 1258369792, 1549414272, 2020239488, 1087198336, 1260422016, 1807808896, 1138951168, 2103132288, 1369654016, 1095894784, 1673358976, 1164618880, 1298166272, 1189005696, 1698504576, 2129617664, 1981163264, 1516581760, 1823324416, 1292063616, 1566536704, 2099872640, 1427910272, 2135572480, 2084797056, 1605582208, 1410390400, 1455355264, 1096597632, 1403116928, 1788901632, 1943063168, 1345266560, 1665426944, 1303529600, 1389032448, 1918606976, 1165415424, 1098168192, 1289357696, 1342727680, 1870280064, 2039047680, 1490598144, 1202816896, 1171980544, 1089478144, 1579856384, 1736715776, 2114058496, 1402353664, 2085764864, 1265471104, 1163811584, 1766657024, 2061940608, 1637183488, 1112318592, 1568226432, 1189205888, 1766806656, 1420551936, 1174697088, 1137414272, 1338725120, 1875195648, 1151443200, 1340456448, 1676745216, 1137419392, 1956530816, 1778332800, 1345086848, 1564673152, 1245497600, 1211651456, 1143188864, 1268703360, 1532825728, 1355517568, 1079936512, 1523943936, 1693180416, 1277384064, 1641398912, 1339846528, 1138870528, 2040279424, 1978279168, 1869665920, 2091048192, 1585684608, 1658155008, 1800093056, 1875900032}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {2276, 478, 1142, -25089, -725, 32355, -13184, -9503, -2483, 28121, 6546, -944, 1259, 9257, 809, 6469, 14372, 93717, -1483, 598, 33207, 1949, -262, -280, 16970, 20014, 720, 18325, 6513, -2482, 1406, 2051, -6616, 298, -349, -257, 1370, 45890, 9193, 29831, 424, 29736, -543, 2998, -10933, 1398, -6759, 653, 26876, -749, 4474, -2927, 16948, 8250, 17256, 929, -4533, 266, -3311, 1854, 47299, 928, 842, 40229, 1477, 808, 134729, -1625, 11951, 99712, 13855, 1759, 220834, -2656, 2289, -214, 40376, 1400, 563, -18495, 624, 23659, 53519, -174, 11309, -68, -8539, 7222, 95, 48111, 50053, 1403, -11684, 16280, 1377, 108, 3413, 4246, 44978, 1094, 14389, 8567, 149, 1699, 33, 1226, 1354, 2307, 31337, 2600, 24843, -2516, -9985, -3523, 326, 2322, 120, 725, -826, 36436, -461, 685, 9341, 1101, 123, 175, -80, 2510, 1544, 197, 144, 319, 1459, -3672, 1242, -424, -765, 95905, 6373, -2373, 559, 397, 17732, 13765, 9257, 141, -31426, 2882, 13773, 303, -18591, 53601, 1477, 7310, -24206, 1541, 57970, 169, 28869, 1351, 7272, 21, -1371, 674, 1487, 397, 19954, 442, 67275, 19788, 3125, 2670, 6231, -3715, -9373, 18424, 23293, 3349, 529, 20117, 405, 3941, 4708, -4952, -6249, 150076, 846, 844, 177, -787, -796, 40728, 16937, -7899, -298, 8704, 106090, 58459, -13052, 2508, 54017, 623, 28, 251, 2677, -8211, -4709, 285, 3373, -70, 2517, 35318, 1138, -2657, 1860, -1985, -17, 1136, -3992, 51535, -253, 9504, -5604, 20415, 12722, 11398, 1336, 640, 527, 2737, -5344, 1442, -13071, 27783, 4, 78894, -273, 53524, -26846, 17170, -8507, -265, -1653, 5470, -132, 72021, -1455, 146, 23164, 97125, -1770, -792, -2404, -94, 41855, 610} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-29, -119, -82, 86, -110, -258, -20, -11, -85, -253, -30, -124, -106, -116, -105, -190, -239, -680, -126, -103, -147, -120, -85, -90, -240, -242, -120, -240, -43, -29, -122, -107, -10, -118, -121, 5, -159, -245, -39, -134, -118, -232, -126, -31, -23, -117, -29, -122, -268, -19, -39, -99, -238, -81, -215, -110, -92, -99, -89, -84, -271, -84, -125, -247, -57, -77, -397, -15, -46, -470, -105, -160, -680, -70, -84, -99, -282, -96, -125, -10, -88, -255, -257, -93, -42, -65, -78, -34, -119, -270, -268, -84, -16, -217, -126, -53, -38, -107, -287, -96, -241, -55, -106, -98, -107, -89, -95, -101, -227, -118, -253, -2, -4, -7, -98, -76, -131, -116, -96, -248, -6, -94, -188, -23, -113, -136, -101, -110, -84, -94, -96, -56, -95, -2, -90, -138, -93, -458, -158, -72, -101, -106, -70, -23, -59, -120, -27, -96, -226, -132, -4, -255, -88, -97, 24, -119, -261, -126, -213, -186, -50, -118, -152, -104, -98, -109, -242, -92, -317, -241, -122, -113, -52, -130, -16, -247, -226, -131, -117, -224, -115, -7, -21, -33, -10, -597, -94, -19, -91, -90, -34, -248, -240, -56, -124, -39, -292, -243, -10, -67, -250, -81, -87, -137, -149, -68, -47, -93, -106, -129, -68, -247, -99, -31, -75, -83, -57, -108, -55, -113, -123, -42, -19, -255, -242, -26, -108, -44, -100, -40, -21, -91, -9, -246, -110, -329, -106, -266, 6, -237, -44, -133, -111, -20, -119, -263, -111, -134, -231, -272, -143, -103, -92, -125, -265, -100}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1893367424, 1319001600, 1441762048, 1381545984, 1206319872, 1184376320, 1704800640, 1123099008, 1414639616, 1351863936, 1911641728, 1555167616, 2104688128, 1967093504, 1655399680, 1615652480, 1867197312, 1599816320, 1645684608, 1621713920, 1113565056, 1893539072, 1714932224, 1511405824, 1463621504, 1239288192, 1401523968, 1414011136, 1288300672, 2101158400, 1075387904, 1350589568, 1391178240, 2031855488, 1589014272, 1387010560, 1342695168, 1486699648, 1203932544, 1583901568, 1437057024, 1784895232, 1729571584, 1186430848, 1876626048, 1582397440, 1922036864, 1224321920, 1202308480, 1116216576, 1331285760, 1782940672, 1395340416, 1612980864, 1268755712, 1334389760, 1902621440, 1685666048, 1352612352, 1252122496, 1295755392, 1560063232, 1266150528, 1770648704, 1675287040, 2094768640, 1473527040, 1092111744, 1202449408, 1561191168, 1600659840, 1688013440, 1258169088, 1460075392, 1412617344, 1403201408, 1219407744, 1643504384, 1306170368, 1497968768, 2057732608, 1977627392, 1174365184, 1797576832, 1942027776, 1488203776, 2049242496, 1630809088, 1740773632, 1924212736, 1599954688, 1294949760, 2147303040, 1608467840, 1247229952, 1200565248, 1929843200, 1647621760, 2041903232, 1969597824, 1191493888, 1553122176, 1296188160, 1388927360, 1329788032, 1548695168, 1173971328, 1949471360, 2035722752, 1488660608, 1534484608, 1811280896, 2065350272, 1985731200, 1433614848, 1437537152, 1140822400, 1503039744, 1754795264, 1521380224, 1742778368, 1119059200, 2082485248, 1133004160, 1150932480, 1108067712, 1221894272, 2034366208, 1189096576, 1907646336, 1348481792, 1942915584, 1985396736, 2080087936, 1167272832, 1454611584, 1567285888, 1631167104, 1551446144, 1075530368, 1477870848, 1590899712, 1223202944, 2074563072, 1441865856, 1754777472, 1150299136, 1296394880, 1166839552, 1384317184, 1156144384, 1835811456, 2007604480, 1230555392, 1118352000, 1659998208, 1410043136, 1391668608, 1444715136, 1449969152, 1903418496, 1363519232, 1792640512, 1333569792, 1796814976, 1719179136, 1888771584, 1581966464, 2019867264, 1170073728, 1417171328, 1561690752, 1416098560, 1555732096, 1545229184, 1858480896, 1459495168, 1550699776, 2067894784, 1914860672, 1195546624, 1174069120, 2037400320, 1197197824, 1476989568, 1254589568, 1326636800, 1833202048, 1931423104, 1415957120, 1381801216, 1087624192, 1315901696, 1249547136, 1606436224, 1106379648, 1944211072, 1434545024, 1353989632, 1868149760, 1963365376, 2068706816, 1649527936, 2058546048, 1968863872, 1257302400, 2139132800, 2039167744, 1431462656, 1208029440, 1899020160, 1185005056, 1483084800, 1387356160, 1433293952, 1834141824, 1948828416, 1256362368, 1192644480, 1251545088, 1413289856, 1278814336, 2002981248, 1393925632, 1359119232, 1360042624, 1423536128, 1215820032, 2116869632, 1288300288, 1410981120, 1100023424, 1256491136, 2039431808, 1547847296, 1142560896, 1356227968, 2079737344, 2020781568, 1212119936, 1392042624, 1672179328, 1301925120, 1198986880, 2060040576, 1257163776, 2048308864, 1690579200, 2025516160, 1355282304, 1627470336, 1338302720, 1994302976, 1195169792, 2053170432, 1962267264}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {15531, -3812, 5408, 31410, 13807, 33977, 31241, 69068, 38744, 80504, 32819, -5573, 30865, 6345, 26893, -15715, 89433, 28859, 5346, 55421, -5385, 4067, 67478, 13062, 10519, 28510, 42994, 31437, -2559, 12597, 12717, -3204, 6151, 32740, 6634, 26556, 46800, 60322, -15894, 51251, 63283, 11943, 22770, 2627, 4786, 3140, 49090, 46081, 18449, -29373, 43527, 49478, 619, 102506, 35584, 38114, 10136, -9983, 10442, -1035, 15835, 44729, -33554, 12315, 24399, 115543, -23648, 30082, -13809, -715, -17308, 34321, 19445, 10149, 4422, 22586, 58178, 40658, 33764, 11188, 2549, 7543, -7337, 16174, -42509, 44021, -17509, -11236, 23260, 118629, -31326, 58424, 24186, 24234, -855, 47853, 40614, 35086, 19350, -4555, 37277, 48630, 43251, 34153, 71323, 8867, 110085, 2732, -12641, 10439, -6926, 56107, 158587, 36738, 2421, -5061, -27709, -18040, 11437, -13103, -4311, 17944, 27527, 27075, 9707, -15143, 50835, -22143, 24814, -23223, 25257, -2009, -27807, 66568, 32862, 74377, -17606, -16012, -2060, 72598, -2749, 25371, 45502, 19615, -25673, 30911, 23552, 14662, -2932, -54103, -12609, 16215, 11931, 8512, 10576, 53777, 51907, 32704, 7905, 45888, -9847, 28915, 31891, -46140, 42083, 104536, 41356, 6974, 5998, 5597, 28862, 19027, -15037, 52886, 35948, 4322, -3808, 24650, 102674, -6984, 20913, 13459, -11190, -1723, 19000, 28272, 7421, 41271, 47186, -1478, 26743, -441, 24467, 63395, 41643, 2527, 73380, 64005, 2925, 30381, -54013, 25676, 24186, 59494, -7866, -19470, 68070, 24676, 62673, 85353, 12255, 28771, 13687, 23843, 38993, 30507, 32549, 27700, 32563, -5694, 11138, 27349, -2217, 50174, -5930, 32785, 9568, -8587, -6612, 14556, -15012, 4347, 33671, 2039, 32816, 1173, 7071, 91168, 14629, -1878, 31090, 29326, 43592, 12391, 52345, 21562, -25225, 51332, 15576, 42933, 22445, 36482, -48097, -13272, 48533, 24371} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-81, -156, -164, -103, -132, -156, -113, -145, -151, -165, -81, -103, -108, -108, -131, -126, -126, -173, -107, -112, -132, -146, -104, -142, -155, -117, -119, -131, -130, -128, -108, -116, -105, -154, -126, -167, -152, -136, -131, -83, -139, -158, -129, -138, -179, -123, -82, -136, -137, -142, -113, -121, -122, -153, -176, -146, -121, -102, -173, -125, -110, -126, -126, -74, -139, -156, -102, -109, -69, -156, -106, -79, -96, -111, -98, -92, -112, -157, -208, -116, -135, -188, -118, -119, -149, -115, -129, -104, -97, -113, -142, -125, -144, -143, -116, -119, -80, -131, -162, -65, -164, -132, -140, -123, -129, -90, -137, -137, -122, -150, -105, -183, -119, -209, -130, -132, -119, -103, -119, -83, -100, -85, -79, -141, -120, -164, -138, -118, -166, -55, -139, -119, -157, -101, -151, -106, -104, -85, -124, -113, -144, -162, -104, -173, -130, -91, -137, -110, -140, -86, -110, -147, -111, -106, -101, -88, -115, -163, -135, -83, -115, -137, -123, -121, -121, -133, -117, -65, -177, -96, -139, -163, -127, -133, -104, -168, -103, -89, -121, -116, -191, -120, -124, -143, -132, -132, -189, -108, -101, -71, -156, -139, -92, -126, -184, -181, -115, -104, -154, -116, -103, -129, -155, -102, -93, -134, -129, -90, -126, -143, -117, -116, -132, -115, -133, -120, -123, -179, -132, -126, -124, -135, -146, -190, -135, -193, -121, -141, -157, -122, -142, -95, -164, -104, -168, -116, -88, -130, -82, -128, -132, -92, -131, -107, -153, -123, -167, -131, -108, -102, -141, -111, -137, -166, -148, -138}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1139284864, 1297986944, 1141606656, 1462825728, 1574106496, 1374047488, 1206928640, 1859857664, 1781694080, 1189955456, 2106428544, 1940965120, 1133201280, 1078607488, 1429831168, 1967392128, 1841614976, 1097828736, 2028140288, 1579938816, 1391060608, 1313844992, 1505039232, 1170118016, 1176766208, 1386790784, 1629166592, 1383806080, 1414623232, 1582961152, 1174107008, 1159644160, 1394741120, 1169601536, 1658256768, 1391811328, 1451681664, 2135452032, 1911961600, 1445716864, 2074583168, 1895443200, 1444370688, 1329544832, 1182160896, 2020719744, 1450106752, 1551641984, 1787765888, 1184009216, 1522043776, 1226933888, 1822044544, 1640601984, 1668450176, 1201541632, 1484657408, 1751069952, 1566587264, 1477028608, 1696401920, 1564995200, 1136551552, 1916451840, 1545659136, 1491668224, 2034605696, 1466358784, 2073405184, 1135695616, 1514171520, 1752553088, 1635909120, 2134055936, 1670218752, 1266442496, 1082982400, 1302209152, 1363088512, 1235180544, 1127975168, 1793009792, 1265292928, 1336918528, 1328109184, 1472573184, 1906811392, 1594682624, 1198148352, 1503358336, 1734730112, 1393716992, 1952844800, 2130904064, 1963378816, 1698718848, 1385789824, 1356831104, 2025609728, 1328414976, 1339052544, 1274947456, 1287542272, 1886235008, 1170896128, 1138715392, 1129288064, 1605517440, 1989870080, 1108932992, 1217102336, 1171041536, 1557003008, 1150361728, 1195328000, 1304485504, 1309869696, 1197036288, 1236585216, 1649344512, 1347111808, 2085828480, 1333581440, 1973908736, 1583285760, 1770001664, 1897555200, 1412255104, 1317188736, 2086948992, 1934727168, 1791279360, 1698574464, 1982302592, 1182949120, 1264586368, 1169833856, 1262465536, 1485607808, 2036409344, 1441422720, 1883242624, 1159127808, 1887865728, 1754571136, 1375007232, 1916786688, 1399270144, 1769381248, 1468867072, 1311658112, 1374955264, 1849573888, 1587281024, 1854006016, 1832106880, 2104366592, 1716845568, 1189215232, 1341950848, 1616784384, 1521091456, 1793144448, 2086004992, 1292810752, 1400711296, 1923996288, 1250208128, 1842502912, 1137455360, 1896484352, 1892054528, 1388930432, 1979128960, 1798570240, 1792780032, 1548110976, 1387742080, 1685505536, 1234487936, 1188287488, 2080868352, 1720586624, 1766726784, 1691128704, 1184540672, 1269942912, 1168585728, 1396352896, 1099181952, 1737159936, 1946681728, 1581974272, 1395602304, 1113275520, 1807100544, 1815936512, 1293223552, 1331022720, 1439007360, 1113461120, 1461132928, 1510398336, 1222751616, 1519557248, 1432075136, 1232835328, 1349176960, 1207971584, 1162427264, 2103531776, 2005311104, 1136844416, 1099690880, 1459850112, 1360278272, 1654514944, 1868248704, 1995047296, 1627870080, 1845166464, 1464630016, 1876880256, 1439998848, 1808722560, 1312226560, 1661956096, 1327380224, 2056403584, 1558511104, 1164037248, 1785496704, 1115104640, 1252529920, 1738114944, 1552450816, 1777553152, 1293998592, 1111038976, 1588026496, 1679157504, 2134127488, 1785160832, 1212897536, 1918149760, 1431759104, 1950872192, 1847824896, 1202371712, 1292956288, 1610323200, 1096383616, 1547617792, 1876771328, 1827854720, 1267394688}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {36140, -3772, 29406, 2701, -6989, -5006, -686, 4649, -4971, 23740, 56915, -6447, -3238, 61037, 68652, 288773, 23843, -22788, -10868, 8736, 11875, 2828, 615, -7869, 104445, -12921, 4845, 487, -4421, -37241, -7674, 71227, 155230, -4522, -5238, 3908, -14706, -45655, -1673, 23729, -10512, 5541, 14274, -4810, -22541, -2943, 49463, -736, -8343, -9123, 23041, 50360, -1722, 9091, -18155, -4846, -5250, 59442, -4147, 7587, 73532, -8991, -16830, 79696, -2598, -9137, -4717, -1931, -1077, 69549, 103700, 26776, 3348, -11188, 58084, 39173, -6514, -69490, 34866, 55215, 11365, -3038, 23781, -9340, 140107, 2130, -22385, -6752, 15043, 5695, -7898, -9043, -4811, -174, -6858, 6326, 30594, 47699, 9197, 8548, -10176, 2207, -2049, 40219, -5737, 66405, 10770, -2567, -330, -11367, 31265, 17373, 21544, 28864, 16511, -16343, -10567, 142, 64035, -12165, -3261, -11395, 2190, -940, -71982, -10073, 7036, -18151, 13698, 34361, -66406, 95064, 52487, 7686, -21694, -16318, -25782, 99194, -11450, 6294, -5458, -63338, -18422, 27343, 2687, 62019, -3603, 59136, 7116, -22906, 4855, -1014, -45474, -1363, 68307, 26002, 18158, 10944, 10383, 2747, -17488, 56490, 53728, -7310, 50759, 4925, 6985, 58, 25129, -31051, -4201, 22343, -1838, 13682, 4296, 10101, -12404, -10378, 24560, 32744, 19787, -5317, -14616, -14429, -3461, 50469, 16522, 93, 27353, -8509, -3133, 58781, -19472, 15733, -60393, 12614, 1752, -1311, 51049, 94089, -2944, 19136, -12957, -389, 4661, 26188, -396, 35257, 1525, 169975, 4111, 2927, -5339, 187, -8758, 22145, 4327, 15447, 52598, -1271, -5189, -26129, -12076, 38, 12621, 6726, 7815, -13625, -14571, -7822, -7586, -14303, -13499, 78737, -50746, -11411, 13, 109578, 141534, -12453, -232, 51510, 8522, 37268, 8126, -2556, 3806, 50517, 48900, -42406, 6276, -1549, -12073, -7531, 7979, -38997} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-253, -28, -125, -119, -3, -77, -2, -156, -66, -251, -276, -4, -69, -305, -285, -855, -248, 0, -35, -54, -100, -77, -152, -66, -400, -20, -90, -55, -54, 103, -19, -280, -456, 3, 16, -88, -17, -23, -13, -228, -24, -25, -138, -11, -39, -12, -223, -106, -19, -15, -171, -193, -137, -44, -2, -83, -44, -273, -56, -104, -338, -37, 44, -322, -14, -60, -19, -46, -28, -357, -363, -77, -26, 16, -305, -292, -103, 55, -259, -177, -51, -112, -161, 20, -331, -53, -6, -64, -101, -46, -3, -24, -94, -50, -33, -54, -159, -286, -94, -95, -63, -111, -15, -219, -71, -307, -61, -101, 32, -7, -154, -153, -233, -211, -154, 33, -26, -177, -361, -9, -19, 15, -25, -124, 23, 15, -72, 17, -89, -269, 82, -307, -221, -45, 27, -26, 32, -386, -2, -126, -17, 23, -2, -125, -69, -258, -125, -275, -58, 26, -94, -121, 59, -17, -350, -216, -248, -90, -172, -141, -8, -296, -324, 11, -249, -35, -32, -82, -96, 33, -115, -96, -21, -179, -23, -103, 13, 9, -241, -157, -147, -23, 12, -10, -89, -266, -192, -115, -261, -22, -29, -192, 24, -139, 16, -129, -16, -20, -303, -345, -77, -91, -46, -16, -71, -272, -93, -217, -24, -707, -73, -63, -12, -207, -11, -262, -105, -93, -251, -41, -25, -13, 10, -30, -92, -73, -145, -9, -7, 12, 22, -11, -23, -356, 13, -8, -138, -321, -419, -5, -127, -243, -37, -273, -86, -41, -69, -295, -284, -10, -114, -127, 23, -44, -84, 37}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1270500224, 1380818688, 1725330816, 1261403776, 1910081536, 1119188096, 1679543680, 1773076352, 1623369088, 1684282880, 1288990848, 1927602944, 2139459840, 1414612992, 1146093696, 1865634304, 1166906240, 1231995392, 1669672704, 1919188736, 1444315264, 1550633472, 1578065536, 1745052416, 1490716288, 1347840000, 1718247680, 1092513920, 2101743360, 2125859968, 1692784384, 1480487552, 2042191360, 1856460928, 1120700544, 1085418112, 2031088640, 2123147776, 1691419008, 1323880576, 2136067072, 1112712960, 1455419264, 2074921856, 1819566464, 2044866816, 1759095680, 1494707968, 1825844608, 2131419392, 1234891392, 1377943936, 1347010176, 2100602112, 1161954432, 1637319680, 1415800448, 1842143616, 1806689920, 1216204288, 2080472192, 1711366784, 1477194112, 1725812608, 2033225088, 1409876352, 1096138112, 1946749696, 1244781568, 1559981568, 2050993024, 1144913920, 1798231040, 1418881408, 1452919552, 1176987904, 1821658880, 1144587136, 1442558976, 1211427072, 1096348288, 1535834880, 1190016512, 1511444992, 1651119616, 2089169024, 1194752512, 1176900992, 1934680320, 1421927168, 1964302592, 1124214784, 1273548288, 1995606656, 1867352576, 1842214016, 1230509056, 1081738880, 1990072960, 1441336064, 1281785984, 1389963520, 1258094080, 2037245568, 1731887488, 1411519488, 1224288000, 1845109120, 1791080960, 1984632960, 1569152640, 1256655232, 1472917760, 1719862528, 1216361088, 2117008512, 1209064192, 1342811520, 1829143552, 1160751104, 2038575232, 2008352128, 1151191680, 1538094208, 1435677312, 1181426048, 1517656704, 1132148480, 1082049792, 1874730112, 1363740416, 1726838144, 1737521408, 1337845504, 1460656384, 2110036864, 2026459648, 1324244352, 1708905984, 1679203328, 1741262336, 1684741888, 1568628352, 1769212416, 1865030400, 1289402368, 1416024192, 1488375680, 1149283584, 1372568960, 1409940864, 1268152064, 1923316480, 2032519424, 1243931904, 1976352256, 1699156480, 1353772160, 1555722624, 1224922752, 1866037632, 1632491008, 1416454272, 1117926912, 1773706368, 1878598528, 1925124864, 2112683648, 1141978624, 1785789056, 1506743808, 1092667136, 1362786944, 1636333184, 1167328896, 1080718080, 1663806848, 1505126656, 1380296704, 2048140160, 1395942144, 1671902080, 2027355008, 1621698432, 1533612928, 1877405696, 1224919424, 2047380608, 2101699072, 1293504896, 1878891904, 1663409664, 2146144640, 1502499968, 1581688320, 1359863936, 1493998976, 2121248512, 1396294784, 1683821056, 1206691456, 1334494720, 1854915840, 2072056704, 1425404416, 1596053248, 1750272000, 1327254912, 1388494336, 1691887744, 1484105216, 1215519744, 1099632128, 1580264576, 1172298368, 1297223936, 1666000768, 1559408000, 1389377792, 2061058304, 1964445184, 1704777344, 1100025344, 2004300800, 1690788480, 1998584320, 1352821248, 1342887680, 1135337472, 1445873664, 1384621824, 1374043136, 1722076160, 1137349120, 1241056128, 1209117696, 1572126464, 1412160896, 1133215104, 1395448448, 1370413312, 1247136768, 1504342144, 2062903680, 1970084352, 2023304320, 1122894208, 1145976448, 1677960960, 1333886976, 1188923136, 1597656192, 1553700480, 1943699712, 1935406720, 1432499712}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {39230, 71274, 47467, 9410, 100053, 18863, -15675, 19509, 39233, 7677, 9280, -9889, -1572, 35636, 30138, -1345, 19035, 22449, 11465, 36672, -27815, 42345, 4213, -6226, -38490, 23987, -15443, 4269, 26568, -13980, 13299, -15283, 6517, 11035, -11718, 2315, -41798, 37575, -29722, -9970, 3713, 14044, 49152, -11088, -21089, -4223, -26290, 4603, -23101, 101770, 1214, 1949, -32151, 13550, -46640, -22097, 15453, -20825, 20572, -15686, 8099, 26683, -40695, 412, 68366, 2356, -61403, 391, 19573, 45232, -6124, 7351, -14131, 39197, -81691, 74449, -6043, 10879, 15221, 18352, 48527, -11246, 4536, -20467, -7116, 4566, 36651, 17500, 23031, 54002, 75150, 11919, -33437, -2054, 22815, 604, -4707, 78, -23659, 12748, -2685, 21477, -17130, 2604, 34077, 18772, 8924, 12364, -5257, 4706, 95284, -3666, 23339, 75834, -11433, 17913, -6013, -18896, -6610, -33115, -38579, -40793, -32326, -36271, -39417, -22996, 75439, -6753, 19781, 5087, 47964, -6932, -14058, 43275, 54015, 11266, 15380, -30888, 17470, -14810, -9458, 84656, 85087, -15043, 26272, 93577, -8705, -34487, 44441, 76545, -25394, -35837, -17297, 39250, 20019, -3772, 1650, -2395, 4929, 1405, -11823, -6438, -15694, -43018, 1978, 22318, -21621, 13590, 60671, -51908, -5777, 10473, 43810, 25513, 8807, 59151, -32318, -44396, -21506, 19094, -2694, -16791, -1382, 29839, -37813, -1455, 154029, 12626, 17725, -3545, 3092, 6012, 24569, 25341, 4696, 17082, 65568, 1086, -1585, 24954, 6683, 2540, -19043, 32197, -21770, 6570, -2594, -17115, 11096, 35671, -19809, -9454, 6249, -14981, -7278, -42021, 795, -15594, -65, 3724, 9662, 13973, 44187, 13649, 59585, -711, 52428, -30569, -55879, -7144, -9666, -17266, 21099, -30386, -5678, 17887, -39325, -27853, 68658, 923, -753, 80666, 7865, -4443, -23826, -28153, 18283, 7205, -8978, 14572, 6329, 3767, -20289, 23083, -11204, -3488} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-98, -106, -113, -133, -150, -132, -112, -131, -130, -126, -139, -131, -120, -136, -120, -152, -82, -115, -87, -157, -78, -170, -128, -147, -120, -105, -140, -99, -126, -137, -120, -121, -148, -123, -71, -96, -159, -125, -106, -111, -106, -122, -113, -126, -129, -159, -81, -117, -62, -153, -117, -160, -133, -99, -81, -112, -117, -86, -129, -112, -92, -126, -109, -118, -117, -149, -94, -92, -129, -91, -154, -104, -154, -104, -104, -150, -114, -120, -127, -170, -135, -97, -162, -136, -158, -117, -111, -90, -144, -130, -140, -167, -138, -80, -106, -114, -99, -99, -136, -156, -58, -155, -132, -134, -109, -127, -94, -130, -115, -190, -160, -117, -142, -95, -93, -123, -105, -67, -106, -121, -100, -103, -99, -145, -146, -137, -123, -129, -138, -123, -112, -71, -123, -156, -159, -155, -129, -147, -106, -149, -106, -136, -125, -143, -138, -154, -118, -108, -105, -133, -116, -146, -125, -127, -148, -145, -161, -92, -165, -101, -130, -154, -122, -138, -96, -120, -101, -101, -89, -73, -137, -139, -66, -108, -101, -144, -172, -140, -149, -137, -132, -127, -121, -129, -133, -147, -138, -144, -133, -131, -112, -171, -121, -153, -155, -122, -122, -82, -111, -134, -112, -100, -127, -97, -135, -187, -115, -96, -175, -139, -141, -127, -145, -152, -120, -82, -152, -142, -153, -127, -91, -155, -136, -109, -113, -140, -109, -162, -118, -106, -107, -169, -121, -103, -58, -94, -91, -146, -123, -131, -123, -127, -141, -83, -136, -88, -102, -174, -135, -147, -111, -88, -82, -153, -155, -97}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1084422656, 1949974272, 1397232000, 1342887808, 1905505536, 1877600256, 1109056128, 1750190848, 1967828352, 1315443456, 1559151360, 1738281216, 2119946624, 1879173120, 1119187840, 1345363584, 2124008704, 1275899648, 1600645376, 1629327616, 1468868992, 1785675904, 1248565248, 1077772160, 1394887680, 1854844288, 1661706368, 1177299328, 1422837888, 1325741184, 1976084096, 1124015360, 1353000576, 1929043456, 1498674176, 1320667648, 1905188480, 2136094976, 2128690176, 1312063232, 1919542272, 1450322944, 1317767040, 1240846976, 1532206336, 1424513024, 1808011648, 1143783808, 1561341568, 1858853760, 2075211776, 1816769920, 1677028480, 1599873152, 1077445888, 1574469120, 1692002688, 2043903232, 1656254720, 1975745280, 1661548800, 1474689152, 1364230528, 1923984640, 2131744256, 1659826304, 1304849024, 1213425664, 1326709888, 1333338624, 1308929792, 1593833472, 1137154816, 1238859776, 1095742592, 1095366784, 1289395584, 1293316736, 1257906176, 1435172992, 1091894528, 1869409408, 1339749376, 2123957120, 1231316736, 2035355776, 1912853504, 1483039616, 1461745024, 1112290944, 1466920704, 1844726400, 1336307072, 1145284864, 1793043456, 1540608000, 1711595520, 1890685312, 1309206016, 1363215488, 1988504576, 1811673600, 2119942144, 1461179008, 2084072832, 1845628928, 1706578816, 1303137152, 1321359872, 1138194048, 2106814976, 1500151040, 2110713856, 1780794240, 1505938816, 1709800832, 1074405760, 1169677568, 1569072768, 1490425856, 1783558016, 1584945664, 2040243456, 1558511744, 1324594304, 1179644544, 2037136896, 1194645120, 1134226816, 1217487744, 1368531072, 1215019392, 1908751744, 2055646336, 1704408832, 1523759616, 1487235200, 1103655936, 1171619200, 1435887744, 1947879552, 1371342080, 1306833152, 1570592768, 1916557312, 1097905920, 1484443264, 1381428992, 1836508672, 1844831104, 1360531712, 1281091328, 1687008128, 1336457472, 1736686208, 1074049280, 1398143488, 1664456832, 1671756800, 1754759296, 1309659136, 1196612224, 1852377216, 1572387456, 1144902528, 1248275456, 1520476928, 1770054016, 1619025664, 1814764544, 1612801280, 1636542080, 1887280768, 1088135552, 2136887296, 1407548800, 1993658496, 2058704128, 1457120384, 1352300800, 1302110464, 1266026624, 1524304128, 1766476672, 1269242624, 1726837888, 1806618112, 1407944576, 2058028800, 1382325888, 1490944256, 1379030016, 1479462272, 1334937472, 1099321984, 1590821632, 1927032576, 2141493632, 1530273792, 1891840256, 1122363136, 1971346816, 1692255104, 1142852992, 1439580032, 1467455744, 1772233984, 1386305536, 1203343744, 1656361984, 1396365312, 1921267072, 1397858944, 1547753856, 1624397312, 1937988096, 1982941952, 1794832000, 1670842368, 1479247744, 1819088384, 1642885504, 1702793728, 1613980544, 1940508032, 1204687488, 1557249408, 1650869120, 1288002176, 1458987264, 1899473280, 1270758016, 2107445504, 1841519360, 1448774784, 1718844032, 1876898560, 2032843776, 1400638592, 1395727104, 2066123904, 1815516416, 1633118464, 1262620544, 1233511424, 1257189376, 1181958912, 1095341312, 1824542336, 1188707200, 1625591936, 1292736128, 2071528704, 2101215104, 1767230592, 1380844288}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {4750, 365, 7788, -14856, 24225, -5471, -6231, -10944, 3264, 40960, 25332, 783, 38099, -14415, 66982, -11174, 40698, 37859, -12265, 30486, -6952, 75005, 518, 1274, 65286, 17427, 22276, -4395, 58374, 131814, -6512, 36906, 67240, 60647, 53874, -23927, -28335, -2668, 61707, -6837, -1191, 32960, 95809, 23017, 25117, -3066, -401, 46045, -20678, 25430, -24926, 40780, 85880, 77718, -11998, 54163, 146249, 37814, 18996, 2746, -817, 18056, -5427, -9799, 33960, -4124, -4008, -2700, 130403, -13883, 113286, -5830, -13462, -3062, -11172, 22597, 15188, -5242, 71241, 50015, 2406, -824, -8932, -9684, -67276, 44844, 4725, -1242, -2070, 12758, 7395, -35746, -6250, 37425, -16279, 53, -6475, 35859, -3082, 23063, 41359, -20964, -3513, 23957, 16979, -246, 1480, 21758, -2451, 94744, 25067, 45820, 17893, 23107, -6836, -18932, 47786, 38176, 32952, 2418, 19769, -21334, 182225, -28958, 12738, -21512, 49888, -9609, -21138, -23842, 16899, 105350, -301, -10330, 31701, 16478, -6759, 126619, -4023, 8153, 68441, 8144, 42623, -10041, -19936, 14093, 13922, -1616, 24390, 8100, -18537, 157012, -12097, 31526, 25443, -16893, 43365, -19825, 28951, -6005, -9281, -9826, 21495, -14413, 72233, -14511, 189963, -14010, 8849, -202, 73001, 31491, 28973, 117313, 77171, 73318, -8680, -16138, 9540, -4295, 11965, -13467, -7827, -2862, 17815, 41460, 4748, -31796, 51676, 16583, 23624, 71013, 21112, 8060, -21025, 75208, 18483, 153780, -472, -45, -2914, -18786, -13301, 34112, -20015, 28184, -42870, 20506, 44073, -19912, 129157, 26142, 10924, -11125, 174867, 110076, -4717, -7211, -19230, -7780, 40780, 103701, 175919, 117483, 36777, 105117, 18603, 141215, -11070, -7291, 72, 56725, -4334, -3730, 125890, 23155, -5700, -735, 18337, 15404, -39116, 29564, -19558, 58446, 94228, -19973, 22928, 20532, -5318, 18004, -5336, -7259, -13551, 27951, -11543, -2504} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-29, -16, -52, -23, -255, -7, -19, -15, -55, -207, -107, -107, -249, 29, -183, 6, -224, -180, -35, -231, -2, -207, -114, -109, -245, -114, -192, -16, -171, -351, -102, -224, -325, -132, -272, -8, 34, -79, -288, -9, 1, -96, -279, -148, -130, -88, -5, -205, -32, -240, -18, -263, -286, -377, 8, -148, -463, -380, -101, 19, -33, -154, 16, -74, -259, 0, 4, -64, -319, -5, -330, -16, 4, -20, 47, -264, -176, -11, -467, -255, -59, 5, -10, -109, 15, -209, -36, -22, -59, -60, -50, 33, -104, -144, 34, 38, -122, -156, -93, -157, -273, -67, 57, -180, -94, -6, -108, -104, -152, -436, -240, -248, -105, -222, 3, 5, -93, -366, -156, -15, -106, 15, -407, 61, -173, 81, -254, 39, 11, -14, -163, -465, -42, 29, -264, -123, 22, -322, -16, -56, -283, -37, -150, -80, -29, -181, -107, -53, -200, -31, -2, -369, 22, -186, -206, -67, -270, 0, -155, -8, -4, -12, -138, 35, -378, -3, -567, -31, -36, 20, -325, -188, -252, -451, -311, -274, -31, -32, -72, -53, -134, -2, -27, -91, -114, -233, -32, -18, -355, -106, -113, -302, -87, -103, 133, -259, -210, -529, -7, -105, -58, 19, 9, -273, -9, -132, -7, -79, -268, 58, -592, -94, -59, 13, -353, -628, 1, -104, -52, 1, -168, -317, -570, -377, -283, -332, -249, -369, -8, -40, -93, -362, -84, 36, -634, -159, -34, -82, -149, -118, -26, -193, 25, -267, -392, 10, -248, -98, -2, -98, 6, 7, 6, -120, -22, -19}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1107590400, 1217163520, 2017275392, 1227542016, 1578936704, 1722765056, 1165230720, 1085714432, 1277252608, 1438308992, 1593650304, 2043218048, 1644268544, 1135360768, 1964200320, 1682364800, 1091309824, 1838967680, 1657731200, 1960919296, 1746075136, 1352587648, 1860766336, 1700493056, 1627853440, 1340884736, 1428568704, 1492397440, 2074654976, 1644981248, 1353350400, 1699957888, 2040970752, 2087606784, 1113285888, 1445420672, 1154979328, 1683080448, 1250890240, 1712761600, 1532696576, 1891249280, 1477099520, 1728466816, 1783881984, 1949900416, 1387649664, 1353759488, 1105690880, 1690997888, 1111768320, 1154792960, 1477040128, 1572951040, 1162646784, 1075981312, 1671915648, 1733047680, 1354285568, 1821675776, 1929359488, 1900551040, 1940983936, 1648710656, 1942692352, 1667758336, 1909599360, 1539594624, 1424360192, 1687705984, 1484535168, 1716247808, 2093154048, 1293488896, 1788776576, 1252496896, 1605930880, 1284520960, 1734545792, 1115998592, 1395944192, 2015640704, 1157528576, 1144890112, 1421418880, 1388353280, 1153765888, 1280755200, 1647667584, 1163282944, 2078149632, 1519768704, 1634106240, 1784163840, 1525421568, 1441823232, 1131647232, 1816279040, 1227262464, 1933112192, 1496473984, 1912281984, 1589167744, 1696980096, 1170725120, 1283990016, 1614569344, 2074777472, 1597456512, 1553326848, 1952702336, 1800439680, 1489214464, 1353691136, 1735420288, 1877552128, 1280596992, 1244427648, 1092083712, 1786859264, 1326726784, 1484998272, 1131100928, 1190298752, 1783136256, 1719472000, 1758533888, 1161275648, 2015885824, 1099768960, 2141185792, 1373224192, 1237112576, 1416378240, 1653467776, 1130081280, 1573250304, 1935850112, 2043575296, 1216465408, 1464283392, 1825996160, 1342228352, 1284336128, 1105789952, 1258447616, 1212643328, 1950609408, 2061694592, 1869396224, 1997696128, 1283917312, 1446602112, 1543342720, 1595835264, 1823512320, 1469032192, 1505459456, 1754109184, 1470363648, 1208648064, 1364012800, 2026761856, 1197123072, 1092673152, 1807298176, 1457487616, 1136760064, 1608941696, 1365165952, 1738403072, 1118639616, 1114164096, 1894292224, 1596534656, 1995339264, 1080805888, 1898696064, 1835393536, 1175266944, 1939640960, 1920440192, 1104758912, 1282092416, 1834531328, 1330600064, 1241201664, 1892650880, 1809991552, 1969388672, 2067932928, 1649951104, 1396989056, 1811302528, 1818077440, 1879363840, 1859971328, 1440454272, 1737052928, 2034360448, 1118501888, 2085497984, 1564491264, 1235598592, 1189168640, 2001520384, 1993169920, 1186395264, 2051423744, 1107362432, 1779820160, 1712069504, 1204213504, 1469547776, 1898480384, 2009004800, 1634168832, 2044564480, 1896393472, 1954474368, 1610590720, 1685142400, 1511983104, 1555103872, 1264720000, 2016134400, 1319963520, 1620830976, 1535186560, 2030049536, 1418803968, 1390992512, 1334858368, 1151568896, 1519023232, 2068106240, 1136092928, 1103898624, 1120294144, 2061218560, 1448144000, 1854760192, 1530056448, 1426025344, 1437044992, 1536304896, 1236128896, 2140178432, 1392878592, 1108651648, 1930643712, 1153112960, 1171869824, 1147555456, 1527824128, 1155354112}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {28023, 40676, 14051, -36074, 35856, -44715, -11318, -10645, 18720, 40111, 23444, 1767, 38231, 54373, 41161, 12829, 19852, 6616, -22449, 83420, -40479, -14514, -16804, 90155, -36574, -36423, -21592, 43516, 17110, -6356, 742, -20603, -13378, -44503, 38261, 13919, 55745, 31853, 8648, 17347, 5246, 1881, 4099, 82716, -58815, -34532, -3730, -22809, -6242, -10088, 3972, 21215, -7817, -29064, 57622, 29016, 28220, 281, -484, -11267, 26790, -8624, 5471, 36856, -22508, 8611, 19018, -37125, -3226, -48372, 16693, -18897, 784, 31698, 7108, -53252, 29454, 492, -120378, 21172, 7904, 127798, 35745, -17928, -57189, -35021, -4623, 46893, -13428, -9978, -12530, -39880, -62349, 8812, -24081, 29868, -32562, 12633, -11427, -36720, 13272, -56332, -3337, 37795, 28309, -22064, 23899, 8716, 9905, -61532, 54680, -87892, 54057, 10423, -19611, 76002, -6226, -887, -16947, -4346, -72841, 20268, 26714, -1686, 49519, 32379, -33518, -53097, 54742, 1947, -7923, 5550, -19468, 6020, 2830, 7641, -19630, 85470, -36483, 31079, -8618, -25827, 54399, 88637, -2593, 29995, 37421, 34313, 2098, 5433, 39460, -50804, 38822, -38658, 40757, -4217, 47003, -34311, 6911, -12306, -28270, 7534, 22631, 9392, -2329, -29293, 60399, 15718, -32257, -12939, -23071, 2369, -69046, -96879, -9708, 85222, -56951, 27896, -20048, 13989, 1254, 17503, 19983, 17597, -20874, 5432, 1209, 4903, -11663, -36760, -26668, 8116, 43921, -25894, -66589, -9061, -4868, 28425, 44900, 27962, 28629, 19562, -40215, -6087, -5361, -36266, 16700, -38283, -21435, 18233, 22421, 39963, -35669, 38064, 35761, -12835, 116215, -61371, -12549, 15339, 17532, 37912, 28689, 13416, -49498, -43669, -45403, 40660, 78438, -55986, -38027, -20428, -55364, -26495, 37774, -60941, -30685, -48121, -60744, 15827, 3626, 4734, 58039, -12337, -4933, -24845, -34064, 39080, -5447, -24532, 2740, 2886, -21807, 15007, -27290, 49453} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-131, -117, -105, -115, -114, -107, -107, -88, -109, -121, -167, -145, -99, -88, -143, -118, -115, -141, -94, -157, -81, -85, -89, -119, -144, -145, -95, -132, -143, -120, -91, -106, -115, -115, -124, -119, -126, -147, -133, -110, -151, -135, -119, -116, -110, -120, -126, -113, -101, -125, -139, -85, -108, -84, -131, -145, -136, -101, -100, -133, -129, -135, -130, -104, -124, -129, -140, -110, -117, -116, -113, -126, -133, -117, -124, -132, -114, -137, -137, -109, -124, -133, -120, -150, -134, -107, -112, -112, -130, -133, -131, -97, -143, -108, -123, -117, -127, -81, -197, -120, -133, -103, -122, -116, -119, -109, -112, -126, -147, -122, -161, -113, -132, -130, -115, -138, -152, -107, -101, -123, -124, -118, -89, -169, -172, -172, -91, -123, -90, -119, -119, -124, -144, -91, -116, -108, -96, -132, -126, -131, -123, -149, -169, -131, -106, -105, -136, -135, -154, -101, -133, -116, -153, -123, -146, -119, -111, -133, -133, -154, -133, -127, -132, -131, -74, -136, -101, -122, -154, -121, -137, -114, -125, -106, -132, -130, -84, -87, -155, -131, -101, -106, -107, -180, -124, -147, -133, -127, -127, -96, -105, -142, -102, -118, -143, -101, -138, -115, -129, -137, -141, -141, -126, -59, -148, -125, -113, -74, -133, -109, -132, -191, -116, -164, -148, -109, -137, -125, -99, -107, -143, -119, -133, -117, -109, -120, -120, -87, -130, -118, -130, -78, -121, -112, -124, -89, -121, -123, -131, -117, -138, -147, -101, -153, -156, -94, -117, -138, -125, -112, -137, -140, -120, -152, -84, -156}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1562705536, 1644594944, 1479392896, 1463908096, 1492721920, 2020577280, 1294401408, 1299946752, 1897677824, 2009817088, 1921237120, 1420397696, 1748407168, 1569895296, 2117980288, 1616489088, 1283094912, 1242426240, 2000085120, 1651105792, 1594820992, 1499170176, 1708937472, 1139516288, 1269677184, 1678773888, 1324907520, 1771276544, 1777940608, 2129754496, 2025179264, 1391546368, 2130424960, 1449755392, 1851043072, 1127514112, 1762102272, 1605526656, 1438411776, 1631453312, 1881654528, 1178184192, 1970923648, 1181536384, 1212194304, 1771665792, 1766887936, 1231042432, 1583751168, 1718809600, 1969248384, 2067429760, 1501991296, 1318612992, 1346715776, 1691195392, 2145421056, 1426300928, 1204696192, 1530432000, 1467817472, 1825948544, 1514000640, 1779441408, 1182000896, 1559801856, 1651242752, 1636067840, 1850224128, 1117667584, 1186694016, 1278526976, 1197554048, 1751776768, 1505715328, 1720358656, 1372863872, 1437894528, 1418585472, 1094584192, 1249933056, 1652129280, 1628810112, 1862870528, 1119799424, 2124165376, 1568990336, 1486903552, 1723781120, 1206689280, 1526492288, 1661159680, 1631474176, 2044741888, 1642255872, 1478846592, 1444245888, 1772769536, 1685713280, 1074297216, 1943225600, 2092371968, 1172425472, 1133152256, 1413033856, 1655572480, 1232654592, 1456034048, 1139365760, 1739400576, 2011432960, 1296476416, 2041043712, 1339705216, 1189478528, 1583846144, 1809253632, 1156887040, 1160652672, 1515225984, 1462521344, 1461615744, 1082809216, 1999570176, 1494926720, 1910236672, 1256894976, 1252796544, 1279318400, 1164366848, 1167404416, 2018367872, 2081421056, 2045461760, 1913799168, 1595857152, 2005432704, 1338262656, 1675798912, 1194946560, 1327840512, 1948749824, 1549954688, 2106518784, 2015180544, 1117072256, 1213010688, 1437802880, 1489506176, 1534468608, 2125357568, 1498377856, 1677453952, 1224965504, 1494373120, 1743968512, 2083456512, 1474466304, 1406108928, 1249136768, 1421526016, 1224101376, 1571715456, 1288914944, 1688957568, 1526460800, 1556183296, 1934806016, 1795750784, 1385807232, 1143855104, 1358918400, 1214314368, 1394852352, 1477453184, 1812187776, 1218182144, 1674525440, 1337157888, 1990126720, 1708585472, 2004406016, 1663317376, 1927301888, 1424272896, 1748699648, 1970005888, 2059817472, 1759770496, 1765036928, 1906045952, 1457540224, 1868031872, 1515157888, 1126719744, 1099705728, 1519112832, 1706670592, 1087096448, 1194226176, 1934416000, 1497184384, 1627601792, 1480324352, 1837291008, 1152363776, 2142681600, 1159797888, 1305142528, 1152704512, 1423918592, 1600386304, 1507929856, 1282394880, 1695216000, 2037299968, 1160028160, 1617016704, 1124752256, 1717773952, 1421693056, 1075153792, 1659206912, 1707143168, 1460020096, 1902280832, 1596385792, 2114707712, 1162211840, 1133236992, 1419326720, 1671202688, 1741411328, 1987635840, 1074871808, 1921173504, 1506501120, 1519474048, 1284554624, 1372741760, 1447560576, 1589695616, 1225193088, 1266638976, 1438969728, 1557800832, 1620029824, 1531193984, 1597249792, 1452827648, 1437746560, 1505201408, 1501100928, 2084270208, 1467332736, 1757681280}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {68304, 142064, 83468, -322, 78795, -1378, 739, 11086, 26484, 42603, 5572, 2741, -6835, 33146, 52695, -6996, 17174, 21981, -3723, 10341, 108847, -2558, -1632, 20047, 2688, -6435, -6160, 21795, 102552, 20330, 26909, 368, -18784, -2291, 937, -3648, 68353, 21947, -7712, -20038, -7832, 633, -3235, 26702, -2977, -314, 107907, -17122, 2050, -7639, 24694, 46912, -2617, 80721, 22636, -4342, 126650, -12285, 27401, -1588, -3890, -10876, -4952, 64964, 131, -9688, 13661, -7411, -12629, -1432, -291, -3731, 65761, -27484, -2103, -29630, 11874, -1240, -1893, 57701, 50748, 17436, 8862, -4576, -1370, 102837, -11536, 39859, 160223, -7872, 113760, 30100, 125612, -12817, 12469, 41213, 154605, 21965, 34644, -5237, 83310, 50774, 54299, -1765, 14416, 8525, 31672, -436, 2172, -18825, -2288, -2441, 17826, -4348, 37453, 109147, -7877, 17585, 64366, -2390, -7807, -20538, 17156, -17549, 18674, 82986, -4558, 98183, 2194, -4960, -8060, -113, -4854, 23493, 20694, 87343, -21903, 16298, 93787, 10591, 163050, 224384, -5478, 35797, -7237, 28324, 78555, -2529, -3790, 20900, 12278, 274407, 123872, -1240, -24683, 72282, 87590, 76577, -14166, -31478, -5530, 2239, 30328, 144968, -10121, 92577, 3970, 128983, -12633, -7537, -11256, 43073, -5789, 128035, 143395, 24751, -18350, 48852, 27648, 159553, -13077, -1352, -1801, 22284, -1921, 36005, -18657, 4496, -9318, 1533, -9919, 113926, 7553, -7075, -4126, -2960, 19872, 153238, 16399, 43697, 22279, 11218, 53494, 198961, -5626, -13522, -5524, 30814, 2839, 36751, 17401, 22190, 67444, 32960, 87625, -2096, 17655, 3904, 3066, -12019, -1291, 44627, 90679, 77912, 64982, -5812, 30645, 78681, 16347, 58249, -2637, -7440, -3575, -1808, 11800, -5594, 11298, 76162, 4462, 3036, -14797, 53767, 20233, 89063, 53353, -21083, -16047, 20906, 963, -4733, -6126, -8537, 66215, 104351, -4839, 4600} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-312, -494, -354, -12, -272, -9, -67, -60, -186, -150, -17, -112, -94, -234, -245, -154, -152, -167, -40, -40, -415, -92, -100, -235, -98, -46, -10, -236, -251, -103, -102, -87, 13, -28, -39, -16, -208, -224, -4, 39, -68, -12, -136, -210, -50, -3, -368, -98, -40, -72, -133, -292, -67, -207, -192, -70, -499, -7, -224, -31, -31, 1, -46, -274, -153, 0, -43, -117, 81, -64, -14, 30, -278, -11, 35, 51, -46, -40, -134, -302, -258, -241, -47, -144, -31, -397, -13, -247, -339, -35, -388, -170, -330, -11, -135, -209, -634, -40, -103, -27, -408, -257, -288, -113, -112, -97, -176, -124, -32, -49, -10, 3, -244, -48, -185, -244, -18, -99, -399, -19, -4, 13, -206, 7, -231, -317, -12, -463, -24, -121, 5, -50, -35, -175, -118, -322, 23, -79, -210, -74, -431, -577, 0, -245, -3, -135, -440, -79, -36, -211, -151, -634, -360, -134, -76, -473, -328, -282, -1, -10, -51, -68, -161, -426, -4, -294, -26, -441, -2, -7, -61, -289, -31, -527, -379, -262, 58, -276, -214, -375, -30, -94, -96, -152, -7, -152, -12, -63, -38, -18, -11, -453, -60, 4, -9, -11, -171, -370, -252, -297, -164, -40, -147, -978, -1, -87, -28, -223, -70, -247, -218, -85, -239, -169, -308, 33, -251, -71, -18, 4, -17, -226, -365, -274, -309, 15, -191, -299, -217, -353, -24, -29, 10, -13, -157, 1, -146, -387, -61, -134, -50, -217, -126, -442, -309, -14, 38, -101, -31, -92, -6, -5, -273, -383, 24, -38}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1412135552, 1657065856, 1680957952, 1756536448, 1147449984, 1092797824, 1772044544, 1329926784, 1573447808, 1420748032, 1108940928, 1176534272, 1684719360, 1170701184, 1939043584, 1558564992, 1226236800, 1134320640, 1839774848, 1148735104, 1420107520, 1147061632, 2131767680, 1486044032, 2083030400, 1228277632, 1829933312, 1233903872, 2025327744, 1145579648, 2100657152, 1094738944, 1390054272, 1082915200, 1961889920, 2075505152, 1278821504, 2139967744, 1811671424, 1493643264, 1289123968, 1123544704, 2041766400, 1237160960, 2047039360, 1369225472, 1315224192, 1239022208, 1216507392, 1218509824, 1102491264, 1871944192, 1209636608, 1970821120, 1964302464, 1871427584, 1671547392, 1568943744, 1715321088, 1367923456, 1701026688, 1189991936, 1155937024, 2084517248, 1588295424, 1702797568, 1452634368, 1423355008, 1190951296, 1146327552, 1191628672, 1759861376, 1760539648, 1356662528, 2144076032, 1758838528, 1432108160, 1077125376, 1298655872, 1717504256, 1901684480, 1467990144, 1776388864, 1109406080, 1228158080, 1298227200, 1315023744, 1324613504, 1822921856, 1382625408, 1239047552, 1675783808, 1942871680, 1191299456, 1960651520, 1605179392, 1426828160, 1959339008, 1811901184, 1333684992, 1350502400, 1093673472, 1598919808, 2122593664, 2103112448, 1412364288, 1637533184, 1128621568, 1797412864, 1981242624, 1162374784, 1622750976, 1260012672, 2126781824, 1547610624, 1195708288, 1850773760, 1465314176, 1277080064, 1648612992, 1163448448, 1733486848, 1098124160, 1100974848, 1188249600, 1637926144, 1221182720, 1239622912, 1342111744, 1646150528, 1888601984, 1091880576, 1715515648, 1673130240, 1946637440, 1316054528, 1083700224, 2027753600, 1415681152, 1212681088, 2138218880, 1264051456, 2122608000, 1119887360, 1090662528, 1762109056, 2119347712, 1210379904, 1208994688, 1910344832, 1712710784, 1869448576, 1865402240, 1760173568, 1557102336, 1498596096, 1922983424, 1585880320, 1958809984, 1895878912, 1322510592, 1718605568, 1824963200, 1747883904, 2013061632, 1857500672, 1233627264, 2009302016, 1716147712, 1117066368, 1652369280, 1556159872, 1830245504, 1893226496, 1336582912, 1796195968, 1077372160, 1851753984, 1405615232, 2040940672, 1286058368, 1698756224, 1853812608, 1750109568, 1229511936, 1819729536, 1080558720, 1864858496, 1265193728, 1200445312, 1313219840, 1305753600, 2035504896, 1108250240, 2114034304, 2081533952, 1934560896, 1268147456, 1505636480, 1327265408, 1217547648, 1278943104, 1246342144, 2040242048, 1713328512, 1503696896, 1370787584, 1407489536, 2092227712, 2004701056, 1200011776, 1084161920, 2080379264, 1327461376, 1198924672, 1100207744, 2057551616, 1616034944, 1123966848, 1808973568, 1748786816, 1155748224, 1662841600, 1490271744, 1646064256, 2087543808, 1338776576, 1608118912, 1908167808, 1435265536, 1085235584, 1351351680, 1846696960, 1211019648, 1810215808, 1278995456, 1089918336, 1692264704, 1417786496, 2075784064, 1589404544, 1462103808, 1477324160, 1101475968, 1308095872, 1625508608, 1273139712, 1530124416, 1951028608, 1378734208, 2011645568, 1147708544, 1620638080, 1352952576, 1564003328, 1128116096}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {80874, 26213, -39116, -62065, -73532, 29779, -43161, -5557, -39176, -34412, 69829, 31665, -55388, -59928, -16737, 4112, 3107, 40223, 5996, -18597, 29347, -24721, 21881, -24194, 4603, -15667, -16670, -15596, -30282, -15521, 9523, -7625, -14398, 11581, -8029, -14658, 12176, 30235, -3547, 74633, -3208, 32195, -10743, 13702, 35563, 9373, -27203, -4086, -281, -22232, -1051, 16452, 7369, 57939, 62154, 12759, 14700, 66476, -4349, 17292, 65570, -33681, 29722, -36175, -2437, -2498, 40838, -15808, 39088, 44979, 33828, -7799, 20925, 24740, -25628, 27208, -8231, 11739, 18173, -55778, 59277, 6917, 17326, -28502, -9619, -16247, 12178, 77942, -39861, 49190, 24457, -37583, -5741, 43364, -42769, 5754, 26887, -24094, 11438, -1053, 49801, 27042, 73501, 26759, -32351, 53721, -48306, 66063, -1751, 10190, -8008, -25099, -715, -1676, -47156, -32981, 4579, -48625, -30575, 3573, 22441, 19878, 5159, 9184, 17056, 4570, -6136, -18820, 41650, -43363, -1687, 25878, 13722, -103038, 47536, 9612, 5744, 15349, -10412, -34467, 11139, -25868, 1326, -10562, 45476, 4519, -35504, -22113, -10120, -6862, 50490, 6480, 7212, -34762, 16380, 23746, 68591, 62981, 8069, 13723, -13509, -21020, -1404, 9732, 36419, 2657, -4878, -10685, 15525, 55554, -14548, -6098, -11752, 38635, -23889, 16241, -2949, -10570, 9579, -22316, 34347, 10549, 2057, 23005, -15838, -23321, -16470, 12357, -12721, 2919, -13569, -18079, 29820, 30388, 9336, -41166, 48540, 22903, 6334, -41100, -22229, -42529, -26611, 8665, -1208, 30640, -40850, -23529, -20064, -49549, -45111, -5239, 36615, -1103, 42142, -5183, -42585, 113102, -5025, -2293, -30, -33829, -38308, -15982, 6580, 71411, -44062, 979, -45166, -17689, -7755, 6396, 990, -9657, -15516, 8497, -33787, -18301, 30323, 3098, -37949, -35031, -4705, -3748, 2645, -34367, 9475, 45090, -9153, -58251, 7702, 43971, 29515, -27405, -20221, 24238} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-138, -143, -100, -100, -143, -142, -140, -106, -139, -123, -132, -83, -122, -129, -135, -104, -156, -145, -98, -115, -108, -111, -138, -101, -147, -125, -131, -159, -100, -125, -106, -124, -144, -140, -129, -126, -148, -111, -115, -71, -122, -112, -125, -156, -159, -131, -94, -93, -97, -124, -121, -145, -140, -132, -134, -105, -91, -137, -111, -147, -130, -135, -133, -125, -139, -126, -134, -149, -148, -132, -124, -123, -103, -120, -115, -122, -119, -135, -126, -128, -196, -112, -126, -108, -116, -120, -99, -130, -146, -119, -159, -73, -118, -136, -114, -118, -122, -94, -97, -117, -87, -144, -161, -112, -134, -125, -113, -124, -121, -133, -152, -101, -105, -149, -146, -123, -138, -118, -131, -146, -152, -121, -128, -124, -157, -160, -105, -133, -127, -130, -147, -139, -122, -104, -133, -165, -130, -142, -111, -125, -135, -129, -113, -164, -123, -113, -101, -140, -97, -138, -124, -154, -120, -104, -151, -99, -155, -126, -92, -167, -126, -123, -122, -140, -113, -156, -94, -130, -140, -114, -143, -125, -62, -121, -143, -131, -142, -118, -111, -134, -133, -134, -141, -127, -134, -114, -135, -151, -99, -145, -84, -126, -137, -112, -139, -89, -162, -129, -105, -134, -134, -115, -117, -99, -122, -130, -132, -113, -105, -120, -152, -109, -126, -138, -166, -55, -97, -146, -119, -124, -134, -101, -130, -171, -150, -136, -116, -117, -129, -125, -75, -113, -147, -117, -107, -101, -112, -86, -183, -135, -129, -110, -109, -98, -135, -136, -132, -107, -150, -105, -92, -117, -113, -143, -140, -104}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1079715712, 1078926464, 1237776256, 1731326464, 1365916288, 1495327744, 1558276224, 1789047168, 1800901888, 1893005312, 1329260160, 1789880064, 1577087488, 1480400000, 1140644736, 1254458240, 1569979520, 1642189440, 1132271360, 1307721088, 2068792064, 1580718592, 1472635136, 1380955008, 1393178624, 1502612864, 1544126464, 1322131200, 1397849088, 1252173952, 1576214912, 1135380096, 1627395712, 1519679744, 1603585024, 1367273472, 1344354560, 1646453504, 1083561216, 1166973184, 1663648512, 1904711168, 1978573824, 1093685120, 1465811968, 1179765888, 1930164864, 2085805440, 1972979328, 1143462144, 1748492800, 1393763712, 1393268608, 1270894976, 1942800000, 1353386496, 1099793280, 1169014016, 1342585344, 1089991936, 1520249728, 1318394752, 1606126976, 1462630272, 1365763712, 1361522688, 1432519296, 1789880576, 1216919936, 1360525824, 1543640960, 1454668032, 1732292736, 1449700352, 2040027392, 1368861184, 2069110400, 1245354880, 2129844352, 1510575616, 1890738304, 1234037248, 1781975168, 1528247424, 1903714176, 1629933824, 1527276928, 1308396928, 2099164032, 1853303552, 2122151168, 1325879296, 1432229504, 1396394752, 1292872576, 1821663232, 1988355200, 1765027968, 1233025920, 1077346432, 1888384768, 1613093248, 1204912384, 1643330944, 1213854336, 1310596480, 1421332352, 1151488000, 2007395840, 1545959296, 1652342144, 1666629248, 1153055232, 2100610176, 1375273344, 1556409984, 1783154560, 1480973568, 1771725696, 1878426496, 1646345728, 1896593920, 1353456128, 1621247232, 1869546112, 1740279552, 1414365312, 1439483008, 1446170880, 1108250880, 1190609920, 1703319296, 1076040576, 1185009408, 1397279744, 1892494336, 1325198848, 1514870016, 1207165696, 1542811264, 1237448704, 1338130688, 1592925056, 1587354880, 2142707072, 1435486976, 1596990592, 1423148800, 1266318976, 1274260352, 1641707136, 1177414528, 1603738240, 1587736576, 1386451584, 1773182208, 1166364544, 1141548672, 2012934912, 1286466048, 1098112512, 1338026240, 1329107712, 1243420416, 1932728832, 1950316032, 1150054528, 1125567360, 1958917376, 1372414592, 1337433216, 1256884608, 1459166592, 1246983936, 1458413696, 1787013248, 1937121408, 1314096768, 1781833600, 1692112768, 1154896384, 1737312000, 1394302720, 1723001344, 1765592448, 1651078272, 1850192384, 1425265280, 1777245440, 1518258944, 1364661120, 1465462656, 1127242240, 1448855296, 1488342400, 1146973952, 2137469824, 1389288320, 1684531200, 1352899328, 1122218624, 1387581312, 1779159808, 1488282368, 1538026496, 1453260544, 1364325632, 1599626112, 1389492480, 1385982208, 1324529408, 1632505856, 1184473856, 1226811648, 1101388032, 1700886784, 1271754752, 1827969792, 1280612096, 1391833728, 2120307072, 1115631872, 1137414912, 1994141824, 1270255488, 2060884480, 2041408384, 1375259392, 1311699200, 2039736960, 1566161792, 1661825920, 1365070080, 1668957824, 1881730048, 1075787520, 1416253568, 1272296832, 1650773504, 2011190400, 1183436032, 1214724224, 1670084992, 1570811520, 1494440832, 1486601344, 1457807744, 1512298240, 1208664704, 1601330304, 1569075072, 1274514560, 1218175232, 1404651008, 1489234176, 1218196096}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {35853, 19859, -954, -3670, -8575, 5190, -2, 10676, 87582, -7830, 186734, -5276, 24990, -8833, -2236, -9415, 55867, 29172, 67491, 40, 52398, 168339, 179867, -10672, 141572, 154409, 134969, 21964, -2337, -17, 39760, -578, -1842, -21905, 37794, -411, 103672, 57686, -5268, 22265, -15906, 177, 101637, 100568, -24555, -6695, -11714, 145891, -27346, -70603, 103956, 171117, 86126, 135683, 23091, 8581, -17338, 24177, -2924, 145525, 104196, 3, 115518, -4171, -285, -2748, 81434, -4861, 77381, 31933, 120120, 268662, 5245, 117408, -29291, -1753, -30622, -64392, -15061, -10495, 28259, -14918, -23482, -22116, 45, 137687, 60, 295808, 101267, 20852, 70257, -9537, 60652, 29115, 135867, 69312, 49255, -12959, 194351, -8820, 36367, -16718, 45412, -112, -14552, 22428, -2334, -1794, 82849, -7709, 605, -36, 21601, 21464, 98218, -17596, 118426, 17, -27615, 11560, -27235, -31752, -2887, -5524, -470, 75536, -3407, -152, 57769, 1998, -10292, 28995, 102691, 76640, -3953, 1624, 18706, 175381, 175380, -4451, -12764, 115578, 3829, -6552, 1143, -65019, -5639, -21312, 76605, 22, 22438, 128102, 2264, -7024, 36420, 51414, 48840, -1674, 44067, -3942, -1947, -6, 45043, -5291, 55681, 37165, 2197, -1279, 41275, 22621, 91282, -518, 52999, 48070, -2280, 26874, -14420, 12487, 152204, -669, 102073, 112313, -13781, 120007, -410, 692, 94891, -2702, 59890, 7183, 50968, 218409, -2559, 98238, -26613, -7389, -4467, -5908, -180, -15753, -14424, 162224, 113710, 20674, -3836, 99615, 157381, 8579, -2227, -11879, -8502, -10675, 8509, -1533, 24216, -4482, -805, 31468, -14173, -973, 12732, -5057, -9228, -8508, 136642, 5700, -6081, -7477, -6138, -20509, 51551, 136290, -6666, 201215, -7826, 29402, 47, 97118, 2321, -2407, -8340, -3622, 191201, -284, 131586, -18, -14246, 47050, -6769, -7243, 124536, -2593, -28291, -1, 118236, 5274} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-235, -116, -16, 13, 12, -44, 11, -205, -382, -6, -383, -34, -98, -36, 6, -10, -183, -188, -336, -136, -238, -638, -468, -44, -381, -398, -374, -110, 59, -102, -259, -76, -116, 22, -244, -25, -273, -253, -112, -238, 35, -94, -358, -396, -54, -49, -15, -371, 55, 47, -397, -405, -331, -319, -243, -103, -36, -109, -42, -425, -295, -21, -312, -19, 56, 74, -264, -107, -327, -133, -360, -546, -104, -393, -1, 66, 112, 30, -138, 99, -218, -49, 45, 83, -7, -453, -4, -807, -617, -219, -254, -34, -206, -236, -348, -264, -254, -111, -432, -17, -192, 38, -245, 139, -20, -218, -20, -108, -289, 28, -28, -84, -107, -146, -450, 64, -417, -117, -2, -93, -38, -40, 20, -51, -37, -269, -143, -20, -271, 115, -12, -99, -368, -308, -5, -37, -190, -440, -648, -13, -76, -324, -16, -45, -127, 26, -46, 34, -448, -124, -251, -526, -172, -26, -233, -169, -217, -12, -278, 14, -142, -50, -228, 11, -273, -212, -24, -134, -197, -236, -266, -70, -278, -223, -8, -201, -19, -94, -403, 58, -464, -312, -88, -291, 155, -122, -322, -91, -304, -108, -243, -491, -2, -288, -33, -7, -37, 8, -20, -27, -12, -410, -424, -155, 66, -278, -371, -146, -29, 75, 6, 8, -54, -16, -241, -24, 41, -243, -102, -122, -169, -36, -11, 20, -331, -57, -14, 4, -117, 3, -262, -442, 217, -462, -9, -136, -31, -298, -154, -100, 75, -27, -538, 61, -337, -45, 14, -243, -46, -3, -347, -89, -26, -40, -285, -66}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1582767232, 1621924480, 1363277056, 1346847360, 1238847232, 2071751680, 1893227264, 1409731584, 1491619840, 1289493120, 1536655232, 1264993664, 1787274240, 1093496320, 1431899264, 1966626944, 1139742720, 1434334336, 1277595392, 1698136064, 1597921024, 1412106752, 1811378432, 1197592448, 1498975488, 1253729920, 2062074368, 1510152576, 1303772800, 1281092480, 1565531008, 1278220800, 1943452800, 1773128704, 1228738944, 1116570624, 1439403136, 2145771776, 1567528704, 1594373632, 2026989440, 1353219584, 1102742656, 1131020928, 1725867520, 1779615488, 1548242560, 1536402304, 1749649024, 2106841472, 1730008832, 1357763200, 1078653568, 1786784768, 1268990464, 1367983872, 1687570560, 1261562240, 2072749440, 1184925952, 1277899392, 1273403520, 1109085952, 1564758912, 1449660928, 2099591040, 1172062464, 1333435264, 2130348928, 1105226368, 1186193280, 1380738176, 1974428800, 1145112064, 2012715776, 1831802880, 1370369024, 1205159040, 1377623168, 2127620736, 1434304256, 2026126976, 1604525952, 1919404160, 1431896960, 1808907264, 1403606400, 1761067520, 1510695808, 1469141632, 1411150848, 1820688512, 1240512384, 2074007296, 1916344320, 1766316288, 1235392768, 1485404416, 1874337280, 1648746112, 1444322944, 1257043200, 1969876608, 1427275776, 1316979200, 1101805952, 1728642048, 1350361600, 1254305024, 2071028608, 1765365504, 1704687744, 1192906880, 1326444416, 1163757056, 1172473984, 2049139712, 1108401920, 1723731456, 1900903808, 1324390656, 2024561536, 1490343424, 1100038400, 1345560832, 1564713856, 2075703552, 1135070976, 1634028928, 1268195712, 1103799680, 1077784320, 1256770688, 1171422080, 1111050368, 1648459136, 1566767744, 1532315136, 1886440448, 1637204096, 1522930048, 1336405888, 1880205056, 1626278784, 1142902400, 1916631040, 1777147648, 1803613184, 1631572992, 1173171968, 1230026496, 1845123712, 1724059392, 1151660928, 1483850880, 1839674240, 1543351168, 1857022336, 1685734144, 1359257472, 1433500800, 1452801152, 1936145792, 1203450624, 1425020416, 1997687936, 1078010368, 1631519104, 1381370624, 1219299968, 1079142784, 1986655488, 2037922304, 1160982400, 1638115840, 2010591616, 1347399296, 1681676672, 1919793664, 1644864128, 1398635008, 1347549056, 2012936832, 1972414976, 1163138304, 1944605952, 1595381248, 1990019328, 1135587200, 1151817984, 1466443776, 1925980288, 1713167744, 1956410112, 1145042048, 1922641792, 1119211008, 1821337728, 1946899328, 1946103552, 1153694336, 2053424256, 1565323008, 1246679040, 1954416128, 1770469888, 1420863104, 1346853120, 1164999296, 1706390912, 1303122560, 1126936832, 1542912128, 1904357120, 1991844352, 1268141184, 1312551168, 1713241728, 1752586752, 1927750016, 1123338112, 2025183872, 1419432320, 1364081664, 1878090880, 1957268096, 1282514176, 1197659264, 1341103872, 2030480384, 1949664384, 1211192064, 1395666304, 1906132736, 1524068992, 1884132096, 1159867776, 1689089280, 2047775360, 1187050752, 1401801600, 1416178688, 2055195392, 1852998784, 1843587712, 1237626368, 1579858688, 1392789376, 1237235968, 1497048064, 1153122816, 1174495104, 2123524864, 2052697600, 1496255360, 1816478720}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {53622, 79370, -2470, 15850, -78564, -15691, 4272, 90866, 40979, 67229, 425, -52182, -25901, 28086, 53243, 24774, -25359, 16803, 84042, -4487, 52738, 33910, -8305, 36992, -44969, -12986, 18206, -49772, 21049, 54220, -10970, -22324, -51346, 51749, -46628, 1145, -35159, 30826, 15714, -8915, -50877, -21579, 40050, 79293, 30609, 3470, 35232, 19803, 43207, 43551, 15910, -29080, 68631, 50146, 8758, -43330, -3678, -22666, -18948, 19619, -25288, 77261, -17860, -35540, -682, -1921, 75668, 53006, -10150, 9943, -9880, -2322, 32612, 60476, -18168, -18722, 27465, 36336, -36298, 18464, -14406, 34107, 43713, -28453, 6104, -32960, -8017, -15039, 9226, 11169, 7189, 4524, -97891, -3405, 37370, 25305, -1656, 5043, 28537, 20373, 84399, -29322, 32405, -12052, -25062, -11857, 30606, -44143, 5352, -8652, -5730, -24507, 8709, 12308, -16072, -30496, -53706, 58819, -3183, -6235, -40919, 28959, -46847, 38157, -15228, 7146, 19885, -7331, 21720, 11630, -2589, -18071, 2099, -56815, 13949, 281, -2550, -800, 100837, 33300, 20137, 17490, 77095, 182, -48658, 48057, 88128, -14047, -56981, -39249, 4167, 20773, -49674, 5996, 60405, 25360, 28972, 10627, 3744, 42651, -15751, -32942, -56371, 5914, -48112, 27584, 26700, 45809, -88665, -13880, 48682, 105249, -50622, 98107, -23979, 14581, -7167, -5607, 2291, -27293, -2198, 9167, -86205, 10565, -36292, 8298, -41491, -24087, 58256, 15476, -53418, -3052, -23890, 12663, 43741, 62593, -11654, -8651, 21992, -17762, -25608, -25215, -5196, -34955, -15477, 14921, 14116, 14587, -34194, -15984, -26961, -32111, 13890, -7005, 34741, -810, -58809, 2268, 2904, 11502, 12122, -65400, 2998, 40295, 34286, -30051, -52975, 24007, -35637, -33272, 17594, -17249, 11295, 14426, 14511, -46741, 24927, 32334, 38542, -11013, 24949, 24916, -37617, -11082, -29, 5113, -20452, -1812, -14713, 48651, 7538, -825, -31862, -2784, -10048, -13308} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-170, -133, -138, -120, -120, -119, -161, -115, -148, -121, -128, -138, -114, -135, -104, -138, -116, -178, -140, -131, -133, -136, -129, -143, -97, -93, -74, -143, -160, -114, -161, -120, -116, -129, -123, -124, -134, -112, -72, -144, -109, -134, -127, -132, -103, -139, -119, -139, -129, -120, -98, -115, -118, -126, -120, -139, -126, -141, -118, -171, -125, -128, -130, -128, -103, -150, -141, -114, -169, -119, -147, -150, -119, -111, -119, -127, -119, -110, -84, -154, -107, -170, -146, -116, -121, -142, -115, -106, -128, -95, -126, -129, -122, -133, -124, -126, -117, -118, -137, -119, -144, -118, -119, -132, -152, -129, -154, -103, -101, -114, -146, -164, -124, -114, -102, -122, -143, -126, -139, -118, -79, -141, -147, -129, -114, -136, -102, -125, -118, -123, -146, -123, -106, -90, -135, -132, -125, -119, -140, -118, -164, -124, -143, -125, -118, -123, -129, -159, -124, -142, -74, -126, -108, -130, -109, -133, -129, -109, -98, -143, -125, -133, -123, -109, -78, -148, -137, -142, -70, -91, -147, -127, -142, -143, -177, -111, -153, -117, -125, -106, -154, -179, -116, -136, -118, -147, -99, -162, -97, -134, -147, -124, -114, -110, -105, -100, -169, -140, -142, -118, -133, -143, -119, -106, -118, -98, -122, -143, -155, -116, -105, -129, -103, -95, -125, -139, -116, -180, -54, -137, -112, -129, -102, -180, -145, -103, -126, -94, -153, -148, -122, -110, -89, -150, -132, -134, -120, -151, -140, -179, -132, -158, -106, -157, -149, -151, -134, -131, -118, -156, -121, -115, -123, -104, -134, -136}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1606508416, 1352879360, 1154980096, 1414385280, 1305650688, 1123128448, 1659682816, 2050223488, 1261584384, 1421971840, 1350219264, 1437803520, 1721783168, 1079639936, 1576158336, 1128472448, 2119026560, 1175040512, 1940028032, 1379134336, 1090657024, 1333618304, 1349203712, 1177263744, 1152876928, 1433981312, 1338030208, 1373954560, 1081618816, 1946967296, 2048811008, 1910479488, 1450363264, 1339793152, 1599340544, 1886696064, 1700255232, 1563893504, 1401169664, 1933765376, 1549927552, 1573082624, 1740645504, 2123460224, 2071928192, 1754140288, 1138026112, 1794567808, 1216187904, 1407742208, 1666860928, 1638134656, 1581186688, 1186560896, 1704307328, 1570144128, 1530102144, 1328628224, 1663969280, 1764403328, 1463538048, 1292052736, 1294678016, 1360029440, 1474830208, 1122256768, 2068704384, 1127460992, 2099579008, 1744267776, 1579402368, 1713443072, 1117498368, 1450860800, 1526961664, 1577361408, 2065547264, 1164295040, 1892287232, 1399126400, 1776852352, 1647706112, 1911017984, 1855524992, 1494584832, 1486455936, 1784979456, 1627934208, 1766232320, 1315923072, 1876708864, 1510030208, 1650215808, 1421273344, 1441949824, 1279447424, 1745397120, 1451539840, 1235232768, 1394263296, 2144244992, 1715197568, 1571669248, 1661112320, 1110247168, 1382387584, 1720903552, 1605750016, 1404904576, 2113690752, 1814231552, 1573256576, 1718233216, 1385231488, 1865760256, 1760481280, 1618915584, 1347175040, 1375827456, 1800095744, 1979053184, 1424045184, 1698639360, 1911371904, 1472189952, 1470328832, 1705428352, 1474513152, 1577402368, 1555810688, 1649293312, 1630523136, 1975469184, 1383245440, 1104215808, 1415875328, 1422278016, 1376969856, 1367948544, 1126714368, 1698327680, 1283202688, 1211284224, 2012050816, 1852601600, 1455247104, 1247150720, 2104886912, 1082218624, 1343676416, 1226571904, 1355751424, 1266003712, 1815368064, 1384055808, 1922664832, 1383179008, 1527908736, 1289379072, 1409502336, 1230423424, 1117774336, 1183759744, 1233793152, 1955616000, 1469229568, 2131706880, 1539947264, 1660611968, 1074682880, 1957830400, 1385768192, 1644795904, 2115868672, 1976877184, 1257201152, 1649531392, 1948492544, 1675022592, 1680400896, 1861993344, 1721303936, 1546783744, 1665720832, 1207162624, 1467681024, 1844302208, 1156620544, 1258390272, 1151413504, 1582064768, 1106875648, 1588875648, 1161484416, 2027443968, 1333817600, 1914740352, 1967620992, 1516176512, 1191063808, 1637917184, 1996537344, 1767106048, 1472415104, 1601753728, 2079705600, 1592986368, 1561509376, 1809549184, 1304182528, 1865509504, 1453212544, 1549334272, 2098304256, 1623771008, 1288693760, 1760460672, 1106310784, 1343160448, 1793535616, 1186551424, 1785201920, 1324365056, 1219112832, 2042427392, 1321492224, 1363623808, 1981754496, 1925997312, 1910735488, 1421958272, 1816543488, 1556652800, 1370505344, 1787250560, 1496568064, 1651196416, 2035250304, 1727274624, 1483242240, 1561837568, 1184447232, 1552803584, 1090034560, 1708120320, 1466450688, 1183145856, 1560504448, 1560379904, 1713129856, 1106766720, 1196441984, 1760183936, 1099098240, 1736819584, 1389110016}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {119981, 82567, -1664, 66535, -145, -138, 2464, 72747, 29717, 93005, -71, 203213, -517, -16754, 167602, 177049, -1884, -7882, 11327, -227, 121383, 92795, 217424, 185709, 147605, 6587, 111234, 65, -25311, 115711, -171, 103200, -70, 96512, -264, -240, 210381, 88624, 101341, 196671, -273, 9093, 195871, 80995, 77582, -2295, 154922, 130800, 84335, 128594, 207370, -38, 180354, 94665, -110, -391, -880, -90, 285, 12725, 838, 78474, -469, 353, 163657, 75664, 85903, 33668, 315, -1036, 139582, -17575, 119522, 70813, -54924, 175, 710, 86256, 69425, 59678, 169794, 1969, 68461, -356, 16265, 16853, 136287, 42845, 57856, 22227, 336854, 174987, -151, 211713, 84917, 96038, 17, 144887, 19323, 255, 189551, -556, -7854, 187765, 148, 213920, 165, -148, 67, -406, -330, -372, 159472, -16878, -488, 3138, -450, 103716, 360842, -399, -1310, 194842, -232, -141464, 1934, -60, 363, -49260, -48262, 137, -454, 3248, 191269, -401, -794, 115980, -595, 199546, 91574, 69727, 148229, 185063, 88435, 119055, -2778, 221378, 67596, 107951, 214065, 43, 24252, 87265, -707, 176655, 77647, 78411, 196077, -18344, 194475, -3018, -297, 163134, -37062, 206699, 174675, 72446, 120676, 192, -3752, -1107, 68750, 117891, -1954, 74354, -3519, 211737, -897, -799, 165777, 162218, -175, -22320, -175, 286, -321, -14853, 213512, -409, 80447, 137648, -6658, -1422, -22214, 715, -74821, 83183, -427, -3288, 185969, 170350, -527, -167, 156990, 244, 174702, -13516, 152499, 4524, -1219, 173685, -679, -303, -416, -355, 7393, 193353, -498, 66285, 112588, -118, 81732, -13, 224362, 87134, 139044, 184865, -907, 99880, 232, -218, 244399, -629, 23304, -101, 211372, -354, 126952, -6663, 88803, 139569, -436, 55963, -259, -119, 92177, 127692, -150, -484, -466, 94499, 109353, 124534, -88, -218, -199, -335} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {-451, -300, 115, -386, 42, 49, 88, -252, -161, -311, 45, -298, 85, -12, -402, -322, 92, 75, -119, 32, -282, -276, -314, -370, -367, 44, -346, 56, 22, -238, 98, -405, 59, -307, 47, 53, -328, -279, -354, -321, 86, -117, -344, -258, -266, 69, -371, -321, -274, -286, -399, 60, -322, -333, 61, 72, 58, 75, 50, -135, 79, -276, 78, 83, -406, -396, -283, -100, 42, 39, -343, -71, -313, -263, 142, 18, 53, -283, -265, -190, -350, 57, -174, 65, -123, 74, -420, -158, -171, -139, -380, -302, 21, -319, -261, -264, 45, -315, -118, 50, -337, 29, 75, -354, 33, -365, 61, 132, 72, 66, 50, 38, -436, -71, 36, 61, 92, -276, -413, 52, 31, -320, 53, 381, 73, 47, 77, -66, 191, 46, 64, 59, -327, 30, 47, -475, 58, -304, -264, -287, -366, -469, -290, -417, 98, -343, -288, -435, -304, 31, -86, -269, 72, -311, -266, -273, -323, 164, -291, -130, 53, -544, 38, -348, -328, -265, -310, -133, 86, 52, -266, -267, 63, -274, 53, -338, 91, 46, -309, -305, 41, 22, 64, 57, 25, -81, -332, 45, -262, -305, 73, 17, 102, -40, 316, -283, 8, 104, -362, -304, 40, 87, -266, 26, -324, 82, -337, 42, 34, -438, 30, 46, 39, 44, 48, -348, 86, -376, -349, 64, -275, 85, -343, -274, -304, -322, 53, -299, 33, 42, -328, 58, -102, 101, -292, 45, -309, -100, -321, -363, 45, -286, 51, 65, -308, -324, 28, 105, 127, -310, -297, -284, 83, 88, 57, 37}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1951341184, 1811712128, 1312354688, 1816181504, 1348212992, 1111614592, 1508911360, 1206056320, 1788893056, 1173290240, 1123144064, 1494122112, 1102889984, 1814510208, 1512372480, 1683315712, 1797652224, 1232335744, 1635944576, 1544623616, 1706414336, 1736386432, 1330322176, 1193324288, 1302009216, 1347475968, 1266669568, 1638118784, 1074537216, 1098745088, 1975010560, 1225576576, 2144419456, 1422436736, 1440166272, 2014545152, 1684438784, 1891089280, 1343432832, 1300396544, 1448900736, 1517095680, 2094172800, 1153781376, 1080051072, 1646924416, 1157934976, 2068008704, 1830339328, 1203923072, 1728791808, 1303553920, 1230356480, 1481655680, 1564583680, 1447022848, 1238903296, 2139522176, 1580126080, 1574298240, 1538628096, 1917072384, 1254361472, 1340157824, 1835802624, 1355343616, 1764252288, 1471286144, 1189520640, 1588553216, 1172199040, 1893250560, 1309254272, 1201859584, 1242426752, 1981625600, 1127873280, 1603804544, 1680251264, 1943805184, 1332146432, 1392993536, 1935261440, 1165269248, 1342638976, 1303604992, 1136337280, 1433078784, 1163605888, 1468869248, 1996090496, 1381719040, 1337438848, 1566455936, 2005421568, 2002122496, 1367948288, 1982464000, 1446403328, 1367746816, 1360359680, 1749800832, 1422509184, 1460495872, 1133166976, 1436316544, 1348752640, 1096162816, 1512248832, 1140902400, 1711456384, 1702956800, 1598082432, 1613075456, 1546528512, 1257555200, 1564004224, 1639236864, 1550343552, 1409724928, 1127361024, 1385095936, 1581619200, 1400726144, 1529499520, 1268479232, 1126185344, 1513897344, 1897967872, 1309003520, 2097274880, 1548236032, 1617623936, 1914916096, 1809476480, 1883661184, 1312025856, 1375784320, 1846135936, 1256462336, 1166568448, 1457209216, 1379870208, 1799056256, 1450631808, 1308199808, 1464970880, 1422261504, 1624809600, 1834098688, 2066001536, 1516722688, 1213508352, 1899711104, 1849135232, 2101946752, 1297021440, 1331433600, 1509250944, 1224272384, 1630190848, 1601362432, 1673007744, 1089712000, 1952150144, 1592832384, 1344300928, 1194583808, 1410969216, 1318803328, 1269012992, 1472129024, 1399172352, 1089661056, 1837415296, 1466766080, 2052495488, 2144339584, 1526209024, 1679806080, 1613676800, 1878945408, 1267181056, 1569885696, 1521905664, 1319304320, 1697325568, 1390844288, 1096147968, 1749693440, 2146780928, 2137990016, 1312421504, 1635456512, 1089648256, 1898058880, 1612930816, 1180347776, 1777087232, 1324632832, 1313253376, 2060171008, 1085289344, 1622072192, 1438855680, 1415226240, 2139684224, 1263918464, 1167338496, 1598027904, 1433608576, 1703859584, 1322070912, 1397694336, 1186230912, 1105156864, 1137555072, 1565056512, 1347098880, 1738129408, 1780377600, 1451866496, 1233624064, 1605630208, 1599087360, 1196557696, 1371027968, 1080503808, 1281931520, 1560403584, 1306350336, 1970028288, 1430242944, 2092203264, 1320591488, 1200579200, 1145525120, 1341557120, 1184614144, 1349259392, 1466796544, 1509217280, 1573772032, 1491597952, 1950497152, 1091938816, 1970400384, 1279449856, 1451236224, 1554756224, 1639729792, 1354644992, 2046788352, 1238217088, 2084524032, 1372804992}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-31491, -19623, 8986, 1329, 14293, -53614, 25762, 21794, -19254, -13366, -11022, -10402, -70169, -33468, 10547, -38359, -29074, 2380, -41260, -9714, -22088, 48492, -47530, -32391, -32670, 4324, -23285, 46206, 22576, -7906, -103024, 31276, -52065, -10056, 25882, 47965, 35839, -34926, 5419, -27997, 17439, -30093, -29710, 647, 3805, 46859, 11628, -58768, -19741, -3204, 40725, -271, -32957, 35208, 32359, 7821, 34026, 19034, -44430, 11578, -5792, 52463, -69710, -2202, 10606, -47510, -28380, -27239, -36625, 42804, 18208, 10467, 3597, -13386, -30498, -19819, -8807, -37316, 2156, -30180, -19275, 1616, 13714, -12847, -26231, -23175, -16876, 47851, -15630, 4340, -53545, 78098, -27996, -30142, -9020, 14232, 14225, -39116, 9425, -7661, -44157, -31628, -29761, 53693, -53300, 18155, -13320, 107374, -59550, 27809, 16093, 17804, -937, 11533, 20478, -17943, -38461, -53741, -67541, -17061, -21237, -77441, 13389, -24778, 12770, -13020, 12460, 5244, -33815, -22469, 14074, -80358, 16683, -17731, -12672, -5683, 13696, -5027, 25630, -22293, 60853, -11676, -32453, -12903, -15421, -5883, -60140, 26030, 10301, -10698, -66152, 19464, 31469, -6158, 36622, -34034, 6003, -39758, -20905, -2358, -17813, -46217, -35761, 18112, -16109, -30302, -45085, 11475, -1892, -30684, -45614, -23979, -18688, -20877, -72897, 4981, -36883, -60158, -70977, -6837, -16142, -129443, 14017, -23009, 8343, -23299, 44867, 21178, -2004, -4926, -12555, 18618, -3220, -88969, 21869, 5201, -191, 23243, -19070, -13974, -28171, 32075, -50104, -24012, -22603, 15493, -25574, 47719, -25852, 43726, -44570, -2880, -13822, 33129, -36148, -12737, 8728, 1140, 26204, -4097, -46200, 12846, 14991, -48234, -18969, 3631, -24535, -4560, 36939, -44207, -7876, -16227, -35770, -77087, -15516, -28550, -43249, -34484, 46527, 13395, -13787, -2240, -39117, -3977, -60902, -72564, -1892, 17513, -4678, -46947, -11817, 52070, 3309, -29207, 37611, -20881, 47260, -56335, -25352, 14659, -10031, -27165, 8233, -2500, -71958, 17717, -35708, -86222, -43783, 2716, -9043, -6953, 2892, -26360, 11969, 6187, 22560, 38996, 2253, -17482, -24347, 2044, 75185, -36688, 5155, -32648, -11190, 84435, 24813, 24409, -50623, 48515, 39334, 12937, -25775, -7617, -21666, -13302, -7694, -15539, -20254, 33102, 113325, -48617, 68, -1864, 37825, -11138, -9391, 2970, 23162, -10000, 34800, -24127, 25060, -32450, 23613, -34818, 11675, -6198, -22616, 17580, -46073, -28940, -28108, 6259, -5119, 49404, -42508, -8084, 53356, 25746, 20302, 30711, 11499, -21391, 16727, -22988, -20060, 4049, -18792, 42806, 21587, 12977, 24424, -38562, 9770, -13383, 13732, -36062, -18599, -24283, -5396, -54012, 32110, 2183, 27556, -18559, 9623, 49263, -22550, 34066, -5131, -34720, -31390, 33206, -53685, -5168, 6395, 8923, -19969, 828, -82017, -9590, 35964, -50618, -28129, -16205, -33546, 36152, 18807, -14452, -25732, -58386, 1763, 1193, -3924, -25719, 18146, 36914, -28201, 22638, -36657, -5421, 22313, -58453, -10685, -62779, 12291, 10980, -28978, 38953, 3029, 279, -30123, -28821, 17821, 427, -36254, -17818, 9141, -16926, -37746, -33485, -10193, -22143, 27604, 35760, 57967, -1967, 17281, -33159, -31661, -12557, -6539, 8363, 7227, 37025, 1959, -13238, -11167, -21891, -8533, -11372, -12154, 38846, -4141, 6464, 19005, -33243, -47505, 11450, -28210, 17435, 15817, -83256, 15598, -9460, -26034, -31940, 30649, 4638, -6363, 18056, 13572, 33735, -11145, -53425, -15349, -41246, -6385, -34902, -64219, -1595, -52714, 17345, -34051, 48212, 32316, 51126, 30515, 37887, 25056, -18333, -680, -3041, -33064, 30394, -12103, -41189, -19945, -36755, 36267, -18956, 6726, -38563, -11271, 3316, -25140, -30822, -17172, 31452, -10862, -58826, 10280, 2646, -5938, 25090, -24070, 24445, -17557, 6693, 49839, 6704, -21435, -43657, 28213, -17421, -8920, -20882, -45689, -49243} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-131, -114, -132, -127, -100, -112, -124, -128, -150, -115, -126, -118, -142, -123, -115, -144, -121, -60, -113, -123, -113, -149, -128, -139, -125, -141, -159, -149, -139, -148, -107, -153, -115, -112, -127, -114, -139, -100, -120, -138, -100, -116, -129, -138, -101, -142, -145, -131, -112, -137, -120, -187, -154, -123, -131, -152, -139, -142, -108, -142, -133, -126, -117, -96, -124, -126, -122, -131, -147, -149, -134, -148, -130, -116, -120, -170, -121, -155, -118, -113, -115, -126, -100, -130, -143, -118, -134, -130, -120, -137, -119, -135, -120, -142, -163, -125, -121, -110, -134, -114, -120, -112, -113, -117, -149, -168, -130, -137, -157, -122, -128, -209, -137, -115, -153, -150, -133, -139, -128, -164, -139, -128, -126, -76, -125, -144, -117, -77, -150, -142, -64, -138, -126, -155, -136, -66, -94, -122, -112, -145, -130, -140, -110, -133, -174, -107, -115, -88, -112, -117, -126, -136, -121, -122, -125, -144, -114, -123, -130, -122, -197, -153, -125, -136, -112, -130, -130, -89, -146, -121, -141, -135, -158, -188, -134, -152, -96, -141, -133, -131, -121, -116, -94, -113, -147, -141, -137, -134, -119, -116, -80, -161, -95, -109, -110, -122, -124, -150, -125, -117, -112, -97, -125, -152, -136, -102, -117, -117, -114, -146, -144, -151, -118, -121, -149, -171, -136, -141, -126, -108, -125, -114, -123, -114, -90, -142, -143, -105, -104, -121, -98, -109, -121, -119, -144, -114, -130, -121, -114, -128, -107, -76, -165, -134, -139, -117, -115, -99, -147, -108, -115, -126, -175, -152, -136, -122, -114, -110, -155, -92, -69, -117, -138, -118, -125, -114, -154, -110, -129, -111, -135, -133, -149, -99, -111, -136, -130, -123, -169, -134, -117, -112, -120, -147, -95, -114, -143, -123, -177, -117, -112, -157, -136, -69, -120, -125, -134, -99, -120, -146, -159, -145, -160, -151, -123, -176, -155, -123, -138, -111, -97, -104, -126, -88, -145, -137, -130, -119, -133, -112, -72, -143, -140, -106, -120, -120, -102, -148, -124, -136, -130, -146, -141, -169, -153, -121, -103, -118, -144, -121, -112, -176, -114, -103, -93, -131, -143, -151, -128, -175, -70, -170, -114, -130, -110, -142, -113, -91, -141, -134, -137, -138, -126, -137, -131, -133, -120, -127, -112, -104, -110, -129, -108, -133, -97, -140, -157, -176, -197, -121, -146, -111, -135, -131, -100, -130, -138, -126, -122, -142, -123, -125, -104, -88, -113, -166, -109, -133, -132, -132, -120, -110, -33, -102, -133, -102, -101, -156, -139, -114, -100, -129, -138, -144, -122, -128, -142, -111, -117, -135, -140, -149, -146, -107, -123, -146, -162, -146, -133, -200, -139, -151, -142, -161, -147, -141, -127, -96, -131, -115, -124, -76, -149, -129, -138, -125, -100, -143, -128, -125, -137, -144, -117, -81, -179, -130, -108, -143, -99, -115, -183, -115, -111, -127, -119, -90, -157, -114, -138, -143, -121, -137, -124, -111, -128, -96, -122, -140, -151, -127, -117, -116, -168, -146, -140, -117, -151, -131, -126, -151, -128, -135, -119, -141, -89, -143, -156, -148, -142, -139, -135, -148, -91, -117, -152, -122, -149, -137, -127, -119, -134, -94}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1817947264, 2056568704, 1963059584, 1772863744, 2131789312, 1459063808, 1728137472, 1557550080, 1183735424, 1207654272, 1625233152, 1355605760, 1435362432, 1489755776, 1723959424, 1410285056, 1321824768, 1365633792, 1143629568, 2089795584, 1223049216, 1315944192, 1852206208, 1150486400, 1380351872, 1555655552, 1710622464, 1852457984, 1297283968, 1506558720, 1982947456, 1517635968, 1820577792, 1757634816, 1274154112, 2066466176, 1548519424, 2126919168, 1120878720, 1796770432, 1765704704, 1796362112, 1610727552, 1735769088, 1518999168, 1625023616, 1570522624, 1438674944, 1510126976, 1585943680, 1630719616, 1763169280, 1792208128, 1549883904, 1356078976, 1489947264, 1990711808, 1839492608, 2001965952, 1306814592, 1729697792, 1743007104, 1340619648, 1271454336, 1655007360, 1771255040, 1807325440, 1660400896, 1562155008, 1145441280, 1287806592, 1543774848, 1572588928, 1747164800, 1848883584, 2139479680, 1279894016, 1700226816, 1599352192, 1689474432, 1502174080, 1585005312, 1440244096, 1622177152, 1833697536, 1889827584, 1705391872, 1376811904, 1864930816, 1925573504, 1541536640, 1335179392, 1644465792, 1481115520, 1758056832, 1119487744, 1860072832, 1879744128, 2013780608, 1114291968, 1561656064, 2030470912, 1635049728, 1667550336, 1490626944, 1329877248, 1696956800, 1737399936, 1400771456, 1188416640, 1549718912, 1513249792, 1856062080, 1616916096, 1454477312, 1603075200, 1661877504, 2085649792, 1419803264, 1395577216, 1623749632, 1492793856, 1206203264, 1741209728, 1419929216, 1921089920, 2055167488, 1886630784, 1424065920, 1088003968, 1680996736, 1360332672, 1826102144, 1864574720, 1353160832, 1313848192, 1999668608, 1688104320, 1832267136, 1654761344, 1287022336, 1346192256, 1599749120, 1956964224, 1311679232, 1844864768, 1795091456, 2110590464, 2105320576, 1768575872, 1803883136, 1557331456, 1629954048, 1229361280, 1915383168, 1268309248, 1741059072, 1406758912, 1559830144, 1394046976, 2135927808, 1532812544, 1636023296, 1590468864, 1229400704, 1153729792, 1242170624, 1265015808, 1723018112, 1526452224, 1518862720, 1124897408, 1529977728, 1509579648, 1690241920, 1449144064, 1893927552, 1779433856, 1377767936, 1090612480, 1517140864, 1222945792, 2074278144, 1113785728, 1498105216, 1674481280, 1497049472, 1717512448, 1706786432, 1625341056, 1217550464, 1301602176, 1178258176, 1498085120, 1342742784, 1500312448, 1325018112, 2130496384, 1220719488, 1464260864, 2137339904, 1721004160, 1501862528, 2066715776, 1461130368, 1870784640, 1099175680, 1095543808, 1944894848, 1302326144, 1547403136, 1139649408, 1697514880, 1836275840, 1853928960, 2117242112, 1465600256, 1373044096, 1653188608, 1658877184, 1208555904, 2037569408, 1183848448, 1639978752, 1766102016, 1989153408, 1236701696, 1726852096, 2126502784, 2118277632, 1178303360, 1655860992, 1873299328, 1719963520, 1558725760, 1100116480, 1858099712, 1616230912, 1801096064, 1713744128, 2139034496, 1504708096, 1839389440, 1329416704, 1407532672, 1796318336, 1701893632, 2105693056, 1457400576, 1674849792, 1675002752, 1598519040, 1541017088, 2127714560, 1257718912, 1178555392, 1828033408, 1380826240, 1938676864, 1876318208, 1404889984, 1843026176, 1674231168, 1375100800, 1884729344, 1725556224, 1444046464, 1542388096, 1831739776, 1748923904, 1972198144, 1579251968, 2130080640, 1921433600, 1467360384, 1861808384, 1876493056, 1593506688, 1097334144, 1146450176, 1872907904, 2121969408, 1234937216, 1935112448, 1331863680, 1292253312, 1474081920, 1849259776, 2011257216, 2059060480, 1328629632, 1230520960, 1987940864, 1645395456, 1986208896, 1510844928, 1620664576, 1269435136, 2019216896, 1769032192, 2110223232, 1787734656, 2074061440, 1493564800, 1452312192, 1857889792, 2105085824, 2003468544, 1674821376, 1780527616, 1607027328, 1742374656, 2004908288, 1478883840, 2103076992, 1696930944, 1636917632, 2141125888, 1788538624, 1454809984, 1655040768, 1646611712, 1535803136, 2065025408, 1638849152, 1512933632, 1135787520, 1675888768, 1748019712, 1663598208, 1689919488, 1117179392, 1355619840, 1923108736, 1846756736, 1976721920, 1116451328, 1507468032, 1770424320, 1917225088, 1083208320, 1882261120, 1356217344, 1206062336, 1199505920, 1475488640, 1654868864, 1565664384, 1282279424, 2117892736, 1280067840, 1322162048, 1844074496, 1472902016, 1743980800, 1125612544, 2115324928, 1793227008, 1406326656, 1603509760, 1347044224, 1288505344, 2012569216, 1410945408, 1846102016, 2000478848, 1287833088, 1662095616, 1536230528, 1494318720, 1581206784, 2073148416, 1737516672, 1242527232, 1243297920, 1534113280, 1135957632, 2021707776, 1705981056, 1594736768, 1515963136, 1697637376, 1625496704, 1263200384, 1657643648, 1303845504, 1289839488, 1595781376, 1761177856, 1586052096, 1656247552, 1413653888, 1402221056, 1308897792, 1108743936, 2077621632, 1914367104, 1645752448, 1978637568, 1541041408, 2047704832, 1429502208, 1523025408, 1163589888, 1493181440, 1935985024, 1822064256, 1551918848, 1689213696, 1876247040, 1861908352, 1951443072, 1480778624, 1187352192, 1340264448, 1527391488, 1826291584, 1669971200, 1289386368, 1460564864, 2090685696, 1307782144, 1398408192, 1501111552, 1305883520, 1727325952, 1977908736, 1658330752, 1229658368, 2032675712, 1384531200, 1276839168, 1348195840, 1440026880, 1934510464, 1790410112, 1668750720, 1081320704, 1744376448, 1700721792, 1663681536, 1407614976, 1382891008, 1882622848, 1789523328, 1465736192, 1172528640, 1790393600, 1607237120, 1331021824, 1250808192, 1702203392, 1764851328, 1289670784, 1089053184, 1344282496, 1102220928, 1258598784, 1914835968, 1584161024, 2142939136, 1409556480, 1299017344, 1847826688, 1308770176, 1413845376, 2094390400, 1086813568, 1333777792, 1805054336, 1777681024, 1908242432, 1969937024, 1455763072, 1370361088, 1288782592, 1254647808, 1640040832, 1760241152, 1532609792, 1609030400, 1976890496, 1129350272, 1835229440, 2094789632, 1126740480, 1223676928, 1196181248, 1381641728, 1724515456, 1973855744, 2061917440, 2036550528, 1777328768, 1309973248, 1571602048, 1547740032, 1551472640, 1877356672, 1485377536, 1339670656, 1547542528, 1547500160, 1108318336, 1541298688, 1644025088, 1134508288, 1138120576, 1245744256, 1671622144, 1718940288, 1386547200}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-790, 128791, 106792, 241655, 81962, -2332, 109008, 157, 77485, 72062, -423, 71742, 1113, -687, 28179, -1026, -3480, 211837, 74426, 200, 284502, 122856, 133635, -1184, -330, 87361, -318, 199071, -354, -1485, 838, -3686, -3872, -764, 98140, -16328, 163534, 134581, 2299, -794, 66610, -1103, -1717, -874, -3431, 179461, -15478, -556, -4462, -913, 167930, 44912, 1057, 317, 130070, -724, 115129, -81608, 112272, -1188, 224959, 68197, -377, 120104, -3607, -71, -1572, -1047, -198, 100999, 350, 141628, -2790, 175, -14113, 197783, 104950, -1364, -1330, -1188, 143128, -1060, 44854, -489, -653, -81214, -1223, -982, 109275, -50359, -3398, -1587, -1378, 34, -798, 214190, 43897, -997, 44363, 59000, -1222, -131, 83113, -404, -945, 8104, 200636, 62443, -1259, 238997, -74, 17511, -35874, 113428, 149708, -6498, 320246, 2225, 327, 76802, -1095, -573, 11130, 83319, 111606, -208, -46, 44116, -361, -647, 79513, -179, -3470, -293, 272064, 52639, 202390, 29268, 60043, -808, -2858, -167, -4106, -289, -69, -474, -1110, 140589, 47595, 52193, -2323, 136268, 2918, -842, 231637, -3254, -12803, -842, -995, -6931, -11, -1033, -326, -1526, 115388, -593, -605, 36438, 99467, -1407, -5001, 449, 581, -16, -6, -16647, -31815, -300, -3694, 151172, -13577, -159, 171632, 80980, 261368, -1185, 300, 59678, 79484, 104049, 58018, -188, 161937, -793, -859, -3035, 61553, 59231, -5723, -299, -141, 57282, 531, 110619, -1997, 47209, -1414, -1229, 44083, 110832, 10791, -818, 49359, 83762, -697, -405, 124461, 34940, 135836, -400, 1581, 78504, 60936, -1489, 60495, 216424, -2707, -1877, 28203, 207399, 66537, 49314, 175393, -2039, -1311, 145036, -122, 547, 109270, -889, 91330, 19887, -526, -1000, -1101, 163944, 30650, 50565, -836, -15110, -2272, -868, 38, 26, -1505, 150093, 11834, 65983, -5760, -737, 16530, -2969, 57824, -1044, 94188, -6466, 13212, -220, -1586, 82666, -1059, 83950, 61089, 107375, 37461, 131941, 179542, 39018, -2808, 82459, 273288, 85019, 345685, 538, 120735, 149102, -421, 182303, 24350, 170862, -319, 32619, 164373, 73304, 217702, -760, -1466, 45767, 452337, 30705, -515, 74841, 236992, -695, 663, 63013, 226969, 108918, 80438, 158009, -2002, -1299, 233150, 44660, 52377, -1622, 59450, -335, 102608, 45789, 84596, 80448, 1058, 1004, -346, -2259, 96171, -1555, -187, 87390, 193090, 122990, 9923, -1879, -17426, 149505, -4931, -1761, -731, 73317, 14, -675, 41114, 275907, 83636, 6045, -575, -813, -1113, -201, 87981, 258, 42349, -12058, 52194, 61189, 67209, 27440, 301, 136587, -842, -1066, 41631, -60, 141213, 165736, -1618, 235, -144, 62277, -737, 206407, -623, 203534, 12217, 1145, 954, 91, 29, 194347, -332, 35528, 379, -24, -912, -84, 83, 4989, 52811, 136458, -1556, -1044, -753, 81977, 187518, -5307, 172183, 356, 43499, 121678, 240587, 517, 99632, 26, 198805, 120360, -103, -3470, -808, -938, 82986, 131278, 146534, -839, -556, -728, -51184, 75369, 66367, 125137, 1473, 25, 997, 50161, -14732, 117090, 69259, 60703, 189392, -170, -399, -675, -718, -579, 3179, 135887, -618, 42904, -930, 165971, 157270, 44643, -5392, -43847, 39243, -660, 135059, 86704, -1114, -875, -2710, -8794, 80131, 652, -2173, -2060, 243197, -719, -1693, -622, 75, -588, 58098, 156899, -380, 58377, 17, 202490, 186286, -1662, 149193, 145935, 77832, 24, 50257, 41568, 1, 206310, -1534, -1008, -6182, -409, 225, -2300, 123507, 293523, 461427, -848, -238, -263, 40179, 77525, 134054, -13991, 73168, -639, -468, -1316, -6273, 136872, -729, 271, 112, 65106, -1207, -7747, 62730, 37, -405, -3915, -2288, -694} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {381, -488, -510, -531, -427, 251, -508, -111, -468, -368, 187, -511, 262, 210, -359, 238, 145, -712, -415, -103, -959, -535, -459, -116, 244, -493, 225, -540, 150, 247, 292, -102, 188, 220, -467, 480, -448, -624, -97, 342, -368, 170, 193, 220, -99, -497, 259, 228, 289, 157, -788, -479, 347, -120, -418, 348, -433, 235, -401, -105, -587, -391, 141, -521, 295, 273, 179, 160, 324, -470, -138, -536, 95, -121, 332, -571, -445, 323, 176, 310, -479, 157, -379, -108, 247, 115, 136, 194, -466, 168, -106, 281, 298, -115, 193, -513, -352, 227, -382, -434, -123, 154, -413, -103, 224, -47, -626, -409, 353, -574, -118, -145, -16, -456, -464, -98, -780, 784, 194, -487, 262, 188, -129, -494, -510, 99, -131, -319, 323, -109, -447, 259, -101, 180, -394, -419, -822, -321, -399, 182, -110, 184, 194, 278, -205, 222, 234, -522, -369, -360, -105, -464, -166, 279, -641, 150, 231, 286, 173, 321, -214, 257, 206, 202, -548, 320, 241, -330, -453, 258, 79, 195, -106, -206, -175, 129, 282, 294, 109, -512, -130, -61, -562, -463, -729, 191, -169, -399, -485, -399, -305, -139, -559, 341, -124, 142, -380, -370, 50, 233, -103, -384, 218, -523, 606, -317, -105, -123, -341, -375, 348, 383, -324, -446, 353, 287, -430, -341, -448, 176, 608, -406, -437, 249, -401, -859, 141, -116, -347, -925, -469, -387, -604, 347, 263, -562, 204, 299, -397, 296, -477, -328, 163, 253, 167, -613, -328, -340, 204, 165, -103, 300, -126, -140, -131, -457, -187, -323, 169, 136, -137, 654, -422, 203, -487, -100, 262, 195, 203, -406, 269, -443, -481, -488, -333, -533, -477, -354, 594, -439, -571, -443, -1242, 337, -473, -740, 254, -479, -151, -632, 193, -209, -696, -410, -710, 331, 229, -380, -990, -286, 176, -453, -385, 164, -103, -384, -569, -470, -395, -570, -114, 292, -495, -360, -379, 301, -377, 255, -518, -355, -408, -409, 323, 364, 254, -117, -439, 487, -212, -453, -531, -397, -178, -144, -70, -579, -96, 311, 252, -444, -175, 82, -353, -951, -418, -47, 154, 188, 362, 298, -533, 153, -351, 648, -403, -372, -354, -306, -177, -520, 281, 195, -343, -218, -498, -535, 161, -128, -142, -461, 171, -563, 269, -567, -124, 966, -104, 51, -167, -529, -113, -363, -117, -208, -169, -103, -100, -106, -364, -438, 281, -108, 163, -485, -751, -98, -557, -126, -356, -443, -507, -121, -324, -112, -573, -420, -189, -110, 267, 238, -447, -497, -470, 382, 259, 205, 179, -430, -402, -434, -76, -118, 316, -351, 117, -419, -404, -353, -478, -186, 237, 151, 156, 215, -119, -518, 154, -336, 196, -527, -546, -335, 295, 478, -327, 279, -497, -382, 230, 228, 76, 98, -401, -101, -120, 116, -620, 273, -112, 292, -150, 285, -310, -493, 211, -397, -147, -634, -698, -114, -410, -575, -454, -100, -418, -373, -187, -857, 315, 156, 277, -165, -116, 515, -407, -874, -1096, 252, -124, 326, -353, -442, -484, 175, -374, 298, 243, 275, 324, -472, 159, -119, -129, -360, 169, 456, -330, -131, 148, 587, 515, 171}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1838915840, 1268303872, 1992451456, 2057126656, 1659375744, 1719953024, 1364766464, 1327509760, 1886557952, 1939434240, 1119897600, 2087591424, 1783643904, 1414954624, 2139009792, 1516518656, 1545711744, 1979456896, 1860925440, 1483058432, 1480815872, 1421137408, 1864654208, 1154136576, 1577991680, 1359794816, 1541659264, 1314080256, 1615492224, 1161534848, 1896088320, 1086643584, 1249927552, 1307167616, 1085351040, 1349185152, 1430869760, 1844849280, 1674340096, 1220766720, 1188513536, 1488473984, 1169201664, 1687785216, 1076765696, 1473777280, 1237524736, 1692094976, 2057090560, 1189641728, 1075798784, 1285880064, 1755746432, 1131517568, 1758373760, 1833562240, 1700099840, 1674067456, 1800972800, 1343425792, 1511844352, 1138516608, 2042990976, 1740473344, 1497728640, 1285757824, 2113327488, 1405279744, 1143352448, 1538204032, 2106623360, 1311278208, 1378662016, 1076342016, 1403171456, 1480402432, 1741427584, 1104650496, 1675725312, 1944605184, 1919201408, 1371672832, 1963979904, 1169086336, 1080666752, 1710893568, 1486690688, 1201013120, 1442931840, 1508793728, 1402951808, 2109239040, 1232342528, 1898925952, 1532096000, 1926694912, 1576244224, 1180558336, 1462159360, 1134230400, 1114835712, 1695382656, 1815963904, 2088784512, 1229564672, 1313378432, 2065108608, 2060608128, 2119921280, 1275660928, 1117891328, 1693613568, 2128255872, 1383170560, 1792252928, 1124607488, 1436477312, 1272403968, 1421814272, 1844714112, 1081790720, 1644226560, 1417449856, 1916789120, 1075368576, 1275660544, 2099410560, 1992060928, 1322089600, 1185071232, 1746530176, 1438829056, 2013913088, 1090628352, 1279525760, 1200976000, 1677883648, 1127015680, 1100136704, 1385080192, 1319205248, 1643214720, 1240169600, 1500267264, 1550751744, 1128445056, 1311862912, 1301611264, 1322331008, 1389562368, 1350598784, 1567276800, 1999209344, 1314856320, 1115723648, 1237524096, 1286985728, 2138064512, 1494768000, 2122504832, 1984006400, 1568774400, 1588449536, 1247589248, 2123993344, 1188573440, 1660651648, 1661100800, 1505037568, 1285546368, 1391660544, 1242524160, 1280236544, 1808020864, 1951841536, 2130412544, 1550618624, 1420537088, 1211730560, 1652724864, 1922370304, 1174391168, 1992908672, 1338516736, 1747545216, 1425726720, 1469190016, 1127838464, 1644184320, 1671515904, 1351696128, 1126061056, 1966934656, 1230115200, 1440716416, 1518145152, 1101728512, 1178682496, 2135269888, 1907520128, 1958861184, 1394860032, 1379955712, 1624113280, 1720244992, 1352749568, 2133944832, 1773511040, 1455027328, 1291043072, 1807776384, 1511458432, 1484278784, 1716519168, 1384057088, 1656556800, 2108915584, 1826859264, 1375042944, 1425794944, 2091924480, 1803468416, 1077129728, 2047729024, 1167862528, 1283025536, 1630355456, 1279662976, 2031809536, 2006615040, 1988509056, 1433393024, 1540570496, 1429599616, 1892145792, 1301228288, 1552590464, 2054186624, 1087983872, 1935749760, 1590838144, 1443617792, 1768780416, 1134751744, 1697652096, 1831290240, 2079365632, 1383015168, 1354861056, 1100260736, 1375132928, 2057029376, 1107508736, 1959633792, 1300890752, 1216760320, 1365509760, 1418880768, 1488930816, 1478672896, 1402278144, 1781259136, 1156391168, 1478049024, 1561515136, 1168569216, 1296655232, 1736621952, 1318814976, 2090016640, 1090827392, 1223045120, 2076439680, 1458686848, 1722097408, 1168308480, 1250686464, 1522888960, 1879174272, 1078999936, 1657171712, 1747667840, 1338213888, 1325097088, 1339262720, 1414921600, 1928675968, 1252009728, 1706494336, 1442097536, 2064110848, 1154039168, 1582795264, 1148646784, 1169450240, 1780955392, 1224652288, 1381769856, 1906096768, 1374755328, 1076322176, 1882836096, 1636727680, 1634722560, 1930228608, 1109334784, 1689942400, 1428023424, 2002619264, 1217027840, 2007241728, 1736627584, 1077572224, 1462839808, 1307267712, 1692371712, 1177479424, 1706860416, 1465948032, 1702868736, 1732162688, 1916987520, 1100629248, 1983019648, 1467577984, 1260795392, 1507111552, 1861312640, 1086497024, 1911990528, 1128808064, 1364253696, 1370778752, 1371272064, 1138348288, 2106782976, 1968369664, 1481191808, 1486953472, 2009719808, 1215859200, 1259258880, 1965291648, 1974107392, 1782810368, 1649548928, 1764857984, 1224171648, 2120199424, 1437563904, 1592527232, 1169517696, 1599462272, 1664182144, 1381560960, 1126490624, 1247158272, 1168648320, 1125973760, 1465239296, 1336591616, 1348265984, 1845505664, 2069146496, 1480805376, 1231223552, 1319778944, 1378326016, 1260316800, 1153106560, 1681216128, 1204485376, 1288320512, 1135449088, 1403719168, 1367371008, 1754906880, 1709741952, 1601773568, 2111200128, 1088652672, 1701730560, 1214766464, 2129746304, 1687866880, 1953792768, 1140561536, 1299318272, 1392410112, 2090411392, 1122091136, 1076831360, 1573461504, 1586283392, 1351233664, 1940323712, 1090443648, 1519145984, 1599335552, 2002705664, 1783320704, 1987406208, 1448744704, 1323479680, 1159123712, 1418620288, 1482785792, 1403267840, 2112344704, 2049114240, 2049557504, 1270172544, 1788525184, 1930823552, 1135446016, 1440971776, 1910237440, 1843869440, 1274521856, 1102696704, 1705388160, 1720314752, 2073901568, 1491912448, 1839590272, 1688029440, 1154123392, 1297746304, 1090275584, 1520028032, 1673956352, 1532011904, 1717635712, 1428281984, 1792949504, 1190296192, 1748496128, 1489497984, 1655122688, 1113995392, 1233648128, 1423685888, 1352335616, 1884664192, 1680662528, 2115922688, 1561500416, 1189431168, 1214191104, 1275725440, 1411555840, 1134001280, 1910159104, 2128843008, 1572594304, 1718048256, 1977302400, 1462300800, 1775862656, 1326311808, 1459147776, 1501222016, 1417349248, 1313694720, 1098850432, 1138388992, 1600357760, 1285598080, 1121120384, 1165664896, 1476708992, 2042907776, 1877669376, 1490873472, 1224678016, 1536897664, 1273613952, 1380926208, 1728158720, 1219181056, 1110457600, 1279044224, 2075380224, 1342689408, 1765444608, 1153069312, 1838405120, 1330731904, 1191083392, 1263877120, 1626209280, 1686355200, 1409571584, 1095206272, 2029217664, 1970862464, 1286781056, 2128768768, 1116304256, 2102161920, 1784838912, 1309455616, 1470157696, 1130090112, 1333875456, 1232446336, 1126855168, 1506514176, 2068594432, 1675625216, 1993099264, 1910334336}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {29814, 10720, 3743, -32786, -27375, -34779, -53142, -18602, -46640, 5414, 45522, 6496, -18331, -22125, -10837, -10590, -28442, 8002, -43565, -30460, -510, 4382, -25112, -1945, -10368, -43161, -1992, -35324, -2136, -2465, 6811, 5329, 1967, -16895, 29526, -31428, -10889, 9031, 3003, 8395, -5341, -60, -21473, -25407, -824, 4858, -12804, 27718, -16621, 18772, 34873, 984, 13676, 10298, 8681, 34242, -7705, -39643, -51861, -5321, 5288, 17793, -128, 5416, 11356, -1474, -3522, -20900, -52294, -3261, 27397, 9517, 2960, 32149, 17317, -12423, 283, -2047, -10272, -20768, -20149, 10562, -547, -37953, -46171, -39642, -40210, 36541, -21927, -3168, -43762, -9013, -29987, -27761, 20599, 18118, 12881, -17556, -43589, -57690, -15, -46799, -20778, -36481, -8759, -2292, 29542, -23395, 14720, -19336, 18795, 43450, 15901, -5008, -16366, 6567, -26468, -3550, -7577, -16287, 92, 35999, -14869, 2018, -17798, 8361, -12794, -26093, -24391, -38008, 1982, -34576, -19254, -31177, 33480, -32490, -44264, -8605, -23686, 49539, -26520, -11753, -2621, -7739, 8391, -23227, -32500, -20846, -28977, -10844, -56700, 29568, -8526, -60302, -449, -13206, -43580, -20300, 474, 11042, -41535, -49488, -24375, 10107, -40586, -6375, 6192, -14755, -29880, -45650, -17573, -52817, -37654, -13755, 6583, -6748, 1233, -12648, -31281, -32956, -41267, 20411, -2947, -9100, 11847, -42940, 37535, -29434, -18462, -23335, -30795, -23074, 7517, 545, 3898, 19414, 21314, 1458, -47806, 21987, 6769, -3987, 41420, -8081, -44627, -21044, 2680, 3402, 18165, -40917, -27709, -4539, -10749, -44065, -1413, -343, -10273, -14995, 1453, 15138, 10432, 9604, -38842, -46419, -15302, -27444, 7024, -11784, -34917, -39005, 828, -40598, -914, -41414, -29066, -15239, -20197, -12296, -7294, -70611, -2556, 4893, -13094, -2975, 21900, -40454, 5734, -25629, -40683, 18588, 16443, -504, 632, -28872, 12818, -34820, -61467, -55654, -24888, -8889, 5794, -12350, -24326, -21197, -51816, -2874, -6207, -26780, 13413, -31277, -26104, 1091, 692, -12931, -24376, 33158, -9564, -13559, -12458, 9822, 13215, 4113, -17603, -15736, -17510, -12930, 43815, 34412, -18452, 7687, -22125, 10816, 4062, -14318, -36492, -41705, -46449, -7037, -36771, -50346, 26695, -6806, -26089, -14294, -15011, -3517, -23155, -43416, -4199, -7718, 5715, -6193, -27219, -55564, -17846, -11412, 33238, 3086, -1006, -17491, -44872, -13539, -25152, -22916, -2249, -61604, -25107, -24957, -27059, -13363, -18206, -26728, -26870, -68478, -25866, 21592, 13509, -25226, -5945, -39927, -21751, -4079, -37005, -32526, -11436, -1085, -2584, -39233, 1133, -37498, 32059, -51943, -13769, -12040, -20409, -39328, -9008, -31774, 2209, -62840, -26090, -26129, -28714, -10601, -18066, -43768, -18964, -6785, -15638, 5211, -31393, -50855, 42852, -8560, -18333, -486, -22466, -9687, -13032, 3101, -20058, -18027, -25143, -6947, -21905, -14862, -28100, -47550, -41574, 16270, -14035, -6653, -15245, -37316, -32413, 12185, 21769, -24271, -42600, -5608, 5774, 9809, -3392, -20480, -692, -48227, -24928, -34786, -46003, 40537, -20190, 23355, 768, -47757, 3931, 8243, 24539, -9576, 36260, -25484, -18569, -23120, 49717, -51064, -5071, -2464, -27842, -22289, -19228, -35361, 25951, -5714, -10455, -9202, -6569, 32806, -14202, -14490, 20626, -8275, -12408, -7313, -17837, -7992, -20142, -18096, -27317, -35408, -35005, 532, -15142, -33240, -39949, -30990, 11264, -16385, -7006, -37226, -18804, 21062, 3582, -12201, -38212, -9207, -10473, 3101, -2830, 9119, -32244, 6069, -20648, 34757, -19891, -32210, -1329, -42464, -54722, -14361, -21571, -28482, -10539, -9015, -4833, -29726, -61378, 28813, 14509, -34508, -11306, -1807, -21784, -33116, -5974, -27030, -3407, -16158, 10163, -15252, -13599, -50639, -10606, -38724, -25766, 4931, -39670, 10935, -29642, -24485, 4608, -15852, -35193, -6603} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-128, -121, -121, -149, -107, -127, -122, -143, -134, -117, -144, -166, -142, -168, -150, -136, -148, -143, -135, -128, -118, -167, -113, -160, -123, -127, -136, -174, -152, -148, -147, -124, -123, -133, -132, -131, -164, -145, -138, -138, -160, -138, -159, -141, -121, -150, -110, -138, -123, -135, -141, -139, -151, -135, -34, -131, -152, -136, -136, -61, -128, -140, -171, -129, -162, -145, -111, -150, -111, -128, -163, -119, -164, -159, -130, -153, -163, -144, -138, -145, -157, -143, -143, -125, -140, -135, -155, -165, -123, -131, -138, -150, -129, -156, -141, -122, -153, -130, -75, -133, -108, -137, -153, -120, -126, -139, -106, -138, -147, -135, -131, -145, -156, -136, -108, -135, -134, -135, -153, -144, -167, -124, -128, -144, -133, -130, -133, -173, -155, -123, -160, -133, -150, -160, -138, -127, -133, -151, -143, -141, -151, -129, -144, -139, -137, -153, -151, -149, -144, -138, -108, -162, -129, -137, -145, -105, -146, -141, -140, -142, -156, -137, -123, -134, -138, -121, -121, -153, -138, -122, -139, -116, -130, -115, -136, -185, -153, -129, -120, -114, -149, -118, -107, -129, -138, -134, -143, -158, -139, -165, -140, -155, -120, -108, -198, -130, -135, -136, -140, -115, -147, -146, -144, -138, -130, -136, -142, -128, -145, -164, -164, -137, -122, -158, -126, -114, -139, -165, -138, -145, -94, -146, -141, -123, -135, -128, -140, -142, -133, -126, -162, -132, -130, -103, -123, -130, -120, -138, -133, -131, -178, -144, -137, -166, -117, -125, -138, -140, -122, -132, -132, -135, -142, -141, -150, -135, -100, -123, -142, -155, -119, -155, -107, -140, -135, -148, -125, -135, -123, -139, -150, -132, -176, -112, -119, -135, -146, -145, -145, -134, -146, -139, -137, -125, -136, -131, -140, -122, -128, -151, -144, -152, -122, -140, -149, -114, -139, -132, -137, -134, -149, -150, -156, -132, -139, -130, -122, -128, -161, -183, -128, -163, -135, -115, -142, -139, -149, -149, -136, -133, -144, -147, -117, -142, -146, -134, -138, -139, -135, -112, -129, -139, -143, -128, -148, -127, -132, -122, -172, -126, -164, -123, -118, -133, -134, -124, -136, -133, -151, -137, -128, -146, -106, -142, -120, -125, -152, -153, -125, -119, -175, -131, -141, -137, -112, -147, -143, -123, -129, -148, -119, -121, -132, -136, -125, -135, -141, -152, -144, -131, -125, -133, -131, -129, -163, -127, -141, -133, -128, -153, -150, -79, -135, -136, -157, -141, -170, -139, -145, -161, -127, -114, -161, -156, -151, -146, -148, -129, -127, -130, -154, -149, -149, -127, -137, -139, -142, -123, -128, -118, -142, -107, -143, -127, -125, -157, -151, -126, -112, -136, -147, -135, -130, -138, -120, -129, -134, -158, -153, -136, -150, -165, -128, -138, -142, -143, -120, -117, -147, -114, -150, -131, -139, -117, -130, -148, -126, -145, -127, -160, -124, -134, -150, -139, -144, -146, -140, -149, -155, -142, -137, -119, -156, -134, -156, -148, -141, -165, -142, -125, -118, -132, -148, -143, -143, -150, -152, -130, -155, -130, -124, -133, -108, -146, -139, -115, -128, -136, -150, -136, -150, -149, -146, -176, -143, -133, -123, -138, -162, -155, -148, -141}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1314652672, 1509920768, 1453929600, 1558524160, 1407518208, 1461439616, 1623361664, 1791917568, 1269154432, 1232169600, 2137794048, 1943535360, 1145251456, 1631228800, 1493306368, 1469686016, 1428890112, 1138707840, 1320085888, 1540818816, 1791820800, 1526624256, 1328410240, 1265806592, 1295696128, 1232051968, 1265948288, 1598338304, 1428110336, 1213470464, 1393186304, 1604224768, 1203804160, 1145720192, 1188902144, 1201058304, 1546693632, 1280495232, 1476710400, 1364214144, 1653403904, 1361636096, 1606585728, 1168595840, 1354047616, 1264704000, 1290559232, 1378184576, 1214385536, 1204320384, 1319770112, 1204698368, 1326419200, 1217324544, 1389379584, 1277962752, 1343967616, 1441615360, 1197024000, 1256186624, 1330961664, 1509399552, 1522771968, 1570055680, 1502143104, 1503549824, 1518913408, 1848786304, 1277182208, 1594568320, 1444690560, 1273072768, 1476399360, 1552176512, 1604450304, 1484317696, 1760717952, 1606375680, 1386427008, 1345982848, 1448868864, 1453948160, 1654852224, 1380847360, 1271913984, 1542406784, 1676055808, 1493749888, 1457107200, 1275587200, 1366010496, 1496833408, 1356698752, 1521504384, 1330801664, 1237017600, 1768726144, 1166922112, 1751127040, 1259171584, 1604807680, 1246871040, 1843632512, 1828129792, 2066295808, 1585640192, 1467353344, 1286543232, 1480871296, 1372258176, 1409010304, 1381098880, 1356459904, 1575833600, 1308612992, 1339988736, 1410966528, 1458130560, 1503044352, 1615925760, 1546477056, 1215222144, 1353720192, 1301253632, 1147664512, 1399400064, 1173230080, 1082298624, 1428286464, 1335739776, 1076497152, 1416659584, 1964283136, 1336446592, 1382199936, 1420230912, 1106432640, 1257206272, 1626633728, 1201818624, 1710699264, 1538515456, 1189607936, 1283692800, 1345148544, 1479657472, 1630334464, 1422228736, 1213560064, 1401513600, 1271272192, 1595581440, 1279994496, 1186945792, 1216668544, 1478783744, 1237048448, 1343676032, 1412431616, 1342715648, 1417276416, 1344709376, 1082718976, 1205263744, 1304511616, 1440864640, 1360022784, 1346782976, 1371984128, 1184146816, 1718633472, 1294983936, 1311757184, 1311110528, 1488530944, 2039070080, 1515349888, 1273846784, 1331184768, 1192379008, 1242895616, 1490758400, 1487980928, 1450262656, 1753115904, 1143041664, 1485395072, 1781434496, 1482931456, 1572234368, 1409219200, 1477853568, 1527207936, 1531078912, 1120287104, 1220657792, 1350719744, 1256101632, 1524195072, 1210080640, 1457488000, 2079572096, 1413052160, 1330897536, 1182381056, 1318593664, 1251917952, 1347068672, 1238949504, 1782995456, 1264205696, 1130407680, 1321830016, 1397861888, 1225377024, 1714179200, 1313049856, 1861528320, 1228995712, 1138018944, 1500528640, 1224861952, 1242340992, 1630215808, 1128206592, 1314956416, 1361948544, 1343211136, 1949659264, 1311156736, 1476185600, 1374168064, 1432464384, 1272844800, 1532352128, 1259010688, 1240775808, 1427475328, 1407307136, 1358787584, 1863428736, 1263436416, 1358282624, 1289595520, 1517253888, 1306775424, 1360320896, 1240274560, 1525439360, 1271256192, 1386385664, 1279239168, 1390962176, 1435261312, 1442839552, 1375761280, 1289609600, 1224202752, 1269827712, 1454171520, 1262044160, 1373490816, 1437085440, 1252411392, 1385504640, 1284699008, 1391315584, 1451976064, 1600964864, 1210445312, 1465831680, 1356282240, 1899413248, 1385269248, 1481260800, 1297775360, 1564397056, 2114398464, 1313789312, 1270499840, 1667582464, 1495692928, 1329349120, 1170997888, 1285491584, 1663930240, 1154439808, 1357275392, 1423910528, 1161280640, 1508476288, 1757191168, 1275030144, 1802872704, 1195796096, 1485807872, 1397704832, 1613042816, 1562656640, 1253773824, 1657188352, 1701124352, 1351730944, 1459995776, 1398411648, 1407002880, 1214746624, 1149839104, 1978733952, 1772655744, 1393883904, 1727920000, 1292786304, 1544353792, 1269344768, 1171683072, 1424900480, 1569320064, 1261012864, 1248142080, 1383317376, 1320476672, 2122330880, 1171568128, 1330105600, 1127338752, 2112051072, 1428503680, 1295728128, 1409002752, 1418516736, 1393327744, 1299126400, 1192464384, 1208880640, 1323442048, 1168787072, 1387156096, 1815899520, 1398004480, 1715775616, 1372017536, 1347823488, 1313699968, 1353635328, 1170492928, 1468273280, 1420557696, 1453198336, 1364048000, 1109569280, 1255319424, 1469757952, 1298507904, 1252469504, 1423000576, 1251513088, 1538139520, 1443002880, 1158225024, 1959811200, 1493983488, 1862042752, 1559517440, 1295328000, 1294886528, 1248711936, 1589062144, 1435243136, 1444438016, 1277647232, 1508041984, 1155764864, 1534892160, 1361209984, 1317960832, 1248369280, 1432063232, 1254685824, 1878954368, 2123349376, 1466626944, 1205154432, 1801770624, 1951025536, 1333745536, 1945480448, 1670473472, 1313228928, 1260092160, 1341003648, 1672541568, 1286806656, 1253213184, 1430196480, 1657971200, 1387286784, 1324632960, 1318964352, 1806189440, 1413785088, 1502250752, 1565153664, 1576602368, 1706732160, 1342933504, 1291037440, 1353837952, 1473194752, 1283451776, 1765238144, 1707067776, 1551728384, 1272195584, 1355517568, 1391629184, 1412991360, 1293265792, 1265628800, 1376091520, 1758011904, 1383617792, 1428613248, 1328771456, 1606690688, 1701376896, 1408074496, 1380037888, 1377767040, 1247275392, 1444253568, 1471319680, 1313719040, 1280789760, 1436170880, 1364786560, 1724837248, 1328744064, 1685602688, 1317288960, 1408314752, 1499808768, 1433576832, 1319848960, 1286791936, 1126162688, 1410642944, 1709330048, 1197950336, 1393188864, 1849432704, 1389853056, 1421495808, 1534551936, 1323382656, 1415563264, 1618284032, 1533849728, 1199394688, 1902021248, 1253955968, 1472761728, 1354131968, 1119802752, 1234586112, 1281506304, 1370720640, 1135966336, 1639939328, 1298647936, 1268848384, 1170719104, 1705797376, 1405198976, 1688598272, 1283638656, 1171921152, 1980631808, 1182874752, 1554705408, 1361720448, 1417120512, 1572772096, 1136652544, 1150617728, 1499164928, 1360467584, 1643608576, 1511770240, 1597170048, 1392539648, 1353039872, 1287128448, 1187567360, 1472915584, 1245160704, 1242285568, 1336385024, 1520864128, 1251897728, 1485602816, 1396531328, 1397010176, 1583336448, 1559137792, 1617727616, 1135279232, 1325749760, 1746328064, 1380673024, 1267091072, 1309544064}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-4443, 2204, -2339, -6441, 6679, 1523, 1831, 3714, 1864, -5651, -4741, -4527, -1923, 202, -2117, -3650, -1680, -2674, 1475, 632, 1890, 4293, 1546, -44, 1820, -634, 1201, -3440, 4060, -1758, 1377, -195, 445, -4253, -83, -7450, -964, -3417, -548, 790, 392, -1086, 454, -3642, 2264, 2033, 1288, -898, -5461, 2692, 2516, 586, 3927, 4019, 24, 947, 599, -2660, 1678, 4308, -652, 6301, 1832, 1529, 3860, 3042, -2057, -2122, 1978, 3850, -4419, 3935, -879, 1608, -2013, 5690, 2455, 2742, 4452, 3441, -4561, -2191, 1036, -10101, -7148, -604, -4993, 3427, 1161, 6876, -730, -2346, 2788, -2745, -942, -3439, 284, -3647, -7186, -6727, -1914, -4834, 4463, 3961, -552, 289, 5594, 2472, -4723, -7707, -6425, 14285, 2570, -2190, 2404, -11114, -2714, -2134, -365, 322, 439, -3611, -1522, -2657, -1265, -5139, 1559, -6311, -5019, -2311, -6680, -4842, -2933, 1818, -11101, -9207, -7201, -7783, -6225, -7486, -7970, -4813, -6956, -5394, -4494, -2750, 435, -6642, -2238, -2808, -1140, 4024, -10980, 4699, -3309, 644, 871, -6174, -8080, -1604, -4319, 6080, 7340, 4064, 428, -4471, -3901, -8671, -1026, -1803, 2511, 6218, -40, -1334, 7438, -5785, -1961, -2785, 2464, 343, 1937, -1562, 702, -678, 2656, 3134, 1090, -163, -4610, -2100, -1410, 4961, 2298, -4078, -1063, 12359, 1601, 1644, -3099, 3710, -11500, -2253, 6680, 6794, 2881, 62, -4738, 188, 677, 7172, -3641, -805, 367, -1632, 2062, -1604, -93, 8266, 3463, 142, -3498, -3662, -1810, 10529, -5099, 3776, 2650, -1148, -7963, 6363, -2129, -6229, -1670, 1024, 3343, -1314, 2773, 4255, 5642, 6318, -2239, -2634, 3444, -1524, -1772, 7128, -4168, 6979, -2972, -2392, -1684, 3619, -2654, -4573, 8641, -3048, 2443, 5861, 690, -734, 3052, -1182, -4464, 4395, 2222, 2068, 990, -2689, -6627, -999, 6487, -4060, 2504, 112, -6089, -3657, 1597, -1985, -6049, 2429, 1621, 6273, -4560, -1869, 5233, 1279, 1424, 44, 190, 1647, -722, -5214, 44, -3985, 1143, 3080, 3438, -2384, 1527, 2575, -6587, -5789, -3872, 195, -9868, 6674, 7767, -6643, -3895, -7307, -3522, -2164, -2348, 6692, 5229, 380, 7, -5335, -2925, 3, -3081, -12863, -12619, -8108, -4513, -7014, -6505, -2468, -5492, -698, 2350, -109, 431, -2293, -356, -3273, 1529, -2551, -5484, -679, -2716, -2410, -2301, -134, -3407, 311, 671, -2507, -2451, -925, 150, -4648, -5064, -1628, 1327, -2276, -772, -3593, -1081, 2662, -2589, 3546, 1058, 3504, 2203, 1342, -1158, 6533, -2369, 4592, -1042, -2952, -161, 96, 1783, 3302, 1968, -1127, 1626, 2928, -3844, -105, 3492, 1021, -6964, 1110, 880, -6458, -2334, -1786, -2591, 4810, -5882, -4236, -1425, -122, -7133, -5851, -3447, 7210, 1158, 2805, 648, -2097, -9730, 4652, -974, -2766, -5914, -6086, -2198, -532, 4829, 4776, 4251, -1480, 4350, -3441, 2110, 2356, -2433, 4811, 2294, 8317, 4607, 2322, -9196, -2229, 5124, 2612, 1275, -2262, 1029, -548, -4902, -1101, 1449, -3392, -1231, -3286, 2478, 404, 1874, -207, 3030, 5836, 1564, -4253, 8332, -2823, 1368, 843, -1541, 2777, 1309, 1298, 4274, 2491, -2943, 2816, -5438, 4356, 479, 1883, 10062, 3184, -2092, -2729, 2195, 101, 9, -1267, -1610, 5837, -4300, 2179, -10546, 4519, -634, 967, 5207, 2520, -241, -2909, -7000, -301, -1070, 6516, -2764, 4586, -5018, 1982, 3041, -3249, -2139, -1792, 2730, -8372, -927, 83, 232, 4506, 3136, -1462, 3990, -966, -473, -1112, -1777, -4611, -6525, -723, -2889, 1496, 2250, 5253, -1126, -3055, -359, 3396, -6003, -1599, 1054, 10219, -1068, 697, 431, -5478, -4791, 7838, 3384, -3464, -899, 3290, 3260, -3523, -5922, 1508, -1563, 5562, -1192, -1939, -1107, 2815, 3237, 4004, -1485, -6997, -4891, 4211, -1270, 2545, 1073, 3222, -6035, 125, -4353, 1163, -2599, 1997, 1316, -3270, -3848, 9624, -1796, -547, -392, 4318, 5122, 525, -1278, 1309, -1000, -1204, 4777, 607, -350, 3062, 1806, 3616, -3002, -1692, 302, 3186, 6904, 2370, -2308, 6193, 2647, 1763, -2887, -2267, -802, 7428, 99, -10238, 4588, 5368, -4850, 2663, 4721, 603, 2659, 960, -300, 1139, 4614, -1182, 5112, -899, 4603, -2257, -615, -2139, -1221, -2259, 1417, 1410, 1669, -4922, 3666, 3292, 3219, 11112, -1759, -3096, 3357, 5627, -5520, 5831, 8130, -1649, 3633, 234, 386, -1707, 4704, -542, 654, -7249, -5646, -4567, 670, 2158, 5698, -1573, 5104, -4621, 2975, 3643, 3722, 1427, -2456, 2258, 1520, 8481, 2193, 1080, -304, 1735, 1671, -6627, 1173, -1747, 2542, 4523, 3259, 1465, -6991, -755, 1799, 8579, 1343, 2653, 3997, -2576, -8052, 8050, 5341, 1107, 3011, 1483, 841, 4183, 3366, -2211, 3543, -3491, -4962, -5137, -2604, 1153, 7955, -5623, -3099, 6553, 3648, -1331, 1916, 63, 4915, -2995, 410, 5241, 4023, -6143, -698, -1395, -7562, -1725, -2169, 3453, 1661, 3628, 2796, 5, 6871, -7276, 371, 7076, 3455, -3672, 4753, -3322, -4897, -2160, 4624, -4887, 1429, 3312, -5265, 6788, 234, 2692, -5324, -1207, -2112, -1046, 227, 367, -541, 1674, -283, 3019, -933, -174, 2365, 2766, -61, 6605, 4092, 297, 5715, -1048, -2437, 375, 2068, -4678, 2321, -2809, 3687, 1565, -1055, 4603, 6996, 3584, -3288, 1416, -1588, 3911, 7885, -6231, -1470, -1783, 8531, 121, 6876, 13885, -6440, -687, -1885, -4393, 1177, 3905, 804, 1213, -556, -2584, 4505, -1279, -4745, 8298, 6, 10, 3011, -596, 4953, 3737, -329, 3748, -1072, -2399, -3157, -4222, -224, 4900, -2385, -3182, 2311, -64, -4824, -3135, 2337, -1053, -830, -2122, 3747, 638, -3995, 1645, -4848, -3922, 3763, 7896, 5469, 1823, -2422, -3644, 5211, -3308, 6281, 2539, -4065, -5414, 4937, -8221, 6317, 9326, 2827, -1264, 758, 1248, 5067, 5298, 4841, 7713, -3959, 1555, 5919, 1893, 3665, 632, 3665, 1578, -3868, 5517, -13271, -350, 4964, 4294, -3123, 4310, -779, 1553, -4118, -1810, -3075, -3211, 1199, -1623, 1495, -5328, 1437, -6465, -7237, 3356, 1611, 899, -5981, 7367, 7834, 334, 653, 91, 1194, 15288, -3031, -5696, 1710, 1144, -2236, 1227, 2769, 6714, -508, 3238, 2035, 4773, 1946, 308, -4663, 1955, -824, 4223, 1463, 8955, 6398, 2659, -2239, 4244, 655, 6012, -3702, 1783, -2702, -744, -1359, -2001, -620, 9328, 1459, -1130, 4027, -2472, -6647, -6121, -5693, -1374, 816, 7628, 685, -3123, -316, -7057, 464, -2969, 693, -3529, -2123, -3660, -1413, -1777, 180, -6904, -5773, -2616, -7913, -3354, 164, 1038, 203, -5543, -2972, -91, 887, 1255, -429, -3326, 826, -9785, 37, 4108, -2083, -1447, -6573, -9, 4014, 5169, 866, -1192, -1439, 5354, 729, -4753, -704, 3034, -116, 2377, 556, -2616, 3351, 1053, 4362, -3802, 1242, 3515, -4488, 990, -2425, -4255, 350, -4740, -4724, -12630, -2615, -5598, -1346, -3383, -79, 4362} +#define FC28_W_Z (161) +#define FC28_IN_Z (0) + + +#endif /*__224_0_5_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/224_0_75_parameters.h b/Inc/intq-mobilenet-v1-models-pc/224_0_75_parameters.h new file mode 100644 index 0000000..96c28b0 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/224_0_75_parameters.h @@ -0,0 +1,361 @@ +#ifndef __224_0_75_PARAMETERS_H__ +#define __224_0_75_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (224) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (24) +#define CONV1_OUT_DIM (112) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (112) +#define CONV2_IM_CH (24) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (24) +#define CONV2_OUT_DIM (112) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (112) +#define CONV3_IM_CH (24) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (48) +#define CONV3_OUT_DIM (112) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (112) +#define CONV4_IM_CH (48) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (48) +#define CONV4_OUT_DIM (56) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (56) +#define CONV5_IM_CH (48) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (96) +#define CONV5_OUT_DIM (56) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (56) +#define CONV6_IM_CH (96) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (96) +#define CONV6_OUT_DIM (56) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (56) +#define CONV7_IM_CH (96) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (96) +#define CONV7_OUT_DIM (56) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (56) +#define CONV8_IM_CH (96) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (96) +#define CONV8_OUT_DIM (28) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (28) +#define CONV9_IM_CH (96) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (192) +#define CONV9_OUT_DIM (28) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (28) +#define CONV10_IM_CH (192) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (192) +#define CONV10_OUT_DIM (28) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (28) +#define CONV11_IM_CH (192) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (192) +#define CONV11_OUT_DIM (28) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (28) +#define CONV12_IM_CH (192) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (192) +#define CONV12_OUT_DIM (14) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (14) +#define CONV13_IM_CH (192) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (384) +#define CONV13_OUT_DIM (14) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (14) +#define CONV14_IM_CH (384) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (384) +#define CONV14_OUT_DIM (14) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (14) +#define CONV15_IM_CH (384) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (384) +#define CONV15_OUT_DIM (14) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (14) +#define CONV16_IM_CH (384) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (384) +#define CONV16_OUT_DIM (14) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (14) +#define CONV17_IM_CH (384) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (384) +#define CONV17_OUT_DIM (14) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (14) +#define CONV18_IM_CH (384) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (384) +#define CONV18_OUT_DIM (14) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (14) +#define CONV19_IM_CH (384) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (384) +#define CONV19_OUT_DIM (14) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (14) +#define CONV20_IM_CH (384) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (384) +#define CONV20_OUT_DIM (14) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (14) +#define CONV21_IM_CH (384) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (384) +#define CONV21_OUT_DIM (14) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (14) +#define CONV22_IM_CH (384) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (384) +#define CONV22_OUT_DIM (14) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (14) +#define CONV23_IM_CH (384) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (384) +#define CONV23_OUT_DIM (14) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (14) +#define CONV24_IM_CH (384) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (384) +#define CONV24_OUT_DIM (7) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (7) +#define CONV25_IM_CH (384) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (768) +#define CONV25_OUT_DIM (7) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (7) +#define CONV26_IM_CH (768) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (768) +#define CONV26_OUT_DIM (7) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (7) +#define CONV27_IM_CH (768) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (768) +#define CONV27_OUT_DIM (7) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (768) +#define FC28_OUT_CH (1000) + + +#endif /*__224_0_75_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/224_0_75_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/224_0_75_weights_bias.h new file mode 100644 index 0000000..ad76a39 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/224_0_75_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __224_0_75_WEIGHTS_BIAS_H__ +#define __224_0_75_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {28072, 14501, 27559, -5562474, 1123553, 156171, 124487, 6125, 3749, 57906, 40752, -6509484, 89334, -21587690, 2190630, 59736, 87463, -518088320, 276296448, -22969500, -140264784, 1097100, -88140, -14041671} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-137, -118, -172, 75, -149, -124, -183, -154, -160, -104, -80, -188, -115, -290, 1464, -448, -163, -37, -180, -20, -127, -1227, -220, -107}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {2053889920, 1445562496, 1943423744, 1339276544, 1321035776, 1909378176, 2124812416, 1092995840, 1360491392, 1882602880, 1444638208, 2136443520, 1582120320, 1772515200, 2134883200, 1244876288, 1534379136, 1093622400, -2065199488, 1514227072, 1104765184, 1446562944, 1660616064, 1492341504}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {8223, 8714, -364, 636, 109596, -5749, 15314, 4675, 6350, -1992, 4469, -87, -8277, -22, 71777, -688, -7335, -657, -480, 1318, 4, 1122, -2600, -455} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-117, -21, -33, -97, -201, -51, -138, -109, -165, -227, -42, -188, -39, -216, 87, -279, -40, -695, 139, -185, -67, 3, -29, -197}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1697324672, 1159202176, 1228116736, -1835761536, 1219964800, 1205915392, 1442047104, 1332334208, 1934617984, 1260118272, 1754691328, 1166558976, 1401168640, 1288793344, -1076283904, 2109781504, 1504913280, -1897780736, 1443469312, 1894625024, 2133842688, -1311819648, 1360317952, 1521980800}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {-12231, -457, 3867, -25436, 786, -937, 2489, 2087, 3374, -12970, -733, 3035, 1168, -2990, -82946, -750, -1219, 955, 737, 1412, 711, 1871, -376, -2168, 52, 3533, 987, -261, 257, 311, 2669, 445, 2595, 2809, 1450, 2159, 1727, 81, -595, -1126, -539, 3503, -214, 1855, 278, 4056, 1731, 1017} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-104, -19, -202, -89, -166, -72, -236, -160, -202, -177, -15, -246, -130, -101, -92, -144, -29, -138, -89, -141, -148, -205, -58, -55, -73, -207, -76, -24, -95, -169, -191, -127, -121, -208, -88, -168, -193, -50, -59, -75, -90, -173, -97, -142, -33, -206, -156, -154}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1969062912, 1762985472, 1555206784, 2074725248, 2002356352, 1302749696, 1953441536, 1102183296, 2113228800, 2147359488, 1788525568, 1208983552, 1364642048, 1383661184, 2043110272, 1598117760, 1642835840, 1496633216, 1521805824, 1424347136, 2032744960, 1191458688, 1774039424, 1412290560, 1834828160, 1102192384, 1728608128, 1351619072, 1729428096, 1699484416, 1505700992, 1388577024, 1445455104, 1284462720, 1229666432, 1585276672, 1259537408, 1246803712, 1357007744, 1105791104, 1549133696, 1227494912, 1576270592, 1190347904, 1930411136, 1936702976, 1318976768, 1310851328}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {-13, 2317, -7, -19, 1613, 5432, 3302, 224, 70, -16, 1844, 7788, 477, -441, -17, 487, 5806, 131, 243, 394, 5650, 186, 572, 1769, 278, 208, 1533, 338, 4776, 199, 679, 9533, 402, 695, -2, 76, 336, 2590, 71, 2941, -19, 175, 517, 82, 56, 297, 322, 561} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-82, -223, -122, -334, -143, -259, -121, -110, -134, -211, -268, -309, -123, -90, 176, 20, -287, -89, -129, -149, -213, -169, -68, -154, -64, -128, -184, -149, -203, -106, -130, -199, -165, -124, -68, -135, 16, -207, 17, -279, -88, -141, -135, -126, -122, -141, -123, -106}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {1396734592, 1815739392, 1112087552, 1470969984, 2042699648, 1216762240, 1544631424, 1521422976, 1494350848, 1430261888, 1559060224, 2076605696, 1631747456, 1292820480, 1150693504, 1542034432, 1409590016, 1172180224, 1100377088, 2105785600, 1602217216, 1186898688, 1992982016, 2050791680, 1211142656, 1682819328, 1300980608, 1075077888, 1508158208, 1212162304, 1929824512, 1650817920, 1233150080, 1943792768, 1137071744, 1360355840, 1501367296, 1087687040, 1468200960, 2119101312, 1914906880, 1443318912, 1802681344, 1137065600, 1467753088, 2028510720, 1164912896, 2049028096}; +static const int8_t CONV4_N_ZERO[] = {4, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {41685, 8208, 18553, -11295, -57231, 18013, 13801, -5089, 20388, -31125, 33836, 62533, -11954, 26771, 58756, 11184, 112171, 56208, -23332, 53701, 42012, -1774329, -23031, -9689, -6562, -34965, -41547, -53862, 67010, 71089, 3638, 69725, -62097, 41699, -44291, 44654, -1252, 24648, 27141, 4834, 7541, 14274, 77385, -23935, 18404, -8498, 1058, 35643, 2142, -12261, -25825, 28457, -257998, 23998, -31445, 27841, 9791, 9598, -13525, 51964, 30578, 129509, -1014, 55659, 14749, 55518, 10678, -1776, 29381, 126979, 78318, 9660, 5245, 22972, 37899, -4476, 23339, -6580, -62, 26959, 2452, -2837, 60627, 35913, 91564, 30191, 956, 22631, 59919, 12942, 59119, -21682, 33910, 38131, 45729, 13778} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-182, -131, -97, -76, -70, -129, -164, -161, -71, -118, -85, -154, -59, -124, -125, -136, -130, -140, -116, -168, -112, -145, -121, -104, -58, -63, -72, -118, -121, -131, -188, -197, -111, -136, -50, -164, -149, -84, -101, -188, -127, -88, -131, -123, -113, -143, -131, -177, -125, -124, -109, -97, -110, -135, -72, -78, -144, -84, -121, -209, -197, -124, -106, -177, -174, -156, -151, -133, -97, -178, -144, -136, -128, -104, -108, -164, -129, -124, -182, -128, -115, -59, -129, -135, -152, -124, -99, -109, -118, -127, -96, -119, -148, -145, -151, -166}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1546808704, 2112862592, 1320727168, 2143093888, 1154703872, 1681260160, 1168726784, 1635822464, 2026923008, 1485783040, 1631482240, 1186061696, 1318137856, 2144365312, 1081069184, 2141729664, 1835683840, 1592755200, 1326273152, 1260826368, 1126505728, 1225410176, 1797825152, 1987466496, 1569186944, 1395662976, 1994994176, 1780832896, 1471707904, 1301751552, 1194256256, 1081313664, 1363947264, 1241732736, 1383127808, 1446354688, 1516739200, 1447283456, 1865614464, 1079387904, 1871877376, 1337981568, 1144873344, 1735776128, 1585209728, 1659868672, 1630234624, 1504368384, 1576009600, 1533104256, 1076597120, 1180295680, 1706565120, 1444073344, 1161949312, 1609401728, 1076856704, 1638212480, 1193530880, 1792059392, 1247422976, 1883497344, 1390056832, 1663977984, 1460948480, 1198756736, 2132532608, 1569116800, 1419336448, 1254734720, 2099933824, 1135298816, 2018809216, 1911190912, 1335186304, 1580715648, 1308838016, 1273368832, 1441835008, 1618740992, 1606332672, 1419813760, 1492756736, 1301742848, 2081997440, 1625116160, 1298678016, 1469511936, 1457806848, 1802556928, 1795522816, 1310192000, 1657407232, 2079983744, 1133619840, 1702544640}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {503, 189, 7159, -1753, 11375, 6623, 208, 57170, 42014, 1982, 950, 1408, -656, -23931, -126, 1658, -252, 14548, 44141, -3563, 6528, -752, -563, 10617, 1090, 3556, -9204, 58008, -4993, -126, 8058, 12052, -1551, -28259, -1913, 658, 41615, 20109, 6725, 14382, 12800, 27700, -772, 4914, 697, -4386, 9259, 4, 1268, -1727, 30566, 426, -451, -3325, 63510, 3575, 185, -6051, 2433, 36787, -6241, 7595, -2544, 51903, 28916, -10898, 62837, 43130, 31757, 1111, 204, -492, -56778, 13129, -12109, 128, 13363, 1815, 26817, 13576, 9012, -26616, 5524, 597, 1094, 229, 3288, -6988, 389, 18469, 2311, 408, -2854, 5416, 46627, 4607} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-113, -91, -83, -58, -30, -95, -63, -222, -203, -124, -121, -57, -93, -11, -126, -42, -133, -86, -236, -45, -97, 0, -95, -132, -84, -81, -28, -173, -83, -120, -41, -33, -50, -22, -114, -83, -146, -145, -108, -204, -149, -237, -106, -127, -104, -80, -53, -117, -153, -64, -154, -119, -327, -86, -226, -127, -162, -22, -62, -242, -50, -99, -38, -229, -215, -71, -204, -251, -198, -111, -134, -116, 55, -216, -40, -129, -53, -149, -198, -101, -28, -14, -155, -139, -142, -86, -38, -106, -96, -185, -85, -95, -50, -132, -189, -100}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1212065408, 1074368512, 1357825024, 1214986880, 1835273344, 1748178560, 1700008704, 1214777216, 1383002112, 1513527680, 1337754368, 1181948800, 1086594944, 1756721792, 1409512960, 1298109184, 1432420480, 1397944192, 1747256448, 1583863808, 1366696064, 1436741760, 1879267712, 1570795136, 1528983936, 1805480576, 2041573888, 1570481792, 1300756352, 1127542784, 1080766976, 1580149632, 1440795648, 2005152640, 1471568256, 1221352320, 1820818176, 1216456448, 2101571200, 1195828992, 1348639616, 1490686080, 1089478528, 2040571648, 1334213376, 1089983360, 1536153472, 1512054656, 1982837120, 1260674304, 1078768640, 1301028352, 1810448512, 1938496128, 1537463296, 1360361984, 1432186496, 1379709952, 1692900736, 1454071808, 1848254976, 1086581120, 1675454720, 1656998144, 1636178432, 1377486336, 1376979200, 1925138816, 1764313472, 1444916224, 1483102464, 1881405184, 1659868544, 1605854464, 1603551872, 1177955584, 1296146944, 1140792576, 1455451904, 1991096192, 1107616768, 1547967104, 1159328256, 2037809152, 2141982720, 1266781440, 1085597440, 1388188672, 1583058944, 1516993152, 1939054720, 1503737600, 1572732928, 1846085888, 1782280448, 1405496576}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {164, 1394, -534, -705, 1959, 116, 772, 582, -655, 1636, -374, 1820, 1878, -2689, 2422, 97, 670, 1051, 1379, 1796, -2491, 1002, -2294, 3597, 450, 2713, -1838, 1012, 4580, 1258, -501, -487, 1622, -18, -2002, -551, 142, 177, -732, -1735, 612, -396, -661, -697, -1207, 560, 718, 1440, 2021, -875, 759, 1027, 48, 324, 294, 1235, 1938, 2107, -2550, 1014, 166, 1515, 2670, 1916, 662, 12439, -2380, 2837, 4702, 1429, -522, -2436, -673, 1517, 2354, -1096, -531, 4551, -1742, 1225, -147, 1709, 2488, 1358, 1951, 2560, -1145, -2070, -808, -1365, -562, -1380, 2720, -516, 2135, 4634} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-95, -82, -143, -109, -165, -78, -157, -139, -132, -82, -57, -125, -102, -145, -93, -120, -66, -67, -130, -76, -137, -159, -158, -154, -113, -187, -129, -96, -91, -173, -133, -53, -113, -150, -74, -143, -183, -125, -114, -100, -116, -139, -85, -138, -130, -159, -59, -73, -72, -135, -151, -151, -168, -183, -112, -130, -98, -135, -132, -169, -153, -154, -150, -123, -126, -134, -97, -71, -169, -151, -93, -59, -95, -161, -122, -71, -169, -170, -61, -80, -222, -119, -116, -146, -134, -88, -107, -130, -85, -128, -132, -56, -74, -161, -108, -137}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1127992832, 1129249920, 1161105792, 1357807872, 1471134976, 1590509696, 2049129472, 1177435008, 1413181056, 1449112064, 2132868864, 1438035712, 1790630400, 1183895808, 1085546624, 1446175360, 1295475328, 1333384192, 2108663168, 1169787520, 1320311168, 1836408064, 1182245888, 1184046336, 1276563968, 2086767104, 1244825728, 1960029824, 2115048320, 1843923200, 1203173760, 1174234752, 1417956864, 1125959168, 1991517440, 1565224448, 1467246848, 1259581184, 1344127488, 1496606208, 1397683712, 1168153216, 1282512896, 1370686976, 1486318720, 1586198144, 1452202752, 1634452608, 1423020160, 1277352832, 1913151232, 1837463680, 1387836416, 2045790464, 1743004928, 1126899584, 1440534912, 1374217984, 1935674112, 1910168960, 1310154112, 1843708544, 1571354624, 1828708352, 2042030592, 1610655488, 1830039680, 1216580224, 1324003584, 1423903872, 1151272448, 1730337920, 1203377152, 1561539456, 1504679168, 2014503168, 2147162368, 1766973184, 1367974272, 1076634880, 1907661568, 1686464896, 2060527360, 1095641600, 1964324736, 1840229760, 1532130048, 1333132032, 1287680256, 2033947392, 2044530176, 1576844672, 1152165888, 1348639744, 1092275968, 1180757120}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {6982, 14785, 246024, 72092, 169391, 136943, -794, -248, 1812, 200551, 20249, 5127, 1841, 80400, -57296, 12113, 88476, -56162, 181116, 10579, 149323, 102031, 72365, -26443, -3547, -55942, 105571, 138664, -9083, 152, 1834, 48705, -7529, 26343, -566, 109082, 4674, -1010, 201291, -3909, 136197, 74063, -3847, 145020, 150603, 61363, 66347, 128918, 43454, 84266, 91792, 625, 1290, 154235, 34562, 4925, 97238, -5266, -1912, 3871, 13047, 108951, 34448, 79756, 14641, 25330, 6992, 3302, -5629, -28249, -62147, 27545, 23001, -8510, 16724, 4368, -1316, -83007, 38214, 10101, 70766, 169, 1748, -3961, -2069, 21115, -874, -8684, -188, 162720, 113087, 100737, 94113, 126650, -3148, 2400} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {79, -121, -337, -342, -340, -319, 84, -112, 111, -331, -272, -115, -137, -295, 53, -272, -274, 83, -310, -114, -322, -403, -311, 62, 39, 80, -330, -311, -90, 76, 35, -327, 79, -192, 66, -361, 77, 65, -334, 196, -381, -326, 80, -313, -293, -339, -333, -306, -332, -325, -333, 113, 72, -320, -132, 73, -211, 67, 66, 117, 57, -351, 112, -288, 68, -134, 65, -142, -144, 145, 87, 73, 69, 37, -163, 77, 58, 84, -364, -179, -292, -154, -130, 42, 71, -154, 51, 104, 79, -437, -313, -384, -304, -346, 59, -160}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1812835840, 1160785664, 1193560064, 1410209920, 1966492416, 1812185216, 1815835648, 1541957760, 1300047360, 1809812224, 1239369344, 1655940224, 2144633216, 1972043136, 1741630080, 1597783936, 1664565248, 1273364608, 2069413632, 1268776960, 1238352256, 1949862272, 1981306368, 1985503872, 1414927872, 1571818880, 1137566080, 1402717952, 1535649408, 1441930752, 1252528384, 1825021696, 2127315072, 1462410752, 1208591488, 2039550720, 1436518144, 1966120960, 2139102592, 1249252096, 1784364928, 1298040320, 1345822592, 1298000000, 1610786816, 1685456128, 1557486464, 1195335936, 1159867008, 1269879424, 1116121856, 1674207616, 1538311424, 1137830400, 1543744640, 1111266944, 1746427520, 1152899968, 1360944512, 1843774208, 2090780416, 1918561536, 1800084608, 1431682304, 1137499008, 1557598080, 1399976192, 1851728384, 1912203776, 1442691200, 1516130304, 2035319040, 1099469312, 1244817664, 2014179456, 2037140992, 1631450624, 1912394624, 1347555840, 1841003776, 1333641344, 1415361792, 1382021504, 1255559936, 1317641088, 1609297152, 1573729152, 1577303936, 1607614848, 1454606208, 1554471936, 1130099072, 1778340096, 1165834368, 1330391296, 1369042432}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {12663, -47672, 12211, 75148, 66519, 57530, -31071, 28711, 21818, 92531, -13362, -13181, 123637, 6419, 17301, 37938, 72262, 29381, 14297, -7947, 31387, -7225, 43049, 26859, -12646, 62349, -23328, 30323, -12689, 63820, 22892, 18361, 5176, -15295, 96813, 39945, 20986, 15507, 21904, -5390, 30951, 13278, 31556, 43400, 35314, 7449, 72141, 48993, 10089, 21628, -12678, 32192, 25168, 14914, 33613, 21682, 2045, 89790, 19179, -29820, -874, 22621, 63217, 41667, 25662, -26386, -27774, -54523, 59412, 28495, -33831, -6872, 26398, 35654, -2141, 54998, 52972, 88251, 32894, 42365, 10476, 34226, 51022, 38673, -7649, 1544, 29475, 56491, 61328, 91150, 10221, 1227, 53525, -47887, 30978, 296, 56968, 24719, 21713, 83360, -27060, 17146, 41266, 13597, 51713, -16000, -11486, -35275, 28539, 8129, 4199, 34183, -31434, 27002, 72516, -56264, -11324, 46105, 24439, 5870, -7341, 111310, -79146, 51852, 7942, 79217, -41799, 2536, 37661, -50697, 52247, -24719, 95736, 17336, 69437, 14160, 4293, -10287, 30676, -47994, 115404, 54657, 52521, 90500, 32595, -6718, 11983, -32050, 10354, 20492, 56777, 69044, 26563, 1880, 7944, 10871, -6458, 23782, 22919, 35490, -8871, -89966, 40018, 26772, 6713, 40085, 81115, 19693, 16928, 3442, 13404, -13454, 11328, 67569, 26218, 9791, 24242, -13200, 29563, 23214, -9267, 57889, 19467, 5165, 4974, 33393, -6950, 67030, 53552, 17457, 14893, 9052} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-74, -34, -122, -194, -101, -127, -119, -142, -152, -175, -102, -101, -200, -138, -58, -84, -112, -131, -103, -135, -129, -105, -140, -99, -85, -169, -69, -124, -122, -158, -128, -156, -114, -87, -196, -174, -129, -97, -108, -131, -114, -109, -119, -144, -150, -148, -137, -130, -86, -100, -93, -190, -83, -144, -126, -178, -118, -127, -121, -61, -103, -88, -142, -120, -116, -89, -64, -91, -129, -109, -66, -123, -160, -152, -169, -164, -164, -125, -160, -114, -130, -117, -123, -138, -56, -152, -155, -110, -165, -176, -98, -91, -175, -68, -105, -123, -117, -137, -154, -137, -55, -190, -131, -105, -170, -104, -35, -138, -144, -64, -128, -139, -97, -96, -89, -66, -128, -103, -102, -99, -138, -210, -114, -170, -88, -151, -127, -99, -95, -129, -138, -57, -122, -138, -99, -90, -79, -99, -114, -86, -207, -198, -74, -121, -105, -105, -103, -109, -116, -132, -154, -131, -113, -101, -117, -166, -85, -115, -126, -114, -112, -113, -143, -127, -64, -155, -91, -125, -76, -134, -158, -112, -98, -173, -126, -161, -103, -65, -143, -143, -115, -120, -76, -91, -112, -107, -93, -151, -114, -117, -119, -162}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1130028416, 1277648512, 2081726592, 1522898560, 1101629568, 1212223232, 1380628864, 1185536256, 1222927872, 1087024384, 1441418496, 1381954048, 1415196416, 1117092992, 1569011584, 1777643648, 1319479168, 1167333760, 1254705536, 1368279552, 1328500480, 1252523008, 1841706368, 2100360960, 1646174208, 1168676224, 1222078336, 1548248576, 1505378944, 1361563648, 1259978624, 1458427008, 1758775936, 1235715328, 1971689600, 1652116736, 1150014976, 1568291584, 1244928640, 1506835072, 1296506624, 1105963520, 1083516928, 1242512640, 1860080256, 1657508736, 1785401472, 1494867840, 2077765248, 1317059584, 1489474432, 1357405952, 1989234176, 1246740224, 2012175232, 2106434944, 2080636928, 1342579456, 1186153856, 1402305280, 1295958144, 2058709888, 1824378112, 1661461632, 1174613632, 1395744384, 1852669952, 1870841600, 1859648512, 2136641536, 1725155072, 1760550656, 1097499776, 1217907584, 1831490432, 1155463296, 1177344512, 1550936320, 1075750656, 1985091328, 1757174656, 1796636800, 2050337792, 2011403648, 1758576384, 1128624768, 1567628160, 1172543360, 1249812608, 2011556224, 1447574656, 1667399296, 1218884096, 1587017088, 1587947136, 1315632384, 1198119552, 1714601984, 1225746560, 1737376256, 1454555392, 1920309888, 1517521920, 1384772224, 1820742016, 1764711296, 1795388544, 1172956800, 1459652224, 1175024256, 1307751552, 1347099136, 1716311424, 1348064128, 1929024768, 1652861056, 1354294272, 1533091328, 1677927168, 1918055424, 1800328448, 1495786624, 1672408320, 1655412864, 1913046656, 1914575104, 1617091200, 1165679488, 1719980032, 1422423552, 1520474368, 1127977984, 1514021760, 1429869824, 1262535808, 2104203008, 1710316160, 1344415488, 2049376256, 1482251520, 1367772416, 1282614400, 1670954880, 1693121792, 1869329920, 1104828672, 1490774784, 1762004736, 1472433792, 1839954432, 2123557632, 2036178944, 1162053760, 1656826368, 2059574912, 1495877888, 1299644800, 2013693952, 1326130944, 2111593856, 1266854400, 1791798912, 1548236288, 1902480896, 1168425344, 1128699136, 2124882688, 1238334080, 1116313728, 1075054592, 1700523648, 1410856448, 1961996160, 1455236352, 1572727040, 1647322624, 1448246144, 1126152064, 1867301120, 1787479296, 1870390272, 1617659520, 1239602304, 1788455424, 1604450048, 1192506368, 1117686144, 1968832768, 1790683520, 1295026560, 1553107456, 1277223168}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {297, -190, 7715, 19245, -2007, -1137, 6477, 6267, 65876, -280, 43, 26267, 12000, -4359, 532, 507, 15141, -2790, -4930, -8535, -432, 37647, -1296, 8360, 24902, 20749, 6415, 5184, -11161, 217, -2201, 1446, 13372, -4127, -205, -1995, -77467, 557, -304, 46, -1048, 2088, 8758, 71532, 245, 20915, -1053, -159, 43609, 12544, 6926, 689, -508, 11207, -7286, 231939, -136, 1900, -1472, -4798, 391, 1523, 179, 1733, 700, -3295, -357, 20788, 43655, 15699, 45313, 46248, 98707, 3644, -13377, 15516, 23254, 2777, -4784, 31115, -3264, -10586, 29531, 19074, 3108, -1541, -185, 18004, 78344, 81, -208, -47, -346, -5676, 8319, 17814, 27071, -300, 20459, 17548, -1053, -2307, -1051, -5564, 1748, 41631, 31270, -2214, -2358, -5912, -1778, 29207, 29506, 1007, -3, 318, 461, 18143, 920, 4632, -1602, 5899, 17361, -178, 22942, 12279, 2044, 1339, -81, -12807, 150, -3071, 22580, 146, 660, 1241, 2872, 1008, -802, 5510, -2901, 182186, 21003, 32468, -606, -516, -281, 131, 11822, 20461, -923, 781, 20452, -3371, -1032, 25186, 88884, -9976, 758, 20453, 6020, 8065, 35134, 616, 4218, -3355, 16, -34385, 29082, -4706, 91084, 6993, -1018, -8863, -396, 93830, -510, -306, -2237, -234, -109, 4050, 29564, 50454, -7055, -5974, -8394, -1441, 22582, -7802, -9899, -6580} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-111, -50, -76, -241, -107, -113, -43, -38, -253, -150, -37, -214, -54, -51, -117, -136, -201, -79, -109, -16, -52, -238, -81, -67, -157, -232, -30, -61, -32, -97, -134, -137, -48, -108, -118, -103, 116, -98, -138, -46, -122, -105, -58, -254, -31, -71, -99, -84, -243, -45, -189, -140, -121, -132, -59, -415, -108, -115, -140, -39, -37, -42, -105, -125, -117, -83, -121, -205, -257, -119, -278, -363, -336, -55, -23, -239, -114, -141, -57, -261, -40, -20, -242, -217, -147, -100, -123, -113, -179, -110, -31, -146, -47, -23, -117, -203, -237, -104, -231, -193, -111, -124, -46, -72, -41, -209, -269, -42, -84, -24, -129, -177, -209, -110, -108, -7, -103, -225, -104, -46, -43, -71, -56, -105, -221, -146, -42, -94, -26, -20, -96, -34, -235, -97, -129, -144, -46, -113, -107, -37, -85, -357, -201, -208, -132, -70, -109, -71, -74, -212, -128, -117, -234, -48, -128, -206, -256, -20, -150, -228, -128, -175, -195, -134, -39, -98, -43, -7, -230, -148, -210, -60, -96, -61, -126, -409, -132, -112, -103, -79, -45, -86, -248, -188, -31, -42, -65, -119, -239, -23, -99, -43}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1256190592, 1109339008, 1717213696, 1781469440, 1232057344, 1868520448, 1945106432, 1198480000, 1138495616, 1252545024, 2130792832, 1983143168, 1352019200, 1185108096, 2045562240, 1277472000, 1797884160, 1214391296, 1927737344, 1617654912, 1769288448, 1731749248, 1534785792, 1382031104, 2034794368, 2079260928, 2125078656, 1335184640, 1259697664, 1215556864, 1682122368, 1845269248, 1354115072, 1806360192, 1268115712, 1429990272, 1801976576, 1553898624, 1996601728, 1295550464, 1356895488, 2064548992, 1356068224, 1763111680, 2056969472, 1582792576, 1792323200, 1593324416, 1117831552, 1424381184, 1104390144, 1091016704, 1361796992, 1110604928, 1111556864, 1689418112, 2035312000, 1483999488, 1426143488, 1632609152, 1187699456, 1438789888, 1399912320, 1268485760, 1211065344, 1821081728, 1745440256, 1206222848, 1591816320, 1365446016, 1499489920, 2108506624, 1095495424, 1172144512, 1690742272, 1709450240, 1187703040, 1356562816, 1433150464, 2097130624, 1122698752, 1480510080, 1329806848, 1363366272, 1205342592, 1084407168, 1447657216, 1692006144, 2036995840, 1459592960, 1104255360, 1585209344, 1340698880, 1328137856, 1515517568, 1557081984, 1122095104, 1278419712, 1384132480, 1191860864, 1142743296, 1601140608, 1365409152, 1987162240, 1883235712, 2106362496, 1233798912, 1078816128, 1323395072, 1152334976, 1091020160, 2111178112, 1088261376, 1266556672, 1973294080, 1957135616, 1103794816, 1373980288, 2115837312, 1380923520, 1121781120, 1185229056, 1772675328, 1715643136, 2093223552, 1982677376, 1203393792, 1596985600, 1740906496, 1216267264, 1142957824, 1345598720, 1474241024, 1552366720, 1184951168, 2032475520, 2072061568, 1298543872, 1229326464, 1553041280, 2065413760, 1866339968, 2096904704, 1516387072, 1883773056, 1741222656, 1668509568, 1161012352, 2028002944, 1634387328, 2062652032, 1775480704, 2047591552, 1768081536, 1486380928, 1994635776, 1247997056, 1239484544, 1214149760, 1964886528, 1087516544, 1454814336, 1490922112, 1948087424, 1300233728, 1489774080, 1144616704, 1928259072, 1705808128, 1468500992, 1573774720, 1479900288, 1903472384, 1664358784, 1699603968, 1701796736, 1219680896, 1464715008, 1402542208, 1663039360, 1291409152, 1785040512, 1132704640, 2141153280, 1560298752, 2042127872, 1563311104, 1250610944, 1339952256, 2089576960, 1742920832, 1543720832}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {7891, 51877, -20531, -17653, 23954, -33624, 15804, 9276, 6179, 4604, 13550, -10390, -8790, -14393, -9628, 2107, 6862, -5810, -25034, -8322, -13305, 8277, 9501, 372, 5561, 13240, 14002, -17255, 54416, -12884, -23745, 18689, -14422, -5529, -16869, -5560, -4160, -22849, -21269, -7926, 35629, 3794, -26455, -4356, -18893, 8801, 4197, -17604, -2073, 21798, -5688, -21559, 5568, 3846, 72742, -13725, -58, -23807, 18037, -38, -21189, -127963, 24987, -25975, -11140, 13915, -6740, 2061, -28297, -19359, -3677, 18804, -35935, 10384, 7644, -21603, -47570, 7306, 37069, 13010, -23769, 37398, 10595, 6002, 10692, -6428, -25955, 3628, 6707, 46254, -12378, 12591, 109859, -26333, 16256, -23441, -14598, 12611, -10820, 31623, 37564, -19612, -19294, -31405, 27221, -11886, -6430, -8798, -12412, -2072, -33363, 3122, 25230, -33575, 5206, -105443, -10284, -10742, 88689, -6392, 17687, -7201, -30923, 17164, 17199, 4687, -15149, -16194, -20470, -20843, 6683, -23450, -22403, 22963, -621, -15773, -7845, -8721, 26576, 230, -14413, -22315, -6998, -22124, 40323, 8643, 1807, 19903, -8651, -11880, -46, -15809, 7123, 34122, -6825, 6024, 11818, 18096, -2353, 3531, -7475, 7191, -20738, -3099, 12147, 22446, 8608, -18363, -164505, -1449, 2948, -6169, -16162, -11217, -2391, -66160, 14662, 48004, 10161, -12848, -12315, -18830, -32994, 54067, -9518, 4975, -27815, -1001, 18313, -40519, -18952, 3433} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-149, -123, -149, -114, -101, -118, -157, -126, -150, -155, -153, -103, -127, -86, -169, -123, -121, -114, -160, -127, -115, -140, -171, -126, -155, -88, -122, -109, -140, -124, -63, -165, -153, -93, -93, -87, -99, -146, -129, -91, -117, -145, -130, -161, -109, -124, -148, -113, -88, -129, -159, -151, -174, -159, -71, -155, -124, -92, -147, -90, -103, -122, -134, -115, -97, -114, -130, -155, -76, -117, -145, -152, -73, -78, -174, -125, -86, -90, -133, -147, -179, -114, -85, -141, -109, -177, -143, -106, -118, -88, -142, -95, -92, -126, -126, -96, -158, -150, -138, -130, -160, -104, -176, -142, -150, -159, -147, -129, -124, -141, -137, -171, -110, -106, -124, -121, -73, -136, -151, -159, -132, -128, -152, -149, -121, -115, -152, -113, -106, -98, -111, -115, -147, -119, -138, -127, -61, -97, -95, -126, -100, -127, -136, -107, -144, -89, -112, -85, -131, -108, -136, -83, -162, -104, -95, -134, -74, -141, -104, -139, -94, -128, -157, -136, -106, -137, -75, -85, -75, -127, -155, -122, -120, -151, -64, -110, -72, -98, -136, -114, -103, -74, -148, -102, -121, -107, -63, -132, -109, -70, -149, -133}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1779547264, 1220465024, 1181792896, 1776119168, 1104148480, 1515908352, 1270740224, 1538138368, 2052392192, 1724425856, 2067990272, 1950259456, 1378893440, 1970694656, 2075574272, 1103794688, 2105151488, 2058628992, 1155003392, 1764438016, 2026477312, 1582521856, 1494392320, 1601944192, 1907853184, 1251398784, 1978160640, 1241837184, 1207185536, 1940409088, 2048436352, 1426309376, 1316138880, 1909404160, 1558096256, 2138216832, 1905914752, 1533142272, 1180236544, 1352640896, 1408247808, 1433421184, 1460067328, 1578819072, 2007976704, 1758866432, 1486058368, 1164270592, 1493670272, 1847476864, 1122264192, 1581383040, 1659571584, 1181414016, 1603721088, 1486548992, 1161089280, 1635732096, 2136272256, 1102315136, 1854549248, 1475024512, 2017733760, 1460995712, 1364609024, 1311948032, 1887652608, 1191633152, 1683356928, 1685004288, 1575830528, 2018629376, 1103157760, 1077104512, 1972985472, 1776493184, 1442367104, 1120621824, 1673825408, 1112012928, 1965100416, 1348825984, 1493783040, 1905640576, 2032664064, 1135876608, 1948304256, 1358663168, 1522238592, 1410602240, 1721541120, 1561435008, 1606955904, 1914488704, 1202753920, 1156300288, 1992896256, 1699740672, 1301847936, 1704600576, 1314200576, 1162356352, 1807257344, 1422210688, 1653822464, 1331051648, 1640306176, 1204735104, 1143909120, 1108876800, 1435434496, 2021681408, 2147436672, 1481430784, 1555388672, 1631552128, 1339884288, 1393319552, 1316831872, 1506075264, 1114374144, 1993224832, 1558853120, 1457850368, 2012056960, 1574643072, 1085226368, 1456609280, 1165329664, 1677485568, 1088589824, 1555329152, 1156649472, 1592429184, 1645735552, 1086729472, 1682364160, 1104158976, 1126487168, 1383734784, 1839800064, 1820688256, 1498539008, 2103153664, 1727886464, 1947379072, 1306473088, 1575073024, 1320158592, 1279876736, 1168198016, 1889275008, 1534199296, 1082297216, 1077628416, 1637612416, 1278388096, 1574815872, 1769799424, 1210212608, 1220150272, 1467206912, 2032768896, 1239730944, 1703845248, 1769711616, 1459730560, 1359742976, 1544697088, 1226071040, 2072737152, 1744133632, 1183808512, 1715554944, 1129123328, 1341966592, 1139103104, 1734643072, 1639950208, 1826419584, 2018266112, 2065443584, 1832899456, 1999059328, 1972277120, 1227381248, 1268416512, 1394293632, 1656605696, 1742155008, 2132599808, 1553434240}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {816, -631, -2431, 58334, 91802, 268, 68901, -1045, 108536, 4292, 128529, -998, 4058, -4806, 4634, 5686, -8003, 110368, -97, -1324, 69, 108496, 183709, 91194, -2765, 102531, 41211, 669, -810, -2478, 8503, -792, -12920, -21, -2013, 3562, 167150, -1354, 3771, 59409, 11193, 40985, -2194, 290, -5709, 16418, 162474, 1120, -460, 76699, 681, -225, 74948, -938, 102011, 2555, 10346, 7559, -6683, 103807, 8134, -23537, 3489, 10356, 10638, 129407, -1613, 72018, -1219, 206507, -626, -34350, 6936, 206109, 8833, -1953, 3936, 75802, -814, -1686, 2457, 82350, 79969, -1812, -3173, 26325, 2833, -1102, 124839, 76016, 125362, 91003, 17330, 225, -3015, 116263, 155111, 235957, 2405, 103938, 212340, -1956, 1036, 6756, 153771, -8895, 14749, 135206, -1554, 67626, -1580, 82638, 2043, 76204, 79781, -153, -96, -9101, 118053, 513, 76940, -348, 872, -18657, 99882, 2480, -567, -1427, 40149, 92, -1891, 4685, 31746, -6328, -9652, 11339, 10594, 7734, 23694, 10345, 5276, 137674, -585, 3711, 496, 82321, 130843, 72010, 46, 49779, 1590, 6348, 2392, 57211, -2030, -5, 39326, 103108, -11442, 16766, 79231, 60726, -255, 105036, -434, 108893, 98256, 84112, 43, -1193, 85652, -989, -1399, 71764, 99884, -37, 98384, 74075, 227265, 110985, -18198, 100250, -954, 13395, 4449, 65736, -850, -2240, 82890, -3080, 2271, -6802} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {94, -136, 118, -385, -298, 203, -407, -98, -319, -15, -380, 76, 88, 95, 123, 97, 85, -371, 89, 96, 58, -358, -372, -395, 143, -498, -340, 82, -107, 65, 80, 61, 122, 126, 95, 81, -353, 80, 31, -319, -135, -433, 91, 104, 75, 84, -329, 95, -130, -335, 114, 92, -324, 69, -328, 41, 110, 97, 79, -303, 51, -62, 57, 129, 109, -319, 85, -351, 112, -342, 99, 109, 60, -330, 84, 99, 114, -360, 66, 94, 56, -279, -330, 77, -94, 102, 85, 98, -417, -262, -347, -392, -167, 96, 61, -362, -353, -333, -135, -327, -327, 92, 94, 91, -321, 168, 73, -411, 73, -333, 85, -383, -123, -354, -365, 36, -163, 111, -310, 98, -377, 95, 107, 117, -298, 72, 52, 84, 121, 89, 88, 95, -126, 158, 76, 76, 96, 74, -165, 122, 62, -362, 72, 93, 35, -350, -302, -326, 14, -360, 71, 87, 78, -305, 85, 49, -311, -343, 64, 56, -388, -333, 63, -375, -152, -312, -301, -349, -93, 72, -346, 75, 129, -326, -424, 85, -290, -283, -334, -354, 98, -309, 29, -116, 91, -382, -111, 81, -341, 99, -140, 59}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1937168640, 1421982208, 1640240768, 1340958976, 1920129152, 1623836160, 1381392256, 1837990656, 1583590784, 1447463424, 1393147648, 1588238976, 1252990976, 1943558272, 1561248896, 1394346624, 1438326144, 1737554688, 1767619584, 1520445056, 1181211520, 1187639168, 2078450560, 2146802944, 1555011456, 1283341312, 1148612608, 2079686912, 1479177216, 1835919616, 1265495808, 1219505024, 1730697344, 1452350336, 1581030272, 1390493824, 1179106048, 1519477504, 1122724608, 1981020800, 1160957312, 2099417088, 1504766208, 1266418688, 1583718912, 1627322880, 1576502016, 1408805248, 1936147456, 1419594880, 1751394688, 1650797440, 1458831232, 1476901888, 1567985280, 1980302976, 1907197568, 1950153472, 1822961280, 1640518528, 1236253952, 1126993408, 1324145408, 1095218432, 1595127808, 1711710336, 1559469056, 1865263488, 2012389120, 1533437440, 1920779264, 1974607104, 1763418368, 1300254720, 1877368704, 1605272704, 1124713088, 1089406848, 1512051328, 2004085632, 1161581568, 1352246016, 1607617024, 1255672320, 1657869056, 1204126208, 1629461120, 1254108416, 1807388544, 1134513536, 1533876736, 1785615488, 1883738368, 1187985024, 2063534080, 1151459456, 1138421632, 1829468288, 1585459584, 1876246144, 1520717568, 1361315584, 1595045504, 1529963904, 1535159168, 1747156224, 1153030784, 1622200448, 1605627136, 1544018432, 1543116032, 1237689472, 1347304960, 1518546304, 1317592704, 2083511808, 1546653184, 1173848832, 1229775744, 1299855232, 1209590016, 1817705856, 1083203072, 1754381440, 1811540352, 2084568192, 1494511872, 1737967872, 1088811904, 1127378560, 1487322112, 1499353728, 1642659840, 1910112512, 1225746688, 1364369920, 1584498816, 1577173888, 1693384704, 1881214592, 1776586112, 1277124608, 1263559296, 1415068672, 1244159232, 2143854464, 1249442944, 1784514816, 1145740928, 1652299520, 1850100096, 1616941824, 1089368320, 1620643712, 2076990080, 1600484992, 1163141248, 2076913664, 1535439488, 1196940672, 1090854784, 1718881536, 2046125568, 1885673600, 1697651712, 2038829952, 1851587456, 1521618944, 1272819840, 1418202624, 1432552576, 1715960832, 1557975168, 1931094400, 1109717632, 1559687552, 1908700032, 1720997120, 1127513600, 1230934016, 1190842240, 1433792512, 1790788096, 1460562688, 1541418368, 1637913856, 2024045056, 1324029568, 1437524992, 2063309184, 1318018048, 1974570624}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {84106, 68422, 48922, 62510, 73128, 28740, 2635, 7892, 50604, -2145, 56277, 169, 66441, 22778, 59973, 899, 7799, 55217, 6006, 25249, -1791, -10913, 72813, 9976, -8022, 31588, 4538, 30394, 21826, 22457, 20660, -2030, 5517, 33170, 54341, 2448, 19556, 69765, 111503, 53329, 37374, 29616, 11211, 39050, 20161, -4436, 67126, -2708, 10250, 124116, 61884, 24275, 17952, 9770, 3994, 5482, 29185, 59121, 38706, -19740, 37147, 6234, 19971, 42697, 19787, 25887, -51554, 10250, -3287, 3838, 34173, 80370, 47910, -27023, 60830, 6502, 3570, 17871, 33383, 17783, 62212, 26792, 51061, 57778, 30896, 17139, 45365, 11666, 43210, 36370, 44100, -4974, 104657, 34436, 20428, 37016, 24173, 17549, 73561, 57856, 36958, 9088, 3000, 119465, 4902, 65449, 46414, 46832, -4611, 16078, 31127, 1216, -14153, 35060, 40277, 24643, 57069, -746, 70564, 27316, 38343, 41899, 4925, -14511, 13271, 23221, 81004, 16803, 7716, 36445, 18749, 18640, -42200, 25883, 7735, 10815, 37970, 57280, 562, 88223, 47834, 23594, -40511, 44965, 24624, -14782, 61735, 31216, 26677, 33079, 81826, 38941, 3225, 8549, 22526, 49526, 54662, 37842, 16993, -3126, 24687, 112719, 7148, 13440, 10655, 14201, 37180, -3484, 4211, 65518, 14141, 50554, 2357, 22092, 46378, 33558, 48088, 61545, -1744, 25668, 9087, 35501, -3126, 16070, 49063, 27086, 12964, 16639, 23260, 12222, -80526, 50745, 22881, 71058, 14701, 4728, 31521, 38756, 42361, 21395, 42861, 9274, 12960, -1753, 45012, 32967, 4696, -2796, 75310, 9248, 6695, 25746, -6140, 10533, 155464, 63986, -12181, 63488, 11248, 67546, 54616, 21599, 67382, 1900, 63953, 32429, 29672, 3921, -13637, 56223, -20281, 67404, 78095, 31443, 6588, 14419, 53735, 23533, 8190, 54384, 15212, -18404, 41661, -3695, -2610, 5916, -5102, 2239, 6091, 34301, 11294, 15925, 8296, 18195, 37034, 8319, 48903, 454, -3321, 27901, 20495, -3106, 17662, 21705, 49959, 13363, 17090, 11950, 53896, 61460, 109668, 36209, 70113, 15177, 11004, -1065, 21757, 14465, 16422, -28833, 45739, -26401, 24127, 1033, -61053, 33954, 55806, 54657, 24463, 66191, -5709, 14913, -5437, 1529, 77365, 30780, 86192, 50209, 18260, 36068, 36940, 26636, -43640, 20045, 24088, 41769, -19624, -121152, 50332, -9021, 10796, 73354, 33443, 29102, 9229, 19375, -4899, 52117, 30983, -7002, 26516, 4369, -13476, 12343, 8051, 6388, 63297, 6349, 59523, 33035, 37457, -5219, 45465, 73804, 29983, 33879, 14391, 73967, 40422, 5650, 45844, 2507, -30854, 19938, 34365, 28607, 3980, 15766, 68086, 54433, 22483, 37041, 49442, 22532, 34112, -12807, 39862, 40923, 63257, 37047, 48325, 26192, 12179, -12091, 16818, 43375, 67055, -19836, 32506, 48420, -16407, 34141, 34393, 54676, 33112, 30196, -26745, 30481, 74528, 8117, 14105, 32613, 22511, 4990} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-99, -125, -115, -140, -125, -105, -131, -126, -136, -90, -133, -137, -104, -122, -118, -106, -142, -134, -90, -116, -83, -147, -121, -102, -78, -83, -122, -117, -150, -91, -96, -86, -98, -124, -144, -132, -105, -110, -108, -171, -113, -135, -134, -124, -148, -118, -129, -86, -107, -118, -161, -136, -108, -64, -127, -102, -142, -92, -122, -148, -144, -110, -76, -119, -88, -137, -105, -129, -103, -128, -119, -125, -101, -110, -122, -118, -90, -87, -76, -152, -155, -108, -93, -111, -139, -103, -118, -87, -154, -108, -129, -153, -124, -145, -77, -107, -122, -93, -144, -108, -121, -114, -57, -164, -128, -136, -119, -158, -93, -115, -128, -113, -119, -100, -129, -117, -113, -89, -116, -110, -130, -121, -70, -104, -126, -117, -126, -137, -118, -69, -106, -116, -74, -102, -124, -171, -104, -151, -111, -114, -173, -102, -127, -79, -94, -111, -139, -124, -113, -112, -114, -138, -88, -70, -122, -141, -103, -132, -89, -124, -102, -163, -121, -89, -101, -72, -126, -62, -106, -136, -124, -128, -51, -113, -115, -126, -135, -113, -97, -128, -80, -130, -98, -157, -164, -160, -79, -91, -132, -99, -100, -124, -116, -164, -148, -157, -113, -89, -108, -113, -120, -94, -87, -73, -107, -85, -161, -71, -148, -93, -116, -128, -133, -106, -132, -107, -121, -130, -114, -102, -133, -122, -127, -88, -123, -139, -85, -122, -60, -128, -101, -162, -128, -127, -205, -101, -141, -77, -83, -107, -113, -109, -143, -78, -136, -98, -86, -64, -137, -138, -100, -90, -74, -93, -125, -105, -112, -102, -124, -126, -94, -101, -128, -131, -135, -99, -132, -98, -90, -109, -126, -132, -150, -94, -136, -103, -113, -96, -134, -117, -102, -137, -105, -150, -105, -124, -90, -111, -74, -92, -104, -175, -82, -135, -137, -159, -135, -123, -110, -132, -126, -123, -79, -96, -163, -119, -101, -105, -114, -111, -90, -106, -139, -101, -95, -114, -157, -119, -101, -97, -167, -135, -58, -95, -128, -120, -139, -116, -121, -64, -99, -69, -113, -101, -109, -124, -95, -156, -127, -96, -152, -138, -135, -126, -109, -124, -167, -112, -126, -115, -119, -142, -101, -103, -119, -133, -118, -134, -158, -133, -111, -74, -120, -119, -88, -130, -107, -98, -124, -139, -159, -133, -118, -131, -121, -163, -127, -96, -119, -88, -133, -98, -117, -161}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1934324864, 1362784000, 1262380544, 1963636608, 2069186432, 1107582208, 1819867392, 1154218752, 1365029760, 1421797376, 2005624448, 1711533184, 1372700928, 1228291328, 1272386688, 1390206592, 1688835584, 1154897792, 1512931072, 1219547136, 2012301568, 1385083776, 1531486208, 1793766144, 2057420160, 1298597888, 1251067776, 1690652928, 1910745216, 1272320384, 1166555136, 1326818816, 1912712192, 1822525696, 1787444096, 1376105216, 1827952256, 1947821184, 1959265280, 1685374208, 1163327488, 1503031040, 1681062400, 1396548352, 1126307584, 1278510720, 1078050304, 1313520512, 1173446144, 1313768960, 1957416320, 2039936896, 1084586496, 1963068800, 1313970048, 1299875584, 1953650304, 1427898240, 1477168768, 1158217856, 1202452480, 1852813184, 1223231488, 1376894720, 1196339712, 1101744256, 1736621696, 1703275008, 1554269312, 1076348288, 1171959296, 1496441600, 1090230912, 1399206016, 1903366528, 2097887744, 1654337536, 1905775488, 2127571584, 1650447232, 1503880704, 1418338944, 1437640960, 1424297472, 1370793728, 1193439360, 1220280960, 1864143744, 2033537664, 1804075520, 1354907648, 1346343680, 1195556352, 1271980160, 1421817728, 1683821184, 1473405184, 1522146816, 1812783744, 1336633984, 1542696704, 1884176768, 1094070912, 1299390336, 1446590720, 1443867392, 1343072640, 1760796160, 1467908096, 1299736448, 2099118848, 1196161024, 1492107776, 1762852480, 1544575872, 1198660992, 2014580352, 1393220224, 1506665728, 1790466688, 2065236480, 1553948928, 1694364416, 1711339264, 1595813760, 1094401408, 1557219072, 1893535104, 1758060032, 1515847296, 1199598208, 1607415424, 1180692864, 2013193728, 1656910592, 1080922496, 1493761536, 1675486208, 1244589312, 1532923392, 1400776192, 1416756608, 1361049856, 1523578240, 1490873856, 1375238400, 1473090176, 1394364672, 1349771392, 1948683776, 1592335488, 1873645952, 1218004352, 2111718912, 1183935616, 1334902272, 1131709440, 1686254592, 1902738176, 2001860608, 1247137024, 1496297984, 1776404224, 1354914176, 2065962496, 1674235264, 2042856192, 1715217280, 1446891136, 1574032000, 1779412096, 1286145408, 1519318016, 1874296704, 2130215936, 1827569920, 1118362880, 1662143232, 1447233152, 1897003008, 1613647360, 1274754688, 1372509696, 1592511360, 1549396096, 1395385088, 1160089216, 1833318400, 1456739712, 1256930944, 1367807360, 1455067392, 1559225216, 2053775488, 1486811648, 1163016192, 1505884544, 1525971072, 1412936448, 1761687424, 1242553472, 1143409792, 1356038144, 1715329664, 1324533248, 1589964544, 1596473728, 1707605248, 1267656192, 1152008576, 1612955648, 1783915776, 1521953280, 1746358784, 1223827072, 1166774400, 1650370176, 1578768512, 1078609024, 1754002816, 1607134976, 1310517760, 1676031488, 1131547776, 1315699328, 1299608960, 1136572032, 1718855168, 1217283456, 1354318208, 2026255744, 1303365760, 1228086016, 1419557504, 1107851520, 2083479552, 2106161536, 1658813952, 1898107520, 1993227904, 1618798720, 1626303104, 1571900416, 1530873344, 1611099136, 1272430080, 1580145536, 2108305920, 1230187904, 2110230144, 1817780352, 1704195712, 1636852992, 2073378048, 1354731904, 2047766400, 2066736000, 1275732480, 1274308992, 1124748800, 1357677056, 1622478720, 1423169536, 1163239040, 1311986048, 2099102336, 1456884992, 1335769856, 2070828416, 1342969600, 1147721728, 1398116096, 1273824896, 1804518272, 1292179712, 1661035904, 1377543552, 1546010368, 2059890560, 1922064000, 1158942720, 1484089600, 1141114752, 1938244480, 1401547008, 1959247744, 1581680896, 1906872064, 1089267712, 1371729024, 1311078144, 2063471616, 1141840896, 1170196736, 1255285760, 1975088384, 1144029696, 1353878144, 1102825088, 1243023616, 1645156352, 1233066496, 1433304320, 1444972160, 1850343552, 1355656960, 1997534336, 1733212800, 1214168576, 1536571136, 1575746176, 1233108480, 1608884864, 1489450496, 1259426048, 1330761856, 1573325184, 1446405504, 1725501568, 1428746240, 1215577856, 1995665024, 1100282368, 1865443584, 1435158400, 1950136320, 1552732160, 1205632256, 1660802560, 1301738240, 1361426432, 1496982016, 1455051520, 1592877184, 1965535104, 1188931456, 1467090304, 1400642944, 1622802688, 2040353664, 1486882816, 1455635840, 2082759040, 1473950848, 1194518912, 1301375488, 1198780672, 1674577536, 1667353600, 1922665344, 2053730176, 1144259840, 1356468096, 2002273792, 2045335168, 1337724160, 1831074304, 1481217152, 1335118208, 1947218176, 1724034944, 1924244352, 1124189952, 1770138624, 1457861632, 1547007360, 1214031232, 1303187456, 1372024192, 1234802432, 1222100096, 1629453824, 1213084160, 1091282560, 1647279232, 1633210368, 1537737984, 1361292800, 1146672512, 1145810432, 1589191424, 1146065280, 2142893568, 1996369152}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {585, 54, -1691, -9308, 1328, -56, 36681, -302, 5541, -210, 292, 18413, 813, -12817, 5525, 371, -2904, 292, -614, -621, 36312, -7319, 1611, -338, -1353, 5303, -2406, -6456, -379, -1373, -9856, 4671, 46127, -260, -427, 2993, -1422, 22029, 820, 1028, 268, 1, -5139, 75, 1, 9176, 495, 48231, -80, 1166, -10031, -1419, -529, 136847, 301, 702, -16123, -1585, -6488, 49709, -1201, 186, 35008, -162, 10601, 39163, 94567, 1457, -4164, -6623, 16124, -5735, 3706, -1217, 18828, -7670, 55, 365, 7472, -14370, 17801, 52089, 417, 19832, -14590, 1958, 1359, 9268, 397, 2835, -1761, 8419, 23403, 40, -14, 2830, 6174, -530, 2992, -136, -11031, -596, 42760, 1250, 11802, 973, 17589, 2146, 619, -789, 19155, 8259, -3535, 1217, 1934, -869, -113, -8465, -8824, -4364, -13337, 29823, -583, 91, -4865, -1248, 875, 6445, 7239, 5806, 20933, 60782, -2423, -83, 141, -6075, 1841, -6560, -315, 239, 917, -80, -4888, -2370, -4729, 67287, 1972, 53078, -7057, 89542, -826, 64034, 244, 2300, 49243, 681, 3646, 327, 2552, -5103, -507, 4866, -12468, -615, 1350, 89, 272, 53836, -65, -330, 2473, -4819, 42073, 567, 2582, 766, -702, 1728, -233, -773, 32883, 708, -419, 3819, -5711, 88761, 873, -978, -2736, -5434, -468, 12184, 45672, 15414, 33182, 18594, -4070, 2331, -20502, 2621, 687, -214, -9583, 8180, 1671, -1230, -6531, -2629, 24842, 479, 102, 26716, 57977, -6617, 3751, 508, 82258, 3548, -777, 78680, 7473, 23011, 1818, 31562, -479, 2361, 692, 7662, -7849, -48, -3081, 5040, 1558, -992, 28901, -73, 3225, 31861, 52714, 3287, -9347, -106, 34248, 60515, 5790, 141, 30534, 41982, 20438, -9603, 1687, 4835, -13, 1804, 2878, 1126, 1131, 24327, -204, 214, 1199, 1288, 441, -326, -2010, -489, -14849, -1249, 275, 1604, -148, 665, -985, -38779, 12819, 91430, 7280, -749, 2769, 50510, 422, -9378, 591, 1026, -4797, -715, -28, 1718, 315, -1819, -19764, 38834, 469, -20293, 541, -1771, -4795, 2387, -354, -377, -344, 18, 232, 673, -3632, -6359, -10553, -3070, 685, 299, 4305, 4360, 507, -8943, -261, 500, -1292, 1469, 34273, 178342, -1248, -106, 93001, -11278, 45131, 28435, 5119, 21182, 35, -441, -5252, 104941, -10, -222, 454, -578, 27323, 1594, 45527, -405, 2368, -4124, -1025, -125, 27854, 9161, -8470, 24978, 3007, 281, -7526, -6099, -26, 142245, -12345, -6173, -3124, 524, 21880, -1, -699, 1535, 69526, 42687, 47172, 978, 940, -6372, 567, -1453, -1227, 268, 901, -91, 47564, -5245, -1023, -1021, 455, 6422, 34544, -1576, -5511, -2675} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-88, -77, -102, -66, -65, -84, -238, -104, -54, -10, -112, -80, -98, -62, -43, -101, -18, -84, -138, -127, -295, -10, -93, -103, -104, -48, -9, -29, -108, -128, -22, -146, -341, -100, -137, -111, -171, -238, -88, -93, -93, -121, -25, -137, -70, -48, -115, -296, -145, -122, -12, -94, -58, -396, -125, -131, -39, -25, -133, -262, -65, -146, -228, -101, -54, -263, -438, -51, -13, -44, -247, -76, -49, -9, -240, -86, -141, -137, -39, -43, -235, -268, -108, -229, -67, -93, -108, -57, -144, -101, -102, -55, -233, -117, -84, -51, -67, -142, -90, -98, -44, -113, -284, -104, -113, -139, -230, -149, -124, -140, -240, -26, -73, -81, -93, -104, -118, -9, -16, -98, -4, -249, -129, -68, -14, -124, -110, -30, -88, -131, -213, -248, -16, -59, -108, -47, -106, -20, -20, -105, -169, -142, -53, -106, -115, -224, -121, -285, -67, -385, -118, -301, -127, -84, -367, -99, -28, -116, -105, -70, -26, -38, -35, -147, -50, -142, -139, -396, -128, -56, -109, -20, -314, -104, -84, -105, -105, -182, -96, -93, -237, -86, -106, -127, -47, -475, -90, -132, -141, -96, -23, -62, -266, -246, -245, -122, -58, -100, -42, -86, -94, -122, -19, -27, -103, -95, -9, -105, -251, -90, -149, -227, -269, -4, -44, -116, -519, -30, -48, -328, -61, -225, -105, -223, -118, -102, -121, -94, 8, -116, -8, -80, -86, -135, -284, -117, -121, -219, -294, -94, -73, -117, -258, -371, -56, -147, -260, -256, -212, -8, -103, -89, -116, -108, -17, -121, -90, -192, -102, -110, -89, -132, -102, -75, -101, -126, -5, -25, -147, -98, -38, -93, -104, 55, -197, -279, -190, -37, -120, -255, -103, -16, -86, -126, -29, -91, -141, -105, -99, -80, -31, -315, -98, -36, -110, -95, -63, -95, -42, -70, -86, -87, -31, -85, -1, -76, -33, -37, -129, -116, -36, -34, -86, -24, -89, -95, -75, -97, -226, -730, -115, -98, -406, -37, -247, -184, -49, -212, -89, -93, -55, -499, -122, -14, -55, -124, -249, -58, -145, -58, -90, -23, -124, -110, -226, -51, -5, -195, -141, -119, -26, -83, -97, -452, -24, -57, -58, -109, -247, -99, -112, -101, -511, -282, -271, -114, -112, -24, -115, -9, -19, -88, -145, -98, -288, -89, -120, -144, -48, -25, -241, -22, -15, -26}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1098220928, 1619541888, 1114040832, 1690410240, 1738778880, 1870780288, 1154197632, 1243862016, 1569486336, 1921022464, 1596659840, 1276623488, 1887111552, 1085928192, 1356455040, 1253852544, 1074375680, 1566447232, 1654710912, 1322227328, 1895159808, 1492238976, 1429957888, 1079193088, 1502654592, 1429545088, 1611703936, 1451570688, 1178459520, 2139025024, 1400246400, 1646548864, 1487634432, 1443641856, 1331574784, 1330181120, 1413109760, 1444481152, 1857511680, 1090376448, 1689750272, 2121004672, 1208941312, 1103445120, 1568257536, 1966406400, 1469426048, 1519882496, 1237858816, 1131470720, 1666955776, 1509170048, 1577570304, 2012442112, 1316259456, 1537602816, 1427828096, 1326674688, 1594866048, 1611381888, 1283311360, 1305560832, 1244209920, 1373821056, 1161962752, 1816943104, 1138459520, 1157010432, 1273011456, 1563989632, 1133999232, 1640650112, 1389259520, 1229793024, 1140827776, 1618992512, 1290777856, 1407393280, 1173859840, 1609014656, 2058126848, 1194137984, 1310019200, 1435952384, 2087047296, 2141878784, 1084862208, 1132884864, 1552514304, 1742774528, 1790880000, 1910820096, 1174884864, 1539252480, 1991182720, 1303753856, 1400608640, 1909434496, 1467466368, 1684049280, 2017062144, 1307536000, 1680427648, 1676944000, 1089478912, 1268887168, 1190269952, 2066978688, 1075530624, 1755384576, 1292288512, 1908453632, 1119751424, 2010612736, 1421991296, 1227667584, 1625612416, 1756277504, 1510898816, 1326395520, 1823699072, 2056490112, 1118494464, 1629802240, 1713284352, 1495304576, 1246381184, 1454591616, 1173308288, 1379209088, 1223832320, 1115193600, 1913216512, 1138906880, 1412940800, 1623468288, 2103665152, 2058079616, 1798812032, 1241623424, 1106586112, 1861768320, 1226152192, 1931037952, 1551104768, 1221826304, 2003349248, 2129487744, 1700806016, 1824794496, 1729149184, 1607590144, 1087781120, 1794195968, 1106882688, 1245114112, 1697170048, 1769070592, 1441808256, 1407313664, 2009444096, 1473036288, 1829452288, 1915143296, 1678710784, 2097707264, 1647780864, 1266286336, 1118804480, 1752040960, 1676268672, 1184320896, 1924591232, 2111054976, 1622063744, 1890680192, 1125295872, 2048816640, 1103143040, 1341183744, 1467972736, 1387636992, 1611010304, 1559731712, 1215399552, 1699397632, 1852307200, 1159704192, 1124648320, 1345864960, 1247987584, 1382708992, 1671688576, 2105138176, 1148150656, 1757306624, 1328853504, 1843938944, 2055557888, 1594854144, 1312843904, 1509786880, 1765442048, 1518312576, 1735471104, 1276422272, 1674417792, 1415707264, 1223009280, 1162977024, 1424468736, 2067622784, 1296387712, 1323424640, 1570458112, 1362524288, 1616769536, 1170503936, 1587744640, 1806458240, 1601798912, 1856537472, 1257348736, 1372224640, 1590373248, 1086721792, 1295182720, 1934557440, 1642045952, 1685421952, 1208816256, 1844757504, 1861482880, 1663699968, 1157225088, 1496971136, 1625847040, 1388254720, 1542461696, 1188378112, 1946179200, 1172434944, 1364445184, 1083016064, 1690175616, 1600260352, 1317868160, 1904698240, 1532455936, 1879364480, 1893554944, 1235505408, 1549247872, 1181647232, 1088277376, 1858377472, 1612631808, 1224349568, 1241452544, 2002766848, 1402033152, 1641840128, 1601601280, 1565917440, 1265956096, 1363175936, 2015930368, 2121119232, 1581729536, 1986130816, 1821763840, 1664310016, 2016007424, 1296700928, 1594012416, 1451187072, 1124680576, 1704497408, 1964510592, 1545884672, 1939827584, 1404338816, 1694184320, 1406868352, 1692567936, 1080104192, 1464521984, 1898909824, 1622254336, 1394876672, 1931768448, 1683568256, 1833223040, 1151429120, 1716374272, 1364505344, 2092528256, 1699977472, 1107720192, 1377118976, 1462103168, 1846278784, 2137297536, 1793353344, 1495626368, 1413993984, 1514102784, 1098650880, 2011304704, 1690621056, 1277787520, 1546706944, 1766928256, 1542037376, 1691690624, 1257941760, 1143215360, 1511557376, 1599131008, 1757444864, 1640052992, 1495150720, 1842837760, 1601849600, 1545521792, 1144858624, 2014952064, 1827127552, 1263309312, 1381353344, 1709255936, 1944425216, 1163985152, 2025074816, 2140654208, 1598866048, 1787115520, 2106909312, 1147067520, 1758040832, 1770046080, 1631104384, 1773399424, 1278366464, 2135531776, 1366799360, 1298857216, 1570061568, 1785422464, 1328453248, 1546827520, 1612303360, 1309338752, 1749594880, 1099965824, 1389314816, 1823665536, 1654242176, 2113064320, 1280047360, 1472485504, 1851922816, 1737323136, 1673690112, 1640728448, 1075138688, 1474939392, 1743741824, 1592853760, 1427719040, 1313200512, 1140865920, 1782253440, 1092946816, 1940250496, 1151445504, 1722071552, 1299726208, 1781710080, 1145774080, 1302100352, 1355573760, 1626076032, 1348696064}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {-9542, -17527, 55996, 29509, -3311, 59334, 22498, -9371, 20289, 25401, 39893, -5228, 8946, 31961, -5943, 48438, -15433, 16445, -21491, 21299, -9652, 21875, -51369, 36465, -21248, 25294, 32949, 31345, 21555, 1863, 7737, 7687, -2539, 17162, -9965, -2624, 24079, 37129, 14866, 15601, 26417, 41636, 22552, 1660, 27565, 62557, -4744, 5152, 42524, 3040, -663, 119455, 6710, 22472, -3509, -40754, 4869, -26095, 18942, 17538, -3258, -57238, -18007, 65801, 35832, 11551, 40024, 15658, 30228, -9304, 19018, -1819, 12192, 68165, 22385, -25004, 8242, 81236, 36659, -27436, 18598, 63116, -4824, 32841, -17064, 52380, -643, 14179, 1227, -2384, 42238, 57942, -4393, 20106, -17655, 11512, 23569, 3235, 10707, 23086, 8015, -9915, 11930, 4319, 47372, 20266, -65446, 37438, 20228, 41217, -11385, 9777, 93093, 11094, 28009, 35505, 69321, 21060, 7448, 7822, 68366, -7587, 26670, 58489, 10329, 20676, 58036, -13758, 3000, 36091, 10475, 5465, 41063, 3089, 2274, 19215, 11276, 41663, 2368, 58159, 2431, 5560, 38243, 8691, 3493, 61889, 49284, 3652, -1351, 14714, 104424, 76724, 14940, 4038, 29714, 1576, 7713, 40416, 1910, 36813, -1782, -40723, -11448, 31558, 3080, 13397, -12086, 53120, 74205, -9909, 24261, 20289, -4235, -23761, -8492, 6467, -10348, -15678, 93491, 48446, 26873, 18531, 18714, -14001, 24374, 3955, 2961, -14408, -3577, 37388, 3664, 99951, -7919, -27773, -5681, 14624, -22421, -17054, 6975, -36912, -12380, -2104, 20978, 7166, 66529, 30188, 24991, 9155, 3056, 71018, 712, -35084, 5625, 5552, -3416, 29153, -17803, 24059, 17574, 14682, -1427, 68646, 24370, 25809, -12724, 984, 11060, -25579, 28351, 36129, -10387, 2388, 1317, 10166, 11150, 23690, -24899, -29250, 24348, 14120, 7150, 12851, -2033, -45605, 2808, 65137, 3196, 70698, 10584, -24766, 2545, 64076, 5821, -1357, 44215, -1946, 15458, 13713, 11463, 10493, 22390, 2955, -33607, 36826, 4291, -39450, -24031, 26934, 62299, 7012, 827, -2199, 46385, 20697, -17749, 53273, 35838, 22327, -22829, 8082, 25152, 4826, 2237, -4327, 25931, 5162, 14645, 7844, 98322, 20756, 63842, 67989, -11468, 36220, 38018, 38323, -18358, 8376, -323, 26477, -10730, 17027, 96, -47629, -2858, -1197, -21728, 39425, 13192, -1870, 10742, 6107, -34462, 359, 10507, 31083, 7055, -32328, -12784, 113703, 11572, 12362, 23874, -16415, 7178, 5828, 64839, -5499, -24002, -3507, 31105, 16331, -9152, 6855, 22036, 26306, 10996, -25197, 4733, 12386, 9798, -3900, 116221, 1473, 18290, 22762, 69823, 46350, -1599, 69090, 60419, 30727, 27689, 37123, 19481, 15653, -11422, 25645, 39547, -10931, -1581, 18207, 7200, 5171, 10536, -11535, 11950, -13759, 54011, -14301, 27537, -47383, 31416, 2595, 33515, -26389, 30974, 35645, 52268, 3016, -2319, -505, 46590, 14430} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-117, -99, -135, -132, -120, -143, -141, -108, -141, -122, -112, -138, -112, -120, -109, -161, -90, -115, -162, -106, -123, -90, -100, -92, -91, -112, -97, -104, -184, -115, -97, -140, -169, -132, -105, -96, -105, -153, -97, -118, -120, -139, -184, -149, -163, -162, -139, -118, -82, -124, -149, -125, -124, -146, -148, -125, -142, -111, -109, -127, -86, -84, -108, -125, -126, -104, -114, -119, -126, -117, -96, -155, -126, -129, -123, -118, -122, -110, -127, -152, -85, -128, -140, -150, -134, -201, -140, -131, -145, -128, -173, -132, -134, -77, -124, -158, -123, -168, -105, -123, -107, -91, -172, -124, -135, -95, -126, -129, -152, -139, -103, -122, -108, -123, -74, -81, -124, -134, -89, -126, -140, -125, -122, -108, -166, -136, -150, -130, -121, -129, -172, -136, -132, -120, -99, -125, -112, -143, -126, -143, -65, -125, -100, -96, -109, -119, -85, -146, -105, -174, -122, -155, -151, -89, -144, -138, -97, -149, -96, -123, -126, -121, -145, -108, -132, -159, -144, -158, -95, -98, -151, -126, -119, -87, -119, -87, -140, -92, -92, -137, -93, -102, -141, -128, -125, -154, -129, -101, -137, -171, -116, -111, -163, -105, -157, -80, -153, -126, -102, -107, -121, -116, -124, -108, -107, -104, -139, -166, -139, -103, -87, -132, -134, -128, -127, -123, -155, -129, -153, -187, -94, -158, -170, -168, -80, -100, -96, -147, -78, -110, -127, -69, -122, -119, -113, -109, -156, -145, -158, -122, -139, -115, -93, -112, -125, -127, -107, -136, -120, -120, -150, -111, -129, -148, -136, -127, -175, -104, -110, -146, -128, -104, -116, -103, -157, -131, -124, -131, -114, -128, -68, -93, -112, -99, -127, -123, -147, -106, -126, -98, -149, -172, -99, -117, -139, -110, -131, -124, -151, -119, -150, -194, -136, -112, -94, -167, -123, -95, -81, -171, -124, -113, -138, -147, -141, -85, -144, -101, -125, -121, -145, -93, -145, -109, -142, -120, -128, -120, -107, -134, -172, -101, -151, -141, -138, -110, -100, -124, -107, -146, -152, -116, -138, -93, -130, -68, -165, -103, -154, -132, -123, -118, -136, -104, -117, -101, -129, -118, -141, -124, -121, -144, -89, -116, -105, -91, -133, -129, -168, -114, -125, -92, -133, -137, -72, -131, -185, -138, -155, -142, -133, -109, -99, -124, -105, -97, -139, -166, -135, -149, -117, -127, -152, -121}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1217568512, 1399504640, 1159638400, 1210366336, 1232072960, 1578289408, 1912886528, 1114759680, 1623207552, 1800999168, 1622343424, 1707250560, 1091997312, 1784299520, 1366941568, 1272573440, 1263493632, 1410695296, 1111138048, 2104794240, 1094426880, 1775804544, 1412763776, 1662219264, 1124878336, 1585557888, 2047516288, 1246065792, 1715179008, 1479978240, 1121596544, 1720461568, 1116832896, 1351348480, 1406090624, 1956434432, 2055988992, 1463263232, 1089378048, 2063846400, 1074592512, 1282181632, 1089066112, 1468554496, 2139923456, 1631185024, 1535799424, 1246503168, 2086193664, 2067526784, 1913028480, 1093887360, 1709051136, 1179312896, 1297304576, 1346822784, 1689799808, 1852545536, 1263880832, 1506259584, 1588698112, 1471280640, 1599199488, 1129999360, 1443535360, 1577002624, 2064075392, 1843332096, 1106893440, 1562570112, 1765704192, 1103931520, 1229692416, 1636282752, 1793435264, 1753697280, 2059505792, 2134242176, 1822355456, 1166247168, 1747186048, 1106082304, 1175994752, 1216442112, 1659048704, 1235492736, 1661529344, 1562256256, 2007173760, 1778855424, 1175000832, 1226635264, 1537731456, 1540578304, 1119792000, 1164054272, 1585522944, 1593941888, 1178727552, 1217590912, 1994220544, 1392460288, 1092569344, 1301010944, 1308375296, 1187525760, 1159494272, 1448011648, 1779157376, 1612811392, 1125555328, 1454201728, 1081108608, 1944523648, 1176649728, 1339815680, 1666913024, 1481167872, 1257348480, 1167467648, 1748329984, 2020311936, 1304892288, 1989439232, 2030415488, 1260737280, 1103131008, 1670000384, 1093244800, 1810127104, 1458577920, 1141179008, 1215773824, 1301105024, 1246304896, 1520789376, 1204673664, 1685679488, 1243270656, 2088194688, 1809576192, 1390182144, 1261146496, 1282754048, 1305814784, 1452245120, 1605596672, 1508458752, 1397728128, 1115665152, 1830150528, 1083799936, 1592900864, 1175224448, 2045059584, 1077494784, 1845198208, 1198549120, 1598052352, 1140006016, 1355538432, 1272084736, 1955498496, 1097979136, 1409287936, 1576674688, 1080957696, 1763325056, 1828904448, 1459858560, 2085517696, 1108149888, 1693624704, 1163798016, 1187095808, 1577359488, 1093689600, 1707567744, 1164125440, 1271051264, 1867703040, 1139739520, 1816264832, 1263889024, 1319060096, 1960462464, 1422398208, 1291098368, 2062807296, 1478024064, 1523339520, 1319057920, 1240664320, 2078522880, 1397619840, 1541973504, 1814342400, 1092788608, 1810407552, 1900093184, 1841907840, 1090044544, 1576471808, 1409517312, 1238114176, 1671914752, 2085417600, 1383574272, 1732514688, 1236454784, 1322436608, 1130574848, 1719794688, 1388296704, 1169807488, 1394829056, 1539762176, 1653733504, 1941058560, 2005984640, 2076950656, 1461242880, 1207732480, 2056393088, 2084030336, 2060394112, 1890068736, 1093357440, 1430439808, 2070408960, 1567042944, 1481012352, 1210229888, 1216543872, 1751754240, 1212024448, 2069241728, 2008000640, 1088272896, 1765365376, 1828774784, 1487726336, 1961286528, 1199381760, 1233960576, 1130410752, 2099898240, 1604638208, 1393458048, 1107920768, 1652913664, 1112595456, 1239988608, 1983628544, 1712957824, 1129866496, 1189110144, 1407996672, 1138331136, 1626850304, 1086670464, 1767811456, 1172246272, 1634000640, 1135953408, 2072743296, 1630748672, 1459091840, 1232410624, 1950245376, 1253640576, 1647674496, 1447335424, 1668148224, 1252958464, 1362939776, 1448892416, 1147745536, 1507320832, 1907286144, 2039991168, 1341010816, 1083283200, 1309653376, 1842466176, 1548982272, 1111235584, 2045784832, 1538532352, 2147430656, 1310949376, 1101420672, 2143582592, 2120602624, 1134103552, 1764194944, 1270953984, 1200713600, 2023327872, 2091159296, 1311750272, 1498619264, 1208015744, 1300595200, 1439302528, 1287855232, 1169469312, 1420861824, 1228831744, 1861011968, 1802252928, 1946247040, 2111545344, 1180600448, 1503783168, 1305976704, 1555431424, 2141244928, 1182455296, 1948364544, 2027843712, 1925402880, 1135755520, 1292643712, 1758125312, 1999927296, 1928843136, 1629412736, 1200076544, 2033771904, 1189414528, 1476907904, 1354450176, 1588120576, 1765909376, 1876268928, 1440406400, 1074261888, 1598358400, 1389270784, 1192064640, 1295659520, 1271293696, 1181112320, 1326311040, 1150795392, 1948358016, 1438035456, 1652077696, 1799016064, 1884457088, 1636768256, 1335663104, 1895286784, 1944914432, 1763227264, 1846079616, 1401755904, 1510047360, 1412240000, 1519996032, 2087892992, 1638937984, 1528592000, 1389475584, 1254281600, 1530288128, 1556892416, 1077582080, 1898497152, 1146259456, 1132209408, 1678268288, 1418954112, 1750574720, 1658350464, 1339863168, 1827674752, 2064765184, 1346495232, 2082727168, 1639115776, 2108310400, 2036094464}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {8537, -18430, 5202, 15685, -13270, 1589, -3740, -18788, 23469, -45098, -6562, 27107, -2564, -6266, -1946, 1330, 44422, -7961, -8603, -8084, -180, 28957, -4720, -7678, -17552, -12455, 3930, -2464, 26733, 22113, 1083, -13534, -5557, 31827, 2989, 88905, 17285, -27890, 32028, 41531, -17547, 12899, 5314, 12014, -32339, 2295, -6988, 17877, 23575, 6461, -4233, -2298, -5917, -5133, 34629, 7804, -22693, -7620, 27017, -10586, 598, 70295, 171, -8297, 26514, 67542, 3174, 45479, 11438, -3779, -5886, -18989, 39809, -526, 59921, 16016, -6384, -2699, 12111, 14108, 94406, 6548, 13004, 19285, -5987, -2220, -19660, -7290, -51055, 13845, -538, 29903, 73699, 29572, -13590, 46696, 75262, -3123, 43134, 119028, 47995, 161637, -46791, -11583, 4862, 505, -9813, 7033, -26478, 55, 6041, -4043, -1967, -6128, 27260, 57832, 42080, -6302, 91417, 84022, 23550, 14909, 69502, -3850, -10133, 55418, 15265, -5881, -20062, 8962, 15722, -6010, 23631, -3976, -7061, -7294, 47912, -6652, 875, 47719, 33238, -2633, 50933, -4183, -9503, 14997, -14753, -11545, -6, -6706, 3446, 4429, -15873, 34362, 21695, 15475, -10140, 15387, -8112, -2824, 39184, -10163, -3112, 54400, -10667, -4672, -2798, 20113, 31303, -5300, -11848, 9091, -8022, -11640, 39752, 40940, -5766, -4970, 3584, -4669, 30701, 14188, -63375, -6467, -8277, 29061, -5152, -6396, 54209, -42405, -5601, 28201, 60513, -6923, 944, -4469, -13512, 12635, -25648, 7835, 542, 15266, 1765, 45622, -5708, -6510, 26254, 20797, 1758, 24160, -5384, -21443, -9204, -9072, 24788, -3624, -4678, -8357, 17392, 14958, -5907, 14554, 94789, -59813, 113134, 70, -8907, -1904, 2732, 2711, -7313, 133536, 11817, 69610, -41186, -321, -17092, -12558, -26680, -11280, 280, -1548, 44504, -9189, 49946, 33017, 40167, 5421, -22639, -507, -8899, 28878, -4148, -2901, 4031, -7226, 22410, 32202, 150, -14032, -7875, 58539, -9511, 30277, -39727, -19620, -51324, 26198, 22778, 50995, 44146, 73417, 509, 536, -28836, 7610, 101211, 3593, 43360, 7591, -29528, -6629, 73962, 279, 108420, 77184, -10649, -4291, -31727, 3507, 7494, -987, 2286, 7060, 4495, 18118, 27466, 34485, 2317, 25393, -3797, 2372, -4213, -49813, 44724, 49125, -11366, 33475, -13577, -6835, -99, 799, -2083, -3444, -8625, -13248, 50955, -2578, 5435, 6531, -10421, 41046, -58779, -2052, -8107, 5335, -9647, 111926, 139847, -4941, 14856, -8452, 144651, 85087, 15983, 15051, -96931, -9504, 6196, -4211, -7479, 140033, 32376, 41341, 90809, 63670, 7889, 4884, -22451, 2597, 42596, 35309, -34815, 4841, 50063, 46698, -10956, -5952, -4718, 6760, -8700, 29698, -8564, -16271, 59650, -11298, -7301, 103891, -3754, 50046, -5807, -5786, 2043, -7079, 24530, 29172, 147119, 1345, -5883, 60049, 4261, 58894, 5137, -25547} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-107, 16, -43, -136, 46, -160, -16, 18, -146, 1, -17, -244, -69, -13, -32, -103, -188, -80, -14, -87, -111, -243, -8, -25, 31, -52, -102, -16, -203, -190, -155, 6, -31, -168, -127, -337, -83, 7, -199, -259, 22, -154, -90, -76, 8, -80, -13, -88, -253, -48, -12, -160, -14, 5, -253, -24, 32, -139, -234, -51, -97, -283, -113, -84, -267, -343, -48, -302, -172, -41, -21, -34, -348, -75, -326, -142, -91, -113, -202, -97, -418, -67, -114, -94, -32, -5, 2, -57, 21, -118, -23, -274, -280, -270, -64, -219, -304, -143, -277, -518, -287, -687, 0, 8, -74, -87, 24, -44, -4, -191, -57, -27, -138, -91, -229, -267, -246, -12, -442, -526, -226, -100, -262, -114, -50, -199, -110, -12, 72, -67, -135, -92, -241, -83, 12, -19, -275, -107, -106, -152, -244, -114, -301, -50, 2, -235, -47, 9, -47, -30, -47, -60, -11, -200, -170, -182, -8, -104, -113, -27, -169, -5, -16, -310, -61, -1, -123, -175, -228, -27, 5, -91, -17, -19, -235, -276, -60, -43, -49, -122, -263, -100, 42, -16, -3, -167, -70, -12, -250, 16, -52, -259, -262, -36, -118, -123, 21, -138, 26, -49, -34, -145, -92, -291, -129, 1, -175, -197, -80, -260, -13, 18, -20, -41, -124, -21, -10, -43, -85, -149, -63, -243, -310, 25, -638, -96, -11, -9, -36, -134, 78, -412, -51, -371, 54, -5, 19, 3, 6, -19, -108, -55, -292, 36, -318, -272, -276, -89, -58, -26, -5, -262, -106, -39, -148, 6, -121, -290, -121, 1, -58, -322, -6, -186, 23, 25, 91, -201, -264, -304, -210, -393, -25, -144, 47, -78, -491, -88, -266, -64, -50, -37, -303, -101, -432, -340, 3, -38, -51, -41, -69, -7, -50, -42, -74, -199, -195, -249, -43, -148, -10, -94, -121, 84, -220, -293, -4, -213, 1, -28, 5, -30, -23, -41, -11, 6, -333, -62, -142, -50, -3, -309, 26, -36, -10, -89, -55, -513, -562, -6, -91, 18, -425, -227, -186, -209, 156, -4, -122, 122, 12, -448, -264, -355, -407, -222, -172, -109, -34, -44, -322, -233, 0, -60, -382, -262, -20, -79, -28, -147, -23, -240, -5, 2, -368, 22, -73, -290, -99, -194, -77, 4, -64, -25, -267, -210, -397, -80, -22, -284, -102, -230, -110, -7}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1460131200, 1104566400, 1828487168, 2124780544, 1150626304, 1261694592, 1515763072, 2086947840, 1132509056, 1261646592, 1930076544, 1347763968, 1519719680, 1306401920, 2028503680, 1316747776, 1191543040, 1540608896, 2039669888, 2003934336, 1712739584, 1212828800, 2086950528, 1208056320, 1214877696, 1109230976, 1853782016, 1998079488, 2127809536, 2140481280, 1438693120, 1128236928, 1681395968, 1651998976, 1700961920, 1627249792, 1252146048, 1388284416, 1683646592, 1864193792, 2144727808, 1608457344, 1490630272, 1367278848, 1959724160, 1629449728, 2059789696, 1180385152, 2027808896, 1705586944, 2119290112, 1773096320, 1128133248, 1815092992, 1754653312, 1595968256, 1149703168, 1256348288, 1903281152, 1765885440, 1115558656, 1899990144, 1625341952, 1344781824, 1594690944, 1108381184, 1542636416, 1756312064, 1204498688, 1499129600, 2089695488, 1857041536, 1902413696, 1356958464, 1133926016, 1269433472, 1089504384, 1939260032, 1188579072, 1515655424, 2007041536, 1422960512, 1635512960, 1968046592, 1305469824, 1085379712, 1087780352, 1288019840, 1980048256, 1507122816, 1992374784, 1944369536, 1194785792, 1218278400, 1868423424, 1278900864, 1090590208, 2062563200, 1756320128, 1164259584, 1876123392, 1817724928, 1225680384, 1877533440, 1773323776, 1129621248, 1613799040, 1705077504, 1331507840, 1785966464, 1509877632, 1781718016, 1871578752, 2144957696, 1194150400, 1896873856, 1600320512, 1104392576, 1346686976, 1531380992, 1812883712, 1316807040, 1113473920, 1981497216, 1668040320, 1868977536, 1876392832, 1792709376, 1377733760, 1153310464, 1584328704, 1280620416, 1079390464, 1379087744, 1722444928, 1129944320, 1918497536, 1515050240, 1350140288, 1178802176, 1368418944, 1232239872, 1515227264, 1669043328, 1094713984, 1860833920, 1118162816, 1721732736, 1492237184, 1562605952, 1445656064, 1409839232, 2025975168, 1274464640, 2077967488, 1627413120, 1131877248, 2061301376, 1143414144, 1132000256, 1125286656, 1845916416, 1156513664, 1283118976, 1491794432, 1757496448, 1136840576, 1197218560, 1821582464, 1122597376, 1705762944, 1933692544, 2086047744, 1373817088, 1429392640, 1182777216, 1356313344, 1731456640, 1205310464, 1811803776, 1164777216, 1292475904, 1875045248, 2093141632, 1087424896, 1102420736, 1719011200, 1107543680, 1466573184, 1277108736, 1234942592, 1871061888, 1837621504, 1573892352, 1459505152, 1901699840, 1785165440, 1383339392, 1876253568, 1288760064, 1302571520, 1525686144, 1346451712, 1667155712, 2147125632, 1879206784, 2091147264, 2042763776, 1299838720, 1896685952, 2115598848, 1706902656, 1634067328, 1595580544, 1355462528, 1784836608, 1422684160, 1893811584, 1151763200, 1100657280, 1824209920, 1754258304, 1109122304, 1525701760, 1199008128, 1400535936, 2067250944, 1634872960, 1101882368, 1807445632, 1132440192, 1273036032, 1142955904, 1412709376, 1693315456, 1974946688, 1460532224, 1098888576, 1499990144, 1252686336, 1171612928, 1913626496, 1467986304, 1376811648, 1176149632, 1163799936, 1157819776, 1293555840, 1397201792, 1094474368, 1107684608, 1403490432, 1532880256, 1446792320, 1542386560, 1159594880, 1972840064, 1818421376, 1565885696, 1251556224, 1625533184, 1482570624, 1820336640, 1937706240, 2107844480, 1245490176, 1364212096, 1925444352, 2051984000, 1633445376, 1374239232, 1713424256, 1195835264, 1856249344, 1996987264, 2105003648, 1322505600, 1628542720, 1160776960, 1853077888, 1354193408, 1245872384, 2111646976, 1724861184, 1407844480, 1226811264, 2076666624, 2146369408, 1765468288, 1217882880, 1246096768, 1132451200, 2133038336, 1368272768, 1154712832, 1603395968, 1201961728, 1167547008, 1722376960, 1562447488, 1089820544, 1891492352, 1079708544, 1132569600, 1533795328, 1152902272, 1100783104, 1394176384, 1222040192, 1810659840, 1706916352, 1569541376, 1807944576, 1481091200, 1158561664, 1169999616, 1756309504, 1606416384, 1343356544, 1422695424, 2108957824, 1247025536, 1643250432, 1536839168, 1403339264, 1150915200, 2012468864, 1170851968, 1192676736, 2017966976, 1259720320, 1745745024, 1370278144, 1285878656, 1365074816, 1386923648, 1371776896, 1931429376, 2082951168, 1185569024, 1439801728, 1581449728, 1966618880, 1612484736, 1670084352, 1401176320, 1184158080, 1234696192, 1093663232, 1323505152, 1880168704, 1846981632, 1271644928, 1983592448, 2097923328, 1896999936, 1245152128, 1712598912, 1596243328, 1712244736, 2027875840, 1074929024, 1217663616, 1227526784, 1232490624, 2117587584, 1788898048, 1434174336, 1978281216, 1397126656, 1582644096, 2021273600, 1250246272, 2016075648, 2061602048, 1353077760, 1665080192, 1561071744, 1333551104, 1602302208, 1378443648, 1739243648, 1681184896, 1389583616}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-13797, 4415, 7008, 6360, 6100, -4669, 1420, -27720, 11873, 6490, 14028, -569, 21585, 6861, 7104, 13358, 51118, 2766, 12848, -4017, 13507, -1827, -36616, -5333, -2879, 130863, -5641, 24113, 64957, -24152, -14819, 27601, 13037, 22481, 19258, 2423, -34270, 60278, 11252, -28379, 804, -4075, -13318, -8032, -11105, 74159, -21158, 54460, -23147, 58823, 2789, 7776, 60234, 53383, 7007, -8803, -32874, 28102, -11452, 9256, -9701, -11492, -29974, 16003, -13780, -11961, 8758, -1559, -11096, -15693, -41375, 3043, -18544, -10106, 57754, 52462, -40540, 7309, 15147, -4152, -3628, 31063, 7746, 21366, -19888, -4893, 1651, 5913, 37852, 21879, -1070, 20663, -17793, 46612, 416, -4936, 32558, -20829, -11364, 22091, 42652, -3124, 17397, 25947, -9644, -3502, -23878, 7177, -20917, 23190, -16794, 2241, 283, -26154, 6088, 54886, 50358, -22248, -41527, 81514, -3045, 29848, -5583, 12710, 4604, 23110, 1322, -5394, -56910, 3577, 65536, 13120, 18571, -4416, 1191, -7108, 57496, 24893, 12838, -39937, -6604, 13090, -1991, 41839, -9238, 66597, 111320, 4560, 23462, -54311, 13570, -3573, -21814, -16156, 31447, 21915, 11162, 43535, 17463, -5249, 14378, 5082, 12538, -26201, -642, 4712, 34998, 11975, 1938, 42121, 5642, 7375, 53996, -39724, 16272, 85321, 23684, 4405, 2203, 12937, 12722, -29515, 32325, -5501, 66909, -21417, -45931, 11289, 29785, -13458, 21907, -37783, 1899, -20921, 17753, 1518, -24837, 7492, -28623, 19062, 3924, 2827, 6691, -14772, -2223, 11796, -10326, -38835, -144656, -28832, -10109, 40961, 15495, 26536, 9402, -14413, 33911, 24954, -31290, -28087, 52391, -1989, -16410, 48706, 33123, 75249, -19860, -36592, 38667, 4309, -40911, -36140, -16551, -10215, 2368, -37072, -28508, 18389, -20528, 87687, -23602, 60548, 54459, -30920, 2137, -33170, 7009, 28463, 29273, -9054, -35291, -17771, 7848, 12504, -69033, -10421, 6931, 48718, -14221, -4678, 4012, -32884, -7924, -10786, 21245, -10375, -11936, -25224, -13935, 50419, 6529, -38178, 1942, -31109, 38836, 5033, 24366, 70544, -20193, 100300, 23449, 9600, -33761, 10236, 39734, -7488, 9764, -3149, 11277, 21448, -16450, 24228, 15762, 9052, 1255, 7976, 25647, 23617, -8653, 11542, 7942, 56162, 55397, -47281, 1037, 15490, 16483, -10628, 3140, 35123, -40363, -46856, -34830, -14912, 9073, 13488, 48866, 5365, 6591, 224, 6031, 17492, -17165, 53914, 20486, 33015, -6673, -54717, 19182, -21885, -53036, -13565, 6096, 15755, 2173, -3912, 5023, 19835, 2504, -33407, 26650, 5266, 42804, 27957, -47860, -7824, 64464, -5708, -17886, 30704, 68055, -21337, 17020, -231, 39941, 10220, -11164, -13195, -24700, 50070, 13759, 143, -29142, -16635, -46568, -11972, 45555, 38997, 78745, -28373, -18131, -42987, 22500, 7193, -13775, 4086, -25326, -68, -44487, 8447, 4310, 119708, -4410, 29199} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-145, -115, -168, -157, -115, -110, -116, -127, -124, -99, -99, -130, -147, -107, -145, -107, -131, -116, -137, -131, -96, -121, -144, -150, -110, -122, -147, -141, -129, -155, -134, -130, -130, -134, -176, -172, -118, -115, -115, -108, -84, -144, -96, -118, -130, -127, -136, -73, -113, -111, -137, -98, -119, -140, -83, -135, -99, -146, -118, -90, -103, -120, -119, -135, -132, -175, -146, -124, -143, -119, -116, -148, -101, -98, -114, -117, -93, -109, -126, -133, -116, -95, -135, -136, -136, -128, -136, -123, -128, -116, -135, -123, -151, -143, -110, -125, -91, -136, -162, -86, -115, -121, -112, -128, -202, -165, -125, -133, -107, -105, -122, -152, -118, -134, -102, -121, -135, -131, -145, -139, -128, -139, -172, -169, -161, -123, -88, -150, -98, -176, -112, -131, -140, -118, -106, -132, -165, -126, -113, -105, -100, -132, -167, -108, -162, -121, -112, -151, -144, -138, -146, -90, -153, -153, -111, -127, -99, -128, -118, -140, -155, -139, -144, -112, -138, -115, -114, -111, -125, -104, -97, -138, -112, -105, -151, -146, -94, -115, -139, -126, -128, -153, -144, -143, -133, -150, -116, -117, -112, -149, -138, -116, -122, -90, -145, -106, -115, -127, -138, -141, -137, -152, -141, -88, -106, -138, -111, -138, -110, -123, -105, -109, -120, -108, -117, -131, -108, -69, -110, -136, -183, -147, -97, -92, -126, -132, -121, -128, -164, -124, -130, -144, -116, -149, -150, -140, -129, -165, -131, -135, -138, -127, -121, -123, -132, -109, -123, -96, -103, -160, -130, -112, -143, -101, -129, -146, -156, -119, -173, -121, -127, -126, -131, -113, -127, -146, -123, -117, -131, -114, -131, -97, -118, -128, -111, -119, -138, -118, -106, -151, -138, -145, -134, -122, -154, -102, -129, -154, -105, -107, -112, -133, -111, -127, -111, -168, -97, -99, -154, -147, -147, -115, -121, -105, -159, -123, -136, -146, -158, -103, -139, -145, -150, -103, -120, -161, -117, -138, -152, -139, -173, -143, -134, -97, -131, -149, -90, -114, -137, -74, -144, -115, -117, -101, -166, -125, -75, -158, -121, -123, -151, -111, -190, -127, -143, -141, -140, -133, -144, -97, -126, -138, -104, -93, -121, -153, -141, -121, -124, -137, -130, -111, -121, -108, -140, -147, -141, -144, -128, -120, -107, -145, -170, -155, -158, -100, -144, -98, -124, -140, -141, -99, -145, -130}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1431713280, 1130340736, 1739349760, 1349971456, 1105192064, 1291057920, 1991587712, 1233735296, 1112551680, 1173128064, 2095967488, 1378380544, 1470002688, 1216236160, 1104576384, 1162477440, 1933181312, 1598424960, 1327027456, 1549544448, 1954488448, 2104989952, 2072174720, 1098720512, 1308494976, 1463053440, 2037566464, 1237131904, 1192521472, 1359419904, 1237790464, 1133072128, 2100456064, 1354471040, 1173571200, 1291874176, 1128378112, 1244522880, 1923912064, 1316120960, 1529215872, 1602268032, 2046862720, 2022051456, 1228316800, 1796088832, 1345581184, 1717870208, 2003061632, 1590758656, 1092633344, 1349808896, 1486717696, 1143741952, 2059363712, 1228545792, 1260011520, 1119100672, 1692046976, 1190643840, 1228608512, 1861795584, 2134084992, 1680007936, 1346326528, 1562347008, 1107223680, 1293397248, 1202714496, 1129333888, 1178718976, 1394526080, 1242284160, 1917338368, 2001385728, 2030024448, 1545740544, 1284068096, 2084206976, 1391915904, 1806331392, 2036523392, 2102501760, 1769826176, 1303756928, 1284719616, 1675557760, 1362720256, 1878022016, 1651518720, 1228316544, 1086733568, 1639362048, 1615859968, 1944695424, 1253215104, 1243394816, 1164092416, 1443408000, 1123430272, 1317222144, 1892906624, 1548606208, 1590525952, 1712283136, 1830276352, 2023089280, 1316406144, 1441664640, 1500510464, 2051074560, 1326066048, 1217730816, 1086822144, 1743815040, 1518622208, 1486236928, 1952037888, 1985042816, 1393376640, 1240904832, 1111449472, 1635302912, 2104352512, 1818171520, 1715825152, 1719396480, 1968180224, 1709197824, 1979744000, 2023584768, 1101665920, 1663461504, 2102293376, 1177659648, 1995236096, 1378710272, 1254887168, 1630459136, 1906353024, 2054666240, 1542313088, 1508973312, 1924454400, 1611262592, 1511933312, 1260462208, 1564023040, 1971033856, 1810409728, 1135782784, 1331649792, 1796179584, 1528793984, 1693274752, 2072099840, 1245789824, 1789988736, 1239776768, 1574405120, 1227180288, 1635795328, 1354945792, 1225655296, 1837439616, 1652015488, 1506033664, 1140139776, 1957341056, 1704596992, 1382280064, 1574506624, 1116814848, 1183027584, 2114832896, 1855326464, 1793512064, 1985907968, 2130960128, 1840089344, 1608522624, 1250315776, 1112885888, 1125407360, 1494231296, 1315113856, 2076043264, 1624253696, 1094011904, 1138139008, 1670504448, 1115908864, 1472321024, 1500543744, 1197376640, 1802684160, 1222163200, 1877802112, 1159759232, 1211939840, 1840342400, 1141072000, 1363908608, 1930600960, 1532653568, 1905007488, 1543850624, 1181798528, 1596280960, 1173265408, 1930137088, 1973708672, 1103782144, 1817344128, 1921216640, 1115932160, 1178653312, 1080112768, 1164068608, 1363843072, 1343130752, 1507715840, 1580922496, 1293565056, 1236791040, 1104406272, 2137068544, 1542284800, 1613179136, 1313458176, 2084073856, 2123395328, 1753710208, 2105031552, 1267718400, 1747865088, 1159846528, 1206647936, 1594918400, 1164731648, 2028439296, 2013234816, 1228164608, 1250054016, 1201458816, 1329133824, 1330763136, 1748738048, 1105871616, 1407806464, 1360041472, 1562328704, 1149532672, 1544984576, 2111848320, 1751836160, 1332199040, 1275516544, 1732690816, 1108667904, 1740892800, 1839339520, 1281307648, 1359304320, 2058761472, 1726722944, 2111744384, 1206280704, 1807071232, 1454103040, 1320019584, 1342685312, 1355400832, 1675814144, 1934465024, 1183310080, 1186385792, 1144443136, 1651462400, 1459203200, 1094081408, 2116868480, 1624702848, 1621739392, 1194003584, 1373351936, 1911278592, 1854268544, 1730451072, 1360689792, 1212817792, 1100802688, 1907894016, 1418160640, 1424427136, 1183399296, 1850683136, 1110677504, 1721612928, 1945343232, 1235225728, 1783077632, 1472284416, 1263148544, 1980296064, 1748053760, 1208265472, 1314014720, 1132429440, 1209350016, 1387122688, 1988748032, 1497229056, 1662209280, 1281208704, 2095004928, 1429290496, 1233571072, 1156820864, 2051502848, 1279829504, 1723289088, 1291827072, 1439911424, 1204210560, 2031501312, 1160504960, 2014528128, 1744601088, 2001858688, 1348474368, 1600611968, 1273640192, 1132622336, 1455663232, 1510401152, 2077333120, 1226234112, 1112798976, 1588093312, 1433458176, 2052441984, 1166197248, 1647620352, 1966104320, 1114480640, 1807997184, 1861451776, 1318759680, 1130815744, 1135101056, 1374867840, 1760871040, 1679135232, 1092819328, 1398932736, 1485040896, 1993486464, 1497889280, 1771503232, 1930490496, 1339244928, 1116890112, 1336027136, 2087029632, 1315868032, 1107956224, 1927250304, 1587799040, 1343142016, 1577890432, 1176845696, 1742021376, 1343202304, 1742019968, 1193186176, 1895973888, 1109874304, 1194333696, 1399041664, 1843332352, 1554068480, 1651418240, 1720692480}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-2749, -3369, -5145, -6610, 28198, 36253, 6483, 6500, 217, 55269, 6530, 30038, -6754, 15821, -26162, 9632, 16619, -9214, -9942, 103053, 5535, -2715, -1722, -5119, 50149, 28841, 20391, -1888, 3955, -1677, -11750, -4754, 144461, 10658, 26769, -9713, -970, 23095, 23737, -1651, 69004, -5143, 189763, 5769, 7253, -20495, 129945, 157231, -10066, 16681, -3912, -2738, 18888, -5221, 99522, 162, 41789, 25783, -20307, 39725, -1952, 19451, -10240, -1736, 86269, 39792, -19525, -7994, -1194, -2732, -31, -1658, -6211, -10764, 32930, 15020, 211301, 29374, 10922, -5273, -6816, 7019, 7948, -8575, -1260, 34846, -32697, -37908, 23738, 47390, -7332, 73655, -15747, 6071, 18078, -12074, 20658, -6869, -36524, 9470, 5939, 2813, -2001, 14595, -204, 123115, 2345, 65597, 25201, -18171, -21796, -13493, 116059, -8349, 2265, 105184, 30502, 11447, 22267, -1547, -822, 54902, 18568, 29562, -4652, 6328, 27550, 9665, -1710, 8719, 12103, 64547, -10044, 35598, 13888, 666, 3245, 39043, -13695, -22, 58698, 14714, 42849, 29761, -3843, 14957, 16841, -15744, 60989, -12652, 97800, 114370, 2003, -456, 5893, 11142, -5917, 51639, 16561, 60622, 8982, 7471, 64812, 155261, 57961, 10183, 33982, 27671, 29597, 9538, -12074, 78813, -9641, 3067, -17105, 25381, 6006, 21238, -2555, 138793, 14786, -1736, 4858, 13067, 23109, -28470, -2856, 10441, 29180, -3940, 28686, -942, 92066, -17883, 3296, 55663, -831, 42418, -2148, -14029, 3328, -3308, -15795, -215, -2717, 12608, -10413, -462, -12681, -7923, 96571, -7442, 93886, -1732, 86574, -7885, 29663, 20592, 81484, -18297, 74300, 30068, -32, 36150, -16402, -2307, -11158, -15453, 35002, -18857, -3716, -2099, -414, -4345, -5172, -7252, -6267, 51714, 83162, -6159, 3162, 11281, 17830, -6750, 1556, -13095, 58344, 7809, 6649, -17603, 19447, -6155, -1621, -18758, -1585, -24759, 66216, -8772, 49325, 14466, -8115, -7795, -4049, 132707, -6799, -15276, -15447, 14735, 38505, 12320, -18844, -5395, 13633, 135559, 1352, -2566, -7247, 14913, -10256, 17729, 14446, -6827, -9052, -4584, 3257, 27643, -20711, -8793, 31222, 20292, 45625, 29521, 57854, 61688, -3729, 17899, 33877, -1505, -16312, -47891, -15674, 10, 12340, -6421, 15403, 4847, -5661, -4869, 26309, -11250, -5781, -4878, -16204, 4840, 36001, -58568, -517, 53792, -9721, 46556, 25717, -6110, -51754, 8391, -34834, 5573, 6993, -23679, 8813, -7796, -103, 30733, -817, -6505, -12453, 61256, 68972, -1929, 66799, 93520, -16883, 39814, 7716, 27872, 5701, -4849, -1486, -6476, 17412, -7949, 1208, -42937, 2482, 24102, 9821, -23711, -17327, 26482, -1663, 242214, -4015, -9285, -6443, -654, -2489, 77503, -8829, 20671, -6414, -2422, 51840, 144191, 63200, 65011, -10470, 80695, -6016, -3786, -6458, -464, 31, 26055, 6973, 50819} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-46, -110, 4, 0, -113, -309, -35, -142, -113, -408, -36, -306, -28, -73, -9, -117, -137, 6, -121, -511, -52, -8, -85, -150, -253, -245, -148, -106, -34, -48, 5, -14, -834, -104, -112, 5, -25, -244, -104, -133, -364, -9, -589, -174, -163, -15, -469, -538, -51, -62, -139, 27, -235, -36, -454, -145, -193, -200, 17, -230, -10, -84, 3, -12, -567, -168, -20, -10, 62, -151, -71, -71, -11, 20, -210, -163, -652, -252, -95, -74, -27, -78, -107, -41, -128, -163, 29, 20, -216, -299, -58, -286, -26, -34, -150, 5, -222, 11, 30, -54, -40, -19, -114, -107, -33, -333, -135, -352, -116, -9, -31, -98, -434, -1, -25, -463, -196, -181, -162, -88, -53, -272, -119, -201, -23, -75, -201, -61, -29, -156, -58, -297, -65, -256, -107, -151, -28, -254, 12, -150, -479, -168, -233, -247, 9, -151, -242, 15, -331, 39, -391, -531, -50, -35, -37, -101, 10, -241, -125, -418, -109, -101, -399, -567, -172, -91, -222, -122, -147, -37, 8, -252, -36, -124, -55, -266, -35, -106, -26, -606, -175, -41, -45, -104, -256, 35, -54, -71, -129, -49, -150, -64, -498, -25, -93, -262, -126, -535, -168, -92, -69, -151, -5, -7, -72, -138, 4, 216, -74, -4, -354, -69, -424, -34, -396, 9, -223, -247, -453, -25, -233, -122, -68, -251, 55, -60, 28, 46, -176, 12, -147, -15, -20, -47, -115, 3, 14, -336, -294, -47, -167, -46, -104, 1, -69, 7, -361, -44, -54, -82, -92, -13, -55, -62, 18, -26, -261, -68, -301, -144, 4, -66, -37, -383, -20, -8, -24, -81, -180, -175, 6, 3, -116, -546, -92, -188, 52, -83, 22, -250, -161, 10, -9, -78, -103, -272, 97, -10, -335, -85, -264, -147, -291, -417, 2, -223, -222, -34, 37, 7, -13, -129, -140, -12, -123, -153, -4, -48, -115, -14, -8, -77, 33, -51, -181, 2, -31, -296, -37, -263, -94, -81, 48, -103, 184, -85, -32, 17, -39, 15, -1, -108, -136, -17, -50, -590, -476, -128, -540, -315, -53, -353, -118, -186, -110, -19, -88, -15, -175, -48, -31, 58, -17, -202, -153, -13, 15, -193, -53, -658, -9, -40, -13, -15, -63, -441, -30, -150, -23, 58, -255, -615, -264, -233, 2, -342, -68, -15, -128, -133, -116, -250, -77, -293}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1368763392, 1524972928, 1571164800, 1927697536, 1999740544, 1809703296, 1209628288, 1584530432, 1278417408, 2084931584, 1713490176, 1159426688, 1812461440, 1120464384, 1830350464, 1454934912, 1933315712, 1637032448, 2091694720, 1255037440, 1635910528, 1858607872, 1090047488, 2146493952, 1122545664, 1954616960, 1313063424, 2111357440, 1280256256, 1840407680, 1975184000, 1386007040, 1536370304, 1300046336, 1752159488, 1625420672, 2131339008, 1683525248, 2083432320, 1983842048, 1628965760, 1151192320, 1533416960, 1518637184, 1225843584, 1310931584, 1769990656, 2131178624, 1188012416, 1936125952, 1149536128, 1923539456, 1157818624, 1734272768, 2104971264, 1483887616, 1311356928, 1235405440, 1241554048, 1690705536, 2114155776, 1311639808, 1962090752, 2025333504, 1424700032, 1336375936, 1519111936, 1175014784, 1621227776, 1545773056, 1243781504, 1933335808, 1411361280, 1839456384, 1155540352, 1567055616, 1503242624, 1544592768, 1417634688, 1922333824, 2128652544, 1629553536, 1620114304, 1111220224, 1286621440, 1735374720, 1203662208, 1586843008, 1991470592, 1847825792, 1325093120, 1115918208, 1832549632, 2001369984, 1759226112, 1641789952, 1734861952, 1182826624, 1690272000, 1232018688, 1268896512, 1130067200, 1362647808, 1091820672, 1319363968, 1562966528, 1184935296, 1987966976, 1993996288, 1153217152, 1141548416, 1934804480, 1111182464, 2093789824, 1243753856, 1467197824, 1146241664, 1508067456, 1207969280, 1123428096, 1413063808, 2109209216, 1549107328, 1098849024, 1185270400, 1424519936, 1482548224, 1675314048, 1237260800, 1099980800, 1312050048, 1724385536, 1908483584, 1207852032, 1804420352, 1173598720, 1186439680, 1301738368, 1102250752, 1709311232, 2132688896, 1731665408, 1122559872, 1577725568, 1542727168, 1724004736, 1410875520, 1543789184, 1237910272, 1837444224, 1430346624, 1997534592, 1343989376, 1714692736, 1931797632, 1463591808, 1658498944, 1758845568, 1553319168, 1535807616, 1753979136, 1895710208, 1797035264, 1573546496, 1513178368, 1788433024, 1392746112, 1630297728, 1169336832, 1683213312, 1872923520, 1898241792, 1204229248, 1561806208, 1328774272, 1350492800, 1899374720, 1250502784, 1971604480, 1642065664, 1522133376, 1633158912, 1201133568, 1098484224, 1678689920, 1358565760, 1907932288, 1890941312, 1385202944, 1636694528, 1180126848, 1473915008, 1126157056, 1905593216, 1201857024, 1232324352, 1743162880, 1075381248, 1696075776, 1291858176, 1919534336, 1343755520, 1919186944, 1974450304, 1873037952, 1528608640, 1717580928, 1362210432, 1813383552, 1314153216, 1158400000, 2141801472, 1766112640, 1157093632, 1521055872, 1705490688, 1150226048, 2130497920, 1439674240, 1942646528, 1368992512, 1410066944, 1972126720, 1816137728, 1666871040, 1453822592, 1533106304, 1857668992, 1612247808, 1591083904, 1314820480, 1865254016, 1240788736, 1918473984, 1283713408, 2020280064, 1518852480, 1489009536, 2076247936, 1112572800, 1701281920, 1568478720, 1573740800, 1945728000, 1364752640, 1947568384, 1221883136, 1526754432, 1688617472, 1793997824, 1667725184, 1093285632, 1828287232, 1338936320, 2014723456, 1174021632, 1696696320, 1240208896, 1229081728, 1616337280, 1322593024, 1736264576, 1154805120, 1132958592, 1674027008, 2120182912, 2072801920, 2075148032, 1170190720, 1565137536, 1821321472, 1488094464, 1810318592, 1760327296, 1388576768, 2034480384, 1873239552, 1172719616, 1799920896, 1387528064, 1304205440, 1610826496, 1813988352, 2019381632, 1197161216, 1438717568, 2072215168, 2054309888, 1611132416, 1521485056, 1336260352, 1357004928, 1187560704, 1947204096, 2040217472, 1805489536, 1641527040, 1159507200, 1742210816, 1212351104, 1965187712, 1392827520, 1594911360, 1770979072, 1214803328, 1260728832, 1605414784, 1087070464, 1774567552, 1161317888, 2081562368, 1122478208, 1822655104, 1098829696, 1382045440, 1205551360, 1996051712, 1102690432, 1291010560, 1379766656, 1648444288, 1284796160, 1732678912, 1973469056, 1705494144, 1901589888, 1176693760, 1353376640, 1174404992, 2051676160, 1347403520, 1392987776, 1212980224, 1888582400, 1179676672, 1965269760, 1568415232, 1485373440, 1478832896, 2073278848, 1134456064, 1654704256, 1282691328, 1560033280, 1121971840, 2121845888, 1193038592, 1404925056, 1309780480, 1180023808, 1113294720, 1938683136, 1202298752, 1561435008, 1169334400, 1547936896, 1161859200, 2119875200, 2057465728, 1549841152, 1956435456, 1087888000, 1941775104, 1814071552, 1109217024, 1339489024, 1246079104, 1207891328, 1225501696, 1157888512, 1759475072, 2023745024, 1710862592, 2108473088, 1116241920, 1814445440, 1868402944, 1870510336, 1545447680, 1965700736, 1716767744, 1317833344, 1996897536, 1890429440}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {39687, -17432, -25134, 10119, 5111, 7343, 15528, 58246, -14613, -9205, -31840, -17895, 46764, -5952, -50542, -39940, 40262, -7961, 3228, 34504, 38121, -28584, 12508, -18662, 10347, -562, -2503, -5010, 5055, 23894, 39313, 27412, 3582, 22296, 4981, 19884, 24440, -15847, 18210, 4582, 2811, -14589, -25955, -17931, -16105, -27797, -14912, 101573, -13408, -24521, 1708, 10768, 39373, -34764, -10219, 9646, 18160, -4344, 11168, 6034, 39229, -22933, 22622, -5158, 3901, -57382, -5377, 14322, 36729, 9574, 6088, 22277, -6575, -5038, 24840, 42965, 22856, 45986, 12396, 21989, -14987, 7820, -68524, 3214, -4213, -16468, -5026, -15078, -13205, 5235, -28281, 25286, -5124, 16209, -10044, -24571, -37947, -7008, 11192, 2899, 36596, -15576, 39874, 759, 10084, -7090, -2551, -9630, -37998, 59074, 6760, -25660, -12070, 33452, -7249, -15131, 19034, -9794, 28436, -2828, 12691, -71900, -13852, 43534, 5582, -54874, -16953, -5287, -27558, 33142, 6161, -14992, -4867, -19325, 11733, 17123, 29603, 19894, -34716, 21198, -26113, -2758, 83441, 67372, -23913, -9713, 10251, -15786, -30607, -18897, -36642, 35757, 3206, -19416, 20007, 36139, -9864, -34867, -7881, 38055, 20984, 29867, -11202, 67385, 8033, 1198, 510, 63199, -52454, -33487, 15703, 16868, -12869, -24815, -9327, 15070, -42889, 20038, -2185, 45424, 51384, 10382, 30219, -23650, 14806, 42495, 18787, 4675, -4187, -42611, -19265, -12788, -15801, 32442, 7829, 43408, 13560, -2516, 2832, 1968, 35505, -11742, 759, -16217, -20328, -2942, -12663, -25800, 6995, -34837, 12080, -4702, -20215, -29838, -9615, 28890, -12861, 34663, 27888, -12868, 16159, 13350, -30459, -19568, 5501, -2099, -43768, -17894, -3518, 11975, -5354, 26366, 80212, 28016, 14617, 20525, -24127, -3496, 13847, 3828, -327, -11869, 120636, 4591, 50885, 27949, 8478, -26042, 3571, -5515, -5311, 19154, -13092, -17432, -8375, -29602, 60684, 1618, 12408, 28097, -18903, 10221, -11965, -4396, 6075, -41702, 20833, 5948, 16575, 6185, -47521, -40997, 81345, -48979, 11676, -18714, 28540, -9426, -30585, -27196, -12187, -19197, 20595, 12195, 2810, -262, 18841, -34984, -3167, -14442, 25576, -22769, -5839, -31130, 7451, 19791, 12695, -15282, 50939, -46356, -17538, 41561, 11092, -5471, -23859, 26074, 32260, -26059, -22306, -9463, -43460, -9436, -18274, -63396, 25766, 25475, -25428, -2466, 5599, -67286, -2450, -4439, 29881, -24414, -22117, 35763, -21298, -9910, 27602, 33884, -16866, 51153, -20627, 222, 12137, -5676, -9486, -5430, -14237, 19370, 66824, 19710, -10031, 18913, -16144, 68641, 13362, -1018, -27656, 8664, -40254, -24056, -2251, 1187, -25592, 45250, -9577, -7430, -9532, 24540, -6976, -13568, 35198, -10464, -69779, -40451, -63961, 4140, -44604, 11649, 35654, -17949, -10793, 43307, 20764, 30445, -610, 3115, 13915, -64535, -6925, -56611, 1894, -5172} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-131, -125, -131, -98, -140, -153, -118, -162, -156, -114, -142, -116, -139, -79, -95, -123, -114, -126, -150, -111, -142, -134, -141, -112, -138, -131, -123, -179, -105, -166, -142, -131, -115, -110, -143, -141, -131, -111, -128, -124, -126, -144, -125, -127, -140, -138, -108, -124, -98, -131, -157, -100, -175, -88, -111, -108, -110, -149, -122, -131, -136, -140, -118, -181, -116, -138, -111, -117, -137, -111, -144, -141, -121, -157, -121, -122, -142, -119, -135, -143, -101, -108, -112, -127, -123, -137, -149, -111, -148, -117, -122, -99, -147, -124, -111, -168, -141, -129, -145, -92, -126, -126, -129, -125, -112, -130, -149, -137, -83, -111, -109, -120, -117, -108, -92, -85, -97, -124, -147, -109, -112, -133, -128, -129, -162, -124, -127, -113, -113, -199, -124, -100, -122, -150, -98, -129, -76, -141, -116, -112, -101, -86, -136, -134, -123, -110, -150, -103, -169, -92, -159, -91, -116, -142, -130, -110, -117, -136, -108, -149, -94, -133, -113, -128, -71, -121, -95, -136, -113, -128, -108, -117, -107, -146, -135, -82, -125, -123, -149, -99, -97, -106, -135, -125, -131, -133, -111, -99, -113, -137, -110, -137, -146, -118, -136, -110, -164, -134, -107, -97, -136, -125, -99, -121, -122, -121, -114, -123, -114, -115, -143, -97, -130, -159, -125, -123, -149, -114, -117, -72, -134, -78, -120, -143, -131, -110, -118, -117, -123, -124, -141, -112, -128, -107, -112, -116, -116, -136, -154, -125, -151, -114, -148, -116, -141, -133, -154, -125, -90, -99, -119, -127, -66, -70, -104, -93, -116, -171, -150, -126, -145, -130, -188, -120, -143, -112, -119, -133, -134, -137, -137, -99, -121, -118, -136, -96, -119, -139, -96, -121, -149, -119, -105, -149, -136, -139, -135, -184, -111, -148, -147, -123, -139, -109, -150, -92, -162, -133, -120, -142, -115, -153, -153, -115, -117, -79, -91, -111, -106, -138, -129, -127, -128, -145, -139, -113, -119, -141, -139, -100, -66, -115, -133, -132, -118, -136, -109, -78, -125, -95, -127, -141, -137, -85, -105, -203, -121, -128, -145, -104, -123, -116, -113, -110, -132, -118, -100, -125, -113, -123, -147, -133, -105, -114, -135, -116, -116, -143, -142, -153, -111, -130, -118, -130, -156, -112, -143, -106, -106, -130, -109, -151, -123, -137, -110, -127, -89, -157, -133, -90, -127, -132, -110, -75}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1447842944, 1437971968, 1370698368, 1873844992, 1379526272, 1434461696, 1103657728, 1574007552, 1488654464, 1222412800, 1753027072, 1284514560, 1382474880, 1928534784, 1278770560, 1175213440, 2112347264, 1161318912, 1919799040, 1929240064, 1615712384, 1316103552, 1918494720, 1455808640, 1571011840, 1468242304, 1375384960, 1413520256, 1431890816, 1845683712, 2084181248, 1343887232, 1992675840, 1868785536, 1144705024, 1623905408, 1210662400, 1174814976, 1944366336, 1830661248, 1113308544, 1382009088, 1364399232, 1172528512, 1290548992, 1448098944, 1244710272, 1582870656, 1754235008, 1824106240, 1754163584, 1818280960, 1909514112, 1828844544, 1194408832, 1225346176, 1543657728, 1881275392, 1200659584, 1585863808, 1196637696, 1419747584, 1620403968, 1736436480, 1558766464, 1966741760, 1384939776, 1360211328, 1712451712, 1493343872, 1925902720, 1192562944, 1161837696, 1309243136, 1244706688, 1332282496, 1351062272, 1477883136, 1657735168, 1382253952, 1300315136, 1518341376, 1227824256, 1117494784, 2136351616, 1727425280, 1381792384, 1668062976, 1159053184, 1384881408, 1222987648, 2079650432, 1893150976, 1369363328, 2008843904, 1175466240, 2088488960, 1313372928, 1450492672, 1151443328, 1673565696, 1140380800, 1820336768, 1196772736, 1560894592, 1084379776, 1235702016, 2092959872, 1445278720, 1311405056, 1473654016, 2122942080, 1491289344, 1174152320, 1372439552, 1928176128, 1515435776, 2118347520, 1833962624, 1363771008, 1188230272, 1096132352, 1320276480, 1914506112, 1900218496, 1264813056, 1593464192, 2049656192, 1130164480, 1089977344, 1918312704, 1909566464, 1538202752, 1260276352, 1295536128, 1655003904, 1389542528, 1242336896, 1211197312, 1442667776, 1522014080, 1321818752, 1875877504, 1646558464, 1438335104, 1851564928, 1262067072, 1736330624, 1695052032, 1696613888, 1429216768, 2002430720, 1084201344, 1253709952, 1479273600, 1169662848, 2065694464, 1389443712, 1362709760, 1198727424, 1897383936, 1609737088, 1919661184, 1082840704, 1272308864, 1629861376, 1724405120, 1432793728, 1402891904, 1256055168, 2005878144, 1551269504, 1101391488, 1166735872, 1825075968, 1957897472, 1230644992, 1275463296, 1764106880, 1326589824, 1253322624, 1520466944, 1675482624, 1778226560, 1178989568, 1351808128, 1099846656, 1329392000, 1299844992, 1330906368, 1117970944, 1127557760, 1633481088, 1324857216, 1256186624, 1295872000, 1520404352, 1107957888, 1261830400, 1487827328, 1295236224, 1352199168, 1588384896, 1821972736, 1876299520, 2029193984, 1107658240, 1220623744, 1259752832, 1646478848, 1207632640, 1325199232, 1472862848, 1873532800, 1948167808, 1368840576, 1662542848, 1253908224, 1168449408, 1132206592, 1294448896, 1421859968, 1648032384, 1371665408, 1340654976, 1464450560, 1208167552, 1824059136, 1446985088, 2003163520, 2021251200, 1426150528, 1460468352, 1536084096, 1542341504, 1962622592, 1782692608, 2140510720, 1410425600, 1971649408, 1757640960, 1074421888, 1343604096, 1100478848, 1466319616, 1781420032, 1666534656, 1412320256, 1252349568, 1818134528, 2128726656, 1525623168, 1179182208, 1801160960, 1184235520, 1437597824, 1488784896, 1533791744, 1879209728, 1215841280, 1197686528, 1288307456, 1366682112, 1545595136, 1900107008, 1697193216, 1098046720, 1559266944, 2028023040, 1439261312, 1222721536, 1289428608, 1760849664, 1143172736, 1465204480, 1489915392, 1216787968, 1844130816, 1562255488, 1729244928, 2131653888, 1831697792, 2070830592, 1428251264, 1387583104, 1237744640, 1191041280, 1788790784, 1709430912, 1788955904, 1239801088, 1531140608, 1148854784, 1308658432, 1349389952, 1150681216, 1503601280, 1082920576, 1621172224, 2011783680, 1603631104, 1474182912, 1161729024, 1480100480, 1665800064, 1632732288, 1125003136, 2094130432, 1345738240, 1171534464, 1692232320, 1395584384, 1189067136, 1322075008, 1279960320, 1485985152, 1640774656, 1143206528, 1743658752, 1970053888, 1594870272, 1148601600, 1238011904, 1440886528, 2060716160, 1590460288, 1142076800, 2041694592, 1457223680, 1958536448, 1912643072, 2109826560, 1528247040, 1760311680, 1442731520, 1234981120, 1471850624, 1077115648, 1399379456, 1495041536, 1165568512, 2107664640, 1773753984, 1161769984, 1481220608, 1734432512, 1765702656, 1518707456, 1224695936, 1793998336, 1839567104, 1428329728, 1243646592, 1338355456, 1110715904, 1544168704, 2117188480, 1559294976, 1329998208, 1171464832, 1376475008, 1140536064, 1192808832, 1157721600, 1386322560, 1212369920, 1242181504, 1621151872, 1374714752, 1252283008, 1093584896, 1866165632, 1460574976, 1251771904, 1659221120, 1996211840, 1506472960, 1467430784, 1308186496, 1153842304, 1526438784, 1198626432, 1127858176, 1869562496}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-23759, 204574, -10999, 124989, -2934, -6665, 73634, -38763, 8584, 12220, -8002, 63516, 58904, -144, -10659, -87, 81276, 8472, 57094, 43509, 45075, 53088, -26136, 4157, 7015, 8881, 12210, -8139, -7220, -45630, 51759, -14100, -6214, -7160, -2834, -6527, 41003, -5230, 37791, 16924, 25744, 25923, -6992, -8195, 13757, 47641, -12519, 15638, 64, -9744, 121, -5081, 27262, -6826, -2160, -6567, -14796, -42440, 84599, -1308, 80362, 9083, 7996, 72063, 52890, -950, 296113, 380, 9183, -10894, 314, 27739, 20977, 2907, 17320, 25651, 10850, 75300, -15098, 89083, 19946, -7476, -3414, -2761, -3269, 68012, 147320, 17676, -2441, -6189, -3464, 3749, -3428, 6295, 4001, -5519, -18184, -4370, 60129, 23649, 28072, -6504, 90958, -10989, 74888, -1304, 144566, -6142, -4598, 54582, -7046, -3073, -4173, 30457, 43592, 90409, 50794, -32340, 26277, 91080, 68937, -8478, 40258, 24849, 72692, -4763, 81542, -7745, 174662, 30394, 14215, 68387, -6275, 9734, 56959, 69308, 62227, 12474, -1484, 19283, -5, 162, 17864, 23409, 59592, 40834, 55435, 11615, -2126, -4927, -3075, -1827, -7342, -7813, 57862, -3078, 52192, -2301, -8592, 6088, 8, 30389, 18247, 39155, 96393, 23879, -5570, 29275, -74, -9085, 74396, 14507, 82252, -4621, 113262, 12707, -13466, 57635, 19486, 4153, 9495, -12691, 111407, -2741, 13730, 11973, 81408, -12093, -6325, 89782, 52773, -1604, -9816, 103450, 13611, 69289, -3087, -6874, 85476, 51532, 124024, -911, -1118, 79324, 17263, 5488, -11992, 105820, 18179, -27866, 7988, 173772, 5686, 132431, -225, 7674, 35315, -4521, 5998, 66359, 292599, 25043, 73, -27949, 115848, -1307, -21776, -11344, 167539, 42601, -8241, 8505, 13403, 2184, 41067, 13353, 25733, 34513, 31881, 1250, 55440, 41560, 19135, 5801, -2469, 66588, 106388, -63, 40807, 44782, 153276, 924, -1886, -2893, 12982, -1301, 24761, -7146, 3474, -9892, 74485, 76836, -8667, 26322, 27211, -4653, 18466, -30496, 12179, 212651, 29631, -1862, 13900, 67180, 64311, -9585, 13147, -9794, -16357, -13855, 54101, 106063, -1315, -15508, -3379, 130372, 222630, 53, 17087, -35219, 91247, 172199, 233726, -5203, 26435, -5072, 57735, -9489, 37381, 82030, -4457, -30424, 11997, 55087, -2115, 7180, 1081, 8586, -12747, 5333, -6058, -6893, -12704, -4530, 6487, 13055, -16474, 32530, -1933, -13868, 147119, 9342, 90994, 1165, -4555, 26128, -14553, -11897, 45271, 20207, -4045, 22110, 215568, -1816, 8112, -18967, 113370, 95698, -6949, 6248, 25980, -5270, -12033, 37404, 121630, -682, 25315, -19814, -8532, 1457, -30785, -8191, -11343, 35105, -11050, 3659, 36110, 188511, -3557, -1991, -8275, 3946, 68230, -11594, -4935, 74919, -13260, -11406, 59543, 28879, -13738, -1640, -19457, 60107, -4638, 16384, 25664, 17044, -15550, -248, -8212, -251, -1373, 21700} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-71, -585, 11, -467, -106, -99, -373, -36, -140, -148, -51, -278, -321, -24, -13, -18, -286, -135, -247, -273, -247, -226, -39, -36, -110, -19, -93, -61, -75, 61, -162, 22, -2, -94, -15, -119, -197, -2, -254, -125, -94, -162, -93, -98, -144, -251, -1, -63, -20, -23, -53, -23, -139, -25, -6, -6, -53, 34, -284, -28, -241, -31, -54, -282, -351, -10, -714, -49, -97, -1, -108, -251, -131, -102, -105, -183, -128, -325, -56, -666, -200, -14, -1, -114, -79, -346, -482, -103, -81, 3, -13, -82, -21, -121, -34, 5, -40, -140, -247, -149, -186, -99, -444, -57, -343, -102, -494, 8, 10, -299, -6, -7, -25, -269, -279, -423, -295, -2, -95, -484, -450, -82, -238, -168, -389, 14, -383, -14, -487, -201, -120, -393, -4, -83, -291, -379, -287, -40, -77, -72, -18, -166, -231, -242, -334, -308, -154, -45, -25, -5, -4, -93, -23, -38, -461, -50, -187, -11, -3, -42, -27, -158, -77, -191, -422, -197, -49, -166, -32, -15, -376, -120, -386, -14, -576, -197, 26, -250, -118, -100, -206, -77, -627, -6, -217, -131, -364, 8, -29, -329, -286, -20, -48, -357, -88, -292, -117, -3, -382, -310, -488, -108, -115, -388, -149, -21, -81, -348, -178, 60, -96, -521, -56, -491, -100, -98, -163, -109, -58, -418, -731, -228, -74, 19, -343, 24, 54, 136, -690, -248, 0, -71, -38, -24, -459, -205, -213, -136, -207, -112, -376, -317, -254, -34, -77, -428, -354, 212, -221, -300, -392, -62, -24, -33, -55, -77, -256, -28, -96, -70, -418, -205, 7, -147, -114, -27, -239, -6, -139, -780, -248, -69, -218, -174, -518, -22, -108, -2, 50, -96, -252, -672, -54, -61, -51, -539, -1158, -8, -194, -63, -302, -483, -542, -73, -248, -74, -329, -25, -172, -322, -12, -32, -158, -308, 43, -22, -45, -30, -45, -138, -28, -2, -11, 12, -29, -51, -37, -189, -124, 48, -807, -68, -275, -115, -45, -215, -9, 3, -291, -242, -92, -233, -662, -9, -22, -1, -554, -369, -15, -200, -155, -88, -4, -366, -586, -75, -184, 35, -51, -65, 27, -11, -56, -274, -21, -64, -233, -518, 0, -162, -99, -56, -343, 120, -63, -329, -4, -29, -299, -237, -26, -21, -23, -302, -179, -138, -272, -83, -20, 5, -1, 4, -126, -129}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {2047086976, 1451884416, 1143631744, 1851351040, 1601396352, 1307478528, 1697670400, 1206588032, 1730057216, 1193376640, 1541173632, 1696717440, 2064683136, 1944876800, 2102597632, 2109416064, 1967088512, 1544357120, 1944928896, 1786330880, 2070409856, 1128558848, 1937208064, 1172222080, 1721416320, 1080900096, 1316973184, 1439194112, 1596139904, 1116435968, 1872784896, 1333642368, 1337803776, 1179506048, 2090887552, 1275840512, 1227977472, 1087035264, 1321344512, 1361964288, 1249240448, 1800208256, 1129056256, 1917943168, 1217180288, 1489611136, 2076882304, 2057012992, 1180452736, 1829399936, 1136771200, 1228927488, 1247794688, 1138106880, 1959303808, 1083808000, 1812519552, 1537833344, 1196232576, 1732673408, 1342824832, 1115492352, 1643454336, 1581884544, 1182194304, 2087195264, 1360589056, 1323609472, 1316598272, 2061173888, 1699900032, 1284618752, 1914237312, 1725413248, 1265298432, 1153257216, 1192715136, 2071514752, 2069952384, 1082154368, 1538802048, 1804464000, 2052098048, 1507805824, 1569883264, 1881407616, 1913670912, 1679871616, 1817594240, 1747653120, 1722919680, 1837667072, 1143348992, 1395082112, 1215785472, 1425346048, 1099252864, 1847215872, 1973869824, 1532019712, 1196620672, 1813619968, 1401752448, 1518122240, 1625592832, 1173591808, 2004810752, 2083529344, 1621120384, 1302621696, 2005252992, 2049205120, 1197521280, 1130473216, 1701484672, 1246957312, 2060651136, 1115692928, 1594861824, 1198974592, 1339653376, 2008812288, 1477736576, 2012858112, 1264173568, 1494447488, 1640322560, 1666428928, 1394274048, 1932825472, 1193686656, 1895922176, 1930478080, 1912894336, 1099179904, 2044407680, 1977428096, 1706803584, 1421064064, 1611759744, 1107612544, 1286218880, 1245230976, 1211560960, 1356657024, 1136742912, 1967780480, 1245725824, 1173030656, 1129007616, 1298741760, 1446560128, 1708865152, 1378279552, 1765393152, 2038043776, 1405892992, 1971212416, 1206658432, 1161811072, 1757891712, 1918125696, 1411719552, 1363593472, 1456968448, 1202495360, 1364173440, 1903286272, 1948567424, 1416605696, 2104043648, 1967943424, 1191039744, 1094933120, 2069360000, 1835341568, 1077330432, 2037068160, 1640643328, 1892102400, 1234252544, 1390665344, 1784786944, 1988771712, 1247898752, 1160231808, 1323625344, 1721814784, 1242717056, 1578346880, 1200961280, 1158827520, 1637780352, 1859123584, 1125696512, 1823459200, 1589497216, 1634228096, 2070014464, 1169017088, 1959957248, 1334854016, 1959779712, 1446081280, 1148149888, 1219257728, 1367180544, 1118173184, 2054689152, 1101897088, 1192165632, 1139391360, 1171938688, 1762210176, 1933283200, 1730916864, 1616240896, 1682273408, 1751236736, 1473752064, 1203179904, 1740957568, 1411288448, 1908566016, 1491880064, 1723416320, 1919237376, 1646058112, 1184290176, 1479777280, 1088850944, 1402321920, 1953815168, 1862599168, 1298180224, 1851512576, 1765405440, 1346275584, 1940157824, 1575719424, 1786888832, 1906855680, 1487755392, 1420358912, 2096889088, 1158831872, 1377514624, 1811924096, 1502226560, 1129946240, 1328550784, 1575886464, 1327460352, 1331790080, 1526891648, 1108938624, 1652819712, 1666882432, 1729986560, 1086488448, 1468738688, 1281396224, 1847385600, 1830514816, 1626610176, 1329489920, 1226247680, 2144807680, 1110086272, 1968871680, 1168105216, 1289295232, 1534722432, 1156932096, 1899998592, 1216231424, 1417287424, 1279129600, 1516087424, 1609930368, 1504537216, 1821616768, 1487244928, 2062833152, 1289207680, 1537546624, 1288922496, 2043381888, 1595277824, 1087256064, 2058200832, 2062461568, 1421262720, 1159108352, 1434003456, 1256175616, 1801563520, 1887010432, 2065274880, 1652605568, 2074612608, 1951356544, 1401024128, 1081490816, 1740355072, 1362959744, 1200916224, 1127841408, 1163319936, 2061779968, 1262755712, 1200975360, 1528520064, 1493832832, 1857814656, 1273429888, 1086623616, 1630465536, 1335652864, 1277341440, 1182863616, 1322446848, 1636291712, 1144476160, 2002169216, 1375598336, 2134252288, 1295622400, 1158452224, 2055684736, 1210905472, 1850975744, 1383843456, 2008876416, 1222196608, 2130514432, 1667232512, 1540685696, 1322037760, 1418847488, 1691674112, 1297964416, 1510935424, 1894520704, 1599144960, 1604319104, 1273736832, 1851789440, 1948797952, 1325926144, 1139596160, 1112510336, 1382593664, 1763896192, 1637748608, 1099308544, 1753149056, 2070407808, 1924829824, 1829867136, 1618258304, 2012056064, 1830463616, 1159496064, 1856062208, 1261417600, 1094589568, 1772920320, 1878528640, 2056873344, 1623374336, 1120509312, 1944517888, 1243492992, 1453654912, 1578996864, 1686215552, 1588973312, 1472877824, 1314212480, 1731938688, 1231679104, 1903544192, 1158903552}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {9512, -3695, -9154, 2323, 37361, -9700, -33192, -3413, 16669, 16804, -8354, 19187, 23222, -15221, 16224, 41261, -945, -39847, -14724, 9035, 2583, -9694, 1241, -32271, 834, -15907, -36391, -17212, 3662, 44646, 16218, 44890, -69821, 3351, -5397, 5911, -31091, -15663, -17241, -77, 61048, -4834, -14483, -11992, 11215, 2050, -29303, -44982, 12905, 8984, 10773, 640, -2278, -7282, -22594, -11993, -15096, -9178, -17660, -16329, -51490, 55392, -23727, -7637, 56963, -44548, -30541, -8350, -20916, 9082, 9960, -13275, -12618, -14722, -12935, -61157, -20206, -32755, -20738, 11055, -19187, 7008, -10461, -7930, -4826, -21413, -36183, -13061, 1290, -5699, 10085, 10538, 10082, -34054, 27037, -46781, 16890, 11148, 3100, 21934, -47135, 13389, 66070, -31734, -16103, -6727, -20079, 4516, -14560, 28003, 1564, -21286, -33900, -32322, -16931, 27501, 6034, -7066, -29114, -23286, 15647, -423, -3222, 5994, -11715, -4795, -17057, -19357, -27783, 7517, 12965, -43891, -10034, 55899, -36982, -14470, 19361, 10840, 9182, -27318, -16518, -28462, 8731, -56360, -39617, 40680, -31259, -30136, 6439, -30461, -28011, 7642, 27367, 13429, -19011, -832, 1164, -14705, 14416, -19500, -10024, -11344, -14920, 7299, -12286, -15950, 4687, 13844, -49533, 37690, -12798, -20842, 13353, -27215, -24401, 17139, 10032, -8396, 5182, -56030, 9487, -100705, -41775, -15837, 21198, 3632, 554, 1872, -8372, -7602, -22539, -72, -31050, 4460, -11645, 3166, -44820, -15807, 17591, -39230, -11428, -28409, -25485, -14623, -20558, -58927, -93, -28352, -7152, 29975, -31197, 36538, -849, -53078, -20051, -18150, 41813, -17009, -40717, 17136, 5893, 13847, -7799, -44675, -2727, -22734, -30713, -2212, -15995, 40582, -18616, 31717, 12656, 53956, -16697, 20932, -45505, -15522, 30492, 25593, 53225, -15518, -3404, 42164, -37933, -47252, 7389, -21201, 18074, 4536, 22865, -2898, -6761, -3543, -16470, -28005, -1720, 14052, 11702, 36072, -3451, -10571, -32518, -53420, -8773, 21838, -33069, -385, -35887, -13270, -21540, -22156, -54845, -5624, -10265, 6504, 4662, -11332, -56449, 4921, 45061, -5999, -25111, -19092, -2329, -4277, -6570, 57358, -9965, -50672, -21800, 11921, -11222, -22881, -3346, 34605, -25936, -58737, 11365, -3737, -17586, 167, -12760, -54138, 17850, -39916, 64306, -31200, -21274, 8101, 26021, -41344, -21794, -9477, -30858, -3916, 38777, 20136, 1554, -45289, 38121, -2647, 3428, -10216, -13736, 28533, -8824, -32263, -24337, -13492, -9298, 117, 652, -25, 37514, -59757, -39222, -24368, -44723, -3175, 9735, -27160, -50238, -20132, -36594, 5763, -43329, -8082, -23787, 37245, -1585, -5605, -47681, 25668, 36396, -7402, 11230, 3658, -3093, 6426, 11477, -33568, -25836, -68064, 31218, 13566, 20451, -27450, -10528, -12617, -8181, -42707, -44581, -22558, -22178, 5139, -894, -48734, 10977, 19317, 73412, -37242, 2936, -2831} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-145, -132, -99, -117, -105, -112, -136, -135, -128, -125, -137, -121, -152, -92, -117, -126, -114, -115, -145, -157, -130, -106, -141, -147, -123, -127, -119, -156, -136, -103, -136, -123, -96, -139, -77, -102, -145, -99, -109, -127, -117, -141, -136, -127, -150, -118, -125, -151, -139, -121, -139, -164, -125, -105, -139, -96, -139, -129, -139, -96, -139, -124, -141, -112, -149, -109, -149, -131, -117, -111, -134, -136, -114, -112, -144, -120, -147, -125, -113, -123, -92, -126, -137, -122, -113, -86, -131, -152, -118, -110, -119, -143, -97, -121, -112, -93, -120, -146, -114, -109, -128, -137, -125, -126, -111, -127, -102, -168, -143, -125, -132, -120, -140, -127, -113, -120, -138, -118, -151, -124, -97, -160, -141, -108, -122, -139, -138, -110, -140, -128, -139, -124, -111, -124, -122, -107, -98, -135, -123, -113, -105, -141, -115, -123, -123, -106, -109, -100, -106, -135, -138, -132, -121, -130, -96, -143, -148, -134, -119, -130, -115, -125, -159, -67, -114, -110, -120, -119, -129, -159, -91, -120, -105, -146, -131, -142, -69, -97, -138, -139, -133, -128, -96, -173, -124, -112, -137, -114, -142, -134, -111, -90, -146, -134, -110, -108, -99, -103, -144, -99, -110, -126, -163, -137, -114, -144, -92, -139, -108, -173, -158, -112, -140, -125, -107, -122, -135, -126, -116, -105, -129, -130, -123, -136, -122, -125, -112, -116, -80, -127, -113, -142, -120, -81, -73, -143, -125, -117, -164, -111, -128, -104, -129, -91, -130, -125, -145, -130, -137, -123, -75, -116, -120, -138, -134, -97, -133, -110, -144, -162, -107, -110, -94, -145, -58, -165, -117, -133, -125, -91, -127, -121, -139, -162, -118, -132, -133, -101, -117, -102, -116, -101, -129, -136, -139, -126, -125, -165, -123, -129, -128, -158, -138, -117, -126, -108, -118, -131, -66, -115, -115, -137, -113, -114, -122, -129, -110, -130, -121, -160, -106, -123, -140, -113, -102, -124, -94, -126, -116, -113, -150, -98, -122, -99, -146, -112, -148, -100, -105, -117, -109, -136, -143, -97, -90, -132, -115, -128, -130, -76, -110, -135, -131, -100, -114, -119, -132, -130, -100, -116, -126, -127, -117, -89, -153, -111, -117, -140, -132, -111, -132, -123, -133, -122, -94, -122, -161, -180, -147, -108, -165, -166, -128, -126, -78, -68, -107, -123, -134, -117, -136, -102, -77, -134}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1444620032, 1310893952, 1389761536, 1086439040, 1316780032, 1251977856, 1598880896, 1667949824, 1572040320, 1883720320, 1326404992, 1277273216, 1179966592, 1200982912, 1298215680, 1194056960, 1835763968, 2145602944, 1777276672, 1387012992, 1624957056, 1714178304, 2113123584, 1605967872, 1278102144, 1222884864, 1300272512, 1152495616, 1477728256, 1531660032, 1632315648, 1636737152, 1607974912, 1102868224, 2096575872, 1196307584, 1479451136, 1385445376, 1165135104, 1191143936, 1184076160, 1570406016, 2005956352, 1422334336, 1408909952, 1176196736, 1167646848, 1939942912, 1190997248, 2010942976, 1903848832, 1920744320, 1183271808, 1169491712, 2111131392, 1081936000, 1300268672, 1154387200, 1421986432, 1518267520, 1156703488, 2092363520, 1127805696, 1606558080, 1702701824, 1211298048, 1264783232, 1505687296, 1233724288, 1250033024, 1329080832, 1421092480, 1737955456, 1842937984, 1404819968, 1276651392, 1360649984, 1192010880, 1368476672, 1306939648, 1250180352, 1175199232, 2090957440, 1174303232, 1549874176, 1253283328, 1229986560, 1189891328, 1803382912, 1321647104, 1227637504, 1359645184, 1505879424, 1324454912, 1530745344, 2024566016, 1873315072, 1279687424, 1593870848, 1323333888, 1125406080, 1590896640, 1598064768, 1310507648, 1200767232, 2006985216, 1450037504, 1937412864, 1810521728, 1553618304, 1864149376, 1117468928, 1250161408, 1117699968, 1096890496, 1174086656, 1873352064, 1463060864, 1791132928, 1230245248, 1149920128, 1845461632, 1507559936, 1505408128, 1428075136, 1254281216, 1282171264, 1648117376, 1514158720, 1119444096, 1169494272, 1160178176, 2120220544, 1306859008, 1199601792, 1927395328, 1896740224, 1211181952, 1489404416, 1688324352, 2045283840, 1360101120, 1177969664, 1161848064, 1130171520, 1966820608, 1284448896, 1292456832, 1093909120, 1623451264, 1322178816, 2040563584, 2032796544, 1806099200, 1606429824, 1383232384, 1911764224, 1341674240, 1577043712, 1202012928, 1332422912, 1226135936, 1592441856, 1676106624, 1135885056, 1631983488, 1236833408, 1938591744, 1165438080, 1117723008, 1866465280, 1377955328, 2008903296, 1084818432, 1271684736, 1114649856, 1612343424, 1808897024, 1640039808, 2132703360, 1918627968, 1855182080, 1844139776, 1391630848, 1615743360, 1807868416, 1187987200, 1236287744, 2052367744, 1397006208, 1102461696, 2038283392, 1382553472, 1318254848, 2115555456, 1307315712, 1297907584, 1435163392, 2020665344, 1124373376, 1111994752, 2088082688, 1743393152, 2092892288, 1328293248, 1436134912, 1247081728, 1562544768, 1640767616, 1202328960, 2014978944, 1313026688, 1546477696, 1761901312, 1415488512, 1430619136, 1176058240, 1438024576, 1232420992, 1705703424, 1570037760, 1135278592, 1789387392, 2084347776, 1765855360, 1158438912, 2133289216, 1673147520, 1083071872, 1103921024, 1473201280, 2064836992, 1546447488, 1260145408, 1120718464, 1678765696, 1176133760, 1300773248, 1492407552, 1225883008, 1774637696, 1622962048, 1119611648, 1446869632, 2085489536, 1176808064, 1803627136, 1113918848, 1674942848, 2017374464, 1263741312, 1292855296, 1288519808, 1517008384, 1109194496, 1766535680, 1144834176, 1438916736, 1743476992, 1936563968, 1123851136, 2134288640, 1971668224, 1112254592, 1564241280, 1249284480, 1081478656, 1089465344, 1277636224, 1671975296, 1322319872, 1403010176, 1096109824, 1712886272, 1373304832, 1860759424, 1533671552, 1702062464, 1101026816, 1273616512, 1192682752, 1694327168, 1405396480, 1155436928, 1528409088, 1432065920, 2115329152, 1355035392, 1106583936, 1280377216, 1126989952, 1249864832, 1369183232, 1834773632, 1922415488, 1383592832, 2146886656, 1248610816, 2064457856, 2092335488, 1616282624, 1621102848, 1258953216, 1276746240, 1907546880, 2098048640, 1542487168, 1316679296, 1368020864, 1298825344, 2110291328, 1408457472, 1505342336, 1874127744, 1340774656, 1734274560, 1939569152, 1372634880, 1198430592, 1229971584, 1102156672, 1425091840, 1166971264, 1732443136, 1932875520, 1995551616, 1266719488, 1872621184, 1315775360, 1356240768, 1307055232, 1494194944, 1389861504, 1678947840, 1339040768, 1419154560, 1488567424, 1283994880, 1594761600, 1789184128, 1705846784, 1776678784, 1450235648, 2117216000, 2061258880, 1335814016, 1142948864, 1166120704, 1260333440, 1409379328, 1192153088, 1601539712, 1708770432, 1368113792, 1217254912, 1387068928, 1389848320, 2143828096, 1767040000, 1610625024, 1481609728, 1403420800, 1393708160, 1272993664, 1419658880, 1641142656, 1856891520, 2073345792, 1439758080, 1283463936, 1492088320, 1734789888, 1437849984, 1355402368, 1831094656, 1482174080, 1664126464, 1288977664, 1347600640, 1420201984, 1909034368, 1412430976, 1882926720, 1667732352}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-10251, 215, -3537, 10905, 118187, 46223, -16584, 105008, 15355, 15835, 68337, 145045, 140109, 146102, 1802, 99133, 86296, -10909, 18168, 6836, 31647, -1603, -492, -5910, 14228, -7128, -82, 115593, -32762, 143463, -66679, -9094, -706, 67709, 74225, 65564, -1046, 12252, -287, 88287, 43816, 3878, 578, -4023, -19611, 108313, -4003, -4194, 117034, 60, -71516, -6836, 111469, -4318, -3308, 127786, -10521, -5705, -6989, -3788, -2690, 30189, -2442, -2177, 31085, -5189, -856, 109743, -3721, -12857, 114180, -2982, -407, 5168, -23827, 61135, 116419, -827, -6846, 91864, -793, -4300, -9490, -580, -54174, 40284, -2033, -19514, 3725, 126435, 80436, 128678, 90043, -4560, -649, -100, -2784, 126411, -16716, 32667, -1917, 49005, 30679, 160527, 94871, -4571, 163857, 11773, -1551, -25448, 52215, -4807, 119366, -36090, -5980, 88178, -389, -3442, -5152, -3355, 37305, -5676, -953, -3741, 85726, -2603, -3080, -3476, -9297, 35792, -4205, -7725, -9338, 7472, 85, 92715, 48277, 134794, 10790, -11651, -556, 8237, 23610, 68662, 143834, 11997, -562, -4488, 56727, -1629, 124048, 24942, -7012, -8688, -17328, -19190, 32547, -8827, -15202, -14195, -5669, 83773, 102819, 41351, 30780, -19330, -10445, 78032, -195, 23023, 84435, 92259, 62626, -4621, -7159, -56, 4279, 162482, 49367, -12697, -37993, -4068, 43394, -3678, 117582, 63005, 92583, -14567, -17136, 5340, 111246, -6473, -14880, 44253, 58824, 58148, -8910, 37088, -6631, -101, -10303, -1342, -28044, -1253, -12024, -6703, 66828, -4513, 97289, 6897, -3109, 2369, -70366, -10585, -4443, -141, 46082, 9652, 8013, 46915, 30549, 105551, 7008, -3336, 93381, -4235, -2149, 5524, 94745, 51190, 901, 99784, 9021, 2979, -26546, 27607, -86, 102347, -10652, 71726, 70626, 66, -71, 45414, 31336, -6170, 99573, -2957, -8505, 15387, 77733, -8700, 146628, -39919, -3308, 100730, 8789, 26420, 3260, 129296, 79473, -9256, -12404, -2667, 4164, 54877, 1322, -5906, 42537, 8, 138171, -12551, -1137, 75726, -36229, -23630, -1788, 187139, -1428, 135803, 104910, 49049, 111105, 62849, 26260, 85771, -4704, 17274, -11498, -2642, -689, -4480, 54372, -10927, 17498, -5096, -348, 8344, 34802, 1493, -4664, -685, -2067, -8539, 204844, -172, 107793, -4118, -4521, -21464, 1222, 321, 80495, 42556, -7881, 107644, 11464, -5805, -29, -5173, 46858, -27051, 98727, -6105, 227988, -9629, 84504, -1001, 58469, 50501, 91091, -11755, -14771, 890, 109019, -8403, -11439, 80810, 107198, -7865, 43782, -8827, -1115, -9102, -8246, -4108, 112520, 20842, 131099, -4739, -7090, -2210, 3456, 130078, 25863, 67603, -4720, -1493, -7390, 17175, 16017, -7637, -1197, 64673, 18637, 43722, -100170, -3299, -17608, 30556, -4704, -3802, 153575, -12557, -11598, 123221, 68809, -6574, -1705, 56692, 54074, -10380, -4331, 40004} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {3, -118, -24, -44, -412, -262, 28, -470, -100, -113, -393, -466, -534, -500, -68, -327, -308, 27, -129, -146, -231, 34, -143, -43, -118, -153, 259, -683, -23, -435, 79, -69, -59, -385, -333, -228, -8, -124, 61, -443, -258, -47, -29, -32, 35, -318, 19, 17, -364, 75, 95, 12, -363, 0, -50, -535, -13, -12, -98, 38, -63, -255, -17, -13, -273, -1, 145, -618, 6, -45, -321, 48, 111, -110, 47, -306, -293, -57, 36, -458, 18, -75, -115, 55, 107, -229, 12, 62, -26, -607, -384, -469, -347, -27, -188, -72, -84, -374, 35, -203, 64, -287, -233, -373, -338, -64, -516, -100, -15, 87, -316, -27, -360, 19, -7, -371, -97, -69, -16, -12, -279, -4, 118, -98, -279, -21, 14, 22, -75, -209, -93, -39, 25, -51, -80, -332, -292, -399, -119, -34, -11, -89, -116, -252, -405, -145, 90, 6, -274, -65, -555, -224, -29, -65, -23, 18, -255, 22, 24, 14, -78, -342, -369, -191, -234, 7, -19, -508, 51, -141, -459, -380, -230, 9, -58, 40, -48, -564, -384, 57, -91, -110, -334, 4, -358, -383, -465, -15, -17, -121, -352, -114, 29, -406, -341, -232, 4, -384, -98, -17, 10, 169, -9, -15, -2, -60, -316, -19, -450, -116, -55, -137, 77, 2, 17, 25, -234, -110, -135, -240, -207, -303, -154, -14, -586, 23, -84, -115, -385, -233, -100, -385, -73, -89, -28, -178, -48, -323, -84, -373, -218, -15, -33, -207, -274, 102, -373, -14, -100, -207, -288, -45, -396, 97, 20, -452, -154, -130, -94, -385, -391, -10, -55, -15, -28, -190, -53, 67, -314, -15, -584, -12, -93, -279, 46, 7, -137, -374, -47, -613, -319, -258, -512, -420, -224, -523, 38, -61, -4, -11, 4, -14, -273, -8, -154, -79, -25, -79, -275, -141, 5, -151, -28, -27, -432, 7, -411, -15, -29, -17, -137, 31, -264, -358, 27, -500, -88, 2, -132, 78, -360, 14, -348, -11, -752, -110, -616, -6, -395, -338, -529, 50, 7, -130, -335, 31, -101, -515, -456, -1, -239, -110, 2, 17, 25, -24, -448, -107, -467, -127, -8, -128, -133, -485, -191, -265, -87, 219, -24, -138, -168, 4, -15, -429, -214, -232, 143, 3, -130, -265, 109, 40, -695, 25, -48, -475, -452, 129, -74, -254, -270, 42, -24, -336}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1764356992, 1296380928, 1207888512, 1866573440, 1238804096, 1484929664, 1964712576, 1756032768, 1173382016, 1783687168, 1568587648, 1393839488, 1983294208, 1214170112, 1825065856, 1129081728, 1831028608, 1090324224, 1374398336, 1410562688, 1418480896, 1207010560, 1241818112, 1100410752, 1384453248, 1278359808, 1091262336, 1778032384, 1087056000, 1446719360, 1320264576, 1690870528, 1739566592, 1672444288, 1804676608, 1686863360, 2005250944, 1551687040, 2020505600, 1317294592, 1104072960, 1191998208, 1110509440, 1081288832, 1787391104, 1874193792, 1285265152, 1449485696, 1716127104, 2038255232, 1730510720, 1599342464, 1614638464, 2021706112, 1441659904, 1149425664, 2079730176, 1112056192, 1243998464, 1465144576, 1292565504, 1112217600, 2001015040, 2125341952, 1431586944, 1890672640, 1425919872, 2103698816, 1982767744, 2137903616, 1539812352, 1911327744, 1548134912, 1348772352, 1241567744, 1883728768, 1442736768, 1735258624, 1130072320, 1671157632, 1399363968, 1109057024, 1288688384, 1717976192, 1544529280, 1855887360, 1465585152, 1790907264, 1210748160, 1799626880, 1551508096, 1906280704, 1599246336, 1538407936, 1402067328, 1484159488, 1565865088, 1954167936, 2030410240, 1095721856, 1096091136, 1768137216, 1121998720, 1262067072, 1361528576, 1243050368, 1933150848, 1925321472, 1175342592, 1372013568, 1738539264, 1278417408, 1655465600, 1666747648, 2120339584, 1562935168, 1754074368, 1218960768, 1390332800, 1778837888, 1499612416, 1388850304, 1423716096, 1504742272, 1376492544, 1448125696, 1512773760, 1682187904, 1228639232, 1178060672, 1493524480, 1256555648, 1678401792, 1098239488, 1732443392, 1544105344, 1965246720, 1544454656, 1853780992, 1165183232, 1999878912, 2059447168, 1318979968, 2012300032, 1399696768, 1355123968, 1607734400, 1281406080, 1160516224, 1119526912, 1903374720, 1623190784, 1301331584, 2046592000, 1151689728, 1767925248, 2094468992, 1219992832, 1873750912, 1392516352, 1243762560, 1821182848, 1691509248, 1309425024, 1168981888, 1112107776, 1412442240, 1845436160, 1640671360, 1098888192, 1370919552, 1663823104, 1392473472, 1115671552, 1215182976, 1505366400, 1428699264, 1553683200, 1108260480, 1656947328, 1941436928, 1200697728, 2130155904, 1615754752, 1868634496, 1882746240, 1342195584, 1982345856, 1335924480, 1844534144, 1615652736, 1396263296, 1168059520, 1257924608, 2121569408, 1480161920, 2058338176, 1236746752, 1691883520, 1771120000, 1994724736, 1918802048, 1356505728, 1877859712, 1389918720, 1373637120, 1807694720, 1134753536, 1142711168, 2048144640, 2044041728, 1243440512, 1836618624, 1252516224, 2113726080, 1327516288, 1413146752, 1964457600, 1831028608, 2013598464, 1373494528, 1187346432, 1721029760, 1951325568, 2129376768, 1362649984, 1081388032, 1267281024, 1285432704, 1209088256, 1219630976, 1405519744, 1219826304, 1124350720, 1649898240, 1507281536, 1519390592, 1361237376, 1417007872, 2033664000, 1345915008, 1095320448, 1163946112, 1432086784, 1706568064, 1822041472, 1658731392, 1397333888, 1689089280, 2024473856, 1687857408, 1264172672, 1438283520, 1624246784, 1184569728, 1332760448, 1428983680, 1430560128, 1437075456, 1134305792, 1905689344, 1627385344, 1925448320, 2044083328, 1226310272, 1511683200, 1628838272, 1903797504, 1421745024, 2006872704, 1847636352, 2050124288, 1263696896, 1578592640, 2014418432, 1717927424, 1718697344, 1197193216, 1180203776, 1171120128, 2088098432, 1346255872, 2066387712, 2002593280, 1434655104, 1425191552, 1213565440, 1113269504, 1827166848, 1922532992, 1082396032, 1840176384, 1310143744, 1089363328, 1833343104, 2122141696, 1732767232, 1096753280, 1970203904, 1768445184, 1597790208, 1162192128, 1501044224, 1991781632, 1081571840, 2025998208, 1091233664, 2030960000, 1211271936, 2105862912, 1675409280, 2007017984, 1617081600, 1461988352, 1830167680, 1493078272, 1544568064, 1885737728, 1120031872, 1138055040, 1474557056, 1184200576, 1935770752, 1166930432, 1956799744, 1511402112, 1319554944, 2115695360, 2013209856, 1113236736, 1252485248, 1407491840, 1741777024, 2088060288, 1850551808, 1422404480, 1304780416, 1361671808, 1464463872, 1509439616, 1343555968, 1509278848, 1917333376, 1819742848, 1421403008, 1140100480, 1249915392, 1443286656, 1675977600, 1322176000, 2047852416, 1160485888, 1340696704, 1671581440, 1453788544, 2022993664, 1218098048, 1843951104, 1215839104, 1320828544, 1324525696, 1468449792, 1456398976, 1876967552, 1211615104, 1718225792, 1194782464, 1879584512, 1688240512, 1200958592, 1578334208, 1131902080, 1471580672, 1901316608, 1172404352, 1147997440, 1672052864, 1864862464, 1191910016, 1959456000, 1719979264, 1735656704, 1377642496, 1205528576}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-33738, -43415, 2609, -53868, -15127, -23604, -11781, 44685, -17814, -52110, 93429, 33815, -11073, 9074, -23406, -32573, -18967, 26845, 4042, 736, -24493, 46848, -24975, -36249, 11294, -22250, 12707, -21421, -16617, -28699, -29645, -36684, -3290, -8845, -40123, 27428, 36537, 17504, -8894, 3881, -28327, 944, -4812, 10345, -5149, -1778, 17810, -59387, -21808, 5193, 20547, 34637, -18193, 2806, 38111, 12227, -21489, 32316, 61334, -527, 48374, -50298, -9059, -19251, 11088, -25081, -16683, -1937, -19528, 4558, 26741, -1746, -18624, 75819, -20730, -12382, -40360, -32408, 30979, 24707, -35115, -24251, 1118, 17432, -11209, 85762, -10269, 43234, -983, -23007, 2395, -3948, 11416, -7825, -5909, -5327, -15248, -3540, -31028, 14114, 68213, -30524, -14070, 1287, 23958, -64150, -9246, -28807, -59495, -24148, -11589, 1805, -37920, 21493, 2740, 30350, -26541, 7466, -19164, 3374, 11271, 19192, 2499, -34043, -43781, -7355, 7961, 7576, -88885, 33316, -24316, -12145, 9442, 26982, -9950, 72322, -54052, 18031, -19072, -35667, 15494, 24300, -25214, -7004, -54417, -42957, 39722, 26293, -27869, 28162, 10485, 21529, 47442, 3105, -20569, -4000, -24103, 102754, -65447, -7730, -9630, 11562, 1328, -34978, -32012, 5818, -1724, 32154, -31836, -20850, 61056, -6624, -1818, 35169, 15014, 38942, -6786, -36743, 13007, -70771, -30089, -4031, -9140, -19293, -26812, 26486, -14729, -14239, 56856, -19847, -10579, -27782, -60046, -17587, -25374, -17856, 31713, -28721, -26868, -42989, -35630, -10143, -31029, -25857, 8005, -17017, -1450, 35437, -27877, -6305, -4, -35357, 12178, 12864, -15542, -8383, 42086, -39037, 13745, -33348, -909, -20583, 5750, 8322, -36543, -8251, -56882, -20895, 8101, -59650, 28942, -18984, -37539, -23057, -2310, -22939, -59214, 10752, -46039, 6518, -22439, 65417, -46976, -14468, 24376, 76222, 16064, 36939, -13348, -40735, -5061, -29123, 90832, -51171, 71, 95917, 68846, -44541, -8202, 26962, -38127, -13818, 64130, -12081, -34914, -17893, -26514, 1437, -13473, 7672, -27973, -10858, -53250, -36595, 33236, -19825, -9221, 26232, -9948, -5160, -6302, -24767, -55865, -52564, -1311, -23264, -22031, -7701, 72203, -30843, -34443, 16776, -40945, 6296, -41285, 1490, -29984, -64825, 8700, 25495, -30990, 34998, -40180, -48646, 6492, 29212, -36448, 17548, 27946, -39212, -44079, 57021, -34610, -35001, 40626, 31861, -10486, -45195, -43189, -32058, -30716, -68182, -8997, 72118, 16426, -1627, 24382, -29036, 47044, -21145, -4053, -26855, -17625, -8571, -38985, -28498, -8562, 54796, -26710, -53141, -44719, -20451, -40566, -17152, -23472, -40206, -17264, -51923, 16292, -69429, -5794, 47177, 8552, -1350, -4693, -24405, -44893, 55563, -27148, 29556, -44577, 28039, -28127, -34398, -35123, 6149, 89618, 6734, -24936, -29322, 34038, -15579, -17371, -25460, -64277, 17736, 36141, -49417, 7878, 11250, 20064, -40733, -25781, -48507} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-145, -141, -127, -104, -108, -159, -136, -127, -105, -155, -122, -155, -100, -119, -124, -132, -164, -137, -170, -72, -173, -120, -98, -146, -149, -114, -158, -139, -117, -107, -135, -131, -110, -154, -143, -106, -104, -141, -136, -127, -137, -97, -128, -98, -125, -114, -120, -130, -136, -111, -127, -137, -90, -123, -158, -136, -141, -150, -110, -94, -128, -124, -135, -127, -113, -103, -112, -156, -153, -135, -142, -151, -173, -142, -132, -109, -112, -163, -119, -183, -167, -145, -127, -128, -113, -138, -114, -122, -149, -143, -126, -165, -137, -124, -134, -112, -137, -108, -127, -122, -135, -132, -131, -119, -117, -115, -167, -103, -125, -132, -137, -139, -122, -145, -71, -128, -123, -137, -117, -137, -137, -137, -124, -94, -137, -154, -118, -142, -132, -116, -97, -149, -101, -127, -135, -140, -95, -134, -106, -151, -108, -109, -149, -119, -112, -127, -131, -157, -98, -69, -87, -98, -143, -113, -106, -124, -131, -130, -108, -117, -127, -133, -138, -130, -150, -114, -130, -134, -149, -135, -94, -131, -101, -136, -136, -109, -119, -153, -107, -142, -143, -113, -102, -129, -128, -127, -167, -103, -150, -125, -138, -141, -117, -132, -124, -140, -103, -136, -97, -109, -142, -108, -152, -133, -143, -137, -130, -136, -155, -127, -58, -122, -118, -140, -112, -141, -107, -121, -159, -136, -145, -149, -102, -145, -136, -156, -122, -116, -102, -127, -134, -113, -131, -175, -140, -103, -144, -122, -112, -142, -146, -109, -130, -168, -112, -138, -149, -149, -135, -129, -127, -144, -141, -140, -118, -107, -113, -162, -140, -116, -136, -80, -110, -120, -146, -131, -125, -105, -169, -124, -130, -112, -120, -124, -173, -111, -129, -145, -145, -115, -129, -154, -138, -122, -132, -142, -138, -120, -97, -129, -126, -137, -131, -100, -146, -127, -118, -121, -121, -130, -130, -117, -144, -139, -110, -139, -146, -105, -120, -150, -116, -120, -159, -133, -128, -122, -152, -127, -135, -154, -121, -128, -141, -135, -119, -133, -111, -128, -116, -125, -144, -131, -135, -158, -135, -163, -112, -148, -140, -149, -123, -109, -143, -121, -141, -164, -98, -110, -108, -111, -122, -123, -138, -97, -151, -127, -127, -93, -107, -162, -100, -139, -134, -132, -123, -133, -113, -112, -154, -119, -109, -129, -118, -101, -99, -156, -114, -135, -137, -89, -133, -150, -160, -111}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1237804928, 1213401088, 1367379456, 1935437824, 1841563520, 1420086912, 1192377856, 1361587968, 1376814336, 1320186624, 2071963520, 1205818240, 2141639808, 2127978368, 1109060992, 1239162240, 2040706688, 1695436160, 1281142656, 1278226048, 1927231104, 1110558848, 1556189568, 1167868928, 1077028864, 1645207424, 1225294976, 1214964224, 1402964224, 1438639744, 1253197952, 1076173440, 1155669888, 1921252736, 1512329088, 1328855680, 1534677120, 2122998784, 1703390720, 1554084864, 1241693568, 2072881408, 1960643584, 1684744448, 1552211200, 1832041856, 1329580928, 1358543616, 1329865472, 1243817088, 1183995776, 2036638592, 1656633216, 1928067584, 1565146752, 1924246272, 1346725632, 1532843392, 1679006976, 1645039232, 1844673536, 1322266752, 1656824704, 1309560960, 1223604480, 1256806016, 1407016832, 1753484928, 1274287744, 1481818112, 1223735936, 1775032704, 1167716608, 2073290752, 1314288000, 1810521088, 1519282688, 1801875328, 1079568768, 1828503680, 1591329024, 1452170624, 1324717568, 1491779840, 2020740352, 1602636672, 1371444736, 1084632064, 1405395456, 1614254336, 1407128064, 1685520256, 1399713536, 1400241664, 1254798208, 1402209024, 1295691264, 1342144896, 1955758464, 1972947072, 1911594752, 1530297472, 1302683776, 1222833920, 1221630208, 1179838336, 1606465536, 1559657984, 1369902080, 1310412288, 1291255552, 1078560512, 1397021056, 1708120192, 1215910016, 1455354240, 1574178944, 1209431040, 1344594560, 1575041536, 1438101120, 1594605952, 1249888256, 1852639488, 1898633216, 1848450816, 1804088320, 1499804416, 1166997504, 1210415104, 1612140160, 1237896960, 1477097088, 1345643648, 1506919680, 1081059584, 1400626304, 1705938432, 1546914048, 1109625856, 1910824576, 1458488704, 1178502656, 1594209408, 1355827072, 1247695744, 1194309760, 1204850816, 1499243392, 1445587968, 1850166784, 1854258560, 1173176704, 1411165696, 1276637184, 1493581696, 1082265216, 2109029888, 1144726400, 1266211968, 1470435584, 1816447104, 1414227840, 1180278016, 1494254720, 1354654720, 1199553280, 1192779776, 1495039488, 2099785856, 1710781440, 1446461568, 1894261888, 1406159104, 1346396928, 1203668608, 1077812096, 1656232448, 1188788736, 1987120768, 1457671424, 1350226176, 1485525120, 1804582912, 1287142144, 2116386944, 1953631232, 1779841280, 1484268672, 1100813440, 2121420288, 1747945984, 1187083392, 1472354176, 1525519360, 1321610624, 1514367872, 1281110912, 1598202368, 1220464768, 1701118080, 1844629120, 1243344768, 1635314944, 1130630912, 1482002688, 1539446656, 1636703872, 1308847104, 1178342144, 2059000064, 1407056768, 1561822976, 1684538496, 1915857664, 1322729216, 1501390208, 1891901440, 1370129280, 1208583680, 2028025600, 1650902528, 1556952960, 1415765248, 1113443584, 1078745600, 1414579712, 1084794496, 1309967488, 1554372224, 1269448192, 1376884096, 1446865280, 1074080640, 1674359936, 1599624320, 1560355584, 1225662464, 1331964032, 1925532160, 1226029952, 1888199168, 2005952640, 1596758144, 1496899712, 1785306624, 2117759104, 1621546240, 1364588800, 1967977088, 1407091584, 1688361344, 1824042240, 1244370944, 1163759616, 1440390016, 2057332480, 1708839936, 1467610496, 1241299200, 1952695808, 1563267968, 1949174400, 1222799104, 1408089344, 1484274816, 1739361792, 1813366272, 2066649472, 1142088960, 1538853248, 1755406720, 1303586304, 1124187648, 1481372672, 1424424704, 1135741696, 1535194368, 1456778240, 1349888128, 1894280192, 1631978368, 2113436544, 1229249792, 1441484288, 1117480320, 1080960768, 2093667328, 1649247232, 1263553024, 1205155584, 1592042368, 1328745344, 1679013632, 1124044928, 1292807424, 1157116672, 1186587264, 1344649984, 2056164864, 1234925952, 1393100928, 1160250496, 1264962048, 1582767488, 1304490496, 1163292928, 1916304128, 1150195072, 1277414912, 1619119744, 1291837440, 1594566528, 1514380672, 2120312192, 1691584768, 1421136640, 1288883072, 1216880000, 1365285376, 1258906240, 2042164352, 1154799744, 1925731584, 1440034048, 1562927616, 1857320064, 1527237632, 1922863744, 1329650304, 1451886976, 1518062080, 1809905920, 1195663872, 1212765184, 1823484800, 1310930432, 1966853504, 1276852608, 1376320768, 1245522432, 1699208960, 1446534784, 1193401472, 1594350080, 1341964544, 1829540096, 1440143360, 1442753792, 1268357504, 1110046720, 1630807040, 1793750912, 2114118784, 1598800128, 1265367424, 1243671168, 1553272320, 1335674752, 1164182656, 1681480704, 1581515904, 1149747712, 1523236864, 1376191744, 1140525440, 1668048640, 1361894912, 1131012736, 1253144704, 1552854272, 1972751488, 1227173888, 1570569600, 1517486976, 1341946624, 1945534336, 2053638656, 1382384384, 1315657088, 1220338304, 1567592960, 1356090496, 1280943104}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-294, 186470, 83386, -97, 109842, -132, -767, -3176, -4719, -401, 76230, 167591, 46076, 63674, -883, -1275, -8380, -3895, -310, 56815, -574, 81462, -116, -281, -267, 62824, 78256, -24, -873, -396, -1551, -126, 131412, 21988, -516, 111400, 158058, 2624, 168029, 81759, -686, 77212, 127, -82716, -734, 92865, 213049, -499, -606, 62858, 9014, 107110, 112674, 153880, 116956, 1960, -62241, 148472, 73160, 878, 93661, 565, -581, -679, -18508, -1008, -12335, -545, -4430, 188318, 106361, -13299, 111735, 89029, -747, 127322, -465, 179822, 143118, 82889, -486, 282688, -206, 156356, 25828, 3172, 202742, 71645, 104330, -2559, -21681, 169271, -864, -315, 84852, -569, -61, -7148, -61467, 74265, 76118, 95049, 94, -381, 93125, -492, -468, 137144, -398, -866, 2439, 95345, -6857, 128479, 35914, 104024, 168250, -6029, 287, -59446, 102943, 161971, -1104, -527, -2137, -592, -383, 139333, -460, 73127, -72591, 101779, 22709, 111155, -154, 110413, -557, 163607, 171152, 1289, 79447, 108491, -20249, 135596, -533, -667, -43930, 23808, -4108, 104136, 106062, -63188, 18115, -2245, 22931, -314, 76096, 98013, 149, -5554, 186, -16858, -12389, -40, -699, 111331, -127, -5028, -228, -95, 65745, 104392, 154820, 130295, 188039, 171001, 78641, -2995, 97679, -711, 11684, -13482, -32669, 31, -680, 94944, -5972, 49, 130607, 195927, 228194, 435, -366, -2027, -474, 7009, 51797, -1449, -189, -1182, -3213, -178, -641, -692, 87485, -154, 334, 121575, -498, 32210, 68917, 7, 209636, 185145, -645, -359, 109108, 1780, 95398, 499, 193704, 229152, 19368, 126347, -994, -611, -226, 50992, -5841, -664, 410, 170639, 80733, -59, 115381, 130271, -75, 152676, -512, 205, -207, 111136, -127, 174652, -38992, 87133, 2643, -11147, -841, -541, -637, -372, 67381, -475, -238, -38701, 80428, -546, 125431, 174936, -7301, 100842, 89261, 223239, 8191, 3725, -17063, 176999, 1, 186743, -941, 128876, -515, 219656, 18206, 3800, 198969, 113346, 114475, -440, 182536, 61620, 10, 197, -12495, -668, 141406, 258548, 108009, 128710, -213, 158934, -500, 68236, -334, 192994, -156, -324, 231353, 137702, -387, 86031, -367, -628, -393, 69645, 92, 146192, -39192, 275, -2819, 87890, -377, -1342, 74302, 108045, -2885, 166105, -34366, -10815, -21, -286, -161, 68944, 301522, 179366, 17972, 740, 82632, 35, -263, 470, -14757, -572, -351, -643, 93615, 89930, -1248, -333, 345, 287270, -324, 109950, 94062, -550, 126446, -258, 14866, 1723, 154191, 110568, -35975, 23993, 155285, -2249, 166084, 32324, -238, -10145, -808, 34106, -19464, 1717, -580, -152, 63575, 32529, -174, -390, 73468, 189570, 414, -372, -237, 27822, 84364, -589, 202266, 131848, 187680, -276, 165, 271516} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {80, -367, -296, 122, -303, 47, 113, -99, 79, 51, -287, -354, -344, -230, 48, 56, -110, -59, 57, -394, 94, -258, 54, 81, 99, -458, -418, 81, 92, 91, 76, 53, -363, 76, 85, -319, -360, -27, -367, -286, 65, -291, 90, 120, 36, -462, -374, 89, 118, -350, 55, -282, -342, -309, -305, 68, 195, -351, -291, 53, -315, 56, 58, 104, 124, 88, 102, 91, 76, -350, -284, 129, -336, -253, 56, -495, 91, -323, -359, -316, 59, -418, 118, -360, -124, -129, -398, -295, -436, 64, 199, -345, 72, 114, -431, 87, 88, 44, 190, -260, -275, -347, 26, 54, -292, 54, 72, -376, 76, 94, 45, -332, -126, -345, -352, -342, -338, -131, 99, 232, -539, -341, 94, 138, 121, 59, 110, -517, 73, -242, 171, -278, -116, -305, 83, -303, 53, -352, -379, 65, -275, -356, 31, -386, 59, 89, 245, -145, -109, -277, -438, 268, -122, 50, -137, 63, -330, -291, 82, 80, 48, 125, -26, 122, 134, -382, 54, -73, 96, 128, -285, -401, -376, -307, -317, -349, -386, 76, -296, 75, 36, 145, 300, 67, 84, -304, -28, 91, -423, -404, -565, 38, 86, 77, 95, -101, -257, 91, 89, 89, 61, 51, 54, 81, -315, 94, 71, -373, 54, -130, -389, 88, -397, -463, 104, 54, -292, 77, -386, 84, -328, -377, -56, -313, 50, 74, 102, -172, 64, 51, 40, -540, -379, 60, -339, -458, 29, -473, 57, 111, 81, -309, 78, -374, 149, -287, -121, -126, 120, 149, 62, 73, -261, 87, 65, -58, -264, 97, -328, -293, 138, -476, -307, -346, 35, 74, 206, -308, 61, -342, 68, -388, 58, -411, -106, 62, -326, -288, -358, 149, -334, -319, 65, 93, -96, 55, -444, -381, -344, -578, 110, -513, 103, -323, -12, -389, 30, 109, -392, -316, 74, -362, 63, 58, 55, -270, 47, -396, -36, 55, 163, -283, 50, 83, -286, -308, 74, -357, 138, 127, 67, 49, 59, -285, -412, -500, -150, 52, -285, 108, 85, 46, -130, 103, 59, 45, -406, -266, 70, 99, 62, -479, 44, -360, -400, 68, -355, 77, -130, 61, -361, -303, -55, -103, -328, 70, -400, -196, 37, -131, 65, -210, 100, 63, 54, 95, -250, -88, -12, 104, -304, -434, 85, 43, 132, -146, -307, 46, -392, -496, -351, 64, 74, -422}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1447862784, 1144939904, 1725427328, 1789787648, 1603889664, 1475819008, 1097774976, 1414158976, 1099105152, 1427877248, 1772830848, 1151180288, 1229016832, 1904212992, 1202670080, 2039460736, 1448334848, 1800391168, 1588312960, 1727387776, 1224216192, 1482266752, 1507553280, 1410116096, 1376778240, 1409690624, 1506721664, 1207011072, 2142530944, 1824724352, 1275372288, 1966110336, 1920954240, 1610028672, 1610099840, 1521568256, 1872088320, 1356329344, 2003885568, 1850681728, 1140140928, 1940007936, 1363267456, 1625826944, 1541527808, 1274089984, 1222489088, 1118359680, 1241875328, 1639638400, 2123803392, 1258077952, 2146992896, 1556308224, 1764936704, 1266339968, 1444618112, 2033557120, 1977146496, 1284158080, 1613610112, 1351563520, 1771756288, 1667789952, 1517968512, 1106934400, 1470441984, 1080397952, 1759086208, 1312073472, 1413491200, 1611663104, 1839690240, 1604085248, 1345761152, 1753728256, 1254251520, 1133060736, 1225904256, 1544985856, 1261463296, 1633302144, 1500535040, 1272476544, 1478563968, 1995549952, 1947476736, 1779802496, 1113751168, 2118171648, 1949937664, 1118763136, 1113003520, 2146572416, 1616706944, 1131007232, 1689260160, 1113422080, 1204250112, 1289500288, 2009366144, 1329421056, 1402115712, 1858246528, 1480834944, 1488025472, 1199528064, 1366389632, 1270317440, 2136873728, 1182568704, 1189990912, 2085654528, 1462525056, 1509196544, 1700782592, 1500614400, 1829958272, 2064910720, 1439700352, 1167700352, 1617821440, 1970160000, 1319832960, 1607461120, 1432726272, 1188830208, 1569645312, 1826766208, 1942282880, 1234056192, 1299384192, 1377297920, 1207502976, 1160951808, 1352524544, 1672736768, 1985100928, 1262086016, 1313300480, 1594002304, 2075028992, 1569015296, 1728497408, 1457406848, 1911276160, 2116617216, 1485373696, 1339080192, 1223856896, 1097629440, 1897820160, 1416807808, 1316090112, 1373058944, 1845289600, 1257258112, 1430205568, 1869435648, 1592648832, 1445720064, 1677356544, 2129207040, 1094663296, 1308856960, 2034331904, 1451784704, 1710623872, 1166510976, 1498299776, 1386949248, 1118908288, 1466615680, 1169080448, 1426930304, 1146676992, 1355899648, 1233419392, 1381066624, 1575439232, 1605580928, 1843724544, 1267339904, 1732526464, 1232400896, 1393473920, 1093006336, 1544749056, 1880258048, 1318579456, 1408545280, 1964356736, 1868157568, 1662232960, 1906898176, 1306557696, 1199472896, 1188329728, 1825834240, 1991636608, 2109138944, 1654355712, 1171564672, 1463363072, 1572545920, 1301924096, 1271540352, 1892313088, 1322197888, 1430311680, 1606901888, 1517730048, 1885301376, 1365361536, 1105335296, 1206871936, 1974748928, 1139006592, 1376251648, 1279149184, 1490091136, 2141994240, 1604702208, 1551264640, 1202222208, 1410131456, 1393200128, 1936099712, 2033262464, 1382416000, 1182262144, 1400152320, 1237439616, 1378228352, 2054576384, 1679231360, 1132266240, 1587373696, 1504432000, 1327831168, 1156290688, 1322026624, 1459761536, 1418700416, 1467704064, 1714052352, 1668359936, 1815218816, 1316125952, 1151989248, 1288876672, 1361973760, 1091941504, 1672921728, 1278182144, 1536161024, 1760926720, 1170284544, 1938917632, 1159202816, 1764707840, 1085559424, 1459646208, 1224300928, 1429532800, 1088094080, 1220388608, 1202714752, 1922557056, 1112015744, 1445798400, 1764434560, 1453916672, 1201803904, 1889848832, 1437932672, 2013983360, 1665164416, 1265139456, 1938484736, 2134458496, 1761718912, 1295187584, 1216241408, 1229117056, 1446196224, 2027312768, 1835058560, 1471360384, 1115174528, 1301606144, 1324323584, 1927864064, 1484735104, 1441466368, 1232458368, 1236708480, 1274942080, 2028605184, 1501458304, 1279486080, 1082170624, 1610657536, 1220880512, 1189966080, 1846080384, 1995502080, 1276832384, 1182038784, 1774119168, 1505328000, 1575516800, 1164853760, 1206409088, 1882215296, 1611949568, 1368750336, 1300228480, 1621072896, 1148978048, 1421577728, 1437172096, 2113275264, 1273281280, 1622161792, 1308518528, 1583817216, 1499672832, 1601687296, 1284110592, 2083059584, 1474991744, 1102640512, 1115029760, 1261827328, 1568365952, 1149638400, 1516117376, 1495927936, 1690078592, 1363264128, 1293299968, 1557301248, 1176857600, 1164343936, 1643534720, 1402390144, 1320995456, 1653134080, 1455280768, 1234731648, 1413793152, 1643070208, 1515986944, 1450448256, 1578652288, 2100579712, 1926584064, 1524313088, 1232172032, 1372839296, 1393253760, 1496394240, 1579079936, 1370221312, 1094761216, 1282015488, 2043542784, 1163458560, 1227794560, 1284696064, 1594227456, 1299515904, 1298214016, 1198332416, 1728722432, 1791233280, 1648515712, 2143002368, 1678721920, 1319304320, 1602073472, 1551844736, 2134223360}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-8797, 21047, 15013, -9065, -3770, -8688, -580, -7462, -14408, -42697, -37238, 8508, 19855, -39001, -62510, 4313, 6970, 13104, -44916, -4687, -3019, 26535, 13097, 6912, 43581, -26074, 17592, -29268, 3983, 33717, -28671, -34889, 11196, -13673, 18198, -42209, -73155, 5130, 8086, -9501, -412, 9185, 50103, 16958, -41778, -4709, -21974, 3257, -41153, 53900, 3520, 8030, 3517, 8283, -4772, 67315, 3174, -4311, 16656, 70721, -30671, -21386, 8728, -11014, 6056, 20453, -6050, -7507, 24178, -9611, 276, -18773, -6946, 9250, -29615, -53041, 17979, 3214, -41873, 10283, 47552, 46523, 8915, -21879, -18634, -28957, 15068, 6186, -38744, 27463, -6488, -36495, 1029, 380, -244, -6090, 24970, -20659, -48855, 9585, -4419, -30306, -17751, 23703, -37879, -4507, 9202, 12896, -7587, 17559, -9776, -22105, -12752, -10953, 25122, 21783, -10665, -114, -24769, 21203, -8712, 10757, 33820, -35021, 7487, -15391, -10345, 33764, -23247, -1958, 2900, -4408, 36441, -7201, 16927, 4526, -23899, 3497, 12888, 27739, -15225, 5326, -2652, -38085, -27508, 10195, 34183, -16055, -31012, -15766, -45549, -39554, -13257, 16097, -5026, -5266, -10468, 21697, 24526, 10761, -24029, 7066, 447, 11277, 2379, -8098, 19332, 43860, -15446, -9371, 6324, -19630, -19328, 17927, 13944, 19317, 16129, -36643, 670, -7796, 9688, -26096, -42316, 13590, 8241, -43780, -3998, -8709, -16125, 31534, -24459, 42212, 10842, -3387, 21433, -57451, 3084, -2301, -20414, -35197, -24232, -71048, -23810, -2367, 17153, 12405, -2028, 23940, 9546, -12073, -20804, 37529, 9509, -11429, 327, -34545, -9483, -1501, 9509, 7286, -22851, 40546, -34184, -31578, -33347, -26005, 2237, 59699, -17659, -50350, -13480, 18566, -40993, -17132, -2640, -722, -9041, -7086, 6629, 10045, -1812, -26493, -7811, -20546, 20087, 307, 8767, 10116, -17161, 1283, -73888, -23439, -32256, 12592, -27688, -42840, 2483, -27022, 5319, 8663, -19226, 30242, 9283, 8773, 32554, 11848, 10092, -34956, -2672, 35116, 19752, -2327, 6027, 206, 8340, -40200, 13427, 19279, -2642, 13322, -753, -23834, -843, 12362, -15491, 5534, 3167, 25026, -26828, 9063, -8133, 14380, -7154, 12428, 8104, 14487, 15906, 8683, 9240, 20047, -8714, 35046, 25746, -12664, -24089, -6956, -1657, -4049, 11151, -6003, -10954, -9076, -21431, -19582, -11468, -20834, 7120, 8223, -13739, -63923, 13312, -22824, 9684, 4375, -10712, 24227, -19071, 24160, 21724, -2936, 14865, -2824, -32791, 20070, 11446, 19640, -19433, 15954, 34499, -9964, -15518, 18338, 7691, 11775, -2533, -3127, 1861, 2766, -2806, 21381, -24748, -23557, -4468, -24677, 15501, 16803, -28324, 8328, 6041, 8290, 4244, 10342, 8308, 21596, 31955, -20264, -4324, -17195, -1453, -25096, -33067, 7883, -17293, -30610, 16890, -29862, 14778, 11893, -47560, 165, -7270, -9588, 12879, 14774, 19187, 24235, -19596, -7234, 23044, -14646, -17648, -8968, 23640, 1846, 17623, 7808, 12369, -20720, 51538, 9042, 21744, -44959, 4198, -1639, -16691, -10815, -65205, 25688, -58785, 19354, 3702, -24256, 2086, -11188, -1419, -12409, -18127, -5146, -462, 1562, 7974, -15124, 14937, -6478, -17820, 521, -50181, 34215, 10831, 8529, -1973, -23085, 2267, -1544, 24336, -12436, -5508, -3216, 25653, -32047, 22496, -6698, -5486, 33319, 43314, 26158, -6263, -7050, -2981, 29215, 24791, 6008, -22382, 5788, -19817, -2433, -55556, -1100, 17922, -23447, -8567, 10882, -8291, -14015, 8269, -4645, -26297, -9586, -2612, -5815, -33055, -1645, -1549, 425, -15741, 43648, 13803, -4653, -12324, 13517, 11858, 54165, -12882, -77296, -6588, 7773, -15811, -22458, -30918, -14103, 10042, 22257, -35085, -38111, -11077, -8210, 27174, 10657, -1057, 2337, -14814, -10717, -10602, -1105, -5953, 9082, 21785, -6755, 24738, -32407, -5687, 12024, -1992, 14550, 21256, -16107, -25419, 26786, 619, 37618, -11296, 42794, 8733, -42462, 24189, -11184, 9401, -24819, -837, 59027, -43172, -2865, 8551, -21808, 3252, 33446, -2364, 4139, -35645, 5027, -427, -19056, -8350, -15570, -24316, -11601, 9763, -30878, 4045, 8226, 14472, -26207, -43147, -6521, 17294, -11038, 16577, 29934, 5730, 27660, -8773, 17520, 2771, -12241, 16530, 25292, -47184, -18692, -4607, 13087, 23642, 22978, -6626, -31152, -19703, -45979, 10844, -43503, -17042, -2145, -12706, 50415, 20138, 10976, -60130, -50983, -14526, 49387, -62984, 19364, 53168, -16329, -23510, 5910, -11058, 15253, -18162, -2256, -30130, 8499, -496, -9857, 11027, -31195, -16486, 631, 25256, -6179, -15583, -13171, 2359, -5866, 18445, 5309, 16982, -23301, -27256, 2993, 13846, -32714, 16599, 3672, -3015, 29261, 13186, 25580, -49280, 30672, -17095, 6002, 40488, -31901, -12969, -1568, -46810, 22778, -22121, 5309, -53572, 4366, 11540, -17088, 31114, 13179, -59601, -6487, -49264, -1999, 21412, -33459, 649, -2308, -21729, -58, 10459, -19872, 17586, -9184, 16998, -26127, -57617, -788, -8728, 926, 6111, -16356, -25591, 16962, -31991, 30198, 23219, 23890, -4956, -26047, 12107, -3097, 20030, -8648, -2208, 36857, -6477, -5758, 17313, -5902, -17588, -33797, 1733, 2962, 555, -18813, -6676, 4252, 4818, -4463, 13969, -21097, -32769, 15707, -19708, 7, 13622, -11942, 3727, 20881, -19765, 524, 20910, 35162, 11384, -22216, 2725, -11137, -11192, 868, -32209, -59812, -18636, -1074, -13658, 23441, 31020, 18685, -2425, 58301, 1692, 13626, -45384, 26192, 8946, -30419, 9584, 16068, -30876, -20738, 14038, -34706, 5573, 5851, -7949, -9766, -22593, 18357, 7539, 24124, -4389, -22774, 5776, 20015, -39595, 3328, -15080, 9000, -48277, -18765, -2506, -19674, -15844, 27011, 32743, -33754, -24449, 1508, 24245, 15918, 11285, 6746, -41342, -19894} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-130, -114, -109, -156, -152, -97, -133, -160, -122, -129, -128, -140, -106, -129, -141, -182, -131, -117, -141, -140, -139, -141, -136, -169, -143, -110, -91, -128, -133, -160, -164, -113, -143, -147, -95, -121, -120, -110, -123, -94, -148, -176, -124, -111, -124, -146, -146, -91, -134, -113, -130, -134, -190, -168, -144, -151, -148, -109, -126, -126, -184, -133, -101, -128, -76, -120, -158, -111, -126, -157, -134, -117, -149, -159, -110, -144, -104, -105, -130, -132, -124, -122, -113, -131, -106, -133, -129, -112, -132, -147, -127, -152, -137, -122, -139, -117, -137, -131, -137, -142, -127, -130, -166, -127, -140, -122, -83, -125, -107, -126, -138, -140, -136, -117, -120, -155, -169, -156, -139, -122, -143, -136, -135, -126, -148, -150, -128, -129, -117, -126, -180, -88, -141, -171, -142, -129, -120, -138, -160, -98, -105, -128, -142, -156, -131, -116, -132, -128, -136, -102, -128, -140, -154, -116, -126, -119, -135, -142, -126, -133, -130, -133, -153, -119, -104, -137, -132, -143, -110, -133, -131, -162, -140, -115, -124, -130, -119, -129, -107, -115, -122, -143, -129, -133, -147, -149, -142, -139, -132, -126, -147, -130, -91, -133, -136, -130, -139, -76, -136, -166, -128, -118, -120, -90, -112, -120, -145, -117, -141, -141, -135, -169, -144, -126, -130, -109, -143, -142, -151, -133, -110, -127, -117, -141, -121, -142, -119, -122, -146, -117, -137, -116, -152, -127, -126, -140, -163, -148, -140, -148, -127, -114, -149, -117, -149, -142, -128, -106, -148, -131, -144, -133, -123, -165, -101, -109, -132, -124, -127, -159, -141, -106, -146, -145, -122, -105, -113, -142, -102, -148, -105, -159, -118, -140, -147, -135, -134, -132, -113, -123, -157, -154, -136, -146, -126, -165, -150, -118, -149, -117, -111, -116, -142, -152, -124, -116, -137, -126, -109, -112, -113, -128, -126, -187, -125, -124, -142, -112, -116, -118, -88, -160, -148, -130, -125, -158, -127, -134, -112, -144, -129, -140, -164, -116, -116, -135, -145, -117, -145, -107, -151, -127, -168, -167, -88, -135, -154, -142, -134, -127, -139, -145, -89, -171, -101, -135, -109, -111, -52, -96, -105, -163, -121, -157, -145, -139, -134, -120, -143, -102, -106, -114, -126, -111, -134, -97, -113, -133, -91, -111, -160, -121, -128, -121, -128, -128, -118, -146, -132, -113, -128, -141, -123, -146, -124, -130, -139, -121, -140, -142, -104, -101, -125, -130, -109, -112, -125, -126, -86, -104, -155, -125, -141, -88, -136, -124, -137, -146, -137, -79, -125, -143, -142, -118, -134, -131, -121, -107, -162, -131, -137, -153, -143, -155, -102, -138, -129, -115, -125, -107, -109, -122, -118, -149, -114, -95, -137, -149, -124, -140, -97, -158, -85, -143, -106, -160, -163, -141, -136, -130, -111, -127, -139, -88, -123, -149, -121, -131, -145, -118, -139, -153, -135, -170, -118, -143, -125, -142, -123, -102, -146, -154, -129, -128, -123, -125, -146, -100, -37, -129, -114, -105, -130, -136, -200, -147, -132, -167, -137, -93, -143, -91, -137, -148, -139, -128, -111, -110, -119, -144, -185, -114, -143, -124, -120, -152, -94, -133, -111, -124, -120, -95, -134, -97, -119, -112, -137, -129, -95, -167, -88, -126, -156, -143, -156, -117, -135, -145, -157, -153, -134, -128, -137, -94, -136, -110, -185, -96, -136, -144, -138, -100, -120, -127, -163, -175, -124, -125, -158, -133, -137, -121, -138, -142, -152, -177, -100, -128, -146, -137, -136, -109, -182, -121, -97, -156, -118, -140, -67, -138, -234, -101, -119, -129, -137, -110, -117, -134, -106, -128, -169, -145, -141, -128, -129, -153, -166, -126, -139, -133, -104, -145, -136, -96, -128, -156, -139, -143, -149, -99, -98, -98, -132, -136, -168, -123, -161, -115, -106, -133, -61, -126, -137, -95, -144, -127, -103, -83, -100, -122, -128, -159, -167, -138, -133, -131, -130, -100, -159, -112, -143, -121, -127, -123, -148, -143, -118, -126, -128, -130, -153, -137, -143, -146, -160, -134, -122, -114, -128, -137, -129, -180, -123, -124, -114, -130, -77, -138, -134, -112, -136, -141, -96, -106, -98, -132, -119, -90, -133, -115, -121, -144, -105, -136, -144, -84, -150, -170, -141, -113, -135, -124, -124, -133, -123, -155, -137, -115, -153, -151, -165, -130, -105, -117, -124, -141, -122, -137, -130, -120, -161, -119, -115, -113, -125, -130, -118, -120, -115, -137, -135, -87, -116, -144, -138, -130, -113, -149, -162, -106, -79, -106, -153, -124, -141, -134, -143, -149, -122, -127, -130, -158, -107, -85, -114, -179, -156, -133, -126, -141, -137, -129, -156, -124, -141, -113, -127, -119, -129, -146, -132, -141, -128, -145, -148, -140, -138, -87, -111, -114, -137, -103, -103, -127, -126, -125, -127, -133}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1429859072, 1722496896, 1522032000, 1312728448, 1336980992, 2141234688, 1353102720, 1099024768, 1532808448, 1172817792, 1929282560, 1674691712, 1916712448, 1397920384, 1397384832, 1109391232, 1224413056, 1731446528, 1802293504, 1450648064, 1885472512, 1396236544, 1086759040, 1628843008, 1466430976, 2126148608, 1200472064, 2055173120, 1344348672, 1351364224, 1182353280, 1579574272, 1966049024, 1584334848, 1438936320, 1201426944, 1422710016, 1522551296, 1116789888, 1526418560, 1587875072, 1423046272, 1492977920, 1362964096, 1786064512, 1317307392, 1220936064, 1137218944, 1187806592, 1996581376, 1227660672, 1546360064, 2113947520, 1762534528, 1298489472, 1173098624, 1261899136, 1514329344, 1190175872, 1722729984, 1507506432, 1273801984, 1376677504, 1525955200, 1168326784, 1535438464, 1572681984, 1806434176, 1653114368, 1436710016, 1291903104, 1568055936, 1991001472, 1195970304, 1347166336, 1973408640, 1789481088, 1077098624, 1123086464, 1596249984, 1495706112, 1781168000, 1642455040, 2045051776, 2087377408, 1128932992, 1881487616, 1424306688, 2139572096, 1599029120, 1864285440, 1602657920, 1832927232, 1297272448, 1485415808, 1713027968, 1369108992, 1746807552, 1256552192, 1996286336, 1356213632, 1153302144, 1109766400, 1305411200, 1263412352, 1696970496, 1516911360, 1201842688, 2009996928, 1487373696, 1541375744, 1207239680, 1143750784, 1074633216, 1381044992, 1337363456, 2062814848, 1775932800, 1254492032, 1231705600, 1253378432, 1277074304, 1821724672, 1077974400, 2133548288, 1127256960, 1635255808, 1876428544, 1776471168, 1825460992, 1653976960, 1975614592, 1127141760, 1617990784, 2034586240, 1702776448, 1634051328, 1091889920, 1242941568, 1272845056, 1788832512, 1500022784, 1605545216, 1390732160, 1715010176, 1227979776, 1485999104, 1463692800, 1691224064, 1479628160, 1196426368, 2010498304, 1872276096, 1085122304, 1226064896, 1883892864, 1146544768, 2085033728, 1947016832, 1228379648, 1211785472, 1317854464, 1665713024, 1517709184, 1606454784, 1234892032, 1261666048, 1330488832, 1394326400, 1898117120, 1458274176, 1491539328, 2016483840, 1494358016, 1835800192, 1967821568, 2096260480, 1208378368, 1095242752, 1326346112, 1942038784, 1129365376, 1604244608, 1366117376, 2050059264, 1077164928, 1829225728, 2064835840, 1786360960, 1986020864, 1774890624, 1119557248, 1882013696, 1304724992, 1531553408, 1703569408, 1651308288, 1219272960, 1802145920, 1093679872, 1206926848, 1299378816, 1821895424, 2007539968, 1333053056, 1546724608, 1469609728, 1720299520, 1181435776, 1856061312, 1156079104, 1611498368, 1172288256, 1228172160, 1497117056, 1286636160, 1530669952, 1534201728, 2140666496, 1989472256, 1295569024, 2067111808, 1660403840, 1280039680, 1176538880, 1559651072, 1094773504, 1337012224, 1206824064, 1425835776, 1200936832, 1867203584, 1185183872, 1374193536, 1674068096, 1498678400, 1084020352, 1189828608, 1662231296, 1341035392, 2089781376, 1449731712, 1485504000, 1900200064, 1198161664, 1850288256, 1231266176, 1150424320, 1440069248, 1350826112, 1330295424, 1825514880, 1959860480, 1182602496, 1256310784, 1175823744, 1243094528, 1262180736, 1483251072, 1742309632, 2130775424, 1195076992, 1712056064, 1478499328, 1174947712, 1816013952, 1183771520, 1086285440, 1488283520, 1435042432, 1760397952, 1403015424, 2000539648, 1165817344, 1137069568, 2033326208, 1145139200, 1502333056, 1685630080, 1726222592, 1906856576, 1908001920, 1950658048, 1768090112, 1590474368, 1221320320, 1657179264, 2110581248, 2044045312, 1987129472, 1594598656, 1768322176, 2146685696, 1279864704, 1611057280, 1512565376, 1524722944, 1237458816, 1090929024, 1414664832, 1558550400, 1890035712, 1971432832, 2054902912, 2091691392, 1750716672, 1801129600, 1971131008, 1714031872, 1384477312, 1770832896, 2080663424, 1110764800, 1340079616, 2144611072, 1897758080, 1712827520, 1945703040, 1286728704, 1202561408, 1535071616, 1849425280, 2111833216, 1191997824, 1457037568, 1508998400, 1772411520, 1423021568, 1825818112, 1295685376, 1424474496, 1993095424, 1181333120, 1615051392, 1373471872, 1745594368, 1608751488, 1141203584, 1313256448, 1576171776, 1205716224, 1591454336, 1771509888, 2071046912, 1143094144, 1741536896, 1565753856, 2078982528, 1162139392, 1624370176, 1333228672, 1275359616, 1616079488, 1269857280, 1408839808, 1533240192, 1277143424, 1074811392, 2122137088, 1821867392, 1222845696, 1533888384, 2140019840, 1437435008, 1557009280, 1935691904, 1798413312, 1239926272, 2137612928, 1802837760, 1509990400, 1718312704, 1509321984, 1654926976, 2039849856, 1575418624, 1191757952, 1993525248, 1139723264, 2035294336, 1804960128, 1357662464, 1663428992, 1793297280, 1636302464, 1206448768, 1540400256, 1605188992, 2041674624, 1517089792, 1486482944, 1437770880, 1549668608, 1287469184, 1933785600, 1111745664, 1878191232, 1258089600, 2069262848, 1656587520, 1570534912, 1487363968, 1264641280, 1316908032, 1663149184, 1102083840, 1216038912, 1895559936, 2019557376, 1867963136, 1428846720, 1079079424, 1503302784, 1705754880, 1270603904, 2004764672, 1192946304, 1208339712, 1222395264, 1584726528, 1411989504, 1307177472, 1334780672, 1350668672, 1506832128, 1434676352, 1366594176, 1399399936, 1974149376, 1277905664, 1873551616, 1651521024, 1247785728, 1353784576, 1616051328, 1670135680, 1184939008, 1347170944, 1858960896, 1452303232, 1542892288, 1409792128, 1216522752, 2104374784, 1183214976, 1607445504, 1626132864, 1998089472, 1735379328, 1673718144, 1398382080, 1398176128, 1139569408, 1931674368, 1101297280, 1885049216, 1509661056, 1979407360, 1678205056, 1966832768, 1929764480, 2110052864, 1389079040, 1682402176, 1555497600, 1930851840, 1251405568, 1229865600, 1809914752, 1997929216, 2008809472, 1285429888, 1340016896, 1388647424, 2139330304, 1439860864, 1800914560, 1455026432, 1169628544, 1577089664, 1824311168, 2040516864, 1519073664, 1934489728, 1115782016, 2008278528, 1387967872, 1492322944, 2098914176, 1888751104, 1757510272, 1982092544, 1906301952, 1171416832, 1256053120, 1165231104, 1283841024, 1411298560, 1193405056, 1338239488, 1859771136, 2116732032, 2147304832, 1637608320, 1213612928, 1166451072, 1215725440, 1614870272, 1680575872, 1658194304, 1253492736, 1181167232, 2117172736, 1389643520, 1529650432, 1272981376, 1442967552, 1382593536, 2008415488, 1517423872, 1800118528, 1340645888, 1587409664, 1737732608, 2050357120, 1669801344, 1623937536, 1100569728, 1766564864, 1688714496, 1891772032, 1828578048, 1685372288, 1272631296, 1925852928, 1447144320, 1112459136, 1903239936, 1819009152, 1218413184, 1652892928, 1520406912, 1483127936, 1556078976, 1324225152, 1317582720, 1086334592, 1905453440, 1979974400, 1855214080, 1352067712, 1524665984, 1277561856, 1186874496, 1433231744, 1798474496, 1881268224, 1159417344, 1478549760, 1415351424, 1282275456, 1364610304, 1424030336, 1689076608, 2021358464, 1591186816, 1224726400, 1085824512, 1965874560, 1824860160, 2035061248, 1756494976, 1726817920, 1201495680, 1317735168, 1292455680, 1834656896, 1291119232, 1883961216, 1924369792, 2029030656, 1410378752, 1828131840, 2006976256, 2085880704, 1729401856, 2031119872, 1746053504, 2139811200, 1644320768, 1844088064, 1261709568, 1276578816, 1404401792, 2003809536, 1624802688, 1643240576, 1090241664, 1411144064, 1479478784, 1420216448, 2093359360, 1438755072, 1254642688, 1459399936, 1417614848, 1138600192, 1189756032, 1680710784, 1352041344, 1495679872, 1085767936, 1091416832, 1366873856, 2039453440, 2001192576, 1647942784, 1586658816, 2040848000, 1467533312, 2137831808, 1773870336, 1282183168, 1454580480, 1276313984, 1227760640, 1322035328, 1978860800, 1169287296, 1239142400, 1269649024, 1969259648, 1626091904, 1437715328, 1641866624, 1269034112, 2065033472, 1366802176, 1116991872, 1575966336, 1155461120, 1349480064, 1665494144, 1983086848, 1148704640, 1661821824, 1273478784, 1152006144, 1529555840, 1396640384, 1548836736, 2074135936, 1432946432, 1557661696, 1595839232, 2078073472, 1160033408, 1637758464, 1381363072, 1440685440, 1195476352, 1777969664, 1398623104, 1806671360, 1698649088, 1075263360, 2054001280, 1282151936, 1109716096, 1711329408, 1624673536, 1397276928, 1312663808, 1176733568, 1382382464, 1719289088, 1909337728, 1770014080, 1810881920, 1739307776, 1191506176, 1186366976, 1089010432, 1951161856, 1265134080, 1304621952, 1296869120, 1811929728, 1780561024, 1506645248, 1250455936, 1492544256, 1821557504, 1913661184, 1332660992, 2061694720, 1396221312, 1670054784, 1296959232, 1857587456, 1349648896, 1936060032, 1231521920, 1194087552, 1535190400, 1402525312, 2126848384, 1196398592, 1513694464, 1382413568, 1307842176, 1788820992, 1297217664, 2093563264, 2103841152, 1933109376, 1783152000, 1272869504, 1199588480, 1933585024, 1964637312, 1719985152, 1612715136, 1712187392, 1794047744, 1358773376, 1251027328, 1243593728, 1895963904, 1307348096, 1191275264, 1774555904, 1351136128, 2112815744, 1633573632, 1365906944, 1827640320, 1769590528, 1198947712, 1673930496, 1590105088, 1829004032, 1528948224, 1676110592, 1322461184, 2142975488, 1916415872, 1605917184, 1266009984, 1447153536, 1522728960, 1874026880, 1185730432, 1209288320, 1657180800, 1427844224, 1253620608, 2020181248, 2084004608, 1471931904, 1325218816, 1941453696, 1091656960, 1554507392, 1395519616, 1871853952, 1960959360, 1121942016}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {99014, -9857, -2367, 35581, -40, 44925, 73711, 41941, -2067, -2304, -48, 163043, 61688, -600, -20984, 47940, -2771, 315, -3, 29156, -2833, 25410, -5398, 457, 49813, 156, -74499, 804, 50281, -862, 13, -7226, 447, -910, 137790, -750, -1129, -7820, -849, -6280, 40845, -23, 71810, 74285, -151, 556, -1136, 129, -413, 7305, -1532, 106603, -53, 39514, -498, 90948, -134, 91875, 211606, 82665, 521, -1019, -847, 216, 66950, 65441, 105514, 114578, 124034, 98724, 29551, 90227, 97984, 55242, -2000, -503, 42031, 994, -746, 615, 102192, 59177, -689, -289, 163818, -12, 19, 45648, 92, 72583, 271, -24570, 118722, -470, -658, 31776, 87163, -6414, -2047, -299, -918, -3330, -24222, -1494, -396, 102417, -210, -404, 42351, -10287, -893, -4543, -468, 126739, 113169, -60, 163, 31202, 460, -368, -8249, 59360, 31742, -624, 38477, 97453, -91564, 182702, 772, 110354, 64692, 70817, 162176, -1345, 67051, -260, -30, -353, 68137, 150363, 98243, -5029, -1799, 1212, 68594, 59104, -494, 80654, -1453, 155217, -703, 463, 787, -2566, -1882, 130256, 251, -579, 180288, 67518, 1720, 94797, 130276, -1141, 57892, -301, -5533, 106992, -1524, 462, -1408, -429, -4169, -390, 140307, 197807, 101586, -1540, 34088, -844, 451, 20, 141063, -715, 52357, -115, 36565, 25893, 575, 126890, 1203, -172, 211242, -7283, -2723, 1005, -363, 34902, -1781, 1007, -376, 1259, 412, 60538, -899, -1852, -1545, 52905, -242, 43418, -360, 50762, 423, -778, 46570, -311, 162, -1851, -164, -430, 175, -102, 154399, -924, -455, -1432, 37488, 610, 314, -278, -127, 22460, -746, -702, 48095, 36098, 229658, -138, 100022, 30698, -593, -2972, 30, 411, 71266, 432, -832, 47449, 422, 47558, -604, 286, 69302, -64, 104319, -659, 46323, -439, 88112, 13, -311, 138487, 23800, -1686, 43206, 120844, 152, -203, 45070, -14463, 66666, -461, 76842, -3889, 109, 435, 93809, 51262, -628, 60602, 356, -579, 43037, 121492, 50133, -514, -100, 44056, -1259, 411, 94439, 88130, 543, -207, 75896, 16, 171123, -2672, 55871, 71091, -3610, 45705, -36, 60, 59, 524, 109, 41742, 49469, -849, -480, 396, 8, 549, 157, -267, 73260, 142, -1854, -6578, 31268, -9442, -42526, 145583, 63202, 54637, -56830, 25935, 178674, 193989, 58870, 1113, 19, -363, 132366, 981, -107, -481, 240238, -862, 37721, 147766, 38406, -3702, 183932, -116, 25959, 243255, 45152, 181, -618, -34, -68, 31, -15344, -281, 185, -39, 344, 41098, 942, -2243, 196757, -8169, 127860, 1479, 498, -4264, 28057, -878, -308, 63622, -369, 60588, -162, 292, 140, -98, -436, -21, 46057, -35187, -6157, -142, 74298, 131759, -1609, 55745, 56142, -1601, 361, -3502, 59707, 952, 34942, 41664, 15, 707, -1289, 89277, -303, 4949, -501, 150440, -4037, -8190, -6070, 239198, 1259, 51754, 44898, -6845, -23240, 43421, -298, 33989, 53192, 46258, 18, 51146, -1020, 39382, -898, 569, 82975, -1363, -314, 225387, 87, 800, 36659, 78604, -2034, -63, 59981, 31378, -1146, 812, 164844, -138, -809, 36696, 41391, -538, 150837, 1115, 71660, -317, -1751, 43136, 49770, 72720, -1023, 129821, -424, -66, -709, 43168, -1429, 69815, -54, 617, 240, -28, 21782, -188, -843, 49947, 113135, 72965, -2765, -481, -932, 87, 778, 134316, 33135, 29327, 50056, 52513, 88767, 9698, 141860, -256, -78, -278, -8020, -7672, 86, 78200, 52769, 58318, 841, -353, -661, -1292, -565, -5162, -566, 69642, -58, 38247, 551, 33257, 57189, -786, 97634, 44584, -1879, -16871, 162616, 37948, -830, -2575, -331, -225, 726, -414, 74326, 53199, -1346, -2661, 55930, 988, -979, 26415, 172, 912, 77671, 5107, -185, -279, 46886, -675, 903, -16234, -103, 55944, 165, -1071, -426, -3863, 87348, 175, 1046, 1220, -340, 103640, 6, 77272, -733, -1996, -1409, -2902, -842, -972, 48986, -1035, -1163, -28760, -579, -359, 45102, -447, 48289, -646, -178, 1131, 220996, -8, 19221, -1482, 57659, -3085, -411, 1187, 346, -689, 665, 41025, 34199, -45996, 118889, -38, -195, -10, 164, 91635, -716, 91671, 31768, -3418, 486, 33789, -1517, -1202, 224, -192, -14, -960, 47706, 140860, -517, -96095, -721, -20347, 196426, 493, 49431, 108117, 102203, -2358, -1187, -3409, -1273, 129, 281, 106402, 80725, 22648, 164538, 246, 49152, 42388, -473, -13763, -737, 72154, -595, 64090, 66340, 217, 76641, 55539, -16216, 94704, -444, 28884, -1241, 125941, -1073, 91975, 33169, 251, -268, -17, -1927, 58422, -564, 495, 42645, -52142, 84465, 53538, 252795, -463, 228762, -21, -474, -483, -1713, 39486, 89927, 43983, -2970, -4285, -313, 1068, -251, 436083, 74616, 45, 86228, -268, -1716, 33394, 46068, 51, 249, 38600, -1548, -914, 46003, 1228, -1541, -3958, -8378, -522, -15, -2877, 54586, -1456, 58714, 51157, 56146, 542, -1806, 134964, -243, 858, -15, -526, 70111, 106774, -7398, 65070, 125446, -107, -1258, -3319, -2024, 47783, 95888, -204, 98, -103, 72, 26554, 1665, 72746, 128612, 77309, 367, 54158, 47256, -1178, -1, -446, -41436, 542, 928, -2229, -304, 35856, 48710, 74, 37144, 46824, -694, 137, 950, 65649, -812, 69904, -975, -1305, 48728, 176566, -2882, -252, 100618, 94000, 45, -2330, 283, -1389, -1694, -2424, 194865, 29, 681, -14850, 104174, 97175, -4210, 700, -374, 1016} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-404, -108, -118, -408, 273, -379, -471, -405, 685, -111, 227, -544, -379, 266, 124, -425, 234, -115, 410, -344, 799, -312, 76, -116, -407, 331, 326, 320, -414, 313, 246, 133, -107, 255, -616, 199, 252, 77, 183, 17, -378, -211, -421, -425, 254, 418, 218, -117, 187, -178, 330, -427, -154, -392, 214, -442, -218, -523, -503, -463, 363, -113, -117, 274, -506, -383, -437, -423, -515, -503, -207, -444, -599, -330, -97, 157, -390, -111, -146, 334, -435, -337, 188, 251, -672, 240, 189, -452, 211, -441, 274, 236, -467, -108, -110, -365, -496, 281, 245, 451, 448, 163, -41, 287, 248, -456, 316, -216, -352, -136, 352, 264, 189, -585, -478, 212, 200, -402, 275, -105, -145, -425, -352, -208, -396, -453, 423, -818, 395, -520, -285, -429, -664, 185, -417, 164, 229, 286, -412, -716, -524, 172, 185, 381, -400, -428, 325, -406, 387, -578, 253, 353, 295, 724, 85, -506, 338, 152, -648, -415, 549, -492, -487, 228, -382, 240, 184, -449, 282, 318, 208, 273, 130, -162, -409, -596, -443, 316, -324, 248, 313, -129, -557, 170, -415, 325, -322, -352, 234, -412, 891, 104, -1039, 484, -132, 359, 335, -418, -51, 497, 237, -105, 419, -398, 276, -127, -172, -369, 219, -347, 218, -405, 281, 217, -419, 293, -95, 252, 187, 279, -116, 395, -595, 457, -199, 279, -369, -152, 313, 228, 222, -291, 144, 174, -383, -331, -882, 252, -465, -376, 184, 711, -125, 293, -415, 389, 182, -357, 411, -430, 206, 333, -467, -146, -492, 238, -393, 174, -438, -207, 292, -550, -351, 208, -422, -536, -107, 259, -357, 106, -438, 325, -406, 534, 327, -115, -495, -376, -104, -388, 321, 304, -423, -467, -448, -136, -157, -362, 222, 334, -521, -467, 521, 190, -510, -101, -545, 281, -430, -416, -127, -450, -226, -124, 490, 429, -163, -442, -337, 405, -177, 420, 189, 253, 259, -164, -444, 271, 435, 168, -341, 247, 242, -764, -397, -393, 400, -385, -769, -717, -451, 439, -169, 266, -579, -106, 318, -198, -861, 178, -366, -466, -341, 1152, -828, -220, -360, -852, -296, -125, 288, -203, -222, 239, 609, 233, -110, -93, -137, -390, -111, -96, -774, 106, -502, -97, 176, 212, -341, 346, 420, -418, 291, -423, 268, -163, -187, 150, 168, -220, -384, 399, -115, 242, -393, -550, -180, -386, -441, 823, -117, 169, -352, 475, -360, -387, 98, 282, -113, -501, 406, -114, 214, -679, 1192, -101, 186, -558, 474, -366, -416, 159, -78, -362, 179, -370, -412, -340, -159, -358, 231, -344, 371, 335, -553, -146, 167, -379, -111, -102, -379, -409, -121, 221, -421, -321, 211, 344, -700, -138, -106, -406, -378, 287, -748, 532, -457, 283, -129, -373, -358, -407, 260, -578, 174, 323, 361, -429, -196, -436, 195, 278, -147, -203, -314, 104, -148, -443, -558, -456, 147, 294, 199, -87, 411, -497, -326, -373, -464, -386, -412, -181, -544, 309, -161, 139, 91, 89, 140, -556, -400, -479, 381, 181, 346, 276, 124, -140, 154, -452, 452, -363, 248, -324, -411, 215, -489, -409, 295, 424, -534, -354, 232, -204, 189, 276, -135, 155, -404, -383, 200, -123, 275, 448, 300, -333, -145, 385, -501, -169, 195, 410, -415, 176, 354, -1, -180, -415, 166, 344, -109, 181, -444, 261, 457, 352, 142, -449, -128, -457, 243, -133, 230, 128, 293, 329, -386, 221, 225, 559, 187, 300, -489, 177, -417, -170, 164, 388, -879, -97, -174, -128, -351, 192, 264, 417, -118, 236, 803, -422, -316, 56, -469, 262, 217, -180, 113, -439, 234, -446, -332, 214, -124, -394, -48, -125, -167, 184, 375, -101, -341, -457, 358, 253, 156, 60, -677, 241, -373, -399, -657, -104, 192, -106, 311, 238, 166, -471, -387, -316, -780, -119, -392, -365, 213, 180, 199, -449, 201, -423, -443, 204, -428, -380, 24, -481, 216, -338, 244, -450, 376, -409, -317, 285, -198, -215, 290, -416, -106, 352, -380, 248, -422, -381, -716, 325, -953, 298, 208, -118, 420, -362, -542, -381, -127, 242, 251, -107, 165, -1690, -378, -141, -570, 138, 337, -209, -397, -111, 265, -354, 159, 315, -388, 464, -124, 284, 153, -126, 153, 305, -481, 353, -445, -394, -402, 701, -109, -542, -101, 279, -212, 261, -503, -469, 269, -361, -478, -164, 258, 333, 297, -359, -457, 270, 183, -216, 185, -333, 503, -398, -619, -413, 336, -432, -403, 240, -160, 167, 68, 229, 555, -119, 347, -340, -352, -35, -333, -390, 228, -192, 437, -376, 383, -368, 443, -121, -349, -694, 103, -124, -638, -417, 307, 533, 217, 228, 587, -103, -772, -160, 290, 100, -509, -388, -181, 289, 193, 567}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1098411904, 1453191552, 1210191616, 1679872128, 1869077760, 1338936192, 1095421824, 1412452224, 1519882112, 1715231616, 1216810496, 1224774784, 1076481792, 1400349568, 1493250944, 1306050048, 1198368384, 1831429248, 1962908800, 1935989632, 1855184384, 1121172352, 1541563520, 2109396224, 1280091648, 1569093376, 1908530048, 1101896448, 1275740288, 2076087040, 1904294528, 1589801728, 1621483648, 1353119488, 1861078784, 1300953856, 1167829760, 1789879936, 1703798272, 2044926080, 1403292544, 2004143488, 2107004928, 1904201984, 2030845312, 2115095296, 1479355392, 1415774848, 1868742656, 1385627008, 1911027328, 2071688448, 2082822400, 1480912896, 1706695168, 1216501120, 1829939968, 1765466624, 1842565376, 1553162624, 1627978112, 2044803712, 1457177088, 1918333952, 1861919360, 1086535808, 1947859328, 1405192064, 1447343488, 1618897280, 1384824448, 1456550912, 1352079104, 1154943872, 1825451008, 1129200768, 1322620672, 2057860736, 1371781632, 2085603200, 1421860480, 1317437440, 1465931904, 1344189440, 1216021120, 1233511040, 1342675328, 1352877056, 2059850880, 1076125824, 1098364416, 1314255744, 1429015552, 2124489088, 1917080448, 1882534272, 1435689344, 1849830400, 2075291520, 1218818176, 1581146752, 1819257216, 1354049408, 1334210560, 1643267584, 1278848256, 1775229184, 1185328256, 1381739136, 1643580928, 1368342912, 1163820800, 1823978880, 1862862336, 1370574080, 1145229056, 1713539328, 1703915520, 1937068288, 1855049984, 1574774400, 2136613632, 1938033792, 2004545408, 1410661248, 1470828672, 1229368448, 1337996800, 2133062272, 1233885952, 1944449536, 1859585024, 1457615360, 1988521472, 1918772608, 1949326464, 1893527296, 1426429568, 1678352512, 1497323520, 1564436864, 1532340096, 1211146112, 1090427648, 1973880704, 1671764608, 1335499264, 1254729472, 1635684992, 1096632448, 1130186368, 1883086720, 1404868736, 1224292224, 1317785344, 1192955904, 1777376768, 1911077760, 1127349248, 1123774208, 1703564544, 1709174784, 1748892928, 1135723136, 1389260288, 1556652800, 1076007808, 1116111104, 1380444032, 1639146624, 1340896896, 1352455680, 1957564032, 1679345792, 1289107584, 2005625472, 1630297856, 2079750272, 1685804288, 1219575808, 1212973184, 1746284416, 2054409728, 1493371392, 1212854016, 1598474752, 1581931520, 1170380032, 1151631488, 1427917312, 1661715456, 1618453504, 2060266368, 2062120704, 1857564800, 1418192128, 1352176896, 1619561088, 1949138944, 1441091968, 1775177216, 1857467648, 1879406976, 2135768448, 1350837504, 1827196288, 1128778112, 1284101120, 1837435264, 1379598720, 1602552448, 1157419264, 1673536256, 1396833408, 1199821568, 1716995712, 1718554240, 1807656704, 1934913024, 1667132032, 1998614144, 1439414784, 1110137728, 1934903424, 1760741120, 2125013888, 1489652480, 1227693568, 2077093632, 1479785728, 1144178432, 1309578752, 1915855744, 1602138240, 1275675648, 1696516992, 1341637248, 1472283520, 1828114304, 1930109952, 2013484928, 1828743552, 1377940480, 1113452416, 1893408512, 1657174784, 1719707648, 1350733952, 1383144320, 1369281664, 1465713536, 1165943424, 1795262976, 1349685376, 1736637056, 1765811200, 1796128256, 1749459712, 1257304704, 1323543424, 2026045184, 1463348864, 1196455680, 1368436096, 1437988608, 1210263040, 1767487616, 1750787584, 1331600128, 1505650432, 1959055104, 1092211968, 1725491072, 1439871232, 1429487616, 2101401600, 1357093888, 1266410624, 1879666432, 2144863104, 1535594624, 1575159808, 1356574336, 1624243072, 1175880320, 2131337600, 2069059200, 1330506496, 2118663680, 1307611776, 1624381184, 1578061440, 1409673600, 1112685696, 1667900672, 1804310272, 1116795776, 1107373184, 1110894464, 1177258112, 2138439808, 1241369600, 1987365376, 1844277376, 1844465280, 2016202112, 1331929216, 1362701568, 1303163520, 1136123136, 1655411456, 1620405376, 1855974528, 1938389120, 1249903104, 1913934720, 1771160448, 1986228224, 1527953536, 2072227328, 1849732096, 1879181696, 1352377472, 1109863552, 1142026240, 1390400384, 1333781248, 2045522944, 1393752576, 1099876736, 2053504896, 1126413824, 1677848192, 1329834368, 1383279232, 1855049728, 1881877888, 1083508736, 1669124480, 1374440064, 1091573888, 2083357952, 1664039424, 1619594240, 1232851328, 1242606976, 2120417920, 1901867136, 1332123008, 1123291776, 1612108032, 1907520512, 1159436544, 1922707584, 1119519104, 1689192832, 1135989632, 1966654336, 1502431744, 1599581952, 1374150144, 1532316032, 1075793792, 1652987648, 1270194176, 1327292160, 1617495808, 1994793472, 1934663296, 1266304384, 1109468416, 2124330240, 1542739200, 1947506688, 1298214272, 1395387264, 1889433344, 1729512704, 1963269248, 1856029312, 1299823232, 1312054016, 1728585472, 1110536192, 1737646976, 1200573056, 1652567296, 1214950912, 1076749824, 1338800128, 1800562432, 1517175168, 1118215424, 1685851904, 1778972160, 1376574592, 1866349312, 1239663232, 1404032384, 1240619776, 1735232768, 1195124736, 1773387136, 1220845824, 1342189824, 1630933248, 1488150144, 1713058176, 1376418432, 1400806912, 1342788736, 1903553024, 1134568832, 1389371520, 1779681792, 1662640896, 2071562752, 1327597952, 1818077952, 1208832512, 1505431424, 1394034176, 1662474368, 2027194368, 1476341632, 1800681472, 1792581376, 1267458048, 2007496320, 1917584896, 1580540032, 1949453696, 1202716672, 1523614720, 1998569728, 2005773952, 1594304512, 2004378880, 1539037312, 1111510656, 1659598336, 1632401536, 1382430208, 1485698304, 1641055360, 1180656896, 1872069504, 1603373184, 2121919616, 1376665344, 1427430784, 1120072704, 1074340864, 2063704320, 1305017344, 1908972544, 1379276800, 1322300672, 1265255168, 1669992448, 1881471360, 1165004032, 1807902848, 1681652224, 1334012416, 1293291904, 1769553536, 1225669504, 1297064320, 1801930752, 2066594176, 1666853632, 1339094912, 1600494848, 1138976768, 1451118976, 1693408512, 1969485696, 1172798208, 1229649664, 1570774912, 1216730112, 1075363200, 1292107904, 1162084736, 1653197440, 1171595392, 1890125056, 1314848128, 1599003136, 1334657024, 1103486208, 1313504640, 1827845504, 1089196032, 1203367936, 2083210624, 1407221504, 1323313664, 1127654784, 1147304960, 1562890112, 1502652544, 1801540864, 1205659904, 1776542464, 1436003840, 1404289280, 1156486400, 1317624832, 2122338432, 1536492800, 1443489536, 1227735296, 1906356736, 1507956736, 1231716096, 1169876480, 2013419008, 1362639360, 1272686592, 1945957504, 1430245632, 1996992000, 1700127232, 1077998976, 1268563712, 1377485312, 1878530816, 1619224832, 1128242048, 1856963072, 1311516928, 1652701952, 1703947008, 1995139072, 2018270080, 1160550016, 2022270336, 1118321280, 1998766336, 1313080704, 1616238848, 1540454528, 1693562496, 1897899776, 2137425536, 1527881088, 1162180224, 1753053440, 2073698304, 1757214976, 1358756864, 1960628096, 1196392704, 1982152576, 1234608256, 1581364608, 1240372736, 1235743488, 1597586176, 1717230464, 1217660672, 1735449856, 1341936896, 1336713472, 1181205248, 1952998656, 1492077952, 1874017280, 1517384192, 1429475072, 1159049472, 1197890304, 1579115008, 2136366464, 1869692416, 1352736640, 1838886528, 1313910016, 1712105600, 1733947776, 1424979328, 1283638016, 2077312000, 1263104640, 1884422144, 1588400640, 1526558976, 1677586048, 1689010560, 1712540416, 2038121344, 1674945664, 1794773760, 2062624128, 1381171712, 1086274560, 1081524992, 1638529408, 1446935040, 1248472576, 1125834624, 1927752064, 1798857728, 1121620096, 1894521216, 1754805504, 1219616512, 1091129856, 1289603712, 1817555712, 1413002880, 1987712000, 1145143936, 1509538688, 1421092736, 1207348096, 1798789248, 1212091520, 2134167936, 1148542336, 1395517440, 1942997504, 1585958912, 1237085696, 1496105856, 1820701568, 1973920640, 1240783232, 1224217728, 1468869120, 1635354368, 1159002880, 1255270144, 1726673280, 1799747456, 1084690432, 1736327936, 1393381248, 1227643520, 1966796672, 1825993088, 2079534464, 2001585280, 1695126784, 2065697664, 1108874752, 1755939840, 1515299200, 1433168768, 1873332096, 1856444288, 1232215168, 1483564032, 1198867456, 1796871168, 1213506688, 1583386368, 1185238272, 1846112256, 1485621632, 1796487168, 1309472640, 1764347392, 1120327168, 1496949888, 1931958784, 1769464832, 1185296128, 1747486592, 2047073920, 1814414080, 1344913152, 1688666880, 2132273024, 1298706816, 2075861120, 2015116416, 1590140416, 1122214016, 1083630976, 1343856128, 1518258560, 1291888384, 1196797056, 1476584832, 2029429376, 1682197120, 1403304448, 1247512320, 1790083968, 2033661184, 1184752640, 1192274560, 1658592640, 1660272000, 1109349632, 2054958080, 1841989760, 1091462016, 1250645760, 1258109568, 1261616640, 1135850496, 1083778176, 1301132928, 1731973248, 1225171328, 2018508160, 1733493632, 1336719232, 1640648320, 2125677568, 1534447488, 2131636352, 1487977728, 1998415616, 1497258368, 1785192704, 1527073920, 1925267328, 1597599488, 1161821824, 1203425152, 1242344448, 1790096000, 1074693376, 1388138112, 1097964544, 1432723968, 1948348032, 1561021952, 1706595328, 1259288704, 1854205952, 1617187712, 1311565824, 1430378624, 1133094400, 1567694080, 1074637824, 1105179008, 2032574720, 2028178944, 1363553152, 1247062400, 2062678144, 2009279488, 1998979456, 1318933504, 1530430080, 2133742336, 1982753792, 1984192256, 1287353344, 1365593984, 1130527232, 1137233792, 1649063936, 1617863552, 1615549056, 1084753536, 1785454976, 1775051776, 1694503040, 1873994752, 1175042432}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {858, -1494, -1129, -2294, 1071, -1654, 246, 521, -611, -888, 1304, -544, -920, -4523, 184, -724, 341, 392, 866, -38, -1978, 125, 204, -689, -160, -1286, -832, -2027, -1164, -3054, -3, -177, 31, -1868, -302, -96, -923, -1927, -177, -1787, -553, -370, 2386, -407, -648, -1257, -1465, -2136, -259, -1064, -1246, 798, -1077, -889, 1888, 341, -851, 492, -3, -1876, -1483, -717, 405, -1207, 409, -319, -209, -2800, -530, 975, -181, -1000, -2453, -550, 273, 398, -2032, -75, 287, -1481, -824, -238, -755, -1833, -2479, -1202, -571, -433, 1399, -1250, -2418, 885, -406, -250, 143, -1205, -801, 1063, -756, -1275, -850, -2086, -34, -2336, -73, -1682, 113, -488, -214, -1123, -1180, 503, -294, -773, -1033, -359, -2278, -210, -1503, -879, -1790, -1799, -1755, -1732, 976, -1169, -324, -1735, -2256, -1735, -1270, 257, -311, 94, -2237, -649, -2313, -530, -1781, -672, -837, -2624, 767, -1824, 399, -2091, -287, -341, -1000, 354, -80, 1400, -1149, -2143, -729, -1473, -301, -245, -609, -1101, 18, 389, -841, -1545, -1477, -1438, 201, -2086, -398, -1998, -453, -857, -51, -1689, 443, -689, -2462, -826, 1499, 750, 452, -2064, 319, -311, -905, 288, -1224, -752, -2571, -1350, -1265, -1695, -226, -1461, -2039, -1684, -1299, 561, -415, -1406, -2106, -466, -1064, -1157, 318, 758, -1523, -3113, -2460, -1259, -1902, -612, -1689, -423, -1159, -775, 111, -700, 25, -625, -1164, -1265, 657, -611, -209, -1390, -853, -1418, -3276, -42, -112, 901, -351, -1082, -1654, -1789, -846, -1577, -154, -167, -1165, -1237, -2769, 85, -500, 68, 773, 437, -1153, -2328, -1856, -1324, 127, -1949, -421, 264, -1613, -1992, -493, -2828, 1311, 312, 555, 357, -988, 641, -769, -2754, -1918, -408, 316, -1424, -486, -267, -1215, -2918, -2433, -1391, 1683, -909, -1490, -1846, -2775, 427, -1822, -612, 507, -1264, -2003, -1589, -116, -254, -67, -919, -684, -934, -1209, -1512, -695, -2241, -1298, -1211, 251, -743, -768, -59, -1320, 387, -172, 384, -210, -1033, -1976, 76, 38, 1221, -771, -945, -1529, -1275, 1040, 118, -2702, -1529, -1889, -2514, -1736, 1596, -997, -996, -788, 963, -221, -2263, -423, 273, 715, -2983, -555, 967, -905, -1741, -1594, -37, 661, -2525, -1329, -1494, -324, -251, -1604, -672, -1733, -1461, -787, -549, -1095, -2036, -431, -481, -742, -796, -1950, -1032, 935, -2672, 118, -780, 255, -339, -412, 127, -1611, 533, 1320, -836, -639, -1461, 929, 825, -1453, -2335, -9, -2630, -966, -939, -750, -1558, -2442, -1368, -1623, -972, -341, -2484, -636, -1421, -388, -567, -354, 317, -61, -1341, -1763, -1275, -858, -714, -1417, -1603, -82, -1259, 55, -1162, -544, 1147, -1473, 316, -160, -1124, 705, 1758, -1614, 498, -1598, -1610, -2237, -3122, -432, -1711, -1325, -2017, -616, -2721, -787, -889, -1049, -1206, -85, -665, -1455, -711, -1257, -622, -866, -402, -218, -1103, -378, -1468, -2711, 170, -1111, -1180, -117, -2375, -1298, -2236, -1299, 257, 339, -1863, -1486, -1391, -1038, -326, -2245, -855, 204, -1816, -1618, -1504, -2577, -347, -345, -485, -999, -2188, 593, -1682, -624, 104, -1734, -1582, -1019, -1328, -2117, -3031, 598, -1763, -2562, -1350, -1307, 244, -798, -750, -1628, -2338, -620, -1210, 27, -2346, -782, -1938, -601, -3469, -1194, -639, -1610, 828, -1085, -2372, -764, -1222, -26, 622, -16, -1219, -1210, -788, -3364, -695, -398, 317, -1811, -1029, -444, 1596, -981, -2534, -394, -2490, -1698, -509, 909, 192, -1253, -1286, -326, 1591, 926, -1226, -400, 2, -3555, 165, -351, -2122, -1778, -2415, -2705, -645, 1130, 368, -1574, -1060, -3005, -1266, -424, -798, 1362, -1573, 55, 308, 142, -341, -2079, 1043, -2049, -1180, -2604, -667, 183, -1500, 32, -1032, -196, -540, -773, -462, -906, -1782, -577, 99, -355, -102, -464, -1485, -2885, -1869, 485, -497, 351, 1536, 147, -960, 639, -1453, -215, -408, -2031, -757, -433, -1033, -1117, -517, 1354, 1539, -1034, -1500, -260, -429, -3053, -2122, -1440, -1444, -1992, -778, -1036, 1237, -131, -923, -1050, 514, -775, 167, -328, -104, -609, -1684, -749, 601, -487, -2318, -1907, -863, -2319, 706, -2200, -1005, -667, -998, -844, -1376, -1316, -1450, -1448, -729, -642, -1300, -179, -1579, -396, -1116, -1966, -816, -1042, 742, -591, 339, -2002, -163, 458, -2679, -1600, -488, -1017, -496, -2135, -1396, -720, -756, 153, -308, -1443, -1777, -1690, -648, -186, -1497, -2905, 476, -2681, -2566, -2213, 644, -931, -936, -1299, -830, -1091, -2214, -263, -352, -1029, -555, -533, -62, -766, -63, -530, -1393, -291, 22, -487, -2006, -555, -829, -286, -1656, -1699, -2699, -771, -312, -2473, -3386, -636, 1152, -182, -672, -2218, -2022, -1849, -1938, -661, -357, -3534, -854, -956, -449, -2206, -1378, -113, 941, -1708, -998, 69, 708, -145, -1370, -2841, -582, -1463, -1242, -24, -825, -1138, -1980, -722, -1393, -1523, -1464, -1898, -2004, -334, -1194, -3015, -74, -2721, -1379, -210, 405, -575, 316, 1163, 399, 319, -467, -1311, -355} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-7, -8, -7, -8, -8, -10, -9, -8, -9, -8, -8, -8, -8, -7, -8, -8, -9, -8, -9, -7, -7, -8, -8, -7, -8, -9, -8, -6, -8, -8, -8, -8, -8, -8, -8, -8, -7, -8, -9, -8, -7, -7, -9, -8, -8, -8, -9, -9, -8, -9, -9, -8, -8, -7, -8, -9, -9, -8, -8, -6, -8, -7, -8, -9, -8, -7, -10, -8, -8, -9, -7, -10, -9, -8, -9, -8, -9, -8, -7, -9, -7, -8, -9, -8, -8, -8, -10, -8, -8, -10, -8, -7, -9, -9, -9, -9, -8, -8, -10, -7, -8, -8, -7, -7, -8, -8, -10, -7, -7, -9, -8, -7, -8, -7, -7, -8, -8, -8, -8, -8, -8, -8, -8, -8, -9, -8, -5, -8, -7, -8, -8, -8, -8, -8, -8, -10, -8, -8, -9, -8, -8, -7, -8, -7, -10, -7, -9, -8, -8, -9, -7, -9, -7, -9, -9, -7, -9, -8, -9, -7, -9, -9, -8, -8, -6, -8, -11, -8, -8, -7, -8, -9, -8, -9, -9, -8, -7, -9, -9, -9, -9, -8, -8, -8, -7, -9, -8, -8, -8, -7, -7, -8, -8, -10, -8, -8, -8, -7, -9, -8, -7, -7, -10, -9, -8, -8, -9, -8, -7, -10, -8, -6, -8, -9, -9, -8, -7, -9, -7, -8, -7, -8, -7, -8, -8, -8, -8, -8, -8, -9, -7, -9, -9, -9, -9, -8, -8, -7, -8, -9, -8, -7, -8, -8, -8, -7, -8, -8, -11, -9, -8, -7, -8, -10, -10, -9, -9, -8, -8, -7, -9, -8, -8, -8, -7, -8, -7, -9, -8, -8, -8, -8, -8, -9, -7, -8, -9, -8, -8, -9, -9, -9, -9, -8, -9, -10, -8, -8, -7, -7, -10, -8, -9, -8, -8, -8, -7, -9, -8, -8, -7, -7, -9, -8, -9, -7, -8, -10, -8, -9, -8, -8, -7, -7, -8, -8, -8, -7, -9, -7, -8, -8, -8, -7, -9, -8, -8, -8, -9, -9, -8, -8, -8, -9, -8, -9, -9, -8, -8, -9, -9, -8, -8, -7, -8, -8, -7, -7, -7, -8, -9, -8, -8, -7, -9, -8, -8, -7, -8, -8, -8, -7, -9, -10, -8, -8, -8, -7, -7, -9, -8, -7, -8, -9, -8, -8, -8, -7, -8, -8, -7, -8, -8, -9, -8, -6, -8, -8, -9, -8, -7, -9, -9, -8, -8, -7, -7, -9, -8, -8, -9, -7, -7, -10, -8, -9, -8, -7, -9, -8, -7, -7, -8, -5, -8, -10, -8, -9, -8, -9, -8, -8, -8, -9, -7, -8, -8, -7, -8, -8, -8, -8, -9, -9, -7, -9, -8, -8, -8, -8, -9, -9, -8, -9, -9, -8, -9, -8, -9, -8, -8, -8, -8, -8, -9, -8, -7, -7, -7, -9, -8, -7, -8, -8, -7, -8, -7, -9, -6, -8, -8, -8, -8, -8, -7, -8, -7, -7, -7, -7, -8, -8, -8, -8, -7, -8, -7, -7, -8, -8, -10, -8, -8, -9, -8, -8, -7, -6, -8, -8, -8, -8, -8, -8, -8, -8, -7, -10, -8, -8, -7, -8, -7, -8, -7, -10, -9, -8, -8, -8, -8, -8, -9, -9, -8, -9, -7, -7, -9, -9, -9, -9, -9, -8, -9, -9, -10, -8, -8, -8, -10, -9, -8, -9, -8, -8, -7, -8, -8, -8, -8, -8, -9, -8, -9, -7, -8, -9, -8, -7, -8, -9, -8, -9, -7, -9, -8, -7, -8, -8, -7, -8, -9, -9, -8, -7, -8, -9, -8, -7, -9, -8, -8, -10, -8, -7, -8, -8, -9, -8, -8, -8, -8, -7, -7, -8, -7, -9, -8, -9, -8, -8, -8, -7, -8, -7, -9, -9, -8, -7, -7, -7, -7, -7, -7, -9, -9, -9, -11, -8, -9, -8, -8, -7, -9, -8, -7, -7, -7, -9, -9, -8, -7, -7, -8, -8, -7, -8, -7, -6, -8, -9, -8, -8, -8, -8, -8, -7, -8, -8, -8, -8, -8, -8, -8, -9, -7, -8, -8, -8, -8, -8, -9, -9, -8, -9, -8, -9, -8, -8, -8, -8, -8, -8, -9, -9, -9, -8, -8, -8, -8, -8, -8, -10, -7, -8, -8, -8, -7, -9, -8, -8, -8, -7, -8, -8, -9, -7, -8, -7, -8, -9, -11, -7, -8, -8, -10, -8, -8, -9, -9, -8, -8, -8, -8, -9, -9, -10, -7, -9, -8, -8, -9, -8, -9, -7, -9, -8, -8, -8, -9, -8, -8, -7, -7, -9, -7, -7, -8, -7, -10, -8, -8, -8, -9, -8, -8, -8, -7, -7, -8, -7, -9, -9, -8, -7, -8, -8, -8, -8, -8, -9, -8, -8, -7, -8, -8, -8}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1398930432, 1391881216, 1387409408, 1244232832, 2062136704, 1416086144, 1292367488, 1388816768, 1438083840, 1375595264, 1127852288, 1439244288, 1329837568, 1215655936, 1615115904, 1394087680, 1606734720, 1141165440, 1283988096, 1691052672, 1183668480, 1462335232, 1461612672, 1524844416, 1371572992, 1545469312, 1295501824, 1075185664, 1164417024, 1218200448, 1278146688, 1207427584, 1124894976, 1122998272, 1354033664, 1355742208, 1284610176, 2140456192, 1289314432, 1451793664, 1525469568, 2103947776, 1325448576, 1301751296, 1327879040, 1128284544, 1337869184, 1240380672, 1128359424, 1255499776, 1578981248, 1505612288, 1764623744, 1515519360, 1337663360, 1364549504, 1653008896, 1161564160, 1246165248, 1332651648, 1366548992, 1366929792, 1319270656, 1342068096, 1307753984, 1197217408, 1482256256, 1362461952, 1294065408, 1168447232, 1203068032, 1725981568, 1182126080, 1338853632, 1222831744, 1117005184, 1228226176, 1241017344, 1328632704, 1377961344, 1270198656, 1267523072, 1309839104, 1165339008, 1243259136, 1306651264, 1452089600, 1371363456, 1132333184, 1664093952, 1219579264, 1236100480, 1140737920, 1678089344, 1288090240, 1527089152, 1369849856, 1298536576, 1761474944, 1341848192, 1662919168, 1411798144, 1357196544, 1075248512, 1173777280, 1147933184, 1734315136, 1186822656, 1560894336, 1293751680, 1156338944, 1527611776, 1451218048, 1229413504, 1521025536, 1335696000, 1229091072, 1141219200, 1205642752, 1088405760, 1267233920, 1361428480, 1186678144, 1392628096, 1877451008, 1267089920, 1937393152, 2043448320, 1311499648, 1261412096, 1268850816, 1404011136, 1259972864, 1329467264, 1163998976, 1447269760, 1443271296, 1250183168, 1549692160, 1237335808, 1302105984, 1082648576, 1346628608, 1197972736, 1251314048, 1388493568, 1271305984, 1172499968, 1238996224, 1421600512, 1169089024, 1647865984, 1421385856, 1143860736, 1450683904, 1203286784, 1238790656, 1350760832, 1567170688, 1375488640, 1448078464, 1850893952, 1340680832, 1261619712, 1367956736, 1173754752, 1827361920, 1339724544, 1306719872, 1332770816, 1276825728, 1618660480, 1285652352, 1215456640, 1154830464, 1389868416, 1290918272, 1240420992, 1275420800, 1340607360, 1222279168, 1361199872, 1367662080, 1300559232, 1286060672, 1623026560, 1428999040, 1192908160, 1160689280, 1115640064, 1146011648, 1090387840, 1172629760, 1407114496, 1201288704, 2126583168, 1287509760, 1255828608, 1193683072, 1302941952, 1416058752, 1510623104, 1572631296, 1365401984, 1243890944, 1117507584, 1210597248, 2111160704, 1138275456, 1833043584, 1191745280, 1867472640, 1205289856, 1426763776, 1547779712, 1343933440, 1452700544, 1357099136, 2096487936, 1405062912, 1192397440, 1305436800, 1298254848, 1612579840, 1777012352, 2142164864, 1169266944, 1206629376, 1203247744, 1247004160, 2056615296, 1303106048, 1560102528, 1257656448, 1516054656, 1469433600, 1446571392, 1239975424, 1404035200, 1289896576, 1411082240, 1300163328, 1126571520, 1696252544, 1461891584, 1603317760, 1316301824, 1252492672, 1905743232, 1267923328, 1208270976, 1220054784, 1363569664, 1380054784, 1856877056, 1417489280, 1468536832, 1196387712, 1190992512, 1383342848, 1191224704, 1234969984, 1423720448, 1330092672, 1266192512, 1835694208, 1120883328, 1146473216, 1235342208, 1495156480, 1335328896, 1264143360, 1309965824, 1574244096, 1405891200, 1253610112, 1194579584, 1223607808, 1290185856, 1289721600, 1219245696, 1633454976, 1193807488, 1698838016, 1074758784, 1409637760, 1370699008, 1240257536, 1233471744, 1148320896, 1666852864, 1368196608, 1442104832, 1416510592, 1359549440, 1566959488, 1206002304, 1272610176, 1195921408, 1263019264, 1266554368, 2045854208, 1198206976, 1488697472, 1402033152, 1727674880, 1337421440, 1881100288, 1298593152, 1369809536, 1311462272, 1279046656, 1295351552, 1279588864, 1874609664, 1109892864, 1260621056, 1155498752, 1376808192, 1194500480, 1152297344, 1589665664, 1089681536, 1388860672, 1262277888, 1096459648, 1414500352, 1144460800, 1277780480, 1406922496, 2086976256, 1275535488, 1158605952, 1128627840, 1079450368, 1421442816, 1243216896, 1183913088, 1578589568, 1325726208, 1326949248, 1200704768, 1315746816, 1370581120, 1343171072, 1204919936, 1345017472, 1439715200, 1316630144, 1701152256, 1363370880, 1281072000, 1142715904, 1164752896, 1727977984, 1478572416, 1211985664, 1074013696, 1455480064, 1490553728, 1403867776, 1251163008, 1551244288, 1946408704, 1427912960, 1262095744, 1292323968, 1364908416, 1285975936, 1581596928, 1166493568, 1267148288, 1449447552, 1173928704, 1308906880, 2042150528, 1355820288, 1348404992, 1165149312, 1278442496, 1387116032, 1112757504, 1391149952, 1420525184, 1276051712, 1417142656, 1158897152, 1491590528, 1354090496, 1170354304, 1337592320, 1323636992, 1578265472, 1198778240, 1414821760, 1314956672, 1249061120, 1167979264, 1714459648, 1099433088, 1705745152, 1746898048, 1310535680, 1516921088, 1166726528, 1285116416, 1249754112, 1403212032, 1165444864, 1347002624, 1238843136, 1440496768, 1527304192, 1690480384, 1258824320, 1696172544, 1339009408, 1327781760, 1111920128, 1156274944, 1149620864, 1215763072, 1146157184, 1250940032, 1419699712, 1192459776, 2140466432, 1179467392, 1240481408, 1197244672, 1787256576, 1233750912, 1290223872, 1356112896, 1315737856, 1417687808, 1217624192, 1104944128, 1165231616, 1326844928, 1197873280, 1521235584, 1405587840, 1595228416, 1345860736, 1090661120, 1299204736, 1279569024, 1496672384, 1305583872, 1491708160, 1175365376, 1211814272, 1082959104, 1385104256, 1081017088, 1719296128, 1422936576, 1247159808, 1278947584, 1125656960, 1349161216, 1309207424, 1209888384, 1306966016, 1210227712, 1135183232, 1537429760, 1534386560, 1139315072, 1218781056, 2125284480, 1332447232, 1179700864, 1318098688, 2091409024, 1183088896, 1290257280, 1327477248, 1121412352, 1204749184, 1141342080, 1404860928, 1658874112, 1496838656, 1225981952, 1379166720, 1254456448, 1426471680, 1335368832, 1136231168, 1312648960, 1171529088, 1469562240, 2070646784, 1289601920, 1127351552, 1610929920, 1377465344, 1235025152, 1242357376, 1244534528, 1164939648, 2112810624, 1369276288, 1193844352, 1144176512, 1375037568, 1249434112, 1182034560, 1331087360, 1373835392, 1242963456, 1284956672, 1350914944, 1944474368, 1181793792, 1435993856, 1315174016, 1381159552, 1289436288, 1222599424, 1235435392, 1253502336, 1267237120, 1272192000, 1627718656, 1129201664, 1380375168, 1200554880, 1513838336, 1307987584, 1485542656, 1555748992, 1093889792, 1230012800, 1382167424, 1204236672, 1261561856, 2102096768, 1829371392, 1185650304, 1222275840, 1495450624, 1292678528, 1124694016, 1461776768, 1301498112, 1447245824, 1176743552, 1526013056, 1577080064, 1237585408, 1268950144, 1333290112, 1336480768, 1319031552, 1323900544, 1159100288, 1152675072, 1241757312, 1282953216, 1168432768, 1595096960, 1180883200, 1256369408, 2056822400, 1170744576, 1251431552, 1206893184, 1312029440, 1113662848, 1241710464, 1366870912, 1272334208, 1384887552, 1229391232, 1468645120, 1268340352, 1345915136, 1455458048, 1214276224, 1385377024, 1469940224, 1457725696, 1259234816, 1407809792, 1195226240, 1126259072, 1245260160, 1293440000, 1250918656, 1173383424, 1401168384, 1512877184, 1268328320, 1119615232, 1499919488, 1442771712, 1211974912, 1202307072, 1378568320, 1272213632, 1449779712, 1119792640, 1135605888, 1435360384, 1252616960, 1591335936, 1165494400, 1140033664, 1140035712, 1269236864, 1210468352, 1436687360, 1468285824, 1671924352, 1262750336, 1834713728, 1260777344, 1330279552, 1207090304, 1348657664, 1258450176, 1453733248, 1084272512, 1527359744, 1221575168, 1460953728, 1338757504, 1690718208, 2131472512, 1217660928, 1306027136, 1181640320, 1391683328, 1189898496, 1401509504, 1162786944, 1524763136, 1260193664, 1229581440, 1458810880, 1141742464, 1455433984, 1092984192, 1278855168, 1365345024, 1097794304, 1311813760, 1363846016, 1118906112, 1169688448, 1284536832, 1277779840, 1315806080, 1208369920, 1233522048, 1308190592, 1190632960, 1353694592, 1384509696, 1651709312, 1460844160, 1455160704, 1518917632, 1339528448, 1345294592, 1244736896, 1253875200, 1804982528, 1220320256, 1231357696, 1087265920, 1357580672, 1496882304, 1371515392, 1259167616, 1265979136, 1391610880, 1202734720, 1280141056, 1196075264, 1790597248, 1201483264, 1350216576, 1250803328, 1276177152, 1221463424, 1249511168, 1694635136, 1555484672, 1350486912, 1290120192, 1368640128, 1239462144, 1248655488, 1313999488, 1488356736, 1242136576, 1340244736, 1112078208, 1996222336, 1363822080, 1310705024, 1367236992, 1641585280, 1308030848, 1331753216, 1128673152, 1619420416, 1314835456, 1311471232, 1268543360, 1429619072, 1255310848, 1395327488, 1494841984, 1156283008, 1328188544, 1155687296, 1354329600, 1569619584, 1195520896, 1248659200, 1385322752, 1380310912, 1188277376, 1106870912, 1397384192, 1571859840, 1148931200, 1366988416, 1360108416, 1295846912, 1300082304, 1147691136, 1473457792, 1198358528, 1624567936, 1951997056, 1156711168, 1205017216, 1373509888, 1256925440, 1282275968, 1303330944, 1204401024, 1258054784, 1632782080, 1328279424, 1359886720, 1283577600, 1317952000, 1246570368, 1248496128, 1318569728, 1143367040, 1215119744, 1293498752, 1252063104, 1420783488, 1336723328, 1275821952, 1391170816, 1204792192, 1199248384, 1305305088}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-155, 150, -424, -550, 123, 155, -185, 126, -91, -141, -302, -252, -223, -149, -116, -238, -124, -210, 71, -273, -125, 207, -35, 74, 52, -74, 47, -131, 84, 33, 207, -2, 147, -443, -65, -580, -100, -330, 150, -78, -68, 144, 127, -386, 56, 42, 135, -52, -365, -207, 60, -160, 380, 236, -43, -47, 7, -170, 222, 241, 80, 278, -13, 267, 264, 185, -117, -79, 10, 56, -311, 62, -63, 187, -127, 303, 75, 347, 349, 285, -464, 23, -2, -773, -252, 132, -288, -12, -60, 300, -139, -166, 115, -123, 7, -449, -30, -236, -680, -321, -138, -463, 96, 304, 186, -170, 90, -44, -415, -630, -457, 629, 77, -53, 17, -795, -308, -51, -17, 41, -67, -266, -135, -340, -25, -300, -238, -302, -317, -141, -419, -391, -149, 96, -447, -651, -278, -318, -334, -339, -448, -92, -464, -272, -358, -224, -44, -233, -448, -320, -62, 308, -646, 273, 112, 120, 144, -154, -308, -122, -157, 423, 440, 51, 18, -190, -210, -493, 26, -66, 136, 503, 31, -12, 287, -458, -169, -179, 431, 63, 1, -99, 296, -163, 212, 265, -73, 20, -75, 194, -110, 348, 52, -197, -116, 445, 51, -11, -272, 284, -564, -37, 324, 352, 326, -88, -321, 46, -22, 513, -132, 4, 20, -98, 86, -147, -91, 502, 314, 97, -122, -343, -78, 814, -354, 380, 53, -15, -384, 380, 68, -102, -9, 83, 178, -25, 248, 336, 308, 561, -90, -212, 169, -67, -132, 255, -231, 238, -101, -187, 47, 246, -170, -244, 516, -104, 59, 282, 131, 18, 259, 8, -114, 160, 89, 218, 36, -80, -439, -150, 170, -264, -27, -77, -255, -305, -137, -259, -406, -30, -324, 633, -344, -163, 289, 172, -79, 48, -124, 12, -91, -277, -134, -214, 6, -29, -14, -76, -112, 180, -287, -162, -251, -184, -292, 420, 246, -161, -206, -117, -154, -54, 165, 459, 338, 190, -10, -275, -80, -4, -198, -679, -650, -525, -348, -485, -512, -102, -182, -179, -81, 52, 166, 34, 4, -313, 255, -178, -58, -79, -60, -154, -279, -214, -167, -73, 94, -81, -63, -169, -3, -362, -373, -156, 155, -132, -65, -140, 38, 292, 10, 143, 45, 39, 75, -177, -78, 508, -140, -122, -187, -429, -99, 113, -229, -160, -96, -14, 258, 113, -224, -25, 1, 18, -418, -161, -96, -317, -215, -106, -179, 31, -405, -537, -116, -101, -504, -215, -62, 429, -135, 344, 119, -164, -711, 196, -110, -257, -465, -365, -20, -18, 194, 244, 58, -166, 303, -205, 229, 197, -89, 171, 48, 476, 215, 80, -534, -137, 54, -68, -83, -59, 48, 81, -127, 24, 126, -198, -49, -188, 291, 11, 15, -15, 79, 456, 259, 152, 459, 29, 64, 1, 68, 99, 105, 221, 161, 283, -119, 305, 31, 140, 314, 34, 640, 142, -155, -175, 419, -113, 215, 4, -203, 223, -271, 14, -363, 163, -19, -95, 96, 111, -95, -13, -330, -97, -26, 331, 25, 431, -587, 16, 271, -25, 11, -332, 46, -347, 69, 153, -204, 229, 73, -43, 192, 254, 108, -155, -108, -226, -228, 150, -114, -33, 50, 132, -103, -197, -109, 297, -233, -112, 127, 421, -72, -176, 27, -159, -151, 392, 304, -159, 91, -62, -91, -112, -136, -28, -80, 347, -318, -102, 126, 35, -157, 413, 6, -678, -278, 352, -159, 142, 14, 93, -199, -217, -236, 91, 94, 140, -79, 3, -7, 472, -229, -211, -231, 151, 53, -42, -62, -132, 189, 20, 286, 46, -116, 152, -14, 380, -96, -96, 35, -34, 473, 181, -318, 450, 213, 238, -66, 86, -56, 220, 119, -440, 278, 308, -253, 108, 340, -13, 56, 106, 41, 91, 249, -102, 303, -125, 198, -122, -98, 82, -55, 72, 302, 181, 201, -408, 277, 126, 118, 810, 208, -144, 305, 354, -109, 431, 384, 8, 237, 272, 128, -182, 199, -19, 103, -242, -514, -104, 72, 58, 501, -151, 416, -332, 87, 55, 301, 76, -2, 122, 175, 764, 13, 41, 85, 104, 150, -367, 208, -68, 185, 259, 167, 63, -463, -242, 116, 419, 79, 256, 249, -124, -83, 508, 351, -20, -58, 135, 33, 371, -2, -259, 244, -282, -349, -267, -275, 47, 370, -389, -203, 283, 392, 43, -6, 21, 289, -272, -18, 435, 404, -406, 121, 49, -250, 5, -193, 429, 124, 217, 330, -146, 609, -266, 331, 274, 81, -106, 113, -9, -289, -128, 328, -228, 71, 92, -57, 283, 243, 165, -339, -110, -26, 222, 144, 87, -88, -64, -55, 240, -185, 53, 32, 64, 112, 349, 206, 134, 325, 227, -148, -295, 131, -190, 136, -59, 217, 212, -129, 104, 340, 301, -202, -8, -194, 303, 67, -152, 89, 149, 325, 13, 145, 608, -247, -217, -244, -203, 1, 262, 305, 365, 95, -114, 119, 12, -329, 238, 77, -5, 84, -260, 38, 26, -224, 287, -429, 84, -275, -125, 4, 83, -81, -75, 36, -94, -304, -128, 101, 92, -188, -36, 145, 48, 49, 78, -331, -99, 140, 380, 339, 25, -155, -216, 322, -367, 123, 210, -139, -108, 502, -321, 276, 271, 280, 111, 92, 18, 108, 73, 371, 547, -140, -128, 104, -38, 250, 10, 181, -92, -205, 375, -529, -250, 299, 348, -106, 339, -186, -17, -280, -110, -253, -141, 429, -52, 102, -366, 154, -226, -684, 58, 155, -120, -255, 421, 496, 183, 249, 245, 17, 900, -445, -388, -8, 68, -37, -152, 411, 217, 5, 74, 172, 226, 369, 145, -211, -110, 90, 331, 197, 444, 383, 474, -207, 53, 292, 484, 30, 130, -233, -94, -328, -200, -102, 552, 218, 59, -150, 64, -440, -239, -424, -150, -54, 383, 192, -160, 4, -467, -45, -234, 147, -77, -196, -163, -97, -58, -51, -213, -345, -143, -365, -234, 28, -99, -107, -48, 177, -75, 73, -8, -78, -150, 60, -577, -33, 173, -293, -225, -431, 33, 295, 116, 53, -193, -88, 303, 169, -199, 223, 326, 226, 392, 161, 33, 390, -19, 348, -486, 80, 156, -341, 139, -140, -267, 19, -192, -280, -821, -107, -466, -81, -215, 30, 156} +#define FC28_W_Z (9) +#define FC28_IN_Z (0) + + +#endif /*__224_0_75_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/224_1_0_parameters.h b/Inc/intq-mobilenet-v1-models-pc/224_1_0_parameters.h new file mode 100644 index 0000000..77a1ab5 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/224_1_0_parameters.h @@ -0,0 +1,361 @@ +#ifndef __224_1_0_PARAMETERS_H__ +#define __224_1_0_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (224) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (32) +#define CONV1_OUT_DIM (112) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (112) +#define CONV2_IM_CH (32) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (32) +#define CONV2_OUT_DIM (112) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (112) +#define CONV3_IM_CH (32) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (64) +#define CONV3_OUT_DIM (112) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (112) +#define CONV4_IM_CH (64) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (64) +#define CONV4_OUT_DIM (56) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (56) +#define CONV5_IM_CH (64) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (128) +#define CONV5_OUT_DIM (56) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (56) +#define CONV6_IM_CH (128) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (128) +#define CONV6_OUT_DIM (56) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (56) +#define CONV7_IM_CH (128) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (128) +#define CONV7_OUT_DIM (56) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (56) +#define CONV8_IM_CH (128) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (128) +#define CONV8_OUT_DIM (28) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (28) +#define CONV9_IM_CH (128) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (256) +#define CONV9_OUT_DIM (28) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (28) +#define CONV10_IM_CH (256) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (256) +#define CONV10_OUT_DIM (28) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (28) +#define CONV11_IM_CH (256) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (256) +#define CONV11_OUT_DIM (28) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (28) +#define CONV12_IM_CH (256) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (256) +#define CONV12_OUT_DIM (14) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (14) +#define CONV13_IM_CH (256) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (512) +#define CONV13_OUT_DIM (14) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (14) +#define CONV14_IM_CH (512) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (512) +#define CONV14_OUT_DIM (14) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (14) +#define CONV15_IM_CH (512) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (512) +#define CONV15_OUT_DIM (14) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (14) +#define CONV16_IM_CH (512) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (512) +#define CONV16_OUT_DIM (14) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (14) +#define CONV17_IM_CH (512) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (512) +#define CONV17_OUT_DIM (14) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (14) +#define CONV18_IM_CH (512) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (512) +#define CONV18_OUT_DIM (14) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (14) +#define CONV19_IM_CH (512) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (512) +#define CONV19_OUT_DIM (14) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (14) +#define CONV20_IM_CH (512) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (512) +#define CONV20_OUT_DIM (14) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (14) +#define CONV21_IM_CH (512) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (512) +#define CONV21_OUT_DIM (14) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (14) +#define CONV22_IM_CH (512) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (512) +#define CONV22_OUT_DIM (14) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (14) +#define CONV23_IM_CH (512) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (512) +#define CONV23_OUT_DIM (14) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (14) +#define CONV24_IM_CH (512) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (512) +#define CONV24_OUT_DIM (7) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (7) +#define CONV25_IM_CH (512) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (1024) +#define CONV25_OUT_DIM (7) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (7) +#define CONV26_IM_CH (1024) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (1024) +#define CONV26_OUT_DIM (7) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (7) +#define CONV27_IM_CH (1024) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (1024) +#define CONV27_OUT_DIM (7) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (1024) +#define FC28_OUT_CH (1000) + + +#endif /*__224_1_0_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models-pc/224_1_0_weights_bias.h b/Inc/intq-mobilenet-v1-models-pc/224_1_0_weights_bias.h new file mode 100644 index 0000000..5474332 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models-pc/224_1_0_weights_bias.h @@ -0,0 +1,556 @@ +#ifndef __224_1_0_WEIGHTS_BIAS_H__ +#define __224_1_0_WEIGHTS_BIAS_H__ + + +/* Layer1 weights and bias */ +#define CONV1_BIAS {-1184, 37926, -2187, -255, 6301, 9263, 448, 111131, -204, -2236, -514, 14123, 16585, 45686, 386, 14021, -7732, 52100, 10137, 20210, -320, -289, -987, 54248, -1145, 29218, 85270, -249, 8635, 8601, -213, 34929} + +#define CONV1_WT \ +{136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +53, 44, 83, 136, 78, 68, 97, 136, 136, 131, 130, 136, 113, 122, 132, 136, 109, 116, 126, 136, 125, 134, 133, 136, 123, 130, 122, 136, 123, 124, 130, 136, 134, 137, 138, 136, \ +169, 111, 104, 136, 192, 109, 99, 136, 163, 125, 111, 136, 198, 110, 100, 136, 220, 111, 98, 136, 168, 118, 109, 136, 173, 117, 104, 136, 179, 117, 108, 136, 148, 130, 113, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +138, 135, 132, 136, 136, 131, 135, 136, 184, 196, 161, 136, 138, 135, 132, 136, 57, 25, 90, 136, 167, 178, 149, 136, 157, 161, 145, 136, 101, 96, 119, 136, 159, 157, 141, 136, \ +137, 135, 134, 136, 169, 181, 155, 136, 93, 80, 105, 136, 147, 147, 142, 136, 197, 216, 167, 136, 74, 65, 100, 136, 147, 137, 139, 136, 185, 184, 161, 136, 89, 96, 107, 136, \ +135, 136, 134, 136, 134, 135, 134, 136, 135, 136, 134, 136, 136, 136, 135, 136, 134, 135, 134, 136, 136, 136, 135, 136, 136, 136, 135, 136, 135, 135, 134, 136, 137, 136, 134, 136, \ +125, 136, 243, 136, 115, 114, 254, 136, 123, 110, 198, 136, 119, 136, 255, 136, 131, 128, 254, 136, 138, 116, 201, 136, 104, 128, 196, 136, 120, 112, 213, 136, 140, 111, 159, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +35, 0, 78, 136, 218, 248, 184, 136, 147, 155, 141, 136, 50, 27, 94, 136, 218, 244, 177, 136, 144, 148, 140, 136, 112, 109, 124, 136, 166, 159, 150, 136, 128, 127, 131, 136, \ +94, 151, 191, 136, 89, 150, 188, 136, 102, 141, 171, 136, 81, 144, 189, 136, 76, 143, 183, 136, 102, 142, 175, 136, 106, 146, 181, 136, 102, 143, 171, 136, 112, 135, 158, 136, \ +203, 7, 215, 136, 211, 0, 191, 136, 158, 74, 163, 136, 208, 0, 208, 136, 226, 11, 162, 136, 140, 100, 167, 136, 189, 27, 199, 136, 190, 47, 166, 136, 126, 131, 154, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 135, 136, 136, 136, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +165, 171, 149, 136, 164, 171, 147, 136, 145, 140, 140, 136, 68, 34, 96, 136, 68, 33, 100, 136, 121, 112, 118, 136, 169, 174, 154, 136, 166, 182, 150, 136, 141, 146, 143, 136, \ +151, 124, 107, 136, 211, 184, 143, 136, 167, 124, 105, 136, 161, 122, 110, 136, 199, 155, 125, 136, 180, 128, 117, 136, 168, 127, 128, 136, 164, 109, 107, 136, 164, 109, 120, 136, \ +254, 135, 114, 136, 254, 104, 94, 136, 209, 110, 96, 136, 254, 120, 101, 136, 254, 98, 99, 136, 214, 114, 113, 136, 201, 121, 101, 136, 202, 106, 115, 136, 186, 120, 126, 136, \ +98, 136, 183, 136, 94, 131, 187, 136, 96, 129, 171, 136, 86, 132, 190, 136, 84, 129, 194, 136, 95, 137, 187, 136, 96, 136, 169, 136, 94, 132, 171, 136, 107, 143, 173, 136, \ +114, 103, 123, 136, 157, 173, 147, 136, 138, 128, 133, 136, 204, 246, 190, 136, 50, 1, 58, 136, 152, 159, 162, 136, 171, 180, 142, 136, 71, 53, 131, 136, 174, 180, 140, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +111, 99, 97, 136, 197, 192, 162, 136, 190, 182, 159, 136, 194, 196, 191, 136, 89, 87, 123, 136, 30, 26, 85, 136, 101, 104, 112, 136, 122, 134, 127, 136, 181, 190, 162, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +45, 20, 81, 136, 76, 63, 98, 136, 145, 145, 142, 136, 77, 61, 97, 136, 98, 89, 111, 136, 144, 145, 147, 136, 152, 150, 138, 136, 145, 148, 137, 136, 145, 148, 148, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +127, 134, 129, 136, 134, 157, 145, 136, 146, 175, 163, 136, 143, 142, 134, 136, 167, 178, 157, 136, 150, 170, 149, 136, 129, 120, 120, 136, 119, 131, 127, 136, 120, 151, 151, 136, \ +171, 47, 141, 136, 183, 29, 169, 136, 174, 82, 166, 136, 184, 42, 138, 136, 191, 9, 157, 136, 183, 60, 160, 136, 166, 100, 138, 136, 181, 68, 166, 136, 172, 107, 167, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +58, 27, 96, 136, 78, 54, 102, 136, 171, 180, 155, 136, 173, 203, 167, 136, 140, 153, 147, 136, 134, 124, 134, 136, 177, 184, 160, 136, 177, 192, 158, 136, 113, 109, 121, 136, \ +131, 128, 130, 136, 143, 141, 143, 136, 134, 126, 132, 136, 131, 142, 139, 136, 129, 147, 148, 136, 126, 137, 141, 136, 125, 143, 135, 136, 130, 158, 155, 136, 130, 150, 150, 136, \ +136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, \ +163, 175, 155, 136, 234, 254, 196, 136, 232, 248, 195, 136, 125, 118, 123, 136, 113, 95, 113, 136, 120, 106, 117, 136, 125, 125, 120, 136, 116, 110, 113, 136, 117, 110, 116, 136} + +#define CONV1_W_Z (136) +#define CONV1_IN_Z (0) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1362347904, 1249787904, 1246434176, 1087344640, 1380389120, 1309298048, 1929699072, 1212727936, 1176849664, 1475720064, 1138506240, 1881448704, 1925620736, 1725419904, 1912742016, 1155661824, 1932207104, 1895287040, 1278542848, 1156866688, 1162923776, 1631301120, 1467689088, 1232602624, 1213067520, 1844125568, 1217895552, 1159044608, 1559450240, 1121125376, 1124509184, 2073477120}; +static const int8_t CONV1_N_ZERO[] = {7, 11, 10, 6, 9, 9, 8, 12, 6, 8, 6, 10, 10, 12, 7, 9, 10, 12, 9, 10, 6, 10, 6, 11, 6, 11, 11, 6, 9, 9, 6, 11}; + +/* Layer2 weights and bias */ +#define CONV2_BIAS {42, 52, 30, -4, 84, 199, 39, 58, -11, -1, -4, 679, 255, 25, 43, 358, 34, 1855, 232, 46, -1, 373, -1, 180, 0, 68, 749, -1, 464, 142, -3, 584} + +#define CONV2_WT \ +{147, 163, 117, 102, 101, 200, 101, 128, 140, 155, 136, 125, 132, 138, 120, 126, 126, 132, 135, 135, 123, 99, 144, 129, 115, 126, 133, 130, 125, 114, 115, 136, \ +141, 184, 140, 103, 139, 77, 111, 125, 142, 150, 124, 136, 128, 113, 134, 0, 143, 120, 116, 172, 114, 100, 143, 129, 115, 135, 123, 128, 112, 107, 112, 121, \ +149, 149, 122, 99, 129, 122, 112, 130, 143, 149, 129, 129, 128, 133, 131, 139, 129, 132, 133, 126, 109, 127, 139, 126, 118, 127, 128, 120, 129, 131, 121, 133, \ +132, 141, 139, 116, 159, 157, 100, 133, 144, 151, 131, 161, 133, 99, 124, 138, 163, 107, 118, 121, 123, 106, 147, 255, 134, 94, 109, 123, 104, 120, 112, 40, \ +138, 141, 168, 106, 114, 89, 116, 182, 139, 148, 140, 47, 91, 193, 127, 230, 180, 59, 102, 95, 125, 108, 142, 132, 141, 109, 86, 121, 196, 111, 104, 23, \ +143, 150, 133, 111, 128, 137, 123, 127, 145, 142, 130, 138, 136, 112, 126, 128, 146, 111, 130, 128, 120, 123, 136, 0, 127, 135, 134, 116, 121, 126, 110, 138, \ +145, 85, 122, 113, 130, 121, 103, 125, 131, 132, 131, 123, 127, 134, 142, 123, 146, 140, 132, 128, 138, 119, 137, 183, 144, 126, 136, 121, 132, 140, 106, 215, \ +134, 62, 128, 106, 129, 142, 105, 131, 136, 129, 146, 141, 138, 128, 128, 156, 171, 98, 124, 127, 129, 121, 136, 139, 142, 137, 135, 115, 118, 130, 102, 235, \ +141, 87, 119, 114, 128, 130, 114, 133, 140, 125, 130, 130, 123, 128, 131, 121, 148, 130, 130, 128, 129, 133, 127, 65, 123, 128, 118, 126, 127, 138, 115, 119 } + +#define CONV2_W_Z (128) +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {-1110803840, 1451959936, 1682024704, 1097808512, 1524621952, 1615360128, 1970581632, 1187041792, 1532959872, 1566966528, 1336570880, 2015266176, 1620083072, 1463740160, -1244759168, 1914026624, 1561028864, 1658252288, 1683698048, 1798832000, 1745099392, 2026010624, 1205196416, 1315971456, 1465439232, 1579828096, 1294515072, 1611228288, 1831686656, 1883736064, 1375875200, 1176384128}; +static const int8_t CONV2_N_ZERO[] = {2, 4, 3, 0, 3, 5, 6, 4, 1, -2, -1, 5, 4, 3, 4, 5, 5, 6, 5, 3, -2, 4, -3, 4, -2, 3, 4, -2, 5, 5, -1, 4}; + +/* Layer3 weights and bias */ +#define CONV3_BIAS {409, -203, 1092, 235, 19, -126, 56, -913, 801, 242, -366, 15, -450, -218, -450, -95, 388, 249, 9, -41, -658, -138, 226, 1321, 788, -612, 821, 1258, 1460, 160, 293, -373, 1067, -516, -1, -54, -844, -35, 657, -290, 730, 0, 333, 111, -78, 625, -344, 161, 8, -270, 233, 127, -45, -1, 247, -758, 116, 1318, 482, -39, -80, -442, -846, 844} + +#define CONV3_WT \ +{127, 130, 126, 133, 130, 127, 126, 138, 127, 127, 132, 121, 127, 118, 128, 74, 131, 127, 127, 104, 128, 134, 127, 137, 127, 116, 151, 115, 131, 127, 127, 149, \ +127, 130, 122, 214, 115, 127, 125, 124, 127, 127, 120, 115, 127, 125, 127, 128, 126, 119, 127, 131, 126, 129, 127, 130, 127, 160, 137, 145, 110, 127, 127, 118, \ +127, 131, 73, 108, 129, 127, 127, 134, 127, 127, 131, 132, 127, 30, 127, 149, 128, 133, 127, 144, 128, 131, 127, 122, 127, 128, 60, 139, 129, 127, 127, 142, \ +127, 123, 140, 99, 148, 127, 127, 170, 127, 127, 120, 120, 127, 103, 127, 129, 180, 90, 127, 128, 137, 124, 127, 175, 127, 119, 124, 114, 153, 127, 127, 130, \ +127, 130, 125, 187, 120, 127, 127, 117, 127, 127, 131, 135, 127, 124, 127, 124, 127, 130, 127, 128, 124, 129, 127, 128, 127, 144, 131, 133, 123, 127, 127, 126, \ +127, 130, 125, 123, 118, 127, 128, 121, 127, 127, 116, 93, 127, 128, 127, 132, 132, 183, 127, 129, 107, 124, 127, 126, 127, 120, 113, 112, 177, 127, 127, 128, \ +127, 135, 111, 221, 110, 127, 128, 119, 127, 127, 137, 130, 127, 150, 127, 124, 118, 133, 127, 130, 134, 141, 127, 111, 127, 143, 147, 130, 128, 127, 127, 135, \ +127, 138, 145, 130, 118, 127, 126, 126, 127, 127, 127, 128, 127, 123, 128, 229, 129, 130, 127, 113, 126, 120, 127, 127, 127, 152, 149, 127, 125, 127, 127, 169, \ +127, 126, 126, 128, 123, 127, 128, 131, 127, 127, 125, 127, 127, 128, 127, 80, 130, 126, 127, 125, 126, 130, 127, 129, 127, 126, 101, 121, 133, 127, 127, 76, \ +127, 153, 124, 127, 138, 127, 125, 135, 127, 127, 128, 132, 127, 129, 127, 47, 125, 142, 127, 114, 130, 131, 127, 133, 127, 110, 140, 130, 132, 127, 127, 146, \ +127, 122, 132, 122, 129, 127, 127, 135, 127, 127, 131, 132, 127, 133, 127, 127, 130, 132, 127, 138, 129, 129, 127, 127, 127, 126, 127, 124, 133, 127, 127, 135, \ +127, 130, 138, 119, 116, 127, 128, 172, 127, 127, 101, 140, 127, 137, 127, 129, 153, 116, 127, 129, 114, 134, 127, 129, 127, 116, 126, 102, 149, 127, 127, 129, \ +127, 137, 129, 135, 122, 127, 126, 122, 127, 127, 125, 129, 127, 168, 128, 95, 132, 124, 127, 136, 123, 128, 127, 67, 127, 140, 157, 134, 130, 127, 127, 140, \ +127, 131, 136, 95, 125, 127, 127, 128, 127, 127, 130, 126, 127, 117, 127, 125, 132, 125, 127, 124, 125, 128, 127, 255, 127, 127, 134, 127, 130, 127, 127, 126, \ +127, 171, 114, 126, 127, 127, 127, 123, 127, 127, 128, 130, 127, 126, 127, 118, 129, 131, 127, 140, 126, 126, 127, 123, 127, 128, 165, 131, 128, 127, 127, 162, \ +127, 119, 138, 102, 126, 127, 126, 131, 127, 127, 123, 116, 127, 99, 127, 120, 136, 125, 127, 134, 126, 126, 127, 196, 127, 143, 130, 143, 124, 127, 127, 140, \ +127, 94, 134, 122, 125, 127, 127, 124, 127, 127, 129, 123, 127, 115, 127, 148, 125, 126, 127, 123, 128, 130, 127, 143, 127, 148, 116, 139, 121, 127, 127, 107, \ +127, 125, 137, 131, 128, 127, 127, 127, 127, 127, 126, 131, 127, 129, 127, 124, 128, 129, 127, 132, 127, 40, 127, 125, 127, 125, 126, 121, 131, 127, 127, 127, \ +127, 122, 120, 133, 88, 127, 124, 111, 127, 127, 95, 142, 127, 118, 127, 127, 155, 162, 127, 124, 100, 129, 127, 127, 127, 120, 126, 119, 123, 127, 127, 125, \ +127, 131, 126, 134, 128, 127, 129, 119, 127, 127, 135, 126, 127, 123, 127, 132, 131, 137, 127, 125, 90, 130, 127, 132, 127, 209, 129, 138, 117, 127, 127, 128, \ +127, 139, 145, 127, 127, 127, 126, 121, 127, 127, 125, 130, 127, 123, 127, 229, 126, 129, 127, 119, 123, 134, 127, 124, 127, 120, 112, 130, 123, 127, 127, 145, \ +127, 120, 124, 123, 163, 127, 126, 124, 127, 127, 137, 228, 127, 121, 127, 123, 134, 89, 127, 130, 137, 125, 127, 124, 127, 105, 121, 136, 70, 127, 127, 126, \ +127, 131, 130, 129, 142, 127, 124, 103, 127, 127, 112, 56, 127, 127, 127, 129, 128, 147, 127, 127, 134, 125, 127, 129, 127, 124, 132, 158, 222, 127, 127, 125, \ +127, 122, 116, 134, 128, 127, 130, 132, 127, 127, 124, 126, 127, 131, 127, 19, 129, 123, 127, 135, 127, 131, 127, 128, 127, 121, 77, 131, 128, 127, 127, 73, \ +127, 125, 125, 119, 165, 127, 128, 32, 127, 127, 121, 35, 127, 123, 127, 125, 138, 142, 127, 123, 135, 124, 127, 128, 127, 118, 123, 139, 236, 127, 127, 126, \ +127, 125, 128, 129, 119, 127, 127, 199, 127, 127, 100, 216, 127, 128, 127, 131, 132, 165, 127, 123, 89, 129, 127, 127, 127, 143, 131, 136, 70, 127, 127, 129, \ +127, 133, 138, 138, 134, 127, 127, 147, 127, 127, 133, 121, 127, 33, 127, 136, 131, 137, 127, 130, 139, 111, 127, 135, 127, 130, 123, 117, 125, 127, 127, 134, \ +127, 124, 123, 126, 255, 127, 129, 80, 127, 127, 202, 161, 127, 128, 127, 129, 173, 9, 127, 128, 206, 124, 127, 125, 127, 124, 124, 172, 39, 127, 127, 126, \ +127, 62, 120, 127, 122, 127, 126, 130, 127, 127, 124, 125, 127, 131, 127, 137, 133, 124, 127, 116, 126, 131, 127, 131, 127, 129, 40, 123, 129, 127, 127, 54, \ +127, 134, 150, 0, 148, 127, 126, 152, 127, 127, 127, 125, 127, 149, 127, 141, 146, 135, 127, 141, 145, 129, 127, 143, 127, 104, 122, 125, 129, 127, 127, 134, \ +127, 120, 119, 125, 121, 127, 126, 128, 127, 127, 124, 130, 127, 158, 127, 143, 135, 126, 127, 110, 123, 121, 127, 90, 127, 130, 104, 120, 132, 127, 127, 117, \ +127, 128, 128, 126, 118, 127, 127, 141, 127, 127, 123, 227, 127, 121, 127, 125, 129, 128, 127, 125, 127, 127, 127, 127, 127, 123, 126, 146, 104, 127, 127, 123, \ +127, 130, 107, 119, 125, 127, 126, 137, 127, 127, 131, 128, 127, 123, 127, 66, 129, 122, 127, 51, 128, 127, 127, 126, 127, 138, 155, 126, 134, 127, 127, 121, \ +127, 127, 130, 128, 122, 127, 127, 127, 127, 127, 126, 131, 127, 210, 127, 125, 123, 124, 127, 134, 132, 144, 127, 123, 127, 114, 137, 127, 131, 127, 127, 128, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 128, 127, 136, 128, 127, 128, 150, 127, 127, 135, 121, 127, 167, 127, 130, 147, 108, 127, 132, 132, 133, 127, 77, 127, 125, 128, 108, 153, 127, 127, 134, \ +127, 168, 114, 122, 122, 127, 127, 131, 127, 127, 126, 118, 127, 104, 127, 123, 133, 121, 127, 127, 129, 131, 127, 129, 127, 134, 194, 145, 123, 127, 127, 174, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 129, 134, 121, 197, 127, 127, 133, 127, 127, 129, 129, 127, 129, 127, 123, 255, 8, 127, 126, 113, 128, 127, 127, 127, 136, 125, 178, 124, 127, 127, 131, \ +127, 124, 75, 101, 126, 127, 128, 125, 127, 127, 124, 127, 127, 144, 127, 136, 128, 128, 127, 135, 124, 253, 127, 131, 127, 135, 116, 140, 121, 127, 127, 127, \ +127, 115, 171, 127, 124, 127, 128, 126, 127, 127, 125, 123, 127, 25, 127, 102, 129, 126, 127, 117, 125, 105, 127, 114, 127, 140, 166, 138, 122, 127, 127, 128, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 125, 125, 123, 137, 127, 126, 79, 127, 127, 164, 87, 127, 128, 127, 129, 126, 123, 127, 129, 155, 126, 127, 126, 127, 130, 125, 128, 176, 127, 127, 128, \ +127, 122, 119, 118, 89, 127, 125, 210, 127, 127, 1, 111, 127, 115, 127, 124, 127, 211, 127, 118, 6, 121, 127, 122, 127, 113, 120, 105, 143, 127, 127, 123, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 129, 122, 127, 127, 127, 127, 120, 127, 127, 131, 126, 127, 62, 127, 127, 133, 139, 127, 131, 123, 107, 127, 133, 127, 138, 122, 130, 120, 127, 127, 122, \ +127, 140, 132, 119, 124, 127, 125, 208, 127, 127, 89, 126, 127, 123, 127, 120, 144, 114, 127, 115, 97, 127, 127, 128, 127, 161, 125, 135, 149, 127, 127, 118, \ +127, 130, 126, 127, 83, 127, 127, 193, 127, 127, 0, 128, 127, 122, 127, 126, 120, 251, 127, 125, 1, 123, 127, 127, 127, 122, 129, 106, 152, 127, 127, 130, \ +127, 120, 146, 177, 124, 127, 127, 127, 127, 127, 124, 120, 127, 46, 127, 124, 127, 124, 127, 126, 124, 160, 127, 129, 127, 131, 164, 127, 124, 127, 127, 135, \ +127, 135, 130, 107, 108, 127, 126, 139, 127, 127, 121, 124, 127, 143, 127, 121, 153, 110, 127, 120, 114, 121, 127, 120, 127, 140, 126, 137, 167, 127, 127, 120, \ +127, 117, 121, 153, 130, 127, 127, 124, 127, 127, 125, 125, 127, 163, 128, 137, 132, 128, 127, 122, 122, 125, 127, 15, 127, 137, 113, 144, 125, 127, 127, 120, \ +127, 116, 130, 115, 157, 127, 124, 184, 127, 127, 120, 127, 127, 140, 127, 97, 179, 93, 127, 122, 124, 125, 127, 116, 127, 119, 110, 118, 194, 127, 127, 112, \ +127, 122, 85, 82, 125, 127, 128, 121, 127, 127, 127, 133, 127, 215, 127, 127, 127, 131, 127, 139, 126, 95, 127, 127, 127, 133, 64, 135, 125, 127, 127, 131, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 125, 189, 115, 125, 127, 127, 131, 127, 127, 129, 130, 127, 126, 127, 102, 128, 130, 127, 131, 128, 174, 127, 126, 127, 137, 49, 137, 130, 127, 127, 138, \ +127, 177, 132, 124, 129, 127, 125, 124, 127, 127, 123, 127, 127, 126, 127, 60, 127, 131, 127, 147, 125, 127, 127, 121, 127, 132, 139, 128, 127, 127, 127, 197, \ +127, 143, 130, 135, 140, 127, 117, 103, 127, 127, 114, 119, 127, 141, 127, 142, 147, 152, 127, 97, 125, 121, 127, 127, 127, 194, 149, 198, 98, 127, 127, 119, \ +127, 117, 119, 124, 252, 127, 130, 44, 127, 127, 201, 136, 127, 120, 127, 124, 165, 30, 127, 125, 202, 113, 127, 123, 127, 138, 112, 170, 70, 127, 127, 121, \ +127, 132, 145, 129, 121, 127, 126, 126, 127, 127, 126, 131, 127, 128, 127, 134, 132, 129, 127, 136, 127, 134, 127, 128, 127, 138, 89, 133, 130, 127, 127, 71, \ +127, 106, 119, 98, 155, 127, 127, 126, 127, 127, 133, 144, 127, 192, 127, 158, 153, 135, 127, 143, 140, 152, 127, 109, 127, 115, 100, 157, 137, 127, 127, 114, \ +127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, \ +127, 140, 111, 126, 120, 127, 128, 118, 127, 127, 129, 125, 127, 122, 127, 148, 131, 129, 127, 122, 126, 129, 127, 126, 127, 155, 173, 126, 121, 127, 127, 172, \ +127, 127, 219, 115, 125, 127, 128, 127, 127, 127, 125, 128, 127, 200, 127, 98, 128, 126, 127, 136, 127, 145, 127, 125, 127, 127, 127, 129, 127, 127, 127, 123, \ +127, 3, 124, 123, 120, 127, 127, 121, 127, 127, 125, 128, 127, 119, 127, 150, 131, 128, 127, 117, 123, 120, 127, 132, 127, 148, 99, 136, 125, 127, 127, 60} +#define CONV3_W_Z (127) +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1631400448, 1603639680, 1326431616, 1476798336, 1163601280, 1268766848, 1455976704, 1550106880, 1890438528, 1998059904, 1956692096, 1331947904, 2142378112, 1128721792, 1580546560, 1721848448, 1317113344, 2103928704, 1453649664, 1240539520, 1447776256, 1290888064, 1756483712, 1268774656, 1976968832, 1268005888, 1482283136, 1112096512, 2091364608, 1832580224, 1361480960, 1109507200, 1887771392, 1519959168, 1396600320, 1680600448, 1552041472, 1583885824, 1275714944, 1263178752, 1515803776, 1404723712, 1953836288, 2120322048, 1361698048, 1139372928, 1862532608, 2001431808, 1926645376, 1399393792, 1078259712, 2142835200, 1203050624, 1323609600, 1379479808, 1478853888, 1482976512, 1172461568, 1096058240, 1252237824, 1259625728, 1256639488, 2005131776, 1729905664}; +static const int8_t CONV3_N_ZERO[] = {7, 7, 7, 7, 6, 5, 6, 7, 7, 6, 5, 7, 7, 5, 6, 7, 6, 6, 5, 5, 6, 7, 7, 6, 8, 6, 5, 7, 7, 5, 6, 6, 7, 5, 2, 6, 7, 4, 6, 7, 7, 2, 7, 8, 5, 6, 6, 8, 6, 6, 6, 7, 6, 2, 7, 7, 7, 7, 6, 5, 5, 6, 6, 7}; + + +/* Layer4 weights and bias */ +#define CONV4_BIAS {2, 0, 2, 2, 2, 3, 1, 0, 1, 7, -1, -2, 1, 3, 0, 0, 2, 2, 0, -1, 2, 2, 1, 3, 1, 1, 0, 9, 2, 5, 1, 1, 1, -1, -1, 1, 1, -1, 1, 0, 8, -1, 2, 1, -1, 1, 1, 1, 2, 1, 2, 1, 3, -1, 1, 2, 4, 8, 2, 5, -1, 1, 3, 1} + +#define CONV4_WT \ +{130, 131, 132, 129, 129, 129, 131, 130, 127, 130, 127, 127, 131, 130, 130, 131, 131, 131, 133, 135, 129, 134, 130, 130, 128, 128, 129, 134, 129, 130, 129, 130, 130, 130, 99, 131, 131, 184, 131, 131, 129, 129, 129, 126, 185, 132, 131, 124, 129, 134, 131, 131, 129, 28, 132, 129, 129, 135, 130, 130, 65, 132, 129, 131, \ +129, 131, 132, 130, 130, 129, 127, 130, 128, 130, 128, 126, 131, 130, 129, 131, 131, 132, 133, 145, 129, 133, 132, 129, 126, 127, 131, 137, 129, 130, 130, 132, 130, 131, 85, 130, 132, 161, 131, 132, 128, 139, 130, 123, 136, 130, 131, 130, 129, 136, 131, 132, 129, 61, 132, 128, 129, 130, 127, 129, 124, 132, 129, 131, \ +130, 131, 131, 130, 130, 130, 131, 130, 130, 130, 124, 128, 131, 130, 130, 131, 130, 130, 131, 139, 129, 129, 131, 130, 130, 129, 130, 131, 129, 130, 130, 132, 130, 130, 106, 130, 131, 134, 130, 131, 129, 137, 130, 127, 181, 129, 130, 136, 129, 133, 131, 131, 129, 64, 131, 129, 130, 125, 128, 130, 151, 130, 129, 130, \ +130, 132, 132, 129, 127, 129, 132, 131, 128, 131, 130, 129, 131, 130, 131, 131, 129, 132, 132, 134, 128, 132, 131, 129, 132, 130, 129, 128, 129, 130, 131, 130, 131, 130, 127, 131, 131, 149, 131, 132, 128, 139, 128, 131, 159, 132, 130, 122, 129, 137, 131, 129, 129, 0, 132, 128, 129, 137, 130, 129, 195, 129, 129, 131, \ +132, 132, 133, 132, 131, 129, 128, 132, 127, 130, 129, 127, 132, 129, 132, 131, 130, 130, 132, 145, 128, 131, 131, 129, 131, 130, 131, 130, 128, 131, 132, 131, 132, 131, 100, 130, 131, 144, 131, 133, 128, 132, 129, 131, 122, 131, 131, 131, 128, 142, 131, 128, 128, 40, 133, 128, 129, 131, 131, 129, 174, 129, 129, 132, \ +131, 131, 132, 131, 132, 130, 131, 131, 129, 130, 128, 129, 131, 130, 131, 130, 131, 129, 130, 138, 129, 130, 130, 129, 129, 130, 130, 131, 129, 129, 130, 131, 131, 129, 129, 129, 131, 134, 130, 132, 129, 132, 131, 130, 255, 129, 130, 138, 129, 137, 131, 129, 129, 50, 132, 129, 130, 123, 131, 131, 212, 129, 129, 131, \ +130, 131, 131, 129, 128, 130, 130, 131, 132, 129, 127, 131, 131, 130, 130, 131, 129, 130, 128, 128, 129, 128, 130, 129, 134, 132, 129, 126, 129, 130, 131, 130, 131, 130, 103, 130, 130, 161, 129, 132, 129, 134, 129, 133, 136, 131, 130, 128, 129, 133, 130, 130, 129, 33, 131, 129, 130, 132, 130, 130, 177, 130, 129, 131, \ +129, 132, 131, 131, 131, 130, 130, 131, 132, 129, 130, 132, 131, 130, 130, 130, 129, 129, 128, 131, 128, 127, 129, 129, 132, 132, 131, 124, 129, 131, 131, 129, 131, 131, 105, 130, 130, 171, 129, 132, 129, 126, 130, 137, 95, 131, 129, 131, 129, 136, 130, 130, 129, 43, 132, 128, 130, 130, 130, 131, 218, 130, 129, 131, \ +129, 131, 131, 131, 131, 130, 130, 131, 131, 130, 128, 131, 131, 130, 130, 130, 130, 130, 129, 130, 129, 130, 129, 129, 130, 130, 130, 128, 130, 130, 129, 129, 131, 129, 92, 130, 130, 139, 130, 131, 129, 135, 130, 132, 161, 129, 130, 131, 130, 133, 130, 130, 129, 78, 131, 129, 130, 129, 131, 130, 128, 130, 129, 130 } + +#define CONV4_W_Z (130) +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +#define CONV4_M_ZERO (1769959808) +#define CONV4_N_ZERO (-6) + +/* + Layer 5 Learned Parameters +/* Layer5 weights and bias */ +#define CONV5_BIAS {27180, -6011, -8336, 2070, -11771, 5266, -4398, 10726, -25627, 14907, 20233, -3996, -16262, -1383, 4791, 8002, 15111, 11515, 15526, -5231, -5178, -15477, -2288, -2761, 4110, 39667, 5140, -912, -2417, 6247, 4518, 17538, 19407, -5004, 2606, -860, 16877, 4960, -25949, 10373, 11027, 1302, 14360, 13525, 19513, 46508, 6637, -10400, -6615, 916, -6140, -4593, 25731, -6297, -2821, 8094, 1645, 22180, 7324, 10850, 4918, 24413, 5916, 5322, -6190, 11475, -12953, -1121, -7750, 18904, 18702, 2341, 5482, 563, -1300, 20727, -2735, 3509, -5248, -124, -13081, 32859, -460, -2256, 5732, -3031, -21104, -3353, 10789, 2704, -763, 6416, 3175, -8269, -2464, 2178, 55164, 972, -5930, -11997, 22630, 9461, 12071, 2302, 8593, 8100, -28599, -13508, 3292, -542, -7507, -2014, 4047, 4338, 5188, 10691, 245, 14983, 1567, 3784, -11664, 8944, -12935, 2718, 4555, 18769, 14124, 20015} + +#define CONV5_WT \ +{133, 117, 84, 124, 115, 123, 121, 177, 111, 120, 123, 131, 97, 114, 124, 120, 116, 130, 117, 121, 92, 130, 119, 94, 119, 131, 115, 124, 87, 125, 154, 116, 200, 121, 123, 126, 171, 123, 112, 146, 73, 123, 120, 117, 123, 112, 132, 119, 57, 135, 129, 135, 45, 123, 99, 92, 106, 133, 125, 138, 123, 132, 158, 152, \ +115, 150, 122, 126, 111, 129, 106, 69, 140, 128, 125, 131, 156, 102, 130, 127, 109, 118, 111, 122, 134, 125, 114, 120, 123, 117, 141, 128, 126, 126, 142, 126, 175, 129, 123, 110, 139, 123, 122, 98, 117, 123, 122, 122, 123, 125, 114, 126, 112, 140, 132, 122, 139, 123, 108, 126, 143, 119, 126, 131, 123, 122, 119, 137, \ +129, 120, 123, 116, 124, 82, 126, 123, 123, 125, 123, 124, 128, 124, 123, 133, 116, 127, 146, 127, 114, 121, 127, 132, 135, 116, 128, 138, 118, 122, 120, 109, 120, 126, 123, 109, 124, 123, 113, 123, 123, 123, 161, 121, 123, 124, 176, 119, 133, 133, 128, 127, 124, 123, 120, 130, 122, 134, 133, 123, 123, 127, 120, 127, \ +127, 121, 151, 113, 141, 117, 53, 126, 123, 120, 121, 120, 131, 126, 122, 127, 115, 126, 123, 121, 126, 124, 126, 129, 124, 125, 85, 120, 116, 132, 112, 125, 123, 160, 123, 113, 122, 123, 122, 125, 130, 123, 117, 125, 123, 117, 124, 120, 118, 121, 135, 121, 120, 123, 123, 114, 112, 121, 118, 135, 123, 121, 91, 125, \ +128, 121, 154, 121, 135, 121, 131, 116, 118, 123, 121, 124, 119, 129, 122, 110, 124, 123, 122, 119, 131, 122, 123, 118, 122, 121, 207, 120, 138, 241, 113, 122, 120, 174, 123, 100, 124, 123, 125, 101, 77, 123, 115, 123, 123, 90, 123, 123, 92, 123, 111, 121, 122, 123, 101, 133, 119, 122, 126, 107, 123, 123, 114, 128, \ +119, 83, 100, 125, 133, 121, 132, 129, 123, 128, 123, 123, 128, 124, 123, 124, 121, 73, 121, 121, 118, 123, 122, 116, 123, 122, 140, 123, 129, 126, 122, 125, 121, 128, 123, 123, 120, 123, 125, 255, 110, 123, 125, 124, 123, 125, 122, 125, 105, 122, 120, 128, 124, 123, 96, 128, 128, 124, 116, 111, 123, 125, 141, 122, \ +126, 111, 118, 122, 115, 119, 128, 122, 125, 123, 126, 107, 125, 122, 118, 122, 126, 128, 107, 114, 140, 121, 149, 124, 120, 115, 119, 128, 120, 127, 125, 119, 130, 119, 123, 126, 136, 123, 161, 126, 120, 123, 125, 120, 123, 126, 175, 122, 124, 128, 114, 125, 128, 123, 118, 139, 201, 128, 118, 130, 123, 123, 136, 119, \ +124, 122, 124, 119, 128, 92, 125, 124, 123, 121, 123, 117, 117, 128, 120, 123, 122, 123, 90, 121, 123, 90, 203, 114, 151, 166, 120, 122, 124, 123, 123, 62, 127, 124, 123, 135, 118, 123, 122, 125, 124, 123, 65, 123, 123, 127, 93, 122, 126, 126, 114, 129, 126, 123, 125, 131, 114, 125, 130, 121, 123, 122, 126, 116, \ +122, 125, 136, 136, 121, 124, 118, 120, 117, 118, 124, 136, 100, 86, 127, 138, 121, 122, 128, 125, 125, 133, 125, 123, 117, 122, 128, 149, 138, 122, 114, 114, 135, 117, 123, 120, 137, 123, 127, 122, 120, 123, 123, 143, 123, 118, 119, 166, 104, 120, 88, 125, 121, 123, 120, 107, 120, 220, 119, 119, 123, 121, 114, 111, \ +115, 119, 117, 126, 134, 109, 120, 108, 114, 99, 121, 117, 85, 141, 107, 115, 101, 138, 123, 124, 101, 125, 117, 135, 125, 123, 125, 124, 86, 113, 126, 122, 114, 131, 123, 143, 130, 123, 129, 124, 129, 123, 119, 124, 123, 124, 124, 126, 124, 124, 151, 145, 102, 123, 106, 124, 107, 124, 89, 90, 123, 110, 130, 140, \ +122, 166, 151, 125, 129, 116, 125, 129, 122, 130, 123, 103, 152, 114, 115, 159, 134, 128, 121, 124, 105, 125, 118, 120, 119, 126, 137, 123, 114, 118, 131, 133, 130, 134, 123, 118, 124, 123, 123, 137, 97, 123, 139, 123, 123, 137, 138, 132, 79, 137, 142, 126, 91, 123, 144, 121, 106, 114, 119, 122, 123, 128, 88, 135, \ +124, 136, 115, 101, 116, 124, 119, 120, 118, 117, 120, 122, 113, 186, 126, 98, 131, 124, 128, 125, 123, 122, 126, 114, 118, 123, 124, 120, 123, 122, 150, 124, 126, 117, 123, 170, 140, 123, 122, 118, 133, 123, 123, 127, 123, 113, 128, 122, 125, 131, 149, 125, 119, 123, 118, 112, 127, 121, 118, 117, 123, 122, 137, 111, \ +135, 130, 248, 133, 131, 130, 132, 154, 121, 139, 128, 141, 163, 122, 141, 131, 148, 133, 129, 129, 123, 133, 126, 127, 132, 134, 131, 131, 104, 135, 130, 130, 143, 130, 123, 131, 150, 123, 122, 95, 232, 123, 131, 129, 123, 144, 128, 129, 196, 133, 143, 141, 227, 123, 255, 114, 129, 135, 127, 119, 123, 144, 10, 162, \ +122, 127, 113, 83, 150, 125, 111, 123, 124, 119, 122, 107, 140, 118, 129, 143, 131, 127, 120, 113, 121, 123, 131, 132, 126, 124, 83, 120, 116, 163, 139, 123, 118, 152, 123, 45, 120, 123, 132, 132, 127, 123, 118, 122, 123, 154, 138, 123, 138, 119, 146, 118, 91, 123, 124, 120, 126, 122, 117, 140, 123, 124, 94, 119, \ +125, 109, 119, 138, 120, 155, 121, 105, 122, 125, 123, 160, 130, 121, 119, 133, 123, 121, 114, 131, 120, 150, 168, 116, 137, 141, 121, 117, 117, 122, 126, 119, 111, 117, 123, 123, 120, 123, 209, 121, 126, 123, 52, 110, 123, 128, 38, 113, 131, 140, 133, 122, 119, 123, 113, 124, 50, 117, 120, 115, 123, 117, 126, 118, \ +123, 103, 121, 98, 135, 121, 117, 131, 129, 126, 129, 114, 100, 84, 123, 149, 102, 129, 116, 115, 118, 123, 132, 121, 122, 124, 122, 125, 112, 126, 114, 132, 119, 118, 123, 61, 118, 123, 132, 127, 136, 123, 129, 124, 123, 124, 127, 122, 130, 125, 104, 122, 122, 123, 127, 119, 132, 125, 129, 119, 123, 125, 130, 124, \ +129, 136, 109, 132, 136, 126, 104, 113, 136, 133, 123, 116, 133, 133, 134, 124, 121, 147, 123, 127, 135, 126, 119, 131, 127, 125, 120, 123, 124, 75, 127, 121, 105, 106, 123, 115, 127, 123, 121, 108, 113, 123, 121, 124, 123, 135, 124, 117, 98, 126, 105, 125, 99, 123, 120, 120, 139, 128, 130, 40, 123, 122, 127, 126, \ +147, 119, 109, 155, 120, 118, 107, 128, 121, 111, 124, 114, 114, 114, 89, 133, 89, 126, 117, 117, 114, 125, 122, 123, 122, 127, 115, 124, 108, 164, 113, 127, 110, 114, 123, 89, 132, 123, 137, 132, 127, 123, 126, 125, 123, 157, 153, 123, 123, 134, 132, 129, 119, 123, 113, 155, 149, 129, 152, 111, 123, 114, 105, 166, \ +128, 131, 124, 123, 120, 82, 122, 120, 120, 125, 122, 124, 127, 117, 114, 130, 129, 121, 134, 126, 128, 65, 180, 121, 138, 142, 128, 122, 116, 124, 128, 89, 129, 121, 123, 123, 133, 123, 84, 123, 125, 123, 98, 112, 123, 122, 176, 125, 116, 122, 129, 131, 128, 123, 123, 116, 125, 103, 125, 127, 123, 117, 122, 125, \ +123, 111, 105, 109, 138, 129, 131, 125, 135, 127, 124, 119, 139, 156, 127, 115, 111, 126, 123, 118, 127, 127, 137, 127, 126, 122, 119, 123, 128, 145, 129, 125, 119, 130, 123, 113, 124, 123, 142, 127, 146, 123, 122, 126, 123, 137, 159, 123, 159, 133, 184, 125, 100, 123, 130, 111, 158, 125, 131, 122, 123, 124, 98, 118, \ +123, 118, 124, 123, 126, 156, 124, 121, 125, 122, 123, 96, 123, 122, 125, 128, 125, 123, 149, 123, 111, 137, 76, 117, 129, 137, 123, 112, 129, 121, 125, 243, 124, 122, 123, 126, 123, 123, 139, 121, 122, 123, 176, 123, 123, 123, 142, 124, 118, 117, 118, 127, 117, 123, 123, 124, 110, 119, 123, 119, 123, 124, 123, 125, \ +170, 131, 122, 142, 119, 127, 120, 107, 107, 200, 124, 129, 129, 128, 118, 119, 64, 118, 128, 121, 133, 129, 126, 143, 123, 127, 114, 123, 133, 122, 128, 126, 110, 120, 123, 128, 125, 123, 116, 127, 125, 123, 118, 121, 123, 118, 126, 122, 105, 127, 116, 84, 121, 123, 113, 116, 125, 124, 137, 129, 123, 181, 113, 136, \ +113, 129, 131, 136, 111, 131, 120, 129, 121, 122, 122, 109, 127, 123, 126, 145, 134, 126, 84, 109, 136, 95, 127, 125, 131, 136, 121, 118, 111, 121, 130, 102, 114, 125, 123, 141, 124, 123, 155, 109, 113, 123, 132, 135, 123, 126, 149, 127, 108, 114, 125, 125, 113, 123, 134, 117, 159, 117, 101, 116, 123, 126, 119, 140, \ +119, 148, 121, 128, 96, 125, 149, 118, 124, 123, 120, 119, 137, 115, 121, 122, 118, 121, 124, 124, 129, 122, 123, 128, 124, 125, 114, 123, 120, 190, 126, 126, 116, 79, 123, 101, 125, 123, 119, 129, 120, 123, 123, 122, 123, 142, 122, 122, 108, 118, 131, 125, 109, 123, 123, 120, 137, 119, 124, 106, 123, 119, 107, 119, \ +127, 92, 121, 128, 120, 129, 117, 177, 114, 115, 127, 137, 150, 125, 134, 94, 125, 119, 129, 123, 92, 125, 122, 93, 127, 137, 113, 117, 94, 125, 121, 117, 174, 113, 123, 117, 163, 123, 117, 95, 146, 123, 128, 129, 123, 114, 121, 120, 140, 121, 102, 132, 144, 123, 145, 98, 112, 127, 133, 117, 123, 138, 118, 176, \ +124, 128, 128, 116, 125, 122, 122, 128, 126, 117, 123, 113, 129, 132, 132, 118, 139, 123, 138, 116, 119, 121, 115, 123, 149, 85, 122, 64, 131, 123, 126, 120, 130, 122, 123, 122, 128, 123, 114, 121, 123, 123, 121, 0, 123, 123, 139, 152, 124, 124, 132, 117, 116, 123, 122, 94, 119, 153, 128, 124, 123, 122, 117, 97, \ +119, 124, 126, 122, 117, 135, 121, 123, 121, 122, 123, 110, 129, 120, 129, 134, 122, 126, 137, 125, 127, 130, 94, 121, 179, 46, 126, 115, 121, 123, 129, 133, 122, 127, 123, 123, 131, 123, 117, 125, 122, 123, 128, 96, 123, 123, 149, 125, 113, 123, 121, 112, 114, 123, 131, 104, 135, 120, 120, 123, 123, 122, 118, 118, \ +124, 118, 120, 121, 119, 106, 123, 121, 120, 124, 123, 115, 127, 125, 125, 96, 118, 124, 130, 164, 122, 128, 120, 125, 121, 119, 115, 120, 121, 119, 116, 114, 125, 127, 123, 118, 118, 123, 122, 124, 127, 123, 120, 119, 123, 125, 117, 123, 114, 123, 116, 114, 114, 123, 116, 110, 123, 121, 125, 119, 123, 115, 120, 103, \ +124, 120, 117, 123, 129, 127, 119, 130, 129, 150, 125, 135, 142, 129, 81, 116, 76, 123, 121, 116, 112, 123, 128, 137, 117, 132, 120, 125, 76, 124, 126, 129, 105, 121, 123, 126, 134, 123, 146, 120, 130, 123, 122, 124, 123, 115, 143, 123, 140, 131, 113, 108, 133, 123, 129, 120, 139, 124, 142, 128, 123, 122, 125, 170, \ +115, 128, 128, 141, 119, 123, 124, 103, 150, 142, 125, 95, 102, 106, 82, 137, 129, 128, 122, 121, 116, 123, 123, 144, 131, 117, 131, 124, 116, 124, 119, 124, 80, 121, 123, 122, 142, 123, 123, 132, 121, 123, 126, 117, 123, 132, 140, 126, 128, 114, 132, 131, 124, 123, 112, 161, 140, 129, 109, 126, 123, 107, 134, 135, \ +124, 123, 124, 119, 127, 124, 124, 124, 120, 123, 123, 91, 124, 115, 124, 115, 120, 122, 132, 115, 113, 113, 102, 119, 163, 95, 116, 109, 108, 125, 115, 155, 124, 119, 123, 125, 131, 123, 100, 129, 125, 123, 61, 93, 123, 126, 149, 139, 119, 115, 133, 119, 125, 123, 121, 113, 114, 149, 123, 128, 123, 123, 116, 116, \ +122, 119, 122, 118, 115, 50, 119, 120, 123, 124, 126, 150, 128, 125, 126, 120, 125, 126, 136, 123, 129, 98, 233, 123, 140, 129, 128, 128, 132, 120, 118, 60, 118, 122, 123, 127, 125, 123, 91, 122, 124, 123, 65, 118, 123, 128, 114, 122, 133, 138, 121, 122, 131, 123, 124, 121, 121, 122, 124, 125, 123, 126, 125, 119, \ +94, 126, 125, 121, 121, 121, 119, 144, 109, 93, 123, 121, 140, 119, 86, 120, 114, 120, 121, 119, 116, 122, 120, 117, 123, 127, 127, 121, 107, 122, 142, 123, 107, 130, 123, 128, 127, 123, 130, 115, 118, 123, 120, 126, 123, 123, 131, 124, 137, 125, 114, 141, 131, 123, 122, 134, 125, 121, 160, 117, 123, 109, 111, 128, \ +125, 124, 125, 111, 126, 122, 125, 117, 124, 133, 122, 124, 123, 156, 107, 93, 125, 130, 129, 125, 106, 125, 128, 137, 121, 124, 129, 123, 74, 126, 136, 125, 117, 124, 123, 140, 95, 123, 122, 125, 135, 123, 127, 122, 123, 127, 127, 124, 149, 125, 153, 136, 124, 123, 131, 164, 137, 125, 113, 120, 123, 110, 121, 158, \ +145, 117, 118, 125, 121, 125, 123, 201, 131, 145, 125, 142, 133, 125, 162, 126, 109, 118, 126, 119, 89, 119, 118, 36, 125, 124, 124, 125, 117, 122, 112, 125, 146, 130, 123, 124, 97, 123, 124, 92, 128, 123, 124, 124, 123, 123, 117, 122, 119, 127, 115, 90, 113, 123, 143, 116, 149, 124, 86, 128, 123, 107, 109, 111, \ +160, 119, 118, 125, 128, 127, 127, 124, 94, 127, 124, 122, 121, 129, 133, 123, 132, 128, 118, 123, 97, 113, 114, 130, 130, 118, 117, 124, 107, 126, 121, 126, 135, 126, 123, 119, 113, 123, 124, 119, 126, 123, 122, 122, 123, 129, 125, 124, 122, 128, 127, 144, 115, 123, 119, 114, 127, 120, 76, 126, 123, 108, 128, 121, \ +122, 127, 120, 123, 123, 42, 121, 127, 122, 122, 123, 130, 128, 114, 130, 132, 127, 124, 136, 126, 122, 91, 185, 120, 132, 131, 121, 121, 132, 120, 117, 97, 126, 125, 123, 127, 127, 123, 92, 123, 118, 123, 61, 125, 123, 122, 112, 124, 124, 136, 124, 133, 122, 123, 122, 121, 141, 118, 121, 121, 123, 127, 122, 126, \ +130, 118, 120, 123, 123, 122, 123, 113, 131, 136, 122, 116, 104, 106, 94, 124, 118, 125, 129, 127, 117, 125, 127, 138, 118, 125, 121, 127, 67, 123, 114, 131, 120, 122, 123, 110, 95, 123, 129, 127, 115, 123, 132, 121, 123, 132, 128, 122, 123, 120, 114, 140, 117, 123, 123, 172, 136, 127, 121, 121, 123, 113, 132, 161, \ +134, 120, 107, 132, 116, 125, 118, 119, 126, 117, 125, 127, 125, 125, 122, 121, 133, 251, 121, 124, 117, 123, 120, 126, 122, 122, 141, 124, 134, 118, 113, 127, 121, 139, 123, 126, 115, 123, 121, 166, 159, 123, 119, 122, 123, 111, 117, 126, 135, 125, 128, 128, 199, 123, 125, 138, 130, 125, 141, 188, 123, 116, 106, 119, \ +128, 101, 114, 127, 116, 142, 120, 166, 98, 119, 122, 150, 117, 120, 128, 117, 126, 122, 128, 133, 84, 125, 125, 88, 123, 135, 116, 121, 75, 127, 141, 129, 176, 120, 123, 118, 164, 123, 137, 111, 130, 123, 130, 129, 123, 111, 133, 124, 111, 133, 131, 140, 108, 123, 126, 103, 84, 122, 137, 126, 123, 137, 115, 165, \ +135, 143, 131, 155, 139, 115, 120, 136, 118, 106, 122, 117, 115, 116, 126, 103, 115, 122, 123, 137, 126, 127, 111, 123, 120, 125, 132, 124, 120, 109, 124, 124, 147, 130, 123, 147, 113, 123, 113, 132, 114, 123, 129, 123, 123, 107, 105, 122, 81, 130, 147, 125, 134, 123, 129, 115, 110, 126, 126, 98, 123, 111, 119, 147, \ +122, 105, 130, 134, 118, 135, 132, 115, 122, 117, 124, 121, 129, 90, 117, 139, 138, 122, 136, 119, 119, 119, 118, 126, 127, 115, 119, 102, 97, 118, 127, 111, 116, 121, 123, 121, 115, 123, 118, 129, 125, 123, 116, 84, 123, 118, 132, 158, 125, 126, 104, 118, 132, 123, 138, 128, 124, 156, 117, 121, 123, 124, 117, 134, \ +186, 125, 128, 119, 130, 126, 126, 125, 126, 55, 119, 133, 106, 127, 155, 124, 118, 126, 124, 124, 110, 122, 124, 99, 124, 125, 122, 123, 98, 124, 84, 120, 126, 127, 123, 116, 135, 123, 124, 119, 124, 123, 124, 124, 123, 125, 129, 122, 110, 123, 133, 140, 121, 123, 103, 106, 117, 120, 75, 119, 123, 51, 123, 119, \ +121, 121, 129, 143, 125, 117, 120, 137, 121, 119, 123, 116, 125, 118, 133, 124, 123, 120, 135, 126, 115, 104, 115, 119, 135, 85, 123, 98, 111, 125, 119, 120, 125, 122, 123, 126, 97, 123, 102, 119, 118, 123, 125, 38, 123, 126, 137, 116, 126, 123, 129, 111, 123, 123, 128, 108, 156, 119, 129, 123, 123, 116, 120, 125, \ +123, 123, 87, 129, 121, 120, 121, 136, 117, 116, 123, 128, 61, 121, 131, 136, 119, 127, 126, 127, 107, 123, 123, 116, 124, 127, 118, 121, 117, 127, 157, 127, 159, 122, 123, 120, 163, 123, 127, 142, 79, 123, 123, 127, 123, 122, 135, 129, 54, 128, 154, 128, 57, 123, 82, 95, 121, 119, 127, 134, 123, 125, 154, 125, \ +127, 118, 122, 144, 127, 115, 125, 125, 124, 119, 124, 113, 117, 103, 125, 133, 124, 132, 136, 120, 119, 125, 119, 124, 116, 119, 125, 121, 126, 124, 120, 119, 122, 124, 123, 119, 122, 123, 114, 123, 115, 123, 127, 114, 123, 124, 136, 0, 117, 124, 107, 124, 124, 123, 123, 127, 122, 61, 122, 123, 123, 128, 121, 123, \ +118, 94, 122, 157, 112, 128, 127, 128, 117, 120, 129, 121, 109, 48, 117, 182, 134, 124, 123, 126, 123, 128, 127, 114, 119, 121, 110, 125, 98, 117, 99, 117, 125, 105, 123, 90, 98, 123, 118, 129, 117, 123, 126, 120, 123, 131, 131, 121, 121, 129, 66, 130, 150, 123, 120, 129, 126, 129, 127, 136, 123, 121, 140, 120, \ +131, 135, 122, 121, 121, 118, 128, 133, 118, 121, 130, 79, 124, 123, 114, 125, 123, 124, 135, 126, 135, 119, 163, 133, 125, 101, 131, 123, 121, 121, 127, 124, 150, 123, 123, 116, 116, 123, 196, 140, 116, 123, 133, 125, 123, 123, 211, 123, 127, 142, 133, 134, 128, 123, 130, 149, 128, 117, 136, 123, 123, 125, 114, 142, \ +126, 138, 124, 133, 126, 138, 117, 118, 124, 124, 126, 136, 107, 137, 111, 111, 117, 124, 74, 116, 149, 142, 141, 109, 123, 126, 119, 129, 122, 128, 126, 121, 154, 127, 123, 147, 117, 123, 186, 130, 125, 123, 109, 126, 123, 111, 174, 115, 108, 148, 109, 141, 128, 123, 129, 120, 204, 134, 139, 125, 123, 115, 112, 121, \ +136, 92, 117, 119, 109, 129, 128, 136, 123, 137, 126, 126, 128, 129, 124, 125, 102, 125, 127, 127, 105, 118, 122, 111, 130, 128, 108, 118, 115, 124, 106, 122, 140, 115, 123, 118, 136, 123, 136, 119, 137, 123, 132, 128, 123, 114, 152, 123, 116, 133, 130, 137, 137, 123, 139, 93, 121, 123, 127, 133, 123, 149, 91, 147, \ +115, 128, 111, 104, 125, 128, 128, 134, 129, 129, 123, 105, 146, 96, 108, 201, 109, 119, 97, 106, 120, 123, 107, 118, 121, 117, 119, 125, 114, 138, 141, 118, 113, 133, 123, 101, 123, 123, 120, 118, 144, 123, 121, 127, 123, 145, 127, 127, 129, 121, 170, 114, 116, 123, 98, 116, 143, 121, 124, 123, 123, 116, 143, 114, \ +114, 164, 132, 160, 53, 126, 185, 124, 121, 121, 123, 120, 118, 133, 124, 94, 114, 116, 122, 124, 127, 121, 126, 121, 117, 119, 152, 122, 127, 157, 110, 123, 118, 128, 123, 89, 117, 123, 119, 109, 114, 123, 122, 125, 123, 194, 123, 122, 80, 121, 129, 129, 115, 123, 106, 123, 129, 128, 117, 142, 123, 125, 116, 127, \ +121, 88, 122, 116, 77, 122, 170, 121, 120, 123, 121, 125, 131, 111, 126, 153, 109, 112, 119, 124, 115, 120, 125, 127, 121, 125, 165, 123, 106, 187, 134, 127, 115, 139, 123, 145, 133, 123, 122, 149, 123, 123, 127, 123, 123, 43, 121, 125, 178, 124, 133, 115, 112, 123, 149, 110, 118, 120, 123, 94, 123, 118, 131, 125, \ +120, 129, 123, 119, 113, 129, 124, 121, 120, 111, 125, 131, 136, 117, 113, 114, 123, 119, 122, 121, 113, 112, 131, 114, 116, 157, 132, 122, 103, 117, 130, 124, 121, 127, 123, 122, 138, 123, 137, 119, 120, 123, 114, 212, 123, 125, 104, 121, 119, 117, 118, 121, 116, 123, 124, 114, 110, 128, 120, 118, 123, 101, 121, 130, \ +128, 150, 117, 112, 127, 127, 122, 126, 116, 126, 122, 132, 132, 128, 127, 139, 134, 127, 135, 134, 116, 116, 124, 135, 119, 124, 116, 122, 112, 117, 122, 119, 136, 118, 123, 143, 134, 123, 128, 120, 112, 123, 120, 123, 123, 131, 142, 125, 139, 153, 125, 144, 143, 123, 149, 116, 70, 116, 119, 120, 123, 134, 112, 133, \ +153, 122, 123, 121, 129, 115, 101, 120, 123, 134, 123, 122, 151, 135, 130, 117, 38, 115, 120, 122, 127, 123, 118, 121, 120, 126, 121, 123, 124, 127, 104, 121, 120, 120, 123, 125, 125, 123, 129, 114, 122, 123, 116, 123, 123, 118, 123, 122, 128, 119, 128, 92, 136, 123, 135, 82, 100, 121, 111, 122, 123, 160, 90, 128, \ +123, 135, 113, 141, 129, 163, 118, 115, 126, 121, 123, 117, 120, 128, 125, 119, 128, 115, 128, 136, 120, 125, 90, 119, 122, 118, 118, 120, 142, 123, 127, 143, 119, 127, 123, 125, 125, 123, 100, 126, 116, 123, 140, 127, 123, 127, 109, 129, 111, 121, 132, 121, 123, 123, 112, 119, 93, 126, 123, 128, 123, 123, 117, 116, \ +124, 96, 111, 120, 119, 141, 120, 93, 132, 125, 124, 123, 99, 150, 126, 108, 132, 122, 120, 112, 167, 134, 143, 154, 124, 110, 121, 141, 159, 142, 118, 134, 95, 124, 123, 136, 95, 123, 128, 97, 156, 123, 123, 117, 123, 128, 113, 117, 180, 123, 107, 120, 158, 123, 106, 152, 186, 134, 125, 128, 123, 121, 167, 90, \ +124, 121, 124, 126, 125, 133, 124, 103, 138, 100, 120, 138, 119, 115, 143, 135, 157, 122, 119, 128, 150, 130, 124, 125, 120, 125, 125, 124, 161, 130, 82, 124, 138, 123, 123, 121, 132, 123, 119, 126, 126, 123, 127, 120, 123, 120, 94, 122, 118, 112, 127, 126, 129, 123, 113, 79, 135, 129, 123, 128, 123, 126, 144, 78, \ +126, 122, 127, 143, 117, 122, 119, 120, 125, 120, 126, 125, 118, 72, 129, 152, 117, 119, 115, 113, 126, 124, 129, 122, 121, 123, 123, 125, 142, 128, 99, 120, 128, 118, 123, 104, 125, 123, 121, 120, 108, 123, 124, 124, 123, 131, 129, 120, 110, 128, 68, 129, 129, 123, 131, 114, 127, 125, 134, 130, 123, 125, 121, 129, \ +114, 120, 121, 119, 126, 125, 124, 98, 123, 109, 124, 132, 136, 125, 158, 122, 159, 130, 124, 121, 142, 129, 124, 122, 120, 128, 125, 119, 193, 124, 105, 125, 126, 132, 123, 135, 184, 123, 122, 132, 121, 123, 124, 118, 123, 129, 120, 124, 123, 122, 109, 121, 124, 123, 117, 71, 130, 122, 127, 133, 123, 139, 118, 36, \ +129, 172, 158, 115, 124, 116, 129, 160, 107, 124, 120, 112, 133, 111, 127, 129, 121, 130, 128, 119, 88, 123, 116, 111, 125, 129, 125, 121, 98, 120, 133, 123, 157, 121, 123, 128, 153, 123, 118, 171, 76, 123, 126, 128, 123, 131, 129, 124, 72, 154, 132, 133, 69, 123, 161, 115, 88, 122, 122, 125, 123, 131, 80, 147, \ +126, 120, 131, 141, 121, 123, 125, 123, 121, 122, 123, 109, 110, 95, 111, 126, 137, 121, 122, 122, 115, 130, 123, 116, 120, 148, 124, 158, 103, 116, 126, 123, 126, 121, 123, 124, 108, 123, 120, 130, 117, 123, 151, 150, 123, 124, 122, 58, 126, 121, 104, 140, 128, 123, 128, 142, 118, 87, 123, 125, 123, 123, 120, 136, \ +121, 126, 116, 125, 126, 126, 122, 117, 129, 126, 125, 145, 135, 132, 127, 110, 109, 123, 120, 124, 135, 119, 128, 121, 115, 125, 116, 117, 144, 123, 118, 121, 115, 125, 123, 139, 151, 123, 126, 131, 119, 123, 127, 120, 123, 120, 132, 125, 115, 142, 121, 93, 120, 123, 118, 71, 113, 127, 119, 132, 123, 128, 113, 94, \ +147, 130, 118, 128, 124, 131, 123, 136, 176, 141, 123, 138, 126, 131, 156, 126, 91, 118, 124, 121, 146, 125, 130, 100, 118, 128, 120, 124, 120, 123, 135, 126, 110, 126, 123, 123, 106, 123, 121, 120, 121, 123, 120, 124, 123, 123, 122, 123, 123, 121, 113, 94, 131, 123, 117, 121, 140, 121, 162, 131, 123, 109, 126, 132, \ +124, 114, 123, 133, 124, 112, 124, 122, 129, 123, 123, 91, 118, 122, 127, 128, 120, 122, 158, 122, 123, 126, 132, 118, 124, 92, 117, 110, 126, 123, 122, 110, 126, 123, 123, 124, 127, 123, 100, 124, 123, 123, 135, 66, 123, 118, 134, 88, 114, 121, 114, 120, 115, 123, 118, 113, 147, 111, 127, 127, 123, 123, 131, 109, \ +123, 113, 127, 113, 120, 137, 119, 129, 120, 133, 122, 112, 108, 128, 125, 110, 115, 123, 129, 126, 135, 120, 111, 129, 133, 118, 111, 129, 110, 131, 116, 127, 96, 121, 123, 114, 114, 123, 144, 120, 133, 123, 133, 121, 123, 120, 125, 121, 122, 173, 122, 117, 128, 123, 120, 124, 142, 125, 128, 123, 123, 118, 127, 105, \ +124, 129, 131, 116, 119, 148, 121, 126, 120, 125, 123, 127, 116, 124, 123, 121, 123, 127, 137, 117, 118, 145, 169, 125, 53, 148, 129, 110, 128, 130, 121, 65, 127, 123, 123, 125, 133, 123, 121, 125, 125, 123, 177, 129, 123, 127, 124, 128, 127, 119, 124, 120, 130, 123, 126, 125, 119, 127, 123, 117, 123, 125, 118, 125, \ +126, 121, 126, 122, 119, 132, 122, 125, 120, 117, 122, 119, 126, 119, 119, 120, 131, 124, 111, 118, 114, 188, 110, 123, 149, 88, 124, 160, 104, 124, 119, 119, 119, 125, 123, 118, 130, 123, 123, 119, 121, 123, 139, 126, 123, 121, 127, 121, 126, 121, 126, 115, 116, 123, 122, 127, 105, 121, 119, 120, 123, 119, 122, 121, \ +120, 131, 132, 123, 123, 85, 124, 132, 126, 124, 121, 111, 124, 130, 127, 123, 125, 129, 138, 115, 118, 92, 146, 119, 107, 124, 129, 101, 91, 126, 130, 110, 127, 125, 123, 131, 122, 123, 80, 130, 125, 123, 144, 97, 123, 125, 153, 123, 135, 117, 124, 117, 123, 123, 130, 127, 149, 136, 133, 122, 123, 117, 124, 137, \ +127, 120, 124, 122, 125, 113, 124, 122, 123, 126, 121, 119, 103, 132, 113, 105, 123, 126, 132, 125, 126, 109, 109, 129, 128, 115, 126, 89, 83, 122, 148, 126, 113, 127, 123, 134, 116, 123, 120, 122, 122, 123, 122, 30, 123, 118, 136, 78, 131, 126, 148, 117, 121, 123, 133, 142, 133, 99, 118, 128, 123, 124, 126, 138, \ +126, 135, 128, 135, 126, 124, 121, 128, 118, 124, 122, 122, 120, 106, 128, 134, 157, 122, 146, 141, 122, 100, 102, 142, 126, 109, 123, 124, 119, 122, 121, 125, 137, 121, 123, 117, 131, 123, 103, 130, 116, 123, 148, 119, 123, 125, 98, 117, 119, 107, 104, 143, 132, 123, 133, 104, 67, 125, 115, 122, 123, 128, 128, 105, \ +109, 98, 119, 101, 112, 115, 121, 157, 120, 137, 128, 141, 122, 145, 115, 105, 114, 127, 120, 115, 99, 123, 122, 95, 122, 136, 131, 110, 101, 121, 147, 120, 141, 118, 123, 119, 159, 123, 132, 126, 143, 123, 114, 124, 123, 123, 129, 116, 172, 116, 91, 126, 149, 123, 121, 92, 118, 126, 117, 112, 123, 123, 124, 171, \ +92, 131, 96, 114, 127, 115, 117, 127, 145, 111, 124, 144, 123, 140, 158, 111, 140, 119, 138, 136, 130, 131, 119, 90, 130, 125, 111, 113, 121, 125, 116, 116, 157, 109, 123, 139, 123, 123, 112, 123, 143, 123, 123, 125, 123, 106, 120, 119, 129, 126, 132, 114, 159, 123, 109, 86, 103, 130, 130, 114, 123, 118, 135, 142, \ +126, 124, 118, 123, 119, 125, 120, 128, 113, 125, 124, 138, 124, 120, 147, 123, 123, 118, 122, 119, 131, 120, 125, 132, 128, 124, 124, 117, 136, 119, 117, 121, 125, 120, 123, 131, 182, 123, 128, 119, 125, 123, 117, 131, 123, 108, 137, 127, 112, 124, 121, 131, 124, 123, 126, 108, 102, 120, 111, 131, 123, 148, 123, 105, \ +121, 98, 160, 117, 150, 128, 93, 117, 126, 127, 123, 122, 115, 131, 126, 130, 130, 115, 128, 128, 132, 122, 122, 127, 125, 125, 194, 122, 137, 15, 111, 127, 106, 202, 123, 129, 121, 123, 130, 106, 92, 123, 129, 124, 123, 110, 124, 119, 123, 130, 108, 130, 123, 123, 104, 131, 126, 131, 130, 148, 123, 132, 130, 128, \ +136, 131, 113, 116, 124, 141, 129, 128, 138, 149, 125, 103, 90, 132, 130, 111, 111, 118, 120, 124, 133, 124, 133, 131, 121, 125, 122, 134, 150, 132, 128, 127, 108, 138, 123, 119, 91, 123, 129, 133, 113, 123, 127, 119, 123, 132, 128, 124, 135, 125, 130, 111, 108, 123, 124, 161, 130, 129, 151, 145, 123, 133, 142, 98, \ +116, 124, 167, 125, 123, 123, 128, 153, 118, 132, 125, 139, 187, 109, 126, 124, 139, 122, 120, 120, 91, 128, 126, 108, 130, 135, 115, 121, 93, 126, 107, 127, 124, 124, 123, 114, 119, 123, 122, 117, 163, 123, 118, 122, 123, 131, 120, 123, 130, 127, 98, 119, 140, 123, 178, 115, 103, 123, 138, 116, 123, 124, 79, 147, \ +60, 125, 118, 122, 123, 127, 128, 107, 130, 186, 120, 130, 111, 128, 101, 128, 139, 126, 129, 126, 111, 125, 131, 132, 126, 127, 118, 125, 125, 135, 153, 128, 129, 125, 123, 113, 134, 123, 128, 123, 120, 123, 128, 123, 123, 116, 126, 126, 97, 123, 119, 92, 97, 123, 97, 107, 124, 124, 135, 151, 123, 164, 137, 129, \ +126, 125, 129, 123, 121, 124, 123, 130, 124, 122, 125, 117, 122, 124, 126, 126, 124, 128, 144, 119, 121, 139, 91, 117, 138, 0, 123, 127, 102, 123, 126, 173, 124, 122, 123, 122, 128, 123, 107, 118, 122, 123, 132, 128, 123, 123, 133, 130, 132, 119, 132, 124, 121, 123, 127, 111, 130, 124, 130, 122, 123, 123, 122, 115, \ +123, 124, 124, 111, 126, 151, 125, 121, 126, 127, 122, 127, 118, 123, 125, 131, 126, 126, 117, 124, 124, 169, 131, 118, 125, 125, 123, 144, 127, 129, 117, 125, 129, 124, 123, 134, 112, 123, 145, 127, 117, 123, 107, 138, 123, 128, 105, 169, 109, 116, 109, 133, 117, 123, 125, 120, 115, 201, 132, 117, 123, 122, 130, 131, \ +117, 156, 191, 111, 124, 121, 129, 91, 131, 121, 119, 99, 100, 135, 119, 99, 113, 144, 128, 121, 126, 124, 125, 137, 124, 118, 128, 124, 145, 117, 118, 123, 86, 112, 123, 127, 85, 123, 127, 212, 72, 123, 122, 124, 123, 122, 117, 122, 64, 121, 112, 111, 85, 123, 172, 148, 112, 122, 120, 123, 123, 110, 36, 84, \ +124, 105, 74, 115, 156, 121, 110, 130, 128, 124, 120, 131, 102, 144, 124, 113, 125, 111, 132, 124, 132, 127, 126, 126, 126, 122, 81, 123, 134, 146, 116, 124, 131, 133, 123, 111, 138, 123, 127, 117, 152, 123, 123, 124, 123, 112, 126, 120, 176, 125, 123, 119, 130, 123, 96, 132, 117, 126, 129, 117, 123, 122, 123, 127, \ +135, 126, 110, 124, 128, 122, 122, 109, 142, 126, 125, 128, 156, 154, 138, 104, 127, 125, 128, 122, 144, 118, 122, 123, 123, 119, 117, 126, 161, 129, 122, 126, 120, 122, 123, 137, 143, 123, 130, 126, 118, 123, 120, 120, 123, 123, 121, 127, 129, 131, 129, 105, 121, 123, 119, 79, 135, 127, 115, 131, 123, 132, 117, 101, \ +123, 139, 127, 114, 122, 126, 119, 125, 124, 121, 120, 165, 118, 129, 120, 97, 129, 121, 127, 146, 120, 123, 113, 131, 124, 130, 124, 121, 94, 121, 126, 138, 134, 119, 123, 128, 97, 123, 109, 125, 117, 123, 125, 115, 123, 126, 83, 118, 122, 110, 137, 133, 128, 123, 132, 131, 66, 116, 136, 116, 123, 119, 113, 126, \ +123, 138, 78, 139, 58, 125, 124, 125, 126, 120, 122, 124, 128, 124, 126, 128, 126, 124, 121, 121, 129, 123, 125, 122, 124, 122, 114, 121, 129, 109, 125, 122, 119, 154, 123, 120, 115, 123, 122, 227, 200, 123, 121, 123, 123, 113, 119, 125, 127, 126, 112, 124, 105, 123, 111, 129, 122, 122, 129, 116, 123, 130, 105, 126, \ +128, 122, 127, 120, 125, 99, 124, 121, 121, 126, 125, 149, 120, 119, 122, 125, 121, 121, 134, 123, 135, 154, 107, 121, 132, 140, 118, 219, 105, 123, 125, 131, 131, 129, 123, 120, 109, 123, 155, 123, 126, 123, 114, 157, 123, 122, 115, 131, 128, 118, 131, 137, 126, 123, 127, 98, 133, 123, 130, 121, 123, 118, 123, 107, \ +128, 102, 130, 137, 120, 131, 122, 114, 129, 124, 124, 135, 136, 103, 138, 150, 133, 123, 129, 127, 134, 130, 127, 118, 122, 119, 121, 121, 146, 121, 101, 119, 123, 112, 123, 129, 132, 123, 118, 108, 130, 123, 126, 127, 123, 121, 125, 121, 128, 125, 68, 118, 160, 123, 135, 93, 128, 128, 132, 136, 123, 130, 125, 111, \ +74, 125, 124, 125, 121, 125, 125, 133, 124, 76, 123, 134, 127, 120, 152, 124, 159, 127, 123, 127, 128, 125, 122, 117, 120, 125, 126, 123, 122, 121, 120, 121, 146, 124, 123, 129, 116, 123, 123, 119, 131, 123, 127, 124, 123, 128, 118, 124, 115, 120, 106, 136, 137, 123, 127, 95, 120, 124, 115, 119, 123, 106, 133, 125, \ +118, 127, 116, 117, 123, 125, 133, 123, 122, 125, 122, 121, 125, 123, 123, 120, 119, 124, 124, 121, 127, 123, 121, 123, 123, 122, 0, 123, 122, 135, 124, 121, 126, 156, 123, 115, 128, 123, 124, 127, 122, 123, 129, 123, 123, 131, 124, 124, 120, 121, 123, 120, 116, 123, 122, 125, 122, 121, 121, 111, 123, 124, 128, 122, \ +131, 120, 133, 130, 113, 123, 125, 114, 142, 131, 125, 133, 106, 90, 137, 146, 118, 120, 124, 125, 131, 116, 124, 121, 121, 118, 124, 125, 164, 125, 120, 128, 123, 124, 123, 102, 160, 123, 133, 126, 129, 123, 127, 123, 123, 126, 126, 122, 107, 135, 117, 79, 134, 123, 118, 67, 121, 120, 138, 144, 123, 130, 119, 93, \ +128, 185, 116, 122, 129, 127, 121, 98, 135, 126, 121, 111, 156, 101, 114, 187, 119, 124, 122, 125, 149, 124, 120, 130, 125, 125, 145, 120, 144, 120, 124, 123, 83, 132, 123, 127, 100, 123, 121, 118, 109, 123, 119, 121, 123, 143, 126, 124, 103, 138, 163, 123, 116, 123, 91, 137, 113, 126, 130, 127, 123, 112, 127, 108, \ +129, 163, 131, 126, 131, 122, 124, 113, 148, 134, 123, 115, 111, 138, 119, 130, 128, 129, 120, 125, 149, 116, 127, 142, 116, 115, 132, 130, 142, 121, 110, 126, 93, 128, 123, 129, 65, 123, 130, 124, 109, 123, 128, 117, 123, 141, 131, 123, 140, 127, 123, 123, 135, 123, 118, 168, 127, 120, 127, 124, 123, 128, 139, 67, \ +129, 115, 100, 87, 124, 123, 118, 122, 129, 122, 120, 118, 144, 205, 128, 73, 117, 123, 129, 126, 114, 127, 126, 111, 121, 119, 118, 123, 119, 124, 145, 126, 113, 117, 123, 165, 104, 123, 119, 130, 120, 123, 127, 121, 123, 107, 118, 121, 129, 127, 195, 117, 136, 123, 120, 117, 130, 121, 121, 115, 123, 129, 141, 95, \ +116, 114, 113, 127, 122, 128, 124, 126, 57, 167, 125, 127, 127, 120, 133, 121, 124, 123, 124, 122, 115, 121, 123, 97, 125, 121, 127, 122, 123, 122, 119, 123, 158, 129, 123, 125, 113, 123, 128, 113, 141, 123, 124, 122, 123, 128, 129, 122, 128, 120, 124, 132, 132, 123, 134, 132, 116, 122, 122, 122, 123, 49, 124, 117, \ +128, 126, 109, 148, 130, 119, 118, 129, 124, 127, 125, 118, 120, 109, 112, 146, 123, 122, 152, 138, 139, 104, 121, 114, 122, 116, 124, 118, 117, 127, 103, 116, 135, 132, 123, 143, 103, 123, 133, 129, 120, 123, 137, 110, 123, 120, 162, 150, 129, 127, 100, 140, 129, 123, 129, 133, 129, 125, 121, 116, 123, 121, 118, 129, \ +127, 66, 108, 126, 123, 131, 124, 142, 126, 132, 128, 141, 104, 134, 124, 72, 126, 120, 117, 114, 114, 124, 115, 119, 130, 136, 110, 121, 121, 128, 121, 111, 152, 127, 123, 115, 125, 123, 98, 89, 160, 123, 122, 121, 123, 115, 111, 116, 158, 120, 92, 119, 163, 123, 113, 128, 115, 136, 136, 122, 123, 132, 154, 127, \ +124, 119, 132, 124, 125, 143, 122, 127, 130, 122, 124, 117, 111, 123, 129, 123, 126, 124, 123, 123, 115, 115, 172, 114, 21, 161, 119, 124, 94, 124, 124, 99, 125, 123, 123, 130, 113, 123, 112, 122, 123, 123, 161, 128, 123, 130, 115, 123, 127, 107, 134, 125, 117, 123, 129, 107, 136, 130, 131, 123, 123, 122, 118, 111, \ +123, 125, 123, 125, 123, 128, 127, 129, 121, 121, 121, 108, 129, 127, 128, 123, 126, 125, 135, 122, 123, 224, 123, 124, 186, 65, 131, 135, 127, 122, 122, 92, 120, 122, 123, 124, 129, 123, 124, 129, 121, 123, 117, 144, 123, 124, 139, 124, 131, 124, 120, 127, 128, 123, 126, 124, 111, 121, 121, 123, 123, 127, 131, 125, \ +119, 125, 126, 113, 130, 119, 126, 124, 126, 116, 123, 134, 146, 140, 131, 102, 129, 126, 128, 124, 126, 127, 110, 122, 137, 139, 115, 207, 143, 124, 121, 125, 125, 119, 123, 131, 146, 123, 134, 128, 129, 123, 121, 162, 123, 112, 122, 77, 126, 120, 141, 114, 121, 123, 119, 88, 118, 96, 123, 124, 123, 118, 119, 96, \ +122, 122, 126, 138, 122, 103, 121, 125, 121, 124, 123, 108, 117, 127, 125, 119, 127, 124, 128, 117, 120, 108, 115, 123, 115, 129, 129, 118, 131, 122, 121, 150, 126, 121, 123, 128, 127, 123, 114, 131, 110, 123, 122, 113, 123, 129, 128, 37, 107, 124, 117, 121, 120, 123, 125, 122, 137, 80, 124, 128, 123, 124, 119, 129, \ +161, 143, 113, 136, 100, 131, 106, 118, 123, 102, 121, 117, 116, 103, 144, 147, 131, 113, 129, 131, 126, 127, 125, 136, 125, 126, 137, 125, 141, 125, 57, 123, 134, 105, 123, 136, 137, 123, 118, 132, 105, 123, 131, 129, 123, 129, 122, 127, 76, 130, 125, 123, 131, 123, 117, 102, 128, 127, 134, 156, 123, 106, 119, 110, \ +206, 120, 121, 125, 119, 127, 129, 110, 110, 181, 125, 122, 116, 121, 166, 125, 144, 122, 123, 126, 144, 125, 119, 110, 124, 123, 133, 121, 137, 122, 124, 126, 178, 129, 123, 124, 87, 123, 119, 126, 132, 123, 121, 126, 123, 131, 120, 123, 131, 122, 129, 64, 120, 123, 123, 136, 125, 124, 51, 117, 123, 67, 127, 149, \ +122, 120, 111, 118, 118, 122, 114, 112, 116, 118, 121, 149, 119, 123, 125, 115, 123, 118, 130, 118, 124, 123, 105, 117, 116, 124, 125, 116, 123, 116, 123, 132, 112, 121, 123, 123, 118, 123, 145, 127, 117, 123, 105, 113, 123, 119, 65, 119, 119, 107, 109, 131, 121, 123, 120, 117, 112, 117, 113, 123, 123, 125, 124, 121, \ +100, 115, 117, 123, 126, 126, 126, 125, 114, 98, 122, 129, 121, 123, 113, 118, 165, 124, 118, 122, 112, 127, 125, 139, 124, 133, 123, 124, 55, 125, 131, 120, 120, 123, 123, 118, 78, 123, 126, 125, 122, 123, 130, 123, 123, 137, 127, 124, 133, 125, 113, 137, 122, 123, 117, 140, 118, 122, 123, 121, 123, 81, 122, 185, \ +127, 124, 122, 123, 123, 65, 124, 120, 123, 125, 120, 141, 123, 119, 121, 122, 122, 121, 115, 120, 118, 122, 229, 119, 137, 145, 121, 121, 120, 123, 122, 85, 126, 125, 123, 124, 125, 123, 106, 125, 121, 123, 80, 122, 123, 125, 104, 122, 115, 123, 123, 124, 118, 123, 123, 124, 124, 121, 122, 124, 123, 123, 124, 123, \ +126, 127, 126, 96, 125, 131, 124, 117, 120, 125, 123, 112, 106, 140, 108, 110, 124, 125, 117, 122, 116, 137, 118, 126, 120, 146, 122, 196, 76, 121, 146, 118, 113, 123, 123, 128, 106, 123, 133, 121, 120, 123, 116, 159, 123, 118, 116, 152, 129, 118, 146, 130, 115, 123, 130, 142, 113, 178, 123, 119, 123, 123, 123, 131, \ +168, 117, 119, 125, 125, 127, 124, 225, 160, 179, 127, 149, 122, 121, 179, 124, 103, 126, 122, 119, 73, 123, 124, 124, 121, 125, 114, 122, 118, 122, 129, 120, 82, 124, 123, 127, 113, 123, 127, 116, 114, 123, 117, 125, 123, 123, 127, 122, 123, 117, 118, 150, 124, 123, 123, 152, 129, 119, 113, 122, 123, 88, 120, 109, \ +122, 124, 126, 118, 119, 125, 118, 126, 126, 124, 129, 88, 127, 121, 126, 120, 126, 126, 152, 123, 124, 136, 87, 124, 101, 99, 131, 122, 121, 120, 123, 169, 124, 124, 123, 123, 122, 123, 99, 122, 123, 123, 220, 117, 123, 125, 172, 122, 129, 111, 123, 119, 133, 123, 127, 124, 127, 123, 125, 124, 123, 126, 126, 123, \ +123, 124, 126, 122, 123, 215, 122, 118, 123, 125, 122, 135, 122, 128, 123, 124, 122, 130, 102, 118, 127, 139, 131, 126, 124, 142, 124, 127, 126, 123, 118, 131, 125, 119, 123, 130, 114, 123, 156, 120, 121, 123, 85, 124, 123, 125, 114, 125, 128, 113, 119, 125, 130, 123, 122, 131, 101, 132, 123, 121, 123, 126, 125, 123, \ +120, 163, 187, 126, 113, 123, 152, 100, 120, 128, 122, 125, 132, 117, 113, 124, 116, 128, 125, 128, 128, 118, 121, 124, 124, 122, 136, 121, 119, 89, 148, 122, 105, 98, 123, 140, 120, 123, 122, 101, 151, 123, 126, 124, 123, 120, 119, 127, 122, 126, 118, 122, 135, 123, 113, 118, 122, 120, 124, 141, 123, 120, 104, 115, \ +124, 140, 129, 168, 135, 128, 132, 120, 124, 126, 124, 132, 102, 62, 117, 189, 136, 131, 120, 119, 117, 126, 122, 112, 123, 126, 122, 123, 103, 123, 116, 120, 130, 124, 123, 120, 132, 123, 105, 127, 111, 123, 122, 129, 123, 129, 121, 107, 117, 118, 59, 128, 123, 123, 121, 112, 133, 158, 120, 128, 123, 124, 124, 138, \ +129, 133, 110, 113, 147, 117, 104, 114, 121, 128, 121, 114, 148, 163, 119, 96, 124, 130, 113, 128, 118, 124, 113, 119, 125, 124, 150, 121, 123, 104, 156, 118, 118, 137, 123, 164, 122, 123, 126, 137, 143, 123, 119, 124, 123, 81, 114, 128, 120, 123, 158, 123, 91, 123, 125, 121, 117, 122, 127, 112, 123, 116, 95, 115, \ +120, 139, 121, 120, 134, 121, 119, 115, 123, 126, 122, 128, 116, 122, 133, 132, 142, 123, 112, 146, 106, 119, 122, 119, 127, 127, 120, 117, 128, 123, 122, 135, 120, 117, 123, 99, 126, 123, 124, 121, 134, 123, 119, 122, 123, 147, 77, 120, 132, 102, 108, 110, 117, 123, 114, 134, 94, 130, 120, 116, 123, 127, 134, 121, \ +121, 164, 158, 134, 139, 126, 126, 97, 136, 121, 121, 111, 183, 102, 123, 157, 127, 125, 121, 124, 139, 126, 126, 132, 120, 118, 128, 126, 126, 121, 114, 119, 82, 130, 123, 114, 83, 123, 122, 144, 111, 123, 121, 124, 123, 124, 118, 129, 100, 119, 131, 119, 121, 123, 156, 131, 131, 115, 116, 122, 123, 119, 74, 111, \ +107, 123, 124, 124, 121, 120, 127, 116, 93, 75, 122, 125, 135, 118, 75, 116, 129, 123, 123, 124, 104, 123, 125, 113, 122, 126, 123, 123, 112, 123, 123, 123, 96, 126, 123, 120, 164, 123, 122, 111, 133, 123, 123, 124, 123, 130, 127, 122, 132, 118, 124, 136, 130, 123, 140, 118, 122, 121, 177, 125, 123, 104, 117, 125, \ +123, 118, 125, 127, 122, 64, 122, 123, 120, 121, 125, 96, 124, 119, 126, 120, 120, 122, 166, 115, 118, 123, 160, 118, 120, 114, 125, 126, 118, 122, 128, 165, 118, 124, 123, 119, 122, 123, 54, 125, 120, 123, 167, 111, 123, 118, 199, 127, 123, 131, 126, 124, 121, 123, 119, 123, 123, 126, 119, 120, 123, 122, 121, 122, \ +126, 60, 135, 123, 103, 124, 120, 111, 120, 124, 122, 121, 126, 128, 129, 111, 124, 136, 124, 120, 125, 107, 121, 156, 121, 133, 95, 110, 89, 132, 112, 126, 116, 112, 123, 124, 141, 123, 123, 108, 104, 123, 123, 136, 123, 79, 120, 118, 79, 117, 114, 124, 67, 123, 122, 93, 129, 127, 111, 122, 123, 123, 93, 129, \ +106, 128, 128, 111, 158, 121, 133, 113, 122, 129, 122, 111, 108, 129, 114, 132, 117, 132, 119, 122, 114, 123, 125, 134, 119, 121, 96, 125, 123, 132, 147, 122, 113, 166, 123, 105, 120, 123, 121, 131, 127, 123, 127, 121, 123, 136, 126, 123, 149, 120, 151, 126, 100, 123, 112, 127, 124, 122, 112, 116, 123, 129, 116, 115, \ +125, 135, 112, 99, 130, 127, 122, 117, 131, 131, 123, 124, 150, 134, 144, 97, 90, 125, 119, 123, 140, 123, 119, 125, 121, 125, 126, 124, 160, 130, 108, 112, 129, 133, 123, 124, 155, 123, 128, 126, 134, 123, 136, 127, 123, 125, 115, 123, 121, 124, 145, 109, 131, 123, 125, 91, 125, 121, 127, 129, 123, 134, 100, 96, \ +123, 118, 126, 127, 120, 148, 127, 126, 128, 123, 123, 135, 123, 124, 129, 122, 126, 126, 87, 121, 124, 160, 108, 119, 118, 121, 124, 178, 131, 126, 115, 168, 123, 127, 123, 126, 118, 123, 142, 121, 122, 123, 104, 130, 123, 126, 101, 111, 126, 113, 132, 128, 122, 123, 129, 105, 125, 115, 120, 118, 123, 126, 117, 130, \ +129, 128, 129, 126, 122, 133, 118, 140, 121, 124, 128, 109, 143, 110, 119, 146, 136, 124, 121, 120, 112, 117, 140, 117, 124, 130, 131, 115, 104, 122, 121, 132, 147, 131, 123, 116, 146, 123, 173, 127, 122, 123, 131, 132, 123, 131, 191, 125, 106, 136, 125, 130, 114, 123, 130, 116, 148, 119, 127, 119, 123, 121, 103, 141, \ +120, 127, 120, 131, 116, 132, 117, 120, 117, 123, 122, 115, 145, 121, 126, 161, 122, 119, 127, 127, 119, 127, 121, 119, 122, 115, 124, 111, 117, 121, 114, 124, 124, 112, 123, 112, 110, 123, 119, 126, 116, 123, 111, 89, 123, 127, 126, 191, 110, 129, 109, 119, 127, 123, 128, 131, 127, 197, 122, 127, 123, 127, 125, 129, \ +124, 115, 121, 125, 120, 218, 123, 123, 123, 121, 121, 140, 119, 124, 125, 121, 128, 123, 62, 133, 122, 131, 107, 123, 119, 127, 123, 122, 118, 124, 121, 88, 124, 120, 123, 120, 117, 123, 148, 120, 122, 123, 76, 110, 123, 122, 76, 121, 129, 134, 127, 124, 122, 123, 124, 120, 113, 122, 123, 123, 123, 125, 123, 123, \ +133, 119, 127, 124, 126, 127, 123, 120, 123, 140, 121, 113, 97, 119, 66, 124, 84, 129, 122, 124, 137, 128, 128, 133, 122, 128, 128, 121, 69, 129, 108, 126, 86, 130, 123, 137, 71, 123, 124, 126, 116, 123, 126, 117, 123, 124, 119, 127, 121, 124, 128, 137, 116, 123, 111, 194, 137, 121, 113, 118, 123, 110, 123, 223, \ +91, 119, 123, 120, 127, 124, 129, 145, 132, 95, 126, 141, 120, 128, 70, 122, 117, 119, 122, 121, 75, 127, 125, 3, 120, 121, 129, 124, 155, 120, 105, 122, 199, 132, 123, 127, 95, 123, 123, 109, 137, 123, 119, 124, 123, 126, 117, 126, 112, 123, 121, 72, 133, 123, 112, 149, 109, 117, 143, 115, 123, 158, 121, 100, \ +128, 130, 106, 103, 151, 130, 101, 131, 124, 126, 121, 125, 168, 138, 137, 109, 128, 114, 120, 127, 131, 128, 118, 109, 127, 126, 112, 123, 153, 133, 117, 119, 132, 150, 123, 135, 146, 123, 120, 124, 123, 123, 123, 121, 123, 93, 103, 125, 124, 123, 144, 116, 119, 123, 128, 100, 114, 120, 130, 132, 123, 129, 102, 115, \ +124, 210, 157, 126, 133, 127, 123, 140, 122, 125, 120, 134, 144, 112, 127, 161, 117, 133, 126, 137, 104, 120, 119, 116, 124, 129, 144, 122, 115, 122, 122, 122, 140, 124, 123, 131, 124, 123, 129, 158, 89, 123, 128, 124, 123, 147, 129, 132, 66, 137, 150, 116, 96, 123, 146, 115, 97, 111, 123, 127, 123, 119, 89, 133 } + +#define CONV5_W_Z (123) +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1152036480, 1111238400, 1733881216, 1881880704, 1592544768, 1086886016, 2088470016, 1385031680, 1153896704, 1915589120, 1828081152, 1074615424, 1129389568, 1257788544, 1093343872, 1749969280, 1946501760, 1950946688, 1866538496, 1851909504, 1143948416, 1561963264, 1081001088, 1783708416, 1759513088, 1699284608, 1586907136, 1706357248, 1368004096, 1214944256, 1198703488, 1599108352, 1844227456, 1758828416, 1162889472, 1501387136, 1184586240, 1823737856, 1681500544, 1437398656, 2093694976, 1245073280, 1535370880, 1241732480, 1493307648, 2042808960, 1236668928, 2105105664, 1753727232, 1924561024, 1318948608, 1087124992, 1404257024, 1282270080, 1433454208, 1556508672, 2140179712, 1746985600, 1959055616, 1349353088, 1827844992, 1298900608, 1182446336, 1827471488, 1371026816, 1268336640, 1811876352, 1135028480, 1957197312, 1449866240, 1689609600, 2135411840, 1884896640, 1529634048, 2059822080, 1711058688, 1527041280, 1460349056, 1969421312, 1537035136, 1412892928, 1143829120, 1630393472, 1715864320, 1194570880, 1438002048, 1151266688, 1876381440, 1285587200, 1923322624, 1758658176, 1713621632, 1138923904, 1250585600, 1140368768, 1528886400, 2083747200, 1521045376, 1618306432, 1662567680, 1637463680, 1146566144, 1898216704, 1572467456, 1389940992, 1284500480, 1714569728, 2035435520, 1769719936, 1608554624, 1110617216, 1197830144, 1455006720, 1332055296, 2014112896, 1831239680, 1481259136, 2138861440, 1265988992, 1216908800, 1425084288, 1526574464, 1827084544, 1866265344, 2036081024, 1138316800, 1957918976, 1771723136}; +static const int8_t CONV5_N_ZERO[] = {10, 8, 9, 9, 9, 8, 10, 9, 9, 9, 11, 8, 10, 9, 9, 9, 9, 10, 10, 10, 9, 9, 8, 9, 10, 12, 9, 8, 9, 9, 8, 10, 10, 9, 9, 8, 10, 9, 9, 10, 10, 9, 9, 9, 10, 12, 9, 10, 10, 10, 9, 9, 11, 9, 9, 9, 9, 11, 10, 9, 10, 10, 9, 9, 8, 9, 9, 8, 9, 10, 10, 9, 10, 9, 9, 10, 9, 10, 9, 9, 10, 10, 9, 9, 8, 9, 9, 9, 9, 9, 9, 10, 9, 9, 8, 9, 12, 9, 9, 9, 10, 8, 11, 8, 9, 9, 10, 10, 10, 9, 8, 9, 9, 8, 10, 9, 9, 9, 9, 9, 9, 10, 10, 9, 10, 9, 10, 11}; + /* + Layer 6 Learned Parameters +#define CONV6_BIAS \ + {423, 3903, -136, -62, 358, 1771, 465, 1463, 2193, -52, 162, 276, 390, -160, 134, 113, -170, -7, 789, 55, 202, -449, 3099, -25, 1200, -2518, 147, -165, 5, -8, 1346, 109, 120, 579, 981, 589, -281, 276, -19, 21, 444, -25, 309, 902, 1245, -1537, 21, 527, 1701, 351, 4046, -345, 657, 1393, -118, -98, -403, 330, 110, 725, -411, 727, -165, 391, 15, -125, -66, -94, 1251, -7, -390, 655, 602, 64, 245, -363, 821, 776, -145, 155, 17, 376, 57, 133, 1688, -529, 485, 128, 515, 22, 47, 126, -154, 27, -13, 1501, 48, 1484, 83, -433, 8, -3, 1247, 433, -78, 39, -145, -24, 84, 902, 1346, 1021, -97, 4730, 446, -28, -36, 4663, 641, 398, 491, 78, 1008, 625, -448, 1038, 447, 248} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-53, -240, -61, -100, -25, -237, -132, -181, -232, -65, -106, -154, -30, -56, -55, -51, -112, -158, -160, -103, -106, -56, -187, -112, -136, -13, -106, -64, -87, -107, -121, -137, -114, -118, -205, -142, -43, -80, -116, -88, -108, -138, -32, -126, -130, -23, -23, -64, -192, -129, -246, -17, -214, -162, -46, -69, -77, -122, -100, -164, -30, -95, -93, -128, -145, -79, -41, -125, -199, -117, -49, -60, -175, -137, -84, -23, -203, -188, -77, -112, -106, -32, -175, -96, -101, -16, -69, -104, -103, -163, -64, -49, -129, -31, -95, -177, -36, -117, -117, -57, -119, -105, -235, -175, -57, -106, -56, -26, -138, -217, -262, -226, -84, -316, -127, -106, -68, -257, -60, -140, -109, -104, -203, -178, -24, -36, -170, -108}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {2121170688, 1743240832, 1159828864, 1316174592, 1690724992, 1747982336, 1550993920, 1118425856, 1712936064, 1945368320, 1297252992, 1298156800, 1160683904, 1857216000, 1637023616, 1680637696, 1138292992, 1084239872, 1829767936, 1805473280, 1272533504, 1401904128, 1823433984, 1206061824, 1627308160, 1931300480, 1773990144, 1164613376, 1221908736, 1097497984, 1196925952, 1091374080, 1639446784, 1672515584, 1163527808, 1818851584, 1105617920, 1503600768, 1166535936, 1810357888, 1745024512, 1542015616, 1908542592, 1829513984, 1162066944, 1454697856, 2051294976, 1722502400, 1733685632, 1270159232, 1156702208, 1183557888, 1565129856, 1258006784, 1832583552, 1200773120, 1137746048, 1495215488, 1901883648, 1236023040, 1563270784, 1570958336, 1856759680, 1501660288, 1723449728, 1131719936, 1214045184, 2015134720, 1470320896, 1099698560, 1790447104, 1260727168, 2064286208, 1698353280, 1185161216, 1399561088, 2142209280, 1469862912, 1702887808, 1374574464, 1357643520, 1882174848, 1708969856, 1853180288, 1714764416, 1811193344, 2002159616, 1873260544, 1291782016, 1132568448, 1097208064, 1235747712, 1807394048, 1202977920, 1302101248, 1435375360, 1989289344, 1551464576, 1078094592, 1408210176, 1366781568, 2036569344, 1632229248, 1416248576, 2117285504, 2021395072, 1942945536, 1997075968, 1849917568, 1450938112, 1258416256, 1881530880, 1763689472, 1083005184, 1213320448, 1389807744, 1459332480, 2027202816, 1931800448, 1367059072, 1427845888, 1396120576, 1595552768, 1115831936, 1259729024, 1653626496, 1829822976, 1128702976}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 7 Learned Parameters +#define CONV7_BIAS \ + {-860, -1172, -1138, -1126, -278, 422, 929, -666, 399, 985, 2092, 1482, -838, 679, 1526, -2120, -1212, 1346, 937, -1062, 96, -294, 1480, -892, 509, 848, -1154, -502, 1289, -173, -497, 49, 251, 1487, 1073, -1561, -513, 3445, -1184, -3446, -1798, 7545, 916, 223, -478, 2862, 2512, 95, -1705, 3023, 1810, -3481, 1383, 914, 1317, 2174, 2228, -137, -345, 2812, 1353, 624, -1322, 2530, 471, 155, -572, -451, 600, -3055, 364, -2804, 2826, 1262, 416, -1986, -1230, 3780, -2245, 134, 1590, -2691, 6073, 1159, 763, -1213, 102, 611, 803, -209, 1465, -3737, -209, -1379, 1279, -85, -771, 197, 1485, -7, -3586, -914, -12, 788, -775, -3160, 1377, 329, 1833, 1180, 1005, 738, 1330, 888, 659, 267, 240, 1770, 1544, 1575, -1161, 1082, 1862, 2040, -1069, 155, -121, -677} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-77, -142, -71, -59, -138, -152, -134, -151, -129, -78, -181, -68, -69, -101, -163, -99, -156, -175, -138, -110, -130, -79, -119, -114, -154, -160, -110, -137, -153, -169, -144, -162, -168, -198, -154, -70, -118, -121, -71, -60, -122, -127, -151, -106, -138, -131, -151, -84, -171, -141, -178, -82, -145, -147, -153, -108, -144, -131, -109, -151, -144, -143, -121, -161, -165, -168, -44, -122, -120, -94, -94, -102, -200, -74, -145, -149, -119, -135, -145, -73, -146, -120, -128, -84, -107, -101, -142, -133, -159, -151, -125, -86, -63, -83, -126, -128, -85, -152, -150, -158, -98, -141, -106, -158, -86, -54, -76, -105, -114, -96, -102, -170, -166, -134, -161, -97, -59, -151, -156, -69, -94, -88, -140, -214, -124, -112, -143, -109}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1187953408, 1894031872, 1903528960, 1351314688, 2022907776, 1106693120, 1550458112, 1805269376, 1367656192, 1577234816, 2001888896, 1907358336, 1991033472, 1284267264, 1136660480, 1862056064, 1102293376, 1618248448, 1215985408, 1816298752, 1433883392, 1111420288, 1772654976, 1476179712, 2139582976, 1538407296, 1259886336, 1829999616, 2117391104, 2092317696, 1080086016, 1881118080, 2139381888, 1367169408, 1249438976, 1218720256, 1297058176, 1730147072, 1818784128, 1076063104, 1496703104, 2026048000, 1107915648, 1604176128, 2118232960, 1657715584, 1236844544, 2012122752, 1450436352, 1344910720, 1382429312, 1389587328, 1207472000, 1577212032, 2020245248, 1259499776, 1434603520, 1425727744, 2099077888, 1128102144, 1431194112, 1443942144, 1703461248, 1316673792, 1596444160, 1129496448, 1575953792, 1824730624, 1855543808, 2043271552, 1141239680, 1146075776, 1093464960, 1390281216, 2133951232, 1780643200, 1450184448, 1814636032, 1739028480, 2008592640, 1132064512, 1816765440, 1670960000, 1878710784, 1497956480, 1172870272, 1950893568, 1166562432, 1080937728, 1570278400, 1977736960, 1415536128, 1113015040, 1233328000, 1405478912, 1256256384, 1620446080, 1924982400, 1864796800, 1319947904, 1524052480, 1812339072, 1089499648, 2101509888, 1218014464, 1156246912, 1722869248, 2010748288, 1410694016, 1435639808, 1285619584, 1474012032, 2047163136, 1328518272, 1322142976, 2025303168, 1602683520, 1150712704, 1288357888, 1213141888, 1220052352, 1928743808, 1236616448, 1943285760, 1418273152, 1085889792, 1473913600, 1144601600}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 8 Learned Parameters +#define CONV8_BIAS \ + {168, 687, 4945, 4062, 3980, 572, 3864, 175, 6306, -811, 219, 4000, 2018, -52, 11401, 188, 1310, 7530, 22, 4562, -47, 1038, 7483, 657, 8602, 16, -91, 4043, 2128, 83, 2958, 274, -33, 134, 104, 325, 963, 7033, 195, 74, -107, -128, 2608, -19, 6378, -65, 2866, 5136, 219, -2013, 8252, 80, 6401, 691, 3731, 5911, -475, 3660, 189, 5084, 2081, 65, 2432, 647, 2627, 177, 837, 695, 6178, 7677, 29, 2817, 174, -1242, -59, 136, 310, -2, 251, -1038, 3004, 923, 94, -2485, -171, 2740, 5530, 260, 27, -382, 484, 510, -173, 225, 547, 5900, 82, 38, 9379, 3835, 155, 73, 233, 96, 12902, 375, 3342, 233, 540, 472, 6414, 1635, 6727, -2194, 39, 2104, 4819, 718, -1226, 3759, 6164, 10859, 132, -68, 40, 1906, 22, 4715} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {89, 108, -362, -347, -356, 87, -91, 80, -386, 61, 57, -270, -323, 80, -343, 99, -289, -329, 64, -354, 61, -332, -279, 61, -345, 71, 85, -203, -315, 33, -335, 75, -116, 63, 56, 74, 53, -319, 42, 88, 74, -126, -337, -135, -345, -120, -319, -337, 71, 61, -349, 32, -348, 113, -350, -312, 92, -337, 67, -319, -288, -13, -107, 64, -334, 44, -269, 51, -294, -329, -106, -360, 80, 45, 101, 44, 3, -147, 53, 95, -248, 56, -129, 50, 20, -327, -359, 38, 101, 3, 63, 3, -109, -39, -143, -377, -167, 93, -337, -383, 59, 37, 48, 69, -337, 62, -318, -128, -174, -140, -309, -355, -329, 63, 79, -318, -336, 57, 63, -280, -323, -328, 39, 18, -170, -100, 35, -339}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1607006976, 1210545536, 1103270784, 1665983360, 1630029056, 1361870592, 1784421632, 1818471936, 1419109888, 1656384256, 1776322560, 1438761216, 1190914560, 1634262656, 1123833216, 1102879232, 1761698176, 1320739456, 1976531328, 1458611840, 1668741504, 1137820032, 1723105664, 1133768320, 1656564352, 1737839744, 1541989248, 1176146304, 1261511296, 1541344128, 2144190720, 1438467072, 2037600128, 1377542144, 1335446912, 1653264768, 2009065984, 1189446784, 1442322560, 2110750720, 1096809984, 1754552192, 2060745728, 1994597120, 1829373568, 1560686336, 1121939968, 1326741504, 1689316608, 1337869056, 1207809408, 1204479744, 1965320832, 1357710208, 2068897536, 1290927104, 1780173184, 1624654080, 1099587968, 1766211200, 2028768512, 1353026304, 1240207232, 1872462592, 2122197760, 1434494976, 1252065536, 1439029888, 1305471488, 1696282368, 1666604160, 1932532736, 1227846656, 1823470592, 1843858944, 1099707392, 1787840128, 1774317824, 1078583168, 1708419840, 1582765184, 1564280576, 1429347584, 1595292160, 1933477760, 1866285568, 1751912576, 1634436736, 1538200192, 2096095360, 2102360064, 1110090112, 1966261504, 1459438336, 1515957120, 1221923840, 1159555200, 1957321856, 1546033536, 1707334528, 1932779904, 1800997760, 1079245824, 1912697472, 1258325504, 1193209344, 1125740800, 1720973952, 1333445760, 1846314624, 1085301632, 1593420672, 1897380992, 1979843968, 1289822720, 1130465024, 1098492160, 1367374848, 2084235136, 1839590272, 1110163456, 1206564096, 1820244736, 2013675648, 1582899072, 1177990784, 1179762816, 1732935936}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 9 Learned Parameters +#define CONV9_BIAS \ + {-6266, 69914, 42325, -29685, 47150, -18742, 39161, 6632, 33847, -8103, -12054, -12817, 4994, 19710, 53092, 28172, -4701, 618, -8717, -4961, 14594, 48999, 16759, 29155, -24237, 21069, -40088, 52485, -20920, 38647, 29139, 43209, 28048, 62717, 85566, -11660, 19623, -2, 3891, 44316, 619, 39126, -22541, 12309, 63072, 31438, 15696, -35014, 77091, 35819, 33476, 62192, -9725, -14107, 64239, 18012, -28076, 99144, 2925, 32180, 52931, 50437, 66830, 53604, 48146, -4574, 30502, 19911, 11302, -81687, 6768, 64771, -28656, 3621, 9929, 25339, 30790, 68351, 32086, 10033, 23699, 36017, -39494, 58717, 50860, 72989, 9853, 51872, 10817, 105764, 55889, 5161, -8038, 14079, -3580, 35935, 55250, -52094, -15439, 16293, -11097, 43320, -4067, 18272, 41310, 16925, 9683, 159120, 10513, 13776, -23998, 2502, -10407, 13950, 23598, -23617, 41851, 10437, 81930, 43367, 56155, 17820, -9812, 39551, 53985, -16189, -29701, 40840, 73985, 13599, 98278, 22960, -589, 81387, 15403, 32142, -534, 14657, 12575, 48030, 25728, 63754, -6529, 10818, -3568, 73549, 21486, -7388, 24714, 25690, 12881, 43499, 40277, 6130, -8363, 22840, 93652, 56696, 38073, -913, -4381, 80325, 25473, 35926, -6344, 32659, 27006, -2581, -22734, 11608, 37872, -5904, 78021, -33300, -8233, 18070, 1544, 4754, 73161, -7276, 11387, -24087, 5458, 60334, -23929, 4692, -2195, 73593, -19079, 59094, 16132, 1012, 75154, -8678, 51367, 34635, 62026, 11179, -23354, -28125, -6325, 41629, 26593, 20195, 7494, 38025, 92996, -28335, 108, 35578, -4186, 16291, -22687, 24709, 33983, 22094, -12085, 47746, 30464, 39733, 101346, 37448, 48105, -35640, 59497, -6608, -33162, 13611, 5261, 13403, -25961, -42698, 57236, 2578, -10588, -11167, -10759, 67626, 9649, 27335, 23232, 52092, -5312, 22053, 25452, -28225, 48813, -19700, 42894, 31401, 21969, 68045, -4164, -15947, -6724, 48837} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-82, -116, -113, -105, -112, -125, -123, -148, -93, -103, -144, -88, -84, -121, -128, -112, -119, -90, -113, -114, -154, -115, -101, -131, -130, -91, -101, -154, -116, -105, -96, -143, -167, -157, -146, -80, -104, -122, -78, -83, -116, -129, -113, -90, -131, -130, -125, -120, -131, -124, -123, -167, -103, -97, -111, -118, -123, -139, -108, -134, -105, -87, -137, -81, -129, -150, -173, -131, -92, -110, -149, -93, -73, -103, -116, -86, -106, -97, -153, -133, -117, -113, -130, -95, -154, -133, -87, -119, -145, -156, -143, -134, -157, -116, -61, -129, -140, -69, -116, -88, -152, -124, -123, -109, -155, -105, -148, -141, -75, -109, -126, -111, -138, -114, -98, -136, -116, -122, -131, -183, -157, -117, -116, -92, -133, -145, -110, -123, -113, -99, -121, -64, -125, -145, -102, -73, -105, -121, -112, -101, -129, -112, -131, -84, -88, -143, -84, -111, -90, -139, -143, -116, -104, -118, -120, -121, -128, -133, -131, -108, -110, -124, -97, -71, -97, -103, -97, -145, -104, -88, -112, -113, -125, -125, -125, -141, -127, -110, -138, -81, -135, -119, -82, -190, -92, -119, -106, -190, -153, -108, -96, -92, -122, -108, -148, -150, -150, -97, -70, -112, -128, -153, -146, -81, -112, -127, -115, -123, -127, -120, -128, -127, -132, -83, -117, -135, -66, -119, -95, -138, -110, -134, -157, -88, -147, -80, -90, -117, -94, -125, -94, -91, -119, -131, -98, -77, -81, -153, -67, -148, -86, -150, -171, -74, -86, -94, -174, -117, -148, -163, -120, -178, -107, -143, -76, -114}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {2123052160, 1253582080, 2050346880, 1669301120, 1806043264, 1675041408, 1646407936, 2118425728, 1298815232, 1768311040, 1130708608, 1506786304, 1408245248, 1311231232, 1724749440, 1619464576, 1863239680, 1370883072, 1889311872, 1879851392, 1595036160, 1148683648, 1087282944, 1653852928, 1469053056, 2115264896, 1798506368, 1532861952, 2051576960, 1309371008, 1543520896, 1533192576, 1456002944, 1534922496, 1228145152, 1504471424, 2026043904, 1331305216, 1666571392, 2012700160, 1768197248, 2006178432, 1100894080, 1166666624, 1888019328, 1317855360, 1250822400, 1962078848, 1357198720, 2069752576, 1262130432, 1285973504, 1433104384, 1187198208, 1233454208, 1389616768, 1952871296, 1854096512, 2041160704, 1175899392, 1284952064, 1249525888, 1089503360, 2084240768, 1550203776, 1097754112, 1936570624, 2045671552, 1542011904, 1245571456, 1490916736, 1510902144, 1461103744, 1940143104, 1786346112, 1620406144, 1147383808, 1957899136, 1501878016, 1379001344, 1082632576, 1717577600, 1116023424, 2077687296, 1171487232, 1808743552, 1360693120, 1865301376, 1954897280, 1446952192, 1939431424, 1721978240, 1672908544, 1149617152, 1668203776, 1565779584, 1242706432, 1594904320, 1114891648, 1498421504, 1925052928, 1473463808, 1257198336, 1403124480, 1575847040, 1104500480, 1149980672, 1779280384, 1611060352, 1340128384, 2062129152, 1618879360, 1989479552, 1245659776, 1165497344, 1645718912, 2097437696, 1404503936, 1317492608, 1752128000, 1614978944, 1452142848, 1842101760, 1086862720, 1144626432, 1872719744, 1375766912, 1462756736, 1217243264, 1413680000, 1400109696, 2017256960, 1880027008, 1219741696, 1386067200, 1272568192, 1342662912, 1931799552, 1573004416, 1408068864, 1755407232, 2017132800, 1324257408, 1566671360, 2061330176, 1090233088, 1955295616, 2088191616, 1188816000, 1462607488, 2086597888, 1564743552, 1365441920, 1107099264, 1900123904, 2077502592, 1931889280, 1360668160, 1256001408, 1631750144, 1709488640, 2108573696, 1842103296, 1192195072, 1394050816, 1875400960, 1179362688, 1189739136, 1312407168, 1455243776, 1877452416, 1773332480, 1839690240, 1108062720, 2126658048, 1199599872, 1681901312, 1797290112, 1482426112, 1231274752, 1332080000, 1305873024, 1502727296, 2065480448, 1270399616, 2127387136, 1283525888, 2024117248, 1494735744, 1936649088, 2029913600, 1192112512, 1425460864, 1933047168, 1859974400, 1679160704, 1697209344, 2097771392, 1282803584, 2110988416, 1185744512, 1174064384, 1348320128, 1326449792, 1814106112, 1157306496, 1890212352, 1244791552, 1550458112, 1474044160, 1082568064, 1731260928, 1124023168, 1160124288, 1325074048, 1924355840, 1203139072, 1946098048, 1152607872, 1727116928, 1172915456, 1199002880, 1774099712, 1554293120, 1901668864, 1759954048, 1278691840, 1520646144, 1325620224, 1671795328, 1087489024, 1587539072, 1549234688, 1958230656, 1513297280, 1402703104, 1470035584, 2036394624, 1844991360, 2105457408, 1106007168, 1571824640, 1460147712, 1122056192, 1674275968, 1958517632, 1773312640, 1574532224, 1096578432, 1303056256, 1741722880, 1307973120, 1526538880, 1185855616, 1983972224, 1704487808}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 10 Learned Parameters +#define CONV10_BIAS \ + {-338, -10424, 34637, 13765, -1413, -2427, -3595, -6164, 362, -1550, -9366, 18737, 24380, 71386, 6411, 14483, -129, -618, 1154, 9100, -3046, 19868, 41300, -6902, -1651, 532, -552, -1201, 28477, 3501, 21201, -259, -4621, -707, 17910, 19684, 18131, -722, 36639, 3454, -811, -551, -750, 31622, 902, 2231, 18301, 666, -1092, -11413, -239, 259, -479, 40677, 2252, 41763, 23299, 46375, 1037, 5890, 2341, 26888, -655, -680, 292, 40268, -3007, -1237, 1316, -3486, -1806, 875, -6710, 175, 14556, -715, 41773, 2336, -3306, 6632, 2009, -8351, -376, -596, 22923, -2184, -358, 566, 13437, 17173, 5565, -9833, -799, -3100, 103, -6280, 21815, -3577, 48419, 5881, 64421, -5622, -1462, -1544, 1099, 38499, 114556, -449, -407, 3635, 310, -377, -7435, 50901, 61788, 48062, -3634, -3613, 14747, 19942, -291, 7595, -8479, -386, -1365, 53387, -12300, 11793, -165, 17049, 7871, -3296, -321, -910, 48932, 27547, 1570, 6673, -2775, 19870, 30, 18084, -677, 269, 2184, 25782, -2620, -1464, 1004, 30070, -9855, 2111, 8429, -3100, -3365, 46606, -503, -597, 1462, 83261, 49617, 1174, -277, 8, -7782, 20689, -3641, -4942, -5841, 238, 14465, -14233, 6194, -8214, 5416, 34093, -953, 362, 946, 1209, -9340, 18176, 4840, 56622, -5406, -3867, -38, -9953, -665, -2189, -7354, 1737, -2247, 21368, 130, 2398, 115409, -679, -3, -276, 40023, 410, -14, 25260, 73040, 21504, 26, 6951, 1178, 49146, -10516, 16219, -5338, 3960, 688, 1065, -136, 1136, 6601, -288, 40599, -9962, -686, 43225, 19867, -427, 20814, 29731, -2811, 24680, 65314, -4787, -1559, -34228, -3490, -1572, -20, 1000, 1722, 12415, -323, -190, 40280, 191, -3122, -10171, 30469, -5988, -6031, 17275, -7975, 6325, -1755, 1770, 145, 21596} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-18, -128, -269, -51, -141, -166, -30, -62, -90, -85, -15, -295, -252, -292, -60, -199, -138, -58, -77, -57, -130, -238, -227, -54, -59, -91, -96, -101, -176, -56, -198, -132, -16, -154, -206, -189, -225, -87, -209, -73, -88, -95, -56, -206, -131, -152, -167, -38, -138, -47, -110, -100, -78, -243, -150, -225, -223, -236, -130, -156, -139, -230, -120, -157, -157, -283, -37, -168, -123, -23, -118, -128, -14, -99, -46, -120, -275, -75, -108, -50, -111, -22, -27, -100, -153, -132, -54, -154, -218, -230, -52, -26, -108, -84, -143, -53, -225, -28, -194, -172, -270, -23, -19, -98, -99, -269, -307, -59, -123, -130, -26, -106, -33, -217, -278, -203, -147, -65, -189, -253, -40, -194, -88, -110, -76, -324, -26, -74, -77, -198, -54, -71, -100, -143, -255, -234, -101, -120, -37, -220, -110, -229, -24, -109, -35, -241, -56, -83, -166, -194, -96, -66, -107, -52, -147, -222, -113, -108, -104, -281, -276, -135, -105, -103, -27, -330, -94, -19, -114, -130, -238, -4, -50, -28, -177, -175, 81, -104, -122, -128, -27, -205, -42, -286, -35, -63, -151, -40, -55, -102, -32, -145, -75, -174, -131, -40, -237, -126, -90, -151, -236, -100, -115, -167, -268, -229, -174, -40, -111, -258, -13, -118, -40, -68, -141, -148, -104, -123, -158, -111, -222, -96, -28, -267, -146, -109, -291, -248, -111, -238, -290, -27, -45, -1, -39, -33, -141, -125, -31, -156, -137, -134, -396, -95, -35, -26, -246, -78, -28, -250, -42, -49, -51, -50, -99, -241}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1120802304, 1549726848, 1145243136, 1687690240, 1841222912, 1487594368, 1141874560, 1146926848, 1530087552, 1671454336, 1721361536, 1203527680, 1326468992, 1634345856, 1121510272, 1515385472, 1680196480, 1436968960, 1248659072, 1845327616, 1297388416, 1154802304, 1930564992, 1132119552, 1656135936, 1411942656, 1175110400, 1297438336, 1151206784, 1494040064, 2124767872, 1722075648, 1122254336, 1819390080, 1541627648, 1724078976, 1220343936, 1636206336, 1733124608, 1152884608, 1141331456, 1182699776, 1991019136, 1311544704, 1528322048, 1122093952, 1876774144, 1581765376, 1746207488, 1458660736, 2121757696, 1525257088, 1861586944, 1091468544, 1122802560, 2125904000, 1455975296, 1797577728, 1116213632, 2019087232, 1729831168, 1645643264, 1812900992, 1509116032, 1261884672, 2129391872, 1974684160, 1173622656, 1345417088, 2072762752, 1573567616, 1272650112, 1567927424, 1630817536, 1249091328, 1341356544, 1648428544, 1134491008, 2119865088, 1291948416, 1329452672, 1453909760, 1580537216, 1542132096, 1699979904, 1409575424, 1349111424, 1630349440, 1083427328, 1696858112, 1502523904, 2065934976, 1217568768, 2059098240, 1387575808, 1245744000, 1537231104, 1150252160, 1218911488, 1183398784, 1910893952, 1649658368, 1138120064, 1303899008, 1455006720, 1529635456, 1483454592, 1395869312, 2123623680, 1752742144, 1844194048, 1473811328, 1722536448, 1793736448, 2052270592, 1532320384, 1312031104, 1795605120, 1508472448, 1549543040, 1548954880, 1097782144, 1625658880, 1340844288, 2116665600, 2134901504, 1448908416, 1227636352, 2141413632, 1708364544, 1590040576, 1830446080, 1810558080, 2105847168, 1725544576, 1735024896, 1074517120, 1442503424, 1322830208, 1441625088, 1102279168, 1617793664, 1448048896, 1392879872, 1238923520, 1585345408, 2021443328, 1944725760, 1379657728, 1313659648, 1754106496, 1539153280, 1917530368, 1414545920, 1644409984, 1121506176, 1521784960, 1074104448, 1567133952, 1349253120, 1413733376, 1974202112, 1427185280, 1275017344, 1861602944, 2126190336, 1725951872, 1175870720, 1994908160, 1379530880, 1392984576, 1176008192, 1332059648, 1235648256, 1160009088, 2100119680, 1105670656, 1599372928, 1189866752, 1139423232, 1997810304, 1963713536, 1465138560, 1451520768, 1605209856, 2030987776, 1595553792, 1524773120, 1792568832, 1380865280, 1607924864, 1962403072, 1614984320, 1878018560, 1137640704, 1294562944, 1749936640, 1593598208, 1175863168, 1634161280, 1461128704, 2135063296, 1440722176, 1538668032, 2007841536, 1487085312, 1749827456, 1630231680, 1388608512, 1225707776, 2009659776, 1669336320, 1367742336, 1556007680, 1168233088, 1252141696, 1136510464, 1242002688, 1475586432, 1264201216, 1875742848, 1803408256, 1232829440, 1672707840, 1512873088, 1358257664, 1518089216, 1381634176, 1105463040, 1477221632, 1973262464, 2125527936, 1200316928, 1412926336, 1476256896, 1996435840, 1445574528, 1919956736, 1189791104, 1532941312, 1973029248, 1244580736, 1220386048, 1164135424, 1389512960, 1906870656, 2018001920, 1848119680, 1371369984, 1387944832, 1245577344, 1586341248, 1546180864, 1630776192, 1717443072, 1185790720}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 11 Learned Parameters +#define CONV11_BIAS \ + {18175, -5164, 1559, 14219, 13352, 52196, 26831, 23520, 64027, -10827, 8278, -55967, 36719, 48608, 23814, 33468, -35632, 6682, 15420, 130, 154045, 26769, 1255, 12061, -1449, 59, 2115, 17680, 16542, -1767, -3767, -363, 14799, 896, 15362, -36468, 2244, -12294, 30870, -21547, -19534, -15635, -33792, -22919, -7429, 7951, 16443, -28945, -8629, 16138, -22740, -5372, 661, 3134, 2220, 7556, -25186, 4219, -5867, -13132, 32497, -29208, -11395, -3544, -13388, 25491, -65887, 23925, 2576, 33348, -18760, -18076, 20213, -6251, -3120, -12020, -16369, 16212, -11203, 9368, -11856, 33572, 8159, 26240, -15479, 14165, 53839, -17810, 21554, -3786, -8979, -3381, 3040, -51453, 4857, 18577, -12466, -20685, 9080, 4134, 4350, 2625, 18342, -10552, 11525, -94153, -14883, 6909, 13873, 52237, -2604, -29885, 52792, 2083, 22970, -216, -22289, -27689, -5572, 439, -11951, 35389, 19944, -4430, 1445, -49670, 38536, -38689, 5482, 35993, 26082, -39281, -11143, -13448, 25690, -16235, -11277, -36674, -33057, 7440, -2064, 6939, 38202, -7389, -18220, 7647, 15740, -47832, -14013, -5394, -20060, -45975, 20431, 4679, -4086, -3742, 34403, -58101, 14707, 210648, 9430, -6825, -31595, 53301, -23795, 32309, 22929, -13175, 15056, -13665, -794, -9915, -16177, -73716, -19515, -2016, -4962, 2344, -39564, 15292, 54659, 14073, 148, -10957, -9068, -35129, 4249, 6360, 11145, -4226, -16523, -2170, -12221, -3434, -40856, -3589, 53283, -480, -20297, 16842, 24231, 23196, -3350, -3291, 68236, 25759, -9062, 23667, -1973, 32866, -18771, -33400, -1011, 13901, -20226, 14264, -55524, 17614, -3183, -17125, 51327, 42214, 7443, -32329, -4547, -16438, 23521, -21532, -11478, -32725, 11977, 37360, -14590, 12062, -2312, -14603, 21635, -3909, 18860, -18107, -28713, -9942, 655, -6825, 40535, 40844, -1972, 27097, 11825, 63590, -1390, 25370, -18475, -8718, 11254, 15580} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-142, -109, -125, -129, -116, -80, -115, -170, -119, -139, -131, -134, -91, -100, -162, -136, -114, -151, -119, -120, -117, -131, -142, -139, -78, -175, -103, -134, -120, -127, -128, -96, -122, -135, -149, -145, -152, -72, -138, -83, -129, -93, -100, -99, -113, -122, -128, -106, -157, -103, -122, -106, -110, -142, -114, -117, -116, -126, -81, -102, -100, -123, -118, -127, -125, -143, -121, -143, -143, -152, -167, -152, -115, -164, -112, -74, -148, -80, -119, -174, -119, -109, -117, -149, -130, -101, -172, -111, -91, -160, -101, -140, -97, -114, -94, -138, -81, -110, -112, -151, -150, -95, -161, -128, -109, -120, -108, -105, -182, -114, -152, -66, -122, -140, -116, -141, -136, -105, -108, -74, -93, -98, -122, -125, -148, -109, -209, -98, -151, -140, -99, -85, -130, -119, -147, -110, -165, -84, -105, -108, -126, -144, -83, -84, -140, -97, -139, -101, -111, -109, -109, -123, -141, -79, -156, -85, -139, -76, -158, -139, -129, -134, -141, -154, -73, -103, -138, -73, -118, -158, -144, -119, -137, -119, -117, -149, -159, -116, -77, -169, -122, -123, -122, -137, -145, -106, -145, -101, -112, -95, -151, -130, -178, -132, -81, -71, -109, -153, -127, -131, -86, -162, -137, -129, -138, -153, -109, -156, -142, -137, -149, -134, -125, -96, -128, -90, -106, -116, -84, -132, -112, -122, -111, -108, -152, -147, -113, -96, -136, -127, -96, -117, -136, -160, -125, -105, -143, -45, -141, -122, -127, -139, -90, -187, -166, -133, -147, -148, -150, -147, -156, -121, -114, -147, -110, -122}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1742096512, 2034197120, 1209873408, 1998734208, 2113616384, 1266345344, 1867145856, 1680704896, 2058865024, 2059359360, 1118961024, 1970722048, 1967844224, 1362840192, 1903580672, 1520267264, 1149014784, 1214382080, 1788553216, 1730590080, 1501999360, 1464658816, 1436447744, 2076340992, 1976083328, 1093026816, 1586851072, 1085844992, 1396247808, 1481045248, 1263741952, 1867793664, 1199885184, 2013645312, 1361375744, 1829177600, 1456966144, 1100340608, 1934174848, 1238816000, 1589581568, 1279694336, 1685149312, 1433998848, 2084647296, 1144471808, 1405894784, 1338989184, 2006837376, 1671664128, 1422575104, 1905560704, 1118716544, 1552445184, 1505233920, 1522640000, 1503498752, 1268232192, 1458279424, 1674105984, 1081572096, 1169045120, 1268465024, 1353935104, 1413337216, 1719063168, 1113609728, 1584912896, 1372399744, 1684481792, 1544318592, 2071870720, 1214749696, 1787457792, 1437525632, 1285102464, 1527382400, 1657328896, 1959237632, 1657875968, 1893753216, 1352891520, 1100233216, 1559202688, 1180304256, 1235108224, 2065596928, 1109608960, 1147743360, 1139905024, 1204692736, 1388512640, 1801226496, 1273671680, 1487758976, 2137950336, 1354909824, 1198863744, 1138682752, 2019313920, 1724809600, 1444745984, 1097040384, 1293620224, 1800614016, 1664285312, 1112942976, 1727038208, 1871132544, 2124637696, 1268697984, 1134277760, 1390420480, 1470681472, 1387344896, 2010242176, 2141221120, 1287561728, 1507592192, 1632529792, 1452816256, 1326827392, 1238326528, 1717230720, 1658754304, 1687168256, 1698503680, 1433810944, 1221970048, 2094815360, 1676039296, 2014214656, 1523596160, 1998579072, 1508597120, 1651261312, 1336371968, 2112019584, 1507908736, 1227050368, 1357457536, 1519534720, 1601536768, 1535441664, 1698910720, 1295275648, 1722340352, 1369474176, 1144549120, 2044748288, 1152088576, 2137603200, 1453441536, 1136120704, 1213805568, 1560257536, 1446362624, 1667548800, 1246309632, 2010720128, 1659351168, 1432455424, 1212220032, 1757480320, 1137099776, 1359186304, 1611008640, 1241324416, 1697822848, 1758061696, 2103558272, 1914802944, 1933766784, 1202710016, 1666164224, 1890322560, 1422560256, 1308998400, 1192327680, 1562428928, 1655573760, 1871410816, 1951210240, 2113104384, 1422101248, 1623013760, 1111487488, 1172605440, 1661448960, 1620188416, 1335945216, 1407528704, 1907379840, 1565058304, 1194836608, 1919851136, 1117983232, 1076174976, 1758756992, 1334642304, 2039326336, 2085994368, 1985750912, 1288800384, 1660203776, 1490183680, 1107058816, 1389532800, 2111354880, 1935884160, 1507266304, 1149189376, 1888358656, 1527781760, 1852087936, 1687910272, 1662378880, 1252481280, 1093784960, 1839184128, 1331826432, 1410373760, 1844829056, 1795414656, 1428477824, 2110363392, 1692581632, 1607615744, 1232695424, 1714995072, 1857432448, 1922863872, 1171714944, 1827501440, 1138260992, 1252675456, 1210323072, 1812376064, 1195800704, 1919631232, 1785004544, 1998489472, 1544820352, 1439275136, 1596816768, 1336289152, 2054855296, 1513964672, 1934112768, 1576423552, 2005700224, 1229018752, 1103719680, 1637998592, 1861675776, 1224711936}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 12 Learned Parameters +#define CONV12_BIAS \ + {22195, 70714, -2533, 60759, 57298, 64676, 115885, 116398, 93342, 68697, 3156, -17729, 106942, 91623, 123988, 27780, 89277, 132806, 68781, 14461, -1559, 99137, 1423, 852, 76291, 263, 86696, 71501, -2123, -2429, -2754, 91547, -1352, 115835, -935, -1610, 3938, 62126, 1536, 91230, 433, -2186, 164, -456, 118925, -3545, 114399, -468, -2340, 115844, 8997, 25058, 177483, 141935, 13249, 153657, -4627, -4911, 8283, -5611, 73036, 1058, 74820, 977, 116978, -12575, 76, -1316, 6994, 95431, 5360, 4394, 71130, -326, 8443, 5598, -2779, 69256, 113542, 5253, 15410, 81060, 61477, 88413, 29, 51394, 75094, 8309, 1147, 55842, 66550, -363, 116848, -16713, 81954, -3332, 127343, 2126, -47817, 5329, 85917, 4011, -1151, -435, 56572, -6596, -3242, -16869, 114589, 111, 75149, -1500, 192138, -261, 4529, 98422, -6815, 2178, 119180, 90051, 2472, 88808, 85734, 112100, -2834, -5119, -244, 3188, -9750, 81131, 86663, -5155, 81735, 8004, 104190, 12230, -7107, 11264, 104026, 106170, 38598, 92604, 1426, 107, 109888, 10899, -392, 3442, 84990, -1439, -22520, 67, 94024, 70929, 74313, 91613, 110337, 1363, 63928, -6375, 69164, 17055, -2817, -1428, -6093, 147197, 115165, 100053, 48571, -255, 6414, -3084, -1675, -234, -329, -4379, 73462, 2043, -3016, 106348, 117663, 94006, 96431, -1121, -1074, -34762, 74628, 6479, 92229, 2294, -890, -100, 13362, -1815, 6472, 134304, 7149, 107752, 307, 60797, 81625, 19599, 154847, 59097, 160033, 128454, -1351, 93924, -295, -2116, 71420, 1321, -4582, 79786, 34473, 1068, -4710, -6478, 162898, -1324, -115, -895, 90728, -2323, 26152, 80570, -1277, -4492, 64657, 2982, 4870, -180, 75786, 475, 85703, 119691, 117018, 121104, 124763, -44, 4473, -1724, -12140, -697, 141793, 118470, 75237, 35, 302, -5601, -485, 117127, 44326, 5766, 58904, 26211} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {99, -277, -86, -368, -342, -266, -364, -347, -331, -370, 103, 39, -331, -339, -314, -183, -401, -323, -351, -133, -135, -326, 104, 100, -315, 57, -382, -382, 95, 79, 111, -297, -137, -329, 69, 74, 102, -374, 48, -405, 115, 108, 107, -111, -316, 98, -349, -79, 118, -360, 107, -117, -359, -325, 58, -373, 99, 128, 107, 12, -344, 145, -320, -28, -349, -98, 44, 109, 73, -303, -4, 57, -456, 97, 91, 43, 125, -259, -670, 96, 96, -406, -422, -399, 7, -312, -277, 100, -114, -430, -358, 42, -359, 90, -281, 113, -425, 102, 82, 149, -343, 81, 61, 128, -213, -98, 93, 81, -341, -143, -360, -130, -336, 90, 90, -371, 56, 123, -298, -312, 91, -293, -335, -324, 113, 74, 105, 60, -118, -268, -327, 103, -363, 80, -352, 46, 132, 66, -423, -341, -331, -335, -133, -110, -366, -156, -113, 12, -324, 107, 89, -95, -289, -290, -425, -415, -326, 82, -200, -98, -379, 26, 125, 100, 90, -311, -365, -376, -369, 102, 102, 55, 91, 37, 145, 34, -349, -136, 113, -420, -369, -306, -394, 160, 98, 118, -372, 86, -385, -135, 97, -107, 68, 85, 141, -389, -110, -365, 72, -377, -315, -121, -379, -422, -340, -379, -163, -302, 36, 70, -411, 25, 104, -308, -440, -152, 110, 55, -382, 90, -115, -141, -363, 125, -118, -384, 176, 28, -308, 93, 71, -117, -417, 51, -184, -386, -367, -448, -363, -47, 71, 130, 104, 120, -358, -388, -350, 85, 74, -153, 68, -396, 95, 80, -333, -53}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1168424704, 1581925504, 1789412864, 1607799552, 1848682752, 1623718784, 1219247616, 2127319552, 1178559232, 1561763840, 1162702080, 1729342080, 1965381120, 1268771200, 2145604480, 1786908032, 1970152576, 1851632896, 1570282752, 1669853824, 1385859200, 1510115840, 1272617728, 1331461376, 1600767616, 1127528064, 1105311872, 1680762496, 1801611776, 1616172032, 1217630336, 1714486400, 1947472000, 1991694720, 1944147840, 1614990208, 1774989184, 1218239488, 2087905280, 1986110848, 1241680000, 1777701888, 1696669056, 1474581248, 1315513088, 1401699456, 1329216256, 1098589184, 1521310080, 1829346560, 1835893504, 1163977984, 1360770944, 1677401216, 1734463872, 1135032832, 1920674688, 2061981696, 1732997760, 1870261760, 1621839488, 1651352960, 1432774912, 1706620928, 1236329984, 1126724608, 1129866752, 1626392960, 1184248832, 1839575296, 1545138816, 1556453632, 1330421376, 1844705152, 1467904256, 1970214912, 1389687296, 1316391552, 1374479488, 2019169024, 1233195392, 1412323328, 1204113280, 1976341376, 1855505280, 1468239360, 2125112064, 1269797504, 1452546816, 1289918976, 1413060480, 1673858560, 1114350336, 1708153728, 1119434112, 1992990080, 1588430592, 1228104064, 1357895680, 1275133440, 1209574528, 1312780544, 1997229952, 1645983744, 1076046336, 1079065216, 1993410560, 1375813248, 1918888576, 1318796928, 1993819520, 2140960640, 1389330304, 1874419968, 1821123072, 1345605888, 1391187840, 1134633728, 1951524096, 1098483072, 1789223936, 1216542336, 1161129472, 1530348544, 1627740544, 1867053568, 1948703872, 1228866048, 1136532864, 1209817216, 1305354368, 1660180224, 1440538752, 1284804096, 1216682240, 1714877184, 1279404672, 2023651968, 1742739584, 1758184704, 1077413760, 1524827776, 1395601920, 2078120320, 1140610560, 2010629504, 1724506368, 1235797760, 1676386816, 1222583552, 1141348096, 1605037056, 1282888448, 1278466176, 1131717248, 2055916032, 1771780992, 1230110080, 1851466624, 1409385600, 1213127936, 1907839360, 1391107968, 1690559104, 1851832704, 1999886592, 1788982400, 1711712384, 1975416704, 1436809344, 1078779008, 2015798400, 1973363968, 1119528448, 1211027328, 1245117824, 1420615040, 1484296320, 1854075264, 1090035712, 1165150080, 1196246656, 2057952768, 2135343744, 1916060928, 1475058176, 1172057728, 1999262848, 1080573824, 1142598656, 2144436992, 1324390016, 1578586112, 1565086336, 1684289152, 2060536832, 1122675712, 1343348480, 1138167040, 1480664960, 1262471936, 1730756608, 1826890752, 1419047168, 1564386432, 2049894528, 1670099328, 2138761216, 1687896832, 1479833728, 1480678784, 2018633728, 1814624128, 1957080704, 2093580416, 1366116096, 1385642112, 1452081664, 1333662464, 1984640768, 1275464704, 1360496640, 1656145408, 1831663616, 1676670464, 1552442112, 1203187584, 1508307840, 1105411328, 1374604288, 1631352704, 1152596480, 1076321536, 1219406720, 1583746304, 1941711488, 1533346816, 1847658752, 1428877056, 1595776384, 1389710848, 1150653696, 1951377152, 1158503552, 1679631616, 1245485440, 1427743744, 1500624256, 1252739328, 1910106240, 1276362624, 1084073216, 1188714240, 1628225664, 1896795392, 1821457280}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 13 Learned Parameters +#define CONV13_BIAS \ + {66736, -9182, 20593, 10644, 10889, 11211, 37658, 10560, 49302, -53507, -4561, 38958, 58602, 110696, 36405, 38089, 6576, 43760, 56145, 50230, 934, -22164, 18253, 32715, -30027, 88478, 12276, 73947, 45772, -1709, 30328, 45083, -12131, 30424, 53827, 50933, 56810, 4221, -40071, -4042, -6734, 45200, 33579, 33519, -18439, 25447, -4441, 21070, 18314, 60383, 39948, 28504, 32750, -11565, 27350, 32469, 11838, 27478, 46864, 13187, -22058, -49095, 32438, 18153, -39530, 71333, 6186, 57525, -25051, 35017, 19976, 87524, -405, 49023, 25211, 10493, 55396, 28667, 45941, -77064, 12449, 18344, 43912, -17053, -3327, 17031, 19823, 62037, 47436, 46197, -49654, 37671, 52910, 13256, -4493, -2504, 7949, 17278, -8578, 36644, 68860, 18656, 18362, 4731, 43878, 16924, 35287, 16923, 25864, 56955, 53856, 49674, -8026, 27479, 23653, -12590, 41298, 11117, 16001, 13993, -8574, 38510, -23776, 23886, 33615, 3764, -9052, 4594, 68697, -6787, 49433, 41174, 32769, 27864, 16311, -8533, 18088, 53882, 35693, 21895, 44186, 35826, -1035, 19467, -9539, 41368, 66142, 46944, 49182, 45604, 66649, 78019, -29491, 51111, 9129, 10927, 19774, 102297, -5558, 3677, 71789, 55073, 57466, 47463, 65972, 45481, 19293, 46120, -25822, 39654, -16141, 60670, 48465, -30100, -20926, 25401, -17901, -42518, 33088, 37174, 10300, 42816, 15626, 21716, 22760, 15902, 73287, 40382, 17714, -8373, 6246, -8372, 41422, 110875, 87780, 41176, 12904, 53897, 39439, 51414, 64218, 76644, 11266, 18416, 81545, 21300, -14787, 31179, 22414, 64588, 26144, 90207, -1446, 13887, 12794, 11633, 38736, 6361, 65285, -4779, 49812, 55348, 14839, 85897, 43604, 14363, 16961, 62214, -4413, 26945, 54793, 23708, 34005, 39615, -13294, 10435, 46738, 66360, 44982, 38904, 89444, -23990, -17842, 23867, 25396, 59611, 18185, 6304, 8253, 60910, -15506, 58859, 30629, 142027, -20237, 22233, 1337, 87395, 15325, 49141, 29461, 40634, 48917, -1350, 33450, 48673, -319, 25750, 74198, 31378, 339, 110148, 6609, 65190, 7057, 25057, 43863, 7867, 60422, 1254, 112473, 15267, -20718, 49685, 16135, 36639, 55510, 36092, -44720, 89909, -6167, 8688, -574, 21174, 45015, 10742, 6788, 2818, 80268, -3462, 21810, 17784, 26137, 25186, -24214, 37471, 11131, 7159, 12184, 442, 14291, 10223, 33012, 38559, 7816, 58453, 20146, 2709, 37435, 67987, 29079, -10088, 3664, 57877, 5522, 48283, 52199, 28932, -7669, 18495, 24877, 16673, 3433, 97796, -11324, -8056, 59630, -8053, 15344, -23518, 7317, 18792, 11185, 12259, -20818, 14324, -9138, 5881, 60071, 31919, 108723, -26183, 29050, -15296, 6346, 28247, 28660, 17808, 99563, 63699, 43158, 1393, -27457, 17218, 15577, 57202, 42594, 42069, 659, 18251, 26492, 36940, 50603, 23630, 114336, 52238, -3215, 51687, 80424, 35640, 74788, 46545, 14994, 45516, 80944, 9889, 46220, -17947, 69796, -11276, 45334, 23078, 1910, 59159, 85517, 44615, 31757, 73780, 20089, -7168, 89580, -29683, 11878, 1577, -5305, 17902, -64467, 69852, -34945, 37766, 25805, -21539, 60282, -24403, 9239, 36099, 49194, 7681, 9561, 113985, 20795, 41974, 1127, 92047, 10201, 8882, 94346, 65244, 57875, 23796, 24737, -14757, 68619, 2759, 26352, 14829, 9189, 29288, 26699, 6129, 22946, 4518, -11518, -4646, 32825, 74596, 74592, -31554, 13672, 50274, -6023, 1036, 31583, 13520, 3790, 9607, 75521, 24636, 39912, 7948, -19501, 36570, 84345, 36598, -3774, 23955, 7795, -1573, -12588, 46829, 12486, 14800, 25699, 51591, 88512, -6890, 35127, 65881, 52594, 45355, 64050, 39147, 24760, -15764, 17283, 16724, -6363, 20464, -36428, 46182, -8796, 57806, 87193, 20597, 22692, -29069, 820, 30438, 16780, -8549, 44951, 26469, 38386, 111108, 25562, 60465, -5055, 27536, 46662, 27876, 36292, 60778} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-170, -127, -123, -116, -118, -101, -105, -165, -152, -114, -78, -161, -111, -115, -101, -117, -122, -138, -134, -135, -103, -90, -112, -127, -120, -153, -143, -135, -158, -72, -86, -143, -100, -161, -154, -128, -87, -164, -137, -128, -77, -116, -131, -114, -108, -129, -60, -92, -93, -128, -146, -146, -127, -114, -121, -153, -92, -122, -77, -85, -106, -112, -120, -112, -128, -152, -131, -148, -95, -136, -123, -112, -92, -162, -102, -84, -92, -100, -137, -123, -84, -119, -96, -103, -93, -171, -107, -133, -116, -103, -102, -122, -142, -117, -85, -126, -102, -92, -109, -105, -118, -117, -122, -142, -124, -92, -140, -108, -95, -151, -135, -116, -137, -114, -111, -105, -84, -197, -135, -109, -125, -97, -92, -107, -98, -81, -98, -123, -105, -61, -150, -133, -102, -127, -117, -111, -157, -121, -143, -153, -101, -140, -86, -105, -110, -100, -129, -144, -127, -134, -135, -151, -144, -129, -105, -176, -108, -138, -107, -106, -126, -140, -129, -119, -121, -124, -76, -75, -89, -91, -79, -157, -115, -90, -115, -116, -100, -91, -109, -109, -142, -108, -124, -127, -189, -96, -149, -136, -130, -82, -128, -114, -145, -150, -136, -125, -137, -151, -141, -113, -149, -106, -96, -118, -114, -178, -111, -137, -97, -138, -156, -125, -127, -109, -70, -111, -77, -70, -136, -100, -139, -168, -122, -133, -104, -124, -129, -129, -161, -107, -145, -124, -98, -102, -118, -119, -86, -111, -150, -120, -153, -86, -107, -105, -115, -117, -66, -119, -54, -92, -112, -101, -151, -102, -117, -142, -118, -111, -135, -96, -119, -138, -186, -66, -139, -134, -133, -64, -110, -131, -121, -135, -94, -152, -94, -91, -146, -138, -120, -145, -134, -121, -116, -124, -128, -143, -135, -135, -103, -129, -127, -120, -68, -117, -116, -94, -110, -163, -100, -143, -131, -129, -111, -142, -87, -165, -134, -104, -120, -122, -133, -137, -157, -106, -168, -107, -102, -90, -141, -121, -97, -110, -126, -134, -97, -117, -120, -122, -153, -109, -117, -133, -92, -110, -109, -101, -94, -94, -100, -119, -93, -131, -83, -105, -75, -102, -128, -122, -113, -102, -101, -124, -112, -96, -110, -134, -141, -128, -100, -159, -106, -109, -111, -120, -128, -178, -141, -121, -148, -102, -79, -140, -147, -108, -145, -86, -129, -157, -133, -127, -110, -139, -111, -130, -125, -92, -133, -118, -161, -76, -186, -108, -99, -135, -118, -198, -177, -104, -150, -73, -143, -145, -120, -158, -116, -112, -129, -112, -133, -148, -91, -145, -166, -129, -91, -152, -99, -79, -94, -113, -70, -108, -122, -150, -111, -86, -131, -123, -179, -123, -116, -81, -152, -120, -175, -111, -127, -129, -81, -120, -118, -105, -57, -127, -120, -92, -156, -106, -130, -78, -87, -118, -126, -118, -126, -99, -101, -122, -91, -140, -139, -101, -125, -120, -93, -147, -98, -160, -88, -134, -126, -132, -132, -143, -175, -145, -112, -145, -106, -94, -129, -95, -135, -132, -91, -122, -86, -146, -118, -113, -123, -109, -125, -110, -96, -122, -76, -134, -82, -83, -111, -87, -117, -154, -96, -130, -113, -133, -149, -132, -95, -105}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1908238336, 1078488704, 1713593984, 2042968832, 1802171008, 1138695424, 1165371008, 1154412928, 1562646912, 1699593600, 1593085440, 1380529408, 2084298880, 1911182336, 1629971712, 1356079360, 1143502080, 1123373312, 1562808192, 1977972352, 2019278336, 1186424192, 1801854208, 1436034048, 1086747008, 1174780160, 1870098560, 1392969344, 1344140800, 1686918272, 1132777344, 1299523328, 1623693824, 1174362368, 2037213696, 1414330624, 1670242176, 1505076224, 1104550144, 2028415360, 1146527104, 1453528704, 1102616320, 1330411904, 1853004544, 1262364160, 1504831616, 1351413376, 1836471296, 1601567872, 1924146304, 1216597120, 1651409152, 1172855552, 1805834240, 1352980480, 1405622784, 1198934400, 1534592768, 1827399680, 1212904832, 1730792448, 1670996352, 1336345216, 2117041152, 1375696384, 1608049408, 2089954048, 1181179136, 1547397760, 1150683776, 1846891520, 1436769536, 2138595456, 1343736320, 1817683712, 1558829056, 1330030592, 1352485760, 2013769728, 1209000576, 1129467264, 1574797824, 1886894592, 1338736000, 1347472640, 1622883840, 1513140864, 1359991040, 2090219264, 1322927360, 1150163712, 1805531776, 1303342848, 2145408640, 1163030272, 1256526080, 1923629184, 1358172160, 1419130752, 1576376192, 1359701632, 2105082496, 1960940416, 1774915840, 1256495616, 1638405120, 1189379200, 1472006912, 1549496192, 1691540864, 1914832384, 1630458112, 1885910656, 1529369344, 1895882880, 1901833856, 1157946752, 1322439040, 1333466752, 1966345088, 1863247360, 1442403584, 2098140928, 1702520704, 1184425216, 2046430208, 1139142272, 1323120128, 1497636864, 1844090368, 1175777280, 1182790400, 1134115456, 2074742528, 1850166784, 1352022656, 1830679424, 1718197376, 1407136128, 1370864768, 1714135040, 1942819712, 1629270272, 1089772288, 1401827328, 1231520512, 1405966848, 1272354048, 1255888256, 1668850432, 1224804736, 1644437632, 1158612736, 1076201600, 1162202624, 1857393536, 1378585856, 1328405888, 1466664448, 1128702848, 1321965312, 1465918720, 1706135296, 1316973568, 2000402688, 1696014208, 2145007232, 1824315648, 1235595264, 1820324608, 2027995136, 1484416768, 1669214336, 1118866560, 1087416064, 1372272768, 1240557568, 2084480896, 1153351424, 1827746560, 1425667200, 1737714944, 1297746816, 1142130176, 1168984704, 1638275072, 1736561408, 1335026432, 1128794880, 1762464512, 1129351808, 2119462272, 1604363648, 1336517632, 1493820288, 1905246592, 1412164224, 1349105920, 1570952064, 1943290368, 1708955904, 1936195456, 2128399488, 1468008192, 1108988416, 1946382080, 1347735680, 1340631936, 1910142464, 1777727232, 1326936064, 1573065728, 1178888576, 1819607936, 1946496768, 1217388928, 1075802752, 1452448640, 1134843264, 1551985024, 2103374592, 1911771520, 1984871040, 1587952640, 1653077120, 1549179392, 1498110720, 2075357696, 1604454784, 1599752064, 1230070016, 1402146432, 1597380992, 1080342784, 1238249088, 1123341440, 1584159360, 1507880704, 1948141568, 2030082688, 1874820096, 1757309184, 1321491200, 1923668736, 1439210496, 1378174592, 1410728704, 1286265344, 1493915008, 1944962048, 1092883968, 1112139136, 2137840128, 1415568512, 1263279104, 1964046720, 1890728192, 2061910528, 1151709056, 1831564160, 1208337024, 1242360704, 1694587136, 2130752512, 1807449344, 1301484800, 1426797696, 1101648768, 1787543680, 1373064064, 1209984768, 1460221312, 1716906240, 1161829504, 2072155264, 1786371712, 1150428160, 1184822144, 1975022208, 2054985472, 1212910464, 1122250752, 1693860096, 1182519040, 1488874752, 1226310144, 1224579456, 1348563584, 1713453184, 1172122240, 2137917312, 1150528000, 1110285568, 1213461376, 1414030336, 1150025088, 1939947776, 1088904832, 1491656192, 1258284800, 2023019648, 1729260800, 1191677312, 1583358208, 1746669824, 1346307456, 1709192448, 1427130240, 1350283008, 1541499904, 1538409856, 1493018368, 1095122048, 1663098880, 2104075008, 2003715200, 1478975872, 1622817024, 2029267712, 2103763072, 2108125568, 1476498816, 1308684288, 1110646144, 1313393024, 1238378496, 1529388544, 2116877952, 1746726272, 1474763904, 2091359488, 1167548672, 1194558592, 1646612608, 2144700416, 1990037120, 2093904512, 1253625728, 2036950144, 1262433280, 1434332544, 1460747008, 1483014656, 1497601024, 1745826944, 2023980032, 1272627328, 1108490752, 1377593856, 1173693952, 1717308928, 1938785536, 1091136256, 1076861184, 1475276928, 1778127360, 1428203776, 2084421632, 1908407040, 1762065664, 1734275584, 2146076032, 1525217152, 1800441216, 1125722880, 1373187584, 1132151424, 1430304896, 1366675840, 1495572992, 1124101888, 1454465792, 2101411712, 1818187392, 1454553856, 1949250688, 1166277888, 1579397632, 1183297920, 1603500032, 1621912320, 1075250432, 1687142528, 2117432320, 1659150464, 1193963392, 1916111488, 1283685888, 1566240640, 1914272128, 1250407936, 1123470720, 2010112512, 1425456000, 1189441024, 1626716928, 2039502720, 2086361344, 1368808192, 1122018304, 1834317440, 1075952000, 2065518592, 1706723840, 1511702400, 2111348992, 1693697152, 1580886400, 1146482688, 1203940352, 1100344320, 1692134144, 1201274368, 1193903360, 1127015040, 1303225088, 1208097664, 1725279872, 2125467008, 2144166400, 1801119232, 1672661760, 1570902272, 1653837696, 1224766208, 1716265088, 1269699072, 1083337088, 2123619072, 1087972864, 1139313664, 1465515136, 1710364928, 1285933056, 1985803136, 1285357440, 1351575680, 2058112640, 1137953536, 1309037824, 1613704064, 1655693184, 1966507648, 1273063680, 1493138048, 1299880064, 1329357056, 2076998016, 1999542784, 1855200512, 1271131904, 1289154304, 1166660736, 1584776576, 1268331008, 1704888960, 1895472512, 1169330560, 1911028608, 1190183168, 1916158464, 1613575808, 1735790464, 1858598016, 1928400768, 1749633920, 1415709312, 1610043392, 1682642688, 1613845760, 1342716672, 1450771200, 1127549312, 1787401088, 1712622464, 1633215616, 1876371840, 2105851392, 1173781120, 1171814656, 1871354112, 1324286976, 1337437696, 2129759232, 1564160256, 1822406400, 1177129984, 1720717952, 1415907968, 1970155392, 1800215552, 1695827968, 1602309120, 1642502784, 1150020992, 1491974272, 1973861504, 1536103168, 1232215040, 1679980288, 1319987968, 1881529344, 1822858624, 1888210816, 1821619840, 1403233664, 1398280448, 1532478336, 1192767616, 1358222080, 1519376768}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 14 Learned Parameters +#define CONV14_BIAS \ + {58518, 17014, -11501, 49187, 1047, -194, -4282, -10087, 23153, 482, 365, 3366, 1180, 20674, -10153, 14360, -6021, 673, -681, 9831, 34522, 7465, 113581, 38278, 64985, 2958, -241, 5604, -5159, 63884, -208, 6361, 22580, -5310, -1841, -3182, 12500, 23672, -3350, 70499, 48084, -20, 26124, 2114, 39979, -8431, 3190, 332, 1598, -1313, 392, 37211, 442, -16610, -1205, 8162, -15374, -3236, -316, 4163, -8253, -3955, 16129, 2147, 571, -606, 102, -746, 368, -429, 2040, 1338, 518, -43, -562, -3594, 6790, 459, 972, -2631, 798, -3732, -12239, -20617, 1142, -203, -4871, -1101, 585, 11330, 13913, -906, 310, 26506, 147, 17492, 118, -9, -1783, -1573, 1146, 1447, -506, 34634, 325, -659, 9094, -207, 223, -3488, -254, 4073, 6638, -9147, 2245, 61122, -180, 16353, 61991, 32, -4216, -301, 39973, -3107, 4001, 4314, -8382, -9946, -848, 12929, -5, -96, 24119, -9253, -3987, -175, 8608, -1906, 5494, 2955, 112, -493, 19, 145, -280, 2104, -350, 3101, 633, 49256, 3768, 2129, -8482, -7120, 51, -11133, 121, 15563, 52025, -143, 4017, 149, 1218, -6359, 382, 1554, -93, 1119, 38, 994, 546, 606, 12194, -1588, -17635, 703, -509, -8123, -226, 1273, -10338, -12971, -2378, 1196, 24027, -5, 1129, 191, -16409, -649, -2970, -2251, 24163, 9831, 1375, 482, -10797, 786, 212, 18742, 1159, 14542, 2493, 34, 17972, -14392, 484, 1049, -432, 402, -18201, -1196, -4326, -10705, 1107, 24054, -4238, 44094, -1220, -75, 36, -7182, 887, 897, 49871, 22903, 61368, 2451, -7912, -727, 2626, -80, -8068, 3647, -4015, -2051, 14904, 353, 2144, 1290, -1134, 34817, 4902, 10345, -10756, 839, 1428, 29250, 31577, -9211, 695, -2109, -3600, -219, -614, -873, 46933, -17, 1415, 190, 249, -15354, -14, -2627, 997, -4126, -4093, 1250, -4651, 22098, -3678, 1318, 60742, 24, 1720, 1259, 2328, -24689, 2013, 27143, 2397, 12, 30, -4379, -14196, 38847, 2583, 6433, -4770, -120, -307, 3229, 37058, -3778, 69328, -2177, -290, -14, 82, -15996, 288, -2703, 201, -2936, -502, 7448, 8219, 28203, 17010, 29682, 726, -3464, 30660, 4787, 24502, 1602, 393, -222, -744, 448, -1577, 15057, 12929, -5822, -228, -7499, 31762, -1474, 29771, 628, -92, -15857, 1449, -194, -275, -3092, 5889, 32394, -10843, -8668, 9737, -21777, 1813, 28410, 8101, 537, -1190, -4651, 1065, -4788, 22920, -1845, -500, 12336, -10240, 727, 3373, 4805, 556, 856, 4935, 24415, -3052, 228, -1465, -3746, -23350, 2334, -20, -166, -155, -588, -6306, -320, 18380, 12485, 30431, -7566, -810, -1486, -2221, -930, 7555, 39472, -552, -346, 678, -2644, 47, 79531, 17245, -933, 5699, 36527, -10898, 27810, 55364, 181, 18395, 15960, 85, -7261, -9475, -7289, -1629, 26704, -7757, 3271, 37777, 21661, -2854, 55, 1546, 2424, 545, -11194, 1680, 57, -461, 23213, -438, 616, 28319, 1762, -9122, 123607, 1313, 2739, -3148, 9017, -14345, 5274, -687, -780, -8900, -2491, -4282, -233, 3299, 628, 9596, 4532, -2190, -401, -1407, 762, -4078, 53084, -8327, 1658, 56, -774, -315, 4414, -1588, 14579, 16116, -3630, -5314, -412, -3278, 3771, 1422, -258, -3161, 35792, 899, 34087, 616, -5234, -273, 9885, -2644, 3001, -219, -454, 1495, -4120, 23353, 1535, 737, 435, -5071, 5852, 40489, 29116, 778, 2164, -3894, 47, -1367, -7108, -7129, -390, -991, 57, 69733, -7220, 4964, -853, -1461, 604, 37473, 11816, 475, 1479, -1209, 50562, 55336, -7825, 25707, 413} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-448, -240, -5, -270, -139, -100, -14, -4, -251, -126, -114, -91, -98, -237, -74, -224, -100, -100, -130, -204, -243, -64, -677, -266, -324, -80, -114, -40, -69, -383, -142, -46, -242, -85, -50, -32, -231, -213, -48, -451, -330, -146, -240, -89, -265, -101, -136, -125, -82, -31, -111, -252, -117, -21, -135, -25, -54, -59, -111, -25, -23, -25, -188, -100, -52, -121, -121, -134, -76, -119, -145, -111, -77, -140, -104, -7, -56, -155, -93, -114, -86, -45, -17, -8, -88, -30, -21, -122, -161, -46, -52, -145, -203, -239, -119, -193, -125, -85, -70, -80, -96, -122, -129, -340, -105, -84, -33, -131, -97, -133, -82, -82, -38, -100, -42, -351, -118, -278, -258, -93, -41, -120, -374, -36, -110, -164, 8, -35, -133, -188, -134, -105, -249, -69, -52, -93, -24, -109, -42, -102, -121, -129, -106, -75, -130, -81, -92, -99, -106, -299, -26, -54, -30, -11, -98, -21, -114, -220, -293, -124, -46, -51, -101, -20, -100, -119, -105, -93, -90, -97, -173, -104, -219, -147, 10, -127, -145, 4, -122, -104, -18, -97, -140, -110, -264, -157, -95, -128, -8, -105, -31, -46, -224, -223, -96, -94, -65, -104, -112, -232, -36, -233, -43, -113, -218, -38, -133, -126, -104, -107, -34, -81, -58, -4, -107, -223, -33, -416, -119, 8, -93, -32, -84, -89, -323, -264, -373, -90, -8, -114, -58, -83, -119, -96, -23, -88, -239, -103, -115, -32, -62, -276, -35, -197, -37, -127, -101, -317, -277, 1, -128, -106, -22, -138, -175, -31, -362, -71, -127, -132, -94, -64, -117, -124, -115, -21, -71, -127, -34, -171, -113, -114, -499, -54, -96, -82, -107, -15, -77, -338, -97, -100, -100, -5, 44, -238, -82, -62, -145, -103, -104, -146, -267, -23, -309, -131, -111, -51, -104, 11, -107, -68, -136, -19, -123, -59, -101, -259, -121, -287, -85, -26, -276, -64, -290, -97, -107, -78, -117, -119, -132, -192, -115, -7, -124, -61, -266, -38, -260, -106, -102, -32, -104, -87, -107, -8, -77, -162, -31, -31, -146, -34, -136, -247, -28, -144, -35, -6, -118, -27, -255, -30, -71, -43, -12, -104, -154, -205, -107, -88, -142, -185, -29, -151, -109, -40, -28, -80, -85, -110, -128, -113, -108, -117, -228, -221, -304, -52, -114, -23, -94, -135, -40, -253, -99, -104, -95, -9, -118, -364, -313, -124, -174, -266, -136, -252, -417, -116, -206, -209, -181, -33, -33, -2, -116, -205, -3, -107, -373, -197, -30, -35, -105, -134, -167, 21, -114, -103, -49, -247, -96, -119, -230, -51, -33, -476, -101, -94, -88, -50, -33, -91, -102, -139, -16, -16, -66, -101, -85, -57, -196, -120, -46, -119, -85, -105, -95, -270, -39, -111, -96, -108, -95, -142, -8, -209, -241, -1, -24, -36, -19, -60, -88, -89, -51, -359, -94, -330, -138, -96, -94, -117, -21, -96, -122, -28, -93, -11, -200, -99, -109, -93, -72, -21, -140, -234, -96, -108, -19, -108, 90, -13, -45, -90, -19, -117, -436, -22, -38, -16, -97, -88, -251, -234, -97, -44, -131, -312, -269, -29, -253, -120}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1728785792, 1900229504, 1430923392, 1513538944, 1340360960, 1633137024, 1181136640, 1359697792, 1548605696, 1763251840, 1435955456, 1766934144, 1271210112, 1143097472, 1507100416, 1351884672, 1966780800, 1412095104, 1465787008, 1481352576, 1339989760, 1146027520, 1831498880, 1535288576, 1956639616, 1196799872, 1975048064, 1440627968, 1161995392, 1944420864, 1938972544, 1397086976, 1087075584, 1554518528, 1487495424, 1848509696, 1757755392, 1198894976, 1347787136, 1722156416, 1259102976, 2069880064, 1852070528, 1682284800, 1907931776, 1975287680, 1202605696, 1169910400, 1557019136, 1366396672, 2004594304, 1890198656, 1518152704, 1417336192, 1320463232, 1547316480, 1744397824, 1776232832, 1902918144, 1608086400, 1725791488, 2064568704, 1320778496, 1661033728, 1757837312, 1649600768, 1346486144, 1990020352, 1730839552, 1475828736, 1348456960, 1130421504, 1328801152, 1778937344, 1521425408, 1151955712, 1208383872, 1168116352, 1744276096, 1375180288, 1538634752, 1667052160, 1792839040, 1566951936, 1496802688, 2114644480, 1100933120, 1564554368, 2036391552, 1416485376, 1774971776, 1781094784, 1684927360, 1817505152, 1398611200, 1085127296, 1184992896, 2114709760, 1905841920, 2115238144, 1230407552, 2080982784, 1131786496, 1864377088, 2127527936, 1644449408, 1379996672, 1379773568, 1985480960, 1185025792, 1709793920, 1625353600, 1573219200, 2134960128, 1306974464, 1508287744, 1828617472, 1580706048, 1746813568, 1512323712, 1483488128, 1400631808, 1516118272, 2071691904, 1937816320, 1291072384, 1362228096, 1190455424, 1319653760, 1167700352, 1520588544, 1301094912, 1113544448, 1530724992, 1322054272, 1306031616, 1357971840, 1717927424, 2113767552, 1204808960, 1725761024, 1157684224, 1077684224, 1146504320, 2071659008, 1535996032, 1761809792, 1502459136, 1569618944, 1377428608, 1995733120, 2061340032, 1427557376, 1224545664, 1538504320, 1683936640, 1177129088, 2095852928, 1343636096, 1254499328, 1613320192, 1506567680, 1746006912, 1212405760, 2133715968, 1598836224, 1098748800, 1915101184, 2029109248, 1643244032, 1552184320, 1339676032, 1135448192, 1430376192, 2097233152, 1486433664, 1167407488, 1792988160, 1229013632, 1306857856, 1125385984, 1084005888, 1539362048, 1394481792, 1930499328, 1760387584, 1196328960, 1301245312, 1748240768, 1120725504, 1102134656, 1342526208, 1411940608, 1690609920, 1721684096, 1747061248, 1159679232, 1768181760, 1506480256, 1225521920, 1236530304, 1137478400, 1292018688, 1629641344, 1237245440, 1173836928, 1503160832, 2128181760, 1876296704, 1344705152, 1366452992, 1775748224, 1087350400, 1222326016, 1662945280, 1307235584, 1861357824, 1730004224, 1524829696, 1324634752, 1882896640, 2058511104, 2009742336, 1593158400, 1183763968, 1104979200, 1547464704, 1836036736, 1191042944, 1330279936, 1664406144, 1989337088, 1466334080, 1279006976, 1274233088, 1696386304, 1356482816, 1823729920, 1386231296, 1184239872, 1112861056, 1712145536, 2013623808, 1336708864, 1173159296, 1355566592, 1424242816, 1820899328, 2138718720, 1467119104, 1122442624, 1103475584, 1469680000, 1923499392, 1464136192, 2058427008, 1160708480, 1822099328, 1498641280, 1415315456, 1246475648, 1680836992, 1519338880, 2092791168, 1174605824, 1951660928, 1687161984, 1181220096, 2061360128, 1175571584, 1580207744, 2032705792, 1782295936, 1388918016, 1959339008, 1780029952, 1260506112, 1583031168, 1420294400, 1883425024, 1759867136, 1367944704, 1217241472, 1770451072, 1397573120, 1334323200, 1390016896, 1251333120, 1307889536, 1536688896, 1742045440, 1392446592, 2107649792, 1880008576, 1355630080, 1786467456, 1139909504, 1867698560, 1153480448, 1582835584, 1468758912, 1914169472, 1377089792, 1082999680, 1701973504, 1442772224, 1546800128, 1111575424, 1724581120, 1758080640, 1381604992, 2018458240, 2099680640, 1294097536, 2115109120, 1964217728, 1391505408, 1920622720, 1517282176, 1092610688, 2129745536, 1287361408, 1439975680, 1979434880, 1267207296, 1467837824, 1186948096, 1337961088, 1284451200, 1528902528, 1761407616, 1230374528, 1541000192, 1498016512, 1459169792, 1834857472, 1136210560, 1452784256, 2005876736, 1265415808, 1378729216, 1566452608, 1328801792, 1658132480, 1552160768, 1557811712, 1508821888, 1763068032, 1733674752, 1254536704, 1718979456, 2081630848, 1139356672, 1703650688, 1336951552, 1381529344, 1413385472, 1187230592, 1324810880, 1541562112, 1696138240, 1329594240, 1757038720, 1605940224, 1919184256, 1419844864, 1492605952, 1245449600, 2012931584, 1096140416, 1287583488, 1413505024, 1253548032, 1411087360, 1390183936, 1305702016, 1958901632, 2053107584, 1153667456, 1341384704, 1343644032, 1972672768, 1950445056, 1970670976, 1691646848, 1287704192, 1516000640, 1358177664, 1779533952, 1121339264, 1511953792, 1401438720, 1454476672, 1474246016, 1861476480, 1889432960, 1312977664, 1234320896, 1181480576, 1418578048, 1449501696, 1135662976, 1195139712, 1139645312, 1347976704, 1457800960, 1977465728, 2008487936, 1375614976, 1777554816, 1198004864, 1355005952, 1602332416, 1762062464, 1258298368, 1205814144, 1578199808, 1738688512, 2127185408, 1572522368, 1697264512, 1943464320, 1116268544, 1456657920, 2145427200, 1084847360, 1265249536, 1399761280, 1701719680, 1228499968, 2076373504, 1844640000, 1794989440, 1785810048, 1301537920, 1707598848, 1760625024, 1186329984, 1279790464, 1602187776, 1373540480, 1536739200, 2108961792, 1328690432, 1081699840, 1509890688, 1087669760, 1922069504, 1476898944, 1474903424, 1510055680, 1219394176, 1594407936, 1622823936, 1773064960, 1981947264, 1402143104, 1079283200, 1187241472, 1735293312, 2108773760, 1780886784, 1221003520, 2116912384, 1881973504, 1597728128, 1999828096, 1546515200, 1358151424, 1530880768, 1219383168, 1468263168, 2066536320, 1184745856, 1259554688, 1206458240, 1982680320, 1360810240, 1424602880, 1345789184, 1836720640, 1765810560, 1180883840, 1593986176, 1642389760, 1631308672, 1479662336, 1729018624, 2100070528, 1601219072, 1198185088, 1128358144, 1530511616, 1639533952, 1991774848, 1436142848, 1910337792, 1141126528, 1236005888, 1726268416, 1426947584, 2094991104, 1375575552, 1698000000, 2132084608, 1361793408, 1645079936, 1201150976, 2009686400, 1423434112, 1687265664, 1719380352}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 15 Learned Parameters +#define CONV15_BIAS \ + {-693, 1688, 1926, 956, 1498, 1663, 2517, 1008, -270, -1244, 984, 479, 441, -1202, 543, -504, 1388, 2665, 1302, 3572, 620, 896, 441, -1074, 613, -334, 6220, 2019, 480, -802, -324, -1493, 1513, 997, 4847, 965, 991, 1023, 1299, -837, 2026, 1255, -793, 398, 684, 1195, -533, -3159, 1264, 1470, -695, 2946, -2537, -1986, 2433, 1891, 565, -1291, 6134, 663, 712, -1165, 739, 1744, 2747, 322, -211, -704, 258, 202, 27, 1853, 816, 94, 2297, 2357, 869, 52, 830, 1122, 939, 3967, 583, -134, 1262, -1321, 388, -924, -2717, 286, 2066, 3908, 2032, -1065, 675, 1556, 481, 1720, 164, 1067, 1537, 718, 230, 818, 1354, 894, -414, 2546, -105, 394, -924, -643, 44, 790, -1745, 335, 1221, 3900, -2135, 562, 1827, 1414, 4620, 1086, 429, -315, -262, 455, 2899, -421, 2888, 2336, -353, 5238, 2595, 650, 233, 398, -126, 2117, 755, 1208, 795, 757, 21, 1910, 577, 680, -57, -3482, 35, -157, -1522, 449, 92, -1922, -3, -1127, -187, -292, 3814, 3647, -1608, 1327, -1174, -157, 1060, 1808, 120, 3786, 206, -44, -2465, 1746, 614, -284, 4485, -1437, 2187, -296, 2554, -999, -239, 348, 487, 3468, -118, 672, 642, 1460, 404, -1021, 955, 490, -204, -715, 40, 1900, 1497, 1216, -336, 488, -2966, 55, -615, 89, -368, 1860, 1, 316, 1336, 3606, 438, 1112, 112, -583, -685, -424, -154, 60, 92, 2773, 2127, 5602, 2989, -1875, 3604, 7111, -1505, -298, 72, -920, 471, 2525, 551, -395, 194, 1559, -1062, 1037, 1757, 93, 1077, 8111, 623, 1233, 757, 2804, 2674, 4468, 545, 527, 4949, -799, 786, 922, 1932, 1266, -1085, 3425, -310, 825, -165, 449, 1978, 2906, 456, -1218, -2458, 1169, 352, 3395, 479, 1311, 1424, 1911, 2076, 215, 209, 949, 1686, -921, 1062, 128, -617, 1064, 368, 2003, 1682, 1243, 3917, -400, 742, -230, 3512, -169, 2913, 2260, 1236, 1522, -1143, 840, 2431, -387, 1798, -2566, 773, 2650, -843, 872, 1365, 375, 1051, 1536, 213, 3993, 644, 1076, 930, 191, -63, 523, 3097, 880, 1666, 119, 2727, 949, 4769, 1085, 224, 1465, 1628, -8048, 1824, 462, 1358, -567, 283, 38, 3385, 2117, -84, 1002, 1669, -451, -224, 445, -70, -45, 492, -349, -15, 4729, -684, 398, -101, 471, 2569, 558, 2399, 4590, 2222, 392, 828, 1046, 3895, 698, 455, 1456, 2070, 1132, -1935, 55, 2308, -1140, 26, 101, 888, 3717, -27, 1344, 339, 631, 1098, 1520, -1578, 2015, -509, 1614, 366, 114, 773, -1498, 767, -615, 1890, 1125, 374, 351, 1097, 371, 4760, 3114, -814, 699, 5420, 1813, 325, 1362, 570, 567, 3546, 3216, 3817, -460, 2191, -37, 855, 4712, 1283, 4969, 328, 737, 2791, -709, 725, -85, 280, -279, 344, 1315, -2912, 674, -83, -1134, 2695, 2398, 51, 5614, -47, 3056, 1302, 2353, 3856, -575, -532, -433, -129, -687, 750, 437, 113, 157, -1383, -837, 46, 511, 1894, -95, 1609, 688, 2157, -277, -818, 1980, -1665, 294, -1022, -2499, 1379, 1198, 3423, 709, 1295, 607, 3602, 7322, 108, 57, 1440, -391, -523, 2023, 50, 1646, 2233, 1284, 992, 3008, -400, 99, 2186, 1470, 1881, -615, 1350, 1388, 1381, -1770, 1879, 1698, 1737, 815, -312, 460, 5375, 436, -719, 768, 1269, -1861} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-8, -7, -6, -8, -8, -6, -6, -9, -7, -8, -7, -8, -6, -4, -7, -6, -7, -10, -6, -7, -9, -10, -8, -9, -8, -9, -7, -7, -9, -8, -9, -6, -7, -8, -10, -7, -7, -7, -7, -6, -9, -10, -3, -8, -8, -8, -7, -5, -7, -8, -7, -5, -7, -6, -8, -8, -8, -6, -7, -6, -7, -6, -7, -6, -5, -7, -8, -8, -7, -7, -8, -9, -5, -6, -7, -7, -7, -8, -8, -4, -5, -10, -8, -7, -10, -7, -8, -6, -7, -8, -8, -7, -8, -8, -7, -9, -6, -8, -8, -9, -9, -7, -7, -10, -4, -9, -6, -8, -9, -8, -8, -8, -8, -10, -6, -9, -9, -7, -8, -8, -8, -7, -7, -7, -7, -7, -8, -6, -6, -6, -8, -8, -7, -12, -9, -5, -9, -8, -6, -10, -9, -7, -8, -9, -8, -8, -8, -7, -5, -7, -8, -10, -9, -8, -10, -7, -8, -7, -7, -11, -8, -6, -9, -9, -6, -6, -6, -8, -7, -9, -7, -5, -7, -8, -7, -6, -8, -6, -9, -8, -9, -6, -11, -8, -7, -8, -7, -8, -10, -6, -6, -7, -7, -5, -6, -9, -5, -11, -8, -8, -10, -8, -8, -5, -7, -8, -9, -8, -9, -8, -8, -8, -5, -8, -6, -8, -10, -8, -7, -9, -6, -8, -6, -9, -4, -9, -7, -8, -8, -7, -9, -9, -5, -8, -8, -11, -9, -6, -9, -5, -6, -8, -9, -9, -10, -7, -7, -8, -5, -8, -6, -7, -6, -7, -8, -7, -6, -7, -6, -9, -7, -6, -9, -9, -8, -7, -7, -5, -7, -10, -7, -7, -6, -6, -6, -7, -8, -8, -7, -6, -8, -8, -7, -7, -9, -7, -8, -9, -6, -7, -7, -6, -7, -7, -11, -7, -8, -9, -7, -7, -4, -8, -7, -9, -7, -6, -6, -7, -9, -10, -8, -8, -5, -7, -7, -6, -9, -7, -9, -7, -8, -7, -6, -9, -6, -9, -8, -7, -8, -7, -5, -6, -7, -6, -7, -5, -7, -6, -7, -6, -8, -10, -9, -6, -9, -9, -9, -10, -9, -7, -9, -8, -8, -7, -6, -4, -7, -8, -9, -9, -5, -7, -7, -6, -7, -7, -9, -8, -6, -8, -9, -4, -7, -7, -7, -7, -6, -7, -7, -4, -6, -8, -6, -8, -5, -7, -7, -9, -6, -11, -6, -6, -7, -6, -8, -6, -12, -7, -7, -7, -8, -8, -8, -7, -7, -8, -7, -6, -8, -5, -7, -8, -5, -6, -7, -6, -8, -7, -9, -9, -7, -8, -9, -7, -7, -8, -6, -8, -6, -7, -8, -8, -8, -8, -8, -7, -8, -7, -6, -8, -10, -9, -9, -7, -9, -8, -9, -7, -8, -6, -7, -8, -6, -5, -6, -5, -8, -7, -6, -8, -9, -7, -11, -7, -8, -7, -6, -7, -6, -8, -7, -5, -9, -6, -6, -6, -12, -6, -9, -8, -8, -5, -7, -8, -8, -4, -8, -7, -8, -8, -7, -4, -6, -8, -10, -7, -7, -5, -6, -7, -5, -7, -9, -6, -9, -6, -9, -7, -5, -7, -8, -9}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1447105920, 1909324672, 1279994496, 2141423104, 1959290496, 1212723584, 1123843584, 1428586752, 1983609344, 1300713856, 1579441024, 1919774208, 1404060800, 1373901056, 1184780928, 1359416576, 1925959296, 2088657408, 1441471744, 1462221824, 1242713472, 1347042944, 1324422016, 2061014400, 1408713472, 1487344000, 2124964992, 1127155840, 1644052608, 1246089856, 1812424320, 1579058688, 1340784000, 1582967424, 1080648320, 1209067008, 1197236992, 2138438144, 1088015488, 1412758272, 1092609408, 1161326976, 1083507200, 2071001728, 1604593024, 1100914304, 1599359232, 1119877888, 1962475904, 2125568128, 1195740288, 1294454656, 1918003072, 1464123904, 2137732352, 2086073472, 1076895232, 1421882624, 1149646720, 1498977920, 1905942528, 1155351296, 1770327168, 1989000960, 1391779968, 1418342784, 1256680448, 1592161024, 1815499008, 1800843008, 1406640768, 1706915968, 1333716608, 1252310016, 2116395776, 2078897408, 2008409344, 1081232128, 1916031616, 1390429824, 2033823232, 1946362240, 1075155712, 1533106304, 1776546048, 1286279040, 1668884864, 1933039872, 1190658048, 1271724288, 1498038912, 1173193344, 1160683648, 1780655232, 1460337536, 1979743232, 1983425664, 1802069632, 1199341312, 1088488192, 1454875136, 2070842240, 1422509568, 1278174848, 1636613632, 1452602240, 1213030656, 1245505664, 2013974528, 1216719232, 1755558528, 1244039808, 1812125056, 1492823168, 1093007104, 1432010880, 1840309888, 1172454912, 2073974400, 1368576000, 1117401856, 1786746624, 1553026816, 2009602304, 1147103360, 1663062912, 1415281536, 2081346304, 1257027072, 1181583616, 1337200896, 1771858944, 1770409216, 1643124864, 1516846976, 1396994432, 2055165952, 1738495360, 1437610752, 1803115264, 1215115008, 1339731712, 1497643264, 1914126464, 1869632256, 1865980800, 1126663168, 1555161472, 1633465088, 1445160064, 1207372544, 1392645760, 1256027392, 1734614016, 1098333184, 1197357952, 1329464576, 1087784192, 1798491648, 1495639808, 1500125184, 1156424576, 1287526912, 1815433600, 1258088832, 1590773632, 2096313088, 1737992320, 1682482176, 1352199296, 2005730816, 1268156160, 1095930496, 1190527488, 2045120896, 2000398080, 2115930240, 1425800576, 1481086592, 1679848192, 1977864704, 1435840896, 1084976896, 2029624320, 1323584640, 1687815552, 1290563328, 2082755840, 1604688384, 1208447744, 1338683392, 1574066304, 1339699840, 1311680000, 1453785984, 1206360576, 2040932992, 1631375488, 1125310848, 1105738112, 1352648960, 1367500928, 1677147904, 1672568832, 2122567936, 1550528000, 1352526592, 1509784320, 1992760576, 1238808576, 1140300288, 1944740736, 1444488448, 1150791936, 1082381952, 1762373120, 1637935360, 1150550784, 1794107776, 2006987392, 1615126784, 1500239104, 1359496192, 1227594752, 2013256832, 1132534144, 1143081344, 1521111296, 1487515648, 2029212800, 1168424832, 1872891136, 1569123072, 1917605760, 1286989952, 2097149568, 1256776704, 2126610944, 1179560960, 1498210048, 1203471232, 1123676288, 1469973632, 1455907072, 1321639040, 1157081472, 1165459968, 1927745408, 1641570816, 1770700032, 1420470912, 1655575296, 1510112768, 1625940608, 1313070464, 1562067072, 1265774592, 1099815168, 1862563200, 1916361984, 1451609600, 1827330304, 1685710336, 1581160960, 1309411200, 1226666752, 1383077888, 1817931520, 1615223168, 1145234816, 1327656320, 1205539840, 1806199040, 2098458368, 2027636736, 1627366016, 1120045184, 1267838848, 1084677504, 1425832064, 2112431744, 1786850432, 1105382528, 1595613056, 2136110336, 1629715456, 1293779328, 1757524864, 1251182336, 2078362752, 1250512128, 1722297856, 1528435968, 1198844544, 1619519616, 1100772352, 2011110144, 1668648576, 1649218688, 1578553984, 1212727552, 2018926464, 1399269760, 1958423168, 1960236928, 1325932032, 1633147648, 1782537472, 1567760512, 1076798976, 1690901760, 1271611904, 1466113536, 1343011072, 1849042176, 1798569600, 1858016128, 1166603008, 1901899648, 1140802432, 1140087680, 1487918080, 2025458304, 1826822656, 1874907520, 1486770560, 1889049472, 1629871232, 1638430208, 2110845312, 1166705536, 1551335552, 1778813696, 1339369728, 1128345600, 1477052160, 1715519872, 1633026304, 1416939392, 1167600512, 2077312768, 1836249088, 1467882240, 1787662592, 1710313856, 1770519936, 1159034624, 1505647488, 1931792512, 1401364608, 1283302656, 1417204352, 1822291584, 1249527936, 1585226112, 1823900800, 1433960448, 1187126784, 1783823104, 1837032960, 1713753600, 1652264064, 1167680000, 2003648256, 2066733184, 1249776768, 1150702080, 1954609024, 1275441664, 1121758848, 2147385088, 1585482368, 1831840640, 1085005440, 1349414400, 1892362240, 1449155584, 2016109184, 1090817152, 1638644608, 1690987264, 1929186048, 1459665024, 1213870464, 1595304448, 1693146624, 1279090688, 1852735360, 1170360064, 1782458368, 1342541056, 1796789248, 1631319680, 2127071616, 1709263872, 1470598656, 1108293504, 1280491136, 1222292608, 1321636224, 1800661376, 1830906240, 1377131776, 1076276736, 1911641216, 2058011648, 1830120832, 1289999616, 1639628800, 1077409664, 1771678976, 1243521408, 1525243136, 1651878016, 1229167360, 1819757440, 2029880704, 1804581888, 1176574208, 1695677056, 1566293248, 1095621248, 1741538560, 1720097152, 1075798656, 2021315200, 1935963904, 1098015104, 1091016576, 1907284608, 1517910656, 1777290240, 1251949312, 2122834432, 1484479232, 1278334592, 1236623872, 1636488064, 1152387584, 1654896640, 1974233216, 1079574272, 1079463296, 1847964800, 1559499648, 1392794624, 1704418432, 1766987648, 1798604288, 1615106816, 1177386112, 2070316160, 1255406848, 1152592640, 1913906176, 2062344832, 1359948928, 1838625408, 1658708864, 1212044288, 1451037568, 1125420672, 1954953216, 1875998848, 1204711680, 1325943296, 2147294592, 1348539136, 1267600384, 1759900672, 1358159744, 1322861312, 1112132352, 1998278016, 1919866880, 1175980800, 1278801920, 1181890560, 2108364672, 1516223232, 1743882368, 1605342592, 1234225664, 1549479808, 1329741824, 1921429248, 1430488064, 1440387584, 1425381888, 1118870400, 1797607296, 2114926080, 1221077376, 1732101760, 1096127488, 1524659968, 1899598976, 2043250560, 1803609984, 1157267968, 1808892160, 1178516608, 1374007552, 1260393088, 1161650048, 1575703808, 1100404096, 1576849792, 1160927360, 1334964096, 2017534976, 1089623424}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 16 Learned Parameters +#define CONV16_BIAS \ + {2690, -2774, 2777, -18901, 37486, 27771, -11926, -12810, 10343, -9241, -622, 20350, 65844, 40464, 445, -8462, -530, 770, 83381, 23787, -98325, -22422, -8579, -10601, 14038, 26423, 14641, 37995, -52, -10489, 4382, -11719, -7766, 429, -2098, -12174, -18352, 21058, 1344, -4338, -4929, -4694, -4875, 33037, -318, 4094, -21344, 3858, 44975, -2567, -854, 28940, -11078, 2420, -7978, 28555, -369, 71522, 12660, 4534, 79555, -8280, 44617, -587, 19740, 23229, -7100, 53571, -12341, -17187, -104, -8197, 36721, 142512, -8150, 36460, 43232, 4908, 942, 86962, 7623, -7345, 10525, 58810, 5678, -3459, -8486, -5168, -11228, -4979, -820, -7612, 52319, -8045, -5060, -20949, 50494, -5072, -11703, -11823, 9800, -3443, 49624, 18671, 19557, 20135, 1675, 44999, -16364, -17470, 10006, -3920, -3911, -3767, -27690, -5693, 14507, 4568, 83070, 75951, 12761, -10830, -4029, 5602, -4867, -4226, -6540, 75614, 38034, -5596, 5684, 35003, 30560, -6177, -257, 45095, 12836, -70638, -5122, 2111, 115115, 25300, 18545, -8007, -8422, 5286, 3979, 38974, 30261, -4449, -17234, 1310, -4425, -1010, -6962, -9702, -9729, -6668, -11032, 1765, -688, 88141, 3812, -1471, -18353, 67271, 11406, -6050, -5938, 2540, -3786, -1419, -9202, 6401, -806, 4839, 3905, -19829, 102491, -5106, 11086, -2748, 1819, -6126, 26186, -1015, -1938, -12255, -19, 7795, 13626, 2826, -6948, 5329, -2181, 5506, 70163, 25374, -10227, 43370, -24068, -10681, -7125, 84792, -11468, -4776, -8428, -2759, -13513, -17643, 55342, 22352, 52173, 10213, 3388, -15524, -19475, 331, -4756, -9908, -9783, 9668, -14181, 7446, 13161, 9486, 24620, 2734, 67910, 3990, -6220, -11052, -5095, -2725, -24768, -18543, -227, -4507, 109, -6918, -6478, 2487, -13543, -3995, -27494, 9692, -7090, 25105, 33, 8369, -2133, 5953, 7037, -2573, 51765, 118346, 4504, 1079, -2412, 44094, -14342, 5461, -478, -1640, -16088, -2827, -9567, -4715, -2680, -100587, 85666, 16015, 24023, 59552, -11025, -40409, -45732, -9060, -9299, 62058, -2405, 6525, -2729, 34789, -9896, 16148, 36215, 17598, 34773, 32777, 601, 61906, 54806, -19397, 3368, 811, 16538, 790, 3604, 7845, 3932, 2827, 31453, -15158, 6976, -1358, 19126, 11116, -4437, 48167, 13829, 10961, 11118, 8152, 26521, 662, 1047, -15205, -11254, 55285, -3742, -7734, -2193, 311, 16740, -6666, -7232, -7291, 188, -7532, -16176, -6568, 42337, 6805, -23374, -984, 16959, -1874, 8228, -3594, 16400, -43067, -9079, 1034, 29080, 131, -14662, -6865, 8817, -22271, 102077, -2682, -7555, 65339, 42031, 57447, 1406, 47454, -9550, -8602, 22108, 25155, -1236, 30976, 8525, 110086, 3673, 12937, -7981, 229507, -6098, 13166, -5482, 1673, -9086, -2076, -10446, -34, 53545, 10148, -54572, 4487, -7142, 8275, -4921, 697, -2120, 9010, 31719, 10369, -5220, -7802, -10413, -2475, 47636, -15581, -1155, -4690, 26773, -12467, 20115, 43247, 4321, 23220, -1303, -9715, 618, 17969, -8063, 14139, -4903, 70665, 6875, -918, -6566, -140, -3829, 47239, 29326, -3640, 439, 4291, -17228, 8638, 82281, 52950, 94157, 12765, -3009, -4785, -17175, -16533, -4124, -12335, -13415, -13376, -1853, 22777, 10689, 27670, -10804, 3452, -15449, -11014, 2291, -5804, 709, -9716, 131954, 1440, -649, 36006, -5553, 57859, -29534, -1271, -34573, -7915, 30159, -5929, 4846, -6560, 118, -11419, 29752, -5387, 117853, 44903, -5970, 2819, 1579, -351, -7591, 23993, -23941, -183, -4034, 36, 33371, -7650, 1610, 31669, 4396, 5599, -5867, 51027, -7381, -658, 19621, 10460, -7727, 24170, -4132, 12347, -18790, 11748, -2920, 38678, -13314, -11444, 81983, 3997, -14719, 5033, 8721, 28924, 3364, 23456, -7877, -2474, 39816, -13110} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-121, -71, -31, 40, -319, -242, -23, -37, -119, -42, -171, -201, -310, -271, -106, -10, -71, -116, -675, -89, 137, 31, -11, 12, -86, -186, -232, -261, -96, 27, -102, 47, -21, -140, -84, -5, 18, -182, -30, -35, -71, -144, 19, -259, -18, -136, 21, -107, -289, -116, -22, -254, -2, -50, -48, -343, -20, -358, -198, -149, -316, -1, -288, -112, -230, -189, -88, -240, -29, 38, -144, -101, -199, -747, -65, -276, -289, -139, -74, -316, -109, -75, -132, -259, -92, -57, -54, -48, 3, -75, -62, -98, -337, 8, -21, -65, -303, -89, 2, -49, -118, -15, -320, -89, -218, -188, -110, -235, -27, 34, -156, -15, 3, -110, -2, -67, -93, -47, -377, -330, -174, 5, -71, -39, -46, -40, 4, -363, -275, -53, -46, -275, -162, -28, -40, -311, -110, 18, -9, -61, -382, -218, -125, -77, -36, -109, -126, -345, -247, -28, -20, -101, -57, -31, -33, -57, -2, -20, -25, -50, -153, -332, -99, -131, 25, -359, -54, -59, -64, -31, -12, -107, -106, -83, -84, -75, -46, 46, -505, -9, -132, -40, -54, -34, -255, -45, -2, -21, -77, -78, -112, -164, -28, -167, -108, -70, -452, -191, -34, -313, -31, -31, 20, -491, -5, -39, 4, -73, 12, 9, -438, -246, -325, -126, -57, 2, -12, -116, -9, 1, 2, -162, -26, -83, -210, -91, -205, -46, -186, -147, -10, 40, -20, -31, 33, 1, -106, -57, -92, -32, -63, -94, -13, -63, 25, -113, -12, -241, -166, -70, -16, -182, -170, -44, -279, -549, -47, -72, -133, -203, 24, -96, -58, -94, 9, -91, -65, -40, 37, 24, -430, -153, -189, -357, -2, -7, -38, 10, -23, -169, -93, -127, -85, -281, -12, -88, -205, -184, -268, -157, -116, -375, -381, 24, -71, -71, -147, -114, -122, -157, -63, -114, -235, 32, -144, -71, -174, -82, -42, -187, -143, -52, -83, -86, -179, -205, -133, 34, -53, -259, -73, -30, -59, -98, -192, -15, -40, -13, -97, -47, -7, -73, -261, -150, 38, -18, -161, -116, -123, -18, -154, 14, -1, -75, -186, -48, 16, -44, -68, 50, -455, -45, -2, -311, -306, -396, -34, -346, -73, -21, -218, -212, -40, -251, -164, -799, -40, -162, -11, -655, -101, -117, -63, -83, -71, -61, 16, -22, -326, -44, 126, -154, -45, -45, -32, -79, -42, -110, -242, -152, -45, 25, 6, -31, -355, 19, -25, -128, -241, 17, -177, -275, -81, -221, -122, -14, -36, -163, -4, -74, -15, -392, -50, -72, -141, -69, -75, -312, -201, -84, -172, -55, -7, -78, -381, -237, -449, -87, -11, -4, 0, 7, -31, -21, -39, 12, -69, -250, -88, -244, -4, -38, -57, -68, -162, -21, -79, 92, -762, -64, -116, -279, 31, -287, 14, -28, 49, -34, -272, -21, -159, -31, -47, -16, -368, -13, -521, -315, 4, -81, -134, -52, -82, -139, 4, -86, 1, -150, -194, -43, -110, -246, -86, -99, 11, -279, -37, -124, -119, -130, -25, -276, -49, -146, -16, -186, -66, -284, 13, 8, -381, -50, -12, -139, -154, -251, -39, -100, -70, -29, -176, 23}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {2130070400, 1942328960, 1446187264, 1145001600, 1075252096, 1229392128, 1430716672, 1141653760, 1279771776, 1216998784, 1239319680, 2079191424, 1126102656, 1967829376, 1262969600, 2007357440, 1688856832, 1075224704, 1257692416, 1166998784, 1502046848, 1676398080, 1312362368, 1979747200, 1175429376, 1089919744, 1636631168, 1346211584, 1779970688, 1198133376, 2048435840, 2108811392, 1340976512, 1204037760, 1603880960, 1186028032, 1083802880, 1181575808, 1081468544, 1525355136, 2057201024, 1709941376, 1383016448, 1143650944, 1143272960, 1600630784, 1461011072, 1251412480, 1485137152, 1925089152, 1620523520, 1715396992, 1243873920, 2074506752, 1733139328, 1904347904, 1173901440, 1120284032, 1291235840, 1929178112, 1795419008, 1518504960, 1525781248, 1383617408, 1607654272, 1635470848, 2084913408, 1527866624, 1346616064, 1718744576, 1241740928, 1497231488, 1200694656, 1724236800, 1526145920, 1669268608, 1474087424, 1315371904, 1088825088, 1212180992, 2061528448, 1699814528, 1232544256, 1490308224, 1111538432, 1910078080, 1845637760, 1708821632, 2049268096, 1466485376, 1580417536, 1999353472, 1181814400, 1939761024, 1183477504, 1560922752, 1302846336, 1401083776, 1186846848, 1981759744, 1461265280, 1221721472, 1460010240, 2031697664, 1119578752, 1131681152, 1406704128, 1617590784, 1992812672, 1360608896, 2090246912, 1981180032, 1454446336, 1691082880, 1249591040, 1080833408, 1912421376, 1251888896, 1499890048, 1708369152, 1574648064, 1132553216, 1520560640, 1861179136, 2081748736, 1291075584, 1141751808, 1698769536, 1723792640, 1117249024, 1963578240, 2048296576, 1247033600, 1807028096, 2120580736, 1726501120, 1418661376, 1094518272, 1968600576, 1093111040, 1388107136, 1400525312, 1515286144, 1999999104, 1087800320, 1493324160, 1169109632, 1436086144, 1218764288, 1280760704, 1723663488, 1425201152, 1378850304, 2005797248, 1757323136, 1200343680, 1134281216, 1104733312, 2121786624, 1537156608, 1296260352, 1427269248, 1821821056, 1475464832, 1594421632, 1877087360, 1435551616, 1368608640, 1250269312, 1156886272, 2133979648, 1440785536, 1586871808, 1958953472, 1750994048, 1873760640, 1179063040, 1557195648, 1245776896, 1101844096, 1774447104, 1789523584, 1735937536, 1202095616, 1323112064, 1584909440, 1472396544, 1503900928, 1289891840, 1391145856, 1166790784, 1725608320, 1444865152, 1781212928, 1199615104, 1327602688, 1693278592, 1174777344, 1198660352, 1188338816, 1676285184, 1195863552, 1232690304, 1171725568, 1369610112, 1294935424, 1529194880, 1695129728, 2106427008, 2110137728, 2053136128, 1547129856, 1854970368, 1516982656, 1333920896, 2136247552, 2099623808, 1121259136, 2141174528, 1212485888, 1116108800, 1514950656, 1384311680, 1342758528, 1856702592, 1790812800, 1666641408, 1590994688, 1736694400, 1859977472, 2027336192, 1483668096, 2099462784, 1323097344, 1154630912, 1392804736, 1194780800, 2022857216, 1597202688, 1523749888, 1131434752, 1376978176, 1184584448, 2077999360, 1360726656, 1574120448, 1168740096, 1682546304, 1311548032, 1584315136, 2121011840, 1153522560, 1082070784, 1105379072, 1353338112, 1269702272, 1159436544, 1092142080, 1844248576, 2104402816, 1503780992, 1315726464, 1637361280, 1563793152, 1196680064, 1211442816, 1569018752, 1088932352, 1074207104, 1669039616, 1486548992, 1908421632, 1562837120, 1816758528, 2072533248, 2016706688, 1538079360, 1768288640, 1277902976, 1631590272, 1756875136, 1135477760, 1906864128, 1086094208, 1260949888, 1378065408, 2014723968, 2079882880, 1332364416, 1626070144, 1533207040, 1804777984, 1077865984, 1829695104, 1498105216, 2037481856, 1708436352, 1458881280, 1803468672, 1633909376, 1906729216, 1214613376, 1536072448, 1481979264, 1852800384, 1515524992, 1784448128, 1778786304, 1981251968, 2057339776, 1138216320, 1477596544, 1228872192, 2121980544, 1516146944, 1916037248, 1607823360, 1925214848, 1764345216, 1397832704, 1316248704, 1983237504, 1712105088, 1975654272, 1296974336, 1541109376, 1652242560, 1436559104, 1824535040, 1268455552, 1128718080, 1687730560, 1123682816, 1212219136, 1616408576, 1940295424, 1964322688, 1270250880, 2135316480, 1358160256, 1192017280, 1992934144, 1135657984, 1836053120, 1432731776, 1977533184, 1936110208, 2028971904, 1406049792, 1157256064, 1423832960, 1465388160, 1189393280, 1734709632, 1474093696, 1781027712, 1661366656, 1566515968, 1946880768, 1496584576, 1311527424, 1284636288, 1350549248, 1909501056, 1483786624, 1173128320, 1096477056, 1080743168, 1280299136, 1865024768, 1838071296, 1178900352, 1635548288, 1974319360, 1551669760, 1787044224, 1583174784, 1234426240, 1319120640, 1217586560, 1172250112, 1328410880, 1419838848, 1345162240, 1920796544, 2110499712, 1273114368, 1389477376, 2015004416, 2117922688, 1558383744, 1945624576, 1129116672, 1228482816, 1179344640, 1710542464, 1183797120, 1439289984, 1690829440, 1452421504, 1108750080, 1767709952, 2144153984, 1430464256, 1774947840, 1374190592, 1395477632, 1657237376, 1080829440, 1375453184, 1166768768, 1846961280, 1230242048, 2084249088, 1134155392, 1362232320, 1494431744, 1782039424, 1420519424, 2077585024, 1321867136, 1801622400, 1955783808, 1258871424, 1295612032, 1327563264, 1087763456, 1280699520, 1983678208, 1998712192, 1381943040, 1416471424, 1344720128, 1654663552, 2109453312, 1914981504, 2116064128, 1744997888, 1884556928, 1107436544, 2139299072, 1293138048, 2123070720, 2014514304, 2042890368, 1297355520, 1823270528, 1567333248, 1906385536, 2119482240, 1876314368, 1924445568, 1521237760, 1757515392, 1843230336, 1452594304, 1805694208, 1175873664, 1392281472, 2071101440, 1493418496, 1284798208, 1091784064, 1897337856, 1651250304, 1211068288, 2033313152, 1514964352, 1717975040, 1950720000, 2108464128, 1406959104, 1421072256, 2037243392, 1501115136, 1580181632, 1493445504, 1609702144, 1445742592, 1687961344, 1968743552, 1103552384, 1972345088, 1341793408, 1677528448, 1213351680, 1133684608, 1091340928, 1360144256, 1613167104, 1985860352, 1435740288, 1130387840, 1140603008, 1706530816, 1180479744, 1603214720, 1301754752, 1116747776, 2007523456, 1530813184, 1406413824, 1149907072, 2135700224, 1204697984, 1360912256, 2082048640, 1124890880, 1187667328, 1828667648, 2096452096, 1919589504}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 17 Learned Parameters +#define CONV17_BIAS \ + {304, -2527, 352, 1054, 1404, -170, -988, -73, 339, 653, -1207, -1353, -630, -2476, 1534, 4375, -113, -250, -2199, -2375, -88, -1200, -1031, 904, 896, 1762, -1674, 2112, -1553, -1388, -105, -3302, -1842, 658, 1640, 1177, -2878, -1259, 4, 721, -1112, 1309, -2386, -1342, 4109, -4, -1433, 145, -1448, 1812, -571, -934, -301, 4202, -787, 3812, -1709, -1378, 239, -42, -1806, -2896, -2529, -317, -1888, -979, -135, 1265, -3309, -79, -992, 1188, -459, -890, -1139, -1237, 482, 1274, -149, -230, 572, -1752, -62, -588, -1119, 487, 672, 1073, 1288, 1647, 988, 118, 848, -905, 961, -3089, -2673, 427, -1696, -1539, 3923, 555, 6, 591, 106, -392, -1007, -414, 639, -1793, 935, -51, -338, 2343, 664, -541, 1220, 1082, 22, -1097, 93, -2010, -2247, -686, -1540, 950, 93, 662, 285, 5378, 186, -675, -127, 110, 191, 400, -984, -1042, 727, 451, -38, -1398, 933, -211, 1801, -154, -2890, 1014, 663, 1234, 2385, 737, 4091, -187, 350, 92, -245, -1198, -3170, -737, 258, 1249, -1308, -2603, -598, 988, 3939, -600, -2323, -658, 2883, 2066, -1400, -1980, -1125, -948, 319, 989, 537, 116, 5465, -1341, 616, -597, -206, 799, -1050, -1649, -676, -194, 510, -3662, -2900, 1667, 374, 2368, 2101, 36, -589, -1342, 2014, -1374, -536, 8, 1182, 1304, 785, -435, 3168, -1182, 2785, 2111, -1892, -73, 21, -298, -2043, 1688, -339, -2207, 580, 4079, 124, -789, 1428, -1622, 816, 3827, 1766, -624, -347, -220, -580, 861, -170, 2096, 2197, 1849, 2794, -1881, 239, 6681, 540, -1636, 808, 3723, -92, -632, 743, 2857, -492, 2143, 790, -954, 659, 3098, 638, -157, -49, -1138, -2115, 386, 1328, -279, 1481, 226, 482, -1555, -1186, -362, -2199, -1607, -625, -1013, 2730, -19, 702, -671, -674, 797, -1474, 741, 97, -84, -533, -948, -2558, -1820, -1127, -200, 827, 1093, -261, -42, 127, 434, -437, 3026, 1267, 561, -1185, -689, 797, 1376, -143, 224, 318, -3403, 1935, 2757, -1456, 2064, -1192, -1533, 1067, 606, -205, -296, 913, 817, -443, 751, -950, 209, -796, -391, 995, 654, -1614, 1371, 208, 2368, -103, 1632, 590, 910, 541, -874, -1225, -624, -1460, 361, 2126, -138, -410, -446, -3725, -50, -186, -2451, 3606, 2843, 334, 754, -386, -1130, 677, 27, 1211, 704, 2370, 17, -659, 860, 1465, -482, 45, -81, 1367, 1060, -769, -1453, -1478, 956, -2252, -2164, -231, 119, -302, -289, -1789, -569, -183, -79, 1775, -200, -2930, 1492, 2062, -541, -1351, 1903, -186, -2088, -639, -787, -648, 3275, -952, -4610, -198, 1009, -198, -175, -717, -244, -1772, 386, 455, 636, -1211, -1536, 72, 2500, -1061, 860, -1346, 2461, -767, 228, 464, 906, 1119, 1215, -676, -3199, -936, 4236, 89, 128, -89, -627, 706, 692, 536, 42, -741, 59, 1600, 532, -1001, -58, -657, 358, 118, -1478, 631, -592, 1394, 241, 3, -1441, -406, 1982, 3029, -162, 45, -1538, -1475, -960, 1823, 1361, 279, 3143, 195, 923, 111, -182, -437, -1614, -317, 1737, 395, 509, 142, -1838, -560, 1387, 142, -2619, 932, 528, 1286, 367, 626, 1255, 1107, -1503, -40, -2239, 1582, -295, -675, -187, -674, 768, -980, 2297, -264, 67, -214, 1191, 91, -1462, 2728, 678, 1203, 1141, -457, 2381, -1053, 824} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-8, -7, -9, -7, -9, -6, -7, -9, -7, -7, -7, -7, -8, -6, -6, -9, -7, -8, -7, -7, -8, -8, -7, -7, -8, -7, -5, -6, -8, -8, -6, -7, -5, -6, -7, -7, -8, -7, -6, -5, -7, -8, -7, -7, -10, -10, -6, -8, -8, -7, -7, -8, -7, -7, -6, -6, -6, -8, -7, -9, -7, -6, -7, -8, -6, -6, -6, -10, -6, -8, -8, -8, -8, -8, -7, -7, -6, -7, -8, -7, -6, -7, -7, -8, -6, -9, -6, -10, -5, -8, -7, -9, -7, -7, -6, -5, -8, -7, -7, -7, -7, -7, -9, -8, -7, -7, -7, -7, -8, -6, -6, -7, -9, -8, -6, -7, -6, -9, -8, -7, -6, -8, -7, -5, -7, -7, -6, -8, -8, -8, -8, -7, -7, -7, -8, -8, -7, -9, -7, -7, -7, -8, -6, -6, -7, -8, -5, -5, -8, -9, -8, -9, -8, -7, -7, -7, -8, -9, -7, -8, -8, -7, -8, -6, -6, -7, -9, -7, -5, -5, -7, -9, -7, -9, -8, -8, -7, -8, -6, -7, -9, -7, -7, -7, -7, -8, -8, -7, -7, -8, -9, -8, -8, -9, -6, -7, -7, -6, -8, -8, -4, -7, -9, -9, -8, -6, -9, -9, -7, -7, -6, -9, -6, -7, -8, -8, -9, -7, -8, -6, -9, -7, -8, -7, -8, -8, -7, -7, -6, -9, -8, -6, -8, -8, -6, -7, -7, -7, -6, -8, -10, -8, -6, -7, -7, -9, -8, -8, -8, -8, -6, -7, -7, -6, -7, -7, -10, -9, -7, -6, -4, -8, -6, -6, -8, -9, -8, -8, -8, -6, -6, -9, -6, -4, -7, -7, -9, -8, -5, -5, -6, -11, -7, -7, -7, -8, -7, -7, -7, -8, -7, -8, -8, -8, -7, -6, -9, -8, -7, -9, -8, -6, -8, -6, -7, -8, -6, -7, -8, -9, -7, -8, -6, -7, -8, -6, -6, -11, -6, -7, -7, -6, -8, -5, -7, -7, -9, -7, -6, -7, -8, -7, -7, -7, -6, -8, -7, -6, -8, -6, -8, -6, -7, -7, -7, -7, -7, -9, -8, -5, -8, -8, -8, -10, -8, -6, -8, -7, -7, -9, -7, -9, -9, -7, -8, -9, -7, -7, -6, -8, -7, -7, -8, -6, -6, -7, -9, -8, -6, -7, -6, -8, -6, -5, -6, -6, -8, -7, -7, -5, -6, -5, -5, -8, -6, -7, -8, -7, -8, -7, -4, -8, -10, -8, -8, -9, -6, -8, -7, -8, -9, -7, -4, -7, -7, -8, -8, -7, -8, -7, -6, -10, -7, -6, -10, -7, -8, -8, -8, -8, -7, -7, -5, -7, -7, -7, -5, -7, -7, -7, -6, -7, -6, -9, -8, -7, -8, -8, -8, -8, -8, -7, -5, -8, -6, -8, -8, -7, -6, -6, -9, -7, -7, -8, -8, -9, -8, -8, -9, -7, -5, -8, -9, -9, -9, -7, -8, -7, -7, -6, -9, -7, -9, -7, -9, -8, -6, -7, -11, -8, -9, -7, -7, -6, -8, -10, -7, -7, -7, -4, -6, -8, -9, -6, -10, -7, -6, -8, -9, -8, -7, -7}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1896825984, 2037402240, 2067747584, 1283203200, 1553678592, 1725528960, 1143743104, 1590440960, 1117212160, 1370048384, 1276064512, 1187275904, 2028466944, 1642610176, 1734199552, 1883987072, 1172209024, 1558440832, 2072889344, 2080082176, 1895396992, 2051817472, 1248229376, 1329325056, 1196123904, 1877170816, 1871432064, 1424748288, 2007110912, 1633070336, 1592167680, 1418477952, 1571137792, 1139757056, 1907319296, 1759704064, 1086985728, 1123942912, 1358709120, 1639683712, 1642895232, 1147224064, 1367586048, 1168468480, 1308937600, 2093629184, 1521942016, 1268544512, 1315137152, 1078771968, 1748245120, 1131506048, 2115804544, 1965360128, 1395148544, 2019478272, 1228072192, 1639563264, 1126576640, 1709544576, 1347205504, 1249761024, 1195894400, 1818359296, 1226200448, 1571462144, 1867177856, 1701794304, 1201122304, 1268756096, 1715291520, 1912027136, 2121024640, 1165263360, 2068990592, 1214344960, 1169918080, 1781019904, 1268050944, 1396055424, 1688968576, 1805430528, 1362726784, 2117127808, 1225703680, 1308178048, 1149346176, 1726701568, 1691299456, 1984163968, 2137165312, 1769251200, 1107905408, 2108394496, 1327585408, 1196565504, 1203878912, 1608082560, 1336381568, 1930289536, 1653288832, 2034909568, 1697315456, 1800260480, 1276481536, 1532426496, 1465133568, 2050934656, 1437350784, 1120107136, 1542803456, 1602055552, 1178672128, 1915067904, 1178148480, 1372520576, 1141049856, 1762714880, 1411125888, 2015088512, 1291020544, 1316318336, 1921294208, 1633551232, 2017279872, 1226179968, 1637835904, 1257980416, 1958164864, 1931246336, 1164245760, 1809003776, 1238463104, 2094676352, 1451375232, 1559874176, 1241265792, 1278737536, 1151837056, 1113024512, 1174591232, 1367434880, 2072567040, 1215352448, 1127494784, 1340708992, 1555355136, 1860679168, 1324561536, 1336575104, 1443338880, 1312829312, 1680049408, 1481393152, 1225758592, 1463306752, 2143539072, 1181784064, 1133390976, 1750380672, 1249572224, 2058657920, 1888253568, 1122451584, 1852504192, 1220695424, 1277243136, 1181910144, 1116706688, 1494245248, 1542198528, 1734664320, 2098020864, 1850722176, 2055232384, 1462544768, 1162603392, 1189728640, 1810116736, 1570866688, 1853303296, 1185719808, 1195682560, 1527501312, 1348228992, 1566314752, 1154878848, 1759345920, 1164326528, 1810073472, 1105013888, 1249607040, 1895087360, 1176953728, 1384091392, 2125857280, 1084686720, 2145690624, 1439709824, 1121673728, 1998779776, 2126573824, 1227632512, 1471488384, 1627402752, 2141032704, 1552820480, 1278117120, 1428405120, 2052008704, 1619471744, 1635031296, 1976681984, 1557801472, 1986478848, 1247384832, 1164416128, 2117746432, 1164178688, 1335303040, 1248230016, 1862642176, 1556482176, 1579753344, 1735279616, 1723985920, 1815140736, 1566732800, 1274513664, 1510243840, 1132786048, 1191837056, 1463976704, 2022388736, 1590295680, 1639785728, 2109601536, 1537168000, 1478118528, 1327943680, 1317822592, 1249524224, 1332006144, 1611810048, 1314880768, 1727966848, 1437512832, 1825608576, 2033625600, 1546646528, 1659895040, 1946887552, 1605887104, 1917464064, 1399494016, 1571763584, 1341310976, 1709442176, 1716852352, 1322353280, 1438303232, 1188868992, 1091481728, 1859053952, 1998373504, 1900431360, 1134864256, 1129648640, 1204681088, 1189414016, 2131842048, 2038108416, 1096576896, 1834243328, 1766387456, 1148154880, 1673285120, 2058881152, 1715372160, 1758942464, 1357673984, 2085072256, 1230488704, 1559439616, 1735569024, 1470847488, 1158512128, 1117989248, 2099902976, 1413684480, 1735789312, 1199989760, 1436834688, 1146628992, 1195001088, 1695736064, 1306087552, 1447536768, 1247374720, 1910428928, 1569669504, 1205578240, 1228855296, 1531351040, 1966269056, 1652038784, 1592092160, 1158559104, 2060000512, 1476664704, 1822317184, 1765002368, 1138144128, 1786028544, 1554052992, 1634780544, 1278280064, 2069146880, 1556539904, 1132967936, 1084559616, 1853618944, 1125803520, 1747528448, 2109763968, 1263604352, 1497620736, 1679980288, 1783091200, 1395990656, 1431841536, 2136428544, 1510931328, 1426096384, 1312281600, 1630217088, 1538902016, 1091008896, 1076087040, 1402832768, 1141279232, 1108582528, 1795607808, 1131489408, 1239898496, 1797707264, 1836308992, 1492222848, 1364832128, 1379100928, 1173962240, 1394058368, 1317741312, 1479763840, 2126487808, 1546024448, 1445437824, 1384183424, 1247145600, 1314550656, 1211051264, 1472440064, 1140172288, 1261688064, 1172477568, 1493758720, 1401648512, 1217775488, 1935752192, 1086998400, 1379668352, 1197771008, 1496643712, 1522539008, 1484721024, 1403229056, 1766993280, 2066974208, 1147495296, 1209199488, 1303780864, 1212190464, 1119364096, 1951616384, 1183263744, 1376951168, 1083129344, 1764373376, 1190643072, 1658488832, 1093713152, 1350359680, 1118520064, 1314933248, 1380157824, 1357893248, 1534583552, 1617128192, 1270129280, 1941882368, 1503715840, 1484553088, 1312791424, 1876553984, 1796544512, 1604416384, 1946861312, 1505629824, 1739432960, 1960841472, 1485421824, 1341362432, 1810543872, 1816146304, 1180051456, 2020160640, 1971630592, 1721640704, 1289579648, 1600467200, 1339238656, 1325184768, 1547481600, 1738465792, 1254159616, 1969196416, 1250050304, 1471977472, 1307726080, 2128190848, 1241217792, 1350988032, 1398590848, 1841937792, 1923546624, 1210031872, 1347566720, 1659931392, 1769995904, 2021811968, 1875794560, 1659874176, 1487402880, 1546229504, 1557494400, 1249070848, 1416223488, 1152704384, 1106142592, 1154800896, 1883313536, 1371884800, 1426093824, 1890845056, 1997331072, 1721803648, 2105312128, 1116319360, 1923061888, 1528118784, 1604437504, 1108939136, 1464296960, 1868651392, 1467451904, 1301960320, 1654910080, 1845486592, 1881996160, 1319921408, 2024456832, 1169869568, 1462937472, 1963246976, 1572132736, 2124862208, 1226189184, 1851586304, 1679257344, 1847610496, 2002581376, 1206495488, 1544252288, 1358480256, 1177582464, 1212443776, 1857602688, 2135322496, 1177341952, 1097751040, 1285192704, 2135576192, 1861090432, 1605394560, 1974807552, 2067383552, 2082432000, 2101280000, 1551221888, 1953299072, 1485467904, 1964405760, 1429811200, 1605838080, 1105053696, 1809354752, 1152971904, 2039969664, 1228016256, 1988992128, 1889029760, 1873612800}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 18 Learned Parameters +#define CONV18_BIAS \ + {7556, -4029, 4568, -7435, 73820, 107586, -8557, 28188, 43145, -3077, 58992, -9322, -160, -1982, -14182, -4619, -8137, -50058, -12032, 10406, 36533, -11878, -143, -7832, 77222, 7000, -4548, 36619, -5637, -287, -18078, 12152, 3571, 14117, 40123, -16664, 112430, 61850, -2153, 68398, 4533, -10999, -1816, 36591, 129508, 4235, -7550, 16214, -5314, 1741, 53380, 88716, -5761, 22033, 28945, 23464, -13908, -1360, 16260, -12004, 58357, 140131, -2929, 28366, 76790, 19975, 36696, -8530, 113386, 63147, 45147, -761, -7903, -11045, 124233, -7598, 11212, 341, -487, 62606, 25970, -2607, -10587, 359, -94, -34817, -124, -18557, 5538, 14757, -8277, -4929, 66692, -16068, 28891, 8315, -2744, 4789, 7580, -5963, -4894, -14934, -65059, -1648, -2086, -10416, -3159, 203, -4752, -11009, 156272, -2793, -4641, -2039, -8758, 69771, 3913, -25521, -12293, 61233, -2575, -9037, -14537, 8706, 74565, 28878, -5550, -2320, 51789, 3551, 11373, 19807, -4956, 71491, -3620, -6665, -19842, -6363, -13897, 11031, -8133, 11793, -6961, 27361, 9956, 74206, -12675, -1273, 22772, -12940, -30754, -10538, 1964, 7896, -5359, -7509, -11056, -9627, -11962, -6883, -5622, 47656, -6134, 176694, -4511, 9584, -1415, -8001, 39752, 57720, 20008, -2171, -8897, 7072, 946, -3811, -5838, -8484, 56215, -4425, 9436, -15382, 8525, -498, 44598, 43082, -13108, 72723, -11120, 64894, -14596, 65000, -13503, 20315, 27347, 9608, -11061, 39963, 145222, -5167, 25666, -5188, -7227, -16343, 5757, -9078, 38673, -2391, 1211, -8872, 106504, 11949, -8246, -9128, 5127, -5249, -6503, 2340, 7904, -7997, -3802, 25775, 4953, -5745, 36320, 49161, 45876, 1577, -8289, -9610, -2366, 101619, -13658, 67817, 8168, -10215, 39552, 102625, 8726, -12748, 36092, -2615, 28194, -3935, -6338, 5410, -20315, 9513, 17869, 13871, -3784, 25915, 4042, -11585, 30853, 2114, 18275, 11953, -15652, -2496, -471, -7750, -8273, 66836, 3434, 8697, -3099, -23707, -16288, 30988, -6407, 62355, -4033, 8075, 13256, -18703, -24283, 3267, -1051, 4948, -6284, 2289, -7166, -862, 48334, -30043, -2732, -9862, -4305, 3047, 15995, -6214, -5879, -12152, 63484, -9888, -7803, -1930, 15413, 10728, -11689, -5522, -19339, 5767, -3879, -25708, 81155, -10623, 12522, 69704, 59839, 677, 11022, 12250, 12514, 80334, 55815, 19211, 24317, 9415, 105641, -12593, 15971, 10413, 15657, 33265, 19999, 72301, -5177, 39362, -5896, 74506, 47172, -944, 4105, 25723, -1273, -5500, -1902, 9364, -9679, 46159, 26011, -13784, 15517, 46524, -2727, -9265, -31904, -8924, 17186, 11771, 6921, -10510, -5003, -4669, -4230, -7442, 7590, -24839, -16219, -15131, -40232, -3284, -6580, -12323, 9433, 40377, 6011, -15623, 29265, -17352, -3203, 40183, -22632, -3611, 7901, 5238, 239404, 73918, -11242, -30164, 82655, 227, 66977, -4663, -9513, -1683, 7361, -6801, -11387, 13591, -2002, -3402, 60878, -3470, 118734, 3076, -5355, -6216, 7300, 30084, 13099, 18158, 3001, -3594, -5969, 19118, 18935, -8933, 2543, -9537, 56975, -2167, 6618, -8861, -17928, 2472, 11660, -8772, 8744, -9197, -3017, -2441, -10, -12922, 84784, 728, -12398, -2667, 52939, 83470, 52356, -9106, 18395, 27995, 73639, -3132, 6455, 71970, 52931, 2106, -512, -4517, 134, 39899, 12524, -11948, -3954, -4180, 19959, -20629, 64335, -9846, 6718, 28348, -7773, -15022, -7992, -6413, 5736, 16007, -8478, 18328, -5129, -28197, -6347, -20102, -25294, 21383, 9768, 2577, 26430, 2295, -6752, -3415, -6553, 854, 86188, -2139, 2929, -5826, 14010, -8809, -57263, 16715, 9340, -10353, 28088, -19248, -10424, -7993, -1636, 2390, -4820, -5342, 76362, 18062, -29962, 50106, 35139, -4581, -22445, 8559, -18184, -116, 7357, 11602, -9423, 17555, -388, -7129} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-71, 13, -95, -60, -366, -490, -4, -296, -348, -114, -366, -8, -110, -61, -72, -61, -40, -27, -17, -187, -293, 29, -26, -13, -498, -161, 10, -297, 1, -74, 21, -66, -104, -124, -268, -158, -414, -250, -54, -391, -53, -4, -49, -348, -454, -46, 11, -159, 1, -66, -385, -428, 41, -126, -268, -231, 18, -10, -163, -6, -487, -657, -25, -224, -578, -175, -345, -38, -446, -389, -350, -120, 20, -30, -557, -3, -37, -121, -123, -452, -234, -2, 46, -105, -54, -43, -95, -12, -40, -154, -33, -36, -483, 7, -352, -173, -86, -54, -135, 2, -42, -15, 42, -21, -68, 5, -25, -87, -104, 9, -638, -96, -9, -91, -53, -417, -28, -16, 2, -370, -93, 11, 27, -78, -461, -253, -13, 36, -296, -48, -142, -137, -10, -422, 70, -41, -6, -19, 2, -123, 78, -102, -48, -208, -52, -652, 77, -24, -107, -54, -49, -11, -27, -88, -67, -63, 23, 16, 92, -13, -11, -327, -55, -617, -1, -106, -44, 13, -297, -340, -238, -142, 2, -120, -99, -138, -12, -94, -323, -4, -227, -54, -129, -23, -353, -378, 14, -549, -105, -375, -22, -206, 33, -91, -255, -157, -21, -284, -610, -127, -165, -11, -4, -2, -68, -143, -316, -23, -35, -16, -461, -166, -19, -40, -123, -13, -27, -98, -121, 48, -9, -239, -67, -5, -200, -354, -276, -157, 7, -8, -20, -502, -1, -438, -116, -18, -294, -494, -51, 10, -289, -73, -245, -4, -76, -26, -31, -129, -161, -122, -12, -321, -21, 8, -240, -122, -118, -127, 5, -32, -15, 4, -5, -626, -118, -160, -121, 0, -2, -197, -5, -406, -70, -79, -161, -54, -51, -147, 20, -27, -10, -48, -76, -67, -454, 24, -72, 50, -37, -115, -142, -67, -111, -12, -625, 3, -76, -94, -152, -80, -11, -40, -30, -108, -83, -15, -726, 28, -165, -437, -344, -97, -177, -120, -111, -453, -321, -177, -255, -154, -616, -88, -144, -27, -223, -312, -101, -518, 10, -404, -19, -487, -312, -91, -124, -223, -64, -7, -17, -58, -69, -379, -277, -11, -98, -465, -44, -51, 66, -16, -178, -145, -23, -34, -82, -50, -121, -66, -122, -13, -67, -6, 7, -100, -29, -55, -125, -241, -34, -23, -293, 66, -141, -287, 61, -31, -92, -75, -1073, -293, 16, -2, -557, -32, -493, 4, -16, -111, -68, -30, -12, -211, -15, -55, -400, -130, -570, -31, -24, -2, -144, -257, -121, -191, -214, -50, 6, -200, -151, 18, -86, 39, -542, -83, -109, -5, 18, -98, -98, 31, -125, -77, -51, -26, 13, -33, -355, -50, 3, -88, -362, -460, -435, -8, -173, -300, -564, -40, -29, -497, -308, -32, -148, -65, -109, -288, -103, -1, -99, -57, -136, 21, -369, -11, -48, -195, 27, 67, -72, -3, -76, -113, -38, -145, -75, -32, -40, -33, 3, -126, -137, -114, -177, -126, -73, -26, 9, -33, -427, -33, -37, 49, -170, -64, 31, -177, -153, 22, -194, 24, -39, -7, -52, -61, -104, -4, -419, -184, 21, -393, -347, -49, 26, -74, -36, -63, -163, -102, -127, -148, -151, -13}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1435702656, 1734769664, 2131407872, 1525780864, 1481446144, 2055476480, 1236577280, 2007356800, 2083265152, 1587094912, 1695676032, 1114708608, 1656947328, 1892649856, 1137747968, 1136659712, 1082766720, 1399957248, 1882584320, 1459344640, 1624001920, 2102154240, 1235261568, 2064845696, 1622474112, 1936764544, 1888067712, 1391185792, 1591177088, 1164428672, 1756681600, 1647406208, 1099072512, 1519302144, 1405906816, 1543536256, 1355532928, 1238912896, 2111396352, 1636047616, 1120411776, 1958016512, 1117250944, 1698498944, 1482033280, 1342043776, 1739447424, 1402676992, 1640448384, 1633933568, 1139943168, 1842420736, 1194928640, 1940683776, 1493154688, 1447098368, 1193946624, 1278331008, 1891306624, 1856404992, 1871016064, 1949494784, 1371877760, 1419713024, 1325317248, 1379707392, 1393969536, 1338168960, 1208494976, 1864498816, 1265949824, 1729531136, 1159301248, 1972639872, 2010624768, 1105602432, 1079338112, 1160396416, 1158266112, 1246763264, 1713506944, 2069280128, 1362126336, 1246148096, 1179395328, 1525401088, 1589401216, 2058755328, 1183956224, 1148652928, 1753639680, 1338534656, 1984546560, 1899207552, 1839601536, 1443870336, 1664512640, 1240510976, 1350406144, 2094170752, 1800041984, 1514893312, 1114661504, 1255354112, 1512174464, 1115708928, 1264915968, 1498920064, 1518152832, 2069319424, 1564675712, 1284204544, 2135842432, 1441864704, 1494090880, 1102223488, 1953777664, 1480786560, 2111686912, 1853542784, 1179789312, 1840801280, 1486872576, 1568445184, 1719346560, 1846743552, 1155290880, 1265940480, 1295507712, 1328839680, 1189151360, 1358465152, 2004704256, 1661771776, 1813627136, 1138242304, 1403435264, 2141621120, 1992999808, 1178870400, 1160979712, 1171832704, 1137580032, 2131768576, 1318126336, 1560500224, 1499127936, 1182255872, 1523452800, 1358702464, 1638258816, 1101985792, 1513092864, 1672636160, 2081048448, 1357994880, 1445371392, 1553247616, 1679520000, 1103405056, 1172923264, 1469277440, 1918930176, 1920986880, 2033471488, 1867265792, 2088731392, 1933221248, 1730669440, 1820927360, 1463790080, 1480453120, 2100630144, 1414974080, 1084438272, 1289923712, 1514135296, 1115376640, 1392730112, 1940997120, 1923164928, 1242192256, 1220331904, 1836566144, 1731795328, 1568823680, 1926120064, 1475747200, 1365329920, 1936355584, 1190723456, 1256202624, 1387373824, 1187156992, 2101106432, 1180430848, 2032856576, 1534825856, 1911664128, 1524242432, 1297121536, 1127483392, 2081217536, 1440220416, 2111920512, 1650421248, 1349814912, 1589490816, 1253017088, 2019390080, 1726686208, 1640245376, 2051014272, 1614780672, 1535670016, 2012126720, 1943059200, 1325254656, 2114203392, 1104491648, 1609986816, 1254208640, 1286083328, 1098759040, 1812245248, 1797098368, 1122262272, 1239973504, 1911949184, 1184035840, 1148243584, 1481888256, 1540251776, 1616194176, 1547203456, 2094521984, 1579551872, 1711152512, 1137271040, 1836807808, 1642627712, 1207186432, 1691036288, 2093889792, 1622796928, 1410447104, 1293179264, 1472713728, 1698348928, 1573089408, 2057086848, 2107702400, 1521416448, 2103732480, 2059056256, 1921998208, 2090285952, 1394233984, 1556851456, 1249951488, 2138241024, 2049422976, 1081669632, 1592221696, 1600000512, 1275251712, 1751602432, 1178937984, 1170596480, 1273979392, 1122313216, 1984654976, 1158093696, 1129627264, 1269049856, 1475686144, 1740203264, 1739724672, 1457722624, 1929666816, 1840293248, 1850445440, 1683599104, 2062958336, 1588091392, 1767531136, 1429690496, 1222108160, 1951001728, 1490513152, 1744885376, 1349457536, 1636313728, 1204494208, 1514953856, 1158333824, 1327035264, 1284663680, 2071260416, 1433812352, 1233039872, 1437453824, 1692997248, 1295938944, 1125283712, 1210699264, 1266172544, 1714275840, 1309228672, 1238684672, 2102056832, 1086858112, 1699217792, 1793269504, 1178226688, 1255748480, 1776358016, 1519981184, 1204913152, 1390594944, 1427320576, 1411362048, 1685488256, 1102194944, 1751447296, 1778573056, 1568511104, 2013121920, 2041530880, 1684381568, 1188970880, 1308915712, 1197921024, 1946052352, 1169743360, 1506802688, 1637345408, 1924272384, 2035189376, 1915699840, 1449492992, 1158166400, 1663795712, 1137748352, 1568857472, 1982010112, 1554362112, 1135919488, 1672509056, 1458614656, 1434517632, 1297387648, 1284129920, 1303409024, 1893662336, 1098484608, 1447532544, 1535204992, 1348596480, 1326812544, 1230933632, 1125726336, 1136014080, 1116829568, 1414418560, 1180691584, 1577377536, 1638852864, 1618433408, 1722935168, 1757134976, 1285812864, 1599473152, 1768296576, 1366714112, 1224244992, 1380629248, 1159878016, 1137520256, 2026933248, 1625103232, 1205723264, 1264279808, 1521467136, 1671072000, 1845464704, 1368633728, 1991517568, 1913683584, 1491966848, 1105686912, 1409422464, 1144303616, 1288668160, 1736312448, 1191475712, 1107726336, 1095201792, 1202009856, 1091758080, 1464056576, 1410907008, 1539101056, 1744619648, 1480449792, 2080831488, 1374695424, 1294191104, 1961017216, 1690532352, 1747527808, 1921094144, 1783680512, 1076752640, 1222596608, 2015484928, 1927748224, 1501041664, 1196861440, 1741256704, 1223279616, 1206166528, 1328488704, 1233045376, 1598193536, 2037861504, 1146152960, 1251541632, 1993056768, 1912893952, 1127970432, 1441871104, 1135383040, 1131178624, 1541762432, 1465340160, 1830736896, 1875114752, 1419792896, 1686773888, 1189482752, 2023587968, 1134740352, 1254461696, 1449492480, 1658325760, 1600889600, 1103339904, 1729326848, 1435158912, 1592361728, 1300653568, 1837920384, 1123353728, 1260216448, 1522404736, 2113387264, 1535987840, 1525113088, 1977486848, 1583410176, 2116884864, 2065051904, 1263060992, 1429146624, 1130700288, 2074623104, 1555194496, 1127940352, 1568689536, 2020887936, 1575812736, 1654927872, 1493152512, 1936192640, 1346469504, 1211942272, 1309477248, 1249848704, 1154746112, 1947835904, 2026406784, 1598467584, 1556702080, 1732219392, 1993800320, 1141033728, 1954026496, 1147623936, 1834490240, 1219555712, 1151169664, 2116045440, 1252530176, 1343409024, 1926135296, 1599282048, 1186069120, 1137927296, 2053862016, 1509595136, 1417707264, 2010503296, 1915752064, 1163315328, 1736480512, 2042620288, 2123438976, 1752976256, 1077052288, 1301843456, 1367168000}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 19 Learned Parameters +#define CONV19_BIAS \ + {-332, 801, -279, -433, 753, 247, 366, 1097, -1010, -1294, -451, -896, -2864, 128, -1674, 1408, 608, -481, -175, -1104, 188, -197, -396, 568, 819, 2233, -673, 810, -1013, -1318, -667, -831, 1078, 139, -422, 544, 627, 420, 1196, 6, 446, -91, -560, -192, -1235, 78, -79, 19, 464, -2617, 1268, -2040, 116, 2293, 2337, 1312, 2539, 408, 2824, 783, 195, -437, 360, 37, -1444, 50, 1723, 615, 2196, 446, 1453, 1295, 450, -2132, -953, -163, 4237, -2239, 962, -475, 343, 1187, 2303, -451, 190, 1862, -621, -1774, 1440, -1054, -645, -778, -1026, -3398, 854, 429, -2435, -562, -528, -624, -188, -815, 119, 2207, -938, -1307, 1661, 2217, 534, 606, 1326, 1168, -4514, -934, -6, 197, 745, 1536, -786, 1575, -938, -203, 692, 69, 1020, -817, 1078, -1789, 914, 535, 4031, -927, -866, -1463, 780, 633, 1079, 1101, 1086, 557, -908, -1014, -390, 1477, 3348, 1160, 5112, -905, 853, -229, -1989, 2852, 1653, 614, 456, -172, 440, 344, 922, -739, 1823, -2767, -924, -846, 1075, -1030, 487, 453, 4741, 3946, 224, -708, 287, -2049, 1241, -246, -6, 715, 1385, 914, 954, -1770, 4424, -966, 482, 293, -1146, -1348, -1414, 1257, -2453, 218, 461, 1003, 400, 1155, -567, -57, 1627, 998, 3747, -752, -1033, -1724, 319, -421, -413, -1513, 35, 2516, 3115, 1998, -61, -1722, 159, -813, -887, -1469, 1464, -644, -361, -897, 589, -744, 335, -1695, 531, 261, -881, -157, 604, -613, -1216, -638, -628, 29, -148, -1130, 212, -636, -32, -934, -1498, 4131, 550, 2207, -1257, 958, 117, -2508, 342, 489, -611, 431, 1616, 1242, 2062, -494, 439, -564, -771, -336, -931, -424, -106, -279, -142, 836, -1473, 190, -1039, 5539, -638, 2905, -416, -1601, -130, 1896, -1465, -1373, -270, -481, 589, 353, 188, -310, -1010, -548, -40, 2249, -834, -1601, -775, -991, 1292, -49, 360, 501, -243, 77, 941, 1457, -1375, -1052, 513, 105, -784, 2252, 1138, -1319, -383, -1554, -2619, 1366, -40, 1187, 669, -150, -2319, -91, -1404, 610, 3169, -1549, 104, 3330, 447, 1247, -650, 126, -98, -459, 1599, -216, 1630, 2037, 957, -1819, -419, 1447, 327, 808, 2210, 626, 464, 2382, 1692, -166, 830, 1831, 153, 222, 909, 1927, 1274, 896, -494, 431, 992, 978, -1125, -1910, 175, -649, -1012, -390, -1120, -191, -1255, -1622, 362, -821, 887, 1338, -859, -189, 603, -848, 815, -839, 1635, -110, -681, 1761, -1181, -76, 1664, -55, 2944, -1118, 1022, -155, -631, 278, 1415, 834, 2029, 1025, 2900, -1560, -214, -257, -719, 2641, 20, -664, 1528, 39, 244, -1065, -156, 978, 541, 2968, -992, 442, 246, 1071, -277, 805, -90, 259, 2424, 2522, -838, 1446, 5064, 79, -29, -29, -1136, -189, -1504, 1308, 893, -2451, -34, -1841, 580, 1012, 1419, -685, -854, -283, 558, 2047, -1447, 404, -952, 191, -1117, 58, -426, -791, 633, 532, 578, 1013, 1882, -437, 985, -456, 2281, 3003, 40, 352, 662, -2212, -626, -940, 706, -1114, 49, 642, 518, -685, 705, 1021, -1200, 353, 492, -1200, -177, -1566, -1518, 1669, 560, -257, 1772, 1181, 121, 724, -1212, 2337, 477, 795, -221, 432, -322, 973, -538, 726, 1332, 1659, 360, 86, -340, 1158, 72, 2750, 287, -2363} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-7, -8, -9, -6, -8, -10, -9, -7, -8, -8, -7, -7, -4, -5, -7, -8, -7, -6, -7, -7, -9, -8, -9, -10, -7, -6, -8, -8, -7, -10, -8, -7, -10, -8, -8, -8, -6, -7, -6, -6, -7, -5, -7, -9, -8, -7, -7, -8, -9, -7, -7, -6, -5, -8, -8, -8, -6, -8, -7, -7, -7, -9, -7, -5, -8, -6, -6, -8, -8, -9, -7, -8, -5, -7, -5, -8, -7, -8, -7, -8, -7, -8, -7, -6, -9, -7, -7, -7, -7, -7, -7, -6, -8, -6, -7, -8, -7, -7, -8, -9, -7, -8, -7, -6, -7, -5, -9, -7, -8, -7, -8, -9, -7, -5, -7, -8, -8, -6, -7, -9, -7, -6, -6, -8, -7, -9, -7, -8, -7, -7, -7, -8, -5, -8, -8, -6, -8, -9, -9, -6, -9, -8, -5, -7, -8, -7, -8, -7, -8, -7, -7, -7, -8, -8, -6, -10, -9, -8, -8, -8, -10, -7, -7, -8, -5, -6, -6, -4, -8, -6, -6, -8, -7, -6, -8, -9, -9, -7, -8, -5, -8, -9, -7, -8, -9, -9, -6, -7, -8, -9, -7, -9, -9, -7, -8, -6, -5, -8, -9, -7, -7, -6, -7, -5, -7, -8, -8, -5, -10, -7, -6, -7, -8, -8, -7, -6, -6, -8, -9, -5, -9, -8, -6, -7, -7, -4, -9, -7, -7, -8, -8, -8, -8, -6, -3, -6, -8, -8, -8, -8, -6, -8, -6, -7, -6, -7, -7, -7, -8, -7, -9, -8, -9, -9, -6, -5, -5, -7, -7, -8, -6, -8, -8, -7, -8, -7, -9, -7, -7, -6, -5, -8, -7, -7, -7, -6, -5, -8, -9, -7, -6, -6, -9, -5, -7, -6, -6, -9, -9, -7, -9, -6, -6, -8, -8, -5, -8, -9, -8, -9, -7, -8, -8, -7, -8, -8, -4, -6, -6, -7, -7, -6, -6, -7, -7, -10, -8, -8, -8, -6, -8, -7, -8, -9, -7, -5, -5, -7, -6, -11, -8, -7, -6, -8, -9, -7, -6, -7, -9, -7, -8, -7, -7, -8, -9, -8, -7, -8, -8, -7, -7, -9, -8, -7, -6, -7, -7, -6, -8, -6, -5, -8, -7, -8, -7, -4, -7, -7, -6, -7, -6, -7, -10, -7, -7, -8, -7, -8, -6, -7, -6, -6, -6, -9, -8, -7, -7, -8, -7, -7, -8, -8, -7, -9, -10, -9, -5, -10, -9, -8, -9, -6, -8, -9, -6, -5, -8, -6, -6, -8, -9, -7, -7, -6, -6, -6, -8, -7, -7, -8, -7, -7, -6, -8, -9, -8, -8, -9, -8, -7, -6, -8, -7, -8, -10, -7, -7, -8, -8, -9, -9, -7, -7, -7, -8, -7, -9, -7, -10, -7, -7, -9, -7, -8, -7, -9, -8, -9, -8, -9, -8, -7, -6, -8, -8, -9, -8, -9, -8, -7, -7, -6, -6, -8, -7, -8, -9, -9, -8, -7, -8, -7, -7, -6, -8, -5, -6, -8, -6, -7, -6, -8, -6, -6, -8, -9, -9, -6, -7, -8, -8, -9, -5, -8, -9, -6, -8, -8, -8, -7, -9, -8}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1758711424, 1952661760, 2109215488, 1316254720, 1430602880, 1216227584, 1256882304, 1751005696, 1746566272, 1243728768, 1653738112, 1163009792, 1364120704, 1607088000, 1129825408, 1511447680, 1343247232, 1695476096, 1098544768, 1531040256, 1080700160, 1074221952, 1508335616, 1289992192, 2078553472, 1220142336, 1687577600, 2079818112, 1206294912, 1275552768, 1680112128, 1143017856, 1430737024, 1332268928, 1736593792, 1380653056, 1205260288, 1310664960, 1431097088, 1777154560, 1243876608, 1606255744, 2092141696, 2079754496, 2113857792, 1083991424, 1141295616, 1794265984, 1486440576, 1283240448, 2130592512, 2059920512, 1919198720, 1221060864, 1729936128, 1355553920, 1483366400, 1426626688, 1607121280, 1248343168, 1406078080, 1148504704, 1202447232, 1533704192, 1373867520, 1661356800, 1396051200, 1152029824, 1147654016, 1653352704, 1164734464, 1407192704, 1591162624, 2141229184, 1370162688, 2081315072, 1818514560, 1306337536, 1235133312, 1336494976, 2142114816, 1107159936, 1285975936, 1108825344, 1466320896, 1376359040, 1262061568, 2139711744, 1241987712, 1131023360, 2103287552, 1593010560, 1111261184, 1100871808, 1430140416, 1635966208, 1922064000, 1226816384, 2044853632, 1583994624, 1084077184, 2072399104, 1131795584, 1526546688, 1230726656, 1247832704, 1624274816, 1271281792, 1142732032, 1355481984, 1325707776, 1596284288, 1125029760, 1271443712, 1150310272, 2119956992, 1183728000, 1577269376, 2034500352, 2143473024, 1785553408, 2138367744, 1714142464, 1737090432, 1472308480, 1276137984, 2086533504, 2091691904, 1781178112, 1276913792, 1352002432, 1840731264, 1270893312, 1407258368, 2023080704, 1562331136, 2131429504, 1549396736, 1246010752, 1313944960, 1423763328, 1209208320, 1848545792, 1132483712, 1172340352, 2090574208, 1286303744, 1627315072, 2099090688, 1129347456, 2065541120, 1774028416, 2132991104, 1366734592, 1208122112, 1490553088, 1593888512, 2035276288, 1146374912, 1232342144, 1299411712, 1975842176, 1083821568, 1434933504, 1333321216, 1277826176, 1102511104, 1742311424, 1464553216, 1091460864, 1321402496, 1705801344, 1875729152, 1282115072, 1263427712, 1801955200, 1329760128, 1178694400, 1291972096, 1766675456, 1659156480, 2132377984, 1894359936, 1925475072, 1562784256, 1842286080, 1199362944, 1494998272, 2138614272, 1820331264, 1620793472, 1268054912, 1196901376, 1306922240, 1575667072, 1832680448, 1432022144, 1177152256, 1192618496, 1542355968, 1854348800, 1488527488, 1969554816, 1183578368, 1078029440, 1193882752, 1159918336, 1256027264, 1313788672, 1705009536, 1813773824, 2005358464, 1431614592, 2100787584, 1277696128, 1641308032, 1978494720, 1095012608, 1968117888, 1606572672, 1973882240, 1769586304, 1920468864, 1405644032, 1966317056, 1943227136, 1419850752, 1178505984, 1620107904, 1163539712, 1140582912, 1134259072, 1568237312, 1141556736, 1696280832, 1102175360, 1148999168, 2063097216, 1421841664, 1408076800, 1861155712, 1180631936, 1282057984, 2086236032, 1737522560, 1423470208, 1383671424, 1488705280, 2096594688, 1942346240, 1228416768, 1719130624, 1532905984, 1094880896, 1761605888, 1160737536, 1457563520, 1635677696, 1327742848, 1130412800, 1368942080, 1949732224, 1514811648, 1870033408, 2090261120, 1133290368, 1211019776, 1653880960, 1130669056, 1465396224, 1217368320, 1745451648, 1366561152, 1908418048, 2078306432, 1648300032, 1856138624, 2044278016, 1204839168, 2092199680, 1780630912, 1288361728, 1538480128, 1927154432, 1233991552, 1550668032, 1204013696, 1730047360, 1091068928, 1277703936, 1267403136, 1964477440, 1221111168, 1856804224, 1852157824, 1617847552, 1567861632, 1416961664, 2133004416, 1177716480, 1183381504, 1231121536, 1508715008, 1572049280, 1245697024, 1121024384, 1894082048, 1121042944, 1983698304, 1302441600, 1479636736, 1328489216, 1276920704, 2045536896, 1295672704, 1529729664, 1233267712, 1514159232, 1916976000, 1169101440, 1279631872, 1099619968, 1173252608, 2038492160, 2028799488, 1907563136, 1723431296, 1325448576, 1164973952, 2131833472, 2126104576, 1570652032, 1206823552, 1449918464, 1175623040, 1224665472, 1663476224, 1105733376, 1078164480, 2122654848, 1772603008, 1765356800, 1140227712, 2110571264, 1255436288, 1792673152, 1386786816, 1380660352, 1243094272, 1173182848, 1978845184, 1838236928, 1917586688, 1213241472, 1564081152, 1782505216, 1715650688, 1834397056, 1746142976, 2145632512, 1377880064, 1126939392, 1130124416, 1692608128, 2127734912, 1353903488, 2136686080, 1798333440, 1223930112, 1096161280, 2042785792, 2028855680, 2087388032, 1419876608, 1148928640, 1075553920, 1906096768, 1183408000, 1769857152, 1505883904, 2004333184, 2084117632, 1153361152, 1129320320, 1083604736, 1443624832, 1165657088, 1249366912, 1523281664, 1253151488, 1522961024, 1189662464, 1204528512, 1367746688, 1322633600, 1958175360, 1258114560, 2012991104, 1558418432, 1267957376, 1213973248, 1158291968, 1101076992, 1264282112, 1155619712, 1435854336, 1284546048, 1817330304, 1799650304, 1419501696, 1485056896, 1114297472, 1804574464, 1479547136, 1916543104, 1449921152, 1185852672, 1416461312, 1277425792, 1605407488, 1724958080, 1269854592, 1233834624, 1939592704, 1177277696, 1251951360, 1289675776, 1827677440, 1657362176, 1882915072, 1616573440, 1335637760, 1308676864, 1189687296, 1721580928, 1115019008, 1182800768, 1804429824, 1165089280, 2062758656, 1562946560, 1450929920, 1729934080, 1432724224, 1736998400, 1676897920, 1397326208, 1400358400, 1948689408, 2136511744, 1394640896, 2039088640, 1192307200, 1261535104, 1092753152, 1636685824, 1166833280, 1085064576, 1606928512, 1744012800, 1348903808, 1167721984, 1854281856, 1155951104, 1845655808, 1398789760, 1898063232, 2068880000, 1196639872, 1678052096, 1647972480, 1459528192, 1529947008, 1473778560, 1819776768, 1286555904, 1387025280, 1417546240, 1125082752, 1807660672, 1514962944, 1138817920, 1419763712, 1152436864, 1119220352, 1293666432, 1235087360, 1354568576, 1430430208, 1163538944, 1493347712, 1081953280, 1170900224, 2003854848, 1593228160, 1220871168, 1109699072, 1502252544, 2144841984, 1430314112, 1273836160, 2070348032, 2112011648, 1213509120, 1863217792, 1646030976, 1254673024, 1976146560, 1668201472, 1162146304, 1649574400, 1840725120}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 20 Learned Parameters +#define CONV20_BIAS \ + {7937, 10875, -17878, 11166, 110707, 39531, -9295, -1643, -4759, -2963, 12671, 52773, -6634, 58486, -337, 38146, -2643, -460, -6327, -3797, -128, -3890, 33005, 10846, -922, 22032, -4908, 25407, 45612, -11684, -5354, 27450, 24080, 6850, -11724, -1156, -3474, 117718, 7385, 40984, -4171, -5439, -4700, -14653, 131631, 1595, 34454, -1608, 226915, -7025, 43980, -2267, -3743, 3423, 4879, 33013, 12552, 50457, -1219, 38611, 28302, -6311, 33731, 43236, -10472, 17950, -11836, -10114, 23568, -12356, -15305, 8513, 83646, 393, 9240, -11244, 10874, -1807, -14537, 2031, -3150, -1393, 62657, 2096, 1406, 61121, -7117, 84409, -5353, -4283, 4938, -11849, -8496, -544, 6579, 2188, 45431, 13046, -6639, 15770, -22612, -184100, 3564, 12100, -9317, -8244, 41529, 622, 82482, -12087, 56142, -5862, -2325, -13635, -646, 25483, 63618, 737, -1460, 20276, -4864, 8741, -69405, -10740, -23398, -7315, -8014, -2211, -1128, -11833, 11807, -11022, -2535, -9229, 24041, 12150, 27942, 2737, -4871, 59692, -3836, -6958, 12761, 41221, 54024, 11039, 19825, -88, -23131, -10124, -7774, 26625, -12845, -8010, -7011, -2249, 50008, -21362, -10173, -4599, 13574, 49176, -1565, -9596, 61082, -4179, 39306, 35244, 35079, 37481, -981, -8252, -5022, -6716, 49492, 11683, 53256, 67701, 11832, -8440, 73619, -9623, -31, -3663, 22560, 117068, 65381, -8950, -12668, -3099, -9011, -4896, 65800, -17334, -3158, 34908, 4834, 15695, 59296, 4094, 13283, 13708, 64588, 80311, -10470, -4990, 1218, 22152, 35322, 32947, -5391, 76621, -94, -1154, -446, -1392, 8900, 80670, 24166, 47637, -2527, -5424, -3923, -3942, -25682, 91231, -2904, -1633, 13464, -834, 58868, -1307, 80765, 9046, 2936, -3642, -7802, -4370, -10549, 6073, -7500, -3243, -6784, 23537, -6634, -498, -6318, 137184, 8709, 119265, 25894, 1034, -5300, -6890, 155396, -583, 20256, -7156, 15087, -12217, -10730, -8986, 20651, -9917, 108523, 3539, -14501, 12074, -4379, 16546, -3405, 8582, 113656, 64531, 24332, 27880, 2025, 17992, -3041, 237, 92818, 14469, 23546, 18592, -2853, -5103, -3454, 17124, -10476, 53060, 12605, 67639, 5506, 8608, -1821, 47089, -12959, 84420, -6758, 563, 121275, -3178, 4885, 29619, -15861, -2846, 15763, 36561, 31182, 95272, 15594, -1397, -4097, 54881, 93002, -4512, 14848, -23689, 30890, 33374, -6249, 65230, -3922, -12774, 12839, 30979, 33436, 4636, -3864, -3877, 28073, 34628, 36645, -12293, -22437, 30779, -2161, 79533, -5832, 124281, -13568, 13273, 43589, -8997, -5155, -1714, -746, 73905, -1969, 10605, 34737, -27465, -7149, 36083, -897, -3453, -13484, 104981, 6933, 39803, 48976, -3758, 35377, 7280, -6145, 52366, -9433, -4090, -13292, 44423, -2827, -4222, -3889, 9900, -13020, -10537, 71064, 7183, 22166, 113236, 50595, 28490, 22832, -10641, -5601, -9004, -7068, -6687, 10786, -3815, 19101, -1741, -6486, -3436, -3309, 14307, 10242, -15725, 13883, -17479, 90545, -4443, -4470, -13306, 69882, 69636, -5869, -30948, -14115, -1940, 57857, -7151, -7895, 16165, 12343, 20145, -7377, 11746, 76252, 7576, 47068, 97552, 41152, 8193, -14561, 56192, 43670, 15661, -7098, 26718, 75272, 59717, 32578, 37274, 100280, -3278, -2819, 78329, 30073, 14304, 20734, 80783, -4846, -6910, 29457, 3197, -924, -13906, -6441, 9652, -6613, 15323, -4697, -9328, -4250, -13612, -3661, -2468, 289, 63790, 58476, -4063, -314, 15540, 41770, -8193, -5025, 55185, 71742, -15855, -1764, 44927, -24891, 46763, -3432, -11515, -10356, 22045, -7877, 4479, -4288, -11722, 27405, 18411, -3298, 22349, 24076, -21735, -14419, 56842, -17806, 10210, 7950, 41683, -15013, -8622, 95277, 51938, 74956, 74564, -8335, 1894, 28290, 33790, 71312, -3798, -4152, 32013, 27079, 107107, 56432, -3017} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-134, -168, -35, -151, -554, -190, 2, -16, -6, -11, -89, -248, 5, -250, -52, -310, -10, -17, 1, -22, -41, -34, -296, -112, -147, -167, -33, -289, -184, -22, -11, -113, -164, -39, -15, -172, -14, -758, -64, -259, -113, 31, -116, -104, -616, -131, -255, -145, -1021, -70, -215, -94, -6, -103, -49, -260, -55, -392, -114, -337, -249, -55, -245, -268, 15, -157, -62, 22, -168, -20, -9, -144, -692, -109, -68, -14, -67, -88, -19, -85, -84, -63, -496, -138, -74, -295, -6, -474, -4, -17, -85, -1, -34, -3, -103, -115, -302, -183, -53, -163, 50, 472, -142, -244, -56, -23, -243, -52, -383, -93, -246, -22, -16, 276, -17, -89, -361, -32, -19, -140, -8, -166, 53, -51, 14, -8, -125, -42, -117, -35, -43, -108, -14, 0, -184, -138, -85, -118, -104, -362, -54, -8, -184, -224, -356, -77, -115, -27, -15, 2, 6, -253, 25, -23, -2, -14, -247, 39, 5, -97, -208, -366, -23, -23, -432, -84, -227, -237, -243, -194, -50, -34, -35, -10, -341, -95, -503, -504, -95, -29, -410, -43, -30, -43, -97, -502, -420, -26, 9, -12, -44, -15, -435, -3, -159, -261, -27, -120, -432, -72, -202, -175, -283, -472, -4, -13, -87, -219, -248, -304, -23, -564, -125, -44, -10, -16, -131, -532, -146, -314, -92, -163, 34, -171, -32, -497, -90, -75, -136, -97, -381, -59, -567, -135, -49, -29, -15, -106, -103, -49, -125, -77, -22, -205, -70, -85, 49, -596, -151, -454, -187, -113, 35, -7, -539, -40, -197, 180, -75, -8, 52, 14, -151, -49, -572, -151, 7, -117, 8, -134, -8, -210, -566, -359, -194, -205, -42, -124, -76, -134, -451, -198, -157, -144, -98, -15, 51, -106, 0, -305, -196, -397, -138, -94, -103, -389, 15, -617, -27, -136, -555, -104, -134, -263, 52, -94, -146, -180, -278, -524, -106, 23, 6, -460, -458, -99, -37, -77, -297, -291, 20, -249, -54, -24, -86, -109, -249, -34, 9, -46, -279, -256, -226, 4, -19, -259, -29, -554, -10, -810, -79, -216, -255, -3, -20, -66, -118, -665, -64, -106, -323, 24, -46, -278, -105, -145, -79, -501, -65, -297, -330, -38, -298, -61, -79, -323, 3, -69, -2, -320, -8, -51, -31, -91, 20, 15, -375, -77, -181, -472, -325, -224, -165, -102, -26, -2, -48, -118, -203, -27, -144, -97, -54, -8, -14, -177, -201, -76, -227, 25, -451, -21, -10, -3, -285, -423, -63, 84, -30, -56, -264, -9, -5, -183, -56, -202, -10, -93, -691, -105, -283, -467, -197, -37, -4, -386, -284, -127, -65, -241, -354, -349, -162, -234, -381, -52, -64, -679, -221, -211, -231, -433, 36, -2, -305, -97, -10, 20, -15, -96, -33, -155, -15, -74, -11, -55, -72, -104, -200, -398, -240, -59, -35, -210, -292, 3, -70, -419, -558, 16, -64, -395, 77, -356, 1, -40, -111, -161, 19, -52, -84, -11, -271, -218, -3, -256, -239, 5, -72, -431, 27, -173, -129, -238, 31, -87, -462, -335, -413, -406, -30, -101, -204, -237, -454, -88, -34, -245, -219, -593, -309, -82}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1287535488, 1571390976, 1736967552, 1395064576, 1692659968, 1094451712, 1419369984, 1146052352, 1302273152, 2101583232, 1096613504, 1470704768, 1746158336, 2076238336, 1517141248, 1230807936, 1232315008, 2106099968, 2025896576, 1114130176, 1378025600, 1692106880, 1371254272, 2022958464, 1491104000, 1853710208, 1427743360, 1927414656, 1951760256, 1425734272, 1231612032, 1294660224, 1183088128, 1458105088, 2084098816, 2014632320, 1948707456, 1895629952, 1324327552, 1424240256, 2054730496, 1592016256, 1923100928, 1337428608, 1890663680, 1960019584, 2095801728, 1161217664, 1679364224, 1484303104, 1930278272, 1128268544, 1093136256, 1281453952, 1204474368, 1201832704, 1216293760, 1254061952, 2039582976, 1211394944, 1345207424, 1448612480, 1320774528, 2060046592, 2027123456, 1561912320, 1211476224, 1784033920, 2042573056, 1396275072, 1315771008, 1291478912, 2129922048, 1562749952, 2117584256, 1744915584, 2006336896, 1154280320, 1446938752, 1911469440, 1073771776, 1587854208, 2054518656, 1494265984, 2033500288, 1591471744, 1362695040, 1323407232, 1437218048, 1266125056, 1582534400, 1222101632, 1113095808, 1887216256, 1392917504, 1954796928, 1159512704, 1410343936, 1173446528, 1610209664, 1639025280, 1540730240, 1815360640, 1806175488, 1781214848, 1535528960, 1263259392, 2120364544, 1458442112, 1269002496, 1782236416, 1192655104, 1077409280, 1770047616, 1159991808, 1477997568, 1456200576, 1078318208, 1976443520, 1790473984, 1093387008, 1232002688, 1656880256, 1245282048, 1102324224, 2037385472, 2043079424, 1080308224, 1537197824, 1625987712, 1859928192, 1834336896, 1143803904, 1497746304, 1850849792, 1256166912, 1306170368, 1855738112, 1255407232, 1778782336, 1157458688, 1160729856, 1087560192, 1401134464, 1994180352, 1946006144, 1726548352, 1194403072, 1162985728, 2022780416, 1156017408, 1314136576, 1378260224, 2048375552, 1085955584, 1088007040, 1636741248, 1379924224, 2049722368, 1268342784, 1603828352, 1125152768, 1768123008, 1751590016, 1462176640, 1446561664, 1420701696, 1835067264, 1925407488, 1506393472, 1195202304, 1357128576, 1143183232, 1134603904, 1171057536, 1248900992, 1741228416, 1771139456, 2050742656, 1153830272, 2089442432, 1167739264, 1491277568, 1836906240, 1328677888, 2041357696, 1641341568, 1314937472, 1354701824, 2088006016, 1919406080, 1527636480, 1416217984, 1472160896, 1451366144, 1587676288, 1193503360, 1847663872, 1116857856, 2088154368, 1689640448, 2063815680, 1077836416, 1371171840, 1792532736, 2123681152, 1151468288, 1074198272, 1420818816, 1164921216, 1569820672, 1673018112, 1416292608, 1344642176, 2122100992, 1548377984, 1152633600, 1215707776, 1549837952, 1167032832, 1521133184, 2009853184, 2033880192, 1738367744, 1919953920, 1293932928, 1463215360, 1589258368, 1142562048, 1468368768, 1907217152, 1105035904, 1190219136, 1582912128, 1928801408, 1298242688, 1371842688, 1179134592, 1211507200, 1075672064, 2051822592, 1978804480, 1855271424, 2067187968, 1839246720, 2008387072, 1530554624, 2129319168, 1107179776, 1082684672, 1686704640, 1847065728, 2107112704, 1940239104, 1779651968, 1610742144, 1135459456, 1419341312, 1485764352, 1422324224, 1948451712, 1405249024, 1104076288, 1994490880, 1144231424, 1300160896, 1557154944, 1953708544, 1123396992, 1714753664, 1081694464, 1675128064, 1383662976, 1455530880, 1136530816, 1383061376, 1734263808, 1170536960, 1356007808, 1340101376, 2095710464, 1421065600, 1734349952, 1348222080, 1387300992, 1172349312, 1850228096, 1768795392, 1195306240, 1543938816, 1593910528, 1549570048, 1600659840, 1800605440, 1242191616, 1076910976, 1123353216, 1193996800, 1290818560, 1121214720, 1950599296, 1576161408, 1880582912, 1290402816, 1083015168, 1784255232, 1666641280, 1958424064, 2027358720, 2088261888, 1652057472, 1257854720, 1452677504, 1954986496, 1269461632, 1669374208, 1412819200, 1312716544, 1748514944, 2023288320, 1991568640, 1286082432, 2095107072, 1356861184, 1371752320, 1761453312, 1443279232, 1795548800, 2018505728, 1620428928, 1612946816, 1338406912, 1103607424, 1217826432, 1574166016, 2003838208, 1131372160, 1269686656, 1163875072, 2101772032, 1089252736, 1083344640, 1547478016, 2088403072, 1295800576, 2009535872, 1655460096, 1395338624, 1193218432, 2000777856, 1697455872, 1144635264, 1542630272, 1930610688, 1550941440, 2142319488, 1477837696, 1146994816, 1376832640, 1432735744, 2079816704, 1264793344, 1746418944, 1670686336, 1165234176, 1638196224, 1154974720, 1110101504, 1192157312, 1373466624, 2033098880, 1318484480, 1305176576, 1633401216, 2035738496, 1992810496, 1336001280, 2113415552, 1435645952, 1866170496, 1141839360, 1590006272, 1839808640, 1193461504, 2090015488, 1100570112, 1744916608, 1662399232, 1186375936, 1466146304, 1353095808, 1390137856, 1648158464, 1087546368, 1162623872, 1108580480, 1175690112, 2059608576, 1883700096, 2059791744, 1408750080, 1294508032, 1258263424, 1977185280, 1439070848, 1626593536, 1329616384, 1660119808, 1372556672, 1589163648, 1752590592, 1169505152, 1913543808, 1090894976, 1712080768, 1270856448, 2039568000, 1818923264, 1271050752, 2034828160, 1694930560, 2112528896, 2108389376, 1662135936, 1224155776, 2140332544, 1977401088, 1218839808, 1917769344, 2021985408, 1464848256, 1963664256, 1195734656, 1398761088, 2005952896, 1950585088, 1176052224, 1207536256, 1163348608, 1203374464, 1886884864, 1499803776, 2065474176, 2040519808, 2019935488, 1859419648, 1937144320, 1211992704, 1148114048, 1696776960, 1709798528, 1430229120, 1247846144, 1813435776, 1395591296, 1089583360, 1278426752, 1432638592, 1287618688, 1609750528, 1718195072, 2073343360, 1999566208, 1136785792, 1216609280, 1153436032, 1821393408, 1972023936, 1201114496, 1974248192, 1608535680, 1134972928, 1892081920, 2085167104, 1872072576, 1634895872, 1469451776, 1662952448, 1822835840, 1120202880, 1176997632, 1476333440, 1273402496, 1766027904, 1307205760, 1497958656, 1094720128, 1572930176, 1491956352, 1945444480, 1106760576, 1273464704, 1295179520, 1561608320, 1662091392, 1562613760, 1202805120, 1835902080, 1432335616, 1250330112, 1397201536, 1734079232, 1735253760, 1078037632, 1349561856, 1705410176, 1183366144, 2056663424, 1704497280, 1983512064, 1963422080, 1567287552}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 21 Learned Parameters +#define CONV21_BIAS \ + {-1026, -618, -1858, 257, -191, -241, 235, -191, 209, 859, 683, -1097, -659, 868, 245, 2535, -1580, 627, -1092, 50, -496, -713, 553, 3326, -406, 900, -1022, -438, -2196, -124, 740, -3018, 655, 1778, 1166, -864, 967, -978, 257, 117, -790, 2817, -3931, 3066, 13, 577, 355, 378, -661, 1145, -489, -1021, -1348, -227, 247, -1635, -913, -2438, 452, -925, 1245, -1057, -327, -2327, -12, -688, -362, 702, -250, 1371, -780, -817, 2085, 3515, 934, 120, 295, -4057, -458, 134, 1026, -37, -1563, 211, -1141, -460, -1159, -1631, 1469, -463, -1101, -2720, 814, -1934, 114, -1216, -2821, -953, 1990, -40, 1794, -2092, 1308, -107, 48, 773, -520, 937, 69, -1656, -1246, -1770, -119, -1415, -445, -474, 240, -126, 284, 2462, -447, -1158, 916, -819, -1732, 1004, -1295, 315, 916, -317, 277, -1362, -1700, -595, 1840, 1012, 3154, 303, -293, -2329, -3281, 634, -816, -939, -1612, 1133, -2464, -2499, 510, -1123, -2578, 865, -454, 466, -489, 195, 2448, 1006, 1085, -133, -1489, -1, 1634, 558, -2250, -92, -497, 181, -737, -2933, 1008, -807, 620, -918, 73, 1571, 658, -757, -1800, -922, -2415, 612, -1015, -436, 293, 610, -35, -1132, 1325, -476, -1678, -907, -1048, -312, -245, 1851, -851, -2286, -3389, -1624, 244, 1543, 454, -747, -45, 1070, -1097, -2432, 749, -246, -594, -1191, -2705, 4, -342, 899, 1956, -1423, 14, 2417, -1273, 1949, -1560, -1897, -1231, 4446, -603, -429, -1859, -174, -2720, -1661, 404, 44, -1424, -301, 1158, -420, -647, 692, -2931, 14, -872, 416, -77, -124, -889, -3095, 1025, -1214, -2411, 1867, -1432, 2432, -500, -883, -1640, -511, 684, 1338, -1194, 510, -3590, -729, -1177, -1033, -2940, -177, -2452, 1860, 324, -1047, -575, 1241, -17, 919, 365, 874, 907, -2067, -726, 837, -3845, 342, 735, -1221, -653, 722, 420, 935, -1469, 3156, -251, 1144, 382, 846, -1982, 1272, -376, -1028, 416, 2101, -3030, -157, 2627, -674, -2684, -1223, -40, -1145, -1055, -278, 917, 1887, -1237, -1013, 118, -60, 4, -124, 2331, 939, -1614, 291, -887, -2025, -1417, -432, -1858, -382, 282, 1694, 857, 313, -1016, 3206, -620, 1827, 160, -1625, -1340, -2245, -1138, -1592, -369, -1591, -1443, -349, -31, -375, 432, 43, -48, -472, -199, -1609, -228, -1139, 2051, -1560, -1802, 623, -1146, 966, 1645, -153, -266, 160, -700, -1092, -721, -65, -2298, -951, -147, 950, -1066, -1719, 88, 619, -1736, -2904, -1562, -2286, -913, -368, -875, 853, -2095, 991, -1309, -749, -3367, -1326, 125, 2384, -912, -877, 981, -2060, -780, -2137, -494, -1725, 1418, -980, -1728, 383, -1137, -1424, 704, -1011, 1165, 2083, -1075, 1324, -1081, 4297, 72, -330, -483, 1424, -874, -920, 640, -1516, -538, -1310, -102, 636, -1594, 252, 1019, 868, -2002, -726, -1002, -1947, 540, -777, -1064, -135, 1717, 1785, 426, -3029, 1275, -30, -140, -1469, 1786, -639, -3744, -146, -1072, 3480, 780, -2557, 644, 2295, 1913, -2849, -621, -1494, -789, -404, 688, -729, -1367, -2618, -911, -867, -1449, 4100, -666, -1132, 382, -301, -951, 463, 576, -1079, 826, -1200, 782, -352, 904, 100, 876, 2994, -210, 959, 259, -1870, -1013, -361, -3334, 1228, -2, -41, 1099, -1253, -2882, -1076, -240, -1616, 1073, -2223, 278, -355, -2187, -1321} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-10, -7, -6, -7, -8, -8, -8, -8, -8, -7, -7, -7, -6, -8, -6, -7, -8, -7, -7, -8, -8, -7, -9, -10, -9, -6, -8, -5, -7, -8, -8, -8, -7, -10, -8, -6, -7, -7, -9, -8, -8, -11, -7, -7, -8, -6, -4, -7, -5, -6, -8, -7, -8, -7, -8, -7, -7, -8, -6, -7, -10, -8, -7, -8, -6, -7, -7, -10, -7, -8, -7, -7, -7, -6, -8, -8, -8, -7, -8, -7, -9, -7, -7, -7, -9, -8, -7, -7, -6, -10, -7, -7, -7, -7, -8, -6, -7, -7, -6, -8, -8, -8, -8, -7, -7, -8, -7, -8, -8, -8, -9, -8, -6, -7, -4, -7, -5, -5, -7, -7, -4, -7, -7, -9, -8, -8, -7, -7, -6, -9, -8, -8, -9, -8, -8, -9, -8, -7, -8, -8, -8, -6, -8, -9, -7, -8, -9, -7, -7, -5, -9, -9, -7, -5, -6, -8, -6, -8, -9, -9, -6, -7, -8, -9, -7, -7, -7, -9, -9, -8, -8, -9, -9, -7, -8, -9, -8, -7, -7, -8, -7, -7, -8, -7, -6, -9, -5, -9, -6, -3, -7, -4, -8, -7, -7, -8, -8, -8, -7, -7, -9, -6, -5, -9, -7, -10, -8, -8, -6, -8, -8, -8, -8, -9, -10, -6, -8, -8, -8, -8, -6, -9, -7, -8, -6, -9, -8, -6, -7, -8, -7, -6, -5, -8, -7, -7, -9, -9, -7, -7, -6, -7, -7, -9, -7, -6, -10, -7, -8, -6, -8, -8, -8, -8, -7, -6, -7, -8, -8, -8, -7, -6, -7, -5, -7, -7, -8, -6, -7, -7, -9, -6, -8, -8, -6, -7, -9, -7, -7, -8, -7, -9, -9, -5, -8, -8, -9, -8, -6, -9, -9, -8, -9, -9, -7, -9, -8, -7, -8, -7, -7, -9, -6, -9, -8, -8, -7, -6, -9, -7, -8, -8, -8, -6, -5, -7, -8, -7, -7, -10, -8, -8, -6, -7, -7, -7, -8, -5, -8, -8, -9, -8, -4, -8, -7, -8, -8, -7, -7, -8, -7, -7, -8, -8, -8, -8, -8, -6, -4, -7, -7, -8, -9, -9, -3, -8, -8, -6, -8, -8, -5, -8, -7, -7, -8, -6, -5, -8, -9, -7, -8, -7, -7, -6, -9, -7, -8, -6, -7, -9, -8, -8, -7, -8, -6, -4, -8, -8, -8, -7, -7, -6, -7, -8, -8, -6, -8, -8, -7, -8, -7, -8, -7, -7, -8, -8, -8, -9, -7, -7, -7, -8, -8, -7, -8, -11, -7, -9, -7, -4, -8, -9, -7, -6, -6, -8, -7, -7, -7, -7, -8, -8, -6, -8, -7, -9, -6, -9, -9, -9, -8, -8, -7, -7, -9, -7, -9, -6, -9, -7, -7, -9, -8, -8, -8, -6, -6, -7, -6, -9, -6, -7, -9, -6, -9, -5, -6, -8, -8, -8, -7, -7, -8, -8, -8, -8, -8, -7, -8, -7, -6, -10, -7, -8, -9, -9, -7, -10, -6, -8, -7, -9, -10, -10, -10, -10, -8, -9, -8, -7, -7, -10, -8, -5, -9, -7, -9, -8, -8, -8, -8, -8}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {2021598464, 1652436992, 1108539520, 2134587520, 1248960896, 1225323008, 2121722368, 1432340736, 1624514176, 1126215552, 1837756032, 1239323264, 1320241920, 1490272000, 1173695232, 1147208704, 1165823488, 1923043072, 1260704256, 1433077888, 1180193408, 1926374784, 1321832832, 1162555776, 1233364608, 1614059776, 1356770304, 1444696320, 2115820672, 1084329856, 1621168256, 1263326848, 2072931584, 1795252224, 1518649856, 1221681024, 1850827520, 1186914304, 1508491008, 1107081472, 1305853312, 1632142720, 1802136576, 2029371904, 1978615040, 1762292352, 1097748992, 1546586496, 1385332992, 1191230336, 1506553728, 1474391552, 1392963072, 1926227072, 1199764480, 1488494720, 1143159808, 1991584128, 1630955008, 1183209728, 1255787008, 1132564608, 1228167808, 1190686464, 1890259456, 1301981952, 1372594176, 1676274304, 1281907456, 1940379520, 1625703808, 2090839936, 1711513984, 1295358080, 1464133120, 1404054784, 1607162240, 1898435072, 2085669632, 1883240960, 1383303936, 1523027968, 1482259456, 1436887680, 1510633344, 1089003264, 1130225920, 1546632320, 1751464192, 1395211776, 1901713920, 1241848320, 1409638400, 1352626432, 1929979520, 1108292864, 2049341696, 1395815552, 1245811584, 1982723584, 1272427264, 1402219136, 1382262528, 1125734528, 1266618368, 1338879744, 1176871168, 1525985152, 1895074816, 2111522944, 1367815936, 2102072704, 2025086592, 1598891520, 1992680960, 1145862528, 1152021760, 1821831936, 1274504832, 1138741120, 1876101888, 1249393664, 1233399936, 1100865280, 2047393792, 2078991744, 1399180928, 1237297664, 1919152000, 1925607552, 1446436096, 1247965568, 1719832576, 2122617088, 1226819712, 1518481408, 1713854592, 1893305856, 1982812800, 1162407040, 2143326976, 1461801728, 1259666944, 1145044352, 1109945728, 1094057600, 1141481728, 1321562368, 1791733120, 1729556864, 1281703424, 1136839680, 1328183296, 1196737536, 1258401024, 1298422912, 1655025536, 2057525888, 1363367936, 1788502912, 1300853888, 1763868928, 1279281152, 1239520512, 1902866944, 1131783680, 1307506304, 1288709760, 1870785408, 1102967168, 1404368384, 1750871296, 1139862016, 1998706432, 1887492608, 1666975232, 2109785472, 1203049344, 1128234112, 1836111104, 1199733376, 2034553984, 1782293888, 1225190784, 1705485056, 2034544640, 1523341568, 1243060864, 1762953856, 1282389504, 2046478592, 1235808384, 1142966272, 1971042944, 1317979648, 1829445888, 1289761280, 1161958912, 1847659264, 1244058624, 1205004800, 2125880320, 1593801472, 1367798272, 1905505024, 1321607808, 2118690944, 1114280576, 2032356608, 1571099904, 1690421248, 1377707776, 1919145984, 1084468224, 1483686016, 1333729792, 1462431872, 1076403328, 1829529344, 1805415936, 1523207680, 1106708096, 1288736896, 1362891648, 1785617024, 1654023808, 1353594112, 1525458176, 1367122304, 1952630272, 1107883520, 1345456640, 1611473408, 1324618752, 1429450368, 1632335872, 1912880896, 1123553920, 1712096896, 1307384832, 1238218112, 1149748608, 1363060224, 1149957504, 1370599552, 1192731008, 2016333568, 1084818688, 1298761216, 1187346944, 1298125568, 1349971072, 1307252736, 1139771648, 1698465408, 1224758912, 2028594176, 1657559040, 1433037184, 1324108288, 1461728512, 1078800000, 1905982080, 1565063936, 2112769152, 1078790400, 2094497536, 1320685440, 2076656384, 1132761088, 2091154048, 1275603584, 1224667520, 1444988672, 1429078912, 1153165440, 1271790848, 1609127424, 1125858048, 1168498304, 1989824384, 1675085056, 1141234944, 1968230400, 2000794240, 1509487872, 1966237824, 1513828480, 1560807168, 1484954880, 1439431680, 1221282944, 1670594944, 1619530240, 2095749504, 1391011328, 1194529408, 1280431616, 2001340032, 1744837248, 1216715776, 1322217728, 1196387456, 1437266304, 1446086016, 1282708480, 1131078016, 2076951552, 1126777984, 1605479296, 1519373824, 1184222592, 1110457088, 1507889664, 1188495104, 1245740288, 1702864256, 1862643200, 1292462208, 1962147584, 1512871296, 1297750528, 1194785280, 2065851136, 1142680192, 2069262848, 1178489984, 1710951296, 1336707584, 1913398528, 2079491584, 1482000384, 1581368320, 1803899264, 1088255104, 1594764160, 1212167040, 1535495680, 1259961728, 2011507840, 1153442944, 1219640320, 1525311360, 1379222656, 1946074112, 1232708352, 2066990848, 1802787584, 1108492416, 1434530816, 1172583680, 1840185856, 1480358528, 1079344896, 1142799872, 1932697984, 1795948032, 1407804672, 1679270272, 2025566592, 1321676928, 1215280768, 1515801600, 1986610560, 1240328192, 1409325952, 1365050880, 1630325504, 1332154624, 1254908928, 1226077952, 1499072384, 1321138560, 1748305536, 1878700544, 2023356288, 1205190144, 1278769152, 2075135104, 1457867904, 1320905344, 1154022784, 1489489280, 1688418304, 1779623040, 1574718208, 1729732736, 1689016832, 1152798080, 1645040256, 1958796800, 1264146176, 2075095680, 1709910912, 1341026432, 1231919232, 1650014848, 1681689856, 1953176832, 1206338816, 1883433472, 1481089280, 2122097152, 1137771392, 2106763904, 1092769920, 1751605632, 1476707328, 1297846784, 1445126784, 1150220032, 2025676672, 1145283072, 1135411456, 1272801280, 1680640000, 1263704192, 1190581120, 1857246208, 1301132928, 1417533696, 1164772352, 1316518656, 2120363904, 1369773568, 1161480832, 2081885312, 1307150080, 1214209664, 1460529664, 1751398272, 1644805376, 1409733248, 1802239360, 1451443584, 1422863744, 1638834560, 1480962432, 1593633920, 1257773056, 1183518080, 1405012992, 1164624000, 1485126528, 2019323136, 1840756224, 1528300928, 1335566848, 1444988160, 1162631296, 1101213952, 1165535744, 1781057664, 1173151104, 1509902720, 1577531008, 1938752512, 1153256960, 1413778944, 1357488000, 1084766976, 1318265216, 1848336384, 1324381056, 1572867456, 1412496000, 1451037440, 1149757312, 1088673280, 1149555328, 1283306112, 1190891520, 1354596864, 1236457344, 1312680704, 1247366656, 1090708608, 1306567424, 1411469440, 1540269824, 1458481920, 1375838208, 1255542528, 1320093824, 1158407040, 1105658496, 1357828352, 1831145600, 1453870720, 1193401472, 1156824320, 2004721280, 1639376640, 1342240640, 1215242112, 2044766848, 1116775296, 2136839936, 1182159488, 1430375680, 1321828864, 1637741056, 1097334784, 1647115648, 1229605888, 1314113280, 1890035968, 1163396096, 1385996288, 1461537536, 2077445248, 1295873152}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 22 Learned Parameters +#define CONV22_BIAS \ + {-915, 18332, -4364, -6331, -5664, -227, 33405, -4822, 136492, 35881, 7803, -6233, 85852, -16844, 8200, 74826, -2099, 58195, -762, 47449, 261573, -7409, 11474, 16058, 82515, 53004, -745, -540, -3045, -12277, 82678, -4095, -1422, -12554, 4680, -5807, 87620, -4145, 76316, -3031, 87317, 19991, -2552, 5587, -3122, 85964, 81956, -1010, -1429, 50807, 14677, 45964, 89098, 46353, -8762, -32329, -524, -10407, -378, -11614, -8425, 133207, -8854, -3204, 37041, -613, -15552, 88328, 148506, -25616, -8669, -1197, 55998, 33994, 69097, 71364, 83144, -3539, 43953, -1406, -2261, 18489, -27, -6748, 106163, 69013, -3432, -6214, 16771, -9643, -5834, -5256, -34021, -1847, 15425, -9835, 126809, -671, 36752, -508, 16452, -10388, 12447, 62260, -7054, 23852, -197, -6871, -63307, 3788, -3720, -2367, 57163, 66190, 4620, -2712, 9385, 106329, -2776, 71055, -1217, -2581, 34807, -3977, -6728, 105383, -2046, -4197, 6607, 15941, -16387, -118, 198, 104677, 10003, 13483, 32980, 88186, -1091, -22499, -4756, 15444, -958, -3580, -7065, -6183, -6594, -5273, 30225, -19926, -4417, 112297, -1420, 35314, 160051, 97120, 126080, 5563, 15757, -4942, -7863, 2993, -10356, 104721, -5458, -5155, 55959, 4403, 49382, 96012, 90946, 36995, 3748, 84106, -5432, -2411, 15080, 9185, -7200, 111232, -106, 112020, 84294, 102, 36672, 14469, 102788, -4366, 92696, 130936, 73043, 33465, -3207, 74070, 13145, 22156, 55465, -10021, -515, 82371, -2045, 9435, 71322, 64528, 32629, -43, -8714, 112467, -8700, 109914, 99407, -2205, -11169, -8993, 88994, 4449, 17351, -7782, 64056, 6899, -1163, -39425, 6684, -195, -3697, 8595, -7356, 51479, -7051, -414, 149256, 7991, 41678, -11633, -6307, -64099, -1, 44296, -97168, 39263, 82091, 128300, -2699, 20732, 36439, 37211, 45709, -1513, 29533, 30143, -3738, 40789, -26612, 31956, 50324, -1789, -915, -3291, 24644, -6018, 40270, 17280, -1141, 6857, -6570, -2758, 56463, -6679, 31970, 79719, 149412, 64805, 91255, 69339, 1059, 132090, 66742, 35849, 90323, -5133, 61074, -5767, -1301, 54453, 17377, -13724, 77913, 6495, 57180, -12299, -7334, 51369, -11518, 39475, -5033, 8023, -725, 13804, 122000, -1115, 97545, 19538, -2556, 26548, 23514, -9560, 64985, -7764, -30, -8362, -4133, 83518, 5562, 44088, 76192, 23197, -4091, 28, -6979, 6432, 7599, 87326, -3027, 62334, -254, 153029, -10826, 70635, -6196, -3832, -15398, -11902, 32640, 50980, -2881, 46827, 73781, 83936, -24385, 23578, 24049, -79, 117959, 168277, -207, 100408, 58016, 39743, 94463, -5740, 8022, -29069, 1576, -2836, 40791, 25256, 66035, -5762, 15568, -4633, -116, 84580, 49820, 51648, 123140, 175150, -4005, -3547, -19745, -741, -1614, 75377, -4819, -177, 9148, 3030, -11130, -3239, -1347, -4347, 3141, -11622, 23829, -3586, -906, 104750, -18956, -130, 49418, 40059, 56816, -4167, -2643, -4342, -20354, 98429, 2319, 45805, 37534, -14449, -9104, -589, 95699, -1659, -4558, 36631, -4575, -4234, 66006, -11927, 106677, 39029, -9329, 26659, 36265, -6417, -1529, -4352, -38321, 5788, 85391, -2785, -6984, 1336, 73280, 132183, 76986, -4775, 9394, -13886, 108124, 78448, -38658, -2293, -7948, 28793, 20021, -34717, -6937, 532, -4063, 249798, 34571, -5261, 68335, -3608, -1998, -15290, 71135, -4119, 44671, -4127, -1149, 81437, 98324, 19135, 67310, -15453, 62546, 42143, 15265, -9351, -1106, -269, 61481, 71403, 15658, -9346, -3276, -4926, -16738, 57775, -2492, -22333, -3640, -23349, -18452, 93920, 106909, 56735, -31396, -1029, 70837, -15832, -48152, 45134, 51335, -6542, -19692, -11128, -2027, 116297, 29549, -3249, -4709, 27, -3205, 24378, -9086, -2207, 129536, 31899, -745, 81340, -14345, -4693, 5066, -6459, 51810, 52813, -1011, -2016} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {15, -128, -17, 12, 13, -6, -261, -99, -429, -275, -89, -65, -451, -26, -124, -505, -28, -322, 43, -295, -832, -28, -137, -63, -462, -321, -54, 15, -30, 1, -398, 178, -141, -52, -112, -42, -482, 13, -484, -79, -377, -160, -17, -90, 16, -481, -531, -55, 64, -452, -196, -359, -408, -472, -129, 96, -116, 24, -162, -15, -61, -551, -38, -16, -365, -22, 21, -425, -478, -57, -15, -70, -363, -333, -542, -481, -350, 33, -411, -17, -69, -211, -47, -85, -340, -412, -61, 12, -176, -18, -34, -14, 51, 17, -104, -15, -487, -8, -259, 98, -175, 67, -202, -400, 3, -169, -64, -48, 127, -117, -24, 54, -423, -377, -73, -17, -124, -497, 49, -421, -25, -11, -247, -36, -22, -438, 11, -42, -208, -107, -81, -22, -4, -391, -176, -69, -251, -243, -116, 95, -27, -169, -1, -6, 118, -120, 9, -44, -283, 79, 51, -424, -111, -232, -629, -453, -615, -62, -135, -85, 2, -83, -34, -460, -28, -38, -365, -128, -269, -419, -465, -72, -37, -460, -30, -74, -77, -132, -8, -546, -50, -572, -357, -103, -230, -102, -466, -39, -420, -767, -416, -215, 25, -346, -181, -118, -351, -11, 93, -440, -113, -150, -381, -421, -299, -117, -23, -313, -88, -543, -557, 51, 19, -54, -615, -155, -154, 63, -294, -136, -62, 64, -85, -66, -4, -203, 43, -282, -6, -16, -441, -78, -294, 7, -33, 8, -134, -348, 139, -211, -285, -510, -127, -157, -320, -329, -270, -66, -180, -315, 78, -260, 67, -131, -312, 7, -62, -41, -132, -57, -219, -191, -102, -131, 6, -14, -326, -32, -278, -367, -708, -409, -343, -401, -29, -565, -362, -300, -371, -5, -306, -48, 20, -326, -116, -36, -376, -129, -338, 3, -42, -276, 13, -206, -25, -86, -3, -157, -571, -6, -419, -125, 26, -179, -181, -16, -415, -62, -41, 12, -88, -448, -124, -351, -468, -253, -43, -150, 16, -146, -44, -467, 26, -282, -28, -485, 23, -452, -11, -12, -85, -50, -240, -301, -8, -250, -362, -359, -6, -175, -151, -97, -537, -440, -13, -541, -439, -316, -492, 5, -61, 41, -88, -120, -219, -164, -386, -8, -145, 93, 7, -412, -412, -474, -421, -508, 60, -28, -8, 29, -135, -336, -4, -158, -94, -47, 42, 10, -131, -82, -45, -101, -337, -64, -18, -537, 5, -39, -301, -268, -378, -13, -28, -26, 52, -390, -24, -373, -255, 39, -11, -66, -413, -23, -99, -198, -42, -85, -406, 15, -558, -314, -7, -219, -335, -93, -35, -45, 74, -53, -463, -75, -17, -17, -351, -371, -372, -68, -82, -48, -341, -419, -11, -137, -53, -313, -212, 27, -57, -67, -39, -766, -194, -104, -303, 59, -123, 12, -512, -19, -347, 0, 65, -389, -308, -222, -300, -57, -379, -352, -157, -10, -102, 27, -262, -395, -124, 32, 15, -16, 58, -377, 3, -36, -4, 27, -2, -578, -480, -481, -29, -119, -303, 42, 12, -200, -318, -26, 64, -16, -87, -646, -154, 5, -28, -52, 74, -151, -15, -90, -522, -309, -9, -255, 0, -9, -73, -16, -339, -289, 63, -24}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1326113152, 1112215424, 1269598208, 1720426112, 1823791488, 1712129792, 1497649408, 2025400448, 1908362624, 1849563648, 1696221312, 1379473920, 1431407744, 1918205952, 1655280256, 1413212800, 1090086016, 1127190016, 1508358272, 1117054848, 1209184768, 1446900480, 1598920704, 1977168896, 1642458112, 1116950784, 1239195392, 1092523008, 1903304064, 1159536000, 1786595712, 1164105984, 2024874752, 1159594752, 1958433280, 1181349760, 1472584064, 1512981888, 1427764736, 1314726400, 1551412352, 1981136256, 1571063296, 1744851840, 1135845376, 1250202368, 1234371072, 1650339840, 1462601984, 1080245888, 1923872896, 1139384320, 1550324480, 2092375936, 1584470272, 1667576576, 1562583936, 1125975424, 1849904000, 1201726848, 1625871872, 1333104896, 1633033088, 1932286720, 1437297280, 1803270144, 1395652096, 1270734080, 1771089280, 1816180352, 1771482240, 1444523392, 1507629440, 1751131392, 1505148928, 1546066304, 1378847488, 1466074752, 1180020352, 1556740096, 1931654528, 1564643328, 1143575424, 1407163392, 1864121984, 1864518144, 1219945472, 1092726784, 1517916160, 1091684352, 1501461760, 1911543552, 2013681792, 1686214144, 2085835136, 1240329856, 1186791040, 1622924160, 1343347456, 1955336448, 1460813184, 1404748544, 2076398848, 2002419072, 1949282304, 1242301440, 2054807680, 1266921856, 1925974784, 1183027328, 1088631040, 1110784512, 1775504000, 2048344704, 1091548160, 1112521984, 1432565120, 1705108736, 1271236608, 1167835648, 1122616704, 1100403328, 2100275584, 2107809152, 1395007744, 1349572992, 1666893184, 1566897408, 1198911744, 1968103936, 1586865664, 1188405888, 1651006208, 1562635136, 1855943424, 1324477952, 1536072576, 1202279552, 1442263808, 1153707392, 1659520768, 1434948480, 1820625152, 2076880768, 1170513920, 1279578624, 1897430912, 1486663296, 2102051968, 1906130432, 2052455424, 1229479552, 1352059008, 1877809408, 1342297600, 1374156672, 1331194624, 1665771904, 1100646144, 1435059456, 1920098560, 1158020992, 1295569024, 1415455104, 1081839616, 1117252480, 2112787968, 1608395264, 1752771456, 1148392832, 1100793472, 1653392256, 1201543808, 1292155264, 1448375680, 1991022336, 2125528960, 1683014528, 1822205568, 2055036032, 1209090176, 1918900992, 1102470528, 1502140544, 1642237056, 1847584512, 1126217600, 1517431424, 2018753920, 1561006976, 1598658432, 1209649920, 1497628928, 1467465600, 1551036544, 1935033472, 2008204928, 1082099328, 1739199488, 1357522304, 2058129152, 1739984640, 1567527168, 1549284736, 1506104064, 1519234432, 1123446016, 1485544576, 2110613376, 1168428672, 1473430400, 1303576832, 1424540800, 1480409600, 1272746624, 1611134080, 1220720512, 2075727360, 1233224064, 1670164608, 1116912384, 1494099456, 2133710848, 2135025152, 1590618368, 1331097600, 1979536256, 2005446784, 1118525696, 1417758336, 1079220352, 1080822912, 1187838848, 1796425472, 1894018944, 1339895808, 2089320064, 1150185856, 1463383296, 1168333696, 1310894464, 1293149696, 2093661312, 1144203648, 1425340544, 1539462912, 1216616448, 1358628224, 1706474496, 2077464576, 1834802560, 1499034240, 1495088768, 1336054912, 1387104256, 2122990080, 1830601216, 1358241152, 1974629504, 1361968512, 1335051648, 1525176832, 1780818560, 1425797888, 1666049792, 1967745664, 1234073728, 1100758400, 1541995648, 1779896192, 1474526976, 1730150016, 2046457600, 1614081920, 1077590144, 1212994688, 1074129024, 1617722624, 1410141952, 2001565824, 1920909440, 1132072704, 1076172544, 1973824128, 1143948928, 1320341760, 1483764352, 1202274048, 1938361088, 1854635520, 1391243264, 1453091968, 1292911616, 1489392768, 1174621312, 1153701376, 1652705152, 1191511552, 1890179968, 1716003840, 1107447168, 1397629440, 1592072448, 1648410496, 2026401280, 1548480896, 1809442432, 1431677952, 1287982336, 1989601536, 1368636160, 1246504064, 2131502208, 1258176512, 1361201536, 2085663360, 1087756672, 1547160448, 1100081664, 1309376768, 2018158080, 1263122944, 1431071104, 1741575424, 1226032384, 2031926400, 1942692608, 1582868992, 1905906816, 1300552832, 1147994368, 1463681152, 1803596416, 1094565248, 1976741888, 1739156352, 1555521152, 1871698048, 1191661568, 2030177664, 1757287424, 1244505472, 1900113536, 1147412992, 2053374976, 1192848768, 1080069632, 1316669312, 1129266304, 1343543424, 1348599424, 1545404800, 1885592960, 1626550784, 1249694208, 1918678144, 1204376832, 1428579072, 1368417280, 1883146112, 1585201024, 1287794048, 1459633024, 2031846656, 2103096832, 1722611584, 1701499776, 1394539136, 1714860800, 1922649344, 1894690304, 1814875136, 1831040256, 1647588096, 1445905152, 1537615232, 1088832768, 1458816000, 1182686848, 1757797376, 1798560896, 1896356864, 1168968320, 1464215808, 1528781312, 1160018816, 1214853632, 1864346496, 1106396928, 2133579008, 2127261440, 1091519744, 1228874240, 1092114176, 1575021696, 1793524608, 1958866048, 1138021504, 1511901184, 1419335936, 1442559872, 1381057920, 1224305152, 2080390400, 1139350016, 1877630976, 1096422528, 1951430912, 1859689216, 1536954624, 1089763072, 1762385792, 2090221312, 1383209344, 1376123648, 1348472320, 1495827968, 1593550336, 2066127616, 2122689920, 1358183296, 1847733760, 2050356480, 2055094272, 1586195328, 1491026560, 1690523776, 1935528064, 1432486912, 2075618688, 1697955456, 2051225344, 1327775104, 1132682240, 1438824192, 1949376384, 1409138048, 1419726464, 1719083648, 1134082048, 1227708032, 1085678592, 1976680832, 1961403136, 1920900992, 1207507712, 1976509568, 1556890624, 1277130496, 1374563200, 1588418048, 1125961088, 1154674944, 1303505536, 1433971840, 1968562688, 2042035200, 1550641152, 1947684864, 1370740608, 1193325824, 1858321920, 1097987712, 1250044160, 1374758016, 1934051456, 1199688576, 1087383296, 1575111424, 1745480064, 1937088768, 1553594880, 1731592448, 1504049664, 1485913600, 1273561344, 2136121600, 1079405568, 2073183616, 2135595008, 1483265408, 1569466240, 2119955072, 1887280896, 1194680192, 2036063360, 1606185600, 1786071808, 1598151296, 1634963328, 1396712576, 2012059904, 1350021376, 2045423104, 1722700928, 1605457536, 1390228096, 1822498176, 1558500608, 1245008128, 1209976192, 2118786560, 1673507968, 1121287168, 1805231232, 2030255744, 1735874176, 1159168384, 1144190976, 1375795456, 1151322368, 1093486336}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 23 Learned Parameters +#define CONV23_BIAS \ + {-21939, -79138, -5755, -24462, -12214, 27786, -24155, -26787, -15920, 72048, 15361, -18207, -37050, 11662, -15010, -47719, -19379, -8097, -8482, 27684, -27628, -47327, 47734, -37248, -19681, 8952, -10717, -906, 28986, -26366, 43200, -13576, 54413, -4129, -57166, -2576, 6418, 9351, -15650, -65093, -32382, -18754, -45533, 31538, -29217, -7387, 4271, 29466, 5156, 31734, 4174, -36914, 33989, -17704, -48173, -15550, 69014, -42233, -5782, -17037, -18697, 41391, -19785, -2599, 15445, -49683, 6070, 9369, -48349, 895, 15360, -32087, -30789, 1109, -15879, -10951, -7531, -71557, -4305, -22806, 19197, -13869, 23852, -369, -61564, -748, -10266, -6491, -18241, -35705, 27538, 28787, 12611, 1616, -22067, -12024, -49868, -31534, -31858, -29224, -13486, -30730, 95719, -16817, -48180, -30202, -36528, 3853, 11564, -41132, -5830, -41345, -32295, -75655, 1671, 1979, -16156, 5848, -35642, -15587, 44363, -15523, 4389, 14271, -5699, -39098, 4604, -21370, 32629, -72311, -6906, -15157, 3833, -28503, 16114, -6675, 33910, -29787, 33984, 17373, 24037, -8321, -559, -23395, -16839, 54662, 3339, -32626, 18602, -23882, -18817, 33618, 4316, -55017, 9525, -5279, -55200, -1318, -31202, -87988, 3498, 25428, -10494, -41085, 16427, 8404, 29484, 59520, -29303, -17628, -6881, 4603, 5548, 14004, -8596, -8798, -7259, 52831, 9366, -38611, 44410, -8578, -14430, 10680, -20925, -773, -34403, -12025, -14622, -17102, -688, 27671, -35003, -1342, -14218, -41006, -15449, -24781, -10314, -85529, 15075, -40986, 3312, -11652, -17309, -38232, 22205, -48054, 4997, 9153, -24581, 9620, -3612, -26278, -16875, -51849, 451, -27040, -28548, -4907, -611, -22329, -41639, -6575, -58326, -57864, -19207, -17625, 32140, -41870, 12872, -58278, -29415, -7561, 66471, 23772, 4828, -4137, -27649, -12811, 3978, 12502, -45888, -37690, -5921, -13648, 3567, 23311, -40139, -22472, -12277, -10931, -41750, -47199, -24889, -29828, 3052, -59365, -1388, -13400, -18379, 21509, -25512, 12839, -14332, -25199, -44535, -17809, -7616, 21526, 23803, -10429, -29141, -13872, -36901, -10770, -53709, 11950, -39138, 6062, -32051, -27731, -23953, -32865, 58733, 22239, 23657, 52154, -22128, 2391, -16345, -23872, 52211, -18103, -935, 21710, -37042, 81882, 15323, -34315, 9245, 1433, -28778, -28141, 4657, -40028, -14164, -26557, 57299, -17205, -33963, -14006, -5493, -25773, -3556, 42672, -52241, -15430, -48706, 16, -42117, -10589, -17091, 52284, 47774, -26700, -25197, -16512, -58224, -30319, 6506, -52752, -20432, -20775, -7575, -69809, -31854, -20756, 86845, 16449, -40599, -13329, -5496, -57668, -39353, 33920, -30984, -49139, -26927, -34216, -8551, 21560, -63524, -56946, 5125, -18901, 50538, 7956, -1518, 53941, 8824, -21191, -50400, 14386, -34317, 6922, 31305, -24019, -14349, 28092, 6793, 39815, -21342, -15969, 27981, -45718, -35905, 30397, -6660, -37258, 7914, 1313, -26765, -22095, -1828, -32543, -410, -33864, -4172, -30437, 13300, -30622, 50725, 7080, 3340, -16478, -28962, -25123, -7450, 7691, -26812, -3517, -11656, -86801, -8697, 12975, -50903, -7063, -2042, -17720, 2355, -41335, 20968, -61827, -64672, -39414, -11509, 38985, -7552, -44344, 50398, -53571, -14824, 11876, -5454, 39708, -25316, -18780, 586, -23488, 5221, -37086, -12850, -7060, -30236, 32974, 39056, -30558, -73601, -26449, 34962, -4150, 12606, -8778, -2155, 8071, 11875, 21279, 5124, 15255, 5775, 16476, -28685, -63273, -32226, -21798, -36690, -15295, -64093, -55272, 9418, -22100, 10560, -4470, -34434, -31827, 5305, 2365, -64546, -31280, -9240, 1433, -17723, -13447, -11330, -33518, 5138, -70256, -18470, -63192, -77063, 11859, -7770, -11245, -45533, 4757, 12909, -9122, 16266, -19618, 22215, 20094, -24760, 17090, -13588, -53022, 3078, 14809, -30435, -31603, 20275, -47810, 15940, -8258, -45880, -12857, -17685, -4877, -7621, -2608, -58164, -34571} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-118, -130, -142, -130, -176, -145, -129, -111, -145, -134, -125, -109, -175, -134, -106, -118, -135, -169, -106, -104, -138, -117, -89, -140, -139, -163, -127, -94, -119, -126, -113, -175, -137, -138, -134, -133, -97, -136, -106, -138, -167, -129, -135, -118, -143, -152, -139, -138, -118, -137, -147, -120, -101, -88, -116, -111, -123, -117, -113, -134, -143, -99, -127, -106, -122, -112, -136, -140, -114, -142, -148, -152, -127, -140, -169, -146, -116, -153, -125, -141, -146, -188, -137, -123, -116, -148, -134, -123, -167, -131, -109, -95, -117, -129, -134, -122, -129, -145, -150, -130, -204, -129, -128, -126, -115, -140, -122, -142, -142, -136, -150, -109, -146, -120, -128, -119, -141, -150, -109, -125, -149, -124, -131, -121, -143, -138, -111, -151, -122, -137, -132, -151, -153, -120, -139, -131, -101, -134, -165, -122, -121, -119, -119, -109, -129, -131, -115, -140, -134, -118, -135, -127, -139, -132, -118, -162, -130, -134, -137, -134, -105, -118, -118, -135, -132, -140, -125, -125, -114, -131, -128, -132, -130, -104, -121, -140, -161, -138, -146, -102, -112, -152, -103, -137, -97, -123, -123, -134, -150, -133, -133, -149, -152, -121, -139, -123, -160, -126, -127, -126, -104, -127, -128, -140, -144, -106, -116, -163, -121, -117, -144, -122, -117, -130, -126, -132, -127, -164, -112, -134, -115, -147, -148, -126, -144, -133, -165, -133, -133, -123, -120, -118, -119, -110, -111, -135, -131, -141, -132, -129, -138, -123, -122, -144, -120, -110, -100, -131, -135, -153, -98, -88, -133, -119, -132, -132, -152, -122, -112, -148, -131, -128, -120, -149, -137, -121, -136, -135, -115, -157, -94, -116, -118, -106, -145, -147, -136, -134, -119, -151, -121, -110, -124, -138, -131, -144, -128, -173, -145, -158, -120, -113, -119, -109, -130, -137, -131, -108, -138, -114, -127, -144, -109, -117, -126, -129, -109, -128, -122, -130, -145, -161, -152, -140, -109, -92, -124, -152, -125, -123, -158, -164, -98, -97, -139, -125, -80, -132, -127, -138, -120, -136, -125, -133, -115, -111, -135, -144, -137, -135, -98, -131, -158, -120, -160, -136, -171, -158, -150, -114, -128, -65, -150, -126, -118, -123, -103, -153, -135, -117, -139, -150, -116, -135, -143, -119, -211, -119, -128, -127, -112, -121, -124, -149, -123, -148, -104, -78, -130, -118, -136, -136, -131, -124, -135, -164, -143, -149, -116, -167, -165, -164, -116, -138, -109, -123, -121, -142, -121, -90, -145, -129, -159, -129, -111, -135, -155, -152, -202, -120, -128, -146, -146, -116, -125, -115, -148, -140, -107, -122, -128, -118, -144, -121, -98, -128, -146, -124, -131, -110, -134, -147, -99, -121, -130, -98, -143, -153, -149, -164, -114, -129, -138, -146, -116, -149, -127, -155, -93, -67, -119, -135, -115, -116, -125, -140, -102, -158, -126, -151, -168, -129, -142, -129, -154, -129, -133, -138, -133, -138, -114, -132, -159, -140, -127, -163, -116, -135, -156, -147, -131, -118, -137, -125, -123, -140, -135, -96, -95, -177, -134, -103, -139, -128, -101, -155, -85, -185, -126, -132, -123, -122, -134, -137, -123, -141, -93, -103, -134, -143, -154, -128}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1105143808, 2128591104, 1622377472, 1164662400, 1840092672, 1891395328, 1145335296, 1984840832, 2120252288, 1549426688, 1243072768, 1311783808, 1469334656, 1701431936, 1333872384, 2061232896, 2139391360, 1236167552, 1319595264, 1323752448, 2061801600, 1225597056, 1147330944, 1451858688, 1600856064, 1287646720, 2102632960, 1332592768, 1173539584, 1193530240, 1080666752, 1704406272, 1184113536, 1315803008, 1205215488, 1175574784, 1564108672, 1228659584, 1662337792, 1179191936, 1840125824, 2097835904, 1121894016, 1507103872, 1212829824, 1435623936, 1258608512, 1773798144, 1323018112, 1402757760, 1408262144, 2118970112, 1739461120, 1373574912, 1196644736, 1366202624, 1134497408, 1078567808, 1161918720, 1133298688, 1285919232, 1436775040, 1138875904, 1663709440, 2110518784, 1255635840, 1121936000, 1909296000, 1145823872, 1299029632, 1523231616, 2145544960, 1232209408, 1327610240, 1450536320, 1175150336, 1216198400, 1983242368, 1825438464, 1208911104, 1906688640, 1813668224, 1773109632, 1256828032, 1238894848, 1228656640, 1986666624, 1183660928, 1339236480, 1615456256, 1530208000, 1281545600, 2046326912, 1330012928, 1770788352, 1298965504, 1366735616, 1122886784, 1172122752, 1111870592, 1582317440, 1475184128, 1711154304, 2042223104, 1145034752, 1790494720, 1125926784, 1252918016, 1225247360, 1227246592, 1627876224, 1276015232, 1952828288, 1078236800, 1311260800, 1247301504, 1450144000, 1290372992, 2079495424, 1103260160, 1691354880, 1200505344, 1244335744, 2143912960, 1120900480, 2110418688, 2108450432, 1141374464, 1446244608, 1807329408, 1183419904, 1766241408, 1251352320, 1095985920, 1144935808, 1598143744, 1227863808, 1088303872, 2069169408, 1314632960, 1706969472, 1201302656, 1092097536, 1242749824, 1379184000, 1149924480, 1445854080, 1119399296, 1396322688, 1197863936, 1612019328, 1779207936, 1139352704, 1986104192, 1191351168, 1162213632, 1859444224, 2057703936, 2079755904, 1832770560, 1125828352, 1766964992, 2144139008, 1162429056, 1478436096, 1732115328, 2115305344, 1158173312, 1112450304, 1662411264, 1808381440, 1104499328, 1332288640, 1502862336, 1388012800, 1422051328, 1626016896, 1888340480, 1303002624, 1365778944, 1692530816, 1321993600, 1596289920, 1086042752, 2073918592, 1410229760, 2064383872, 2137913472, 1691922048, 1306037248, 1229466240, 1920554496, 2128378880, 1229425152, 2122329728, 1882795904, 1250907392, 2113277696, 1394270720, 1785392384, 1268738432, 2014157696, 1156982144, 1303161856, 1425707904, 1510869120, 1989077248, 1209179904, 2125859840, 1256728320, 1367464320, 1364634880, 1325557120, 1815277440, 1188758784, 1202680192, 1631076864, 1237599488, 1290645888, 1309959936, 1073832320, 2027242112, 1523390848, 1979662336, 2041897216, 1101199104, 1169958016, 1307163008, 1271063680, 1708608768, 1519389952, 1076702720, 1970681984, 1613460352, 1712208640, 1102866560, 2033099392, 1179557248, 1325933312, 1442812160, 1147060224, 1991891968, 1082611712, 1263487104, 1959470720, 1456097408, 1637452288, 1300403712, 2045606144, 1499593728, 2079508096, 1804575744, 1073863424, 1276673152, 1671359232, 1837085952, 1436265472, 1612375424, 1371805952, 1290187776, 1163723392, 2096834048, 2095425664, 1468438272, 1132829696, 1275595520, 1291555200, 1192989952, 1839838208, 1427004544, 1671788416, 1214299392, 1130047872, 1280651008, 1400129536, 1149943040, 1126630144, 1116524416, 1090644096, 1594068864, 1274315264, 1470752384, 1879612160, 2144974080, 1819501696, 2014020224, 1151267072, 1503419392, 1235650944, 1349557376, 1430548352, 1565623040, 1714144768, 1169034368, 1360805376, 2082227968, 2099896064, 1368352512, 1115024768, 1287920768, 1452624768, 1827536384, 1152934656, 1199753216, 1303814784, 1201792384, 1153472000, 1302641280, 1228409344, 1259832832, 1209955328, 1330509952, 1946322048, 1118290560, 1629573888, 1200509568, 2049735552, 1253306112, 1151010944, 1280536704, 1381971200, 2042358656, 1745025920, 2067654016, 1264254208, 2094122240, 1589387136, 1099373568, 1148981120, 1705924480, 1365100416, 2107384576, 1200395776, 1968652416, 1412247936, 1436390784, 2102053248, 1081061760, 1720284544, 1219514112, 1125112320, 1140811776, 1248824576, 1176747648, 1875690752, 1855050368, 1531718528, 1230041344, 2000322560, 1125293184, 1630378240, 1877250176, 1983496064, 1095948928, 1579998336, 1372847488, 1142658560, 1932686720, 1943044608, 1963132032, 1907409920, 1373393664, 1992060800, 1354109440, 1260407296, 1398531584, 1362301568, 2128924160, 1797721728, 1169881472, 1782911744, 2011949568, 1229085312, 1735649536, 2016631424, 1369651712, 1110019456, 2130301312, 1090219904, 1208175872, 1320172928, 1378320640, 2094999936, 1868163840, 1327809280, 1262350848, 1179114880, 1225843968, 2114273152, 2105632640, 1896890624, 1376149376, 1298023552, 1495533824, 1578628992, 1689501312, 2057819264, 2014817280, 1120133248, 1353821824, 1432577920, 1176542976, 1209181440, 1643189120, 1612178048, 1150864000, 1312216960, 1509025280, 2053018752, 1657070592, 2077600384, 1363549952, 2137511552, 1995513856, 1859392000, 1075300736, 1202333952, 2120550016, 1619056128, 2020058880, 1283408640, 1300392320, 1341973376, 1247761664, 1940161408, 1614462592, 1399677056, 1288075520, 1239474304, 1314207360, 1167966336, 1403225600, 1171934208, 1190948864, 1341160448, 1175296896, 1389947904, 1213373056, 2016508800, 1374947200, 1140613504, 1884493440, 2075921280, 1391850240, 1418686464, 1134408064, 1199012736, 1166741632, 1909503744, 1739653504, 1449105280, 1215513088, 1607910016, 1101324544, 1180109824, 1892207104, 1286667520, 1424302464, 1463802496, 1148048512, 1529766656, 1078508288, 1643738368, 1093006208, 1200124544, 2104611712, 1239731456, 1698720000, 1081601408, 1352982784, 2135776512, 1146671616, 1216803200, 1599731968, 1363203456, 1174163328, 1348716032, 1172895232, 1135610240, 1147604992, 1912492672, 1332035456, 1422797440, 1863042432, 1937163136, 2097750784, 1290043136, 1984356352, 1126543360, 1427296896, 1907281920, 1159937280, 1425119872, 1943106560, 1309210880, 1475299456, 1579267968, 1477758336, 1294485632, 2136645504, 2141151232, 1853697920, 1136914304, 1177890816, 2056201344, 1426674432, 1294090240, 1610877568, 2023165824, 1153695360, 1796169728, 2069611648}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 24 Learned Parameters +#define CONV24_BIAS \ + {109219, -188, 251, -87, -657, 6921, -551, -12569, 6884, 66297, 84625, 157874, 441, -121, 225780, 4078, -369, 144888, 271428, 102789, 8787, 231426, 60975, -23821, -110, 43111, -404, 225127, 245800, -398, 69126, -26246, 95632, 207715, 11, 179922, 81499, 139210, -217, -1638, -145, -595, -47, 135025, 146863, 77086, 25611, 16610, 240611, 164311, -159, 12, 32602, -924, -420, -304, 77534, 168414, 116353, -122, -901, -9570, -481, -28968, 86911, -1000, -413, -4175, -210, 44431, 40439, -142, -596, -229, -475, 2045, -6, -568, 32902, -471, 173023, 5422, 86417, 128456, -11885, 84914, 133834, -9602, -428, 58, 62203, 136710, 146814, 160848, 106030, 52881, -352, -749, -51, 3506, -458, -33713, 59635, 220982, 148580, -20, 198001, 14738, -617, -1064, 252, -5120, -79, -455, 116184, 139099, 151901, 111673, -488, -554, 131559, -360, 120176, 14195, -187, -334, 182015, -11954, 19480, -366, -3049, -865, -766, -28356, 927, 11475, 174205, -340, -7300, 213129, 174967, -1011, 151069, 176971, 184234, 50146, 184101, -170, 199604, -3243, -101, -19930, 263, -92, 209695, -8957, 75, 69, -2522, 142, 87054, 52494, -810, 144350, 86342, 54310, 11295, 75075, 168840, 92225, -1766, -61789, -7765, 75155, -366, 194817, 111, 21896, 215205, -2594, 71596, 108794, 185200, 132, -4686, 85858, -3187, -245, 26189, 205297, 165584, 532, -3115, 132316, -819, -2176, -270, -125, 210783, -107, 201266, -144, -164, -399, -507, 80049, 147938, -1356, 182429, 153179, -223, 51160, 215087, 12022, 194348, -126, 61624, -302, 112317, -664, 180611, 74363, 195, -20178, -239, 20, 1198, 216926, 203174, -16337, 110812, -341, 426, 176453, 125478, 102785, -7940, 150848, 1843, -703, 161127, 208758, -29626, -13005, 101958, -9856, 112128, 190283, -252, -272, -498, 63424, -653, 165765, 24658, 113923, 76815, 902, 168659, -326, -418, 119038, -567, 182270, 130066, 192117, -878, 788, -457, 8689, 87435, -1735, 9252, -326, 17, 127817, 509, 87810, 218328, 9447, -9617, 113657, -405, -271, 57029, 69046, -40, 72426, 56761, -1034, 19223, -45, 53993, -509, 100067, 268842, -437, 92375, 92044, 221236, 242775, -420, -760, 183035, 101011, -487, -1223, 209568, 170066, -14856, 213, 134944, -658, -26358, 128669, 28621, -390, -5574, -374, 169550, -397, 8579, 171916, 69299, 77706, -147, 119658, -22109, 3314, -19151, 249071, -549, -570, 5225, 209928, -20933, -537, 119, 126, 162712, -1767, -553, -604, 138141, 49039, 2310, -559, -735, -142, 168117, 92495, 68029, -290, 285, 49308, -434, 179944, -10761, 3460, 78522, 4703, -2871, -48, 108913, -852, 96441, 77130, -196, -1122, 105004, 74196, 100078, 134262, -35360, 285680, -891, -570, 117023, -695, -92990, -14856, 248750, 189141, -746, 87638, -467, 1106, -499, 201967, -5911, -427, -667, 100889, 114031, 71909, -152, -417, -219, 173865, 146299, -11678, 61162, 49079, -78, 8791, -3256, 22, 189018, 120300, 115300, -539, -141, -4322, -1008, 1340, -2109, -913, 1837, 174457, -1080, 191392, -369, -466, 190300, 165256, 32529, 217157, 94716, 172163, 44708, -553, 138762, 85976, 158603, -358, 127505, 215558, -309, -277, -640, 161006, -5117, -606, 248557, 2781, -2057, 161251, 115107, 106678, 123761, 12889, -26202, -642, -890, 85, -648, -463, -444, -333, -377, -3932, -563, 90767, -150, 776, 257882, -950, 121199, -328, -923, -450, -72838, 159523, -1231, -22645, -168, 234502, -106, -851, -133, -271, 36703, 277016, -235, 115, -1226, 56039, 48813, 66378, -230, 2405, 97604, -18388, 157436, -395, -421, 207116, 52119, -37, -116, 116094, 7779, -92, 195456, 345, 252143, 120239, 171927, 107923, 161402, -5738, -848} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {-360, 80, -129, 128, 83, -120, 69, 197, 12, -284, -400, -518, 88, 146, -458, -84, 79, -413, -407, -366, 40, -478, -269, 70, 39, -178, 93, -448, -394, 86, -269, 153, -309, -352, 189, -361, -453, -325, 84, 132, 108, 59, 69, -331, -424, -577, -108, -123, -398, -317, 111, 124, -172, 81, 119, 116, -325, -355, -656, 53, 156, -58, 80, 156, -418, 111, 112, -124, 84, -377, -174, 62, 164, 75, 82, 118, 73, 118, -181, 87, -411, 41, -278, -365, 178, -409, -526, 51, 98, 121, -280, -387, -348, -300, -375, -361, 79, 78, 106, 113, 75, 131, -276, -419, -488, 140, -392, -128, 112, 72, 100, 171, 122, 101, -526, -367, -346, -337, 109, 109, -348, 141, -306, -136, 107, 83, -433, 110, -52, 118, 113, 105, 70, 249, -147, -145, -297, 72, -120, -433, -385, 82, -520, -449, -400, -160, -345, 154, -359, 93, 89, -51, 82, 83, -441, 176, 105, 61, 90, 84, -396, -234, 72, -311, -472, -162, -130, -343, -356, -235, 83, 304, 144, -355, -97, -427, 92, -144, -345, 100, -281, -485, -386, 160, 125, -516, 174, 97, -243, -387, -504, -133, 75, -460, 112, 143, 92, 120, -370, 131, -448, 51, 112, 63, 90, -404, -415, 116, -434, -361, 49, -413, -376, 121, -476, 83, -369, 143, -351, 165, -542, -342, 45, -12, 131, 161, 63, -360, -444, 152, -472, 72, 111, -558, -391, -394, -94, -454, 77, 183, -350, -389, 226, 121, -398, 70, -365, -485, 76, 69, 75, -208, 150, -464, -116, -463, -467, 80, -449, 77, 113, -400, 120, -593, -376, -408, 108, 66, 53, -116, -402, 110, -142, 112, 78, -291, 71, -395, -487, -132, 71, -489, 56, 111, -261, -299, -143, -263, -488, 114, -136, 48, -267, 96, -465, -540, 85, -315, -448, -432, -572, 83, 91, -381, -412, 113, 120, -361, -410, 220, 84, -550, 94, 258, -350, -156, 120, 193, 175, -400, 75, -168, -462, -273, -302, 83, -384, -20, 87, -96, -460, 154, 44, 62, -428, 194, 153, 126, -134, -395, 79, 88, 98, -402, 114, 143, 95, 86, 127, -328, -319, -295, 68, 78, -219, 63, -340, -83, 69, -327, 65, 107, 122, -403, 134, -530, -274, 84, 99, -327, -311, -339, -495, -45, -445, 164, 125, -355, 88, 359, -55, -384, -415, 56, -321, 117, 153, 160, -510, -117, 126, 49, -332, -386, -403, 81, 127, 113, -355, -399, 108, -376, -356, 114, 83, 146, 126, -430, -310, -487, 90, 129, -133, 94, 125, 129, 99, -131, -451, 93, -344, 75, 106, -399, -482, -161, -428, -608, -285, -467, 123, -373, -463, -439, 75, -533, -389, 118, 85, 117, -405, 84, 95, -452, 87, 92, -381, -485, -390, -324, -98, 106, 81, 116, 126, 117, 125, 114, 124, 103, 94, 89, -410, 99, 95, -467, 86, -365, 132, 102, 142, 49, -375, 176, 62, 207, -437, 89, 74, 110, 115, -169, -395, 65, 111, 117, -425, -412, -300, 72, -122, -362, 319, -351, 80, 90, -605, -455, 78, 111, -386, 63, 174, -423, 116, -550, -482, -358, -344, -458, 133, 83}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {1201068928, 2138140928, 2072555520, 1914656256, 1627689344, 1394370560, 1700917376, 1248501120, 1740512128, 1141565440, 1077537664, 1588004224, 1669918976, 1356557440, 1835117312, 1646617856, 1604196736, 1103741440, 1173589632, 1910884480, 1841488640, 1789897984, 1116114816, 1902655104, 2042974080, 1256638976, 1508955392, 1631858304, 1511876992, 1465285504, 1785800192, 1468114432, 1119753728, 2072152448, 1206599296, 1969263488, 2125861760, 1132372480, 1927494656, 1353844096, 1109273088, 1293569536, 1077634816, 1358539648, 1955542272, 1186142080, 1304097408, 1659538432, 1509095296, 1740008192, 1256064896, 1474582016, 1289904640, 1959742464, 1402206720, 1585341056, 1351776256, 1347990016, 1680665216, 1948728192, 1821568128, 1663804544, 1445260928, 1275022592, 2006331776, 1721507072, 1245771648, 1106276096, 1759835392, 1147857280, 1906521216, 1385169152, 1776844672, 1593403648, 1290436736, 1106423296, 1760541696, 1321509120, 1079592448, 1303869440, 1452429440, 1727577856, 1729286912, 1688088192, 1737060736, 1109719808, 1483304320, 1194918784, 1351887360, 1281455104, 2029074944, 1947075840, 1312287616, 2057190400, 1112361472, 1682276992, 1562656768, 1540865152, 1761903872, 1370315264, 2044961664, 1104930304, 1121906176, 1417182848, 1922104832, 1439550976, 2067080192, 1292225152, 1313614592, 1678276224, 1210951552, 1710064640, 1395602688, 1309826560, 1661531264, 2103788288, 1241205248, 2029308416, 1500257152, 1452625408, 1223141504, 1116760448, 1344973568, 1437444096, 1441721728, 1262683392, 1139703552, 1832154240, 1645778304, 1442486528, 2054434304, 1140325376, 1369441920, 1140069888, 1874508416, 1227225472, 1080539264, 1607748736, 1431883520, 2127677568, 1154466560, 1308344832, 1493473152, 1201704576, 2093998848, 1909873536, 1804548352, 1346108288, 1098187392, 1319174528, 1534645376, 1097136256, 1720784768, 1367704576, 1848701952, 2008238976, 1457848832, 1619223680, 1501295232, 1433485440, 1948441472, 1385297536, 1545531008, 1315992832, 2053248896, 1169774080, 1200694400, 1353178496, 1082922112, 2103140224, 1572587392, 1420011136, 1958386688, 1082545408, 1084008192, 1879875584, 1947799680, 1381998208, 1857700608, 1591701504, 1675206912, 1876578048, 1818275072, 1436717184, 1364463104, 1935215744, 2129580288, 1134753152, 1634510720, 1741089024, 2074100352, 1357079936, 1291366144, 1452161024, 1378965248, 1514889216, 1231681024, 1675772032, 1680511360, 1675901056, 2143117440, 1705060864, 2085578240, 1141382400, 1708145792, 1222228096, 1714976384, 1242499072, 2144208512, 2042599680, 1824530176, 1595327360, 1798048640, 1412558976, 1523926400, 1489488000, 1413762048, 1863366528, 1386085632, 1204240640, 1182487680, 1673922432, 1908977792, 1897422976, 1609891712, 1188288768, 1218551680, 1776456064, 1789635584, 2097735552, 1622232576, 1706466944, 1384452608, 1291859712, 1076799744, 1098157440, 1650653056, 1341944960, 1499029632, 1505352320, 1345189120, 1769378432, 1310685824, 2117634304, 1906606848, 1479230336, 1262464000, 1285226624, 1718825984, 1620987392, 1185950464, 1838745856, 2095945344, 1114012928, 2036632192, 2147255552, 1107777024, 1144064128, 1608546048, 1448902528, 1850049280, 1898063872, 1988167936, 1139921536, 1281877504, 1270535296, 1223401088, 1181075712, 1328801664, 1272518272, 1373977344, 1087747584, 1772599680, 1376244096, 1332970240, 1546940416, 1213964288, 1152969344, 1308420352, 1695517824, 1347982208, 2092777088, 1470200448, 1327280256, 1302690944, 1083712896, 1685956352, 1401648896, 1753590784, 1891926016, 1189691776, 1468260864, 1317654528, 1207904896, 1136254592, 1464496768, 1483507840, 2068089344, 1114759680, 2105754880, 1092312192, 1325454464, 1112172928, 1923731072, 1941272320, 1317188864, 1369533312, 1936692608, 1585392512, 1934177536, 1297717504, 1488329088, 1124455808, 1260419712, 1603884288, 1402839552, 1151980800, 1605412096, 2072434816, 1143807360, 1737618688, 1433051520, 1276273024, 1868344448, 1376489728, 1919291520, 1767035648, 1221108608, 1367745792, 2010477312, 1149513088, 1169396480, 1274012160, 1345705728, 2001817216, 1241970048, 1455078272, 1575047296, 1568402176, 1797545600, 1166178176, 1413571200, 1409200384, 1320954752, 1946285440, 1931433088, 1192050304, 2038164992, 1195474304, 1174969856, 2080224896, 1590698624, 1514721792, 1441904128, 1134474624, 1678210688, 1943983488, 2024535936, 1286508288, 1445034880, 1115184384, 1889716352, 1393625344, 1827301632, 1113853568, 2038218112, 1201817600, 1183473152, 1230007936, 2008601472, 1949794304, 1992868352, 1722146304, 1382538240, 1366932224, 1544858624, 1636269440, 1379154560, 1197166208, 1175140992, 1086272384, 1583407232, 2127658752, 1754933760, 1925882752, 1179594240, 1283265536, 1109124480, 1711087744, 1402398464, 1118660608, 1323207808, 1455342336, 1688715776, 1386120832, 1539365632, 1649163776, 1496696064, 1325411840, 1631126400, 2099581184, 1401921024, 1823058432, 1758075392, 1825073408, 1454450432, 1142659328, 1580044928, 1082401664, 1667322496, 1430267648, 1454986112, 1613043456, 1265670272, 1135918720, 1370651520, 2123455488, 1784003712, 2051509504, 1164052992, 1919464192, 1561178496, 1237888896, 1827016832, 1272734464, 1341025280, 1907981184, 1084013440, 1160045056, 1692047616, 1230839168, 1128958720, 1084837120, 1434416384, 1211970304, 1416393984, 1320012416, 1368034432, 1643716864, 1160417664, 1814041088, 1311919360, 1353283072, 1483730304, 2128075904, 2048033536, 1279884160, 1956779008, 2131179776, 1314173056, 1904115456, 1550345728, 1077403776, 1255769472, 1853082240, 1356104832, 1544366336, 1421361664, 1343148032, 1292258688, 1244760448, 1302708096, 1998615040, 1115458560, 1203216384, 1383042048, 1795847936, 1893490432, 1475247488, 2109006080, 1393584000, 1098308992, 1220396672, 1687720320, 1212250624, 1641304448, 1761986048, 1474282240, 1332395392, 1701757312, 1407634560, 1250417408, 1524589952, 1866192640, 1129868032, 1577150848, 1438132224, 1984230784, 1510012672, 1527601280, 1105995392, 1367171200, 2094821120, 1097958912, 1586034432, 1316397440, 2080196224, 1454997760, 1711749888, 2043762048, 1103330304, 1493099904, 1266716672, 1933053056, 1299826688, 1181623808, 2093791616, 1694229888, 1118041984, 2069619584, 1128197888, 1303249024}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 25 Learned Parameters +#define CONV25_BIAS \ + {-454, -4063, 411, -57, 739, -1732, -3576, -2070, -1792, -360, 692, -1062, -432, -638, -346, -188, -2461, -2171, 2396, -166, -3347, -2066, -549, -104, -1844, -1992, -1506, -526, -1349, 106, -2969, 2675, -657, -2679, -1476, -2111, -3250, -1063, -1768, -1136, -200, -1900, 300, 402, -713, 1028, -687, -458, 1356, -625, -300, 1750, 295, 7, -1531, 757, 187, -1033, -354, 1798, -1913, 648, -1801, -1695, -818, -122, 410, -1359, -2109, -1257, -6007, 974, -730, 762, 146, -1265, -1960, 513, -222, -424, 178, 314, -545, -1790, 1080, -1629, -1588, -126, -884, -1906, -1079, -1275, -1907, 540, 388, 1903, -2290, -3751, -1452, -4288, 251, -1362, -497, 1164, 369, -1164, 1214, -762, -924, -147, 808, -697, 393, -1760, -242, -530, -1661, -3687, -2261, 2227, 302, -761, 900, 1330, -1770, -216, 2406, 893, -4092, -2537, 863, 439, 480, -68, -2065, -368, 552, -2086, 1483, 3134, -592, -69, 678, -563, -1555, 163, -141, 1383, -2854, -1159, 728, -445, -1224, 786, 731, -4368, 466, -3764, 871, -201, -277, -2184, -1364, -443, -495, -747, 892, 2388, 2348, 448, -2585, 1299, 1388, 1220, -1549, 23, -1977, -40, -464, -1483, 887, 347, 1772, 367, 377, -1036, -1198, -1310, 1435, 2554, -282, -4519, 718, -537, -1752, 3328, 2295, -444, -2653, -2710, -2483, -276, 1953, 1570, -1414, 954, -2153, 346, -853, -2953, -604, -428, -2791, 1639, -4332, -555, 1316, -819, -223, -3851, 896, -5703, 128, 580, 1527, 787, -3920, -2081, -441, 38, -1178, -1039, -2198, 802, -1354, 3430, -147, -1652, -1339, 947, 298, -2290, 52, 654, -2359, 1257, -195, -1217, 424, -3236, -1419, -551, 1124, 1047, 232, -1084, -136, -1460, -2452, 2924, -1352, -2045, -2538, -2258, -3567, -856, 2207, 217, 2599, 190, -1739, -1738, -1651, 15, -1489, -2658, -367, 1371, -408, -560, -501, -209, -1335, -3391, -269, 2556, -718, -1437, -3077, -505, 800, -2318, 92, -176, 107, 858, 387, 491, 950, 679, 832, 145, -2907, -1316, 293, -3446, -1945, 32, 1491, -1745, -341, -2310, -4563, 137, -850, -711, -530, -583, 2524, 43, -2158, -151, -275, 1283, -2733, -1995, -3295, -1190, -590, -672, 156, -1141, -1637, 403, 1374, -2656, 662, 1427, -927, -1325, -4672, 1513, -1353, -883, -2151, -1568, 363, -563, -2101, -998, -707, -2229, -2164, 1654, 897, -2682, -2477, -961, -1756, 1495, -3126, -2070, -573, -2744, -913, -693, -871, -566, -84, -288, -2031, -2730, -495, -2780, 647, 1382, 2987, -1619, -908, 1079, -1888, -3950, -1468, 513, -1515, 467, 1925, 207, 1763, 682, 492, 1356, -2315, 1656, -229, 575, -1619, -3214, -786, -132, 453, -494, -1060, 508, 2895, -308, 1422, -2590, 1139, -2304, -331, -1563, -415, 1699, 141, -537, 394, 590, 1101, 1286, -1781, 901, 1290, -3146, -852, -1271, -308, 168, 534, 734, 482, -309, 156, 2094, -2020, -84, -3075, 326, 628, 426, -1163, -2352, -1498, -4876, 1372, -1969, -1272, -3122, -478, -3122, 2984, 438, -546, 979, -2057, 442, -364, -3570, -746, -2896, 1467, -1160, -37, -2923, -1235, -2364, 680, -1108, 418, -2748, -2354, -457, -91, 351, -1424, 371, 2019, 784, 463, -2612, -3653, -210, -1309, -2883, -13, -858, -2175, 603, 647, 934, 827, 967, -2462, 138, -1113, -988, -67, 1008, -128, -2737, -2198, 50, -2994, -981, 374, 103, -855, -414, 658, -2722, -1675, -3570, -1923, 331, 3143, -625, -908, -830, -1690, 117, -1660, -1493, -389, -1079, -2674, 1143, -1114, -2499, -821, -851, 1841, -361, -579, -1061, -850, -2908, -786, -2091, -3010, 861, 370, -1769, -3279, -1608, -2069, -637, -1954, 403, -879, -2553, -2775, 249, -777, 655, -2873, 215, 499, -1438, 134, -1108, 2277, -13, -584, 1428, 118, -1558, -1491, -1109, 981, -2128, -1260, -1162, -111, -1198, 199, 616, -1411, -985, 771, -2047, -381, -1200, 592, -2144, -355, -4028, -990, -404, -1237, -297, -546, -391, -1708, 4323, 1028, -2299, 626, -3863, -1783, -1021, -918, -412, 128, -112, 221, -2883, 1047, -1873, 1218, 1626, 297, -2743, 650, -1362, -831, 712, -1997, -231, -1597, -431, -2305, -184, 709, -230, 3218, -2146, 22, -729, -3111, -310, -765, 1316, 832, -1385, -901, -3004, 2613, -2729, -449, -521, -1435, 1730, 743, -862, -1781, -1314, -621, 955, -3379, -2277, -2037, 810, -1689, -1005, -1260, 591, -1563, 702, -103, 174, -1802, -2558, 691, -8, -2249, 783, -1953, -2695, -2411, 499, 576, -775, -1700, -3489, 88, 2488, 1436, 1110, 278, -2492, -1193, 144, 275, -1574, -240, -866, 622, -429, 648, -14, -3550, -317, 1796, 353, 299, -3431, 1432, -1242, 2461, 2187, 675, -1310, 1399, 196, -1484, 1159, -264, -271, 112, -46, 204, -270, 2312, -103, 1976, 1973, -137, -2599, 580, 642, 285, -1301, -433, -820, 1656, -1694, 407, 1056, 25, 1635, -2084, -2370, -425, -2014, -19, -483, -211, 640, -2288, -465, -3717, 1562, -1808, -1305, -2677, -3148, -1181, 1952, 1039, 430, -259, 1863, 464, -272, -1074, -1023, -2630, -1106, -1122, -3452, 369, -747, 2467, -3648, -1329, -2060, -1342, 11, -1073, 169, -1945, -458, 6156, 2143, 117, -920, -1308, -1705, -1217, 525, -2142, 323, -2541, -1251, -2409, -3040, -4404, -981, 408, -2954, 834, 252, -1761, -1971, 27, -1633, -1807, -1321, 321, -2118, 25, -467, 13, 256, -74, 818, -60, -2234, -1382, -1773, 3032, -2360, 1547, -936, -117, -366, 132, 2033, -329, 1709, -958, -90, -502, 539, -403, -1215, -1477, -1829, -638, -3559, 1528, -548, 899, 1265, 124, -1293, 343, -982, 195, -3492, -4662, 2408, -1649, 2201, 390, 985, 1675, 320, 771, 255, -272, -3772, -1745, 1546, 841, -522, 139, -1125, -2734, -2201, 427, -374, -733, -1140, 700, 1077, -942, -1444, -483, -2860, -1191, 1462, -3319, -1007, 27, -2718, 2057, 4687, 1663, 532, -5157, -208, 319, 1456, 1778, -1228, 487, 845, -490, -1006, -1733, -2025, -1000, -51, 1679, -1065, -5105, -1993, -817, -1105, 1968, 882, -882, -2991, -538, 4, -1925, 12, -422, 140, -1312, -1032, -564, -340, -500, 848, -1544, -1483, -1240, -1180, -788, 350, -2007, 1244, -3458, -3799, -3499, 949, 1320, 2195, 95, 1018, -1142, -148, -3684, -2370, -2956, 1214, -1064, 1679, 976, -1420, 2328, 445, 920, 453, -4448, -1410, -1581, 1196, -2280, -1141, 752, 656, -1560, -1999, 74, -792, 1851, 1250, -2930, -4083, 1230, 835, -1172, 1462, -1297, -3193, 3534, 688, 2270, 312, -3553, -2548, -97, -340, 1445, -2427, 497, -433, 551, -1833, 87, -4012, 960, -3736, -198, -1048, -3536, -69, 1026, -503, -450, -1371, -1351, -3601, -584, -3430, -15, -3480, 3338, 651, 557, -1035, 348, 498, -2859, 1479, -874, 230, -1892, 1395, -1387, -2041, -2916, -2135, -541, -1515, 1087, 935, 610, -25, 244, 2277} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-9, -7, -8, -10, -8, -7, -8, -8, -7, -5, -8, -7, -9, -7, -7, -8, -7, -8, -8, -8, -7, -7, -9, -8, -11, -8, -9, -8, -8, -7, -8, -6, -5, -8, -6, -8, -8, -8, -10, -7, -3, -8, -8, -9, -10, -7, -8, -8, -8, -8, -9, -7, -8, -6, -9, -6, -8, -9, -7, -8, -8, -9, -8, -10, -8, -7, -7, -7, -7, -9, -7, -9, -6, -8, -7, -7, -8, -8, -7, -6, -6, -9, -6, -5, -7, -8, -8, -7, -6, -8, -7, -9, -7, -6, -7, -7, -10, -7, -7, -6, -8, -8, -10, -8, -8, -8, -8, -8, -6, -6, -8, -7, -9, -8, -8, -7, -8, -8, -8, -9, -6, -8, -7, -7, -8, -7, -8, -7, -7, -6, -7, -7, -7, -7, -8, -8, -7, -9, -6, -8, -7, -7, -6, -10, -7, -8, -7, -6, -7, -7, -7, -8, -8, -7, -8, -8, -8, -8, -5, -8, -8, -8, -8, -8, -7, -9, -6, -6, -6, -5, -8, -6, -9, -8, -9, -6, -9, -8, -8, -8, -8, -7, -8, -3, -7, -6, -9, -7, -7, -10, -8, -7, -8, -6, -7, -7, -9, -8, -8, -9, -8, -7, -7, -8, -9, -9, -6, -8, -9, -8, -7, -8, -9, -7, -8, -8, -6, -8, -6, -9, -8, -7, -9, -8, -8, -7, -7, -6, -5, -8, -8, -6, -10, -8, -7, -8, -8, -9, -7, -11, -7, -8, -7, -6, -9, -7, -7, -9, -9, -8, -7, -4, -7, -6, -8, -8, -7, -8, -9, -8, -8, -8, -9, -9, -8, -7, -9, -6, -8, -5, -9, -9, -8, -5, -8, -6, -7, -6, -7, -6, -11, -8, -8, -7, -10, -8, -9, -8, -7, -8, -7, -8, -7, -9, -8, -7, -8, -8, -6, -7, -7, -8, -8, -8, -10, -7, -8, -8, -7, -8, -8, -8, -7, -6, -11, -7, -7, -7, -7, -8, -8, -7, -7, -7, -9, -9, -7, -8, -8, -8, -6, -8, -7, -8, -8, -8, -8, -8, -5, -7, -8, -6, -8, -9, -7, -10, -7, -7, -8, -8, -8, -7, -7, -8, -6, -8, -8, -7, -8, -7, -9, -7, -7, -8, -6, -8, -8, -8, -8, -7, -9, -8, -7, -7, -9, -6, -7, -8, -8, -7, -8, -7, -10, -8, -7, -7, -9, -6, -8, -7, -6, -7, -8, -8, -6, -8, -10, -8, -8, -7, -7, -9, -9, -6, -8, -8, -7, -8, -8, -6, -5, -7, -10, -8, -6, -8, -6, -7, -7, -7, -7, -6, -7, -7, -6, -8, -6, -9, -9, -6, -7, -2, -7, -7, -8, -8, -9, -6, -9, -6, -8, -7, -8, -8, -8, -10, -5, -8, -6, -8, -7, -12, -7, -7, -7, -7, -8, -7, -8, -8, -9, -8, -11, -7, -7, -8, -5, -7, -6, -8, -7, -7, -9, -7, -8, -10, -6, -7, -6, -8, -7, -6, -6, -8, -8, -6, -6, -6, -9, -7, -7, -8, -7, -7, -7, -8, -5, -6, -8, -7, -8, -9, -7, -8, -7, -7, -8, -8, -8, -8, -8, -8, -7, -7, -8, -9, -7, -6, -7, -7, -8, -9, -8, -7, -7, -7, -8, -8, -7, -8, -8, -8, -5, -10, -7, -8, -8, -8, -7, -7, -4, -8, -9, -8, -9, -8, -9, -7, -8, -7, -10, -8, -7, -6, -10, -6, -8, -7, -8, -6, -7, -8, -8, -7, -7, -7, -9, -8, -8, -8, -7, -7, -8, -8, -9, -6, -8, -7, -8, -5, -9, -8, -11, -8, -8, -8, -5, -8, -8, -8, -4, -6, -9, -8, -9, -8, -6, -8, -4, -7, -6, -8, -8, -7, -8, -7, -8, -9, -8, -8, -7, -8, -6, -8, -5, -9, -7, -8, -7, -7, -8, -8, -7, -8, -8, -8, -8, -11, -8, -7, -7, -9, -6, -10, -9, -10, -8, -9, -8, -8, -8, -8, -6, -6, -7, -8, -6, -9, -8, -9, -8, -6, -6, -9, -7, -7, -8, -7, -7, -8, -8, -9, -8, -8, -8, -6, -7, -7, -7, -10, -9, -9, -9, -7, -6, -8, -6, -8, -6, -7, -7, -8, -5, -8, -7, -7, -6, -9, -9, -8, -8, -7, -8, -8, -8, -8, -8, -8, -9, -9, -10, -7, -8, -9, -10, -7, -10, -8, -8, -8, -8, -7, -7, -9, -8, -7, -5, -8, -8, -8, -8, -5, -8, -7, -8, -7, -6, -9, -6, -7, -7, -8, -8, -8, -9, -7, -8, -9, -8, -7, -7, -8, -7, -8, -7, -8, -6, -8, -7, -7, -8, -7, -8, -8, -8, -8, -9, -8, -7, -7, -6, -9, -8, -9, -7, -8, -6, -4, -6, -7, -8, -8, -7, -7, -6, -9, -9, -9, -9, -7, -7, -6, -6, -9, -9, -7, -8, -8, -7, -9, -6, -8, -8, -8, -7, -8, -7, -8, -6, -7, -7, -8, -10, -9, -8, -8, -7, -9, -8, -8, -8, -6, -8, -8, -8, -8, -7, -9, -8, -8, -7, -5, -8, -8, -7, -7, -8, -7, -9, -9, -6, -5, -7, -6, -8, -8, -8, -8, -7, -8, -9, -7, -8, -7, -7, -7, -7, -6, -5, -6, -6, -7, -8, -5, -7, -10, -7, -6, -5, -11, -7, -5, -9, -9, -7, -8, -8, -9, -8, -7, -8, -7, -7, -9, -6, -10, -5, -8, -7, -6, -9, -8, -7, -8, -6, -6, -7, -7, -5, -5, -9, -8, -6, -7, -7, -8, -8, -8, -4, -8, -7, -7, -9, -8, -7, -7, -7, -6, -9, -6, -6, -10, -8, -8, -9, -9, -7, -9, -7, -8, -9, -9, -6, -8, -8, -8, -9, -6, -7, -8, -8, -7, -8, -7, -8, -9, -10, -7, -8, -8, -5, -8, -8, -9, -6, -7, -8, -10, -9, -8, -8, -5, -6, -7, -7, -7, -7, -9, -7, -7, -9, -8, -8, -8, -7, -8, -7, -8, -8, -7, -9, -9, -9, -8, -7, -7, -8, -9, -7, -6, -6, -8, -6, -7, -6, -8, -7, -8, -8, -5, -6, -6, -7, -10, -6, -7, -8, -8, -7, -9, -8, -8, -8, -9, -7, -8, -9, -6, -7, -8, -7, -8, -8, -8, -8, -7, -7, -8, -7, -7, -7, -3, -6, -6}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1143009024, 2145486336, 2107720448, 1110782464, 1145060224, 1231587456, 1274702720, 1314666112, 2007093632, 1182207744, 1472441728, 1154050944, 1220697728, 2031370880, 1791009152, 1725739392, 1812653952, 1122556032, 1720121088, 1238881664, 1139749504, 1208681216, 1873756544, 1890108416, 1591989760, 1637775616, 1473906688, 2129362432, 1736676992, 2017092992, 1500360704, 1164648448, 1517756544, 2012985216, 1385166592, 1891447936, 1911039232, 2020949888, 1213148928, 1885937408, 1134000640, 1915270272, 1840573312, 1975530496, 1860753280, 1866689920, 1897894144, 1653157888, 1526046080, 1356218880, 1819281152, 1715833728, 1109732864, 1134521856, 1097648000, 1769415552, 1864722432, 2109061888, 1727108736, 1669063808, 1772535168, 1881976448, 1803606912, 1412073344, 1564293888, 1140785920, 1806958080, 2019267456, 1722134400, 2019926016, 2138189568, 1554432640, 1947148928, 1942850176, 1188914944, 1586601216, 1171470080, 1089046528, 1314400640, 1931005568, 1508146560, 1206875008, 1096065920, 1107475072, 1965241600, 1891844096, 1345240576, 1908194944, 1506406528, 1912861312, 1614314240, 1129187584, 1746644992, 1332235520, 1463637248, 1794322560, 2102969728, 1996653696, 1347405440, 1411249152, 1426419072, 1152751360, 1963226112, 1100711808, 1407845888, 1226286336, 1262649600, 1653835264, 2013417728, 1806833920, 1581898752, 2103456000, 1816071040, 1818764672, 1298050688, 2092784768, 1089262080, 2078456960, 2147366144, 1166290048, 1118583680, 1699323264, 1546169472, 1768530688, 1144329472, 1539205376, 1975443328, 1860096640, 1325681408, 1552324864, 1086560640, 1794047616, 1878695424, 1168601344, 2131321472, 1851099136, 1966449024, 2128978944, 2055396352, 1695581824, 1133050368, 1698848512, 1924674048, 1393442816, 1688417920, 1711588608, 1803782656, 1636935552, 2036719104, 2103901568, 1227136896, 1892543360, 1452199296, 1868752128, 1225384064, 1921583488, 1389258112, 1627011456, 1374842240, 1292450816, 2027742208, 1084151040, 1209633792, 1944915712, 1679845376, 1216021376, 1618738176, 1550861824, 1765712768, 1438080768, 2048437248, 1909021824, 1220889728, 1456277248, 1117686016, 1165151744, 1686230272, 1381553280, 1481577728, 1158750848, 1321452416, 1498042752, 1252125312, 2009327488, 2032152064, 1722223360, 2099282176, 1175839872, 1473508736, 1353662592, 1536962048, 2126664704, 1097849728, 1361985664, 1720522752, 1549316864, 2057105408, 1216118528, 2089662336, 2010355328, 1667944960, 1823391872, 2079161856, 1907492096, 1226817024, 1675626496, 1486165120, 1554294272, 1138509312, 1855565056, 2113586432, 1475666432, 1474394240, 1376694016, 1190224896, 1264959616, 2046098560, 1827974016, 1843041152, 2123353600, 1962856576, 2029448192, 1184438528, 2088939648, 1494743296, 1260333824, 1087612288, 1138022400, 1470783616, 1225617024, 1855812992, 2031640320, 1857766272, 1950165376, 1878361728, 1880561536, 1103602816, 1246775424, 1712328832, 1128120960, 1503302016, 1391569920, 1956112512, 2136112384, 1329047040, 1111585152, 1853085312, 1523886464, 1592915584, 1757454976, 1213392512, 1539458944, 1387117440, 1500135808, 1630618624, 1503366144, 1858820608, 1742263680, 1829580288, 1419719296, 1733386496, 1747513216, 2001488512, 1172297600, 1474533888, 2140978944, 1686081664, 2024437248, 1421282176, 1569115264, 1219568768, 1848859392, 1852809856, 1277990912, 1108852736, 2061504640, 1297649792, 1383799040, 1647283328, 1785213312, 1907278592, 1593187584, 1809635840, 1735298560, 1782159616, 1761291520, 2005549952, 1650012928, 2068477568, 1280377344, 1351252864, 1833836800, 1697409152, 1376014208, 2046815744, 1310934272, 1569562368, 1854990976, 1872174720, 1586632960, 1739333376, 1911143424, 1314452736, 1896312064, 2054190336, 1827672704, 1644719104, 1621543296, 1336093824, 1090511744, 1370701312, 1319048832, 1074090496, 1703655296, 1908765824, 1947482240, 1156104960, 1125445632, 1209656192, 1512636032, 1372901376, 1816135296, 1329788672, 1583864960, 1224206080, 2015332864, 1918151168, 1102198016, 1750103552, 1125135104, 1103214976, 1693026816, 1183988736, 1226149760, 1577007104, 1829470336, 1775722624, 1710284800, 2144773888, 1137716224, 2068697984, 1851441664, 1527286528, 1383329408, 1151578752, 1151212928, 1958358912, 1506345856, 1661911680, 1249095552, 1840955648, 2024064768, 2009925504, 1470326144, 1511664896, 1204434688, 2031017728, 2097983872, 1839857408, 2042668928, 1966488960, 1484689664, 2098349440, 1391842304, 1314579072, 1937261568, 1829582976, 1395502720, 2005966592, 1717147520, 1566789760, 1805426176, 1198113920, 1812171520, 1387384064, 1257520256, 1529756160, 1287278464, 1799742464, 1246121600, 1319176448, 1318323840, 1793909376, 1077011328, 1573382272, 1364454784, 1535288448, 1225516288, 1980240768, 1119418752, 1614989056, 1156129920, 1961235200, 1343933568, 1711828096, 1197629824, 1690153856, 1274318464, 1576785792, 1509873280, 1595674496, 1526236032, 1084050432, 1476374272, 1404496768, 1436320384, 1872602112, 1323527552, 1438206976, 1853824896, 1931933056, 1850092800, 2123396992, 1177358592, 2056452864, 1169010048, 1815888128, 1165475840, 1357216128, 1319487744, 1157849600, 1257905536, 1578740352, 2035128704, 1757411456, 1528550912, 1615576320, 1679788544, 1328039808, 1106574848, 1099629824, 2030934272, 1251317120, 1860969984, 1195381632, 1359092864, 1284760192, 1468770816, 1324615808, 1330094464, 1191497856, 1308135808, 1801129728, 1533369472, 1647062272, 1628001152, 2084980864, 1602621824, 1206285568, 2144855168, 1259860736, 1414745728, 1575745536, 1772347264, 1309090048, 1907016192, 1299371520, 2079973248, 1987946752, 2067438976, 1594077568, 1591315456, 1506716672, 1829898880, 1909129088, 2004538880, 1861984256, 1324070400, 1694249216, 1076175232, 1515877120, 2070453376, 1186820736, 1285761024, 1624090496, 1806049280, 2115957504, 1089803136, 1928511360, 1153100032, 1325319168, 1953617024, 1947414144, 2018095232, 1203437568, 2039852544, 1204199168, 1828889216, 1439697664, 1202054144, 1402078336, 1493403008, 1136948608, 1792261376, 2123725440, 1604003712, 1509275264, 1839042304, 1983326208, 1940671872, 1090949760, 2142018816, 2028531968, 2000852736, 1380744192, 1920560512, 1357493376, 1333409152, 1104824960, 1250346624, 1985088768, 2134101120, 2014349952, 1229485952, 1241814272, 1992510336, 1856776832, 1865188096, 1178614656, 1287893504, 1250323456, 1660930688, 1344870912, 2047942912, 1156701824, 1735599616, 1113165568, 1181500928, 2143698304, 1342630144, 1997028608, 1743966208, 1231102720, 1839295616, 1561127168, 1512897280, 1629960832, 1385929472, 1945204864, 1852496384, 1755472384, 1940558336, 1424633728, 1077316224, 1805747328, 2137349376, 1209783424, 1563239424, 1380216448, 1271710080, 1684058752, 2097263744, 1553205376, 1980036992, 1627309696, 1718898176, 1557554560, 2081417088, 1307075968, 1532449792, 1274092160, 1670803072, 1558136704, 1998894464, 1616550784, 2012464000, 1240569216, 1877225984, 1623453696, 2036201728, 1838989568, 1193876992, 1703124992, 1319103872, 1223882112, 1763480064, 1156012544, 1562365440, 1494328960, 1209420544, 1967876352, 1980253440, 1092514560, 1769886976, 1458261120, 1622359808, 2127353728, 1803017728, 1202434688, 1095903360, 1543969664, 1352600064, 1154353920, 1829466496, 1735258240, 1230495872, 2014884352, 1292568704, 1634990080, 1741524864, 1277113088, 1328441472, 1660587264, 1229935488, 1992400384, 1928815488, 1638267904, 2022073856, 1714947456, 1953944320, 2051779328, 1912670080, 2079262720, 1814709760, 2105943296, 2008198656, 1803105408, 1681705728, 1642434048, 1657464704, 2129852032, 1450896384, 1119674496, 2063198720, 1546912896, 2019432064, 1138273664, 1290140800, 2067251712, 1462993536, 1610519808, 1701278848, 1137979904, 1197932032, 1181070720, 1571431424, 1745754496, 1822346240, 1813606656, 1151161600, 1545951104, 1483693824, 1725306240, 1634152576, 2130905856, 1476820480, 1959698944, 1905419392, 1334957184, 1807535616, 2016521344, 1700966144, 1191309440, 1434675840, 1905526912, 1434450560, 1796619136, 1816789760, 1253107072, 1678623744, 1388092544, 1755215616, 1623037824, 1713363968, 2092837760, 1825438720, 1691433600, 1925268992, 1270981760, 1109293440, 1441810944, 1295339904, 1151942144, 1953677056, 1096243840, 1307762816, 1621863040, 1324578816, 2036750464, 2110428288, 1199287296, 1598011520, 1245053056, 1415279488, 1191043968, 1452346624, 1898912256, 1932105344, 1975491968, 1796442368, 1203680128, 1881387136, 1185766528, 1441696896, 1906209664, 1761146112, 1079407744, 1125897088, 1636274816, 1567267328, 1900511488, 1308876032, 1398207872, 1090108032, 1305648000, 1943770752, 1515534464, 1653181440, 2036144000, 1764024576, 2031802240, 1702480000, 1999749248, 1806500992, 1703346688, 2046402560, 2028907136, 1308444672, 2136099584, 1723057792, 1605628032, 1969614080, 1423827072, 2000080256, 1806403328, 1146775424, 1807983104, 1218435968, 1367476096, 1556401536, 1723259008, 1615602944, 1644821120, 1676355968, 1641959680, 1590301440, 1718645120, 1656440192, 1412261120, 1123135104, 1735746176, 1582317952, 1126890112, 1288804480, 1098893312, 1926488704, 1701639296, 1928599168, 1353187712, 1397394304, 1644394112, 1555705728, 1555726208, 1285585408, 1223548800, 1787613184, 1530329216, 1935766656, 1584573952, 1221222272, 1896739200, 1235276288, 1782661120, 1993323008, 2044091008, 1817020160, 2014208640, 2035094912, 1101615488, 1132287232, 1975927168, 2010216960, 1742063232, 1773210496, 1914462976, 1081562112, 1641549952, 1713796608, 1123435264, 1661718912, 1779871744, 1214396800, 1810791424, 1649678720, 1158377472, 1167634944, 1662606080, 1386233600, 1415736064, 1912565248, 1915639296, 1834006656, 1477606912, 1878426880, 1252504704, 1129649024, 1078819840, 1959697792, 1620641792, 2036990080, 1823822720, 1249253120, 1320052096, 2000851200, 1185978880, 1978436864, 1217387392, 1896512768, 1857848448, 1780440064, 1518882304, 1157767296, 1759977344, 1767661440, 2031232384, 1620439680, 1457677824, 1214220032, 1580700928, 1078707712, 1108517504, 1415856128, 1413947136, 1612120448, 1835892736, 1509473024, 1568340608, 2010518528, 1747417088, 1086299264, 1831664384, 1535980032, 1760538880, 1189403520, 1889928192, 1749889536, 1784117248, 1129617536, 2088665216, 2002743680, 1903251328, 1673959296, 1246081792, 1606089472, 1135089408, 1745381760, 1596936960, 1760981632, 1164589696, 1613559808, 1157794432, 1400150656, 1368960640, 1083503616, 1148975360, 1530902016, 1801105664, 2003247360, 2135713280, 1906655872, 1951801216, 1227329664, 1504624896, 2124746112, 1768759552, 1347547776, 1441249024, 1907627776, 1746092800, 1903247232, 1985930496, 1693959936, 1919434112, 1385009664, 1214594048, 1842209024, 2062393600, 1890863488, 1418734336, 1785919744, 1267990656, 1986370816, 1485106048, 1731554176, 1669411968, 1248697728, 1848081920, 1758189696, 1685317248, 1419524480, 1893783936, 1434185472, 1250426624, 1624777216, 1529231744, 1920472960, 1098894208, 1980024960, 1803887232, 1291609600, 1228204160, 1402036480, 1808415744, 1729339264, 1951342208, 1082138496, 1695448832, 1362700416, 1509150848, 2011000064, 1147465600, 1891446912, 1194753792, 1220476672, 1574529024, 1675167872, 1447019392, 1862323200, 1654393984, 1483488000, 1119044480, 1259900928, 1914110976, 1693454080, 1973940992, 1863721984, 1792806528, 1183970944, 2054868736, 1622335360, 1349391104, 1820791936, 1968710016, 1789916928, 1548308736, 1319963008, 1278193280, 1711030400, 1089695104, 1892452736, 2135303168, 1761954816, 1410154880, 1775449600, 1238922624, 1174039552, 2054856192, 1075303424, 2139685120, 2112837760, 1913394432, 1491073920, 2052818304, 1214438912, 1307709056, 1456789248, 1863622272, 2105187584, 1594540032, 1576884096, 1817011840, 1982784000, 2057062912, 1083627136, 1563385984, 1092395520, 2003799424, 1939267968, 2109302400, 2043196672, 1737332736, 1985363712, 1299730560, 2019392256, 1958701696, 1552468096, 1406993920, 1835179904, 1764882304, 1763058688, 1589348992, 1997434240, 1158441984, 1709357440, 2024794240, 1761801472, 1486190720, 1493796736, 1274951808, 1476642944, 1605281792, 1198727808, 1132913792, 1246062080, 1154269440, 1567795328, 2019154176, 1180274176, 1075055872, 2036418432, 1246935680, 1790606464, 1127495040, 1116758656, 1156485376, 2013880064, 1578647680, 1644566016, 1666880384, 1761333760, 1127238016, 1471837824, 1811244800, 1906842752, 1123132672, 1961589632, 1697208960, 1612018688, 1524313088, 1333538560, 1245014400, 1132144384, 1711148160, 1302744448}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 26 Learned Parameters +#define CONV26_BIAS \ + {-269, 306, -547, -135, 208, 110, 467, -6963, 16725, 28834, 30174, -464, 441, -91, -61280, 44902, -1350, 48, 26261, 317, 269, -13820, -343, 15659, 50, 21604, 240, 11, 329, 33016, -377, 115265, 98025, -189, 48212, 112, 1059, -34, -96, 393, 23517, 196, 96, -94279, -376, 18491, -106, 16626, -3983, 23428, -395, 28691, -1965, 33884, -169, 22739, -771, 166, 26944, 55487, -391, -341, -1325, 254, 47964, 20898, 15012, -174, -40, 417, 159, 28871, -47, -2131, -4930, 31176, 19, -218, 60334, 35805, 28895, 18165, 173, 92054, -586, 176, -4677, 21670, 27329, 576, -806, -277, 35024, -301, 194, 19326, 350, -8, 62, -455, 916, -4953, 318, 3300, 19841, -754, -11291, -778, 28775, 28004, -83725, 38819, 90, -3, 57, -107, 219, -104, 196, 30235, 31310, -164, 20758, 53405, 206, 68248, 24417, -2086, -1016, -35, 17733, 19575, 41956, 21592, -4225, 29259, 45216, -71, 41295, -77173, 16440, 22714, 17620, 9639, -91, 23455, -15415, -846, -123, 83, 44723, 27, 113, 37241, 36176, 145, 51038, 359, 52898, 544, 54027, -896, -3, 60801, 69438, -427, -7924, 58522, 25176, 40589, -551, 26288, 39746, 23307, 112, 408, -62, 69681, 44902, -181, 50913, 56947, -8099, 21189, 57687, 30470, 24110, -478, 30640, -842, 194, 226, 68347, -437, 266, 183, -12079, -10829, 600, 279, 26742, 45969, 63339, 58398, -167, 40288, 20679, 579, 55, -2239, 85, 64, -43, -27391, -1167, -80, 41672, 366, 26881, -630, 167052, 261, -233, -782, 70015, 76969, -6, -2160, 161817, 99, -469, 40832, 13, 184, 35166, -312, -162, 64, 22552, 6067, 60046, -87, 380, 39731, -38, 6319, 34371, 124, 279, 67, -527, 24233, 43003, 26093, 60039, 39654, 43702, 29576, -220, 59, -10740, 229, -270, -1483, 161, 37835, 35293, 52277, -2895, 17799, 354, 276, -297, 47791, -378, 35, 34312, 1763, 333, 15506, 26, 38410, 22965, 38723, -445, 73447, 540, -1366, 138, -5550, 32546, 301, 24807, 1437, -16737, 72062, 28044, 43959, 31026, 42434, -872, 31813, -240, 16085, 24009, 37, 272, 43551, 65371, 26262, 39643, -4570, 642, 22407, -19, 22561, 102100, 38, -8527, -30389, -10216, 54833, -14, 80665, -3104, -1209, -2287, 72, 49160, 25398, 48528, -48, 24, 26678, 409, -14, 30832, -1897, 22315, -404, -654, 116002, 41590, -127, -322, 88, 18180, 27, 110, 58663, 197, -201, -1073, 34721, 68539, -507, -17, -1434, 356, 47585, 315, 16667, -140, 124, 238, -351, 21376, 76, 22126, 50093, 2, -15, 43012, 291, -864, -109, 36689, 533, -5050, 60228, 711, 600, 38, 153, -65, 37062, -517, 57557, -1740, 9, 24687, 51905, 56, 317, 37832, 41605, 238, -192, -277, -18134, 19349, 40134, 145, 26373, -2104, -16408, 31775, 750, 18276, 69, 46792, 55721, 1425, 19079, 27141, 130, 62576, -452, 74405, 77723, -271, -840, 38427, -814, 30477, -1701, -3244, 40638, -475, -2109, 43592, 16600, 21782, 46917, -167, 42842, 61, 36331, -5710, 63878, 207, -2, -473, 25294, -186, -528, -68296, -195, 35040, -352, -425, -1, 20656, 31081, -1417, 20158, -1807, 101, -5287, -5200, -658, -8, -19097, 276, 19787, 370, 706, 27449, 208010, -611, 782, 229, -4146, -749, -66, 20296, 35935, -8859, 57625, 134, 19310, 34494, 10390, -325, -1996, 19259, 41569, 24078, 56269, -1118, 22544, -2155, -643, 35042, -646, 47782, -1834, 32875, 35222, -113, 120, -21, 476, 19117, 23254, 68916, -2097, -8511, -535, -389, 29585, 124, 181, -334, 17965, 21644, 431, 50015, 126, 46938, -11, 36250, -387, -150, 81574, 44102, 26, -86, 34932, 48909, 28446, 21, 37787, 104, 57540, -9456, -140, -4381, -465, 101418, 43704, 243, 403, -197, 872, -327, -2457, 34507, 59278, 250, -1128, 34889, -5, 40552, -131, 37961, 19426, -4710, -3775, 48517, 19905, -26977, 24, -1116, 87885, -171, 17571, 76, -1288, 367, -307, 202, -53877, -124, -1847, 25352, -13248, 20407, 45997, -1212, 468, 31569, 20115, 57079, -9321, 26, -1633, -512, -4930, -2416, 23474, 69254, 453, 93312, 28240, 124, 24369, -280, 32086, -737, 75879, -547, -12658, 22837, 312, 295, 30718, 607, 2222, 45032, 37786, 193, 24026, 23108, 21399, 20681, -8, 30223, 50035, 1619, -93, -442, -252, -820, 46877, 385, 375, -37, 443, 16729, 31, -1723, 26078, 120, 446, -181, 36876, -184, 47644, -3580, 13066, -34840, 25249, -2444, -155, -2991, -680, 28521, -213, -1326, 128, -2134, -4398, -268, -33129, 1233, 413, 20111, 20050, -1648, 25801, 8, 26770, -413, -348, 555, 441, 196, 24067, -274, -3170, -42, -6179, 866, 22183, 35260, 20736, 68373, 32668, -225, 138, 30442, 32008, 299, 26525, 2777, 20358, 97, 29436, 479, 276, 64788, 38423, -14473, 1639, 205, 29908, 117, -541, -23976, 439, -753, 12049, -16, 145, -1718, -1163, -264, -1453, -965, -231, 47855, 36910, 82430, 32781, 41332, 25766, -277, 31259, 32525, -321, 45231, -515, 24868, 2217, -571, 30692, 60235, 65019, 44992, 173, 323, 285, 63, 40982, 31008, 187, -25, 3, 39117, 37228, 43488, -234, -322, -1141, 165, 113, -242, 1603, 67120, 53, -1183, 95, 10507, -252, -6240, 191, 309, -1876, -111, 22176, 26955, -40439, -280, 86, 253, 25949, 54421, -3334, 59362, -256, -137, 4333, 23142, 17135, -2943, -3998, -9789, -254, 22362, -61, 57187, 61932, -8, 18473, -7, 18, 46354, -1336, 158, -125, 51107, 37320, 731, 65859, 611, 92, 61225, 28513, -597, 54740, -310, 11188, 18896, 249, 9242, -489, 11558, 23362, 466, 46848, -2311, 39756, -339, 64542, 14292, 97, -9988, 32996, 55907, 52440, 40398, -88, 285, 80641, 23092, 42205, -16, -1151, -177, 22564, 29853, -21, 40993, 41529, 24457, 37498, 23101, -1967, 35, 221, 41412, 29, 28066, 26388, -1263, 26572, 37142, -796, 46557, 16391, -2544, -3998, 25906, 41333, -1487, 217520, -2676, 30346, 60, 26986, 37166, 23400, 232, 51414, -1886, -15468, 322, -801, -290, -49, 21713, 314, -1486, 45329, 1026, 26239, 5440, 35659, 24052, -449, 20214, 29314, 234, 39916, -312, 36604, 23580, 32154, 54664, 118, -1217, 48736, 30592, 28962, -141, -270, 252, 37730, -6614, 57776, 83332, 242, 30511, 162, 30679, 2044, 31031, 39196, 54456, 1859, -25, 46394, -3082, 307, -65, 9, -103, 97171, 55623, -550, -1460, -1, -16429, -87, 16, 145, 22331, 38216, -2472, 61769, -143, 488, 34848, 578, -298, 13, 47321, -700, -1265, 24820, 214, -1097, -428, 21117, 46427, 416, 14491, -2625, 55702, -22, 78996, 42655, -2517, -134, 15611, 25081, 109, 41881, -1681, 127, 94, 821, -247, -709, 63098, 92, -119, 135610, -53974, -96, 51, 137, -18, -6218, 41, 48896, 223, 41718, 30345, 56982, 258, 32966, -809, 38401, -7, -603, -4025, 110, 37125, 21294, 55559, -141, 145, 71210, 280, 42159, -214, 20547, -408, -9169, 156772, -2318, 368, 50567, 639, 566, 50633, 28677, 17276, -151, 21524, -274, 201, 229, -704, 2078, 104, 32364, 23152, 29148, 30167, 27922, 90937} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {45, 298, 214, 207, 38, 81, 154, 42, -288, -305, -317, 159, 68, 113, 133, -381, -154, 252, -303, 315, 116, 302, 58, -278, -110, -311, 157, 142, 312, -334, -187, -352, -520, 7, -365, 86, 66, 55, -215, 136, -320, 119, 101, 305, -146, -298, 153, -316, -158, -320, 166, -316, -127, -352, 93, -283, 34, 254, -324, -332, 79, 145, 237, 104, -353, -351, -284, 119, 58, 137, 240, -310, 148, 128, 71, -286, 120, 176, -359, -298, -299, -308, 515, -546, -112, 17, 97, -289, -352, 478, -120, 68, -308, -121, 112, -286, 109, 204, 63, -107, 777, 93, 73, -133, -323, 223, 93, -111, -325, -359, 318, -333, 147, 78, 90, 24, 115, 86, 218, -296, -307, 86, -295, -350, 145, -403, -141, -194, -106, -198, -185, -296, -378, -321, 105, -300, -344, 87, -345, 201, -298, -322, -303, -327, 122, -334, -90, -113, 186, 2, -380, 153, 127, -315, -297, 221, -331, 243, -331, 443, -365, 237, 48, -326, -326, 113, -123, -320, -336, -370, 195, -293, -308, -312, 178, -144, -208, -333, -338, 143, -325, -376, 180, -270, -331, -294, -396, 157, -332, -116, 291, 113, -358, -144, 134, -110, -95, 145, 237, 39, -290, -448, -405, -342, 134, -461, -286, 280, 60, 68, 80, -71, -197, 38, 132, 136, -350, 216, -281, 124, -755, 181, 59, -170, -325, -475, 211, -158, -665, 164, 59, -352, -200, 81, -269, 196, 106, 102, -299, -62, -402, -149, 203, -380, 161, -172, -288, 107, 153, 57, 334, -305, -274, -276, -317, -302, -357, -317, 219, 54, 88, 94, 134, 114, 140, -353, -329, -382, 239, -299, 236, 30, 124, -350, 177, 70, -388, -137, 773, -281, -145, -296, -297, -291, -151, -336, 189, 98, 117, 118, -318, 109, -311, 167, 150, -456, -317, -310, -371, -323, 54, -311, 85, -286, -364, 138, 128, -328, -400, -301, -274, 145, 181, -273, -213, -301, -469, 133, 127, 169, 173, -334, -137, -423, 116, 141, 159, 63, -316, -314, -366, -104, 53, -327, 126, 90, -302, -148, -316, 129, 127, -377, -328, 103, 129, 553, -299, 107, 128, -377, 199, 141, 150, -341, -398, 109, 19, 115, 116, -352, 103, -289, 226, 138, 131, -195, -324, -211, -313, -301, -170, 138, -328, 149, -130, -187, -303, 252, -134, -408, 83, 252, -82, 128, -98, -345, -106, -394, -130, 32, -357, -335, 119, -117, -351, -349, 145, 202, 144, 49, -304, -359, 106, -311, -125, 22, -305, -118, -354, -3, -325, -397, 62, -360, -289, 128, -412, -103, -404, -414, 90, -114, -344, 302, -311, 235, -123, -245, 298, 221, -317, -305, -328, -342, -223, -373, 129, -359, 297, -321, 32, -185, 190, -360, 114, -171, 12, -206, -373, 142, -111, -213, -295, -330, 104, -307, 143, 59, 89, 96, 145, 275, -72, 51, -283, 54, -108, -339, -922, 132, 522, 213, 94, -122, 137, -311, -332, 235, -434, 141, -318, -359, -285, 195, 5, -325, -255, -313, -308, 163, -295, -100, 88, -352, 102, -317, -126, -252, -327, 90, 55, -208, 147, -285, -271, -383, -148, 265, 139, 225, -318, 175, 117, 128, -295, -309, 88, -354, 122, -291, -187, -310, 178, 115, -439, -307, 64, 58, -316, -297, -294, 99, -320, 182, -391, 19, 197, 68, 200, -572, -298, 218, 205, 122, 225, 156, 79, -309, -331, 190, 187, -340, -190, -390, -222, -317, -341, 163, 239, -328, -362, 64, -130, 111, -400, 64, -308, 134, 122, 160, 315, 156, 44, 153, 183, -327, 111, -306, -354, -112, 121, -399, -323, -427, 137, 108, -167, 69, 180, 59, -305, -422, 481, -354, -345, 122, -349, 131, -332, -191, -328, -191, 22, -300, 85, 89, -412, 295, -117, -313, -331, 109, -310, -296, -311, -280, 62, -277, -304, -178, 85, 117, 110, 204, -296, 93, 180, -206, 113, -279, 124, -155, -322, 65, 356, -214, -300, 115, -343, 92, -288, 94, -310, -128, 26, 171, 315, -357, -213, -106, 202, -38, 48, 139, 169, -108, -130, -275, -326, -194, -286, -139, -306, 99, 188, -100, 247, 98, -341, 147, 92, 198, 78, 253, -327, -308, -323, -294, -308, 336, 182, -345, -366, -125, -324, -161, -368, 92, -367, 211, 123, -336, -364, 51, -98, 116, -293, 163, -112, 61, -139, 173, -283, 110, 69, -112, 132, -104, -146, -162, 227, -354, -353, -330, -296, -361, -284, 171, -334, -319, -114, -372, -89, -302, -103, 55, -349, -281, -364, -328, 60, 52, 178, 167, -345, -322, 75, -120, -176, -348, -322, -357, 96, 178, 101, 61, -189, -126, -101, -361, 111, -106, 157, -308, 92, 92, 93, 162, -97, 88, -317, -322, 78, 62, 58, 142, -286, -371, -143, -455, 39, 94, -167, -330, -313, 47, 147, 256, 106, -307, 55, -325, -305, -176, -285, 135, 111, -349, -113, 153, 27, -347, -341, 232, -371, 255, 181, -332, -304, 93, -330, 37, -290, -171, 106, -308, 119, -270, -330, 73, -350, 157, -361, 62, -356, -286, 39, 160, -333, -358, -366, -408, 102, 83, -411, -332, -306, 259, 124, 154, -306, -293, -123, -314, -338, -308, -397, -340, 100, 86, 85, -351, -70, -313, -278, 113, -299, -373, -121, -319, -294, 183, 236, -282, -362, 154, -1018, 95, -320, -144, -377, -299, -290, 178, -391, 251, 75, 131, 135, -181, 75, -278, 232, 159, -364, -124, -316, -174, -347, -318, 74, -318, -263, 135, -310, 198, -356, -335, -314, -345, 88, 220, -365, -356, -314, -123, 131, 160, -301, 124, -373, -421, 150, -292, 111, -368, -113, -327, -328, -341, -119, -216, -284, 77, 179, -126, -172, 76, -407, -454, 110, -201, 137, 99, 112, 117, 74, -299, -308, 62, -347, 107, -106, -367, 48, 74, -192, -351, 254, -206, -292, 71, -112, 104, -292, -342, 198, -278, 42, -327, 106, -326, -349, -203, 73, -288, -354, 69, -322, 266, 190, 74, -185, 234, -127, -339, 92, 79, -499, 208, -133, 264, 112, 109, -76, 43, -408, 75, -361, -306, -349, 251, -310, -100, -320, 158, -121, 179, 121, -477, -309, -404, 78, 98, -353, 101, -312, 131, -314, 78, 203, -723, 238, 411, -322, 98, 122, -337, -348, -249, 71, -307, -215, -125, 102, 114, -103, 96, -328, -377, -367, -347, -308, -595}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1203324288, 1400043776, 1821456768, 1710167296, 1217657600, 1830420864, 1423887488, 1405854592, 1439633408, 1854609920, 1759209728, 1494766592, 1495868928, 1152653824, 1475688192, 1506540800, 1142919808, 1857666432, 2097517312, 2077238528, 2110281472, 1303330432, 1600651264, 1596025472, 1638608640, 1218236800, 1271553408, 1444893184, 1511061760, 1674469632, 1322853120, 1228975488, 1846926208, 1814550272, 1447645568, 1927110528, 2108245248, 1261124864, 1377532288, 1584494976, 2100251776, 1581465856, 1503638912, 1599951232, 1780372736, 1355667840, 1641081600, 1524518272, 1667166336, 1093023616, 2023188352, 2029776768, 1080629504, 1470374784, 1813481728, 1106152832, 1686581760, 1428664064, 1822470016, 1139163136, 1716083840, 1535903488, 1402321664, 1573150336, 1627701760, 2085051904, 1571428096, 1254945536, 1938597760, 2050039424, 1364460544, 2097025024, 1925689088, 1236705792, 1910467456, 1987959040, 1361044352, 1217221120, 1183879296, 1566496768, 1134612736, 1367009664, 1378095232, 2067938944, 1370965248, 1197121920, 1873862016, 1190562816, 1957846144, 1319953536, 1102769280, 1310852480, 1551246336, 1836371840, 1468421376, 1360747520, 1777058688, 1441754368, 1810227712, 1771286912, 1284348928, 1180640384, 1393492736, 1209617536, 1278633856, 1602200832, 1313896064, 1103381632, 1775476352, 1681239424, 2030491008, 1366387584, 1140749440, 1592717568, 1490171008, 1867911296, 1490354432, 1443963776, 2036510976, 1095170944, 1578628736, 1660594048, 1220569344, 1203479168, 1724843136, 1127306112, 1597814144, 1764091264, 1789407360, 1609599104, 2130832384, 1248104576, 1172280576, 1395058944, 1245019392, 1810505344, 1303588480, 1235953664, 1621151616, 1881764992, 1564466432, 2070648832, 1306866304, 1155689984, 1446484992, 2138456576, 1605904256, 1952091520, 1421176576, 1105177600, 1250795904, 1221389696, 1688485888, 1698557056, 1956584320, 2121894912, 1281773568, 1424909184, 1649903232, 1639051776, 1102953728, 1271244672, 1538491776, 1987147264, 1076667904, 1887775744, 1723826944, 1372641792, 1946584960, 1459850880, 2023474816, 2142072064, 1165815552, 1115012608, 1439313920, 1426171392, 1607044736, 2083912960, 1685199616, 1309482624, 1896954112, 1331514752, 1448850816, 1143902848, 2056912128, 1811929600, 1184183168, 1318815232, 1565258496, 2019895040, 1978079488, 1337173248, 1768555008, 1108444544, 1142828288, 1772806528, 1426157440, 1182772864, 1206679296, 1602237568, 2000254848, 1169681024, 1392791040, 2113394816, 2124224768, 1407404288, 1264029056, 1268846848, 1710199296, 1783566720, 1698877696, 1376772992, 1264746240, 1871884672, 1668477440, 1994772608, 1306482176, 1536456576, 2020038400, 1544751872, 1596118272, 1158808448, 1189450496, 1771191424, 1489276160, 1091815808, 1703686528, 1696557952, 1244008192, 1173394304, 1817306624, 1307728384, 1401621760, 1679998592, 1710409600, 1153770880, 2144120832, 1368867200, 1164570240, 1316100864, 1468366464, 1797487232, 1573324672, 1541481472, 1275924352, 1417502976, 1665968128, 1140060672, 1656302080, 1923003264, 1187748224, 2087903616, 1604271488, 2106797440, 1333507456, 1734855808, 1404845696, 1809490176, 1868421632, 1823214080, 1970571648, 2123969920, 1591921664, 1632335744, 1381334400, 1466456960, 1634304384, 1102171648, 1738155392, 1375512960, 1434626176, 1378386560, 1966979328, 1577562240, 1694649728, 1412132992, 1548373888, 1387246080, 1981222912, 1680013952, 1084416512, 1631719936, 1230463488, 1437424512, 1877900160, 1981639936, 1390712832, 1143890304, 1249975040, 1878450432, 1521265536, 1846916352, 2137534080, 1469717248, 1778887040, 2118603776, 2011012352, 1351848576, 1603686656, 1678604672, 1718711808, 1791030016, 1338029184, 1428120448, 1903886208, 1540439680, 1226167040, 1419665536, 1267916160, 1849502464, 1886341248, 1871501568, 1449376128, 1221308416, 1582691968, 1126666880, 1805088640, 1372148608, 1297845248, 1332956672, 1608920192, 1215201280, 2056315008, 1930531072, 2039025408, 1823614720, 1164626432, 2005407872, 1423456768, 1869800064, 1574779136, 1992926976, 1343732352, 1167199104, 1998967552, 1092299648, 1778237440, 2131476992, 1142524672, 1279333504, 1605897856, 1686572928, 1548282624, 1476428800, 1983984512, 1170113920, 1359181568, 1474846464, 1791148288, 1524026112, 2089813504, 1698182400, 1469475072, 1665396608, 1208031616, 1336105728, 1925320448, 2015025152, 1535609600, 1996136448, 1078865536, 1757136896, 1581166720, 1084589568, 1210484224, 1719635840, 1444805120, 1225413376, 1148609664, 1392018304, 2054879232, 1371001600, 1344585216, 1745203072, 1215639552, 1878500736, 1666844032, 1342965504, 1147105408, 1321388928, 1493072384, 1297077760, 1275397760, 1560337024, 2029480448, 1859762944, 1768638336, 1441423232, 1101086720, 2009605888, 1928995968, 1111652096, 1233652864, 1274503552, 1517664128, 1451277184, 2085425280, 1388633088, 1993834240, 1978409728, 1297405312, 1773767168, 1533669504, 2114495616, 1699653504, 1234603008, 1728063616, 1604595712, 1420230144, 1883093888, 1397109504, 2136621568, 1860079104, 1278762496, 1973839104, 1510173440, 1135221632, 1653819904, 1137590656, 1159392768, 1981020544, 1561466112, 1611475584, 1805985280, 1823441792, 1167064960, 1795341952, 1469028096, 1507966080, 1080037632, 1415444224, 1600572032, 1225496320, 1329309184, 1386979712, 1503489024, 1393340288, 1361053440, 2121975552, 1454359680, 1568141696, 1877066240, 1382571904, 2047468416, 2046643840, 1168578304, 1556508032, 1215904896, 1548607616, 1088197248, 1972318336, 1953001472, 1190247680, 1801849728, 2132114816, 1209542016, 1896716288, 2114794752, 1877238016, 1922843008, 1612690176, 1274183936, 1381154432, 1199020160, 1554994944, 1167219072, 1698023296, 2005104896, 1296863872, 1122219392, 1135297024, 1647487744, 1876135424, 1701778432, 1705995520, 1101350912, 1398535424, 1414972416, 1812160768, 1244310912, 1281099136, 1485802496, 1149169280, 1142539648, 1086470784, 1332416768, 1149864960, 1082831360, 1559742848, 1144870272, 1257238400, 2065360512, 1327325824, 1656634752, 1179889280, 1801774208, 2101559296, 1687761408, 1684257920, 1582106240, 1792677504, 1696561664, 2086374528, 1272974848, 1186417024, 2130397184, 2043971840, 2085579904, 1289500032, 1726944512, 1804061056, 1335383552, 2011933568, 2145755392, 1400432128, 1141864832, 1827567360, 1281301504, 1124945408, 1870307200, 1634617472, 1847113728, 1182391424, 1628413824, 1863573248, 1525554560, 1091232640, 1467107456, 1503476992, 1670383488, 1295722112, 1190813568, 1445136128, 2017669248, 2061476096, 1866664704, 1222702720, 1100749568, 1529505152, 1924089728, 1809443712, 1866435456, 1356522112, 1999602304, 1663405056, 2096297216, 1251132416, 1847949696, 1396456960, 1146010752, 1536878848, 1463440384, 2068638336, 1388797184, 1680210560, 1649616768, 1224087552, 1146094080, 1089395840, 1628868608, 1309259904, 1152754816, 1537142144, 1219206400, 1890603648, 2096835200, 1475707776, 1407917184, 1604844288, 2056972800, 1085772032, 1142567040, 1276468480, 1113376256, 1854471808, 1996543744, 1391727360, 1235995648, 1233232512, 1649873792, 1598335232, 1586327424, 1304264064, 1133030400, 2016494464, 1309546624, 1567674240, 2146210560, 1478846592, 1375269760, 2139948672, 1082332288, 1656855680, 1275047808, 1946090112, 1175642368, 1087729536, 1827908096, 2145913728, 1107178624, 1127475968, 1570363648, 1844402560, 1109581056, 1477128064, 1647228160, 1755086976, 1739353600, 1298630528, 1410549120, 1456343296, 1432536832, 2063100800, 1138640896, 1261976576, 1337079040, 1081081600, 1966729344, 1482581376, 2123123840, 1262583552, 1978949376, 1155833344, 1467892480, 1396547840, 1548391936, 1234812160, 1909554816, 1859604352, 1457100800, 1736263296, 1405177472, 1936223872, 2067160064, 1093019648, 1218195456, 1584956160, 2030414720, 1437606656, 1958219008, 2129315840, 1199092224, 1930279296, 2061943936, 1578070400, 1092440704, 1703673088, 1639241856, 2037215232, 1342457472, 1095405440, 1786199296, 1409889920, 1125055232, 1913600256, 1731355264, 1725422336, 1230511616, 1370654336, 1317526784, 1176445568, 1163297920, 2099640704, 1313928576, 2034649600, 1687640448, 1484852352, 1813460736, 1179869440, 1328748032, 1541585792, 2060401920, 1088137600, 1208965120, 1117330560, 1947438592, 1298163584, 1521168128, 1618792832, 1136089216, 1276755072, 2105549568, 1429207808, 1894058240, 1993112960, 1317668864, 2017412480, 1950840192, 1940870656, 1207686016, 1126662912, 1671312768, 1664667264, 1190037504, 1387176832, 1434617600, 1157775488, 1088999808, 2013070592, 1685090176, 1641653376, 1307376128, 1985544448, 1662524544, 1108214016, 2045230720, 1674423296, 2009654016, 1198730368, 1429460608, 1095603968, 1753011968, 1462766720, 1755585280, 1661966848, 1302580480, 2046670208, 1156956672, 1830443520, 1699556864, 1773174400, 1360038528, 1560786048, 2132768896, 1296824960, 1957406720, 1683212800, 1181345664, 1473254016, 1630731008, 1479259776, 1335476864, 1826573312, 1870633344, 1510188288, 1683657472, 1122109824, 1814250112, 1167155456, 1341112832, 1597256704, 1327623424, 1400187136, 1120207232, 1464367616, 1148440576, 1841737728, 2018087680, 1188018688, 1090307840, 2125174272, 1594946304, 1693841536, 1085261440, 1444304896, 1090100864, 1759279616, 1586249088, 1542061184, 1548720640, 1122862720, 2078349824, 1368161664, 1925067264, 1388884352, 1147150080, 2090155136, 1199714560, 1211711232, 1374808704, 1906155136, 1112052992, 1583287552, 2013742464, 1326157696, 1786252928, 2125144448, 2014745728, 1417470720, 1098669952, 1990654080, 1078628608, 1167769472, 1905249280, 1523691776, 1293018880, 1794352256, 1786862464, 1786966912, 1635958144, 1323209088, 1074899328, 1425457024, 1376459392, 1174709248, 1532239232, 1769828480, 1075676928, 2029323904, 1293421312, 1077051264, 1418380288, 1090719744, 1990282880, 1435503360, 1267084928, 1527828992, 1123633408, 2066420736, 1241607296, 1429636224, 1885085952, 1349824128, 2135034880, 1929863040, 1633862528, 1480742784, 2090520832, 1991761152, 2040175104, 1137464576, 1241382784, 1538418688, 1764347264, 1675765376, 1155595392, 1659054208, 1472256000, 1425833344, 1077581696, 1089055104, 1717368832, 1895188608, 1431401216, 1311948160, 2022847104, 1440358400, 1137781888, 1077291392, 1801408256, 1105332096, 1330052608, 1829141120, 1913300608, 2106244352, 1312333824, 2025747584, 1584059776, 1284385664, 1448301312, 1511724416, 1655659008, 1143627648, 1965406336, 1825535104, 1969397376, 2123719808, 1339441664, 1893649664, 2075532160, 2088369920, 1437179520, 1364075264, 1276889728, 1129085824, 1710977024, 1305213312, 1091007360, 1998586240, 1508556288, 1571441152, 1196879616, 1489499008, 1328927232, 1530460800, 1480541952, 1825940608, 1502673280, 1890334336, 2081750784, 2019123200, 1362696960, 1096229888, 1753070720, 1641926912, 1164111744, 1555504896, 1091541120, 1920581504, 1951893632, 1905305984, 1277265920, 1641872896, 1675356928, 1945198208, 1978376576, 1177828352, 1240715392, 1412959488, 1464983296, 1583272704, 1821334272, 1712377088, 1859708544, 1200407040, 1685066624, 1169888512, 1810307968, 1445835264, 1084586240, 1931131008, 1228177408, 1240107392, 1364851200, 1477014400, 1121955712, 1470811776, 1646765056, 1832162048, 2074743424, 1565111808, 1382702720, 1866994176, 1544611968, 2009163520, 1727862656, 1891754496, 1394742144, 1501987072, 2044606336, 1398389632, 1429371008, 1095906432, 1518596992, 1831334784, 1170052736, 1667816704, 1286044032, 1901192320, 2088021504, 2065780864, 1081945984, 1658202112, 1470755200, 1083360640, 1300417536, 1670606720, 1845332480, 1504473216, 1084360064, 1615939840, 1759195776, 1527063552, 1849016832, 1299248640, 1605458560, 2050645376, 1693664512, 1619925888, 1266051200, 1559282176, 1614544384, 1958062080, 1161831552, 1531080960, 1989220608, 1819293440, 1652671360, 1359034112, 1319870592, 1992036864, 1402261632, 2001600384, 1200885504, 1654768384, 1231176960, 1373715072, 1706428160, 1336811520, 1752748544, 1228918016, 1687200896, 1687572992, 1933525760, 1491059456, 1928340224, 2123653888, 2007149952, 1466970496, 1480927744, 1157705472, 1368883712, 1491495808, 1995247104, 1429132928, 2042076544, 1364651776, 1521729664, 1100674048, 1518807296, 1931021696, 1659654784, 1502772992, 1183150592, 1134330112, 1857169024, 1627604992, 1339013120, 1711029760, 1337935616, 1954676096, 1195063680, 1375063552, 1357890048, 2007369344, 1310083328, 1336741376, 1212529024, 1825142272, 1149419136, 1693531648, 1629186176, 2051217152, 1971812096}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + + Layer 27 Learned Parameters +#define CONV27_BIAS \ + {-123, 298, 182, 313, -92, 274, -106, -125, 79, 52, 64, 115, 170, 123, -256, -72, 2, 31, -48, -19, 98, -128, 54, 47, -48, -61, -72, -150, 102, -28, -79, -165, 183, -205, 200, 152, -228, 119, -373, 127, 158, -254, -167, 132, -284, -102, -108, -123, 251, -127, -176, -37, 59, -112, -17, 127, -505, -207, -58, -202, -339, 22, -66, -60, -41, 178, 41, -177, 94, 305, -283, -69, -10, -48, 83, -456, -90, -286, -377, -1, -126, 87, -18, -108, -315, 27, -344, -156, 194, 7, -49, 61, 26, -520, 82, -71, -355, 256, 1, -350, -28, -44, 115, -85, -91, -129, -298, 98, -100, 13, -106, 213, 244, -61, 33, 85, 288, -61, -209, -281, -138, -265, 40, 73, -189, 95, -236, 171, -284, -69, 37, -142, 254, -348, -59, -123, -180, 327, 45, 113, 23, -146, -303, 264, -229, 119, -27, 179, 5, 27, -106, 10, 157, -100, 182, 123, 9, -140, -137, 296, -122, -140, -169, 199, 180, -47, -83, -49, 260, 42, -17, -127, 127, 163, 66, -77, 66, -28, 324, 382, -246, -181, 64, -94, 24, 22, 1, -489, -28, 291, -156, 68, 17, 119, -99, -329, 85, -306, 52, -156, 85, 119, -40, -45, 200, -180, 112, -94, -15, 54, 212, -28, 44, -267, 79, 105, -28, 11, -167, 50, -175, 72, -44, -73, -36, 33, 188, -54, -15, 148, -28, 163, -3, 23, -400, -7, 171, 4, 61, -148, 297, 306, -218, -34, 331, -378, 178, 9, 235, 37, 180, -59, 138, 43, 2, 95, 63, 165, -192, 82, -107, -25, 406, -166, 195, 13, 200, -147, 18, -114, 80, -10, 78, -318, 63, 183, 12, 29, -266, 71, 137, -178, 69, 11, 19, 116, 154, 149, 248, -10, -53, -150, -122, 264, 374, -2, -225, 114, -331, -44, -240, -62, -152, -90, -46, -48, 33, 22, -133, -102, 89, -54, 135, -159, 137, 136, -198, 143, 126, -78, 165, -250, 27, -101, -384, -214, -32, 11, -7, -179, -43, -79, 163, -59, -54, -207, -180, -53, -12, -121, -25, -342, -41, 76, -1, -112, 109, -148, 128, 76, 71, -223, -13, -33, 84, -220, -166, 60, 54, -52, 43, 350, -128, 390, 85, 165, 310, 147, 178, 34, -333, 371, 72, 348, -33, -100, -18, 19, -44, -126, -105, 172, -37, 101, -110, 206, -54, -78, 98, -248, 73, 69, -58, 93, 66, -59, 44, -59, -265, 232, 159, -41, 222, 48, -170, -113, -270, 45, -164, -330, -404, 80, 170, 3, 191, 242, 263, 84, 188, -20, 9, 168, 199, -132, -3, -248, -200, 2, 49, -117, -126, 76, 141, -81, 34, 32, -403, -107, 38, -499, -36, -319, -235, -12, 404, -28, 8, -154, -114, -160, 403, 170, 42, -172, 115, -331, 161, 14, 435, 62, 68, -145, 70, -202, 90, 139, -55, 302, -2, 53, -20, -174, 17, 94, 130, -404, 113, -145, -77, -114, -117, 169, -69, 191, -288, -177, 20, -6, 28, -102, -155, -243, -48, 96, 105, 259, 47, -102, -189, 88, 23, 27, -253, -178, -66, -183, 34, -195, -94, -125, 217, 130, 243, 60, -85, -127, -145, -104, 1, -93, 174, 236, -221, -259, 95, 367, -462, -90, 54, -189, 143, 59, -22, -87, -98, 63, -42, -319, -532, -74, 196, -90, -138, 52, -200, 13, -208, -52, -132, 209, 5, 152, 137, -351, 60, -74, 17, 253, -41, -116, -299, 207, -246, 126, 149, 107, 71, -50, 174, 82, 252, -14, -116, -140, -105, 305, 56, 52, -168, -122, 197, 49, 84, 11, -16, 44, -203, -297, -289, -148, 226, 122, -67, -196, -215, 34, -144, -42, -223, 359, -169, 129, -127, 198, -34, 177, 109, -8, -211, 32, 16, 22, 52, -24, 235, 140, -150, -50, 89, -160, 1, -99, -216, 31, -14, -171, 107, 181, -76, -79, -292, 113, -113, 220, 342, -309, 193, 19, 209, 56, -171, 189, -116, -187, 319, -73, -172, 249, 59, 350, 134, 73, 39, 9, 265, 80, 129, -197, 217, 400, 193, -82, 76, -306, -355, 98, 112, -36, 47, 64, 158, 205, 83, -2, -31, -62, 230, 140, -92, -150, -322, 17, 77, -21, 139, 182, -26, 75, 166, 306, -147, -16, -94, -165, -216, 98, 89, -99, 250, 227, 154, 114, 18, -80, -25, 172, 143, -204, 298, -62, 159, -162, 118, -162, 117, 281, 59, -353, -234, -123, 230, 113, 76, 210, 103, -96, -131, 38, 20, -37, -419, -134, 334, -12, -37, -37, 128, -55, -158, -333, -572, -39, 100, 256, -180, -86, 170, 156, -35, 116, -57, -111, 103, -123, -45, -80, -100, -5, -218, -19, -88, 86, 98, -75, 66, 188, 444, -75, -130, -82, -7, 280, 1, -73, 74, 106, 82, 164, 26, -265, -10, 40, -88, 63, 182, -40, 258, 177, 93, -57, -216, -44, -154, 336, -10, -17, 2, -98, -444, 237, -513, 10, -28, -41, 90, -227, 265, -286, -128, -134, -265, -6, 295, -144, -182, 6, -52, 173, 183, -240, -270, -5, -80, 190, -103, 104, 317, 173, 408, -178, 65, 92, -358, 133, 115, 160, 215, 122, 18, -229, 32, -88, -108, 230, 257, -25, 140, 47, 90, 184, -143, 247, 72, 1, 81, -92, -249, 301, -210, -208, 124, 74, 89, 225, -51, -7, 108, 307, -214, -200, 263, -321, -103, -53, -83, 107, -305, -2, -95, 154, -36, 319, 105, -319, 20, 69, -21, 125, 370, 97, 258, -274, 212, -238, -119, 220, 72, 116, -268, -83, -57, 256, 303, -124, 117, -149, -125, -247, 130, 293, -26, 141, -74, -123, 4, -234, -35, 280, 254, 106, 233, -222, 80, 86, -29, -26, 25, -66, -2, -140, 190, 138, -117, -146, -34, 192, -102, 164, 87, 119, -205, -67, 44, 52, 184, -89, 57, 314, 128, -45, -357, 164, -41, 29, -101, -387, 107, -55, -316, 80, -136, 79, 311, 110, -77, 315, 52, 292, 58, -260, 2, 59, 97, 9, 44, -21, 182, 280, -155, 377, -23, 58, 6, -66, -303, 14, 166, 158, 18, 20, -100, -185, 98, -107, 295, 1, 14, 94, 43, -257, 262, -42, 43, -480, 43, 116, 220, -286, -203, 59, 92, 51, -218, 217, -213, 5, -42, 6, -35, 114, 48, 118, 47, 14} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-2, -2, -2, -2, -1, -2, -1, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -1, -2, -1, -1, -2, -1, -1, -2, -2, -2, -1, -1, -2, -2, -1, -1, -2, -1, -2, -1, -1, -2, -1, -1, -2, -1, -1, -1, -1, -2, -1, -2, -1, -1, -2, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -2, -1, -2, -1, -1, -2, -2, -2, -1, -2, -2, -1, -1, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -1, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -1, -2, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -2, -1, -1, -1, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -1, -1, -1, -1, -1, -2, -1, -1, -1, -2, -2, -1, -2, -1, -1, -1, -2, -1, -2, -2, -1, -2, -2, -1, -2, -2, -1, -2, -2, -1, -2, -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, -1, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -1, -2, -1, -1, -1, -1, -1, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -2, -2, -2, -1, -2, -2, -1, -2, -1, -2, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -1, -1, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -1, -1, -2, -1, -2, -2, -1, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -1, -2, -1, -2, -2, -1, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -2, -1, -2, -2, -1, -2, -1, -2, -1, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -1, -2, -2, -2, -2, -2, -1, -2, -2, -1, -1, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -2, -2, -1, -2, -1, -2, -2, -2, -1, -2, -2, -2, -1, -2, -1, -1, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -2, -2, -2, -2, -1, -1, -2, -2, -2, -1, -2, -1, -2, -1, -2, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1843054080, 1753760384, 1381494784, 1949795584, 1927968512, 1127876736, 2117941504, 1987723136, 1126768256, 1115485824, 1999830528, 1367997568, 1890304768, 2113569536, 1908180992, 1142955008, 1312862976, 1227048576, 2091782272, 1393811328, 2089264256, 1076132096, 2120533248, 2038288256, 1915176704, 1288476160, 1528501376, 1098782336, 2045692672, 1075457024, 1941469440, 2028226560, 1088087040, 2057815936, 2060187776, 1670466816, 1614513152, 1997982464, 1821709568, 2130707200, 1835466624, 1832347264, 1897143680, 1723881984, 1770466304, 1974355968, 1860353152, 1909765632, 1670285568, 1830181632, 1956713600, 1992396032, 1086822144, 1996472576, 1778226432, 1921425024, 1615249280, 1594411264, 1934324608, 1157717760, 1924436480, 1818913664, 1099925376, 1955431296, 1318342016, 1871761920, 1832227072, 1168725504, 2061965440, 1911069824, 1089864960, 1742854528, 1925809280, 1084402432, 1137651328, 1899838080, 1234203392, 1961785856, 1683079552, 1808086272, 1799633536, 2061368192, 1881913728, 1745951872, 1885672960, 1236994304, 1890200832, 2127795072, 1471757312, 1393270144, 1849213952, 1957985664, 2135713280, 1913948672, 1876574592, 1651319296, 1137176960, 1781087616, 2007840640, 1347361536, 1085340288, 2110157568, 1981602944, 1214603648, 1948191104, 1182843904, 1130345856, 1246869248, 1765592576, 1631259904, 1949121664, 2041584000, 1824443904, 1759861248, 1104620544, 2094389504, 1168124800, 1185662080, 1150996096, 1700809216, 2046344576, 1985272704, 1998176384, 1818127104, 2009887232, 1943831808, 1893040896, 1248799744, 1766712960, 1877746688, 1987135360, 1108299648, 1381168384, 2078392960, 1079664768, 1100296832, 1934321024, 1091838848, 2005733120, 1130046976, 1181199104, 2107492608, 1635927296, 1931641216, 1919941888, 1159930240, 1792530944, 1348538496, 1763865344, 1873293056, 2028990976, 1110505600, 1681791872, 1971688064, 1146314752, 1227316480, 1340171392, 1121450496, 1932693888, 1900966144, 1874740096, 1797985024, 1321818752, 1161497600, 1792877440, 2089821952, 1935404288, 1898348032, 1854794112, 1892540416, 2131191936, 1245549824, 2132598016, 1997759872, 1981606272, 1919530112, 1806857472, 1767815552, 1759542784, 1153447168, 1914396032, 1922745472, 1760764672, 1124309504, 1239887360, 1977369856, 1140953088, 2012152960, 1738111104, 1875465216, 1731492992, 1598812544, 1773121792, 1116386944, 1918278144, 1969815936, 2146599168, 1182113792, 2143537280, 1902833920, 1700817792, 1171289728, 1562995712, 1716186240, 1078413568, 1871078144, 1294732416, 1879274880, 1751484672, 2122483840, 1806400000, 1153535104, 1878437760, 1616739200, 1119516672, 2141995520, 1832257792, 1104628352, 1673302656, 1660716672, 1135138688, 1847865088, 1976668672, 1087564416, 1739696768, 1225799808, 1078887936, 1980112000, 1172309120, 2061181056, 1134396416, 1653734656, 1916939264, 1150934528, 1753995264, 1169962112, 2116238080, 1558353024, 1899826176, 1193841152, 1535622144, 1808905344, 1738037120, 1690142976, 2143292928, 1923358848, 2000739328, 1835686272, 1940939264, 1695216256, 1821274752, 1716633344, 1751842048, 2143876608, 1857356288, 2032232320, 1077563648, 1634487040, 1883389312, 1146139392, 1135106432, 1672247680, 1815368960, 1710871552, 1759882112, 2043507584, 1891753344, 1717643904, 1999375616, 1936171648, 1854128512, 1973690624, 2086810368, 1873004672, 1877634432, 1966681984, 2113722112, 1730738560, 1962148352, 1170197632, 1260359936, 1898421248, 1111395712, 1999542016, 1983414144, 1697993216, 1077628160, 1828715520, 1764500352, 1841109376, 1391117440, 1910699136, 1937500160, 1563065984, 1560740352, 2014634112, 1990635904, 1675563520, 1897180928, 2046200064, 1160213888, 1297889152, 1079031424, 2023897856, 1898102144, 2118460544, 1616823040, 1990644608, 2100658432, 1986067840, 1821115520, 1133770624, 1852014848, 1656766976, 1878728064, 1734582144, 1249863552, 1539524352, 1078365312, 1185117696, 1751935232, 1108867456, 1259474944, 1870549504, 1669380352, 1633347072, 1265612800, 1138138752, 1784695808, 1966913920, 1962183680, 1791073664, 1980409088, 2046774144, 2041915264, 1896198784, 1940809984, 1862100608, 1974756864, 1200853888, 1147524096, 1524190080, 1278438144, 1788530560, 1952008320, 1895217408, 2005171456, 1159293312, 2019467904, 1898358144, 1905209344, 1138816768, 1528822784, 1976935040, 1378422912, 2093159808, 1958788096, 1117903488, 2058879360, 1117321600, 1336736512, 1715540096, 1099409152, 1799004800, 2039811328, 1102252416, 1721189376, 1895734528, 1853135872, 1996956928, 1997441664, 1880691328, 1824032256, 1736084224, 1778582656, 1790023296, 1125144192, 1096977920, 1171573248, 1176768640, 1958880128, 1181676928, 2009318528, 1995507328, 2146610048, 1121173248, 2128502528, 1917286272, 1971234432, 1077222528, 2073735808, 2045711104, 1617063808, 2079932416, 1667125632, 1779734912, 1840984576, 2076302336, 1435729024, 1135690752, 1780759040, 2032195712, 1761848448, 1846968320, 1599680256, 1819744256, 1489620992, 1823257472, 1764895232, 1744267904, 1649368192, 2115366144, 1973170048, 1089883008, 1085446528, 1948351744, 2142519296, 2051105152, 1312253568, 2147260672, 1994112256, 1348866432, 1891214592, 1962265856, 1955828096, 1972497920, 1080860544, 1960355328, 1860859392, 1986984960, 1809708416, 1753015552, 1969119360, 1798588416, 1075123840, 2130772352, 1759158528, 1695075968, 1648143360, 2082060416, 1620948736, 1115484672, 1103799296, 1613099776, 1292181888, 2048338176, 1342884096, 1253674112, 2069823360, 1805114112, 2045079296, 1964086144, 1132700672, 1979048960, 2111563008, 1643702016, 1103400704, 1761369856, 1560880128, 1802183808, 1795723264, 1811957248, 1937313664, 1709424896, 1905114624, 1970054912, 1939370496, 1899628800, 1203430528, 1644760832, 1520329856, 2086624640, 1680160384, 1736416640, 1125751936, 1683997312, 1946914048, 1945896320, 1107564416, 1867720704, 1677995904, 1130946176, 1149010432, 1112715392, 1652710400, 1935551744, 1700946432, 1888111616, 1271617152, 1353040000, 2025149184, 2118238720, 1951634048, 2014774784, 2109319424, 1600887680, 1941235456, 2041545728, 1837887104, 1929906432, 1906582272, 2122750592, 1757740288, 1730172416, 1100566784, 1777468672, 1786821248, 1974819200, 1866253056, 1287745664, 1957204736, 1290229504, 2089436032, 1775668096, 2129591040, 2068413696, 1094921728, 2022596096, 1431769216, 1100995456, 1888546176, 2145478272, 1843223424, 2016939008, 2135539328, 1113179392, 1916921856, 1732163584, 1081224064, 1882674304, 1828075008, 1126526848, 1154963072, 1119537408, 1183328640, 1918272896, 1315516928, 1905848576, 1894661376, 1727993984, 1936135808, 1714738688, 2004781824, 1743570816, 2035984512, 2094322432, 1867019904, 1157610240, 2059815040, 1957453184, 1120326144, 1241539200, 1755975936, 1862685056, 1097814400, 1824606592, 1949695104, 1807935488, 1721231744, 1111208448, 1130344448, 1182561280, 1672917504, 2126556928, 1239037056, 1154124032, 1275568896, 2077993344, 1862946048, 1851840384, 1094619392, 1965303424, 1760916864, 1904173312, 1812231040, 2043654528, 1106788224, 1151318400, 1622392576, 1976356736, 1969023616, 1960720000, 1097602048, 1125272192, 2147411584, 2082889600, 1836509056, 1816070016, 1958403456, 1095023360, 1305489792, 1851888768, 1906278656, 1812715008, 1865948800, 1807412608, 1126749824, 1797411584, 1918428288, 1889244544, 1611566720, 2077059840, 1900534272, 1841205888, 1585193216, 2118126848, 1719880320, 1398195840, 2098880384, 1780841984, 1961815168, 2072387584, 1871027584, 1223849728, 1239399424, 1111096448, 2059757184, 2063420800, 1794665344, 1820960128, 1913310720, 2065574912, 2116597888, 1623078016, 1750530816, 1732453248, 1148682496, 1088891264, 2030235008, 1862209280, 1867365248, 1819531776, 1838812160, 2047380096, 1920985600, 1772404224, 1958502272, 2015224704, 1867762560, 1823848832, 1923058048, 1118202112, 1897555456, 1844580096, 1792139904, 1671966336, 1726551552, 1988135040, 2069856896, 1891015680, 1120090624, 1641249152, 1105694464, 1997498368, 1273257472, 1938092160, 1757212544, 1903785088, 1932954240, 2049165184, 1940655232, 1080673408, 1679306624, 1508477952, 1180213760, 1978989824, 2128387456, 2061319168, 2023130880, 1324760192, 1829373056, 1742796544, 1260495488, 1971169024, 2134200448, 1859192192, 1328890368, 1733781504, 2051629184, 1122360960, 1661321856, 1153856768, 1182855296, 1702382848, 2033828224, 1963780096, 2120579840, 1089097088, 1875281664, 1750738816, 1180271872, 2087864960, 1782843648, 1083462784, 1740858880, 1820797184, 2053338624, 2042781056, 1840054016, 2143668864, 1100006400, 1812874112, 1945686400, 1763406976, 2121446400, 2049543936, 1868255104, 1790981888, 1114728960, 1810217088, 1119817600, 1777460096, 1115006976, 1077783040, 2075388032, 1926982272, 1870349568, 1860907520, 1149960448, 1724448896, 1610278912, 1918264320, 1988965888, 1851282560, 1707367168, 1780302720, 1948385536, 2064665728, 1943848832, 1631344768, 1652875520, 1315032064, 1851193856, 1882967424, 1843605376, 2067367424, 1920821632, 2055070848, 1078281088, 1595922944, 1104848512, 2104558080, 1098392704, 2065586432, 1995122816, 2147036544, 2045014016, 2043267072, 1193619456, 1096506880, 1877395072, 1166337792, 2090189824, 1832139392, 2134908544, 1770456960, 1879277184, 1191223680, 1981348352, 1974121088, 1245474048, 2033061888, 1763286144, 1136009472, 1735529088, 1927258368, 1893616384, 2134216576, 1812006912, 1894013824, 1683116032, 1900156800, 2112120960, 2110735104, 1890943232, 1091020032, 1526452992, 1890053504, 1866823552, 2091271424, 2020003968, 1666457600, 1919342976, 1078341376, 1898754688, 2040729856, 2074490112, 1254090624, 1951966848, 1748637696, 1682779136, 1968772096, 1951623296, 2134333312, 1099015296, 2073442176, 1831116672, 1996924672, 1474947840, 2106274048, 1516100096, 1835340288, 1242814208, 2146572672, 1964999552, 1857740800, 1081947648, 1823476096, 1834750080, 1147804544, 1680557312, 1699613184, 1834275712, 2086458496, 1111830272, 2059566848, 1211155328, 1239411456, 2000093184, 2094225408, 1208780160, 2034379904, 1610204416, 1887478784, 1082384896, 1868935424, 1616031360, 1911309184, 1871031296, 1679051904, 1720237568, 2122083200, 1948916608, 1076802048, 1751606400, 1653511168, 1403537408, 1142469760, 1862561536, 1784553600, 1313166208, 1826446080, 1082206080, 1550173440, 1206903680, 1631467904, 1828536192, 1972009728, 1224497792, 1993556224, 2082881152, 1806811008, 2062272768, 2146603904, 1978085248, 1870688256, 2033485696, 1869766272, 1571745280, 1898599296, 1223691904, 2138836608, 1766403328, 1179476736, 1913982336, 1160670336, 2115254400, 2100819584, 1898886144, 1819696000, 1723726464, 1611006720, 1840838528, 1832835840, 2099963520, 1791393536, 1795810560, 1733220352, 1960138112, 1957947136, 1883554688, 1816948736, 1791745280, 1951209728, 1093669248, 1816308480, 1962473856, 1916215808, 1688430592, 2018192640, 1773823104, 1776888832, 1296640384, 1113400960, 1917718912, 1821011328, 1907443200, 1819848448, 1503099008, 1132307072, 1415193728, 2018465280, 1860637056, 2057335936, 1091121408, 1773643008, 1552529792, 1852781056, 2053948288, 1365277696, 1841096448, 1482499200, 1700402944, 1323694080, 1655542400, 1985183744, 2071987072, 2042295040, 2022833024, 1803940224, 2005840256, 1120279296, 1740793984, 2001918336, 2050017280, 1198286080, 1135463808, 1083395456, 2125029376, 1928070400, 1975544448, 2092933760, 1792638592, 2046266496, 1776293504, 2071226240, 1091391616, 1943345664, 1922546816, 1648144384, 2064779776, 1972745344, 1913048064, 1192419456, 1991720960, 1216964736, 1781796992, 2086205952, 1996065792, 1961444864, 2051696512, 1740118912, 1172580352, 1209680384, 1821124224, 1934685696, 2008657408, 1180884352, 2101484288, 1081781248, 1807592704, 1898029312, 1921222784, 1775322496, 1308238208, 1646633472, 1736468096, 1703194368, 1912328064, 1163179520, 1090164224, 1215416192, 1362765184, 2125211264, 1502804992, 1076749056, 1482996992, 1181338880, 2009033856, 2048549760, 1937303552, 1669704448, 2049944320, 2119184640, 1554668544, 1780873344, 1076765696, 2047642496, 1854739968, 2040362240, 1191349120, 1504135040, 1636312192, 1909466752, 1856528512, 2099967872, 2023255040, 1086003456, 1815583744, 1972972672, 1714240128, 2135342464, 1183889024, 2028214656, 1118528128, 1976087936, 2032043520, 2020558848, 1738240384, 1616975744, 1846487808, 1886515200, 2144507648, 1089732480, 1577743744, 1689499520, 1815864576, 1226551424, 2102714240, 2067465856, 1079269888, 1870785024, 1805994112, 2138337664}; +static const int8_t CONV27_N_ZERO[] = {1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 4, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 2, 4, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1}; + + + Layer 28 Learned Parameters +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-46, 14, -114, -116, 11, 3, -64, 5, -49, -47, -58, -106, -60, -44, -62, -49, -38, -48, 13, -52, -39, 42, -22, 14, 13, -29, 18, -29, 40, 16, 7, -9, 26, -91, 35, -75, 26, -82, 30, -13, -17, 7, 5, -75, 25, 31, 35, -33, -94, 0, 51, -74, 41, 82, -13, -30, 0, -22, 45, 43, -1, 65, -13, 71, 44, 8, -41, -31, 4, 24, -68, -3, -31, 2, -34, 62, 20, 80, 55, 90, -85, -13, -4, -165, -75, -8, -78, 31, -14, 59, -57, -94, -5, -16, -31, -105, 16, -114, -127, -53, -70, -89, 8, 104, 53, -52, 62, -32, -102, -151, -71, 172, 51, -35, 22, -106, -69, -64, 6, -48, -90, -42, -32, -119, -11, -69, -7, -73, -62, -40, -78, -73, -44, 16, -114, -169, -84, -120, -49, -90, -118, -82, -115, -97, -99, -22, -16, -122, -53, -49, 12, 91, -172, 83, -21, 17, 28, -74, -90, -30, 3, 49, 134, 20, -17, -58, -96, -138, 12, -29, 41, 144, -11, 16, 104, -81, -46, -21, 102, 44, 40, -40, 50, -68, 35, 93, 17, 22, -22, 32, -24, 76, 80, -51, -19, 139, 47, -4, -25, 70, -83, 42, 25, 106, 87, 16, -84, 15, -6, 50, -26, 28, 17, -73, 29, -9, 6, 111, 39, 38, -21, -62, 0, 158, -118, 62, -21, 3, -104, 69, -15, -48, 42, 14, 28, -40, 39, 76, 46, 126, -11, -57, 14, 4, -1, 69, -88, 47, -33, -60, 27, 50, 2, -35, 96, -35, 13, 50, 8, 4, 45, 5, -43, 38, 31, 7, 64, -54, -93, -28, 64, -28, 23, 14, -78, -59, -7, -25, -92, 15, -47, 109, -44, -37, 104, 41, 24, -24, -59, -18, -42, -37, -32, -84, -34, -26, 10, 33, 24, 64, -101, -22, -71, -50, -104, 82, 53, -57, -58, -72, -8, -17, 30, 123, 105, 31, -14, -65, 22, -46, -89, -140, -147, -119, -62, -129, -135, -47, -52, -58, 11, -43, 10, 14, -17, -59, 55, -39, -92, -90, -33, -9, 3, -27, -20, -25, 23, -3, 0, -47, -32, -81, -103, 5, -3, -50, -3, -75, -5, 88, -8, 50, 39, 16, 40, -14, -14, 74, -76, 62, -47, -73, -42, 42, -26, -74, -17, -42, 19, -1, -45, -1, 16, -1, -119, -42, -50, -58, -65, -63, -62, 24, -98, -120, -44, -37, -153, -88, 9, 95, -35, 48, 28, -50, -139, 7, -36, -42, -82, -71, -15, -31, 70, 68, 71, -20, 105, -55, 74, 102, -19, 88, 20, 97, 58, 8, -151, -68, 55, 12, -37, 23, -28, 5, -4, -7, 47, -36, -13, -20, 81, 25, 8, 8, 19, 109, 75, 31, 124, 17, 32, 0, -21, 43, 22, 14, 64, 47, 14, 98, -5, 86, 3, 15, 105, -3, -35, -47, 101, -31, 60, -35, -19, 13, -44, 19, -151, 51, 52, -19, 19, 20, -23, -35, -106, 16, 3, 74, 7, 36, -100, 23, 63, -42, 6, -34, 40, -69, 24, 23, -34, 25, 4, 11, 65, -11, 91, -13, -8, -38, -66, 16, 0, 24, 0, 51, 0, -60, -25, 48, -54, -27, 42, 158, -54, -26, 43, -15, -66, 89, 64, -38, -2, 34, 32, -28, -35, 20, 26, 126, -117, -1, 39, 49, -25, 28, -26, -160, -93, 52, -28, 58, 0, -24, -95, -40, -28, 61, 4, 26, -29, -10, -33, 108, -70, -35, -49, 60, 9, 0, 12, -1, 28, 4, 29, 29, -41, 6, -7, 65, -41, -46, -25, -1, 78, 24, -76, 130, -2, 65, -23, -18, -35, 46, 5, -74, 42, 81, -57, 72, 70, -11, 25, 40, 0, 46, 95, -37, 106, 4, 76, -56, -2, -20, 31, -12, 10, 69, 32, -63, 117, 34, 64, 199, 45, -54, 109, 97, -55, 86, 83, -13, 84, 50, 29, -66, 82, 4, 67, -70, -107, -15, 3, -14, 99, -44, 116, -59, 66, 31, 81, 6, 25, 46, 27, 146, 41, 44, 66, 44, 42, -113, 76, -34, 67, 59, 7, -1, -78, -57, 38, 68, 42, 71, 72, -64, -91, 121, 93, 17, 25, 39, 49, 68, 27, -57, 35, -74, -101, -94, -92, -14, 103, -60, -32, 113, 36, 1, 16, 1, 74, -31, 2, 105, 89, -94, 32, 7, -10, 5, -4, 123, 42, -12, 51, -53, 92, -33, 53, 72, 25, -48, 79, -16, -115, -68, 42, -55, 29, 29, -19, 76, 11, 36, -40, -12, 19, 41, 60, 36, 12, 21, -37, 100, 23, 20, 25, -1, 37, 87, 7, 12, 37, 3, -15, -46, 20, -100, 49, 32, 43, 124, -30, 3, 55, 35, -60, 53, -37, 79, -16, -64, 17, 41, 89, 2, 48, 186, -70, -40, -66, -30, 43, 48, 23, 57, -9, -52, 30, -37, -74, 79, 39, -25, 51, 9, 19, 43, -38, 72, -57, 0, -44, -5, 20, 30, -11, -25, -20, -17, -108, -56, 39, 28, -66, -25, 62, 5, 29, 8, -79, -17, 27, 78, 65, 3, -45, -77, 81, -17, 55, 31, -40, -53, 116, -34, 58, 97, 124, -43, 15, 29, 36, 39, 77, 152, -26, 24, 27, 9, 98, 20, 18, -40, -32, 49, -138, -29, 68, 68, -43, 77, -15, 18, -32, -9, -20, -5, 85, 8, 28, -80, 74, -80, -195, 12, 27, 34, -89, 110, 149, 17, 59, 12, -1, 175, -51, -71, 7, 25, -26, -42, 64, 104, 13, 30, 62, 40, 55, 20, -29, -38, 48, 94, 89, 100, 49, 60, -33, 6, 22, 90, -25, 21, -88, -32, -48, -50, -16, 179, 47, -5, 13, 33, -128, -46, -100, -27, -31, 129, 63, -21, -20, -135, 7, -32, 21, -77, -76, -28, -33, -38, -2, -21, -55, -1, -74, -68, 1, -4, -8, -39, -25, -20, 23, 17, -74, -36, 18, -140, 15, 48, -49, -87, -73, 5, 90, 72, 23, 13, -18, 67, 16, -80, 37, 61, 44, 111, 55, -33, 59, 19, 69, -58, -20, 32, -79, 22, -38, -14, -4, -89, -58, -154, -39, -59, 2, -51, 25, 42} +#define FC28_W_Z (2) +#define FC28_IN_Z (0) +*/ + + +#endif /*__224_1_0_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/128_0_25_parameters.h b/Inc/intq-mobilenet-v1-models/128_0_25_parameters.h new file mode 100644 index 0000000..711fda2 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/128_0_25_parameters.h @@ -0,0 +1,361 @@ +#ifndef __128_0_25_PARAMETERS_H__ +#define __128_0_25_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (128) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (8) +#define CONV1_OUT_DIM (64) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (64) +#define CONV2_IM_CH (8) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (8) +#define CONV2_OUT_DIM (64) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (64) +#define CONV3_IM_CH (8) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (16) +#define CONV3_OUT_DIM (64) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (64) +#define CONV4_IM_CH (16) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (16) +#define CONV4_OUT_DIM (32) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (32) +#define CONV5_IM_CH (16) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (32) +#define CONV5_OUT_DIM (32) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (32) +#define CONV6_IM_CH (32) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (32) +#define CONV6_OUT_DIM (32) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (32) +#define CONV7_IM_CH (32) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (32) +#define CONV7_OUT_DIM (32) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (32) +#define CONV8_IM_CH (32) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (32) +#define CONV8_OUT_DIM (16) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (16) +#define CONV9_IM_CH (32) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (64) +#define CONV9_OUT_DIM (16) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (16) +#define CONV10_IM_CH (64) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (64) +#define CONV10_OUT_DIM (16) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (16) +#define CONV11_IM_CH (64) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (64) +#define CONV11_OUT_DIM (16) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (16) +#define CONV12_IM_CH (64) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (64) +#define CONV12_OUT_DIM (8) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (8) +#define CONV13_IM_CH (64) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (128) +#define CONV13_OUT_DIM (8) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (8) +#define CONV14_IM_CH (128) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (128) +#define CONV14_OUT_DIM (8) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (8) +#define CONV15_IM_CH (128) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (128) +#define CONV15_OUT_DIM (8) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (8) +#define CONV16_IM_CH (128) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (128) +#define CONV16_OUT_DIM (8) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (8) +#define CONV17_IM_CH (128) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (128) +#define CONV17_OUT_DIM (8) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (8) +#define CONV18_IM_CH (128) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (128) +#define CONV18_OUT_DIM (8) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (8) +#define CONV19_IM_CH (128) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (128) +#define CONV19_OUT_DIM (8) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (8) +#define CONV20_IM_CH (128) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (128) +#define CONV20_OUT_DIM (8) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (8) +#define CONV21_IM_CH (128) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (128) +#define CONV21_OUT_DIM (8) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (8) +#define CONV22_IM_CH (128) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (128) +#define CONV22_OUT_DIM (8) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (8) +#define CONV23_IM_CH (128) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (128) +#define CONV23_OUT_DIM (8) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (8) +#define CONV24_IM_CH (128) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (128) +#define CONV24_OUT_DIM (4) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (4) +#define CONV25_IM_CH (128) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (256) +#define CONV25_OUT_DIM (4) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (4) +#define CONV26_IM_CH (256) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (256) +#define CONV26_OUT_DIM (4) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (4) +#define CONV27_IM_CH (256) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (256) +#define CONV27_OUT_DIM (4) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (256) +#define FC28_OUT_CH (1000) + + +#endif /*__128_0_25_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/128_0_25_weights_bias.h b/Inc/intq-mobilenet-v1-models/128_0_25_weights_bias.h new file mode 100644 index 0000000..a3722f7 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/128_0_25_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __128_0_25_WEIGHTS_BIAS_H__ +#define __128_0_25_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {-10690233, 87272, 165629, 281718, -39586, 1125267, 93965, 325228} +#define CONV1_WT {0} +#define CONV1_W_Z (137) +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +#define CONV1_M_ZERO (1431657856) +#define CONV1_N_ZERO (1) + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {-220, 1839, -4837, -8562, 10432, -75554, 62451, 23916} +#define CONV2_WT {0} +#define CONV2_W_Z (137) +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +#define CONV2_M_ZERO (1431657856) +#define CONV2_N_ZERO (1) + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {-9129, -26719, 28250, -16987, 53023, -21144, -18879, 57693, 177, 12668, -27650, -11480, -2557, 58472, -8922, -1681129} +#define CONV3_WT {0} +#define CONV3_W_Z (137) +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +#define CONV3_M_ZERO (1431657856) +#define CONV3_N_ZERO (1) + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {27, -2171, 77612, 5493, -18065, 43671, 4610, 91, 44367, 343588, 94144, 16209, 2953, -907, 202537, -458} +#define CONV4_WT {0} +#define CONV4_W_Z (137) +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +#define CONV4_M_ZERO (1431657856) +#define CONV4_N_ZERO (1) + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {-37383, -16398, -23510, -19341, -111, -9237, 10952, -24839, 62298, -11883, 6938, -3878, -18981, 615, 8856, 4483, 23717, -6784, -73407, 61593, 2549, -3309, 8540, 45039, 61646, 4171, 6042, 20040, -43915, -2832, -5387, 49315} +#define CONV5_WT {0} +#define CONV5_W_Z (137) +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +#define CONV5_M_ZERO (1431657856) +#define CONV5_N_ZERO (1) + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {-2032, -384, 14658, -4989, 20514, 124685, 38857, 167, 74048, -46, 62239, 593, 26346, 36584, 2509, 2389, 1167, 10380, 27044, 11391, -9034, -285, 40210, 1053, 58407, 91061, 222, 39184, 9624, 295, 7120, 48075} +#define CONV6_WT {0} +#define CONV6_W_Z (137) +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +#define CONV6_M_ZERO (1431657856) +#define CONV6_N_ZERO (1) + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {69324, 106108, 12458, -15146, 32817, -34002, -13719, 19749, -16915, 8394, 23816, -11633, 7496, -19320, -37187, 91701, 336, 29143, 28615, 51869, 12910, 59191, 16058, -18795, 65176, 36131, -67652, 42732, -28975, 109316, 48687, -30732} +#define CONV7_WT {0} +#define CONV7_W_Z (137) +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +#define CONV7_M_ZERO (1431657856) +#define CONV7_N_ZERO (1) + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {-326, -24223, 243415, 41330, 77, -3530, 151072, 2394, 49230, -1713, 37728, 93432, 63631, 167222, 390, 17372, 4074, -651, -6201, 7121, 259154, 198607, -54779, -601, 265912, 3965, 27489, -843, 1155, 48054, -102499, 4837} +#define CONV8_WT {0} +#define CONV8_W_Z (137) +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +#define CONV8_M_ZERO (1431657856) +#define CONV8_N_ZERO (1) + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {49720, -6308, 14654, 39107, 31873, -36513, 16321, 27379, 32111, 100794, 23918, 16566, 13388, 22323, -1701, 16808, 5325, -27023, 8529, 48223, 20722, -8131, 27218, -16887, 14590, -1114, 8588, -21633, 29564, -18286, -14076, 62415, 22234, 24745, 32701, 44996, -11267, 19484, -12261, -5665, 80369, 87199, -18468, 50487, 20463, -1267, 30231, 17488, 20948, 17428, -31608, 29988, 19043, 22469, 4368, 85467, 34733, 36432, 40168, 10024, -4731, 122664, -5332, 20105} +#define CONV9_WT {0} +#define CONV9_W_Z (137) +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +#define CONV9_M_ZERO (1431657856) +#define CONV9_N_ZERO (1) + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {188, -8023, -646, 12120, 372, 447, 41680, 112888, -668, 1556, 42854, 366, 29862, 3514, 7750, -24746, 500, -87, 42700, 3018, 66749, -11272, 329, -1749, 3712, -967, -124, 41634, -2832, 12602, 19591, 52, 41119, -233, -2208, -20, 19335, 42006, 146307, -1722, -5053, 78484, 31365, -7426, 12184, 3587, 13181, 21227, -1383, 756, 5478, 143473, 40669, -16116, 11013, 39098, -8118, 42733, 10, -11689, 45020, 76, -13913, -145} +#define CONV10_WT {0} +#define CONV10_W_Z (137) +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +#define CONV10_M_ZERO (1431657856) +#define CONV10_N_ZERO (1) + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {-705, 59359, -5479, -441, 17598, -8153, -31617, -38653, 20285, 16425, 20309, 41107, -43163, 3563, -2828, -35590, -185, -10888, -37314, -13939, 42357, -26062, 59402, -25024, 16633, -13043, -22287, 13062, 59276, 627, 2628, 9127, 17161, 11340, 41093, 15118, -7485, 11719, -6246, -6762, -10590, 50009, 54276, 4704, 11514, -52811, 14376, 11594, 6895, 3047, -17979, -15591, -30821, 16658, -4394, -24969, -8544, 16280, 2545, -1608, -23260, 19850, 38578, -53408} +#define CONV11_WT {0} +#define CONV11_W_Z (137) +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +#define CONV11_M_ZERO (1431657856) +#define CONV11_N_ZERO (1) + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {3803, 266817, 35662, 971, 11318, 12288, -745, 3070, -3836, 308405, 130329, 208806, 14149, 957, -1611, 205, 135349, 89121, 9786, 7902, 225056, 6752, 143549, 830, 11324, 151502, 266762, -503, -30243, 200587, 116139, -315, 8121, 13779, 2723, 210309, -186, 85247, 186154, 5843, 174356, 249, 270523, 98572, 167543, -169, 1566, -2765, 23639, 3039, 269299, 71192, 1006, -44697, -534, 95882, 76265, 267675, 1518, 318445, 12517, -421, 5023, 11864} +#define CONV12_WT {0} +#define CONV12_W_Z (137) +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +#define CONV12_M_ZERO (1431657856) +#define CONV12_N_ZERO (1) + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {61221, 45399, 108978, -8567, 49602, 86997, 4583, 44872, 95921, 86014, 75949, -7435, 4663, 28154, 1027, 15986, 65292, 37245, -4196, 181058, 10672, 69789, 39678, 34344, 65001, 87079, 24779, 43049, 9721, -27437, 30426, 29484, 119496, 69641, 18900, 20216, 20809, 31267, 51879, 48563, -33315, 6265, 957, -3489, 23549, -15466, 20196, 43593, 7494, 43186, 64029, 44091, 15312, -17526, 112920, 26808, 53438, 17045, 57224, 43103, 47823, 60922, -4565, -11878, -12271, 60191, 22263, 20597, 13221, 24478, -21425, 60877, 26149, 78308, 3769, -23052, 47428, 40560, 20332, 11625, -40540, 12809, 27958, 30056, 12965, 78273, 99809, 97045, 49869, 8321, 34783, 56104, 48588, 56558, -36528, 60599, 25077, -8845, 19924, 44059, 18271, 46936, 57001, 63877, -18427, -28605, 25628, 21200, -18877, 58101, 9173, 26175, 40549, 9111, -9298, 32174, 41510, -4246, 112818, 20275, 38035, 22584, 19799, 44153, 27582, -14784, -13293, 33717} +#define CONV13_WT {0} +#define CONV13_W_Z (137) +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +#define CONV13_M_ZERO (1431657856) +#define CONV13_N_ZERO (1) + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {74609, 480, 1339, -2529, -2498, 400, 24, 47531, 76156, -1046, -1002, 376, 602, -141, -5743, 160, -2874, 949, 13978, 28123, 776, 23057, 220, 47184, -953, 32038, 13385, 3499, 135851, 2988, 38770, -3923, 9584, -106, 1572, 1982, -2555, 17158, 3609, 2800, 1944, -67, -1922, 4857, 27438, 19194, -12838, 1951, 40697, -7648, 52223, 14523, 20591, 569, -1148, 3972, 14566, 953, 536, -3846, 47762, 587, 52810, -778, -7, 66930, 1864, 135434, 23047, -374, -24337, 8224, -7606, 3381, -8490, -258, 306, 5831, 504, 161, -15766, 1090, 33068, 31631, 445, 46277, 6589, 472, 341, 5669, 12186, 8253, 2961, -387, 736, 406, 57257, -56, 14438, -7936, 8307, -7530, 854, -1779, -6, 493, 468, -10196, 105585, -927, 180, 6737, 12635, -12343, 14794, 20248, 143, -10922, 1602, 638, 15066, 33, -54, -12858, 469, 5026, 8546, -2008} +#define CONV14_WT {0} +#define CONV14_W_Z (137) +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +#define CONV14_M_ZERO (1431657856) +#define CONV14_N_ZERO (1) + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {55092, 36080, 33199, -28262, 74727, -5732, 39682, -3132, 30537, 43444, 44755, 30722, -23548, -26826, 93545, 8189, 37719, -55747, -50182, 48114, 19584, 88170, 8353, 40308, 15163, 90065, -11523, 22972, -516, 34684, -14376, 28916, 16469, 589, -750, 1994, 64292, 64340, 19244, 6576, -6122, -5588, -1273, 12786, 30033, 19168, 38290, -19600, 83925, 11634, 13404, 7180, -20072, 4464, 6005, -21375, 57508, -20768, -1998, 39117, 56149, 80125, 29955, -10236, 60173, -3338, 33246, 40537, 27027, 10744, 44195, 34267, -20281, 23073, 51691, 82618, 27723, 13347, 82378, 4527, 19776, 35397, 52836, 53118, 89422, 82533, 2117, -3621, -30209, 4293, 50495, -21510, -9830, 28537, 13994, 23377, -28464, 23128, -13267, 6623, -34468, 50011, 21374, 36491, 13994, 2444, 4255, -9684, 4636, -22041, 35371, -5844, 8100, 34289, 5790, 15759, 4056, 18306, 118811, 67371, 88604, 40213, 44899, -26715, 53778, 25354, -13256, 45674} +#define CONV15_WT {0} +#define CONV15_W_Z (137) +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +#define CONV15_M_ZERO (1431657856) +#define CONV15_N_ZERO (1) + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {-24792, -604, -15880, 14639, -4727, -14231, 35201, -19940, 13489, 2691, -18698, 34528, 148194, 43235, 40703, -11171, -5529, -15100, -5351, 16230, -24112, 44743, 40007, 5873, 1427, -16516, -23260, 92838, 81245, 10900, -2701, 87053, -20960, -25064, 42789, 26572, 2767, -29669, -30461, 13364, 11760, -374, 4058, 27805, 33457, 23326, 302, -3874, 2882, -1535, -21170, 39397, 89835, -15141, -7065, 97130, -3459, 1440, 74965, -533, -798, -34215, 2091, 9191, 10327, 97319, 36283, 2052, -14781, 10851, -12641, -8115, -3041, 547, 28609, -115, -8689, 15219, 34381, -18443, 180198, -17874, -652, 6904, 9466, 51873, 21905, 22796, 650, 19497, 20134, 7901, 6086, 57575, 13880, 3095, 25273, 48727, -1589, 76059, 863, -958, 42860, 4071, 17984, 5721, 30, 161525, -3540, 28103, 36357, 6828, 125594, -4498, 6540, 27617, -9835, -21772, -12391, 30833, 34422, 2467, -7382, -2650, 3682, -18926, 5880, 6906} +#define CONV16_WT {0} +#define CONV16_W_Z (137) +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +#define CONV16_M_ZERO (1431657856) +#define CONV16_N_ZERO (1) + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {5668, 7718, -21969, 23590, 44256, -5932, 36981, -37380, 52178, 27873, 45948, 84951, 8555, 35892, 91114, 19692, 41704, 77094, 37015, -9009, 74492, -21096, 3727, 45898, 55701, -23033, 76202, 81331, 18343, 84756, 3422, 10127, 5633, 9598, 8556, 32056, -33807, 9848, -4334, 18865, -22723, 1192, 71761, 12354, 47803, 27380, 6414, 6709, 85574, 33951, -2446, 73781, -5334, 50925, 10187, -35922, 25413, 83171, 59393, -8422, -2730, 56514, -17108, 135116, 22625, 20033, 22444, -16468, 32658, -24171, -14643, -25534, -4326, 61046, 26585, 20740, -59395, 14766, 44192, -12397, 64405, -39005, 13702, -44180, 56902, 74144, -6391, 9354, 60308, 31226, 10824, -2364, 46215, -19650, 23739, 14820, -22632, 23281, -3596, 25639, 47944, 61141, 47539, -22380, 78542, 24574, 45886, 66815, 12862, 5017, 19495, 43409, 50125, 25847, 29477, 26163, 10544, 8836, -5197, 10834, 84985, 59860, 49955, 33877, 71006, 5558, 27154, 92047} +#define CONV17_WT {0} +#define CONV17_W_Z (137) +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +#define CONV17_M_ZERO (1431657856) +#define CONV17_N_ZERO (1) + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-14601, -18698, 32089, -1716, 5961, -10302, 159, 11300, -6542, 30290, 24949, -9495, -2507, 5352, 36238, 30170, 69732, 11466, 12198, -34141, 30341, -23288, -3798, 13896, -14185, -3492, -4326, 2740, 3148, 51681, -6031, 18325, -1102, 158, 55734, -1838, 4194, -83, -9402, -1484, -13457, -839, -5330, 26685, 14881, 50417, 92221, 5752, -35061, -12554, 84440, 19109, -7067, -5736, 49328, 30451, -5710, 77, 11895, 19867, 69643, 626, -8920, 29474, 29416, 59089, -1834, -13763, 8290, -11066, -5614, 2223, 37368, 33250, 6892, 38154, -2410, 13317, 40344, -4879, 30075, -4438, 17790, -1980, 17644, 28639, 27, 25084, 24364, -6943, 39758, -2181, -3417, -35029, 12359, 56998, 35909, 3291, 87148, 77902, 34735, -5502, 31935, -11468, 983, 30399, -13968, 112171, 23280, 69326, 147106, 34989, 89763, 3638, -3464, 46568, -1499, -2145, 120, 16510, 40217, 11086, 16070, -14264, 26292, -20290, -56, 78697} +#define CONV18_WT {0} +#define CONV18_W_Z (137) +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +#define CONV18_M_ZERO (1431657856) +#define CONV18_N_ZERO (1) + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {1803, -17796, -16035, 2932, 7120, 71398, -7701, -13600, 276, 40708, 12057, -9421, 14163, 7621, 41643, -18400, -40065, 46284, 48175, 7178, -18852, 35857, 48046, 37299, 44245, -15840, 38899, 16147, -4040, 64289, 16400, 6556, 32584, -66977, 29704, -16539, 6922, 900, 45612, 6182, 32995, -5513, 50233, 3856, -28384, 16293, 350, 31320, 1955, -13030, -27369, 17587, 60952, 6604, 17533, -35414, 8510, 11296, -18154, 9808, 37802, -35251, 21964, -227, 37295, 97963, 74075, -17105, 5585, 7787, -18194, -36338, -66243, -2029, -13131, 7497, 26038, -25561, -2690, 27219, 13740, 153866, 81166, -45476, 2169, 16, 37266, 9392, 8124, -3263, 105896, 50063, 4407, 20749, -12315, -2362, 29202, 33417, 28252, 54052, -39523, 40234, 18828, -28233, 67572, 7935, 28213, 18435, 26613, 16870, -6670, 41895, 5797, -13485, -40630, -15244, 58404, 33888, 53028, 8226, -20914, 14897, -28108, 5757, -35084, 47737, 3519, 31748} +#define CONV19_WT {0} +#define CONV19_W_Z (137) +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +#define CONV19_M_ZERO (1431657856) +#define CONV19_N_ZERO (1) + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {32157, -6877, -16617, 57878, 68995, 9060, 6434, 79967, -9858, -15548, -921, -23891, 41802, 6992, 8471, -3800, -15923, 24745, 21115, 11398, 10776, 36391, 8696, 3966, -9576, -6753, 334, 29287, 27022, 19162, 72107, 81427, 8600, -24757, 71890, -8958, -2869, 145768, 18360, 78482, 20224, 13636, 27555, 129977, 71114, 75, -19117, -687, 83882, 52825, 97345, 25824, 36188, 53641, 2847, 3476, 21934, -15743, 8493, 51554, 62468, 3835, 22131, 66391, -5442, 24044, 36242, 49, 21606, -19919, 1098, 19000, -2702, 11044, 15681, -24766, 54894, -12576, -11874, 23241, 32099, 22659, -13078, 54, 149027, -15692, 108121, 1917, -13508, 31296, 20235, 24036, 44063, 28568, -13833, 4954, 10164, -3381, 86807, 52453, 140960, 102084, 82476, -18018, 30844, 75999, -5627, 52172, 5202, -3835, 22922, 15555, 50155, 81027, 175179, -5612, 38996, 406, 19851, 4841, -4821, 8482, 68320, 2513, -45368, 24918, 79756, 58148} +#define CONV20_WT {0} +#define CONV20_W_Z (137) +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +#define CONV20_M_ZERO (1431657856) +#define CONV20_N_ZERO (1) + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {16999, -2954, 6654, 9364, -13167, 11894, -389, -19831, -8941, -19238, -80782, 31263, -9968, 8203, 1216, -27999, -1786, 27728, 7206, 61974, 33808, -59328, -24652, 87799, -14781, 25431, 40063, -3184, 6842, -944, 10164, 11154, -31832, 69100, -11472, -16513, 2931, 2963, 22983, 60494, -54909, 70678, -40284, 19002, 42989, 79687, 74333, -16007, 23997, -58338, -10907, 15635, 51459, 26230, -49678, 29643, 18003, 44115, -30899, 69565, 92966, -8793, -31548, -15810, -47532, -959, -21201, 36032, 60083, 55417, 9726, 27271, 11059, 24736, 10963, -17607, 50025, -24132, -18773, -4925, 12008, 45797, -2919, -27589, 90019, 5197, 46557, -6763, -48185, 60915, -9280, 38445, -22235, 21696, -5794, -5376, 45350, 53682, -52335, 51872, 10014, 1875, -25338, -36934, -9228, 3131, -649, -8727, -61211, 17778, -13278, -12447, -7664, -31677, 108978, 72502, -17161, -22757, -34243, 6317, -36323, 7490, 34468, -1564, 61986, 69884, 18881, -4022} +#define CONV21_WT {0} +#define CONV21_W_Z (137) +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +#define CONV21_M_ZERO (1431657856) +#define CONV21_N_ZERO (1) + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {153631, 69440, -15447, -1853, -1704, 112810, -6451, 70379, -3630, -34277, -5386, -7735, -10720, 190771, 102371, 2302, 67143, -982, 46409, 71023, -2441, -7692, -3111, 44557, -3371, 81825, -1235, -96, -17603, 3970, -9158, -2264, -28866, 155309, 41756, -28241, -5868, -22194, 86164, -21767, 77509, 164303, -1174, -10310, -2, 172992, -9983, 89101, 48148, -7010, -18497, -3987, 35988, 108887, -6484, -12139, 68136, 106167, 148804, 121998, 183313, 265214, -1453, 80037, -3350, -5643, -529, 242953, 24117, 14491, -8697, 185663, -20767, -5149, 85807, -11861, 35727, 130324, -9570, -16, 141245, 59830, 133893, -52, -2905, -4741, -2321, -3294, -29082, -6573, -9295, -1088, -3014, -16724, -6796, -2651, 37634, -13583, -13310, 26771, 87959, -5221, 124483, 144173, 9953, 62910, -7873, -11239, -12969, 25719, -3849, -6251, -4988, 89073, 56152, 34612, 1774, -6113, -6746, -4335, -21866, 950, 70040, -14627, 119550, 81128, -9302, 106114} +#define CONV22_WT {0} +#define CONV22_W_Z (137) +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +#define CONV22_M_ZERO (1431657856) +#define CONV22_N_ZERO (1) + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-33805, -93461, 4705, -67542, -18223, -7064, -47721, 35239, 26182, -12281, -22162, 26312, -41465, -60571, -29482, 9584, 7982, 16499, 70166, -57730, 25809, -34929, 25216, -34895, 18007, 14390, -25136, 21172, -25162, 28276, 57991, 20107, 4698, -30652, -64877, -26373, 77927, -12543, -18158, 79999, 30659, 4634, 13997, -39120, 72647, -24706, -65328, -2458, -12548, 145917, 13332, 18103, -7193, 45649, 12611, -30830, -18528, -65396, -1421, -46211, 11046, -23425, -24215, -46788, -4684, -17924, -31196, -66238, 3308, 23170, -12641, 33728, 15536, -869, 40612, -50147, -3249, 44797, -24357, 20571, -6109, 5977, -20832, 48284, -26207, 25493, 6784, 38937, 62545, -31041, -13524, 73440, -27788, -44954, 10286, 48475, 39411, -12862, 7302, 12534, -34980, -35256, 5536, 93154, -11107, 60379, -37281, 26895, 24976, 61759, -10468, 7012, -62198, 56816, -47537, -9377, -6722, -14060, 43787, 34028, 17445, -30007, -1022, -5323, -70233, 80280, 11207, 26326} +#define CONV23_WT {0} +#define CONV23_W_Z (137) +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +#define CONV23_M_ZERO (1431657856) +#define CONV23_N_ZERO (1) + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {199131, 2442, 177052, -36, -4407, -1588, 198350, 21492, 178364, 544, 178169, 198569, 179003, 135844, -274, -594, 157300, -1571, 80377, -82, 70788, -46, -1444, -32, 170558, -944, -5408, 122261, -568, -3183, 11880, 2985, 209207, 1365, 1566, 204949, -7126, -1358, -403, 154305, -580, 3986, 148910, -449, 110896, -19970, -7128, -9322, -662, 100168, 207208, 63787, 173214, 96339, 139531, -916, -1433, 175216, 156709, -213, 76646, -1367, -1864, -49, -23965, 5482, -2272, -812, 387, 107034, -145, 129326, 176788, -27, 124811, -450, 175645, 91282, -508, 23009, -1773, 160464, 109136, 208884, -1583, -8750, 186734, 150669, 95902, -313, 77987, 79377, -56493, 177770, -1493, 162810, -983, -852, 210873, 154296, -948, -145, 89257, 106761, 164, 17647, -474, 103819, 204769, 79271, 153033, -63, 2357, 124180, 446, -244, -1200, 513, 66679, -21823, 151571, -666, 123798, -239, 8, 100106, -604, 27935} +#define CONV24_WT {0} +#define CONV24_W_Z (137) +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +#define CONV24_M_ZERO (1431657856) +#define CONV24_N_ZERO (1) + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {25551, 24405, -7472, 9266, 61268, -77263, -12573, -39643, -2173, 17438, 27699, 20188, -68111, 69613, 14336, -46199, 25240, 32236, 23332, 43746, -47644, 18003, -1004, 15311, 9328, 46435, -20804, 18875, 140251, 10927, -4387, -713, 53329, 10285, 8493, -7106, -2302, -32778, 343, -13609, 43434, -12207, 13436, -53056, 83892, -58752, 45179, -5961, 14914, 48093, -14927, 52964, -69330, -71398, -13065, -50465, -2121, 9433, -14569, 1522, -67889, -15810, 119426, 7111, -59194, -5569, -2119, -67050, -27207, -20690, 10591, -21946, 50336, -17219, 27739, 19576, 32713, 65375, -20343, 4206, 5699, -27518, 31183, 35400, -14076, 75766, 4743, -10890, 17670, -23126, 36393, -66664, 50514, -48178, -42373, 41987, 81389, 3667, 1262, -8489, -1656, -12123, -1767, 37682, 584, -7062, 118845, -71986, 56803, 16724, -35435, 70125, -18527, 17987, -30702, 53618, 12907, 23170, 55218, 17390, 29849, 12374, 12301, -23663, 28542, 80285, 84823, 46006, -2677, 26025, -26126, -10763, -42733, 37129, 4508, 60499, -3671, 56218, -1138, 61989, 30248, 91357, -20111, 12073, -25529, -3835, -29375, 84391, -29176, 44678, 20879, 15054, -10349, -15201, 37986, 31684, 57096, -18694, 9081, -52954, 71071, 60018, 40475, -62518, -34787, -12718, 8652, -82553, 49803, 14865, -33848, 48368, 9723, -41317, 79925, 40496, 24683, -1416, -6978, -6525, -48381, 44058, -10271, -42316, 9391, 50250, -3981, 17999, -20337, -11496, 56033, 15392, 8045, -33337, -472, 2741, 10968, 21539, 29140, 26080, -17823, -32657, 5753, 16629, 48853, 62430, -16896, 5168, 40012, -20043, -78029, 8013, -72469, 10252, -42512, 26240, 20694, 86206, -36175, 21131, -983, -1644, 25914, -46171, -42061, -22194, -32904, -32084, 61024, -9694, -3876, 27629, 15030, -35961, 15532, 4305, 4928, 59956, 66398, -37612, 34605, 1694, -9524, 39675, -97014, -41348, -38441, 3908, -5222, -33771, -33382, 13763, -8495, 68388, -7517, -16072} +#define CONV25_WT {0} +#define CONV25_W_Z (137) +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +#define CONV25_M_ZERO (1431657856) +#define CONV25_N_ZERO (1) + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {68247, 11554, 59848, -17444, 73373, -563, 69601, -359, -1929, -976, -1017, -1123, 92021, -695, 64965, 88522, 94851, -450, -1104, 105468, 75395, -470, 147962, 100580, 133352, 56084, 47791, -1484, 45212, -254, 88979, 103824, 66299, 158241, 65752, -588, 118698, -5816, 224003, -889, 79427, -946, 217255, -7292, 10596, -971, -399, 104096, -29020, -775, -905, 103793, 3296, 9806, -1138, -753, -117, 79837, -1258, 45001, -7207, -351, -15413, -19025, -8300, 349225, -1086, -3566, -1250, -19644, 39592, -1323, -15213, 201727, 70031, -1396, -13034, 118230, -754, 58759, 76732, -572, 115050, -3447, -776, -2590, -926, 50024, -1579, -460, 5724, -243, 156190, -284, 526, 51618, 4034, 85186, -604, -137, -101, 100829, -2257, -4640, -102, -1141, 106229, -693, 22415, -547, 121731, 1296, -727, 66513, -52, -446, 22785, -422, -1057, 1713, 10384, 89411, -1302, -7758, 426, 52133, 36630, 88679, 98647, 62841, 76792, 121012, -1460, 889, -5570, 70825, -159, 57561, -2870, 62345, 80431, 163667, -17659, -2892, -2084, 130120, 2479, 150902, 68592, -2727, -15415, -3760, 38, -1252, -397, 98899, -5660, 111722, -18143, 105825, 58875, -11176, 3007, -829, -313, -4510, -6680, -1243, 86178, 197099, -6552, 95752, 54666, -1409, 134376, -580, -3646, 57847, 88576, -3836, 47417, 80447, -1383, 103056, -64, -535, 55338, -417, -7273, 96891, -1896, -319, 3237, 77000, -300, 59281, 76, -1310, -3486, -2371, -1418, -680, 3331, -406, -399, 58353, 2492, -136, -2511, -32703, -560, -7629, 7047, -1497, -19168, 78285, -46, 88352, -1058, -4823, 81508, 8727, -19413, -1251, 181186, 189109, 62697, -32326, 38830, 122167, -84, 92301, -1244, 11914, -480, 83226, -3466, 160037, 67504, -155, 92527, -332, -29396, -4034, -4476, -1344, 95015, -1180, -2624, 106306, -25657, -441, 91446, 2186, 153837, -3166} +#define CONV26_WT {0} +#define CONV26_W_Z (137) +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +#define CONV26_M_ZERO (1431657856) +#define CONV26_N_ZERO (1) + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {-1024, 26631, 50947, 3641, -2897, -19094, -4457, -7495, 1136, -16964, -16514, 30866, -22139, -25608, 26306, -28398, 15009, 15726, 3406, -32752, -37756, 11641, 6384, -25551, -50604, 8720, 4392, 34823, -18650, -6218, -994, -432, -25690, -7090, 14043, 9387, 18039, -41050, -303, -10167, -3546, 26493, -23201, -14671, -19746, 3455, 22100, -52653, 9350, -1736, -9378, -29218, -25707, -1354, 54092, 13763, -39872, 15719, -282, 5520, 8404, 11178, 41947, -14343, -12972, -7340, -2244, -1776, 1463, -23240, -32876, -45552, 40365, -14897, 12037, 24378, 32997, 12643, 3884, -36622, -52124, -665, -25680, 23289, -13341, -16753, -419, -30293, 1777, 11436, 3355, -18051, -7263, 17676, -11231, -18506, -28437, -9481, -12078, -52659, -2714, -7646, 2397, -55218, -26450, -18558, -46129, 4620, 5847, 846, -2579, -29390, 2314, -5253, 41668, 52857, -7541, 12441, 36094, 5617, -53522, -11781, 18306, -8004, 22514, -21256, 17894, 16332, 55626, -36221, -17823, -42052, -6732, 219, -26650, -68200, -3135, 5424, -18426, 22894, 30304, 9958, -15755, 36200, -6720, 3944, -15991, -64477, 1188, -4726, 63541, -7690, -62128, -39862, 8510, -25229, -9651, -19776, -19344, -407, -4174, 18761, 16184, 13710, 2970, 7880, -13298, 13444, -30765, -24627, 32916, 31764, 3626, 35763, -16944, -19385, -17131, -21605, 10157, 2313, 27981, 2503, -49676, -22357, -21003, 24686, 8362, 24996, -17167, -25622, 74920, 13854, -1205, -13583, 18748, 30247, -12717, -23694, -10653, 9980, 781, -20765, 9660, -16907, -16645, -18841, 672, 7315, -7100, -25283, 54779, 918, 20354, -30223, -3221, -30462, 9667, 40981, 4690, -17677, 18919, 58097, 37743, -25242, 31215, -24650, 29296, -36125, -13881, 41926, 4408, -9473, 15669, -4482, 467, -11667, 6469, 86677, 13667, -20658, 327, 26930, -14346, 36091, -43335, -6017, -10417, -43718, -23750, -22962, -7647, -40648, -11281, 18200, 26330, -22797} +#define CONV27_WT {0} +#define CONV27_W_Z (137) +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +#define CONV27_M_ZERO (1431657856) +#define CONV27_N_ZERO (1) + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {2656, 6736, -6264, -4796, 5968, 3266, 6161, 214, -2271, -3061, -5971, -6079, 106, -3954, -175, -2575, -1518, -423, 2935, 1591, 2030, 4738, 5755, 1971, 1596, -4911, 4590, -3775, 5103, 26, 2914, 1166, -3887, -4266, -4930, -11063, 1518, -473, 2337, -2580, -1240, 5005, -66, -2680, 3111, 2868, 1073, -655, -1388, -1196, -209, 2254, 6882, 5101, -3575, -4248, -2991, -1063, 5928, 2825, -5085, 1991, 2255, 8299, 450, 3057, -2790, -3209, -1731, 3365, -4085, 5265, 5097, -880, 919, 4982, 3215, -2698, 747, 2038, -8740, -5187, -1914, -19133, -7826, -1665, -6370, 4194, 4393, 7149, -3592, -4333, 1178, 497, 548, -4921, 2572, -11994, -12844, -8027, -2609, -9307, 219, 3389, 936, 3737, 4507, 1632, -3691, -9420, -7730, 19102, 1653, 1015, -1521, -8962, -9010, 4551, 2140, -7190, 685, -1069, -3562, -4141, -373, -6527, 1988, -4559, -3854, -2454, -140, -5372, -805, -2286, -11459, -5878, -9597, -7255, -3845, -4584, -6388, -342, -4994, -5374, -9853, -2711, -50, -8141, -8069, -3580, -1412, 3534, -9109, 5310, -900, 8272, 3951, -5734, -3778, -1838, -4514, 10213, 8894, 1178, 1301, -1834, 31, -6711, 1588, -2357, -1499, 12618, -1824, -3289, 8783, -9975, -5653, -2810, 5161, -3000, -1823, 2325, 7353, 3195, 2122, 1646, -1329, 1793, -2086, 2655, 2145, 5971, -2903, -2480, -3051, 11685, 4569, -1031, -8273, 6336, -5916, -951, 4148, 6416, 5047, -5081, -4618, -7291, -6513, 3813, -3521, -1336, 617, 506, 1427, -1977, -919, 8530, 245, -887, -1218, -2442, -1306, 7668, -6990, -1023, -6277, -7050, -5385, 5952, 2541, -6393, -4670, 4592, 2481, -331, 3829, 9476, 274, 4738, -2060, -3320, 2117, -1105, -419, 5461, -1888, 6147, -5515, -5252, -552, 8946, 1140, 323, 12639, -6858, 3485, 1577, -278, -25, 6880, 7828, -6047, 755, 2764, 10266, 3854, -3892, -2298, -741, 1243, -497, 3820, -3814, -5895, -6885, -4470, 1294, -5009, 2975, 3699, 9434, -2871, 2646, 7022, 4270, 3333, 1710, 634, 1027, 1384, -6710, 194, -3281, -3992, 1479, 1336, 285, -2568, 6216, -5417, -5778, -1922, -2264, -11055, 3046, 1693, -6429, -3925, -6326, -7665, -4683, -6622, 1110, 7074, 2901, 520, -4091, -887, -5654, -9322, -11625, -10978, -8802, -7038, -9785, -8266, -714, -8310, -5973, -779, -1845, 6742, 2835, -2969, -968, 4255, -4633, -9612, -751, -2261, -1686, -5756, -7682, -1565, -3491, 2125, -1927, 581, 5118, 2528, -5278, -6382, -1922, 3508, 992, 817, -992, 1042, 7100, -7483, -1862, -516, 1396, -1760, 4396, 3538, 9944, 2663, 6616, -525, -980, -2547, 5322, 2737, 1808, 2784, 3964, 1880, 1165, 322, 1579, 2568, 2248, -5821, 2387, -2536, -5323, -2591, 5991, 751, 8307, -7002, -2633, 2251, 5710, -8491, -2344, -2521, 11110, 2548, 5358, 3513, -3925, -9327, 6126, -3024, -2000, -5928, -5418, 3499, -1560, 5685, 7090, 946, -1413, 10567, -3988, -2526, 3933, 1422, 11127, 5287, 6878, 9499, 1597, -11004, -2241, -477, 1850, 6752, -3177, 88, -2465, 3894, 2253, -3652, -3822, -1212, -5337, 2312, -1178, 1549, 1349, -1668, 6407, 668, -5181, 4813, 2557, 3226, 1166, 845, 2677, 1686, 1949, 4293, 121, 521, -718, -11439, 8787, 1586, 729, 6391, 14287, 1307, -841, -2904, 1445, -3105, 3576, -7612, 7751, -4872, 6657, 543, 816, -3133, -8925, 1621, 3259, -1731, -3261, -6128, 3671, 3443, 2142, 812, -2767, 537, -1119, 6259, -10994, 456, -1337, 810, -6836, -91, 6683, 3312, 2829, -4851, -5366, 4921, 229, 1895, -351, 274, -5779, -2946, -3946, -294, -203, 6136, 9997, -1056, -5100, -4980, 5426, -3297, -5564, -8254, 9647, 4831, 5094, 3517, -6721, 2022, 3912, 47, -1373, 2009, -2204, 2919, -3986, -9774, -1298, -3885, 809, -9532, -39, 9355, 6716, -630, 9352, -297, -10833, -8569, 12631, -2553, 4150, 12157, -3018, -4197, -2718, -3222, 4025, 237, -947, -2654, -1055, -4480, 4673, -5642, -469, -956, 735, 7358, -589, 1393, -3125, -4106, 6773, 5647, 5988, 2307, 5075, 3403, 1636, -6163, -4380, -1938, 1806, 5348, 1298, -3885, 7912, -2129, 1991, -6700, 3823, 404, 2124, 5862, -4567, 3555, 7826, -9569, -1442, 11294, 246, 9788, -2050, -309, -5929, 7797, -4734, 9577, 692, 5848, -4178, 19, -2355, -2864, -4534, -2050, 2387, 11639, -7535, 6800, 154, 1920, 11451, -4918, -3704, 2209, 5964, -5002, -1839, 5649, -1202, 3075, 2897, 2117, -2019, 3425, -1244, -1089, -1921, -9316, -1660, 3750, 1918, -2295, -6769, -266, -3167, 3842, -137, 11706, -1748, 1509, -337, 5166, 6087, -2501, -1021, -1899, 303, 4743, -163, 2009, -122, 6257, 4540, -3252, 4145, -6782, 6706, 3020, -537, 1165, 1151, 2364, 1562, -7038, 1938, 4414, -2924, 2184, 8275, -553, 4467, -1689, -2681, 2849, 572, -8287, -2751, -3650, 3363, 5559, -9183, 2050, 6470, 6801, 388, -3979, 1351, 9035, 46, 4583, 6277, -323, -9318, 3789, 7100, -3737, -4315, -363, 3213, 1936, 3380, 7958, 1442, 5001, -5188, -5922, 6564, 937, -4260, 4816, 468, -10004, -1791, 11786, -3889, -235, -448, -2039, 3083, 1033, 539, -7134, -2634, -6150, 1473, 4411, 9422, -2837, -4020, -3152, 4689, -406, 3400, 617, 8631, -3275, 13949, 5394, 3756, 5844, 1484, -235, -4358, 3658, 205, 2977, -3065, 9734, 1813, -3375, 5857, 11800, 1580, -4948, -6057, -5750, -3292, 4620, -5381, -1523, -1043, 6492, 6039, 7562, 16929, -11978, -1645, -6027, 424, -1055, 1513, 2541, 8017, -929, -3078, 7591, -2819, -6737, 8775, 6717, 1372, 4834, -885, 4090, 11441, -631, 8622, -9852, -874, -7614, -1655, 964, 680, -4104, 1501, 7369, -2347, -4945, -1319, 1350, 3281, -3628, -3984, 3250, -6752, -5048, 7540, 843, -3717, 8168, 3777, 6087, -987, -2829, -7588, 3043, -3606, 2491, 1304, 320, -1399, 7076, -5782, 11386, 13022, 2426, -3140, -440, -451, 6900, 6033, 512, 10519, -5970, 1675, 3034, -4270, 8688, 1362, 993, 6757, -5006, 9685, -4095, -1269, 7111, 6354, -2004, 3971, 2134, -1975, -5206, -1636, 859, -681, -839, -5537, 5526, -5650, -933, -3696, -8316, 2716, 3871, 1035, -6906, 7523, 8994, -1130, -979, 2942, -2369, 22412, -7949, -4523, 1239, -262, 5858, 174, 6643, 6182, -3226, 1047, -361, 3529, 7386, -1702, -5872, -1614, -4434, 7479, 7228, 9748, 8148, 1852, -6034, 4345, 1336, 9102, -3245, 299, 543, -2547, 2340, 5358, -1099, 5818, -5641, 2133, 3637, -396, -5049, -248, -1768, -2532, 458, 3263, -2932, -7077, 1803, -13776, -3902, -1028, 6572, -1351, 1597, -2720, 804, 2433, -436, -5248, -7827, -3206, -7431, -11256, -2965, -2717, -2331, -6183, -4181, -45, -1787, -2120, -107, -2636, 3811, -10827, 4105, 2737, -448, -2274, -3357, 568, 2113, 3614, -744, 537, 2198, 5516, 3923, -5911, 2118, 3960, 904, 8453, -1900, -1319, 2275, 9743, 10190, -9385, -9872, 2585, -2876, -5275, -7944, -13851, -8172, -7327, -8890, -10838, 1028, -9717, -1566, -5705, -2821, 10138} +#define FC28_W_Z (178) +#define FC28_IN_Z (0) + + +#endif /*__128_0_25_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/128_0_5_parameters.h b/Inc/intq-mobilenet-v1-models/128_0_5_parameters.h new file mode 100644 index 0000000..c47552d --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/128_0_5_parameters.h @@ -0,0 +1,361 @@ +#ifndef __128_0_5_PARAMETERS_H__ +#define __128_0_5_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (128) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (16) +#define CONV1_OUT_DIM (64) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (64) +#define CONV2_IM_CH (16) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (16) +#define CONV2_OUT_DIM (64) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (64) +#define CONV3_IM_CH (16) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (32) +#define CONV3_OUT_DIM (64) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (64) +#define CONV4_IM_CH (32) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (32) +#define CONV4_OUT_DIM (32) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (32) +#define CONV5_IM_CH (32) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (64) +#define CONV5_OUT_DIM (32) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (32) +#define CONV6_IM_CH (64) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (64) +#define CONV6_OUT_DIM (32) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (32) +#define CONV7_IM_CH (64) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (64) +#define CONV7_OUT_DIM (32) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (32) +#define CONV8_IM_CH (64) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (64) +#define CONV8_OUT_DIM (16) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (16) +#define CONV9_IM_CH (64) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (128) +#define CONV9_OUT_DIM (16) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (16) +#define CONV10_IM_CH (128) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (128) +#define CONV10_OUT_DIM (16) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (16) +#define CONV11_IM_CH (128) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (128) +#define CONV11_OUT_DIM (16) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (16) +#define CONV12_IM_CH (128) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (128) +#define CONV12_OUT_DIM (8) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (8) +#define CONV13_IM_CH (128) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (256) +#define CONV13_OUT_DIM (8) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (8) +#define CONV14_IM_CH (256) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (256) +#define CONV14_OUT_DIM (8) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (8) +#define CONV15_IM_CH (256) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (256) +#define CONV15_OUT_DIM (8) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (8) +#define CONV16_IM_CH (256) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (256) +#define CONV16_OUT_DIM (8) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (8) +#define CONV17_IM_CH (256) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (256) +#define CONV17_OUT_DIM (8) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (8) +#define CONV18_IM_CH (256) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (256) +#define CONV18_OUT_DIM (8) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (8) +#define CONV19_IM_CH (256) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (256) +#define CONV19_OUT_DIM (8) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (8) +#define CONV20_IM_CH (256) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (256) +#define CONV20_OUT_DIM (8) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (8) +#define CONV21_IM_CH (256) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (256) +#define CONV21_OUT_DIM (8) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (8) +#define CONV22_IM_CH (256) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (256) +#define CONV22_OUT_DIM (8) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (8) +#define CONV23_IM_CH (256) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (256) +#define CONV23_OUT_DIM (8) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (8) +#define CONV24_IM_CH (256) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (256) +#define CONV24_OUT_DIM (4) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (4) +#define CONV25_IM_CH (256) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (512) +#define CONV25_OUT_DIM (4) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (4) +#define CONV26_IM_CH (512) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (512) +#define CONV26_OUT_DIM (4) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (4) +#define CONV27_IM_CH (512) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (512) +#define CONV27_OUT_DIM (4) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (512) +#define FC28_OUT_CH (1000) + + +#endif /*__128_0_5_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/128_0_5_weights_bias.h b/Inc/intq-mobilenet-v1-models/128_0_5_weights_bias.h new file mode 100644 index 0000000..ebd5543 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/128_0_5_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __128_0_5_WEIGHTS_BIAS_H__ +#define __128_0_5_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {11090, 18737, -141852640, -65995, 245808, -13840503, -1937192, 120584, 24185, 3685, 31320, 330827, 40908, -36379, 26989, -469365472} +#define CONV1_WT {0} +#define CONV1_W_Z (137) +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +#define CONV1_M_ZERO (1431657856) +#define CONV1_N_ZERO (1) + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {3054, 3728, 203, -2583, -10280, -182, -187, 37598, 2824, -123, 11636, 5978, -2401, -109190, 17997, -126} +#define CONV2_WT {0} +#define CONV2_W_Z (137) +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +#define CONV2_M_ZERO (1431657856) +#define CONV2_N_ZERO (1) + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {2193, 2669, 92541, -253602, 74754, -22366, 43069, 34118, 73497, 48939, 47749, 87705, 6988, 65332, 52539, 38038, -1218, -10678, -7525, -3305, 23596, 48556, 23442, -4484, 26619, 29752, -19641, 103546, 84573, 44073, -627858, 15177} +#define CONV3_WT {0} +#define CONV3_W_Z (137) +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +#define CONV3_M_ZERO (1431657856) +#define CONV3_N_ZERO (1) + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {3736, 918, 17696, -429, 12558, 1424, 390, 971, 2819, 10018, 9676, 1640, 5595, 4900, 3356, 9265, 13936, -456, 1525, 1406, 9739, 164420, 2456, 11648, 3981, 90098, 106230, 900, 49724, 9106, -836, 1873} +#define CONV4_WT {0} +#define CONV4_W_Z (137) +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +#define CONV4_M_ZERO (1431657856) +#define CONV4_N_ZERO (1) + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {104878, 33899, -20067, -7464, 3411, 38771, -26183, 14889, 6044, 21173, 30255, 15210, -3937, -6401, 13550, -62200, 9468, 24152, -16625, -5590, -18993, 46284, 8247, 59032, 59791, 946, -34225, 19663, 19923, -32143, 32539, -13529, 41658, 21314, -7330, 16084, 8850, 13240, 8871, -20154, 6004, -42748, 5072, -55291, 45281, 19520, 11527, 70143, 59541, 7849, -350553, 2040, -14051, 4657, 9650, -461, -4118, 3778, 38338, 15375, -18751, 15764, -16550, -53027} +#define CONV5_WT {0} +#define CONV5_W_Z (137) +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +#define CONV5_M_ZERO (1431657856) +#define CONV5_N_ZERO (1) + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {323420, 24098, 70911, 82, 48469, -16, 12531, 35600, 38745, 11491, 66268, -173, -2049, 13264, 7312, 79213, 19618, 201, -4973, 1388, -3124, -1457, 23341, 2520, 10715, 5306, 1592, 10354, 33122, -5605, 2062, 6, 3957, 44665, 1468, -1232, -15406, 66356, 36652, -3404, 112956, 32998, 14486, 72377, 30018, 1436, 2204, -5148, 74899, -181, -4277, 751, -378, 1044, 43809, 2730, -415, 87029, 34654, -23292, 44648, 3884, 1344, 42293} +#define CONV6_WT {0} +#define CONV6_W_Z (137) +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +#define CONV6_M_ZERO (1431657856) +#define CONV6_N_ZERO (1) + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {49741, -44338, 54713, 403, 1773, 25549, -2169, 97175, -7819, 90409, -12833, -24345, 40714, -7182, 11000, 27433, -13762, -78146, 179, 42860, -5103, -30067, -24, 7822, 35904, 24677, -9114, -10932, -65351, 67618, -13626, 51322, 52047, -67741, -32397, -2283, 19159, 24993, 42629, 10350, 939, -28136, -5973, 119855, -32294, 36037, -13119, -4383, -24097, -56593, 25115, 78060, 65981, 24069, 21328, -70746, 93563, 49628, 12654, 8207, 73351, -17608, -30231, 31398} +#define CONV7_WT {0} +#define CONV7_W_Z (137) +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +#define CONV7_M_ZERO (1431657856) +#define CONV7_N_ZERO (1) + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {586, -400, -49472, -15061, 13870, 222902, 89747, 5393, -24429, 1224, 74638, -636, 1445, 292339, -41861, 26805, -46798, 4519, 85556, 1699, 85102, 32692, 61810, 9110, 7114, 7985, 182119, 41000, -821, 119, 2731, 239734, -685, 135072, 133235, 1213, 231501, 26517, 106076, 57786, 254899, 690, 184287, 3442, 4945, 67138, 1151, 91297, 187164, 131657, -9206, 46372, -47822, 145394, 30826, 276033, 53975, 100276, 172790, 4557, -109433, 925, 169324, 81634} +#define CONV8_WT {0} +#define CONV8_W_Z (137) +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +#define CONV8_M_ZERO (1431657856) +#define CONV8_N_ZERO (1) + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-27642, -16735, 99928, 61134, 46242, 19945, -4619, 12425, 7069, 36715, 85626, 13341, -39958, -14386, 42854, 41659, 39640, 35042, 47246, 11001, 52562, 51964, 108011, 66443, 28048, 19037, 19040, -9181, -7192, -2865, -6217, 28422, 2746, -35696, 20233, -27236, -1523, 13647, -16370, 68288, -20353, -18168, -2911, 35475, 39460, -9468, -13849, 53010, 45312, 8088, 5281, 17592, -27387, 17527, -2887, 48296, -2248, 10363, 40779, 42951, -28064, 4496, 23139, 57596, 12597, 32128, 15192, 35572, -68946, 7387, 49488, -40400, 1444, 42470, 51084, -74231, -1568, -60150, -10162, 72610, 61723, -18640, 63383, 60930, 11744, 5138, 49470, -18107, -44911, -10409, 15001, -21220, -25803, 49214, -10174, -51317, 42765, 60442, 175817, 143213, 7625, 1536, -5927, 25409, 28838, 47941, 32489, 46004, 36894, 34177, -30959, -30837, 5726, -1808, -10648, 19565, -52084, -10856, 59547, 39854, 75454, 25044, -19909, 66248, 27621, 64318, 75363, 76573} +#define CONV9_WT {0} +#define CONV9_W_Z (137) +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +#define CONV9_M_ZERO (1431657856) +#define CONV9_N_ZERO (1) + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {2989, 30854, -419, -373, 22097, -292, 43702, -13711, 5702, 24298, 273, 107, 6196, 25124, 697, 48, 429, 63, -145, 11638, 9175, 6514, 8489, 78, 916, 338, 12345, -5862, 916, 1365, -215, 385, -555, 8481, 242, 186, -2770, 21310, 191, 38761, 119, -6897, 30124, 1, -175, -12745, 21617, -4914, 627, 6064, 4790, 1129, 359, -450, 9692, -7286, 31074, 39136, 24, 23827, -3984, -2954, 19811, 3280, -37, 601, 22566, -424, -6286, -33, -46, -4736, 170, 36803, 181, -326, 50311, 4308, 6134, 78565, 368, 161, 6530, 21647, -35, 14264, 37856, 1780, 86016, 61658, -222, 42363, -611, 12522, 6583, 772, -7223, 5389, 20940, 21705, 17314, -55, 84, -59, 40976, 29273, -151, 27549, 15233, 220, 48825, 137, 4783, -417, -2990, 245, -13597, 4343, -531, 935, 16661, 18170, -3319, 7322, -6963, 1164, 31768, 107} +#define CONV10_WT {0} +#define CONV10_W_Z (137) +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +#define CONV10_M_ZERO (1431657856) +#define CONV10_N_ZERO (1) + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {-2831, 43666, 34970, 5835, 13317, 16539, 48610, 38775, 9125, -7372, 36060, 14869, 27269, 25903, 39107, -5550, -35628, 85988, -1676, 2898, -17519, -20856, -11404, 32459, -20117, 3149, 39607, -3820, 26739, 20284, -17641, 18987, 37477, 18300, 119405, 16450, 4095, -17028, 3252, -5232, 43135, 41156, 78027, 82973, 15152, -15657, -6140, -16376, 22637, 53624, -2573, 69449, 3125, 36832, 6229, 4484, -263, 38090, 1030, -590, 4062, 16441, -48700, 6689, -10487, 38311, 14522, 20561, -1172, -12152, 63659, 34199, 32115, 6234, 12921, 17498, -2134, 31472, -7646, 46582, 2286, 58180, -1289, 60773, 28624, -41739, 2432, 15128, 104667, 24286, 16349, 971, 105688, 51710, 393, 7245, -33681, 439, 26121, 4834, 17336, 75096, -15194, -17585, 57904, 34376, 14357, -3562, 18420, 15543, 7120, 19672, 77193, 20762, 18895, 5272, -4708, 1643, 1239, 58637, 905, -45000, 29362, -20296, 33437, -31649, 40169, -16280} +#define CONV11_WT {0} +#define CONV11_W_Z (137) +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +#define CONV11_M_ZERO (1431657856) +#define CONV11_N_ZERO (1) + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {-1194, 11202, 22809, -1839, 155695, -2635, 147284, -1136, 138095, 72930, 146417, -790, 135112, 176618, -1187, -16373, -194, -383, -2550, 55693, 17855, 955, 970, 152020, 10727, 312, 3850, 109783, 6987, 12, 126835, 14805, 90908, 57, -1487, 79246, -884, -1200, 62943, 1441, 1717, 250510, 176736, 1500, 88085, 48968, 162903, 2771, 94968, 23666, 6998, 61765, 66549, 138581, 103782, 83859, -27725, 23966, -335, -964, 571, -815, 9658, 54178, 4547, 165294, 87766, 27680, 246867, -514, 699, 123715, 674, 114651, 553, 251517, 398, 30544, 17781, 125471, 14900, -3150, 147817, 47111, 123969, 769, 107406, -50407, -3521, 270, 37755, -1713, 6455, 217339, 19793, 156306, 1387, 66592, 62823, 3166, 1394, 225657, 90167, 189348, 28935, -894, -34396, 87509, 240298, 122542, 248966, 110144, 282845, 960, 13471, 34026, 72769, -1612, -278, 209788, 2275, -758, 180903, 814, -372, 4428, 213930, 70986} +#define CONV12_WT {0} +#define CONV12_W_Z (137) +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +#define CONV12_M_ZERO (1431657856) +#define CONV12_N_ZERO (1) + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {-160, 2662, -1829, 48607, -16289, -9630, 6540, 42628, 73395, 35560, -12268, 631, -84578, 4398, 23741, 38780, 30807, 25204, 12845, 5267, 49767, 2951, 21272, -69674, 32142, 21554, 53976, 12775, 57313, 111630, 31837, 93795, 39175, 32333, 40989, 21261, 122131, 90202, 18966, 7842, -40223, -18278, 20843, 124498, 19909, 47962, 14962, 94412, 32707, -12708, -15957, -1736, 25692, 6387, 39968, 82987, 85, 63276, 47395, -18138, -86838, 42275, 21802, 87003, 62063, 19075, -57150, 15279, 43560, 74749, 28059, 40790, -10735, 41153, 41985, 14158, 55610, 58490, 28856, 13210, 3731, 34658, 58343, 6616, 74612, 43102, 97313, 55482, 45689, 61990, 69770, 92293, 59137, 2175, 16482, 51108, 30355, 7247, 48550, 29745, -13549, 22750, 36320, 55100, 34373, -19142, 34104, 26909, 40828, 14123, -5143, 29414, 14049, 517, 6480, 5187, -20946, 42077, 21927, 119230, 43136, 49044, 81751, 100803, 71613, 36824, 40202, 26084, 22853, 78157, 60209, 38738, 82719, -18903, 6177, 10417, 17166, -35039, 16081, -36396, 7370, 4089, -18222, 15653, 26884, 32462, 14075, 32455, 21856, 7851, 21248, -43263, 51327, -11332, 57935, 10462, -13932, 1699, 45629, 45945, 103880, 57854, 87648, 28878, 24385, 30131, -7346, 26810, 93944, 36452, 26182, 71033, 15514, 66731, 78366, 32880, 54997, 49288, 36374, 31156, 127490, -81826, 53697, -31636, -27145, 65758, -24639, -21247, -8161, 41856, -33094, 24502, 11901, 57728, 1991, 19337, 18720, -25192, 39511, -10816, 36703, -3754, 14965, 62667, 89546, 1004, 4391, 4053, 4618, 86934, 103709, 26551, 39250, -1803, 83601, -11175, 24264, 66707, 33167, -603, -13603, -42701, 59281, -35923, 42723, 46478, 16315, -10789, 9833, 44516, 30742, -54304, -29414, 13459, 30343, 62546, 11298, 12838, 24641, 31787, 21994, 35051, 22083, 88709, 59768, 28079, -33208, 40874, 30522, 17890, 21130, 24536, 23153, 50519, 91960, 33241} +#define CONV13_WT {0} +#define CONV13_W_Z (137) +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +#define CONV13_M_ZERO (1431657856) +#define CONV13_N_ZERO (1) + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {112, 287, 101, 1089, 480, 23642, -3469, 6224, 1555, 121, 729, 287, -2987, -7737, 38905, 657, 600, -8629, -1032, -7800, -6347, 6200, -78, 1914, 18852, -183, 1049, 24970, -8408, 4990, 23583, -357, -7232, 1031, -3914, -21115, 1724, 331, -310, -10755, 154, 908, -21043, 16770, -2007, 49839, -22, 7858, 1032, -538, 157, 23788, -418, 33023, 7476, 10426, -1615, 7868, -75, 50, -9231, -1255, 327, 352, -3090, -2406, -3305, 40578, 5210, -7316, -13082, 5439, 27748, 97629, 2118, 22050, 438, 858, 39074, 26275, 56, 8699, -318, -323, 831, 2537, -814, 117, 1110, 1408, 7573, -1173, 3757, -110, 534, 20134, 10606, -1006, 14846, -401, -1030, -7477, -76, -8060, 25102, -79, -7311, 2241, 63933, -112, 358, -8300, 6857, 463, 17026, 137381, -12146, -7134, 73607, 5613, 649, 6808, -9149, -1623, -4156, 21525, 6234, -394, 144, 6998, 991, 12488, -2461, 20, 529, -701, 2625, 74, -6288, 13201, -661, 27495, -17684, 31152, 377, 46604, -14314, 25925, 29740, -11304, -2362, 4813, 36360, -1886, 426, -8229, 678, 52452, 462, 1173, 787, 1517, 1477, 4940, -263, -9450, 64473, -6279, 14807, 310, -1671, -3409, 16041, 361, 14943, 1749, -8866, 1082, 22286, -13906, 1493, -1958, 622, -7713, 176, 383, 689, 4139, -66, -913, -4079, 196, 41764, -3306, 8562, 31, 110, -16755, 6682, -14492, 6065, -3811, 83, -17693, 8152, 1312, -1462, 160637, 25378, -457, 14354, -15922, 1503, -6791, 215, 65, -343, 930, 10875, -10201, -995, -16006, 19089, -9385, 28223, -10141, -1737, 232, -10465, 8006, 619, -6033, -167, 38546, 25459, -2012, -191, -5867, 10533, 23740, -6, 1021, 12, 20625, -8619, -331, 1535, 269, 417, 4371, -3171, 38331, -1851, 9913, 38701, 158597} +#define CONV14_WT {0} +#define CONV14_W_Z (137) +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +#define CONV14_M_ZERO (1431657856) +#define CONV14_N_ZERO (1) + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {26203, 7534, 18665, 11787, -11730, -16605, 66552, -12820, -22220, 23828, 28796, -4554, 4559, -30763, 28741, 43207, -12133, -14952, 25270, 80690, 48316, 8331, -17812, -6645, 19281, -4086, 20055, 4820, 28296, 35492, 9203, -24223, -28662, 48629, 18381, 7954, 73942, -3907, -3255, -1134, -12206, 34881, -388, 20337, -13012, -267, 1172, 726, 43018, 8824, 3778, 3860, 38930, 25447, 13018, -16347, -20604, 53028, -13759, 902, -40541, -14686, 34797, 13115, -39056, 5198, 22414, -15831, 21832, 17928, -298, 52694, 41074, -1928, 13445, -34081, 3098, -54354, 24946, 9955, 3254, 2940, -8497, 16186, 9392, 12143, -5044, -23488, 31357, -2314, 70645, -2247, 43384, -10072, 22298, 120151, 63783, 3325, 3352, -62923, 25099, 18192, -8204, -397, -5944, 27491, 32841, 16665, 35668, 43479, 5334, -11116, -7426, 35794, 17714, 4825, -5176, 4995, 107221, 956, -4815, -41745, 49892, -4988, -529, 31645, 31908, 216, -17474, 23556, 3198, 2120, 41449, 101942, 60283, 86437, 1156, 65402, -19214, -11930, 41192, 38079, 34417, 10710, -43385, 30599, 35820, 27390, 12610, -58076, 21862, -26183, 1093, 14485, 33093, 26423, -2303, -6328, 101977, -4549, 43387, 17283, 3382, -21265, 10740, 19171, -10110, -58542, 56334, 1006, 38058, 43534, 109556, 43, 8736, -8110, 13525, 7871, 57950, -11874, -14647, -788, -7746, -27064, 27222, -42050, 1148, 18328, 56778, 30224, 36906, 29742, -7332, -55204, 41183, 21028, 28800, -14777, 9324, 42087, 4432, 34749, 31088, -35543, 27543, 31110, -43611, 55281, 30061, -22477, 90104, -4778, 15229, 25344, 30849, 86383, -15422, -14838, 568, 43608, 50350, 11990, 40109, -6579, 13442, 38494, -21468, 49097, 2921, 32871, -10807, 102575, 5546, -19079, -2216, -8583, 14057, -32767, -12477, 8842, 68213, -46498, 18097, -14005, -8016, 15023, -131, 118206, -32258, 8098, 20971, 67681, 104, -3387, 53725, 11722} +#define CONV15_WT {0} +#define CONV15_W_Z (137) +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +#define CONV15_M_ZERO (1431657856) +#define CONV15_N_ZERO (1) + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {23080, -15957, -420, -5684, -17077, -7636, 41637, 104277, -6823, 6630, 81, -3291, 36371, -22457, 42598, 25937, -16673, 4568, 4176, 9198, -16650, 11282, 146014, 17766, 6586, 98629, -4127, 11727, 14675, 2783, 22405, 57904, -11641, 280, -12523, 53842, 32634, 6017, -25716, -1860, -6395, -530, 23759, 13264, -35437, -9969, 47885, 34601, 7008, 25217, 49887, -2574, 9682, -3720, 18110, -8280, 13992, 7565, 2868, 12697, -8463, -4146, -4410, -454, 655, -4907, 7219, -10773, -16939, 11755, 16687, -2183, -4103, -3817, 36765, -22843, -3011, -4117, 10542, -58, 1292, 308, -19607, 3013, -57475, -5658, 52155, 4097, 25323, -5963, 1080, 774, -4148, -2624, -5277, 974, 27199, -3063, 8131, -11881, -6480, -12428, 44235, 97029, -21634, -41337, -20275, 21279, -10038, 12588, 34789, 7836, 68860, 53824, 41302, 35828, 51239, 28966, 615, 27525, -25210, -30407, 7978, -20556, 39629, 25949, -6495, -14743, -698, -12026, 36516, 7571, -13744, -7380, 13458, 27193, 17663, 29184, -23440, -37331, -4260, -20495, 11021, -37050, 12685, 26263, 1319, 19792, 76155, 2635, 91105, 40153, 10689, -48856, 23174, -34859, 94491, 11519, 5513, -13412, -5590, -3018, -2736, 194088, 33836, -8466, -6244, -4786, -9147, 11410, -22995, 14630, 20792, 1013, -22166, -7182, -1265, -29899, 59802, 18317, 144205, 63481, 67945, -2580, 885, -4181, 27269, 19641, 26593, -1202, -13632, -9880, -24066, -508, -9228, 72366, -843, -16989, -19007, 23470, -1365, 21437, 54, -8757, 10676, 19458, 147909, 48967, 4372, 9804, 15571, -13966, 56, -18998, -21212, 8837, 67512, 52034, -2296, -19281, 21494, 3377, 771, 72679, -8583, 50260, 58918, -16615, -139, -18485, 78972, 8352, 10223, -9652, 31119, 11656, 147, 87028, -5993, -53756, -8307, 15645, 20817, -1530, -30725, 41589, 40810, 2231, 1254, 82668, -6291, 1085, 70776, 12448, 30972, 3153} +#define CONV16_WT {0} +#define CONV16_W_Z (137) +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +#define CONV16_M_ZERO (1431657856) +#define CONV16_N_ZERO (1) + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-45004, -10774, 38713, 25317, 53603, 55723, 9773, 8596, 25380, 19907, -47849, -68879, -61341, 81995, -10479, -35419, -10056, 5670, -10554, -5668, -18267, -10376, -9946, -3265, 3626, -29949, 47796, 23215, 8693, 1700, -1542, -8979, -25268, -8422, -18801, 34654, -32623, 1427, -5008, -3229, -8478, 58408, 29141, 16946, 29823, 38958, 50509, 67079, 30551, 50901, 16716, -9918, 2817, -40072, -15604, -17849, -4347, -9586, -2819, -16947, 38176, 21478, -29813, -8446, 19679, 9815, 59784, 8557, -30208, 16501, 147948, -15353, 32554, -26358, -20394, 75323, 37369, 52916, 62554, 8893, -17791, 19237, 15921, 15357, 91349, -18824, 29313, 57835, 82859, 43008, -27643, 15523, -37952, 11969, 21972, 7733, -7350, 16108, 16525, 58620, -22487, 37774, -28710, -4918, -47424, -29986, -6954, 17086, 15573, 34802, 6354, 30786, -29861, -55621, -27344, -8933, 36752, 41784, -6791, -103185, -11567, -29503, 11242, 14984, 12866, 26715, 55081, -49601, -20452, 22405, 10211, 19632, -18286, 13574, -32158, 10193, -12136, 18474, 5177, -1123, -6398, -39807, -26717, 7688, 10803, 11236, 72887, 4682, 26459, 21471, -46857, -28831, 10552, -45667, -16575, -10393, -50825, 29085, -46287, -55047, -23751, -18024, -28717, -9477, 17660, 1334, 38586, -47458, 29840, -31430, 129115, 11131, 260, 7472, 100513, -32233, -11645, -11293, 67862, -12547, 35686, 77709, 81413, 27968, -7824, 10226, 35393, -1693, 6778, 44873, 13550, -28779, -33877, -8045, -30900, 6341, 10729, 15733, -43909, 97, 35388, 17321, 73906, -2653, -45276, -7851, 40746, 27816, -29299, 62691, -12287, 28598, 8190, -38194, 30893, -6705, 3278, 70955, -23127, 7945, 48066, 15204, 2165, 27540, 54173, -42438, -28573, -25939, 22283, 65139, -18472, 10890, 17338, 8198, 9997, -5102, -3015, 45321, 12549, -72766, 15208, 8756, -52024, 54661, -8578, -52462, -5251, -26016, 24464, 84178, 7594, 88671, 119221, 109687, -10993, 59986} +#define CONV17_WT {0} +#define CONV17_W_Z (137) +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +#define CONV17_M_ZERO (1431657856) +#define CONV17_N_ZERO (1) + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-5182, 13465, 29151, -4172, 2343, -3768, -7254, 55814, -10352, 22130, -627, -7144, -1405, -14722, 59302, 120288, 24784, 31060, 67299, 30888, -14636, -7139, -13536, 27628, 18570, 3817, 7768, 22750, 34683, -23050, -1676, -24839, 6747, -33947, -3642, -5734, 2947, 29533, 37750, 47546, 26747, 6263, -2813, -1733, 9720, 24346, 35794, 21899, -10317, -2665, -13196, 111668, -24988, -10816, 55439, 45560, 8569, -6588, 101235, 8207, 170626, 14701, -6687, -21625, 32642, 22717, 23093, 49313, -24920, 12855, 20278, -7957, -16491, -25929, 1551, 32324, 27609, -14095, 193935, -4888, 33957, 41775, 3702, -2603, -14625, -29680, -163, -274, 2002, 260, -2649, 52462, -1850, -21299, 27733, -3236, -38271, 14148, -14468, 49978, -4941, -7871, -6874, -19546, 7505, 80555, -190, -9375, 8281, 54639, -6059, -13536, -16106, 14536, 106966, 30383, 7860, 64520, -3603, -12889, 32163, 37699, 20912, -37, 18617, 315, 28942, 26544, -4254, 26373, -7968, 1533, -2596, 16177, 17197, -1790, -3981, 14903, 2000, -5378, 106248, 52996, 14249, -894, 80524, -18551, 2767, -966, 11611, 40561, 10087, -39613, 84944, -26224, 5879, -4042, -5757, 17266, -1241, 42026, 43908, -27094, 81692, -3606, -5518, -13661, 39683, -4436, -3810, -4998, 24276, -1709, -19323, 31233, 15442, 67466, 42402, 2563, 32273, 120240, -19149, 22132, -1138, -8606, 23684, -764, 38560, -17785, -10512, -15018, -7697, 31177, 7192, 54309, -5082, -13011, -20979, -2888, 86927, 29385, 23514, 395, 4977, -3901, 57390, 15005, 27758, 22545, 8263, -8119, 1993, 27985, 24027, 12264, 56354, -21185, 8167, -342, -6820, 29680, 17701, -12261, 635, 16128, 10694, -4992, 56244, -1803, 8692, 59390, 43255, -7490, 4704, -13319, 24891, 28154, -1960, 2331, 1012, 12428, -12311, 35947, -6659, 4799, -9054, -21548, -13566, 14513, 11478, -16660, 908, 20882, 21579, 32880, -1472, 17556} +#define CONV18_WT {0} +#define CONV18_W_Z (137) +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +#define CONV18_M_ZERO (1431657856) +#define CONV18_N_ZERO (1) + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {-36656, 8893, 37246, 49285, 16429, 5887, 88, -116, 55139, 57463, -36062, 81503, -72539, -16743, -24279, -7070, 22623, -15187, -5285, 5019, 40403, -4197, 7074, 863, -7771, 16968, -1614, -21393, -26784, -28959, 8259, 48216, 5617, 23154, 7588, 21448, -25750, -42730, -37796, 62676, 8804, 5106, -9790, 5264, 2112, -55119, -3809, 234, -17687, -18414, 8543, -3593, 41614, -24375, -20098, 13342, 52490, -21700, 23681, -74623, 556, 18646, 16676, 41414, 10039, -22938, -20318, 35616, 81657, -7703, -30757, -1232, 61002, -34402, 9800, 38131, 14702, 78, 25432, 17652, 18414, 16408, -58656, -1860, 39114, 1890, -37343, 57651, 54314, 12307, 26356, -7733, 16392, 114427, -16644, 79043, -24722, -22268, -34013, -27681, -1161, -12980, -3771, 55638, -40157, -38119, -28763, 14906, -2682, 24514, -21713, 12591, -28110, -19757, -14140, 11675, -71464, 115319, 59407, -57215, -4948, -30828, 22187, -753, 49092, -15036, -22401, 19374, 38176, -14470, 11603, 47294, -4347, -21285, 16928, -29089, -41538, 30355, -22877, 37208, -9456, 14169, 7908, -27246, -5839, -8191, -3488, -7872, -40825, -5936, 56046, 25586, -17973, 33966, 26336, 24834, -14427, -7577, 49346, -53001, -23964, 58479, 7554, 16699, -10191, -17073, -3728, 2818, -12196, 36596, 54016, 2583, -265, -59274, -27193, 15546, 109329, -17808, -9587, 26368, 23334, -15429, -41604, 71786, -18278, -11446, -6240, 43968, 13404, 16213, 54184, 39631, 57794, 4954, 29819, -21229, -18272, 15536, 51089, 35108, 42569, -9029, -29622, 11332, -35036, -27430, -25601, -12181, 34698, 18513, -16998, 4544, 23778, -1824, -20733, -5830, -50254, 26880, -24492, 19818, 6078, 9829, 5328, 54596, -3802, 23842, -9945, -14346, -36769, 18018, 28148, -40686, -19991, 12158, 25691, -13418, 24482, 34898, 11266, 55773, 11002, 38536, 5024, -781, -12323, -18672, 89297, -32740, 44942, -43272, 27855, 4916, -5454, 14701, 9020, -9158} +#define CONV19_WT {0} +#define CONV19_W_Z (137) +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +#define CONV19_M_ZERO (1431657856) +#define CONV19_N_ZERO (1) + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-14283, 1267, -4795, 16305, -4789, 48423, -1535, -9309, 7062, -4503, -8339, 27504, 3202, -3458, -7569, -2372, 67055, 6158, -184, 112059, 99960, 64999, 3129, -4562, 17550, 33713, 50236, -1370, 20688, -914, 1133, 50707, 27674, 11870, 112567, 7838, -6041, -522, -14525, 17169, -12443, -1755, 16726, 60016, 13104, -1347, 9784, 95054, 4401, -3309, -2515, -4975, 2521, -1150, -3683, 226734, 34904, -61, 34794, 35662, 10450, 12790, 76273, 5992, 111941, -2718, 70057, 41589, -6310, -16441, -3812, 65238, 140737, -9029, 26273, 11022, 196607, 47304, -9108, 18826, 34135, 261, 4361, -6953, -3068, 1072, -2869, 15283, -23166, 4581, -23879, -5601, 59032, 17394, -18320, 24768, -2578, 35690, -2196, 6976, -7013, 11027, -12457, 69517, 33133, 20062, 42710, -9591, -4287, 23927, -10237, 5572, 13421, -3858, -21937, 21795, 10007, 17582, 21875, 11300, -8964, -6076, -6281, -5775, 31001, 14487, -2622, -11742, -4222, 10944, 17330, 25011, -2198, -9045, 17852, 25, -14058, 10440, -11601, 20808, 1249, -27351, -6487, 53258, 10418, -29582, -12744, -8433, -27588, 315, 40266, 15015, 64330, 932, -6107, -11392, 777, 91873, 16368, 26168, -7410, 59829, 3141, 56070, 54622, 20238, -5666, -10193, 12664, -7274, -3740, 57343, 29189, -6533, 20327, 49800, -4686, -20097, -8087, 39272, 22895, -14189, -15704, 35152, 17321, -18857, 15999, -26004, -3891, -10089, 33728, 2023, 14342, 40320, -27809, -3283, -8390, 43911, 76331, -10022, -16775, 130656, 53, 20115, 80164, 45334, -21031, -13044, -7701, 4108, 77151, 67986, -3072, 7278, 64045, -1290, 16762, 35654, 10480, -2957, -2236, 36875, 11227, 6816, 84468, 67616, 2627, -3147, 81794, 17919, 61496, 3108, -18388, 100275, -16243, -2738, 63146, 1933, -1447, 29562, -4772, 15252, 25290, 5156, 17582, 56808, 4168, 59101, 19595, -1256, 44908, 75996, 18099, 29846, 21610, 2811} +#define CONV20_WT {0} +#define CONV20_W_Z (137) +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +#define CONV20_M_ZERO (1431657856) +#define CONV20_N_ZERO (1) + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {-40394, 56061, -11768, 98583, 66648, 60770, -57920, -730, -13831, -9984, -6711, 3366, -50538, -22789, -9772, -23342, -16484, 11986, -7394, 8436, 24233, 29751, 1841, -40856, -41702, 12644, -25934, 28256, 18095, 3131, -19222, 54739, -51739, 25087, 10555, -8095, -17762, -47220, -16657, 41933, -45801, 11022, -14857, -8804, -8556, 39010, -6429, 9896, 32532, -37918, -18331, 21869, -54644, -28229, -64213, 10629, 28664, 42854, 18435, -37138, -5260, 6435, -14227, -24526, -56718, -75983, 5278, -46087, -33602, -5155, 46143, -17856, -37451, -8430, -18244, 40855, 4467, 10131, -25756, 22939, 22436, -20329, 9526, 9114, 27391, -1387, 71276, 31887, 12062, 20750, -26119, -23811, -49444, -55466, 23925, -80482, -23677, 7280, 16080, 19382, 6695, -21861, 109451, -21229, -22039, 7, 22693, 22980, -12494, 3248, 43464, 16024, 3068, 4002, 36175, 42190, -35101, -18668, -13719, -22308, -9863, -7896, -55657, 101435, -28327, -3187, -7355, -46470, 30833, -21278, -22411, -13287, -22312, -47, 23590, 6128, 18856, 82760, 37275, -30321, 13691, -8685, -28608, 19437, -3398, 17438, -10015, 16293, 11706, 25353, -28462, -4182, -9751, -3433, 5191, 9701, -22253, -32395, -7185, 26821, -11520, 5925, -260, 12728, 50135, -15135, -23041, 32305, 1998, -5609, -26156, 10384, -13467, 8980, 19726, -9399, -13288, 12626, -10342, -15551, -3272, -4357, -16464, 6847, -13991, -13033, -2804, 44884, 13729, -38215, 16064, -32606, 16378, -22209, 9011, 6355, 18861, -9933, 1134, -23578, 331, 31877, 17367, 11050, -3662, 33636, -66877, 21701, -7562, 4127, -16459, 11296, 35234, -45442, -5982, 5935, -5246, 22695, 953, -21831, -318, 11993, -34780, -8369, -13852, -41750, -17585, 29360, -27470, -47835, -23391, -43583, -16247, -49891, -46789, -28947, -31291, 41285, -29069, 5672, 4042, -38151, 4904, 625, 8679, 11599, -31873, 7522, 22583, -1507, -67707, 5193, -38656, 16199, -13308, -4311} +#define CONV21_WT {0} +#define CONV21_W_Z (137) +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +#define CONV21_M_ZERO (1431657856) +#define CONV21_N_ZERO (1) + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {56740, -15807, 8413, 22812, 34534, 33192, 93294, 16633, 87713, 74454, -7755, 4552, -1519, -4205, 2220, -5734, -3471, -12770, 51630, 93187, 14379, 82557, -5369, 4285, -9143, 49108, 56104, -2432, 62562, -4036, -2340, 25632, -3495, 70064, -4244, -2591, -4046, -5543, -2028, 69857, 47337, -11742, 75376, -7372, -1627, 99294, -5383, -4444, 20634, -7731, 100668, -3119, -4719, -5621, -8116, -2443, 38106, 112082, 78994, 83433, -1455, 169640, -3291, -19079, -3193, -1692, -3099, -3890, 10507, -4076, -5312, -8, -2845, -16191, -12075, 20261, 97314, 86719, -3857, 55742, -2886, -8250, -8411, -2995, -8544, -2208, 26624, 58078, 54535, 88681, -2778, -6244, 29951, -8937, -6877, -635, -9390, -16141, -6280, 197634, -16504, -3981, 157506, 152695, -2836, 34890, 57993, -5503, -19753, 35457, -16466, 27328, -7303, 130159, 18611, 32920, -3049, -10251, 12083, -4639, 3749, -1995, 23494, 28219, -1170, -8634, 61160, 53236, -3216, 3905, 25218, 164659, -19135, -2288, -3248, 71239, -17344, 22076, 18123, -29333, 54622, 99403, -5531, 23839, -7851, 19563, -3113, -6330, 108457, 38140, 103286, -1372, 18020, 11477, -88, 141960, -4434, 116076, 124217, -2593, -4995, -14691, -2428, -8367, 50632, -3509, 63991, -8350, 2691, -429, -18987, -3797, -4650, 94180, 69366, -5751, 6621, 50459, 132684, -4862, 24520, 92982, 14, 24055, -383, 81723, 32840, -9110, -4701, -6517, 79036, 5992, 94296, -8787, -1398, 1397, 24640, -7105, 35197, 346, 5299, -3551, -3094, 112962, -1309, 42916, -1462, -8984, -1816, 127903, 10770, -15194, 5858, 4499, 59241, -22470, 75903, 93974, 12661, -4151, -4159, 69847, 1500, -2202, 67064, -3463, 114710, 11878, 74971, -7730, -5732, -7639, 98618, 200901, -3098, -16422, 64218, -19350, -14019, 48905, 114993, -3551, 104042, 93006, 122426, 950, -608, 46165, 53783, 46121, -2026, 54920, 73971, -4073, -3569, -4065} +#define CONV22_WT {0} +#define CONV22_W_Z (137) +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +#define CONV22_M_ZERO (1431657856) +#define CONV22_N_ZERO (1) + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {22203, 28200, -33553, -47356, 11754, -16529, -17250, 25072, -65280, -19208, -13046, -60517, -41009, -45128, -59376, -23342, -12030, -35826, -37144, -24453, -23343, -17448, -32620, -95183, 76592, 23664, -55139, -18223, -8184, -51693, -11799, -47489, -13539, -67698, 42295, -20060, 35709, -23419, -85571, -20525, -11633, -41869, 59154, 12569, 51875, -9902, 51428, 59095, 15575, -19155, -33363, -45781, 68084, 21384, -28297, -43439, -61871, -12703, 84416, -6683, -52270, -37785, -79779, -28604, -49368, 6628, 48365, 1027, 36532, -48532, 76909, -32218, -71095, 63205, 103402, 56128, -7513, -28488, 26485, -14219, -8609, -31934, -46893, 26733, 41128, -19380, -39287, -17176, 17872, -12430, -23274, -24990, -2285, -18348, -15036, 70357, 51660, -14638, -31307, 19457, 52274, 10807, -71473, -16176, -12688, 54794, 22827, -44936, 40042, 14723, -46387, 21301, 48669, -85556, -40132, -19910, -25924, -79704, -647, -71000, -68356, 23672, -8529, 22496, -22112, 7264, 25118, -46661, 40993, -4425, -21491, 5873, -60883, -54189, -19083, -49232, 71047, -33710, -45779, 1873, -27193, -101864, 5553, -11491, -13696, 53965, -55653, -2143, 9803, -41708, -6717, 87294, 40127, -36941, -66779, -51911, -29790, -30628, -27717, -40756, -406, -44849, 14906, -70582, -4764, 4608, -11465, -55548, -722, 32841, 127188, -14092, -5305, -9902, -8615, 62055, 37703, 2550, -17405, -8362, -24072, -10919, 23534, -36996, -20273, 20410, -78328, -28686, -64297, -49525, 49091, 35799, 43803, 7083, -3069, -134, -41199, -34553, 4676, -30189, 24136, -43764, 33454, 66182, -19251, -17551, 19643, 13340, -49102, -87429, -99219, -85253, -8187, 26442, 7720, -33737, 54907, 34634, 46759, -73726, 62691, -70797, -65532, -11822, -52358, 40558, 13638, -37305, 85183, -70997, -19874, -17025, -46874, -15978, -50404, 82678, -10811, -26961, -30257, -37448, -70427, 53602, 100876, 14918, 71272, 16986, -35695, -57728, 28843, -17888, 23180, 47097, -75830, 7587, 15749, -9389} +#define CONV23_WT {0} +#define CONV23_W_Z (137) +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +#define CONV23_M_ZERO (1431657856) +#define CONV23_N_ZERO (1) + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {135332, 157804, 138025, -577, -203, -726, -3600, -29468, -833, 122976, -213, -636, -515, -691, 156210, -1121, 132337, 154521, 117344, 148150, 152449, -169, -906, -477, 86290, 98081, -282, -163, -495, -580, 41495, -940, -483, -545, 159225, 137227, 75896, -327, -605, 138830, -956, -515, 65853, -71644, 101247, -22156, 115189, 33549, 150473, 165270, -1043, 874, 60105, 72098, 132395, 5111, -1182, 1812, 80837, 133427, -982, 149287, -961, -1327, -726, -20330, 68204, 40254, 24162, -806, 90480, -781, -578, -40072, 95410, 61188, -433, -518, -328, 430, 167229, 106044, 145467, 18550, 118362, 153702, 203584, 147306, 102014, -709, 41115, -426, -14608, -548, 79170, 66349, 79496, -9381, -629, -334, 131894, 13574, -998, -329, 134094, 64646, 76282, -409, 66701, 73401, -191, -574, -308, -1185, -1051, -3163, 175688, 7354, 50489, -731, -696, 11902, -7930, 155439, 1370, 79007, 84066, -511, 103946, 98799, 122965, -499, -1277, 129208, 148028, 130473, 63379, -382, -292, 149589, 150913, -380, 74, -347, -659, 69309, 158649, 154643, 77607, 58362, 167584, 84578, 126162, 158000, -586, -1099, 3291, -432, 11803, 2849, 91336, 157820, 74898, -365, 126772, 92425, 105854, -169, -1088, -6675, 127334, -681, -553, 105505, 138491, 86346, 72659, 157028, -845, -16, 147037, -4920, 5512, -3025, -426, 79966, -1651, 144217, -1034, 36977, -21573, 65013, 186280, 88710, 157143, -1974, 107288, -266, 158233, -808, 61579, -759, -991, 132869, -83, -381, 103034, -772, -840, -1782, -610, -510, -20841, 4445, 115932, -382, 57661, 101685, 127719, -379, 75008, 57488, -517, 91568, 133298, 116934, -541, -672, 96574, -707, -796, 126858, 171566, 170970, 108758, 82783, 278, -644, -624, -650, -506, 50835, 74809, 135551, 41536, 85924, 135413, -570, 86376, -1317, 185571, 107255, -947, -2324, 1823, 163353} +#define CONV24_WT {0} +#define CONV24_W_Z (137) +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +#define CONV24_M_ZERO (1431657856) +#define CONV24_N_ZERO (1) + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {56425, -11192, -6813, -11829, 27511, -16649, -53164, 13303, -11829, -36780, 1888, 94593, 11135, -21188, 56702, -11883, 31420, -74310, -5517, 26909, 34618, -42389, -15723, 28310, 31655, 1516, 6084, 56557, 19385, 77150, 56476, 90626, -15200, -4819, 23196, -6425, -9485, -4781, 11073, 48486, -57586, -6039, 52560, -45684, -21308, 12316, 5320, -31799, 7513, -12122, -6726, 7930, -14592, 50268, 2353, 45168, 16277, -21759, -55337, 5417, -11268, -4717, 34421, -20414, 32743, 12297, 24268, 25380, -43580, -2158, -57791, 15579, 36108, 12012, -3992, 45764, 70842, 27171, -11540, -29483, 3558, 33203, 40959, -43029, -336, 29817, 4017, -69316, 25138, -90832, 34095, -42138, -10657, -31845, -10895, 65692, -220, -2122, 7174, -92, 17510, -54861, 59845, -44856, -9209, 19471, 10315, 117486, -22335, -16151, 29414, -83413, -21348, 21777, 61193, 22759, -14614, -25428, 63628, -15376, 40213, 33444, 23624, -33348, -3475, -20664, -718, -21538, -50232, 6253, 41718, 30573, -44203, 15802, 4911, -6720, 8524, 5247, 50269, 35554, -68164, 17037, 79775, 26767, -28575, -26417, 39340, 31318, -17660, -32335, 38352, -2472, 54910, -26806, -66906, 17298, 19312, 4571, 13194, 32050, -9314, 1017, 11871, 30208, 37660, 13860, 2797, 25590, -36825, 30357, 10047, -74098, 77795, -8616, 6121, 33062, 85183, 57601, -50014, -57044, -40249, 54075, 14921, 33205, -21992, -42386, -9420, 26336, 10500, 47325, 2863, 68202, -56941, 23380, 44243, 3641, -32452, 34811, 8427, -30423, -5327, -22729, 14584, 32779, -24263, -63314, -8899, 9583, 60502, 24157, -7931, 7204, 6424, -24489, -27670, 19232, -24801, -30767, -14714, 12656, 21725, 70805, 21550, 38300, -30555, 26501, 1193, 51325, 6014, -39885, -26487, 5041, 26748, 47702, -19918, -54465, 72980, 16237, -34541, -19048, -9900, 72352, -42874, -25690, 39978, -71680, -21463, 24370, 26338, 34473, -50906, 2503, 14181, 36509, -9251, -39307, 55083, -27892, -2682, -9250, 25053, -5552, 28931, 56335, -31091, -58161, -28947, -4860, -9431, -18377, 50586, 35942, 2850, 38879, 40546, -31041, 2412, 28167, -61383, -12475, 42100, -12368, 92154, -2186, -38506, 53431, -40671, -6872, -6949, 64441, -35911, -2799, 78909, 98180, -31237, -7591, 11580, 19650, 19442, -92293, -43038, -26708, -10481, 14949, 121109, 61086, 2327, 44318, -95487, 23803, 56593, 9174, -4390, 4027, 3821, -6709, 17351, 6953, -8979, 16843, 46390, 9721, 137, 7981, 5394, 85597, 2177, -11306, -72597, -28803, 41592, 74055, -48414, -22204, -45231, -51701, -58427, -3814, -39642, -12473, -36576, 33724, -75001, -46585, 28793, 23129, 18943, -47963, 57557, 13154, 19607, 7248, -7585, 52670, 8268, 9062, 32574, 39933, -44391, 13997, 45460, -23296, -7867, -52437, 39766, 10954, -28720, -25979, 15981, -59477, 11255, -50400, -22865, -33925, -36306, 14949, 34574, -25359, 72934, 37288, -26532, -5135, 24825, 743, -11305, -22684, -37704, 15696, 61906, 11769, 81943, -5470, 15075, 60649, 16339, -62217, -33303, -8498, 67543, -11476, 33115, 30889, 96113, -29645, 23921, 70743, 81817, 27951, -59823, 30127, 43392, 22993, -31834, -36093, 46125, 10429, 17662, 63931, 12169, 29706, 23202, -35776, 7487, 83701, 32289, 64560, -16265, 109663, -67521, 11138, -2339, -49193, 27851, 20164, 39554, -36534, 62102, 66989, -20448, -56827, -15111, 35850, 41404, -40359, 50093, 2390, -29358, 14915, 61292, -11636, -16358, -6301, -22620, 19383, -34138, 19016, -15871, -38502, 52273, -14730, -35509, 34396, 22072, -23425, 30666, 19847, -7775, 23824, -151597, 42494, 26738, -32861, -57975, -3588, 29257, 12556, -4179, -29545, 7199, 21916, 39139, 57671, 2517, -2447, -5571, -23655, 35454, -2957, 16944, 35954, -28903, -83737, -64980, -57742, 10495, -11062, 11914, 23828, 201, -68567, -7335, 20117, 36447, 6650, 3643, -73324, 30179, 52842, -38108, 92960, -7640, -48211} +#define CONV25_WT {0} +#define CONV25_W_Z (137) +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +#define CONV25_M_ZERO (1431657856) +#define CONV25_N_ZERO (1) + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-606, 121285, -9862, -243, 5128, -454, -2632, 72941, -662, 107807, -7260, 92052, -964, 37680, 7712, -112, 121316, -1376, -1265, 97095, -462, -1930, -592, 123281, -1166, -556, 49405, 171958, 104185, 3184, 2136, -1841, -641, 101993, 88633, -19698, -903, -10924, 89492, 105011, -992, 90825, -559, -172, -215, -196, -1902, 106713, -899, -165, -6685, -4812, 82814, -9755, 102957, 126380, 84832, 87429, -1076, 8411, -3603, -5776, -2672, -2123, -14523, -11573, 109520, -496, -885, 37912, -427, -1930, -1618, -1929, 137255, 169115, 36367, 52959, 138358, 135095, -767, -2754, 161479, -3104, 3325, 77862, 106235, -11327, 1152, -260, -990, -141, -575, 153360, 103331, 127856, -381, -3138, -286, 15002, -6626, -777, 122270, -1143, -18281, 70552, 39443, -6024, -11870, -887, 138360, -1167, 65052, 37550, 146349, 89782, 106275, -1909, -478, -1548, -3161, 106927, 5717, -2770, 55019, -83, 46828, -627, -755, -14117, -4524, -823, -1137, -14757, -1423, -652, 110794, -388, 163258, -4619, 548, 80817, 63334, -20989, -7414, -469, 714, 74094, -151, 134632, 27462, 13851, 174218, -8995, -596, -4277, 130913, 52673, -313, 134006, 143193, -3279, -4881, 107096, 98704, 108132, -1861, 70328, 75, -3315, -1260, 1191, -1595, -327, 984, 116218, 126505, 6826, -12083, -1429, -639, 78938, -7024, -2063, -600, 185374, 90670, -3436, 109224, 88528, 69841, -17157, -12153, 68991, -2691, -32253, -356, 82901, 72425, 99639, -1444, -846, 2747, 138717, -9295, -293, 140758, 67302, -2191, -1560, -165, -427, 66839, -11327, 62284, 80138, 192, -274, -581, -949, 47204, 18222, 7449, 127324, -6570, 112772, 99568, -1225, -4083, -1925, -781, -87, -934, -2570, -778, -660, -2013, 100616, -734, -8483, 180840, -5096, -755, -288, 65966, -1685, -5988, -1478, -3062, 1395, 7605, -108, -4741, 50859, -1788, -579, 97941, -1157, -1193, 141457, 1703, -12568, 86981, 68738, -788, -1584, -1940, 6359, -235, 74851, -661, -3453, 203380, 61036, 62085, -414, 60347, -1692, -2751, -1512, 9231, 106293, 12410, -36933, -466, 72995, -870, -1244, -5960, 80373, -9939, -1556, 135029, 4979, -8489, 79177, 2520, -2152, 2155, 681, -16738, -263, -228, 56506, 18778, -2474, 1192, -21424, -171, -1822, 110501, 81048, -9516, -1176, 59640, -231, -5418, -498, 48499, 1314, -2412, -460, 76955, 84430, 79696, 1770, 110564, -1486, 68068, -2456, -1082, 3271, -350, 76894, -88, 33, -186, 63862, -513, -13557, -440, -4521, 2498, -1074, -2667, -57, -192, -971, 65605, 39395, -460, 232154, 59751, 83692, 75284, -1853, 111853, -20301, -510, 1521, 63973, -2913, -562, -62, 87515, 83418, 147332, 147163, 76855, -1053, -2853, -2198, 43524, -7, -377, -3298, 78437, -233, 144332, 4807, -2387, -336, -2675, -6556, -817, -2020, -1976, 102357, -10435, -1673, 54850, -610, -1084, 59941, 66170, -4594, 64516, 130503, 77059, -714, 156045, -32149, -16015, -65, -1354, 57198, -22254, 2103, -848, -964, 167, 78771, -839, -4192, -1877, -1972, 94924, 18380, 95602, -475, -1087, -7028, -1146, 103828, 119814, 4094, -1002, -448, -1649, 55574, -603, -2674, -6543, 80277, -10006, -537, -2705, 3119, 632, -1826, -1184, -41955, -1920, 3504, 217333, -8897, -2241, -1260, 5175, 213277, -1380, -905, -3219, -2681, -17708, -97, -6416, -25149, 549, -143, 40, 654, 131511, -9884, -2669, -3105, -1914, 55926, -1021, 826, 55954, 97940, -4482, -1002, 99489, -569, 10353, 78291, 216675, 117242, 88155, 95095, -347, 5324, -6423, -351, 5930, 217460, -4213, 66376, -1844, -1128, -1154, -631, 55670, -2230, -1300, 105478, 39842, -1025, -1195, 100660, -18757, 136381, -1077, -1343, 76701, 90680, -877, 1920, -1262, 83927} +#define CONV26_WT {0} +#define CONV26_W_Z (137) +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +#define CONV26_M_ZERO (1431657856) +#define CONV26_N_ZERO (1) + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {42897, 14516, 28095, 25920, 30277, 10080, -17179, 285, 25401, 18651, 1445, 53824, -6478, 15124, -10084, -3801, 38241, -2069, -3293, -6262, 27327, 8672, 12677, -60668, -20554, 12871, 6076, 55444, 26837, 12700, 45746, 56001, 12039, 46937, 14381, -10017, 38664, -3497, 32216, 16227, 43958, 31884, 13297, 9034, -2630, 16299, 700, 18943, 24582, 2573, 21720, 23240, 23659, 14276, 29574, 23337, 22508, 25976, -30803, 15592, -27670, 3338, 22536, 26537, 24730, 26665, 1070, -14718, 5648, -2509, 49906, 37893, 1216, 37413, 26708, 19217, -24837, 11574, -22578, -27222, 4756, 24175, 19485, 57026, 22097, -34480, 16635, -503, -26586, 35183, -20720, -14760, 7088, -5440, 27038, 55937, 4545, 22267, 10967, 2386, 25168, 28378, -1238, -3820, -1077, -1743, 24583, -3811, 12388, 13479, -4598, 11071, 17672, 54489, 8289, 14017, 14578, 1193, 16454, 16149, 38726, -9370, -24338, -2591, -19220, 46623, 14550, -27724, 36279, 36597, 36411, 49467, 16025, 3393, 867, 28435, 10195, 10563, 22882, 17269, 12403, -3384, -16159, 23460, 30723, 29926, 19241, 14813, -1775, -2159, 3982, 29536, -26342, 4343, 6233, 19954, -1613, 13673, -36608, 1359, -361, -17798, 9576, 22305, 24218, 9620, 13780, -16830, 1647, 7121, 24677, -4314, 28381, -4935, -41654, 40512, 35092, 10738, 10405, 16528, 14930, 23818, 41379, -13905, -9427, 17355, -15025, -3895, -959, 21790, 11005, 47649, 5521, 6293, 60680, -19608, 35219, 11475, 15547, -9019, 32294, -29652, 6379, 9686, 8524, -12739, -41388, -15259, 6353, 14209, 27051, 2550, 16413, -192, -15297, -9799, -12331, 33085, 15235, 36207, 23329, 36861, 26770, -17555, 18229, 28734, -3910, 27765, -7162, 7174, 1539, -3529, -8944, 13480, -4405, 10907, 35238, 51478, -2659, 20581, -13774, -6492, 36486, 30769, 9239, -12551, -10224, 22619, 11042, 56188, 28960, -561, 4858, 18797, 9073, 352, -8115, -1705, 13796, 30306, 39381, 57483, -536, -8401, -13327, -5510, 5834, 14003, -10892, -3150, -39401, 15416, 20896, -14832, -38337, 15996, 1228, 6138, -4819, 5041, -2697, 26406, 14167, 32997, 10673, 12196, 22790, 51752, 24545, -5441, 32559, -2230, 30399, -19909, 10892, 19086, 17397, 38639, 31817, -6788, 32656, 20780, -24286, 47322, 27148, 10418, 45872, 38665, 13711, 25741, 500, -6591, 20944, -7206, 35282, -101, 26576, 10809, 33153, 26147, 16064, -3269, 14650, -11134, -1917, 6727, 3383, 19230, -1769, 13938, -7872, 60494, 37555, -2951, 5225, -19176, 46613, 19984, -3057, -7325, 341, 73846, -9324, 17959, 60695, 22535, 3463, 17985, -11293, 3176, 4526, -5579, -4880, 38000, 7873, 19698, 21606, 20933, 13540, -8661, 2517, 65114, 31382, 28575, 43547, 10444, 53726, -17892, -9728, 4953, 9871, 17034, 26347, 13110, 22521, 32395, 21107, 32798, -9155, 17341, 36773, -24686, 10147, -14982, 4753, -39484, -3707, -16646, -3769, -4522, 11226, -3680, 33204, 845, 57366, 36452, 19136, 7720, -4926, 39780, 43024, 22320, -11499, 47859, 24404, -2127, 13929, 549, 6348, -5601, -10488, 15238, -6434, 21336, -19909, 22345, -6508, -15369, 4785, 22681, 50239, -12631, 28495, 24139, -36902, -2111, 45890, -15214, -7326, 44266, 29285, -9874, 12965, 21832, 8298, 16818, 23927, 12023, -17636, -9352, -11193, 36488, 266, 23547, -14161, -41953, -40679, 52506, 9929, 493, 38733, 5093, 28768, -21740, 59628, 11239, 32050, 1196, 41000, 8364, 31839, 36023, 35642, 6759, 12683, 6643, 14987, -2313, 3030, 37179, 10271, -10379, 27150, -17117, 5020, 33879, 9231, 48833, 74, 62456, 45734, -27847, 17600, 38943, -659, 35216, 25462, 40185, 20983, 17785, 24051, -19448, 65971, 49097, 23102, 15038, 15648, 20010, 2646, -11368, -4112, 22136, 47584, 33297, 11677, 1958, 41127, 27115, 30534, 5009, 5172, 13191} +#define CONV27_WT {0} +#define CONV27_W_Z (137) +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +#define CONV27_M_ZERO (1431657856) +#define CONV27_N_ZERO (1) + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {1492, 2767, -9106, -13761, 4530, -1390, 452, 2489, -644, -2727, -7131, -7023, -1290, -3767, -4544, 534, -1384, -2472, 5318, 437, 2688, 8833, 6526, 1832, 590, -3252, 1351, -7766, 2424, 3427, 6114, 888, 3202, -3392, -2631, -5708, -742, -3008, 1139, 2420, -1619, -3873, -2043, -657, 4598, 5479, -809, -757, -1321, 110, 3347, -208, -23, 1636, -3045, -3407, -849, -2680, 2858, 1597, -6160, 6510, -2072, 6884, 2733, 387, -4083, -5758, -2551, 1878, -4869, 3751, 760, 1115, -3009, 5577, 1431, 2259, 4712, 5936, -9747, -2813, 1738, -15636, -3801, 5148, -5706, 6544, -486, 11264, -3411, -4674, -1201, -162, -361, -6187, 3773, -7202, -9594, -8686, -4696, -10139, 24, 3897, -625, -22, 3836, 433, -2666, -8297, -6741, 11160, -311, -4746, 205, -11008, -2586, -890, 3762, -1625, -4327, -1744, -3009, -8951, -6452, -1681, -2480, -3803, -1461, -2649, -3149, -5071, -3780, -88, -10507, -11001, -9684, -12292, -5900, -5483, -7324, -6625, -7199, -4969, -2780, -7518, -1455, -6787, -5993, -2768, 799, 9101, -9793, 4166, -655, 7593, 1829, -2821, -2499, 947, 1909, 9350, 11479, 2241, 5788, -1017, -1414, -9033, 2400, -1168, 2916, 9401, -652, -1482, 5966, -9397, -2639, -1777, 7647, 1156, 2804, -163, 9431, 695, 4348, 4457, -2973, 3251, -1183, 1865, -2030, 7228, -2535, -7471, -2249, 10964, 5397, 2902, -1567, 5143, -7942, 2336, 6151, 3018, 4817, 306, -3780, 966, -1513, 5453, -4143, 1809, 1369, 487, 2127, -2639, -777, 6424, -1140, 3911, -6678, -3166, 588, 11069, -5101, 3677, -1625, -774, -8471, 3487, 91, -3588, -897, 2637, 5103, 3618, 5822, 11951, 5032, 10009, 1863, -2834, 2538, -789, 1152, 4508, 3788, 8098, -644, -4439, -994, 4440, -1733, 1071, 11281, -6112, -262, 3179, -5674, -927, 2901, -1048, -4014, 1947, 4649, 6242, 2325, -1056, -3584, 1438, 2316, 613, 4233, 3343, -4229, -7007, -6288, 1016, -4268, -17, 3516, 11701, -2745, -3482, 7018, 5278, 6721, 104, -4929, 494, -2037, -4447, 909, -6683, 2610, 4849, 1330, -2138, -3138, 5016, -7208, -5574, -4095, -4406, -9417, -856, 4772, -4766, -961, -4947, -4647, -2313, -743, 10212, 5597, 6839, 773, -4944, -1393, -3599, -7908, -10710, -10501, -9309, -6427, -10348, -9266, -3558, -5401, -4977, 261, -1631, 3132, 5286, -2345, -575, 4455, -3916, -8232, 838, -1652, -1906, -6027, -2462, -2004, -1328, -2183, -3013, -195, 1352, 3476, -5889, -3410, -2848, 1520, -1692, 178, 1599, 981, 5113, 1417, 2472, 1322, 3281, -4064, 1573, 2491, 6307, -564, 4778, -5141, -7183, -1391, 3200, 199, -2928, -751, -1101, -285, 2073, -5281, 3567, 7390, 942, -5584, 321, -3308, -773, -719, 1863, -7323, 6263, -11059, -4716, 3264, -1694, -10356, -3480, -4744, 9756, -2436, 3980, 903, -4477, -12402, 1196, -1632, -3047, -4845, -6523, 122, -2945, 6454, 8992, 4683, -4478, 6798, -9035, -1003, 1724, -678, 2605, 2363, 9396, 4474, -4275, -9550, -1269, 4228, 2503, -503, -1483, -2961, -2255, -1897, -1590, -177, -5063, -668, -7623, 6389, 4027, 4524, 1808, 1250, 8270, -809, -1233, 13474, -1019, 4652, 2422, 1278, -696, 819, 1187, 3770, 4223, -3286, 2877, -3889, 3743, 2960, 837, 13693, 8346, -1761, -3210, 5229, 144, 4713, 2771, -5662, 2411, -5519, 9676, -8587, 7775, -1080, -834, 5712, 4102, 229, -7866, -9701, 795, 2807, 6914, -1289, -165, -5543, 2286, 5429, -7355, -4, -4482, 1604, -12991, 1173, 3429, 1638, 4081, -2866, -1623, 4918, -116, -4392, 454, -436, -4091, -8457, -2293, -3249, -608, 2620, 2820, -1446, -5296, -2164, 4412, -4280, 476, -678, 10028, -1220, 177, 3246, -3132, -3024, 8991, 4283, -5053, -16, 3848, 1385, -911, -7605, -507, -1994, 3331, -9645, -3574, 4549, 5289, 2473, 7037, 179, -10130, -6655, 13971, -2464, 1029, 1674, -317, -6986, -2234, 352, 159, -1758, -4130, -3133, 565, 753, 11062, -2640, -1371, -7402, 603, 6321, 2342, -1961, 3164, -298, 2491, 10078, -2389, 3293, 8139, -868, 1595, -4605, -2368, -2256, 1050, 2293, 2363, -3765, 7497, 4641, 3015, -115, 2429, 1884, 6397, 2935, -8720, 3073, 11966, -3724, 4323, 8559, 549, 189, 3691, -2193, -232, 4396, -456, 8941, -905, 6721, -28, 3446, 2058, 1231, -2855, 383, 2067, 3923, -5995, 8864, 2654, 4040, 9772, 790, -3311, 4643, 4777, -7678, 5416, 10468, 1471, 6038, 7866, 7662, -634, 2069, -922, -2135, -7543, -11839, -3167, -870, 2328, 4891, -8566, -711, -3677, -1739, 914, 7716, -1020, -1061, 816, 2749, 6005, -31, 2635, 1032, -48, -274, -7838, 8122, -2089, 5474, 5204, 1861, -348, -8162, 1692, 5946, 2398, -3853, 3795, 6509, -3628, -6816, 3135, 9682, -418, 3297, 3478, -4516, 5102, 4437, -500, 7129, -4343, -5908, -6579, -3966, 347, 6807, -5472, -752, 6609, 5243, 1118, -3959, -1032, 5882, -4457, -95, 8898, 8962, -6850, 3680, 4802, -6995, -1189, 951, 2940, -2207, 6039, 3860, 1588, 6815, -3939, -2418, 7257, 5074, -496, 1633, -1801, -10834, -3451, 11135, -6103, 2293, 1384, -1937, 6110, 1083, -4225, -2579, -1139, -1376, 2497, 6761, 4412, 383, -924, -2660, 3474, -2436, 4527, 1513, 5409, -59, 6979, 8566, 2317, 4867, -4236, -3290, -9018, 6744, -2124, 2657, -2351, 5374, 9510, 1007, 3876, 9020, 106, -2878, 241, -1828, 953, 5418, -5190, -4809, -3555, 3014, -1866, 4956, 20912, -5904, -2890, -8988, -5068, -292, 1720, 3487, 8625, 892, -2210, 7013, -4727, -7046, 6957, 3506, 3213, 2281, -2236, 1573, 5986, 658, 8783, -4908, -602, -4290, -2459, -2701, 1567, -2550, -1203, 3590, -2211, -5538, -2728, 1970, -508, -936, -2788, 4574, -3963, -7386, 6849, 858, -4005, 5753, 8020, 3390, -2184, -1277, -3226, 3298, -4913, 3479, 4855, -2889, 3491, 9755, -5617, 5376, 7957, 2310, -5600, 528, -730, 1991, 6760, 4001, 7882, -3683, 3072, 3182, 314, 6910, -2013, 1672, 2153, -4523, 2903, -4970, -90, 4399, 7209, -3570, 5098, -440, 2474, -2902, 834, 161, -2566, 3778, -4648, 3040, -8224, 2571, -6568, -11060, -880, 506, 748, -7267, 6750, 11328, -531, 3767, 2722, -1172, 17507, -8487, -10336, -3283, 2004, -988, -4810, 3542, 9303, -4552, -1267, 3141, 1727, 1374, -2651, -8648, -3600, 345, 5582, 13086, 6567, 7527, 8778, -8563, 3377, -423, 9254, -6869, -1002, -6982, -189, -2215, 3581, 3552, 13430, 1869, 869, -570, 1468, -5223, -3248, -4405, -2632, 1893, 7470, -1003, -2596, 223, -6619, -217, -3780, 1469, -2129, -103, -6460, -1638, 1573, -588, -6110, -8565, 601, -10505, -7097, -3817, 1528, -1954, -4142, 2382, -3584, -280, 2359, 170, -2395, -3214, -11188, 5851, -606, -2717, -5736, -2488, 279, 7910, 2096, -2837, 3065, -2944, 6095, -2160, -8003, 985, 6835, -1994, 3645, -957, -5644, 2696, 1004, 6263, -8308, -4365, 132, -5748, 193, -3091, -2614, 490, -6924, -6368, -11672, -3785, -2944, -2591, -5894, -1578, 6334} +#define FC28_W_Z (174) +#define FC28_IN_Z (0) + + +#endif /*__128_0_5_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/160_0_5_parameters.h b/Inc/intq-mobilenet-v1-models/160_0_5_parameters.h new file mode 100644 index 0000000..46d88f5 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/160_0_5_parameters.h @@ -0,0 +1,361 @@ +#ifndef __160_0_5_PARAMETERS_H__ +#define __160_0_5_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (160) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (16) +#define CONV1_OUT_DIM (80) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (80) +#define CONV2_IM_CH (16) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (16) +#define CONV2_OUT_DIM (80) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (80) +#define CONV3_IM_CH (16) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (32) +#define CONV3_OUT_DIM (80) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (80) +#define CONV4_IM_CH (32) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (32) +#define CONV4_OUT_DIM (40) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (40) +#define CONV5_IM_CH (32) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (64) +#define CONV5_OUT_DIM (40) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (40) +#define CONV6_IM_CH (64) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (64) +#define CONV6_OUT_DIM (40) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (40) +#define CONV7_IM_CH (64) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (64) +#define CONV7_OUT_DIM (40) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (40) +#define CONV8_IM_CH (64) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (64) +#define CONV8_OUT_DIM (20) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (20) +#define CONV9_IM_CH (64) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (128) +#define CONV9_OUT_DIM (20) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (20) +#define CONV10_IM_CH (128) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (128) +#define CONV10_OUT_DIM (20) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (20) +#define CONV11_IM_CH (128) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (128) +#define CONV11_OUT_DIM (20) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (20) +#define CONV12_IM_CH (128) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (128) +#define CONV12_OUT_DIM (10) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (10) +#define CONV13_IM_CH (128) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (256) +#define CONV13_OUT_DIM (10) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (10) +#define CONV14_IM_CH (256) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (256) +#define CONV14_OUT_DIM (10) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (10) +#define CONV15_IM_CH (256) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (256) +#define CONV15_OUT_DIM (10) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (10) +#define CONV16_IM_CH (256) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (256) +#define CONV16_OUT_DIM (10) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (10) +#define CONV17_IM_CH (256) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (256) +#define CONV17_OUT_DIM (10) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (10) +#define CONV18_IM_CH (256) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (256) +#define CONV18_OUT_DIM (10) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (10) +#define CONV19_IM_CH (256) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (256) +#define CONV19_OUT_DIM (10) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (10) +#define CONV20_IM_CH (256) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (256) +#define CONV20_OUT_DIM (10) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (10) +#define CONV21_IM_CH (256) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (256) +#define CONV21_OUT_DIM (10) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (10) +#define CONV22_IM_CH (256) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (256) +#define CONV22_OUT_DIM (10) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (10) +#define CONV23_IM_CH (256) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (256) +#define CONV23_OUT_DIM (10) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (10) +#define CONV24_IM_CH (256) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (256) +#define CONV24_OUT_DIM (5) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (5) +#define CONV25_IM_CH (256) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (512) +#define CONV25_OUT_DIM (5) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (5) +#define CONV26_IM_CH (512) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (512) +#define CONV26_OUT_DIM (5) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (5) +#define CONV27_IM_CH (512) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (512) +#define CONV27_OUT_DIM (5) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (512) +#define FC28_OUT_CH (1000) + + +#endif /*__160_0_5_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/160_0_5_weights_bias.h b/Inc/intq-mobilenet-v1-models/160_0_5_weights_bias.h new file mode 100644 index 0000000..b8e8cb8 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/160_0_5_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __160_0_5_WEIGHTS_BIAS_H__ +#define __160_0_5_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {2698900, -6639989, -53924312, -28050732, 109500, 109174, 94013456, -7826629, 19716, 183582, 169746, 81513, 274314, 176608, -33813, 81590} +#define CONV1_WT {0} +#define CONV1_W_Z (137) +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +#define CONV1_M_ZERO (1431657856) +#define CONV1_N_ZERO (1) + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {-4159, -200, -172, 180, 17501, 8077, 267, -1531, -45894, 39647, 84304, 25389, 3023, 601, 400, 927} +#define CONV2_WT {0} +#define CONV2_W_Z (137) +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +#define CONV2_M_ZERO (1431657856) +#define CONV2_N_ZERO (1) + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {-13246, -13686, 17812, 11945, 104652, -27144, -24247, -32302, -34608, -1705, 10762, 3556, 458, -30828, 23061, 24820, 1295, -61033, -52557, -30454, 13157, -154296, -41116, 19772, 22527, -54860, 19046, -24944, -748269, -1664787, -21181, -9932} +#define CONV3_WT {0} +#define CONV3_W_Z (137) +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +#define CONV3_M_ZERO (1431657856) +#define CONV3_N_ZERO (1) + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {5599, 72740, 56837, -394, 48657, 75614, 33952, 14423, 162406, 37332, -744, 182856, 6043, 19261, 27743, 55718, 11812, 56609, 67811, 4062, 73459, 1384, 236384, 6631, 69647, 150732, 14338, -88436, -270, -227, 158867, 3011} +#define CONV4_WT {0} +#define CONV4_W_Z (137) +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +#define CONV4_M_ZERO (1431657856) +#define CONV4_N_ZERO (1) + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {18605, -3374, -10649, 166387, 10333, 55719, 62695, -48910, -21358, -40596, -74859, 52138, -5562, 9980, 499, -36121, 39956, 3995, 44595, -8922, 43433, 98244, 17624, 6183, 26991, -19451, -17073, -16593, -16225, -21384, 253686, 26239, -12875, 90762, -37026, 52121, -27233, 8235, 8151, 10184, -37855, 41637, -26917, -5478, 25822, 80596, 50521, -44762, 31766, -36661, -29971, 24302, 99525, 47953, 136596, 24149, 1568, 44869, 43464, -4180, -517, 48571, 180683, -19365} +#define CONV5_WT {0} +#define CONV5_W_Z (137) +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +#define CONV5_M_ZERO (1431657856) +#define CONV5_N_ZERO (1) + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {-1931, 280, 2125, 31538, 42268, 62348, 36204, 942, 5216, 2051, 21477, 10414, 13051, -2525, 650, 40720, 7200, 45161, 10850, -2205, 26889, 40036, 10874, 626, -1444, 23003, 3681, 19119, 3337, -6852, -45295, 1337, 12356, -42026, -17, 701, 28391, -1214, 13205, 4356, -120, -2393, 1225, 245, -41, 5945, 46851, 61, 1420, 3740, 1598, -72, -3103, 1969, 46319, 707, 4834, 18697, 11601, 52367, 35541, 6078, 19572, 50732} +#define CONV6_WT {0} +#define CONV6_W_Z (137) +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +#define CONV6_M_ZERO (1431657856) +#define CONV6_N_ZERO (1) + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {-2919, -7084, -31103, -5715, 12139, -4455, -5327, -1539, 11883, -33167, 40981, 34385, 9075, -24931, 34664, -9839, 8312, -30938, 46439, -37368, 8631, 61352, 74310, 59981, 26719, 80329, 38810, 14160, -15694, -23436, 28470, -7791, 72660, 1807, 41591, -44568, 24599, 33267, -1829, 43497, 3447, 18513, -27663, -16514, 16388, 36173, 34679, 8657, 5511, 19871, -23010, -5963, 9124, -5501, 18466, -18117, -11564, 42736, 4128, 3898, -44385, -53547, 18744, -20743} +#define CONV7_WT {0} +#define CONV7_W_Z (137) +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +#define CONV7_M_ZERO (1431657856) +#define CONV7_N_ZERO (1) + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {88040, 337039, 11632, 215, 61523, 82796, 185274, 2577, 263104, 105260, -84080, 13435, 402, 29626, -62858, 17513, 221417, 7600, 537, 209810, 3961, 1728, -2895, -229, 215456, 127851, 170813, 70484, 5184, 160381, -134, 11495, 255112, 259526, 39290, 1913, -663, -738, 2211, -34220, -1468, -48741, -694, 13058, 65097, 2686, 56832, 75665, 153894, 2665, 11035, 102372, 199484, 127249, 10775, 32567, 10202, 15990, 22048, 67854, 94774, 130239, 92038, 17271} +#define CONV8_WT {0} +#define CONV8_W_Z (137) +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +#define CONV8_M_ZERO (1431657856) +#define CONV8_N_ZERO (1) + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {65006, -21648, 53945, 55107, 28142, -20483, 154087, 59811, 64492, 14170, -19212, 433, -674, 52301, 32770, 23923, 24292, 7380, 7625, 21790, 57875, 26277, 22547, 72062, 26859, 33554, 40285, 18290, 23222, -1048, 41592, 13485, 17212, 45244, 64877, 57932, 29369, 21870, 43416, -7049, 44734, -1341, -757, 1064, -48203, 30098, 29230, -2118, 12876, 37073, 7908, -15939, 34418, 18412, 81012, 40377, 40352, -23789, -10115, 30461, 48465, 46904, 44671, 23060, 48175, 948, 29497, 63231, -29553, 46289, 58731, 535, 31306, 28090, -2628, 36124, 66597, 17637, 22746, 66402, 14614, 35870, -41011, -22689, 5523, 33711, 9831, 2392, 69701, 29431, 37848, 24331, 33850, 22369, 6222, 150004, 8487, 46431, 19670, 46788, 48512, 1364, 14686, -10432, 63550, 14477, 72854, 32726, 82651, 9354, -12131, 37143, 47967, 53219, 6722, 39895, -44404, -1369, 19921, 59972, -14681, 42729, 56587, -21413, 22548, 86932, 71993, 30013} +#define CONV9_WT {0} +#define CONV9_W_Z (137) +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +#define CONV9_M_ZERO (1431657856) +#define CONV9_N_ZERO (1) + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {21657, 1421, -531, 14802, 138, -7610, 231024, 22748, 35735, -9600, 45, 3311, 12254, -503, -14273, 821, 34960, 34051, -45, 3011, 67, -271, 10725, 70603, 13147, 181038, 3076, 527, 5921, -383, -880, -544, -4880, -1119, 484, 11188, 33765, -708, -6270, -44783, 881, 29160, 16106, -479, -3142, 52575, 38198, 1015, -6917, 24995, -27, 32522, -349, 1360, -359, -8, -500, -8282, 62041, -4643, 35, 20947, 8831, 243, 32786, 44392, 38245, -2559, -3234, -314, 33003, 2053, 1341, -1649, -902, 1601, 55637, 26183, 266, -6878, 6216, 4786, 13457, -5655, 17075, 19056, -997, 33828, -18490, -1392, 18988, 6749, 11637, 5917, 17918, 34218, 13916, 1572, -4272, 33442, -9687, -5734, 9062, -1154, -10962, 22861, 1171, 13482, 30779, -2092, 25462, 2712, -2246, -1070, 11704, 829, 2430, 29679, 48445, 33574, 1777, 47, -2868, -16435, 16206, 40, 18289, 383} +#define CONV10_WT {0} +#define CONV10_W_Z (137) +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +#define CONV10_M_ZERO (1431657856) +#define CONV10_N_ZERO (1) + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {40231, 16006, -20255, 8289, 36179, -19871, 31923, -24581, 40564, -9099, 11390, 6744, 62754, -16431, 31105, 42994, -4375, 46923, -14491, -16588, -21801, -7536, 10973, -96204, -20789, 13950, 27907, 4332, 62164, 18961, 30413, -26891, 21280, 32161, 48084, 5843, -13427, -1649, 10665, 4401, -31759, -9295, 22464, -9065, -3678, -15351, 106805, 3553, -3272, -23297, -16614, 21049, 5187, 38859, 1731, -35210, 18311, 9200, 21775, 61388, 9984, -8237, 18531, -1399, 55070, -29495, 32098, 3112, 69350, 18927, 21318, -22365, 23145, -1963, -9775, 49996, -53065, -24360, 22696, 40513, 41158, -24768, -2222, 80009, 720, 9875, 9592, -7246, -20072, -31654, 17111, -22624, -19332, -22494, 22488, 14399, -12410, 19149, -5215, -479, -19413, -783, 32043, -46595, 26519, -41065, 9228, 20220, -57735, -2114, 1035, 36948, -12578, -9563, 12423, -28736, 14381, 9932, 21099, -11657, 15784, -15721, 20184, 22519, -8589, 42416, 64906, 16963} +#define CONV11_WT {0} +#define CONV11_W_Z (137) +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +#define CONV11_M_ZERO (1431657856) +#define CONV11_N_ZERO (1) + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {-422, 537, 63975, 99180, 235833, 22388, 105916, 203825, 550, 242630, 204808, -7948, 3778, -410, 196356, 115689, 166894, 1546, 75790, -86, 17524, -573, -4258, 36168, 83687, 7187, 188265, 75138, 230759, 61190, -1361, 1642, 571, 221274, 196056, -1845, -250, 4812, 7948, 24750, 1194, 18510, 18018, 1404, 4503, 221051, 3247, 3574, 94481, -7193, 1207, 396, -583, 2260, 78111, -50, 1922, 7762, 136282, 4355, -2632, 80554, -1211, 131812, 199698, 9651, 4437, 153663, 184778, 9793, -306, 3953, 6071, 9749, 170095, 2534, -1038, -6400, 55346, 127234, 3386, -2039, 44030, 98290, 27763, 75698, -11817, 107726, -489, 154679, 77487, 623, 117422, 2478, 314, 9997, 208, 83086, 71086, 71545, 43651, 67721, 10789, 16396, 117133, 186856, -4858, 85752, -1140, 89222, 4412, 158, 2809, 3221, 7389, 72291, 4175, -9014, 192040, 10013, 83659, 3792, 98857, 167841, 216967, 377, 840, -1535} +#define CONV12_WT {0} +#define CONV12_W_Z (137) +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +#define CONV12_M_ZERO (1431657856) +#define CONV12_N_ZERO (1) + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {28666, 9003, 23784, 70155, 2839, -36010, 27229, -11641, 43735, 10047, 78879, 16775, -8273, 64742, 50799, 113610, -19636, 38149, 30774, 11686, -14153, -26305, 88002, 63200, -1898, -7116, 12681, -1409, 62655, 97114, 377, 84222, 29044, 89137, 43137, -9114, 35876, 18171, 69350, -7955, -17574, 201, 34638, 53022, 66130, 35983, 8212, 82241, 2749, 16442, 64569, 78246, 7397, 33245, 6804, -21295, 22994, -32301, 87865, 38258, 34173, 14690, -1930, -260, 71356, 42361, 30596, 75602, 34215, 20084, 9237, 13455, -1360, 34648, -536, 54401, 49944, 73532, -1194, 32024, 20135, -16534, 46080, 135121, -7161, -7898, -74401, 48411, -6145, 41311, 74690, 10891, 17659, -10877, 61, 95293, 18742, 28501, 20841, -24246, 1698, -16103, 45980, 2166, 125552, -17393, 11850, 7751, -4451, 44366, -3881, 18027, 49761, 94322, -27420, 52333, 16222, 64258, 49130, 61505, 49466, 21387, 42671, -28523, -56577, 33959, 44666, 6347, 119854, -2443, -8348, 61583, -23424, -36848, 48004, 53984, 3054, 27507, 58420, 24634, 912, 61303, 30047, -26225, 6070, -3649, 36772, 75505, 15486, 48465, 47992, 19727, 105098, -16589, -274, -6219, 20813, 60259, 25823, 76303, -12490, 2856, 47370, 20212, 21751, 103168, -34503, 38034, 62634, 8742, 58233, 69489, 54356, 40443, 71199, 80737, 14581, 5385, 87180, -2899, -26388, 19274, 12627, 39474, 11528, 92996, 64935, 30532, 45413, 37793, 36705, -1636, 43790, -45309, -31675, 56477, 50658, 73412, 21866, -890, 63012, -4450, 68146, -9520, -16448, 71479, 38783, 37931, 8063, 9899, 25575, 49967, -1749, 29557, 43794, 27261, 34079, 27068, 49661, 36522, -41155, 65151, -611, 9158, 11957, 16354, 41318, 38732, -28789, 27133, 26391, 118722, 30223, -49332, 24510, -4942, 42615, 21889, 32324, -4244, 12413, -26882, 22074, 1608, -50490, 882, 26164, 8649, 5669, -1414, 15768, 78312, 46035, 56599, 50656, 28548} +#define CONV13_WT {0} +#define CONV13_W_Z (137) +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +#define CONV13_M_ZERO (1431657856) +#define CONV13_N_ZERO (1) + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {-252, 2226, 8978, 85, -2893, 10144, 96, 12172, -3371, -4616, -42, -4660, 5032, 451, 647, 439, -194, 565, 18208, 992, 1653, -109, -313, 1330, -4291, 4100, 39459, -51, 1528, 4557, 838, -456, 24244, -5465, -18788, 13355, -6744, 1048, 52408, 37594, 166071, 74234, 28245, 2449, 237, -10300, -7006, -145, 24641, -806, 18154, 757, 72, -241, 269, 7408, -5238, 10442, -12406, 420, -651, 13998, 673, 262, -2230, -11200, 18710, 48, -710, 11639, 2064, -166, 80, 423, -2600, 1948, -190, 5937, 12812, -2907, -9192, 34175, -3633, 3893, 5381, 97636, 56106, 111, -10672, 1038, 1882, 4267, -25401, 1146, 408, 18566, 4500, -599, 31676, 167, 1601, 13516, -17258, -653, 2848, 5725, -14787, 13683, 11825, -7666, 1271, 4155, 23850, 2107, -8612, 17818, 4372, 15645, 21019, 27940, 14429, 17789, 10288, 93785, -4734, 1505, 15655, 50027, 252, 30, -366, 4345, -2465, 1528, -2837, 87339, -165, 98, 61635, 237, 4564, 31498, 24297, -9632, 17019, -30, 9092, 24228, -2243, 1977, 12948, -24572, 9234, 14738, -13255, 525, 1012, 8152, 2426, 18204, 37051, -144, 25815, 33453, 325, -204, -302, 3866, 29176, 20394, -312, 85, 838, 734, 1275, 435, 550, 2761, 2348, -194, -10340, -943, -24442, 24192, 191, 305, 24150, 605, 2849, -6106, 23659, -8259, -2538, -21323, 30091, 1160, 585, 33072, 3577, 63794, 44438, -22, 1638, 19376, 2668, 9281, 27030, 116759, 1403, -25195, -5, 109, 28339, 24322, 28784, 9856, -1981, 7846, 1274, 1831, 48271, 615, -9836, 4116, 56521, -15598, 1571, -318, 94577, -4003, 29171, -440, 786, 1152, 38890, 77843, 22461, 17968, 1664, 21301, 31, -3389, -5038, 21646, -343, -9838, 238, 1331, -2292, 544, 139, -1371, -318, 20019, 37043, 45517} +#define CONV14_WT {0} +#define CONV14_W_Z (137) +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +#define CONV14_M_ZERO (1431657856) +#define CONV14_N_ZERO (1) + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {26968, 11490, 47185, 119792, 10217, -9848, -11088, 16854, 17744, -4363, 27540, -1603, -18199, 125933, 35107, 32203, 32648, 1845, 17169, 38065, 67356, 12428, 65152, -16799, 11310, 28871, 94193, 21538, 21916, 3245, -25434, 60030, 68545, 34425, 24990, 35064, 44433, -17283, 28027, 24734, -3236, 73250, 74395, 47349, 43646, -18912, 5693, 22267, 36925, 31346, 26619, -4582, 91606, -9266, 13, -8742, 5054, 17702, 10020, 10276, -18772, 2296, 23213, -15174, 58791, -4774, -16747, 77032, -25458, 21383, 5153, -19635, -430, 62167, 35410, 887, 35375, -2903, 12829, 93374, -23270, 59540, 7238, 8119, 45985, 23213, 39160, 3772, 26122, 34593, 43035, 27878, 39052, 41398, 18734, 8642, 54541, 10818, 49832, -4741, -2259, 9062, 6923, 23824, -25566, -15989, 42698, 382, 18728, 20132, 26173, -6444, 18345, -6781, -6021, 46218, -12862, 19178, 10252, -22520, 3032, 20447, -21824, 12101, -8959, 19362, 18384, 29170, 11865, 54392, -34597, -4875, 45960, -50399, 17591, 23789, 10518, -951, 6019, 23675, 19128, 31674, -34648, -6892, 31556, 13923, 15365, 52203, 12998, -748, 3337, 5484, 104085, -30513, 87009, 3582, -15549, -18395, 44640, -42126, 28544, -5090, 49186, 55907, -30537, 30917, 18623, 16967, 31444, -15026, -22542, 32615, 21824, 16917, 33358, -1615, 8611, 23640, 40077, 106492, -25426, 30950, -14489, 19630, 14018, 5939, -35047, 61485, -361, 12401, -3714, -6910, -32121, -25995, -28812, -12385, 23073, 42972, 46294, 149288, 25754, 26089, -15100, -18247, 21505, -42310, 17959, 5804, -2140, -1571, 17324, -1987, 78717, -3959, -8870, 53021, 5346, 34731, 40317, 65551, 14360, 31408, -348, -80507, 19862, 65056, 3746, 18555, -29538, 53049, 73683, 10341, 23759, 59276, 62338, 3347, -5810, 12665, -10522, 44020, 29956, 67835, 42545, -12991, 4539, 10813, -15532, 32629, -6401, 3645, 34868, -13652, -1676, 23259, 15141, 71646} +#define CONV15_WT {0} +#define CONV15_W_Z (137) +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +#define CONV15_M_ZERO (1431657856) +#define CONV15_N_ZERO (1) + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {-62131, 2329, 15564, -8875, 61477, 3428, 22306, 18100, 15116, 5372, -1880, -13970, -22547, -107, -2680, 62461, 67508, -4258, -10792, 29605, 752, 17356, 3957, 65412, 22306, 378, 5825, -4944, -1620, 90382, -13687, 28989, 17881, 38478, 684, 64877, -12000, 137556, 12608, 37684, -26448, 2075, 7984, -7162, 13969, -25846, -21282, -7641, 8798, -15214, 38152, 95813, 10016, -5037, 1424, 1620, 16380, 4466, -15224, 15033, -5859, 1743, 7103, -4199, 22137, 2435, -12193, 1521, -15735, -14362, -16818, 52458, 18226, 23580, -8997, -16291, 163, -21758, -17768, 3541, 18878, -7711, -20969, 15082, 29600, -11037, -13054, -355, -2421, 20858, -7477, -27982, 46583, 1533, 14741, -13762, 39732, -7063, -2264, -24409, 4806, -720, -9491, 29409, 4295, 16024, 46539, 68, 20634, -2452, 6368, -4369, 2226, 45786, 35081, 8420, -1088, -5348, -6985, 5267, -18816, 6649, 23820, -5040, 14864, 12270, 12269, -19011, -11227, -3727, -7208, -45533, 27352, -13367, 1813, 27977, -7047, 49097, -606, 74108, 45719, -2134, 69, 239331, -2697, -4465, -6931, -9152, -11326, 305, -6666, 44032, 13986, -2835, 24898, -953, 1959, -2651, -4368, -5531, -10431, -9926, 19626, 37210, -5946, -15158, -10623, -2052, -5502, 2049, 15753, 14127, -43362, -3033, 22812, 7399, 33169, 29961, -5262, 46178, -15036, 19382, -11672, 30242, 456, 19087, -573, 167819, -1895, -5261, 26499, -302, -9154, -20960, 3410, -16511, -13314, 90855, 1350, 568, -19, 4275, -7701, 8261, 140036, 9379, 8898, 1315, 3090, 64800, 972, -23317, 10240, -17591, 21739, -12431, 7222, 7035, -2294, -10725, -26859, 8854, 89079, -4305, 13106, 21721, 30072, -12543, 85370, 216, -10142, 14849, 6981, 37568, 29707, -13335, 47825, 38663, 40850, -7221, 2212, 2719, -11406, 15346, 20051, 35458, 22982, -18298, -652, -1487, 2948, -13021, 46845, -16028, 38643, 36706} +#define CONV16_WT {0} +#define CONV16_W_Z (137) +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +#define CONV16_M_ZERO (1431657856) +#define CONV16_N_ZERO (1) + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {47835, 10193, -17106, 15669, -8328, 41285, 3212, 26061, 7666, 46878, 5566, 7255, 50941, -14725, -20012, 13287, 13753, -8009, 15220, 18830, 20102, 66059, 3189, 21292, -72082, 10286, 50249, 18136, 20820, -2239, -4668, 60109, -25677, 2426, 11166, 32562, -6071, 51138, -206, -7588, 14421, -10186, 20970, -23563, -3417, -40716, 73426, 28630, -9520, -11218, -524, 7964, 1851, 69851, 8993, -13898, 52720, -24414, 14474, -40346, -28563, 4533, 25491, -11589, 8630, -38660, -13757, -34536, 32970, -24505, -34415, 58745, 30738, -26713, -2779, -4448, -17243, 5544, -18827, 8895, 811, 45732, 17743, 7868, -11537, 7358, -18296, 27391, 29773, 12640, 8877, -53373, 58603, 28262, 5889, 84939, -19390, 51259, 4143, 7514, 17470, -6933, 46395, -1287, 23265, 17259, 15512, -782, 12434, 22351, -15741, 13353, 33307, 45410, -19703, 8839, -9847, 30680, 66603, 12158, 54869, -754, 28364, -10587, -20668, 29649, 75713, 33795, -12754, 27418, 69192, -7237, 4710, -17350, 35010, 76051, 15784, 11728, 8497, 21222, -5036, 75321, -25972, 80304, 53837, 20870, 17942, -26618, -6278, 45277, 13960, 24832, 43981, 4972, 16988, 33183, 21376, -13269, -27642, -16660, 12303, 16444, 4593, 24152, 89795, 39828, 7688, 10711, 50824, 8684, 54375, 4467, 45261, 153738, 9330, 29122, 17932, 39489, 31890, -3131, 19782, 14139, -36003, -17847, 5920, -3429, 57266, 9477, -4041, -13832, 58980, -19248, -17898, -3344, -22499, 6301, 7439, 2010, -7550, 84889, -3682, 15755, 5403, 22026, -5098, 30417, 22790, -34360, -15289, 61026, -12949, 39403, -45667, 21918, -1521, -56327, 35383, -14314, 8875, 76840, 8796, 44699, 23115, -20996, -23003, 25238, 32972, -5892, -5623, 12840, 649, 9957, 247, 31043, -3644, 64875, 86222, 2999, 22954, 7078, -25379, -22393, 6043, 9721, 35600, 93364, 15343, -41400, -13541, 72640, 9768, 14185, -5055, -7141, -26709, -28703} +#define CONV17_WT {0} +#define CONV17_W_Z (137) +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +#define CONV17_M_ZERO (1431657856) +#define CONV17_N_ZERO (1) + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-2578, -25344, -2453, 34101, -6922, 84431, -3077, 4, -828, 42791, 23216, 26438, 45985, 165959, -965, -15838, 21783, 104105, -10239, -23058, 47822, 44322, -3849, 15363, -9031, 50284, 13123, -22222, 2895, 33043, -942, 3246, -5500, 97280, -1451, -13213, 148097, 16406, 36426, 23174, -13058, 32996, 24145, -846, -13138, -1897, 1416, 8183, 9704, -1962, 2974, 19835, -14873, 22896, -6952, -2897, -4887, -241, -14427, -15074, -10740, 10711, 33395, -27342, 8295, -1532, 61684, 36023, -19950, -11691, 36547, 19610, 4592, -10081, 63458, -2729, -43748, 57300, 49091, -8105, -7062, -3435, -5183, 8319, -512, 2697, 12698, 106281, 4262, -18279, 57173, 55440, 2132, 23235, -9932, -4415, -16586, 6836, -57835, 81582, 25098, -3681, -1429, -24263, -2770, 30086, 1178, 44526, -7677, 195837, 40, 14, 17805, 25547, 74750, -3245, 32327, -4146, 39890, -1480, 9065, 127, -30404, 69, 145465, 68471, 16834, -4446, -5233, -10383, 31535, 43894, 40567, -11860, 37924, -6894, -11415, -2257, 17881, 55106, -136, 1424, -5630, 16796, 24222, -1578, 25902, -8053, 54983, -24246, -5570, 58557, 34722, -3328, 23422, -8530, 11334, -39530, 31191, 41432, -426, 49312, -3096, 82173, 20639, -9054, -260, 38958, -15025, -501, 52180, 25271, 39520, 24555, 43106, -12491, -323, -12894, 25787, 13631, 7047, -15291, 8574, 122, 77878, -7042, -261, -9256, 155576, -24548, 65582, -12424, -7907, -18006, -2850, -1019, -19810, 11450, 14460, 23305, -13104, 21966, 13604, -3380, 6506, -2537, 41717, 118554, -9124, 56365, -3440, 654, 10780, -5291, -5458, -8439, 2140, 73256, 3545, 29323, -27130, 26272, -2560, 31896, 69900, 28340, 27989, 43971, -8766, -14691, -7338, 39235, 21266, -1043, -3078, 9767, 74855, 67294, -16443, -4812, -33494, -56694, 26242, 101142, -1009, 21994, -21558, 28818, -9315, 2809, -24295, 4589, 50002, 42664, 80843, 19804} +#define CONV18_WT {0} +#define CONV18_W_Z (137) +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +#define CONV18_M_ZERO (1431657856) +#define CONV18_N_ZERO (1) + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {-33693, -16352, -4911, 11838, 112367, -14332, -4217, 14817, -12938, 23034, 57760, -5228, -21387, 109724, -12298, 60031, -16565, 42116, -1119, 59651, -10002, -43942, -6760, -5168, -4483, -27468, -21207, 74033, 5068, 19245, 7987, 63663, -16970, -11677, 26292, 38090, 11372, -54330, 58612, 58815, -19043, 97170, 18137, 50169, 84994, 7301, 1151, -36218, -28411, -5121, 4874, 58763, 119367, -51162, 66539, -46079, -32633, -11586, -49858, 40402, 77957, -21266, 36425, 28465, 38583, 4597, 217, -24841, -22188, -1821, 32854, -31205, 4907, -49917, -27426, 50231, 18398, -19101, -8418, -2318, -9818, 3009, 58155, 3779, -5975, -34980, 12733, 180282, -32685, 45974, 37644, -43159, 8877, 122263, -24446, 120903, 46110, -17276, 19044, 49830, -35386, 23093, -38143, 32371, 15330, -49930, 35607, -22496, 6537, 45877, 21212, 123621, 36710, 49724, 33997, 65699, 10840, -26471, 7528, -40014, 32405, -1540, -7458, -22047, 2141, 63942, 33643, 28946, -16491, -7783, 37612, 19259, 19493, -57032, 11558, -6971, 79834, 6099, 8986, 89509, 116699, 63624, -20241, 5260, 44617, 2836, -35365, -2379, -14949, 72012, 38811, -12695, 56150, 19482, 19254, -3281, 98577, -12917, 21061, -13312, -2004, 59959, -15569, -17558, 14069, 40661, 37193, -5492, -35639, 6787, 71652, 18888, -16790, 9129, 20689, -8058, -29316, 90459, -20941, -155546, -42161, -903, 27007, 10475, -39924, 87035, 31186, 22579, 7080, 78, 9039, -8374, -871, 29822, -5753, -15854, 37575, 20133, -66373, -18370, -20418, -2018, 28216, 1154, 75222, -19516, -24111, -9901, 720, 15278, -31124, -10193, 30517, -47606, 10897, 21257, 14821, 32965, -29616, 5482, -28745, 1441, 37721, -1133, 136254, 5611, 43718, -30464, -17602, 12146, 2327, -26467, 33266, 60475, 25670, 33671, -4803, 45001, -6498, -29886, 2800, 75841, 103460, 36807, 74800, -4280, -28572, -49181, -14798, -6141, -9351, -23644, 16141, 3784, -11617, 315} +#define CONV19_WT {0} +#define CONV19_W_Z (137) +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +#define CONV19_M_ZERO (1431657856) +#define CONV19_N_ZERO (1) + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-14801, 16600, 91318, 9151, 16111, -3623, -1056, 74324, -2719, -3912, 27571, 34387, -1274, 16532, -9621, -1206, 46040, 19263, 12456, 7962, 9357, -12431, -1402, -23606, -6772, 11029, -14286, 102387, 102938, -588, 20580, 19934, -2286, -26085, -14, 7494, 67910, 25268, 49963, 11083, -10586, -1981, 72213, 2066, 25827, 109711, 49449, -2286, -2970, 3294, 55922, -23861, 32181, -10932, 58146, -1976, -9895, 25090, 34257, 70398, 51565, -48067, 57090, 23183, 69000, 33650, 119889, 2316, -5230, 77717, -926, 20218, 35815, 97700, -4719, 12150, 4477, -1321, 132192, 907, 22369, -11471, -139, -4759, 51485, 62825, -15389, 19157, -25956, 26091, 113956, 168379, 171079, 20209, -16348, 11527, 43347, 24524, 3069, -180, -27755, 38811, -10452, 36342, -3891, -1401, 23844, -4215, 76323, 69388, 20792, 10787, -6113, 117442, 3035, 19958, -3977, -4460, -11718, -3815, 34241, 4744, -2559, -5696, 23454, 53138, 5584, -287, 20891, -837, 34167, 153944, -12519, -10258, 10025, -11742, 13189, -6725, 91779, 18399, 23710, 5405, -6029, 28060, 1582, 6622, -9295, -8104, 129539, 30186, 36297, 120342, 64083, 5713, 9658, -584, -10180, -1438, 28920, -5344, -12398, -3962, -762, 4202, 67402, -1210, 13536, 1834, 175862, 89696, 141, 18772, 132378, 88605, -12831, 30339, -1353, 10253, 21145, -9190, -1823, 40456, -16237, 9912, -1783, 26413, 48131, -13400, 33773, 114092, 25422, 100618, 58653, 53140, 39868, -853, 18644, -9375, -6859, -10811, -3719, 103293, 20123, -1566, 29160, 38068, -3309, -2965, 115142, 19309, 209, -1217, 53011, -21092, -53386, 9359, 55715, 37769, 12401, -1409, -21696, 20962, 7406, -8799, 3438, -1082, 42942, -4364, 48839, -15775, 74484, 6549, -23494, 14677, 7680, 34053, -1847, 53395, 46794, -21564, 19111, 120645, 17504, -2063, -9508, 27050, 16204, -7964, 69970, -7031, 147878, 59477, -1461, 17140, 74884, 54703} +#define CONV20_WT {0} +#define CONV20_W_Z (137) +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +#define CONV20_M_ZERO (1431657856) +#define CONV20_N_ZERO (1) + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {-27188, -41396, -31626, -18943, -24708, -53636, -6432, -1373, 26896, 8113, 26668, 49869, -39241, -29, -19516, 5868, 11834, -10439, -3127, -13501, 47635, -26992, -12715, -53540, -1633, 49158, -24189, -104763, 3175, -12308, 13581, 25018, -6718, -7080, -32742, -26188, -24865, -56345, 12557, 2670, 4964, -1236, -79937, 15765, 3802, -30993, 15442, -36873, 19332, -9330, 6189, -11004, -26448, 142072, -10182, 9152, -2663, 18647, -18317, -15900, 37277, -1429, -54543, 4251, -31888, -43940, 12200, -51226, -37110, -62408, -19248, -59138, 15549, 93682, 155649, -5918, -58581, 59937, -25666, 66629, 12090, -19278, -13107, 7179, -18253, -17205, -2836, 28397, -29617, -9578, -4701, 821, -47017, -44210, -74465, -6502, 17464, -13803, 30719, -4804, 30521, 16713, 3000, 93879, -7971, -17302, 21475, 11197, 12607, -26850, 22997, -11179, 1352, 11395, -24771, -23562, 8021, 14167, -47266, 20435, -14962, 87501, -100932, -42856, 8890, -27762, -31265, -52340, 37377, -17228, -8816, 1141, -49364, -26525, -53037, 46625, 7548, -14345, 11308, -35842, -54840, -47562, -25328, -15343, -42735, -43957, -52085, -21245, -29301, -26102, -19190, -22253, -49059, -35104, -27625, -26337, -59546, -14841, 23112, 54124, -39903, 49663, -19383, -54018, -14973, -1652, -45522, -45915, -23911, -42442, -35415, -4499, 10076, -23053, -14811, -16302, -2790, 43313, 5063, 66598, -30763, 62735, 8398, 15975, -47930, -16430, -34673, 62624, 4017, -2644, -49836, -33006, -2928, 31999, 19694, 37683, -6091, -46690, -2911, -40299, -21254, -7276, -39642, 79725, -8538, -10441, 8282, 59341, -18331, 14948, 21582, -13190, -53943, -7790, 29552, 43142, -41545, -14711, 12164, -17198, -54615, -19105, -9132, -17481, -35747, -16598, -60218, -39957, -444, -35523, 18932, -7814, 48659, -8927, -58761, -21509, -14482, -41629, -3674, -16508, -22187, -14208, -20224, -4532, 3891, 82837, -3365, -19393, -55094, -5936, -26551, -13983, -18013, 28806, 6307, -26450} +#define CONV21_WT {0} +#define CONV21_W_Z (137) +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +#define CONV21_M_ZERO (1431657856) +#define CONV21_N_ZERO (1) + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-7029, -21, -12005, 92720, -10769, -5279, 116969, 21780, 353, 7967, -7973, 23707, -4088, -9030, -2846, 3659, 34476, -23428, 91819, 84012, -14497, 1268, 91595, -5491, -5779, 36685, -7440, -3952, 138498, -12358, -1246, -1990, 129687, -3114, -8794, -18207, 919, 100858, 80363, 70688, -2479, 90990, -4105, 17959, -379, -7028, -15541, 13287, -15417, -16624, -2227, -9977, 7268, 127566, 131211, 28207, -2457, 167055, 818, -3481, -5880, 108630, -5515, 158600, -15197, -8489, 123940, -4789, -2928, -16095, -3632, 514, -8297, 79432, 20726, -3135, 241333, 60532, -16424, 16896, 92778, -13712, 85748, -491, -1682, -5207, 29895, -11564, -3021, -6045, 96968, 73830, 11399, -3110, 43160, 62130, -13488, 4887, -18229, 64769, -4320, -19055, -5652, 37909, 97730, 72057, -9566, -9402, 27411, 133149, -62581, 4219, 51104, 102503, -11480, -5194, -1523, -880, 98811, -30390, 18956, 17880, 117712, 100718, 59353, -9127, -6678, -1898, 32891, -14034, 179942, 61244, -1095, 34222, 12686, 38317, -18456, -9638, 87773, 1714, -3371, -4629, -5082, -1516, -4783, -9922, 90634, -10834, 55960, 124113, 124854, -8774, -848, 75341, -2743, 49984, -14419, -3311, -13167, 40815, -16769, -202, -4229, 181342, 65130, -1007, 133902, -10709, -1142, -752, -11060, 79924, 12566, -17968, 11750, -17527, -3337, -8381, 13312, -4982, -12351, 32482, -10798, 1239, -5564, -3783, -9271, 36925, 26989, -8807, -481, 1544, -19476, 68182, 16785, -6008, -2684, -11006, 1545, 3639, 80121, -2249, 9323, 31157, -3604, -1911, -6443, 44765, -103, 19797, 15873, -25180, -11568, -8955, 21424, 34312, -3320, 114441, -4793, 1609, 80793, 258462, -8999, -8980, 104470, -12387, -8695, -7420, -2456, -5640, 23880, -6817, -13429, -131, -2311, -2372, 127862, 37946, 88576, 23408, 112252, 137516, 69064, -4212, 54733, 33525, 113593, -7640, -13367, -4080, 104924, 90135, -5752, -14971, 157282, -10292} +#define CONV22_WT {0} +#define CONV22_W_Z (137) +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +#define CONV22_M_ZERO (1431657856) +#define CONV22_N_ZERO (1) + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-18335, 2134, 52060, 1732, -17568, -44258, 65445, 85786, -19071, -5282, 22488, -31095, -44609, -324, -38103, -76271, -2420, 42562, -11120, 38321, 25910, -32008, 27836, -70053, 20536, -48024, -29817, 42571, 158014, 81765, 25274, -41685, -54166, -14905, -1928, -18100, 6063, -1424, 26038, -45475, -800, -32163, -8046, 39812, 12148, 58079, 16193, 20285, 92920, 22744, -11034, 20590, 56854, -29712, -63852, -58115, -10584, 90306, 8892, -25536, -13987, -6185, -4583, -25246, 4981, -22955, 7777, 63786, -635, -45457, -3505, 62590, -21071, 5666, 30554, 68100, 75950, 9323, 55907, 13984, -34980, 13477, 50866, 2869, -39276, 22187, 13742, 8005, -57056, 107410, -78846, 63461, 38094, -16488, 40580, 22043, 74124, -16711, 21765, 54001, 12135, -2204, -8567, 848, 1560, -4887, 1877, 27705, -47742, 20906, -10044, -41554, -34277, -28072, 39063, 56338, 69590, 17664, 43988, -26883, 45230, -4944, -16922, 93010, -3960, 30916, -10760, 7286, 18085, 57470, 28550, 1249, 2293, 56582, 5412, -14103, 55349, -19255, 16608, 27478, -20889, -12966, 25858, -6338, 4967, 81852, -16978, -19146, 14407, 32386, 9261, -5754, 6919, 42025, -51021, -34741, -54798, 35544, 16504, 55669, 18359, -15561, -14507, 1710, -23960, -4997, -10213, 39022, 17485, 859, -28147, -28697, -11821, 42565, -32632, 2340, 24394, 68931, 20760, -15236, 15232, -2636, 71581, -44935, 23713, -45223, -21269, -9026, -21986, -699, -28705, -1353, -1835, -27957, 16793, 57939, 44316, 40086, -18824, 13604, -36535, 2781, -5864, 78275, 7722, 67889, -57486, 108821, -16839, -30850, 16865, -55107, -17845, -42527, 62059, -36878, -5807, -22648, 5971, -37, -33875, -1831, -27706, -19331, 2299, 5783, 27184, 36635, 20533, 229, 23073, -5567, -24055, 38661, -9454, 79471, -9325, 15570, -16014, 4952, 32518, -68785, -57446, -38954, 18096, 99189, 75330, 25442, -31008, -5768, 41687, -9243, -16925, -3237, -7770, 16621} +#define CONV23_WT {0} +#define CONV23_W_Z (137) +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +#define CONV23_M_ZERO (1431657856) +#define CONV23_N_ZERO (1) + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {4726, 73524, 134412, -6656, -710, -72, 85932, 85309, -2589, 43036, 114748, -349, -807, 121441, 129366, 135037, -36297, 78716, -1107, -259, 201738, -415, -35116, -1129, 145048, -417, 145192, 192744, 2675, 146831, 118441, -1277, -668, 166513, 179907, 1421, -2268, -17455, 125114, -726, -594, 4155, 43800, 165084, 104942, 107003, -201, 37550, 98263, 1123, -634, 87409, 13, 135007, 889, 168851, -532, 81049, -111, -3920, -598, -846, -10836, -290, 51623, 141532, 97810, 104553, 13948, -547, -683, 61388, -198, 435, 95760, 87424, 78835, 193617, 59755, -6544, -153, -774, 119990, -779, 27, 110224, 122362, 139249, -519, 77896, -83, 72939, 150754, -993, 102821, 94528, 86064, -1053, -762, 74880, 120372, 1709, -963, 5486, 4816, 6440, 47422, 187144, 24898, 180685, -571, -6296, -954, -1150, 84955, 81647, 78111, 84866, 15749, 176895, 73599, -633, -488, 68825, -3947, 86099, -559, -542, -769, 96527, 82887, 145582, -98, 87255, -260, -770, 63348, -1857, -938, -921, 78583, -867, 155557, 22469, -494, 64939, 131566, 82, 104708, 149542, 7, -753, 122577, -764, -593, -10578, -511, 197266, 2742, 77837, 148985, -302, -1068, -16456, -2633, -972, -908, 92679, 175583, 2817, -8247, 145366, -720, 27695, -20, -470, 32385, 95763, 28723, -214, -524, -925, 68304, -309, 4087, -397, 176547, -778, -353, 132520, -574, -500, 102023, 159549, -1450, 104721, 192894, 173543, -1082, -1637, -1859, 121001, 1748, 79251, 168218, 121743, -668, 64918, -282, 173144, 71973, -293, 3918, 3159, 67149, 141765, 109167, -32, -585, -97, -1047, 536, -566, -829, 130330, 155577, -2174, 98422, 125656, -104, 107870, -527, -547, 72825, -339, 76996, -610, -337, 2307, -626, 45224, -1550, -627, -584, -758, 74582, 28721, 136414, -542, 4983, -53452, 212133, -2201, -254, -397, -505} +#define CONV24_WT {0} +#define CONV24_W_Z (137) +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +#define CONV24_M_ZERO (1431657856) +#define CONV24_N_ZERO (1) + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {18026, 2042, -53177, 33522, 46611, 78811, -26302, -29507, 53979, -14046, -27308, 12367, -181, -14490, -21095, -65033, 15890, -35298, 16622, -7217, 1627, 37646, -14291, -22649, 6055, 8828, -42110, -16138, -33684, 6122, 70, -542, 5092, 23679, 61842, 2592, 12640, -66052, -41134, -31055, -34655, 38093, -48461, -12324, 48116, 9081, 21952, -63049, 61708, 1634, -15856, -8647, 51549, -989, -47473, 35658, -3515, -6037, 12292, 11280, 23217, 37224, 57137, -6442, -23629, -29593, -43765, -99, -17124, -20675, -43504, -7359, 27002, -13822, -41114, -62787, -24750, -4698, -26441, 32552, -60648, -80588, 15988, 17673, 715, 12756, 29650, 13387, -3154, 66930, 31385, 56514, -7413, -30845, 41490, 12867, -50346, -47320, -22753, -12728, -27172, 32596, 11913, -58601, -40980, -13494, -1307, -25481, 36901, 21263, -11823, -30370, -29783, 77704, 14950, 36641, -19238, 57429, -33052, -5474, -3264, -1496, 13517, -14245, 16133, 32437, -740, 3813, 2094, -84852, -21967, -1361, -20223, 2932, -25916, -20604, -41852, 7412, 279, -31248, 5757, -69877, 21974, 24313, 6893, -10927, -45028, -23454, 6879, -44037, -3726, 18040, -66867, 2064, 14958, 10763, -29587, -10170, -30939, -26416, 25889, 21561, 40399, -3261, -30521, -38201, -26152, 13898, -56680, 14488, 69479, 19397, 28776, 48042, -30572, -19817, -8214, 36447, 17997, -35528, 35902, -13846, 8037, 20713, -58769, -8148, 30823, -27879, 15592, -55199, -38829, 24242, -5600, 7637, -1430, -38884, -48930, 44789, 65929, 2969, 46251, 7777, 25204, -23947, 39367, -10339, -71963, -56960, 29290, -36761, 38561, -18120, 21181, -18954, -30822, -3770, 26570, 10833, 18990, 18184, 94919, 34385, -72525, -2908, -48806, -24782, -6964, -9115, -78426, 55184, 38338, -19835, 20480, 13973, -14692, -19970, -32030, 26779, -20422, 10, 14884, -4202, 46296, -14602, -46401, 38119, 6979, 11826, -27635, 23225, 15566, -8810, -1138, -51337, -16373, 14678, 30882, -58375, 110155, 34023, -43728, -8627, -58950, 15815, -44787, -19221, -47273, 68488, -13301, 25695, -12254, -14150, -23868, -46553, 50729, -21014, 68041, 7790, -5988, -5670, 1679, -46201, 2215, 26300, -13643, 5107, 8352, -14183, 23877, -2036, -12746, 10462, -99416, 2254, -7254, 81709, -92566, -14483, 29539, -39998, 5862, -27020, -30748, -35111, 3220, -37846, -7249, 10510, 3809, -82752, -8530, -2681, -32631, -878, -41908, -3422, -35474, -24995, -3764, -287, 6415, -40757, 25737, -18001, 30061, -74933, 32053, -77482, 4827, -28789, 14680, -48668, -15452, -2198, -19876, -50341, 20827, 14884, -1885, -51157, 81199, 48563, -32342, -5755, -51399, -29351, -19431, -49217, 15496, -35371, 337, 15322, -15456, -19838, 16546, 13626, 592, 19683, -14089, 34395, 9379, -56053, 22508, -19561, -4407, 5709, -14806, -10958, -6614, -22687, 33076, -8361, -5544, -28395, 48840, 11627, 5608, 9497, -72790, -35702, 27681, -861, 40921, 8902, 55406, -35821, -46824, 52291, -9416, -70232, -11580, -42384, 38678, -20933, 16189, -45427, 11981, -892, -5432, -26361, -8856, 28668, 37068, -18386, -34941, -18258, 68558, -12964, -8473, 8751, 984, -14557, -17974, -37389, 576, -13800, 17636, -37470, -14646, 10501, -906, 1816, -8465, -48118, 36026, -31718, -14885, -9496, 7854, 1322, -6231, 11331, -16565, -55564, 32278, -7590, -1259, 11702, 10123, 74985, 17282, -62067, 24754, -10825, 41315, -9353, 52839, -10461, -228, 22392, 989, 79477, 2626, 32126, -5138, -2427, 15151, -74213, -4074, -30494, -1936, -2396, -24994, -22410, -40349, 17449, 11649, 25147, -63240, 26515, -37764, 19094, 10514, -43733, -14553, 26037, -2978, -9045, -22920, -2834, 19508, 20733, -27420, -21918, 13745, -87438, -31521, -1810, -68721, 26674, -23473, -19938, 29559, -41714, 13408, 36700, -21124, -10376, -2892, -17981, 33305, 99454, -33635, 1385, -53763, -25561, -6696, 19794, 26303, 20598, -56215, -35397} +#define CONV25_WT {0} +#define CONV25_W_Z (137) +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +#define CONV25_M_ZERO (1431657856) +#define CONV25_N_ZERO (1) + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {83544, 150536, -19, 2072, 11144, 84065, 57538, -1042, 601, -1413, -17125, -55, -780, 88542, 2373, -1379, 102278, 394, -3481, 173800, -99, 90863, -828, -3411, 195968, -19128, -1383, 122532, -35, 82173, 8008, -1334, 129657, -12811, 135920, 139121, -54, 404, -322, -1451, -249, -9456, -1324, 94466, 5915, 134807, 149233, -1508, -3280, 76661, -3113, -1383, 73293, 177477, -747, 256273, 119860, 89598, 90931, 164546, 154781, 153430, 22006, 66428, -2264, 715, 1795, -5119, -5058, -316, -1389, 112479, -2398, -7765, 96273, 178224, -19241, -3178, -3943, -1068, -93, -1731, 93602, -2359, 1333, 175188, -3455, 232426, -2443, -12749, -990, 201877, -4879, 92959, 173629, 67329, -3197, 12886, -2836, 58400, -1947, -558, 89224, -2458, 165653, 99463, -12840, 118253, -977, -1841, -2279, -26454, -3189, -28636, -9996, 1601, -113, -15875, -2387, -3697, 67238, 95066, 68088, -7854, -573, 189963, -18344, 177330, -348, -2140, 109865, 80742, -23903, 5098, -13851, -462, -701, -2033, -549, -5097, -3404, -1216, 94334, -27230, 627, 98125, -2627, -13705, 84552, -3647, -5772, 485, -2413, 133068, -288, 192334, -1014, 74024, 90624, -43, -963, 1215, 173236, -6297, -5779, -172, -2640, 101480, -2400, 141455, 202232, 84200, 64186, 2334, 192383, -2, 128740, 147419, -3794, -668, 256147, 83975, -9127, -15615, 846, 119530, 5342, -56, -4038, -91, -5555, 81091, 87276, 105106, -4726, -2348, -1769, -3693, 10736, 59814, 165496, 106583, -3973, -13240, -10996, -9593, -4463, -45, 155747, -95, -3456, -1324, 88339, -937, 1043, 156632, 124355, 239914, 95108, 112971, 16205, 39225, -3800, -1693, -5338, 131789, 63643, -820, -63, 159129, -3703, -1187, -1821, -2287, -4270, -4918, -3325, -874, 56783, 78760, 676, 2658, -20854, 145244, 95014, 131741, -9518, -4448, -2679, -38, 251865, -686, -17909, -3670, -2046, 170645, 79286, -1577, 10240, 193197, -8211, 44963, -4871, 56336, -145, 59776, -590, 137927, -130, 313547, -1445, 88782, -11673, 145286, 12193, -5392, 136819, -2027, 100405, 123496, -2739, 78453, -1125, 145311, 265760, 48080, 106979, -1350, 210006, 37251, 109064, -2109, -661, -38793, -34040, 322540, -502, -5674, -3717, 107525, -2624, 225160, -3832, -1465, -3567, -3166, 6413, 61198, 168743, -687, -5064, 126676, -314, 2620, 1956, -1588, -13109, -4585, -3246, 119783, -23511, -714, 148553, 82736, -3568, -9293, -1725, -1459, 60880, -10882, -5207, 79770, 63945, 66468, 68961, -5494, 166492, -3314, 554, -1048, 183236, 202050, -61, 71802, -1705, -2246, 1989, -3214, -1481, -2437, 57065, -900, -1772, -596, -2492, -2544, -3602, 117549, 171023, 157950, -3130, -1342, -8520, 126799, 208919, -1284, -12328, -3827, 86023, -2301, -604, -20, -6850, -155, 5712, 68086, 201678, -8185, -86, 171536, -5198, 706, 132269, 181303, 153694, -5507, -1612, 1174, 88640, 262612, -3133, -30, 209014, -186, 125571, -620, -12837, -354, 2909, 10107, 29614, 319, 64683, -1056, -1972, -82, -2437, 56907, 3847, -666, -711, -1340, -398, -3994, -14377, 69980, -2963, -3546, -1943, -27235, 71615, -6703, -761, -1767, 123692, -2666, -2947, 309794, -6944, -3531, 102554, -16748, -8653, -2963, 37575, -1318, -537, 187634, 58401, 102035, 5145, -935, 201770, 58722, -402, 162244, 583, 445, 103567, -3311, -15698, -6863, 193440, -2569, -3542, -1387, 58294, 298, 93333, 60621, -18866, 166952, 192860, -116, -3427, 113233, 62518, 91313, -1503, -6495, -825, 65454, 210957, -11681, -33, 1630, -600, -2433, 17520, -769, 120979, 78784, -77, 88240, 11905, 334, -2359, 101799, -1991, 185074, -4594, 145634, 91075, -126, 63822, 195331, -2077, 98713, 147357, -4217, -1631, 108812, -95, 174826, -1835, 3358, -3986, 158099, -1192, 159184, -2472, -144} +#define CONV26_WT {0} +#define CONV26_W_Z (137) +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +#define CONV26_M_ZERO (1431657856) +#define CONV26_N_ZERO (1) + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {41380, 11140, 6358, 8637, 29897, 58139, 2082, 35922, -40946, -18152, -4897, 9581, 18258, -13904, 8614, 3189, 1226, -1306, 1947, 11919, 26711, 24223, -35575, 12948, 16165, -11864, -20796, 22682, -8791, 12306, -20864, -13412, -14585, 23194, 43237, 14529, 30670, -19615, 25369, 1098, 18193, 26090, 12345, -5200, 5334, 11261, 21402, 29711, 4991, 27772, -14753, -18648, 64977, 6673, 42995, 40405, -4471, 4433, -22594, 25821, -9634, 4327, -12239, -2705, 32293, 14209, 5873, -6745, 21566, 17554, -4182, 10677, 4753, 24330, -13135, 48178, -18161, -8069, 31992, -17873, -13215, 14752, 17240, -32075, -4924, 1674, -67557, 37781, 14942, 23636, 31053, 12802, 30753, 29159, -15936, 22977, 22652, 4066, -35957, -19028, 5113, 55084, -26661, -4562, -2516, 15403, 35735, 30195, 20851, 15606, -27044, 5631, 69093, 15187, 74573, 6564, 13991, 68416, 5109, -6130, 4352, -10429, 8918, -16644, -5880, -2954, -20725, 5861, -8434, 10593, -33441, -5740, -59924, -13917, 45699, 22897, 15807, 11323, 7336, -3681, -6439, 33008, -16938, 4817, 20685, -38896, 27317, 35643, 17923, -5640, 9163, -40779, 350, -11941, 11673, 1910, 9429, 7997, 11007, -9985, 7185, 15512, -18069, -12617, -10629, -3748, 2986, 2579, -727, 6553, -20933, 26311, -11371, 10531, -22161, -2299, 36646, 53666, -2116, -13636, -40105, -15681, 30890, 13106, -5987, 37102, 7159, -70616, 7388, -27825, -8530, 39049, 984, 8335, 19672, -22056, 29904, 12649, -16569, -35127, 8486, -14675, 5413, 31952, 55398, -29024, 10866, -7363, 38511, -635, 12709, 17134, 8991, -19186, 16196, 23824, 6339, 30293, 25353, 14777, 9017, -33974, -19829, -15393, 22436, 4408, 22317, -3862, 3204, 22544, -1405, -635, 6980, 355, 823, -30274, -4546, 5227, 35072, 9029, 13209, 29093, -4005, -11114, -27132, -22531, 32943, 32493, 25167, -16159, -3477, -10535, -4016, -31205, 37887, 8332, -9149, -14709, 13303, -59162, 26468, 20959, 4902, -15918, 1557, -2438, 18087, 36292, 6930, 17094, -6065, 44602, 44337, 11974, -8984, 23542, 27186, -5719, -39575, -3434, 15315, 20423, -2175, 35697, -35, -7857, 41386, 39053, 7075, 25765, 893, 13596, 60502, -6748, 3211, 22755, -17754, -1658, 5648, 38007, -5246, -7275, -16215, 16030, -3053, 4101, 28968, 18522, 52635, 43768, -19458, 6960, 4529, 16723, 13686, -31153, -61627, 46587, 20819, -26755, 6773, 17637, 26242, 11884, -23614, 883, -2931, -11236, -6897, -14263, 13845, -521, -1813, -16308, 16563, -455, 12838, 12546, 32491, 15722, 6921, 47886, -26503, 25597, 4653, 16094, 28348, -13606, -2066, 11851, 34361, 33475, 23101, 11192, 30198, -13685, 9422, 2944, -9941, 9204, 50273, 10140, -12184, -8450, -45989, 16614, -23333, 15322, -30865, -49711, 19560, 7504, 18083, -3325, 24892, 31022, 9783, 10435, 7592, 1332, 7525, -9536, 4885, -10599, -24099, 6698, 32292, 40048, -22465, 27988, 10547, 619, -15199, 7046, 11779, 1203, -5995, 25437, 17252, -24723, 1632, -19616, 30553, 10485, -11054, 61309, 5557, -17413, -26095, -24296, -21581, -31495, 13794, 21404, 14460, 25130, -24611, -19263, 29145, -26535, -31555, 3464, 26537, 18576, 13349, -21621, 26935, 4405, -427, 74708, 7684, -15125, 30476, -14886, 10370, 4408, 23521, 22043, -5417, 36122, -11911, 27030, 4593, -10562, -24016, 22524, 7607, -6720, -51, 32364, 17037, -37540, -3607, 4822, -12082, 45447, 10248, 36418, -29611, 11816, 5303, 9938, 6786, 8059, 25879, 2486, 12580, 6176, -47321, -13181, 4147, -15768, 19353, 23967, -11095, 7527, 38605, 7663, -14628, 31401, 44693, -7925, 7631, -13209, -23993, 25343, 937, -3534, 9834, 5945, 16825, 30909, 124, -33014, 44389, 8346, 43687, 36484, 2194, 28923, -5514, 37352, -4370, 10060, -14090, 2098, -38597, 8428, 13538, 41959, -4872, -1652} +#define CONV27_WT {0} +#define CONV27_W_Z (137) +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +#define CONV27_M_ZERO (1431657856) +#define CONV27_N_ZERO (1) + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-3027, 1549, -10725, -8218, 1443, 1517, -315, 5692, 1631, -2793, -5492, -6148, -4192, -2585, -4735, -2968, -2848, -3225, 856, -3698, -765, 3022, 1515, -281, 915, 348, 5052, -2511, 4452, 1329, 4627, 3717, 2634, -4801, -868, -9001, -403, -1862, 1189, 275, 399, 3159, -3456, -5451, 5610, 2517, 2271, -1625, -5929, -5148, 600, -2679, 1806, 5624, 479, -2554, 1854, -2308, 652, 701, -2616, 5173, 210, 5548, 2434, 688, -8161, -6313, -34, 3783, -4413, 3650, 1879, -409, -5123, 8182, 2067, 3045, 6317, 4927, -7756, -815, -379, -14213, -2767, 613, -8413, 2628, 2097, 5865, -5268, -5776, -1519, -2005, -1706, -5750, 411, -4342, -11948, -6064, -2804, -8688, 1558, 1664, 3086, 41, 4340, -4178, -4687, -8288, -4921, 8509, 850, -1764, 892, -17417, -1169, 1616, 811, -1230, -663, -2288, 126, -2134, -2357, -4830, -4042, -7137, -7170, -4203, -3758, -5023, -1513, -1741, -8500, -6717, -6975, -9320, -8867, -5424, -8176, -3423, -7487, -5579, -5897, -7247, -1633, -9099, -4734, -1879, -1445, 7809, -15434, 2368, 1848, 6101, 3535, -4325, -4910, -1811, 1427, 9663, 10810, 2738, 761, -2088, -931, -8401, 3682, -2609, 1615, 9229, 287, -2085, 7411, -7637, 1920, -354, 5098, 3290, 4412, -1383, 9326, 1823, 4592, 4906, 2207, 2560, -2465, 2388, -2169, 5865, 3905, -4367, -1639, 8561, 4868, 3050, -2152, 6974, -7302, 1429, 5950, 5747, 5862, -3349, -5179, -1257, -1192, 5197, -5113, -1096, 2936, -519, 2950, -550, -1152, 8723, 1753, 3757, -2110, -3061, 427, 10521, -7307, 5803, 194, -3541, -6631, 6951, -324, -6516, -142, 5700, 3429, 2815, 1001, 8027, 3360, 8351, -190, -2999, 4595, -656, 617, 6781, -1764, 7522, 789, -727, 2730, 5644, 1457, -3242, 11935, -1090, 1547, 2433, 1014, -1337, 4503, -1151, -2953, 3920, 2597, 5201, 3349, -4227, -8417, 2826, 2457, -1579, 1385, -243, -6892, -6667, -3837, -1127, -5443, 2904, 506, 9646, -3415, -1862, 2832, 1573, 5823, -393, -2687, -1349, -596, -9019, -1642, -5299, -3752, -1500, 1491, -2020, -357, 2844, -4932, -5497, -3203, -2114, -8762, 3457, 4330, -7138, -2264, -4944, -1963, -2561, 2149, 8793, 6022, 3890, -1152, -2486, 1956, -4072, -4065, -9982, -11037, -8097, -5510, -9777, -9476, -4912, -2749, -2265, -1134, -1968, 4560, 894, -710, -1000, 1764, -1922, -5568, 267, -1557, -1094, -2820, -4300, -6220, -4483, 1481, -2303, -2533, -2254, 605, -9007, -8287, -3764, 2463, -3111, -793, -5058, 2882, 4016, -3083, 3861, -390, 545, -1162, 1041, 1831, 3895, -3473, 2845, -4402, -6577, -2290, 3392, -809, -5022, 1161, -1582, -2088, 2264, -1767, 1917, 4713, 2949, -1877, -754, -3680, -3583, -2228, 1536, -4318, 1010, -9437, -5069, -1210, -2921, -5700, -3917, -4821, 6282, -3234, 5906, -170, 1778, -10053, 1983, -3350, -4433, -10279, -5416, -134, -2972, 7109, 5761, 6810, -1042, 4707, -2054, 1298, 2759, -345, 3312, -770, 9514, 7018, 577, -11051, -3391, 4598, 385, 437, -280, 549, -1698, 123, 2367, 3390, -2602, 610, -4080, 3987, 107, 3255, -1340, 1708, 8319, 2555, -1503, 5404, 362, 3712, 2143, 2877, 1806, 4282, 74, 4345, 1574, -4349, 6316, -4619, 4868, 1365, 2539, 10920, 4530, 229, -3046, 6098, -2346, 4482, -1930, -4151, 5558, -2728, 5432, -4257, 5071, -2096, -2457, 1749, 1519, 2713, -5241, -9156, 1592, 1769, 4631, 1987, -137, -5156, -389, 2606, -5293, -2653, -6350, -23, -9734, 1707, 2279, -2156, 2315, -835, 1111, 1865, 1975, -1349, -1592, 1697, -3129, -7088, 343, 378, 2190, 1692, 3523, 1704, -2903, -629, 7128, -2549, 1162, 1099, 11064, 1800, -2073, 3456, -1328, -556, 6367, 2507, -6338, 844, 260, 1503, -685, -5129, 2783, -1360, 6623, -8093, -2378, 5379, 2560, -314, 8260, -411, -11122, -7820, 7169, -2050, 315, 2535, -1469, -3183, -2507, -3015, 2486, 676, 413, -1966, -3556, -324, 6688, -6663, -685, -2782, 1735, 5964, -418, -12, -2216, 33, 1331, 3241, 238, 2505, 6324, -2162, 4109, -1633, 513, -415, -733, 4716, 3416, -5563, 8076, 6333, 5864, -323, -280, 192, 3512, 3522, -12701, 2122, 6592, -5853, 3352, 4637, 128, 3272, 3977, -3247, 796, 4066, -2813, 6930, -1596, 5433, -3030, -621, -2880, 605, 0, 3975, 1573, 4092, -4095, 5959, 5269, -9, 7401, -524, -2193, 4597, 5762, -5598, 1113, 6244, -1615, 7592, 2318, 2817, 1789, 4717, 374, 343, -7596, -9216, 414, 4314, -400, 3030, -1954, 4102, 567, -1374, 829, 10348, -1265, 2083, -457, 6541, 6573, 4499, 303, 1572, 3924, 5428, -4284, 4631, 1110, 1711, 8177, 4639, -2426, -4526, -214, 4655, 7970, 254, 2790, 1323, -2523, -7247, 4843, 6696, 3039, 1839, 3243, 1044, 6567, 1956, 1174, 4240, -2359, -6670, -6698, -5598, 123, 9278, -11021, -2669, 5589, 1587, 1588, 1973, -821, 1114, -3449, 3, 1666, 7692, -5839, 6520, 2061, -5766, -1163, -1520, 697, 2005, 4033, 2397, 810, 9107, -6471, 1020, 9281, 1886, 142, 1852, -1330, -5163, -1989, 6837, 507, -83, -2246, -5721, 3547, 3123, -500, -3248, -1912, 2806, -644, 3602, 4783, -318, 534, -1256, 2254, -2581, 1827, 1135, 4322, 1943, 6937, 2525, 4410, 5872, 307, -1066, -4215, 5242, -2392, -1977, -2217, 4870, 5071, -1819, 4750, 7501, 3110, -2606, 3879, -5943, 7104, 4491, -7011, 987, -442, 5081, 1104, 5795, 12066, -5296, -3685, -5934, -2223, -2508, 4418, 675, 3303, 780, -980, 4536, -3198, -8727, 9501, -2386, 1874, 2230, -2667, 1847, 5167, 719, 7806, -1202, -2599, -1555, -4875, -1219, 2583, -2882, 916, 2195, -686, -5393, -6659, -1760, -2175, -4775, -5259, 2596, -1574, 136, 3327, -5422, -1624, 5526, 9706, 4446, 1495, -1226, -5582, 4615, -3253, 7787, 2730, -1901, -1945, 10903, -3779, 4821, 6675, 5292, -972, -1231, 4386, 5789, 4237, 2458, 8486, -3304, -1030, 5169, 1202, 6808, -3868, 1563, 3370, -6274, 4673, -10589, -1277, 6584, 3258, -2804, 3215, -1467, 3355, -3441, -1187, -2879, -2561, 3414, -2455, 3718, -7690, 4375, -2371, -5762, 746, 3474, 212, -7291, 7023, 9898, 626, 2380, -1469, 820, 19682, -9637, -4901, 261, 1435, 854, 3379, 1490, 5961, 112, -2544, 2149, 1403, 4809, -3200, -3658, -2186, 614, 8216, 7539, 5805, 5641, 3934, -4188, 2872, -3738, 7234, -4831, -974, -3124, -2632, -268, 1898, 948, 7672, 420, -3685, 3488, 1962, -6103, -2379, -6008, 1088, 901, 6105, 459, -2955, 135, -3954, -103, -8114, 5435, -5051, -3878, -3787, -4048, -2277, -1305, -8430, -5269, -135, -6834, -5938, -2850, -1621, -4868, -5045, -442, 3330, 3841, 215, -1243, -5186, -225, -9183, 3138, 300, -2978, -2640, -7885, 2168, 5585, 2675, -1497, -2405, -75, 9004, 1459, -7863, -348, 3905, 2061, 6240, -693, -6232, 258, 4366, 6885, -7522, -5738, 796, -7429, -3544, -3288, -4965, -644, -5894, -3690, -11492, -3420, -7613, -2434, -4025, -5582, 393} +#define FC28_W_Z (170) +#define FC28_IN_Z (0) + + +#endif /*__160_0_5_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/192_0_25_parameters.h b/Inc/intq-mobilenet-v1-models/192_0_25_parameters.h new file mode 100644 index 0000000..80a4785 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/192_0_25_parameters.h @@ -0,0 +1,361 @@ +#ifndef __192_0_25_PARAMETERS_H__ +#define __192_0_25_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (192) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (8) +#define CONV1_OUT_DIM (96) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (96) +#define CONV2_IM_CH (8) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (8) +#define CONV2_OUT_DIM (96) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (96) +#define CONV3_IM_CH (8) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (16) +#define CONV3_OUT_DIM (96) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (96) +#define CONV4_IM_CH (16) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (16) +#define CONV4_OUT_DIM (48) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (48) +#define CONV5_IM_CH (16) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (32) +#define CONV5_OUT_DIM (48) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (48) +#define CONV6_IM_CH (32) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (32) +#define CONV6_OUT_DIM (48) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (48) +#define CONV7_IM_CH (32) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (32) +#define CONV7_OUT_DIM (48) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (48) +#define CONV8_IM_CH (32) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (32) +#define CONV8_OUT_DIM (24) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (24) +#define CONV9_IM_CH (32) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (64) +#define CONV9_OUT_DIM (24) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (24) +#define CONV10_IM_CH (64) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (64) +#define CONV10_OUT_DIM (24) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (24) +#define CONV11_IM_CH (64) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (64) +#define CONV11_OUT_DIM (24) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (24) +#define CONV12_IM_CH (64) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (64) +#define CONV12_OUT_DIM (12) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (12) +#define CONV13_IM_CH (64) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (128) +#define CONV13_OUT_DIM (12) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (12) +#define CONV14_IM_CH (128) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (128) +#define CONV14_OUT_DIM (12) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (12) +#define CONV15_IM_CH (128) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (128) +#define CONV15_OUT_DIM (12) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (12) +#define CONV16_IM_CH (128) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (128) +#define CONV16_OUT_DIM (12) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (12) +#define CONV17_IM_CH (128) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (128) +#define CONV17_OUT_DIM (12) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (12) +#define CONV18_IM_CH (128) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (128) +#define CONV18_OUT_DIM (12) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (12) +#define CONV19_IM_CH (128) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (128) +#define CONV19_OUT_DIM (12) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (12) +#define CONV20_IM_CH (128) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (128) +#define CONV20_OUT_DIM (12) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (12) +#define CONV21_IM_CH (128) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (128) +#define CONV21_OUT_DIM (12) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (12) +#define CONV22_IM_CH (128) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (128) +#define CONV22_OUT_DIM (12) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (12) +#define CONV23_IM_CH (128) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (128) +#define CONV23_OUT_DIM (12) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (12) +#define CONV24_IM_CH (128) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (128) +#define CONV24_OUT_DIM (6) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (6) +#define CONV25_IM_CH (128) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (256) +#define CONV25_OUT_DIM (6) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (6) +#define CONV26_IM_CH (256) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (256) +#define CONV26_OUT_DIM (6) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (6) +#define CONV27_IM_CH (256) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (256) +#define CONV27_OUT_DIM (6) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (256) +#define FC28_OUT_CH (1000) + + +#endif /*__192_0_25_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/192_0_25_weights_bias.h b/Inc/intq-mobilenet-v1-models/192_0_25_weights_bias.h new file mode 100644 index 0000000..8934b68 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/192_0_25_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __192_0_25_WEIGHTS_BIAS_H__ +#define __192_0_25_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {-6068730, -5528332, 194244, 78301, 580909, 194111, 678461, 228207} +#define CONV1_WT {0} +#define CONV1_W_Z (137) +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +#define CONV1_M_ZERO (1431657856) +#define CONV1_N_ZERO (1) + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {-327, -1109, -9870, 146234, -9424, 36594, -4477, -4781} +#define CONV2_WT {0} +#define CONV2_W_Z (137) +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +#define CONV2_M_ZERO (1431657856) +#define CONV2_N_ZERO (1) + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {-28126, -1649339, 58918, 62625, -44514, 13539, 17912, -14892, 68082, -36893, -15712, 6517, -49754, 12648, -16494, 71591} +#define CONV3_WT {0} +#define CONV3_W_Z (137) +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +#define CONV3_M_ZERO (1431657856) +#define CONV3_N_ZERO (1) + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {2515, -314, 3127, 29114, 22931, 2623, 94997, 131652, 4936, 398, -1591, 2821, -1184, 12133, 15679, 17874} +#define CONV4_WT {0} +#define CONV4_W_Z (137) +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +#define CONV4_M_ZERO (1431657856) +#define CONV4_N_ZERO (1) + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {33494, -62710, 7805, -20201, 5439, 25471, 16142, -11333, 7260, -10304, 56121, -93535, 46916, 40187, 32815, 35990, -4298, 89657, 32606, -6762, -54375, 34505, 24881, -79875, 55584, 5837, 77368, 7172, -11897, 32833, 173633, 5030} +#define CONV5_WT {0} +#define CONV5_W_Z (137) +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +#define CONV5_M_ZERO (1431657856) +#define CONV5_N_ZERO (1) + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {3097, 19433, 56118, -64, 71, 18218, 164, 11399, 24254, 109, 226, 452, -2473, 17495, -247, 19883, 1470, 24838, 92, 643, -60, -754, 8008, 13333, 36470, -399, 39193, 340, 22411, 8682, -92759, 247} +#define CONV6_WT {0} +#define CONV6_W_Z (137) +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +#define CONV6_M_ZERO (1431657856) +#define CONV6_N_ZERO (1) + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {231, 4039, -58116, -12551, 33013, 41734, 53543, 7132, 21568, 12278, 1479, 15793, 41819, 18211, -14372, 9987, 8385, -47110, 26773, 11630, -3052, 14364, 59343, 17051, -8911, 20040, -67156, -2353, -17778, 4972, 81611, -19944} +#define CONV7_WT {0} +#define CONV7_W_Z (137) +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +#define CONV7_M_ZERO (1431657856) +#define CONV7_N_ZERO (1) + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {656, 114721, 3008, 4678, 169169, 250999, 18598, -26153, 338782, 1249, 201236, 33519, 14696, 249231, 24353, -701, 174756, 3289, 273261, -104124, 2981, 177166, 188411, 110215, 54657, 135710, 33851, 128234, 8881, 12672, 178600, 17259} +#define CONV8_WT {0} +#define CONV8_W_Z (137) +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +#define CONV8_M_ZERO (1431657856) +#define CONV8_N_ZERO (1) + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-26298, 30106, 1474, -4327, -29049, 7056, 22612, 21360, -41566, 9886, 53592, 38253, -15035, 32584, -18974, -49698, -18983, -1749, 53706, 24051, 26952, -3018, 126141, 36266, 32364, -23560, 29585, 20609, 26124, -31591, 35177, 48186, 31397, 70045, 108500, 65344, 26124, -12411, 53678, 2633, 88466, 1151, -11495, 32980, 31003, -16532, 11969, 79378, -21031, 53525, 40389, 60585, 53564, 56963, -29733, 97571, 58127, 36363, 12942, 9688, 15844, 14603, -24049, 62597} +#define CONV9_WT {0} +#define CONV9_W_Z (137) +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +#define CONV9_M_ZERO (1431657856) +#define CONV9_N_ZERO (1) + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {-1396, 124, 9350, 2686, 47096, 93201, -2808, 22496, 59679, -2783, 18502, -8941, 28783, -7063, 93834, 58830, 19553, 4775, 22932, 4601, 30353, -6003, -17306, 69665, 24092, -19273, 2373, 19956, -9717, 68866, 46327, 1977, 10475, 260, -5062, 82956, -8223, 67534, 398, 40055, 2927, 20589, 47110, -97, 3847, -5156, 1801, 591, -4975, 893, 2006, 73964, 33198, -27522, -6610, -12117, 6220, 33454, 31088, 66, 29216, 68888, 255, 21472} +#define CONV10_WT {0} +#define CONV10_W_Z (137) +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +#define CONV10_M_ZERO (1431657856) +#define CONV10_N_ZERO (1) + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {13618, 4070, 10939, -12180, 6311, 2210, 112108, 37221, -12061, 50981, -3221, -6116, 5609, 11575, 38546, 19433, 2701, -4548, -27654, 29088, -27413, -33592, 15439, -12817, 847, 17888, -36912, -30195, 23741, -16294, 47258, -681, -58975, 25111, 35618, -32243, -5086, 16062, -42091, 20391, 21425, 39767, 91897, 11416, 19527, -49721, -32797, 29211, -16246, 19735, 7076, 7319, 10145, -13727, 39854, 2612, 31175, 26999, 22660, 3303, 16175, 32449, -11830, -44853} +#define CONV11_WT {0} +#define CONV11_W_Z (137) +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +#define CONV11_M_ZERO (1431657856) +#define CONV11_N_ZERO (1) + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {138775, 13623, 151839, 10753, 8265, 268204, -182, 122, 275831, 121265, -356, 129066, 131881, 9597, 63643, 311009, 226458, 119606, 174188, 339863, -1669, 7684, 9483, 84360, 190322, 96982, 2697, -1821, -21919, 67352, 175233, 236833, 3173, 2055, 6991, 21680, 1774, 566, -629, 158296, 117721, 150845, 201680, -575, 300387, 42042, 661, -49060, 63914, 110268, 13250, 1802, 114100, 569, 644, 4738, -775, 276629, 119029, 12, 121359, 129871, 1583, 798} +#define CONV12_WT {0} +#define CONV12_W_Z (137) +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +#define CONV12_M_ZERO (1431657856) +#define CONV12_N_ZERO (1) + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {64263, 74888, 18094, 26109, 20438, 38985, 110348, 1164, 14567, 13811, 10528, 55938, -9098, 997, -658, 29662, 12706, 790, -35852, 23001, 25164, 96480, -39880, 26776, -8807, 99683, 16401, 102226, 97662, 52974, 32017, -1279, 13586, -38182, 55417, -47036, 79538, 54736, 95330, 25190, -10157, 371, 25866, -353, 74119, 7125, -25702, 57979, 22334, 38864, 12488, -16123, 69863, 100804, -3825, 99882, 10273, -4253, -25005, 5900, -11631, -6653, 54725, 37200, 64515, 133094, -11174, 27159, 23938, 16455, 6119, 15306, 15567, 1760, -45463, 4101, 2068, 23273, 28198, 94553, 53705, 57015, 28387, 8966, 33917, 46111, 29449, 3218, -4158, 26799, 18959, 47839, 6760, 23077, 11597, 33167, 45821, 31784, 40279, -9877, 1423, -107, -26535, 85765, 23115, 67369, 3843, -5240, 13669, 64082, 4705, 138208, 25400, 46745, 69404, -4988, 32258, -5194, -7768, -2382, -7638, 27124, -3010, 52487, 39028, 123781, 33326, 24006} +#define CONV13_WT {0} +#define CONV13_W_Z (137) +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +#define CONV13_M_ZERO (1431657856) +#define CONV13_N_ZERO (1) + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {33855, 24115, -15069, -596, 8888, 29394, -592, 3706, 2187, 93734, -8384, 308, 54, 227, -6175, 25967, 29086, 9330, 1872, 184577, -15581, -2042, 19510, 39487, -5793, 10220, 17153, 1285, 173, -6200, 45088, 159, 32099, -4515, -376, 9118, -423, 472, -446, 62103, 395, 404, 10905, 45096, 153588, 1436, 57633, 10687, -25511, 1377, 48051, 283, 12695, -576, 180, 5587, 1333, 268115, 1163, 37343, 514, 52660, -4550, -2301, -113, -8163, 121, -532, 98893, 537, 511, 60230, 29309, 62, -12014, 763, 99, 1700, -298, -903, -1201, 33021, 682, 89975, 25401, 143, 22821, 96, 30843, 39981, -124, -72, 308, 11664, 39914, 7133, -13731, 26528, 368371, -2140, 243, 42311, 193982, -5262, 30408, -10282, 61719, 899, -7410, 794, -400, -358, 4057, -11878, 56367, 113041, 2824, -742, 10778, -1850, 15230, 3024, 71773, 8968, 34945, 3872, -2238, -9828} +#define CONV14_WT {0} +#define CONV14_W_Z (137) +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +#define CONV14_M_ZERO (1431657856) +#define CONV14_N_ZERO (1) + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {29321, -15947, -31140, 14563, 3459, 1712, 19209, 42232, -12605, -18024, -20282, -9732, -8169, 15640, -1188, -1235, 42012, 24378, 47220, 40961, 17982, -8338, 109466, 3030, 13784, 9173, -7662, -12643, 9320, 24260, 2948, 17054, -43959, 1165, 43116, -12011, 4011, 90, -16623, 50666, 29471, 5599, 668, 48052, 42435, 89082, 21712, 14351, -47210, 9039, -1581, 77228, 137803, 54184, 46949, 58838, 14502, -61349, 34895, 12350, 41492, -5167, -14881, -22384, 21189, 31658, 19983, -4536, 55964, 22657, -15487, 93688, 17194, -26537, 16501, 9682, -8995, 6166, 9576, 8336, 12957, -23334, 28061, 41538, -30397, -6773, 7568, 32811, 18416, 10598, -956, 19852, -12306, 103077, 16163, -37561, 48580, 1189, -10394, -34550, 5700, 30392, -26457, 43854, 24287, 11080, -1594, -32256, 35651, 7321, -40608, 35123, -2270, 3185, 12434, 10275, -1313, 7000, -9592, -37354, 6187, 31575, -25362, 12357, 54616, 102757, -50462, -3378} +#define CONV15_WT {0} +#define CONV15_W_Z (137) +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +#define CONV15_M_ZERO (1431657856) +#define CONV15_N_ZERO (1) + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {31515, 53428, 11377, 16020, 37, 89183, 5269, 2874, 47827, -10880, 148357, 4019, 9500, 225, -4401, -108, -17411, 1519, 1695, 3210, 4527, 9999, 16065, 6203, -746, 3904, 17397, 26154, 1429, -15597, 40587, -1418, 10551, 255, 1091, 146905, -26027, -35041, -39691, 40521, -1477, 60730, 13071, -4203, -5082, -26, 4656, 17812, -5010, 8194, -1694, 105685, 18606, -13990, 7506, -2326, -10087, -2710, -9516, -945, -4612, 23007, 75731, 8656, -326, 4240, 18576, 85504, -3145, 46374, -33941, 38612, 2870, -25205, 2451, -25701, 862, -6655, 32601, 13004, 142087, 10683, -26516, -13006, 47304, -8209, 6949, -569, 28269, 74392, 26739, 24773, -3041, 15664, 35209, 1191, -20277, -10302, 104479, -14502, -5927, 14924, -1563, -8118, 5667, 65259, 43077, -12030, 40207, 10, -16302, 15990, 158908, 28695, 59029, -5144, 40422, -15903, -761, 68503, -64, -12460, -15197, 6571, -6171, -197, 128, 51713} +#define CONV16_WT {0} +#define CONV16_W_Z (137) +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +#define CONV16_M_ZERO (1431657856) +#define CONV16_N_ZERO (1) + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-4592, 35293, 36632, -3370, 18732, 92080, 33813, -5463, -4325, 15222, 56596, -16458, 43744, -20171, 3229, -35982, 15041, -6385, -4564, 74, 23258, 77030, 32407, 5693, -1292, -41880, -6944, -14949, -45907, 3060, 25032, 14894, -15152, 14179, 15618, -19490, 62561, -2477, 23622, 23889, -1619, 31940, 80861, 26373, 18132, 71077, 141, 9874, 1164, 64587, 22339, 120093, 17318, 37191, -1770, -25946, 14239, 25724, 80114, 15384, -1878, 26496, -70815, -79350, -27887, 9138, -43062, -23411, 54286, 16388, 21171, 23187, 4125, 94642, 32282, 31931, 44929, 36440, 15235, -27482, -2546, -27616, 52547, 49733, 60961, -5612, 24652, 61810, 12629, 82311, 29710, 98738, -18396, -22039, 43698, 44278, 32759, -32414, 86446, 9406, 44, 7541, 42736, 2364, 21351, 11925, 30051, 49148, -13305, -10902, -13379, 78194, 43075, 14229, 39259, 5635, 10764, -8070, 64278, 28309, 70897, 23846, 15083, 51069, -3312, 14344, -3788, -16603} +#define CONV17_WT {0} +#define CONV17_W_Z (137) +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +#define CONV17_M_ZERO (1431657856) +#define CONV17_N_ZERO (1) + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-2668, -12885, 3685, -19114, -23777, -16136, -3542, 82006, 8991, 32979, -5357, -24983, -14179, 4282, -23577, -23518, 31124, 26744, -2869, 17213, 69735, 17848, 269391, -28107, -4158, -398, -10894, 85804, -2757, 19363, -6029, 8835, 384, 7583, 78805, -8093, -5583, -4613, 49559, -10646, -4477, 65400, 32960, -2549, -585, 28559, 31322, -16591, 18158, -21076, -13846, -3138, 64379, -270, 50699, 10248, 41435, 271677, 2075, -3884, 16335, 45936, 46353, 128327, 43609, -7842, 24934, -3968, 80153, -5498, 24246, -3900, 13306, 1003, -10199, -2924, -15562, 46971, 28304, 30948, 1962, -16406, -8612, -3594, 18502, 21, 51817, -14043, -14418, 10205, 1347, -16494, -14129, -21179, -7787, 46803, -3802, 52726, 3452, 28660, -1536, -2037, 35329, -9366, 11921, 18502, 58475, 28395, -11228, 38710, 5124, 40255, -22460, -13517, 98376, -1824, 38494, 87647, 40449, 17015, 5832, 39033, -16743, 5170, 93839, -6618, -9829, -6169} +#define CONV18_WT {0} +#define CONV18_W_Z (137) +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +#define CONV18_M_ZERO (1431657856) +#define CONV18_N_ZERO (1) + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {7239, -939, -6068, -40957, -19956, -5571, 62652, 27865, -26979, 12142, 16412, 50110, 32029, -21936, 1566, -27761, -66444, 1244, 21334, -20129, -24259, -58245, -91102, -35770, -399, -19118, -25218, -14673, -31515, 23081, 21751, 46890, 63092, 70835, 55787, 6778, 15610, 34846, 67550, 44587, 17206, 34971, -6128, -4107, 24224, 10009, 7214, 31558, 28668, 74214, 12247, 45308, -59240, 9100, 27219, 18309, -56386, 14970, 35908, 826, 66633, -28173, -23309, 31117, 64008, -5496, 15328, 24233, 25628, 23401, 16294, 89805, 31345, 51346, 10488, 40568, -4600, 8462, -7232, 19738, 23114, 36569, 43078, 59451, 36041, -30235, 21408, 51144, -39266, 28486, 24512, 44795, 85875, -7555, -11200, 41767, 8737, -7057, -17473, -3828, 32042, 34712, -2269, -6681, -7269, -2048, 17401, 40473, -17912, -13992, 32944, 20651, 54399, 26342, 14530, 2046, -4765, -3864, 7915, 29728, -25549, 4595, 31659, -13541, -28533, 13100, 43638, 24740} +#define CONV19_WT {0} +#define CONV19_W_Z (137) +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +#define CONV19_M_ZERO (1431657856) +#define CONV19_N_ZERO (1) + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-19050, -12987, -34670, -26363, -5762, -12953, 957, -1916, -4174, -26959, -2596, -20, -2964, -3601, 7161, -235, 226924, -29232, 5920, -5243, -4529, -2102, -17761, -34892, -5251, 174439, -6321, -40, 3916, -10531, 103109, 1283, 27483, 17261, 57569, -47422, 33711, 907, 4297, 24697, 2003, 34935, -24660, 52762, -8035, 83153, -49168, -25977, -7349, 27865, -19405, 755, -1794, 11719, -23220, 3270, -337, 79352, 17373, -12026, 33005, -18127, -1481, 44785, 60710, -509, 17466, -10457, 3800, 127422, -13935, -11768, 45617, -173, -8115, 7618, -32940, 37525, 48965, -6176, -5633, 68978, 25023, 73858, 34995, -4185, -11829, 20409, 139988, -1013, 10617, 41064, 33763, -572, 31747, 51907, -13963, -6096, 84551, 42655, 18451, 56981, 23502, 10089, -14336, -15947, -1766, -14235, 16483, 37848, 28286, -10096, 31243, 33100, 42995, 83818, 39489, 7841, 91749, -15079, 257567, 28287, 71388, -3419, -19447, 7152, 329, 3285} +#define CONV20_WT {0} +#define CONV20_W_Z (137) +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +#define CONV20_M_ZERO (1431657856) +#define CONV20_N_ZERO (1) + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {13748, -5458, 43873, -20441, 60472, 20468, -7352, -1095, 85051, 31126, -19450, 2655, 21969, 48171, 20989, -16996, 15431, 80752, -18424, 30638, 8727, 19582, 19458, -48775, -25280, 37204, -13440, 4685, -38418, -6414, 7164, -4911, -27955, 26656, -6613, -27962, -34914, 7968, 30577, -31775, 1322, 53889, 24424, -20156, 84280, -19034, -13770, 36534, -42043, -4306, 18832, -41140, 26021, -66895, -58016, -41202, 16986, 73106, 8918, 19565, -26076, -24086, -11187, 37784, -16848, -13177, -68557, -29527, 28668, -24719, 43208, -4301, 10317, 30006, -57410, 7769, -12986, -4844, -11629, 15878, 39485, 44846, 43890, 11779, -56452, 4567, -18862, -17333, -12557, 44039, -18770, -20306, -32550, 8128, -3266, 35123, 35458, -20930, 98200, -51599, 5818, 39816, 2358, 8492, -9581, 83347, 1374, -6829, 28111, 66308, 8468, 2812, -49285, -10324, 24053, -12592, -15383, -23193, 22021, 51823, 8018, -20766, 23668, -6312, -41215, -4430, 5105, 6645} +#define CONV21_WT {0} +#define CONV21_W_Z (137) +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +#define CONV21_M_ZERO (1431657856) +#define CONV21_N_ZERO (1) + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {65385, -11248, 41718, 2546, 81541, 231842, -2811, -4189, 23316, -11236, 42416, -3144, 73799, -3469, -6695, -13186, -2213, 44223, 94252, 323, -4890, -804, -10748, 3689, 218564, -11722, 81870, 5078, 888, 254443, 1938, 14224, -8461, -7490, 109115, -42, 102770, -16410, 64157, -2163, -15362, 245510, 1354, 7114, 54852, -1734, -18884, 35262, -14524, -1949, 35647, 368, 243955, 140616, -8882, -24, 81670, 49838, -35, -4288, -17468, -3046, 96722, 67168, 95382, 379, -2815, -2207, 34179, -4637, 55336, -12253, -4987, -19772, -5715, -5290, -2525, 43, 117300, -6365, 3240, 48214, 86259, 130693, 178408, 134883, 21378, -5059, -7032, 142836, 110909, -531, 25949, -17596, 9279, -12238, -227, 34, 37011, -3863, 85291, 19237, 82367, 35024, -22419, 325245, 102359, -5724, -5574, 144747, -1122, 125327, -20005, -1371, 7062, -218, 201503, -4771, 46088, 103436, -1256, -25612, 12392, 120528, 94232, 2762, 92801, -5116} +#define CONV22_WT {0} +#define CONV22_W_Z (137) +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +#define CONV22_M_ZERO (1431657856) +#define CONV22_N_ZERO (1) + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-6094, 11101, -36156, -22848, 15994, 211, -63632, -28718, 94168, 1503, -38750, -68723, -29300, 56824, -19591, -52766, 49291, -3025, 86102, -49847, -17101, -8305, 11399, 51256, -15658, 50384, -27311, -52791, -20784, -34750, -7252, -15454, 7041, -28918, 12999, -76092, 37533, -33231, -6265, -20270, 67270, -6674, -39955, 91037, -49699, 12252, -54265, 63928, -15520, -11327, 427, -50930, 16808, 38388, 1377, -13927, -9947, 7358, 83827, 24652, 46373, -3368, -68717, -18916, -51674, 554, -48762, -33647, -6890, 29125, -2899, -16891, -17906, 66902, -39420, 65194, 29945, -17085, 17987, -20181, -16873, -20258, 18810, 1212, -9674, 22383, -51638, 108124, -58152, 12723, -42826, 499, -7414, -15323, 13118, 66681, -584, -13903, -12816, 42367, 2881, -13723, -50542, -39026, 55140, -1838, -27446, 75624, 1148, 980, -43525, -40477, -4915, -60093, -34923, 29026, 21845, 22246, 7150, -20827, 47895, -28345, -4852, 30957, -6622, -20681, 45792, 31040} +#define CONV23_WT {0} +#define CONV23_W_Z (137) +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +#define CONV23_M_ZERO (1431657856) +#define CONV23_N_ZERO (1) + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {190939, 91159, -685, 185544, 73323, 218071, -358, -982, 100114, 206979, -3147, -94, 532, 86169, 189244, 83, 83388, -19, 95579, -656, -1760, 18296, 148091, 154633, 138572, 88535, -22582, 207346, -631, -588, 81, -1098, 266747, -1737, 196739, -1620, 92027, -632, -88340, 115626, 101883, -662, -24, 98443, -4315, 40988, -196, 158812, -254, 177622, -12797, -393, 81972, 103112, -847, 145326, 548, 35008, 96922, 93681, 93073, 222368, 250, 192957, 3860, 182608, -285, -483, -166, 256374, 202454, 141504, 107744, 97025, 191999, 115670, 569, -145, 430, 167697, 36, -598, 250, 45481, 35891, 7578, 148713, 109128, 1540, -355, -4145, 12270, 168607, -536, -208, 90094, 215381, 153447, -11782, 93390, -3402, 127211, 165351, 215602, 96828, 146365, -755, 117038, 25370, 194191, -1143, -2206, 33444, 1898, -287, 101663, -70521, 145957, 12218, 144207, 226627, -129, 169434, 144792, -62765, -166, 123108, 95956} +#define CONV24_WT {0} +#define CONV24_W_Z (137) +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +#define CONV24_M_ZERO (1431657856) +#define CONV24_N_ZERO (1) + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-29274, 10279, 12009, -33019, 27711, 20200, 19095, 74540, 40362, -15524, -49101, -28959, 1470, 23998, 31266, 21515, 17117, 8372, -10275, 58254, -39041, 21878, 18286, -53362, -12240, -24832, 28444, -25536, -63553, -37555, 79220, 49510, 30387, -9851, -13095, -5019, 50598, 4817, 15179, -24755, -9325, 74353, -33447, 16461, 54635, 26158, -95780, -4609, -26275, -22978, -18776, 36112, 25382, -33160, -8597, -52946, -28069, 46773, 6785, 29549, -8870, 4808, 53590, 5813, 6974, -42747, 29271, 56645, -3086, 75243, -14623, -8282, -26223, 2982, -14735, -32244, 7344, 28697, -20345, 53909, -32774, 5130, 10065, 92008, 25109, -41093, -101041, 16733, -44719, -42480, -88382, 48217, -64186, -4723, 6664, -18552, 36201, -69424, -13942, -8677, -22954, -19646, 25386, -9815, -40892, 38186, 2708, -110700, 44900, -16021, -4020, 15325, 5990, -71728, -7521, -11060, 12910, -27452, 27406, 172702, -6816, -15687, 18335, 54833, 44960, 8220, 51612, 13789, 57928, -9990, -30283, -52293, 13131, 5759, -63006, 41692, -11100, -23982, -21101, -55864, 20029, -5779, 122913, 28316, -4417, -8696, 58168, 23763, -25133, 47064, 48341, -34306, 50670, 23, 803, -32296, 884, -70376, -12190, 5136, -36718, -23229, -5956, -9501, 47444, 32497, 24699, 30015, -36570, 35774, 51492, 5191, 31873, 7956, -7779, -27434, -70413, -82654, -10707, 71085, 50093, -12994, 45058, -9123, -35506, 13954, 67424, 12657, -35955, 137, -41748, 10298, 46666, 215, -39984, 13352, 25383, 69642, -90145, -1062, 5855, -22220, -31876, 11642, -6030, 38592, 1604, -23005, 28679, 28258, 44396, 13268, 23277, 52088, 13554, 1965, 39394, 14362, -25325, 16723, -13778, 6799, 23982, 13575, 19899, 12004, -52323, -18711, -2525, 19966, -64697, -35481, 62716, 37833, 43234, 4331, 9818, 82047, 53450, 493, -199, 4530, 38938, -50410, -770, 43012, -7065, 22804, 15751, 64496, 64277, 26897, 4439, 13777, 49015, 20893} +#define CONV25_WT {0} +#define CONV25_W_Z (137) +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +#define CONV25_M_ZERO (1431657856) +#define CONV25_N_ZERO (1) + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-2061, -79, 61576, -849, -11467, -4304, 186380, -1808, -2700, -43833, -852, -2211, -890, -1967, 221937, 12878, -44211, 306946, 79751, 221144, -193, -3774, -2685, -1735, 82327, -72, -633, 191144, -1766, -1163, 247522, -1086, 206484, -1419, -5223, 34875, -2745, 116925, 70766, 300184, -49, -2990, -1622, -1325, -2849, -2466, 26334, 122582, 5829, 162779, 112139, -7684, 257299, -799, -22348, -2581, -1402, 97606, 9233, 123494, 62694, 54413, 135774, -2257, -173, 313897, 105164, -599, 245867, 102607, -1054, -2007, -2656, -5352, -14, 1974, 165777, -2292, 99923, -717, -12937, 302534, -1607, 180174, 88150, -3273, -1879, 99969, -1044, -2084, -1647, 89281, -1012, -42898, -1903, -2129, 378714, -12610, -104, 6424, 212656, 222965, 150295, 86735, -19503, -3765, 332815, -990, 74268, -229, -1102, -15690, -2398, 260788, -1081, -1673, -7480, -2130, -939, 7571, -971, -770, -2894, -276, 4773, 133961, 3500, 201627, -268, -2303, -2539, 208026, -2362, -1214, -12391, 120330, 83846, -1714, -977, 995, 32309, -2922, -35695, -1103, -26506, -77, 139015, -2715, 52322, 109795, 95090, 188742, 168693, 142226, -4573, 48363, 123405, 178895, -25649, 245480, -1403, -537, -2161, -870, -935, 214925, -791, 88382, -70, -1556, -3263, 86124, -17877, -87, -10693, -3638, 277198, -554, -2407, 82189, 79028, 292708, 10830, 264326, -4197, -6256, -871, 147379, 114940, 169194, 125075, 22, 37136, -1486, 351448, 106791, -2113, 321598, -559, -1659, 32, 91568, -147, 211078, 75077, -2072, -1581, -21753, 190953, -1338, -1852, 157838, 376468, -7494, -2186, 282564, -1207, 124466, -737, -1733, 235065, -1414, 222874, -174, 252566, -1243, -2602, 225470, 70387, -613, -189, -22050, 10207, 661, 117901, -3, -1440, 117314, 6744, 54248, -1063, -687, 24562, -8587, 118697, -3901, -1901, -3384, -2929, 332872, -1262, -5973, 189704, 1275, -2217, -3427} +#define CONV26_WT {0} +#define CONV26_W_Z (137) +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +#define CONV26_M_ZERO (1431657856) +#define CONV26_N_ZERO (1) + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {13321, 32622, 17555, 35183, 31861, 34072, 45576, -16742, 9832, 26792, 45755, 34819, 6901, 17116, 5602, 5616, -53662, -4261, -13237, 27432, 25268, -7812, 31494, -20697, 31507, -1796, 16565, 2862, 29951, 13993, -15395, 39878, 2333, 5508, 67970, 6014, 7438, 30239, -23613, -37746, 1811, -9302, -824, 24219, 17393, 31499, 31370, -4662, -19052, 9833, -16661, 10677, -12041, 43521, 29347, 46328, 17701, 4611, -22770, 33008, 5598, -3985, 12852, 33420, 21024, 43902, 10960, -27237, 30686, -36283, -1520, 24392, 3893, 9682, -37246, 2840, -890, 34821, 46470, -10424, 70386, -560, 3208, -7933, 14272, 11067, 55553, -5371, 37490, -44478, -17350, 10338, -32858, -39052, -23410, 14319, 18353, 35282, 19103, 3679, 1435, -35763, -6359, 24630, 38914, 36982, 8073, 20315, 17760, 41988, 26271, 23318, 8660, -19360, -3638, 6307, -21550, -7435, 23968, -818, -6825, 25588, 6943, 14959, -8863, 3145, 17575, 27413, 5697, -27384, 19769, -2742, 33388, 36160, 14647, 31107, -17593, 7375, -41482, 17732, 17330, 13030, 5774, 51776, -14276, 4924, 46074, 45307, 6740, -18306, 47723, -15426, 18558, -567, 70440, 15741, 31462, -34217, 5630, 28570, 16924, 30444, 3215, 9686, 21564, 4816, -3738, -11270, 12067, 33672, -81, 4742, 7004, -17586, 13308, 8555, 7232, 14548, -17792, -21617, -40069, -12499, 3616, 28006, -28126, -13419, 13097, 163, 22469, 50741, 28220, 8210, 10789, 24760, 58452, 33163, 781, -898, -21602, -10507, 14018, 13058, 41408, -23870, -3849, 11605, -9312, 26155, -14307, 54283, -7521, -52312, 8361, -10432, -11162, -22570, 7832, -15988, -21911, -30041, 65746, -46479, 23591, -370, 6657, 2643, 4953, 12267, -15009, 22893, -11834, 16630, 13984, 1137, 9219, -5929, 20397, -10203, -1812, -20255, 32170, 40425, 13593, -31405, -11585, -4907, 17698, -4690, 23205, -31578, 20041, 46836, 15739, 33900, -2795, 31259} +#define CONV27_WT {0} +#define CONV27_W_Z (137) +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +#define CONV27_M_ZERO (1431657856) +#define CONV27_N_ZERO (1) + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-5319, 4703, -4816, -2970, 9400, 3881, 2701, 1770, 260, -2204, -5155, -6419, -1442, -986, 5, -2155, 790, -3095, 3410, -1670, 583, 6277, 5996, 727, 2022, 1989, 3860, 156, 2530, -1293, 5219, 191, -1342, -2277, 17, -7686, -536, -837, 923, -1546, 2001, 4733, 4830, -4573, 1191, 5404, 6315, 1186, -4796, -3406, 336, -4246, 3373, 3027, -1469, 1183, 2028, -1181, 4414, 4831, -360, 4467, 1422, 5781, 5245, 6392, -5471, -3964, 1125, 4829, -4693, 4667, 817, -572, -855, 8345, 5187, 4133, 2617, 5629, -7806, -3983, -2442, -14449, -5454, 157, -7958, 3803, 1353, 5043, -2535, -1529, 1208, -32, -4074, -4211, 3829, -3711, -9054, -2511, -2092, -10376, 6248, 4144, 1515, 1325, 8940, -7729, -6645, -6877, -9199, 14259, 5201, -1112, 578, -15260, -5239, 1257, -299, -4252, -1715, -3665, -3646, -3415, -4743, -6563, -7921, -6410, -1751, -2762, -2650, -4762, 530, 2600, -9584, -4058, -7998, -6305, -5470, -3995, -3346, -1166, -3855, -2128, -4526, -4958, 1690, -5083, -1914, -3244, 1222, 4006, -12327, 4164, -1649, 4759, 2362, -9659, -7519, 231, -1194, 11572, 8354, 3197, 692, -3165, -677, -8271, 2075, -1534, 1725, 3093, -1899, -2665, 6196, -6932, -2517, -555, 7371, 244, -2753, 1019, 5049, 2542, 776, 3942, 222, 2018, -4321, -4421, -942, 6029, -554, -7216, -3031, 11071, 948, 4451, -7340, 2029, -8073, 4210, 3190, 3103, 4620, -3837, -7197, -5867, -2734, 3796, -6106, -1244, 2357, -1280, 1038, -2693, -213, 5869, 1418, -2553, -2151, -4630, -1037, 7293, -5257, 1906, -113, -5349, -3453, 6785, -1325, -8882, -4215, 4429, 3950, 2846, 2323, 8617, 2759, 6889, -1847, -1138, 566, -2443, -2237, 4865, -5973, 2704, 1198, 2470, 4551, 2484, -1838, -947, 9796, -5917, 391, 4657, 2034, -5460, -72, 1954, -3772, 1369, 3274, -1462, -3810, -7370, -8470, -1045, 913, -4713, 3808, 2032, -1844, -3723, 2194, -2085, -9277, -1464, 4121, 11028, -2889, 143, 8954, 7547, -442, 1376, -1697, 1214, 609, -6920, 2884, -2187, 796, 1111, 1940, -2014, -1154, 5303, -8009, -3757, -5222, -4047, -8398, 5043, 2736, -10430, -5716, -8527, -8148, -6692, -5318, 7220, 10046, 3562, -569, -7196, -294, -7217, -4192, -12068, -10114, -5725, -4856, -8339, -9852, -594, -4573, -1619, 6044, 687, 3519, -2701, 2400, -2198, 3410, -1928, -6240, -3405, -232, -4958, -5877, -1991, -2853, -982, 2458, -3017, -4084, -3763, -2838, -2492, -5094, -5121, -1140, -7488, 632, -2933, 1814, 3244, -5699, 5653, 5476, 708, 4176, 1968, 2090, 7214, 25, 3772, -6012, -4896, -1226, 975, 3284, 2614, 1825, -2197, 3230, 6291, -3366, 5436, 3036, 2195, -2487, 1924, -1470, -4037, -1337, 914, -4368, 4304, -4524, -5491, -687, 3839, -3600, -2839, -3849, 14295, 515, 5871, 2526, -4396, -5782, 6689, -6773, -3595, -13867, -5938, 105, -5318, 4367, 5380, 3559, 2234, 7311, -1464, -846, 6172, -1362, 5587, 4237, 7347, 5746, 2030, -4063, -5305, 2163, 4502, 1748, 2627, 3026, 238, 8570, -357, -3224, -7342, -3727, -3153, 5101, 3374, 1314, -1924, 4229, 6466, -1407, -3171, 5441, -1114, 2270, -2038, -3075, -12, -2189, 2001, -847, 3316, -10113, 6131, -11385, 1635, 914, 3302, 6566, 8779, -2591, -3078, 710, -2321, -1887, 924, 965, 8206, -3468, 2229, -3330, 960, -226, -6895, 5954, 2585, -2443, -5146, -13452, 4257, 4090, 2342, 2494, 88, -4420, 1617, 2884, -8348, -6009, -3820, -20, -5334, 179, 7260, 3805, 1774, -3112, -2688, 2063, 1053, -1495, -2937, 1361, -4749, -4360, -2309, -2314, -1733, 702, 2803, 1671, -1178, -997, 2860, 48, -1804, -2686, 12004, -2318, 3828, 468, -5319, -959, 9808, 726, -4560, 1649, 125, 2683, -1899, -13057, 5665, -523, 2229, -11104, -60, 8410, 4161, -1206, 10594, 292, -8333, -5369, 11428, -3629, 3145, 4547, 1124, -3537, 1448, -4270, 2075, 1596, 4289, -2020, 1054, -2578, 4838, -6850, 1136, 1287, 980, 8427, 2336, -2141, -5697, -4959, 9473, 2861, 4312, 62, 8590, 563, 7052, -209, -3243, -5342, 233, 3593, 1449, -5425, 10242, 4656, 5736, -3468, 1553, -30, 4939, 8578, -7828, 6834, 8594, -2586, -4533, 8068, -3927, 4044, 3876, 3810, 3498, 7605, -1832, 8868, -2472, 4826, -2662, 608, -12, 3077, 877, -1276, 562, 8446, -6543, 3742, 5270, 2469, 8617, -4538, -942, 7445, -1701, -6591, 3223, 5391, -232, 8710, 258, -787, -746, 1118, 136, -2191, -11680, -11190, 3970, 3355, 2175, 66, -1612, 6873, -7922, -46, 2203, 10733, -4651, -2833, -2788, 1310, 6432, -2642, -1996, -3096, 4939, 566, -2123, 94, 784, 4593, 1852, 1867, 1679, -1958, 4814, -230, 5342, -4003, 2594, 2675, -1206, -9927, 3519, 8439, -1969, 2319, 5059, 3526, 4099, 502, -1618, 2215, -1351, -5753, -8308, 571, -374, 5678, -2665, 2171, 1640, 5718, -3837, -902, -221, 4652, -5727, 1315, 9949, 2962, -6064, -907, 4282, -13238, -1234, -2454, 3106, 1783, 3300, 3896, 2585, 10446, -7654, 1465, 4657, 1522, -1211, 4207, -4357, -10332, -6997, 7095, -3203, -1244, -1998, -1678, 1403, 5340, -1971, -4746, -5280, 1921, 1369, -664, 6599, -5, 3520, -2076, 2102, -5859, -989, 4973, 7108, -1122, 8094, 3263, 3254, 6021, -2326, -1675, -2529, -2146, -3407, -1523, -2676, 5796, 2752, -412, 3472, 11563, 1275, -10595, 2042, -5989, 5598, 3646, -10402, -3764, 188, 4937, 3030, 6962, 10716, -8576, -1622, -3498, -3493, 1105, 5696, 1372, 6037, -2311, -9666, 6232, -4586, -5433, 8505, 4716, 1848, 5741, -481, 4048, 8373, 1255, 3326, -3317, -2894, -230, -6920, -2849, 1701, -3324, -7839, 991, -1818, -5748, -3420, -881, 1437, -2630, 1327, 2472, -3155, -4591, 3808, -2407, -2280, 4699, 6291, 4974, 890, -3241, -6006, 8545, -4356, 7699, -705, -2053, -4151, 7827, -13127, 7011, 9913, 2322, -2399, -13, 1488, 5035, 7851, 5347, 9855, -7090, -3141, 3806, -3228, 2877, 2535, 2967, 5890, 1475, 8053, -6917, -1340, 6868, 5378, -769, 4735, 3870, -1902, -4824, -2705, 3242, -839, 2139, -4228, 6507, -9548, 1545, -3912, -5737, 2916, -140, -1464, -8037, 12696, 11903, 2589, 3526, -5675, 4813, 23719, -4322, -3481, 1491, -258, 2929, -2715, 5983, 7185, -2156, 3166, -667, 3591, 6886, -4273, -10019, -3607, -1971, 6216, 9075, 8177, 4225, 1843, -404, 2941, 737, 15459, -1891, -50, -1805, 364, 4051, 3542, -1916, 6391, 292, 1031, 7002, -1498, -10140, -4274, -4590, -3110, -3420, 3950, -1265, -5032, -260, -5082, -1329, -1774, 2462, -1618, 767, -2561, -2484, 502, 708, -5202, -4615, 3682, -5170, -11220, -1437, 1473, -501, -2371, -1976, -276, 4661, -588, 1343, -4362, 7155, -10395, 3235, 3176, 1945, -3364, -2029, -1409, 5039, 2941, 3692, -2521, -857, 7581, 4706, -189, -1000, 5255, 4, 6402, 940, -622, 3939, 5545, 8597, -6033, -3801, 1469, -5375, -1268, -5816, -6059, -3131, -8324, -5361, -13600, -5907, -7772, -5545, -4614, -685, 3936} +#define FC28_W_Z (175) +#define FC28_IN_Z (0) + + +#endif /*__192_0_25_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/192_0_5_parameters.h b/Inc/intq-mobilenet-v1-models/192_0_5_parameters.h new file mode 100644 index 0000000..754217a --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/192_0_5_parameters.h @@ -0,0 +1,361 @@ +#ifndef __192_0_5_PARAMETERS_H__ +#define __192_0_5_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (192) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (16) +#define CONV1_OUT_DIM (96) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (96) +#define CONV2_IM_CH (16) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (16) +#define CONV2_OUT_DIM (96) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (96) +#define CONV3_IM_CH (16) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (32) +#define CONV3_OUT_DIM (96) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (96) +#define CONV4_IM_CH (32) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (32) +#define CONV4_OUT_DIM (48) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (48) +#define CONV5_IM_CH (32) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (64) +#define CONV5_OUT_DIM (48) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (48) +#define CONV6_IM_CH (64) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (64) +#define CONV6_OUT_DIM (48) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (48) +#define CONV7_IM_CH (64) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (64) +#define CONV7_OUT_DIM (48) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (48) +#define CONV8_IM_CH (64) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (64) +#define CONV8_OUT_DIM (24) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (24) +#define CONV9_IM_CH (64) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (128) +#define CONV9_OUT_DIM (24) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (24) +#define CONV10_IM_CH (128) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (128) +#define CONV10_OUT_DIM (24) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (24) +#define CONV11_IM_CH (128) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (128) +#define CONV11_OUT_DIM (24) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (24) +#define CONV12_IM_CH (128) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (128) +#define CONV12_OUT_DIM (12) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (12) +#define CONV13_IM_CH (128) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (256) +#define CONV13_OUT_DIM (12) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (12) +#define CONV14_IM_CH (256) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (256) +#define CONV14_OUT_DIM (12) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (12) +#define CONV15_IM_CH (256) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (256) +#define CONV15_OUT_DIM (12) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (12) +#define CONV16_IM_CH (256) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (256) +#define CONV16_OUT_DIM (12) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (12) +#define CONV17_IM_CH (256) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (256) +#define CONV17_OUT_DIM (12) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (12) +#define CONV18_IM_CH (256) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (256) +#define CONV18_OUT_DIM (12) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (12) +#define CONV19_IM_CH (256) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (256) +#define CONV19_OUT_DIM (12) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (12) +#define CONV20_IM_CH (256) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (256) +#define CONV20_OUT_DIM (12) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (12) +#define CONV21_IM_CH (256) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (256) +#define CONV21_OUT_DIM (12) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (12) +#define CONV22_IM_CH (256) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (256) +#define CONV22_OUT_DIM (12) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (12) +#define CONV23_IM_CH (256) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (256) +#define CONV23_OUT_DIM (12) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (12) +#define CONV24_IM_CH (256) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (256) +#define CONV24_OUT_DIM (6) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (6) +#define CONV25_IM_CH (256) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (512) +#define CONV25_OUT_DIM (6) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (6) +#define CONV26_IM_CH (512) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (512) +#define CONV26_OUT_DIM (6) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (6) +#define CONV27_IM_CH (512) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (512) +#define CONV27_OUT_DIM (6) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (512) +#define FC28_OUT_CH (1000) + + +#endif /*__192_0_5_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/192_0_5_weights_bias.h b/Inc/intq-mobilenet-v1-models/192_0_5_weights_bias.h new file mode 100644 index 0000000..35d4745 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/192_0_5_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __192_0_5_WEIGHTS_BIAS_H__ +#define __192_0_5_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {49334, 274210, 160945, -3261969, 4565, 22145, -4569783, 246832, 52848, -545842, -3198668, -62018952, 125756, 124452, -11865536, -7393793} +#define CONV1_WT {0} +#define CONV1_W_Z (137) +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +#define CONV1_M_ZERO (1431657856) +#define CONV1_N_ZERO (1) + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {7134, 11870, 74769, -816, -698, 20589, -111, 34317, -3040, 892, -198, -36, 39311, 6896, 36516, -237} +#define CONV2_WT {0} +#define CONV2_W_Z (137) +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +#define CONV2_M_ZERO (1431657856) +#define CONV2_N_ZERO (1) + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {54662, 55709, 86863, 57532, 7766, 13608, -5443, 17596, -8821, 25784, -5863, 15858, 35141, 978, 33627, 50593, 12850, 89119, 74432, 53290, 98674, -4215, 66993, 19647, 44393, 6797, 4087, -32615908, 40833, 17263, 63603, -74} +#define CONV3_WT {0} +#define CONV3_W_Z (137) +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +#define CONV3_M_ZERO (1431657856) +#define CONV3_N_ZERO (1) + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {42509, 10283, 1719, 3547, 91170, 698, -45, 33441, 80286, 35636, 79517, 39312, 10101, 6010, 8357, 17022, 3242, 69204, 616, 54799, 37912, -23261, 2385, -48483, 55201, 117, 87235, -35, 26581, 59025, 2014, 4262} +#define CONV4_WT {0} +#define CONV4_W_Z (137) +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +#define CONV4_M_ZERO (1431657856) +#define CONV4_N_ZERO (1) + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {-6771, 7440, -16521, 2677, 44561, 5737, 19751, -2318, 72986, 93377, -23677, 25172, 22370, 70320, 33108, 26328, -36474, 28323, -30889, 55460, 27741, 77220, -10363, 55706, -9846, 41485, 37313, -8069, 40956, -1187, 39440, -17015, 34433, 6191, 27695, 33361, -7495, 10413, 7601, -185, 43894, -35919, -4811, 6714, -4742, 66744, 30292, -8413, 19109, 24452, -3132, -36444, 28982, -19608, 6787, -6574, 15472, 60985, -78746, 27566, -600, -6439, 10501, -15070} +#define CONV5_WT {0} +#define CONV5_W_Z (137) +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +#define CONV5_M_ZERO (1431657856) +#define CONV5_N_ZERO (1) + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {1392, 29120, 66034, -116, 11757, -766, 20373, 50175, 44051, 70620, 4190, 52, 22380, 9859, 22388, 25658, 1640, 7030, 7243, 10991, -7606, 166157, 15181, 24594, -654, 51070, 45821, -2853, 28446, 15502, 15071, 56978, -142, -4810, 3823, 216, 50124, 100, -662, 393, 1010, 1429, 32596, 56, 149, 2554, 4682, -35850, 33876, 60852, 63624, 2384, 35827, -15640, 55977, 39463, 22495, 33731, -7843, 5370, -3630, -362, 11570, 30871} +#define CONV6_WT {0} +#define CONV6_W_Z (137) +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +#define CONV6_M_ZERO (1431657856) +#define CONV6_N_ZERO (1) + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {-6555, -17920, 58840, -14800, -48427, 33912, 19219, 62091, -6193, 3675, 30723, -39310, -1640, 14724, 16920, 117907, 2714, -32107, -51004, 13189, -43504, -6565, -14298, -1702, 24321, 73457, 49773, 11163, 53242, -24638, 12952, 78, -68899, 27991, 17699, 27917, -26840, -6016, 2246, -24423, 61750, -8123, 45320, 1934, 21965, 22184, -22812, -46049, -17366, 48219, -35769, 59956, -6147, 10743, -67132, 22516, 21037, 33033, -4837, 43517, -14518, 1506, -36769, -48108} +#define CONV7_WT {0} +#define CONV7_W_Z (137) +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +#define CONV7_M_ZERO (1431657856) +#define CONV7_N_ZERO (1) + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {991, 8507, 7705, 64868, 1920, 66391, 99028, 1346, 250384, 21722, 288858, 2133, 58101, 63357, 15106, 1879, -56884, 2083, 163835, 2116, 117587, 3939, 28220, 288700, 1253, 1648, 1963, 187130, 190288, -2600, 98785, 25597, 11915, 51540, 6238, 2550, 5298, 1617, 252, 13561, 5398, 103453, 188662, -4145, -108641, 2089, 3669, 52, 11663, -21760, 2356, -5928, 83679, 86939, 3844, 106533, 66132, 1749, 18792, 5995, -2723, 781, -223, 2690} +#define CONV8_WT {0} +#define CONV8_W_Z (137) +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +#define CONV8_M_ZERO (1431657856) +#define CONV8_N_ZERO (1) + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-12299, -26873, 28611, -2946, -5462, 43098, -334, -31097, 63847, 30356, 51056, 2301, -35812, 13649, 35099, 31481, -30276, 43054, 35478, -24932, 46602, -933, 25222, 38335, 43839, 2999, 35256, 51325, 19107, 34673, 95756, 61015, 34304, 134787, 53053, 46792, 56079, 1625, -81713, 74606, 26007, 18415, 14417, 55960, 13586, 20908, 44295, 62738, -34221, 16906, 43927, 57227, -18739, 17118, 49867, 9218, 4353, 6194, 43622, 27000, -1242, 40015, 5264, 8801, 9230, 63748, 37169, 54587, 30241, 68839, 14339, 32602, 62347, -16520, 33411, 30966, 27417, 48216, 39196, 42890, -16011, 47635, 38517, 30078, 41025, 4125, 8300, -39550, 7401, 30442, -17951, 59975, -10936, 40895, 27074, 2074, 95465, 83492, -38083, 4202, 25363, 20142, 15689, 46583, -42355, 5853, -38895, 25971, 30697, 40381, 49163, -18569, 106592, 19153, 33222, 35561, -16362, 61436, 46894, 18656, 17663, 136704, 8571, 25437, 84407, 16376, 32666, 32807} +#define CONV9_WT {0} +#define CONV9_W_Z (137) +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +#define CONV9_M_ZERO (1431657856) +#define CONV9_N_ZERO (1) + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {-4664, 255, 15384, 370, 24698, 21045, 45, -72, -4231, 16790, 25769, -235, 24558, 40277, -8857, 43927, -872, 44121, 32053, -259, -388, -680, 30833, -94, 13937, 25641, 35525, -15037, -12, 985, 11425, -518, 465, -132, 24136, -240, 1460, -8443, -225, -797, 97251, -25, 16457, 6116, 25760, 8195, 686, 1044, 70961, 94615, 6174, -256, 107467, -2393, -8074, 20908, 33315, 34509, 366, 1112, 709, -147, 24, -34, -4250, 13349, 1790, 98, 2094, 1573, -9941, -292, 16712, -829, 15719, 74, 158, 9013, 17527, -198, -9695, 205643, 34188, 30676, 19921, 70562, 187, 216, -4901, 62, 29961, -8563, 51, 1538, 14246, -4396, 110, 26432, -420, 2844, 384, 52469, 2740, 289, -8296, 1121, -10108, 273030, -123, -1292, -388, 173, 26377, -2207, 24574, -2594, 33651, 52, -15779, 57805, 18873, 15290, 72281, 30135, 41027, -12191, 23, 5052} +#define CONV10_WT {0} +#define CONV10_W_Z (137) +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +#define CONV10_M_ZERO (1431657856) +#define CONV10_N_ZERO (1) + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {-18089, -22210, 56651, 6992, -3033, 14559, 33040, 6241, -37035, -16740, 15099, 12529, -18831, 6674, -7266, -60677, 20652, -16476, 22845, 22255, -6495, 86526, 11362, 17940, -7111, 44770, -10522, -3448, -41263, -11677, -13634, 2888, 9750, 9868, 4049, -16714, -10166, -2911, -655, 7656, 7680, 16161, -23120, 52162, -13968, -20508, 17831, -39535, -18639, -16144, 8744, -7592, -6560, 65126, -5266, -7909, -10146, -20479, -32125, -7137, 29191, -14151, -1576, 12809, -19641, 22527, 1426, -43650, -16120, -25758, 6216, 10322, 6827, 66255, 16324, -13923, 39588, -10916, 21098, 56911, -34016, -2000, -62598, 1978, -10947, 26451, -20488, 6266, 12100, 13611, -3611, 16106, 14285, -16955, 10791, 8277, 27291, 19790, -17429, 29576, -3591, 17299, 51987, 56171, 3271, -3261, 39742, 44462, -14655, -4207, 3810, 25804, 3521, -39444, -42487, 12155, 165, -218, 5210, -16619, -24224, -54067, -37094, 32279, -2721, -27687, 15716, -8727} +#define CONV11_WT {0} +#define CONV11_W_Z (137) +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +#define CONV11_M_ZERO (1431657856) +#define CONV11_N_ZERO (1) + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {-1051, 257019, 9434, 227896, 83955, 148280, -3679, 124034, -1811, 2742, 103807, -183, 1324, -113, 225, 4446, 10042, 20674, 2969, 123258, 76113, 14904, 115605, 156181, 102585, -3582, 5031, 239950, 129547, 36, 124971, 20412, -4770, 3166, -1742, 43545, 30908, 13035, -545, 1476, -480, 375, 1010, 66608, 22220, 382, -8851, 225114, -1400, 81619, 118735, 1304, 119558, -10159, 84191, 113914, 74955, -352, 1174, -931, 82770, 1623, 62092, 77637, 152011, 121201, 165929, 99412, 28198, 148724, -1005, 28183, 73871, 70415, 107227, -1548, 2122, 63665, 415, 181837, 2298, -81, 140270, 35427, 123708, -1017, -405, 15078, -6537, -2458, 140944, -1955, 11798, 220876, 441, 86808, 224211, 1084, 66208, 208596, 124309, 96426, 80793, 82900, -1574, 100406, 157758, -909, 1643, 164371, 13794, 103053, 63562, -9337, 118509, -172, 214797, 12751, 19367, 5730, 12255, -11916, 113070, 2028, 365, 3155, 1195, 283179} +#define CONV12_WT {0} +#define CONV12_W_Z (137) +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +#define CONV12_M_ZERO (1431657856) +#define CONV12_N_ZERO (1) + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {81831, 39693, 14341, 51731, 51442, 72563, 37768, -17197, 72690, -23158, -70454, 80410, 58986, 67737, 29559, 34673, 49317, 135808, 462, -63977, -1537, 6685, 61185, -26772, -50539, 49112, 5934, 28090, 48770, 39815, 53657, 59919, 21313, 22301, -24059, 30254, 24838, -16437, -37452, 15827, 71322, 2920, 9533, -10109, 50677, 20912, 65874, 41174, 36336, 63795, 32947, -23467, 53997, 2924, 35512, 50238, -16756, 68838, -25483, 27871, 33691, 27631, 15120, 42151, 22245, -24414, -9945, 16613, 24719, 121056, 43664, 40676, -46663, 69340, 7500, -9348, -38581, -5467, 33677, 34078, 40682, 76260, 11987, 70625, 27638, 9753, 107730, -26627, 6810, 1863, 68089, 20833, 30745, 26839, 11697, 39296, 44471, 13745, 51062, 83654, 34141, 7882, 60519, 33556, 47376, -19245, -5830, 65385, 130060, 22369, -1773, 16876, 16002, 6016, 1109, 31921, -10910, 30875, 8381, 6629, 8123, 66459, 82984, 26225, -11473, -6982, -13034, 51810, 40535, 104839, -33990, 35384, 24198, -3104, 66294, 625, 51477, -2504, -28, -9452, -38548, 23256, 40964, 30129, 33544, 19209, 114834, 583, 11483, 37016, 24969, 97373, -28868, 2977, 81887, -72759, -20854, -9795, 70241, -50768, 9387, 79631, -8766, 73427, 20808, 2565, 815, 8275, 1243, -14495, 119327, 38315, 80465, 117225, 46654, 3495, 115451, -4440, 66428, 9770, 15173, -18549, 61784, 49022, 9340, 76300, 39522, 16708, 847, 31260, 60124, -3138, -4307, 42641, 3731, 17057, -10101, 56170, 20300, 6488, 26356, 32039, 29177, 58800, 25322, 55352, -5632, 86139, 36742, 7761, 61815, 7906, 37714, 42532, 6518, 15852, -13340, 40900, 74144, 53232, 25990, -392, 82238, 75410, 49887, 35554, 53403, 59718, 74089, 81721, 71453, -49063, 23169, -6452, 23003, 39273, 60286, 35188, -9008, -12759, 41876, 66958, 36143, 29759, 10656, 16275, 2092, 56877, 17965, 41047, 47769, 37402, 4167, 128304, 26461, 83528} +#define CONV13_WT {0} +#define CONV13_W_Z (137) +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +#define CONV13_M_ZERO (1431657856) +#define CONV13_N_ZERO (1) + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {-8173, -558, 10065, -179, 287, 141, -1756, -24636, -448, -3556, 79025, 479, -1639, -7373, -8913, 75, -10203, 5224, 2651, 779, 46090, 20175, 1801, 11009, -6337, -7639, 11204, 60670, -688, -2766, 696, 196, -13991, 3926, 43497, 28641, -1735, 25458, -12561, -28948, -9895, -1008, -6354, 234, 2112, 25523, 502, 7771, 446, 907, 36857, 460, 1493, -10255, 584, -441, -17780, 745, -6676, 51162, 576, 371, 161, -6688, 1169, 52031, 19232, 77159, 1110, 4901, 3700, 27119, 92362, -132, -12526, 328, 94136, 650, -3916, -11204, 3213, -2288, 1236, 954, 10072, -4984, 422, 336, 58674, 420, 205, 663, 24787, -1544, -8114, 2, -6180, 204, 9909, 1691, 98, -5237, 1264, 533, -10983, -6049, -26653, 29249, -124, 1965, 22050, 2753, 8488, -207, -4124, -5396, 21269, -6151, -6798, 6328, 876, 133894, 22139, -7104, 21013, 50, 517, 75600, 509, 183, -1673, 1384, 6243, 179, 50206, 401, -1401, -29, 100479, -633, -14946, -88, 2209, 96, 85669, 11811, -6079, -319, 490, 6176, 807, 2139, -744, 51246, 2950, 1548, -2158, 898, 25109, 6803, 45, -231, 572, -554, 123818, -9533, 3998, 15161, 30797, -10579, -6941, -10570, 868, 27241, -14745, 6537, 431, -10116, 26983, 4623, 13777, 634, 12178, -3509, 4839, -240, 1624, 367, 430, -10949, 110, -6507, -495, -3948, -134, 1901, 165, 12493, 66723, 10947, -681, 44720, 8536, 32776, -540, -1714, 94811, 992, -19856, 4854, 5738, 390, 39, -888, -392, -425, 6247, -3494, 59, -1850, 21018, 8073, -612, 24, -10423, 46184, 39255, 25285, 1164, -511, 106, 197, -5054, -302, -3214, 9088, -499, 19346, 8554, 61744, -4571, 736, 22, -11525, 430, 832, 23, 212, 132, 88, 45431, 1398, -520, -732, -6292, 30916} +#define CONV14_WT {0} +#define CONV14_W_Z (137) +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +#define CONV14_M_ZERO (1431657856) +#define CONV14_N_ZERO (1) + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {13530, 4595, 36333, 11001, 29459, 97163, 24028, -1075, -7543, 22700, 44379, 31530, 21312, 41934, 18879, -2573, -8726, 5064, 18955, -9407, 21386, 8750, -10462, 63886, -6344, 7528, 24147, 1425, -19871, 20390, 39518, 13173, 26325, 19394, 30864, -6890, 15947, 55873, -14085, 69664, 20108, 7531, 15662, -1188, -19505, 42146, -28869, 8388, -16625, 18435, -5765, 54618, 37733, 3822, 20258, -19786, 42549, 74013, 32184, -1330, -31337, -22238, -1145, 22293, -4249, 30801, 28662, 8089, -3093, 4955, -22033, -18725, -10841, 13806, 17917, 3816, -14217, 10965, 5310, -3408, 54503, 29923, 48788, 12420, 7873, 73247, 8446, 6940, -7140, -8040, 29540, 7143, 59913, 44097, 40948, 4907, 26026, 77630, 35619, 18095, 88556, 6128, 28922, -19035, 720, 40379, 16612, 55950, 9662, 54888, 17801, 65055, 66009, -23020, 52651, -4989, 100894, 23685, -162, 43229, 1827, -18764, 17668, 12570, 33225, 17920, 68561, 63816, 2471, 26990, 10922, 5301, 12539, 15956, 58003, 16048, 1161, 80756, 14796, 27401, 27294, -4399, 31849, -12032, 14543, 11291, 55751, 64166, 26564, 27359, 13749, 8941, 59667, -16476, 4729, 51203, 39874, 23919, -8163, 22439, 4075, 11643, 29465, 46523, 102344, 80896, 20909, 78078, 1478, 26369, -12939, 29726, -13601, 77354, -17958, 7351, 33919, 4949, 16882, 14930, 57038, -11536, -7800, 15941, 20189, 63208, -8148, 24393, 17394, -6386, 25520, -9959, 3374, 54040, 48657, -44064, 12933, 17361, 67242, 37980, 35769, -1504, -4994, 54942, -8596, 8610, 903, -23818, 21936, 51052, 166378, -990, -25196, 6574, 12286, 57023, 16452, 83507, 1020, -14136, 95109, 79448, 84888, -11475, 37340, 24160, 26686, -8125, 96498, 825, 197, -15140, 37130, 42344, -15186, 63851, 25151, 82072, 6636, 1272, -19984, -9269, 50842, 32841, 917, 28174, 27928, 11487, -16086, 16486, 8953, -1936, -3147, 25295, -3136, 5530} +#define CONV15_WT {0} +#define CONV15_W_Z (137) +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +#define CONV15_M_ZERO (1431657856) +#define CONV15_N_ZERO (1) + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {-805, -55268, 37676, 4673, 12496, 3343, 40998, -4550, 3957, 23993, 15591, -7774, 88289, 24588, -400, 150, -20507, 24791, -8762, 8775, 24493, -9348, -76, 1993, 37741, 2200, 20382, 126942, 5865, 30834, 30964, 22127, 6177, 11557, 76636, -7736, 24769, -10418, 1711, 2168, -1423, 32082, 97338, 30500, 48555, 2497, -12523, 15581, 5099, 6813, -18205, 6021, -6963, 31417, -40, -789, 14698, -841, 83664, 156, -470, 13227, -10768, 30680, -9247, -1041, 20725, 77605, 84, -45, 1245, -198, 48303, -10584, -10560, 7795, 3549, -1371, 14065, 15533, 2087, 46410, 8637, -16499, 88993, 35189, 782, -2081, 1026, -19527, -1040, 1817, 21191, 39301, 23191, 96095, -5224, 19619, 25297, -4648, -8291, -11691, 136290, -20910, 90209, 3354, -35993, 2286, -8089, 27111, 60742, 21745, -388, -23432, 27484, 61792, 29990, 1418, 18156, 2670, -4870, 19038, 2974, 35970, 38902, 10980, 1095, 21760, -12398, 2665, 75028, 11476, 15174, 3572, 3282, 2699, 8917, 3087, -16345, 56854, 3958, 43493, -3975, 8572, 151599, 8251, 28039, -12642, 13662, 70167, 37640, 18565, 33731, -6031, 8858, 21474, 22130, 112944, 52503, 14984, -19512, 1329, 65210, -6453, 14961, 16558, -519, -14661, -8285, 79, -1034, -68161, 70385, 23148, 3217, 17000, -13782, 27002, 10539, 2462, 8401, 71459, 29741, 10398, 52199, 6477, 31164, 37659, 11655, -33966, 60027, 42874, -13668, 4210, 42797, -12656, -3146, 23049, 9701, -5473, 33021, 2215, -11809, -7487, -11696, 39015, 28358, -5783, -1108, -206, 37020, 58501, 68213, -18592, -2292, -878, 10543, 4517, 32390, -9171, 9667, 6835, 20529, 32435, -14001, -56005, 155266, 8284, 22005, 105800, -8470, 14268, 52865, 69773, -2659, 1707, 34925, 21776, -13334, 5621, -17798, -5378, 14836, -4737, 8792, -7468, -9724, -28578, -2582, 21097, 127862, 25593, -11997, -4347, -24434, -26866} +#define CONV16_WT {0} +#define CONV16_W_Z (137) +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +#define CONV16_M_ZERO (1431657856) +#define CONV16_N_ZERO (1) + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-3044, 839, -14216, 51755, -22846, 21331, 1039, 46673, -22957, -7743, 45640, -17500, -2385, -4411, -7, 8212, 37362, 37117, 2908, -14511, -11556, -18364, 26441, 37462, -52582, 9511, 14635, 7984, 16196, -31674, -14940, -2911, -63477, 10061, 69240, -9378, -23622, -5057, 55381, 31177, -33000, 5605, 37547, -15305, -23360, -15794, 19609, -20807, -5251, -32996, 19313, 43375, 14092, -16364, -1415, -5338, -21108, 9391, -55703, 16396, 51736, -15069, 20647, 82342, -43178, 4481, 1003, 15967, -15223, -6188, 39773, -2321, 45173, 45256, -28198, -30106, 18001, 25211, 61151, -4548, -5191, 59151, -42827, -5514, -69894, -32486, 39169, -47472, -3265, 26497, 31251, 6300, -21993, 11800, -19284, -10046, -14773, 25539, -2082, 35902, 98180, -6870, 31278, 48032, -7136, 24137, 51126, -60326, -17458, -8605, -36260, 47628, -15636, -60709, 10477, 12525, -9379, 33569, -27163, -25188, -28051, -14761, 24772, 157434, 25935, 17334, -17525, 16805, -52883, -42443, -41905, 37275, 11184, 25214, -1474, -13018, 65102, 406, 1278, -572, 17034, 2244, 32539, -18528, 729, 36305, -32808, 662, 19684, -17018, -661, 7539, 112644, -15030, -15962, 45744, 51228, -552, 90377, 8428, 53790, 28786, 32801, -19067, 42963, -5597, -12460, 35813, -17189, 11966, 22328, 54862, -63340, -14302, -18019, 10864, 34460, -21477, 27178, 9769, -31226, -2905, 16953, 70120, 35708, -11733, 127703, 40393, 27552, -1342, 18853, 23922, 37570, 466, 49980, 7269, 73736, -16081, 36190, -23286, 21203, 36681, 99073, -45329, 6975, 73852, 34449, -26017, -11660, -8097, -10536, -20151, 19898, 33058, 106240, 10447, 31747, -1704, 80979, 33878, 27192, -2769, 11302, 9703, 1818, 43872, -23935, 6853, 25322, -17469, 20761, 74760, -9113, -25288, 23397, 78070, -25264, 26192, -20024, 26040, -655, -4559, -16883, 43646, 28372, -1408, -44016, -21717, 75722, 2974, 45016, 6914, 132619, 20651, 128987, 25708} +#define CONV17_WT {0} +#define CONV17_W_Z (137) +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +#define CONV17_M_ZERO (1431657856) +#define CONV17_N_ZERO (1) + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-11967, -33148, -1860, -10143, 20942, -7606, -1098, 28625, 1236, 105645, -14036, 18186, 23452, 35687, -4787, -20547, -10277, 59742, -8518, -7309, 35835, 1861, 15705, 5902, -5865, 14309, 35323, -3262, -3823, -3824, -6002, -1157, 5440, 60190, 132683, 25553, 22866, -15525, 22204, -13675, -1877, -19704, 11649, -8161, -4622, -4267, 14590, 138890, -8219, -9109, 105222, -6348, 40566, 782, 854, -14498, -17974, 131247, -6479, 14965, 7010, 22811, -17661, 4564, -11762, -6740, -8632, -4114, -19169, -3, 70876, 2701, 49366, -1142, 130216, -12127, 52957, -2332, 4983, 10311, 63870, 24068, -8974, -559, -15020, -16024, -2850, -5857, 34821, -352, 8, -11851, -29943, 20598, -4741, -18390, 9735, 16174, 13207, 79732, 23344, -7939, 110260, -9136, 9854, 22038, 26894, -2175, 78052, 134118, -25600, 3329, -15331, -36003, 55489, -6689, -7602, 8775, -9452, -1258, -24310, -5951, -13958, 48123, 96963, -18706, 13662, -5399, -21607, -7141, -27057, 48189, 66197, -8301, -12337, 22277, -3947, 85844, -23871, 1766, -18687, -15606, 83021, -6047, 53721, -4240, 56874, 20860, -403, 1887, -2501, 15627, 46114, 37721, 5184, 2967, -977, -9059, 35531, -6233, -15925, -7376, -4464, -11997, 38509, -4563, -35780, -3368, 17695, 73975, -14562, -82, 72164, -7911, -1994, -23306, 20473, 16198, 1293, 25845, -28648, -23313, 3356, 15131, 36066, -9469, 26961, 357213, 60684, 28689, 8162, -15234, -29291, -4077, -11915, 12573, 16535, -16179, 24000, 27147, -20796, 52504, 34925, -3319, -20913, -1667, -50290, -4754, 1971, 23063, 98246, -12406, -429, -5106, 21830, -10160, 62596, -2761, -21848, 2041, -13308, 91629, 49733, -2045, 30561, -6036, -15665, -9254, 7157, 77070, -10328, 7326, 17895, -517, 23333, 1194, 64150, 111181, -62283, 7876, 26861, 181575, 13718, 76259, -12807, 153225, 62410, 3874, 19617, -12225, -5062, -3528, 6140, 27247, 21136, 95876} +#define CONV18_WT {0} +#define CONV18_W_Z (137) +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +#define CONV18_M_ZERO (1431657856) +#define CONV18_N_ZERO (1) + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {-45340, -11775, -3164, 43272, 11990, -33174, 13895, 29574, -36689, 5715, -22455, -8127, 24055, -19229, -28163, -16407, -31005, -2714, -81773, 9940, 103694, 9603, -37444, -37933, 716, 3193, -3068, -21702, 32258, -18443, 33259, 51959, -33092, 1770, 22051, 9082, 60362, -15723, 73046, -31533, 90468, -7234, 50898, 32861, 29450, 3736, 45832, 21266, 22456, -18130, -23882, 10168, -28577, 6921, 22103, 8802, -1541, 11029, 41127, 63455, -4398, 70546, 41791, 1763, -26349, 27614, 26761, 34162, 12946, 20813, 114936, 65501, 2665, 46888, -50678, -20375, 61654, 1927, -10064, -26270, -12869, 4396, -69161, 6232, 3087, 11762, 38514, -10776, 27211, -30909, -8110, 111350, 15652, 33474, -8686, 14032, 47624, -38960, -1549, -30761, -14379, -44674, 36821, -20084, 21169, -5456, -12287, 99080, -30642, 4573, 25798, -8462, 5869, 52555, -21119, -30484, -18571, -4602, -22475, 5779, 30601, -47724, 8242, 95294, 29065, 13013, -589, 20410, -18255, -5932, 27987, -35250, -9359, -15444, 25757, 938, -56874, -42386, -78584, 1199, 18699, 33586, 12580, 1954, 19037, -5123, -9411, -4688, 47275, 106877, 69336, -14202, 49298, -12998, -22963, 7765, -13267, 3413, 126110, -47224, -11584, 18787, 81284, -48562, 9785, -7572, 10321, -8075, 84851, -4984, 103831, 12199, 23194, 17178, 15891, 6733, 18521, -24835, 3411, -19054, -1192, 6195, -43409, 44332, 29304, 28009, 8598, 50893, 18191, 24082, -23430, 12457, -40837, 563, -21483, 10638, -2039, 15942, -37409, -27422, 889, -36569, 4978, 47873, -33646, 3389, -35792, 65171, 20060, 959, -101880, 31391, -42971, 48801, -26518, 14342, 956, -1090, -50671, 4126, -9384, -19473, 5519, 14905, 17536, -2133, -19582, 89771, -25447, 13602, -12605, -27823, 40896, 44871, -3736, 12396, 1387, 42043, 20920, -13858, 67788, 34281, 49087, 3128, -16440, 40252, -28220, 5246, -40704, -11817, -5434, -39678, -51660, 60766, 13188, 1106} +#define CONV19_WT {0} +#define CONV19_W_Z (137) +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +#define CONV19_M_ZERO (1431657856) +#define CONV19_N_ZERO (1) + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-18699, 43908, 57524, 4543, 91324, -2128, 661, 4969, -3960, 177424, -11406, -5936, 43375, -2052, 32, 4385, -8806, 51534, 387, -5840, 21289, 14413, -6367, 94, 98621, 44081, 12915, 57198, 86860, 10729, 5291, 43892, 82275, 5942, 111463, 50140, 55713, -892, 21899, -12219, 57612, -19610, -8755, 26, -14817, 4587, -749, -9536, 10674, 166008, -8262, 8918, -16328, -7397, 33530, -14091, 34005, 17299, 27671, 38227, -6234, 23632, -962, 110903, -21887, 102904, 127746, 38535, 7473, -6031, 14473, 18999, -12410, -22596, -1875, 167761, 20718, -4376, -11245, -6633, -12137, 135055, -1248, -2851, 10029, 21384, 28558, -9775, -36602, 48386, 8, 21906, 34047, 43067, -19165, 164, -10518, -2083, -1385, 5586, -5775, -5801, 9656, -5585, 13902, 2571, 123207, 36550, 71827, 9622, 22818, -12803, 8103, 127660, 144075, -4092, -6026, 431, -20482, -3556, 30085, -7585, -16318, 1733, -17623, 7398, 3560, 62674, -1520, 54750, 3590, -13808, 19868, -18845, 59635, 1584, -7838, -939, -21804, -52486, 7810, 20136, 6208, 87732, -3682, 63199, 57232, 124612, 17344, 3137, -4548, -6802, -7840, 14440, -858, -9756, -9463, 19978, 23598, -21823, -23616, 84343, 20919, -7134, -2720, 50273, 13915, -4664, 22372, -26960, 16383, 60443, -2591, 32591, 61910, -22149, 18812, -1781, -11726, 18532, 93125, -25122, 5122, -1840, -5506, 66794, 27213, 49678, -5145, 8719, -24306, 140501, 49136, -5099, -73, 61960, -1928, -17680, -7457, -20669, -9700, -91, -4336, 35395, -994, 63342, 6123, 8512, -15951, 159097, -5730, 31894, -15627, 161358, -4557, -33725, 74666, -14648, -4239, -17805, -13719, -3708, 107787, -20592, 3829, 70137, -25708, 6807, 106433, 14116, 29210, 73492, 37052, 29148, -37770, -5066, 15924, 23495, 9926, 11021, 5612, 10632, 19963, -1863, 119821, 23701, -11506, 10961, 31441, -5322, -48, 27007, 69628, -3923, -12667, -9330} +#define CONV20_WT {0} +#define CONV20_W_Z (137) +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +#define CONV20_M_ZERO (1431657856) +#define CONV20_N_ZERO (1) + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {10164, -25994, 18137, -39722, -13741, 17821, -10921, 9407, -42868, 29223, -8561, 4201, -10404, -46228, -33687, -1146, 9696, 45337, 21159, -27512, 19854, -1209, 31362, 37165, -23841, 26951, 19276, -34082, 3582, -8028, -11255, 166, -55053, -4994, -43420, -6348, 68636, 62851, -29886, -43547, 24392, 53506, 17347, 6023, -26438, 16882, 26418, 7165, 8669, -44709, -748, 17083, 735, 84607, -28969, 27174, -40939, -25552, -40348, 39498, -41369, -19021, 27279, -8477, 29742, -44401, 20621, -26909, -13130, -16024, -25431, 38623, 28980, 16239, -6648, -2785, 17760, -8102, 92475, -53611, 8801, 22068, 94895, 6657, -28699, -39446, 55442, -24872, -43102, -21700, -8942, -1962, -5790, -53, 11235, 20533, -13643, -16140, 5092, 31528, -53820, -21841, 32996, -40117, 36382, -13199, -14492, -3427, -22469, -17776, -31209, 21565, -2571, 28979, -12248, 28312, -2355, 3037, -4788, 3100, 2537, -30691, 16662, 33554, -24823, -10218, 19653, 25999, 24882, 15200, -23478, 4647, -39945, 61264, 15045, -40710, -19854, 21193, -16755, 9918, 6060, 1739, -34569, -8880, 2492, -46592, 9829, -293, -50655, 2613, 10131, 4530, 39699, 3878, -5312, 16017, 11073, 40430, 26539, -28095, 11450, 7590, -19409, 15978, 21029, -27071, -14584, -51052, 21592, 35656, -19045, -4674, 2879, 13864, 25323, -47031, -8928, -20103, 195, 6760, -33229, 32162, 15905, -40061, -21435, -5657, 7585, 15124, -9059, 3802, 29782, 11067, 29744, -7832, 31775, 12499, 16227, -46891, 65647, 24906, 60965, 24793, -13965, 23533, -1809, 15695, -16104, -66481, -33778, -35429, 719, 18299, -48725, 18036, -17184, 43400, -3054, 7047, -1701, 7489, -31209, 11227, 13566, -7501, -2438, 42220, -11907, -40673, 64351, 24390, 14177, -10516, -32994, 88304, 97, 31890, -25764, 988, -4687, 9704, 22493, 8729, -6337, 11988, 15802, 12081, 2552, -8504, 76735, -22564, -11798, 13978, 561, -3110, 49944, 10169} +#define CONV21_WT {0} +#define CONV21_W_Z (137) +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +#define CONV21_M_ZERO (1431657856) +#define CONV21_N_ZERO (1) + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {61376, -354, 51492, -10434, -2952, 89975, 63122, -12885, 82476, 50894, -4714, 50167, 186429, -19707, -20085, 28098, 7335, 41887, 42909, -3956, 107597, -8845, 118828, 18580, 52418, 71962, -40, -5124, 50709, -7106, -8564, 85723, 143926, 57804, -4914, -610, 39104, 39302, 26467, -21106, 30232, 22792, -44878, -291, -9828, 121943, 268755, -1542, -9860, -15958, -6543, 99667, -1277, 26776, 124024, 28909, -4443, 76642, -5243, -8049, -4840, -1617, 145288, -3385, 68874, -7662, -7695, 108387, 80826, 211910, -5494, 9960, 44085, -9302, -175, -6539, 95169, -3459, 40502, -2685, -5976, -714, 26306, 46118, -8754, -6837, -3110, -5212, -10003, -2966, -3526, -2253, -9472, 86022, -32448, 74509, 44746, -10737, -3453, 4080, -12488, 64211, -6648, -4347, 79752, -2427, 70315, 25981, -3179, 42682, -7564, 94989, -10122, 115066, 2459, 19703, -676, -62524, 27110, -4594, -4288, 88600, 17667, -403, -7835, 12092, 19340, -20397, 143384, -4523, 110392, -12576, 113571, 37093, 3456, -827, -3738, 16661, -14036, -3179, -20522, -18549, 176755, -80623, 220055, -6587, 4284, -40487, -29627, -233, 9488, 243436, 112199, 132553, 1727, -5622, 3596, 4794, 45863, 71330, -11523, 141791, 14381, 41962, -5784, 130451, -17919, -15255, 91629, 36360, 55634, -10748, -11321, -5882, -14076, -3395, -8289, -3820, -160, 41573, -31943, -5376, 101077, -14349, -4965, -4322, 93748, -5897, -238, 83051, 59623, 76468, 134553, -4381, 15016, -5978, 65473, -13252, 17811, 57352, 38584, 77849, -11459, 22389, 36989, 44829, -1274, -3972, 61747, 49165, 20111, -7719, 95320, 55825, -4260, -6242, -16954, 26326, 21925, 62892, 60989, 97623, -4708, 748, -6247, 26092, -80, -501, 19585, 83127, -164, -914, -3042, 132039, 3504, -44, 28379, -2019, 48774, -9311, 826, -42475, -4842, 128138, 35405, -3257, 79933, -4241, 17798, 6972, 115697, -3729, -6091, -3989, 22270, -9997} +#define CONV22_WT {0} +#define CONV22_W_Z (137) +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +#define CONV22_M_ZERO (1431657856) +#define CONV22_N_ZERO (1) + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-16941, 5303, 151, 64200, 62577, -68407, -15841, 32144, 50840, -21614, -25122, -2464, 25674, -2967, -15312, -22534, -40200, 1227, -1209, -25250, 17701, -5139, -1734, -31197, -1473, -15837, 8344, -41073, 7908, 16689, -14568, 18077, 21573, 47003, -22880, 62820, -24324, -10468, 48008, 2150, 59678, 67817, -1212, -36770, 2432, -1577, 37476, 51526, 36148, -46161, 33719, -23284, 16300, 45137, 38345, 29448, -24559, -4913, -22779, 18898, -15114, -89258, -110888, -15212, -8624, -59004, 31412, 21868, -12711, 10478, 49153, 55661, 8604, -46524, -41696, -28472, 45473, 48262, -7370, -57997, -26567, 6276, -17652, 22532, -39387, 14610, -26889, -32159, -28121, -19369, -41714, -3894, 24353, -26676, -3347, -19371, 2624, -24530, 23313, -34680, -13159, -12532, 1587, 22230, 43511, -16635, 12480, -26010, -60699, 30034, -10814, 5948, 85705, -35400, 21499, -11346, -122178, 11817, -22082, 8829, 43157, -63269, -15918, -66687, 40161, -37667, 27758, 20208, 9614, -32567, 6505, 8662, 4355, -51486, -36803, 36776, 21153, -32263, 14864, -70177, 4570, -46350, -18712, -8241, -10982, -19541, -11306, 3261, -3305, 29862, 283, 76477, 4610, 23300, 32233, -35514, -21669, 9734, 9460, 625, -18345, -36381, -39064, -9645, 69398, 17995, -33001, 27862, -9103, -36507, -46669, 14363, -48792, -1954, 31987, -17986, 12037, 1513, -8470, -16836, -4792, -50999, 68004, 36882, -14532, 8048, 3567, 39690, 78718, -22193, -30703, -45552, -5963, 22659, 27742, 7170, -42496, -28496, -22091, -37932, -19342, -46372, 8606, -7512, -5476, 36569, -35825, -11385, -52937, -37045, -19907, -64924, -43889, -7835, 18056, -28267, -8751, 46718, -509, -9988, 4481, 6814, -10077, -12028, -2780, 16859, -5555, -16163, -21377, -8081, 10808, -33472, 39590, -14129, 35692, 20103, -12324, -57534, 2532, 2695, -14251, -47644, 69109, -20617, -24719, -29089, -52189, 11208, 5051, -7950, -29763, -37930, 1458, -15879, -225, 9610} +#define CONV23_WT {0} +#define CONV23_W_Z (137) +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +#define CONV23_M_ZERO (1431657856) +#define CONV23_N_ZERO (1) + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-802, 174355, 177199, 73684, 95953, -37520, -432, 208351, 67159, 141534, 137478, -297, 118178, 183225, 81401, 139314, -272, 163200, 73474, 118991, 176307, 38187, -22850, 196089, 12009, 74974, -935, 199781, 74782, 127534, -489, -491, 189562, 178152, -837, 79486, 151300, 147223, 135360, -278, 104486, -4064, 156683, 1378, -294, -345, 74120, 65826, 38441, 1, 94060, -279, 91283, 82997, 119855, 188838, -1527, 419, 87, -731, -217, -1803, 150720, -906, 185480, 894, 63653, 57221, -707, 157940, 84297, 79867, 103202, -542, -770, 155547, 22288, 139047, -9162, -2629, 170713, 16920, 158072, -605, -1744, 65966, 97650, 13463, -516, -1109, -92, -1652, 5751, 145220, -1027, 118354, 182919, -748, -635, 142228, 791, 11953, 33, 116316, -39907, -429, 123347, -616, 140504, 116245, 57690, 95809, 51880, -524, -456, 175502, -289, 23609, 8473, 79739, -61383, -657, 145149, -2, 105210, -652, 168043, 147705, 32623, 157921, -385, -1164, 162023, 1048, 132841, 73050, 22184, -540, -527, 7020, -163, -5634, -1013, 559, 394, -403, 100773, -304, 7702, 153925, 546, 68151, -154, -65219, 177387, -572, 147080, 159525, 96799, 138422, -697, -2270, 89342, -1244, 83064, 106197, 164471, 80750, -865, -652, -814, 204100, -772, -11245, 140886, 96121, 580, 91815, 32414, -197, -8, 62, 81724, 135707, -6299, -500, 182106, 102144, 77463, 89682, 4316, 181791, -337, -374, -11347, 155732, -400, -113, 74, -620, 118, -4605, -9459, -36, 94717, 186608, -563, -901, 1362, -396, 14950, -320, -1979, 111491, 30729, -540, 143125, 59013, -314, 110, -120, -10423, -655, 121549, -20933, 273, 1471, -442, -109, -128, 103611, 163228, 169670, 16515, 99066, 130203, -14943, -312, 68386, -570, -31, 196519, 86436, 172539, -85, 297, -150, 166546, 2836, -1226, -1297, 4261, 22839, 1772, -727, 160558} +#define CONV24_WT {0} +#define CONV24_W_Z (137) +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +#define CONV24_M_ZERO (1431657856) +#define CONV24_N_ZERO (1) + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-8000, 12084, -4249, -20426, -22269, 17717, -59265, -8109, -17306, 32897, 12358, -12969, 44481, -15048, -5173, 12291, 52409, 34614, 18109, 111, 30501, -14017, -33876, -622, 10866, -36346, 1711, -11800, -9727, 13272, 19306, -6684, 17432, 26285, -63587, -4026, 24030, -44835, -28658, -74132, -7010, 5498, -1113, 26165, 2723, 14517, -27401, -17603, -33565, -11220, 17412, 7455, 81041, 33791, 21392, 6114, 3745, -24394, -23520, -6374, 8287, -7793, -35023, 17087, -33709, -8953, 1962, -55799, -1426, -20372, -16131, -14448, -9576, 14853, 6500, 20404, -10267, -16827, 4861, -9215, -28782, -32055, -64315, -33865, 12523, 21435, -26482, 7638, -22185, -12196, 7976, -33799, -23750, 44098, 2394, 18689, -8547, -1847, -42768, -14142, 12887, -38881, 42332, -21912, -31055, 8878, 15041, 11141, 46058, 9303, 9826, -233, -22616, 19418, -42824, -28428, -8411, -26305, -4525, -45481, 18676, 26416, -51438, -7900, 12492, -62825, -28088, 45656, 173, -5734, 42144, 26997, -673, 6565, -17126, -47080, -8878, -17296, 27263, -27352, -11504, -49594, -13239, -52573, 44926, -76956, 2701, 51881, -11093, 14243, 82328, 3566, 7140, 43840, 4484, -52434, -48413, 32050, -25092, -42418, -6139, 17233, -1712, 43289, 29627, -56293, 27031, -30303, 21803, -38, 49596, -25899, 16409, 40040, 9765, -32642, -28911, 9433, -3472, -10497, -40928, 68430, -16715, -10944, 39185, -21478, -33583, 44446, -24712, -26805, -6484, -28809, 35170, 65969, -29124, -18235, 34294, 7175, 25731, -14542, -1540, -16970, -2645, -44570, 51446, 20390, -8279, 12940, -37446, 14502, 35503, 59070, -25394, -36537, -40481, -17564, -54290, 25810, 8239, 7349, 22296, 21225, -1796, 12331, -49147, 74704, -25010, -6977, -232, -11857, 26682, -21019, -55310, -9488, -11422, 67957, -76911, -40294, -51117, -25870, -9018, 4024, -13981, -18542, 3998, 61914, -28924, 36058, -15486, 3295, 1440, 32074, 3941, -3328, -19696, 32867, 45906, -20900, 11712, -52358, -27998, -42365, -33627, 7412, -27055, 2242, -15871, -1457, -6465, 23095, -26541, -79126, -25869, -42428, -60320, -50856, 37967, 33108, -2636, 28467, -34918, 47358, -36540, -67367, 13693, 50814, -14118, -34873, 15896, 33227, 12738, -14121, 23456, 12815, -63683, -43104, -53185, 4471, 8327, -5896, 50788, -49350, -4400, -35048, 10828, 33788, -5635, -9827, -17228, 17318, -7241, -24114, -39328, 9925, 20690, 31628, 1728, -33658, -40055, 60739, -25636, 34726, 38946, -32567, -40977, -32612, 4451, -83184, 7419, 12163, 8114, -20629, -264, 5648, -12282, -8110, -3346, -38224, -21115, 3654, 41908, -29276, 10759, -6333, 62903, 16902, 3612, 7702, -64261, 58613, -28818, 16250, 16154, 28875, -25974, 76103, -39441, 665, -7477, -71210, -2798, 73767, 35332, 6255, -68986, -11653, 19092, -23651, 67294, -12536, 50010, 18311, 26177, -19732, 10058, -1518, 1030, 46537, -56198, -54383, 4025, 48826, -12824, 15095, -33637, 43525, -47055, -59608, 24921, -16414, 18375, 26017, 5313, -21831, -29213, 891, 5443, 53538, 32203, -50427, 38496, -26895, 24883, -47052, -13916, -26006, -11915, -2741, -7116, -62419, 36609, 21021, -20772, -58206, -28185, -4337, -21270, -1707, -52814, -26063, 28708, 8193, 2683, -20416, -11358, -13337, 3809, -31680, 16565, 7079, -24469, 50940, -1067, 41351, -58609, 24402, 22877, 23309, -37185, 18898, 7377, -25429, -9847, 3244, 25056, 47450, -45938, 29195, -19391, 54767, 10641, -32400, 37501, 24411, -27570, 30580, 7660, 47646, 63675, 9229, -1595, 4249, 15602, -11910, -17217, -81108, 11787, -37640, 37697, 41983, 19406, 5662, 36599, 11909, 39261, -19104, 17462, 17259, -26359, -6044, 61849, -13460, 7794, -14319, -31893, 13052, -6458, 5775, 23623, -4997, 56076, 35001, -14901, 20538, 40640, 15803, 20539, 37774, -6717, 40625, 66556, -9048, -23403, -8270, -27966, 3445, -13342, -15469, -18392, -62350, -31917, -76994} +#define CONV25_WT {0} +#define CONV25_W_Z (137) +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +#define CONV25_M_ZERO (1431657856) +#define CONV25_N_ZERO (1) + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-19, -49296, 70026, -131, -7973, 28248, -1514, -5956, 81054, -4673, 47881, -4058, 140894, 1510, 71408, -1399, 206038, 5594, -1819, -752, -10685, 98199, -2334, -1675, 119863, -1697, 133377, -1486, -548, 71423, -63, -1881, -339, -3213, -6815, -15208, 106932, -855, -1150, -2375, -58137, 123396, 65535, -1529, -295, 86734, -29, 106978, 255, -2427, -1814, 150145, -2753, -8886, 175890, 29810, -1525, -1102, -8779, -17, 149243, -1282, -937, 140816, -1363, 692, -1776, -15747, 92943, -17, 4051, 67453, 47074, 113969, -9109, -1320, -1467, 2096, 94825, 463, -1057, -1539, -29, 284806, 77322, 156488, 75943, 1259, 118838, -1353, -4445, -885, -1189, -864, -5251, -709, 90251, -336, 714, 61461, 134994, -1141, 66392, -790, -1778, -2054, 73228, 119482, -753, 196154, -1915, 94579, -911, 212408, 112755, -10204, -1690, -3526, 80861, -2083, -17518, 83487, -1185, -49423, -6377, -1696, -200, 41402, 154314, -3791, 75746, 76082, -689, -1012, 141894, -145, 134069, 120268, 67777, -9417, -1818, -891, 115483, 921, -42296, -1125, -5870, 86296, 82810, 72700, 254582, -915, -530, 302278, -1991, -329, 138107, -1522, 100909, 460, -11, -24, -1206, 415, 114006, -78, 21700, 285, 98282, 239, -1291, -41309, 157929, 163481, -19805, 358990, -368, -456, 622, 68713, 230325, 139567, 117037, -1174, 1582, -5909, -726, 40037, -1723, -145, 89689, 66659, -2153, 16128, -1976, 85459, 149914, 113538, -3820, 49873, -899, -568, -253, 147389, 335508, -6082, 123105, 114222, 221, 88954, -1533, 99883, -88, 112457, -1182, 133560, -2011, 72674, 121812, 142347, -1878, -3034, 57996, 96530, -72723, 123634, -1823, 479, 156407, -1368, 443, -3309, -556, -248, 130724, 88757, 678, -2235, -846, -1434, 149528, 86295, -391, -1855, -70, 246161, 114015, 407168, 46823, 623, 111186, -325, 78723, 8, 279263, -16996, -2000, 1615, 44536, -2499, 5285, -7745, -996, -20339, -128, 40714, 194596, -33, -22115, -1870, -544, 212159, 513, -1551, -1433, -2410, -336, 67375, -429, 62482, -161, 50993, -2337, -1454, 253956, 124400, 122800, 78664, 90956, -3929, -3369, -35117, 58607, -3301, -3454, -2257, -1138, 63529, 217535, 76, 41023, 915, -1775, -456, 88469, 52958, -4071, -1810, 56286, -1090, 39933, -3194, -3874, -2450, 149668, -1788, -10296, -1077, -1971, -64, -1738, 153183, 64888, 44910, 385, 51513, 49300, -1516, -1282, -62, 70673, -711, 28232, 297612, 2091, 181025, -1354, -1262, -1012, -353, 45650, -2984, 236398, -82, -1923, 101714, 73252, 2626, -1079, -3479, 443942, 138848, -2623, -2967, 94362, 256652, 294473, 607, -1037, -1485, -129, 132299, 249105, 54782, -6265, -8, 130724, -1605, 147578, -2696, 220156, 179975, 119915, 188873, -1101, 25462, -1198, -11036, -35, -1345, -1975, 129422, 76149, -3831, -1924, -2763, -14991, -2579, 282818, -3318, 258876, 87541, 304093, -2656, 119324, -11091, 32056, 63756, 155864, -1550, -27058, 233816, 127411, -1290, 2747, -2541, 53341, 134510, 150152, -1665, -10852, -792, 57565, -1146, 121717, -7721, -1357, -11322, -8854, -7503, -1349, -32159, -353, -1169, 116, 35971, -16588, -17054, -4706, 194931, -1474, -2509, -1485, -32, -474, 41092, 291370, -25980, -1755, 99221, 168376, -11429, -4, -1237, 103541, 167622, 135754, 78253, -1125, 123214, -45, 45701, 75938, 165342, 163, 50124, 128492, 62069, 49838, -517, 274414, 215663, 95234, -9492, -6615, -26141, -2468, -1849, -3336, 95995, 87452, -594, 1419, 94103, -1005, 116119, 97767, 110730, -6636, 207838, -1643, 125914, -397, 96677, 143533, 110490, -2952, 209414, 3305, 79887, 6, 77449, -1889, -47, -8223, 150290, -2211, 498467, -7317, 16, 146710, -93, -2746, -14163, 51763, 76866, -5702, 85494, 49010, -13078, -3261, -10100} +#define CONV26_WT {0} +#define CONV26_W_Z (137) +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +#define CONV26_M_ZERO (1431657856) +#define CONV26_N_ZERO (1) + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {-9610, -31628, -9216, 30172, -5230, -5590, 3571, -44277, 43722, -1262, 4709, -16215, -24228, -39739, -31949, -7380, -21435, 20425, 8308, 5191, -36801, 10214, -25914, -905, -25847, -48831, -16902, -20332, -48901, -17399, -65148, -17561, 13233, -3467, -28930, -17530, -27311, -26266, -44133, -15605, -38311, -42587, -32614, -18055, -13364, -5068, -9722, -38215, -3876, -14156, -47908, -55490, -17086, 14250, 17518, 13163, 4630, 20219, -492, 12124, 5220, -11121, 7458, -4937, -11921, -1984, 146, -33442, -35346, -51672, -7149, -16101, -47195, -45351, -22698, -66061, -3682, -54617, -35259, -39340, -38809, -18420, -39296, -25532, -23502, 478, -24290, -7006, 25277, 11581, -51335, -31167, 2229, -24126, -9900, 34467, -21154, -18872, -9976, 4793, -12596, -4782, 580, -5290, 1000, 9765, -7172, -5432, 757, -30026, 16608, -13131, -19740, -15032, 4618, -13043, -26295, -487, 48804, -2944, -2354, -10537, -14045, -95482, 8125, 37972, -36522, 1914, 2419, 2672, -16948, 11015, -3032, -58884, -51160, -25111, 6233, -4542, -4519, -45410, 34275, -12400, 8492, 17522, -4615, -19002, -12260, -25279, 3595, 39992, -5877, -6234, 3303, 22217, -24707, -19616, -30124, 19676, -10487, -23239, -36837, -35282, 3030, -9789, -12243, -39262, 6937, -11203, -48607, -3297, -6577, 24308, -25339, 33094, -38485, -17806, -31711, -12222, -5068, -36872, -7165, 19982, -5550, -18834, -25234, 22364, -18138, -28373, -38073, -26600, -45325, 16421, -85611, -41519, -19879, -30089, -28805, -8142, 15299, -4310, 4565, 29099, 10442, -2169, -37759, -13297, -1703, -31588, 4106, -41757, -9554, -3584, -89782, 16989, -7903, -19167, 3424, 691, -26038, -18718, 263, -31825, 46142, 7237, 6308, -21397, -10306, 7826, -30524, -20212, -19521, 43101, -25589, -45035, -15285, -16745, -24762, -27076, -4293, 30036, -3399, 6273, -2280, -11795, -10556, 2958, -12678, -13033, 18366, -19456, 8696, -28957, -21298, -49834, -8883, -13518, -29152, -23890, 2813, -6412, 8830, -32816, 5298, 35112, -5232, -44606, -5177, 6872, -20117, -54148, 917, -25807, -8716, -19362, 19346, -7569, -19371, -8462, -15178, -21419, 1518, 4827, -4840, -4249, 22295, -34124, -67899, -9690, -35852, -35507, -57294, 24686, 3909, -8300, 93, -8305, 354, -5931, -45278, -7527, 16062, 8431, -11264, -44115, -14100, -19952, -8334, -18306, 44080, -20404, -20982, -29279, -11988, -58019, 14016, -6440, 35195, -167, 359, 49825, 4656, -4253, -11425, 21483, 24595, -34345, 3885, 5777, 1502, -29323, -10677, -13168, -24350, 22878, -12595, -19790, -29831, -26089, -7524, 2077, -16435, -8901, 1451, -21656, 9142, 15914, -13256, -45819, -36891, 22316, -12766, 4970, 25110, -18230, 24333, -4101, -2150, -27569, -28956, -3311, 11282, -14585, -9043, 43810, 45240, 28720, -26931, -45041, -6975, -23043, -2984, -21883, -2630, 14381, 14651, -4727, 4788, 22272, 21429, -32000, -22437, 11856, -69555, 3192, -9977, -35528, 3891, 25041, -13261, -19424, -29358, -24728, -10634, 3004, 13416, -59088, 13295, -15886, 1879, 44537, -19870, -2577, -17135, -14911, 9091, -11242, -14329, -6472, -47270, 33477, 2489, 43200, -8927, -6497, -49826, -21667, -49096, -35871, 16430, -3091, -48063, 7886, -8204, -17659, -970, -25595, -24419, -2008, 19994, -5693, -16103, 2657, -25814, -30300, -63179, -15878, -18640, 529, -17861, 7516, -13394, -44897, 2355, -29151, 15647, -31911, 58897, 6155, -33083, -31648, -39906, -5756, -48750, -19048, -1729, -50547, -16899, 130, -13564, -15769, -3163, -26769, 6523, -14617, -23504, -26299, -57958, -1743, -12221, -24450, 25939, -19308, -19093, 4978, -26149, -34156, 6483, -19692, 1420, -12415, 8639, 31839, 13294, 1218, -18515, -22634, -20748, 10765, -16996, 6669, -9009, 7474, -15384, -1268, -37426, -47095, 40461, -47201, 30073, -20849, -50385, -5587, -15325, 34029, -48966, -6252, -22860, -45078, -16805, 21014, -14913, -31580} +#define CONV27_WT {0} +#define CONV27_W_Z (137) +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +#define CONV27_M_ZERO (1431657856) +#define CONV27_N_ZERO (1) + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-4137, 3524, -7378, -7691, 5188, -1573, 2565, 993, 1392, -3286, -7906, -5041, -2222, -1482, -1596, -4142, -3418, -1253, -2157, -3429, -269, 6383, 1257, 1253, 1915, -2015, -826, -3075, -655, -517, 1395, -40, 1781, -3675, -1280, -6532, 839, -1433, 126, 2159, -2434, 643, 1166, -3854, 5581, 2759, -876, -186, -6836, -96, 1435, -2657, 1684, 5301, 2993, -533, 812, -958, 2932, 1409, -2188, 5228, -527, 6467, 6075, 1140, -4756, -1180, 1931, 2096, -3402, 1122, 1828, 3267, -3213, 8138, 1190, 3732, 4965, 6471, -9629, -2745, 1135, -16808, -5426, 232, -4699, 2602, 3611, 3017, -3284, -3409, 1175, -3027, -1940, -5670, 301, -6538, -10677, -7997, -3509, -3762, -218, 7074, -1393, 346, 4041, -270, -7083, -11812, -6859, 12592, 7511, -803, 968, -11951, -6588, -2555, -156, -1670, -2619, -2753, -3176, -6945, -3001, -5629, -4079, -10207, -3514, -1053, -4485, -5871, -2492, -741, -11301, -6839, -6994, -6907, -7825, -8495, -9962, -4104, -5850, -6656, -7008, -3798, -1473, -6694, -3156, -2503, -201, 5886, -9288, 4862, -2075, 2134, 164, -6884, -5770, -592, -1830, 8938, 7952, 2054, 1700, -3799, -2149, -7708, 1376, 518, 2220, 8477, 370, 165, 7085, -5152, -3026, -1410, 6367, 568, -291, 127, 1818, -1240, 3403, 5199, 60, -874, -629, -144, -1747, 4501, 755, -3060, -2357, 12303, 1403, 87, -3115, 5361, -6961, -3454, 5101, 6006, 5254, -854, -2441, -2534, -3625, 5216, -901, 2922, 1009, 1033, -478, -1336, 1150, 6980, 1957, 1676, -2360, -7411, -1761, 10548, -3066, 3995, 8, -1014, -5236, 7377, -346, -5012, -4171, 1031, 635, -411, 1946, 6265, 2121, 6073, -2428, -5126, 2775, -2941, -1034, 5316, 379, 5648, 909, -1196, 870, 3075, -311, -2873, 9272, -4837, 1131, 1497, -1403, -1466, 1547, -1524, -2300, 3599, 866, 4910, 4688, -1457, -4108, -221, 7471, -1776, -541, -1641, -5890, -6368, -1413, -522, -4773, 2548, -969, 8613, -4599, -1460, 8629, 3763, 1289, 1250, -1765, 74, -2326, -7513, -3474, -6893, -394, 1518, -3134, 1151, 1260, 761, -3883, -4421, -4808, -524, -7091, 1765, 2537, -5322, -3635, -6959, 1115, -1427, 71, 8270, 7401, 4446, -320, -5288, 723, -6775, -9169, -8534, -9889, -8851, -6277, -10885, -8205, -1744, -4923, -6345, -2436, -4529, 5755, 2512, 256, 238, 2023, -4922, -5750, 737, -912, -3068, -3741, -5161, -3277, -11, 1519, -3580, -966, -2141, -822, -6586, -3963, -2630, 5150, -2732, 4201, 1192, 1016, 7805, -2365, 4033, 2349, -486, -99, 2225, 3171, 7235, -1964, 4129, -813, -4924, -198, 1962, -665, -22, 1983, -601, 3131, 4791, -1015, 4596, 2525, 2849, -9161, 1067, -1356, -3606, -4715, -1936, -3318, 3003, -9116, -8478, -5779, -205, -10738, -2648, -2405, 6813, -244, 4351, -1462, -2419, -12467, 1486, -2500, -4364, -5147, -3478, -2339, -91, 4133, 6816, 1698, 653, 8313, -3760, 6012, 3391, -2975, 3671, 3098, 8067, 7819, -2431, -5410, -5834, 2043, 2300, 137, -3579, -666, 1138, 1638, -1494, 1088, 76, -1836, 1134, 2073, -1107, 3986, -807, 3600, 6430, 1714, -1156, 4801, 1590, 5340, 2413, 1157, -1343, -102, -1245, 4409, 4192, -936, 3434, -3305, 5603, 3090, 2253, 7324, 2477, -3185, -1722, 7077, 3089, 2598, 1737, -2472, 2020, -1930, 4927, -4480, 476, 2595, -2198, 4428, 1346, -1469, -6934, -5250, 1100, -587, 3673, 1623, 1841, -6984, 3764, 5611, -2584, 556, -4083, 989, -9653, 3905, 7011, -751, 3904, 1321, -522, 184, 3622, -1071, -784, -692, -4951, -4413, 410, -2923, 1398, 720, 4999, 546, -4710, -711, 3829, -5669, 1124, -240, 7914, -1265, 473, 1793, -1303, -6930, 7241, 6229, -4055, 1870, 5302, 565, 462, -4550, 4532, -1747, 7454, -8812, -4886, 3286, 4722, -722, 6418, -811, -12245, -6649, 9061, -1927, 4477, 2137, -3462, -3658, -4409, -70, 2121, 1467, 574, -3767, -540, -904, 8538, -8478, -1169, -2695, 3789, 5497, 797, 54, -1889, 386, 2269, 4944, 1681, 2136, 4034, 1404, 3636, -3174, -4336, -202, 2707, 7254, 670, -3931, 5015, -596, 5876, -4754, 85, 2257, 8759, 3462, -9573, 3423, 6136, -4627, 2511, 8956, 5090, 5281, 3861, -2701, -529, 4144, 863, 7310, -334, 1667, -4060, -1246, -3760, -291, -474, 2016, 720, 2724, -2215, 3216, 2284, 4413, 11514, -3075, -554, 4802, 2753, -3396, 4341, 7562, 447, 6187, 3875, 5601, -4537, 3066, 1731, 1240, -4884, -7241, -2978, 2930, 650, 7639, -4628, 3655, -5500, -441, 902, 10308, 1248, 986, 516, 2235, 6993, 1734, 1700, 3133, 1394, 897, -2717, 2280, -1964, 3105, 3719, 4101, -1152, -7290, -1921, 1951, 7260, 1296, 3511, 5499, -49, -2958, 2928, 5659, 1403, 2049, 993, 1166, 5757, 4742, -1193, 5497, -5339, -8720, -2152, -3902, 183, 6845, -9059, 1409, 7587, 3810, -2596, 1360, -1918, 7799, -5125, 429, 5550, 5091, -8143, 1419, 3048, -4941, -6008, -2448, 5017, 1069, 2448, 3443, 404, 7949, -3744, 5598, 5655, 3198, -2563, 5592, -2653, -4765, -1935, 7146, -1535, -49, -262, -6012, 4800, 4626, 628, -5755, 470, 499, 2425, -1535, 2702, -1041, 3270, -1811, 6037, -2305, 3472, 3291, 4387, -313, 6995, 5729, -743, 4102, 1461, -2920, -5815, 1551, -3797, -1082, -2530, 7733, 3319, -67, 2196, 7424, 3116, -3471, 2975, -1632, 5388, 3773, -3320, -37, -483, 5211, -136, 5712, 11332, -3752, -3958, -4726, -6626, 411, 22, 1917, 4206, 2640, -2532, 2524, -1652, -4682, 4751, 7825, -1853, 1421, 1402, 2817, 4646, -3264, 5410, -1905, -3617, -2971, -2502, 1978, 3502, -5689, -753, 2165, -5064, -7578, -1551, -280, 1855, -2123, -3593, 1435, -2078, -385, 2804, -1595, 1013, -147, 5873, 5694, 303, -3746, -4321, 4052, -3194, 1056, 3148, -655, -1229, 8495, -8328, 8900, 9309, 6280, 2226, 838, 3768, 4119, 6059, 4892, 9726, -1647, 659, 4128, 1078, 3653, 468, -261, 1370, -2839, 4303, -8303, -4536, 6451, 6034, -4243, 4219, -1559, 193, -4347, 518, -3855, -3755, 4493, -4633, 2031, -6092, 4595, -3069, -10640, 1493, 1949, -209, -7885, 6799, 9970, 160, 2790, 282, -590, 17257, -757, -6397, 1566, -1174, 1610, -2, 2643, 4992, -2801, -1985, 1358, 1735, 3483, -4071, -3181, -1342, 312, 3830, 6116, 7827, 3891, 1430, -4636, 2455, 28, 8068, -4011, -1237, -1777, -4532, -1267, 151, -1050, 8855, 1325, -1695, 2617, -458, -6577, -4523, -9275, 263, 1413, 7535, -1868, -1663, -204, -4910, -1050, -2096, 2122, -2141, -600, -5067, -3606, -394, 1393, -2612, -4967, 609, -6139, -5352, -3990, -1233, -708, -2753, -1450, -2445, 4037, -910, -1276, -1606, -1231, -8305, 1563, 1386, -2235, -3365, -3741, 1939, 4929, 3339, -754, -1406, -2826, 8848, 3075, -8054, 2436, 6944, 2905, 8543, 6641, -2910, 4073, 1271, 4461, -7076, -121, 710, -7418, 324, -3475, -3382, -1179, -5693, -4690, -14285, -2962, -6347, -3945, -6668, 1343, 4492} +#define FC28_W_Z (169) +#define FC28_IN_Z (0) + + +#endif /*__192_0_5_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/224_0_25_parameters.h b/Inc/intq-mobilenet-v1-models/224_0_25_parameters.h new file mode 100644 index 0000000..7e16251 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/224_0_25_parameters.h @@ -0,0 +1,361 @@ +#ifndef __224_0_25_PARAMETERS_H__ +#define __224_0_25_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (224) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (8) +#define CONV1_OUT_DIM (112) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (112) +#define CONV2_IM_CH (8) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (8) +#define CONV2_OUT_DIM (112) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (112) +#define CONV3_IM_CH (8) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (16) +#define CONV3_OUT_DIM (112) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (112) +#define CONV4_IM_CH (16) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (16) +#define CONV4_OUT_DIM (56) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (56) +#define CONV5_IM_CH (16) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (32) +#define CONV5_OUT_DIM (56) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (56) +#define CONV6_IM_CH (32) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (32) +#define CONV6_OUT_DIM (56) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (56) +#define CONV7_IM_CH (32) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (32) +#define CONV7_OUT_DIM (56) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (56) +#define CONV8_IM_CH (32) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (32) +#define CONV8_OUT_DIM (28) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (28) +#define CONV9_IM_CH (32) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (64) +#define CONV9_OUT_DIM (28) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (28) +#define CONV10_IM_CH (64) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (64) +#define CONV10_OUT_DIM (28) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (28) +#define CONV11_IM_CH (64) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (64) +#define CONV11_OUT_DIM (28) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (28) +#define CONV12_IM_CH (64) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (64) +#define CONV12_OUT_DIM (14) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (14) +#define CONV13_IM_CH (64) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (128) +#define CONV13_OUT_DIM (14) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (14) +#define CONV14_IM_CH (128) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (128) +#define CONV14_OUT_DIM (14) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (14) +#define CONV15_IM_CH (128) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (128) +#define CONV15_OUT_DIM (14) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (14) +#define CONV16_IM_CH (128) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (128) +#define CONV16_OUT_DIM (14) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (14) +#define CONV17_IM_CH (128) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (128) +#define CONV17_OUT_DIM (14) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (14) +#define CONV18_IM_CH (128) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (128) +#define CONV18_OUT_DIM (14) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (14) +#define CONV19_IM_CH (128) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (128) +#define CONV19_OUT_DIM (14) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (14) +#define CONV20_IM_CH (128) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (128) +#define CONV20_OUT_DIM (14) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (14) +#define CONV21_IM_CH (128) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (128) +#define CONV21_OUT_DIM (14) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (14) +#define CONV22_IM_CH (128) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (128) +#define CONV22_OUT_DIM (14) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (14) +#define CONV23_IM_CH (128) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (128) +#define CONV23_OUT_DIM (14) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (14) +#define CONV24_IM_CH (128) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (128) +#define CONV24_OUT_DIM (7) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (7) +#define CONV25_IM_CH (128) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (256) +#define CONV25_OUT_DIM (7) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (7) +#define CONV26_IM_CH (256) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (256) +#define CONV26_OUT_DIM (7) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (7) +#define CONV27_IM_CH (256) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (256) +#define CONV27_OUT_DIM (7) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (256) +#define FC28_OUT_CH (1000) + + +#endif /*__224_0_25_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/224_0_25_weights_bias.h b/Inc/intq-mobilenet-v1-models/224_0_25_weights_bias.h new file mode 100644 index 0000000..50a8d1f --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/224_0_25_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __224_0_25_WEIGHTS_BIAS_H__ +#define __224_0_25_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {299655, -5046576, -23347234, 193014, -35144, 127878, 44315, 176109} +#define CONV1_WT {0} +static const uint8_t CONV1_W_Z[] = {-231, -18, 164, -43, -161, -142, -123, -95}; +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1143949184, 1752123776, 1119525888, 1391820416, 2046593920, 1418715008, 1185122816, 1392325888}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {8042, -1661, -142, 29265, -436, -7098, 55017, 77465} +#define CONV2_WT {0} +static const uint8_t CONV2_W_Z[] = {-125, -205, -362, -50, -77, -124, -131, -225}; +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1757661696, 1842590848, 1424388224, 1233926272, 1567418368, 1193874560, 1292598272, 1877394816}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {-10412, -27406, -6717, -7144, -33332, 69684, 5723, -18602, -27830, -3446, -548936, 7517, 49093, 35113, -272156, 33732} +#define CONV3_WT {0} +static const uint8_t CONV3_W_Z[] = {-13, -13, -53, -36, -100, -224, -14, -10, -1, -35, -123, -63, -215, -250, -98, -224}; +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {2033571072, 1758109824, 1149803136, 1086137856, 2005878016, 1256135808, 1102779776, 1363781760, 1703237248, 1419277952, 2093468544, 1531573376, 1462561152, 1279766784, 1998994432, 1724518656}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {248, 1741, 6744, 5828, 85699, 43917, 4053, 24722, 45254, -20, -168, 8548, 3823, 32240, 1266, 7509} +#define CONV4_WT {0} +static const uint8_t CONV4_W_Z[] = {-117, -11, -85, -129, -161, -138, -123, -129, -238, -102, -223, -146, -128, -107, -55, -157}; +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +static const int32_t CONV4_M_ZERO[] = {2010935936, 1192092416, 1367571200, 1387078528, 1263241856, 1288326784, 1581805568, 1303257216, 1399240960, 1241703680, 1244526464, 1156349952, 1701807872, 1129125632, -1697136640, 1913332864}; +static const int8_t CONV4_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {15016, 11662, 3847, 43373, 44045, 29955, 26047, 14307, 40102, -32459, 3371, 55422, 2441, 2257, -4118, -3784, 5906, 84661, -35572, 7945, 1852, 18868, -3312, 45750, -24986, 2625, 8983, 29364, -13007, 22793, 13205, -35511} +#define CONV5_WT {0} +static const uint8_t CONV5_W_Z[] = {-147, -84, -129, -203, -243, -155, -207, -111, -220, -51, -111, -116, -211, -180, -82, -47, -96, -23, -22, -58, -209, -141, -157, -197, -15, -28, -198, -9, -28, -61, -99, -121}; +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1777140864, 2015979520, 1173851904, 1156940160, 1440414720, 2005080064, 1807794432, 2125486720, 2073312512, 1708916864, 1502489600, 1540015488, 1948969856, 1144259968, 2012631552, 1840355712, 1404233472, 1286141824, 1297714304, 2102315136, 1299025664, 1931656704, 1513754496, 1102522496, 1188381440, 1336590592, 1147872000, 1228535296, 1482100864, 1432069888, 2046227456, 1119202176}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {26581, 15416, 16156, 9088, 28772, 64, 22, 152, -733, 44881, 19099, -125, 38735, 20164, 14328, 9724, -153, -35569, 41795, 28465, -195, 34510, -524, 167, 1771, 7407, -15812, 31131, 12969, 189, -7069, 448} +#define CONV6_WT {0} +static const uint8_t CONV6_W_Z[] = {-116, -64, -231, -80, -234, -126, -78, -110, -129, -45, -204, -138, -162, -67, -125, -54, -101, -37, -164, -224, -142, -111, -80, -144, -34, -72, -63, -241, -268, -130, -16, -30}; +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1099164544, 2032498816, 1621917184, 1311629696, 1404506112, 1466304512, 1122661888, 1123646080, 1971076992, 1092037632, 2020129664, 1491115008, 1615192320, 1258489728, 1150786304, 1451336704, 1804812672, 2093329408, 1923985408, 1096719488, 1191738880, 1246702976, 1400618112, 1910939520, 1285707008, 1798067200, 2119996416, 1584850688, 1408416640, 1524929920, 1356739328, 1675113728}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {7572, 13543, 4678, -14947, 10958, -1211, -660, -43915, -16873, 14026, -15233, 6023, 27960, 2022, 15809, 17835, 25571, -4118, 9839, 15382, 14638, -22476, 52303, 10725, 4276, 7575, -37623, -3489, 21440, 42535, 39735, 28819} +#define CONV7_WT {0} +static const uint8_t CONV7_W_Z[] = {-33, -117, -117, -146, -90, -39, -55, -55, -87, -30, -122, -99, -130, -141, -127, -145, -119, -33, -116, -47, -126, -71, -195, -171, -158, -136, -56, -163, -125, -204, -176, -101}; +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {1979885568, 2055407616, 1849216768, 1627733760, 2077414144, 1257098112, 1445287552, 1548247040, 1546541568, 1794214912, 1104377216, 1964204288, 1221396352, 2075283328, 1169269760, 1654027904, 2054408960, 1482901120, 1695833088, 1159099648, 1139537536, 1596393984, 1078391808, 1135630336, 1200874880, 1222111104, 1618624128, 1382008320, 1386884864, 1176859392, 1773431808, 2086520832}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {384695, 75210, 10144, 118566, 158963, 56, 55326, 127017, 1268, -55761, 2437, 166281, 177122, 30289, 157695, 154755, 278984, -2367, 15398, -14124, 2917, 5641, -134, 142, 50597, 234764, 5450, 140178, -35032, 267274, 238200, 143305} +#define CONV8_WT {0} +static const uint8_t CONV8_W_Z[] = {-332, -339, 77, -320, -307, -154, -284, -307, 73, -9, 73, -314, -317, 48, -283, -315, -310, -17, 97, -90, 27, 46, -135, 41, 48, -304, 8, -331, 58, -314, -289, -292}; +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +static const int32_t CONV8_M_ZERO[] = {1109000960, 2017166336, 1306472192, 2100458496, 1114107904, 1339863040, 1189939456, 1088211328, 1079506048, 1521351936, 2031051008, 1837726976, 1732140288, 1598124416, 1315898368, 1788601728, 2145451008, 1178695040, 1313164800, 2024264448, 2005768192, 1703990272, 1899459968, 1604087552, 1226355968, 1198601216, 1888695168, 1680956800, 1766814592, 1708978048, 1472821760, 1935824256}; +static const int8_t CONV8_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-39819, 56707, 31980, -6505, -3060, -19969, 46380, 12503, 75402, 11627, -1899, 37011, -21094, 50929, 16470, 18677, 42899, -27026, 17178, -30713, 77224, 17271, 83869, 23368, 30770, 1318, 1734, 16471, -50627, 31000, 77046, 13024, 11673, 124100, 28884, 14999, 45540, -309, 48010, -8789, 34746, 57408, 75778, 46862, 82233, 22696, 51764, 61638, 45432, 46687, -2513, -9546, 9145, 26876, 37381, 39792, 39344, 49881, -14020, 47245, -10631, 29344, 26465, 17125} +#define CONV9_WT {0} +static const uint8_t CONV9_W_Z[] = {-146, -206, -78, -93, -130, -120, -200, -113, -192, -69, -72, -73, -138, -173, -148, -148, -118, -113, -56, -76, -106, -122, -148, -56, -128, -29, -129, -152, -60, -138, -171, -111, -111, -173, -74, -126, -105, -71, -185, -121, -144, -74, -101, -130, -121, -84, -146, -177, -178, -137, -122, -134, -118, -80, -132, -186, -141, -100, -81, -135, -58, -105, -142, -52}; +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +static const int32_t CONV9_M_ZERO[] = {1968092416, 1827918848, 1726051712, 1183436672, 2031833984, 1721594752, 1091707776, 1406445824, 1674264960, 1804956800, 1470533120, 1625999616, 1099606912, 1082103936, 2068843776, 1706181504, 1247110144, 2134454400, 1524500992, 1359979776, 1113763200, 1461556480, 1896421504, 1649108736, 1553979648, 1293013504, 1590550016, 1813110144, 1661856256, 1442832256, 1143599232, 1627857536, 1994958592, 1897395840, 2000154752, 1404100224, 1357666816, 1814715776, 1436416512, 1121433856, 1550000896, 1226569600, 1887391104, 1223636096, 1219644160, 1088242816, 1764525440, 1741544832, 1296014592, 1798859520, 1658010752, 1580069376, 1521868672, 1909020672, 2023084288, 1190395776, 1147806592, 2078201216, 1338792576, 2040060672, 1931821184, 1865963904, 1403726720, 1298052608}; +static const int8_t CONV9_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {18930, 394, -27, -22334, -7163, 57384, 2525, 30750, 3582, 22616, 6531, 109, -54, 8240, 15460, 43620, 588, 9670, 1661, -137, -7713, -3602, 25584, -7380, 18142, 1281, -112, -199, 75145, -4366, -8380, 32309, 20305, 1580, 57789, 86024, 1131, 210, 7121, -405, 159068, 2255, 3750, 138, 77104, -22083, -2549, 204, 21553, 61786, -1558, 37592, 62761, 45652, 822, 19919, 447, 6314, 53452, 19631, -8315, -10940, 514, 16765} +#define CONV10_WT {0} +static const uint8_t CONV10_W_Z[] = {-65, -123, -123, -25, -52, -220, -145, -232, -55, -197, -47, -116, -55, -24, -62, -224, -151, -44, -134, -46, -19, -112, -206, -44, -113, -118, -114, -118, -257, -44, -47, -114, -224, -40, -210, -225, -149, -150, -57, -102, -260, -78, -193, -133, -232, -41, -114, -129, -65, -235, -53, -207, -222, -216, -129, -225, -120, -54, -229, -99, -26, -32, -139, -90}; +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +static const int32_t CONV10_M_ZERO[] = {1895761536, 1136486272, 1151573504, 1135302016, 1151441536, 1587841024, 1606904960, 1120976384, 1910974336, 1864881536, 1250762112, 2135903360, 1578153856, 1849197056, 2010052992, 1251968256, 1761556736, 1871713920, 1934802944, 2012998144, 1861398656, 1585651456, 1227487872, 1190405248, 1494950912, 1934911104, 1699198976, 1358934656, 1136359168, 1878608896, 1271940736, 1129922688, 1338358912, 1148945920, 1645546880, 1399692416, 1591428736, 1623821312, 1252625664, 2052328320, 1414799232, 1645771648, 1625376640, 1447519488, 1770771456, 1404935296, 2120951424, 1102126976, 1759639040, 1095898368, 1459848192, 1378945152, 1141234560, 1305756672, 1709084288, 1928218368, 1155943296, 1959713536, 1085206272, 1345687040, 1192873984, 1460832512, 1335288704, 1383442048}; +static const int8_t CONV10_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {2254, -38431, 30791, -12275, 48259, 43780, -10577, 10147, -31007, -25007, 47138, -86766, 16191, -61917, 57121, 35327, 9072, -10640, 16805, 52181, 118527, -52184, -23472, 21594, -47365, -45496, -19328, 54627, -52234, 40578, 14061, -53032, 22316, -11162, 21711, -43639, -5230, -4192, -41812, -12858, 45543, -1418, -55539, 26826, 23141, 18716, 22953, 44381, 20256, -42657, 29992, -41110, -26667, 7173, 45011, -27937, 7761, 3710, -10273, 44997, 19707, 9617, -43967, -34943} +#define CONV11_WT {0} +static const uint8_t CONV11_W_Z[] = {-128, -159, -128, -102, -185, -174, -111, -64, -61, -139, -163, -90, -161, -131, -66, -121, -112, -98, -119, -134, -153, -99, -64, -176, -71, -171, -80, -162, -126, -183, -120, -44, -127, -134, -125, -108, -190, -93, -146, -122, -212, -62, -157, -148, -164, -153, -164, -145, -173, -83, -69, -89, -103, -58, -124, -143, -79, -139, -186, -127, -181, -198, -86, -120}; +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +static const int32_t CONV11_M_ZERO[] = {1882459264, 1090390784, 1733983232, 1750452736, 1149384704, 1876804480, 1437323264, 1222872448, 1837734912, 1647509632, 1211757056, 1277288064, 1119101824, 2059966592, 1945745536, 1936325248, 1245742848, 1643347968, 1092704512, 1259001344, 1661524608, 1483813760, 1249750016, 1732153216, 1355899008, 2098018944, 1197599360, 1191783424, 1442326784, 1318175872, 2026752384, 1147923968, 1255800704, 1624592384, 1624340480, 1624114560, 1644727424, 1372482816, 1534727680, 2054301312, 1307953024, 2110480896, 1522415616, 1154420096, 1419322624, 1324652160, 1404826112, 1803454080, 1824080640, 1106845824, 1196766976, 1277092608, 1514736896, 1453308416, 1719601792, 1504398720, 1185833728, 1224608384, 1558958336, 1477406464, 1446032256, 1767986432, 1733014144, 1084282240}; +static const int8_t CONV11_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {66383, 97051, 137896, 8699, 17305, 146822, 98665, 231845, -3972, 7070, 408, -425, 632, 32890, 123044, 16369, 12157, -1115, 27550, 311229, -1453, 20271, -2478, -23832, 116, -2130, 7729, 405, 32645, -33213, 20029, 142649, 11554, -429, -26787, -1028, 38251, 134384, 20076, 158859, 3924, -5326, 18483, 4620, 149069, 10248, 1733, 350249, 129743, 10202, 161226, 520, 295479, 254428, 7022, 17117, 3344, -18951, 35950, -34229, 19930, -8506, 34589, 742} +#define CONV12_WT {0} +static const uint8_t CONV12_W_Z[] = {-294, -304, -316, 98, 76, -304, -304, -344, 40, 85, 71, 49, 52, -274, -311, 73, 44, -143, 109, -320, -152, 109, 69, 50, 65, -88, 51, -161, 102, 47, -94, -305, -138, 31, 40, 56, -305, -349, 38, -301, 35, -20, 78, 54, -301, 85, 75, -314, -319, 36, -318, -147, -305, -305, 44, 72, 65, 71, -315, 58, 63, 69, 65, 45}; +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +static const int32_t CONV12_M_ZERO[] = {1540209024, 2036894720, 1577517952, 1150145408, 1566872960, 1660813824, 1281342592, 1408371968, 1169266176, 1418800768, 1333969024, 1441400192, 1567811840, 1116232320, 1713338624, 1557727104, 1719139072, 2078826880, 1869998848, 1151782784, 1251726336, 1607321728, 1391897984, 1585516800, 1701373568, 1176735744, 2109431808, 1470368896, 1554954752, 1499174528, 1856343424, 1468778112, 1347724672, 1530389888, 1301011840, 1351125760, 1812460288, 1561025024, 1607961216, 2004593152, 1845475968, 1816844672, 1252970880, 1602498176, 1273213184, 1427278976, 1171267328, 1080690304, 1443685632, 1781952256, 1210460416, 1735512832, 1149308416, 1780810368, 1258974848, 1236308352, 2102865536, 2013691392, 1925095296, 1590352000, 1546526336, 1093405952, 1313819776, 1857286272}; +static const int8_t CONV12_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {33474, 13580, 18103, 37918, -19822, 11510, 16479, -25874, 18742, 23749, 20857, 36794, -27808, 9720, 25902, -64712, 12360, 94368, 40597, 7886, -2010, 61995, 116544, 7093, 35741, -4215, 18754, 39745, 8906, -18129, -5881, 48912, 59824, 8145, 313, 53496, -12339, 27389, 11235, 3457, -14328, 109340, 23022, 33004, 28923, 24544, 26672, 607, 38655, 59227, -18278, 14025, 42740, -34528, 29255, 10916, 26372, 63375, 13525, 108070, 37987, 7243, 55214, 62347, 36836, 27320, 15289, 7995, 50523, 44921, 28609, 8549, 98622, -29607, 13252, -2703, 55834, 53190, 82989, 38065, 21600, -3986, 3641, 2735, 12536, 3102, 28847, -4088, 24205, 3670, 25923, 60461, 13586, -18680, 69699, 3951, 8548, 4942, 17202, 2634, 18503, 67851, 92839, 29894, 36876, 5681, 29362, -58498, 15194, 4749, -4859, -5883, 4065, 3147, 15006, 13158, -1323, 69064, 16493, 29649, 38528, 11110, -21066, 27036, -11418, -13034, -40394, 878} +#define CONV13_WT {0} +static const uint8_t CONV13_W_Z[] = {-62, -151, -139, -121, -120, -121, -98, -105, -139, -136, -178, -189, -129, -72, -179, -59, -79, -195, -189, -133, -41, -173, -92, -32, -109, -101, -166, -109, -86, -113, -116, -70, -123, -94, -76, -143, -109, -113, -58, -92, -78, -155, -96, -111, -75, -122, -114, -110, -150, -87, -117, -123, -112, -64, -99, -127, -120, -136, -107, -185, -127, -94, -148, -126, -94, -127, -91, -96, -112, -124, -86, -123, -155, -56, -53, -136, -104, -95, -139, -166, -120, -64, -86, -151, -109, -131, -136, -133, -124, -113, -134, -124, -140, -78, -172, -99, -120, -101, -103, -80, -59, -123, -173, -94, -127, -126, -112, -79, -141, -60, -87, -83, -85, -131, -138, -133, -120, -205, -67, -90, -120, -138, -128, -125, -54, -134, -68, -120}; +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +static const int32_t CONV13_M_ZERO[] = {1164838912, 1486868224, 1293347840, 2069452672, 1265167104, 1435560064, 1761706752, 1961759360, 1092899456, 1319824000, 1568420608, 1496838272, 1566298112, 1783305856, 1939613440, 1491115136, 1247526400, 1442181376, 2004451712, 1858287104, 1597247744, 2021301632, 1586665856, 1391811840, 1972929408, 1941316224, 1511333504, 1592345600, 1666562816, 2081540608, 1670792960, 1581117568, 1582158720, 1319553280, 2016832128, 1898415744, 2005570816, 1961296768, 1901393664, 1150092928, 1247538944, 1611879296, 1630908800, 1098957312, 1206627712, 1779633152, 1625220224, 1613366400, 1512388608, 1577616384, 1092122240, 1695847424, 1544328576, 1900401280, 1470586752, 1421300608, 1733874304, 1466478464, 1538978688, 1525748736, 2023815808, 1464038784, 1303541376, 1354658560, 2098475392, 1472754432, 1238603776, 1249240576, 1473620224, 1331113088, 1360776576, 1229296384, 1947087744, 2091175552, 1269299200, 1969437056, 2019283840, 1212389376, 2105225984, 1121383808, 1641577984, 1889944192, 1882068864, 1640975104, 1908473472, 1351972480, 2097110144, 1928425600, 1724302848, 1577403264, 1956497536, 1711433344, 2066398848, 1513079424, 1287353856, 1296544128, 1665596928, 1343525120, 1338098304, 1300625280, 1205907456, 1205457536, 1273266944, 1543303424, 1663601792, 1107678464, 1080907264, 1301998464, 1939498368, 1919384960, 2098320512, 1835566336, 1115122432, 1219303040, 1182710272, 1862803840, 1512425600, 1152610304, 1715910656, 1412784256, 1461359488, 1827439872, 1954665600, 2037408256, 1215200128, 1197343744, 1494141696, 1302950528}; +static const int8_t CONV13_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {323, 27656, 615, 21552, -2661, -95, -4863, 91, 327, 216, -8755, 11447, 91735, 7131, 2621, 2862, 11790, 17532, 83578, 3620, 79466, -96, -12668, -2077, 7560, -4893, 4742, 6583, 129, 4507, 44, 28147, 161, 3577, -451, 2216, 33407, -14465, 13739, 1032, 653, 23586, 25512, -279, 3378, 107, 85, -1987, -11023, 33970, -8792, 114, 43527, 277, 8272, 8830, -6759, 2027, 1484, -64, 32438, 63633, 49895, 14787, 324, 10620, -2074, 33563, 1409, 27525, 20736, -14537, 252, 370, 789, 29179, 12092, 3971, 94, 824, -4998, 1279, 1396, -20481, 9371, 1091, 22627, -4619, 3647, 588, 49364, 518, 1137, -8087, 1972, 347, 11469, -7018, 44088, 424, 125, 479, 19348, 31081, 12905, -2578, 3478, -343, 8047, 219, 33233, -7468, 5244, 1150, -14076, -346, 1267, -302, -227, 2904, 5703, 59258, -1693, -1435, -39, -4418, 264, 1395} +#define CONV14_WT {0} +static const uint8_t CONV14_W_Z[] = {-123, -245, -115, -68, -22, -146, -10, -131, -128, -119, -8, -56, -214, -68, -35, -111, -51, -200, -350, -109, -265, -130, -11, -85, -30, -77, -59, -36, -125, -21, -125, -241, -130, -101, -121, -130, -235, -21, -72, -107, -128, -60, -233, -71, -24, -119, -113, -12, -30, -244, -39, -124, -192, -116, -51, -72, -15, -17, -94, -124, -189, -278, -231, -238, -115, -31, -98, -231, -16, -259, -248, -17, -103, -104, -32, -242, -239, -41, -86, -136, 8, -89, -106, -3, -95, -112, -246, -27, -18, -96, -257, -126, -77, -13, -128, -131, -126, -22, -252, -93, -127, -116, -236, -252, -234, -92, -57, -95, -53, -136, -255, -28, -129, -146, -15, -103, -109, -60, -145, -115, -60, -256, -30, -122, -95, -2, -126, -180}; +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +static const int32_t CONV14_M_ZERO[] = {1654573952, 1682646912, 2127355264, 1727329408, 1079333120, 1133772672, 1129976832, 1741522560, 1366579072, 1081699456, 1844556672, 1966000512, 1995945216, 1693743744, 1301094400, 1695629696, 2137223296, 1868992000, 1836690304, 1826319744, 1361055104, 1913435520, 1184733056, 1194523904, 2040079232, 1308438144, 1193770240, 2066159360, 1669967744, 1142801024, 1396244736, 1597334272, 1626476416, 1575972992, 1451041152, 1889172608, 2070221056, 1975846656, 1692184064, 1190573696, 1510130176, 1776974976, 1454758272, 1514605056, 1597666944, 1247169152, 1533166848, 1989718144, 1700347392, 1563143424, 1252184320, 1704802944, 1139269376, 1251193344, 1345926656, 1517611008, 1453394048, 1937186816, 1605723008, 1270096256, 1990241792, 1674637312, 1594228224, 1202498048, 1097069312, 1966857344, 1927932032, 1990517376, 1467925632, 1169037312, 1282325120, 1316960640, 1443988992, 1245815680, 1113582720, 1668386048, 1153828864, 1563261056, 1885357312, 1448956416, 1148308992, 1490585600, 1560992512, 1453916032, 1728322560, 1266145920, 1203919360, 1248493440, 1543195776, 2041797248, 1769831296, 1696037504, 1204280704, 1968639232, 2037217536, 1703471872, 1790268800, 1858853632, 1601481856, 1438273024, 1146934400, 1806705792, 1350793216, 1966009600, 2140583168, 1832650752, 1363669376, 1804681728, 1856057728, 1691471104, 1906482816, 1168976640, 1825131648, 1423563392, 1230115968, 1260118016, 1142110208, 1102653952, 1927793792, 1251890432, 1388708864, 1425986560, 1870064000, 1645993856, 1093468928, 1617467264, 1864469248, 1214480384}; +static const int8_t CONV14_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {5288, -19013, -3502, -50164, -22707, 39144, -34391, -1153, 47412, 22485, -2841, 45122, -25813, -7921, 50836, -7132, 31955, 24276, 38849, 8114, 15797, -40367, 12322, -10171, 19940, -807, 44556, 40825, 50717, 6038, -33262, 3846, 2777, 43116, 23976, 12066, -12234, -1687, 6587, 3515, -39675, 71549, 42485, -13891, 32137, -29, 63570, 14141, 9175, 17712, 49932, 19592, 1603, 16558, -11711, 9969, 1110, 34507, 49891, 381, -10402, 62532, 4509, -32686, 10858, 12505, 37221, -8079, -8469, 17068, 8143, 78787, -16493, 10293, 54473, 36864, 19279, 52312, -5384, 50001, 15683, -13030, 87591, 26917, 7674, 95414, 90578, 45759, 68751, 4800, 19602, -19353, 8462, 44989, 68353, 6946, 40196, 40546, 33752, -20406, 26798, 3531, -26328, 58920, 50749, 65271, 93798, 24302, -2015, 26115, 51962, 6511, 2186, 2784, -1262, 14277, 1112, -13679, 52480, 58805, 51296, -2621, 29765, -6351, -2417, -11722, -65976, 8974} +#define CONV15_WT {0} +static const uint8_t CONV15_W_Z[] = {-91, -135, -81, -100, -111, -122, -133, -98, -94, -102, -153, -124, -101, -153, -150, -95, -210, -161, -156, -137, -185, -135, -167, -133, -197, -127, -132, -130, -124, -123, -104, -146, -98, -134, -141, -125, -115, -107, -136, -98, -118, -101, -101, -24, -110, -141, -89, -77, -191, -141, -100, -134, -125, -75, -151, -110, -183, -95, -130, -146, -115, -167, -147, -121, -141, -119, -138, -138, -86, -149, -104, -145, -167, -95, -100, -40, -146, -116, -132, -131, -106, -116, -129, -123, -149, -110, -172, -123, -141, -159, -129, -79, -123, -146, -166, -122, -134, -107, -94, -138, -161, -79, -91, -150, -135, -141, -154, -119, -136, -158, -123, -214, -117, -149, -148, -123, -190, -136, -169, -125, -103, -157, -132, -105, -131, -155, -82, -70}; +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1686017408, 1299455232, 1141628800, 1923176192, 1993448064, 1108183552, 1397981824, 1278213120, 1895975680, 1174677888, 1874652288, 1175192192, 1712321792, 1988557184, 1171194880, 1146410880, 1695888384, 1271703424, 1505835392, 1449441408, 1330050944, 1944002688, 1971042944, 1187059072, 1362017664, 1547283200, 1695753984, 1411690496, 1306452224, 1258447104, 1097209088, 1163649024, 1102092928, 1547281920, 1380718080, 1472947456, 1920333952, 1208204032, 2144943488, 1576469632, 2108931328, 1274705408, 2010075136, 1324677632, 1418088064, 2028795904, 1353248384, 1263503872, 1711475968, 1876025600, 2041188736, 1724374784, 1197521536, 1583647104, 1083293312, 1844781440, 1384117888, 1086695552, 1392836736, 2064931712, 1988734848, 2026771840, 1294679424, 2122073856, 2054465536, 2122355968, 1521548928, 1334665984, 1447599104, 1878670208, 1153944832, 1710842624, 1523631360, 1854667008, 1793296128, 1530438656, 1325875968, 1703953280, 1699914240, 1457634944, 1110884480, 1914602752, 1786207488, 1658902272, 1096646784, 1756068224, 1274411264, 1706462336, 1703314432, 1811685632, 1706606848, 1122315776, 1640523136, 1584021632, 1287806464, 1314480256, 1925881600, 1962641280, 1718296832, 1455048320, 1733912064, 1989037824, 1144034816, 1943657600, 1757522816, 1221935616, 1713121280, 1537237760, 2122316288, 1519709824, 1212155264, 1369754368, 1404574720, 1171975040, 1090297472, 1323615616, 1631431040, 1419151616, 1179773440, 1463693440, 1659243776, 1205558912, 1604435200, 1273746560, 2102552576, 1622533120, 1859922944, 1771904128}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {5496, -8110, 35046, 1624, -21036, 19635, -10866, 243, 23387, -21765, 16281, 48364, -36009, 15915, 32017, -45631, 43693, -7807, -5174, 76644, 4727, -3564, 8161, 164510, 775, -1308, -18855, -9648, 28725, -11723, 9242, -4985, 377883, 1258, -50403, 39313, -15513, 3631, -8665, -9261, -21927, 1325, 24661, 19075, 79465, -4942, 38898, 356, -35368, -2797, 3195, -4484, -1984, -2773, -3, -11411, 64356, 9888, 33450, 145, 6299, 36453, -38796, -10264, -4354, -11652, 1471, -1829, 8746, -510, -5620, -6569, 51737, -5935, -10196, 15415, 19045, -14115, -34, -9181, -8258, 63850, 6087, 82464, -2864, 50042, -8866, 273041, 2236, -17963, 86310, -26388, -29599, 2212, 131, 87, 29162, 38319, 7470, -6657, 25669, 156289, 91646, -8547, 15619, 85, 842, -2959, -5498, 19817, 69703, 48745, -2486, -11168, -2025, 55027, 1581, -2071, -5300, 82341, 9602, -41776, -34, -65, 222, 4299, 37388, 74500} +#define CONV16_WT {0} +static const uint8_t CONV16_W_Z[] = {-129, 0, -229, 10, -10, -123, -59, -116, -228, 13, -42, -246, 39, -146, -246, 11, -263, -82, -121, -349, -69, -114, -104, -253, -81, -89, 0, -55, -259, 10, -117, -16, -569, -94, 45, -255, 50, -21, -7, -7, 15, -63, -204, -96, -325, -114, -234, -33, 2, 19, -106, 7, -15, -73, -17, 2, -114, -32, -251, -34, 42, -241, 22, -18, 3, 3, -90, -15, -91, 4, -26, -77, -251, -3, -69, -226, -63, 4, -66, -40, -4, -231, -38, -311, -33, -247, -62, -431, -29, -32, -256, 4, 21, 61, -99, -90, -269, -165, -50, 2, -95, -287, -352, -65, -45, -109, -95, -52, -16, -142, -222, -106, -133, 22, -11, -310, -58, -16, -39, -288, -112, 19, -23, 7, 0, -56, -143, -321}; +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +static const int32_t CONV16_M_ZERO[] = {1485302400, 1784462336, 1130224640, 1601208960, 1719641088, 1559457280, 1326732928, 1119402368, 1247980800, 1375739520, 1337440640, 1786929408, 1680869120, 2133125376, 2073916672, 1229660160, 1435276800, 1083305728, 1408830592, 1129881728, 1487144064, 1182792320, 1243392896, 1739047808, 1457044608, 1634467200, 1631187072, 2019057920, 1223534464, 1678880256, 1240491008, 1899285120, 1658120576, 1154008448, 1961933824, 1756016384, 1158647424, 1512076928, 1974460160, 1162360320, 2006436864, 1851389440, 1160184320, 1457269632, 1281126912, 1484474496, 1829470976, 1385998848, 1479177472, 1286546432, 1196219008, 1466256384, 2092203392, 1846868864, 2084774528, 1092868608, 1837384320, 1417483136, 1501407872, 1818050688, 1933688960, 1252130944, 1423672832, 1359051136, 1748907136, 1664341248, 1109069824, 1875785600, 1435426176, 1261593984, 1134560512, 1571151232, 1781909120, 1279983744, 1822176128, 1374548608, 1778230144, 1767686272, 1448348800, 1473868800, 1175867520, 2010585856, 1366649856, 2027405952, 1341614592, 1735621504, 1540939776, 1589018368, 1285485184, 1188666624, 1233397376, 1438580224, 1234501760, 1166400256, 1863304192, 1382300672, 1760687872, 1990167168, 1394142848, 1342239360, 1116283008, 1811960320, 1721052160, 1269504768, 1558368128, 1659928448, 1155267072, 1272112000, 1444624256, 1530526464, 1740966144, 1511218432, 1388873856, 1410831744, 1969719552, 1288523136, 1505462912, 1911341440, 1589009664, 1099366912, 1254430208, 1337247488, 1569259264, 2032861824, 1189002112, 1160631424, 1233459840, 2000958464}; +static const int8_t CONV16_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-11506, -1919, 79426, 43747, 25710, 22153, 50782, 73429, 51626, 57803, -12066, 6392, -25281, 50995, -10768, 50477, 41844, 11430, 9479, 54412, -26589, 26187, 17121, -23431, 15353, -47700, -2237, 49089, -7097, 43737, 17043, -35224, 32601, 37948, -13341, 33966, -6421, 30942, 61718, 11098, -5848, -32008, 32835, 51334, -14253, -23746, 5503, 55779, 22947, 18310, 10373, 72488, -8729, 67939, -52446, 5012, 7962, -9142, 16096, 35471, -13380, 510, 40361, 22674, -2483, -43205, -7267, 23587, 34109, 123407, -44207, -57916, 9501, 6828, 24120, 1713, 26835, 15076, -14010, 148999, 18566, -12363, -17514, 44448, 8548, -39022, -65822, 5236, -24050, 43010, 74047, 24124, 17420, -2851, 2369, 33990, 59419, 3670, -30947, 25087, -7822, -63751, 19340, 6188, -34950, 66125, 22588, 40446, 100401, 52769, 2723, -9129, 44793, 50251, -25466, 12938, -42607, 56263, -11933, 13476, 13576, 24842, 53189, 18019, 29933, -16356, 3966, 48231} +#define CONV17_WT {0} +static const uint8_t CONV17_W_Z[] = {-85, -146, -161, -125, -79, -116, -123, -178, -190, -103, -39, -107, -151, -149, -116, -183, -130, -146, -59, -177, -113, -117, -100, -110, -82, -81, -140, -88, -164, -124, -99, -77, -117, -122, -98, -87, -133, -142, -164, -108, -139, -120, -111, -122, -143, -126, -146, -113, -118, -123, -155, -145, -93, -157, -87, -130, -128, -109, -112, -101, -119, -144, -108, -103, -140, -111, -131, -110, -122, -154, -106, -103, -121, -96, -185, -151, -129, -108, -145, -153, -122, -98, -139, -136, -106, -138, -112, -139, -132, -109, -116, -134, -129, -114, -105, -92, -124, -135, -114, -138, -118, -107, -144, -134, -110, -117, -141, -128, -133, -107, -116, -82, -116, -107, -115, -109, -156, -112, -111, -117, -97, -152, -166, -116, -187, -144, -120, -116}; +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1203970816, 1323948416, 1171921920, 1950350208, 1220131968, 1859885952, 1742132608, 1203842304, 1134782464, 1559613440, 1795252736, 1111948544, 1632254720, 1125642752, 2091796096, 1395361536, 1565842560, 1081994624, 1768106752, 1719950592, 1615374976, 1279526016, 1911661312, 1849646976, 1530445184, 1517919232, 1134327680, 1189994240, 1639926144, 1199625984, 1177953792, 2140345984, 1667709056, 1100319104, 2138258432, 2055996032, 2030364032, 1244240000, 1097019008, 1248159232, 1300249728, 1922640128, 1724549760, 1178195712, 2115195904, 1548007168, 1427991040, 1236063360, 1460972672, 1498342272, 1732336128, 2071824128, 1407850240, 1957926272, 1161010816, 1238152704, 1892201600, 1107607296, 1957174912, 1549433856, 1102132864, 1790184448, 1442515968, 1611353984, 1519910656, 1877704064, 1231472768, 1215421824, 1232344704, 1117091456, 1888662784, 1220875648, 1844789888, 1333437440, 1612753024, 1178168064, 1550237568, 1971015296, 1193676800, 1826507264, 1444291072, 1147104768, 1406065792, 1859893120, 1322412288, 1726990080, 2028064768, 1548464128, 1892597888, 1099761152, 1660736000, 2045561472, 1359945088, 1137281152, 2105764352, 1772449792, 1184111872, 2089370752, 1143238656, 1182264320, 1987988992, 1730675200, 1565179136, 1896852608, 1491488384, 1376914944, 1354722048, 1263400960, 1415467520, 1209291264, 1813639168, 1871116032, 1488906112, 1507527040, 1649870720, 2034297472, 2124836992, 1610728320, 1286801792, 1180111104, 1140354048, 1624961920, 1260076928, 1132948992, 1397493888, 1804382720, 1866659328, 1866041600}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-4883, -5610, 53059, 43842, 9323, 21544, 38705, -32564, 7473, 57492, 838, -2995, -11685, 29123, 1405, 1558, 30896, 38734, 48636, -707, 77710, 41766, -8905, -4336, 34725, 253, 668, 3369, -24233, 95760, 179371, 10317, 105, -3332, 69575, 56450, 14514, 11314, -6008, 40438, -7800, -38330, -71214, -6016, -1181, 97622, 66973, 41095, 48243, -18901, -10693, 22725, 3136, -23884, 149, -1429, -10138, -1220, -4421, 3972, -18324, -2954, 55559, -3501, -17935, 1173, -1887, -13203, -451, 6463, -5940, -7243, -6584, 148108, 26157, 105149, 55762, 22828, -2591, 18255, 17396, 762, -11937, -11470, -81, 173359, -146, 49959, -6416, 68973, -885, 42985, 29481, -42311, -3206, 28207, -10026, -384, -1192, 17593, -6088, -13211, 4048, 4772, 55933, 6960, 959, 31085, 4163, 2687, 275, -1649, 29923, -3277, -14580, 3448, -26815, 32557, 34762, 93038, 12495, 71683, -16727, 179, 32372, 86861, -13452, 123896} +#define CONV18_WT {0} +static const uint8_t CONV18_W_Z[] = {-44, -73, -193, -304, -37, -135, -257, 17, -205, -304, -105, -94, -136, -242, -99, -108, -149, -27, -256, -98, -579, -50, 17, -14, -124, -25, -18, -30, -39, -256, -438, -87, -93, -117, -217, -221, -36, -38, -129, -117, -149, 18, -9, -27, -110, -338, -312, -257, -163, 3, -21, -219, 243, 11, -47, -94, 36, -2, -13, -167, -9, -88, -274, -45, -43, -82, -71, -11, -140, -33, -61, 5, -161, -322, -72, -265, -249, -139, 1, -223, -162, -55, 2, -3, -13, -323, -9, -170, -10, -298, -101, -267, -111, -15, -32, -248, -17, -1, -31, -180, -6, 74, -37, -37, -283, -138, -87, -144, -18, -27, -94, -29, -149, -25, 15, -84, 2, -240, -128, -272, -44, -293, -13, -9, -105, -483, -30, -379}; +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +static const int32_t CONV18_M_ZERO[] = {1638167680, 1346020864, 2048285696, 1483552256, 1167385216, 1546650112, 1712422400, 1924080640, 1866218368, 1547774976, 1105216768, 1628714880, 1207019392, 1139584256, 1992002944, 1310415104, 1106927872, 1664179328, 1809543680, 1152500096, 1424569472, 1360336640, 1643159552, 1126191232, 1455446272, 1273258880, 1125475072, 1820863232, 1089356800, 1748804352, 1625170176, 1432753664, 1191259904, 1172250752, 1440855936, 1887870976, 2112389120, 1782641152, 2089648000, 1654579968, 1120728704, 1117304064, 1714889600, 1236947328, 1386253696, 2026409728, 1381781248, 1186923136, 1608416384, 1476027008, 1590417664, 2067411584, 1146200192, 1791823360, 1653156480, 1688524160, 1107020800, 1463070336, 1833209472, 2028886400, 2118512000, 1837792256, 1306572288, 1864984320, 1846163328, 2146279936, 1335008512, 1685548800, 1569076864, 1248705536, 1987801472, 1694229248, 1648186496, 1804410880, 1637584640, 1823925120, 1486406912, 1757874304, 1538754944, 1835280640, 1933014016, 1466343936, 1506833408, 1162251136, 1106868224, 1934628736, 1383023616, 1391534848, 1509038720, 1108430976, 1845948800, 1912332800, 1967922432, 1229603712, 1305090688, 1701601664, 1963245952, 1687529216, 1316356480, 1907526656, 1960103424, 2089295104, 2047167744, 1574138112, 2036098432, 1257613824, 1825865984, 2054400384, 1175308288, 1507394432, 1818483584, 1920646784, 1687133696, 1314919168, 1553114368, 1299933568, 1283956992, 1284215424, 1777322240, 1558861440, 2072246528, 1711629568, 1497740416, 1432577408, 1983571840, 1785891200, 1214090112, 1422243328}; +static const int8_t CONV18_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {19179, 27190, 13757, 36845, 49733, -27033, 2429, -28516, -9930, 27182, 12980, 15144, -23728, 23955, 21957, -25015, 675, 5250, 1338, -5645, 50409, 24046, -28893, 11802, 2338, -61842, 16693, 30031, 19578, 22146, 33621, 32842, -3625, 23941, -1359, 78989, 33763, 9766, -66161, 47894, -4729, 35319, -23667, 35590, -69036, -4200, 6503, 36817, 38098, 49775, 17083, -1266, -33604, 103, 17507, -26791, 52460, 39617, 16887, 72336, -22181, -10376, -3703, -7934, 33876, 63715, -9183, 36715, -10130, 11073, 50354, 33707, -28363, 1504, -18453, 13774, 22865, -1287, 73119, 34874, -4706, 8174, 17983, 42390, -18876, 51544, 30589, -18031, 97655, 2678, 59505, 4060, -43467, -19871, 35770, 25364, 1615, 30320, 2180, 27944, -63338, 60726, 19432, 527, 28941, -17463, 24946, 42911, -9281, 3882, -13564, 6950, 10166, -10857, 50426, -2817, -34383, 12823, 28974, -22384, -36097, 12846, 13017, 17578, 22269, 15693, 11683, 59694} +#define CONV19_WT {0} +static const uint8_t CONV19_W_Z[] = {-105, -119, -119, -124, -129, -133, -91, -112, -138, -130, -127, -109, -141, -100, -126, -121, -123, -78, -125, -116, -122, -75, -104, -142, -128, -92, -145, -121, -107, -130, -91, -120, -116, -101, -154, -148, -157, -81, -114, -148, -145, -138, -120, -136, -141, -163, -119, -120, -117, -131, -106, -125, -122, -134, -98, -103, -146, -132, -105, -120, -124, -110, -94, -125, -105, -186, -157, -121, -143, -105, -143, -198, -104, -130, -135, -96, -122, -134, -147, -125, -108, -184, -96, -100, -95, -131, -111, -132, -145, -120, -142, -76, -132, -97, -108, -143, -145, -143, -110, -142, -112, -125, -108, -127, -137, -99, -74, -126, -127, -133, -138, -156, -136, -111, -156, -158, -106, -132, -125, -108, -114, -111, -115, -141, -138, -128, -90, -143}; +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1631343104, 1347398144, 1626478464, 2099848320, 1750990080, 1642375808, 1550756096, 1154538624, 1479393152, 1078500352, 1183799552, 1267336832, 1232538752, 2020644096, 1276711040, 1981088512, 1198319616, 1118241024, 1277356416, 1175047680, 1282797440, 1856762496, 1432284416, 1613486848, 1337850752, 1527953408, 1191614592, 2125047168, 2111501696, 1539164672, 1164584448, 1657495808, 1273577216, 2080619648, 1883440896, 1387756544, 1513264256, 1547509248, 1435526528, 1756346112, 1287379200, 1078574592, 1751723136, 1349932288, 1104710912, 1693518720, 1328206848, 1291538432, 1341414912, 1663276160, 1420201728, 1601717632, 1665664000, 1195058176, 1999179392, 1950523520, 1687943936, 1717537664, 1241507456, 1852321920, 1551729664, 1999589120, 2054808064, 1633069568, 1149139200, 1174458496, 1642762240, 1506408320, 1119085312, 1095516672, 1821817600, 1259057920, 1810950912, 1680565248, 1173664512, 2033512704, 1283026816, 1150747648, 1355979776, 2104551808, 2021493248, 1625952640, 1404675712, 1612853760, 1206422144, 1923667072, 1968793856, 1657075072, 1741166976, 2031580672, 1484583936, 1191543808, 1184094720, 1820324096, 1238537472, 1784002432, 1369768192, 2125315840, 2132704896, 1917977216, 1209395712, 1372861568, 1920526336, 1769471104, 2085498496, 1121022208, 1201236608, 1451114240, 2011277696, 1185682560, 1251761792, 1083589632, 1734382336, 1685643904, 1607300736, 1714241920, 1967906944, 1272683776, 1692728064, 1156990464, 2104907648, 1791971840, 1727232128, 1186242688, 1255115264, 1428318208, 1121010560, 1251585280}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {7005, -8471, -4703, 7576, -7039, -3, -2867, -4066, 244891, -14696, 65225, 214263, -10177, 4898, 54797, 38157, -87057, -1164, -54869, 67859, 34599, 1220, -1211, 153, 69959, 1215, -5292, 143053, 1311, 1944, 22625, 43305, 51591, -2485, 28393, 41765, 49332, 6965, 95, 87977, 221786, -6989, -9032, 40130, -8212, -16565, -5680, 16282, 85548, 74343, 7459, 8643, -8752, 109818, -18583, 211605, -23619, 54995, 86722, 9169, 6330, -3220, 54358, 1443, 45798, 3180, 50868, 5, -8682, -7386, -4498, 20159, 112998, -2715, -411, 27881, 4922, -16414, 27393, -2628, -4241, -17668, -18319, 87429, 155063, 114299, 68728, -22522, 2331, -4008, 28695, -14171, 720, -4608, 92275, 86461, 16291, 18067, -12260, 52179, -5262, 22894, 88402, 54237, 548, -4683, -8981, 43956, 75022, -3007, -29935, -52742, 433, 47481, 35073, 59538, 115834, 67774, 33749, 142381, -2750, 64333, -1006, 152086, 29802, -1231, -4377, -2211} +#define CONV20_WT {0} +static const uint8_t CONV20_W_Z[] = {-20, -41, -8, -30, -64, -48, -90, -7, -451, -61, -242, -669, -2, -50, -359, -205, 131, -97, 143, -268, -247, -35, -103, -17, -250, 17, -116, -304, -128, -36, -246, -265, -233, -20, -96, -271, -369, -16, -56, -346, -496, -137, -56, -210, -45, -11, 6, -116, -297, -350, -184, -27, -6, -276, 2, -382, 12, -253, -332, -32, 10, -171, -304, -68, -122, -20, -197, -74, -50, -40, -17, -103, -264, -31, -11, -162, -189, 10, -221, -114, -12, -67, 7, -293, -815, -269, -290, -6, -12, -5, -55, 0, -9, -16, -270, -289, -44, -29, 3, -141, -8, -245, -245, -119, 4, -126, -9, -268, -267, -191, -41, 38, 32, -271, -186, -260, -271, -241, -205, -359, -44, -247, 0, -329, -97, -121, -9, 3}; +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +static const int32_t CONV20_M_ZERO[] = {1144365184, 1263301120, 1886831488, 1085893120, 1154379520, 1482718976, 1381975296, 2069226112, 1789855488, 1312305792, 1241581184, 1236329984, 1241604864, 1455703552, 1171085312, 1420957440, 2005181440, 1215963008, 1252222336, 1507269504, 1116731264, 1709872768, 1196877824, 1436031232, 1710618496, 1638735616, 1563739136, 2070548352, 1616785664, 1102324096, 1447558016, 1255681664, 1623766400, 1204542720, 1108218880, 1449342208, 2031505920, 2136481792, 1208989312, 2088534784, 1405226880, 1676383616, 1263774848, 1861346048, 1099149696, 1760493440, 1135563520, 1239433088, 1581214208, 1677639040, 1574616960, 1350214016, 1090169728, 1499579776, 1658315520, 1326996992, 1153134848, 1383653376, 1825634688, 2111683584, 1393244416, 1147416448, 1243058944, 1174665600, 1558811648, 1272359040, 1290468480, 2004400000, 1206500864, 2111197696, 1756220160, 1963988992, 1528414976, 1101038080, 1508363904, 1444728832, 1204366080, 2086705024, 1169051264, 1402150528, 1399202688, 2083393152, 1837027840, 1434077312, 1391917952, 1841717760, 2084448384, 1094531328, 1750246912, 2098558464, 1553164800, 1804512896, 1293371776, 1819410944, 1422225664, 1349005312, 1969778816, 1175504256, 1096293120, 1642470912, 1588416256, 2040196480, 1109463424, 1311017088, 1717870720, 1783742592, 1300653952, 1417325568, 1335530880, 1561130240, 1763353856, 1249330304, 1306490880, 1912242944, 1892745472, 1655746816, 1926499328, 1651123840, 1719076480, 1148128512, 1528133248, 1253895296, 1151477760, 1080043392, 1272775552, 1095018752, 1457076224, 1941399936}; +static const int8_t CONV20_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {30907, 3309, 35619, 32963, 14129, 14262, 5421, 11655, -8845, 162, 5870, 58480, -233, 4037, -3461, -18453, -16163, -2412, 21269, 19497, -119490, 23154, 18468, 63226, 53089, -16156, -9983, -62270, 18235, -2471, 9602, -44232, -73088, -29175, -36497, -42767, 23188, -23377, -61227, 64008, -32132, -8854, 18060, 1038, -7250, 70220, 21518, 8011, 1332, 49935, 15890, 44954, -31923, -19877, -80433, 36915, 18077, -21712, 79401, 9026, -26633, 12448, 3434, 199577, 4228, 88522, 7525, 6857, 8120, 78136, 40709, 19220, -19484, 107504, -7115, -8390, 21299, -4832, -11835, 16774, -33148, -35078, 19647, 28349, 20292, -930, -19943, -29171, -34614, 5536, -5107, -44771, -55044, -31896, -47738, 13327, -2455, -58019, -50961, 40668, 5145, -74456, -5514, 47457, -52576, 45492, 19053, -21153, -9967, 13442, -52541, -20700, -3912, -489, -25160, 29993, 39343, 39099, 43303, -20728, 44966, 8297, 38290, 21349, -74719, -84725, 88871, 52589} +#define CONV21_WT {0} +static const uint8_t CONV21_W_Z[] = {-132, -128, -134, -133, -100, -85, -111, -78, -148, -142, -116, -166, -96, -140, -133, -131, -174, -105, -138, -120, -102, -123, -145, -148, -117, -104, -88, -81, -136, -111, -106, -120, -79, -97, -125, -113, -119, -110, -132, -105, -120, -137, -135, -75, -101, -151, -104, -127, -118, -128, -157, -163, -119, -97, -124, -159, -118, -111, -133, -116, -144, -102, -116, -107, -114, -140, -137, -112, -125, -128, -121, -119, -115, -129, -114, -161, -96, -157, -101, -142, -142, -88, -123, -107, -120, -140, -140, -124, -118, -118, -181, -122, -161, -118, -133, -132, -140, -112, -91, -107, -111, -137, -134, -126, -115, -99, -148, -84, -132, -128, -107, -99, -149, -88, -121, -133, -147, -128, -138, -146, -109, -135, -121, -115, -97, -109, -90, -112}; +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1643412608, 1688897792, 1907670912, 1114861568, 1585823488, 2052774912, 1205068160, 1579553536, 1751333376, 2010218368, 1933066880, 1802946048, 1387319296, 2056597888, 1378239232, 2115874176, 1983937664, 2084669312, 2084421504, 1986325120, 1877766016, 2033368192, 1886131200, 1443918336, 1713822592, 2083271296, 1522385920, 1171510656, 2040951552, 1222294016, 1293641984, 1215675264, 2072520064, 1170239744, 1486083584, 2003915392, 1663416192, 2000311168, 1839312896, 1278464128, 1150856192, 1840582016, 1347092224, 1530961024, 1708254720, 1658378496, 1106401408, 1599088128, 1994228352, 1395173760, 2116688384, 1774353536, 1604500480, 1337878528, 1820512000, 1299893632, 2045814912, 1821521536, 1379741184, 1695001472, 2036392192, 1100548992, 1791162880, 1732171904, 1451365376, 2035441152, 1564823808, 1435938688, 1480402560, 1623822208, 2017838592, 1452179840, 1416069632, 1946914048, 1974043776, 1641998208, 1483370624, 1966352128, 1371068672, 1410245888, 1085735424, 1583297536, 1495322368, 1212036736, 2042945408, 1526108288, 1293293056, 1467586432, 1878333696, 1557382656, 2095162880, 1697148800, 1914312320, 1784831616, 1432645376, 1934782976, 1139720448, 1658160896, 1895829248, 1159975040, 1728152448, 1123090944, 2064884864, 1579792000, 1794928128, 1630416512, 2053528320, 1771751296, 2049346816, 1678441856, 1458983552, 1245138048, 1526130176, 1647064704, 1094542720, 1282429312, 1696210560, 1532231296, 1281356672, 2026042240, 1592404480, 1911119744, 1341134976, 1943913728, 1084145408, 2054853248, 1271500928, 1216641152}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-24054, 147521, -274, 3350, 60960, 6186, -997, -1101, 104899, 118, -55252, -4248, 57956, 5557, -235, 56479, -5255, -2005, -14406, 148496, -7522, 33701, -15621, 36387, 463, -8749, 143941, 193701, 2840, 621, -1271, -7135, 135863, -1025, 30, 92602, -424, -20975, -224, 24226, 111164, -1447, 116727, -4500, 100508, 22744, 6947, -4776, -4404, 53706, 166421, 26080, -15902, 45936, 39049, 80319, 34333, 121997, 92147, -673, -602, 150641, 70238, -36513, -1414, 60485, 11637, 69454, 97535, 287797, 3616, 115486, 248, 142521, -7737, -14528, -9309, -1899, -26904, -25558, 181229, 139540, -38685, 75189, -12693, -2205, 121412, -541, 143670, 198, -17907, 105217, 756, -1438, 58, -5167, -4664, -21472, 110045, -2832, 94780, 131649, 3598, 52602, -4001, 32809, 124695, 18, -9385, -9675, 94194, 115321, -288, -870, 145143, 259154, 47606, -82, -9981, 144732, -8451, -206, 35042, -3978, -17391, -7625, 23128, 27041} +#define CONV22_WT {0} +static const uint8_t CONV22_W_Z[] = {-67, -405, -20, -24, -230, -146, -19, -169, -274, -107, 70, -15, -424, -154, 8, -118, -122, 25, -23, -338, 21, -156, -15, -233, -47, 8, -437, -571, -29, -82, -25, -57, -303, 39, -34, -295, -19, -22, 73, -224, -372, -25, -240, -7, -265, -233, -173, 35, -8, -280, -336, -59, 18, -113, -140, -84, -127, -293, -260, -128, 26, -356, -246, -53, -135, -290, -56, -257, -228, -397, -44, -386, 143, -315, -24, -76, -54, -29, -52, 13, -322, -308, 4, -237, -11, -8, -355, -66, -282, -51, -113, -252, 172, -15, -99, 89, 20, -32, -275, 75, -276, -296, -27, -294, -52, -243, -395, -133, -7, 22, -309, -276, -7, 57, -291, -562, -207, -28, 13, -281, -8, -21, -224, -34, 23, -23, -238, -231}; +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +static const int32_t CONV22_M_ZERO[] = {1570216320, 2086156672, 1239101056, 1114895488, 1447031808, 2135576192, 1781478784, 1419977984, 1660846592, 1248721024, 2089045248, 1210025600, 2045043712, 1167393536, 1410362112, 1684871296, 1969550976, 1100233344, 1403686272, 1118200704, 2026048384, 1199896320, 1236412672, 1420681216, 2011393024, 1429704064, 1275751808, 1421122048, 1075252864, 1083102080, 1712176256, 1612743424, 1322571648, 1716789120, 1177086720, 1373078656, 1566763776, 2039019008, 1559833216, 1460200320, 1795152896, 1134291968, 1443616640, 1110941184, 2013849728, 1389586688, 1228819712, 1366332160, 1819957120, 1936949376, 1701888896, 1131713792, 1691885440, 1655129088, 1852843904, 1557000576, 2027113344, 1180711296, 1148188544, 1978550656, 1899572864, 1687495936, 1597011328, 1332766592, 1735334528, 1402082048, 1450862080, 1753938176, 1738777472, 1230655872, 1914801152, 1177388288, 1458515712, 1826457472, 1413893376, 1091670400, 1959131904, 1255694080, 1543003264, 1596982784, 1486528512, 1729513088, 1855696512, 1091573120, 1509710720, 1783797120, 1935679232, 1399777664, 1492402688, 1709517440, 1858201472, 1710739712, 1866793856, 2107293952, 1317493760, 1156773632, 1084241024, 1949447552, 1871255808, 1865260288, 1568147968, 1740065792, 1146198784, 1385814016, 1570876416, 1738472320, 1183956736, 1349271040, 1098576896, 1735962368, 1245825792, 1356725760, 1432183680, 1484833536, 1175746688, 1828915840, 1424355328, 2015509120, 1705693952, 1158440960, 2021599232, 1803292416, 1081846272, 1089071360, 1769139456, 1378182400, 1522208640, 1242003840}; +static const int8_t CONV22_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-76309, 40362, 22569, -36059, -11498, -42741, 43858, 6230, 11882, 5164, 47397, 294, -5364, 2147, 87386, -6292, 56457, -55616, -44569, 17329, 17474, 66082, 15150, 690, 65760, 34688, -3033, 68212, -8406, -15043, -33399, 8696, 24750, -7877, -54752, 6097, 39626, 21001, 17458, -22433, 35551, 7305, 25234, 13991, -38235, 8679, 43987, 11487, -42562, 22992, -48120, 66916, -5049, -17607, 14143, 14987, 8448, -4534, 22522, -22252, 53085, -12427, 8170, 14769, 41257, -15117, -17095, 224581, -19290, -15101, -15256, -40284, -14454, 27300, 33412, -42750, 24233, -41616, 29050, -63906, 44619, 32795, 22205, -32208, -60445, 36713, 58793, 13564, 66248, 17472, 41399, -23472, -9675, 28181, 2838, -33931, -7740, 96628, 44928, -43469, 46721, -46484, 58297, -26237, -199, 22691, 1314, -21771, -37324, -15998, -87368, 36314, 841, -24140, -29350, -40, -12769, 19598, 58988, 11555, 83797, 59817, -18572, 21825, -6837, 10341, 48959, 9760} +#define CONV23_WT {0} +static const uint8_t CONV23_W_Z[] = {-129, -140, -108, -145, -137, -107, -131, -127, -136, -125, -105, -138, -165, -126, -114, -129, -164, -50, -103, -161, -147, -121, -145, -109, -127, -120, -156, -140, -125, -115, -87, -123, -154, -87, -167, -141, -122, -87, -114, -159, -136, -113, -88, -74, -140, -155, -131, -67, -87, -145, -145, -143, -94, -166, -120, -135, -128, -132, -149, -104, -124, -123, -97, -135, -106, -136, -138, -166, -111, -120, -155, -102, -105, -119, -83, -108, -164, -116, -148, -126, -134, -120, -128, -140, -149, -126, -150, -132, -131, -127, -139, -105, -153, -128, -157, -137, -112, -145, -130, -135, -108, -132, -139, -111, -126, -128, -130, -97, -155, -106, -129, -153, -147, -123, -127, -120, -109, -166, -134, -135, -117, -148, -109, -129, -113, -142, -127, -153}; +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +static const int32_t CONV23_M_ZERO[] = {1708978048, 1685737728, 1781676032, 2067966208, 1322514432, 1140328576, 1187328512, 1857840768, 1193042176, 1982620544, 1354576128, 2040925568, 1998587264, 1387837568, 2147395840, 1922062336, 1633580800, 1563815680, 1214097792, 1986114432, 1134084352, 2119323392, 1193089152, 1187875328, 1324406016, 1546135296, 1100801024, 1331443968, 1548935168, 2089754752, 1433510528, 1322279680, 1751250688, 1732102784, 1420888576, 1424384640, 1855892608, 1795425024, 1214477184, 1780285056, 1873641216, 1743974912, 1328085760, 1355625088, 2023517568, 1206498816, 2060160000, 1344824576, 1982832768, 1621328896, 1975353344, 1300580736, 1198180096, 1075466112, 1281796736, 1557433088, 1296759040, 2013436288, 1996341120, 1529474560, 1546881408, 1076163968, 1876075776, 1310082560, 1328135424, 1125893504, 1847213696, 1742557184, 1598092800, 1612529152, 1775757312, 1551067264, 1153120384, 1359386624, 1187560576, 1748092800, 2004826368, 1205076480, 1508541696, 1748876672, 1263645312, 1447689728, 1738262656, 1671844992, 1877943552, 1781530752, 1257544448, 2083168128, 1772913024, 1612808576, 1382335104, 1621443712, 1593366784, 1751529088, 1727793280, 1743953920, 1186743552, 1831738112, 1558707328, 2033837824, 1636078848, 1769448704, 1487880448, 1872841600, 1082234368, 1633930496, 1235098752, 2068620032, 1605688576, 1242561408, 1666283904, 1780285184, 1651113472, 1112022400, 1504085760, 2073088512, 1751872512, 1828756480, 1091752704, 1847163904, 1230961536, 1536174464, 1885588736, 1297719552, 1745452032, 1715593856, 1214587392, 1121859200}; +static const int8_t CONV23_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-114, 253962, 145425, -2132, 266892, 143045, 10794, 146439, 191887, -223, 91450, -522, 206947, -737, 154701, -1116, 1671, -1255, -152, -277, 169119, -7280, 615, 180873, 121124, 61, 169624, 76376, 1533, 139280, -80, -5092, -101, -1212, -505, 810, 126647, 221180, 140536, -219, 214752, 84258, 107168, 148507, 286034, 246891, 156456, 14379, 120937, 263714, 623, 88797, -375, 8747, -6866, -3318, -3376, 131152, 212315, 24130, 103820, -381, 108803, 116235, -142, 179889, 66, -18179, -7910, -1032, 215046, -524, 197143, 105616, 114803, -1325, 1586, -6786, 84, -585, 663, -644, 411, 4019, 209638, 249635, -13030, 268430, 109025, 1401, 165511, -797, 904, 131392, 204597, -4, -753, 34381, 307029, -552, 115259, 178008, -39637, 316, -12238, 217751, -268, 38965, -1131, 151182, -899, 98887, 180228, 115, -5978, 185451, 363, 179306, 157846, -453, 138671, 100449, 169, -92928, -604, -1188, 69054, 202904} +#define CONV24_WT {0} +static const uint8_t CONV24_W_Z[] = {19, -286, -328, 49, -306, -337, -96, -343, -286, 57, -283, 58, -297, 31, -311, 37, -102, -43, 67, 43, -306, -103, 47, -298, -316, 59, -284, -244, 63, -271, 36, 122, 66, 25, 20, 31, -302, -313, -277, 41, -267, -240, -309, -323, -336, -296, -278, -53, -279, -309, 35, -279, 33, -68, -112, -121, -98, -327, -279, -143, -280, 56, -284, -274, 62, -311, 55, -93, -28, 83, -290, 25, -287, -272, -298, 62, -104, 57, 18, 22, 68, 55, 73, 43, -298, -301, 64, -334, -275, 44, -417, 55, 58, -337, -298, 52, 76, -71, -306, 37, -291, -308, -82, 59, 82, -279, 52, -74, 27, -391, 35, -276, -302, 49, 68, -303, 58, -320, -329, 41, -262, -246, 47, 103, 38, 24, -185, -315}; +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +static const int32_t CONV24_M_ZERO[] = {2133445888, 1754503040, 1925620096, 1679643136, 1443866752, 1719390080, 2057044096, 1113758976, 1285183744, 1266333056, 1934096128, 1538084480, 1963535360, 1563875840, 1103312000, 1292679680, 1794262528, 1788695808, 2060000256, 1725571712, 1154925440, 2047849600, 1592148736, 1759148032, 1714227840, 1721142784, 1513021184, 1193239040, 1435645312, 1701660800, 1527582976, 2027076992, 1666198528, 1390429568, 1727543424, 1335786240, 1320649088, 1757046016, 1917763456, 1348464384, 1897051264, 1901890688, 1646749824, 2050259712, 1368343168, 1291361664, 1945497984, 1726460032, 1388891264, 1434845696, 1722090752, 2099395840, 1090521088, 1269551360, 2001373952, 1195362432, 1453362688, 1385134848, 1286493696, 1122676352, 1074506368, 1508430336, 1553667200, 1371677568, 1172029568, 1290429568, 1941233408, 1468660864, 1139170048, 1213959808, 1669050112, 1318628736, 1120178048, 1203754368, 1118395520, 1987580800, 1640172288, 1790105088, 1991870848, 1505988224, 1322281728, 1443097728, 1527892864, 1368475904, 1455655424, 1568751104, 1516540800, 1591796864, 1080710016, 1441199488, 1073899648, 1274196992, 1941955456, 1456254720, 1107741440, 1566995712, 1800749952, 1096432128, 1428924160, 1457364992, 1577601536, 1379771648, 1345103104, 2081423744, 1484969088, 1786770048, 1935377408, 2105985536, 1327841664, 1276562688, 1119446912, 1876320512, 1333938944, 1249706880, 1123313408, 2084289920, 1945771264, 2032003200, 1874110592, 1150625152, 1105928320, 1909719424, 1622246144, 1823877632, 1453144064, 1386719232, 1456427648, 1999416192}; +static const int8_t CONV24_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-46395, -7749, -10910, 13006, 67448, 27521, 134905, 57731, -66572, -11437, 9890, 38500, 1959, 21325, 38407, 17011, -26175, 25098, 32822, -24380, 17854, -5587, 21757, -27365, 53765, 34657, -18158, 24615, 7895, 42215, -25059, 4752, 40329, 16220, -51052, -8411, -17908, 15959, 12555, -17004, 16480, 2231, -5708, 24553, 46850, -108133, -45579, -3471, 7604, -17974, -38081, 2791, -3667, 22418, 32872, 28706, -14570, 13076, -15067, 12552, -58678, 28603, -14483, 40034, 24403, 27824, 84380, 40031, -26643, -32866, 54429, 25751, 53484, -22775, -67144, 5998, -8751, 769, 15849, -1143, -106692, 8448, 77552, -56131, 62471, 19373, 29313, -83560, -24951, 37004, 84686, -65779, 29662, -5997, 5343, 58319, -22249, 36179, 6430, -43208, -33083, 9711, -8073, -9453, -15334, 18840, -18953, 28052, 41529, 5530, 41552, 24416, 32124, 37029, -4618, 59014, 7129, -9666, -39472, -17870, -14873, -24697, -14354, -2536, 46515, -9711, 28099, 1888, 44718, 29606, 31982, 48370, -13884, 60575, -19141, 5669, -6496, -8898, -26337, 34093, -8153, 10064, -7974, 50938, -12856, -16162, 29050, -937, 12757, 17109, -161, 9598, -8480, -7682, -23102, 31193, 41088, 216, 45770, -9373, -65286, -18100, -38884, 7752, 17701, -11966, -21273, 15259, -30193, -13979, 13306, 27618, 36197, -28969, 18096, 20319, -10899, 42593, -19155, 40728, 47027, -23479, 36717, -7351, 3858, 17226, 3259, 20507, 3759, 43377, -45809, 13140, 73701, -24175, -50989, -41565, 50099, 37615, -18045, -47450, -483, 25259, 15099, -76752, -28864, -87665, -39787, -10777, -4422, 69420, -50093, 19173, 78299, -49200, 23614, -23084, -2178, -28870, -134014, -22817, -11593, 33339, -2004, 3511, 1171, 38727, 25347, 17421, -3102, -56706, 43256, 9087, 47578, 47521, 26172, 26108, 29284, 20464, -84551, 47208, -53721, -77688, -15615, -55239, 65355, -26924, -1712, -9003, 50828, 18677, -66, -9129, 1236, 14969, -269, 52956} +#define CONV25_WT {0} +static const uint8_t CONV25_W_Z[] = {-125, -108, -124, -118, -121, -122, -112, -137, -135, -96, -140, -162, -125, -147, -106, -134, -145, -122, -123, -134, -104, -150, -121, -113, -122, -131, -103, -98, -131, -88, -124, -114, -118, -94, -116, -122, -137, -117, -165, -135, -152, -144, -171, -125, -121, -123, -81, -106, -149, -131, -113, -138, -93, -95, -161, -145, -164, -127, -131, -92, -78, -122, -124, -122, -129, -127, -136, -172, -115, -135, -149, -131, -125, -137, -115, -126, -153, -128, -129, -187, -79, -124, -128, -93, -120, -124, -180, -124, -153, -108, -127, -124, -131, -131, -127, -148, -70, -135, -137, -124, -93, -106, -99, -144, -156, -133, -95, -105, -137, -135, -123, -145, -137, -106, -121, -138, -98, -109, -152, -136, -119, -133, -96, -152, -163, -120, -136, -120, -119, -161, -128, -124, -100, -114, -118, -136, -107, -29, -118, -136, -154, -130, -205, -134, -147, -101, -143, -148, -119, -163, -85, -89, -125, -93, -113, -131, -103, -108, -136, -118, -124, -154, -112, -141, -131, -128, -155, -165, -131, -92, -152, -136, -131, -114, -99, -135, -83, -92, -145, -164, -82, -108, -149, -68, -139, -124, -160, -109, -125, -134, -113, -149, -124, -122, -113, -83, -124, -212, -128, -111, -120, -132, -111, -110, -140, -133, -124, -125, -79, -145, -129, -121, -109, -126, -148, -107, -138, -134, -128, -67, -125, -130, -132, -113, -130, -166, -129, -124, -141, -126, -141, -159, -130, -122, -122, -135, -114, -130, -129, -113, -107, -83, -131, -144, -139, -135, -108, -118, -122, -160, -107, -52, -143, -146, -19, -121}; +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1911714560, 1605501440, 1888095488, 1559469440, 2059078272, 1501283968, 1440587648, 1324602880, 2124718720, 2087822976, 1095858048, 1919746176, 1686897920, 1622152576, 1107100288, 1628132352, 1348584320, 1101802752, 1708464512, 1697279104, 2056772992, 1098965504, 1674072448, 1722549504, 1900070400, 2044596480, 1471939200, 1608079232, 1294920192, 1476734208, 1728822272, 2010527232, 1656146304, 1122097280, 1521818240, 1689749376, 2085026816, 2090416640, 2073157888, 1192303104, 1654500480, 2023153792, 1803969536, 2076474752, 1893679872, 1346844672, 2002791424, 1845677056, 1150421504, 1273279872, 1993560448, 1695907072, 2145204352, 2147171968, 1140669312, 2105617536, 1273280000, 1725498880, 1366214784, 1169237376, 1782814464, 1865694080, 1198135808, 1253859072, 1285251456, 1424898688, 1665341184, 2135638528, 1477478656, 1827575680, 1542091904, 1867478272, 1089711360, 1889784576, 1693565184, 2063178624, 2038043008, 1197839104, 1943598336, 1561954816, 1907475328, 1148433920, 1827773696, 1962470528, 1093943552, 1678250240, 1260560384, 1633464704, 1525391744, 1315709696, 1888337152, 1414164480, 1635871616, 1282025600, 2075220352, 1168669056, 1194426240, 1576513664, 1740806912, 1167162368, 1571623040, 1107182208, 1322522752, 1288384384, 2030464768, 2102051584, 1201280256, 2084522240, 1536803712, 1557217408, 2007586304, 1264501120, 1852544128, 1252317440, 1111130240, 1392460032, 2129516032, 1165037440, 1110109824, 1241510016, 1732932096, 1580183424, 1850928640, 1336724096, 1175587584, 1703373952, 1283647872, 2056715648, 1513402880, 1521029248, 1288336000, 2128665984, 1530315776, 1241644160, 1875066496, 1170799744, 1088039936, 1169895296, 1469747456, 1845969152, 1244112000, 1185657216, 1204194560, 1450803200, 1556367104, 1107066368, 1702465536, 1433701376, 1195051136, 1259385216, 1296737152, 1168774656, 2024545280, 1816523392, 1634780032, 1253740672, 1166665216, 2060337920, 1610496000, 1583180800, 1793340288, 2132538368, 1901459200, 1239367808, 1457606144, 1194981760, 1194987264, 1532734336, 1675571840, 1650082176, 1314794240, 1599439872, 1491459840, 1085863808, 1203537024, 1093567744, 1107982592, 2058221696, 1745086592, 2099004032, 1369621888, 1895908992, 1905392256, 1167884672, 1544033792, 1485337216, 1513848320, 1314626432, 1730672896, 1143700352, 1579410176, 2130740096, 1459544960, 1590036352, 1667939200, 1597322880, 1195547776, 1157927808, 1544655616, 2112240512, 1847524992, 1886048768, 1595799296, 1999612928, 2003893248, 1844024960, 1428896512, 1694928384, 1566452096, 1784572160, 1971312896, 1770653824, 1309577728, 1135038208, 1579909248, 1288327168, 1185309696, 2041778304, 1746049024, 1210369152, 1144789632, 1711974656, 1254160640, 1157521792, 1080362880, 1289217920, 1424187264, 1114366208, 2058006144, 1271739136, 2098560640, 1213672320, 1276463744, 1162005376, 1278561664, 1129958272, 1191574784, 1159730560, 1605378432, 2141313024, 1320908416, 2024005760, 1794882304, 1903430272, 1510078464, 1618033280, 1110791552, 1082705920, 1443405952, 2056040064, 2116355200, 1156554752, 1274453376, 1513707264, 1339289344, 1110890752}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {253818, -5059, -515, 164201, -479, 72211, 9625, -1252, -1171, 127960, 107470, -1318, -347, -107, -1285, 1774, 226726, 148529, 125002, -570, 155391, 167894, 56, -392, -1887, -961, -23996, -69881, -978, 82944, -1094, 255342, 4023, 14696, 163960, 119195, -1950, 222257, 222645, 81081, 109841, -230, 30, -978, 72100, 472, 78755, 151996, 80430, 126659, -243, -2610, -538, 130454, 315621, 158210, 460537, 206864, -1537, -321, -746, -10993, -2139, 172100, 158677, 13, -28172, 278377, -1145, 102818, 87743, -2314, -3391, -2360, -60, 222714, -1546, 176236, -1542, 89541, 36, -1347, 307219, -3025, -246, -85, 476105, -779, -382, 221794, 120060, -4961, -1104, 158318, 56922, -1293, 60526, -1212, -194, -2158, -1190, -4790, 72888, -756, -1937, 180893, -63353, 209503, -1379, -7, 296226, 167960, -583, -12640, 111349, 2305, -580, -13487, -2135, 237101, -2640, 194732, -304, 228551, 187516, -1201, 96277, -1985, 500, -181, 287074, 144461, -2328, 1144, -2737, -954, -539, 67920, -1388, -76, 179304, -13703, 27267, -1406, -129, 71, -82361, -1008, -769, 159216, 3235, -17365, -1915, 63598, 130078, 231984, 161997, -62, 104167, -1388, 194152, -7586, -10917, 8887, 1935, -1541, 136140, 94064, -10288, 102982, -1018, 250025, 156006, -192, -21691, 4061, 175424, 215664, 141515, -42576, 245982, 204800, -824, 68237, -2867, 371538, 170261, 89557, -1279, 6723, 268151, -1977, -1846, -1087, -1246, -467, 119251, 65690, -558, 1744, 451165, -1548, 255795, -123, -243, -1929, -260, -3351, 56862, -14694, -4028, -65, 242045, -2162, -14959, -1285, -1088, -1437, -1471, 121142, 52398, -2912, -4632, 224711, 146924, -1274, 178572, 5353, -1817, -6105, -28301, -7113, -1332, 152838, 45181, 310875, -2922, 171486, -73, -78, 792, -13592, -2615, -173, 6483, -1423, 78803, -1353, 1073, -10307, 70593, 57411, -456, -624, 23592, 240593} +#define CONV26_WT {0} +static const uint8_t CONV26_W_Z[] = {-685, -97, 196, -606, -113, -426, -174, -108, 204, -360, -457, 333, -111, -182, 260, -97, -510, -502, -471, 153, -443, -426, -96, 268, 172, 160, -30, 142, 145, -396, 167, -408, -134, -64, -444, -586, 75, -666, -428, -451, -314, 337, -195, 184, -445, 99, -325, -381, -465, -466, 133, -108, 275, -358, -510, -385, -785, -453, 233, 25, 261, -66, 200, -508, -442, -128, 309, -651, 154, -445, -340, 160, -104, 259, -67, -439, 141, -411, -119, -487, -84, 302, -565, 383, -115, -116, -586, 130, -122, -470, -439, 209, 146, -464, -313, -100, -309, 199, 170, 231, 153, -106, -438, 142, 176, -516, 385, -699, 130, -194, -731, -568, 269, 205, -422, -138, -102, 142, 363, -577, -120, -421, -190, -659, -500, 190, -379, 187, -140, -205, -502, -381, -108, -119, 297, 320, 177, -460, 218, 192, -380, 272, -173, 246, 104, 294, 138, 193, 125, -607, -129, 126, 329, -446, -328, -500, -692, -116, -401, -115, -419, 101, 206, -118, -149, 248, -386, 239, 350, -464, 145, -574, -484, 307, 251, -110, -467, -682, -421, 123, -433, -488, -129, -434, 456, -1008, -530, -391, 363, -122, -559, 272, 177, 318, 364, -116, -412, -414, 93, 353, -659, 199, -665, 265, -196, 257, 33, 197, -328, 115, 173, -147, -550, 277, 221, 123, 141, 265, 153, -525, -341, 270, -105, -614, -529, 185, -451, -115, 157, 156, -15, 345, -96, -576, -337, -690, 217, -516, 141, -133, 436, 93, 133, 226, -117, 195, -434, 239, -97, 168, -401, -428, 193, 106, -337, -656}; +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +static const int32_t CONV26_M_ZERO[] = {1612308096, 1214901632, 2029526784, 1176395520, 1256091904, 1423280768, 1586874112, 1823007104, 1135992576, 1136277504, 1393652096, 1184265216, 1264901120, 1692803456, 1679503232, 1679388672, 1366255488, 1293633152, 1797028224, 1538229632, 1081184000, 1319819008, 1814530560, 1606498816, 2087554816, 1312440832, 2060611584, 1682031744, 1687403904, 1115497216, 1116936192, 1440045312, 1829644544, 2102484864, 1873603072, 1317486336, 1448714624, 1913283712, 1317709312, 1795431296, 1474273152, 1388654336, 1539341824, 1705097472, 1891485440, 2122821120, 1136507904, 1636746368, 1707048832, 1658668288, 2039453312, 1377376128, 1181587712, 1605509504, 1157691904, 1567321856, 2145575040, 1165770496, 2036157824, 1319087744, 2008640128, 1448650112, 1481003648, 1413661824, 1671953280, 1850069888, 1238702080, 1742682496, 1404100992, 1662537856, 1783044096, 1114253056, 1539113088, 1425412736, 1680514688, 1638513408, 1398041984, 1440372992, 1479944960, 1794385920, 1575485952, 1615606016, 1595250944, 1307035008, 1522138240, 1120871168, 1802875264, 1631594880, 2124568192, 1567160448, 1474037760, 1179132544, 1262606208, 1732134400, 1437824640, 2023657344, 1551135104, 1365003392, 1446178176, 1401789056, 1453573248, 1807416576, 1146543872, 1699628032, 1113980416, 1144476160, 1849113856, 1597019392, 1529237248, 1376330368, 1489333760, 1154320512, 1787151360, 1168863360, 1525920256, 1704613632, 1212201088, 1862440064, 1317519488, 1515805696, 1491233664, 1839968896, 1173480192, 1194976000, 2003103360, 1448322432, 1654705920, 1865163264, 1140770944, 1987291392, 1437757056, 1630680320, 1322728960, 1091521408, 1196033152, 1784743808, 2092953344, 2014876672, 1276127488, 1851432832, 1352535808, 1324783232, 1430105472, 1662053248, 1093860480, 1189944320, 1091797120, 1357053568, 1990655872, 1873222784, 1322490624, 1375312384, 1234472832, 1266157312, 1402072704, 1915917696, 2065371648, 1886838016, 1605293824, 2026882176, 1387177856, 1617709312, 1119957632, 1780972416, 1664410496, 1610536960, 1958272512, 1355166976, 1200970496, 1092593024, 1535869696, 2114626432, 1117919744, 2021553408, 1565755264, 1923814528, 1282013824, 1642510592, 1485109504, 1532742656, 1864434176, 1281523712, 1524111360, 2061363456, 1560144512, 2052908416, 1169866752, 1722469248, 1355216896, 1984477056, 1844018176, 1345038080, 1192524032, 1832044544, 1529509120, 1221937664, 1405377920, 1959723520, 1431544192, 1781565440, 1740916352, 2009329024, 1991926016, 1778190336, 1601558272, 1295576192, 1802725632, 1701214976, 1277888128, 1125292800, 1792294144, 1232497152, 1395106176, 1560499968, 1515658368, 1385456768, 1872198272, 1797213056, 1677431424, 1376223744, 1362309248, 1197009664, 1822966912, 1148631296, 1397377408, 2046711808, 1470986496, 1150334208, 1354445568, 1693634816, 1922778112, 1301624192, 2038540288, 2008502656, 1794421888, 1083811456, 1404174592, 1115999104, 1748264064, 1665814144, 1533924608, 1383079296, 1235972736, 1114838272, 1244521344, 1376056576, 1189336960, 1160525184, 1930700032, 1659255936, 1189039360, 1211421696, 1993150720, 1764285824, 1415875712, 1481683072}; +static const int8_t CONV26_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {-14713, 19043, -18796, -31730, -16207, -1278, -12547, -40146, 13974, 26597, -17098, 21177, 1501, 24461, -38705, -5584, -19876, -1862, -12880, -35898, 14349, 41877, -280, 4709, -15532, 11365, -5135, -2610, -21309, 11746, 22204, 12810, -22375, 21265, -28600, 6222, 36, -18430, 2769, -29412, 22399, 26901, 4333, -34365, -13457, 24967, -32626, 2646, 5568, 16335, 37504, 4069, 10717, 14675, -40463, -2831, -18178, -7516, 28783, -5863, -17044, 7199, -19247, 9747, 5633, 19336, 16540, -4582, 6414, -11740, -12778, -12919, 34727, -15930, -8549, -12151, 33910, 26702, -6614, 8811, -19655, -1497, -25620, -30803, 15207, -18506, 26934, 6495, -2955, -23360, 15732, 16957, 25874, 379, 7127, -17856, -24769, 18015, 28674, 18309, 21923, -45334, 793, -2515, -23005, 35064, -22997, 12198, 17266, 22335, 35352, 4944, 28630, 31255, 32014, -29253, -49247, 12712, 16725, -26118, -9273, 18244, 3790, -22483, -6985, 19641, -37203, -9690, 3214, -20587, -10637, 21059, -11395, -31644, -17691, -10707, -6975, 27173, -28855, 1636, -7310, 21877, 4325, -20836, 12586, -17341, -24888, 16784, -16176, -16025, 28249, 21253, -19596, 13663, -50541, 64062, 26261, -18787, 23651, -39399, -4083, -4203, 24456, 9450, 2691, 9799, 19755, -10065, -13137, 4106, -15247, 7798, 9417, -12295, -29266, -4972, -12198, -28944, -25925, -34329, 2291, 52058, 17821, -31050, 40553, 11090, 2706, -37932, 23836, -3834, -660, 25026, -12431, -37631, -42584, -12798, 43234, -50726, -14265, -18494, -29530, -19195, -10433, -9752, 15812, 23521, -16112, 10422, -20349, -29627, -10583, 9081, -30872, -4200, -8928, -29105, 23075, -9870, 7273, 35220, -28464, 2896, -5727, 14783, -3423, -18290, -38020, -15300, 10858, 10366, -28832, -5029, -42840, 14240, -18712, 33205, 21258, -17083, 10370, -25564, -8996, -10089, -12148, -3829, -1740, -19784, -24349, -4434, 1240, 3103, -3971, -16557, 33064, -7155, -45993, -4096} +#define CONV27_WT {0} +static const uint8_t CONV27_W_Z[] = {-144, -140, -68, -155, -149, -131, -128, -114, -145, -104, -134, -146, -164, -168, -128, -140, -126, -147, -143, -98, -119, -131, -125, -159, -136, -129, -148, -147, -134, -157, -170, -121, -160, -168, -135, -133, -143, -131, -40, -132, -142, -134, -140, -146, -135, -173, -133, -132, -215, -155, -149, -116, -107, -137, -170, -141, -107, -110, -173, -151, -141, -133, -147, -132, -127, -167, -170, -116, -126, -143, -181, -147, -135, -116, -157, -112, -106, -140, -155, -131, -133, -104, -106, -135, -121, -133, -183, -186, -133, -111, -126, -162, -140, -149, -131, -133, -127, -124, -167, -125, -151, -142, -126, -122, -144, -149, -128, -167, -131, -143, -154, -151, -120, -160, -130, -150, -122, -171, -161, -149, -120, -116, -162, -138, -167, -178, -106, -126, -135, -124, -141, -149, -122, -156, -97, -142, -138, -134, -109, -133, -143, -204, -149, -142, -163, -162, -156, -146, -137, -157, -138, -126, -84, -153, -131, -125, -110, -92, -125, -117, -139, -155, -123, -128, -118, -111, -136, -105, -147, -137, -134, -127, -154, -130, -120, -157, -150, -142, -102, -144, -126, -122, -119, -139, -135, -152, -131, -123, -111, -126, -121, -152, -145, -129, -148, -157, -137, -145, -167, -134, -155, -134, -155, -114, -174, -158, -152, -152, -110, -131, -124, -157, -129, -143, -136, -131, -143, -144, -149, -151, -117, -120, -171, -162, -110, -110, -121, -109, -152, -164, -138, -161, -110, -127, -147, -141, -130, -136, -151, -123, -132, -129, -126, -147, -135, -151, -141, -126, -125, -165, -159, -135, -177, -118, -144, -142}; +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1893690880, 1620074752, 1412913920, 2114335616, 2005385984, 1578166912, 1456103680, 1925592704, 1912602880, 1783172864, 1766420864, 1174386560, 1398876800, 1916148608, 1420010368, 1988756864, 1377314304, 1077749248, 1803408256, 1854922624, 1503178880, 1603876096, 1613480064, 1113191936, 1657086208, 2069805312, 1774354560, 1587661824, 1596515456, 1851433088, 1102987648, 1697498752, 2028075776, 2121432192, 1125325568, 1232336256, 1648446336, 1696498304, 1714386432, 1854123008, 1952683264, 1517538304, 1618481664, 1512236032, 1768750080, 1902272000, 1677685632, 1635764992, 1141230976, 1113404288, 1593192576, 1113629440, 1837187328, 1550137472, 1495768320, 1725177216, 1561679872, 2071655040, 2013769216, 2094844672, 1676168192, 1844270976, 1293456896, 1627506688, 1638776448, 1118245120, 1104787968, 1610891136, 1133217792, 1537491200, 1159586304, 1888929536, 1667678464, 1074267904, 1641169536, 1935161216, 1923494400, 1587225472, 2130113280, 1472752256, 1774299648, 2021226496, 1930344960, 1688733184, 1771126912, 1441942656, 1325928832, 1208636800, 1731282048, 1753605504, 1986293120, 1987784064, 1565816960, 1120053632, 1863488512, 1826041856, 1529608320, 1498271616, 1204797696, 1529074048, 1201235072, 1089673216, 1993699840, 1943783808, 1079506048, 1703213056, 1425103488, 1918497792, 1146139008, 2036105216, 1773985280, 1566518912, 1933880192, 1868591616, 1860162816, 1728693376, 1945492480, 1385257344, 1110203648, 1575267712, 2119009408, 1704662272, 1248272384, 1517387264, 1265136640, 1117866624, 1989500288, 1994860416, 1917305728, 1876608384, 1532675968, 1634522112, 1764290560, 2111967872, 1757803904, 1788711680, 1858635136, 1683148800, 1877273472, 1364766080, 1712444544, 1273658368, 1437410688, 1361297024, 1737381888, 1845328640, 1985540992, 1327724928, 1825930240, 2072364544, 1489701376, 1909964416, 1976358400, 1717146368, 1645460736, 1310006400, 1208054656, 1923963904, 2015928576, 1333598080, 1833067008, 1550214400, 1596680192, 2129276928, 1108339968, 1714503168, 1444685184, 1747322496, 1644289920, 1559036928, 1536452864, 1532514560, 1994194560, 1429736832, 1699251456, 1265583744, 1873929600, 1704885120, 1536311552, 1868614400, 1864895488, 1767135104, 2109855872, 1783368576, 1616584448, 1196247936, 1490154880, 1893235968, 1832518272, 1878125312, 1644756352, 1705093120, 1615216384, 1723781760, 1117637888, 1496894848, 1832763904, 1567289088, 1207970688, 1609939200, 1972670464, 1798045056, 1513523200, 1565566848, 1870011008, 1277710976, 1879816704, 1631041408, 1774040192, 1795809664, 1898724992, 1569193472, 1579080192, 1562509696, 2031398912, 2013885952, 1460458368, 2116702592, 1806272128, 1512928512, 1900561280, 1577067136, 1834564480, 1701564672, 1271355520, 1911692416, 1133742336, 2049103488, 1924542976, 1892325504, 1860192128, 2089602688, 2036272384, 1738515712, 1662696704, 1925997824, 2105451776, 1733408128, 1787473792, 1662981888, 1383091456, 1673630080, 1277244928, 1340438528, 1080511616, 1894487040, 1933717888, 1751508224, 2131560064, 1521993984, 2024899968, 1103744000, 1721690496, 1946157824, 1775341184, 1594617600}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-314, 2153, -6941, -2287, 8135, -528, 4000, 1544, -446, -3713, -2997, -4400, 562, 2662, -517, -1236, -2176, -2052, 2291, -2070, -1366, 6006, 6297, 4374, 1005, -204, 5748, 2604, 1412, -1503, 3807, 246, 638, -2464, -237, -9450, -2007, -3792, 2853, 930, 316, 1140, 3389, -2100, -1444, 2652, 4361, -1132, -5084, 1492, 1239, -3581, 2139, 4065, 987, -1714, 4092, -1179, 5195, 3467, 1890, 2134, 1555, 3903, 1721, 5052, -4919, -1416, 1159, 3226, -5638, 4634, 2951, 2227, 1957, 8255, 5351, 6491, 4611, 3887, -3471, -828, 3641, -11026, -781, 232, -3600, 3325, 2977, 5352, -1942, -4235, -464, -1742, -1222, -5932, 3419, -3777, -6146, -4787, -1508, -4626, 1680, 5175, 2775, 1958, 5184, -673, -4651, -9705, -8676, 15205, 7139, -463, 4265, -11812, -7878, 811, -1671, -3449, -1655, -5522, -6912, -4377, -2185, -7511, -2379, -3700, -732, 2509, -910, -2632, 2981, 726, -7940, -3930, -5895, -3876, -4769, -6107, -4176, -2341, -2498, -4666, -2473, -1443, -4355, -9302, -2882, -3772, 2285, 11, -8534, 6940, -3209, 2933, -72, -9708, -6900, -2516, -3597, 6276, 6807, 3026, -2385, -2928, -2112, -8228, -2311, -7746, -1928, 7410, 930, -1900, -624, -9859, -6489, -5513, 8750, -565, -3228, -2602, 1224, 333, 3394, 3981, 1446, 3432, -5268, -1080, -2630, 6087, -1593, -5530, -5166, 12932, 1879, 242, -5061, 2791, -7146, 2295, 6194, 5516, 4386, -3315, -4298, -8125, -5565, 6381, -5428, -272, -2431, -543, 1673, -4562, -809, 6939, -1807, -3302, -1649, -2184, -4884, 8886, -3279, -1887, -2650, -7082, -7953, 5260, -4021, -10294, -7815, 1662, 1728, -2334, 2747, 6192, 2788, 5488, -2325, -2919, 319, -5863, -6741, 2595, -5721, 1956, -2711, -3665, 1441, 4904, -3064, -2281, 9297, -9441, -1746, -637, 660, -3157, 1080, -2505, -5552, -2744, -3419, 1416, 1656, -4557, -7222, 3245, 5503, 1343, 5537, 3303, -4262, -4515, -100, 2105, -3799, 898, 4236, 8713, -5016, -249, 6665, 5772, 4368, 1182, -942, 1278, 276, -5534, -2084, -992, -1138, 2401, 3007, -3844, 1956, 867, -7220, -1527, -7167, 93, -12264, 3889, 1478, -4000, -426, -8437, -2670, -4542, -3427, 6384, 6098, 3525, 557, -4919, 2522, -3136, -4761, -8380, -12199, -8321, -4421, -8296, -11999, -1263, -3643, -2194, 3035, -459, 1390, 832, 3170, -1485, 140, -2333, -7675, -3239, -233, -3229, -2549, -1467, -3434, -3065, -241, -1265, -4640, -736, -1232, -827, -4092, -2488, 4850, -4799, 876, -298, -133, 4244, -1403, 4805, 3965, 287, -412, 2656, 530, 4060, -1982, 2170, -3075, -4258, 290, 3208, 2947, -434, 2962, -296, 3374, 4105, -1396, 5901, 4446, 1655, -4875, 3384, 1835, -3344, -2331, 543, -1599, 6989, -7744, -4409, -2679, 2020, -4291, -3399, -9585, 7850, -1878, 3456, -500, -1576, -10718, -836, -3155, -4328, -8466, -1565, 1651, -5373, -1852, 6091, 3240, 417, 7498, -4034, 1796, 3567, -1668, 1274, 2295, 8970, 13067, 5198, -5041, 466, 833, 4731, 912, -1708, 3461, 770, -93, -208, -3705, -5734, 2608, -5763, 4234, -272, -1309, 1896, 329, 3987, 2169, -821, 5381, 36, 357, 1376, 545, 2605, 2311, 371, 2827, 2905, -1818, 3567, -4263, 2274, 3, -987, 9098, 12150, -1495, -2043, 1981, -5336, -3054, -2299, -3400, 2837, -4544, 1313, -4386, 748, -885, -4911, 4190, 3775, 357, -1731, -7353, 1308, 3092, 550, 55, 8444, 1814, 5653, 3898, -2777, -6108, -2235, 3337, -7878, 403, 13445, 6568, 293, -3375, -2697, 5178, 47, -1004, 618, 2333, -3680, -3650, -6397, 103, 915, 2329, 5739, -3199, -4365, 898, 8311, -6230, -2117, -4274, 9378, 560, 270, 4222, -3677, -147, 7295, 4548, -2594, -22, 3467, 5912, -2317, -5060, 4029, -1501, 2557, -4462, -787, 2071, 1146, -4740, 10867, -1307, -8998, -2277, 11597, -3540, 3254, 2841, 18, -2124, -365, -4619, -1157, 2758, 1516, -4037, -1000, -1750, 4130, -7293, 2610, 3388, 1995, 6800, 1559, 3351, -4283, -1307, 2700, 3346, 4559, 2839, 5853, -1088, 4720, -1191, -6967, -2943, -3601, 3881, 3712, -200, 10694, 593, -64, -5512, 4085, -1252, 5540, 2310, -7045, 7199, 4902, -5983, 3292, 9328, -250, 2929, -602, -781, 2634, 9248, -666, 3823, 1205, 2065, -171, -945, -2634, -2500, 2555, 27, 4348, 7316, -2757, 3900, 4379, 3523, 14072, 1377, -878, 3517, 3486, -2767, 278, 3635, 42, 6816, 6215, 3653, -1521, 2400, -2321, -605, -3599, -8381, 7, 1399, 776, 1953, 1024, 2506, 1212, -592, 1682, 5417, 4069, 179, 957, 935, 8435, -5183, -3887, -2986, 4994, 2472, -4424, 3326, -5960, 3968, 216, -1766, 1296, -7149, 4801, -796, 7071, 975, 2574, 2921, -2807, -11614, 12132, 8091, -2865, 1894, 6340, -1128, 4094, -526, 2689, -712, -270, -8447, -4728, -3716, 2886, 3322, -3618, 1908, 5694, 4776, -5229, -3660, -5679, 7406, -4998, 3251, 7937, -3286, -7093, -4001, 1778, -11347, -4008, -3582, 8083, 4236, 7426, 5912, 1537, 4720, -8525, 1057, 2843, 7901, -3178, 5149, -3926, -6267, -4147, 7710, -4202, 878, -1322, -4395, 1221, 1895, -3315, -3566, -283, -315, 1379, -3892, 3319, 2141, 7662, 1064, 2554, -5883, 2612, 5450, -165, -3081, 9184, 4196, 1946, 6233, -1078, -1101, 220, -1096, -3296, -767, -2169, 5752, 180, -1816, 6754, 11847, 2781, -7142, 1163, 721, 5214, 6447, -8973, -4441, -1879, 8423, 3743, 6228, 11596, -8277, -1076, -3095, -1762, 1076, 6841, 5090, 3887, -3406, -824, 9134, -6077, -12644, 5043, 5303, 2769, 9059, -2572, 2857, 6998, -447, 4985, -2179, -5407, 1076, -2085, -4935, 2472, -2188, -8390, 2755, -3421, -5379, -5502, -2778, 2689, -4616, 380, 960, -7491, -438, 3337, -3593, -2254, 3620, 6088, 7035, 4951, -607, -7376, 6378, -3212, 6087, 2669, -4638, -4583, 9704, -12167, 8339, 9317, 1187, 1084, -1131, 277, 7237, 2691, 6636, 11509, -5919, -2477, 3799, -3519, 3504, 2167, 370, 3580, 3008, 8666, -7770, 641, 4732, 6032, 295, 2450, -2103, -2199, -4577, -2742, 91, 547, 3205, -1365, 446, -9477, 656, -4706, -9667, 1868, 1451, 983, -6353, 8624, 11354, 1752, -1108, -4666, 1805, 25940, -6396, -4367, 2609, 251, -253, -390, 9909, 4052, 1124, -1742, -4756, 2797, 4011, -2252, -7383, -1877, -3297, 8969, 9356, 10413, 4898, 3324, -5006, 1090, 2400, 16761, -5563, 463, -4047, -1933, 2330, 4300, 1469, 2522, -2603, 2130, 6240, 465, -8154, -2579, -7080, -230, -247, 5275, -595, -3462, 1620, -4910, -4629, -236, 7131, -2238, 1359, -6048, -1349, -1192, -2338, -810, -3079, -1535, -5880, -5045, 1396, 329, 40, -230, -3604, 2427, 3881, 1669, -4394, -302, 3204, -9832, 1076, 4680, -89, 2486, -5724, -1517, 1381, 1703, 2246, -3098, -501, 6712, 3313, -4587, 852, 870, -1140, 8571, -183, -659, 2537, 1083, 5216, -5441, -3029, 3308, -4064, -4099, -817, -7498, -2384, -5053, -4778, -13943, -3170, -6811, -1345, -6165, -3091, 5160} +#define FC28_W_Z (164) +#define FC28_IN_Z (0) + + +#endif /*__224_0_25_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/224_0_5_parameters.h b/Inc/intq-mobilenet-v1-models/224_0_5_parameters.h new file mode 100644 index 0000000..39e75a3 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/224_0_5_parameters.h @@ -0,0 +1,361 @@ +#ifndef __224_0_5_PARAMETERS_H__ +#define __224_0_5_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (224) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (16) +#define CONV1_OUT_DIM (112) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (112) +#define CONV2_IM_CH (16) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (16) +#define CONV2_OUT_DIM (112) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (112) +#define CONV3_IM_CH (16) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (32) +#define CONV3_OUT_DIM (112) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (112) +#define CONV4_IM_CH (32) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (32) +#define CONV4_OUT_DIM (56) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (56) +#define CONV5_IM_CH (32) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (64) +#define CONV5_OUT_DIM (56) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (56) +#define CONV6_IM_CH (64) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (64) +#define CONV6_OUT_DIM (56) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (56) +#define CONV7_IM_CH (64) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (64) +#define CONV7_OUT_DIM (56) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (56) +#define CONV8_IM_CH (64) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (64) +#define CONV8_OUT_DIM (28) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (28) +#define CONV9_IM_CH (64) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (128) +#define CONV9_OUT_DIM (28) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (28) +#define CONV10_IM_CH (128) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (128) +#define CONV10_OUT_DIM (28) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (28) +#define CONV11_IM_CH (128) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (128) +#define CONV11_OUT_DIM (28) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (28) +#define CONV12_IM_CH (128) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (128) +#define CONV12_OUT_DIM (14) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (14) +#define CONV13_IM_CH (128) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (256) +#define CONV13_OUT_DIM (14) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (14) +#define CONV14_IM_CH (256) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (256) +#define CONV14_OUT_DIM (14) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (14) +#define CONV15_IM_CH (256) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (256) +#define CONV15_OUT_DIM (14) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (14) +#define CONV16_IM_CH (256) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (256) +#define CONV16_OUT_DIM (14) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (14) +#define CONV17_IM_CH (256) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (256) +#define CONV17_OUT_DIM (14) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (14) +#define CONV18_IM_CH (256) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (256) +#define CONV18_OUT_DIM (14) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (14) +#define CONV19_IM_CH (256) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (256) +#define CONV19_OUT_DIM (14) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (14) +#define CONV20_IM_CH (256) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (256) +#define CONV20_OUT_DIM (14) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (14) +#define CONV21_IM_CH (256) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (256) +#define CONV21_OUT_DIM (14) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (14) +#define CONV22_IM_CH (256) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (256) +#define CONV22_OUT_DIM (14) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (14) +#define CONV23_IM_CH (256) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (256) +#define CONV23_OUT_DIM (14) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (14) +#define CONV24_IM_CH (256) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (256) +#define CONV24_OUT_DIM (7) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (7) +#define CONV25_IM_CH (256) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (512) +#define CONV25_OUT_DIM (7) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (7) +#define CONV26_IM_CH (512) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (512) +#define CONV26_OUT_DIM (7) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (7) +#define CONV27_IM_CH (512) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (512) +#define CONV27_OUT_DIM (7) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (512) +#define FC28_OUT_CH (1000) + + +#endif /*__224_0_5_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/224_0_5_weights_bias.h b/Inc/intq-mobilenet-v1-models/224_0_5_weights_bias.h new file mode 100644 index 0000000..f2a4c44 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/224_0_5_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __224_0_5_WEIGHTS_BIAS_H__ +#define __224_0_5_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {37160, 29611, 44339, 51150, 77205, -1454, 17853, 19007, 21128, 20154, 23604, -26881, -9594, -945, -52048, 57003} +#define CONV1_WT {0} +#define CONV1_W_Z (137) +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +#define CONV1_M_ZERO (1629926016) +#define CONV1_N_ZERO (7) + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {65, 775, 1313, -1247, 1265, -154, -200, 225, 197, -385, 1236, -453, -241, -20, -58, 1263} +#define CONV2_WT {0} +#define CONV2_W_Z (137) +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +#define CONV2_M_ZERO (1431657856) +#define CONV2_N_ZERO (1) + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {19965, 4734, -20744, -7321, -369, -13426, -14011, -1829, 18185, -6339, 21052, -1040, 15271, 9330, -3355, 5217, 20553, 11807, 4987, 34785, 16368, -934, 17179, 6886, -7134, -3410, 14404, 6910, 13872, -2279, 6140, 13101} +#define CONV3_WT {0} +#define CONV3_W_Z (156) +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +#define CONV3_M_ZERO (1091960704) +#define CONV3_N_ZERO (8) + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {20, 202, 154, 60, -26, 15, 353, 102, 78, 31, 113, 137, 7, 300, 150, 219, 36, 42, 49, 108, 45, 27, 0, 6, 154, 14, 156, 133, 170, 60, 100, 292} +#define CONV4_WT {0} +#define CONV4_W_Z (200) +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +#define CONV4_M_ZERO (1509106816) +#define CONV4_N_ZERO (-1) + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {-2802, 9847, 4418, 2911, -15775, -11837, 24549, -10858, 65, 4530, -1061, 10752, 4791, 8748, -10814, -498, 859, 14430, 12805, -6017, -1712, -678, 5964, 13828, 1610, -3479, 765, 148, 9209, 300, 7658, -196517, 1190, -3300, 3845, 3597, 7378, -5730, -7904, 13179, 6564, -5784, 4219, 5716, -4708, -19786, 2518, 3094, 20527, 12383, 10662, 10814, 2032, 4913, -1585, 16385, -3862, -2167, -198, 2149, -12741, 20698, 16632, -12398} +#define CONV5_WT {0} +#define CONV5_W_Z (110) +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +#define CONV5_M_ZERO (1728124672) +#define CONV5_N_ZERO (5) + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {-22, 734, 231, 2382, -350, 1544, 611, -885, 1137, 811, 239, 665, -36, 576, 2430, -1958, 52, 382, -159, 522, 1598, 472, 69, 306, 3252, -501, 111, 2143, 549, 2873, 86, 2266, -34, -52, 3154, 77, 110, 0, 229, 2088, 2195, -852, -115, 1000, -6, -299, -1098, 821, 267, 5038, 167, 37, 313, 303, -327, -9, -744, 940, -475, 213, 992, 346, 1162, -992} +#define CONV6_WT {0} +#define CONV6_W_Z (101) +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +#define CONV6_M_ZERO (1324106240) +#define CONV6_N_ZERO (2) + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {4391, 2202, 9746, -1682, -17944, -2888, 2676, -7827, 5297, -2183, -5197, 5045, 806, 1943, 688, -5096, -2835, 9129, 11716, 876, -3467, 670, -13043, -17246, 1677, -4257, 1867, 4599, -28, -694, 345, 3230, 2097, 7169, 8435, 1854, -1629, 5230, -5786, -1393, -8850, -11717, 7484, 2930, -8355, 381, 1806, 6170, 2467, -9025, 11503, -2403, 3617, 6332, 266, 17086, 12473, 1885, -717, 10087, 7393, 7618, 5992, 2631} +#define CONV7_WT {0} +#define CONV7_W_Z (120) +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +#define CONV7_M_ZERO (1619784448) +#define CONV7_N_ZERO (5) + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {947, -3396, 14395, 14188, 5509, -546, -3325, 1586, -2801, 1577, 4383, -3653, 6660, 2271, 14749, 1227, -37, 5750, 8011, 18027, 13900, 198, 5538, 15527, 6357, 896, 17, 9625, 12743, 13142, 12885, -107, 13211, -7909, 178, 40, 116, 14285, 13258, 6255, 529, 5583, -1240, 13860, 2987, 4624, 9493, -1083, 72, 2449, -4013, 1128, 234, 6495, 18769, 13968, 12690, 6001, -105, 1757, -7162, 1000, 550, 17651} +#define CONV8_WT {0} +#define CONV8_W_Z (114) +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +#define CONV8_M_ZERO (2014125568) +#define CONV8_N_ZERO (5) + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-13201, 9767, 16324, 10116, -4891, 16822, -7993, 16975, 16830, 9601, 2179, 13585, -46631, -12896, -5824, 10248, -12291, 13498, 1223, -15348, -8474, 2422, 2198, 12226, 21686, -28166, -5630, 250, 18688, 25027, 13387, -10152, 47080, 6533, 6819, -10750, 8093, 21326, 49656, 22145, 9760, 23519, -10559, 1160, 12213, 6225, -6506, 2929, 2301, 52093, -5642, -12776, -3519, -3827, -14545, 6265, 11925, 12206, -27381, 25782, 4108, 14611, 7043, 20644, 3224, 6360, 19666, 4109, 7324, 8904, 6652, 23324, 718, 9578, -53709, 10191, 5208, -6867, 9151, 27638, 11766, -8088, 6354, 6876, 2646, 10965, 973, 3096, 13251, -36711, 3042, -12308, 3053, 4300, -15, 15472, 8367, -18533, 2691, 6658, 20137, 5353, 4281, -7358, 14534, 30789, -3913, 7319, 11074, 19316, 26588, 6918, 12922, 529, 14761, 3828, 18018, -453, -491, 1841, 32609, 8724, 4777, 39744, 2702, -8023, 3670, 20293} +#define CONV9_WT {0} +#define CONV9_W_Z (111) +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +#define CONV9_M_ZERO (1309971584) +#define CONV9_N_ZERO (5) + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {2740, 5016, 2735, 2776, 1035, -1411, -7, -14, -1982, 922, -1954, -30, -1196, 10, 3609, 46, 2729, 4861, -140, 223, -211, 3069, 60, 1041, 892, -1070, -196, -1128, 1696, -153, 89, -13, -206, 104, -383, 2061, 3174, 2831, 1661, 2492, 1497, -650, 1063, -168, 932, -67, 1132, 2851, -19, -1156, -949, -125, 3729, 1146, -2313, 5753, 2127, -409, 1253, 292, 320, 1970, 40, -1901, -81, -29, 3498, 3064, -100, 3578, -702, 61, 257, 3938, 1203, -744, 786, -547, -1283, 3624, -120, -54, -179, 4205, 2830, 3071, -1190, -228, 2559, -573, 148, 2550, -2934, -932, 165, 3116, -228, 1296, -207, -369, 4291, 200, 3862, 4954, 2165, 2063, 2602, 3947, 5428, 108, 3764, 772, 18, 1346, -13414, 2445, -860, -188, 3505, 431, 1114, 2848, -2138, 495, 1919, 2620, -1918, -1094} +#define CONV10_WT {0} +#define CONV10_W_Z (104) +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +#define CONV10_M_ZERO (1517883648) +#define CONV10_N_ZERO (3) + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {7100, -231, -6286, 21394, -589, -6136, -26203, -5161, -1350, -30854, -1552, 6341, -17841, -4551, -5713, -2022, -9965, 10852, -787, 12027, 13813, -7138, 6851, 3032, -2054, 1595, -5792, 4619, 3784, 4047, 10696, 6610, 4124, -5799, -7482, -26800, 4162, -8755, 8072, -8745, -15486, 1083, 18320, 12494, -26581, -13683, 5698, 3753, -14242, -8346, 9057, 2502, 9945, 11301, 6191, -2195, 6007, -6217, -2707, 2133, -1656, -3879, -17493, -14471, -15553, 2796, 3870, 8447, -10826, -8867, -7529, 9804, 4778, -9136, -14292, -8425, -1455, -17025, -19168, -13098, 4354, 5918, -15195, -2828, -3499, 9360, 2854, 1578, 17868, -7100, -3297, -2435, -9746, 6072, 939, -17318, -7087, -8708, 144, 6468, -21047, -16582, 3896, -3584, -12948, -10499, -2248, -9564, 1034, -3869, -7307, -8421, -11160, -8882, 5370, -6315, 582, -16591, 7099, 3597, -15631, 9232, 4660, -4858, -161, -9764, -11592, 13146} +#define CONV11_WT {0} +#define CONV11_W_Z (114) +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +#define CONV11_M_ZERO (1169602432) +#define CONV11_N_ZERO (5) + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {31438, 13846, 9852, 9047, 67, 22050, -14, -6, 108, 9493, 1619, 110, 2215, 126, 2185, 7690, 10675, 22062, -255, 1856, 10637, 11494, 22789, 19188, -721, -2638, 5183, 11470, 29466, 21627, -5773, 105, 31064, 642, 8652, 2142, 10693, 1821, -269, 9687, 59, -6895, 23846, 19923, -193, -1455, 25498, -239, -150, -153, -108, 8222, 33470, 10517, 256, 9498, 9682, 94, 7802, 32636, 93, 27174, 12824, 299, 21780, 1048, 33268, 10323, 818, 2679, 12186, 25982, 28, 1070, -9802, 23815, 701, 8956, -116, 93, 18270, 521, 13565, -4104, 10222, 18212, 11652, -217, 31506, 1602, 11667, -286, 24890, -761, 371, -154, -1478, 10372, -480, 13972, -160, 462, 7522, 454, 13164, 1571, 8244, 9151, 18797, 17160, -146, 1679, 443, 291, 29833, 23003, 7865, -98, 25809, -42, 436, -2237, 16879, 1362, 12479, 17328, 327, 132} +#define CONV12_WT {0} +#define CONV12_W_Z (121) +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +#define CONV12_M_ZERO (1315208448) +#define CONV12_N_ZERO (5) + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {22847, 8492, 9416, 31044, 9845, 9450, 21582, 26774, 14775, 4325, -8609, 8581, 26903, -2246, 2715, 8329, 9951, 55002, -2236, 13488, -8435, 415, 16546, 571, 10284, 11491, -1588, 15278, 16925, -8430, 5370, 9405, 22738, 4458, 17057, 13906, 14241, -4707, 5246, 16324, 10398, 21287, 25698, 16853, 8780, 21424, 6053, 3655, 10033, 5274, 4521, 16145, 8394, 12426, 7785, 23735, 6843, 10662, 12346, 6803, 24005, 15232, -8195, 17964, 8212, 23607, 15563, -18925, 25286, 34449, -4733, -2669, 763, 14137, 965, 1618, 7792, 1324, -10563, -13312, 13558, 7888, -1781, -15238, -15930, 7362, 26989, 15122, 3507, -11838, 26072, 5725, 9480, 415, -344, 10901, 32872, -4914, 7990, 28157, 17459, 529, 4455, 18096, 13461, -949, 17750, 14989, 7507, 19395, 8360, -17790, -5242, 28336, 6622, 16294, 4601, 11856, 12469, 1847, 15533, 17135, 14643, 5942, 5305, 11775, 9471, 1589, 1492, -6323, 26945, 19701, 28833, -24484, 4632, 10945, 2208, -13483, 1151, 9573, 9680, 17283, 6171, -2630, 31028, 16055, 15859, 20168, 8754, 5260, -14495, 8628, 7627, 8162, -5705, 17032, 25145, -6617, 17784, 6131, 397, 9628, 16925, 12419, 18760, -6010, 11482, 21918, 19472, 6128, 22657, 18124, 10560, 18748, -16898, 7918, -12049, 6267, 14892, 8650, 14991, -38517, -3063, -13560, 1522, 7182, 20775, 8073, 3924, 1906, 20068, 16852, 14334, 438, 11061, 19407, 16703, -4259, -4099, 18475, -15609, 8006, 6492, 21359, 15816, 6088, 17225, 15085, 14717, 8495, -10138, 24442, 23809, 14696, 2197, 17755, 16269, 23113, 8947, 65310, 14309, 23835, 22021, 6055, 10511, 1326, 6260, 20111, 10407, 9380, 20504, -201, -11254, 13076, -8495, 12154, 19092, -9740, -42, -53, 23305, 3880, 9223, -13105, 20350, -1778, 188, 7962, 8900, 29017, -6376, 10712, 16830, -11947, 14680, 3290} +#define CONV13_WT {0} +#define CONV13_W_Z (129) +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +#define CONV13_M_ZERO (1705613440) +#define CONV13_N_ZERO (6) + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {619, 199, 481, -1169, -260, 4866, -1498, -1441, -477, 10132, 1645, -358, 831, 2391, 276, 2784, 6972, 2516, -327, 218, 2467, 1052, -229, -148, 6696, 6718, 204, 6939, 2234, -1376, 221, 654, -1243, 318, -147, -1, 466, 2282, 1446, 3169, 186, 7100, -219, 986, -2759, 1151, -1738, 205, 8459, -203, 1634, -1387, 6262, 3479, 5761, 376, -2377, 24, -1166, 605, 2047, 397, 277, 4857, 622, 241, 3256, -272, 3804, 2609, 2983, 735, 2339, -1084, 813, -54, 3318, 608, 252, -3738, 324, 6122, 4209, -116, 2910, -100, -4729, 1571, 71, 3088, 2695, 494, -1674, 6974, 469, 46, 435, 1886, 6091, 690, 9238, 1759, 56, 672, 55, 468, 365, 1284, 8525, 1021, 5193, -311, -1385, -473, 174, 835, -56, 230, -451, 3740, -34, 409, 2597, 244, 59, -76, -298, 1309, 517, 59, 255, 74, 863, -500, 413, -28, -452, 2621, 2523, -1461, 87, 106, 5738, 1914, 3601, 142, -4779, 1025, 4309, 206, -2869, 3240, 811, 2415, -3601, 1331, 2654, 39, 2797, 459, 1861, 44, -424, 444, 702, 115, 4939, 238, 2270, 6246, 1191, 585, 2363, -1431, -1912, 9105, 4493, 1376, 644, 10137, 29, 616, 1278, -1577, -1238, 3166, 346, 175, 8, -266, -246, 2963, 11895, -1335, -109, 2577, 3470, 2808, -2293, 720, 3570, 305, 35, 92, 1406, -2795, -2707, 113, 1288, 4, 656, 2753, 462, -479, 762, -911, 27, 406, -1168, 4293, -158, 3256, -750, 7682, 4555, 2094, 489, 206, 154, 1009, -999, 452, -2184, 7178, 18, 2929, -79, 3662, -1787, 2813, -3148, -8, -926, 911, -81, 2995, -357, 99, 3169, 4379, -677, -533, -1347, -3, 5548, 149} +#define CONV14_WT {0} +#define CONV14_W_Z (109) +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +#define CONV14_M_ZERO (1860888192) +#define CONV14_N_ZERO (4) + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {2663, -1839, 4364, 10107, 6308, 13314, 10967, 8777, 9459, 13289, 9323, -867, 10690, 1718, 6230, -4062, 11214, 16059, 126, 11808, -2374, 2604, 5566, 9139, 7282, 10383, 9536, 6520, -1026, 3990, 4927, -995, 2362, 9875, 4429, 11143, 18589, 8752, -9214, 10133, 17398, 4020, 9397, 1166, 2520, 2057, 9403, 10722, 8249, -10633, 9208, 16264, 1856, 23429, 16297, 12732, 5492, -2549, 6396, -821, 7087, 18747, -10099, 6216, 12023, 11377, -13115, 12236, -6639, -457, -7159, 18354, 3885, 7453, 2261, 15851, 8441, 13985, 12417, 3274, 1598, 4818, -3918, 12224, -14621, 10194, -9994, -5287, 6901, 24837, -14935, 11498, 13917, 13999, -1387, 10863, 8078, 11318, 11871, -3587, 13944, 8686, 15971, 9553, 10801, 6043, 16858, 1041, -4623, 4813, -865, 17195, 17037, 11049, 2425, -4863, -9376, -6358, 3245, -5563, -2965, 11155, 10304, 7793, 4951, -6998, 26487, -7407, 17667, -6843, 6781, -2610, -12725, 18260, 9107, 12867, -10862, -12922, -925, 8852, -1600, 12275, 14473, 11850, -7531, 5311, 11765, 5350, -1376, -20921, -7055, 6171, 6130, 3135, 5794, 6572, 7302, 14308, 3003, 7677, -4967, 12763, 7325, -14143, 7411, 19331, 10940, 3878, 2190, 3177, 12760, 9464, -5321, 13929, 8864, 598, -1831, 10472, 11735, -1105, 12479, 3199, -6366, 30, 3275, 9206, 2184, 16699, 9497, -424, 6498, 6, 11192, 10626, 12637, 2139, 18542, 11411, 4215, 5116, -17207, 8441, 10030, 20075, -3771, -3936, 22624, 4733, 10610, 28013, 2189, 7350, 4882, 7285, 15807, 5973, 7307, 14366, 8467, -1550, 5406, 10793, -173, 20389, -1319, 11579, 1216, -2034, -3315, 6236, -3817, 2045, 10546, 32, 7831, 942, 2087, 16125, 8562, 37, 6315, 7657, 9884, 4415, 13198, 8386, -12457, 12793, 4135, 7379, 4599, 6294, -21661, -6592, 10911, 8421} +#define CONV15_WT {0} +#define CONV15_W_Z (123) +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +#define CONV15_M_ZERO (1807368704) +#define CONV15_N_ZERO (6) + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {6128, -711, 3369, 422, -894, -368, -97, 2107, -1123, 10921, 4985, -840, -203, 5886, 5329, 4520, 7385, -3804, -599, 2261, 2302, 346, 354, -903, 2649, -2327, 1074, -6, -621, -2625, -1753, 3470, 5147, -267, -390, 605, -1993, -12896, -187, 8279, -1505, 1626, 2706, -663, -2729, -415, 5792, -308, -991, -1272, 3847, 4603, -286, 2578, -2821, -1066, -981, 3624, -489, 1220, 5207, -2069, -1663, 4520, -357, -6754, -689, -254, -199, 3619, 3457, 4098, 830, -580, 5651, 3050, -3202, -5297, 6715, 4409, 1660, -607, 3729, -940, 3877, 589, -1804, -1058, 1937, 2234, -1045, -2669, -851, -19, -863, 1465, 5062, 3426, 1271, 1657, -3368, 896, -311, 5347, -1315, 6205, 3498, -640, -19, -372, 6504, 5822, 8303, 6566, 2658, -2318, -387, 63, 1990, -1897, -455, -1539, 389, -180, -6878, -403, 1466, -2739, 1968, 4211, -3073, 2792, 3057, 2764, -2121, -9137, -3547, 2211, -1311, 2749, -625, -7002, -3891, 3211, 337, 5378, -671, 5878, 2259, -2096, 896, -153, -5858, -171, 2798, 6872, 8466, 1954, 2131, 1772, -2151, 3061, 4995, -1095, 5990, 1204, 1724, 7, 3832, -3639, -808, 3276, -337, 3050, 1341, 1475, -1393, -1022, 8885, 4421, 3731, -1172, -1972, -1589, -1517, 6294, 2708, -6, 7737, -1461, -791, 3252, -2815, 3150, -12763, 2294, 437, -404, 4687, 5331, -276, 1709, -3262, -49, 849, 5360, -33, 6118, 557, 2420, 775, 994, -805, 78, -1400, 7465, 964, 3249, 4771, -156, -664, -5960, -1775, -6, 2857, 1795, 1433, -2492, -2213, -739, -707, -2586, -3018, 2946, -8363, -1836, -31, 5171, 5395, -1144, -178, 4328, 838, 5066, 1094, -353, 540, 7400, 5486, -7488, 1920, -397, -1251, -983, 2063, -7478} +#define CONV16_WT {0} +#define CONV16_W_Z (117) +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +#define CONV16_M_ZERO (1858566656) +#define CONV16_N_ZERO (4) + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {7176, 11964, 11864, 4772, 15794, 13528, -5392, 10468, 6458, 3806, 8209, -4644, -148, 21419, 11084, -1556, 8081, 8444, 3703, 10531, -14953, 27703, -239, -4054, -19036, 9767, -6744, 2591, 13217, -7862, 5318, -3605, 2158, 4533, -16494, 1589, -27049, 15756, -9859, -4915, 4063, 14446, 20217, -5097, -5404, -4795, -13556, 2737, -14768, 15510, 666, 1837, -16757, 6823, -17143, -7281, 7585, -14905, 12512, -12143, 4256, 13464, -19123, -451, 13277, 2348, -28689, -2260, 8180, 18887, -5974, 4911, -10924, 7794, -32008, 13547, -296, 5201, 6586, 11039, 9375, -3877, 3741, -7930, -6309, 4054, 5409, 4602, 6710, 10952, 18460, 6252, -16034, -308, 12477, 869, -4432, 988, -9870, 6842, -608, 14940, -13565, 1562, 10489, 11946, 4678, 6481, -2813, 4222, 16615, 1836, 9967, 11537, -5047, 5036, -9900, -13883, -2051, -16537, -21041, -21448, -21663, -18597, -16890, -9682, 13584, -2956, 6703, 4200, 10374, -4281, -7260, 16250, 15513, 3160, 6692, -8601, 6021, -9944, -4663, 20153, 34440, -6162, 17010, 18201, -4366, -13976, 13201, 23363, -10786, -15884, -8920, 16742, 7524, -2521, 3331, 512, 3783, 500, -5994, -10139, -8125, -25419, 689, 9275, -12984, 7960, 17057, -33223, -4001, 5340, 13474, 17366, 5661, 14790, -20039, -15189, -9754, 5417, -3230, -7306, -1192, 11065, -15304, 539, 23828, 8684, 5387, -154, 1711, 5275, 5476, 10819, 380, 7460, 21459, 1284, 201, 7962, 6912, 1746, -9077, 12821, -11537, 6853, -2653, -18333, 4128, 19842, -11424, -5601, 2380, -8665, -2880, -30926, 3207, -11345, -541, 667, 2400, 6469, 11701, 4106, 9355, 876, 6952, -14541, -24030, -3911, -4253, -7732, 6670, -19209, -7052, 5717, -23688, -8353, 16469, -3032, -975, 24943, 3582, -1952, -20866, -12706, 3250, 6403, -5563, 5595, 5054, 4375, -14350, 16989, -4403, -1369} +#define CONV17_WT {0} +#define CONV17_W_Z (127) +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +#define CONV17_M_ZERO (1462088448) +#define CONV17_N_ZERO (6) + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {1995, 125, 2919, -3429, 13990, -869, -1342, -2202, 1626, 5488, 3752, 119, 5884, -772, 6123, -1745, 4127, 6436, -3824, 5537, -1082, 4772, 219, 119, 4974, 2209, 5920, -645, 5680, 5101, -1641, 5865, 3186, 5938, 2842, -6460, -6096, -364, 3615, -1071, -182, 5787, 6584, 3730, 4202, -566, -91, 5805, -2128, 8033, -2601, 4581, 5865, 2831, -2578, 5453, 2853, 3049, 4787, 416, -131, 3273, -981, -6280, 6095, -615, -696, -340, 4315, -2169, 3951, -942, -2590, -1399, -3778, 10492, 4521, -635, 2899, 5211, 1250, -133, -1957, -2103, -9063, 2882, 1889, -266, -625, 5565, 3016, -5100, -1816, 6258, -2337, 18, -1371, 6072, -1398, 4176, 5744, -3732, -515, 3792, 3697, -33, 200, 4181, -742, 3483, 9076, 3871, 5058, 11653, -1107, -6584, 5668, 2139, 6727, 393, 2432, -2972, 4828, -6441, 4212, -1691, 8185, -1028, -4014, -2412, 3469, 3380, -81, -1363, 9383, 3550, -1013, 5732, -754, 3719, 4705, 2808, 5309, -1195, -4106, 6646, 3139, -317, 4603, 2930, -3461, 4724, -1646, 4547, 7553, -2867, 3020, -2788, 4718, -837, -1043, -1246, 4020, -1640, 3692, -2432, 3243, -2987, 2698, -61, 2965, 6529, 5924, 2624, 2891, 6775, -871, -2876, 1658, -948, 4386, -2426, -1595, -1358, 6080, 5206, 2213, -5629, 4293, 3029, 4693, 5451, 5518, 1379, -3580, 6570, 6346, 2564, -81, -37, -611, -3724, -1952, 3925, -4458, 5234, -8034, 4461, 4336, -2050, 2635, 4187, 2471, -1542, 7729, 2557, -732, -1378, -3375, -1398, 6091, 4028, 6199, 4233, 8836, 5002, 9126, 5379, -3182, -725, 57, 3610, -1032, -388, 2237, 8909, -1207, -290, 7584, 2957, -5256, 5142, -2774, 7655, 3147, -5582, 10658, 4125, -673, 3705, -504, -764, -2952, 2947, -1654, -555} +#define CONV18_WT {0} +#define CONV18_W_Z (140) +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +#define CONV18_M_ZERO (1328486272) +#define CONV18_N_ZERO (4) + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {7065, 20974, 6633, -15207, 17750, -15657, -3780, -3661, 6926, 24575, 13181, 714, 21341, 13713, 14300, 15846, 7605, 3469, -12385, 21579, -20770, -7915, -7074, 15810, -14600, -17445, -8548, 6631, 6490, -5484, -364, -11081, -8146, -18900, 13367, 3700, 14597, 7948, 3723, 9224, 1632, 1105, 1113, 15789, -20679, -20424, -1524, -7647, -4023, -8068, 1280, 7530, -4966, -23249, 12963, 14471, 18480, -2933, -352, -8966, 10636, -5992, 3033, 10407, -6613, 5319, 12623, -19022, -2261, -18133, 6435, -9542, -546, 16419, 2697, -31246, 13670, -1694, -53188, 7344, 3814, 17286, 19139, -8304, -20621, -24593, -2994, 11174, -7969, -3000, -7550, -20512, -33390, 2993, -11725, 11440, -16231, 7814, -13782, -11089, 5358, -37083, 37, 6597, 12706, -13116, 11191, 4024, 3231, -30064, 33482, -38315, 8553, 2964, -14467, 39531, -3064, -7294, -9284, -2963, -34277, 20912, 8395, -2590, 12150, 22688, -28348, -23003, 11579, 2742, -1717, 3701, -7082, 4922, 2769, 2108, -10039, 35462, -18553, 12755, -4692, -14653, 28614, 14994, -6862, 24509, 16085, 14292, 2537, 1665, 12541, -22138, 20347, -10158, 18666, -3175, 17203, -17768, 3957, -9045, -11337, 4497, 11845, 5061, -1952, -13976, 14586, 5413, -18784, -7392, -15483, 794, -26176, -44410, -3362, 12493, -45283, 14827, -7753, 7602, -1767, 5581, 4405, 8830, -12294, 3720, 3722, 1886, -6487, -19255, -15778, 5163, 14116, -11541, -25041, -2460, -2483, 16912, 7685, 10306, 18743, 9081, -23083, -6866, -804, -22552, 11338, -15538, -8035, 3142, 6189, 19652, -16838, 29258, 20126, -7563, 11202, -29241, -8450, 5734, 7331, 13209, 7191, 7925, -21242, -25333, -21294, 28136, 29759, -19951, -16766, -13457, -15222, -16601, 12344, -35819, -16907, -21029, -23838, 12006, 2875, 3359, 22366, -9044, -1888, -9987, -16121, 15508, -2932, -14259, -2192, 587, -10698, 9934, -14511, 15119} +#define CONV19_WT {0} +#define CONV19_W_Z (128) +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +#define CONV19_M_ZERO (1553868800) +#define CONV19_N_ZERO (6) + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {4417, 2690, 3143, -41, 4088, -274, 105, 2619, 3719, 5367, 1149, 557, -2060, 6961, 4634, -1940, 3808, 4474, -632, 4336, 3461, -1083, -656, 10613, 986, -1425, -987, 9570, 4612, 4158, 5049, 149, -4691, -455, 290, -661, 3941, 8475, -1282, -2693, -1781, 120, -578, 5810, -574, -20, 3151, -3814, 379, -1666, 4865, 3802, -294, 3581, 8073, -1477, 4695, -3404, 8454, -388, -596, -2303, -2068, 5854, 86, -1513, 3610, -1901, -1340, -275, -58, -305, 10515, -3392, -197, -4683, 3091, -74, -893, 4370, 4352, 9147, 2805, -1829, -315, 2992, -2741, 9676, 6603, -1945, 3158, 4578, 5511, -2739, 4422, 2971, 2485, 3857, 5688, -1284, 2574, 2489, 4033, -740, 2724, 2192, 4713, -68, 688, -3363, -446, -335, 8166, -842, 2563, 5819, -2689, 2252, 3610, -351, -1651, -1555, 6728, -3459, 8105, 3088, -958, 2797, 1088, -1395, -1359, -18, -1464, 3500, 3627, 5209, -2128, 5805, 5979, 2330, 3904, 3186, -1025, 7053, -1409, 4460, 3797, -1033, -827, 7130, 3814, 5722, 5202, -368, -3470, 2395, 3736, 5491, -2510, -2675, -1321, 320, 4987, 2871, -1863, 3853, 1697, 5789, -1968, -1506, -1693, 3029, -961, 2684, 4269, 7928, -3519, 4012, 6978, 3640, -3020, -736, -1168, 3567, -410, 5894, -1802, 1515, -1066, 324, -2327, 6501, 2847, -1412, -762, -560, 3415, 4353, 8637, 10198, 4843, 2591, 6020, 2276, -1718, -3621, -666, 3720, 545, 6651, 7535, 4387, 6331, 3955, 4687, -231, 13055, 510, 599, -1972, -200, 4611, 3432, 5227, 2393, -1091, 3671, 2890, 5653, 3917, -500, -1784, -1185, -404, 3875, -1291, 4439, 2920, 1106, 550, -2104, 7058, 2692, 2196, 3161, -6142, -1836, 2949, 150, -1189, -1107, -1734, 4842, 3131, -723, 1665} +#define CONV20_WT {0} +#define CONV20_W_Z (145) +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +#define CONV20_M_ZERO (1380735360) +#define CONV20_N_ZERO (4) + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {13014, 16693, -14232, -31028, -29896, 12342, -21848, -301, -20472, -20675, 26352, 8305, -24380, -28687, -4502, 1819, -69, 9148, 1972, -9090, 9382, -10333, 11517, -8146, 1181, -6663, -8028, -11127, -10317, -8538, 2049, -1380, -8378, 7540, -4437, -4332, 1637, 7951, -232, 13119, -2635, 16949, -3977, 11868, 29238, 7648, -15444, -1219, 983, -16298, 602, 5864, 2637, 22645, 9253, 7263, 2447, 22361, -2138, 5358, 15077, -13220, 14321, -16429, -1567, -166, 18360, -9180, 15294, 38608, 17848, -4045, 9488, 5123, -14392, 10169, -6475, 9083, 13119, -25096, 16889, 4872, 8631, -12231, -6395, -8233, 4605, 31014, -23415, 6531, 16731, -28118, -3906, 9401, -15997, 2302, 8448, -15273, 2590, -580, 13509, 13010, 13465, 13629, -11031, 10248, -22348, 21615, -538, 5021, -2574, -11171, -348, -1414, -18429, -15995, 4520, -23015, -15874, 1548, 6791, 12674, 1701, 1208, 10489, 508, -5555, -9370, 10456, -14770, -13, 13136, 5149, -35005, 18109, 5009, 2519, 7709, -2675, -15444, 4880, -8369, 692, -5917, 13989, 4434, -16528, -9979, -4867, -2894, 6268, 3483, 3179, -15078, 13600, 23085, 12332, 22058, 7209, 10029, -10382, -9102, 287, 4386, 4954, 766, -2063, -2588, 9650, 6213, -6621, -2561, -11604, 7443, -9973, 10615, -2335, -7200, 5105, -11895, 10044, 6991, 699, 12477, -6063, -9275, -10491, 3687, -7584, 859, -5956, -7902, 9366, 12965, 2810, -14782, 14532, 10344, 1511, -17567, -7720, -16757, -14254, 5304, -1415, 12936, -18757, -13135, -7419, -21696, -16877, -1048, 11905, -189, 6612, -2616, -19029, 15317, -4155, 2411, -675, -12174, -13374, -8531, 2654, 21704, -28307, 116, -18233, -4197, -4705, 2534, -36, -4851, -8346, 3652, -13711, -14611, 24575, 2246, -13027, -14446, -1426, -2618, 380, -14659, 2093, 10378, -3064, -14902, 2813, 13871, 20164, -12159, -7263, 7723} +#define CONV21_WT {0} +#define CONV21_W_Z (130) +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +#define CONV21_M_ZERO (1657440768) +#define CONV21_N_ZERO (6) + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {10567, 6126, -93, -464, -982, 1018, -16, 5625, 3108, -1909, 6755, -2588, 4219, -1843, -316, -1768, 6032, 7921, 4070, 16, 7946, 2815, 3829, -2426, 5024, 4593, 3330, 6290, -149, -11, 6018, -115, -688, -3685, 4379, -26, 7104, 5810, -1583, 13156, -1522, -2, 2661, 2697, -2023, -1114, -1714, 5312, -4520, -3391, 8342, 5524, 4296, 5735, 11479, 2231, -10901, 5773, -557, 4041, 6400, -13, 6052, -627, 4, -140, 4567, -1236, 3845, 6707, 3429, 4375, 928, 6306, -5571, -93, -3960, -3699, -3933, -1063, 7666, -2867, -3591, -2056, -36, 2937, -14, 3096, 3620, 11569, 4688, -1614, 7133, 11413, 6158, 5791, 5745, -3665, 4303, -2767, 5037, -989, 8383, -39, -3617, 9387, -181, -562, 4910, -715, 87, 8, 4916, 5379, 2746, -968, 2841, 4, -4543, 4165, -3416, -6157, -405, -2358, -74, 5621, -691, -29, 8637, 124, -2191, 5949, 6026, 4294, -842, 234, 5565, 6360, 3953, -694, -3783, 3688, 717, -995, 388, -3057, -958, -7297, 2969, -1, 10409, 2781, 791, -1523, 2566, 4453, 7104, -291, 3539, -253, -519, -5, 4062, -607, 7474, 7061, 462, -322, 5370, 10616, 4641, -83, 2562, 10487, -356, 2608, -3654, 2006, 3464, -32, 3446, 7161, -5172, 5612, -75, 124, 3627, -504, 3231, 1615, 3507, 4983, -404, 4525, -5676, -1347, -916, -1013, -25, -1452, -3186, 3993, 4219, 4899, -365, 4148, 5317, 2185, -446, -950, -536, -2296, 2482, -282, 9093, -1079, -61, 10198, -4676, -365, 5403, -1001, -2468, -1105, 6107, 2178, -1492, -864, -777, -3912, 4728, 3952, -211, 4532, -1126, 5293, 18, 7788, 431, -553, -556, -481, 4627, -9, 5757, -21, -2144, 6100, -1579, -950, 3397, -592, -5684, -14, 8380, 1825} +#define CONV22_WT {0} +#define CONV22_W_Z (130) +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +#define CONV22_M_ZERO (1311281536) +#define CONV22_N_ZERO (4) + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {23601, 14921, -851, 13467, -27225, -11514, 4671, 13862, 14371, 13685, 695, -20972, -12842, 18900, 23984, 7945, -16467, 11284, 26367, -1348, 7912, 5736, -4197, 11664, -30598, -4895, 6727, -19869, 12984, 28432, -5309, -8523, -21969, 10358, -20019, 936, -17838, 7230, 12410, -6660, -21415, -5030, 18242, 12194, 4416, 3277, 11631, 8863, 7419, 16085, 6765, -15024, 30130, 8618, 4270, -17005, -1507, -7718, -8924, 9905, -10837, 14743, -7023, -13807, 437, -2114, 11346, 34564, -7414, 7338, -4441, -4763, 9007, 12041, -6377, -8078, 15956, 6027, -9825, 16032, -5077, 16704, 22472, -14581, 2824, -14594, -6331, -7063, 2819, 3610, 3285, 457, -45013, -1100, 7077, 4288, -1973, 2947, 9513, 8014, 25815, -14332, 11850, -5744, -15530, -3790, 16569, -20424, 1279, -4955, -3313, -12744, 7183, 14433, -7791, -15279, -25200, 11279, -733, -4524, -22491, 11759, -22829, 20186, -7203, 2480, 9703, -1874, 9395, 5338, -223, -8342, -414, -24039, 8122, -2238, -1737, 61, 18902, 4411, 10754, 6748, 12916, -705, -24983, 20534, 15551, -7421, -35685, -29218, 4234, 4392, -34971, 3562, 11253, 4146, 11618, 4459, 827, 8137, -3704, -9427, -18215, 817, -26999, 5205, 8799, 8962, -41425, -6983, 6981, 20615, -22561, 15149, -13589, 6180, -4678, -3674, 1026, -11283, -2231, 4749, -39369, 9540, -23968, 3914, -24386, -16106, 10258, 11779, -24743, -973, -11397, 4366, 24322, 11979, -13200, -6399, 9452, -7330, -13473, -13636, -3463, -15030, -8144, 6905, 6594, 7418, -16987, -6064, -15541, -11970, 4727, -3125, 15338, -252, -29360, 1961, 1017, 6759, 1892, -32795, 8, 13415, 5067, -10097, -21272, 7161, -19506, -17857, 8127, -7970, 9088, 5738, 6517, -19731, 6606, 10455, 9574, -3562, 13480, 17207, -15510, -7709, 52, 2687, -13728, -406, -5095, 12535, 907, 1493, -18334, -2514, -6469, -4000} +#define CONV23_WT {0} +#define CONV23_W_Z (121) +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +#define CONV23_M_ZERO (1752740608) +#define CONV23_N_ZERO (6) + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {7790, 20347, -361, 7972, -18, -8, 265, 23552, 13989, 14883, -52, 20016, -160, -4003, 8358, 19585, -302, -1291, 4847, -143, 27553, 21073, 19174, 14522, 12696, 1052, 17971, -32, -7273, 16957, -13, 8362, -84, 18458, -132, -63, 23583, 22779, 8964, 16916, -14, 3618, 13656, 24465, 22486, -210, 11694, 8988, 20819, 10279, 11869, 34, 14815, 18045, -41, -11, -172, -68, -12, 5291, 191, 19924, -46, 114, 9815, 6700, 20037, 13125, 5, -217, 10782, -8742, 10123, 22591, -9087, 20, 118, 18046, 15310, 15254, 14991, 348, 17662, -75, 5603, 2855, 10167, 16137, 17892, 8654, 22332, 15998, -8, 21996, 22522, 26086, -11, 19003, 7333, 15, 16912, -103, -1489, 17967, 87, 20450, 31, -48, 22, -64, -101, -126, 8503, -14482, -121, 503, -154, 22330, 18422, -63, -105, 17868, -67, -13151, 301, -27, 23, -39319, -6068, -64, -44, 525, 20422, -75, -125, 7189, -75, 18373, 22483, 22550, 11467, 8944, 16071, 6982, -554, 19207, 26433, 10010, 23078, -28, 6515, 17607, -148, 22318, 19154, 21857, 16763, -1557, 19363, -1964, 51, 8814, -8332, 14716, 22665, 30389, 10826, -174, -681, -156, 23253, 22889, -365, 21423, -465, 20524, -101, -264, 16547, 17930, -55, -2703, 12, 58, -72, -10102, 23914, -88, 23610, 15844, -1010, -437, -3866, -65, -10820, 20727, -14, -547, 21955, 15025, -62, -100, 22462, 18, 16569, -2672, 21633, 856, -403, 9201, -125, -55, -81, -49, 1188, 14270, -41, 6881, 9916, -48, 19357, 34, 18172, 18356, 29378, 14676, -146, 14368, 10, -18, 21240, -107, 8937, 18, 18438, 5, 19647, -4563, 14003, 12831, -105, 11463, -66, -32, 24514, 9257, -49, -184, -77, 19185, 23598, 22330, 3, -90, -63, -92} +#define CONV24_WT {0} +#define CONV24_W_Z (115) +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +#define CONV24_M_ZERO (1881608064) +#define CONV24_N_ZERO (6) + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-14682, -10278, 1429, 862, 5972, -19038, 10617, 7310, -15448, -8725, -3166, -6789, -24112, -13947, 7965, -16226, -8337, 946, -21755, -4123, -6440, 16285, -18596, -8226, -11331, 2227, -10514, 19098, 7699, -4382, -24817, 12311, -24069, -2505, 7640, 21772, 12607, -8607, 73, -11702, 8212, -13465, -12377, 1950, 5679, 19619, 4244, -20537, -7220, -1525, 17981, -786, -7697, 13378, 10731, 5892, 15727, 8996, -21816, 3684, -3385, 21252, -21458, 307, 5667, -18740, -13503, -11179, -13425, 21521, 4630, 3318, 2435, -2751, -11279, -10226, -199, -13560, 1356, -10909, -6809, 317, 4184, -4284, -10115, -10070, -6744, 14858, -9171, 1950, -8929, 26498, -11163, -11782, -2358, 8308, 5783, -16130, 5568, -4665, -16909, -8207, -12642, 20591, -20816, 12097, -5018, 43617, -19218, 8225, 2945, 11626, 1932, 4083, 7185, -6648, -16721, -13466, -22463, -14406, -7266, -29073, 5454, -9661, 5408, -6726, 6568, 2616, -10795, -5970, 11975, -25602, 7277, -9329, -3740, -5511, 2450, -1244, 10716, -8974, 17203, -3082, -12119, -7199, -9890, -3722, -26630, 12171, 5628, -3210, -15360, 8514, 14416, -3262, 7205, -10893, 1534, -12721, -5960, -2092, -6861, -14466, -13390, 10011, -4989, -6060, -15307, 7996, -56, -9278, -14246, -5999, -3827, -7534, -17287, 2774, -14966, -24953, -25360, -1513, -4215, -38318, 9404, -6471, 4717, -11211, 15132, 9837, -989, -450, -12480, 13968, -2319, -33196, 6228, 685, -1615, 8749, -6602, -1985, -12425, 13368, -17000, -11460, -9366, 6989, -9438, 12039, -13158, 13628, -17181, 540, -2914, 14251, -16015, -5148, 2590, 1574, 8288, -314, -14273, 6364, 8722, -17686, -8006, 234, -8142, -1248, 14614, -10540, -4568, -7754, -9225, -32047, -6678, -17212, -15914, -6776, 20658, 3247, -2722, -1750, -14646, -1337, -21082, -32024, -2231, 9293, -2735, -17885, -1090, 15736, 1764, -10879, 11903, -13115, 5645, -9717, -10257, 5999, -8629, -12395, 4575, 400, -32569, 6740, -11981, -32990, -18484, -740, -6401, -2250, -3176, -10473, 4349, 1694, 9860, 13150, 1019, -8433, -12629, 459, 22548, -6247, 3003, -9404, -4759, 34990, 5959, 6295, -13929, 27281, 8755, 5080, -4714, -445, -8750, -13728, -3452, -7831, -12550, 15374, 27694, -16074, -2150, 1007, 20357, -4139, -3034, 609, 7989, -4269, 14024, -15371, 10709, -13528, 7071, -17911, 5327, -3392, -17643, 7238, -16319, -6050, -13068, 1934, -2156, 17121, -9262, -2523, 22044, 13249, 4043, 10887, 7162, -9867, 3024, -7579, -8716, 666, -4327, 19757, 9658, 3264, 13100, -11955, 1071, -3256, 5338, -19447, -11949, -8641, -1888, -16618, 13599, 2688, 13541, -7730, 2814, 18295, -7709, 12307, -3313, -13063, -16648, 12451, -14957, -5104, 2716, 1965, -6428, 1286, -32443, -5337, 11209, -20046, -16191, -7249, -14842, 13074, 4464, -3357, -11257, -16915, -2920, 2331, 917, -10893, 7294, 11893, -9278, 7740, -10670, -3370, 6932, -25794, -5443, -24497, 6402, 2755, -13526, 12089, 6409, -1484, -12235, -13760, 8584, -2981, -14921, -9769, 4005, -3671, -12783, -19707, -3337, -9238, 10705, 13387, 16800, -45, 6254, -10627, -6108, -4111, -4964, 3645, 6385, 13212, 1031, -6876, -4280, -7912, -2168, -6109, -1886, 20469, -1277, 2747, 7188, -12906, -17056, 6983, -9299, 6421, 6419, -26633, 4007, -6303, -10566, -9726, 8852, 1823, -2160, 4652, 7557, 10711, -2396, -18185, -4753, -15004, -3225, -11216, -17889, -1072, -17044, 8385, -16100, 12821, 8518, 21479, 12063, 18967, 5868, -8685, 15, -1884, -10951, 4220, -3768, -14043, -8323, -6730, 14875, -8735, 5170, -19014, -5262, 438, -6551, -10070, -5894, 15573, -7222, -22134, 7396, 2047, -1415, 6959, -11233, 9180, -6354, 2762, 17396, 4055, -8781, -17252, 12196, -10728, -2413, -9695, -21220, -15969} +#define CONV25_WT {0} +#define CONV25_W_Z (90) +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +#define CONV25_M_ZERO (2088924928) +#define CONV25_N_ZERO (6) + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-8, 1545, 1945, 2356, 1266, -29, 1410, -38, 1385, 1306, -12, 1418, 88, -15, 1168, -23, -111, 1974, 1299, 88, 2025, 1648, 2333, -233, -9, 1124, -5, 2453, -14, -19, 59, -563, -173, -13, 1994, -210, 2199, 2270, 296, -19, 1458, -28, -37, -24, -526, 2505, -363, -24, -80, -19, 1722, 1078, 63, 72, 2148, -16, 1820, -2575, 1894, -226, 1603, 1471, -18, 1977, -52, -6, -29, -41, -14, 1448, 25, 1741, -69, -27, -187, 2765, 1688, -29, -38, -26, 2580, -26, 1683, -101, -20, -1293, -31, -21, 1485, -720, -734, -26, -25, -1, -26, 1953, 1297, -20, 1225, 1266, -215, -11, 1390, -3, -18, 805, 1967, 1223, -29, 2839, 17, 2246, -2899, 1488, 2506, -552, 2164, 45, 11, 1323, -20, -18, 1172, 1533, 2210, -12, -52, 1690, 4, -90, 1304, -5, -496, -19, 3295, 1190, 3182, 1272, 1232, -20, -604, -10, -104, -12, -70, -9, -26, 1726, 1174, 1376, -450, 1996, 415, -18, 2400, -80, -312, -25, -31, -145, -32, -24, -17, -34, 2285, -26, -10, 1142, 1410, -29, -134, 92, 127, -18, -6, -325, -465, -9, -334, 2379, -1924, -9, 1617, 1997, 2160, -26, -15, 1263, 1237, 3289, 1504, 59, 1531, -17, -272, -79, 1271, 1291, -226, -9, -40, 1539, 23, 1688, -24, 1190, -200, -347, 1216, 2702, 202, -11, 1380, 1359, -14, -11, 2491, 1191, 1754, -20, 54, 1324, 1227, -26, 1336, 2517, -94, -422, 1063, 1991, 1265, 1288, 2495, -22, -27, 1779, -5, 17, 2229, -23, 1369, 1097, -23, -24, -33, 1429, 1211, 1312, -16, -322, -481, -23, 10, 5, -241, 1718, 2440, 3603, -152, -29, 1774, -34, 1245, -21, 1394, -1114, 317, -8, -36, 1616, -19, 2001, 1228, 1475, 1230, 1476, 2099, 1111, -26, 1722, 2153, 1409, 2149, 14, 1523, 2003, -8, 2149, 3114, 2288, -16, 2848, 2565, 1592, 2361, -13, -33, 1190, 2017, 1592, -19, 1344, 3662, -20, 30, 1304, 1795, 1457, 1525, 3640, -241, -17, 2359, 1228, 1254, -33, 1283, -22, 1428, 1443, 1385, 1439, 87, 23, -13, -386, 1411, -27, -230, 1575, 2042, 1572, 2028, -351, -1496, 1494, -697, -28, -26, 1409, 9, -25, 1449, 2569, 1408, 366, -20, -18, -17, -6, 1298, 97, 1301, -91, 1320, 1313, 1569, 1205, 92, 1884, -19, -36, 1441, -51, 1986, 1925, -41, 55, -54, 1353, -23, 2343, -23, 2174, 1292, 30, 79, 8, 19, 1952, -96, 1158, 45, -36, -149, -4, 56, 500, 1410, 2671, -32, -228, -19, 1254, 2337, -782, 1764, 41, 1304, 2290, 2028, 217, 1363, -13, 2158, 1600, -22, -729, -20, -23, 1574, 3049, 2455, -20, -17, -26, -919, 1314, 1617, 2591, 161, -4, 92, 1410, -504, 1858, 1518, 1471, 1924, -173, -12, -23, -18, -3, 376, 1521, -28, 1212, -30, 1728, 1821, 1205, -62, -391, 1271, -22, 1981, 1928, -13, -24, -145, -374, 1480, 160, -526, -67, 2278, -12, -536, -20, -64, -19, 1560, 1938, -8, 1249, 5, 2447, 1971, -315, 2037, 1398, 2851, 12, 1153, 1212, -5, 2658, -23, -27, -119, -313, 34, -36, 2059, 1593, 2016, -20, -82, -7, 1220, 1216, 1777, -577, 1390, -19, -9, -26, -134, 2703, -29, 92, 13, 1385, -23, -101, 1336, 4, -21, -64, -23, -19} +#define CONV26_WT {0} +#define CONV26_W_Z (226) +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +#define CONV26_M_ZERO (1665680384) +#define CONV26_N_ZERO (3) + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {50787, 12269, 15043, -55128, -46016, -56872, -101115, -40865, -75405, 10201, 62530, 22013, -21156, -41482, -9534, -5926, -42104, 3924, -65823, -51692, -1151, 4218, -38093, -3109, -7378, -50739, -3765, -73544, -1091, -5048, -2153, 13816, 5757, -26032, 45701, -37055, -17728, 13713, 10819, 21334, -8601, -3253, -43407, -34828, -6599, 851, -15886, 41291, -18991, 24517, 53220, 9717, 19092, 10739, 30852, 51258, -22762, -70178, -80064, -20889, 13189, 30722, -848, 8032, 29420, -4700, -2099, -39555, -70808, -13282, 45285, 18937, -8497, 51872, 33773, -19663, -2702, 9175, -8765, -30221, -32995, 22692, 6286, -65584, -72963, -70021, -72123, 54906, -36026, -6185, -77606, -13675, -45648, -60258, 27984, 30211, 22849, -29684, -80925, -88035, -15540, -67023, -37788, -76145, -10498, -5154, 48743, -32779, 15974, -19896, 21388, 62641, 23770, -4363, -21498, 22705, -44590, -6684, -24286, -30438, 1592, 48230, -21151, 13665, -16375, 14360, -16157, -61805, -42375, -57141, -6108, -59831, -41631, -49402, 51925, -49609, -54907, -14019, -43602, 58856, -56055, -13203, -7226, -9082, 3891, -42320, -66336, -34383, -37632, -22601, -82622, 54505, -6599, -94616, -9776, -37658, -59057, -37541, 10953, 17219, -63403, -77675, -26968, 21107, -69191, -10661, 548, -21334, -42385, -63688, -49167, -78105, -54658, -25932, 18212, -6417, -2820, -17831, -36813, -49586, -70350, 33338, 4184, -13082, 22564, -64418, 68718, -62895, -48983, -46511, -54003, -38225, 18672, 3803, 11271, 25718, 35974, 13563, -95084, 35805, 14309, -8020, 60511, -5127, -73767, -42085, 3442, 6839, 18829, -89242, -43688, -13262, -25247, -61416, -1266, -3020, -15959, -28379, -6578, 28280, 20288, 14123, -67944, -94380, -19000, -43147, 18889, -20677, -89946, -51668, 5287, -57517, 6238, -62741, -50998, -24612, -32170, -19430, -18711, -112434, -11723, 14507, -31375, -9651, 34941, -58756, 10853, -34429, -70678, 32406, 21536, 878, 1558, -51945, 30419, -68117, -89836, -81345, -29464, -17503, 17177, -30666, -47870, -23125, -83629, -8159, -7689, -42815, 17203, -47966, -48446, 6919, 9762, -15455, -41624, 46407, -19751, -37708, -26612, 7206, 18041, 8958, -27771, -22907, -18353, -28926, 68931, 53548, -28610, 11857, -38219, 27778, 10748, -23283, -51922, -66073, -82798, -9251, -68001, -72880, 47880, -8316, -63995, -18958, -30588, -3431, -34958, -62151, -82, -16842, 9017, -9802, -46598, -88754, -21887, -18412, 67155, 981, -9890, -28829, -60001, -13663, -29329, -34912, -7375, -83122, -30066, -47616, -37413, -19395, -25918, -32896, -46570, -85915, -43022, 23923, 28993, -28891, -24720, -74327, -36188, -8562, -56754, -54943, -19853, -2088, -8167, -64677, 7056, -59528, 31434, -75823, -33524, -8989, -33153, -69916, -3655, -46794, -1646, -80683, -53023, -45729, -55621, -14891, -34160, -67544, -36507, -22004, -27988, -647, -51753, -93609, 53938, -12373, -30203, -9234, -35656, -24131, -26160, -1975, -17662, -28651, -36589, -3596, -55420, -19897, -55458, -94117, -62453, 28346, -23041, -14562, -21067, -56954, -52108, 32183, 43613, -34065, -54423, -14644, 9474, 9047, -9774, -54069, 4943, -71170, -26674, -56680, -75378, 53517, -36366, 59228, -1738, -69324, 13315, 4579, 43920, -18340, 61590, -56706, -41992, -46022, 85375, -71212, -28847, -4889, -54344, -31883, -28116, -56657, 38591, -12642, -22716, -14109, -10806, 50424, -37317, -14150, 39237, -2622, -19179, -8010, -37744, -5913, -33799, -32863, -37010, -69526, -41419, 450, -31212, -52851, -70661, -58772, 14247, -26994, -10128, -70700, -28893, 44395, 4165, -18561, -57068, -14384, -17319, 2473, -6894, 11038, -51752, 10737, -26613, 51470, -37331, -47232, -3527, -56828, -72736, -34919, -40282, -53465, -22396, -11128, -13430, -44074, -77323, 52091, 15725, -65079, -34416, 3790, -40005, -47755, -9974, -30355, -7914, -34793, 9167, -29374, -24276, -65889, -20166, -65285, -46268, 9072, -60080, 21970, -41118, -22363, 12094, -39570, -56752, -4753} +#define CONV27_WT {0} +#define CONV27_W_Z (94) +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +#define CONV27_M_ZERO (1687558528) +#define CONV27_N_ZERO (6) + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-3330, 2060, -1986, -5718, 5767, 1311, 1610, 2822, 1361, -5269, -3740, -3686, -1372, 165, -1655, -3005, -1289, -1973, 1273, 501, 1625, 3116, 1371, -114, 1588, -412, 985, -2545, 2980, -1667, 1077, -137, 320, -3753, -96, -5961, -794, -2785, -503, 618, 209, -826, 359, -2874, 1713, 1991, 1063, -800, -4203, 2462, 2325, 515, 3116, 3476, -64, 687, 419, -2199, 1538, 3405, -529, 4915, 1550, 1077, 2953, 2341, -1567, -1636, 1519, 3389, -3397, 3037, -721, 1415, -1937, 4781, 2321, 2128, 3939, 2625, -4077, -1820, 831, -8410, -6167, -410, -3875, 2749, 966, 5393, -575, -2082, 1992, -2312, -727, -2812, 203, -3080, -6269, -6008, -1844, -4459, 3393, 3143, -415, 219, 4233, 2109, -4624, -6957, -6443, 14301, 2199, -1806, 1781, -10013, -2398, -1621, -372, 259, 376, -3230, -1470, -1927, -1103, -4088, 1089, -4884, -4713, -1904, -6323, -4098, -2357, 1729, -9907, -7457, -6148, -6507, -5236, -5827, -6273, -3746, -6028, -4413, -3883, -2555, 321, -5289, -1693, -2116, -904, 2622, -8098, 3326, -2121, 432, 584, -3989, -5170, -1137, -3027, 5027, 5360, 2910, 343, -3254, -3020, -6273, -684, -1494, 1729, 4430, -15, -923, 5757, -4311, -1585, -1999, 2184, 175, 1331, -1270, 530, -504, 1972, 2003, 737, -185, -3423, -1560, -1274, 3493, 1547, -2819, -712, 8627, 1155, 1332, -2386, 3057, -7490, -1457, 4277, 4493, 1848, 28, -3465, 132, 604, 4867, -2970, -490, 321, -1169, 1626, -1074, -73, 6025, 2899, 118, -2466, -2439, -1283, 8733, -3649, 2977, 1868, -873, -5946, 4701, -1460, -3892, -1155, 733, 2396, -968, 1873, 2852, 4098, 5583, -1705, -2171, 2618, -1198, -1280, 5057, -2981, 4518, -1856, -1682, -1033, 2339, -1830, -3001, 7173, -2411, 1775, 4694, 568, -460, 2365, -898, -3502, 3214, 1873, 1608, 755, -1849, -5482, -751, 4846, -3626, 1813, -31, -4451, -2965, 1406, -1489, -4094, 1956, 1132, 4204, -3385, -1340, 4428, 752, 1182, 62, 141, 1420, -607, -4280, -16, -3141, 973, 2406, 2627, -1987, 1071, 2113, -5145, -4277, -3223, 167, -6814, 5597, 6156, -4678, -3301, -5489, -2839, -1605, -2141, 5366, 3892, 377, 5, -3974, -2302, 73, -2448, -10126, -10946, -6099, -4482, -6872, -5920, -2030, -4679, -600, 1810, -129, 480, -1939, -245, -2525, 1199, -1872, -4697, -500, -2298, -2226, -1878, -131, -2389, 273, 578, -1932, -1981, -839, 133, -4187, -4107, -1403, 1147, -2008, -586, -2436, -820, 2044, -2211, 2840, 853, 2476, 2100, 1141, -860, 4728, -2030, 3606, -760, -2402, -166, 150, 1475, 2643, 1889, -906, 1292, 2614, -2854, 63, 2700, 867, -5754, 989, 799, -5097, -2422, -1566, -1908, 4995, -4884, -4019, -1242, -102, -6733, -4930, -2632, 7467, 1239, 2220, 565, -1958, -7819, 4104, -720, -2483, -5650, -5297, -2245, -376, 3375, 3602, 3030, -1271, 4754, -2714, 1600, 1560, -2250, 3580, 2132, 7614, 5448, 1918, -6558, -1698, 3829, 2305, 1363, -1700, 961, -529, -4155, -989, 1169, -2579, -918, -3310, 2497, 347, 1430, -173, 2794, 4512, 1448, -3026, 6782, -2044, 1311, 670, -1366, 2235, 1325, 1242, 3208, 2170, -2384, 2938, -4164, 3558, 417, 1353, 7990, 2797, -2038, -2440, 1854, 160, 59, -950, -1453, 4191, -4281, 1884, -9135, 3033, -472, 724, 3901, 1851, -190, -2211, -6408, -251, -952, 4226, -2150, 3948, -4064, 1724, 2179, -2856, -2145, -1321, 2094, -6705, -863, 38, 294, 3281, 2448, -1089, 3234, -765, -491, -805, -1842, -3188, -5190, -647, -1973, 1334, 2290, 4448, -852, -2214, -263, 2335, -4970, -1168, 860, 8000, -863, 609, 352, -3892, -4087, 6217, 2537, -2874, -981, 3272, 3135, -2671, -4477, 1401, -1191, 4251, -849, -1522, -1112, 2337, 2601, 2953, -1390, -6713, -3638, 2732, -1062, 2196, 1166, 2836, -5737, 116, -3494, 904, -2370, 2121, 1340, -2614, -2586, 7497, -1685, -486, -328, 3589, 3846, 507, -1258, 1161, -726, -1179, 3728, 514, -350, 2183, 1454, 2958, -2470, -1225, 201, 2501, 5418, 1791, -2131, 4218, 2025, 1547, -2207, -1359, -747, 5844, 115, -7621, 3208, 3631, -4790, 2113, 3498, 555, 3052, 867, -183, 1053, 3726, -957, 4057, -717, 4102, -2326, -600, -1479, -887, -1928, 1182, 1190, 1450, -4048, 2692, 2896, 2897, 7774, -1460, -2462, 2694, 4976, -3803, 4289, 5680, -1027, 2963, 126, 271, -1261, 2963, -412, 516, -4974, -4625, -3285, 628, 1650, 4706, -1383, 5170, -3834, 2178, 3205, 2696, 1071, -2526, 1622, 1164, 6724, 1501, 1037, -273, 1527, 1181, -5192, 939, -1257, 2232, 3947, 2418, 1528, -6218, -600, 1598, 7167, 1049, 2112, 2991, -2320, -6261, 6035, 5165, 1067, 2301, 1197, 739, 3460, 2951, -1970, 3162, -3411, -4904, -4635, -2433, 904, 5949, -5209, -2818, 5175, 2884, -999, 1223, 44, 4030, -2283, 425, 4116, 4046, -5713, -637, -957, -5158, -1463, -2215, 2473, 1543, 3299, 2300, 46, 5740, -5421, 237, 6051, 2702, -2699, 4065, -2762, -3687, -1315, 4410, -3970, 987, 2701, -4230, 4708, 213, 1853, -4819, -1226, -1935, -893, 139, 302, -455, 1344, -198, 2587, -854, -120, 2495, 2285, -36, 6104, 3205, 289, 5451, -795, -1901, 394, 1415, -3936, 1961, -1997, 2845, 1458, -903, 3715, 5822, 3468, -2819, 1187, -1487, 3326, 6386, -4541, -1278, -1245, 6843, 43, 5768, 8882, -5090, -784, -1440, -3218, 936, 2855, 755, 1180, -371, -2041, 4363, -963, -4062, 6427, 13, 12, 2505, -510, 4254, 2661, -288, 2572, -941, -2176, -2824, -3583, -190, 4238, -2207, -2553, 2351, -15, -4662, -2616, 2244, -825, -655, -1808, 3035, 523, -3474, 1486, -4191, -3033, 3302, 5631, 5266, 1581, -1765, -3049, 3646, -3157, 4359, 2069, -3872, -4373, 4518, -7790, 5328, 7506, 1837, -1048, 696, 887, 4852, 4332, 4230, 7497, -3910, 1445, 4236, 1671, 2896, 647, 3022, 1558, -3009, 4192, -10708, -284, 4064, 3164, -2291, 3425, -651, 1277, -3031, -1322, -2321, -2799, 1312, -1231, 1065, -4875, 1243, -4572, -7193, 2884, 1290, 1028, -6149, 5911, 6163, 301, 623, 34, 874, 11667, -2400, -5383, 1670, 1206, -2318, 951, 2425, 4595, -394, 2543, 1506, 3622, 1566, 137, -3964, 1587, -650, 3106, 1038, 6796, 4973, 2379, -1931, 3347, 507, 5166, -3554, 1526, -2455, -667, -1115, -1495, -556, 6932, 1432, -989, 2996, -1630, -5681, -5107, -4624, -1374, 724, 6462, 486, -2224, -309, -7138, 435, -2244, 462, -3255, -2086, -3367, -1210, -1854, 106, -5553, -4562, -2216, -6759, -2419, 126, 864, 155, -4156, -2486, -66, 880, 1403, -302, -3074, 672, -7289, 77, 2596, -1718, -1119, -5184, 33, 3833, 3889, 567, -905, -1194, 3756, 641, -3856, -754, 2084, -21, 1746, 449, -2211, 3075, 895, 3740, -3086, 1077, 2880, -3899, 970, -1929, -3241, 301, -4168, -4118, -11044, -2214, -4232, -1010, -2561, -59, 4070} +#define FC28_W_Z (121) +#define FC28_IN_Z (0) + + +#endif /*__224_0_5_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/224_0_75_parameters.h b/Inc/intq-mobilenet-v1-models/224_0_75_parameters.h new file mode 100644 index 0000000..96c28b0 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/224_0_75_parameters.h @@ -0,0 +1,361 @@ +#ifndef __224_0_75_PARAMETERS_H__ +#define __224_0_75_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (224) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (24) +#define CONV1_OUT_DIM (112) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (112) +#define CONV2_IM_CH (24) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (24) +#define CONV2_OUT_DIM (112) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (112) +#define CONV3_IM_CH (24) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (48) +#define CONV3_OUT_DIM (112) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (112) +#define CONV4_IM_CH (48) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (48) +#define CONV4_OUT_DIM (56) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (56) +#define CONV5_IM_CH (48) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (96) +#define CONV5_OUT_DIM (56) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (56) +#define CONV6_IM_CH (96) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (96) +#define CONV6_OUT_DIM (56) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (56) +#define CONV7_IM_CH (96) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (96) +#define CONV7_OUT_DIM (56) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (56) +#define CONV8_IM_CH (96) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (96) +#define CONV8_OUT_DIM (28) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (28) +#define CONV9_IM_CH (96) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (192) +#define CONV9_OUT_DIM (28) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (28) +#define CONV10_IM_CH (192) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (192) +#define CONV10_OUT_DIM (28) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (28) +#define CONV11_IM_CH (192) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (192) +#define CONV11_OUT_DIM (28) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (28) +#define CONV12_IM_CH (192) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (192) +#define CONV12_OUT_DIM (14) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (14) +#define CONV13_IM_CH (192) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (384) +#define CONV13_OUT_DIM (14) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (14) +#define CONV14_IM_CH (384) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (384) +#define CONV14_OUT_DIM (14) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (14) +#define CONV15_IM_CH (384) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (384) +#define CONV15_OUT_DIM (14) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (14) +#define CONV16_IM_CH (384) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (384) +#define CONV16_OUT_DIM (14) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (14) +#define CONV17_IM_CH (384) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (384) +#define CONV17_OUT_DIM (14) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (14) +#define CONV18_IM_CH (384) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (384) +#define CONV18_OUT_DIM (14) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (14) +#define CONV19_IM_CH (384) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (384) +#define CONV19_OUT_DIM (14) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (14) +#define CONV20_IM_CH (384) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (384) +#define CONV20_OUT_DIM (14) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (14) +#define CONV21_IM_CH (384) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (384) +#define CONV21_OUT_DIM (14) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (14) +#define CONV22_IM_CH (384) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (384) +#define CONV22_OUT_DIM (14) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (14) +#define CONV23_IM_CH (384) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (384) +#define CONV23_OUT_DIM (14) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (14) +#define CONV24_IM_CH (384) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (384) +#define CONV24_OUT_DIM (7) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (7) +#define CONV25_IM_CH (384) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (768) +#define CONV25_OUT_DIM (7) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (7) +#define CONV26_IM_CH (768) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (768) +#define CONV26_OUT_DIM (7) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (7) +#define CONV27_IM_CH (768) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (768) +#define CONV27_OUT_DIM (7) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (768) +#define FC28_OUT_CH (1000) + + +#endif /*__224_0_75_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/224_0_75_weights_bias.h b/Inc/intq-mobilenet-v1-models/224_0_75_weights_bias.h new file mode 100644 index 0000000..c44ec32 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/224_0_75_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __224_0_75_WEIGHTS_BIAS_H__ +#define __224_0_75_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {36235, 26218, 33582, -2297, 57918, 46349, 41387, 16705, 1885, 1719, 36734, -8435, 44208, -23234, 2598, 3527, 41933, -21578, -21731, -21224, -23607, 3432, -45452, -12785} +#define CONV1_WT {0} +#define CONV1_W_Z (147) +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +#define CONV1_M_ZERO (1630401792) +#define CONV1_N_ZERO (7) + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {3332, 6236, -122, 64, 13174, -2473, 16013, 2214, 818, -291, 2630, -12, -3029, -2, 3068, -119, -2640, -72, -41, 291, 0, 819, -437, -41} +#define CONV2_WT {0} +#define CONV2_W_Z (136) +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {1085933056, 1584535168, 2001751936, -1138398336, 1271149312, 1354006784, 1354153984, 1397628288, 1773198336, 2036976640, 1501077376, 2015077376, 1761435136, 1974601472, -1484174464, 1299366528, 2063864960, -1148700544, 2090375936, 1764905984, 1161870336, -1542152832, 2018602752, 2087160320}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {-18, -392, 684, -1, 33, -535, 418, 215, 1624, 0, -678, 1349, 458, -990, -25, -510, -970, 50, -49, 236, -37, 230, -401, -1013, -334, 1627, -64, -346, -164, -137, 586, -148, 769, 553, 204, 805, 240, -340, -609, -1019, -504, 821, -321, 782, -241, 720, 656, 130} +#define CONV3_WT {0} +#define CONV3_W_Z (127) +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1210036480, 1141112064, 1565624576, 1585009408, 1323517440, 1111386368, 1789228032, 1205673344, 1865745408, 1663909504, 1598593024, 1132779520, 1143189248, 1526802816, 1622523776, 1330794624, 1432476160, 1093432320, 1170333952, 2134766208, 1607353344, 2093164800, 1253891968, 1993499648, 1515704960, 2115000064, 1970022400, 1110973440, 1274947072, 2120163584, 1118558592, 1732753152, 1812874624, 2116212608, 1820422272, 1719522432, 2129702272, 1267138816, 1182437632, 1547347584, 1919911808, 1950477312, 1269370240, 2018914304, 1147304192, 1900228608, 1218691840, 1721506560}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {-9, 60, 0, -3, 23, 47, 37, 10, 12, -5, 20, 29, 45, -16, -9, 4, 58, 4, 8, 12, 16, 6, 8, 26, 5, 38, 28, 22, 51, 7, 37, 28, 29, 39, -1, 5, 2, 40, 1, 23, 0, 29, 26, 11, 5, 16, 41, 31} +#define CONV4_WT {0} +#define CONV4_W_Z (48) +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +#define CONV4_M_ZERO (1078598144) +#define CONV4_N_ZERO (-4) + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {12955, 4442, 9609, -5239, -25823, 6459, 7418, -3550, 8276, -16410, 10616, 14162, -3545, 5849, 12064, 3691, 9954, 17493, -11713, 24842, 8812, -6692, -7895, -4349, -3841, -18334, -17054, -39205, 9296, 8779, 3866, 29238, -17117, 10040, -11736, 12531, 482, 6364, 8352, 2143, 1909, 3412, 17280, -6752, 10637, -2242, 372, 10104, -241, -7891, -20895, 3355, -408, 3158, -14623, 8067, 4178, 5680, -2273, 18614, 15224, 12177, -694, 17661, 8849, 24490, 4423, -1229, 7992, 15565, 15796, 4217, 2425, 4437, 9735, -2381, 6118, -945, 320, 8057, 1252, -274, 16660, 8102, 18991, 9342, 653, 10962, 16170, 8897, 10503, -5295, 22312, 15427, 9988, 10042} +#define CONV5_WT {0} +#define CONV5_W_Z (140) +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +#define CONV5_M_ZERO (1264664704) +#define CONV5_N_ZERO (5) + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {245, 52, 3071, -543, 2328, 1701, 111, 17820, 18282, 989, 802, 790, -152, -6165, -105, 646, -84, 9183, 6584, -1366, 2508, -65, -122, 4231, 407, 1749, -2584, 22873, -1352, -122, 3108, 7274, -244, -4946, -1048, 1039, 15874, 9042, 1890, 4816, 4642, 5269, -301, 782, 300, -1036, 2141, -115, 814, -509, 6348, 231, -34, -1572, 14110, 1514, 50, -1847, 750, 6850, -2724, 3594, -916, 17028, 9258, -2637, 10343, 4852, 16372, 464, 130, -99, -6573, 4296, -4010, -4, 5035, 759, 6524, 7017, 2561, -4976, 2718, 201, 620, 44, 833, -1295, 76, 5022, 2000, 78, -644, 1960, 10603, 1850} +#define CONV6_WT {0} +#define CONV6_W_Z (114) +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1717941888, 1103199616, 1564013952, 1776883200, 1102401664, 1707471616, 1180261888, 1919900032, 1584752896, 1571373696, 1356429312, 1171207680, 1319723648, 1710445952, 1540236416, 1544999168, 1301386368, 1083808640, 1454979072, 2123876352, 1778693504, 2046657920, 1917551360, 1952197120, 1915417216, 1840210688, 1781880832, 1970068736, 1189243008, 2037268096, 1389003520, 1296437248, 1259745408, 1408718976, 1294994176, 1333974144, 1183546240, 1359733632, 1770003712, 1740075904, 1893115136, 1906792704, 1177927040, 1560115584, 1423425408, 1146032768, 1723476992, 1695356288, 1102660608, 2102400000, 1282154496, 1146760704, 1483803776, 1103691136, 1707080448, 1513396480, 1533681536, 1084071040, 1266883968, 1927087616, 2129234048, 1099096576, 1105513728, 1243862272, 1272040320, 1459161344, 2063035392, 2119210496, 1700898688, 1451536768, 1194235008, 1136396544, 1768436864, 1210016640, 1215751552, 1417425152, 1700040576, 1573050240, 1479266048, 1911517952, 1880092032, 2089035264, 1244552576, 1126147072, 2000099328, 1767605504, 1174754432, 1829199360, 2013252352, 1372488320, 1212694656, 1162312192, 1648171008, 1273402624, 1934971264, 1752930560}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {98, 373, -192, -683, 982, 61, 321, 312, -294, 425, -470, 499, 356, -980, 446, 156, 691, 515, 259, 277, -1066, 681, -1034, 743, 207, 966, -830, 412, 408, 781, -198, -373, 802, -37, -687, -264, 57, 37, -362, -446, 520, -430, -237, -330, -300, 237, 898, 713, 962, -380, 558, 330, 49, 199, 90, 496, 982, 995, -1772, 412, 83, 929, 712, 600, 249, 854, -764, 307, 516, 778, -106, -1373, -267, 405, 270, -369, -409, 1391, -816, 270, -142, 238, 452, 512, 678, 872, -574, -957, -298, -496, -189, -768, 503, -150, 827, 943} +#define CONV7_WT {0} +#define CONV7_W_Z (136) +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +#define CONV7_M_ZERO (1439073152) +#define CONV7_N_ZERO (1) + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {974, 5292, 22693, 7712, 12922, 19022, -58, -127, 64, 27965, 7661, 2621, 1348, 12198, -7643, 6136, 11074, -5331, 28945, 4003, 14113, 7916, 10977, -4077, -202, -6659, 9217, 14844, -4354, 109, 303, 6690, -603, 5861, -237, 8447, 571, 89, 16546, -436, 9429, 7390, -360, 14521, 18342, 7904, 7815, 11787, 7564, 8161, 7859, 92, 99, 13457, 8168, 854, 12869, -545, -166, 553, 2102, 8124, 4795, 17388, 2395, 11968, 751, 3726, -6404, -6274, -7266, 2145, 1988, -593, 10352, 735, -79, -11888, 8100, 5664, 14314, 340, 1273, -392, -164, 4969, -66, -1078, -123, 9021, 13517, 9049, 25352, 11137, -342, 1093} +#define CONV8_WT {0} +#define CONV8_W_Z (135) +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +#define CONV8_M_ZERO (1628044800) +#define CONV8_N_ZERO (5) + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {2291, -14103, 2774, 13206, 8712, 17164, -9398, 15307, 13167, 11957, -8534, -3702, 40142, 3266, 3207, 7420, 10992, 4492, 7827, -2234, 9012, -1589, 8929, 6434, -4979, 16240, -13468, 10079, -8924, 20896, 6634, 5424, 369, -4189, 11416, 14305, 5492, 4605, 11279, -3867, 9369, 12607, 15658, 6204, 15510, -50, 14216, 8214, 2162, 6804, -3048, 9398, 10970, 3106, 15434, 20864, 1231, 13556, 6014, -18894, -90, 12960, 13150, 7585, 5095, -10642, -6527, -21942, 6307, 13539, -28228, -5763, 12641, 9727, -1023, 14230, 29650, 15683, 16208, 9716, 5150, 29492, 11877, 9118, -487, 258, 10640, 14422, 17629, 21386, 6223, 1124, 14322, -35203, 5012, -644, 15053, 10259, 5654, 33772, -8302, 7601, 13763, 3593, 21574, -6550, -4696, -16987, 5076, 4080, 97, 21191, -11341, 4061, 8127, -23814, -3317, 8034, 11045, 1302, -2701, 18799, -30362, 19893, 3519, 17938, -13924, 69, 14848, -16879, 8635, -12311, 15915, 12550, 10160, 6587, 2133, -3222, 7455, -31134, 37142, 15560, 9378, 17223, 12157, -2918, 4898, -11529, 2898, 3786, 13557, 7776, 6650, -560, 294, 15525, -4819, 11089, 7486, 8780, -3582, -33927, 13915, 5803, 2892, 22368, 19463, 10556, 4858, 4255, 10324, -5615, 5551, 22252, 7736, 5844, 3634, -1464, 12368, 4874, -7987, 10808, 5592, 1837, 1448, 18313, -3313, 15647, 11045, 10315, 7059, 5311} +#define CONV9_WT {0} +#define CONV9_W_Z (114) +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +#define CONV9_M_ZERO (1080518528) +#define CONV9_N_ZERO (5) + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {116, -48, 3373, 8114, -1176, -542, 1532, 887, 2283, -56, -1, 3181, 3929, -614, 303, 250, 6556, -1764, -1125, -1683, -21, 4027, -579, 2851, 3128, 5329, 811, 1768, -1712, 30, -856, 625, 4382, -940, -223, -697, -2132, 152, -93, 18, -342, 208, 1452, 7660, 37, 4004, -411, -26, 5880, 4346, 1932, 257, -157, 2978, -1925, 2997, 32, 1219, -339, -3841, 40, 57, 110, 1067, 249, -780, -72, 3094, 8482, 2587, 2093, 1474, 3275, 1133, -1359, 6657, 3396, 2066, -817, 8100, -893, -1913, 4766, 6495, 871, -428, -15, 3730, 4904, -110, -42, -4, -112, -945, 2993, 1713, 7560, -139, 7040, 2544, -210, -826, -356, -1334, 450, 2669, 4618, -278, -715, -837, -517, 1895, 2026, 656, -3, 2, 164, 6161, 236, 1675, -425, 3424, 3784, 0, 6129, 2965, 598, 451, -15, -1888, 139, -525, 8300, 23, 469, 313, 713, 398, -300, 1034, -783, 5123, 5252, 5931, -74, -240, -67, 17, 2959, 7909, -291, 800, 4972, -713, -384, 1606, 3397, -1499, 277, 5106, 1594, 2864, 3241, 276, 665, -618, 29, -2014, 6201, -777, 4385, 2548, -190, -1864, -137, 2482, -356, -148, -765, -46, -16, 3499, 8063, 3303, -1342, -732, -3203, -336, 7341, -1000, -2106, -1260} +#define CONV10_WT {0} +#define CONV10_W_Z (92) +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +#define CONV10_M_ZERO (2021766528) +#define CONV10_N_ZERO (4) + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {5073, 8812, -14274, -9175, 6795, -14447, 14039, 14, 1976, 3780, 8940, -5643, -5583, -7277, -6048, -62, 5304, -4794, -15612, -2866, -8091, 3617, 3633, 1957, 3355, 3458, 8095, -12732, 7105, -7148, -12059, 7276, -4453, -839, -8118, -4862, -3148, -9639, -6885, -4749, 6868, -1411, -10683, -2979, -9417, 5787, 1367, -12215, -1705, 10443, -2939, -8540, 2713, 3958, 16373, -5084, 2223, -10218, 9720, 506, -12169, -25199, 14409, -10612, -9779, 10297, -2967, -849, -13849, -17323, -3240, 11152, -22086, 3062, 3062, -9677, -20103, 5423, 18232, 8491, -12971, 6763, 5722, 4839, 2610, -5007, -13852, 2964, 2898, 9124, -4795, 4850, 12841, -14023, 10681, -15319, -7872, 5406, -2712, 7120, 13342, -13267, -12957, -10399, 12811, -5890, -1934, -2625, -4449, -618, -13470, 2209, 3425, -15525, 1972, -23913, -4078, -8561, 16457, -1904, 11667, -3720, -15824, 6334, 5487, 3001, -8643, -7658, -13484, -8892, 3358, -11094, -7863, 10047, -1111, -8993, -8425, -5315, 9088, -926, -16406, -10334, -3585, -12420, 19060, 3333, -168, 7668, -2949, -4969, -2587, -6935, 4573, 10481, -4560, 1998, 7280, 5057, -2542, 3264, -5882, 2490, -11930, -2464, 3347, 5751, 4123, -6780, -34853, -372, 1816, -3259, -11700, -7102, -1164, -25550, 3830, 10594, 3948, -7205, -6353, -5740, -15656, 7176, -6332, 2378, -9543, -1111, 8239, -17643, -3821, -263} +#define CONV11_WT {0} +#define CONV11_W_Z (120) +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +#define CONV11_M_ZERO (1782764416) +#define CONV11_N_ZERO (6) + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {85, -581, -325, 8788, 40336, 84, 10843, -1351, 19238, 1422, 20343, -97, 1266, -611, 829, 996, -565, 11011, 59, -165, 48, 14236, 21172, 11231, -326, 14573, 10754, 177, -489, -381, 1385, -176, -2641, 49, -243, 535, 22218, -324, 968, 13197, 5960, 9627, -287, 52, -1038, 2870, 29280, 149, -180, 12294, 7, 14, 12490, -165, 37464, 494, 2255, 734, -687, 39055, 1203, -12058, 549, 1389, 713, 12653, -258, 14855, -226, 17912, -160, -3737, 694, 29697, 1935, -349, 532, 9241, -218, -547, 444, 25741, 14803, -238, -1324, 3440, 418, -243, 12771, 38513, 21859, 18424, 14630, -6, -540, 15232, 20060, 24538, 943, 22014, 36016, -315, 96, 1162, 26372, -1759, 1564, 12306, -253, 11652, -207, 11437, 2358, 13188, 12004, -10, 35, -1096, 32766, -4, 10582, -222, 477, -3710, 20149, 538, -90, -270, 4963, -8, -232, 784, 11860, -1229, -1380, 1711, 999, 1270, 9235, 2212, 1153, 19972, -111, 512, 111, 19780, 18550, 14586, 13, 9126, 650, 859, 647, 10440, -270, 73, 10199, 24427, -1983, 2231, 9731, 11574, -197, 11212, 117, 24951, 20699, 14718, 44, -389, 13806, -315, -264, 15153, 12574, 16, 42359, 28830, 28574, 30815, -2635, 16130, -211, 8776, 759, 12295, -1002, -282, 13146, -346, 1276, -1466} +#define CONV12_WT {0} +#define CONV12_W_Z (120) +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +#define CONV12_M_ZERO (1095746304) +#define CONV12_N_ZERO (5) + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {11722, 14981, 9036, 16664, 21971, 8952, 1001, 2334, 10552, -1205, 16246, 1711, 27951, 14838, 11794, 173, 1831, 18050, 1643, 10017, -1498, -6888, 17025, 4923, -3014, 11658, 5353, 6952, 14171, 4625, 14493, -391, 3102, 16641, 6705, 2394, 5384, 9108, 15831, 13689, 11594, 14734, 5945, 7841, 8207, -2050, 11346, -2928, 4108, 10924, 17429, 6890, 4139, 2136, 884, 3120, 16877, 12851, 15795, -13275, 13580, 2408, 7388, 10416, 7337, 15013, -13921, 3519, -485, 950, 5643, 16058, 14829, -13442, 8505, 4618, -1184, 9552, 11096, 7835, 13846, 12557, 21790, 11803, 25790, 5383, 8440, 3186, 12923, 10228, 8564, -2389, 18373, 12566, 9090, 9429, 10102, 7360, 19981, 12159, 16504, 1476, 1184, 11450, 3784, 13883, 9217, 13187, -3512, 12594, 4882, 65, -6560, 9804, 9873, 5840, 17440, 542, 14764, 14352, 22061, 9807, 3054, -7834, 12470, 9226, 9091, 10613, 3012, 17697, 7033, 8977, -30806, 12022, 4684, 5669, 8391, 28486, 186, 19286, 8775, 4344, -19190, 20857, 9736, -6520, 13740, 14312, 5789, 36273, 18312, 10558, -510, 3204, 14070, 8860, 17584, 10427, 4213, -1599, 16126, 25245, 5921, 3679, 7982, 7617, 10502, -2363, 2646, 16310, 6728, 20138, 4545, 5961, 15432, 8939, 8925, 15702, -2899, 8686, 5351, 13545, -3206, 4033, 21990, 23881, 5049, 9443, 4627, 5109, -32212, 11269, 4719, 11025, 7560, 3035, 13758, 8309, 34098, 6114, 15037, 1691, 5024, -1022, 9336, 8920, 2707, -2819, 14661, 2844, 2361, 15749, -4085, 3256, 28793, 11762, -10915, 14659, 4663, 18436, 12894, 7815, 8107, 381, 13494, 12070, 9561, -1253, -9835, 11497, -5759, 12849, 13129, 6714, 3898, 3816, 8263, 11073, 4681, 8822, 8575, -2778, 9561, -1860, -1241, 5278, -5395, 1968, 4533, 20278, 3428, 6624, 3481, 5451, 7583, 5662, 15305, -1522, 577, 9330, 6571, -2384, 7455, 14425, 9593, 4608, 10119, 11234, 12987, 12314, 38327, 15023, 13342, 7913, 4950, -2058, 3172, 15289, 8945, -9273, 16060, -10016, 7771, 172, -25619, 18451, 14254, 14809, 7038, 14423, -5791, 16163, -1104, 504, 14878, 8733, 15083, 9166, 13569, 24977, 7898, 4780, -19140, 9243, 12655, 16881, -13409, -30363, 17635, -3786, 2226, 12820, 14555, 12086, 3230, 3187, -3314, 10715, 7296, -2803, 5089, 1956, -7716, 1196, 4823, 2857, 14663, 1550, 14288, 6477, 7529, -7674, 8580, 32911, 17985, 5146, 6276, 14197, 19582, 7320, 19825, -630, -2668, 3416, 11770, 4535, 4045, 6054, 8675, 15649, 13765, 12914, 20364, 7310, 21625, -10187, 11332, 9125, 12963, 9828, 12063, 8003, 6836, -7704, 3330, 10881, 11393, -6660, 9158, 17554, -5572, 8557, 11967, 8447, 7109, 6271, -14171, 5024, 13747, 7677, 7268, 19474, 8235, 947} +#define CONV13_WT {0} +#define CONV13_W_Z (126) +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +#define CONV13_M_ZERO (1674428288) +#define CONV13_N_ZERO (6) + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {462, 209, -1226, -5129, 692, -115, 6718, -72, 2788, -22, 152, 3759, 297, -4545, 2398, 268, -503, 268, -188, -188, 2670, -1709, 743, -125, -596, 2528, -296, -1495, -237, -586, -2161, 2417, 2705, -143, -68, 623, -708, 5058, 616, 781, -71, 47, -976, 148, -108, 2888, 487, 2928, -17, 930, -2610, -654, -163, 5647, 55, 193, -3620, -646, -1713, 3186, -493, -1, 7089, -62, 3902, 2863, 4148, 529, -443, -3212, 5777, -3162, 1609, -242, 6735, -1971, 51, 310, 2835, -3662, 5965, 2539, 66, 4594, -2374, 1243, 904, 3370, 292, 1554, -986, 2438, 8719, 75, 0, 1177, 2812, -131, 1518, -199, -3401, -220, 5685, 1116, 4073, 977, 6780, 1524, 170, -172, 8386, 2545, -1213, 617, 1001, -272, -41, -2359, -4258, -1877, -1933, 5078, -197, 21, -705, -263, 753, 1510, 2738, 1254, 4026, 2700, -387, -64, 148, -1563, 1115, -1049, -55, 205, 231, -103, -964, -716, -1154, 3241, 1238, 2256, -3881, 3232, -154, 4105, 80, 1350, 2164, 515, 1028, 267, 1179, -1160, -111, 2250, -1801, -144, 316, -15, 119, 2714, -72, -227, 653, -909, 3189, 411, 1354, 420, -528, 1023, 25, -209, 3837, 270, -104, 1869, -2189, 6060, 531, -371, -2107, -2415, -88, 5381, 5955, 11227, 3044, 2582, -1783, 1372, -3363, 1301, 241, -38, -2683, 1993, 919, -545, -1724, -1023, 9576, 386, 32, 2200, 2957, -1421, 1782, 472, 2770, 1373, -442, 5757, 3872, 3419, 1449, 3447, -183, 850, 278, 2371, -1034, -212, -581, 2847, 1152, -362, 2671, 41, 1637, 3593, 3272, 1207, -2849, -15, 7419, 2581, 1542, 22, 3177, 3181, 2535, -1429, 860, 1911, 33, 641, 1029, 278, 601, 2430, -24, 164, 276, 117, 216, -77, -1596, -194, -2405, -207, 120, 540, -99, 279, -535, -4116, 3289, 5305, 2629, -89, 858, 6114, 36, -2106, 291, 409, -1259, -330, 48, 1097, -7, -917, -3065, 2628, 362, -3710, 324, -812, -3108, 1212, -65, -159, -341, 45, 40, 325, -421, -2875, -2634, -1071, 176, 72, 1657, 2170, 369, -2193, 113, 103, -218, 791, 8764, 3019, -414, -238, 3463, -2809, 2804, 5238, 1578, 6226, 76, -320, -2688, 2007, -40, -41, 159, -337, 3938, 1004, 4089, -142, 1360, -1118, -506, 57, 4769, 4015, -1783, 3099, 1618, 13, -1858, -3056, -35, 5002, -2139, -1368, -1607, 339, 7427, -98, -280, 932, 2337, 2949, 6283, 363, 727, -1769, 276, -320, -266, 74, 403, -183, 3661, -3863, -595, -569, 257, 1196, 3630, -341, -1421, -560} +#define CONV14_WT {0} +#define CONV14_W_Z (102) +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +#define CONV14_M_ZERO (1552411392) +#define CONV14_N_ZERO (4) + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {-1973, -7479, 10376, 13929, -2900, 13560, 5093, -5369, 3344, 8242, 9822, -357, 1039, 9255, -4333, 9654, -7691, 6046, -9744, 8692, -5562, 3689, -25730, 10523, -7025, 6482, 6909, 14136, 5136, -1923, 5181, 3214, -1222, 2941, -3172, -2113, 9937, 16448, 5116, 4480, 8947, 16913, 6739, 771, 9805, 9068, -2965, 4945, 7832, 2304, -561, 22050, 3402, 8340, -3021, -18921, 1159, -9064, 3215, 5741, -783, -26165, -1916, 13872, 9067, 6727, 6850, 5597, 11425, -2370, 9246, -1521, 8100, 9937, 7024, -9568, -1218, 14251, 11187, -10667, 5053, 12337, -2190, 11488, -5396, 21296, -1610, 6345, 1325, 2089, 17537, 12336, -1218, 5810, -5832, 6714, 7189, 2568, 4412, 9967, 3095, -4121, 8800, 1253, 12292, 14934, -24280, 18649, 5373, 10297, -7252, 6152, 17774, 11812, 5262, 7773, 9176, 12788, 5943, 4805, 9897, -672, 5925, 9285, 6417, 8721, 11564, -9271, 3343, 5681, 5754, 2885, 8664, 3437, 1811, 6995, 4025, 13625, 434, 20172, 1049, 2424, 15300, 4317, 1508, 6940, 12636, 3197, -471, 7454, 33126, 14551, 9068, 2291, 9997, 275, 5187, 17278, 4213, 15732, -2817, -18407, -9009, 3510, 2291, 6160, -841, 13552, 11515, -4754, 7850, 4434, -548, -11327, -305, 4138, -6124, -7748, 18373, 18076, 8340, 9450, 6400, -4411, 11875, 7070, 1379, -5585, -2504, 9286, 4496, 10698, -3791, -10182, -5291, 6381, -10230, -6555, 316, -10571, -3158, -167, 5332, 3730, 11206, 15994, 4499, 2347, -114, 14955, 122, -12648, 3802, 887, -1155, 8086, -7333, 6503, 7161, 11182, -1325, 8368, 9811, 8585, -5726, 953, 7727, -17928, 6799, 11724, -5259, 1792, 2243, 4238, 4221, 8371, -16112, -9851, 9095, 9230, 9635, 4561, -371, -18993, 464, 11322, 3978, 10562, 7491, -7647, 1347, 12676, 2958, 312, 13044, 40, 5166, 6991, 1625, 5889, 5221, 1816, -14339, 10240, 576, -13840, -12620, 8564, 6053, 1301, 762, -1939, 11380, 10835, -8573, 12735, 19815, 4478, -10862, 5545, 8335, 231, -784, 124, 7021, 1911, 5242, 3007, 12986, 7708, 13545, 25426, -3432, 6762, 15089, 8982, -9159, 1816, 532, 10558, -5442, 4947, -968, -22630, -2131, -1061, -7731, 9586, 5281, -760, 6668, 5933, -8828, 1057, 3802, 12134, 4245, -9666, -2797, 19162, 6353, 5913, 12149, -8061, 542, 4136, 10905, -5792, -9178, -2270, 21839, 6147, -3856, 5155, 5598, 8139, 6658, -9998, 4877, 9743, 4842, -2501, 26294, 1447, 4419, 16748, 10492, 10316, -72, 10518, 21902, 6602, 5746, 11886, 16530, 4877, -8535, 13220, 11054, -881, 504, 2930, 6381, 3618, 7543, -4170, 6707, -5526, 19552, -2175, 10580, -17494, 16877, -548, 4931, -6868, 13187, 6692, 17168, 1338, 517, 576, 8745, 3588} +#define CONV15_WT {0} +#define CONV15_W_Z (131) +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +#define CONV15_M_ZERO (1452981760) +#define CONV15_N_ZERO (6) + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {2376, -3931, 1808, 3232, -2958, 681, -617, -3704, 5112, -10933, -1242, 3533, -742, -1585, -363, 856, 5129, -2342, -1703, -2932, -47, 7060, -923, -3578, -4150, -5255, 1422, -439, 5462, 4562, 439, -2886, -1816, 5079, 1956, 6967, 4123, -7482, 5212, 3732, -3664, 4010, 3097, 3153, -6125, 1657, -1378, 4051, 9339, 1038, -876, -1337, -1261, -874, 5796, 634, -4994, -3643, 4850, -3628, 73, 6448, 20, -4349, 7844, 6998, 1786, 7896, 2645, -1093, -1129, -3420, 3570, -355, 6637, 3912, -2663, -1000, 5560, 2037, 4552, 3602, 2061, 3693, -1496, -937, -4036, -1799, -9767, 1965, -203, 5501, 4359, 6952, -4942, 5728, 7868, -605, 7286, 3369, 8514, 3645, -10965, -2078, 1734, 39, -1550, 2385, -6635, 137, 1794, -714, -540, -2461, 12379, 5246, 6664, -1352, 2999, 3115, 8080, 3809, 7484, -3034, -3238, 5016, 5491, -1015, -2680, 3985, 4784, -2928, 9964, -1044, -1135, -1566, 4380, -3998, 432, 5424, 4519, -1223, 3752, -1444, -1988, 10707, -6344, -1900, -33, -1987, 1916, 2391, -3110, 4185, 4314, 4819, -2219, 6037, -3527, -610, 4233, -1746, -698, 6692, -1548, -812, -1224, 4763, 10949, -1113, -1906, 1691, -1624, -2982, 5359, 4633, -1479, -834, 1608, -1692, 6939, 3616, -11408, -1321, -1723, 6154, -1661, -1332, 3805, -10372, -1343, 10142, 5370, -2099, 102, -1686, -2299, 3383, -4588, 2009, 72, 4488, 1037, 7319, -2177, -1142, 5258, 4162, 841, 8947, -1088, -3484, -1415, -1426, 6534, -1344, -674, -3197, 3791, 3147, -2123, 9699, 5083, -17481, 3205, 162, -1863, -303, 1328, 965, -802, 4101, 2578, 4780, -6595, -48, -1223, -2707, -3808, -2764, 104, -546, 6264, -1195, 5596, 7246, 4495, 2678, -3105, -84, -1860, 7881, -1231, -806, 1213, -1595, 4254, 5533, 143, -3406, -2433, 4135, -1646, 5849, -8114, -4652, -6797, 4835, 9142, 8168, 5908, 6120, 242, 204, -5556, 3151, 3301, 937, 4857, 2781, -7863, -1594, 3764, 61, 7357, 8933, -2116, -901, -21553, 1669, 3694, -393, 434, 3699, 1080, 5548, 6361, 7712, 735, 3922, -806, 828, -1779, -5475, 6576, 5587, -2404, 8622, -3187, -1222, 12, 167, -375, -952, -1876, -2959, 4267, -395, 2838, 3623, -2122, 4904, -9334, -275, -1063, 1196, -7313, 3189, 3967, -889, 3574, -1448, 4783, 5232, 4232, 8089, -6278, -1721, 1192, -251, -1052, 5017, 5675, 3175, 7341, 4365, 3490, 1083, -4741, 1235, 3781, 6205, -8622, 1890, 2623, 4329, -2617, -1945, -1430, 2209, -1757, 6201, -2013, -3951, 3602, -2271, -1302, 3626, -1416, 6768, -1784, -1134, 500, -1371, 9981, 3854, 5916, 682, -1559, 4654, 1065, 5131, 1793, -6772} +#define CONV16_WT {0} +#define CONV16_W_Z (110) +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +#define CONV16_M_ZERO (1283632256) +#define CONV16_N_ZERO (4) + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {-8826, 4012, 4782, 2631, 3557, -2953, 300, -12910, 4242, 8133, 5334, 1385, 14754, 1785, 492, 4804, 24017, 3953, 7103, 694, 5685, -136, -14960, -2932, -279, 18805, -8920, 13228, 14642, -11825, -6599, 14106, 4269, 9901, 15499, 664, -14552, 14344, 12680, -6931, 1772, -1777, -11469, -1120, -4522, 24199, -8086, 18559, -8711, 19515, -1496, 6546, 8325, 22623, 8662, -7673, -18807, 11560, -8511, 2715, -3481, -8137, -11012, 4739, -5601, -3723, 1683, -2241, -2887, -6383, -18098, 4451, -9201, -9990, 10171, 19701, -25226, 2059, 5347, -1741, -7156, 11002, 3303, 4044, -9994, -5076, -4671, 3727, 11758, 14875, 611, 9793, -10067, 14013, 2418, -1440, 14179, -11586, -6112, 12690, 10948, 79, 5734, 7461, -6951, -3347, -11184, 3734, -8936, 11435, -9613, 2296, -5546, -11279, 604, 16482, 6713, -9827, -17862, 23359, -2037, 10129, -3344, 6543, 4362, 6067, 1444, -6074, -20293, 1718, 13451, 2814, 12934, -611, 1622, -2262, 15913, 2652, 7274, -14596, -3356, 4110, -1071, 7673, -4659, 19709, 13584, 6530, 10620, -33610, 5481, -464, -12606, -8356, 9951, 9226, 2416, 10382, 8724, -1914, 4724, 3673, 6835, -10497, -1875, -80, 10775, 6733, -2996, 15070, 1361, 4191, 12728, -19826, 6072, 16004, 8035, 6809, 2980, 11288, 2975, -13066, 6664, -2723, 8820, -16183, -21662, 4451, 28267, -13988, 8170, -16955, 1762, -12750, 4518, 2033, -13349, 7906, -16312, 10509, 1466, 2804, 5671, -8694, 1096, 2609, -5986, -10207, -44415, -13977, -6669, 19445, 12581, 8182, 9689, -11801, 16003, 4464, -13198, -11303, 29613, -557, -10216, 12360, 17751, 19912, -8633, -24203, 23622, 2718, -12251, -17100, -10019, -402, 3690, -25260, -13472, 9602, -13783, 10179, -4602, 23661, 26344, -15078, 11, -18382, 6364, 11173, 14049, -5943, -21643, -11613, 6011, 7816, -26509, -8048, 3490, 23258, -7803, -2581, -2306, -11232, -8487, -1452, 8755, -12478, -5339, -14858, -2462, 14766, 1993, -19046, 3053, -18120, 5526, -3092, 10187, 14726, -5090, 14382, 11003, 3464, -7670, 2760, 18355, -3695, 1069, -4093, 9141, 12380, -6397, 7675, 4753, 4088, 201, 5631, 12329, 11697, -3082, 7197, 5938, 20061, 15762, -24312, 1795, 6315, 7607, -9177, -1828, 15708, -18139, -16577, -20303, -8942, 2767, 8720, 12953, 5915, 6186, -371, 6290, 4363, -9533, 14404, 9122, 12407, -3553, -20606, 10793, -16223, -28002, -9284, 3715, 6775, 1441, -3610, 3859, 9693, 835, -19971, 13258, 2397, 20150, 7841, -16783, -3365, 11397, -4897, -12562, 7946, 15365, -10629, 6411, 1140, 18356, 3623, -7614, -8547, -12090, 18463, 11236, -590, -14818, -7110, -18798, -2134, 18992, 13933, 11784, -15168, -12775, -16199, 15417, 3898, -5306, 2442, -12684, 159, -22077, 3708, 629, 18235, -1177, 8187} +#define CONV17_WT {0} +#define CONV17_W_Z (132) +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +#define CONV17_M_ZERO (1261050240) +#define CONV17_N_ZERO (6) + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {-668, -1942, -773, -1204, 5399, 3213, 1506, 2005, 15, 2893, 2156, 3314, -1198, 3377, -4586, 2756, 3114, -1435, -2017, 3169, 1790, -481, -334, -2142, 2700, 10838, 5152, -747, 2002, -297, -2255, -647, 2713, 2644, 4525, -1485, -217, 7499, 4785, -613, 2705, -1120, 3586, 1641, 3377, -2517, 2681, 8124, -2333, 6337, -1718, -517, 8410, -1758, 2560, 100, 5309, 6117, -4907, 3286, -402, 2466, -1945, -160, 2911, 5108, -2814, -1851, -707, -1653, -14, -312, -850, -1910, 7151, 4559, 3840, 4399, 3055, -1966, -1405, 2126, 2318, -7589, -349, 5770, -3803, -5784, 4551, 4176, -1870, 3934, -2775, 2234, 3056, -1934, 3390, -771, -11873, 2281, 2873, 608, -1108, 6101, -49, 4603, 1051, 3160, 4830, -4024, -4798, -2526, 3121, -1679, 561, 3580, 6668, 3309, 5165, -681, -215, 2772, 5523, 6292, -500, 853, 3994, 1561, -396, 1852, 6086, 5452, -1817, 4214, 2446, 221, 1534, 9948, -2851, -6, 2931, 4883, 4655, 8812, -584, 4946, 9443, -2358, 3594, -2255, 3345, 2771, 259, -98, 2300, 3140, -933, 4259, 4929, 2270, 2993, 1340, 2853, 2953, 4203, 1771, 4540, 4322, 3352, 3071, -2134, 3590, -4321, 945, -4438, 6523, 2172, 2574, -444, 2847, 4299, -301, 2267, 2816, 7604, -7453, -208, 1890, 3857, -581, 3239, -106, 2523, -3236, 713, 3342, -237, 2197, -1426, -3508, 1257, -870, -2901, -51, -501, 3749, -1702, -244, -4478, -995, 2679, -3146, 4031, -376, 3162, -1301, 6570, 8372, 2768, -3435, 4926, 4085, -16, 6178, -2615, -1253, -1615, -2780, 5440, -2860, -918, -224, -121, -1583, -1284, -1382, -912, 3788, 4149, -5160, 1052, 3427, 2593, -1255, 417, -2480, 3434, 2260, 1100, -6108, 3122, -1288, -276, -2378, -331, -2776, 5412, -2104, 2946, 4472, -2075, -2600, -890, 3640, -2170, -3092, -3070, 2958, 4308, 3646, -3296, -760, 4801, 2861, 586, -2004, -1326, 6753, -1768, 9506, 3613, -1026, -1573, -851, 787, 3876, -1007, -1734, 2483, 2931, 2892, 3849, 3298, 2907, -709, 3091, 5351, -346, -2734, -5551, -2921, -30, 3787, -1119, 3630, 2509, -909, -1053, 4491, -2552, -1178, -1076, -2861, 518, 4738, -6828, -170, 2808, -2421, 6306, 4089, -3098, -4376, 3141, -1429, 1015, 1633, -6232, 1993, -1557, -12, 4126, -249, -1167, -2834, 3034, 2559, -585, 2345, 4637, -3722, 3146, 1909, 4152, 1246, -959, -687, -1749, 4407, -3730, 596, -4006, 667, 3547, 2169, -3494, -3856, 5397, -327, 4529, -749, -1937, -1188, -110, -525, 2512, -4160, 4742, -3032, -222, 4378, 3517, 5214, 3296, -2260, 3639, -1092, -711, -1909, -119, -2, 13219, 1320, 4666} +#define CONV18_WT {0} +#define CONV18_W_Z (98) +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +#define CONV18_M_ZERO (1281818112) +#define CONV18_N_ZERO (4) + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {18489, -8737, -10338, 6520, 6322, 754, 8537, 30483, -6642, -3966, -16198, -7845, 10206, -2561, -19296, -15315, 6864, -2093, 1761, 10376, 10284, -10923, 8367, -7368, 5621, -1389, 683, -2865, 1220, 13504, 15399, 12132, 1956, 7583, -360, 10733, 3806, -10008, 6406, 3498, 3347, -10984, -12379, -5114, -7117, -10896, -3717, 26142, -9049, -15977, 1950, 6340, 22235, -21861, -4313, 5439, 8382, -5817, 6239, 847, 17270, -11413, 6971, -2803, -1988, -19986, -1356, 6294, 11901, 5841, 1310, 8215, -1958, 756, 11645, 14793, 9977, 11861, 4191, 10335, -9739, 4016, -26632, -1635, -3957, -3475, -3836, -6483, -5428, 2216, -12620, 7601, -3866, 7781, -5317, -18966, -28195, -4443, 3305, 1328, 8278, -6132, 12044, 1294, 5264, -7091, -1506, -815, -19498, 14502, 2451, -12923, -3708, 11274, -3015, -10796, 8557, -3428, 14500, 888, 4517, -27203, -5119, 13611, 1997, -22588, -4375, -3305, -12757, 12314, 1201, -4711, -1337, -8822, 3388, 7274, 6645, 6952, -17356, 4424, -12476, -2329, 13323, 10017, -4371, -6432, 7183, -10850, -16852, -10020, -19142, 22358, 1524, -8483, 8471, 13263, -3458, -15540, -5389, 6660, 6026, 17515, -6090, 26595, 5125, -333, 1551, 16579, -26900, -11986, 6965, 4205, -5331, -9360, -4977, 5937, -18259, 8418, -3698, 8758, 21240, 2604, 17055, -14889, 3815, 17678, 13194, 2020, -3322, -17022, -6554, -5395, -9355, 15239, 3444, 8416, 9551, 373, 529, 3864, 11803, -6459, 718, -10332, -12529, -668, -6379, -10311, 5970, -18961, 5335, -3209, -11778, -20335, -1395, 12658, -5967, 15116, 11798, -8223, 5714, 7779, -17811, -6280, 1898, -679, -16779, -6846, 383, 8028, -7098, 13371, 20235, 7153, 13013, 5871, -7832, -396, 3136, 3599, -773, -3680, 13037, 2295, 10502, 9019, 7062, -11692, 523, -5886, 1101, 3668, -9487, -11474, -5768, -12703, 8209, 1447, 3175, 14417, -4116, 4373, -11088, -2756, 10704, -24299, 3853, 4528, 7249, 2544, -18180, -17561, 11866, -15726, 7804, -7643, 14403, -3342, -14983, -15521, -6522, -10810, 8369, 4746, 651, 3195, 4473, -22410, 426, -7932, 10363, -5696, -585, -10279, 1046, 5121, 2984, -6323, 15407, -34784, -8205, 21499, 3667, -5591, -12301, 14937, 12517, -17326, -8697, -2824, -24142, -5209, -8114, -27684, 5365, 13407, -12748, -3204, -673, -20288, -2893, -602, 10750, -11334, -8699, 4810, -9686, -6837, 10391, 5952, -1621, 16325, -13188, 846, 5655, -3829, -524, -566, -9225, 5735, 26372, 5820, -4137, 5934, -9484, 18042, 9733, 2095, -7204, 6580, -24819, -9725, -2084, 820, -7636, 12915, -5860, -3174, -4765, 7476, -4628, -7275, 12896, -7371, -33210, -7835, -25237, 1454, -24317, 3259, 10573, -8882, -4650, 9257, 12093, 10198, -1680, 2358, 6568, -26816, -5193, -21184, 1756, -3609} +#define CONV19_WT {0} +#define CONV19_W_Z (136) +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +#define CONV19_M_ZERO (1481458048) +#define CONV19_N_ZERO (6) + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {-5285, 4007, -2752, 3136, -1083, -1858, 3340, -5088, 3128, 3179, -2670, 2935, 6542, -59, -2455, -46, 8690, 2829, 6002, 4070, 5144, 3219, -2739, 990, 2628, 2045, 3491, -2549, -2498, -2788, 5154, -2068, -1785, -3627, -650, -1771, 5461, -1232, 5443, 5016, 3470, 2534, -1691, -3417, 7254, 3874, -2815, 6946, 12, -1943, 28, -1362, 3681, -1680, -435, -1587, -1436, -3518, 5497, -524, 5930, 2153, 2798, 3072, 3332, -211, 5399, 118, 2684, -2448, 224, 3920, 4359, 1140, 4778, 3142, 2845, 4200, -3417, 2613, 6724, -1492, -771, -889, -1109, 3463, 3838, 3204, -1038, -1171, -657, 1583, -885, 1913, 1129, -881, -4334, -1729, 3219, 3906, 3783, -2592, 3455, -1787, 3270, -337, 3956, -709, -817, 7648, -1531, -662, -1078, 3702, 4067, 3067, 2870, -7827, 4515, 2829, 2478, -1833, 6467, 5436, 4900, -780, 7135, -1397, 6632, 12788, 3645, 3440, -1309, 3992, 6974, 3965, 6657, 4652, -221, 6718, -26, 84, 9786, 11953, 4453, 2558, 5950, 3163, -565, -1214, -870, -571, -1362, -2284, 2750, -684, 3927, -478, -2255, 3066, -7, 3002, 2843, 5756, 3830, 6210, -1654, 6129, -16, -2805, 4409, 3064, 2658, -1112, 3103, 5028, -3163, 6347, 3480, 1701, 5036, -3797, 2774, -616, 7546, 3031, 2885, -2275, -1698, 3840, 3412, -411, -1747, 5207, 3316, 6836, -1072, -1213, 4781, 3299, 3256, -266, -519, 3095, 4224, 1440, -3570, 3218, 4066, -3346, 2102, 5333, 1468, 3165, -67, 1486, 6198, -1642, 2250, 2685, 4722, 4814, -3, -5806, 4687, -271, -4514, -1024, 2796, 3427, -1931, 2590, 5722, 793, 2907, 5335, 5203, 5094, 3377, 405, 5693, 4286, 12578, 1836, -990, 4106, 3970, -18, 3297, 2738, 5535, 278, -539, -837, 4285, -337, 8979, -2580, 1233, -1171, 2954, 5382, -1730, 5294, 4847, -1353, 9530, -7094, 3000, 2876, 3672, -532, 9250, 4157, 3240, -2540, 4042, -2813, -2704, -2413, 4420, 2649, -421, -3493, -936, 5472, 3769, -4, 5961, -4141, 5157, 4890, 4481, -2609, 4095, -1405, 5647, -1955, 4179, 3696, -991, -6493, 3600, 3247, -199, 2200, 571, 2161, -3200, 1207, -1666, -903, -4198, -727, 2626, 3614, -3949, 5732, -952, -917, 2351, 2687, 4001, 272, -978, 8017, -3346, -3383, 2815, 9212, -2303, 4438, 4056, -375, 2106, -2157, 2595, 3994, -1967, 3892, 4739, -1469, -1976, 3857, 2645, -326, 3443, -4022, -1791, 380, -7583, -2025, -3405, 3354, -1969, 1627, 3464, 5286, -730, -828, -1466, 834, 3344, -719, -1980, 5154, -3140, -2167, 3024, 6531, -4848, -364, -4103, 8059, -2877, 5574, 4709, 5897, -4934, -59, -1540, -54, -512, 5466} +#define CONV20_WT {0} +#define CONV20_W_Z (145) +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +#define CONV20_M_ZERO (1140197504) +#define CONV20_N_ZERO (4) + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {3974, -2158, -3415, -838, 16303, -3619, -20775, -884, 7041, 11210, -5040, 4797, 8110, -3410, 6322, 19923, -1036, -15716, -7846, 4471, 2163, -6982, 2945, -16509, 3448, -8029, -15754, -12086, 2790, 11983, 7831, 13201, -17663, -2073, -3464, 5199, -18075, -7032, -4708, -1235, 11996, -1258, -7860, -4995, 2707, -1632, -8347, -12743, 3972, 3907, 6271, -1860, 2587, -5163, -8219, -4724, -8113, -2401, -5877, -7853, -21039, 9017, -10408, -3059, 7566, -17531, -12225, -4427, -10267, 6057, 3475, -6283, -8325, -11891, -6509, -26226, -8752, -13404, -10144, 11188, -9047, 3096, -7127, -2237, -2751, -8637, -12146, -5779, 1930, -3942, 3578, 6779, 3607, -15066, 11931, -17807, 6003, 6898, 279, 10407, -19848, 3920, 19275, -15057, -6532, -4457, -7828, 59, -10014, 12691, 1123, -10291, -15604, -23622, -5592, 5500, 1931, -5466, -19045, -11225, 11646, -569, -1298, 2097, -4776, -1730, -7972, -10373, -15076, 2992, 6516, -18888, -2261, 13147, -17302, -9892, 4917, 2714, 9048, -18270, -7981, -13016, 5135, -23959, -14317, 14557, -15291, -13231, 1578, -16770, -12742, 601, 4628, 12476, -5892, 2656, 2536, -7853, 4976, -8790, -3260, -10518, -7589, 6132, -7320, -9530, 2095, 6813, -20550, 15509, -10503, -12391, 4823, -10318, -13028, 10005, 8591, -7406, 3941, -21082, 1724, -31607, -28482, -5669, 13330, 1444, 569, 481, -5185, -3673, -9602, 1762, -14238, 3325, -6373, 1353, -18978, -915, 7310, -14271, -5924, -10309, -13860, -4000, -8543, -30299, -652, -14029, -992, 12278, -21862, 14283, -106, -31766, -12656, -6663, 8095, -8311, -17801, 3896, 78, 6210, -4511, -17540, -6416, -8127, -9511, -490, -11682, 15251, -8252, 10093, 6515, 21167, -10926, 14059, -17364, -6910, 13404, 10204, 8339, -7065, -2053, 9547, -26080, -19195, 2583, -6128, 9720, 4190, 21250, -252, -5077, 3407, -6652, -14891, -4010, 6332, 3712, 27862, -1651, -9715, -21881, -20657, -9550, 20712, -12667, 659, -17267, -9069, -5406, -10624, -17660, -2086, -3930, 4229, -2319, -6300, -19204, 2979, 18300, -2040, -9170, -4620, -3641, -3716, -1034, 27802, -7465, -21635, -9506, 5131, -3851, -13925, -4569, 12974, -9748, -26522, 4506, -4097, -8029, 3107, -6485, -22837, 4405, -16055, 16942, -16609, -11222, 2911, 11694, -16825, -8869, -2841, -16241, -455, 28540, 7683, 2578, -18161, 15403, -2720, 1645, -7133, -5417, 22227, -4306, -19099, -10246, -8019, -4017, -1122, 341, 3296, 17185, -28896, -18571, -11931, -13130, -3804, 14516, -35481, -26609, -3785, -12936, 2020, -15398, -2225, -12009, 21886, 401, -2271, -28105, 8044, 27051, -3546, 4781, 900, -2919, 2297, 8212, -15046, -12671, -27829, 7359, 6907, 15680, -21019, -13529, -7887, -5318, -24465, -21855, -11258, -13128, 3834, -529, -21674, 6982, 4693, 12311, -20997, 2478, 218} +#define CONV21_WT {0} +#define CONV21_W_Z (98) +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +#define CONV21_M_ZERO (1436691584) +#define CONV21_N_ZERO (6) + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-2162, 54, -1054, 4989, 4415, 4144, -3965, 5629, 4337, 3426, 3261, 6122, 4251, 5379, 371, 6810, 4775, -1450, 6013, 2331, 5547, -232, -236, -1573, 4794, -2202, -10, 3058, -8754, 6366, -5312, -3610, -265, 3432, 4031, 6766, -197, 4541, -58, 3562, 11363, 1149, 141, -1054, -2110, 6131, -594, -756, 6061, -13, -3744, -1352, 5474, -1027, -1124, 4565, -2615, -1561, -1049, -698, -846, 8125, -552, -559, 10859, -569, -58, 3422, -903, -1671, 5341, -713, -41, 1609, -7159, 3492, 5009, -170, -896, 4668, -117, -1150, -2952, -26, -5108, 9032, -359, -2123, 1034, 3428, 3772, 3653, 4321, -851, -827, -53, -1131, 7504, -2032, 4480, -273, 5194, 8345, 6131, 7817, -1390, 4755, 5454, -453, -2127, 5486, -1501, 5964, -7334, -1545, 8586, -151, -1013, -867, -737, 3494, -954, -106, -1361, 3609, -437, -568, -727, -2736, 5102, -1497, -2336, -1916, 4091, 31, 4364, 5688, 6331, 2463, -3286, -95, 2048, 3759, 8349, 6156, 4121, -42, -686, 7922, -455, 3553, 9980, -4381, -2138, -4798, -2053, 4115, -1290, -1704, -2373, -1706, 4597, 5321, 6643, 4379, -5246, -1801, 4331, -42, 6144, 3465, 4654, 5236, -1247, -1066, 6, 1579, 3780, 3379, -1280, -8913, -2335, 2856, -732, 6647, 3627, 3739, -3538, -5555, 1158, 5336, -2198, -2094, 3291, 3760, 5217, -2206, 2775, -1334, -53, -2489, -64, -9256, -307, -2022, -2212, 7289, -1242, 6759, 3445, -772, 804, -7881, -3232, -1111, 30, 7691, 4511, 3628, 5668, 5038, 7626, 2920, -767, 2970, -710, -554, 1785, 3670, 7552, 245, 4325, 2640, 841, -5246, 5042, -58, 8530, -3592, 4447, 11561, 19, -33, 7911, 3223, -2708, 4976, -496, -3488, 7499, 3982, -5393, 6413, -1975, -499, 4098, 3149, 4547, 1149, 4457, 4615, -3672, -2913, -654, 1203, 10093, 273, -651, 3667, -15, 7614, -3147, -344, 7253, -4437, -4994, -683, 6860, -481, 4909, 6575, 4086, 3515, 3842, 4587, 3716, -704, 9211, -2601, -605, -41, -1006, 4401, -2876, 3812, -1342, -96, 2321, 8408, 535, -446, -298, -352, -1026, 6738, -48, 7129, -1024, -1317, -5496, 223, 89, 7846, 3738, -1730, 4818, 2181, -1326, 3, -732, 4181, -7806, 5790, -1722, 3477, -3466, 3360, -269, 3549, 3298, 3458, -2017, -6194, 422, 6060, -1449, -3628, 3298, 4835, -1401, 3596, -3269, -276, -1004, -2827, -1126, 4253, 7406, 6656, -1421, -1759, -649, 1064, 6695, 4544, 4091, -2718, -94, -2144, 5549, 5156, -1331, -208, 3573, 11048, 4628, -7211, -747, -3590, 4345, -465, -506, 3420, -1432, -1635, 4226, 3414, -735, -513, 6611, 11273, -1103, -1451, 2930} +#define CONV22_WT {0} +#define CONV22_W_Z (122) +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +#define CONV22_M_ZERO (2038632320) +#define CONV22_N_ZERO (5) + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-17501, -18697, 1760, -41402, -5737, -11427, -5888, 13081, -8577, -24375, 18171, 13837, -11506, 991, -10247, -14369, -16294, 15854, 648, 1729, -18140, 10758, -13618, -15691, 2518, -11212, 6623, -11274, -10330, -17322, -17157, -14306, -777, -6832, -21592, 13425, 19146, 14721, -8799, 484, -12476, -305, -4903, 9767, -5970, 708, 8288, -31713, -10904, 1977, 9711, 7293, -13773, 860, 10700, 7003, -10731, 16340, 9855, -630, 8450, -22298, -6428, -9018, 4904, -13386, -9257, -1604, -9498, 2649, 14848, -543, -16809, 14614, -10160, -8257, -22143, -21547, 12627, 8056, -19422, -14288, -474, 6230, -5519, 24966, -3890, 8956, -2127, -12053, 3189, -2736, 3288, -1590, -2648, -1285, -8117, -134, -22763, 2585, 12210, -16871, -7216, 1627, 5113, -28162, -4558, -14628, -30971, -11117, -6247, 565, -36988, 6576, -1367, 8717, -14381, 1374, -10178, 1227, 2381, 6320, 3187, -26765, -29761, -6515, 6380, 3725, -36659, 8242, -13600, -2957, 6166, 6954, -7002, 14804, -27511, 12630, -8300, -12607, 2221, 5755, -16065, -4003, -31136, -15790, 18380, 10425, -31877, 15059, 7942, 12870, 20625, 1439, -9266, -205, -9726, 20157, -27642, -5160, -4834, 6764, -246, -13451, -19931, 6203, -3253, 7289, -19472, -6392, 9416, -2522, -4230, 9379, 4952, 17050, -7105, -23471, 5498, -28463, -17708, -4798, -5893, -13790, -14732, 5626, -10881, -9587, 29952, -7242, -4572, -15486, -24792, -11505, -13783, -5229, 9187, -13753, -13888, -20148, -23929, -8351, -13368, -14229, 1571, -10304, -1991, 20192, -15982, 394, -396, -18567, 6967, 6999, -10812, -3079, 11044, -14942, 7795, -13637, -1304, -13485, 3050, 3880, -13102, -7385, -31979, -14256, 2422, -33563, 14537, -14300, -20598, -18291, -4825, -15593, -32183, 6965, -24702, 4886, -7739, 11389, -18287, -9212, 12009, 12561, 7294, 10947, -7781, -15719, -2042, -18998, 14971, -25185, 41, 12919, 13111, -27004, -3227, 11095, -14931, -10816, 10815, -5434, -18965, -9775, -14160, 424, -12211, 4524, -15619, -6132, -25753, -15214, 37775, -11325, -5355, 7644, -5305, -2533, -7116, -12785, -22756, -23595, 239, -11645, -7530, -2783, 21806, -14146, -17155, 10360, -22383, 4464, -15633, 862, -13376, -26263, 4422, 11156, -13571, 9970, -16956, -23805, 5666, 6659, -14874, 7008, 6629, -18609, -26212, 13633, -18600, -22814, 8298, 9166, -3545, -20756, -18457, -15111, -11598, -26851, -2658, 12453, 6776, -1258, 5206, -15077, 8143, -9874, -3825, -15570, -14915, -4843, -15224, -19516, -4951, 9133, -13504, -26134, -21410, -11910, -22262, -9301, -13799, -19854, -8175, -26752, 4840, -30931, -3330, 15177, 1929, -1677, -4050, -11055, -18902, 8063, -11944, 25381, -27198, 9053, -21613, -15932, -18545, 2471, 14235, 6386, -8900, -14779, 8115, -12372, -8883, -13526, -35273, 8701, 5976, -20593, 4378, 4852, 9647, -22230, -11556, -22804} +#define CONV23_WT {0} +#define CONV23_W_Z (109) +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +#define CONV23_M_ZERO (1329619072) +#define CONV23_N_ZERO (6) + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {-30, 12467, 8265, -165, 9980, -2, -72, -2273, -576, -76, 16010, 11146, 6535, 13826, -40, -114, -5714, -805, -47, 5702, -35, 14098, -112, -78, -3, 5203, 6707, -11, -31, -36, -244, -25, 7561, 4200, -27, 10129, 8550, 789, 9629, 8746, -158, 17239, -9, -7747, -104, 6859, 15086, -13, -121, 5957, 1029, 15889, 7012, 14082, 11992, 298, -5252, 8758, 16767, 13, 18111, 113, -114, -74, -1648, -132, -2163, -27, -859, 14379, 8724, -2444, 12053, 16798, -138, 6401, -29, 11854, 10327, 15301, -55, 13535, -54, 11620, 8952, 1606, 11507, 14414, 6674, -663, -2460, 11117, -133, -97, 7983, -95, -8, -1841, -4290, 22371, 17455, 7282, 74, -73, 16321, -46, -48, 10963, -95, -128, 345, 13362, -3257, 11106, 6250, 10239, 14782, -5336, -53, -4988, 7056, 15122, -126, -47, -193, -128, -59, 6404, 24, 16330, -5177, 15495, 7278, 15375, 31, 17729, -111, 9440, 12569, 275, 14692, 12804, -3675, 6728, -51, -68, -2714, 8232, -1032, 14805, 6732, -3482, 5902, -392, 7400, -45, 10934, 16069, 2, -994, 14, -1596, -2972, -38, -108, 6754, -23, -3995, 2, -6, 20877, 6663, 13282, 17896, 15720, 11256, 6391, -347, 7749, -57, 2117, -1419, -2335, -8, -75, 16068, -831, -32, 7140, 14890, 9513, 66, -65, -351, -32, 2153, 14851, -180, 8, -57, -415, -52, -109, -96, 16466, 10, 6, 6841, -46, 10717, 6432, -16, 11594, 7463, -142, -83, 12373, 180, 7557, 272, 16848, 14318, 3665, 11287, -156, -78, -11, 11559, -1309, -50, 40, 6900, 5908, -36, 6870, 6340, -43, 7198, -114, 47, -8, 16662, -70, 14401, -6648, 17472, 1124, -4573, 1, -121, -99, -36, 17687, -194, -83, -54092, 16734, -112, 14175, 11807, -766, 6221, 15005, 15950, 1302, 484, -1170, 12295, -2, 12096, -197, 6768, -114, 15544, 8209, 601, 11492, 11175, 8446, 0, 11436, 6358, -5, 96, -7092, -61, 8475, 13872, 9440, 8269, -25, 6093, -27, 5881, -38, 13959, 106, -52, 13614, 12089, -32, 10892, -141, -149, 15, 14860, -25, 10788, -21581, 70, -196, 16063, -92, -105, 16103, 10002, -452, 12562, -3250, -1488, -62, -107, 5, 19999, 14203, 6793, 6510, 288, 15121, 29, -106, 71, -7565, -24, -82, -75, 6353, 15896, -203, -40, 34, 10808, -60, 7498, 6317, -90, 10214, -12, 5558, 283, 11134, 8957, -13785, 8413, 13140, -357, 10158, 29805, 25, -5972, -113, 11058, -3371, 110, -67, -12, 19091, 7881, -99, -29, 11008, 8709, 249, -28, -27, 11060, 17397, -63, 12601, 6446, 14332, -55, 38, 16891} +#define CONV24_WT {0} +#define CONV24_W_Z (113) +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +#define CONV24_M_ZERO (2112577152) +#define CONV24_N_ZERO (6) + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-1762, 11336, 1897, -571, 147, -2160, -921, -1458, -3193, -8660, -7241, 5210, 10541, -12123, -20671, -207, 1435, 4460, -8461, -1797, -2383, 7713, 1742, 1643, 13980, -5875, 8670, -8390, -1888, 7620, -6378, -10629, 7536, -3667, 6791, -9525, -21739, 2144, 536, -703, 245, 3610, 15586, 4647, -7002, -1785, -5901, -1534, -10059, 5892, -1079, 1516, 333, 3021, -2440, 17276, 428, -402, 8704, 23450, -10775, -7323, -384, -3408, 3132, 4340, -2081, -5089, 7949, -3046, 1905, -5122, -3353, 5599, -10860, -11100, 10432, 1184, -10753, 1440, 13768, 17475, 3608, -3693, -3635, -7706, 2960, 3576, -8991, 10126, -2792, -13960, -278, -9, 685, -3993, 6862, -9783, -13919, 306, -1518, -6450, -9342, 6532, -9410, 421, 2004, 5056, -4191, 5610, -1755, -4934, -2816, -1870, 8583, 5093, -2463, 1998, -6542, 6721, -993, 4548, 9856, -11110, 216, -7003, -2516, 6960, -5481, -1406, 2222, -698, 6439, -3694, 5903, 2103, -9301, 244, 2822, 8691, -6371, 904, -2466, -10339, -13861, 2683, 8947, -7856, -12268, -6076, -12574, -6837, -2637, 2561, -2110, -4864, -2573, 4096, 4949, 3509, -6698, 1733, 1140, 3578, 1940, -2745, 5293, 11932, -4271, -167, 909, -5283, -3875, 5950, 5829, 9269, 6068, -7446, 359, -2944, 1985, -6286, -14701, 3340, 5806, -9083, 1811, -5478, -2649, 13686, -4987, 8336, 2665, -2385, 3562, -10050, 3223, -684, -9704, -8500, -6550, -20480, -4605, -1987, 4111, -784, 527, 9027, 1903, -5717, -5360, 10586, 2152, -3904, 433, -10010, -3979, -2011, 1254, 2462, -6775, 7939, -12375, -10066, -10271, -9670, 3491, 9269, -3208, -15113, -2144, 6528, -10666, -3731, -955, 616, -6461, -3003, 3296, 3638, -926, -7844, -1421, -3684, 2975, -146, 2610, 2348, -3188, 1681, -18560, -4720, -11340, 739, -4455, -9358, -392, -7603, 2878, 4109, -5008, 6499, 2908, 1108, 8195, 5288, 2418, -6686, 1794, 12039, 3772, -951, -210, 970, 2031, -6849, 5077, 5086, -2433, 7429, -390, -5561, -2770, 3456, -4244, 5122, 1453, 9914, -5515, 1468, -1949, 7823, -79, 1538, 3816, 3697, 3815, 379, 3056, 6511, -1179, 10730, 2617, -5369, -4860, -282, 5678, -1063, 3948, -2500, -2521, -1662, -6211, -6223, -2778, -2837, 8016, 2104, -1573, -18099, 4087, -2663, 2917, 884, -2560, 9709, -5979, 7043, 3442, -1235, 4364, -2077, -10463, 7319, 2903, 3388, -7171, 4611, 9297, -4931, -3570, 7400, 1732, 4057, -681, -1193, 4933, 197, -2866, 6622, -7568, -3146, -896, -6671, 4954, 5621, -10809, 1475, 826, 2991, 1677, 8955, 1674, 8422, 11193, -8445, -1155, -3435, -1458, -8044, -8856, 4218, -6144, -11739, 1897, -9872, 590, 2042, -11324, 777, -5967, -2271, 4927, 2106, 7294, 5117, -8297, -4065, 9113, -4074, -2551, -3063, 8624, -403, 9001, 5512, 2152, -7271, 12296, 2677, 3198, -16948, 1482, 547, -4508, -5144, -15627, 8060, -12509, 5748, -1201, -5240, 2792, -4477, -1645, -6219, -4871, -812, -1010, -2981, 416, -5822, 4147, -908, -6687, -1128, -15584, 9956, 3377, 2010, -133, -9008, 4827, -61, 9942, -3146, -1830, -1469, 4522, -14300, 7536, -1393, -2606, 6222, 11687, 4391, -2610, -917, -702, 9980, 5543, 2187, -7322, 7526, -5621, -612, -16534, 2325, 4290, -10339, -822, 2774, -1313, -4743, 3098, -247, -7333, -3187, 622, -2642, -8780, -1542, -537, 1067, -3097, 14906, 2828, -533, -12755, 4750, 3921, 6578, -4499, -14905, -987, 1905, -6025, -6864, -7222, -3392, 5065, 9135, -5876, -9529, -2817, -2968, 6825, 1224, -540, -1274, -8778, -3738, -2567, 536, -2123, 2142, 12064, -3131, 11046, -11200, -1357, 3286, 28, 3645, 6262, -6235, -13455, 7561, 299, 13790, -4079, 8269, 3026, -8445, 4571, -2274, -844, -6032, 814, 6123, -9715, -1964, 5241, -6414, 1233, 9931, -2804, -23, -6155, 1771, -1350, -5351, -4182, -2041, -5952, -2813, 1831, -11654, 3253, 6098, 2995, -7275, -10460, -1018, 3963, -5331, 12021, 7786, 94, 6845, -2793, 5531, -232, -2180, 7206, 1551, -12285, -5701, -2501, 5231, 22479, 9034, -2328, -9227, -4880, -13035, 2427, -10665, -6422, -695, -4819, 14835, 8805, 1980, -13846, -9183, -3378, 18413, -15448, 7332, 20515, -4699, -5182, 4910, -3034, 5313, -6291, -1761, -8046, 2167, -379, -7414, 4310, -15333, -5738, 53, 13906, -1718, -4962, -5069, 668, -3004, 5815, -374, 4285, -6761, -9798, -2594, 4442, -9961, 4529, -2824, -2211, 8965, 3669, 7720, -12533, 12384, -5751, -140, 11816, -6218, -5876, 1058, -16415, 5838, -4647, -298, -13481, 801, 2891, -4565, 9076, 2817, -13727, -1130, -11162, -2219, 6279, -8589, -1426, -3729, -6233, 1079, 3864, -8510, 4014, -2322, 4368, -10306, -15389, -1283, -4074, -524, 213, -4646, -6370, 6938, -8557, 5708, 8058, 3407, -1548, -6815, 2586, -3503, 5993, -2699, -2326, 9984, -252, -802, 9922, -958, -6211, -9834, 194, 3663, 495, -6933, -3819, 1288, 2340, -2700, 4796, -3750, -10360, 6684, -6867, -1660, 1593, -5597, 1190, 9340, -6723, 101, 10244, 13691, 853, -5994, 1661, -4060, -5713, -445, -7162, -7952, -5313, -2400, -4825, 10978, 12452, 5367, -313, 23385, 1108, 2649, -10889, 6973, 4451, -6151, 1676, 11140, -11156, -9479, 4849, -9801, 1788, 3325, 562, -2024, -3180, 7249, 3095, 11781, 1172, -10758, 1717, 8631, -10156, 1284, -6500, 3766, -11914, -6354, -1436, -6913, -5003, 7746, 8035, -6214, -2920, -125, 5160, 5908, 3972, 194, -7560, -4626} +#define CONV25_WT {0} +#define CONV25_W_Z (141) +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +#define CONV25_M_ZERO (1153782656) +#define CONV25_N_ZERO (5) + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {1179, -635, -226, 651, 1, 643, 874, 625, -20, -112, -6, 1095, 728, -6, -338, 714, -43, 44, 8, 612, -14, 626, -183, -20, 699, 22, -771, 15, 692, -11, -7, -244, 18, -9, 1370, -17, -15, -155, -6, -277, 612, -22, 823, 787, -3, 22, -15, 42, -13, 932, -27, 1199, -4, 641, -8, 1217, -61, 887, 1058, 694, 17, -54, -34, -2, 652, 750, 1119, 882, 973, 872, 1774, 717, 704, 706, -193, -9, 617, 53, -170, 13, 768, 850, -11, -2, 1081, -2, -1, 661, 5, 857, 1, -350, 921, -55, -23, 638, 671, -67, -22, 4, -6, -63, -726, -22, -12, 712, -6, -70, 640, -745, -24, -56, -8, 1314, 854, -6, 31, 586, 35, -14, -557, 680, 659, -142, 579, 771, -611, 1360, 4, 741, 672, 707, 1285, -24, 703, -5, -5, -10, 1248, 1202, 832, -82, -23, 20, 737, 1041, -1, 1100, -13, 910, -12, -2, 21, -13, -60, 857, 14, -13, 1133, 818, 24, 880, 1241, -12, 843, -9, -125, 1302, -22, 8, -17, -6, -92, -19, 991, 1081, 899, -18, 640, -8, 15, 3, 792, -8, 676, 1, 625, 657, 9, 987, 35, -12, 1186, -47, -198, 19, -8, 610, -41, 16, 0, 94, -1, 714, -12, -169, -308, 726, -5, 638, -7, 639, 14, -13, 604, -11, 41, -17, -2, -4, 4, 4, 938, -12, -139, -16, 608, 39, 5, -4, -1, 607, -14, -11, 645, 701, 841, -2, 994, 626, -13, -17, -1, 6, 730, 10, -13, 707, 3, 709, -10, 11, 668, 2, 1011, -3, 898, -11, 1214, 2, -1, 1111, 636, -22, 676, 800, -21, -8, 661, -236, 1446, -10, 717, -28, -4, 19, 691, 692, -11, 715, 14, -6, 646, 1084, 635, -42, -37, 642, -24, 13, 839, 761, -1, -1, 681, -31, 1039, -25, 667, 920, -332, 623, -59, 9, -12, 17, 39, 589, 694, -7, -74, 10, -3, 28, 9, -90, 710, 0, -13, -148, 633, -194, -318, 909, 795, 781, -411, 574, 1325, 1139, 668, 16, 7, -9, 970, 59, -5, -172, 1124, -7, 895, 825, 680, -18, 1270, -67, 598, 1210, 651, 7, -8, -20, -61, 2, -93, -9, 29, 0, 54, 691, 58, -133, 1165, -151, 891, 107, 14, -53, 586, -9, -8, 716, 0, 625, 1, 41, -10, 3, -7, -6, 659, -246, -473, 5, 695, 851, -115, 721, 659, -12, -8, -57, 720, 36, 674, 636, -1, 36, -108, 1211, -1, 265, -8, 964, -21, -643, -96, 1112, 38, 768, 651, -144, -1134, 664, -6, 630, 1197, 671, 12, 704, -13, 597, -4, 25, 658, -87, -11, 3165, 3, 36, 618, 846, -173, 1, 652, 653, -23, 22, 1436, -7, -86, 652, 609, -7, 1382, 20, 732, -9, -143, 625, 763, 891, -16, 722, -5, 3, -10, 601, -174, 635, -6, 23, 44, -20, 637, -11, -137, 659, 801, 723, -58, -7, -14, 17, 15, 1064, 600, 623, 630, 713, 751, 1010, 840, -5, -43, -8, -206, -158, 8, 679, 776, 712, 25, -5, -8, -11, -14, -703, -1, 863, 2, 621, 17, 656, 728, -19, 766, 684, -22, -123, 943, 648, -13, -236, 1, 0, 90, -6, 819, 790, -47, -255, 882, 52, -17, 624, 59, 24, 795, 733, -6, 0, 680, -11, 27, -710, -52, 707, 1, -10, -57, -56, 759, 5, 25, 47, -10, 861, 4, 740, -11, -154, -18, -59, 1, -11, 650, -10, -10, -187, -8, -9, 579, -11, 706, -94, -2, 25, 910, 1, 1287, -194, 726, -45, -2, 25, 28, -10, 36, 601, 646, -856, 920, 10, 2, -7, 53, 801, -15, 842, 565, -63, 39, 645, -119, -137, 40, 0, 12, -145, 739, 956, -6, -504, -16, -495, 1003, 15, 657, 1286, 683, -218, -20, -366, -13, 0, 37, 695, 777, 575, 999, 37, 756, 880, -5, -187, -15, 718, -17, 866, 853, 11, 667, 716, -448, 879, -8, 665, -17, 944, -15, 982, 653, 16, -101, -12, -24, 714, -42, 7, 662, -533, 849, 710, 1024, -9, 1113, 7, -3, -19, -25, 630, 856, 602, -233, -107, -1, 37, -4, 1460, 711, 14, 809, -6, -16, 1562, 642, 10, 9, 666, -41, -10, 664, 40, -202, -46, -138, -97, 3, -36, 745, -20, 638, 654, 725, -4, -116, 814, -48, 36, -23, -8, 964, 733, -91, 761, 893, -6, -11, -44, -21, 702, 874, -6, 5, -67, -1, 552, 25, 703, 1084, 808, 15, 652, 620, -17, -11, -9, -629, 8, 62, -221, -7, 672, 657, 9, 641, 673, -9, 25, 27, 772, -10, 757, -13, -50, 648, 990, -59, -32, 693, 793, 2, -33, 15, -22, -8, -233, 1200, 20, 18, -268, 1219, 938, -340, 31, -3, 20} +#define CONV26_WT {0} +#define CONV26_W_Z (245) +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +#define CONV26_M_ZERO (1408798080) +#define CONV26_N_ZERO (2) + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {405, -595, -620, -1226, 517, -882, 169, 441, -211, -426, 514, -303, -609, -2377, 24, -361, 231, 79, 342, 102, -1147, 6, 21, -443, -168, -817, -436, -1369, -541, -1179, -92, -184, 47, -1348, -24, 63, -217, -787, -267, -861, -97, -44, 1061, 173, -118, -649, -712, -850, -248, -34, -846, 326, -863, -434, 734, 10, -426, -111, 15, -1001, -539, -479, 3, -401, -175, -494, -144, -1371, -115, 161, -152, -474, -942, -429, 263, 198, -987, 133, 25, -1044, -273, -402, -493, -1014, -839, -237, -547, -189, 576, -858, -1134, 519, 46, -245, 46, -589, -366, 545, -497, -661, -345, -755, 95, -942, 23, -1047, 163, -263, -85, -930, -668, 231, -246, -401, -586, -247, -1190, -135, -568, -661, -911, -753, -556, -857, 633, -1009, -305, -479, -746, -832, -672, 9, 10, -11, -1086, -455, -1046, -98, -1266, -324, -467, -1069, 197, -773, 559, -778, -265, -173, -824, 70, 195, 841, -557, -967, -729, -650, -153, -110, -4, -792, -223, 335, -343, -653, -950, -619, 162, -695, -357, -1037, 98, -352, -126, -635, 291, -448, -1305, -422, 766, 202, 53, -955, 78, -29, -474, 3, -697, -619, -969, -650, -528, -449, 122, -820, -735, -798, -449, 229, 18, -807, -771, -281, -392, -793, 116, 441, -675, -1286, -1082, -761, -680, -329, -801, -579, -890, -337, 22, -608, -329, -384, -458, -561, 36, -404, -414, -788, -225, -869, -1455, -112, 40, 400, -604, -376, -411, -958, -269, -762, 58, -266, -591, -523, -743, -450, -230, 77, 271, 356, -636, -1213, -1169, -677, 73, -883, -215, -93, -1093, -753, -185, -1197, 316, 100, 230, -98, -350, 368, -440, -1210, -436, -262, 139, -646, -353, 49, -610, -1444, -1054, -874, 531, -645, -733, -919, -1129, -53, -659, -485, 47, -944, -917, -679, 39, -143, 25, -315, -431, -873, -658, -558, -245, -959, -502, -332, 125, -463, -192, 237, -560, 55, -112, 146, -198, -271, -963, 35, -101, 377, -558, -425, -880, -757, -48, 119, -960, -790, -609, -1115, -1081, 698, -386, -393, -431, 724, -543, -1192, -193, -82, 402, -871, -596, 349, -450, -733, -663, 199, 445, -979, -550, -992, -19, -312, -1294, -407, -790, -606, -598, -367, -348, -684, -267, -464, -202, -273, -894, -1028, 369, -1082, -79, -361, 18, -81, -259, -173, -476, 198, 516, -249, -186, -871, 728, 450, -515, -1036, 48, -964, -546, -480, -298, -757, -1174, -216, -946, -810, -213, -890, -412, -353, -251, -335, -316, 98, 181, -898, -833, -719, -582, -26, -847, -705, -134, -1210, -64, -668, -316, 741, -602, 169, -71, -672, 75, 474, -489, 438, -618, -695, -798, -1428, -139, -704, -456, -1143, -53, -1014, -192, -357, -684, -689, -254, -309, -640, -567, -594, -266, -814, -159, -124, -235, -193, -580, -1408, -15, -678, -650, -10, -1208, -773, -469, -455, -60, 46, -1094, -593, -514, -465, -181, -867, -513, -113, -815, -963, -830, -1128, -260, -172, -141, -483, -773, 109, -876, -277, -205, -942, -526, -630, -819, -1051, -1040, 137, -836, -1554, -526, -1062, 127, -253, -511, -842, -1055, -337, -631, -145, -780, -518, -943, -235, -1682, -382, -25, -891, 464, -240, -587, -404, -305, -149, 261, 112, -1071, -600, -344, -1521, -440, -98, 144, -696, -552, -343, 639, -503, -950, -237, -1012, -1105, -49, 210, 16, -430, -507, -293, 641, 154, -225, -237, -129, -1196, -98, -581, -1128, -803, -1056, -1201, -5, 349, -239, -941, -516, -1695, -260, -47, -387, 500, -591, 13, 200, -143, 92, -573, 431, -807, -460, -1326, -530, 140, -248, -139, -328, -102, -344, 18, -355, -429, -677, 251, 413, -258, -130, -413, -631, -1430, -1168, 119, -434, -62, 501, -66, -130, 288, -544, -200, -500, -821, -399, 77, -523, -341, -226, 307, 305, -665, -818, -177, -392, -1274, -1144, -364, -936, -703, -483, -1505, 599, 45, -499, -597, 471, -835, -480, -213, -141, -202, -756, -399, 253, -249, -681, -719, -116, -1174, 225, -994, -399, -399, -52, -198, -686, -696, -446, -853, -417, -255, -99, -139, -716, -95, -604, -842, -426, -465, 310, -288, -93, -1034, -182, 17, -1351, -921, -837, -477, -126, -889, -469, -562, -562, 283, -39, -529, -716, -584, -599, -233, -783, -1354, 214, -1082, -1094, -1155, 271, -528, -522, -487, -350, -595, -884, -427, -139, -417, -488, -295, -119, -134, 42, -22, -277, -522, 41, -837, -951, -370, -526, -181, -672, -749, -913, -478, -194, -1384, -1475, -229, 443, -90, -634, -884, -858, -1027, -897, -604, -104, -1822, -378, -563, 131, -1221, -650, -90, 379, -760, -342, -47, 158, -343, -898, -1372, -90, -1121, -1074, -102, -497, -717, -828, -400, -583, -551, -595, -969, -898, -239, -606, -1332, -95, -1190, -652, -352, 349, -385, 261, 622, -94, 181, -553, -470, -5} +#define CONV27_WT {0} +#define CONV27_W_Z (9) +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1428546560, 1393463552, 1341850496, 1396495232, 1329503872, 1265143680, 1422482816, 1446320384, 1390722304, 1413352832, 1480849152, 1606196608, 1380942336, 1400003456, 1527206016, 1475536000, 1440359040, 1435321088, 1383891968, 1476828800, 1348446464, 1486993664, 1477014784, 1518099584, 1383421312, 1441031552, 1380697472, 1454317696, 1401954688, 1459708928, 1405649280, 1435196928, 1353588224, 1363706880, 1476748928, 1475508864, 1436200448, 1364936704, 1445280512, 1478117632, 1489165824, 1352744064, 1413141120, 1479934848, 1308103936, 1418633728, 1440388352, 1434206848, 1428700032, 1420278400, 1399057536, 1425569408, 1477375488, 1435112576, 1432050048, 1477597440, 1526932864, 1403145344, 1366407040, 1416430592, 1427045760, 1584151808, 1595071872, 1384365440, 1342846336, 1449566592, 1396644480, 1578532480, 1422522368, 1332974208, 1429137536, 1500117248, 1360744448, 1362711808, 1401573888, 1420866944, 1428950272, 1466082944, 1482136704, 1418425728, 1481133312, 1433191424, 1492228352, 1451459584, 1337471232, 1490376704, 1375945344, 1399943040, 1385735936, 1385243008, 1333842816, 1458839552, 1307684352, 1477096320, 1462478592, 1461383680, 1413858304, 1364773632, 1488151168, 1377142400, 1373127424, 1482953216, 1342082560, 1292415744, 1406021248, 1397157888, 1495808896, 1426230528, 1376392960, 1407132288, 1451784448, 1446707968, 1418834560, 1438580352, 1433035008, 1426010624, 1430912384, 1409391744, 1479843840, 1467044608, 1348864000, 1404310912, 1388506752, 1369128448, 1511282816, 1472100480, 1532977536, 1391967616, 1444192384, 1411788288, 1421355776, 1389849344, 1498403456, 1485612544, 1294569856, 1397904512, 1483741568, 1504796800, 1483091328, 1364433280, 1457408896, 1389765376, 1437689216, 1434181632, 1433139712, 1478455552, 1414247552, 1407347840, 1458693120, 1399752192, 1430828288, 1457365248, 1392697216, 1308013440, 1488489088, 1468355968, 1336866432, 1487639552, 1492921728, 1407820416, 1436771968, 1455271296, 1449259136, 1449936256, 1352182656, 1411316736, 1503060224, 1475749888, 1481078912, 1375102976, 1389298176, 1537180544, 1462946688, 1461069952, 1395958528, 1469984128, 1342277760, 1419581824, 1229476864, 1445026688, 1458448256, 1530952960, 1344891904, 1430011648, 1334226176, 1513691776, 1409282560, 1433839488, 1437217664, 1267429632, 1381554432, 1391578496, 1454369280, 1393641728, 1345082368, 1304698368, 1415218048, 1406554112, 1438858112, 1421148928, 1432635904, 1470063104, 1462716288, 1404599424, 1329524992, 1427548288, 1330723072, 1382558080, 1327716992, 1335659904, 1397718784, 1560960384, 1436811392, 1519608832, 1516017152, 1489331456, 1390562816, 1466771200, 1410886016, 1368699904, 1383346176, 1471313024, 1393191424, 1435495040, 1307377792, 1396751232, 1391101184, 1530290816, 1390542976, 1442630400, 1310478208, 1457726592, 1395145856, 1397764736, 1448249088, 1419701888, 1383394304, 1471664896, 1370659840, 1363884032, 1378934400, 1460107648, 1363512704, 1555290496, 1543621632, 1472256256, 1486695424, 1357882752, 1425710336, 1347373440, 1393116288, 1498056576, 1319177600, 1494601728, 1522634752, 1375209088, 1413823488, 1398210048, 1311049600, 1435891840, 1356341888, 1385325824, 1434622336, 1482533376, 1477752448, 1463362944, 1425579904, 1466947712, 1407529088, 1552695296, 1482777984, 1508929536, 1436739072, 1457369344, 1514421376, 1486995584, 1344105856, 1430821120, 1475819392, 1386839936, 1425932672, 1465801088, 1432139520, 1349284864, 1343320576, 1383413248, 1532958464, 1434555136, 1382190720, 1407856896, 1495846016, 1398846720, 1458897664, 1512914048, 1476060544, 1457683840, 1498838784, 1321857664, 1421654656, 1452484352, 1438569472, 1216379136, 1352630528, 1477799040, 1530300544, 1515640320, 1491000960, 1510413440, 1478297984, 1549032320, 1462587264, 1441931264, 1427148544, 1417573760, 1424009984, 1456596352, 1423902336, 1414157952, 1442041728, 1342426880, 1497124480, 1458860672, 1348581632, 1436132096, 1377290368, 1379878656, 1441545856, 1419434368, 1429876608, 1415276928, 1434079488, 1508282752, 1355370880, 1392362624, 1429191680, 1470894080, 1385826816, 1399426432, 1484891648, 1486928768, 1420397568, 1491545984, 1397235072, 1388500480, 1459632256, 1448953344, 1477917952, 1424352000, 1514211584, 1511659392, 1434260864, 1454891136, 1379161088, 1431868160, 1559039744, 1497408512, 1475786496, 1415780352, 1387381760, 1472686848, 1429372672, 1507052544, 1405258368, 1490258304, 1436924928, 1407019136, 1367257856, 1507125888, 1540811392, 1515505536, 1386801024, 1389895040, 1436443136, 1440334976, 1409029248, 1322776960, 1363474304, 1401624192, 1401660928, 1455086976, 1383563648, 1222838016, 1463705600, 1409810816, 1460593408, 1446944896, 1460176512, 1253751680, 1506027904, 1266616064, 1338343168, 1408806528, 1442146688, 1450604544, 1454706048, 1423942272, 1424187648, 1469579008, 1535933568, 1379561856, 1455885568, 1536544640, 1486834816, 1458867072, 1440456832, 1406315648, 1369841664, 1428416256, 1455800832, 1351114624, 1483908352, 1376669568, 1451312768, 1384042496, 1322079104, 1558729856, 1431871104, 1412419584, 1471351808, 1402634240, 1356944128, 1481385344, 1426172544, 1375203584, 1360145024, 1345771648, 1420777472, 1388191872, 1422907520, 1394570496, 1457593344, 1407984000, 1384436224, 1388915456, 1474906112, 1420293760, 1453475968, 1428052992, 1359763840, 1391803648, 1434222976, 1518230656, 1517236608, 1464385536, 1554495872, 1370419968, 1373474816, 1551833216, 1330625280, 1363755008, 1473419904, 1364278400, 1417035648, 1325368832, 1478124544, 1377699584, 1492798080, 1426806144, 1416653568, 1302318080, 1334275200, 1487026944, 1384830720, 1429702912, 1396817408, 1362685312, 1432075648, 1539402368, 1318007168, 1371193984, 1308153856, 1408456192, 1464521856, 1419327616, 1380451968, 1369499648, 1385185664, 1380419456, 1348805504, 1433294848, 1451008896, 1353119104, 1513924096, 1525351808, 1465793152, 1415559680, 1411851392, 1408098432, 1360306816, 1361374976, 1421794560, 1413882368, 1423270400, 1378057728, 1294151808, 1451177728, 1423744384, 1343447936, 1508390784, 1438683136, 1377246976, 1432517120, 1336398976, 1334927488, 1421131264, 1492429440, 1397031680, 1320933376, 1506200832, 1378469888, 1384201728, 1341938304, 1394172288, 1491819776, 1397302656, 1470794368, 1391391232, 1556118784, 1437147264, 1475316480, 1470476288, 1377765376, 1447511040, 1462267648, 1343393280, 1442866944, 1495913216, 1418567168, 1439181824, 1328061696, 1390452224, 1406721024, 1341168384, 1455385856, 1460711168, 1444838016, 1319901824, 1404012672, 1412342528, 1397910784, 1417782400, 1367081856, 1352984832, 1476853888, 1391454720, 1420058624, 1386941568, 1345826304, 1459525376, 1398096896, 1466967680, 1387772928, 1395272960, 1401618944, 1415808384, 1457583232, 1480560256, 1366529152, 1373122432, 1360232064, 1445476224, 1386392832, 1469964800, 1454018304, 1412194688, 1264540416, 1294197248, 1454948352, 1437337088, 1348937856, 1448352128, 1314708352, 1334497536, 1565715968, 1359036672, 1396554880, 1438851840, 1501066624, 1442232064, 1435620864, 1409237632, 1424222592, 1469049088, 1427442560, 1325301120, 1410775936, 1381569536, 1381349248, 1277544576, 1451048320, 1393446272, 1410406400, 1407807872, 1379191040, 1449037696, 1423027456, 1377950592, 1395713024, 1452183424, 1410741120, 1399629056, 1467622528, 1467521664, 1493634560, 1436931456, 1366073728, 1373410176, 1344261760, 1654596096, 1412938240, 1321931136, 1419935360, 1413906816, 1430243328, 1344794624, 1355188224, 1478235264, 1377417088, 1339305600, 1535314688, 1425464448, 1365502080, 1401277824, 1404341120, 1396047872, 1410713728, 1355782528, 1471546624, 1464391936, 1422865024, 1482029184, 1379157376, 1273685760, 1452656128, 1376670848, 1498248320, 1418235776, 1477859840, 1449320064, 1521725184, 1419303424, 1439822592, 1434256896, 1477292032, 1501526656, 1278090240, 1398871424, 1687483008, 1435272192, 1474776576, 1435893504, 1294510080, 1391932160, 1396187008, 1385208064, 1472326144, 1399386880, 1364487296, 1464971904, 1439308928, 1471459456, 1471121152, 1340213248, 1431751168, 1497387520, 1524434304, 1470569984, 1500328320, 1441851776, 1409690368, 1605128448, 1416500608, 1409802880, 1324551808, 1515785216, 1505419136, 1420086528, 1405404672, 1356829568, 1389331584, 1422247296, 1333572864, 1298784512, 1489157888, 1362945024, 1405674112, 1393062272, 1525056384, 1406063616, 1504868992, 1442727808, 1460016000, 1426623104, 1438710144, 1406806144, 1379444992, 1410089088, 1462612352, 1485433600, 1460545408, 1482753536, 1344920192, 1335169664, 1393419904, 1403010560, 1368472320, 1427133056, 1377446656, 1526668544, 1480000128, 1441533312, 1452443008, 1389430144, 1497576832, 1401341440, 1387575936, 1487085312, 1314753792, 1429812480, 1476047744, 1444111744, 1304919296, 1362245888, 1427748096, 1351211008, 1411401856, 1418235392, 1454113920, 1402617088, 1491243264, 1425165824, 1351269888, 1392282880, 1430102272, 1475203456, 1320135296, 1356839680, 1445037184, 1385826048, 1492066176, 1358545664, 1370945920, 1480289536, 1358614784, 1389374976, 1400311296, 1385430528, 1361049344, 1451999232, 1418277760, 1363064704, 1363936384, 1459626624, 1391678592, 1405072512, 1508572928, 1464041984, 1377327744, 1436026752, 1410940032, 1322173056, 1454734848, 1422607360, 1376689280, 1406123136, 1376883456, 1438726912, 1417875840}; +static const int8_t CONV27_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-127, 120, -304, -404, 95, 109, -152, 99, -84, -128, -243, -220, -160, -126, -90, -182, -91, -175, 44, -207, -111, 183, -28, 65, 52, -54, 36, -104, 65, 30, 161, 1, 113, -326, -52, -460, -76, -265, 132, -79, -58, 112, 94, -287, 41, 34, 116, -54, -289, -166, 56, -161, 265, 185, -43, -46, 8, -125, 201, 224, 69, 305, -8, 224, 251, 166, -116, -73, 6, 46, -247, 56, -62, 172, -125, 282, 68, 291, 287, 230, -360, 19, 5, -563, -214, 104, -221, -11, -56, 237, -145, -134, 84, -97, 6, -354, -28, -228, -595, -247, -130, -392, 67, 266, 144, -144, 63, -35, -354, -462, -381, 607, 74, -43, 9, -683, -242, -50, -22, 35, -64, -251, -129, -293, -20, -247, -198, -239, -221, -124, -341, -322, -122, 80, -359, -551, -239, -346, -281, -272, -390, -92, -412, -214, -300, -222, -41, -190, -348, -244, -57, 218, -440, 203, 87, 81, 101, -110, -244, -89, -119, 348, 344, 36, 16, -138, -164, -376, 20, -44, 98, 378, 27, -18, 225, -332, -117, -143, 324, 46, -1, -65, 193, -115, 148, 200, -47, 16, -59, 141, -84, 277, 36, -139, -100, 367, 40, -10, -245, 217, -399, -30, 232, 256, 203, -67, -222, 38, -17, 337, -106, 9, 15, -78, 70, -97, -71, 375, 221, 78, -97, -244, -57, 573, -249, 317, 43, -11, -296, 263, 46, -72, -9, 66, 117, -14, 178, 261, 208, 450, -68, -160, 131, -63, -90, 176, -169, 173, -76, -138, 37, 179, -122, -196, 353, -89, 39, 185, 97, 11, 210, 4, -84, 111, 67, 157, 29, -67, -361, -99, 146, -238, -15, -56, -194, -233, -99, -177, -282, -24, -222, 421, -243, -105, 299, 120, -58, 38, -91, 7, -75, -242, -109, -162, 2, -22, -14, -59, -74, 134, -244, -131, -190, -134, -243, 347, 199, -120, -167, -90, -120, -45, 142, 359, 271, 164, -12, -221, -87, -7, -173, -543, -558, -403, -279, -407, -401, -99, -159, -140, -64, 37, 148, 31, 1, -247, 176, -143, -50, -60, -47, -178, -189, -182, -121, -65, 79, -68, -48, -141, 1, -303, -294, -123, 130, -127, -47, -100, 29, 235, 6, 110, 36, 31, 72, -135, -58, 355, -112, -85, -127, -278, -79, 83, -172, -116, -82, -8, 174, 92, -167, -14, 2, 14, -405, -135, -78, -270, -161, -87, -140, 31, -366, -441, -99, -80, -465, -192, -54, 343, -125, 277, 122, -163, -537, 176, -70, -221, -440, -267, -30, -10, 156, 211, 51, -142, 292, -163, 207, 187, -92, 168, 45, 436, 248, 61, -433, -125, 51, -61, -92, -55, 43, 100, -104, 32, 101, -141, -40, -183, 225, 4, 10, -17, 63, 337, 213, 121, 395, 23, 71, 0, 50, 93, 82, 181, 155, 248, -92, 264, 27, 115, 242, 26, 514, 121, -147, -131, 352, -98, 148, 3, -161, 171, -237, 16, -346, 107, -14, -83, 88, 97, -64, -19, -285, -70, -32, 256, 27, 312, -436, 16, 224, -26, 11, -282, 48, -269, 68, 132, -168, 171, 61, -39, 163, 197, 146, -124, -85, -160, -204, 126, -82, -29, 45, 184, -79, -152, -104, 228, -191, -84, 114, 431, -66, -162, 26, -143, -126, 315, 246, -140, 84, -53, -99, -99, -106, -26, -67, 371, -269, -68, 98, 31, -176, 302, 5, -563, -217, 258, -131, 113, 19, 98, -175, -178, -213, 79, 76, 132, -68, -2, -6, 388, -247, -188, -183, 126, 57, -36, -53, -102, 133, 17, 240, 39, -112, 122, -20, 326, -89, -90, 31, -36, 417, 129, -267, 398, 163, 197, -51, 75, -46, 209, 108, -321, 260, 231, -248, 108, 238, -11, 53, 113, 45, 69, 214, -80, 311, -96, 190, -122, -80, 70, -47, 67, 232, 138, 180, -335, 239, 113, 96, 653, 189, -118, 250, 324, -84, 323, 340, 10, 181, 228, 114, -160, 157, -16, 88, -206, -378, -75, 68, 41, 400, -139, 417, -274, 78, 47, 227, 62, 3, 96, 140, 563, 10, 38, 79, 92, 119, -301, 163, -53, 148, 239, 132, 56, -375, -213, 104, 315, 70, 199, 259, -86, -72, 405, 344, -18, -45, 117, 26, 319, 1, -269, 190, -255, -313, -272, -232, 35, 276, -327, -161, 205, 318, 36, -1, 6, 243, -203, -19, 360, 357, -314, 115, 52, -201, 9, -161, 332, 107, 175, 299, -140, 468, -214, 237, 242, 77, -105, 110, -6, -205, -100, 250, -198, 63, 87, -49, 214, 195, 128, -313, -92, -22, 182, 117, 87, -74, -56, -42, 263, -175, 40, 46, 53, 114, 332, 177, 109, 323, 189, -99, -233, 100, -173, 126, -53, 241, 141, -143, 85, 273, 265, -152, -2, -152, 204, 61, -140, 77, 111, 260, 7, 131, 555, -201, -241, -181, -165, 2, 214, 215, 301, 79, -100, 114, 8, -276, 191, 67, -4, 83, -205, 36, 19, -179, 204, -324, 79, -281, -90, 0, 77, -63, -58, 50, -83, -295, -93, 86, 81, -174, -24, 136, 35, 39, 65, -302, -76, 113, 325, 300, 26, -133, -185, 238, -304, 100, 194, -125, -108, 428, -285, 286, 313, 225, 99, 73, 13, 92, 71, 294, 482, -132, -107, 68, -32, 205, 8, 159, -83, -171, 300, -437, -172, 293, 343, -99, 263, -179, -11, -191, -80, -194, -113, 331, -41, 93, -348, 124, -189, -622, 52, 157, -107, -215, 367, 398, 156, 225, 179, 16, 755, -325, -341, -7, 60, -39, -132, 328, 178, 9, 58, 152, 189, 287, 113, -171, -98, 73, 320, 150, 379, 363, 353, -161, 37, 230, 366, 28, 100, -216, -93, -228, -170, -84, 412, 230, 55, -121, 47, -314, -237, -358, -149, -52, 297, 147, -128, 3, -362, -32, -175, 133, -65, -165, -118, -85, -68, -50, -169, -291, -112, -290, -239, 24, -83, -79, -48, 142, -85, 56, 3, -72, -121, 50, -395, -36, 139, -221, -205, -341, 32, 236, 94, 46, -153, -56, 274, 135, -152, 192, 244, 172, 354, 107, 29, 354, -13, 291, -351, 71, 124, -358, 119, -111, -198, 15, -186, -292, -735, -104, -384, -68, -208, 25, 142} +#define FC28_W_Z (6) +#define FC28_IN_Z (0) + + +#endif /*__224_0_75_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/224_1_0_parameters.h b/Inc/intq-mobilenet-v1-models/224_1_0_parameters.h new file mode 100644 index 0000000..77a1ab5 --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/224_1_0_parameters.h @@ -0,0 +1,361 @@ +#ifndef __224_1_0_PARAMETERS_H__ +#define __224_1_0_PARAMETERS_H__ + + +/* Layer 1 Topology Parameters */ +#define CONV1_IM_DIM (224) +#define CONV1_IM_CH (4) +#define CONV1_KER_DIM (3) +#define CONV1_L_PADDING (0) +#define CONV1_R_PADDING (1) +#define CONV1_T_PADDING (0) +#define CONV1_B_PADDING (1) +#define CONV1_STRIDE (2) +#define CONV1_OUT_CH (32) +#define CONV1_OUT_DIM (112) + + +/* Layer 2 Topology Parameters */ +#define CONV2_IM_DIM (112) +#define CONV2_IM_CH (32) +#define CONV2_KER_DIM (3) +#define CONV2_L_PADDING (1) +#define CONV2_R_PADDING (1) +#define CONV2_T_PADDING (1) +#define CONV2_B_PADDING (1) +#define CONV2_STRIDE (1) +#define CONV2_OUT_CH (32) +#define CONV2_OUT_DIM (112) + + +/* Layer 3 Topology Parameters */ +#define CONV3_IM_DIM (112) +#define CONV3_IM_CH (32) +#define CONV3_KER_DIM (1) +#define CONV3_L_PADDING (0) +#define CONV3_R_PADDING (0) +#define CONV3_T_PADDING (0) +#define CONV3_B_PADDING (0) +#define CONV3_STRIDE (1) +#define CONV3_OUT_CH (64) +#define CONV3_OUT_DIM (112) + + +/* Layer 4 Topology Parameters */ +#define CONV4_IM_DIM (112) +#define CONV4_IM_CH (64) +#define CONV4_KER_DIM (3) +#define CONV4_L_PADDING (0) +#define CONV4_R_PADDING (1) +#define CONV4_T_PADDING (0) +#define CONV4_B_PADDING (1) +#define CONV4_STRIDE (2) +#define CONV4_OUT_CH (64) +#define CONV4_OUT_DIM (56) + + +/* Layer 5 Topology Parameters */ +#define CONV5_IM_DIM (56) +#define CONV5_IM_CH (64) +#define CONV5_KER_DIM (1) +#define CONV5_L_PADDING (0) +#define CONV5_R_PADDING (0) +#define CONV5_T_PADDING (0) +#define CONV5_B_PADDING (0) +#define CONV5_STRIDE (1) +#define CONV5_OUT_CH (128) +#define CONV5_OUT_DIM (56) + + +/* Layer 6 Topology Parameters */ +#define CONV6_IM_DIM (56) +#define CONV6_IM_CH (128) +#define CONV6_KER_DIM (3) +#define CONV6_L_PADDING (1) +#define CONV6_R_PADDING (1) +#define CONV6_T_PADDING (1) +#define CONV6_B_PADDING (1) +#define CONV6_STRIDE (1) +#define CONV6_OUT_CH (128) +#define CONV6_OUT_DIM (56) + + +/* Layer 7 Topology Parameters */ +#define CONV7_IM_DIM (56) +#define CONV7_IM_CH (128) +#define CONV7_KER_DIM (1) +#define CONV7_L_PADDING (0) +#define CONV7_R_PADDING (0) +#define CONV7_T_PADDING (0) +#define CONV7_B_PADDING (0) +#define CONV7_STRIDE (1) +#define CONV7_OUT_CH (128) +#define CONV7_OUT_DIM (56) + + +/* Layer 8 Topology Parameters */ +#define CONV8_IM_DIM (56) +#define CONV8_IM_CH (128) +#define CONV8_KER_DIM (3) +#define CONV8_L_PADDING (0) +#define CONV8_R_PADDING (1) +#define CONV8_T_PADDING (0) +#define CONV8_B_PADDING (1) +#define CONV8_STRIDE (2) +#define CONV8_OUT_CH (128) +#define CONV8_OUT_DIM (28) + + +/* Layer 9 Topology Parameters */ +#define CONV9_IM_DIM (28) +#define CONV9_IM_CH (128) +#define CONV9_KER_DIM (1) +#define CONV9_L_PADDING (0) +#define CONV9_R_PADDING (0) +#define CONV9_T_PADDING (0) +#define CONV9_B_PADDING (0) +#define CONV9_STRIDE (1) +#define CONV9_OUT_CH (256) +#define CONV9_OUT_DIM (28) + + +/* Layer 10 Topology Parameters */ +#define CONV10_IM_DIM (28) +#define CONV10_IM_CH (256) +#define CONV10_KER_DIM (3) +#define CONV10_L_PADDING (1) +#define CONV10_R_PADDING (1) +#define CONV10_T_PADDING (1) +#define CONV10_B_PADDING (1) +#define CONV10_STRIDE (1) +#define CONV10_OUT_CH (256) +#define CONV10_OUT_DIM (28) + + +/* Layer 11 Topology Parameters */ +#define CONV11_IM_DIM (28) +#define CONV11_IM_CH (256) +#define CONV11_KER_DIM (1) +#define CONV11_L_PADDING (0) +#define CONV11_R_PADDING (0) +#define CONV11_T_PADDING (0) +#define CONV11_B_PADDING (0) +#define CONV11_STRIDE (1) +#define CONV11_OUT_CH (256) +#define CONV11_OUT_DIM (28) + + +/* Layer 12 Topology Parameters */ +#define CONV12_IM_DIM (28) +#define CONV12_IM_CH (256) +#define CONV12_KER_DIM (3) +#define CONV12_L_PADDING (0) +#define CONV12_R_PADDING (1) +#define CONV12_T_PADDING (0) +#define CONV12_B_PADDING (1) +#define CONV12_STRIDE (2) +#define CONV12_OUT_CH (256) +#define CONV12_OUT_DIM (14) + + +/* Layer 13 Topology Parameters */ +#define CONV13_IM_DIM (14) +#define CONV13_IM_CH (256) +#define CONV13_KER_DIM (1) +#define CONV13_L_PADDING (0) +#define CONV13_R_PADDING (0) +#define CONV13_T_PADDING (0) +#define CONV13_B_PADDING (0) +#define CONV13_STRIDE (1) +#define CONV13_OUT_CH (512) +#define CONV13_OUT_DIM (14) + + +/* Layer 14 Topology Parameters */ +#define CONV14_IM_DIM (14) +#define CONV14_IM_CH (512) +#define CONV14_KER_DIM (3) +#define CONV14_L_PADDING (1) +#define CONV14_R_PADDING (1) +#define CONV14_T_PADDING (1) +#define CONV14_B_PADDING (1) +#define CONV14_STRIDE (1) +#define CONV14_OUT_CH (512) +#define CONV14_OUT_DIM (14) + + +/* Layer 15 Topology Parameters */ +#define CONV15_IM_DIM (14) +#define CONV15_IM_CH (512) +#define CONV15_KER_DIM (1) +#define CONV15_L_PADDING (0) +#define CONV15_R_PADDING (0) +#define CONV15_T_PADDING (0) +#define CONV15_B_PADDING (0) +#define CONV15_STRIDE (1) +#define CONV15_OUT_CH (512) +#define CONV15_OUT_DIM (14) + + +/* Layer 16 Topology Parameters */ +#define CONV16_IM_DIM (14) +#define CONV16_IM_CH (512) +#define CONV16_KER_DIM (3) +#define CONV16_L_PADDING (1) +#define CONV16_R_PADDING (1) +#define CONV16_T_PADDING (1) +#define CONV16_B_PADDING (1) +#define CONV16_STRIDE (1) +#define CONV16_OUT_CH (512) +#define CONV16_OUT_DIM (14) + + +/* Layer 17 Topology Parameters */ +#define CONV17_IM_DIM (14) +#define CONV17_IM_CH (512) +#define CONV17_KER_DIM (1) +#define CONV17_L_PADDING (0) +#define CONV17_R_PADDING (0) +#define CONV17_T_PADDING (0) +#define CONV17_B_PADDING (0) +#define CONV17_STRIDE (1) +#define CONV17_OUT_CH (512) +#define CONV17_OUT_DIM (14) + + +/* Layer 18 Topology Parameters */ +#define CONV18_IM_DIM (14) +#define CONV18_IM_CH (512) +#define CONV18_KER_DIM (3) +#define CONV18_L_PADDING (1) +#define CONV18_R_PADDING (1) +#define CONV18_T_PADDING (1) +#define CONV18_B_PADDING (1) +#define CONV18_STRIDE (1) +#define CONV18_OUT_CH (512) +#define CONV18_OUT_DIM (14) + + +/* Layer 19 Topology Parameters */ +#define CONV19_IM_DIM (14) +#define CONV19_IM_CH (512) +#define CONV19_KER_DIM (1) +#define CONV19_L_PADDING (0) +#define CONV19_R_PADDING (0) +#define CONV19_T_PADDING (0) +#define CONV19_B_PADDING (0) +#define CONV19_STRIDE (1) +#define CONV19_OUT_CH (512) +#define CONV19_OUT_DIM (14) + + +/* Layer 20 Topology Parameters */ +#define CONV20_IM_DIM (14) +#define CONV20_IM_CH (512) +#define CONV20_KER_DIM (3) +#define CONV20_L_PADDING (1) +#define CONV20_R_PADDING (1) +#define CONV20_T_PADDING (1) +#define CONV20_B_PADDING (1) +#define CONV20_STRIDE (1) +#define CONV20_OUT_CH (512) +#define CONV20_OUT_DIM (14) + + +/* Layer 21 Topology Parameters */ +#define CONV21_IM_DIM (14) +#define CONV21_IM_CH (512) +#define CONV21_KER_DIM (1) +#define CONV21_L_PADDING (0) +#define CONV21_R_PADDING (0) +#define CONV21_T_PADDING (0) +#define CONV21_B_PADDING (0) +#define CONV21_STRIDE (1) +#define CONV21_OUT_CH (512) +#define CONV21_OUT_DIM (14) + + +/* Layer 22 Topology Parameters */ +#define CONV22_IM_DIM (14) +#define CONV22_IM_CH (512) +#define CONV22_KER_DIM (3) +#define CONV22_L_PADDING (1) +#define CONV22_R_PADDING (1) +#define CONV22_T_PADDING (1) +#define CONV22_B_PADDING (1) +#define CONV22_STRIDE (1) +#define CONV22_OUT_CH (512) +#define CONV22_OUT_DIM (14) + + +/* Layer 23 Topology Parameters */ +#define CONV23_IM_DIM (14) +#define CONV23_IM_CH (512) +#define CONV23_KER_DIM (1) +#define CONV23_L_PADDING (0) +#define CONV23_R_PADDING (0) +#define CONV23_T_PADDING (0) +#define CONV23_B_PADDING (0) +#define CONV23_STRIDE (1) +#define CONV23_OUT_CH (512) +#define CONV23_OUT_DIM (14) + + +/* Layer 24 Topology Parameters */ +#define CONV24_IM_DIM (14) +#define CONV24_IM_CH (512) +#define CONV24_KER_DIM (3) +#define CONV24_L_PADDING (0) +#define CONV24_R_PADDING (1) +#define CONV24_T_PADDING (0) +#define CONV24_B_PADDING (1) +#define CONV24_STRIDE (2) +#define CONV24_OUT_CH (512) +#define CONV24_OUT_DIM (7) + + +/* Layer 25 Topology Parameters */ +#define CONV25_IM_DIM (7) +#define CONV25_IM_CH (512) +#define CONV25_KER_DIM (1) +#define CONV25_L_PADDING (0) +#define CONV25_R_PADDING (0) +#define CONV25_T_PADDING (0) +#define CONV25_B_PADDING (0) +#define CONV25_STRIDE (1) +#define CONV25_OUT_CH (1024) +#define CONV25_OUT_DIM (7) + + +/* Layer 26 Topology Parameters */ +#define CONV26_IM_DIM (7) +#define CONV26_IM_CH (1024) +#define CONV26_KER_DIM (3) +#define CONV26_L_PADDING (1) +#define CONV26_R_PADDING (1) +#define CONV26_T_PADDING (1) +#define CONV26_B_PADDING (1) +#define CONV26_STRIDE (1) +#define CONV26_OUT_CH (1024) +#define CONV26_OUT_DIM (7) + + +/* Layer 27 Topology Parameters */ +#define CONV27_IM_DIM (7) +#define CONV27_IM_CH (1024) +#define CONV27_KER_DIM (1) +#define CONV27_L_PADDING (0) +#define CONV27_R_PADDING (0) +#define CONV27_T_PADDING (0) +#define CONV27_B_PADDING (0) +#define CONV27_STRIDE (1) +#define CONV27_OUT_CH (1024) +#define CONV27_OUT_DIM (7) + + +/* Layer 28 Topology Parameters */ +#define FC28_IM_CH (1024) +#define FC28_OUT_CH (1000) + + +#endif /*__224_1_0_PARAMETERS_H__*/ diff --git a/Inc/intq-mobilenet-v1-models/224_1_0_weights_bias.h b/Inc/intq-mobilenet-v1-models/224_1_0_weights_bias.h new file mode 100644 index 0000000..be0eeec --- /dev/null +++ b/Inc/intq-mobilenet-v1-models/224_1_0_weights_bias.h @@ -0,0 +1,311 @@ +#ifndef __224_1_0_WEIGHTS_BIAS_H__ +#define __224_1_0_WEIGHTS_BIAS_H__ + + +/* Layer 1 Learned Parameters */ +#define CONV1_BIAS \ + {-1184, 37926, -2187, -255, 6301, 9263, 448, 111131, -204, -2236, -514, 14123, 16585, 45686, 386, 14021, -7732, 52100, 10137, 20210, -320, -289, -987, 54249, -1145, 29218, 85270, -249, 8635, 8601, -213, 34929} +#define CONV1_WT {0} +#define CONV1_W_Z (136) +#define CONV1_IN_Z (127) +#define CONV1_OUT_Z (0) +static const int32_t CONV1_M_ZERO[] = {1362347904, 1249787904, 1246434176, 1087344640, 1380389120, 1309298048, 1929699072, 1212727936, 1176849664, 1475720064, 1138506240, 1881448704, 1925620736, 1725419904, 1912742016, 1155661824, 1932207104, 1895287040, 1278542848, 1156866688, 1162923776, 1631301120, 1467689088, 1232602624, 1213067520, 1844125568, 1217895552, 1159044608, 1559450240, 1121125376, 1124509184, 2073477120}; +static const int8_t CONV1_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 2 Learned Parameters */ +#define CONV2_BIAS \ + {42, 52, 30, -4, 84, 199, 39, 58, -11, -1, -4, 679, 255, 25, 43, 358, 34, 1855, 232, 46, -1, 373, -1, 180, 0, 68, 749, -1, 464, 142, -3, 584} +#define CONV2_WT {0} +#define CONV2_W_Z (128) +#define CONV2_IN_Z (0) +#define CONV2_OUT_Z (0) +static const int32_t CONV2_M_ZERO[] = {-1110803840, 1451959936, 1682024704, 1097808512, 1524621952, 1615360128, 1970581632, 1187041792, 1532959872, 1566966528, 1336570880, 2015266176, 1620083072, 1463740160, -1244759168, 1914026624, 1561028864, 1658252288, 1683698048, 1798832000, 1745099392, 2026010624, 1205196416, 1315971456, 1465439232, 1579828096, 1294515072, 1611228288, 1831686656, 1883736064, 1375875200, 1176384128}; +static const int8_t CONV2_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 2, 0, 0, 2, 0, 0, 1, 0}; + + +/* Layer 3 Learned Parameters */ +#define CONV3_BIAS \ + {409, -203, 1092, 235, 19, -126, 56, -913, 801, 242, -366, 15, -450, -218, -450, -95, 388, 249, 9, -41, -658, -138, 226, 1321, 788, -612, 821, 1258, 1460, 160, 293, -373, 1067, -516, -1, -54, -844, -35, 657, -290, 730, 0, 333, 111, -78, 625, -344, 161, 8, -270, 233, 127, -45, -1, 247, -758, 116, 1318, 482, -39, -80, -442, -846, 844} +#define CONV3_WT {0} +#define CONV3_W_Z (127) +#define CONV3_IN_Z (0) +#define CONV3_OUT_Z (0) +static const int32_t CONV3_M_ZERO[] = {1631400448, 1603639680, 1326431616, 1476798336, 1163601280, 1268766848, 1455976704, 1550106880, 1890438528, 1998059904, 1956692096, 1331947904, 2142378112, 1128721792, 1580546560, 1721848448, 1317113344, 2103928704, 1453649664, 1240539520, 1447776256, 1290888064, 1756483712, 1268774656, 1976968832, 1268005888, 1482283136, 1112096512, 2091364608, 1832580224, 1361480960, 1109507200, 1887771392, 1519959168, 1396600320, 1680600448, 1552041472, 1583885824, 1275714944, 1263178752, 1515803776, 1404723712, 1953836288, 2120322048, 1361698048, 1139372928, 1862532608, 2001431808, 1926645376, 1399393792, 1078259712, 2142835200, 1203050624, 1323609600, 1379479808, 1478853888, 1482976512, 1172461568, 1096058240, 1252237824, 1259625728, 1256639488, 2005131776, 1729905664}; +static const int8_t CONV3_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 4 Learned Parameters */ +#define CONV4_BIAS \ + {2, 0, 2, 2, 2, 3, 1, 0, 1, 7, -1, -2, 1, 3, 0, 0, 2, 2, 0, -1, 2, 2, 1, 3, 1, 1, 0, 9, 2, 5, 1, 1, 1, -1, -1, 1, 1, -1, 1, 0, 8, -1, 2, 1, -1, 1, 1, 1, 2, 1, 2, 1, 3, -1, 1, 2, 4, 8, 2, 5, -1, 1, 3, 1} +#define CONV4_WT {0} +#define CONV4_W_Z (130) +#define CONV4_IN_Z (0) +#define CONV4_OUT_Z (0) +#define CONV4_M_ZERO (1769959808) +#define CONV4_N_ZERO (-6) + + +/* Layer 5 Learned Parameters */ +#define CONV5_BIAS \ + {27180, -6011, -8336, 2070, -11771, 5266, -4398, 10726, -25627, 14907, 20233, -3996, -16262, -1383, 4791, 8002, 15111, 11515, 15526, -5231, -5178, -15477, -2288, -2761, 4110, 39667, 5140, -912, -2417, 6247, 4518, 17538, 19407, -5004, 2606, -860, 16877, 4960, -25949, 10373, 11027, 1302, 14360, 13525, 19513, 46508, 6637, -10400, -6615, 916, -6140, -4593, 25731, -6297, -2821, 8094, 1645, 22180, 7324, 10850, 4918, 24413, 5916, 5322, -6190, 11475, -12953, -1121, -7750, 18904, 18702, 2341, 5482, 563, -1300, 20727, -2735, 3509, -5248, -124, -13081, 32859, -460, -2256, 5732, -3031, -21104, -3353, 10789, 2704, -763, 6416, 3175, -8269, -2464, 2178, 55164, 972, -5930, -11997, 22630, 9461, 12071, 2302, 8593, 8100, -28599, -13508, 3292, -542, -7507, -2014, 4047, 4338, 5188, 10691, 245, 14983, 1567, 3784, -11664, 8944, -12935, 2718, 4555, 18769, 14124, 20015} +#define CONV5_WT {0} +#define CONV5_W_Z (123) +#define CONV5_IN_Z (0) +#define CONV5_OUT_Z (0) +static const int32_t CONV5_M_ZERO[] = {1152036480, 1111238400, 1733881216, 1881880704, 1592544768, 1086886016, 2088470016, 1385031680, 1153896704, 1915589120, 1828081152, 1074615424, 1129389568, 1257788544, 1093343872, 1749969280, 1946501760, 1950946688, 1866538496, 1851909504, 1143948416, 1561963264, 1081001088, 1783708416, 1759513088, 1699284608, 1586907136, 1706357248, 1368004096, 1214944256, 1198703488, 1599108352, 1844227456, 1758828416, 1162889472, 1501387136, 1184586240, 1823737856, 1681500544, 1437398656, 2093694976, 1245073280, 1535370880, 1241732480, 1493307648, 2042808960, 1236668928, 2105105664, 1753727232, 1924561024, 1318948608, 1087124992, 1404257024, 1282270080, 1433454208, 1556508672, 2140179712, 1746985600, 1959055616, 1349353088, 1827844992, 1298900608, 1182446336, 1827471488, 1371026816, 1268336640, 1811876352, 1135028480, 1957197312, 1449866240, 1689609600, 2135411840, 1884896640, 1529634048, 2059822080, 1711058688, 1527041280, 1460349056, 1969421312, 1537035136, 1412892928, 1143829120, 1630393472, 1715864320, 1194570880, 1438002048, 1151266688, 1876381440, 1285587200, 1923322624, 1758658176, 1713621632, 1138923904, 1250585600, 1140368768, 1528886400, 2083747200, 1521045376, 1618306432, 1662567680, 1637463680, 1146566144, 1898216704, 1572467456, 1389940992, 1284500480, 1714569728, 2035435520, 1769719936, 1608554624, 1110617216, 1197830144, 1455006720, 1332055296, 2014112896, 1831239680, 1481259136, 2138861440, 1265988992, 1216908800, 1425084288, 1526574464, 1827084544, 1866265344, 2036081024, 1138316800, 1957918976, 1771723136}; +static const int8_t CONV5_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 6 Learned Parameters */ +#define CONV6_BIAS \ + {266, 341, -22, -33, 97, 219, 100, 229, 382, -27, 108, 98, 161, -45, 68, 35, -85, 6, 91, 30, 73, -170, 405, -11, 372, -502, 47, -39, 3, -11, 681, 60, 45, 251, 257, 181, -75, 121, -10, 9, 193, -7, 65, 469, 498, -276, 8, 265, 470, 123, 364, -113, 212, 213, -18, -54, -72, 279, 56, 134, -103, 831, -66, 117, 9, -33, -9, -38, 143, -1, -128, 279, 138, 17, 67, -104, 269, 356, -57, 57, 7, 185, 23, 56, 606, -184, 228, 56, 169, 4, 21, 44, -65, 11, -11, 327, 18, 498, 40, -117, 9, -3, 518, 54, -24, 25, -34, -6, 30, 90, 199, 148, -43, 341, 220, -16, -12, 600, 202, 176, 241, 51, 145, 160, -107, 404, 235, 118} +#define CONV6_WT {0} +#define CONV6_W_Z (99) +#define CONV6_IN_Z (0) +#define CONV6_OUT_Z (0) +static const int32_t CONV6_M_ZERO[] = {1725851264, 1256411904, 1828314368, 1327158400, 1618543232, 1779799680, 1794090880, 1832115328, 1243013888, 1839950080, 1971701888, 1903632768, 1429007360, 1523474304, 1607159040, 1455059456, 1152105984, 1174512000, 2107812480, 1746869504, 1776908544, 1881070720, 1752015872, 1975472768, 1307205632, 1205268480, 1393815296, 1247403520, 1185569536, 1856348800, 1204460800, 1848551680, 1268532224, 1958279296, 1109274240, 1500952704, 2066885888, 1896207104, 1312650368, 1777936640, 2034510336, 1423926528, 1131793024, 1779198464, 1459939456, 2045190144, 1487012864, 1701927552, 1586307840, 1828593664, 1628585344, 1763600000, 1179455232, 2048205696, 1478351872, 1230918528, 1610638592, 1824090240, 2014660992, 1764505344, 1585474432, 1425193344, 1235060736, 1223911424, 1934071680, 1124059392, 1114703488, 1142015744, 1626025088, 1638049536, 1360583680, 1457816960, 1157676288, 1538485248, 1078961792, 1245790336, 1629898240, 1597776768, 1170833536, 1833744384, 1241188096, 1932894336, 1988630784, 1125425152, 1198480000, 1360575872, 1101676160, 1113924864, 1998884736, 1139395072, 1149889920, 1793319552, 2057485952, 1818533632, 1237412096, 1672178560, 1723170432, 1148413568, 1251699328, 1323563776, 1657352320, 1927129984, 1936096768, 1292265088, 1799769600, 1752695168, 2096711680, 1858329216, 1626417280, 1861657088, 2119307520, 1608109568, 1086337408, 1942498944, 1230367104, 1203558016, 1170782976, 1985941376, 1535413760, 1553916544, 1458022784, 1788807040, 1407668352, 1088581248, 1324321152, 2145180800, 1806433664, 1199941888}; +static const int8_t CONV6_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 7 Learned Parameters */ +#define CONV7_BIAS \ + {-437, -578, -604, -493, -93, 335, 266, -297, 316, 720, 876, 858, -326, 326, 1025, -752, -546, 909, 548, -359, 148, -94, 571, -571, 316, 636, -712, -226, 678, -76, -234, 63, 58, 914, 834, -912, -207, 1629, -719, -1839, -901, 2195, 371, 22, -218, 927, 1336, 56, -970, 1472, 941, -1128, 563, 402, 450, 1033, 1709, -60, -114, 1206, 422, 242, -442, 1615, 289, 76, -386, -124, 308, -1407, 120, -1253, 1652, 785, 229, -792, -431, 1161, -932, 79, 502, -1390, 1195, 988, 256, -412, 26, 356, 593, -42, 724, -1985, 54, -666, 469, -2, -225, 99, 996, 106, -1317, -455, -70, 408, -464, -1876, 746, 47, 611, 227, 540, 422, 781, 685, 313, 144, 286, 920, 885, 796, -691, 698, 612, 944, -299, 66, -79, -366} +#define CONV7_WT {0} +#define CONV7_W_Z (122) +#define CONV7_IN_Z (0) +#define CONV7_OUT_Z (0) +static const int32_t CONV7_M_ZERO[] = {2029269120, 1975442816, 1737494144, 1486573952, 1348071680, 1368527360, 1127603328, 1102265216, 1819212288, 1096226688, 1227992704, 1744791040, 1323187456, 1225768704, 1663620480, 1189926528, 1385660928, 1179296000, 1128566016, 1222114688, 1230214016, 1154697472, 1117484800, 1301285248, 1113675008, 1919003392, 2106400000, 2029802240, 1117612160, 1390453248, 1301557632, 1829073792, 1663368192, 2069765376, 1659761152, 2084381824, 2145718656, 1774242816, 1598237184, 2008677760, 1543232896, 1799988352, 1387655424, 1744788096, 1101468032, 1381741312, 1202232576, 1864516096, 1160031616, 1402099840, 1440070912, 1955234688, 1405564288, 1818627200, 1291046656, 1366038784, 1904001408, 1308030848, 1098064768, 1297827584, 2065808896, 1134219776, 1264786048, 2099795200, 1233316864, 1788283264, 2123984256, 1341289984, 1546351488, 1086004480, 1830270976, 1310630272, 1860759040, 1147111424, 1096258944, 2026599936, 2096660736, 1447537792, 1917139840, 2119984512, 1849118720, 1845817088, 1967088256, 1101969920, 1926346880, 1509624832, 2018496768, 1824381440, 1741352064, 1201463936, 2113076224, 1310547712, 1817574656, 1360415232, 2103148544, 1481910016, 1521023488, 1948480384, 1377419392, 1410578944, 1999326848, 1989466240, 2072228864, 2090233856, 1976984320, 1957739136, 1638310912, 1770235904, 1970476672, 1174507648, 1157279488, 1187576832, 1885089280, 1909093632, 1183677312, 2057563648, 1310352512, 2097195136, 1098566656, 1221922176, 2085258752, 1530542848, 1825534848, 1078453632, 1306891136, 1770749184, 1893375360, 2146851328}; +static const int8_t CONV7_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 8 Learned Parameters */ +#define CONV8_BIAS \ + {19, 72, 438, 523, 508, 60, 543, 21, 729, -89, 18, 876, 387, -5, 1009, 41, 362, 787, 12, 517, 2, 365, 1015, 120, 1129, 5, -11, 753, 438, 13, 506, 59, -16, 33, 17, 42, 158, 1306, 21, 2, -10, -164, 436, -15, 920, -39, 523, 535, 31, -407, 795, 14, 989, 154, 601, 599, -58, 472, 29, 677, 631, 12, 471, 96, 434, 40, 381, 69, 626, 1029, 49, 427, 6, -197, -16, 22, 83, -29, 39, -148, 751, 110, 36, -291, -32, 408, 758, 72, 4, -250, 76, 86, -91, 56, 513, 571, 60, 6, 1107, 522, 23, 18, 50, 15, 1272, 75, 591, 134, 458, 280, 1096, 413, 1000, -346, 4, 361, 930, 155, -179, 1106, 1073, 2036, 19, -15, 8, 712, 2, 1282} +#define CONV8_WT {0} +#define CONV8_W_Z (118) +#define CONV8_IN_Z (0) +#define CONV8_OUT_Z (0) +#define CONV8_M_ZERO (1576460416) +#define CONV8_N_ZERO (1) + + +/* Layer 9 Learned Parameters */ +#define CONV9_BIAS \ + {-4389, 12754, 26029, -17330, 12948, -4921, 18328, 5048, 5574, -4584, -7078, -5521, 1175, 12476, 12566, 6877, -787, 489, 37, -2021, 7857, 8277, 5054, 6732, -10484, 5515, -9821, 10427, -6012, 15086, 13407, 8748, 12777, 14006, 14082, -5512, 5015, 358, 1787, 11284, -467, 10659, -8094, 7768, 7708, 4381, 6219, -10066, 14742, 10865, 15704, 22182, -3759, -9679, 12175, 3765, -14374, 23966, 3126, 11038, 9535, 8871, 9137, 17562, 7116, -4570, 15618, 4625, 7120, -30158, 5688, 6869, -9712, 1728, 3794, 12733, 19183, 19981, 8582, 3613, 6386, 8745, -12948, 8771, 8284, 20950, 9216, 14153, 2511, 21368, 14607, 1394, -3523, 3661, -1379, 17225, 10327, -23317, -9752, 4070, -7658, 18501, -3065, 9100, 9055, 10978, 7394, 19858, 4398, 3066, -15433, 599, -5279, 6195, 7461, -24680, 12466, 10493, 15578, 46784, 13315, 3750, -5430, 12014, 15990, -10289, -11585, 10643, 13735, 11505, 18590, 14356, -1510, 15562, 5808, 13396, -2702, 11266, 11717, 9379, 7342, 9124, -4426, 5242, -1146, 23904, 5583, -2875, 7892, 10760, 4531, 11129, 27597, 5108, -3893, 14860, 12781, 21852, 10009, -1894, -2602, 23080, 5617, 12386, -5420, 20921, 8798, -1267, -10312, 5675, 10021, -4735, 19969, -21914, -2956, 13804, 751, 316, 16266, -2771, 3829, -9572, -626, 16811, -17758, 2245, -1930, 21247, -20408, 15203, 7562, 2724, 16013, -2540, 14817, 9159, 31403, 3209, -10779, -16854, -1616, 8303, 9803, 7464, 9193, 26116, 12635, -10376, 3420, 7546, -2278, 6228, -15625, 5579, 4445, 8403, -1997, 7035, 4149, 9025, 8919, 13156, 12362, -16366, 30208, -3252, -26212, 6154, 4773, 3239, -15869, -19513, 25725, -1224, -2796, -5974, -3984, 9097, 2978, 7819, 11042, 13661, -4755, 8338, 6219, -15191, 12553, -8583, 27283, 11135, 5831, 14190, -2504, -4668, -1521, 11709} +#define CONV9_WT {0} +#define CONV9_W_Z (119) +#define CONV9_IN_Z (0) +#define CONV9_OUT_Z (0) +#define CONV9_M_ZERO (1717652224) +#define CONV9_N_ZERO (6) + + +/* Layer 10 Learned Parameters */ +#define CONV10_BIAS \ + {-34, -2103, 2650, 3177, -769, -836, -558, -898, 35, -390, -2195, 1488, 4509, 2025, 2002, 6044, -92, -115, 506, 2304, -538, 6078, 5444, -4274, -373, 273, -225, -489, 2187, 1385, 3043, -200, -1388, -246, 7385, 2262, 5868, -163, 2084, 2027, -321, -189, -203, 2789, 365, 1258, 2219, 73, -420, -4568, -49, 164, -147, 2958, 1242, 6036, 2260, 2809, 277, 1616, 2102, 5782, -164, -245, 91, 2879, -409, -219, 464, -995, -425, 1554, -2812, 179, 4873, -120, 2269, 1461, -894, 2403, 649, -3283, -94, -455, 5163, -631, -56, 319, 3803, 7882, 2374, -1329, -160, -842, 27, -1080, 9051, -2235, 1981, 3704, 2036, -617, -251, -593, 423, 1929, 2881, -416, -246, 1827, 101, 36, -1772, 3133, 4149, 2472, -1392, -423, 6252, 2048, -128, 4427, -1880, -191, -336, 1906, -1230, 3833, 3, 2018, 3291, -826, -70, -485, 5744, 3127, 309, 1289, -523, 7901, 155, 7927, -152, 125, 710, 5374, -1570, -386, 382, 2618, -2349, 905, 1084, -594, -1641, 3496, -347, -103, 345, 3814, 2314, 293, -60, -80, -960, 1515, -1763, -810, -1550, 93, 5391, -2219, 2267, -1402, 1733, 2391, -40, -69, 646, 208, -1214, 2356, 1003, 5410, -578, -1054, -67, -4124, -120, -644, -1580, 390, -908, 5420, 37, 940, 3443, -289, 9, -65, 1946, -44, -51, 2614, 4975, 2143, 31, 775, 664, 8024, -1438, 3616, -964, 1676, 265, 394, -17, 608, 2441, -233, 10086, -2376, -236, 2460, 1993, -169, 2011, 2764, -865, 9737, 2171, -1373, -306, -3229, -1342, -369, -43, 707, 532, 2572, -95, 66, 1716, 50, -1134, -2644, 4024, -1475, -1150, 6608, -2718, 2713, -519, 397, 73, 6658} +#define CONV10_WT {0} +#define CONV10_W_Z (117) +#define CONV10_IN_Z (0) +#define CONV10_OUT_Z (0) +#define CONV10_M_ZERO (1845189248) +#define CONV10_N_ZERO (4) + + +/* Layer 11 Learned Parameters */ +#define CONV11_BIAS \ + {9037, -1555, 503, 9400, 8425, 9147, 8685, 10026, 8298, -4891, 4168, -16896, 10604, 10871, 11927, 6366, -11323, 1258, 8048, 969, 16734, 5384, -37, 2737, -1276, -1345, -2112, 4195, 6847, -295, -1493, -353, 4038, -658, 6945, -18328, 1489, -5838, 17894, -7483, -10914, -5588, -15960, -12091, -2088, 5829, 5866, -11659, -3376, 4458, -9051, -119, -803, 1255, -927, 3019, -11087, 516, -7005, -5628, 9592, -8545, -4258, -410, -4626, 6483, -21591, 12285, 2028, 7664, -8610, -11893, 7064, -4343, -1527, -8280, -5946, 3239, -7322, 3485, -6739, 12289, 6328, 12473, -6399, 12314, 15495, -10312, 3329, -203, -3803, -1145, 1721, -17247, 658, 10865, -2950, -8386, 5561, 153, 312, 3364, 9860, -5349, 4005, -24213, -8385, 1264, 6002, 7074, -2944, -10465, 10958, 652, 9332, -739, -13099, -10620, -2904, 434, -4288, 12501, 5916, -2305, -163, -22991, 18972, -14914, 3492, 11251, 11417, -22564, -2642, -8086, 10819, -6644, -7211, -20052, -10185, 1784, 307, 4734, 7666, -143, -8832, 1846, 4201, -18894, -4566, -2832, -11699, -14516, 8300, 2804, -3602, -1783, 13555, -27674, 4708, 15182, 2749, -3531, -13496, 27238, -15833, 5632, 5547, -7759, 7276, -4247, -51, -3198, -8556, -24982, -9517, -1723, -3685, 1326, -27502, 4171, 15106, 3740, 36, -7318, -2240, -18578, 1325, 4293, 4971, -706, -6077, -597, -6549, -1894, -14239, 1461, 8932, -1310, -9131, 7546, 7243, 6868, -3422, -2329, 16533, 10434, -6137, 4233, -2552, 17239, -8199, -10489, -1404, 2120, -8943, 4339, -29155, 5763, -1404, -9973, 5091, 7860, 4765, -14515, -2264, -6214, 9216, -8693, -10187, -15784, 6321, 5157, -7863, 6006, -645, -6692, 9250, -2019, 7902, -11341, -15333, -7362, -952, -6711, 19773, 15636, -1401, 12372, 6652, 13076, -1109, 8525, -11511, -5210, 3966, 5313} +#define CONV11_WT {0} +#define CONV11_W_Z (112) +#define CONV11_IN_Z (0) +#define CONV11_OUT_Z (0) +#define CONV11_M_ZERO (1737261952) +#define CONV11_N_ZERO (6) + + +/* Layer 12 Learned Parameters */ +#define CONV12_BIAS \ + {3266, 14039, -1040, 11884, 13158, 26121, 17946, 14835, 27611, 13260, 246, -7681, 25702, 29619, 16259, 11792, 10843, 30140, 13297, 5967, -1028, 36727, 651, 264, 30041, 35, 11822, 14731, -467, -395, -213, 37968, -906, 14134, -199, -258, 881, 9835, 328, 10944, 150, -455, 64, -388, 19670, -602, 18840, -256, -422, 26280, 2130, 7171, 14599, 14695, 2972, 21510, -624, -712, 689, -1223, 15276, 342, 13048, 529, 17909, -6627, 7, -163, 834, 44133, 2086, 983, 11400, 10, 1401, 840, -437, 44235, 9424, 1301, 2298, 13641, 8944, 10712, -24, 9569, 19283, 1248, 2357, 8940, 11399, -62, 33506, -3646, 46388, -541, 13211, 131, -8005, 915, 12787, 1540, -209, -136, 15596, -3577, -470, -3429, 13556, -615, 9400, -831, 32600, -14, 363, 16139, -1068, 757, 14386, 50637, 370, 13289, 12254, 21220, -572, -1202, -40, 960, -5331, 24532, 13863, -899, 14327, 1378, 15657, 2552, -1154, 1310, 11225, 23202, 10329, 17741, 991, 311, 15385, 5135, -77, 1110, 17544, -399, -3176, 133, 15042, 11407, 10417, 11664, 24557, 244, 14904, -4364, 10230, 4065, -499, -189, -592, 36396, 25731, 10251, 11938, -37, 1547, -229, -382, -100, -138, -843, 12811, 1054, -355, 14825, 16902, 14377, 12255, -214, -249, -6531, 10797, 782, 12632, 1610, -293, -284, 2764, -364, 597, 17178, 3820, 17570, 159, 10888, 25752, 8442, 17448, 10400, 31108, 16155, -1535, 25459, -95, -378, 13243, 351, -972, 19372, 9202, 661, -822, -564, 26185, -399, -320, -862, 18532, -562, 10815, 15344, -153, -748, 8872, 666, 898, 178, 10339, 190, 16793, 14259, 22395, 14066, 22498, -152, 798, -208, -1381, -11, 14762, 18291, 13112, -105, 55, -4766, -175, 15536, 6754, 1184, 13825, 5850} +#define CONV12_WT {0} +#define CONV12_W_Z (119) +#define CONV12_IN_Z (0) +#define CONV12_OUT_Z (0) +#define CONV12_M_ZERO (2008170752) +#define CONV12_N_ZERO (6) + + +/* Layer 13 Learned Parameters */ +#define CONV13_BIAS \ + {49334, -6857, 24131, 5630, 4289, 4600, 17054, 9942, 14327, -14113, -4782, 10038, 10592, 18849, 11013, 8574, 2622, 19258, 16948, 8615, 222, -8455, 13819, 18311, -27612, 19467, 7038, 19169, 25102, -4071, 9828, 11637, -5062, 10723, 21243, 14784, 8174, 3252, -15154, -4737, -6185, 12476, 6894, 18271, -6674, 11837, -629, 4382, 6146, 17689, 12898, 12847, 9382, -4731, 9628, 17526, 10431, 9470, 14130, 4815, -7950, -14186, 11289, 12865, -11667, 16981, 3082, 11032, -7269, 5357, 4176, 13615, 3473, 8391, 11116, 5674, 13884, 7989, 10245, -30327, 6592, 6794, 24377, -25213, -1727, 5473, 10637, 16612, 10631, 8658, -24495, 15511, 17475, 14574, -2978, -1795, 3286, 4875, -1494, 8662, 20455, 9693, 8691, 5170, 13124, 8069, 21453, 4642, 6617, 17509, 17254, 8279, -6136, 18991, 6231, -4064, 15638, 11901, 8911, 5014, -4293, 12051, -11636, 13499, 12218, 2112, -8963, 5167, 33955, -9577, 16763, 16380, 7180, 13007, 6745, -1040, 10197, 10906, 11788, 4073, 11956, 12136, 572, 13666, -1525, 11343, 13684, 11676, 21124, 24614, 20270, 16579, -15476, 23527, 4430, 10339, 5010, 12632, -1841, 211, 13620, 27323, 14546, 33042, 16471, 16700, 13778, 15995, -7937, 8874, -4631, 12182, 13667, -8041, -17099, 9807, -3918, -20045, 14210, 15450, 2305, 23620, 12349, 9905, 4966, 3808, 11578, 13503, 10945, 1224, 7160, -12579, 16130, 15932, 21323, 10806, 3533, 13307, 21085, 6715, 22446, 12435, 4389, 7656, 22236, 16704, -9741, 15824, 7797, 10708, 16888, 22356, 2147, 13859, 3629, 10500, 17629, 7265, 18917, -2699, 14286, 42689, 7168, 15578, 24296, 5345, 4582, 17683, -1921, 8640, 17131, 9868, 17579, 11101, -4260, 11411, 9188, 19096, 12438, 14252, 15946, -15429, -3638, 6093, 17474, 7795, 5926, 2247, 4593, 31862, -12658, 13149, 13057, 12847, -4652, 9847, 3934, 13047, 4473, 18613, 5300, 15251, 22127, 930, 12416, 15220, -204, 13265, 13468, 34057, -1644, 12199, 3870, 19141, 3527, 6761, 16361, 2450, 10016, 1822, 21093, 6821, -9044, 16388, 7984, 10586, 13309, 13848, -7609, 28397, -2482, 4098, 148, 8541, 9236, 5255, 4369, 4295, 14645, -1926, 10560, 6380, 18571, 11034, -3662, 12892, 6019, 5190, 7060, -305, 8959, 1595, 19223, 14956, 12033, 9324, 8004, 2832, 10453, 12154, 13003, -3473, -156, 26812, 2339, 11807, 12275, 7516, -3439, 3919, 13847, 13437, -978, 22252, -4856, -10786, 23529, -2821, 13428, -19885, 929, 9328, 4642, 2875, -12762, 5576, -2850, 3987, 24206, 16052, 23443, -15684, 17359, -5969, 1424, 7958, 13496, 7159, 19810, 22286, 13037, 624, -10336, 6031, 4649, 22998, 20582, 15903, 1772, 4127, 15365, 16568, 23864, 15928, 9241, 13953, -3439, 22581, 23635, 16134, 11282, 13340, 4102, 14105, 14923, 3439, 20665, -12699, 17570, -4386, 31209, 9189, 186, 21351, 21719, 19925, 33766, 27882, 9015, -2859, 20871, -18875, 7747, 1171, -4211, 9939, -25948, 10862, -26707, 13804, 23335, -14472, 16595, -10139, 8991, 15379, 10905, 4139, 16607, 20016, 31934, 6672, -851, 24523, 8466, 4552, 13867, 13621, 19986, 8575, 18775, -6039, 18160, 225, 12893, 9028, 3762, 11899, 10380, 2960, 3695, 5269, -6833, 416, 14649, 20608, 33525, -16952, 11383, 10347, -2958, -774, 14231, 2525, 1271, 3095, 12511, 15679, 17589, 4726, -8424, 12186, 11936, 10804, -2925, 16093, 4983, -286, -6471, 11826, 4465, 8837, 27247, 21554, 30154, -13558, 9942, 23077, 11188, 8860, 14265, 11379, 12025, -5072, 14336, 10186, -2391, 8231, -23355, 12313, -5036, 36393, 29533, 7334, 17757, -5369, 683, 20361, 4734, -7481, 14477, 14000, 13679, 18274, 9124, 19694, -1835, 13409, 27694, 12309, 8956, 15146} +#define CONV13_WT {0} +#define CONV13_W_Z (126) +#define CONV13_IN_Z (0) +#define CONV13_OUT_Z (0) +#define CONV13_M_ZERO (1373809152) +#define CONV13_N_ZERO (6) + + +/* Layer 14 Learned Parameters */ +#define CONV14_BIAS \ + {2490, 1565, -1564, 3622, 382, -185, -969, -2635, 6773, 132, 71, 2172, 903, 8963, -5836, 3732, -4570, 385, -197, 10783, 4400, 3259, 2386, 2896, 2974, 1400, 16, 3143, -2349, 3026, 120, 3504, 2393, -3296, -1123, -1199, 8419, 2792, -1764, 2903, 2891, 30, 9290, 579, 3642, -3426, 1539, 84, 916, -745, 532, 3385, 179, -2276, -628, 2466, -2586, -1155, -165, 1172, -2732, -1563, 4068, 723, 162, -540, 42, -1063, 142, -448, 1100, 1186, 175, -15, -230, -1611, 3236, 15, 487, -1335, 575, -1187, -4325, -3145, 773, -103, -2114, -737, 441, 6288, 4748, -407, 24, 2372, 127, 3579, -8, -141, -638, -1134, 943, 608, -100, 3224, 411, -400, 2406, -29, 36, -1578, 2, 2482, 2067, -3845, 1170, 4510, -5, 2457, 2557, 127, -1247, -264, 2900, -609, 3058, 2306, -1112, -1167, -207, 2826, -74, -36, 10515, -5536, -2047, -88, 2206, -1265, 2276, 1381, -90, -626, -47, 47, -108, 1335, -309, 1714, 42, 3353, 1570, 1936, -2317, -1689, -53, -3586, 120, 12546, 3423, -158, 2424, 56, 860, -1523, 182, 460, -38, 482, 47, 603, 462, 699, 5298, -778, -3575, 414, -560, -2779, -98, 528, -4444, -5452, -1573, 635, 9046, 19, 1153, 12, -5499, -258, -632, -297, 3404, 6477, 901, 212, -4803, 566, 247, 8734, 405, 6131, 1247, -191, 4257, -3206, 299, 238, -177, 429, -4687, -885, -1884, -1269, 621, 3038, -1513, 3785, -906, 0, 48, -2852, 646, 414, 2825, 2360, 4557, 1670, -1863, -409, 1681, -153, -4536, 1733, -954, -722, 7671, 301, 1073, 587, -1186, 2925, 1800, 5441, -4716, 1169, 547, 2811, 3157, -2666, 299, -1843, -988, -383, -381, -400, 2525, 132, 387, 60, 174, -4944, -83, -1957, 407, -1589, -2394, 622, -1865, 2680, -1124, 1857, 2589, 11, 1427, 415, 1129, -7585, 1120, 2464, 1467, 121, 15, -1493, -3794, 4963, 1388, 1587, -2282, -226, -35, 1725, 3792, -1464, 8958, -721, -80, 62, 42, -2463, 242, -982, 115, -607, -313, 4106, 2441, 6197, 2848, 2519, 417, -1378, 3011, 2262, 2406, 1220, 97, -95, -486, 400, -1030, 3644, 3611, -2181, -121, -4226, 7419, -866, 3580, 300, -54, -3675, 758, -118, -264, -566, 2581, 4347, -2157, -2144, 2565, -6564, 447, 4444, 2384, 53, -297, -1563, 278, -1201, 7178, -354, -106, 4138, -2619, 585, 1718, 2230, 353, 599, 1614, 3180, -1035, 159, -1067, -2036, -6737, 1177, 47, 97, -213, -508, -3038, -209, 19914, 5880, 2694, -6022, -218, -428, -2212, -792, 2782, 7538, -875, -171, 280, -709, 47, 4259, 2477, -524, 3081, 2573, -8044, 5101, 3385, 131, 4255, 2197, -135, -1562, -2200, -1528, -381, 3790, -1446, 2549, 2368, 3688, -673, 10, 945, 804, 72, -2594, 1115, 31, -50, 14582, -164, 407, 3242, 862, -1887, 3249, 1007, 1452, -1950, 4211, -2942, 1908, -403, -330, -1115, -439, -3086, -50, 1577, 552, 5138, 1269, -877, -134, -467, 233, -890, 4993, -2338, 1017, -192, -431, -79, 1394, -252, 2707, 9025, -756, -2437, -81, -671, 1364, 1492, -208, -1163, 2775, 366, 2805, 340, -3094, -106, 2871, -532, 1389, -41, -108, 1096, -1089, 6402, 1595, 444, 161, -2637, 1822, 6383, 4273, 377, 1572, -822, 103, -44, -1576, -4194, -238, -219, 94, 3268, -1587, 2241, -199, -671, 280, 5123, 7683, 384, 717, -623, 5591, 5390, -2143, 8482, 38} +#define CONV14_WT {0} +#define CONV14_W_Z (101) +#define CONV14_IN_Z (0) +#define CONV14_OUT_Z (0) +#define CONV14_M_ZERO (1314699776) +#define CONV14_N_ZERO (4) + + +/* Layer 15 Learned Parameters */ +#define CONV15_BIAS \ + {-123, 589, 1048, 305, 322, 749, 812, 567, -93, -337, 146, 121, 261, -688, 180, -157, 601, 1049, 871, 1136, 603, 343, 294, -398, 206, -37, 2163, 1170, 242, -644, 13, -641, 858, 233, 1821, 450, 289, 727, 399, -112, 671, 526, -585, 136, 475, 140, -342, -903, 417, 487, -394, 1251, -880, -1288, 826, 583, 645, -736, 2268, 262, 206, -502, 379, 772, 1823, 100, -89, -305, 191, 11, 224, 507, 305, 28, 1115, 855, 23, 1, 308, 659, 171, 1695, -84, 139, 489, -527, 233, -133, -1024, -42, 742, 1108, 872, -492, 436, 258, 222, 788, 14, 368, 620, 123, -3, 799, 551, 818, -64, 900, -128, 256, -187, -359, -97, 342, -661, 179, 812, 2019, -578, 112, 837, 959, 1934, 689, 267, -178, 32, 158, 1479, -285, 1298, 894, -204, 2916, 867, 222, 93, 528, 52, 1172, 361, 647, 492, 367, 154, 369, 166, 218, 76, -1135, -102, 121, -701, -82, -196, -634, 81, -358, -44, -330, 1115, 1710, -868, 481, -371, 258, 489, 249, 75, 2355, -3, -50, -881, 1531, 540, -90, 1815, -836, 942, -33, 695, -169, -161, 243, 427, 1011, -148, 157, 272, 682, 245, -309, 414, 210, -150, -253, -115, 1135, 749, 786, -494, 144, -725, 158, -348, -92, -174, 630, -180, 77, 428, 1400, 116, 504, -8, -427, -304, -74, 96, 146, 11, 1176, 943, 2147, 1830, -700, 1120, 2917, -404, -208, -53, -575, 257, 945, 363, -65, -4, 843, -254, 579, 679, 155, 593, 3510, 526, 877, 481, 1830, 1023, 1408, 472, -139, 1918, -217, 522, 461, 947, 1024, -240, 1156, -46, 402, -213, 216, 561, 769, 77, -613, -600, 771, 370, 893, 27, 515, 286, 2003, 1319, 77, 235, 305, 596, -257, 134, -21, -258, 450, 384, 762, 842, 273, 1431, 81, 452, -178, 1364, -164, 1810, 962, 299, 461, -724, 306, 1108, -191, 912, -1118, 403, 881, -375, 4, 483, 73, 658, 748, 239, 1224, 736, 524, 635, 14, 284, 353, 1363, 522, 558, 277, 1092, 451, 1288, 715, 157, 731, 1000, -2049, 543, 188, 338, -324, 240, 66, 999, 1854, 32, 779, 845, -264, -76, 224, -124, -1, 451, -12, -17, 1752, -349, 586, 11, 454, 1087, 355, 1006, 1458, 1062, 230, -36, 261, 2154, 46, 429, 985, 719, 815, -636, -311, 1090, -420, -165, -53, 515, 1861, 302, 251, 250, 253, 281, 263, -760, 1060, -24, 1010, 133, -12, 212, -652, 312, -288, 1143, 255, 333, -36, 632, 349, 1284, 1282, -376, 289, 2738, 552, 1, 1130, 737, 19, 2188, 1330, 1090, -416, 626, 38, 497, 1306, 463, 2164, 469, 250, 924, -217, 331, -65, 185, -407, 423, 1010, -890, 226, -176, -413, 1144, 923, 12, 1938, 141, 1735, 376, 912, 984, -407, -88, 2, -118, -371, 423, 89, -297, 445, -933, -711, 101, 464, 887, -91, 704, 376, 1285, -264, -440, 874, -508, 675, -550, -1184, 585, 640, 1380, 690, 819, 402, 1839, 2721, 54, -181, 1007, -210, -108, 518, -142, 1126, 726, 821, 384, 950, 35, 256, 1134, 369, 669, -81, 720, 1077, 1094, -929, 774, 1040, 881, 237, -274, 352, 2025, 656, -221, 197, 365, -427} +#define CONV15_WT {0} +#define CONV15_W_Z (8) +#define CONV15_IN_Z (0) +#define CONV15_OUT_Z (0) +static const int32_t CONV15_M_ZERO[] = {1218011392, 1288386304, 2015576192, 1389384960, 2036507776, 1327893504, 1539213440, 1571806592, 1461072384, 1450044160, 1238475136, 2079252352, 1432002048, 2049486976, 1422990208, 1540869248, 1496533248, 1366244480, 1693692160, 1106630912, 1969953280, 1206346240, 1164683264, 1223995136, 1625972992, 1575882112, 1580721536, 2031730432, 1251284864, 1296014080, 1207950592, 1108684416, 1080862976, 1226582400, 1556167040, 1532442752, 1475900416, 1511928192, 1135392384, 1310112640, 1543239808, 1477543424, 1556405248, 1242824192, 1077343872, 1608930304, 1365918592, 1396229888, 1287902848, 1393405312, 1473883136, 1484332928, 1207678720, 1432140032, 1253720320, 1692316160, 1609908992, 1362939520, 1407413760, 1240397696, 1142960640, 1138017536, 1282436224, 1868804992, 2024321280, 1075269632, 1449672064, 1385350272, 1195017984, 1225403904, 1629409024, 1246006656, 2036768640, 1291220864, 1412239232, 1307906176, 1661756288, 1560894592, 1399434368, 1791768320, 1414470528, 1194434432, 1610627840, 1323123968, 1296260736, 1505990784, 2060595968, 1367756288, 1482106752, 1710304256, 1091155200, 1966019584, 1590712704, 1258694656, 1548112768, 1417003008, 2115820160, 1808220032, 1393793280, 1705049216, 1752235264, 1430906752, 1325337088, 1325196928, 2004971264, 1646592512, 1887322496, 1342497920, 1282900224, 1162407296, 1377344128, 1238061824, 1929423616, 1413550976, 1423445760, 1464587136, 1424274304, 2055052544, 1351635328, 1561742336, 1142967040, 1401459200, 1923017728, 1631058304, 1254304000, 1200966784, 1535024256, 1555931008, 1311708544, 1180395264, 1585029248, 1166071936, 1435444480, 1440415488, 1175603712, 2118258816, 1503926016, 2027357952, 1266068608, 1251975040, 1472655744, 1388519424, 1363992832, 1164004608, 1433774592, 1354759808, 1343381504, 1380653824, 1209388032, 1113512704, 1506755200, 2024267136, 1610266624, 1305783424, 1385992704, 1374332416, 1302866816, 1668070400, 1160425088, 1095567104, 1174510464, 1295085184, 1273383168, 1202507008, 1426122112, 1420815232, 1218407680, 1268740864, 1904086272, 1163745792, 1190103680, 1640453504, 1521236096, 1695219200, 1894422016, 1272030848, 1372826496, 1436967424, 1841411328, 1242950272, 1519368448, 1476943488, 1472370432, 1110602240, 1572418688, 1284031744, 1225356672, 1250843904, 1406104320, 1494520320, 1581349504, 1182812800, 1563054720, 1461976704, 1439355264, 1508516224, 1614581376, 1266358912, 1496698496, 1650474880, 1163610752, 1265721856, 1192608128, 1258351232, 1388120064, 1432170752, 1363351808, 1086095360, 1316405632, 1992307840, 1514761856, 1099078272, 1918279680, 1591254144, 1271258240, 1314262528, 1125874560, 1866758144, 1331699328, 1266695296, 1533245568, 1213677184, 1450521728, 1767718912, 1873890304, 1338222208, 1800703232, 1879805952, 2063616512, 1591788800, 1415868800, 2136110080, 1121786368, 1261993216, 1546970368, 1397255808, 1129889920, 1470017280, 1577879168, 1119170560, 1312052224, 1629951360, 1240044672, 1729840512, 1153305600, 1767816192, 1494423424, 1664916864, 1228621952, 1324737280, 1307821056, 1144062976, 1956164864, 1232259968, 1353706240, 1225075072, 1139861376, 1704635264, 1508801920, 1311003008, 1532826752, 1110707584, 1286765696, 1714988160, 1565440512, 2064535680, 1726923904, 1178531200, 1222729984, 1561354496, 1372220928, 1792650368, 1266465536, 1793316736, 1426097408, 1737974528, 1614357376, 1532473344, 1483794816, 1163883904, 1356858112, 1312804864, 1250809472, 2091264768, 1372071936, 1377009152, 1369223168, 1377614464, 1395333760, 1530267776, 1947218944, 1593088384, 1313721984, 1471184128, 2105440512, 1478612352, 1430896896, 1701493632, 1199035264, 1615394560, 1325390720, 1946449280, 1567977472, 1257704832, 1912463360, 1704867584, 1364756992, 1395130752, 1175372800, 1343280000, 1396957184, 1351287552, 1441751680, 1363924608, 1233074048, 1350184320, 1183393408, 1361962368, 1160499840, 1394754304, 1627033088, 1550929152, 1239279744, 1831810176, 1343510400, 1324133120, 1582785024, 1186120704, 1304801536, 1490343808, 2126278656, 1500879360, 1677329536, 1284239104, 1646945792, 1278361856, 1374808704, 1508627328, 1183493632, 1511113728, 1586513920, 1947472128, 1194123776, 1758158592, 1291094272, 1341604352, 1432880640, 1253885568, 1300871936, 1366708608, 1363778176, 1565874304, 1232643712, 1699660416, 1285315840, 1585798016, 1229609600, 1096462336, 1084968960, 1160229504, 1225533824, 1264609408, 1270626304, 1534194048, 1713596416, 1468156928, 1088084480, 1503598208, 1912000512, 1502622336, 1384605184, 1503579392, 1303929088, 1222164096, 1688986752, 1515442176, 1523149184, 1774363776, 1510480896, 1652214016, 1336316416, 1368662144, 1216521088, 1489248256, 1419458432, 1343526528, 1473076608, 1118646016, 1459664640, 1400403328, 1280305408, 1310676992, 1210291840, 1464633472, 1942285824, 1444767872, 1081510272, 1401449600, 1759630080, 1383764352, 1658620928, 1310781184, 2031727616, 1126046080, 1775680768, 1137604608, 1915345280, 1883824000, 1360571136, 1512235392, 2011500288, 1508964736, 1297344384, 1698366592, 1166490112, 1163205376, 1601110656, 1859328768, 1853379584, 1393645568, 2141456512, 1305967872, 1233367936, 1153350528, 1385925376, 1376537984, 1986793216, 1433972224, 1150962688, 1280415744, 1356716672, 1475412352, 1563595136, 1624359168, 1171353472, 1540182144, 1518201344, 1944369152, 1434900992, 1241705984, 1272347136, 1959640576, 1352004096, 1088056960, 1409363712, 1179580544, 1740687488, 1327237120, 1437757312, 1429974016, 1985235840, 1419427584, 1217223040, 1641888384, 1776468992, 1296868864, 1221644672, 1303027712, 1598585088, 1149580032, 1657641600, 1711898112, 1855147008, 1165157248, 1577884288, 1503499520, 1226877056, 1551288576, 1167232128, 1119233664, 1112092928, 1329389952, 1365421952, 1613941760, 1423052800, 1396417408, 1244560768, 1680517888, 1534282112, 1239506048, 1225649280, 1217295616, 1316654336, 1104910848, 1561587328, 1488994432, 1896587904, 1087778304, 1886816128, 1565398656, 1529132416, 2131573888, 1157322880, 1479137024, 2054297472, 1746433664, 2120411136, 1559313024, 1265499392, 1332811520, 1243092480, 2117645952, 1383006720, 1246592896, 1594896384, 1124740608, 1484319744, 1341622912, 1450651904, 1312392320, 1598844544, 1302585088}; +static const int8_t CONV15_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 16 Learned Parameters */ +#define CONV16_BIAS \ + {1229, -1134, 851, -4342, 4043, 3597, -3519, -2977, 2751, -1116, -622, 4339, 3691, 4192, 78, -1746, -62, 341, 2694, 5628, -7630, -3872, -2321, -2126, 6685, 2916, 9363, 5288, 10, -1269, 971, -2509, -2157, 215, -1505, -2963, -2013, 5068, 677, -1349, -1052, -1644, -719, 3824, -137, 1408, -3272, 899, 3432, -1014, -150, 5383, -2736, 498, -1424, 2805, -62, 4099, 6531, 1820, 3581, -1282, 7088, -447, 6216, 3867, -3031, 4114, -3444, -2977, -119, -2494, 4497, 3110, -2554, 3130, 3255, 1374, 224, 5485, 1645, -2546, 2704, 4416, 2540, -633, -3201, -903, -2338, -727, -359, -3006, 3061, -1586, -1233, -3420, 6997, -2939, -2861, -2357, 2923, -463, 3580, 3890, 8847, 5029, 866, 3628, -3311, -4865, 4211, -748, -1145, -1296, -3588, -1254, 2876, 2310, 3191, 3333, 4237, -2491, -1304, 2131, -1063, -1163, -1513, 3432, 6633, -1253, 2336, 3709, 3937, -4533, -39, 3919, 3716, -7941, -1008, 1012, 4066, 3638, 2949, -3509, -1860, 1632, 1950, 2753, 7420, -1174, -3004, 551, -1236, -209, -1243, -2369, -2264, -1476, -1189, 538, -176, 6659, 1493, -512, -3032, 6188, 3454, -3378, -1479, 1281, -811, -145, -1474, 1295, -326, 1875, 1789, -3173, 6373, -1179, 3971, -248, 562, -1502, 3470, -619, -583, -1867, 49, 2198, 3194, 2052, -1053, 3707, -953, 1520, 2935, 6011, -2508, 5607, -4090, -2574, -1716, 4833, -3161, -640, -1289, -1862, -2850, -3742, 3027, 6992, 4955, 3137, 982, -3398, -4090, 68, -1055, -2407, -2258, 2972, -8198, 4059, 10296, 3483, 4225, 1722, 5901, 1574, -1264, -1695, -1093, -759, -5786, -2645, -98, -1867, -15, -2080, -1465, 758, -3310, -7019, -3767, 1527, -1721, 8734, 252, 5470, -511, 2656, 5937, -578, 3627, 4049, 1858, 560, -1015, 4755, -2209, 1478, 44, -465, -3959, -1243, -3063, -990, -246, -8509, 3338, 2944, 3855, 5140, -2274, -16510, -14887, -1630, -2470, 5163, -865, 3036, -488, 4107, -2474, 2225, 3673, 3705, 4611, 5322, 103, 2864, 3060, -3540, 2082, 179, 2920, 171, 1362, 2673, 1541, 1306, 4846, -2242, 2544, -220, 3444, 4060, -896, 4959, 3167, 3257, 2748, 1755, 4103, 609, 510, -3021, -3980, 7951, -1009, -1581, -1724, 89, 4432, -2093, -2390, -2067, 189, -1970, -1815, -2225, 4920, 1812, -3877, -218, 3413, -484, 1833, -495, 3931, -17786, -2089, 435, 4443, 53, -2908, -2773, 2450, -2652, 3735, -435, -1791, 5918, 3125, 2693, 226, 3831, -7469, -2562, 5949, 7012, -661, 2938, 2555, 2841, 1446, 2816, -2090, 5789, -2284, 3142, -1828, 383, -6125, -808, -1662, -36, 7074, 4973, -3263, 2410, -2097, 2294, -937, 245, -654, 2502, 3246, 2255, -1633, -1546, -2365, -284, 5774, -2719, -578, -2684, 4594, -1813, 4480, 3846, 1930, 6728, -454, -2754, 356, 3010, -1785, 3990, -1187, 3179, 3456, -277, -3068, -81, -1197, 4342, 4333, -3067, 58, 3136, -3374, 2230, 5383, 3603, 2576, 6801, -592, -935, -4857, -2381, -520, -2044, -2931, -2668, -1848, 7845, 4136, 6251, -2317, 1627, -3292, -4585, 939, -1513, 59, -755, 3093, 363, -339, 3501, -837, 5098, -5481, -352, -6298, -1888, 8584, -1233, 1498, -1711, 69, -2212, 2507, -1345, 3128, 6994, -1027, 555, 607, -237, -4128, 4908, -7523, -41, -1237, 209, 4909, -2581, 524, 3481, 884, 1524, -988, 6244, -3390, -243, 2701, 3486, -1561, 3769, -1854, 2879, -3302, 2870, -944, 5009, -3056, -2336, 3180, 2265, -3382, 2187, 2219, 4086, 1449, 5403, -1866, -444, 4300, -2600} +#define CONV16_WT {0} +#define CONV16_W_Z (99) +#define CONV16_IN_Z (0) +#define CONV16_OUT_Z (0) +#define CONV16_M_ZERO (1228116096) +#define CONV16_N_ZERO (4) + + +/* Layer 17 Learned Parameters */ +#define CONV17_BIAS \ + {470, -475, 296, 315, 854, 94, -522, 280, -38, -14, -584, -740, -364, -269, 659, 1513, 289, -81, -964, -492, -196, -465, -597, 416, 266, 548, -877, 848, -688, -460, -213, -926, -642, 113, 158, 361, -1041, -305, -10, 301, -835, 603, -1240, -369, 2219, -142, -565, -90, -416, 417, -192, -222, -165, 1636, -330, 2002, -461, -150, 350, 106, -558, -1238, -1236, -179, -505, -393, -211, 297, -1318, -394, -538, 351, -338, -576, -373, -967, 607, 214, 99, -155, 167, -746, 103, -315, -486, 243, 142, 868, 969, 687, 260, 88, 171, -326, 423, -1026, -1039, 395, -797, -535, 1455, 225, -189, 563, 129, -116, -248, -166, 349, -690, 470, -22, 225, 826, -101, -129, 874, 518, 48, -534, -50, -1018, -793, -271, -588, 766, 539, 25, 83, 2014, 372, -300, 2, -200, -7, 13, -549, -347, 176, 290, -246, -186, 246, 5, 622, -306, -1585, 1141, 459, 96, 1783, 367, 1426, -225, 254, 24, -98, -765, -1304, -525, 340, 153, -418, -979, -270, 518, 1585, -485, -1029, -550, 1732, 773, -656, -1105, -292, -248, 70, 136, 337, 132, 3668, -198, 318, -95, -42, 530, -87, -723, -250, -187, 425, -1436, -584, 742, 265, 673, 746, 172, -303, -498, 1979, -206, -334, -85, 513, 455, 323, 5, 2434, -923, 1209, 1070, -649, 46, -339, 207, -1195, 610, 94, -1401, 251, 1688, -16, -267, 651, -656, 312, 1515, 508, -582, -262, 115, -75, 214, 308, 1183, 823, 788, 1086, -856, 365, 2150, 88, -722, 627, 1425, -195, 58, 672, 1158, -439, 698, 524, -429, 363, 711, 348, -81, -87, -447, -1239, 544, 554, -183, 189, 395, 276, -1931, -544, -472, -1135, -1146, -168, -429, 857, 31, 715, 33, 65, 516, -771, 650, 66, 54, -105, -681, -870, -931, -475, -41, 378, 645, -471, 1, 323, 461, -456, 1486, 463, 373, -890, -346, 12, 1111, 187, 461, -5, -1858, 486, 622, -431, 647, -266, -389, 382, 86, -142, -110, 733, 234, -290, 454, 157, -103, -20, -294, 585, 290, -1165, 560, 196, 610, -140, 725, 47, 316, 124, -777, -251, -331, -556, 234, 1316, 36, 91, 90, -1075, -85, -202, -1188, 1236, 696, 21, 437, -126, -412, 678, 139, 159, 480, 701, -120, -567, 184, 629, -61, -41, -94, 913, 401, -378, -497, -568, 724, -1298, -878, -57, 80, -90, -282, -483, -144, -110, -58, 578, 9, -989, 338, 691, -222, -760, 1054, -193, -1018, -198, -228, -127, 1967, -956, -1414, 33, 257, -427, 129, -366, -525, -907, 321, 61, 173, -609, -683, 117, 670, -633, -29, -602, 818, -243, -78, 185, 299, 249, 978, -896, -1310, -517, 2258, -82, 209, 292, -206, 667, 404, 191, -39, -54, 205, 819, 470, -405, 109, 107, -104, -6, -549, 319, -70, 728, 594, -9, -221, -140, 774, 1172, -9, 189, -789, -841, -970, 744, 523, -47, 1027, 267, 547, 3, -33, -382, -495, 95, 632, 323, 277, 47, -582, -166, 578, 366, -719, 696, 167, 241, -108, 480, 319, 187, -522, -262, -1045, 525, -400, 201, 252, -264, 273, -526, 938, 250, 187, -555, 544, -112, -539, 1301, 507, 775, 195, -100, 1198, -93, 623} +#define CONV17_WT {0} +#define CONV17_W_Z (8) +#define CONV17_IN_Z (0) +#define CONV17_OUT_Z (0) +static const int32_t CONV17_M_ZERO[] = {1470274944, 1494724480, 1518827776, 1506072704, 1334830464, 1291541120, 1250345344, 1481620864, 2069076352, 1340105984, 1970446720, 1573326592, 1337026688, 1391178112, 1740928640, 1089836672, 1190223872, 1361577856, 1312398720, 1733137280, 1480675840, 1393502720, 1412127616, 1354564096, 1352370688, 1368134656, 1495983360, 1671321344, 1426246784, 1244370560, 1484786944, 1744002048, 1783505152, 1330804480, 1555478656, 1890160128, 1466101760, 1418904448, 1317423744, 1552680704, 1437476864, 1521755776, 1320329856, 1077392128, 2146826240, 1574999808, 1491004544, 1499358848, 1398904192, 1799650432, 1359410176, 1373536640, 1132329472, 1122750464, 1974517120, 1962040704, 1436094976, 1291885312, 1508443136, 1284733568, 1342068608, 1422374400, 1243669376, 1113505408, 1418812544, 1425170432, 1654964352, 1561510784, 1398345216, 1367631616, 1488260480, 2123731200, 1350299392, 1443801600, 1309053056, 1374967168, 1468807808, 1390006272, 1311047680, 1198243712, 1682368384, 1136671616, 1524103808, 1209135872, 1558107904, 2133189760, 1238333312, 2131911040, 1365930240, 1288692096, 1364183040, 1327814656, 1520093952, 1361399168, 1477744512, 1485741184, 1512252032, 1620928128, 1676771328, 1353260288, 1951453824, 1582189824, 1246572928, 2045444224, 1655189248, 1421331072, 1477294336, 1259272960, 1360686976, 1387650432, 1259209472, 1765345920, 1992275456, 1419247488, 1450072832, 2146943488, 1911769728, 1137016832, 1140486784, 1227862016, 1370490368, 1305126784, 1307660928, 1500788096, 1247077760, 1589304960, 1550805888, 1141340416, 1221994624, 1081910400, 1745874176, 2133797888, 1358579456, 1306263936, 1234007168, 1455710464, 1423207936, 1521845760, 1316027392, 1681198848, 1377338240, 1498166912, 1225594240, 1520675840, 1477938176, 1484572032, 1214544896, 1145348608, 1634938368, 1223724288, 2098531072, 1171944192, 2101772416, 1634911872, 1643183232, 1507455488, 1241426304, 1214654208, 1319012608, 1359565056, 1488611840, 1273901312, 1329831040, 1297791488, 1211518336, 1798058624, 1528130048, 1315757824, 2117313792, 1738328704, 1314209536, 1201349760, 1420335616, 1771922432, 1501395328, 1432105856, 1213602176, 1671350400, 1120341376, 1278299520, 1387854080, 1496825088, 1316700672, 1261306752, 2063775104, 1261667456, 1476100608, 1579681920, 1767300096, 1385334912, 1183735808, 1508242816, 1469736960, 1676622720, 1459991936, 1713347456, 1350274432, 1617106304, 1418635648, 1414204288, 1097477376, 1316866048, 1235057408, 1516321920, 1083633024, 1402321152, 1568968192, 1461812224, 1741029376, 1393843712, 1982700544, 1997831168, 1464694656, 1325215488, 1565694208, 1425346560, 1454861056, 1521218560, 1524538624, 1202062464, 1514538624, 2026537344, 1520071424, 1117205504, 1608186496, 1180565120, 1660383744, 2042087040, 1433865088, 1441908864, 1452372224, 1178659712, 1255913216, 1439470336, 1300884096, 1540606336, 1361368064, 1834554752, 1641624448, 1415755520, 1482397568, 1933976704, 1563309312, 1336545792, 1361033344, 2034556928, 1342746496, 1574663040, 2086452352, 1810040704, 1494676480, 1577233792, 1316218496, 1251398016, 1227758336, 1281965568, 1869206656, 1683846144, 1205795712, 1429793536, 1301847424, 1331137664, 1201891456, 1518915072, 1532153728, 1221470592, 1335522304, 1108816128, 1565036416, 2050413568, 1935264256, 1355252224, 1323489024, 1806054784, 1548922880, 1555457792, 1260352000, 1317954944, 1288422528, 1307541120, 1402967680, 1125992192, 1593353984, 1403810304, 1164961920, 1518667648, 1427687040, 1316381824, 1422158976, 1692433024, 1250343936, 1413093632, 1552687488, 2120044544, 1679919232, 1286698368, 1499695104, 1549684480, 1705561088, 1339171200, 1145436288, 1419712000, 1364982144, 2122939520, 1357285888, 1625991424, 1470390400, 1298367616, 1602335104, 1082862976, 1225887488, 1308674816, 1637859072, 1334677760, 1811841408, 1648318080, 1467619584, 1582053760, 2132350336, 1567181184, 1416425344, 1392592512, 1468912768, 1574792832, 1225552128, 1662447104, 1832406656, 1348947584, 1212639360, 1447168768, 1992137088, 1479889536, 1596688640, 1321822336, 1835381632, 2133635200, 2135713792, 1531102080, 1439496064, 1441026432, 1398273024, 1527744512, 1673410176, 1280107264, 1457855616, 1424376064, 1456011008, 1426479104, 2067348736, 1418498560, 1601987840, 1114284800, 1291350656, 1428710912, 1401440256, 1310979712, 1640638592, 1763408000, 1739504256, 1085644672, 1469268992, 1703186176, 1093301248, 1321920512, 1347299072, 1319970048, 1683461504, 1087252224, 1464605824, 1175809280, 1559339648, 1446211328, 1770769152, 2126663808, 1511841536, 1601153152, 1487605120, 1407220992, 1354126464, 1409652736, 1452750720, 1100412416, 1658063872, 1539593344, 1518107008, 1297999872, 1225380480, 1475452672, 1540938752, 1669707520, 1324765312, 1391402368, 1934174848, 1595405312, 1544595840, 1407109376, 1196272512, 1157211520, 1398889984, 1322320256, 1492896512, 1874938624, 1576102784, 1528826752, 1396460928, 1455247488, 1350190848, 2055846912, 1948737920, 1159694464, 1323963008, 1590014336, 1563555456, 1370091008, 1549295616, 1166951936, 1507936640, 1328239744, 1355948928, 1453699968, 1639687424, 1422600448, 1319721728, 1289173760, 1399918336, 1184862720, 1264447232, 1543366656, 1865454848, 1315874816, 1318390016, 1468831744, 1293844352, 1758395008, 1446516736, 2077202560, 1345746816, 1318243072, 2109586944, 1332047488, 1199850624, 1358538112, 1152965760, 1419053184, 1301630208, 1164525568, 1757926016, 1445423744, 1269578752, 1281506560, 2117277312, 1686895360, 1471024256, 1390355456, 1373997184, 1089773440, 1268408576, 1321258880, 1521122944, 1165320960, 1510559744, 1723632768, 1746990080, 1395413376, 1274998272, 1617899136, 1315049728, 1436339200, 1589899520, 1436927488, 1483078656, 1578204288, 1362712576, 1331681664, 1742288000, 1372337920, 1886669312, 1566011392, 1814368256, 1379049600, 1987612288, 2089235712, 1789911552, 1629924992, 2015904768, 1744525440, 1304045312, 1448046592, 1566284800, 1409854208, 1501122304, 1567503360, 1282107008, 1320897664, 1342007040, 1216923392, 1338177664, 1377112704, 1108330112, 1446355968, 1350628864, 1397936384, 1520453248, 1880271616, 1166695424, 1159041280, 1270758272, 1914271360, 1513911296, 1833720320, 1632510464, 1225536128}; +static const int8_t CONV17_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 18 Learned Parameters */ +#define CONV18_BIAS \ + {2336, -784, 2094, -2413, 2933, 2936, -2222, 2979, 4758, -1002, 5387, -2282, -28, -390, -3475, -4406, -1879, -7566, -2358, 3239, 3183, -2634, -57, -1783, 3571, 1421, -940, 5733, -959, -74, -3389, 2126, 790, 2314, 2962, -5466, 4030, 4088, -505, 3069, 1118, -2325, -478, 3236, 10500, 1163, -1369, 4835, -935, 606, 3262, 4307, -736, 4804, 9334, 7365, -3580, -378, 3225, -2444, 2860, 3636, -846, 4349, 2680, 5862, 2702, -2422, 3670, 3146, 2986, -394, -980, -2316, 3388, -1806, 2643, 222, -292, 4182, 4801, -552, -1548, 226, -7, -5612, -17, -4048, 2790, 3654, -3117, -1405, 3556, -3264, 2658, 2621, -967, 1265, 2136, -1328, -3623, -2466, -7857, -499, -649, -2461, -897, 128, -1537, -2450, 3370, -731, -1058, -597, -2755, 3917, 1715, -3917, -2791, 3024, -1269, -1769, -2353, 1473, 3384, 5607, -1383, -296, 3678, 1933, 2861, 5804, -1103, 3186, -722, -1634, -5955, -1451, -2923, 2812, -961, 2909, -3279, 3092, 2798, 3225, -4020, -402, 3632, -3716, -10925, -2453, 559, 1453, -2362, -2154, -1676, -3220, -2130, -1591, -1440, 7735, -2486, 4599, -986, 1895, -613, -1688, 3788, 5444, 6036, -1345, -1977, 1111, 200, -2156, -1895, -2013, 4225, -912, 7981, -4066, 2182, -55, 3857, 3589, -2718, 2795, -3195, 3291, -3597, 4324, -2026, 5350, 3058, 2448, -2362, 3258, 3750, -1690, 3622, -1249, -1637, -5048, 2613, -3258, 2788, -400, 589, -1947, 5153, 4105, -1802, -3189, 786, -1162, -1405, 737, 3618, -1871, -626, 7038, 1384, -1376, 7092, 4891, 5541, 710, -1691, -1187, -574, 3986, -4511, 3038, 2631, -4543, 3396, 4574, 4217, -2526, 6754, -2727, 4973, -881, -2206, 1649, -2835, 3021, 3293, 2328, -833, 2950, 1341, -2610, 3336, 871, 4027, 3588, -2570, -641, -111, -1702, -1909, 2757, 1144, 2440, -1163, -6070, -4067, 4259, -1546, 3235, -2004, 1975, 3624, -2917, -9017, 1056, -157, 2023, -1212, 451, -2532, -7, 4207, -5617, -832, -1303, -1813, 953, 2951, -1771, -2064, -3109, 2484, -2461, -2204, -926, 3408, 3241, -3118, -1708, -3446, 3438, -1823, -6707, 2799, -1930, 3531, 4605, 3394, 188, 4038, 2353, 3135, 2703, 2688, 3249, 6381, 2787, 4026, -3869, 2875, 2373, 2953, 3156, 3335, 3704, -1137, 3311, -1518, 2686, 6516, -806, 1080, 4041, -459, -1142, -425, 1944, -1547, 2926, 4409, -3417, 2602, 2500, -447, -2261, -11376, -2717, 5091, 3219, 1868, -2935, -2036, -1100, -1379, -2414, 2247, -3460, -2065, -1813, -4846, -1607, -1971, -3074, 3236, 7107, 2097, -2908, 2769, -2445, -1106, 3795, -3291, -949, 1244, 1275, 3682, 4053, -1940, -3987, 2776, 40, 3005, -948, -2757, -1371, 1593, -2132, -2716, 4126, -490, -996, 2857, -1771, 3488, 1358, -1394, -695, 2272, 4341, 4382, 3457, 1907, -808, -880, 5213, 4059, -1621, 863, -945, 2660, -990, 1784, -1895, -3574, 665, 2979, -1640, 2268, -2368, -838, -692, -4, -5691, 5171, 465, -2740, -1139, 2981, 3173, 3117, -2223, 3035, 4263, 3319, -613, 1905, 3550, 3341, 847, -113, -1222, 197, 3547, 2151, -2844, -1441, -1248, 3502, -5760, 3129, -2380, 3613, 4651, -888, -2446, -2577, -1362, 1930, 7405, -1819, 4942, -1597, -6677, -1398, -3337, -3059, 3675, 2173, 867, 4683, 777, -1403, -982, -1708, 210, 5780, -544, 688, -1235, 4884, -2960, -5268, 3568, 2289, -2143, 3512, -3721, -2676, -1958, -401, 648, -2772, -1134, 3250, 4715, -7334, 2730, 2896, -1408, -4841, 3466, -2254, 66, 3280, 2674, -1711, 4025, -152, -2079} +#define CONV18_WT {0} +#define CONV18_W_Z (107) +#define CONV18_IN_Z (0) +#define CONV18_OUT_Z (0) +#define CONV18_M_ZERO (1164433536) +#define CONV18_N_ZERO (4) + + +/* Layer 19 Learned Parameters */ +#define CONV19_BIAS \ + {150, 269, -450, -248, 516, -9, 381, 527, -584, -611, -436, -322, -1324, 152, -818, 199, 263, -207, 12, -626, 64, -21, -125, 440, 421, 828, -476, 376, -364, -658, -545, -44, 721, -213, -312, 465, 125, 563, 675, -87, 318, -103, -154, -230, -485, -307, -186, 170, 78, -944, 668, -779, -29, 839, 1433, 512, 1363, 73, 1175, 225, -160, -235, 256, 92, -785, 419, 836, -74, 771, 215, 687, 266, 248, -658, -745, -85, 1795, -707, 316, 24, 58, 596, 1063, -307, 310, 592, -635, -474, 785, -152, -429, -455, -148, -1635, 246, 286, -524, -221, -188, -306, -55, -492, 431, 1515, -485, -439, 702, 663, 254, 45, 343, 473, -1355, -208, -82, 189, 154, 687, -474, 444, -647, -205, 341, 88, 636, -173, 302, -597, 235, 229, 1293, -167, -246, -636, 204, 253, 424, 341, 65, 389, -208, -466, -204, 524, 1240, 765, 1758, -234, 526, -390, -453, 1301, 550, 58, 206, -312, -15, 74, 289, -173, 861, -966, -397, -451, 525, -450, 281, 357, 1356, 1467, 163, -280, 268, -843, 488, -191, 213, 461, 470, 441, 554, -853, 1656, -911, 515, -54, -546, -790, -420, 852, -1135, 165, 59, 546, 195, 111, -559, -92, 683, 651, 949, -483, -354, -345, 174, -631, -186, -662, -5, 841, 1520, 891, 38, -348, 209, -314, -391, -600, 478, -281, -58, -374, 131, -327, 185, -1158, 246, 133, -414, 49, 226, 42, -708, -294, -43, 267, -170, -289, -24, -377, 287, -439, -756, 1521, 329, 607, -614, 154, 205, -654, 285, -32, -380, -69, 49, 537, 1003, -189, 259, -14, -173, -66, -179, -326, -369, -176, 132, 494, -781, 8, -637, 2222, -237, 979, 23, -733, 57, 737, -342, -395, -44, 61, 554, 324, 100, -370, -772, -335, 117, 723, -323, -500, -193, -514, 519, -259, 9, 112, 158, -28, 321, 258, -316, -425, -9, 34, -365, 862, 496, -643, -104, -608, -1178, 160, -116, 444, 436, -158, -531, -305, -475, 128, 1173, -552, 46, 1386, 321, 280, -181, -112, -215, -35, 860, -18, 1296, 812, 708, -466, -458, 435, 299, 359, 894, 192, 133, 571, 292, 8, 9, 518, -85, -60, 341, 1317, 603, 374, -131, 203, 583, 391, -479, -826, 414, -153, -461, 220, -310, -30, -484, -396, 127, -391, 725, 560, -420, -67, 470, -331, 584, -278, 1110, -255, -203, 994, -423, -214, 604, -213, 1071, -474, 637, -116, -351, 303, 693, 573, 952, 874, 1523, -551, -188, -290, -220, 1151, -52, -501, 540, -10, -213, -304, -63, 451, 309, 707, -508, 86, -181, 324, 137, 143, -102, 49, 681, 1462, -140, 616, 1707, -27, 24, -48, -377, -164, -333, 759, 610, -902, -317, -856, 255, 598, 1209, -137, -393, -70, 450, 441, -761, 244, -677, 71, -328, -197, -197, -284, 266, 379, 248, 202, 542, -270, 595, 18, 1384, 1516, 102, 236, 105, -785, -195, -581, 318, -253, -166, 149, 70, -274, 458, 364, -975, 86, -37, -473, -55, -494, -549, 851, -153, -154, 669, 18, 65, 268, -376, 985, 80, 365, -178, 382, -181, 159, -475, 104, 1085, 727, -93, -129, -362, 393, -51, 837, 436, -667} +#define CONV19_WT {0} +#define CONV19_W_Z (8) +#define CONV19_IN_Z (0) +#define CONV19_OUT_Z (0) +static const int32_t CONV19_M_ZERO[] = {1147376256, 1282293376, 1354140672, 1643374848, 1579935360, 1637923328, 1436554240, 1649558656, 1290528896, 1388165504, 1655747456, 1608251520, 1432066048, 1740877312, 1312102144, 1638720768, 1605013632, 1353569152, 1385146112, 1676444544, 1294935808, 1851981312, 1794509952, 1466350080, 1395943936, 1636977408, 1296846080, 1551087872, 1588407808, 1413549056, 1187419136, 2003419520, 1540598144, 1246088448, 1498382720, 1565930624, 1304550912, 1563678080, 1714294400, 1353288192, 1499786368, 1410003840, 1609625344, 1707696512, 1529508480, 1654387584, 1151583616, 1867011328, 1716409344, 1497076608, 1557489536, 1414142336, 1353954944, 1478539648, 2016510976, 1082819328, 1702638848, 1488826112, 1341510912, 1703758976, 1358692480, 1618122752, 1500047616, 1903672960, 1600686976, 1581266432, 1795070720, 1505639808, 1536523904, 1950178304, 1615244800, 1843278208, 1757509504, 1502129024, 1568294656, 1407800064, 2107724672, 1183445120, 1437117952, 1449614208, 1319128320, 1576822016, 1502283136, 1696185472, 1213813120, 1795505280, 1449920384, 1415043968, 1680981120, 1455309824, 1454064896, 1595951616, 1502365184, 1219568768, 1267888384, 1698486656, 1551743104, 1834380672, 1294061440, 1511124224, 1602116864, 1678352512, 1527298176, 1294129792, 1731837440, 1603529344, 1761576192, 1873922688, 1488938112, 1830492672, 1770064000, 1883853184, 1583994880, 1331180288, 1581127936, 1975435776, 1678728192, 1539255808, 1344988928, 1471978368, 1435593728, 1259892736, 1776732800, 1574329984, 1761996032, 1511902592, 1600156288, 1520591872, 1281463040, 1306855552, 2104389376, 1843484032, 1343360128, 1411868032, 1481791360, 1141233920, 1834652800, 1191685248, 1660455936, 1389057152, 1648202624, 1536171776, 1607933184, 1276344192, 1613988480, 2081843584, 1844594304, 1496200704, 1222917376, 1587308288, 1458980480, 1165411072, 1356226048, 1317184128, 1220564992, 1334425856, 1084819072, 1385080960, 1540562304, 1675190016, 1449853184, 1549181696, 1495674112, 1417627776, 1850289792, 1501087104, 1630238848, 1285704704, 1181880192, 1370546048, 1564966272, 1896507136, 1384416128, 1655092224, 1270997760, 1986760064, 1555030272, 1433896704, 1623329536, 1079801216, 1247922688, 1709368448, 1196638976, 1553194240, 2001199616, 1498825344, 1552992896, 1489370368, 1510265088, 1634414976, 1871232768, 1269380736, 1680235904, 1704446720, 1662617088, 1292965632, 1413896448, 1737014528, 1290703360, 1923002624, 1458532096, 1926892672, 1423307648, 1538950016, 1571074944, 1538747776, 1610322560, 1880962944, 1231948672, 2128954240, 1990269696, 1432693504, 1505947648, 1581333376, 1281142144, 1152391936, 1306390400, 1583655680, 1078874112, 1389169792, 1814792576, 1913245440, 1293101312, 1515854592, 1872597632, 1564999936, 1607025280, 1543323264, 1842090112, 1426384128, 1556946048, 1414654976, 1732289408, 1517623936, 1125324288, 1175106432, 1575613952, 1947379456, 1578542720, 1633162368, 1648165760, 1456325504, 1532941440, 1581246336, 1577745024, 1245294208, 1436030720, 1878386560, 1407417856, 1543035264, 1440596608, 1494479872, 1478836480, 1407660800, 1181603456, 1159087232, 1678919552, 1405758336, 1829978752, 1473938688, 1548318720, 1738280576, 1878574848, 1798791808, 1313532672, 1239817088, 1328000384, 1478410880, 1287617792, 1847367552, 1369512832, 2071539456, 2034256768, 1618049920, 1592257536, 1339884416, 2002200704, 1592866688, 1507904256, 1552756480, 1822052992, 1375415168, 1641112192, 1473486080, 1356354560, 1584751616, 1176001152, 1761850112, 1677317760, 1837285888, 1229559680, 1403716096, 1643312128, 1932920320, 2038669184, 1671546496, 1172840576, 1699486464, 1598855168, 1624551936, 1589044224, 1626780032, 1082709248, 1230314880, 1395588992, 1168925696, 1775849216, 1393500800, 2135916160, 1693340800, 2017386496, 1391589248, 1441183872, 1439320064, 1588471296, 1371969920, 1782265984, 1948212736, 1580533504, 1385061376, 1436168192, 1542390400, 1907241856, 1191849728, 1337564800, 1995117696, 1678235392, 1693778816, 1280755584, 1629860864, 1875511936, 1762165248, 1296130944, 1546464000, 1682872064, 1423336192, 1304462080, 1615048192, 1294416512, 1471633280, 1634381952, 1698586624, 1205967360, 1238773888, 1614602880, 1415541760, 2054166656, 1565269248, 1378308736, 1576188032, 1381445248, 1712585344, 1518386816, 2065803008, 1129151104, 1267057664, 2077205504, 1351883392, 1765235840, 1475602816, 1767034240, 1541076224, 1172961664, 1698985600, 1546627968, 2016711936, 1150771840, 1338593536, 1493044096, 1129234560, 1323175936, 1511655552, 1204764160, 1330304384, 1333168384, 1589855872, 2003318528, 1512631808, 1102524544, 1849319552, 1363058816, 1969961472, 1832896512, 1924793472, 1454765056, 1510731264, 1582865536, 1788746752, 1988676224, 1423649664, 1738127616, 1521980032, 1805548160, 1404918912, 1319313920, 1401734528, 1265045504, 1473998208, 1490429440, 1482751872, 1477348736, 1471607808, 1503822976, 1547026688, 1622461312, 1562725376, 1601027072, 1913632256, 1740759808, 1477683584, 1690970880, 1448948352, 1320422912, 1097751936, 1367223424, 2117394176, 1452900480, 1752566912, 1554345216, 1204619904, 1127784832, 1701283072, 1963673600, 1723498880, 1709098496, 1495960960, 1831861760, 1758543360, 1647761664, 1533596160, 1586989056, 1448652672, 1685985536, 1102993408, 1649604608, 1468146432, 1451464960, 1710425344, 1185029504, 2049540992, 1974211840, 1516552064, 1351953280, 1640723328, 1287152128, 1441747072, 1296123264, 1385844352, 1408087680, 1810314496, 1545093120, 1370405760, 1648294784, 1981496704, 1502403200, 1458220672, 1381833856, 1709994880, 2065206528, 1501873152, 1449605760, 1493884544, 1729459456, 1293814656, 1089674880, 1486611072, 1546196096, 1702632064, 1755568768, 1480450048, 1118578304, 1620210048, 1818084608, 1584234496, 1495220736, 1377628032, 1665056256, 2062996224, 1464120576, 1326069888, 1724510720, 1236930304, 1238619520, 1544770816, 1470056832, 2128668288, 1539379840, 1774555520, 1883415424, 1621733248, 1717506816, 1747556352, 1473352576, 1324657920, 1556988032, 1578420096, 1698515456, 1756631424, 1621393024, 1136365696, 1513471360, 1380561152, 1542963712, 1789391232, 1747290880, 1187935872, 1444871168, 1308376192, 1659698688, 1725079296, 1461729920, 1481250816}; +static const int8_t CONV19_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 20 Learned Parameters */ +#define CONV20_BIAS \ + {1952, 3581, -3264, 3348, 2586, 4654, -1379, -408, -1325, -659, 2931, 4121, -1215, 3211, -38, 2314, -704, -116, -1376, -901, -37, -702, 2433, 2347, -270, 4287, -1500, 2617, 4697, -1789, -1446, 3785, 6051, 2063, -2600, -1020, -743, 2963, 2041, 3147, -1856, -886, -2002, -4138, 3290, 688, 3801, -309, 2694, -2200, 4513, -1094, -883, 988, 2494, 4432, 6588, 3283, -482, 2492, 4020, -1930, 4829, 2421, -2236, 3064, -2985, -1939, 5139, -1868, -4300, 2287, 2348, 271, 2096, -4192, 4483, -911, -2269, 808, -1514, -268, 3338, 667, 682, 2519, -2074, 2980, -816, -1165, 1649, -3120, -2036, -108, 2001, 389, 2845, 3981, -3324, 5427, -3928, -3829, 1369, 9108, -1728, -2710, 2706, 289, 3151, -3263, 2670, -3038, -561, -1281, -164, 3985, 2510, 346, -287, 3920, -1182, 2288, -6126, -2874, -5584, -778, -3533, -484, -376, -2093, 4659, -2128, -630, -1478, 4701, 3208, 3855, 1083, -1287, 2828, -943, -1700, 3030, 6118, 2803, 4696, 7168, -22, -2828, -1098, -1908, 7816, -1885, -1759, -1612, -544, 4474, -3127, -2235, -1223, 4686, 2959, -324, -1799, 2356, -1259, 3009, 3295, 7028, 5972, -278, -1138, -1245, -1626, 3161, 3158, 2455, 3338, 2640, -4215, 4126, -1231, -44, -731, 3177, 3035, 2832, -2506, -1850, -705, -1811, -1589, 2416, -10531, -1965, 5887, 1131, 3139, 3443, 1876, 4749, 3040, 3729, 2840, -2017, -1134, 597, 5037, 5357, 4244, -3537, 3556, 17, -298, -167, -462, 2245, 2698, 3961, 2936, -807, -2317, -839, -2807, -5312, 3165, -920, -517, 3273, -188, 2938, -302, 2422, 3061, 1143, -2063, -2250, -1111, -2758, 1375, -3282, -1364, -2658, 5119, -1319, -190, -529, 3847, 4137, 3365, 4658, 394, -1211, -1375, 3603, -264, 4830, -564, 4761, -1853, -2191, -1348, 4957, -2123, 3383, 1956, -4770, 2556, -1062, 2998, -816, 6127, 4626, 4890, 5849, 3897, 771, 4518, -896, 26, 2614, 4416, 4277, 5341, -966, -1273, -669, 3231, -2644, 4332, 4290, 2756, 1913, 1725, -516, 2801, -3107, 2706, -1820, 174, 3148, -1072, 934, 4048, -1835, -2156, 2851, 3824, 3469, 2627, 2760, -202, -643, 2851, 3047, -1610, 4522, -3317, 2927, 3598, -1290, 4327, -1812, -1781, 3778, 5854, 2511, 1676, -839, -1376, 2351, 5015, 4323, -3198, -3739, 3317, -511, 2658, -1469, 3337, -3162, 3061, 3424, -2043, -1425, -1480, -53, 2832, -496, 4474, 3023, -3255, -2398, 3727, -644, -1564, -4311, 3250, 2032, 2951, 2611, -1022, 3361, 1267, -1483, 4624, -2335, -963, -3372, 3308, -596, -1169, -1135, 1657, -2821, -2252, 4990, 1600, 3372, 2774, 3095, 2470, 4455, -2694, -1225, -2139, -1350, -2350, 5364, -1205, 2782, -482, -2317, -770, -819, 3428, 5282, -6912, 5522, -3751, 3347, -1226, -1182, -2803, 5376, 3028, -1676, -5424, -2038, -662, 5479, -1777, -1577, 3852, 4463, 2742, -1637, 2229, 2523, 1594, 4225, 2572, 4554, 2813, -3841, 3014, 4513, 4050, -1496, 2915, 2946, 3086, 4078, 5504, 2679, -1342, -713, 2447, 3805, 3618, 4242, 3202, -1062, -1487, 3070, 1210, -162, -3569, -1627, 1679, -1211, 4647, -1258, -1773, -1281, -3198, -1008, -1505, 153, 2815, 5141, -918, -73, 3745, 5428, -2036, -2013, 2875, 2398, -3334, -1211, 2823, -4983, 2506, -691, -2056, -3217, 3858, -1547, 2140, -2182, -3631, 3753, 3316, -930, 7171, 2722, -3653, -4570, 2729, -2061, 2816, 2180, 3323, -2691, -2848, 3012, 2460, 2940, 4703, -1213, 659, 2623, 3901, 2595, -1508, -1026, 3508, 2582, 2784, 2928, -990} +#define CONV20_WT {0} +#define CONV20_W_Z (119) +#define CONV20_IN_Z (0) +#define CONV20_OUT_Z (0) +#define CONV20_M_ZERO (1181800832) +#define CONV20_N_ZERO (4) + + +/* Layer 21 Learned Parameters */ +#define CONV21_BIAS \ + {-714, -95, -1046, -13, 131, -472, 267, -207, -60, 269, 382, -18, -352, 673, 114, 1131, -1174, -97, -560, -6, -149, -474, 536, 1442, -167, 666, -252, -109, -923, -74, 418, -1459, 300, 707, 520, -506, 642, -424, -61, 67, -823, 1973, -1378, 1073, 205, 64, 111, 195, -274, 785, -245, -391, -464, -189, 5, -1056, -179, -868, 407, -165, 504, -560, 208, -969, -182, -432, -331, 494, -223, 813, -173, -306, 933, 1549, 585, -257, 19, -1576, -478, 304, 322, -529, -981, 5, -402, -77, -287, -735, 763, -251, -351, -1400, 1062, -1122, 66, -283, -560, -317, 916, 198, 736, -667, 667, 319, 74, 239, -293, 623, -11, -814, -310, -753, -100, -575, -236, -322, 76, 171, -3, 1318, -434, -539, 294, -5, -893, 202, -514, 128, 341, -304, 91, -428, -948, -242, 778, 150, 1192, 49, -562, -887, -1257, 245, -203, -638, -501, 346, -1047, -1247, 47, -473, -1168, -46, -604, 220, -457, 465, 587, 692, 425, -377, -667, 163, 694, 183, -782, 26, -14, 69, -205, -1021, 475, -512, 784, -626, 396, 1007, 556, -314, -723, -455, -1315, 335, -159, -257, 394, 443, 176, -505, 388, -345, -429, -573, -422, -90, -71, 1083, -463, -1037, -788, -342, 403, 452, 480, -417, 152, 758, -585, -986, 579, -368, -164, -814, -1195, 539, 9, 298, 768, -347, -152, 737, -480, 926, -817, -1125, -640, 1275, -428, -136, -731, 109, -838, -472, 182, 3, -889, 182, 300, -101, 78, 298, -1204, -151, -585, 583, 32, -20, -586, -1128, 587, 160, -1235, 961, -852, 907, -122, -391, -615, -309, 532, -27, -268, 397, -1223, -521, -725, -519, -1265, -102, -1048, 782, -101, -493, -306, 472, -244, 219, -189, 158, 206, -881, -489, 234, -1478, 290, 419, -125, -457, 402, 283, 307, -401, 1121, -32, 537, 229, 197, -685, 395, -451, -908, 115, 1012, -1215, -80, 888, 160, -646, -713, -451, -233, -424, -73, 225, 1061, -596, -307, 145, -116, -26, -67, 1046, 309, -688, 81, -230, -828, -662, -197, -853, -461, -100, 690, 1025, 214, -543, 1064, -410, 541, -48, -680, -26, -1416, -446, -294, 98, -324, -1130, -238, 125, -301, 131, 41, -238, -177, 79, -595, 82, -691, 974, -473, -944, 237, -428, 590, 331, 274, -3, 224, 46, -461, -33, 129, -1065, -193, 16, 465, -543, -922, 304, 183, -870, -1147, -937, -1002, -337, -219, -430, 56, -934, 541, -390, -605, -1255, -935, -147, 845, -666, -565, 187, -1097, -709, -1022, -232, -975, 483, -66, -749, 343, -573, -735, 471, -287, 93, 745, -259, 513, -425, 1352, 116, -291, -182, 691, -387, -497, 116, -451, -409, -301, -234, 566, -444, 152, 287, 553, -874, -150, -504, -1204, 16, -74, -463, 329, 796, 475, 354, -1074, 555, 7, 155, -730, 490, -249, -1456, -384, -490, 1544, 460, -1469, 290, 956, 1041, -1070, -245, -829, -408, -76, -39, -263, -438, -724, -461, -219, -636, 1433, -436, -499, 170, -186, -487, 126, 431, -540, 496, -314, 718, -272, 204, -351, 100, 1080, -304, 27, 114, -1084, -714, -496, -1517, 637, -140, -382, 852, -425, -1189, -1012, -20, -459, 452, -722, 133, -341, -781, -786} +#define CONV21_WT {0} +#define CONV21_W_Z (7) +#define CONV21_IN_Z (0) +#define CONV21_OUT_Z (0) +static const int32_t CONV21_M_ZERO[] = {1441667328, 1170342784, 1504599680, 1327508864, 1229413760, 1412335488, 1360641024, 1591646208, 1827607424, 1496544384, 1815082240, 1461736448, 1479251328, 1567696128, 1854080384, 1651287168, 1407070848, 1330691584, 1496260224, 1863763072, 1430441728, 1451460992, 1882771072, 1306921088, 1363777664, 1479275136, 1685498752, 1326028800, 1381739136, 1415025792, 1195240832, 1358548992, 1298000896, 1786616576, 1893748352, 1239679616, 1243944448, 1571564032, 1561213952, 1774399232, 1385359104, 1290560512, 1078976768, 1096347648, 1287660928, 1776125312, 1731682944, 1871976064, 1261453568, 1422999808, 1607607296, 1829203328, 1435397504, 1641171840, 1792571648, 1276753664, 1868614912, 1334252544, 1641775616, 1527932800, 1442759680, 1308898176, 1670518912, 1401558528, 1752296320, 1307017984, 1349584128, 1713351808, 1659169280, 2032423424, 1475111680, 1205955200, 1177330176, 1514344960, 1594593920, 1602797952, 1789326976, 1303695744, 1709664128, 1174731136, 1954578304, 1679638656, 1268311552, 1533660928, 1536916352, 1430002048, 1548139264, 1426257152, 1659316992, 1552695424, 1227511936, 1235958400, 1409279232, 1381195520, 1083941504, 1145502208, 1630212736, 1259721728, 1697017216, 1307563392, 1590803328, 1542260608, 1804963968, 1534358912, 1891794816, 1441425280, 1336967040, 1369948160, 1481474432, 1593654016, 1424363904, 1391443968, 1592753536, 1109729280, 1411469184, 1398702592, 1247504000, 1890061184, 1470416640, 1121926016, 1242463104, 1403841024, 1199202432, 1361000704, 1408790272, 1538350464, 1329137024, 1326568960, 1518057728, 1143763328, 1619786112, 1211044992, 1392599680, 1468822144, 1868754560, 1484841216, 1113005568, 1576364672, 1506517376, 1409117696, 1395560704, 1954314112, 1296042112, 1285714176, 1467155840, 1503406720, 1573403264, 1398420480, 1219959424, 1600274816, 1374675840, 1373217792, 1366266112, 1615049600, 1553102464, 1591267584, 2134265088, 1296844416, 1463966848, 2070826496, 1456787968, 1742774400, 1576227328, 1445831680, 1301437184, 1268924928, 1699452672, 1256628608, 1895245568, 1457848192, 1801744128, 1701507840, 2001010816, 1612972160, 1421640576, 1668806656, 1996599552, 1484946944, 1365007744, 1487369344, 1341776512, 1600054784, 1387210240, 1302886016, 1195422592, 1678214272, 1636809344, 1507940736, 1819439488, 1788796544, 1620444544, 1933140864, 1614714752, 1915938688, 1734044544, 1912763776, 1683467904, 1367501440, 1283211904, 1684826496, 1436620160, 1571740288, 1439250176, 1668865664, 2113084544, 1649568384, 1311183744, 1648977920, 1693241600, 1535231104, 1311185280, 1267637120, 1110607232, 1539488128, 1466494464, 1771722240, 1887214720, 1268127872, 1132593792, 1125354368, 1709746560, 1938148736, 1670783744, 1275218816, 1159180288, 1356918016, 1426112640, 1886551168, 1517676288, 1332807680, 1684450176, 1787789696, 1528511488, 1331592448, 1548025216, 1344375808, 1219779584, 1656948864, 1480174080, 1715458816, 1515769472, 1577480064, 1433998848, 1535006592, 1753111168, 1507113088, 1491691136, 1434457088, 2116420096, 1573208192, 1367475840, 1595364992, 1535649152, 1706991488, 1274018048, 1335120128, 1315457664, 1364215424, 1654712192, 1147421696, 1848940672, 1438452608, 1405067520, 1713957632, 1180700160, 1366324096, 1204852992, 1406477056, 1266861440, 1583218944, 1427598976, 1643842432, 1317883776, 1752175232, 1186278400, 1450036224, 1402937472, 1788270336, 1432856448, 1272757632, 1468687872, 2098379264, 1415364480, 1844516096, 1703533952, 1645241984, 1528941696, 1713410176, 1631519104, 1420797184, 1793965952, 1573938688, 1659383168, 1510300672, 1394080000, 1583023488, 1477288704, 1788436224, 1610138112, 1092609408, 1630351360, 1468477440, 1307656960, 1597660032, 1728197120, 1559890048, 1583286784, 1620203776, 1151491328, 1444621824, 1557143040, 1671929344, 1519599744, 1703662976, 1707462016, 1736197120, 1871366016, 1117135872, 1894569600, 1976789632, 1729809024, 1616007168, 1456802944, 1150387328, 1350915712, 1117987456, 1197509504, 1540225152, 1489684480, 1178194176, 1092717312, 1604390144, 1574116224, 1887426560, 2096275200, 2084560128, 1419676416, 1853516288, 1670127232, 1812915968, 1678681856, 1367178368, 1721068672, 1838724864, 1308042880, 1417660800, 1516344576, 1798725120, 1690194560, 1461513856, 1522167168, 1590221696, 1567281152, 1407539200, 1076742656, 1429923840, 1161981568, 1526972288, 2022141440, 1395587840, 1386587904, 1710042112, 1426540800, 1664578816, 1667370496, 1576821376, 1241869568, 1982725888, 1607953792, 1398710528, 1699615744, 1608134656, 1433117312, 1409582592, 2131156992, 2102398080, 1248473728, 1407008640, 1127242368, 2147024768, 1563223680, 1676523008, 1761721856, 1709957120, 1377010816, 1450937472, 1659009408, 1653095552, 1593539200, 1148386688, 1538600064, 1546051328, 1465558656, 1417436928, 1535233152, 1808233600, 1195350912, 1666450688, 1697377792, 1498062848, 1699603200, 1484736384, 1833698048, 1203634816, 1472390528, 1664704512, 1598213632, 1486019840, 1438896896, 1703737728, 1523579904, 1308228992, 1485783680, 1229733760, 1784630784, 1767936640, 1609765248, 1508865920, 1458243328, 1670745088, 1604009856, 2024782080, 1153605120, 1199120384, 1683720448, 1637664896, 1550043648, 1419458432, 1565611520, 1751449472, 1848864256, 1207839872, 1981062016, 1352373760, 1600883328, 1649053696, 1749317888, 1580274048, 1699428992, 1489877888, 1617428608, 1766805248, 1358469248, 1882855424, 1678943744, 1201647872, 1141081984, 1389973120, 1874586112, 1523544448, 1461805312, 1310917120, 1192431232, 1725719936, 1732653312, 1954760960, 1098633344, 2010789760, 1510537856, 1506186496, 1275857024, 1569271552, 1474464384, 1397582976, 1561353984, 1329460352, 1993918720, 1178117248, 1309924224, 1432580096, 1668113792, 1840024064, 1342188160, 1737700736, 1284718336, 1476609792, 1461383296, 1659340544, 1672993664, 1547721728, 2042982400, 1319552640, 1455798656, 1719845248, 1336070016, 1407992064, 2094395648, 2065664640, 1674323840, 1588326272, 1515362176, 1485256704, 1641209216, 1207552256, 1247058048, 1239251968, 1256283392, 1717013888, 1600306048, 1656558592, 1718859264, 1583956736, 1378922880, 1569601408, 1646502016, 1311304576, 1274782080, 1502117504, 1753293056, 1446893696, 1421194240, 1507981440}; +static const int8_t CONV21_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 22 Learned Parameters */ +#define CONV22_BIAS \ + {-163, 5219, -1444, -1429, -1370, -60, 6204, -2425, 4121, 4137, 3454, -1076, 3849, -2093, 1688, 3292, -601, 4195, -82, 3325, 5067, -1410, 4697, 8289, 4364, 7643, -336, -90, -746, -3629, 4738, -298, -702, -3663, 1216, -1787, 4361, -775, 3459, -1055, 4233, 5070, -1086, 2447, -925, 3390, 3242, -710, -256, 3547, 3562, 3359, 4454, 3068, -3502, -3350, -262, -1523, 10, -1770, -1724, 5613, -1861, -801, 3300, -132, -5638, 3642, 4186, -6005, -1969, -414, 5316, 3721, 3298, 3551, 3700, -746, 3311, -549, -932, 3822, -25, -2486, 6395, 4067, -1093, -1724, 6650, -2743, -2299, -1311, -4485, -385, 4132, -1602, 4841, -127, 6424, -66, 6137, -921, 6504, 4141, -1780, 3901, -32, -4622, -3929, 1172, -1087, -381, 3348, 4327, 1325, -797, 3486, 5788, -493, 5027, -405, -786, 4629, -1089, -2423, 4535, -409, -816, 4105, 4078, -3408, -41, 2, 5173, 4850, 4430, 14338, 6873, -900, -3331, -1011, 5784, -199, -942, -572, -2168, -1633, -1044, 4108, -2379, -569, 4488, -505, 4298, 3542, 4303, 5304, 2223, 4509, -1910, -1968, 915, -7059, 4743, -1494, -1489, 3667, 3625, 5778, 7046, 3344, 7806, 1116, 3449, -2018, -642, 4178, 4065, -1710, 3733, -65, 3385, 5908, 80, 7798, 3444, 7399, -883, 6109, 3275, 3774, 5330, -631, 3497, 5270, 5688, 3578, -2805, -50, 3643, -567, 4157, 3482, 3213, 5786, 60, -2539, 5249, -4746, 4150, 4465, -376, -2010, -3383, 3818, 1839, 5510, -2083, 5150, 2938, -288, -3749, 1787, -116, -776, 5964, -932, 3350, -1008, -104, 5143, 2143, 3176, -1359, -1513, -5547, -170, 3329, -4582, 5779, 6876, 5248, -1489, 6369, 3425, 3600, 3545, -565, 6541, 4060, -406, 4012, -5140, 5638, 4374, -475, -217, -1191, 6300, -4293, 3432, 6590, -476, 2518, -1442, -720, 4717, -1874, 3119, 4546, 3632, 3441, 6048, 3676, 295, 5070, 4601, 3664, 8227, -1335, 3759, -3514, -386, 3522, 5140, -4746, 3771, 1894, 3599, -2960, -1332, 4867, -3836, 3801, -1545, 2347, -173, 4222, 3578, -244, 6742, 7024, -502, 5654, 6206, -1925, 3669, -2861, -30, -2160, -1475, 3377, 3113, 3551, 3282, 3333, -2296, 50, -1930, 2309, 3965, 3434, -564, 6929, -73, 4910, -1389, 3492, -1518, -1337, -4489, -2248, 7558, 7013, -712, 5215, 3646, 4929, -3831, 6158, 5499, -33, 3575, 6254, -42, 3864, 4074, 3409, 3415, -1946, 2780, -2911, 769, -1192, 3325, 6326, 5053, -1052, 5535, -559, -40, 3540, 4784, 3275, 4166, 4846, -496, -1296, -4399, -171, -819, 4465, -1112, 170, 3443, 1245, -1589, -613, -309, -2082, 663, -5801, 3559, -1334, -193, 3831, -5849, -7, 3484, 5369, 3798, -1195, -824, -1209, -4135, 5856, 583, 3383, 3630, -2617, -1731, -123, 15488, -457, -2663, 4398, -1291, -1027, 4054, -2335, 3793, 4325, -2534, 4729, 3211, -2199, -295, -3500, -5031, 1613, 3712, -1199, -3700, 346, 3714, 6363, 4146, -1209, 3390, -3787, 5966, 5223, -6594, -1664, -2986, 3430, 3604, -3171, -3138, 107, -1335, 4333, 4231, -1341, 4214, -525, -937, -3127, 2947, -729, 4493, -608, -146, 3384, 4526, 9880, 4292, -3064, 3882, 3714, 4669, -2282, -632, -66, 5448, 4551, 4903, -2615, -681, -1056, -2072, 6221, -554, -4402, -678, -3815, -2451, 3230, 3574, 4158, -5934, -439, 4873, -939, -3660, 5941, 5463, -1538, -1965, -4724, -731, 3624, 5172, -854, -1071, 3, -568, 5620, -1844, -707, 5248, 4289, -100, 5772, -3342, -1257, 2214, -946, 3826, 4598, -148, -579} +#define CONV22_WT {0} +#define CONV22_W_Z (115) +#define CONV22_IN_Z (0) +#define CONV22_OUT_Z (0) +#define CONV22_M_ZERO (1981842688) +#define CONV22_N_ZERO (5) + + +/* Layer 23 Learned Parameters */ +#define CONV23_BIAS \ + {-8304, -33424, -576, -11816, -9216, 13110, -12886, -18212, -9093, 10840, 10640, -5762, -23387, 1570, -12870, -24581, -12394, -5634, -9212, 9176, -10867, -20242, 11825, -21360, -13126, 4099, -4018, -3226, 11858, -9944, 9439, -6184, 11792, -2466, -29122, -903, -1970, 9239, -10684, -28727, -26493, -5705, -18900, 9751, -10764, 1911, -388, 9669, 679, 15609, 1644, -19520, 26574, -10264, -21859, -9079, 16170, -15206, -5496, -10319, -12180, 21224, -12606, -2625, 14680, -25309, 1706, 8431, -25063, 1308, 20490, -14353, -12634, -4423, -9388, -5496, -4467, -27882, -5579, -7712, 15311, -11340, 11079, -3922, -30118, 420, -3917, -2084, -10752, -21577, 8834, 17772, 4357, 4175, -6554, -4583, -30567, -10850, -14792, -11918, -18204, -22315, 15582, -6295, -25108, -8432, -15451, 6405, 7959, -18346, -5294, -25879, -9557, -31065, 2451, -3115, -8752, -179, -14953, -6923, 17672, -9790, 563, 7709, -3143, -17613, -18, -6489, 18006, -28491, -4918, -12066, 2708, -12490, 7784, 3373, 14062, -11778, 17443, 11510, 8423, -4712, -2720, -11725, -6344, 24824, 1513, -14276, 10041, -14606, -5643, 25746, 584, -25715, 3303, -2509, -17401, -356, -13599, -37480, 1289, 4567, -4666, -13153, 8990, 11114, 16316, 11684, -13960, -12187, -5447, 3112, 5628, 3257, -12765, -8860, -5372, 18626, 4695, -22748, 15112, -4503, -6183, 4249, -6803, 6245, -14559, -4789, -6229, -12412, -2513, 15174, -29998, -2128, -5825, -16750, -5163, -8739, -9926, -28016, 10561, -15007, -1666, -8709, -9593, -23429, 9041, -22737, -3312, 6341, -13534, 6209, 2250, -19910, -6787, -28347, -2548, -15748, -14088, -5261, 622, -13139, -24249, -3525, -22368, -25453, -11913, -3614, 16487, -14091, 4138, -24905, -12738, -4228, 22608, 11142, 4333, 2269, -11234, -12768, 2454, 4054, -18846, -42432, -8999, -8514, 2404, 8212, -15965, -16150, -5246, 282, -15795, -21515, -17793, -10963, -5287, -20088, -1761, -7694, -6694, 5222, -11882, 3998, -5530, -9135, -20425, -8251, -912, 14370, 7563, -7789, -8852, -7262, -20659, -4924, -26884, 3806, -14979, -1705, -15320, -12234, -7661, -19010, 10393, 10144, 14026, 15710, -11067, -2127, -2974, -17217, 8047, -7340, -2767, 3642, -14723, 22217, 5829, -19894, 7273, -5095, -14690, -16286, 6154, -17623, -2356, -14487, 23916, -11006, -16091, -7047, -1941, -7547, -2802, 12361, -20428, -13329, -19750, -3334, -24839, -10477, -14461, 10086, 13216, -22207, -13870, -10181, -27345, -17746, 3975, -25329, -11712, -9353, -4143, -37482, -11692, -8644, 16335, 5601, -20635, -3142, -1818, -26585, -24429, 8069, -16002, -26142, -10451, -18296, -6676, 9310, -24408, -25452, -2088, -9761, 20177, -130, 1029, 10115, 261, -9017, -15423, 3317, -13809, -1212, 17684, -8694, -7582, 5981, 233, 10168, -9505, -1380, 9712, -30481, -12661, 14905, -3975, -19164, 2124, 1282, -8602, -10795, -772, -17427, -1420, -18012, -3862, -23371, 4291, -13952, 13615, 4084, -864, -12861, -12913, -11014, -5361, 14325, -11674, 1923, -5715, -30429, -2705, 3857, -28197, -3761, -2911, -10061, -1305, -22317, 15345, -26322, -27824, -16763, -8948, 17387, -5528, -20548, 25505, -24063, -11467, 8181, -2864, 22670, -15934, -10620, 4537, -12089, 1729, -20836, -10283, 8, -17367, 16365, 18968, -22740, -33584, -16812, 12117, -3404, 113, -8090, -458, 6837, 2272, 13730, 3808, 13389, 2316, 2528, -19664, -29825, -12810, -7513, -15515, -6978, -41035, -26583, 8743, -13141, 5614, 1866, -16447, -17993, 323, 865, -27965, -16532, -7588, 2666, -10045, -8747, -6224, -11147, 9, -29655, -4390, -30033, -23144, 2565, -9259, -9203, -16070, -747, 4223, -6662, 5416, -9504, 12881, 12391, -9289, 8716, -9836, -29901, -154, 9889, -15662, -11446, 7959, -14579, 5845, -4648, -20755, -5872, -7521, -6028, -575, 82, -20911, -12326} +#define CONV23_WT {0} +#define CONV23_W_Z (149) +#define CONV23_IN_Z (0) +#define CONV23_OUT_Z (0) +#define CONV23_M_ZERO (1291102720) +#define CONV23_N_ZERO (6) + + +/* Layer 24 Learned Parameters */ +#define CONV24_BIAS \ + {10089, -28, -37, -24, -41, 2888, -45, -1171, 1864, 23031, 7124, 9259, 69, -35, 15725, 2042, -60, 12029, 12099, 15904, 2356, 15888, 19984, -3459, -30, 16584, -39, 13938, 14016, -104, 19118, -2866, 16179, 16303, -30, 13408, 6582, 11748, -67, -593, -43, 12, -16, 13730, 10793, 6909, 10407, 8481, 13815, 10795, -59, -9, 12694, -246, -33, -55, 15649, 17314, 7563, 66, -167, -2421, -63, -5617, 6572, -178, -98, -2233, -84, 7510, 11720, -14, -151, -63, -120, 471, -52, -96, 10526, -133, 9651, 1334, 11646, 8251, -2909, 7099, 7566, -1714, -101, -34, 19450, 10207, 14692, 12521, 9199, 6809, 23, -174, -4, 708, -43, -5815, 19851, 11776, 10848, 44, 15848, 5783, -147, -236, -67, -655, 10, -81, 7298, 11068, 14465, 8708, -123, -46, 11786, -109, 12269, 5864, 33, -106, 15791, -3400, 4755, -131, -365, -120, -151, -2378, 566, 4173, 14141, -65, -6134, 17214, 15378, -246, 8335, 16109, 14818, 14585, 12662, -170, 16722, -740, -47, -6781, 28, -68, 14566, -1383, -7, -2, -625, 44, 6069, 22296, -203, 14565, 6701, 19506, 4297, 15674, 13834, 14771, -431, -6756, -1076, 11962, 145, 13964, 101, 9275, 15254, -548, 17891, 7733, 12717, 43, -912, 6143, -514, -23, 6616, 13574, 13249, -144, -608, 14396, -116, -546, -23, -23, 13368, -70, 16447, -124, -135, -18, -163, 7528, 9421, -232, 14842, 11816, -32, 6328, 14633, 2360, 11177, -65, 6523, -15, 11787, -131, 7912, 9526, 51, -5690, 3, -47, 225, 14805, 13691, -2902, 6750, -11, 51, 8588, 10071, 8430, -4032, 15446, 446, -191, 16476, 13991, -2835, -1126, 7197, -2233, 10804, 9363, 35, -26, -23, 17376, -93, 14150, 7917, 9291, 6625, 301, 10265, -80, -70, 8359, -44, 7979, 12669, 9431, -64, 120, -5, 3459, 9483, -563, 5120, -82, 51, 15184, 22, 7440, 11191, 4637, -1945, 9014, -120, -40, 23019, 11770, 580, 14965, 7533, -234, 6960, -28, 21900, -96, 8569, 15167, -71, 15173, 7778, 17931, 9760, -81, -78, 13344, 7388, 35, -259, 15550, 10110, -2227, 51, 7537, -100, -2626, 15756, 12445, -90, -730, 7, 14707, -111, 3884, 8042, 19267, 16366, 22, 7917, -8315, 640, -11714, 10856, -50, -62, 1269, 16075, -4068, -207, 70, -38, 10964, -1238, -109, -169, 13911, 14522, 425, -91, -128, -7, 14941, 7248, 16950, -126, -12, 16971, -98, 13318, -6795, 918, 17998, 858, -539, 24, 15253, -57, 7316, 13534, -22, -254, 16599, 22699, 15166, 8441, -14590, 14775, -135, -137, 11636, -97, -8213, -9924, 14980, 15302, -17, 12532, -18, 56, -47, 13375, -2125, -46, -2, 11961, 7212, 7621, -95, -77, -40, 17684, 8716, -3836, 6493, 6723, -77, 2405, -427, -16, 11620, 10046, 6935, -29, -15, -4757, -183, 416, -607, -61, 1127, 13549, -135, 14129, -63, -143, 13403, 7929, 13304, 15762, 7558, 15259, 5747, -64, 11967, 6966, 8549, -102, 6772, 10994, -48, -38, -155, 11225, -956, -55, 14026, 522, -366, 15887, 8419, 8420, 13090, 3479, -6325, -64, -143, 21, -211, -216, -76, -170, -173, -729, -148, 6743, -5, 276, 13295, -390, 17403, -81, -77, -16, -12222, 14760, -351, -4305, -75, 15806, -150, -159, -118, -103, 14069, 16014, -4, 130, -319, 6221, 7299, 15138, 2, 1557, 9890, -5808, 13205, -173, -18, 8245, 5723, 40, -64, 9701, 1700, -32, 14326, 199, 11367, 9413, 11140, 9136, 12728, -1079, -213} +#define CONV24_WT {0} +#define CONV24_W_Z (130) +#define CONV24_IN_Z (0) +#define CONV24_OUT_Z (0) +#define CONV24_M_ZERO (1718726528) +#define CONV24_N_ZERO (6) + + +/* Layer 25 Learned Parameters */ +#define CONV25_BIAS \ + {-135, -2002, -32, -30, 325, -1045, -1385, -1604, -421, 203, 388, -673, -296, -246, -366, -569, -827, -1074, 987, -517, -1404, -1047, -167, 336, -851, -598, -284, -35, -512, -202, -1067, 1336, -513, -998, -354, -740, -1841, -602, -635, -400, -190, -994, 28, 318, -675, 249, -780, -116, 615, -100, -202, 718, 257, -71, -1099, 47, -416, -336, -173, 1124, -795, 267, -544, -1091, -460, -42, 181, -521, -429, -243, -1855, 217, 10, 157, -24, -449, -817, 233, -246, -285, 183, 157, -279, -931, 682, -620, -340, 133, -559, -761, -483, -699, -235, 297, 183, 594, -1262, -1405, -795, -1024, -176, -207, -546, 328, 263, -384, 525, -239, -554, 269, -21, -433, 0, -328, -382, -304, -505, -1492, -1618, 482, 110, -312, 29, 547, -677, -53, 301, 389, -878, -1005, 639, 144, 250, -38, -790, -185, 9, -645, 818, 813, -380, 401, 157, -384, -1165, 445, -20, 406, -1126, -617, 335, -115, -1058, 452, 191, -1984, 121, -1527, 443, 236, 24, -1271, -1219, 77, -157, -3, 983, 1139, 952, -182, -1450, 977, 551, 731, -888, 31, -711, 174, -275, -1073, 434, -162, 832, 526, 110, -477, -224, -340, 825, 785, -237, -1669, 86, -416, -883, 1014, 1246, -187, -1188, -1360, -1021, -252, 964, 433, -569, 448, -881, 213, -459, -1315, -411, -525, -261, 496, -2351, 167, 540, -811, -356, -1509, 444, -2956, -88, 133, 810, 676, -1813, -760, -518, -219, -304, -297, -1399, 452, -469, 1192, 104, -1018, -507, 425, -500, -1161, -29, 236, -1402, 532, -282, -437, -198, -1091, -797, -561, 480, 28, 150, -331, 554, -274, -718, 685, -447, -845, -1319, -1287, -1190, -560, 981, 179, 819, 437, -973, -538, -927, -75, -897, -1586, 97, 163, 5, -760, 91, -239, -978, -1133, 204, 529, -437, -523, -1381, 183, -112, -728, -126, 70, 260, 40, 152, 239, 625, 230, 143, -49, -1386, -301, 207, -765, -803, 273, 564, -487, 181, -1046, -1463, 421, -595, -280, 184, -306, 1299, 610, -813, 253, -356, 960, -1098, -543, -1313, -474, -83, -434, 473, -52, -1227, 222, 202, -969, 598, 550, -497, -168, -1716, 993, -428, -835, -1282, -765, 350, -140, -1105, -405, -947, -813, -1200, 1121, 689, -868, -1762, -335, -1254, 454, -1407, -1228, -510, -1327, -745, -587, -129, -127, -115, -65, -765, -1093, -309, -691, -317, 406, 1017, -627, -626, 280, -1068, -1486, -657, 13, -121, 455, 544, -162, 827, 178, 533, 727, -1039, 725, 261, 343, -1118, -1511, -130, 129, -91, 48, -663, 709, 804, -30, 466, -480, 236, -1039, 67, -300, -47, 1138, 144, -470, 280, 63, 692, 738, -990, 472, 704, -1092, -614, -630, 20, -282, 173, -48, 245, -661, -249, 530, -682, 111, -1643, 418, 170, 48, -914, -571, -190, -2077, 706, -658, -970, -767, -386, -1536, 1185, 2, -433, 415, -1182, -44, -542, -1395, -646, -1159, 442, -680, 284, -1373, -85, -1430, 151, -612, 210, -958, -739, -392, -551, -44, -354, 317, 805, 193, 85, -849, -665, -44, -760, -1027, -457, -485, -835, 506, 467, 292, -260, -280, -926, 183, -327, -729, 524, 1003, 95, -1192, -646, -642, -1728, -783, 86, -97, -95, -84, 58, -1306, -727, -2003, -753, -48, 974, 240, -566, -417, -806, 165, -890, -582, -509, -370, -1197, 698, -455, -873, -96, -287, 592, -374, -243, -1014, -96, -1849, -528, -941, -1451, 861, 86, -1013, -1805, -520, -1030, -231, -1179, -197, -543, -1581, -1314, 205, -701, 365, -749, -171, 310, -929, 88, -1049, 998, 415, -196, 1014, 189, -679, -421, -550, -124, -821, -301, -849, -182, -777, -37, 576, -702, -214, 676, -915, -261, -148, 250, -724, -461, -1426, -624, 54, -673, -217, -907, -131, -973, 3825, 443, -1340, 277, -1723, -783, -9, -753, -353, -175, 134, -88, -1329, 67, -909, -373, 1051, 282, -1427, 381, -805, -472, 140, -666, 253, -1157, -13, -427, 358, 562, 303, 1375, -933, -109, -584, -1160, -4, -607, -85, 138, -575, -513, -700, 1307, -559, -371, -292, -1020, 742, -16, -460, -1036, -496, -463, 352, -1117, -954, -986, 1150, -981, -287, -520, 93, -633, 568, -146, -299, -1082, -921, 66, -140, -826, 520, -909, -1434, -813, 158, 100, -559, -458, -1281, 89, 636, 393, 421, 247, -1191, -689, -102, -139, -551, -50, -1147, 622, 17, 392, -278, -1622, -52, 899, 168, 446, -1459, 472, -117, 248, 610, 116, -303, 803, 23, -1061, 485, -148, -209, -270, -465, -166, 88, 706, -133, 613, 937, -537, -847, 304, 529, 55, -510, -88, -203, 327, -791, 422, 483, -148, 335, -411, -1003, -610, -695, 149, -427, -118, 583, -615, 36, -1258, 962, -938, -872, -913, -1145, -103, 832, 470, 572, -466, 752, 29, -185, -620, -1012, -1441, -462, -279, -1540, 497, 89, 570, -1288, -895, -766, -578, 220, -391, 119, -880, -637, 2409, 624, 321, -659, -842, -658, -133, 373, -1015, 371, -818, -677, -702, -869, -1623, -718, 226, -1301, -234, 8, -562, -1019, 329, -706, -815, -291, -105, -1039, 26, -202, -154, -153, 34, 344, 8, -863, -399, -1186, 1192, -726, 500, -480, 34, -61, 204, 626, 70, 748, -614, 485, 21, -168, -139, -697, -289, -612, -532, -1300, 294, -340, -55, 300, 190, -500, 116, -748, 122, -1620, -2081, 662, -724, 1009, 239, 598, 955, 495, 478, 476, 212, -1570, -546, 871, 356, -342, 64, -1132, -1543, -995, 177, -318, -305, -624, 321, 239, -509, -986, -147, -450, -253, 691, -1577, -675, -309, -1678, 983, 1843, 446, -99, -2253, -79, 139, 687, 1163, -906, 406, 22, -47, -767, -870, -1270, -201, 87, 20, -311, -2187, -1242, -117, -550, 938, 86, -619, -1279, -631, 388, -357, 243, 167, 104, -9, -726, -551, -488, -458, -264, -439, -536, -554, -796, -485, -138, -1166, 161, -1287, -1319, -1163, 548, 473, 977, -313, 458, -146, 146, -1812, -1459, -1338, 414, -549, 599, -38, -323, 646, 426, 250, 580, -2010, -605, -531, 620, -1164, -341, 357, 672, -855, -585, 150, -273, 370, 527, -1031, -1921, 624, -67, -624, 749, -801, -1413, 1150, -95, 964, 260, -1722, -1037, -169, 263, 299, -1250, 1, -54, -165, -588, -115, -1465, 429, -1169, -676, -640, -1341, -156, 689, 50, -616, -535, -872, -1457, 212, -1146, 23, -1398, 1046, 18, 346, -634, -104, 197, -1200, 586, -650, 338, -893, 45, -470, -669, -1345, -1116, -429, -165, 378, 610, 341, 539, -143, 1426} +#define CONV25_WT {0} +#define CONV25_W_Z (7) +#define CONV25_IN_Z (0) +#define CONV25_OUT_Z (0) +static const int32_t CONV25_M_ZERO[] = {1456719616, 1318147840, 1610103936, 1375417856, 1334541696, 1384381312, 1515137280, 1671443456, 1098269184, 1320821120, 1913875328, 1286606208, 1272588160, 1265541504, 2090436992, 1938378880, 2068444416, 1172660736, 1221465600, 2004457088, 1186902016, 1545954048, 1357515520, 1077805184, 1342422400, 1107625856, 1720889856, 1174521856, 2144190976, 1157280128, 1812736256, 1281540736, 1526396160, 1195661952, 1979296384, 1351759104, 1365915904, 1293089024, 1805132160, 1333143552, 1260097280, 1312502656, 1201236224, 1078023680, 1896962048, 1091740672, 1119680256, 1125838592, 1946185216, 1842414464, 1141352960, 2092785792, 1229526912, 1194101248, 1349514880, 2124688256, 2055302528, 1253168256, 1240885632, 1102953600, 1347390848, 1110984960, 1919717248, 1300432256, 1808596096, 1099399296, 1078024448, 1438011008, 1212940800, 1093380224, 1569977216, 1840625792, 1137245568, 1336327424, 1446948224, 2042273152, 1245587072, 1243384320, 1998073216, 1329849856, 1847712384, 1685974656, 1108205696, 1190107904, 1297875712, 1108344320, 1631426176, 1122456192, 2015836416, 1188826368, 1202330624, 1356831104, 2078572288, 1346681216, 2013934336, 1100713984, 1194757120, 1355440128, 1333007488, 1172238336, 1716029952, 1803005824, 2057478784, 1442857856, 2022808832, 1455924480, 1548910080, 1116918528, 1874525952, 1133763456, 1227841920, 1100040832, 1356764928, 1284561920, 1355825920, 2125983744, 1277925504, 1290610176, 1191163392, 1483583232, 1297027584, 2115138176, 1173018496, 1870932992, 1216493696, 1573463296, 1401231744, 1418553344, 1330835712, 2094806016, 1621476992, 1134817024, 1249160064, 2127853184, 1315166208, 1915491712, 1151105664, 1135717632, 2059145088, 1959631232, 1587222912, 1140850816, 1928368768, 2121305088, 1314445952, 1123460992, 1282756736, 1162150016, 1330382336, 1240914688, 1354408832, 1146882176, 1406268416, 2056702208, 1575968128, 1219734784, 1821130240, 2016143488, 1198409856, 1666074624, 1219308928, 1185459712, 1170147968, 1293371392, 1890965248, 1554747136, 2004855936, 1816250624, 1159347456, 1550942336, 1342885632, 1946682368, 1643700096, 1976482304, 1234979712, 1194114432, 1286577152, 1976019584, 1815494912, 1197834496, 1458346496, 1807543680, 1783856384, 1335000192, 2084674560, 2040320000, 1439549696, 1388881920, 1911032448, 2099244800, 1523928704, 1404828032, 1163288832, 1273347200, 1928584704, 1295951488, 1494269696, 1756419840, 2069835392, 1262814976, 1091431552, 1218682624, 1209923840, 2028759424, 1572022016, 2084901376, 1823573760, 2117236480, 1459226624, 2013633280, 1223016832, 1921411968, 1370451456, 1675416960, 1324865920, 1574692608, 1207782912, 1219717376, 2024206976, 1375666048, 1139971456, 1131031552, 1347333632, 2105896832, 1987629440, 1366560512, 1195815424, 1382439296, 1135905536, 1278996096, 1100580480, 1187512192, 1128684928, 1184238720, 1257040256, 1664455808, 1172140672, 1455665408, 1950740352, 1389937792, 1528654336, 2048477312, 1125280000, 1096175104, 1426095744, 1676890240, 1224511616, 1723138432, 1136807168, 1215519104, 1386408448, 1134023552, 1147954816, 1845471616, 2135497856, 2048913664, 1106770304, 1240662400, 1516186752, 1152044544, 1554733312, 1168403328, 2028780544, 1165676800, 1802771712, 1087008768, 1979257344, 1186776832, 1649106944, 1096125440, 1548936576, 1206098560, 1101789312, 1306189312, 1284520704, 2031294720, 1133968512, 1075441280, 1554471680, 1761207808, 1816396672, 1075981312, 1324086016, 1228024192, 1088504320, 1177948800, 1971742080, 1495712896, 1463264384, 1896932480, 1326881792, 1134003584, 1103294976, 1458821632, 1387437184, 1646805760, 1094179456, 1082505472, 1282449024, 1836731776, 1103977088, 1981560192, 1379338880, 2109725440, 2028617472, 1181925632, 1081630336, 1078485120, 1791825280, 2088866560, 1717011328, 1541104256, 1304299136, 1171166336, 1137730176, 2047710208, 1244851456, 1254793216, 1685440768, 1903535488, 1477531520, 1118944000, 1082273792, 1379642368, 1792449664, 1273636736, 1317126656, 1252896640, 1950398336, 1264673152, 1825636608, 2126700928, 1456042624, 1488412032, 1929985536, 1875366656, 1084540160, 1204012800, 1928318080, 1415738368, 1295929088, 1981785856, 1810785920, 1344162048, 1272471552, 1314558848, 1133652352, 1430886144, 2096156544, 1702277376, 1700928768, 1312614656, 1185111680, 2083568640, 1450039424, 1506160896, 1123822720, 1158593408, 1474623872, 1437508224, 1138467456, 1371040768, 1254294272, 1624119808, 1173023616, 1221698432, 1454803840, 2038214656, 1194193152, 1216467072, 1965992192, 1244307328, 1188257408, 1507651200, 1676588032, 1132562560, 2110538880, 1956323200, 1799195392, 1811720448, 1309888128, 1627747200, 1075121152, 1292000384, 1111626624, 1943227648, 1202855936, 1569069696, 1216769408, 1245321472, 2032857472, 1270398848, 1399137280, 1201648000, 1211687680, 1124801536, 1227788544, 1419604224, 1725016448, 1104096768, 2112279040, 1908314752, 1257156480, 1634614528, 1235584128, 1879316096, 1250630400, 1213710464, 1737795840, 1134201472, 1084714624, 1124995840, 1246458752, 1711101824, 1297446272, 1251663872, 2099187072, 1732161920, 1399619072, 1454187392, 1125585664, 1257564160, 1154007936, 1138987904, 1926452480, 1634285184, 1343277056, 1268095616, 1538891136, 1160670080, 2115476864, 2117114496, 1614531840, 2076412544, 1170452864, 2011178112, 1507523200, 1206026880, 1572994304, 1644519168, 1415985920, 1952283904, 1187016064, 1569373952, 1957325312, 1614441472, 1974381568, 1312168448, 1942778496, 1618056960, 2044826880, 1476318080, 1089102080, 1905241344, 1492446464, 2145998720, 1372772736, 1306011648, 1732012800, 1469670144, 1774697344, 2144777344, 1450965248, 1111845120, 1311193472, 1994632320, 1197608448, 1757569024, 1111948672, 1662418176, 1146662784, 1197297408, 1166849280, 1161845248, 1133223296, 1250595456, 2052888192, 1560827776, 2135492096, 1548332160, 1749841792, 1110764288, 1720338304, 1266409984, 1483832192, 1885913600, 1583248384, 1124075648, 1923447552, 1226399616, 1969266304, 2085627136, 1727184000, 1077534848, 1526224896, 1472972032, 1292075264, 1283994624, 1193640448, 1126871808, 1362446592, 1086539904, 1156859648, 1978175488, 1169960064, 1128817408, 1213715840, 1958075904, 1301375872, 1437046528, 1174671104, 1417798528, 1247602304, 1274965248, 1819203328, 1103533696, 1123618304, 1148107008, 1308475264, 1699714304, 1161314944, 1953849600, 1550600320, 1164286208, 1545917056, 1853943424, 1249593856, 1403563008, 1098608384, 1130496512, 1475968384, 2072548736, 1150031360, 1544859264, 1822706048, 1232798080, 1928012928, 1798192640, 1154180736, 1358148608, 1557462528, 1167198976, 1245395584, 1670164608, 1121364608, 1477310336, 1309857408, 1134541184, 2077458560, 1330196352, 1585476736, 1306103936, 2101455104, 1095812224, 1121781504, 2016218880, 1116197248, 1378120320, 1787214208, 2026216320, 1556154368, 1749027328, 1787934592, 1213665024, 1932269696, 1347672064, 1593516928, 1279543680, 2094380288, 1220950272, 1213380992, 1225988352, 2116365056, 1449468160, 1545044608, 1789196032, 1668165760, 1863463680, 1160607744, 1449525760, 1279954816, 1105419392, 1104803200, 1127237120, 2027314944, 1158776704, 1469248512, 1145061248, 1556645888, 1267316736, 1168836864, 1749457664, 1162262144, 2034736896, 2119788544, 1217308160, 2127491328, 1470933760, 1641035648, 2084969856, 1384335488, 1749342336, 1920586496, 1297727232, 1141625856, 1974077312, 1721275520, 1117901056, 1484166656, 1141200128, 1180328448, 1119491968, 1134836480, 1908650624, 2003386752, 1188431360, 1276321536, 2131049600, 1793978240, 2065020160, 1356749184, 1514865536, 1362646144, 1360340480, 1106832896, 1274209664, 1115991680, 1996976000, 1351602432, 2058350080, 1938030080, 1401624960, 1144259328, 1282979584, 1446708736, 1282023168, 1152530048, 1397545728, 2060278272, 1607991040, 1330150656, 1840479744, 1100726528, 2145445120, 1198865408, 1867026688, 2042170624, 2137929088, 2067555712, 1335558912, 1156849408, 1457031808, 1282190848, 1436780544, 1158436864, 1233736064, 1099024384, 2075444096, 1424831872, 1369263360, 1653411200, 1103783296, 2036606080, 1438886016, 1329324416, 1336993536, 1854455552, 2002487808, 1942537728, 1448905728, 1565200128, 1335262464, 1489461120, 1348003584, 1095942528, 1520967680, 1084841216, 1943108608, 1106170752, 1439778816, 1474370176, 1936088832, 1203600384, 1314134784, 2026891008, 1782975872, 1993139840, 1224997248, 1101940224, 1105115008, 1277970048, 1182047872, 1382938752, 1687022464, 1341718400, 1235038336, 1383770624, 1210617856, 1296520320, 2048630656, 1247942272, 1210884224, 1585266176, 1147586432, 1234531200, 1131826560, 1618442624, 1170412800, 1194140544, 1076622336, 1193351296, 1987919360, 2137021184, 1255868416, 1298765824, 1177165440, 2040394752, 1600981760, 1163711232, 1884660736, 1458827136, 2146803968, 1799518080, 1199230848, 2066816768, 1347642240, 1114623488, 1235680896, 1457805440, 2023907840, 1242337152, 1100016384, 1102459648, 1160855040, 1091808896, 1159609088, 2098923264, 1252955136, 2035880448, 1257951104, 1180365568, 2060276224, 1511200640, 1441955072, 1303580800, 1158238336, 1177800832, 1512942080, 1245161088, 1986945280, 1959142016, 1304748928, 2078139392, 1985319936, 1488545920, 1533119744, 2088481920, 2012572416, 1347562496, 1377251968, 2071416704, 1542577920, 1085441536, 2131285632, 1213584256, 1127895936, 2135055488, 2102698880, 1468093184, 1469050240, 1339206400, 1188226176, 1245543040, 1187679616, 1172616448, 1575873024, 1374426752, 1932010368, 1182525056, 1085268352, 2113581056, 1197952128, 2078546304, 1233005568, 1299421184, 1471273344, 1162600832, 1815222784, 1284441472, 1144705280, 1969070848, 1540494592, 2128774784, 1137150720, 1406859776, 1525651456, 2146658944, 1136462464, 1950914432, 1301458560, 1218917376, 1217484032, 1290132864, 1545660160, 1293892224, 1494135296, 1386961152, 2111915648, 1199886976, 2064473088, 2131496320, 1469736576, 1158057856, 1176704128, 1329568128, 1919319936, 1458698368, 1427172864, 1689091840, 1168540288, 1193911040, 1248455680, 1445421184, 2084746880, 1121081856, 1683773952, 1204864512, 1080221312, 1296409088, 1396857216, 1121944832, 1189185024, 1343882752, 1089798272, 2001871872, 1194326016, 1172769920, 1447822848, 1475589120, 1116977280, 1086602368, 2073253504, 1861077632, 2046990592, 2007309440, 1303008896, 1111629696, 2056879360, 1455972608, 1745111040, 1510528128, 1694139392, 1802499712, 1204557056, 1606504320, 1715371648, 1232851840, 1466311808, 1549267584, 1085233664, 1652635264, 1186164096, 1897706624, 1185930752, 1145116288, 1719687168, 2088115712, 1200009472, 1760478208, 1591897728, 1459005696, 1174908928, 1157346304, 1650752640, 1116401152, 1794686080, 2101660160, 1175293440, 2115369728, 1253303808, 1488575616, 1983047424, 1832510336, 1991849472, 1858207232, 1276790144, 1124797952, 1171517824, 1099763968, 1479873024, 1186363520, 1888646656, 1533043072, 1192448384, 2041745536, 1193398784, 1153486208, 1296550144, 1275505536, 1958589440, 1453859072, 1981595136, 1188150912, 1177592320, 1157485824, 1091780352, 1446124544, 1167083008, 1111371392, 1257657472, 1826225280, 2035878656, 1795155584, 1578879488, 2072708992, 1255259392, 1669022336, 2145175680, 1079078400, 1942567552, 1196587648, 1421965056, 2014477952, 2069710848, 1155555200, 1267218176, 1308402944, 1742121344, 1077042176, 1130715520, 1882582144, 1439291520, 1340560768, 2054592384, 1094623616, 1285252352, 1646206720, 2092228480, 1625516288, 1379657472, 2109596800, 2134507904, 2018576000, 1499946240, 1174490368, 1171248128, 1267426432, 1261969664, 1272355456, 1319221632, 1215696128, 1247512576, 1890773248, 1175640064, 1563362816, 1089138048, 1882759936, 1291066496, 1095331072, 1787010560, 1288201472, 1110184320, 1465119104, 1151323904, 1282951168, 1261084800, 1155313280, 1254660608, 1188061056, 1110370432, 1154408960, 1211355648, 1260551040, 1431366912, 1306988800, 1289761408, 1831713792, 1237174656, 1083590144, 2112734336, 2117660544, 1202633088, 1089586176, 1261013632, 2131656832, 1114468736, 1175817984, 1820634112, 1314979200, 1504255488, 2145086080, 1350357760, 1231907712, 1254770560, 1282662656, 2081912576, 1090971136, 1382761728, 1099422592, 1279651200, 1793480448, 1996915328, 1653509120, 1193762176, 1231648768, 1124803456, 1103891456, 1090937216, 2126841600, 1201753472, 1381882752, 2145489280, 1306405120, 1172977536, 1410436864, 1434267904, 1441320960, 2117734912, 1943407360, 1728001152, 1302884480, 1166754176, 1839232000, 1076220928}; +static const int8_t CONV25_N_ZERO[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + +/* Layer 26 Learned Parameters */ +#define CONV26_BIAS \ + {-3, 12, -5, 1, 31, 12, -3, -175, 410, 497, 502, 2, 16, 0, -430, 631, -80, 5, 513, 28, 17, -151, -10, 462, 11, 477, 15, 1, 16, 497, -134, 668, 767, -2, 614, 12, 37, -13, -43, 5, 486, 5, 7, -710, 7, 431, 8, 461, -224, 482, -1, 512, -168, 462, 6, 425, -38, 12, 460, 593, -20, 3, -29, 15, 706, 403, 433, 0, -9, 13, -6, 563, 5, -36, -84, 575, 12, 10, 621, 483, 563, 482, 9, 838, 34, 9, -84, 467, 483, 12, -48, -1, 478, 2, 5, 475, 6, 3, 14, -19, 56, -114, 21, 177, 447, -14, -265, -120, 461, 443, -398, 500, 13, -5, 7, 9, 13, 15, 13, 617, 471, 2, 449, 583, -3, 663, 713, -112, -130, -40, 712, 444, 464, 560, -95, 478, 542, -1, 576, -671, 475, 442, 412, 404, 19, 459, -928, -41, -2, 6, 524, 13, 12, 577, 662, 6, 632, 24, 778, 5, 538, 5, 18, 516, 646, -4, -542, 739, 460, 534, 3, 492, 857, 462, 14, 47, -53, 653, 723, 4, 913, 697, -103, 455, 541, 475, 520, -9, 405, -93, 6, 7, 548, -92, 23, 9, -696, -113, 45, 28, 489, 499, 796, 596, -7, 527, 474, 15, 1, -67, 13, 17, -25, -462, -10, 0, 511, -8, 499, -12, 1240, 13, -5, -138, 972, 739, 12, -260, 855, 3, -7, 485, 9, 17, 548, -9, -3, 8, 530, 284, 763, -40, 18, 570, 6, 652, 519, 25, 18, 7, -3, 444, 550, 508, 747, 646, 549, 507, -1, -3, -195, 3, 7, -36, 23, 533, 501, 544, -23, 475, 21, 15, -7, 674, 3, 18, 487, 105, 43, 477, 43, 577, 522, 493, -23, 674, 16, -119, 7, -90, 453, 1, 481, 32, -279, 629, 499, 549, 432, 676, -30, 489, 0, 449, 432, 17, 23, 559, 683, 457, 696, -72, 15, 437, -18, 482, 880, 14, -210, -374, -151, 612, -42, 1312, -55, -13, -35, -1, 640, 435, 681, 30, 18, 577, 22, 8, 500, -197, 445, -2, 1, 904, 600, -1, -7, 14, 461, 3, 6, 838, 29, 0, -11, 551, 775, -2, 18, -44, 7, 948, 21, 546, 8, -2, 27, -186, 561, -20, 473, 662, -3, 5, 545, 3, -161, 2, 553, 25, -447, 719, 32, 28, 13, -5, 1, 647, -77, 720, -135, 2, 428, 514, -3, -23, 513, 522, 27, -1, -12, -336, 438, 664, 6, 509, -101, -377, 527, 0, 479, 8, 574, 535, 47, 441, 486, 6, 611, -80, 790, 806, 3, -106, 525, 7, 542, -8, -256, 558, -2, -33, 567, 515, 485, 568, -117, 600, 15, 483, -55, 727, -6, -9, -6, 456, -7, -128, -954, -141, 501, -6, -54, 0, 456, 467, -21, 471, -19, 2, -85, -87, 2, 14, -482, 12, 571, 9, 37, 502, 1170, -1, 11, 10, -129, -23, 1, 420, 442, -113, 905, -1, 470, 435, 439, -2, -154, 466, 896, 500, 819, -9, 539, -144, -17, 529, -18, 791, -94, 485, 533, -4, 1, -38, 15, 449, 479, 685, -167, -86, -2, 6, 476, 3, 1, 4, 465, 477, 4, 569, 18, 821, -6, 624, -7, 12, 639, 628, -10, -3, 468, 637, 692, 15, 494, 8, 523, -319, 17, -82, 9, 834, 675, 18, 11, -11, 30, -4, -46, 596, 760, 6, -13, 477, -1, 524, -76, 576, 448, -95, -35, 728, 451, -557, 7, -22, 768, -10, 449, 6, -22, 20, 4, 22, -630, -7, -28, 462, -352, 468, 494, -52, 10, 474, 493, 597, -182, -2, -199, -3, -64, -52, 451, 704, 41, 2178, 476, 5, 460, -7, 631, -55, 700, -128, -220, 430, 14, 28, 499, 22, 104, 594, 526, 55, 438, 470, 502, 502, -5, 546, 701, 198, 1, -5, 1, -15, 618, 12, 25, -55, 4, 482, 4, -191, 451, 4, 24, -47, 515, -16, 610, -59, 488, -396, 485, -171, -4, -23, -14, 449, -146, -117, 6, -104, -103, -3, -299, 67, 65, 472, 502, -179, 568, 10, 487, -7, 0, 9, 32, 6, 516, -10, -87, 3, -115, 8, 480, 608, 476, 954, 454, -9, -2, 605, 409, 18, 431, 84, 382, 6, 525, 15, 11, 876, 580, -317, 85, 10, 639, 14, -40, -381, 49, 8, 452, 5, 9, -87, -9, -18, -155, -162, 12, 785, 496, 641, 469, 495, 438, 3, 535, 493, -95, 565, -11, 482, 118, -19, 452, 652, 874, 678, 3, 16, 14, 5, 570, 477, 11, -41, 0, 484, 548, 544, -7, 3, -19, 6, -14, -75, 106, 669, 27, -96, 13, 413, -4, -123, 24, 18, -73, 5, 469, 478, -484, -8, 13, 2, 499, 594, -307, 738, -12, 13, 552, 458, 431, -107, -58, -84, -3, 487, 19, 569, 667, 0, 504, -3, 18, 675, -87, 13, -8, 856, 466, 5, 732, 10, 13, 603, 521, -11, 509, -4, 454, 725, 3, 421, -10, 469, 443, 9, 600, -39, 509, 6, 582, 455, 17, -191, 598, 539, 508, 466, 14, 4, 601, 470, 654, 14, -34, 0, 405, 449, -3, 517, 513, 449, 489, 495, -40, 17, 14, 509, 3, 481, 515, -19, 493, 520, -53, 605, 492, -40, -40, 454, 663, -28, 1020, -72, 544, -19, 507, 523, 598, 16, 535, -10, -359, 18, -14, -62, -5, 479, 13, -9, 634, 90, 453, 708, 539, 452, -17, 509, 566, -4, 592, 7, 519, 452, 566, 866, 0, -16, 693, 465, 477, -37, 2, 8, 486, -95, 848, 712, 3, 501, 14, 495, 99, 512, 496, 539, -1, -26, 1081, -79, 16, 14, -5, 11, 836, 534, 4, -156, 18, -233, 21, -3, 3, 587, 510, -99, 799, -12, -19, 477, 31, 0, 13, 541, -20, -84, 473, 20, -11, -18, 428, 569, 28, 468, -70, 558, 7, 639, 596, -149, 1, 468, 482, -5, 538, -14, 3, 22, 25, 17, -98, 560, 10, 6, 822, -656, -4, 9, 12, 0, -391, -18, 620, 6, 508, 487, 642, 29, 514, -78, 522, 18, -71, -35, 22, 471, 512, 673, 3, 0, 745, 18, 515, 3, 408, 17, -73, 1144, -29, 16, 535, 22, 22, 614, 440, 430, -9, 481, -138, -7, 0, -5, 66, -1, 567, 501, 451, 469, 530, 879} +#define CONV26_WT {0} +#define CONV26_W_Z (228) +#define CONV26_IN_Z (0) +#define CONV26_OUT_Z (0) +#define CONV26_M_ZERO (1909119872) +#define CONV26_N_ZERO (2) + + +/* Layer 27 Learned Parameters */ +#define CONV27_BIAS \ + {-74, 54, -4, 30, -174, 185, 41, 20, 177, 74, 135, 107, 189, 54, 14, -160, 95, -55, -50, 107, 123, -130, -46, 92, -39, 15, -11, 103, -51, 24, -22, -50, 130, -76, 141, 121, 79, 155, -92, -25, 95, -5, 149, 233, -14, -68, 6, -57, 104, -7, -89, 154, 46, -97, 48, 59, -18, 24, 9, -80, -56, 47, 69, 102, -22, 14, 29, -50, -62, 37, -84, 71, 27, 61, 175, -283, -64, -19, 9, 99, -32, 161, -77, -76, -2, -13, -112, 20, 96, 79, 50, 48, 211, -112, -10, -85, -120, 93, 45, -116, 40, 103, 52, -26, 43, 40, -38, -72, -17, -55, 62, 82, 160, -7, 60, -12, -14, 21, -43, -130, -95, 82, -3, 53, 9, 73, -156, 73, -103, -52, -105, 41, 178, -121, 19, -130, -21, -32, -44, -12, 49, -157, -101, -95, -25, 145, 23, 35, -8, 19, 44, 82, 126, 0, 89, 95, 55, 38, -35, 145, -128, -52, 3, 131, 192, 46, -45, -35, 110, 112, 1, -147, 50, 86, -33, -8, 148, 86, 166, 270, 141, -11, -31, -23, 110, 26, 108, -61, 76, 168, -27, 74, -18, 134, -131, -72, 107, -123, 82, -35, -92, 47, -17, 18, 64, -17, 121, -17, -79, 40, 38, 129, 59, -8, 11, 70, 86, -7, -8, 89, -9, 26, -4, -162, -9, 52, 49, -79, -86, 8, -66, 98, -44, 132, -71, 104, 105, 1, 29, -25, 79, 44, 10, 3, 87, -108, 45, 59, 185, 174, -22, 105, -5, -64, 83, 51, -24, -95, -24, 68, -60, 157, 116, -99, 106, 64, -8, -77, 19, -123, -8, -111, 93, -40, -6, 25, 52, -45, -77, -73, -6, -1, 87, 147, 164, -20, 49, -38, 157, 100, -24, -21, -75, 23, 118, -4, 8, -7, -68, -15, -114, -8, -43, -5, -9, -18, 14, 39, -48, 31, 93, -32, -9, -108, 79, 13, -147, 136, -8, -15, 103, -87, -59, -54, 103, 20, -18, 61, 24, 22, -112, 31, 101, 113, 26, -28, -34, -75, -35, -27, -42, -93, 61, 51, 171, -149, -83, -28, 101, 72, 22, -30, -135, 16, 67, -91, -109, 72, 145, -55, 79, 131, -100, 107, 123, 11, 210, 127, 35, -26, -211, 102, 51, 139, 116, -60, -66, 33, 67, -24, -96, 23, 54, 23, 6, 5, -27, -35, 16, 30, 24, 72, 85, 22, 120, -76, -46, 95, 74, 107, 11, 118, -8, 24, 29, 17, -59, -23, -94, -121, 57, 12, 24, 33, -77, 71, 199, 47, 199, 83, -34, -27, 125, -2, 30, 42, -121, -51, -64, 46, 61, 40, 125, 43, 61, 102, 45, 48, 23, -171, -102, -111, -87, 105, 234, -129, 75, -73, 103, -100, 110, 37, 163, -83, -2, -33, 62, 102, 218, -16, 111, -100, -128, -142, 32, -58, 47, 95, -109, 73, 108, 55, 85, -1, 106, -186, 78, 99, 69, 9, 60, 83, 16, 127, -11, 6, 109, 38, -109, 72, 22, -79, -53, -24, 74, 79, -41, -60, -92, 113, 116, 193, -69, 24, 147, -25, -74, -24, -48, 59, 81, 29, 138, 83, 1, -82, -101, -233, 65, 23, 8, 6, 155, -36, 58, 52, 22, 43, -5, -113, -14, 54, -57, 11, -24, 163, -179, -4, -169, 14, 153, -43, -22, -30, -178, 11, -22, 23, 30, 36, 143, 123, -7, -76, -8, 55, 22, 108, 84, -7, -61, 8, 40, 21, 68, -51, 164, 17, 54, 77, 120, 57, 61, 40, 2, 63, -45, 33, 69, 37, 82, 3, 57, 148, -86, 55, 47, 21, -2, -103, 42, 164, 127, -48, -10, 67, 15, 85, 61, 121, 67, 60, -88, 63, -53, 81, 94, -115, -43, 37, 121, -48, 118, -11, 75, -40, -131, 25, 101, -30, -12, -47, -65, 115, 35, 31, -56, 55, 1, -8, -3, 20, 127, 63, 126, -130, 94, -78, 33, 95, -30, 122, -68, -47, 224, 47, -84, 44, 11, 93, 115, 168, 26, 1, 125, 102, -41, -24, 134, 172, 49, -66, 52, 25, -83, 81, 111, 29, 30, 101, -29, 65, 126, -59, 66, -84, 204, 208, 24, 14, -101, -2, -16, 120, 29, 39, -14, -69, 147, 110, -99, 63, 71, -37, -178, -70, 46, 0, 82, 276, 18, 148, 11, -104, 36, 57, -3, 29, 64, 163, 78, 38, 156, 27, 22, 99, -46, -20, -12, 9, 127, 94, 24, 164, 74, 10, -55, -42, -114, 129, -12, -48, 100, 37, -18, 52, 23, -3, -19, -37, -198, 56, 185, 103, 21, 6, 89, -17, 74, 58, 16, -19, 9, -129, 75, 39, -106, -23, -47, 14, 36, 119, 61, -51, -70, 82, 78, -78, 2, 137, 121, 163, -57, -15, -87, 167, 204, 55, -59, -111, 156, -25, 18, 57, 86, 144, 45, 21, -136, 5, -72, 57, 71, 167, -37, 14, 37, 89, 42, 137, -198, 37, 107, 28, 37, -12, 105, -101, -114, 12, -18, -84, 41, -87, -121, -37, 55, 124, 115, 4, -81, 13, -11, -39, -112, 72, 145, 56, 164, 3, -4, -21, -71, 58, -69, 18, 80, 31, 33, 33, 55, -34, -79, 241, 267, -51, 104, -17, 24, -9, -2, 97, 69, 1, -66, 30, -141, 172, -83, 54, 32, 78, 83, 14, -13, 42, 79, 55, -45, 31, 225, -47, -71, -64, 2, 145, -91, 22, -7, -6, -53, 64, 16, -99, 107, -5, 164, 206, 132, 26, 148, -103, 94, -174, 130, 203, 134, 33, -99, -11, -106, 141, 227, 56, 117, -98, -94, 33, 18, 55, -15, 68, -152, -62, 9, -122, 32, 53, 1, 113, -32, -82, 32, 31, 26, 18, 36, 6, -65, 154, -102, 37, 71, 3, 12, 62, -79, 94, -59, -5, -104, -35, 76, 97, 166, -29, -65, 178, 66, 78, -101, 156, -26, 139, 44, -129, -63, -43, -187, 85, -77, -66, 222, 26, -69, 86, 149, 172, -37, -67, -25, 35, 44, -10, -9, -17, 84, 63, -4, 57, -68, 1, -66, -13, -110, -90, 124, 167, 53, 141, -52, -156, 59, -7, 164, -51, 20, 88, 49, -49, 34, 45, 4, -248, 87, 28, 40, -61, -111, -4, -6, -41, 74, 79, -6, 29, 16, 1, 93, 175, 75, 71, -17, -45} +#define CONV27_WT {0} +#define CONV27_W_Z (1) +#define CONV27_IN_Z (0) +#define CONV27_OUT_Z (0) +static const int32_t CONV27_M_ZERO[] = {1101570688, 1857692416, 1981978752, 1749196416, 1598041088, 2040059904, 2130510592, 1929580160, 1757442816, 1861905280, 2084063872, 2087363072, 1584889728, 1083036160, 1731697024, 1872670592, 1999054208, 1076842240, 1295895296, 1755054464, 1733344512, 2093372032, 2020812544, 2005180544, 1928356096, 1158651008, 1088890496, 1975061248, 2071028352, 1993419904, 2119288448, 2046426880, 1558964608, 1824174592, 1589209088, 1701560192, 1646887040, 1792182912, 1754959360, 2048099456, 1866570240, 1749774720, 1858461952, 1973227264, 2108007552, 2108323584, 2094772608, 2110692608, 2035835520, 2065913088, 2071034368, 1998300928, 1958525184, 1908736640, 1802401920, 2045252608, 1701480192, 2082498944, 1095881088, 1092065280, 2124912384, 1808304896, 1460794112, 2045165696, 1705548800, 1081653120, 1089746304, 2038263040, 2030915456, 1912728064, 1778199168, 1835392256, 1774455168, 1688589184, 1785195264, 2031470336, 1950311552, 1572385920, 1741953152, 2032466304, 1126145664, 1819684480, 1100019072, 1691688320, 1815373952, 1848356736, 1786584576, 2071863040, 1917348352, 1705657600, 1908477312, 1776115456, 1414670208, 1969516800, 1892300032, 1952843392, 1148033536, 1885561600, 1900261632, 1404230656, 1816926080, 1085813376, 1633482496, 2029307008, 1832979968, 1889192192, 1874445952, 1741488256, 2125618560, 1751084672, 2082844416, 2092238080, 1779953920, 1986484352, 1940295936, 1134472192, 1828324352, 1693254400, 1719180032, 1434268032, 1736098944, 2092811776, 1993013504, 2103230848, 1688291200, 1901829888, 2002681216, 1978691328, 1964113664, 2039069824, 2121964800, 1100137088, 1123976064, 1192996864, 2028379520, 1606165760, 1804478464, 1800335232, 2036037888, 1696724864, 2146155392, 1647185792, 1561566720, 1755272192, 1096932224, 1806206208, 1885384576, 1769405440, 1883401600, 1874687488, 1891769728, 1976534016, 1104048640, 2011980672, 1995625344, 1982095616, 2013887488, 2044657920, 1710508416, 1885671168, 1890706048, 1985798016, 1809222784, 1097416704, 1899980800, 1140589824, 1906669952, 2136053504, 1758901632, 1860054912, 1736172160, 1080300928, 1087423360, 1957424256, 1947066496, 1747586048, 1914517760, 1817868672, 1837530240, 2129272960, 2113898496, 1759318016, 1748821760, 1103845504, 2125752320, 1961619840, 1979741952, 1823847680, 1819799424, 1691992192, 1601076736, 1756483712, 2055312128, 1961093760, 1938701312, 1827637504, 2001216768, 1169349760, 1673638528, 1779156992, 2050372736, 1091360640, 1498212992, 2116594304, 1128570112, 1794723200, 2053523072, 1883796352, 1925379328, 1950625920, 1780626048, 1939624832, 2135179392, 1609921920, 2104497664, 1727870976, 1651970176, 1080511872, 1703400832, 1717133184, 1844456832, 2042354176, 1098344448, 2056294528, 1769040384, 1095820032, 1138004480, 2031928832, 2028729600, 2061113216, 1103531520, 1087173248, 1691792000, 1771254528, 1785150976, 1946560128, 2018391552, 2006565504, 1948954496, 2098669312, 1864541696, 1971529984, 1669493760, 1911911936, 1682872704, 1872886656, 1820622848, 2072877312, 2033368064, 1303099264, 1836505728, 1958427776, 1113410304, 1742084096, 1392647680, 2029909248, 1861473280, 2095924480, 2121378304, 1084047360, 2105325696, 1673198080, 2049614336, 1893766656, 1783195904, 1810937216, 2145006592, 1081316864, 1927298176, 2015319680, 1893942656, 1893051008, 1881613440, 1912825856, 1437484032, 2066699648, 2083289984, 2080797056, 1409121024, 1858469760, 1198493696, 1772526464, 1843266304, 2035890560, 1896707840, 1699653376, 2065711232, 2004604288, 1642659712, 1839569792, 1920032384, 1090397440, 1712109568, 1133614336, 1892845952, 1898264064, 1879758976, 2080901120, 1957653376, 1998926976, 2083766144, 2021993344, 2017864960, 2062526720, 1945949952, 2045544832, 1560406272, 1075518592, 1885173120, 1901127168, 1907050368, 1959927936, 1904159744, 1793554048, 1857810688, 1844074368, 2143869312, 2017215232, 2019900928, 1161802368, 1907581568, 1559387264, 1176434944, 2033575040, 1745898240, 1636454272, 1081088384, 1134690176, 2015692928, 1255048192, 2117989760, 1928242816, 1821186560, 2022344704, 1095100416, 2041758336, 1091150592, 2045095680, 1820469504, 1819112064, 1730968960, 1694573312, 1153894400, 1660313856, 1809377280, 1875365504, 1877187456, 1957669504, 1828866560, 1103742592, 1537396352, 1152809088, 1998547968, 1078876928, 1073984384, 2129640320, 1703487360, 1907725568, 1906498176, 2117497088, 1119217920, 1698103680, 1573202176, 1085200768, 1961372288, 2014256896, 1979485184, 2065055104, 2107874176, 2026846336, 1962469632, 1742241920, 1867101824, 2126945408, 1674708992, 1547088896, 1090123776, 1928508032, 1845966720, 1901945088, 1815133312, 2115025920, 1800015360, 2078063872, 1717035136, 2124128128, 2036375040, 2085176320, 2146542848, 1814769152, 1940299008, 1671399168, 1964332416, 1111318784, 1799990528, 2021965056, 1888362752, 1665249920, 1502001152, 2040219776, 1163281664, 1921833472, 2000985088, 1814536064, 1477211136, 1921085312, 1172273152, 2066719616, 1777972864, 1477045120, 1603550080, 1762207872, 1888973696, 1895410688, 1956341376, 1142895488, 2066945664, 2100420864, 1787398656, 1888452224, 2019583744, 2133254528, 1716637696, 1698150912, 2133835904, 2003253760, 1845372288, 1972588544, 2008631936, 2000492672, 1866031360, 1932587136, 1875885696, 1933272320, 2115687680, 1836312448, 1861208832, 2015103104, 1955106048, 1989468544, 1720079104, 2118201216, 1791911552, 1883583616, 1831828608, 1139195136, 2073636224, 1901976192, 2010071936, 1614144512, 1920748544, 1958263552, 1513746816, 1858697344, 1995787008, 1720645248, 1106303616, 1678056320, 1507298176, 1650602624, 1108640384, 1135104512, 1944864896, 1811223680, 1746807808, 1875848960, 2087458816, 2139019008, 1643806208, 1862086016, 2068785664, 1077552384, 1587877888, 1666349568, 1761986688, 1927159552, 2025402112, 1836789504, 2046136960, 1111340672, 1973552384, 1480163200, 1486045824, 1946800384, 1860133504, 1806788480, 1741008896, 2056234624, 1602012032, 1571221888, 2034628736, 1772217600, 2120477056, 2146974848, 2031848576, 1749014144, 1727664512, 1649474176, 1665379584, 1102497920, 1916527616, 1683190784, 1987582976, 1090015616, 1856331776, 1902306816, 2000447616, 2068720256, 2107763072, 1111042304, 1579206016, 1103347968, 1805643008, 1824526336, 1692130560, 2141545344, 1727628288, 2039150848, 2054039296, 1937329664, 1096519808, 1598371072, 1833952768, 2080385792, 1617546624, 1779149184, 1957995264, 1559358080, 2107615616, 1844070272, 1411740416, 1091555456, 1923852928, 2037512192, 1106681856, 2108230528, 1881393408, 1905967744, 2049948032, 2103025408, 1535344128, 1652310912, 2004001536, 1572585600, 1862434432, 1842778112, 1855209344, 1954419840, 1767982464, 1919854208, 1887124736, 1793989760, 1688130432, 1918629632, 2032279424, 1812690560, 2122206464, 1947075072, 1746887040, 1871198976, 2025810944, 1090402432, 1547876608, 1138642304, 1785187840, 1944005120, 1934937600, 1893148288, 1991902336, 1991092864, 1968450432, 1835682432, 2142649344, 2142063872, 1887431040, 2012134656, 1951036672, 1107006464, 1957582464, 1107083136, 2032610560, 2106979584, 1999843328, 1911565952, 1839072512, 2072147840, 1688467456, 2025658112, 2080411648, 1846135936, 2122951168, 1825132416, 1917328512, 1822814592, 2037687552, 2079541248, 1915902464, 1905326720, 2029652480, 2074381952, 1808736384, 1817576192, 1676852352, 1948091648, 1516789504, 1983686656, 2000545920, 1144931072, 2001038976, 1578689536, 1438694912, 1698410752, 1621422720, 1164178432, 1902584576, 1094568576, 1958110976, 1935006848, 1697012608, 1805205760, 1948736256, 1195778048, 1711553664, 1922268928, 1848523520, 1224181888, 1086034176, 2094782976, 1892574464, 1828069120, 1826584704, 1434327680, 1494398848, 1974556288, 1927985920, 2001945728, 1945258880, 2054556032, 1816692992, 1809194624, 1087683840, 1857149056, 1809526656, 1784024064, 2056782848, 1346052096, 1757130880, 1849030144, 1728828928, 1690187520, 1891272832, 1802895232, 1904750720, 1918100480, 1921748864, 1487943552, 1849532928, 1420413312, 1979375872, 1916184704, 2117789056, 1860107008, 1764108288, 1834794880, 2089032704, 1739919488, 1694178432, 1773274752, 1937396736, 1099236608, 1750614016, 1726925952, 1938009472, 1298587008, 2051590144, 1917420928, 1695732480, 1843645568, 1877018368, 1548104704, 1518822016, 1965443456, 1992101888, 1756005504, 1594946560, 1917294464, 1617401600, 1231000704, 2078479616, 2125172736, 1086340352, 1722732800, 2043343232, 2034397952, 1905802240, 1827197056, 2010740480, 1808318720, 1345502464, 1846021248, 1096736000, 1724974080, 1802560256, 1074308096, 1761055104, 1094395520, 1960455808, 1653867520, 1103476352, 1743979520, 1112293760, 1886442240, 1264072576, 1841483008, 1838697472, 2078497792, 1778081920, 2108976768, 1745860864, 1803636480, 1625492224, 1787342848, 1885462272, 1803150208, 1644680704, 2079885440, 1083106560, 1873299840, 1899826944, 2067374208, 1405236608, 1075126912, 2091078656, 1631298816, 1833771136, 1841008896, 1817361920, 1989683200, 1844402432, 1824477696, 1655147392, 1724127872, 1857188352, 1135835776, 1116472192, 1132254336, 2028253824, 1911020544, 1895749504, 1894141056, 2008431360, 2051583104, 1161069568, 1651484032, 1731295616, 1689160192, 1734587008, 1985602560, 1115311744, 1867936512, 1797767296, 1876031616, 2140116736, 1173803392, 1946806144, 1990633600, 1794865536, 1776047744, 1971628672, 1853188864, 2083653760, 1623893632, 2033691264, 1928406656, 2077347328, 1528916864, 1960769792, 1915132160, 1922340736, 1671511424, 1990229760, 1815327616, 2029457280, 2109146240, 1801759104, 1878372736, 2022297472, 1093221120, 1886070528, 1820983936, 1626824576, 2094940160, 1842576768, 1758374528, 2049271808, 1847682176, 1881185408, 1621193728, 1319661952, 1075690880, 1074531072, 1886453632, 1084323712, 1962341120, 1142661248, 1950474496, 1850763392, 1101065600, 1830762496, 2091258368, 1820459008, 1765595136, 2046988160, 1118161408, 1868609792, 1981686400, 1128268160, 2086646272, 1960718848, 1958147328, 1154155392, 1992729088, 1876449920, 1750003328, 2087820032, 2051732224, 2121415680, 2103462784, 2119775360, 1627195520, 1891498880, 1756164096, 1685723904, 1728623232, 1715157632, 1851562624, 2132350080, 1924686848, 1860966656, 1505043712, 1919120128, 1929256832, 1971951744, 1819841792, 1089329792, 2099638656, 1825534976, 1847667584, 2001175808, 1892329472, 2141565568, 1141900416, 1664268160, 1622576896, 1889219456, 1694156160, 1425936256, 1933063552, 2115320448, 1982190080, 2012650368, 1704415744, 1730474496, 2069720576, 2010351488, 2015786624, 1406307840, 1079755904, 2051810944, 1767199104, 1548986752, 1601736960, 1763778304, 1811717120, 2031799680, 1670989696, 1717890816, 1977466368, 1076344832, 1962331520, 1590576896, 1978850560, 1995177472, 1973113472, 1448020480, 1996912384, 1565123200, 1842968832, 1080287232, 2038260224, 1557254400, 1874339456, 1810930944, 2082561408, 2059649920, 2088192512, 1854201728, 1951385472, 1853304448, 1914603520, 2065955968, 1661488256, 1663590144, 1853621888, 2121124864, 1724176512, 1674789760, 1978259328, 1997898624, 1721168512, 1122426496, 2025457024, 1892201344, 1148539136, 1809115648, 1916232192, 1689203968, 2105946112, 1578284288, 1778167424, 1956514432, 1645959424, 1887853952, 1999462016, 1932411392, 1894105984, 2123736576, 1967827968, 1700966016, 1745362432, 2062735872, 2049890688, 1658716416, 1534444160, 1827837184, 2015988352, 1957624192, 1941266944, 1652759808, 1663798016, 2081598720, 2132753920, 1970832512, 1824476672, 1093381120, 1461485952, 1913189504, 1953790848, 1702041344, 1538846848, 1773369728, 1702180352, 1166646016, 2080272896, 1981449856, 1714935808, 1845656064, 1145634304, 1079804160, 1113465728, 1858406528, 1985720064, 1744422400, 1734283520, 1077444992, 1733294080, 1790374784, 1806915328, 1781347712, 2068239872, 1853454976, 1514043136, 1168234112, 1838549248, 1983323776, 2025886208, 1812863360, 2061977984, 1817364352, 2113645184, 2110362752, 1100224256, 1758624384, 1888527744, 1988378368, 1786426624, 2015548032, 1149797760, 1172286336, 1908879232, 1955077248, 1843413632, 1746038400, 1888966912, 1645651072, 1909347712, 1701431040, 1839443200, 1842753408, 1815090048, 1752898944, 1950347392, 1996826496, 1731565824, 2078371072, 1865661184, 1701313024, 1923855488, 1807332096, 2080466944, 2016814848, 1970364544, 1780199424, 2088712064, 1667132672, 1309660416, 2071319808, 1952343040, 1899527296, 2009958656, 1928922240, 1796919936, 1686418688, 1932378496}; +static const int8_t CONV27_N_ZERO[] = {4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 4, 2, 2, 4, 4, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 4, 2, 2, 2, 4, 4, 2, 4, 2, 2, 2, 2, 4, 2, 4, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 4, 2, 4, 2, 4, 4, 2, 2, 2, 2, 2, 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 4, 2, 2, 2, 2, 2, 4, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 4, 2, 4, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 4, 2, 4, 2, 2, 4, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 4, 2, 4, 2, 2, 4, 2, 2, 2, 2, 2, 4, 2, 2, 4, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 4, 4, 4, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}; + + +/* Layer 28 Learned Parameters */ +#define FC28_WT \ +{0} +#define FC28_BIAS \ + {-38, 8, -96, -96, 8, 0, -53, 1, -46, -46, -45, -85, -47, -33, -49, -40, -27, -36, 8, -46, -30, 40, -15, 8, 11, -23, 13, -22, 27, 10, 6, -7, 18, -68, 34, -62, 19, -66, 23, -13, -14, 8, 6, -64, 16, 25, 24, -30, -73, 0, 40, -72, 31, 58, -10, -24, 1, -18, 40, 33, -1, 61, -9, 54, 33, 13, -38, -29, 7, 14, -46, -5, -31, 3, -37, 61, 21, 79, 42, 65, -70, -10, -4, -116, -66, -8, -57, 15, -15, 48, -46, -70, -4, -17, -27, -88, 7, -98, -110, -45, -62, -79, 5, 94, 38, -48, 45, -33, -86, -115, -70, 157, 41, -27, 21, -118, -62, -56, 2, -35, -68, -36, -31, -94, -9, -61, -7, -55, -47, -37, -74, -55, -41, 17, -96, -133, -65, -93, -40, -69, -87, -59, -91, -71, -82, -21, -13, -99, -50, -40, 9, 55, -128, 58, -14, 15, 18, -46, -58, -19, 1, 53, 93, 10, -10, -44, -63, -105, 7, -22, 28, 98, -6, 5, 72, -53, -35, -16, 78, 31, 24, -29, 35, -47, 23, 74, 12, 17, -14, 24, -22, 52, 56, -38, -11, 88, 32, -3, -18, 55, -50, 30, 20, 73, 60, 8, -59, 13, -2, 32, -21, 16, 14, -52, 19, -6, 3, 88, 25, 27, -14, -45, -3, 111, -89, 48, -14, 2, -80, 48, -9, -28, 34, 8, 17, -30, 26, 54, 30, 84, -3, -38, 6, 1, 0, 48, -64, 32, -22, -35, 15, 29, 0, -22, 69, -24, 11, 35, 5, 4, 28, 7, -34, 26, 27, 4, 42, -42, -79, -15, 46, -35, 19, 12, -61, -44, -3, -18, -64, 11, -38, 88, -39, -29, 91, 32, 25, -15, -42, -17, -28, -26, -31, -60, -27, -14, 12, 31, 18, 52, -82, -19, -62, -39, -87, 69, 41, -38, -50, -65, -3, -14, 23, 104, 79, 27, -14, -51, 20, -43, -72, -126, -156, -101, -67, -127, -120, -41, -36, -41, 12, -30, 4, 7, -11, -46, 48, -25, -68, -78, -26, -9, 2, -20, -19, -24, 18, -7, -1, -33, -26, -68, -83, 2, -3, -39, -3, -51, -2, 62, -6, 39, 34, 12, 33, -11, -7, 51, -53, 44, -32, -49, -28, 28, -19, -57, -15, -28, 17, 1, -31, -2, 12, 0, -90, -42, -50, -49, -49, -60, -49, 32, -94, -112, -35, -32, -130, -70, 11, 77, -34, 43, 27, -43, -114, 10, -28, -33, -64, -55, -13, -28, 41, 44, 48, -15, 99, -47, 65, 84, -20, 75, 25, 105, 75, 4, -116, -51, 41, 7, -33, 12, -20, 5, -2, -7, 36, -30, -14, -20, 62, 16, 6, 5, 20, 79, 59, 33, 100, 8, 31, 2, -25, 36, 16, 15, 48, 43, 14, 73, -3, 60, 2, 7, 90, -5, -33, -47, 78, -32, 52, -29, -18, 13, -40, 15, -131, 33, 40, -16, 16, 17, -20, -28, -82, 15, -3, 65, 7, 32, -84, 41, 54, -42, 6, -23, 34, -57, 23, 21, -28, 18, 2, 7, 57, -12, 83, -13, -5, -36, -51, 14, 2, 20, 0, 49, -4, -47, -23, 43, -47, -24, 35, 142, -47, -22, 39, -16, -55, 77, 48, -28, 0, 37, 41, -30, -26, 16, 21, 100, -90, -5, 34, 51, -19, 19, -32, -135, -67, 40, -28, 56, -1, -22, -88, -37, -25, 55, 9, 27, -28, -11, -31, 90, -73, -36, -46, 50, 12, -1, 11, -2, 15, 1, 20, 33, -41, -1, -8, 60, -35, -42, -21, -1, 74, 20, -64, 88, -1, 53, -22, -11, -38, 44, -1, -66, 37, 66, -48, 64, 45, -11, 23, 28, -3, 36, 77, -36, 98, 3, 71, -66, -4, -15, 30, -10, 12, 54, 32, -55, 91, 28, 53, 151, 40, -43, 87, 91, -45, 72, 77, -9, 63, 43, 24, -56, 55, 0, 47, -53, -94, -11, 15, -12, 101, -41, 117, -54, 51, 26, 60, 9, 16, 30, 23, 111, 33, 34, 56, 30, 38, -102, 61, -24, 59, 59, 8, 0, -63, -52, 32, 71, 31, 57, 62, -54, -70, 112, 72, 12, 21, 30, 46, 74, 26, -56, 43, -54, -87, -92, -84, -14, 86, -42, -27, 77, 42, 5, 15, 0, 60, -22, 2, 105, 94, -65, 23, 5, -8, 4, -1, 91, 31, -7, 46, -43, 86, -25, 41, 51, 22, -40, 88, -13, -80, -58, 43, -45, 27, 27, -15, 53, 12, 29, -36, -11, 18, 31, 52, 34, 8, 15, -26, 85, 17, 17, 33, 2, 23, 82, 7, 10, 54, 4, -13, -44, 13, -84, 36, 21, 56, 85, -28, 4, 39, 39, -56, 43, -26, 58, -16, -53, 17, 28, 83, 0, 42, 127, -62, -37, -54, -25, 32, 37, 16, 61, -11, -46, 39, -30, -97, 79, 39, -23, 49, 11, 21, 34, -35, 62, -42, -2, -38, -3, 18, 36, -8, -20, -23, -16, -88, -45, 36, 20, -49, -24, 55, 1, 24, 7, -70, -15, 27, 78, 53, 6, -34, -60, 54, -17, 61, 20, -38, -40, 86, -31, 61, 96, 92, -31, 17, 25, 33, 41, 77, 104, -26, 13, 22, 7, 65, 12, 20, -39, -33, 35, -122, -29, 75, 78, -31, 54, -14, 11, -25, -10, -19, -6, 79, 10, 25, -67, 65, -57, -149, 9, 28, 48, -81, 105, 108, 18, 42, 5, -2, 146, -47, -65, 7, 27, -28, -42, 49, 83, 13, 26, 45, 35, 62, 10, -26, -37, 48, 80, 77, 83, 47, 61, -28, 5, 29, 71, -21, 19, -79, -39, -33, -46, -9, 135, 48, -6, 14, 17, -97, -36, -80, -25, -29, 93, 42, -18, -17, -112, 8, -26, 22, -71, -60, -29, -32, -36, 2, -17, -53, 1, -59, -65, 1, -3, -9, -25, -19, -19, 19, 12, -53, -29, 22, -95, 14, 39, -45, -61, -64, 10, 82, 56, 19, 7, -16, 63, 19, -71, 40, 57, 33, 93, 42, -27, 57, 21, 74, -51, -15, 25, -77, 21, -25, -10, 2, -90, -64, -160, -40, -55, 2, -51, 19, 46} +#define FC28_W_Z (1) +#define FC28_IN_Z (0) + + +#endif /*__224_1_0_WEIGHTS_BIAS_H__*/ diff --git a/Inc/intq-mobilenet-v1-pc.h b/Inc/intq-mobilenet-v1-pc.h new file mode 100644 index 0000000..c21e4e3 --- /dev/null +++ b/Inc/intq-mobilenet-v1-pc.h @@ -0,0 +1,1508 @@ +/* + * intq-mobile_net.h + * + * Created on: Feb 7, 2019 + * Author: Alessandro Capotondi + */ + +#ifndef __INQ_MOBILE_NET_V1_MODELS_H__ +#define __INQ_MOBILE_NET_V1_MODELS_H__ + +#if CONF==1 +#include "intq-mobilenet-v1-models-pc/224_1_0_parameters.h" +#include "intq-mobilenet-v1-models-pc/224_1_0_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u4_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u4_u4_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u4_u2_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u2_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u4_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u4_u4_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u4_u4_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u4_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u2_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u2_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (1) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (1) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (1) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (1) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (1) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (2) +#define LAYER28_WT_SHIFT (2) +#define LAYER1_OUT_SHIFT (1) +#define LAYER2_OUT_SHIFT (1) +#define LAYER3_OUT_SHIFT (2) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (1) +#define LAYER6_OUT_SHIFT (1) +#define LAYER7_OUT_SHIFT (1) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==2 +#include "intq-mobilenet-v1-models-pc/224_0_75_parameters.h" +#include "intq-mobilenet-v1-models-pc/224_0_75_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u4_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u4_u4_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u4_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u4_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u4_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (1) +#define LAYER28_WT_SHIFT (1) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (1) +#define LAYER3_OUT_SHIFT (1) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (1) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==3 +#include "intq-mobilenet-v1-models-pc/224_0_5_parameters.h" +#include "intq-mobilenet-v1-models-pc/224_0_5_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u4_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u4_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (0) +#define LAYER28_WT_SHIFT (0) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (1) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==4 +#include "intq-mobilenet-v1-models-pc/224_0_25_parameters.h" +#include "intq-mobilenet-v1-models-pc/224_0_25_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (0) +#define LAYER28_WT_SHIFT (0) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (0) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==5 +#include "intq-mobilenet-v1-models-pc/192_1_0_parameters.h" +#include "intq-mobilenet-v1-models-pc/192_1_0_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u4_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u4_u4_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u4_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u4_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u4_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u2_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u2_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (1) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (1) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (1) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (1) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (1) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (2) +#define LAYER28_WT_SHIFT (2) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (1) +#define LAYER3_OUT_SHIFT (1) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (1) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==6 +#include "intq-mobilenet-v1-models-pc/192_0_75_parameters.h" +#include "intq-mobilenet-v1-models-pc/192_0_75_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u4_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u4_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (1) +#define LAYER28_WT_SHIFT (1) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (1) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==7 +#include "intq-mobilenet-v1-models-pc/192_0_5_parameters.h" +#include "intq-mobilenet-v1-models-pc/192_0_5_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (0) +#define LAYER28_WT_SHIFT (0) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (0) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==8 +#include "intq-mobilenet-v1-models-pc/192_0_25_parameters.h" +#include "intq-mobilenet-v1-models-pc/192_0_25_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (0) +#define LAYER28_WT_SHIFT (0) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (0) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==9 +#include "intq-mobilenet-v1-models-pc/160_1_0_parameters.h" +#include "intq-mobilenet-v1-models-pc/160_1_0_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u4_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u4_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u2_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u2_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (1) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (1) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (1) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (1) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (1) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (2) +#define LAYER28_WT_SHIFT (2) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (1) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==10 +#include "intq-mobilenet-v1-models-pc/160_0_75_parameters.h" +#include "intq-mobilenet-v1-models-pc/160_0_75_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (1) +#define LAYER28_WT_SHIFT (1) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (0) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==11 +#include "intq-mobilenet-v1-models-pc/160_0_5_parameters.h" +#include "intq-mobilenet-v1-models-pc/160_0_5_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (0) +#define LAYER28_WT_SHIFT (0) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (0) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==12 +#include "intq-mobilenet-v1-models-pc/160_0_25_parameters.h" +#include "intq-mobilenet-v1-models-pc/160_0_25_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (0) +#define LAYER28_WT_SHIFT (0) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (0) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==13 +#include "intq-mobilenet-v1-models-pc/128_1_0_parameters.h" +#include "intq-mobilenet-v1-models-pc/128_1_0_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u2_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u2_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (1) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (1) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (1) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (1) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (1) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (2) +#define LAYER28_WT_SHIFT (2) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (0) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==14 +#include "intq-mobilenet-v1-models-pc/128_0_75_parameters.h" +#include "intq-mobilenet-v1-models-pc/128_0_75_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u4_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (1) +#define LAYER28_WT_SHIFT (1) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (0) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==15 +#include "intq-mobilenet-v1-models-pc/128_0_5_parameters.h" +#include "intq-mobilenet-v1-models-pc/128_0_5_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (0) +#define LAYER28_WT_SHIFT (0) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (0) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==16 +#include "intq-mobilenet-v1-models-pc/128_0_25_parameters.h" +#include "intq-mobilenet-v1-models-pc/128_0_25_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER2() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER3() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER4() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER5() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER6() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER7() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER8() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER9() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER10() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER11() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER12() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER13() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER14() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER15() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER16() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER17() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER18() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER19() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER20() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER21() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER22() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER23() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER24() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER25() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER26() arm_depthwise_separable_conv_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER27() arm_convolve_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER28() arm_fc_HWC_u8_u8_u8_PACT_CH_icn(tensorIn, CONV28_IM_DIM, CONV28_IM_CH, conv28_wt, CONV28_OUT_CH, CONV28_KER_DIM, CONV28_L_PADDING, CONV28_R_PADDING, CONV28_T_PADDING, CONV28_B_PADDING, CONV28_STRIDE, conv28_bias, tensorOut, CONV28_OUT_DIM, CONV28_IN_Z, CONV28_W_Z, CONV28_OUT_Z, CONV28_M_ZERO, CONV28_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (0) +#define LAYER28_WT_SHIFT (0) +#define LAYER1_OUT_SHIFT (0) +#define LAYER2_OUT_SHIFT (0) +#define LAYER3_OUT_SHIFT (0) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (0) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + +#if CONF==17 +#include "intq-mobilenet-v1-models-pc/224_1_0_parameters.h" +#include "intq-mobilenet-v1-models-pc/224_1_0_weights_bias.h" +#define LAYER1() arm_convolve_HWC_u8_u4_u8_icn(image_data, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); + +#define LAYER2() arm_depthwise_separable_conv_HWC_u4_u4_u8_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); + +#define LAYER3() arm_convolve_HWC_u4_u2_u8_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); + +#define LAYER4() arm_depthwise_separable_conv_HWC_u2_u8_u8(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); + +#define LAYER5() arm_convolve_HWC_u8_u4_u8_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); +#define LAYER1_WT_SHIFT (0) +#define LAYER2_WT_SHIFT (0) +#define LAYER3_WT_SHIFT (0) +#define LAYER4_WT_SHIFT (0) +#define LAYER5_WT_SHIFT (0) +#define LAYER6_WT_SHIFT (0) +#define LAYER7_WT_SHIFT (0) +#define LAYER8_WT_SHIFT (0) +#define LAYER9_WT_SHIFT (0) +#define LAYER10_WT_SHIFT (0) +#define LAYER11_WT_SHIFT (0) +#define LAYER12_WT_SHIFT (0) +#define LAYER13_WT_SHIFT (0) +#define LAYER14_WT_SHIFT (0) +#define LAYER15_WT_SHIFT (0) +#define LAYER16_WT_SHIFT (0) +#define LAYER17_WT_SHIFT (0) +#define LAYER18_WT_SHIFT (0) +#define LAYER19_WT_SHIFT (0) +#define LAYER20_WT_SHIFT (0) +#define LAYER21_WT_SHIFT (0) +#define LAYER22_WT_SHIFT (0) +#define LAYER23_WT_SHIFT (0) +#define LAYER24_WT_SHIFT (0) +#define LAYER25_WT_SHIFT (0) +#define LAYER26_WT_SHIFT (0) +#define LAYER27_WT_SHIFT (0) +#define LAYER28_WT_SHIFT (0) + +#define LAYER1_OUT_SHIFT (1) +#define LAYER2_OUT_SHIFT (1) +#define LAYER3_OUT_SHIFT (2) +#define LAYER4_OUT_SHIFT (0) +#define LAYER5_OUT_SHIFT (1) +#define LAYER6_OUT_SHIFT (0) +#define LAYER7_OUT_SHIFT (0) +#define LAYER8_OUT_SHIFT (0) +#define LAYER9_OUT_SHIFT (0) +#define LAYER10_OUT_SHIFT (0) +#define LAYER11_OUT_SHIFT (0) +#define LAYER12_OUT_SHIFT (0) +#define LAYER13_OUT_SHIFT (0) +#define LAYER14_OUT_SHIFT (0) +#define LAYER15_OUT_SHIFT (0) +#define LAYER16_OUT_SHIFT (0) +#define LAYER17_OUT_SHIFT (0) +#define LAYER18_OUT_SHIFT (0) +#define LAYER19_OUT_SHIFT (0) +#define LAYER20_OUT_SHIFT (0) +#define LAYER21_OUT_SHIFT (0) +#define LAYER22_OUT_SHIFT (0) +#define LAYER23_OUT_SHIFT (0) +#define LAYER24_OUT_SHIFT (0) +#define LAYER25_OUT_SHIFT (0) +#define LAYER26_OUT_SHIFT (0) +#define LAYER27_OUT_SHIFT (0) +#define LAYER28_OUT_SHIFT (0) +#endif + + +#endif /* MOBILE_NET_V1_MODELS_INTQ_MOBILE_NET_H_ */ + diff --git a/Inc/intq-mobilenet-v1.h b/Inc/intq-mobilenet-v1.h index d3952a9..9a5eba4 100644 --- a/Inc/intq-mobilenet-v1.h +++ b/Inc/intq-mobilenet-v1.h @@ -8,8 +8,55 @@ #ifndef __INQ_MOBILE_NET_V1_MODELS_H__ #define __INQ_MOBILE_NET_V1_MODELS_H__ +#if CONF==1 +#include "intq-mobilenet-v1-models/224_1_0_parameters.h" +#include "intq-mobilenet-v1-models/224_1_0_weights_bias.h" +#endif + +#if CONF==2 +#include "intq-mobilenet-v1-models/224_0_75_parameters.h" +#include "intq-mobilenet-v1-models/224_0_75_weights_bias.h" +#endif + +#if CONF==3 +#include "intq-mobilenet-v1-models/224_0_5_parameters.h" +#include "intq-mobilenet-v1-models/224_0_5_weights_bias.h" +#endif + +#if CONF==4 +#include "intq-mobilenet-v1-models/224_0_25_parameters.h" +#include "intq-mobilenet-v1-models/224_0_25_weights_bias.h" +#endif + +#if CONF==5 +#include "intq-mobilenet-v1-models/192_0_5_parameters.h" +#include "intq-mobilenet-v1-models/192_0_5_weights_bias.h" +#endif + +#if CONF==6 +#include "intq-mobilenet-v1-models/192_0_25_parameters.h" +#include "intq-mobilenet-v1-models/192_0_25_weights_bias.h" +#endif + +#if CONF==7 +#include "intq-mobilenet-v1-models/160_0_5_parameters.h" +#include "intq-mobilenet-v1-models/160_0_5_weights_bias.h" +#endif + +#if CONF==8 #include "intq-mobilenet-v1-models/160_0_25_parameters.h" #include "intq-mobilenet-v1-models/160_0_25_weights_bias.h" +#endif + +#if CONF==9 +#include "intq-mobilenet-v1-models/128_0_5_parameters.h" +#include "intq-mobilenet-v1-models/128_0_5_weights_bias.h" +#endif + +#if CONF==10 +#include "intq-mobilenet-v1-models/128_0_25_parameters.h" +#include "intq-mobilenet-v1-models/128_0_25_weights_bias.h" +#endif #endif /* MOBILE_NET_V1_MODELS_INTQ_MOBILE_NET_H_ */ diff --git a/STM32H743ZITx_FLASH.ld b/STM32H743ZITx_FLASH.ld index 0481ca2..3124bc3 100644 --- a/STM32H743ZITx_FLASH.ld +++ b/STM32H743ZITx_FLASH.ld @@ -36,7 +36,7 @@ ENTRY(Reset_Handler) _estack = 0x20020000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0x0; /* required amount of heap */ -_Min_Stack_Size = 0x400; /* required amount of stack */ +_Min_Stack_Size = 0x800; /* required amount of stack */ /* Specify the memory areas */ MEMORY diff --git a/Src/main.c b/Src/main.c index 38d7973..9b77f82 100644 --- a/Src/main.c +++ b/Src/main.c @@ -5,131 +5,135 @@ #include "arm_math.h" #include "arm_nnfunctions.h" -#include "intq-mobilenet-v1.h" + +#define CONF 17 +#include "intq-mobilenet-v1-pc.h" //Layer 1 Conv / s2 -static const uint8_t conv1_wt[CONV1_KER_DIM * CONV1_KER_DIM * CONV1_IM_CH * CONV1_OUT_CH] = CONV1_WT; +static const uint8_t conv1_wt[CONV1_KER_DIM * CONV1_KER_DIM * CONV1_IM_CH * CONV1_OUT_CH>>LAYER1_WT_SHIFT] = CONV1_WT; static const int32_t conv1_bias[CONV1_OUT_CH] = CONV1_BIAS; + //Layer 2 Conv dw/ s1 -static const uint8_t conv2_wt[CONV2_KER_DIM * CONV2_KER_DIM * 1 * CONV2_OUT_CH] = CONV2_WT; +static const uint8_t conv2_wt[CONV2_KER_DIM * CONV2_KER_DIM * 1 * CONV2_OUT_CH>>LAYER2_WT_SHIFT] = CONV2_WT; static const int32_t conv2_bias[CONV2_OUT_CH] = CONV2_BIAS; //Layer 3 Conv Point/ s1 -static const uint8_t conv3_wt[CONV3_KER_DIM * CONV3_KER_DIM * CONV3_IM_CH * CONV3_OUT_CH] = CONV3_WT; +static const uint8_t conv3_wt[CONV3_KER_DIM * CONV3_KER_DIM * CONV3_IM_CH * CONV3_OUT_CH>>LAYER3_WT_SHIFT] = CONV3_WT; static const int32_t conv3_bias[CONV3_OUT_CH] = CONV3_BIAS; //Layer 4 Conv dw/ s2 -static const uint8_t conv4_wt[CONV4_KER_DIM * CONV4_KER_DIM * 1 * CONV4_OUT_CH] = CONV4_WT; +static const uint8_t conv4_wt[CONV4_KER_DIM * CONV4_KER_DIM * 1 * CONV4_OUT_CH>>LAYER4_WT_SHIFT] = CONV4_WT; static const int32_t conv4_bias[ CONV4_OUT_CH] = CONV4_BIAS; //Layer 5 Conv Point/ s1 -static const uint8_t conv5_wt[CONV5_KER_DIM * CONV5_KER_DIM * CONV5_IM_CH * CONV5_OUT_CH] = CONV5_WT; +static const uint8_t conv5_wt[CONV5_KER_DIM * CONV5_KER_DIM * CONV5_IM_CH * CONV5_OUT_CH>>LAYER5_WT_SHIFT] = CONV5_WT; static const int32_t conv5_bias[CONV5_OUT_CH] = CONV5_BIAS; - +/* //Layer 6 Conv dw/ s1 -static const uint8_t conv6_wt[CONV6_KER_DIM * CONV6_KER_DIM * 1 * CONV6_OUT_CH] = CONV6_WT; +static const uint8_t conv6_wt[CONV6_KER_DIM * CONV6_KER_DIM * 1 * CONV6_OUT_CH>>LAYER6_WT_SHIFT] = CONV6_WT; static const int32_t conv6_bias[CONV6_OUT_CH] = CONV6_BIAS; //Layer 7 Conv Point/ s1 -static const uint8_t conv7_wt[CONV7_KER_DIM * CONV7_KER_DIM * CONV7_IM_CH * CONV7_OUT_CH] = CONV7_WT; +static const uint8_t conv7_wt[CONV7_KER_DIM * CONV7_KER_DIM * CONV7_IM_CH * CONV7_OUT_CH>>LAYER7_WT_SHIFT] = CONV7_WT; static const int32_t conv7_bias[CONV7_OUT_CH] = CONV7_BIAS; //Layer 8 Conv dw/ s2 -static const uint8_t conv8_wt[CONV8_KER_DIM * CONV8_KER_DIM * 1 * CONV8_OUT_CH] = CONV8_WT; +static const uint8_t conv8_wt[CONV8_KER_DIM * CONV8_KER_DIM * 1 * CONV8_OUT_CH>>LAYER8_WT_SHIFT] = CONV8_WT; static const int32_t conv8_bias[CONV8_OUT_CH] = CONV8_BIAS; //Layer 9 Conv Point/ s1 -static const uint8_t conv9_wt[CONV9_KER_DIM * CONV9_KER_DIM * CONV9_IM_CH * CONV9_OUT_CH] = CONV9_WT; +static const uint8_t conv9_wt[CONV9_KER_DIM * CONV9_KER_DIM * CONV9_IM_CH * CONV9_OUT_CH>>LAYER9_WT_SHIFT] = CONV9_WT; static const int32_t conv9_bias[CONV9_OUT_CH] = CONV9_BIAS; //Layer 10 Conv dw/ s1 -static const uint8_t conv10_wt[CONV10_KER_DIM * CONV10_KER_DIM * 1 * CONV10_OUT_CH] = CONV10_WT; +static const uint8_t conv10_wt[CONV10_KER_DIM * CONV10_KER_DIM * 1 * CONV10_OUT_CH>>LAYER10_WT_SHIFT] = CONV10_WT; static const int32_t conv10_bias[CONV10_OUT_CH] = CONV10_BIAS; //Layer 11 Conv Point/ s1 -static const uint8_t conv11_wt[CONV11_KER_DIM * CONV11_KER_DIM * CONV11_IM_CH * CONV11_OUT_CH] = CONV11_WT; +static const uint8_t conv11_wt[CONV11_KER_DIM * CONV11_KER_DIM * CONV11_IM_CH * CONV11_OUT_CH>>LAYER11_WT_SHIFT] = CONV11_WT; static const int32_t conv11_bias[CONV11_OUT_CH] = CONV11_BIAS; //Layer 12 Conv dw/ s2 -static const uint8_t conv12_wt[CONV12_KER_DIM * CONV12_KER_DIM * 1 * CONV12_OUT_CH] = CONV12_WT; +static const uint8_t conv12_wt[CONV12_KER_DIM * CONV12_KER_DIM * 1 * CONV12_OUT_CH>>LAYER12_WT_SHIFT] = CONV12_WT; static const int32_t conv12_bias[CONV12_OUT_CH] = CONV12_BIAS; //Layer 13 Conv Point/ s1 -static const uint8_t conv13_wt[CONV13_KER_DIM * CONV13_KER_DIM * CONV13_IM_CH * CONV13_OUT_CH] = CONV13_WT; +static const uint8_t conv13_wt[CONV13_KER_DIM * CONV13_KER_DIM * CONV13_IM_CH * CONV13_OUT_CH>>LAYER13_WT_SHIFT] = CONV13_WT; static const int32_t conv13_bias[CONV13_OUT_CH] = CONV13_BIAS; //Layer 14 Conv dw/ s1 -static const uint8_t conv14_wt[CONV14_KER_DIM * CONV14_KER_DIM * 1 * CONV14_OUT_CH] = CONV14_WT; +static const uint8_t conv14_wt[CONV14_KER_DIM * CONV14_KER_DIM * 1 * CONV14_OUT_CH>>LAYER14_WT_SHIFT] = CONV14_WT; static const int32_t conv14_bias[CONV14_OUT_CH] = CONV14_BIAS; //Layer 15 Conv Point/ s1 -static const uint8_t conv15_wt[CONV15_KER_DIM * CONV15_KER_DIM * CONV15_IM_CH * CONV15_OUT_CH] = CONV15_WT; +static const uint8_t conv15_wt[CONV15_KER_DIM * CONV15_KER_DIM * CONV15_IM_CH * CONV15_OUT_CH>>LAYER15_WT_SHIFT] = CONV15_WT; static const int32_t conv15_bias[CONV15_OUT_CH] = CONV15_BIAS; //Layer 16 Conv dw/ s1 -static const uint8_t conv16_wt[CONV16_KER_DIM * CONV16_KER_DIM * 1 * CONV16_OUT_CH] = CONV16_WT; +static const uint8_t conv16_wt[CONV16_KER_DIM * CONV16_KER_DIM * 1 * CONV16_OUT_CH>>LAYER16_WT_SHIFT] = CONV16_WT; static const int32_t conv16_bias[CONV16_OUT_CH] = CONV16_BIAS; //Layer 17 Conv Point/ s1 -static const uint8_t conv17_wt[CONV17_KER_DIM * CONV17_KER_DIM * CONV17_IM_CH * CONV17_OUT_CH] = CONV17_WT; +static const uint8_t conv17_wt[CONV17_KER_DIM * CONV17_KER_DIM * CONV17_IM_CH * CONV17_OUT_CH>>LAYER17_WT_SHIFT] = CONV17_WT; static const int32_t conv17_bias[CONV17_OUT_CH] = CONV17_BIAS; //Layer 18 Conv dw/ s1 -static const uint8_t conv18_wt[CONV18_KER_DIM * CONV18_KER_DIM * 1 * CONV18_OUT_CH] = CONV18_WT; +static const uint8_t conv18_wt[CONV18_KER_DIM * CONV18_KER_DIM * 1 * CONV18_OUT_CH>>LAYER18_WT_SHIFT] = CONV18_WT; static const int32_t conv18_bias[CONV18_OUT_CH] = CONV18_BIAS; //Layer 19 Conv Point/ s1 -static const uint8_t conv19_wt[CONV19_KER_DIM * CONV19_KER_DIM * CONV19_IM_CH * CONV19_OUT_CH] = CONV19_WT; +static const uint8_t conv19_wt[CONV19_KER_DIM * CONV19_KER_DIM * CONV19_IM_CH * CONV19_OUT_CH>>LAYER18_WT_SHIFT] = CONV19_WT; static const int32_t conv19_bias[CONV19_OUT_CH] = CONV19_BIAS; //Layer 20 Conv dw/ s1 -static const uint8_t conv20_wt[CONV20_KER_DIM * CONV20_KER_DIM * 1 * CONV20_OUT_CH] = CONV20_WT; +static const uint8_t conv20_wt[CONV20_KER_DIM * CONV20_KER_DIM * 1 * CONV20_OUT_CH>>LAYER20_WT_SHIFT] = CONV20_WT; static const int32_t conv20_bias[CONV20_OUT_CH] = CONV20_BIAS; //Layer 21 Conv Point/ s1 -static const uint8_t conv21_wt[CONV21_KER_DIM * CONV21_KER_DIM * CONV21_IM_CH * CONV21_OUT_CH] = CONV21_WT; +static const uint8_t conv21_wt[CONV21_KER_DIM * CONV21_KER_DIM * CONV21_IM_CH * CONV21_OUT_CH>>LAYER21_WT_SHIFT] = CONV21_WT; static const int32_t conv21_bias[CONV21_OUT_CH] = CONV21_BIAS; //Layer 22 Conv dw/ s1 -static const uint8_t conv22_wt[CONV22_KER_DIM * CONV22_KER_DIM * 1 * CONV22_OUT_CH] = CONV22_WT; +static const uint8_t conv22_wt[CONV22_KER_DIM * CONV22_KER_DIM * 1 * CONV22_OUT_CH>>LAYER22_WT_SHIFT] = CONV22_WT; static const int32_t conv22_bias[CONV22_OUT_CH] = CONV22_BIAS; //Layer 23 Conv Point/ s1 -static const uint8_t conv23_wt[CONV23_KER_DIM * CONV23_KER_DIM * CONV23_IM_CH * CONV23_OUT_CH] = CONV23_WT; +static const uint8_t conv23_wt[CONV23_KER_DIM * CONV23_KER_DIM * CONV23_IM_CH * CONV23_OUT_CH>>LAYER23_WT_SHIFT] = CONV23_WT; static const int32_t conv23_bias[CONV23_OUT_CH] = CONV23_BIAS; //Layer 24 Conv dw/ s2 -static const uint8_t conv24_wt[CONV24_KER_DIM * CONV24_KER_DIM * 1 * CONV24_OUT_CH] = CONV24_WT; +static const uint8_t conv24_wt[CONV24_KER_DIM * CONV24_KER_DIM * 1 * CONV24_OUT_CH>>LAYER24_WT_SHIFT] = CONV24_WT; static const int32_t conv24_bias[CONV24_OUT_CH] = CONV24_BIAS; //Layer 25 Conv Point/ s1 -static const uint8_t conv25_wt[CONV25_KER_DIM * CONV25_KER_DIM * CONV25_IM_CH * CONV25_OUT_CH] = CONV25_WT; +static const uint8_t conv25_wt[CONV25_KER_DIM * CONV25_KER_DIM * CONV25_IM_CH * CONV25_OUT_CH>>LAYER25_WT_SHIFT] = CONV25_WT; static const int32_t conv25_bias[CONV25_OUT_CH] = CONV25_BIAS; //Layer 26 Conv dw/ s1 -static const uint8_t conv26_wt[CONV26_KER_DIM * CONV26_KER_DIM * 1 * CONV26_OUT_CH] = CONV26_WT; +static const uint8_t conv26_wt[CONV26_KER_DIM * CONV26_KER_DIM * 1 * CONV26_OUT_CH>>LAYER26_WT_SHIFT] = CONV26_WT; static const int32_t conv26_bias[CONV26_OUT_CH] = CONV26_BIAS; //Layer 27 Conv Point/ s1 -static const uint8_t conv27_wt[CONV27_KER_DIM * CONV27_KER_DIM * CONV27_IM_CH * CONV27_OUT_CH] = CONV27_WT; +static const uint8_t conv27_wt[CONV27_KER_DIM * CONV27_KER_DIM * CONV27_IM_CH * CONV27_OUT_CH>>LAYER27_WT_SHIFT] = CONV27_WT; static const int32_t conv27_bias[CONV27_OUT_CH] = CONV27_BIAS; //Layer 29 fully connected/ s1 -static const uint8_t fc28_wt[FC28_IM_CH*FC28_OUT_CH] = FC28_WT; +static const uint8_t fc28_wt[FC28_IM_CH*FC28_OUT_CH>>LAYER28_WT_SHIFT] = FC28_WT; static const int32_t fc28_bias[FC28_OUT_CH] = FC28_BIAS; +*/ // Input / Output -#include "160_input_image.h" +#include "224_test_input_image.h" static const uint8_t image_data[CONV1_IM_CH * CONV1_IM_DIM * CONV1_IM_DIM] = INPUT_IMAGE; //uint8_t output_data[IP1_OUT] = {0}; // Tensors Scratch -#define L2_TENSOR_IO_SIZE (153600) +#define L2_TENSOR_IO_SIZE (512000) //524288 //512000 -#define L1_TENSOR_SIZE (4608) -uint8_t __attribute__((section (".L2RAM"))) l2_tensor_scratch[L2_TENSOR_IO_SIZE]; -int16_t l1_tensor_scratch[L1_TENSOR_SIZE]; +#define L1_TENSOR_SIZE (60000) //65536 +uint8_t __attribute__((section (".L2RAM"))) l2_tensor_scratch[L2_TENSOR_IO_SIZE]; +int16_t l1_tensor_scratch[L1_TENSOR_SIZE]; void SystemClock_Config(void); static void MX_GPIO_Init(void); @@ -176,19 +180,50 @@ volatile unsigned int *SCB_DEMCR = (volatile unsigned int *)0xE000EDFC; #define USR_GET_CC_TIMESTAMP(x) #endif -#define MOBILENET_CHECKSUM 0 +#define MOBILENET_CHECKSUM 1 #if MOBILENET_CHECKSUM volatile unsigned int checksums[30]; -#define USR_CHECKSUM(x,nb_elements,id) \ +#define USR_CHECKSUM(x, nb_elements, id, bits) \ do { \ asm volatile("" ::: "memory"); \ checksums[id] = 0; \ - for(int i=0; i< nb_elements;i++) \ - checksums[id]+=x[i]; \ + int idx, s; \ + for (int i=0; i< nb_elements;i++) { \ + if (bits == 8) \ + checksums[id]+=x[i]; \ + else if (bits == 4) { \ + idx = i / 2; \ + s = i % 2; \ + if (s == 0) \ + { \ + checksums[id]+=(x[idx] & 0xF); \ + } else \ + {\ + checksums[id]+=((x[idx] & 0xF0)>>4); \ + }\ + } else if (bits == 2) \ + { \ + idx = i/4; \ + s = i % 4; \ + if (s == 0) \ + { \ + checksums[id]+=(x[idx] & 0x3); \ + } else if (s == 1) \ + { \ + checksums[id]+=((x[idx] & 0xC)>>2); \ + } else if (s == 2) \ + { \ + checksums[id]+=((x[idx] & 0x30)>>4); \ + } else if (s == 3) \ + { \ + checksums[id]+=((x[idx] & 0xC0)>>6); \ + } \ + } \ + } \ asm volatile("" ::: "memory"); \ } while (0) #else -#define USR_CHECKSUM(x,nb_elements,id) +#define USR_CHECKSUM(x,nb_elements,id, bits) #endif int main(void) @@ -203,7 +238,7 @@ int main(void) int layerId = 0; int tensorId = 0; uint8_t *tensorIn = l2_tensor_scratch; - uint8_t *tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH); + uint8_t *tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH>>LAYER1_OUT_SHIFT); /*Layer 1 Conv / s2 *Convolutional @@ -211,110 +246,83 @@ int main(void) */ USR_CC_ENABLE(); USR_CC_RESET(); - arm_convolve_HWC_asym_uint8(image_data, CONV1_IM_DIM, CONV1_IM_CH, - conv1_wt, CONV1_W_Z, CONV1_IN_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, - CONV1_OUT_CH, CONV1_KER_DIM, - CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, - tensorOut, CONV1_OUT_DIM, l1_tensor_scratch, NULL); + LAYER1(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); - USR_CHECKSUM(tensorOut,CONV1_IM_CH * CONV1_IM_DIM * CONV1_IM_DIM,layerId); layerId++; + USR_CHECKSUM(tensorOut,CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH,layerId,4); layerId++; tensorIn = tensorOut; if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH>>LAYER2_OUT_SHIFT); tensorId = !tensorId; - /*Layer 2 Conv dw/ s1 +/* + Layer 2 Conv dw/ s1 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, - conv2_wt, CONV2_W_Z, CONV2_IN_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, - CONV2_OUT_CH, CONV2_KER_DIM, - CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, - tensorOut, CONV2_OUT_DIM, l1_tensor_scratch, NULL); +*/ + LAYER2(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); - USR_CHECKSUM(tensorOut,CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH,layerId); layerId++; + USR_CHECKSUM(tensorOut,CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH,layerId,4); layerId++; tensorIn = tensorOut; if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH>>LAYER3_OUT_SHIFT); tensorId = !tensorId; - - /*Layer 3 Conv Point/ s1 +/* + Layer 3 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, - conv3_wt, CONV3_W_Z, CONV3_IN_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, - CONV3_OUT_CH, CONV3_KER_DIM, - CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, - tensorOut, CONV3_OUT_DIM, l1_tensor_scratch, NULL); - +*/ + LAYER3(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); - USR_CHECKSUM(tensorOut,CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH,layerId); layerId++; + USR_CHECKSUM(tensorOut,CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH,layerId,2); layerId++; tensorIn = tensorOut; if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH>>LAYER4_OUT_SHIFT); tensorId = !tensorId; - - /*Layer 4 Conv dw/ s2 +/* + Layer 4 Conv dw/ s2 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, - conv4_wt, CONV4_W_Z, CONV4_IN_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, - CONV4_OUT_CH, CONV4_KER_DIM, - CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, - tensorOut, CONV4_OUT_DIM, l1_tensor_scratch, NULL); - +*/ + LAYER4(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); - USR_CHECKSUM(tensorOut,CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH,layerId); layerId++; + USR_CHECKSUM(tensorOut,CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH,layerId,8); layerId++; tensorIn = tensorOut; if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH>>LAYER5_OUT_SHIFT); tensorId = !tensorId; - - /*Layer 5 Conv Point/ s1 +/* + Layer 5 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, - conv5_wt, CONV5_W_Z, CONV5_IN_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, - CONV5_OUT_CH, CONV5_KER_DIM, - CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, - tensorOut, CONV5_OUT_DIM, l1_tensor_scratch, NULL); - +*/ + LAYER5(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); - USR_CHECKSUM(tensorOut,CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH,layerId); layerId++; - + USR_CHECKSUM(tensorOut,CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH,layerId,4); layerId++; +/* tensorIn = tensorOut; if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH>>LAYER6_OUT_SHIFT); tensorId = !tensorId; - /*Layer 6 Conv dw/ s1 + Layer 6 Conv dw/ s1 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, - conv6_wt, CONV6_W_Z, CONV6_IN_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, - CONV6_OUT_CH, CONV6_KER_DIM, - CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, - tensorOut, CONV6_OUT_DIM, l1_tensor_scratch, NULL); + LAYER6(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH,layerId); layerId++; @@ -322,19 +330,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH>>LAYER7_OUT_SHIFT); tensorId = !tensorId; - /*Layer 7 Conv Point/ s1 + Layer 7 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, - conv7_wt, CONV7_W_Z, CONV7_IN_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, - CONV7_OUT_CH, CONV7_KER_DIM, - CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, - tensorOut, CONV7_OUT_DIM, l1_tensor_scratch, NULL); + LAYER7(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH,layerId); layerId++; @@ -342,19 +345,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH>>LAYER8_OUT_SHIFT); tensorId = !tensorId; - /*Layer 8 Conv dw/ s2 + Layer 8 Conv dw/ s2 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, - conv8_wt, CONV8_W_Z, CONV8_IN_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, - CONV8_OUT_CH, CONV8_KER_DIM, - CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, - tensorOut, CONV8_OUT_DIM, l1_tensor_scratch, NULL); + LAYER8(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH,layerId); layerId++; @@ -362,19 +360,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH>>LAYER9_OUT_SHIFT); tensorId = !tensorId; - /*Layer 9 Conv Point/ s1 + Layer 9 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, - conv9_wt, CONV9_W_Z, CONV9_IN_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, - CONV9_OUT_CH, CONV9_KER_DIM, - CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, - tensorOut, CONV9_OUT_DIM, l1_tensor_scratch, NULL); + LAYER9(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH,layerId); layerId++; @@ -382,19 +375,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH>>LAYER10_OUT_SHIFT); tensorId = !tensorId; - /*Layer 10 Conv dw/ s1 + Layer 10 Conv dw/ s1 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, - conv10_wt, CONV10_W_Z, CONV10_IN_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, - CONV10_OUT_CH, CONV10_KER_DIM, - CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, - tensorOut, CONV10_OUT_DIM, l1_tensor_scratch, NULL); + LAYER10(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH,layerId); layerId++; @@ -402,19 +390,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH>>LAYER11_OUT_SHIFT); tensorId = !tensorId; - /*Layer 11 Conv Point/ s1 + Layer 11 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, - conv11_wt, CONV11_W_Z, CONV11_IN_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, - CONV11_OUT_CH, CONV11_KER_DIM, - CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, - tensorOut, CONV11_OUT_DIM, l1_tensor_scratch, NULL); + LAYER11(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH,layerId); layerId++; @@ -422,19 +405,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH>>LAYER12_OUT_SHIFT); tensorId = !tensorId; - /*Layer 12 Conv dw/ s2 + Layer 12 Conv dw/ s2 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, - conv12_wt, CONV12_W_Z, CONV12_IN_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, - CONV12_OUT_CH, CONV12_KER_DIM, - CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, - tensorOut, CONV12_OUT_DIM, l1_tensor_scratch, NULL); + LAYER12(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH,layerId); layerId++; @@ -442,19 +420,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH>>LAYER13_OUT_SHIFT); tensorId = !tensorId; - /*Layer 13 Conv Point/ s1 + Layer 13 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, - conv13_wt, CONV13_W_Z, CONV13_IN_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, - CONV13_OUT_CH, CONV13_KER_DIM, - CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, - tensorOut, CONV13_OUT_DIM, l1_tensor_scratch, NULL); + LAYER13(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH,layerId); layerId++; @@ -462,19 +435,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH>>LAYER14_OUT_SHIFT); tensorId = !tensorId; - /*Layer 14 Conv dw/ s1 + Layer 14 Conv dw/ s1 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, - conv14_wt, CONV14_W_Z, CONV14_IN_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, - CONV14_OUT_CH, CONV14_KER_DIM, - CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, - tensorOut, CONV14_OUT_DIM, l1_tensor_scratch, NULL); + LAYER14(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH,layerId); layerId++; @@ -482,19 +450,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH>>LAYER15_OUT_SHIFT); tensorId = !tensorId; - /*Layer 15 Conv Point/ s1 + Layer 15 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, - conv15_wt, CONV15_W_Z, CONV15_IN_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, - CONV15_OUT_CH, CONV15_KER_DIM, - CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, - tensorOut, CONV15_OUT_DIM, l1_tensor_scratch, NULL); + LAYER15(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH,layerId); layerId++; @@ -502,19 +465,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH>>LAYER16_OUT_SHIFT); tensorId = !tensorId; - /*Layer 16 Conv dw/ s1 + Layer 16 Conv dw/ s1 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, - conv16_wt, CONV16_W_Z, CONV16_IN_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, - CONV16_OUT_CH, CONV16_KER_DIM, - CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, - tensorOut, CONV16_OUT_DIM, l1_tensor_scratch, NULL); + LAYER16(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH,layerId); layerId++; @@ -522,19 +480,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH>>LAYER17_OUT_SHIFT); tensorId = !tensorId; - /*Layer 17 Conv Point/ s1 + Layer 17 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, - conv17_wt, CONV17_W_Z, CONV17_IN_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, - CONV17_OUT_CH, CONV17_KER_DIM, - CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, - tensorOut, CONV17_OUT_DIM, l1_tensor_scratch, NULL); + LAYER17(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH,layerId); layerId++; @@ -542,38 +495,28 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH>>LAYER18_OUT_SHIFT); tensorId = !tensorId; - /*Layer 18 Conv dw/ s1 + Layer 18 Conv dw/ s1 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, - conv18_wt, CONV18_W_Z, CONV18_IN_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, - CONV18_OUT_CH, CONV18_KER_DIM, - CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, - tensorOut, CONV18_OUT_DIM, l1_tensor_scratch, NULL); + LAYER18(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH,layerId); layerId++; tensorIn = tensorOut; if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH>>LAYER19_OUT_SHIFT); tensorId = !tensorId; - /*Layer 19 Conv Point/ s1 + Layer 19 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, - conv19_wt, CONV19_W_Z, CONV19_IN_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, - CONV19_OUT_CH, CONV19_KER_DIM, - CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, - tensorOut, CONV19_OUT_DIM, l1_tensor_scratch, NULL); + LAYER19(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH,layerId); layerId++; @@ -581,19 +524,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH>>LAYER20_OUT_SHIFT); tensorId = !tensorId; - /*Layer 20 Conv dw/ s1 + Layer 20 Conv dw/ s1 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, - conv20_wt, CONV20_W_Z, CONV20_IN_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, - CONV20_OUT_CH, CONV20_KER_DIM, - CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, - tensorOut, CONV20_OUT_DIM, l1_tensor_scratch, NULL); + LAYER20(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH,layerId); layerId++; @@ -601,19 +539,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH>>LAYER21_OUT_SHIFT); tensorId = !tensorId; - /*Layer 21 Conv Point/ s1 + Layer 21 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, - conv21_wt, CONV21_W_Z, CONV21_IN_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, - CONV21_OUT_CH, CONV21_KER_DIM, - CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, - tensorOut, CONV21_OUT_DIM, l1_tensor_scratch, NULL); + LAYER21(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH,layerId); layerId++; @@ -621,19 +554,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH>>LAYER22_OUT_SHIFT); tensorId = !tensorId; - /*Layer 22 Conv dw/ s1 + Layer 22 Conv dw/ s1 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, - conv22_wt, CONV22_W_Z, CONV22_IN_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, - CONV22_OUT_CH, CONV22_KER_DIM, - CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, - tensorOut, CONV22_OUT_DIM, l1_tensor_scratch, NULL); + LAYER22(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH,layerId); layerId++; @@ -641,19 +569,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH>>LAYER23_OUT_SHIFT); tensorId = !tensorId; - /*Layer 23 Conv Point/ s1 + Layer 23 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, - conv23_wt, CONV23_W_Z, CONV23_IN_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, - CONV23_OUT_CH, CONV23_KER_DIM, - CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, - tensorOut, CONV23_OUT_DIM, l1_tensor_scratch, NULL); + LAYER23(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH,layerId); layerId++; @@ -661,19 +584,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH>>LAYER24_OUT_SHIFT); tensorId = !tensorId; - /*Layer 24 Conv dw/ s2 + Layer 24 Conv dw/ s2 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, - conv24_wt, CONV24_W_Z, CONV24_IN_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, - CONV24_OUT_CH, CONV24_KER_DIM, - CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, - tensorOut, CONV24_OUT_DIM, l1_tensor_scratch, NULL); + LAYER24(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH,layerId); layerId++; @@ -681,19 +599,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH>>LAYER25_OUT_SHIFT); tensorId = !tensorId; - /*Layer 25 Conv Point/ s1 + Layer 25 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, - conv25_wt, CONV25_W_Z, CONV25_IN_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, - CONV25_OUT_CH, CONV25_KER_DIM, - CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, - tensorOut, CONV25_OUT_DIM, l1_tensor_scratch, NULL); + LAYER25(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH,layerId); layerId++; @@ -701,19 +614,14 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH>>LAYER26_OUT_SHIFT); tensorId = !tensorId; - /*Layer 26 Conv dw/ s1 + Layer 26 Conv dw/ s1 *dephtwise *Cycle = - */ - arm_depthwise_separable_conv_HWC_asym_uint8(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, - conv26_wt, CONV26_W_Z, CONV26_IN_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, - CONV26_OUT_CH, CONV26_KER_DIM, - CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, - tensorOut, CONV26_OUT_DIM, l1_tensor_scratch, NULL); + LAYER26(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH,layerId); layerId++; @@ -721,68 +629,64 @@ int main(void) if (!tensorId) tensorOut = l2_tensor_scratch; else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH); + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH>>LAYER27_OUT_SHIFT); tensorId = !tensorId; - /*Layer 27 Conv Point/ s1 + Layer 27 Conv Point/ s1 *pointwise *Cycle = - */ - arm_convolve_HWC_asym_uint8(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, - conv27_wt, CONV27_W_Z, CONV27_IN_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, - CONV27_OUT_CH, CONV27_KER_DIM, - CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, - tensorOut, CONV27_OUT_DIM, l1_tensor_scratch, NULL); + LAYER27(); USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); USR_CHECKSUM(tensorOut,CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH,layerId); layerId++; - - tensorIn = tensorOut; - if (!tensorId) - tensorOut = l2_tensor_scratch; - else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_IM_CH); - tensorId = !tensorId; - - /*Layer 28 Avgpool */ - arm_avepool_asym_uint8_HWC(tensorIn, CONV27_OUT_DIM, CONV27_OUT_CH, 5, 0, 5, 1, l1_tensor_scratch, tensorOut); - - USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); - USR_CHECKSUM(tensorOut,FC28_IM_CH,layerId); layerId++; - - tensorIn = tensorOut; - if (!tensorId) - tensorOut = l2_tensor_scratch; - else - tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_OUT_CH); - tensorId = !tensorId; - - /*Layer 29 FC - *Cycle = - */ - arm_fully_connected_asym_uint8(tensorIn, fc28_wt, FC28_IM_CH, FC28_OUT_CH, FC28_W_Z, FC28_IN_Z, FC28_OUT_Z, FC28_M_ZERO, FC28_N_ZERO, fc28_bias, tensorOut, l1_tensor_scratch); - - USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); - USR_CHECKSUM(tensorOut,FC28_OUT_CH,layerId); layerId++; - - USR_MEM_BARRIER(); - int top5[5]; - int top5_score[5]; - for (int i=0; i<5; i++){ - int max=0; - for(int ii=0; ii max){ - top5[i] = ii; - top5_score[i] = tensorOut[ii]; - max= tensorOut[ii]; - } - tensorOut[top5[i]]=0; - } - USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); - - for (int i = 0; i < 5; i++){ - printf("%d: %d\n", top5[i], top5_score[i]); - } +*/ + +// tensorIn = tensorOut; +// if (!tensorId) +// tensorOut = l2_tensor_scratch; +// else +// tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_IM_CH); +// tensorId = !tensorId; + +// /*Layer 28 Avgpool */ +// arm_avepool_asym_uint8_HWC(tensorIn, CONV27_OUT_DIM, CONV27_OUT_CH, 5, 0, 5, 1, l1_tensor_scratch, tensorOut); +// +// USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); +// USR_CHECKSUM(tensorOut,FC28_IM_CH,layerId); layerId++; +// +// tensorIn = tensorOut; +// if (!tensorId) +// tensorOut = l2_tensor_scratch; +// else +// tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_OUT_CH); +// tensorId = !tensorId; +// +// /*Layer 29 FC +// *Cycle = +// */ +// arm_fully_connected_in_out_wt_icn(tensorIn, fc28_wt, FC28_IM_CH, FC28_OUT_CH, FC28_W_Z, FC28_IN_Z, FC28_OUT_Z, FC28_M_ZERO, FC28_N_ZERO, fc28_bias, tensorOut, l1_tensor_scratch); +// +// USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); +// USR_CHECKSUM(tensorOut,FC28_OUT_CH,layerId); layerId++; +// +// USR_MEM_BARRIER(); +// int top5[5]; +// int top5_score[5]; +// for (int i=0; i<5; i++){ +// int max=0; +// for(int ii=0; ii max){ +// top5[i] = ii; +// top5_score[i] = tensorOut[ii]; +// max= tensorOut[ii]; +// } +// tensorOut[top5[i]]=0; +// } +// USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); +// +// for (int i = 0; i < 5; i++){ +// printf("%d: %d\n", top5[i], top5_score[i]); +// } } return 0; } diff --git a/Src/main_v1.c b/Src/main_v1.c new file mode 100644 index 0000000..67fd676 --- /dev/null +++ b/Src/main_v1.c @@ -0,0 +1,862 @@ +#include + +#include "main.h" +#include "stm32h7xx_hal.h" +#include "arm_math.h" +#include "arm_nnfunctions.h" + +#define CONF 1 +#include "intq-mobilenet-v1.h" + +//Layer 1 Conv / s2 +static const uint8_t conv1_wt[CONV1_KER_DIM * CONV1_KER_DIM * CONV1_IM_CH * CONV1_OUT_CH] = CONV1_WT; +static const int32_t conv1_bias[CONV1_OUT_CH] = CONV1_BIAS; + +//Layer 2 Conv dw/ s1 +static const uint8_t conv2_wt[CONV2_KER_DIM * CONV2_KER_DIM * 1 * CONV2_OUT_CH] = CONV2_WT; +static const int32_t conv2_bias[CONV2_OUT_CH] = CONV2_BIAS; + +//Layer 3 Conv Point/ s1 +static const uint8_t conv3_wt[CONV3_KER_DIM * CONV3_KER_DIM * CONV3_IM_CH * CONV3_OUT_CH] = CONV3_WT; +static const int32_t conv3_bias[CONV3_OUT_CH] = CONV3_BIAS; + +//Layer 4 Conv dw/ s2 +static const uint8_t conv4_wt[CONV4_KER_DIM * CONV4_KER_DIM * 1 * CONV4_OUT_CH] = CONV4_WT; +static const int32_t conv4_bias[ CONV4_OUT_CH] = CONV4_BIAS; + +//Layer 5 Conv Point/ s1 +static const uint8_t conv5_wt[CONV5_KER_DIM * CONV5_KER_DIM * CONV5_IM_CH * CONV5_OUT_CH] = CONV5_WT; +static const int32_t conv5_bias[CONV5_OUT_CH] = CONV5_BIAS; + +//Layer 6 Conv dw/ s1 +static const uint8_t conv6_wt[CONV6_KER_DIM * CONV6_KER_DIM * 1 * CONV6_OUT_CH] = CONV6_WT; +static const int32_t conv6_bias[CONV6_OUT_CH] = CONV6_BIAS; + +//Layer 7 Conv Point/ s1 +static const uint8_t conv7_wt[CONV7_KER_DIM * CONV7_KER_DIM * CONV7_IM_CH * CONV7_OUT_CH] = CONV7_WT; +static const int32_t conv7_bias[CONV7_OUT_CH] = CONV7_BIAS; + +//Layer 8 Conv dw/ s2 +static const uint8_t conv8_wt[CONV8_KER_DIM * CONV8_KER_DIM * 1 * CONV8_OUT_CH] = CONV8_WT; +static const int32_t conv8_bias[CONV8_OUT_CH] = CONV8_BIAS; + +//Layer 9 Conv Point/ s1 +static const uint8_t conv9_wt[CONV9_KER_DIM * CONV9_KER_DIM * CONV9_IM_CH * CONV9_OUT_CH] = CONV9_WT; +static const int32_t conv9_bias[CONV9_OUT_CH] = CONV9_BIAS; + +//Layer 10 Conv dw/ s1 +static const uint8_t conv10_wt[CONV10_KER_DIM * CONV10_KER_DIM * 1 * CONV10_OUT_CH] = CONV10_WT; +static const int32_t conv10_bias[CONV10_OUT_CH] = CONV10_BIAS; + +//Layer 11 Conv Point/ s1 +static const uint8_t conv11_wt[CONV11_KER_DIM * CONV11_KER_DIM * CONV11_IM_CH * CONV11_OUT_CH] = CONV11_WT; +static const int32_t conv11_bias[CONV11_OUT_CH] = CONV11_BIAS; + +//Layer 12 Conv dw/ s2 +static const uint8_t conv12_wt[CONV12_KER_DIM * CONV12_KER_DIM * 1 * CONV12_OUT_CH] = CONV12_WT; +static const int32_t conv12_bias[CONV12_OUT_CH] = CONV12_BIAS; + +//Layer 13 Conv Point/ s1 +static const uint8_t conv13_wt[CONV13_KER_DIM * CONV13_KER_DIM * CONV13_IM_CH * CONV13_OUT_CH] = CONV13_WT; +static const int32_t conv13_bias[CONV13_OUT_CH] = CONV13_BIAS; + +//Layer 14 Conv dw/ s1 +static const uint8_t conv14_wt[CONV14_KER_DIM * CONV14_KER_DIM * 1 * CONV14_OUT_CH] = CONV14_WT; +static const int32_t conv14_bias[CONV14_OUT_CH] = CONV14_BIAS; + +//Layer 15 Conv Point/ s1 +static const uint8_t conv15_wt[CONV15_KER_DIM * CONV15_KER_DIM * CONV15_IM_CH * CONV15_OUT_CH>>1] = CONV15_WT; +static const int32_t conv15_bias[CONV15_OUT_CH] = CONV15_BIAS; + +//Layer 16 Conv dw/ s1 +static const uint8_t conv16_wt[CONV16_KER_DIM * CONV16_KER_DIM * 1 * CONV16_OUT_CH] = CONV16_WT; +static const int32_t conv16_bias[CONV16_OUT_CH] = CONV16_BIAS; + +//Layer 17 Conv Point/ s1 +static const uint8_t conv17_wt[CONV17_KER_DIM * CONV17_KER_DIM * CONV17_IM_CH * CONV17_OUT_CH>>1] = CONV17_WT; +static const int32_t conv17_bias[CONV17_OUT_CH] = CONV17_BIAS; + +//Layer 18 Conv dw/ s1 +static const uint8_t conv18_wt[CONV18_KER_DIM * CONV18_KER_DIM * 1 * CONV18_OUT_CH] = CONV18_WT; +static const int32_t conv18_bias[CONV18_OUT_CH] = CONV18_BIAS; + +//Layer 19 Conv Point/ s1 +static const uint8_t conv19_wt[CONV19_KER_DIM * CONV19_KER_DIM * CONV19_IM_CH * CONV19_OUT_CH>>1] = CONV19_WT; +static const int32_t conv19_bias[CONV19_OUT_CH] = CONV19_BIAS; + +//Layer 20 Conv dw/ s1 +static const uint8_t conv20_wt[CONV20_KER_DIM * CONV20_KER_DIM * 1 * CONV20_OUT_CH] = CONV20_WT; +static const int32_t conv20_bias[CONV20_OUT_CH] = CONV20_BIAS; + +//Layer 21 Conv Point/ s1 +static const uint8_t conv21_wt[CONV21_KER_DIM * CONV21_KER_DIM * CONV21_IM_CH * CONV21_OUT_CH>>1] = CONV21_WT; +static const int32_t conv21_bias[CONV21_OUT_CH] = CONV21_BIAS; + +//Layer 22 Conv dw/ s1 +static const uint8_t conv22_wt[CONV22_KER_DIM * CONV22_KER_DIM * 1 * CONV22_OUT_CH] = CONV22_WT; +static const int32_t conv22_bias[CONV22_OUT_CH] = CONV22_BIAS; + +//Layer 23 Conv Point/ s1 +static const uint8_t conv23_wt[CONV23_KER_DIM * CONV23_KER_DIM * CONV23_IM_CH * CONV23_OUT_CH] = CONV23_WT; +static const int32_t conv23_bias[CONV23_OUT_CH] = CONV23_BIAS; + +//Layer 24 Conv dw/ s2 +static const uint8_t conv24_wt[CONV24_KER_DIM * CONV24_KER_DIM * 1 * CONV24_OUT_CH] = CONV24_WT; +static const int32_t conv24_bias[CONV24_OUT_CH] = CONV24_BIAS; + +//Layer 25 Conv Point/ s1 +static const uint8_t conv25_wt[CONV25_KER_DIM * CONV25_KER_DIM * CONV25_IM_CH * CONV25_OUT_CH>>1] = CONV25_WT; +static const int32_t conv25_bias[CONV25_OUT_CH] = CONV25_BIAS; + +//Layer 26 Conv dw/ s1 +static const uint8_t conv26_wt[CONV26_KER_DIM * CONV26_KER_DIM * 1 * CONV26_OUT_CH] = CONV26_WT; +static const int32_t conv26_bias[CONV26_OUT_CH] = CONV26_BIAS; + +//Layer 27 Conv Point/ s1 +static const uint8_t conv27_wt[CONV27_KER_DIM * CONV27_KER_DIM * CONV27_IM_CH * CONV27_OUT_CH>>2] = CONV27_WT; +static const int32_t conv27_bias[CONV27_OUT_CH] = CONV27_BIAS; + +//Layer 29 fully connected/ s1 +static const uint8_t fc28_wt[FC28_IM_CH*FC28_OUT_CH>>2] = FC28_WT; +static const int32_t fc28_bias[FC28_OUT_CH] = FC28_BIAS; + +// Input / Output +#include "160_input_image.h" +static const uint8_t image_data[CONV1_IM_CH * CONV1_IM_DIM * CONV1_IM_DIM] = INPUT_IMAGE; +//uint8_t output_data[IP1_OUT] = {0}; + +// Tensors Scratch +#define L2_TENSOR_IO_SIZE (512000) //524288 + +#define L1_TENSOR_SIZE (60000) //65536 +uint8_t __attribute__((section (".L2RAM"))) l2_tensor_scratch[L2_TENSOR_IO_SIZE]; +int16_t l1_tensor_scratch[L1_TENSOR_SIZE]; + +void SystemClock_Config(void); +static void MX_GPIO_Init(void); + +/******** Cycle counter defines **********/ +#define MOBILENET_PROFILE 1 +volatile unsigned int cpu_cycles[30]; +volatile unsigned int *DWT_CYCCNT = (volatile unsigned int *)0xE0001004; // Cycle Counter Register +volatile unsigned int *DWT_CONTROL= (volatile unsigned int *)0xE0001000; // Counter Control Register +volatile unsigned int *SCB_DEMCR = (volatile unsigned int *)0xE000EDFC; + +#if MOBILENET_PROFILE +#define USR_MEM_BARRIER() \ + do { \ + asm volatile("" ::: "memory");\ + } while (0) + +#define USR_CC_ENABLE() \ + do { \ + asm volatile("" ::: "memory"); \ + *SCB_DEMCR = *SCB_DEMCR | 0x01000000;\ + *DWT_CYCCNT = 0; \ + *DWT_CONTROL = *DWT_CONTROL | 1; \ + asm volatile("" ::: "memory"); \ + } while (0) + +#define USR_CC_RESET() \ + do { \ + asm volatile("" ::: "memory"); \ + *DWT_CYCCNT = 0; \ + asm volatile("" ::: "memory"); \ + } while (0) + +#define USR_GET_CC_TIMESTAMP(x) \ + do { \ + asm volatile("" ::: "memory"); \ + x = (*(volatile unsigned int *) DWT_CYCCNT); \ + asm volatile("" ::: "memory"); \ + } while (0) +#else +#define USR_MEM_BARRIER() +#define USR_CC_ENABLE() +#define USR_CC_RESET() +#define USR_GET_CC_TIMESTAMP(x) +#endif + +#define MOBILENET_CHECKSUM 0 +#if MOBILENET_CHECKSUM +volatile unsigned int checksums[30]; +#define USR_CHECKSUM(x,nb_elements,id) \ + do { \ + asm volatile("" ::: "memory"); \ + checksums[id] = 0; \ + for(int i=0; i< nb_elements;i++) \ + checksums[id]+=x[i]; \ + asm volatile("" ::: "memory"); \ + } while (0) +#else +#define USR_CHECKSUM(x,nb_elements,id) +#endif + +int main(void) +{ + SCB_EnableICache(); //Enable I-Cache + SCB_EnableDCache(); //Enable D-Cache + HAL_Init(); + SystemClock_Config(); + MX_GPIO_Init(); + + while(1) { + int layerId = 0; + int tensorId = 0; + uint8_t *tensorIn = l2_tensor_scratch; + uint8_t *tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH>>1); + + /*Layer 1 Conv / s2 + *Convolutional + *Cycle =c + */ + USR_CC_ENABLE(); + USR_CC_RESET(); + arm_convolve_HWC_u8_u4_u8_icn(image_data, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH>>1); + tensorId = !tensorId; + + /*Layer 2 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u8_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH>>2); + tensorId = !tensorId; + + /*Layer 3 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u2_u8_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH); + tensorId = !tensorId; + + /*Layer 4 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u2_u8_u8(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH); + tensorId = !tensorId; + + /*Layer 5 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u4_u8_icn(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH); + tensorId = !tensorId; + + /*Layer 6 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u8_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH); + tensorId = !tensorId; + + /*Layer 7 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u8_icn(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH); + tensorId = !tensorId; + + /*Layer 8 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u8_u8(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH); + tensorId = !tensorId; + + /*Layer 9 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH); + tensorId = !tensorId; + + /*Layer 10 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH); + tensorId = !tensorId; + + /*Layer 11 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH); + tensorId = !tensorId; + + /*Layer 12 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH); + tensorId = !tensorId; + + /*Layer 13 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH); + tensorId = !tensorId; + + /*Layer 14 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH); + tensorId = !tensorId; + + /*Layer 15 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u4_icn(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH); + tensorId = !tensorId; + + /*Layer 16 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH); + tensorId = !tensorId; + + /*Layer 17 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u4_icn(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH); + tensorId = !tensorId; + + /*Layer 18 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH,layerId); layerId++; + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH); + tensorId = !tensorId; + + /*Layer 19 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u4_icn(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH); + tensorId = !tensorId; + + /*Layer 20 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH); + tensorId = !tensorId; + + /*Layer 21 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u4_icn(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH); + tensorId = !tensorId; + + /*Layer 22 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH); + tensorId = !tensorId; + + /*Layer 23 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH); + tensorId = !tensorId; + + /*Layer 24 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH); + tensorId = !tensorId; + + /*Layer 25 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u4_icn(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH); + tensorId = !tensorId; + + /*Layer 26 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH); + tensorId = !tensorId; + + /*Layer 27 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u2_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_IM_CH); + tensorId = !tensorId; + + /*Layer 28 Avgpool */ +// arm_avepool_asym_uint8_HWC(tensorIn, CONV27_OUT_DIM, CONV27_OUT_CH, 5, 0, 5, 1, l1_tensor_scratch, tensorOut); + + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,FC28_IM_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_OUT_CH); + tensorId = !tensorId; + + /*Layer 29 FC + *Cycle = + */ +// arm_fully_connected_in_out_wt_icn(tensorIn, fc28_wt, FC28_IM_CH, FC28_OUT_CH, FC28_W_Z, FC28_IN_Z, FC28_OUT_Z, FC28_M_ZERO, FC28_N_ZERO, fc28_bias, tensorOut, l1_tensor_scratch); + + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,FC28_OUT_CH,layerId); layerId++; + + USR_MEM_BARRIER(); + int top5[5]; + int top5_score[5]; + for (int i=0; i<5; i++){ + int max=0; + for(int ii=0; ii max){ + top5[i] = ii; + top5_score[i] = tensorOut[ii]; + max= tensorOut[ii]; + } + tensorOut[top5[i]]=0; + } + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + + for (int i = 0; i < 5; i++){ + printf("%d: %d\n", top5[i], top5_score[i]); + } + } + return 0; +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Supply configuration update enable + */ + MODIFY_REG(PWR->CR3, PWR_CR3_SCUEN, 0); + /** Configure the main internal regulator output voltage + */ + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + + while ((PWR->D3CR & (PWR_D3CR_VOSRDY)) != PWR_D3CR_VOSRDY) + { + + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_DIV1; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = 2; + RCC_OscInitStruct.PLL.PLLQ = 4; + RCC_OscInitStruct.PLL.PLLR = 2; + RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3; + RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; + RCC_OscInitStruct.PLL.PLLFRACN = 0; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 + |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOE_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pins : PE2 PE3 PE4 PE5 + PE6 PE7 PE8 PE9 + PE10 PE11 PE12 PE13 + PE14 PE15 PE0 PE1 */ + GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 + |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9 + |GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 + |GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); + + /*Configure GPIO pins : PC13 PC14 PC15 PC0 + PC1 PC2 PC3 PC4 + PC5 PC6 PC7 PC8 + PC9 PC10 PC11 PC12 */ + GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0 + |GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4 + |GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8 + |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : PF0 PF1 PF2 PF3 + PF4 PF5 PF6 PF7 + PF8 PF9 PF10 PF11 + PF12 PF13 PF14 PF15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); + + /*Configure GPIO pins : PH0 PH1 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); + + /*Configure GPIO pins : PA0 PA1 PA2 PA3 + PA4 PA5 PA6 PA7 + PA8 PA9 PA10 PA11 + PA12 PA15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /*Configure GPIO pins : PB0 PB1 PB2 PB10 + PB11 PB12 PB13 PB14 + PB15 PB3 PB4 PB5 + PB6 PB7 PB8 PB9 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_10 + |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 + |GPIO_PIN_15|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 + |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : PG0 PG1 PG2 PG3 + PG4 PG5 PG6 PG7 + PG8 PG9 PG10 PG11 + PG12 PG13 PG14 PG15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); + + /*Configure GPIO pins : PD8 PD9 PD10 PD11 + PD12 PD13 PD14 PD15 + PD0 PD1 PD2 PD3 + PD4 PD5 PD6 PD7 */ + GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15 + |GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + +} + +/* USER CODE BEGIN 4 */ + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + while(1) + { + } + /* USER CODE END Error_Handler_Debug */ +} + +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Src/main_v2.c b/Src/main_v2.c new file mode 100644 index 0000000..909653a --- /dev/null +++ b/Src/main_v2.c @@ -0,0 +1,863 @@ +#include + +#include "main.h" +#include "stm32h7xx_hal.h" +#include "arm_math.h" +#include "arm_nnfunctions.h" + + +#define CONF 2 +#include "intq-mobilenet-v1.h" + +//Layer 1 Conv / s2 +static const uint8_t conv1_wt[CONV1_KER_DIM * CONV1_KER_DIM * CONV1_IM_CH * CONV1_OUT_CH] = CONV1_WT; +static const int32_t conv1_bias[CONV1_OUT_CH] = CONV1_BIAS; + +//Layer 2 Conv dw/ s1 +static const uint8_t conv2_wt[CONV2_KER_DIM * CONV2_KER_DIM * 1 * CONV2_OUT_CH] = CONV2_WT; +static const int32_t conv2_bias[CONV2_OUT_CH] = CONV2_BIAS; + +//Layer 3 Conv Point/ s1 +static const uint8_t conv3_wt[CONV3_KER_DIM * CONV3_KER_DIM * CONV3_IM_CH * CONV3_OUT_CH] = CONV3_WT; +static const int32_t conv3_bias[CONV3_OUT_CH] = CONV3_BIAS; + +//Layer 4 Conv dw/ s2 +static const uint8_t conv4_wt[CONV4_KER_DIM * CONV4_KER_DIM * 1 * CONV4_OUT_CH] = CONV4_WT; +static const int32_t conv4_bias[ CONV4_OUT_CH] = CONV4_BIAS; + +//Layer 5 Conv Point/ s1 +static const uint8_t conv5_wt[CONV5_KER_DIM * CONV5_KER_DIM * CONV5_IM_CH * CONV5_OUT_CH] = CONV5_WT; +static const int32_t conv5_bias[CONV5_OUT_CH] = CONV5_BIAS; + +//Layer 6 Conv dw/ s1 +static const uint8_t conv6_wt[CONV6_KER_DIM * CONV6_KER_DIM * 1 * CONV6_OUT_CH] = CONV6_WT; +static const int32_t conv6_bias[CONV6_OUT_CH] = CONV6_BIAS; + +//Layer 7 Conv Point/ s1 +static const uint8_t conv7_wt[CONV7_KER_DIM * CONV7_KER_DIM * CONV7_IM_CH * CONV7_OUT_CH] = CONV7_WT; +static const int32_t conv7_bias[CONV7_OUT_CH] = CONV7_BIAS; + +//Layer 8 Conv dw/ s2 +static const uint8_t conv8_wt[CONV8_KER_DIM * CONV8_KER_DIM * 1 * CONV8_OUT_CH] = CONV8_WT; +static const int32_t conv8_bias[CONV8_OUT_CH] = CONV8_BIAS; + +//Layer 9 Conv Point/ s1 +static const uint8_t conv9_wt[CONV9_KER_DIM * CONV9_KER_DIM * CONV9_IM_CH * CONV9_OUT_CH] = CONV9_WT; +static const int32_t conv9_bias[CONV9_OUT_CH] = CONV9_BIAS; + +//Layer 10 Conv dw/ s1 +static const uint8_t conv10_wt[CONV10_KER_DIM * CONV10_KER_DIM * 1 * CONV10_OUT_CH] = CONV10_WT; +static const int32_t conv10_bias[CONV10_OUT_CH] = CONV10_BIAS; + +//Layer 11 Conv Point/ s1 +static const uint8_t conv11_wt[CONV11_KER_DIM * CONV11_KER_DIM * CONV11_IM_CH * CONV11_OUT_CH] = CONV11_WT; +static const int32_t conv11_bias[CONV11_OUT_CH] = CONV11_BIAS; + +//Layer 12 Conv dw/ s2 +static const uint8_t conv12_wt[CONV12_KER_DIM * CONV12_KER_DIM * 1 * CONV12_OUT_CH] = CONV12_WT; +static const int32_t conv12_bias[CONV12_OUT_CH] = CONV12_BIAS; + +//Layer 13 Conv Point/ s1 +static const uint8_t conv13_wt[CONV13_KER_DIM * CONV13_KER_DIM * CONV13_IM_CH * CONV13_OUT_CH] = CONV13_WT; +static const int32_t conv13_bias[CONV13_OUT_CH] = CONV13_BIAS; + +//Layer 14 Conv dw/ s1 +static const uint8_t conv14_wt[CONV14_KER_DIM * CONV14_KER_DIM * 1 * CONV14_OUT_CH] = CONV14_WT; +static const int32_t conv14_bias[CONV14_OUT_CH] = CONV14_BIAS; + +//Layer 15 Conv Point/ s1 +static const uint8_t conv15_wt[CONV15_KER_DIM * CONV15_KER_DIM * CONV15_IM_CH * CONV15_OUT_CH] = CONV15_WT; +static const int32_t conv15_bias[CONV15_OUT_CH] = CONV15_BIAS; + +//Layer 16 Conv dw/ s1 +static const uint8_t conv16_wt[CONV16_KER_DIM * CONV16_KER_DIM * 1 * CONV16_OUT_CH] = CONV16_WT; +static const int32_t conv16_bias[CONV16_OUT_CH] = CONV16_BIAS; + +//Layer 17 Conv Point/ s1 +static const uint8_t conv17_wt[CONV17_KER_DIM * CONV17_KER_DIM * CONV17_IM_CH * CONV17_OUT_CH] = CONV17_WT; +static const int32_t conv17_bias[CONV17_OUT_CH] = CONV17_BIAS; + +//Layer 18 Conv dw/ s1 +static const uint8_t conv18_wt[CONV18_KER_DIM * CONV18_KER_DIM * 1 * CONV18_OUT_CH] = CONV18_WT; +static const int32_t conv18_bias[CONV18_OUT_CH] = CONV18_BIAS; + +//Layer 19 Conv Point/ s1 +static const uint8_t conv19_wt[CONV19_KER_DIM * CONV19_KER_DIM * CONV19_IM_CH * CONV19_OUT_CH] = CONV19_WT; +static const int32_t conv19_bias[CONV19_OUT_CH] = CONV19_BIAS; + +//Layer 20 Conv dw/ s1 +static const uint8_t conv20_wt[CONV20_KER_DIM * CONV20_KER_DIM * 1 * CONV20_OUT_CH] = CONV20_WT; +static const int32_t conv20_bias[CONV20_OUT_CH] = CONV20_BIAS; + +//Layer 21 Conv Point/ s1 +static const uint8_t conv21_wt[CONV21_KER_DIM * CONV21_KER_DIM * CONV21_IM_CH * CONV21_OUT_CH] = CONV21_WT; +static const int32_t conv21_bias[CONV21_OUT_CH] = CONV21_BIAS; + +//Layer 22 Conv dw/ s1 +static const uint8_t conv22_wt[CONV22_KER_DIM * CONV22_KER_DIM * 1 * CONV22_OUT_CH] = CONV22_WT; +static const int32_t conv22_bias[CONV22_OUT_CH] = CONV22_BIAS; + +//Layer 23 Conv Point/ s1 +static const uint8_t conv23_wt[CONV23_KER_DIM * CONV23_KER_DIM * CONV23_IM_CH * CONV23_OUT_CH] = CONV23_WT; +static const int32_t conv23_bias[CONV23_OUT_CH] = CONV23_BIAS; + +//Layer 24 Conv dw/ s2 +static const uint8_t conv24_wt[CONV24_KER_DIM * CONV24_KER_DIM * 1 * CONV24_OUT_CH] = CONV24_WT; +static const int32_t conv24_bias[CONV24_OUT_CH] = CONV24_BIAS; + +//Layer 25 Conv Point/ s1 +static const uint8_t conv25_wt[CONV25_KER_DIM * CONV25_KER_DIM * CONV25_IM_CH * CONV25_OUT_CH] = CONV25_WT; +static const int32_t conv25_bias[CONV25_OUT_CH] = CONV25_BIAS; + +//Layer 26 Conv dw/ s1 +static const uint8_t conv26_wt[CONV26_KER_DIM * CONV26_KER_DIM * 1 * CONV26_OUT_CH] = CONV26_WT; +static const int32_t conv26_bias[CONV26_OUT_CH] = CONV26_BIAS; + +//Layer 27 Conv Point/ s1 +static const uint8_t conv27_wt[CONV27_KER_DIM * CONV27_KER_DIM * CONV27_IM_CH * CONV27_OUT_CH>>1] = CONV27_WT; +static const int32_t conv27_bias[CONV27_OUT_CH] = CONV27_BIAS; + +//Layer 29 fully connected/ s1 +static const uint8_t fc28_wt[FC28_IM_CH*FC28_OUT_CH>>1] = FC28_WT; +static const int32_t fc28_bias[FC28_OUT_CH] = FC28_BIAS; + +// Input / Output +#include "160_input_image.h" +static const uint8_t image_data[CONV1_IM_CH * CONV1_IM_DIM * CONV1_IM_DIM] = INPUT_IMAGE; +//uint8_t output_data[IP1_OUT] = {0}; + +// Tensors Scratch +#define L2_TENSOR_IO_SIZE (512000) //524288 + +#define L1_TENSOR_SIZE (60000) //65536 +uint8_t __attribute__((section (".L2RAM"))) l2_tensor_scratch[L2_TENSOR_IO_SIZE]; +int16_t l1_tensor_scratch[L1_TENSOR_SIZE]; + +void SystemClock_Config(void); +static void MX_GPIO_Init(void); + +/******** Cycle counter defines **********/ +#define MOBILENET_PROFILE 1 +volatile unsigned int cpu_cycles[30]; +volatile unsigned int *DWT_CYCCNT = (volatile unsigned int *)0xE0001004; // Cycle Counter Register +volatile unsigned int *DWT_CONTROL= (volatile unsigned int *)0xE0001000; // Counter Control Register +volatile unsigned int *SCB_DEMCR = (volatile unsigned int *)0xE000EDFC; + +#if MOBILENET_PROFILE +#define USR_MEM_BARRIER() \ + do { \ + asm volatile("" ::: "memory");\ + } while (0) + +#define USR_CC_ENABLE() \ + do { \ + asm volatile("" ::: "memory"); \ + *SCB_DEMCR = *SCB_DEMCR | 0x01000000;\ + *DWT_CYCCNT = 0; \ + *DWT_CONTROL = *DWT_CONTROL | 1; \ + asm volatile("" ::: "memory"); \ + } while (0) + +#define USR_CC_RESET() \ + do { \ + asm volatile("" ::: "memory"); \ + *DWT_CYCCNT = 0; \ + asm volatile("" ::: "memory"); \ + } while (0) + +#define USR_GET_CC_TIMESTAMP(x) \ + do { \ + asm volatile("" ::: "memory"); \ + x = (*(volatile unsigned int *) DWT_CYCCNT); \ + asm volatile("" ::: "memory"); \ + } while (0) +#else +#define USR_MEM_BARRIER() +#define USR_CC_ENABLE() +#define USR_CC_RESET() +#define USR_GET_CC_TIMESTAMP(x) +#endif + +#define MOBILENET_CHECKSUM 0 +#if MOBILENET_CHECKSUM +volatile unsigned int checksums[30]; +#define USR_CHECKSUM(x,nb_elements,id) \ + do { \ + asm volatile("" ::: "memory"); \ + checksums[id] = 0; \ + for(int i=0; i< nb_elements;i++) \ + checksums[id]+=x[i]; \ + asm volatile("" ::: "memory"); \ + } while (0) +#else +#define USR_CHECKSUM(x,nb_elements,id) +#endif + +int main(void) +{ + SCB_EnableICache(); //Enable I-Cache + SCB_EnableDCache(); //Enable D-Cache + HAL_Init(); + SystemClock_Config(); + MX_GPIO_Init(); + + while(1) { + int layerId = 0; + int tensorId = 0; + uint8_t *tensorIn = l2_tensor_scratch; + uint8_t *tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH); + + /*Layer 1 Conv / s2 + *Convolutional + *Cycle =c + */ + USR_CC_ENABLE(); + USR_CC_RESET(); + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH>>1); + tensorId = !tensorId; + + /*Layer 2 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u4_u8_icn(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH>>1); + tensorId = !tensorId; + + /*Layer 3 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u8_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH); + tensorId = !tensorId; + + /*Layer 4 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u8_u8(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH); + tensorId = !tensorId; + + /*Layer 5 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH>>1); + tensorId = !tensorId; + + /*Layer 6 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u4_u8_icn(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH); + tensorId = !tensorId; + + /*Layer 7 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u8_u8(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH); + tensorId = !tensorId; + + /*Layer 8 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH); + tensorId = !tensorId; + + /*Layer 9 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH); + tensorId = !tensorId; + + /*Layer 10 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH); + tensorId = !tensorId; + + /*Layer 11 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH); + tensorId = !tensorId; + + /*Layer 12 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH); + tensorId = !tensorId; + + /*Layer 13 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH); + tensorId = !tensorId; + + /*Layer 14 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH); + tensorId = !tensorId; + + /*Layer 15 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH); + tensorId = !tensorId; + + /*Layer 16 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH); + tensorId = !tensorId; + + /*Layer 17 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH); + tensorId = !tensorId; + + /*Layer 18 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH,layerId); layerId++; + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH); + tensorId = !tensorId; + + /*Layer 19 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH); + tensorId = !tensorId; + + /*Layer 20 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH); + tensorId = !tensorId; + + /*Layer 21 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH); + tensorId = !tensorId; + + /*Layer 22 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH); + tensorId = !tensorId; + + /*Layer 23 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH); + tensorId = !tensorId; + + /*Layer 24 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH); + tensorId = !tensorId; + + /*Layer 25 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH); + tensorId = !tensorId; + + /*Layer 26 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH); + tensorId = !tensorId; + + /*Layer 27 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u4_icn(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_IM_CH); + tensorId = !tensorId; + + /*Layer 28 Avgpool */ +// arm_avepool_asym_uint8_HWC(tensorIn, CONV27_OUT_DIM, CONV27_OUT_CH, 5, 0, 5, 1, l1_tensor_scratch, tensorOut); + + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,FC28_IM_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_OUT_CH); + tensorId = !tensorId; + + /*Layer 29 FC + *Cycle = + */ +// arm_fully_connected_in_out_wt_icn(tensorIn, fc28_wt, FC28_IM_CH, FC28_OUT_CH, FC28_W_Z, FC28_IN_Z, FC28_OUT_Z, FC28_M_ZERO, FC28_N_ZERO, fc28_bias, tensorOut, l1_tensor_scratch); + + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,FC28_OUT_CH,layerId); layerId++; + + USR_MEM_BARRIER(); + int top5[5]; + int top5_score[5]; + for (int i=0; i<5; i++){ + int max=0; + for(int ii=0; ii max){ + top5[i] = ii; + top5_score[i] = tensorOut[ii]; + max= tensorOut[ii]; + } + tensorOut[top5[i]]=0; + } + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + + for (int i = 0; i < 5; i++){ + printf("%d: %d\n", top5[i], top5_score[i]); + } + } + return 0; +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Supply configuration update enable + */ + MODIFY_REG(PWR->CR3, PWR_CR3_SCUEN, 0); + /** Configure the main internal regulator output voltage + */ + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + + while ((PWR->D3CR & (PWR_D3CR_VOSRDY)) != PWR_D3CR_VOSRDY) + { + + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_DIV1; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = 2; + RCC_OscInitStruct.PLL.PLLQ = 4; + RCC_OscInitStruct.PLL.PLLR = 2; + RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3; + RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; + RCC_OscInitStruct.PLL.PLLFRACN = 0; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 + |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOE_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pins : PE2 PE3 PE4 PE5 + PE6 PE7 PE8 PE9 + PE10 PE11 PE12 PE13 + PE14 PE15 PE0 PE1 */ + GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 + |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9 + |GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 + |GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); + + /*Configure GPIO pins : PC13 PC14 PC15 PC0 + PC1 PC2 PC3 PC4 + PC5 PC6 PC7 PC8 + PC9 PC10 PC11 PC12 */ + GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0 + |GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4 + |GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8 + |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : PF0 PF1 PF2 PF3 + PF4 PF5 PF6 PF7 + PF8 PF9 PF10 PF11 + PF12 PF13 PF14 PF15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); + + /*Configure GPIO pins : PH0 PH1 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); + + /*Configure GPIO pins : PA0 PA1 PA2 PA3 + PA4 PA5 PA6 PA7 + PA8 PA9 PA10 PA11 + PA12 PA15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /*Configure GPIO pins : PB0 PB1 PB2 PB10 + PB11 PB12 PB13 PB14 + PB15 PB3 PB4 PB5 + PB6 PB7 PB8 PB9 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_10 + |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 + |GPIO_PIN_15|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 + |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : PG0 PG1 PG2 PG3 + PG4 PG5 PG6 PG7 + PG8 PG9 PG10 PG11 + PG12 PG13 PG14 PG15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); + + /*Configure GPIO pins : PD8 PD9 PD10 PD11 + PD12 PD13 PD14 PD15 + PD0 PD1 PD2 PD3 + PD4 PD5 PD6 PD7 */ + GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15 + |GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + +} + +/* USER CODE BEGIN 4 */ + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + while(1) + { + } + /* USER CODE END Error_Handler_Debug */ +} + +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Src/main_v3.c b/Src/main_v3.c new file mode 100644 index 0000000..5cc3009 --- /dev/null +++ b/Src/main_v3.c @@ -0,0 +1,863 @@ +#include + +#include "main.h" +#include "stm32h7xx_hal.h" +#include "arm_math.h" +#include "arm_nnfunctions.h" + + +#define CONF 3 +#include "intq-mobilenet-v1.h" + +//Layer 1 Conv / s2 +static const uint8_t conv1_wt[CONV1_KER_DIM * CONV1_KER_DIM * CONV1_IM_CH * CONV1_OUT_CH] = CONV1_WT; +static const int32_t conv1_bias[CONV1_OUT_CH] = CONV1_BIAS; + +//Layer 2 Conv dw/ s1 +static const uint8_t conv2_wt[CONV2_KER_DIM * CONV2_KER_DIM * 1 * CONV2_OUT_CH] = CONV2_WT; +static const int32_t conv2_bias[CONV2_OUT_CH] = CONV2_BIAS; + +//Layer 3 Conv Point/ s1 +static const uint8_t conv3_wt[CONV3_KER_DIM * CONV3_KER_DIM * CONV3_IM_CH * CONV3_OUT_CH] = CONV3_WT; +static const int32_t conv3_bias[CONV3_OUT_CH] = CONV3_BIAS; + +//Layer 4 Conv dw/ s2 +static const uint8_t conv4_wt[CONV4_KER_DIM * CONV4_KER_DIM * 1 * CONV4_OUT_CH] = CONV4_WT; +static const int32_t conv4_bias[ CONV4_OUT_CH] = CONV4_BIAS; + +//Layer 5 Conv Point/ s1 +static const uint8_t conv5_wt[CONV5_KER_DIM * CONV5_KER_DIM * CONV5_IM_CH * CONV5_OUT_CH] = CONV5_WT; +static const int32_t conv5_bias[CONV5_OUT_CH] = CONV5_BIAS; + +//Layer 6 Conv dw/ s1 +static const uint8_t conv6_wt[CONV6_KER_DIM * CONV6_KER_DIM * 1 * CONV6_OUT_CH] = CONV6_WT; +static const int32_t conv6_bias[CONV6_OUT_CH] = CONV6_BIAS; + +//Layer 7 Conv Point/ s1 +static const uint8_t conv7_wt[CONV7_KER_DIM * CONV7_KER_DIM * CONV7_IM_CH * CONV7_OUT_CH] = CONV7_WT; +static const int32_t conv7_bias[CONV7_OUT_CH] = CONV7_BIAS; + +//Layer 8 Conv dw/ s2 +static const uint8_t conv8_wt[CONV8_KER_DIM * CONV8_KER_DIM * 1 * CONV8_OUT_CH] = CONV8_WT; +static const int32_t conv8_bias[CONV8_OUT_CH] = CONV8_BIAS; + +//Layer 9 Conv Point/ s1 +static const uint8_t conv9_wt[CONV9_KER_DIM * CONV9_KER_DIM * CONV9_IM_CH * CONV9_OUT_CH] = CONV9_WT; +static const int32_t conv9_bias[CONV9_OUT_CH] = CONV9_BIAS; + +//Layer 10 Conv dw/ s1 +static const uint8_t conv10_wt[CONV10_KER_DIM * CONV10_KER_DIM * 1 * CONV10_OUT_CH] = CONV10_WT; +static const int32_t conv10_bias[CONV10_OUT_CH] = CONV10_BIAS; + +//Layer 11 Conv Point/ s1 +static const uint8_t conv11_wt[CONV11_KER_DIM * CONV11_KER_DIM * CONV11_IM_CH * CONV11_OUT_CH] = CONV11_WT; +static const int32_t conv11_bias[CONV11_OUT_CH] = CONV11_BIAS; + +//Layer 12 Conv dw/ s2 +static const uint8_t conv12_wt[CONV12_KER_DIM * CONV12_KER_DIM * 1 * CONV12_OUT_CH] = CONV12_WT; +static const int32_t conv12_bias[CONV12_OUT_CH] = CONV12_BIAS; + +//Layer 13 Conv Point/ s1 +static const uint8_t conv13_wt[CONV13_KER_DIM * CONV13_KER_DIM * CONV13_IM_CH * CONV13_OUT_CH] = CONV13_WT; +static const int32_t conv13_bias[CONV13_OUT_CH] = CONV13_BIAS; + +//Layer 14 Conv dw/ s1 +static const uint8_t conv14_wt[CONV14_KER_DIM * CONV14_KER_DIM * 1 * CONV14_OUT_CH] = CONV14_WT; +static const int32_t conv14_bias[CONV14_OUT_CH] = CONV14_BIAS; + +//Layer 15 Conv Point/ s1 +static const uint8_t conv15_wt[CONV15_KER_DIM * CONV15_KER_DIM * CONV15_IM_CH * CONV15_OUT_CH] = CONV15_WT; +static const int32_t conv15_bias[CONV15_OUT_CH] = CONV15_BIAS; + +//Layer 16 Conv dw/ s1 +static const uint8_t conv16_wt[CONV16_KER_DIM * CONV16_KER_DIM * 1 * CONV16_OUT_CH] = CONV16_WT; +static const int32_t conv16_bias[CONV16_OUT_CH] = CONV16_BIAS; + +//Layer 17 Conv Point/ s1 +static const uint8_t conv17_wt[CONV17_KER_DIM * CONV17_KER_DIM * CONV17_IM_CH * CONV17_OUT_CH] = CONV17_WT; +static const int32_t conv17_bias[CONV17_OUT_CH] = CONV17_BIAS; + +//Layer 18 Conv dw/ s1 +static const uint8_t conv18_wt[CONV18_KER_DIM * CONV18_KER_DIM * 1 * CONV18_OUT_CH] = CONV18_WT; +static const int32_t conv18_bias[CONV18_OUT_CH] = CONV18_BIAS; + +//Layer 19 Conv Point/ s1 +static const uint8_t conv19_wt[CONV19_KER_DIM * CONV19_KER_DIM * CONV19_IM_CH * CONV19_OUT_CH] = CONV19_WT; +static const int32_t conv19_bias[CONV19_OUT_CH] = CONV19_BIAS; + +//Layer 20 Conv dw/ s1 +static const uint8_t conv20_wt[CONV20_KER_DIM * CONV20_KER_DIM * 1 * CONV20_OUT_CH] = CONV20_WT; +static const int32_t conv20_bias[CONV20_OUT_CH] = CONV20_BIAS; + +//Layer 21 Conv Point/ s1 +static const uint8_t conv21_wt[CONV21_KER_DIM * CONV21_KER_DIM * CONV21_IM_CH * CONV21_OUT_CH] = CONV21_WT; +static const int32_t conv21_bias[CONV21_OUT_CH] = CONV21_BIAS; + +//Layer 22 Conv dw/ s1 +static const uint8_t conv22_wt[CONV22_KER_DIM * CONV22_KER_DIM * 1 * CONV22_OUT_CH] = CONV22_WT; +static const int32_t conv22_bias[CONV22_OUT_CH] = CONV22_BIAS; + +//Layer 23 Conv Point/ s1 +static const uint8_t conv23_wt[CONV23_KER_DIM * CONV23_KER_DIM * CONV23_IM_CH * CONV23_OUT_CH] = CONV23_WT; +static const int32_t conv23_bias[CONV23_OUT_CH] = CONV23_BIAS; + +//Layer 24 Conv dw/ s2 +static const uint8_t conv24_wt[CONV24_KER_DIM * CONV24_KER_DIM * 1 * CONV24_OUT_CH] = CONV24_WT; +static const int32_t conv24_bias[CONV24_OUT_CH] = CONV24_BIAS; + +//Layer 25 Conv Point/ s1 +static const uint8_t conv25_wt[CONV25_KER_DIM * CONV25_KER_DIM * CONV25_IM_CH * CONV25_OUT_CH] = CONV25_WT; +static const int32_t conv25_bias[CONV25_OUT_CH] = CONV25_BIAS; + +//Layer 26 Conv dw/ s1 +static const uint8_t conv26_wt[CONV26_KER_DIM * CONV26_KER_DIM * 1 * CONV26_OUT_CH] = CONV26_WT; +static const int32_t conv26_bias[CONV26_OUT_CH] = CONV26_BIAS; + +//Layer 27 Conv Point/ s1 +static const uint8_t conv27_wt[CONV27_KER_DIM * CONV27_KER_DIM * CONV27_IM_CH * CONV27_OUT_CH] = CONV27_WT; +static const int32_t conv27_bias[CONV27_OUT_CH] = CONV27_BIAS; + +//Layer 29 fully connected/ s1 +static const uint8_t fc28_wt[FC28_IM_CH*FC28_OUT_CH] = FC28_WT; +static const int32_t fc28_bias[FC28_OUT_CH] = FC28_BIAS; + +// Input / Output +#include "160_input_image.h" +static const uint8_t image_data[CONV1_IM_CH * CONV1_IM_DIM * CONV1_IM_DIM] = INPUT_IMAGE; +//uint8_t output_data[IP1_OUT] = {0}; + +// Tensors Scratch +#define L2_TENSOR_IO_SIZE (512000) //524288 + +#define L1_TENSOR_SIZE (60000) //65536 +uint8_t __attribute__((section (".L2RAM"))) l2_tensor_scratch[L2_TENSOR_IO_SIZE]; +int16_t l1_tensor_scratch[L1_TENSOR_SIZE]; + +void SystemClock_Config(void); +static void MX_GPIO_Init(void); + +/******** Cycle counter defines **********/ +#define MOBILENET_PROFILE 1 +volatile unsigned int cpu_cycles[30]; +volatile unsigned int *DWT_CYCCNT = (volatile unsigned int *)0xE0001004; // Cycle Counter Register +volatile unsigned int *DWT_CONTROL= (volatile unsigned int *)0xE0001000; // Counter Control Register +volatile unsigned int *SCB_DEMCR = (volatile unsigned int *)0xE000EDFC; + +#if MOBILENET_PROFILE +#define USR_MEM_BARRIER() \ + do { \ + asm volatile("" ::: "memory");\ + } while (0) + +#define USR_CC_ENABLE() \ + do { \ + asm volatile("" ::: "memory"); \ + *SCB_DEMCR = *SCB_DEMCR | 0x01000000;\ + *DWT_CYCCNT = 0; \ + *DWT_CONTROL = *DWT_CONTROL | 1; \ + asm volatile("" ::: "memory"); \ + } while (0) + +#define USR_CC_RESET() \ + do { \ + asm volatile("" ::: "memory"); \ + *DWT_CYCCNT = 0; \ + asm volatile("" ::: "memory"); \ + } while (0) + +#define USR_GET_CC_TIMESTAMP(x) \ + do { \ + asm volatile("" ::: "memory"); \ + x = (*(volatile unsigned int *) DWT_CYCCNT); \ + asm volatile("" ::: "memory"); \ + } while (0) +#else +#define USR_MEM_BARRIER() +#define USR_CC_ENABLE() +#define USR_CC_RESET() +#define USR_GET_CC_TIMESTAMP(x) +#endif + +#define MOBILENET_CHECKSUM 0 +#if MOBILENET_CHECKSUM +volatile unsigned int checksums[30]; +#define USR_CHECKSUM(x,nb_elements,id) \ + do { \ + asm volatile("" ::: "memory"); \ + checksums[id] = 0; \ + for(int i=0; i< nb_elements;i++) \ + checksums[id]+=x[i]; \ + asm volatile("" ::: "memory"); \ + } while (0) +#else +#define USR_CHECKSUM(x,nb_elements,id) +#endif + +int main(void) +{ + SCB_EnableICache(); //Enable I-Cache + SCB_EnableDCache(); //Enable D-Cache + HAL_Init(); + SystemClock_Config(); + MX_GPIO_Init(); + + while(1) { + int layerId = 0; + int tensorId = 0; + uint8_t *tensorIn = l2_tensor_scratch; + uint8_t *tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH); + + /*Layer 1 Conv / s2 + *Convolutional + *Cycle =c + */ + USR_CC_ENABLE(); + USR_CC_RESET(); + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH>>1); + tensorId = !tensorId; + + /*Layer 2 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH>>1); + tensorId = !tensorId; + + /*Layer 3 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u4_u8_icn(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH); + tensorId = !tensorId; + + /*Layer 4 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u8_u8(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH); + tensorId = !tensorId; + + /*Layer 5 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH>>1); + tensorId = !tensorId; + + /*Layer 6 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH); + tensorId = !tensorId; + + /*Layer 7 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH); + tensorId = !tensorId; + + /*Layer 8 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH); + tensorId = !tensorId; + + /*Layer 9 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH); + tensorId = !tensorId; + + /*Layer 10 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH); + tensorId = !tensorId; + + /*Layer 11 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH); + tensorId = !tensorId; + + /*Layer 12 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH); + tensorId = !tensorId; + + /*Layer 13 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH); + tensorId = !tensorId; + + /*Layer 14 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH); + tensorId = !tensorId; + + /*Layer 15 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH); + tensorId = !tensorId; + + /*Layer 16 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH); + tensorId = !tensorId; + + /*Layer 17 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH); + tensorId = !tensorId; + + /*Layer 18 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH,layerId); layerId++; + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH); + tensorId = !tensorId; + + /*Layer 19 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH); + tensorId = !tensorId; + + /*Layer 20 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH); + tensorId = !tensorId; + + /*Layer 21 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH); + tensorId = !tensorId; + + /*Layer 22 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH); + tensorId = !tensorId; + + /*Layer 23 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH); + tensorId = !tensorId; + + /*Layer 24 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH); + tensorId = !tensorId; + + /*Layer 25 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH); + tensorId = !tensorId; + + /*Layer 26 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH); + tensorId = !tensorId; + + /*Layer 27 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_IM_CH); + tensorId = !tensorId; + + /*Layer 28 Avgpool */ +// arm_avepool_asym_uint8_HWC(tensorIn, CONV27_OUT_DIM, CONV27_OUT_CH, 5, 0, 5, 1, l1_tensor_scratch, tensorOut); + + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,FC28_IM_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_OUT_CH); + tensorId = !tensorId; + + /*Layer 29 FC + *Cycle = + */ +// arm_fully_connected_in_out_wt_icn(tensorIn, fc28_wt, FC28_IM_CH, FC28_OUT_CH, FC28_W_Z, FC28_IN_Z, FC28_OUT_Z, FC28_M_ZERO, FC28_N_ZERO, fc28_bias, tensorOut, l1_tensor_scratch); + + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,FC28_OUT_CH,layerId); layerId++; + + USR_MEM_BARRIER(); + int top5[5]; + int top5_score[5]; + for (int i=0; i<5; i++){ + int max=0; + for(int ii=0; ii max){ + top5[i] = ii; + top5_score[i] = tensorOut[ii]; + max= tensorOut[ii]; + } + tensorOut[top5[i]]=0; + } + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + + for (int i = 0; i < 5; i++){ + printf("%d: %d\n", top5[i], top5_score[i]); + } + } + return 0; +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Supply configuration update enable + */ + MODIFY_REG(PWR->CR3, PWR_CR3_SCUEN, 0); + /** Configure the main internal regulator output voltage + */ + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + + while ((PWR->D3CR & (PWR_D3CR_VOSRDY)) != PWR_D3CR_VOSRDY) + { + + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_DIV1; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = 2; + RCC_OscInitStruct.PLL.PLLQ = 4; + RCC_OscInitStruct.PLL.PLLR = 2; + RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3; + RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; + RCC_OscInitStruct.PLL.PLLFRACN = 0; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 + |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOE_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pins : PE2 PE3 PE4 PE5 + PE6 PE7 PE8 PE9 + PE10 PE11 PE12 PE13 + PE14 PE15 PE0 PE1 */ + GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 + |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9 + |GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 + |GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); + + /*Configure GPIO pins : PC13 PC14 PC15 PC0 + PC1 PC2 PC3 PC4 + PC5 PC6 PC7 PC8 + PC9 PC10 PC11 PC12 */ + GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0 + |GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4 + |GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8 + |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : PF0 PF1 PF2 PF3 + PF4 PF5 PF6 PF7 + PF8 PF9 PF10 PF11 + PF12 PF13 PF14 PF15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); + + /*Configure GPIO pins : PH0 PH1 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); + + /*Configure GPIO pins : PA0 PA1 PA2 PA3 + PA4 PA5 PA6 PA7 + PA8 PA9 PA10 PA11 + PA12 PA15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /*Configure GPIO pins : PB0 PB1 PB2 PB10 + PB11 PB12 PB13 PB14 + PB15 PB3 PB4 PB5 + PB6 PB7 PB8 PB9 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_10 + |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 + |GPIO_PIN_15|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 + |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : PG0 PG1 PG2 PG3 + PG4 PG5 PG6 PG7 + PG8 PG9 PG10 PG11 + PG12 PG13 PG14 PG15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); + + /*Configure GPIO pins : PD8 PD9 PD10 PD11 + PD12 PD13 PD14 PD15 + PD0 PD1 PD2 PD3 + PD4 PD5 PD6 PD7 */ + GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15 + |GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + +} + +/* USER CODE BEGIN 4 */ + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + while(1) + { + } + /* USER CODE END Error_Handler_Debug */ +} + +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Src/main_v4.c b/Src/main_v4.c new file mode 100644 index 0000000..588d141 --- /dev/null +++ b/Src/main_v4.c @@ -0,0 +1,863 @@ +#include + +#include "main.h" +#include "stm32h7xx_hal.h" +#include "arm_math.h" +#include "arm_nnfunctions.h" + + +#define CONF 8 +#include "intq-mobilenet-v1.h" + +//Layer 1 Conv / s2 +static const uint8_t conv1_wt[CONV1_KER_DIM * CONV1_KER_DIM * CONV1_IM_CH * CONV1_OUT_CH] = CONV1_WT; +static const int32_t conv1_bias[CONV1_OUT_CH] = CONV1_BIAS; + +//Layer 2 Conv dw/ s1 +static const uint8_t conv2_wt[CONV2_KER_DIM * CONV2_KER_DIM * 1 * CONV2_OUT_CH] = CONV2_WT; +static const int32_t conv2_bias[CONV2_OUT_CH] = CONV2_BIAS; + +//Layer 3 Conv Point/ s1 +static const uint8_t conv3_wt[CONV3_KER_DIM * CONV3_KER_DIM * CONV3_IM_CH * CONV3_OUT_CH] = CONV3_WT; +static const int32_t conv3_bias[CONV3_OUT_CH] = CONV3_BIAS; + +//Layer 4 Conv dw/ s2 +static const uint8_t conv4_wt[CONV4_KER_DIM * CONV4_KER_DIM * 1 * CONV4_OUT_CH] = CONV4_WT; +static const int32_t conv4_bias[ CONV4_OUT_CH] = CONV4_BIAS; + +//Layer 5 Conv Point/ s1 +static const uint8_t conv5_wt[CONV5_KER_DIM * CONV5_KER_DIM * CONV5_IM_CH * CONV5_OUT_CH] = CONV5_WT; +static const int32_t conv5_bias[CONV5_OUT_CH] = CONV5_BIAS; + +//Layer 6 Conv dw/ s1 +static const uint8_t conv6_wt[CONV6_KER_DIM * CONV6_KER_DIM * 1 * CONV6_OUT_CH] = CONV6_WT; +static const int32_t conv6_bias[CONV6_OUT_CH] = CONV6_BIAS; + +//Layer 7 Conv Point/ s1 +static const uint8_t conv7_wt[CONV7_KER_DIM * CONV7_KER_DIM * CONV7_IM_CH * CONV7_OUT_CH] = CONV7_WT; +static const int32_t conv7_bias[CONV7_OUT_CH] = CONV7_BIAS; + +//Layer 8 Conv dw/ s2 +static const uint8_t conv8_wt[CONV8_KER_DIM * CONV8_KER_DIM * 1 * CONV8_OUT_CH] = CONV8_WT; +static const int32_t conv8_bias[CONV8_OUT_CH] = CONV8_BIAS; + +//Layer 9 Conv Point/ s1 +static const uint8_t conv9_wt[CONV9_KER_DIM * CONV9_KER_DIM * CONV9_IM_CH * CONV9_OUT_CH] = CONV9_WT; +static const int32_t conv9_bias[CONV9_OUT_CH] = CONV9_BIAS; + +//Layer 10 Conv dw/ s1 +static const uint8_t conv10_wt[CONV10_KER_DIM * CONV10_KER_DIM * 1 * CONV10_OUT_CH] = CONV10_WT; +static const int32_t conv10_bias[CONV10_OUT_CH] = CONV10_BIAS; + +//Layer 11 Conv Point/ s1 +static const uint8_t conv11_wt[CONV11_KER_DIM * CONV11_KER_DIM * CONV11_IM_CH * CONV11_OUT_CH] = CONV11_WT; +static const int32_t conv11_bias[CONV11_OUT_CH] = CONV11_BIAS; + +//Layer 12 Conv dw/ s2 +static const uint8_t conv12_wt[CONV12_KER_DIM * CONV12_KER_DIM * 1 * CONV12_OUT_CH] = CONV12_WT; +static const int32_t conv12_bias[CONV12_OUT_CH] = CONV12_BIAS; + +//Layer 13 Conv Point/ s1 +static const uint8_t conv13_wt[CONV13_KER_DIM * CONV13_KER_DIM * CONV13_IM_CH * CONV13_OUT_CH] = CONV13_WT; +static const int32_t conv13_bias[CONV13_OUT_CH] = CONV13_BIAS; + +//Layer 14 Conv dw/ s1 +static const uint8_t conv14_wt[CONV14_KER_DIM * CONV14_KER_DIM * 1 * CONV14_OUT_CH] = CONV14_WT; +static const int32_t conv14_bias[CONV14_OUT_CH] = CONV14_BIAS; + +//Layer 15 Conv Point/ s1 +static const uint8_t conv15_wt[CONV15_KER_DIM * CONV15_KER_DIM * CONV15_IM_CH * CONV15_OUT_CH] = CONV15_WT; +static const int32_t conv15_bias[CONV15_OUT_CH] = CONV15_BIAS; + +//Layer 16 Conv dw/ s1 +static const uint8_t conv16_wt[CONV16_KER_DIM * CONV16_KER_DIM * 1 * CONV16_OUT_CH] = CONV16_WT; +static const int32_t conv16_bias[CONV16_OUT_CH] = CONV16_BIAS; + +//Layer 17 Conv Point/ s1 +static const uint8_t conv17_wt[CONV17_KER_DIM * CONV17_KER_DIM * CONV17_IM_CH * CONV17_OUT_CH] = CONV17_WT; +static const int32_t conv17_bias[CONV17_OUT_CH] = CONV17_BIAS; + +//Layer 18 Conv dw/ s1 +static const uint8_t conv18_wt[CONV18_KER_DIM * CONV18_KER_DIM * 1 * CONV18_OUT_CH] = CONV18_WT; +static const int32_t conv18_bias[CONV18_OUT_CH] = CONV18_BIAS; + +//Layer 19 Conv Point/ s1 +static const uint8_t conv19_wt[CONV19_KER_DIM * CONV19_KER_DIM * CONV19_IM_CH * CONV19_OUT_CH] = CONV19_WT; +static const int32_t conv19_bias[CONV19_OUT_CH] = CONV19_BIAS; + +//Layer 20 Conv dw/ s1 +static const uint8_t conv20_wt[CONV20_KER_DIM * CONV20_KER_DIM * 1 * CONV20_OUT_CH] = CONV20_WT; +static const int32_t conv20_bias[CONV20_OUT_CH] = CONV20_BIAS; + +//Layer 21 Conv Point/ s1 +static const uint8_t conv21_wt[CONV21_KER_DIM * CONV21_KER_DIM * CONV21_IM_CH * CONV21_OUT_CH] = CONV21_WT; +static const int32_t conv21_bias[CONV21_OUT_CH] = CONV21_BIAS; + +//Layer 22 Conv dw/ s1 +static const uint8_t conv22_wt[CONV22_KER_DIM * CONV22_KER_DIM * 1 * CONV22_OUT_CH] = CONV22_WT; +static const int32_t conv22_bias[CONV22_OUT_CH] = CONV22_BIAS; + +//Layer 23 Conv Point/ s1 +static const uint8_t conv23_wt[CONV23_KER_DIM * CONV23_KER_DIM * CONV23_IM_CH * CONV23_OUT_CH] = CONV23_WT; +static const int32_t conv23_bias[CONV23_OUT_CH] = CONV23_BIAS; + +//Layer 24 Conv dw/ s2 +static const uint8_t conv24_wt[CONV24_KER_DIM * CONV24_KER_DIM * 1 * CONV24_OUT_CH] = CONV24_WT; +static const int32_t conv24_bias[CONV24_OUT_CH] = CONV24_BIAS; + +//Layer 25 Conv Point/ s1 +static const uint8_t conv25_wt[CONV25_KER_DIM * CONV25_KER_DIM * CONV25_IM_CH * CONV25_OUT_CH] = CONV25_WT; +static const int32_t conv25_bias[CONV25_OUT_CH] = CONV25_BIAS; + +//Layer 26 Conv dw/ s1 +static const uint8_t conv26_wt[CONV26_KER_DIM * CONV26_KER_DIM * 1 * CONV26_OUT_CH] = CONV26_WT; +static const int32_t conv26_bias[CONV26_OUT_CH] = CONV26_BIAS; + +//Layer 27 Conv Point/ s1 +static const uint8_t conv27_wt[CONV27_KER_DIM * CONV27_KER_DIM * CONV27_IM_CH * CONV27_OUT_CH] = CONV27_WT; +static const int32_t conv27_bias[CONV27_OUT_CH] = CONV27_BIAS; + +//Layer 29 fully connected/ s1 +static const uint8_t fc28_wt[FC28_IM_CH*FC28_OUT_CH] = FC28_WT; +static const int32_t fc28_bias[FC28_OUT_CH] = FC28_BIAS; + +// Input / Output +#include "160_input_image.h" +static const uint8_t image_data[CONV1_IM_CH * CONV1_IM_DIM * CONV1_IM_DIM] = INPUT_IMAGE; +//uint8_t output_data[IP1_OUT] = {0}; + +// Tensors Scratch +#define L2_TENSOR_IO_SIZE (512000) //524288 + +#define L1_TENSOR_SIZE (60000) //65536 +uint8_t __attribute__((section (".L2RAM"))) l2_tensor_scratch[L2_TENSOR_IO_SIZE]; +int16_t l1_tensor_scratch[L1_TENSOR_SIZE]; + +void SystemClock_Config(void); +static void MX_GPIO_Init(void); + +/******** Cycle counter defines **********/ +#define MOBILENET_PROFILE 1 +volatile unsigned int cpu_cycles[30]; +volatile unsigned int *DWT_CYCCNT = (volatile unsigned int *)0xE0001004; // Cycle Counter Register +volatile unsigned int *DWT_CONTROL= (volatile unsigned int *)0xE0001000; // Counter Control Register +volatile unsigned int *SCB_DEMCR = (volatile unsigned int *)0xE000EDFC; + +#if MOBILENET_PROFILE +#define USR_MEM_BARRIER() \ + do { \ + asm volatile("" ::: "memory");\ + } while (0) + +#define USR_CC_ENABLE() \ + do { \ + asm volatile("" ::: "memory"); \ + *SCB_DEMCR = *SCB_DEMCR | 0x01000000;\ + *DWT_CYCCNT = 0; \ + *DWT_CONTROL = *DWT_CONTROL | 1; \ + asm volatile("" ::: "memory"); \ + } while (0) + +#define USR_CC_RESET() \ + do { \ + asm volatile("" ::: "memory"); \ + *DWT_CYCCNT = 0; \ + asm volatile("" ::: "memory"); \ + } while (0) + +#define USR_GET_CC_TIMESTAMP(x) \ + do { \ + asm volatile("" ::: "memory"); \ + x = (*(volatile unsigned int *) DWT_CYCCNT); \ + asm volatile("" ::: "memory"); \ + } while (0) +#else +#define USR_MEM_BARRIER() +#define USR_CC_ENABLE() +#define USR_CC_RESET() +#define USR_GET_CC_TIMESTAMP(x) +#endif + +#define MOBILENET_CHECKSUM 0 +#if MOBILENET_CHECKSUM +volatile unsigned int checksums[30]; +#define USR_CHECKSUM(x,nb_elements,id) \ + do { \ + asm volatile("" ::: "memory"); \ + checksums[id] = 0; \ + for(int i=0; i< nb_elements;i++) \ + checksums[id]+=x[i]; \ + asm volatile("" ::: "memory"); \ + } while (0) +#else +#define USR_CHECKSUM(x,nb_elements,id) +#endif + +int main(void) +{ + SCB_EnableICache(); //Enable I-Cache + SCB_EnableDCache(); //Enable D-Cache + HAL_Init(); + SystemClock_Config(); + MX_GPIO_Init(); + + while(1) { + int layerId = 0; + int tensorId = 0; + uint8_t *tensorIn = l2_tensor_scratch; + uint8_t *tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH); + + /*Layer 1 Conv / s2 + *Convolutional + *Cycle =c + */ + USR_CC_ENABLE(); + USR_CC_RESET(); + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH>>1); + tensorId = !tensorId; + + /*Layer 2 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH>>1); + tensorId = !tensorId; + + /*Layer 3 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u4_u8(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH); + tensorId = !tensorId; + + /*Layer 4 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u8_u8(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH); + tensorId = !tensorId; + + /*Layer 5 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH>>1); + tensorId = !tensorId; + + /*Layer 6 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH); + tensorId = !tensorId; + + /*Layer 7 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH); + tensorId = !tensorId; + + /*Layer 8 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH); + tensorId = !tensorId; + + /*Layer 9 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH); + tensorId = !tensorId; + + /*Layer 10 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH); + tensorId = !tensorId; + + /*Layer 11 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH); + tensorId = !tensorId; + + /*Layer 12 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH); + tensorId = !tensorId; + + /*Layer 13 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH); + tensorId = !tensorId; + + /*Layer 14 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH); + tensorId = !tensorId; + + /*Layer 15 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH); + tensorId = !tensorId; + + /*Layer 16 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH); + tensorId = !tensorId; + + /*Layer 17 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH); + tensorId = !tensorId; + + /*Layer 18 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH,layerId); layerId++; + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH); + tensorId = !tensorId; + + /*Layer 19 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH); + tensorId = !tensorId; + + /*Layer 20 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH); + tensorId = !tensorId; + + /*Layer 21 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH); + tensorId = !tensorId; + + /*Layer 22 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH); + tensorId = !tensorId; + + /*Layer 23 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH); + tensorId = !tensorId; + + /*Layer 24 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH); + tensorId = !tensorId; + + /*Layer 25 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH); + tensorId = !tensorId; + + /*Layer 26 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u8_u8_u8(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH); + tensorId = !tensorId; + + /*Layer 27 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u8_u8_u8(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_IM_CH); + tensorId = !tensorId; + + /*Layer 28 Avgpool */ + arm_avepool_asym_uint8_HWC(tensorIn, CONV27_OUT_DIM, CONV27_OUT_CH, 5, 0, 5, 1, l1_tensor_scratch, tensorOut); + + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,FC28_IM_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_OUT_CH); + tensorId = !tensorId; + + /*Layer 29 FC + *Cycle = + */ + arm_fully_connected_in_out_wt_icn(tensorIn, fc28_wt, FC28_IM_CH, FC28_OUT_CH, FC28_W_Z, FC28_IN_Z, FC28_OUT_Z, FC28_M_ZERO, FC28_N_ZERO, fc28_bias, tensorOut, l1_tensor_scratch); + + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,FC28_OUT_CH,layerId); layerId++; + + USR_MEM_BARRIER(); + int top5[5]; + int top5_score[5]; + for (int i=0; i<5; i++){ + int max=0; + for(int ii=0; ii max){ + top5[i] = ii; + top5_score[i] = tensorOut[ii]; + max= tensorOut[ii]; + } + tensorOut[top5[i]]=0; + } + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + + for (int i = 0; i < 5; i++){ + printf("%d: %d\n", top5[i], top5_score[i]); + } + } + return 0; +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Supply configuration update enable + */ + MODIFY_REG(PWR->CR3, PWR_CR3_SCUEN, 0); + /** Configure the main internal regulator output voltage + */ + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + + while ((PWR->D3CR & (PWR_D3CR_VOSRDY)) != PWR_D3CR_VOSRDY) + { + + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_DIV1; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = 2; + RCC_OscInitStruct.PLL.PLLQ = 4; + RCC_OscInitStruct.PLL.PLLR = 2; + RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3; + RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; + RCC_OscInitStruct.PLL.PLLFRACN = 0; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 + |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOE_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pins : PE2 PE3 PE4 PE5 + PE6 PE7 PE8 PE9 + PE10 PE11 PE12 PE13 + PE14 PE15 PE0 PE1 */ + GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 + |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9 + |GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 + |GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); + + /*Configure GPIO pins : PC13 PC14 PC15 PC0 + PC1 PC2 PC3 PC4 + PC5 PC6 PC7 PC8 + PC9 PC10 PC11 PC12 */ + GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0 + |GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4 + |GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8 + |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : PF0 PF1 PF2 PF3 + PF4 PF5 PF6 PF7 + PF8 PF9 PF10 PF11 + PF12 PF13 PF14 PF15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); + + /*Configure GPIO pins : PH0 PH1 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); + + /*Configure GPIO pins : PA0 PA1 PA2 PA3 + PA4 PA5 PA6 PA7 + PA8 PA9 PA10 PA11 + PA12 PA15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /*Configure GPIO pins : PB0 PB1 PB2 PB10 + PB11 PB12 PB13 PB14 + PB15 PB3 PB4 PB5 + PB6 PB7 PB8 PB9 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_10 + |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 + |GPIO_PIN_15|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 + |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : PG0 PG1 PG2 PG3 + PG4 PG5 PG6 PG7 + PG8 PG9 PG10 PG11 + PG12 PG13 PG14 PG15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); + + /*Configure GPIO pins : PD8 PD9 PD10 PD11 + PD12 PD13 PD14 PD15 + PD0 PD1 PD2 PD3 + PD4 PD5 PD6 PD7 */ + GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15 + |GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + +} + +/* USER CODE BEGIN 4 */ + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + while(1) + { + } + /* USER CODE END Error_Handler_Debug */ +} + +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Src/main_v_int4.c b/Src/main_v_int4.c new file mode 100644 index 0000000..c953a72 --- /dev/null +++ b/Src/main_v_int4.c @@ -0,0 +1,863 @@ +#include + +#include "main.h" +#include "stm32h7xx_hal.h" +#include "arm_math.h" +#include "arm_nnfunctions.h" + + +#define CONF 9 +#include "intq-mobilenet-v1.h" + +//Layer 1 Conv / s2 +static const uint8_t conv1_wt[CONV1_KER_DIM * CONV1_KER_DIM * CONV1_IM_CH * CONV1_OUT_CH] = CONV1_WT; +static const int32_t conv1_bias[CONV1_OUT_CH] = CONV1_BIAS; + +//Layer 2 Conv dw/ s1 +static const uint8_t conv2_wt[CONV2_KER_DIM * CONV2_KER_DIM * 1 * CONV2_OUT_CH] = CONV2_WT; +static const int32_t conv2_bias[CONV2_OUT_CH] = CONV2_BIAS; + +//Layer 3 Conv Point/ s1 +static const uint8_t conv3_wt[CONV3_KER_DIM * CONV3_KER_DIM * CONV3_IM_CH * CONV3_OUT_CH] = CONV3_WT; +static const int32_t conv3_bias[CONV3_OUT_CH] = CONV3_BIAS; + +//Layer 4 Conv dw/ s2 +static const uint8_t conv4_wt[CONV4_KER_DIM * CONV4_KER_DIM * 1 * CONV4_OUT_CH] = CONV4_WT; +static const int32_t conv4_bias[ CONV4_OUT_CH] = CONV4_BIAS; + +//Layer 5 Conv Point/ s1 +static const uint8_t conv5_wt[CONV5_KER_DIM * CONV5_KER_DIM * CONV5_IM_CH * CONV5_OUT_CH] = CONV5_WT; +static const int32_t conv5_bias[CONV5_OUT_CH] = CONV5_BIAS; + +//Layer 6 Conv dw/ s1 +static const uint8_t conv6_wt[CONV6_KER_DIM * CONV6_KER_DIM * 1 * CONV6_OUT_CH] = CONV6_WT; +static const int32_t conv6_bias[CONV6_OUT_CH] = CONV6_BIAS; + +//Layer 7 Conv Point/ s1 +static const uint8_t conv7_wt[CONV7_KER_DIM * CONV7_KER_DIM * CONV7_IM_CH * CONV7_OUT_CH] = CONV7_WT; +static const int32_t conv7_bias[CONV7_OUT_CH] = CONV7_BIAS; + +//Layer 8 Conv dw/ s2 +static const uint8_t conv8_wt[CONV8_KER_DIM * CONV8_KER_DIM * 1 * CONV8_OUT_CH] = CONV8_WT; +static const int32_t conv8_bias[CONV8_OUT_CH] = CONV8_BIAS; + +//Layer 9 Conv Point/ s1 +static const uint8_t conv9_wt[CONV9_KER_DIM * CONV9_KER_DIM * CONV9_IM_CH * CONV9_OUT_CH] = CONV9_WT; +static const int32_t conv9_bias[CONV9_OUT_CH] = CONV9_BIAS; + +//Layer 10 Conv dw/ s1 +static const uint8_t conv10_wt[CONV10_KER_DIM * CONV10_KER_DIM * 1 * CONV10_OUT_CH] = CONV10_WT; +static const int32_t conv10_bias[CONV10_OUT_CH] = CONV10_BIAS; + +//Layer 11 Conv Point/ s1 +static const uint8_t conv11_wt[CONV11_KER_DIM * CONV11_KER_DIM * CONV11_IM_CH * CONV11_OUT_CH] = CONV11_WT; +static const int32_t conv11_bias[CONV11_OUT_CH] = CONV11_BIAS; + +//Layer 12 Conv dw/ s2 +static const uint8_t conv12_wt[CONV12_KER_DIM * CONV12_KER_DIM * 1 * CONV12_OUT_CH] = CONV12_WT; +static const int32_t conv12_bias[CONV12_OUT_CH] = CONV12_BIAS; + +//Layer 13 Conv Point/ s1 +static const uint8_t conv13_wt[CONV13_KER_DIM * CONV13_KER_DIM * CONV13_IM_CH * CONV13_OUT_CH] = CONV13_WT; +static const int32_t conv13_bias[CONV13_OUT_CH] = CONV13_BIAS; + +//Layer 14 Conv dw/ s1 +static const uint8_t conv14_wt[CONV14_KER_DIM * CONV14_KER_DIM * 1 * CONV14_OUT_CH] = CONV14_WT; +static const int32_t conv14_bias[CONV14_OUT_CH] = CONV14_BIAS; + +//Layer 15 Conv Point/ s1 +static const uint8_t conv15_wt[CONV15_KER_DIM * CONV15_KER_DIM * CONV15_IM_CH * CONV15_OUT_CH] = CONV15_WT; +static const int32_t conv15_bias[CONV15_OUT_CH] = CONV15_BIAS; + +//Layer 16 Conv dw/ s1 +static const uint8_t conv16_wt[CONV16_KER_DIM * CONV16_KER_DIM * 1 * CONV16_OUT_CH] = CONV16_WT; +static const int32_t conv16_bias[CONV16_OUT_CH] = CONV16_BIAS; + +//Layer 17 Conv Point/ s1 +static const uint8_t conv17_wt[CONV17_KER_DIM * CONV17_KER_DIM * CONV17_IM_CH * CONV17_OUT_CH] = CONV17_WT; +static const int32_t conv17_bias[CONV17_OUT_CH] = CONV17_BIAS; + +//Layer 18 Conv dw/ s1 +static const uint8_t conv18_wt[CONV18_KER_DIM * CONV18_KER_DIM * 1 * CONV18_OUT_CH] = CONV18_WT; +static const int32_t conv18_bias[CONV18_OUT_CH] = CONV18_BIAS; + +//Layer 19 Conv Point/ s1 +static const uint8_t conv19_wt[CONV19_KER_DIM * CONV19_KER_DIM * CONV19_IM_CH * CONV19_OUT_CH] = CONV19_WT; +static const int32_t conv19_bias[CONV19_OUT_CH] = CONV19_BIAS; + +//Layer 20 Conv dw/ s1 +static const uint8_t conv20_wt[CONV20_KER_DIM * CONV20_KER_DIM * 1 * CONV20_OUT_CH] = CONV20_WT; +static const int32_t conv20_bias[CONV20_OUT_CH] = CONV20_BIAS; + +//Layer 21 Conv Point/ s1 +static const uint8_t conv21_wt[CONV21_KER_DIM * CONV21_KER_DIM * CONV21_IM_CH * CONV21_OUT_CH] = CONV21_WT; +static const int32_t conv21_bias[CONV21_OUT_CH] = CONV21_BIAS; + +//Layer 22 Conv dw/ s1 +static const uint8_t conv22_wt[CONV22_KER_DIM * CONV22_KER_DIM * 1 * CONV22_OUT_CH] = CONV22_WT; +static const int32_t conv22_bias[CONV22_OUT_CH] = CONV22_BIAS; + +//Layer 23 Conv Point/ s1 +static const uint8_t conv23_wt[CONV23_KER_DIM * CONV23_KER_DIM * CONV23_IM_CH * CONV23_OUT_CH] = CONV23_WT; +static const int32_t conv23_bias[CONV23_OUT_CH] = CONV23_BIAS; + +//Layer 24 Conv dw/ s2 +static const uint8_t conv24_wt[CONV24_KER_DIM * CONV24_KER_DIM * 1 * CONV24_OUT_CH] = CONV24_WT; +static const int32_t conv24_bias[CONV24_OUT_CH] = CONV24_BIAS; + +//Layer 25 Conv Point/ s1 +static const uint8_t conv25_wt[CONV25_KER_DIM * CONV25_KER_DIM * CONV25_IM_CH * CONV25_OUT_CH] = CONV25_WT; +static const int32_t conv25_bias[CONV25_OUT_CH] = CONV25_BIAS; + +//Layer 26 Conv dw/ s1 +static const uint8_t conv26_wt[CONV26_KER_DIM * CONV26_KER_DIM * 1 * CONV26_OUT_CH] = CONV26_WT; +static const int32_t conv26_bias[CONV26_OUT_CH] = CONV26_BIAS; + +//Layer 27 Conv Point/ s1 +static const uint8_t conv27_wt[CONV27_KER_DIM * CONV27_KER_DIM * CONV27_IM_CH * CONV27_OUT_CH] = CONV27_WT; +static const int32_t conv27_bias[CONV27_OUT_CH] = CONV27_BIAS; + +//Layer 29 fully connected/ s1 +static const uint8_t fc28_wt[FC28_IM_CH*FC28_OUT_CH] = FC28_WT; +static const int32_t fc28_bias[FC28_OUT_CH] = FC28_BIAS; + +// Input / Output +#include "160_input_image.h" +static const uint8_t image_data[CONV1_IM_CH * CONV1_IM_DIM * CONV1_IM_DIM] = {1}; +//uint8_t output_data[IP1_OUT] = {0}; + +// Tensors Scratch +#define L2_TENSOR_IO_SIZE (512000) //524288 + +#define L1_TENSOR_SIZE (60000) //65536 +uint8_t __attribute__((section (".L2RAM"))) l2_tensor_scratch[L2_TENSOR_IO_SIZE]; +int16_t l1_tensor_scratch[L1_TENSOR_SIZE]; + +void SystemClock_Config(void); +static void MX_GPIO_Init(void); + +/******** Cycle counter defines **********/ +#define MOBILENET_PROFILE 1 +volatile unsigned int cpu_cycles[30]; +volatile unsigned int *DWT_CYCCNT = (volatile unsigned int *)0xE0001004; // Cycle Counter Register +volatile unsigned int *DWT_CONTROL= (volatile unsigned int *)0xE0001000; // Counter Control Register +volatile unsigned int *SCB_DEMCR = (volatile unsigned int *)0xE000EDFC; + +#if MOBILENET_PROFILE +#define USR_MEM_BARRIER() \ + do { \ + asm volatile("" ::: "memory");\ + } while (0) + +#define USR_CC_ENABLE() \ + do { \ + asm volatile("" ::: "memory"); \ + *SCB_DEMCR = *SCB_DEMCR | 0x01000000;\ + *DWT_CYCCNT = 0; \ + *DWT_CONTROL = *DWT_CONTROL | 1; \ + asm volatile("" ::: "memory"); \ + } while (0) + +#define USR_CC_RESET() \ + do { \ + asm volatile("" ::: "memory"); \ + *DWT_CYCCNT = 0; \ + asm volatile("" ::: "memory"); \ + } while (0) + +#define USR_GET_CC_TIMESTAMP(x) \ + do { \ + asm volatile("" ::: "memory"); \ + x = (*(volatile unsigned int *) DWT_CYCCNT); \ + asm volatile("" ::: "memory"); \ + } while (0) +#else +#define USR_MEM_BARRIER() +#define USR_CC_ENABLE() +#define USR_CC_RESET() +#define USR_GET_CC_TIMESTAMP(x) +#endif + +#define MOBILENET_CHECKSUM 0 +#if MOBILENET_CHECKSUM +volatile unsigned int checksums[30]; +#define USR_CHECKSUM(x,nb_elements,id) \ + do { \ + asm volatile("" ::: "memory"); \ + checksums[id] = 0; \ + for(int i=0; i< nb_elements;i++) \ + checksums[id]+=x[i]; \ + asm volatile("" ::: "memory"); \ + } while (0) +#else +#define USR_CHECKSUM(x,nb_elements,id) +#endif + +int main(void) +{ + SCB_EnableICache(); //Enable I-Cache + SCB_EnableDCache(); //Enable D-Cache + HAL_Init(); + SystemClock_Config(); + MX_GPIO_Init(); + + while(1) { + int layerId = 0; + int tensorId = 0; + uint8_t *tensorIn = l2_tensor_scratch; + uint8_t *tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH); + + /*Layer 1 Conv / s2 + *Convolutional + *Cycle =c + */ + USR_CC_ENABLE(); + USR_CC_RESET(); + arm_convolve_HWC_u8_u4_u4(tensorIn, CONV1_IM_DIM, CONV1_IM_CH, conv1_wt, CONV1_OUT_CH, CONV1_KER_DIM, CONV1_L_PADDING, CONV1_R_PADDING, CONV1_T_PADDING, CONV1_B_PADDING, CONV1_STRIDE, conv1_bias, tensorOut, CONV1_OUT_DIM, CONV1_IN_Z, CONV1_W_Z, CONV1_OUT_Z, CONV1_M_ZERO, CONV1_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV1_OUT_DIM*CONV1_OUT_DIM*CONV1_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH); + tensorId = !tensorId; + + /*Layer 2 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV2_IM_DIM, CONV2_IM_CH, conv2_wt, CONV2_OUT_CH, CONV2_KER_DIM, CONV2_L_PADDING, CONV2_R_PADDING, CONV2_T_PADDING, CONV2_B_PADDING, CONV2_STRIDE, conv2_bias, tensorOut, CONV2_OUT_DIM, CONV2_IN_Z, CONV2_W_Z, CONV2_OUT_Z, CONV2_M_ZERO, CONV2_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV2_OUT_DIM*CONV2_OUT_DIM*CONV2_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH); + tensorId = !tensorId; + + /*Layer 3 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV3_IM_DIM, CONV3_IM_CH, conv3_wt, CONV3_OUT_CH, CONV3_KER_DIM, CONV3_L_PADDING, CONV3_R_PADDING, CONV3_T_PADDING, CONV3_B_PADDING, CONV3_STRIDE, conv3_bias, tensorOut, CONV3_OUT_DIM, CONV3_IN_Z, CONV3_W_Z, CONV3_OUT_Z, CONV3_M_ZERO, CONV3_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV3_OUT_DIM*CONV3_OUT_DIM*CONV3_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH); + tensorId = !tensorId; + + /*Layer 4 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV4_IM_DIM, CONV4_IM_CH, conv4_wt, CONV4_OUT_CH, CONV4_KER_DIM, CONV4_L_PADDING, CONV4_R_PADDING, CONV4_T_PADDING, CONV4_B_PADDING, CONV4_STRIDE, conv4_bias, tensorOut, CONV4_OUT_DIM, CONV4_IN_Z, CONV4_W_Z, CONV4_OUT_Z, CONV4_M_ZERO, CONV4_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV4_OUT_DIM*CONV4_OUT_DIM*CONV4_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH); + tensorId = !tensorId; + + /*Layer 5 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV5_IM_DIM, CONV5_IM_CH, conv5_wt, CONV5_OUT_CH, CONV5_KER_DIM, CONV5_L_PADDING, CONV5_R_PADDING, CONV5_T_PADDING, CONV5_B_PADDING, CONV5_STRIDE, conv5_bias, tensorOut, CONV5_OUT_DIM, CONV5_IN_Z, CONV5_W_Z, CONV5_OUT_Z, CONV5_M_ZERO, CONV5_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV5_OUT_DIM*CONV5_OUT_DIM*CONV5_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH); + tensorId = !tensorId; + + /*Layer 6 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV6_IM_DIM, CONV6_IM_CH, conv6_wt, CONV6_OUT_CH, CONV6_KER_DIM, CONV6_L_PADDING, CONV6_R_PADDING, CONV6_T_PADDING, CONV6_B_PADDING, CONV6_STRIDE, conv6_bias, tensorOut, CONV6_OUT_DIM, CONV6_IN_Z, CONV6_W_Z, CONV6_OUT_Z, CONV6_M_ZERO, CONV6_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV6_OUT_DIM*CONV6_OUT_DIM*CONV6_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH); + tensorId = !tensorId; + + /*Layer 7 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV7_IM_DIM, CONV7_IM_CH, conv7_wt, CONV7_OUT_CH, CONV7_KER_DIM, CONV7_L_PADDING, CONV7_R_PADDING, CONV7_T_PADDING, CONV7_B_PADDING, CONV7_STRIDE, conv7_bias, tensorOut, CONV7_OUT_DIM, CONV7_IN_Z, CONV7_W_Z, CONV7_OUT_Z, CONV7_M_ZERO, CONV7_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV7_OUT_DIM*CONV7_OUT_DIM*CONV7_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH); + tensorId = !tensorId; + + /*Layer 8 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV8_IM_DIM, CONV8_IM_CH, conv8_wt, CONV8_OUT_CH, CONV8_KER_DIM, CONV8_L_PADDING, CONV8_R_PADDING, CONV8_T_PADDING, CONV8_B_PADDING, CONV8_STRIDE, conv8_bias, tensorOut, CONV8_OUT_DIM, CONV8_IN_Z, CONV8_W_Z, CONV8_OUT_Z, CONV8_M_ZERO, CONV8_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV8_OUT_DIM*CONV8_OUT_DIM*CONV8_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH); + tensorId = !tensorId; + + /*Layer 9 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV9_IM_DIM, CONV9_IM_CH, conv9_wt, CONV9_OUT_CH, CONV9_KER_DIM, CONV9_L_PADDING, CONV9_R_PADDING, CONV9_T_PADDING, CONV9_B_PADDING, CONV9_STRIDE, conv9_bias, tensorOut, CONV9_OUT_DIM, CONV9_IN_Z, CONV9_W_Z, CONV9_OUT_Z, CONV9_M_ZERO, CONV9_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV9_OUT_DIM*CONV9_OUT_DIM*CONV9_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH); + tensorId = !tensorId; + + /*Layer 10 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV10_IM_DIM, CONV10_IM_CH, conv10_wt, CONV10_OUT_CH, CONV10_KER_DIM, CONV10_L_PADDING, CONV10_R_PADDING, CONV10_T_PADDING, CONV10_B_PADDING, CONV10_STRIDE, conv10_bias, tensorOut, CONV10_OUT_DIM, CONV10_IN_Z, CONV10_W_Z, CONV10_OUT_Z, CONV10_M_ZERO, CONV10_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV10_OUT_DIM*CONV10_OUT_DIM*CONV10_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH); + tensorId = !tensorId; + + /*Layer 11 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV11_IM_DIM, CONV11_IM_CH, conv11_wt, CONV11_OUT_CH, CONV11_KER_DIM, CONV11_L_PADDING, CONV11_R_PADDING, CONV11_T_PADDING, CONV11_B_PADDING, CONV11_STRIDE, conv11_bias, tensorOut, CONV11_OUT_DIM, CONV11_IN_Z, CONV11_W_Z, CONV11_OUT_Z, CONV11_M_ZERO, CONV11_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV11_OUT_DIM*CONV11_OUT_DIM*CONV11_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH); + tensorId = !tensorId; + + /*Layer 12 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV12_IM_DIM, CONV12_IM_CH, conv12_wt, CONV12_OUT_CH, CONV12_KER_DIM, CONV12_L_PADDING, CONV12_R_PADDING, CONV12_T_PADDING, CONV12_B_PADDING, CONV12_STRIDE, conv12_bias, tensorOut, CONV12_OUT_DIM, CONV12_IN_Z, CONV12_W_Z, CONV12_OUT_Z, CONV12_M_ZERO, CONV12_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV12_OUT_DIM*CONV12_OUT_DIM*CONV12_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH); + tensorId = !tensorId; + + /*Layer 13 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV13_IM_DIM, CONV13_IM_CH, conv13_wt, CONV13_OUT_CH, CONV13_KER_DIM, CONV13_L_PADDING, CONV13_R_PADDING, CONV13_T_PADDING, CONV13_B_PADDING, CONV13_STRIDE, conv13_bias, tensorOut, CONV13_OUT_DIM, CONV13_IN_Z, CONV13_W_Z, CONV13_OUT_Z, CONV13_M_ZERO, CONV13_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV13_OUT_DIM*CONV13_OUT_DIM*CONV13_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH); + tensorId = !tensorId; + + /*Layer 14 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV14_IM_DIM, CONV14_IM_CH, conv14_wt, CONV14_OUT_CH, CONV14_KER_DIM, CONV14_L_PADDING, CONV14_R_PADDING, CONV14_T_PADDING, CONV14_B_PADDING, CONV14_STRIDE, conv14_bias, tensorOut, CONV14_OUT_DIM, CONV14_IN_Z, CONV14_W_Z, CONV14_OUT_Z, CONV14_M_ZERO, CONV14_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV14_OUT_DIM*CONV14_OUT_DIM*CONV14_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH); + tensorId = !tensorId; + + /*Layer 15 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV15_IM_DIM, CONV15_IM_CH, conv15_wt, CONV15_OUT_CH, CONV15_KER_DIM, CONV15_L_PADDING, CONV15_R_PADDING, CONV15_T_PADDING, CONV15_B_PADDING, CONV15_STRIDE, conv15_bias, tensorOut, CONV15_OUT_DIM, CONV15_IN_Z, CONV15_W_Z, CONV15_OUT_Z, CONV15_M_ZERO, CONV15_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV15_OUT_DIM*CONV15_OUT_DIM*CONV15_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH); + tensorId = !tensorId; + + /*Layer 16 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV16_IM_DIM, CONV16_IM_CH, conv16_wt, CONV16_OUT_CH, CONV16_KER_DIM, CONV16_L_PADDING, CONV16_R_PADDING, CONV16_T_PADDING, CONV16_B_PADDING, CONV16_STRIDE, conv16_bias, tensorOut, CONV16_OUT_DIM, CONV16_IN_Z, CONV16_W_Z, CONV16_OUT_Z, CONV16_M_ZERO, CONV16_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV16_OUT_DIM*CONV16_OUT_DIM*CONV16_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH); + tensorId = !tensorId; + + /*Layer 17 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV17_IM_DIM, CONV17_IM_CH, conv17_wt, CONV17_OUT_CH, CONV17_KER_DIM, CONV17_L_PADDING, CONV17_R_PADDING, CONV17_T_PADDING, CONV17_B_PADDING, CONV17_STRIDE, conv17_bias, tensorOut, CONV17_OUT_DIM, CONV17_IN_Z, CONV17_W_Z, CONV17_OUT_Z, CONV17_M_ZERO, CONV17_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV17_OUT_DIM*CONV17_OUT_DIM*CONV17_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH); + tensorId = !tensorId; + + /*Layer 18 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV18_IM_DIM, CONV18_IM_CH, conv18_wt, CONV18_OUT_CH, CONV18_KER_DIM, CONV18_L_PADDING, CONV18_R_PADDING, CONV18_T_PADDING, CONV18_B_PADDING, CONV18_STRIDE, conv18_bias, tensorOut, CONV18_OUT_DIM, CONV18_IN_Z, CONV18_W_Z, CONV18_OUT_Z, CONV18_M_ZERO, CONV18_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV18_OUT_DIM*CONV18_OUT_DIM*CONV18_OUT_CH,layerId); layerId++; + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH); + tensorId = !tensorId; + + /*Layer 19 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV19_IM_DIM, CONV19_IM_CH, conv19_wt, CONV19_OUT_CH, CONV19_KER_DIM, CONV19_L_PADDING, CONV19_R_PADDING, CONV19_T_PADDING, CONV19_B_PADDING, CONV19_STRIDE, conv19_bias, tensorOut, CONV19_OUT_DIM, CONV19_IN_Z, CONV19_W_Z, CONV19_OUT_Z, CONV19_M_ZERO, CONV19_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV19_OUT_DIM*CONV19_OUT_DIM*CONV19_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH); + tensorId = !tensorId; + + /*Layer 20 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV20_IM_DIM, CONV20_IM_CH, conv20_wt, CONV20_OUT_CH, CONV20_KER_DIM, CONV20_L_PADDING, CONV20_R_PADDING, CONV20_T_PADDING, CONV20_B_PADDING, CONV20_STRIDE, conv20_bias, tensorOut, CONV20_OUT_DIM, CONV20_IN_Z, CONV20_W_Z, CONV20_OUT_Z, CONV20_M_ZERO, CONV20_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV20_OUT_DIM*CONV20_OUT_DIM*CONV20_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH); + tensorId = !tensorId; + + /*Layer 21 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV21_IM_DIM, CONV21_IM_CH, conv21_wt, CONV21_OUT_CH, CONV21_KER_DIM, CONV21_L_PADDING, CONV21_R_PADDING, CONV21_T_PADDING, CONV21_B_PADDING, CONV21_STRIDE, conv21_bias, tensorOut, CONV21_OUT_DIM, CONV21_IN_Z, CONV21_W_Z, CONV21_OUT_Z, CONV21_M_ZERO, CONV21_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV21_OUT_DIM*CONV21_OUT_DIM*CONV21_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH); + tensorId = !tensorId; + + /*Layer 22 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV22_IM_DIM, CONV22_IM_CH, conv22_wt, CONV22_OUT_CH, CONV22_KER_DIM, CONV22_L_PADDING, CONV22_R_PADDING, CONV22_T_PADDING, CONV22_B_PADDING, CONV22_STRIDE, conv22_bias, tensorOut, CONV22_OUT_DIM, CONV22_IN_Z, CONV22_W_Z, CONV22_OUT_Z, CONV22_M_ZERO, CONV22_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV22_OUT_DIM*CONV22_OUT_DIM*CONV22_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH); + tensorId = !tensorId; + + /*Layer 23 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV23_IM_DIM, CONV23_IM_CH, conv23_wt, CONV23_OUT_CH, CONV23_KER_DIM, CONV23_L_PADDING, CONV23_R_PADDING, CONV23_T_PADDING, CONV23_B_PADDING, CONV23_STRIDE, conv23_bias, tensorOut, CONV23_OUT_DIM, CONV23_IN_Z, CONV23_W_Z, CONV23_OUT_Z, CONV23_M_ZERO, CONV23_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV23_OUT_DIM*CONV23_OUT_DIM*CONV23_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH); + tensorId = !tensorId; + + /*Layer 24 Conv dw/ s2 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV24_IM_DIM, CONV24_IM_CH, conv24_wt, CONV24_OUT_CH, CONV24_KER_DIM, CONV24_L_PADDING, CONV24_R_PADDING, CONV24_T_PADDING, CONV24_B_PADDING, CONV24_STRIDE, conv24_bias, tensorOut, CONV24_OUT_DIM, CONV24_IN_Z, CONV24_W_Z, CONV24_OUT_Z, CONV24_M_ZERO, CONV24_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV24_OUT_DIM*CONV24_OUT_DIM*CONV24_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH); + tensorId = !tensorId; + + /*Layer 25 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV25_IM_DIM, CONV25_IM_CH, conv25_wt, CONV25_OUT_CH, CONV25_KER_DIM, CONV25_L_PADDING, CONV25_R_PADDING, CONV25_T_PADDING, CONV25_B_PADDING, CONV25_STRIDE, conv25_bias, tensorOut, CONV25_OUT_DIM, CONV25_IN_Z, CONV25_W_Z, CONV25_OUT_Z, CONV25_M_ZERO, CONV25_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV25_OUT_DIM*CONV25_OUT_DIM*CONV25_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH); + tensorId = !tensorId; + + /*Layer 26 Conv dw/ s1 + *dephtwise + *Cycle = + */ + arm_depthwise_separable_conv_HWC_u4_u4_u4(tensorIn, CONV26_IM_DIM, CONV26_IM_CH, conv26_wt, CONV26_OUT_CH, CONV26_KER_DIM, CONV26_L_PADDING, CONV26_R_PADDING, CONV26_T_PADDING, CONV26_B_PADDING, CONV26_STRIDE, conv26_bias, tensorOut, CONV26_OUT_DIM, CONV26_IN_Z, CONV26_W_Z, CONV26_OUT_Z, CONV26_M_ZERO, CONV26_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV26_OUT_DIM*CONV26_OUT_DIM*CONV26_OUT_CH,layerId); layerId++; + + tensorIn = tensorOut; + if (!tensorId) + tensorOut = l2_tensor_scratch; + else + tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH); + tensorId = !tensorId; + + /*Layer 27 Conv Point/ s1 + *pointwise + *Cycle = + */ + arm_convolve_HWC_u4_u4_u4(tensorIn, CONV27_IM_DIM, CONV27_IM_CH, conv27_wt, CONV27_OUT_CH, CONV27_KER_DIM, CONV27_L_PADDING, CONV27_R_PADDING, CONV27_T_PADDING, CONV27_B_PADDING, CONV27_STRIDE, conv27_bias, tensorOut, CONV27_OUT_DIM, CONV27_IN_Z, CONV27_W_Z, CONV27_OUT_Z, CONV27_M_ZERO, CONV27_N_ZERO, l1_tensor_scratch, NULL); + USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); + USR_CHECKSUM(tensorOut,CONV27_OUT_DIM*CONV27_OUT_DIM*CONV27_OUT_CH,layerId); layerId++; + +// tensorIn = tensorOut; +// if (!tensorId) +// tensorOut = l2_tensor_scratch; +// else +// tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_IM_CH); +// tensorId = !tensorId; + +// /*Layer 28 Avgpool */ +// arm_avepool_asym_uint8_HWC(tensorIn, CONV27_OUT_DIM, CONV27_OUT_CH, 5, 0, 5, 1, l1_tensor_scratch, tensorOut); +// +// USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); +// USR_CHECKSUM(tensorOut,FC28_IM_CH,layerId); layerId++; +// +// tensorIn = tensorOut; +// if (!tensorId) +// tensorOut = l2_tensor_scratch; +// else +// tensorOut = l2_tensor_scratch + L2_TENSOR_IO_SIZE - (FC28_OUT_CH); +// tensorId = !tensorId; +// +// /*Layer 29 FC +// *Cycle = +// */ +// arm_fully_connected_in_out_wt_icn(tensorIn, fc28_wt, FC28_IM_CH, FC28_OUT_CH, FC28_W_Z, FC28_IN_Z, FC28_OUT_Z, FC28_M_ZERO, FC28_N_ZERO, fc28_bias, tensorOut, l1_tensor_scratch); +// +// USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); +// USR_CHECKSUM(tensorOut,FC28_OUT_CH,layerId); layerId++; +// +// USR_MEM_BARRIER(); +// int top5[5]; +// int top5_score[5]; +// for (int i=0; i<5; i++){ +// int max=0; +// for(int ii=0; ii max){ +// top5[i] = ii; +// top5_score[i] = tensorOut[ii]; +// max= tensorOut[ii]; +// } +// tensorOut[top5[i]]=0; +// } +// USR_GET_CC_TIMESTAMP(cpu_cycles[layerId]); +// +// for (int i = 0; i < 5; i++){ +// printf("%d: %d\n", top5[i], top5_score[i]); +// } + } + return 0; +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Supply configuration update enable + */ + MODIFY_REG(PWR->CR3, PWR_CR3_SCUEN, 0); + /** Configure the main internal regulator output voltage + */ + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + + while ((PWR->D3CR & (PWR_D3CR_VOSRDY)) != PWR_D3CR_VOSRDY) + { + + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_DIV1; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = 2; + RCC_OscInitStruct.PLL.PLLQ = 4; + RCC_OscInitStruct.PLL.PLLR = 2; + RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3; + RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; + RCC_OscInitStruct.PLL.PLLFRACN = 0; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 + |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOE_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pins : PE2 PE3 PE4 PE5 + PE6 PE7 PE8 PE9 + PE10 PE11 PE12 PE13 + PE14 PE15 PE0 PE1 */ + GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 + |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9 + |GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 + |GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); + + /*Configure GPIO pins : PC13 PC14 PC15 PC0 + PC1 PC2 PC3 PC4 + PC5 PC6 PC7 PC8 + PC9 PC10 PC11 PC12 */ + GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_0 + |GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4 + |GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8 + |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : PF0 PF1 PF2 PF3 + PF4 PF5 PF6 PF7 + PF8 PF9 PF10 PF11 + PF12 PF13 PF14 PF15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); + + /*Configure GPIO pins : PH0 PH1 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); + + /*Configure GPIO pins : PA0 PA1 PA2 PA3 + PA4 PA5 PA6 PA7 + PA8 PA9 PA10 PA11 + PA12 PA15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /*Configure GPIO pins : PB0 PB1 PB2 PB10 + PB11 PB12 PB13 PB14 + PB15 PB3 PB4 PB5 + PB6 PB7 PB8 PB9 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_10 + |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 + |GPIO_PIN_15|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5 + |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : PG0 PG1 PG2 PG3 + PG4 PG5 PG6 PG7 + PG8 PG9 PG10 PG11 + PG12 PG13 PG14 PG15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 + |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); + + /*Configure GPIO pins : PD8 PD9 PD10 PD11 + PD12 PD13 PD14 PD15 + PD0 PD1 PD2 PD3 + PD4 PD5 PD6 PD7 */ + GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 + |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15 + |GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + +} + +/* USER CODE BEGIN 4 */ + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + while(1) + { + } + /* USER CODE END Error_Handler_Debug */ +} + +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/