Coder Social home page Coder Social logo

10x's People

Contributors

aclonegeek avatar aemsle avatar andersama avatar benanil avatar bricktheworld avatar gavinbeatty avatar ggnkua avatar javiersalcedopuyo avatar jcl1234 avatar kccha avatar matiasjpedro avatar megamika avatar niirozz avatar odecaux avatar phildo avatar pmttavara avatar retrozelda avatar s4oul avatar septag avatar simpsongsd avatar slynch8 avatar stan680 avatar therealmolen avatar uranium2818322192 avatar vulcan-dev avatar wassimulator avatar wrapperup avatar yesitsfebreeze avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

10x's Issues

Autocomplete erases end of line

Here is a strange editing bug with auto complete.
The keys I'm pressing are '(' then 'c' then ')' then space then ')' then return.
On pressing return, 10x erases the last part of the line.

10xpressreturn

Here is the starting code:

struct MyStruct
{
	void MemberFunc(int);
};

void main()
{
	MyStruct s;
	int c = 1;
	if( s.MemberFunc
}

Add breakpoints to external debugger

Hey, I'd like to see a feature where you can add a breakpoint to an external debugger.

Some standalone debuggers have some way to add a breakpoint through command line arguments.

Example for remedybg:
remedybg.exe add-breakpoint-at-file filename line-number
remedybg.exe remove-breakpoint-at-file filename line-number
This will add a breakpoint to the already running process of remedy.

I imagine some system like the one we have for Run, Debug, Build etc.. except it also contains variables for file and line nr

Autocomplete within comments

Currently autocomplete tries to fill in keywords even after typing // or /* resulting in it changing an english word to a c++ keyword.

Parser with unnamed parameters

In the example below MyStruct::MemberFunc does not function with syntax highlighting or GoToSymbol but MyStruct2::MemberFunc does work.

10x_3

Slowdown with large array

Try pasting this into a cpp file. 10x pauses when doing the paste, and then lags significantly whenever I type something into the same file. I'll just put it in a separate file to avoid the problem but I thought I'd report it all the same.

const unsigned char lookuptable[128*128] = { 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 164, 164, 164, 165, 165, 165, 166, 166, 167, 167, 168, 168, 168, 169, 169, 170, 170, 171, 171, 172, 172, 173, 173, 174, 174, 175, 176, 176, 177, 177, 178, 178, 179, 179, 180, 181, 181, 182, 182, 183, 184, 184, 185, 186, 186, 187, 187, 188, 189, 189, 190, 191, 191, 192, 193, 193, 194, 195, 195, 196, 197, 197, 198, 198, 199, 200, 200, 201, 202, 202, 203, 203, 204, 205, 205, 206, 206, 207, 207, 208, 208, 209, 210, 210, 211, 211, 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, 216, 217, 217, 218, 218, 219, 219, 219, 220, 220, 220, 221, 221, 222, 222, 222, 223, 223, 223, 224, 224, 224, 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 164, 164, 164, 165, 165, 166, 166, 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, 171, 172, 172, 173, 173, 174, 174, 175, 175, 176, 176, 177, 178, 178, 179, 179, 180, 180, 181, 182, 182, 183, 184, 184, 185, 185, 186, 187, 187, 188, 189, 189, 190, 191, 191, 192, 193, 193, 194, 195, 195, 196, 197, 197, 198, 199, 199, 200, 200, 201, 202, 202, 203, 204, 204, 205, 205, 206, 206, 207, 208, 208, 209, 209, 210, 210, 211, 211, 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 218, 218, 218, 219, 219, 220, 220, 220, 221, 221, 222, 222, 222, 223, 223, 223, 224, 224, 224, 225, 159, 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 164, 164, 164, 165, 165, 166, 166, 167, 167, 167, 168, 168, 169, 169, 170, 170, 171, 171, 172, 172, 173, 173, 174, 174, 175, 176, 176, 177, 177, 178, 178, 179, 180, 180, 181, 182, 182, 183, 183, 184, 185, 185, 186, 187, 187, 188, 189, 189, 190, 191, 191, 192, 193, 193, 194, 195, 195, 196, 197, 197, 198, 199, 199, 200, 201, 201, 202, 202, 203, 204, 204, 205, 206, 206, 207, 207, 208, 208, 209, 210, 210, 211, 211, 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 217, 218, 218, 219, 219, 220, 220, 220, 221, 221, 222, 222, 222, 223, 223, 223, 224, 224, 224, 225, 225, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 163, 163, 163, 164, 164, 165, 165, 165, 166, 166, 167, 167, 168, 168, 169, 169, 169, 170, 170, 171, 172, 172, 173, 173, 174, 174, 175, 175, 176, 176, 177, 178, 178, 179, 180, 180, 181, 181, 182, 183, 183, 184, 185, 185, 186, 187, 187, 188, 189, 189, 190, 191, 191, 192, 193, 193, 194, 195, 195, 196, 197, 197, 198, 199, 199, 200, 201, 201, 202, 203, 203, 204, 204, 205, 206, 206, 207, 208, 208, 209, 209, 210, 210, 211, 211, 212, 212, 213, 214, 214, 215, 215, 215, 216, 216, 217, 217, 218, 218, 219, 219, 219, 220, 220, 221, 221, 221, 222, 222, 223, 223, 223, 224, 224, 224, 225, 225, 225, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 163, 163, 163, 164, 164, 165, 165, 165, 166, 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, 171, 172, 172, 173, 173, 174, 175, 175, 176, 176, 177, 177, 178, 179, 179, 180, 181, 181, 182, 183, 183, 184, 184, 185, 186, 187, 187, 188, 189, 189, 190, 191, 191, 192, 193, 193, 194, 195, 195, 196, 197, 197, 198, 199, 200, 200, 201, 201, 202, 203, 203, 204, 205, 205, 206, 207, 207, 208, 208, 209, 209, 210, 211, 211, 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 218, 218, 219, 219, 219, 220, 220, 221, 221, 221, 222, 222, 223, 223, 223, 224, 224, 224, 225, 225, 225, 226, 158, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 163, 163, 163, 164, 164, 165, 165, 166, 166, 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, 171, 172, 173, 173, 174, 174, 175, 175, 176, 177, 177, 178, 178, 179, 180, 180, 181, 182, 182, 183, 184, 184, 185, 186, 186, 187, 188, 188, 189, 190, 191, 191, 192, 193, 193, 194, 195, 196, 196, 197, 198, 198, 199, 200, 200, 201, 202, 202, 203, 204, 204, 205, 206, 206, 207, 207, 208, 209, 209, 210, 210, 211, 211, 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 218, 218, 218, 219, 219, 220, 220, 221, 221, 221, 222, 222, 223, 223, 223, 224, 224, 224, 225, 225, 225, 226, 226, 158, 158, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 163, 163, 163, 164, 164, 165, 165, 166, 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, 171, 172, 172, 173, 173, 174, 175, 175, 176, 176, 177, 178, 178, 179, 180, 180, 181, 182, 182, 183, 184, 184, 185, 186, 186, 187, 188, 188, 189, 190, 191, 191, 192, 193, 193, 194, 195, 196, 196, 197, 198, 198, 199, 200, 200, 201, 202, 202, 203, 204, 204, 205, 206, 206, 207, 208, 208, 209, 209, 210, 211, 211, 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, 221, 222, 222, 223, 223, 223, 224, 224, 224, 225, 225, 225, 226, 226, 226, 158, 158, 158, 159, 159, 159, 160, 160, 160, 161, 161, 162, 162, 162, 163, 163, 164, 164, 164, 165, 165, 166, 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, 171, 172, 173, 173, 174, 174, 175, 176, 176, 177, 177, 178, 179, 179, 180, 181, 181, 182, 183, 183, 184, 185, 186, 186, 187, 188, 188, 189, 190, 191, 191, 192, 193, 193, 194, 195, 196, 196, 197, 198, 198, 199, 200, 201, 201, 202, 203, 203, 204, 205, 205, 206, 207, 207, 208, 208, 209, 210, 210, 211, 211, 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 218, 218, 219, 219, 220, 220, 220, 221, 221, 222, 222, 222, 223, 223, 224, 224, 224, 225, 225, 225, 226, 226, 226, 227, 157, 158, 158, 158, 159, 159, 159, 160, 160, 160, 161, 161, 162, 162, 162, 163, 163, 164, 164, 165, 165, 165, 166, 166, 167, 167, 168, 168, 169, 169, 170, 171, 171, 172, 172, 173, 173, 174, 175, 175, 176, 176, 177, 178, 178, 179, 180, 180, 181, 182, 183, 183, 184, 185, 185, 186, 187, 188, 188, 189, 190, 191, 191, 192, 193, 193, 194, 195, 196, 196, 197, 198, 199, 199, 200, 201, 201, 202, 203, 204, 204, 205, 206, 206, 207, 208, 208, 209, 209, 210, 211, 211, 212, 212, 213, 213, 214, 215, 215, 216, 216, 217, 217, 218, 218, 219, 219, 219, 220, 220, 221, 221, 222, 222, 222, 223, 223, 224, 224, 224, 225, 225, 225, 226, 226, 226, 227, 227, 157, 157, 158, 158, 158, 159, 159, 159, 160, 160, 160, 161, 161, 162, 162, 162, 163, 163, 164, 164, 165, 165, 166, 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, 171, 172, 173, 173, 174, 174, 175, 176, 176, 177, 178, 178, 179, 180, 180, 181, 182, 182, 183, 184, 185, 185, 186, 187, 187, 188, 189, 190, 190, 191, 192, 193, 194, 194, 195, 196, 197, 197, 198, 199, 199, 200, 201, 202, 202, 203, 204, 204, 205, 206, 206, 207, 208, 208, 209, 210, 210, 211, 211, 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 222, 223, 223, 224, 224, 224, 225, 225, 225, 226, 226, 226, 227, 227, 227, 156, 157, 157, 157, 158, 158, 159, 159, 159, 160, 160, 160, 161, 161, 162, 162, 162, 163, 163, 164, 164, 165, 165, 166, 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, 172, 172, 173, 173, 174, 175, 175, 176, 177, 177, 178, 179, 179, 180, 181, 181, 182, 183, 184, 184, 185, 186, 187, 187, 188, 189, 190, 190, 191, 192, 193, 194, 194, 195, 196, 197, 197, 198, 199, 200, 200, 201, 202, 203, 203, 204, 205, 205, 206, 207, 207, 208, 209, 209, 210, 211, 211, 212, 212, 213, 214, 214, 215, 215, 216, 216, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 222, 223, 223, 224, 224, 224, 225, 225, 225, 226, 226, 227, 227, 227, 228, 228, 156, 156, 157, 157, 157, 158, 158, 158, 159, 159, 160, 160, 160, 161, 161, 162, 162, 162, 163, 163, 164, 164, 165, 165, 166, 166, 167, 167, 168, 168, 169, 170, 170, 171, 171, 172, 172, 173, 174, 174, 175, 176, 176, 177, 178, 178, 179, 180, 181, 181, 182, 183, 184, 184, 185, 186, 187, 187, 188, 189, 190, 190, 191, 192, 193, 194, 194, 195, 196, 197, 197, 198, 199, 200, 200, 201, 202, 203, 203, 204, 205, 206, 206, 207, 208, 208, 209, 210, 210, 211, 212, 212, 213, 213, 214, 214, 215, 216, 216, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 226, 227, 227, 227, 228, 228, 228, 156, 156, 156, 157, 157, 157, 158, 158, 158, 159, 159, 160, 160, 160, 161, 161, 162, 162, 163, 163, 163, 164, 164, 165, 165, 166, 166, 167, 167, 168, 169, 169, 170, 170, 171, 172, 172, 173, 173, 174, 175, 175, 176, 177, 177, 178, 179, 180, 180, 181, 182, 183, 183, 184, 185, 186, 186, 187, 188, 189, 190, 190, 191, 192, 193, 194, 194, 195, 196, 197, 198, 198, 199, 200, 201, 201, 202, 203, 204, 204, 205, 206, 207, 207, 208, 209, 209, 210, 211, 211, 212, 212, 213, 214, 214, 215, 215, 216, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, 221, 222, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 226, 227, 227, 227, 228, 228, 228, 229, 155, 156, 156, 156, 157, 157, 157, 158, 158, 158, 159, 159, 160, 160, 160, 161, 161, 162, 162, 163, 163, 164, 164, 165, 165, 166, 166, 167, 167, 168, 168, 169, 169, 170, 171, 171, 172, 172, 173, 174, 174, 175, 176, 176, 177, 178, 179, 179, 180, 181, 182, 182, 183, 184, 185, 186, 186, 187, 188, 189, 190, 190, 191, 192, 193, 194, 194, 195, 196, 197, 198, 198, 199, 200, 201, 202, 202, 203, 204, 205, 205, 206, 207, 208, 208, 209, 210, 210, 211, 212, 212, 213, 213, 214, 215, 215, 216, 216, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 226, 227, 227, 227, 228, 228, 228, 229, 229, 155, 155, 156, 156, 156, 157, 157, 157, 158, 158, 158, 159, 159, 160, 160, 160, 161, 161, 162, 162, 163, 163, 164, 164, 165, 165, 166, 166, 167, 167, 168, 168, 169, 170, 170, 171, 171, 172, 173, 173, 174, 175, 176, 176, 177, 178, 178, 179, 180, 181, 181, 182, 183, 184, 185, 185, 186, 187, 188, 189, 190, 190, 191, 192, 193, 194, 194, 195, 196, 197, 198, 199, 199, 200, 201, 202, 203, 203, 204, 205, 206, 206, 207, 208, 208, 209, 210, 211, 211, 212, 213, 213, 214, 214, 215, 216, 216, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 226, 227, 227, 227, 228, 228, 228, 229, 229, 229, 155, 155, 155, 155, 156, 156, 157, 157, 157, 158, 158, 158, 159, 159, 160, 160, 160, 161, 161, 162, 162, 163, 163, 164, 164, 165, 165, 166, 166, 167, 167, 168, 169, 169, 170, 170, 171, 172, 172, 173, 174, 174, 175, 176, 177, 177, 178, 179, 180, 180, 181, 182, 183, 184, 184, 185, 186, 187, 188, 189, 189, 190, 191, 192, 193, 194, 195, 195, 196, 197, 198, 199, 200, 200, 201, 202, 203, 204, 204, 205, 206, 207, 207, 208, 209, 210, 210, 211, 212, 212, 213, 214, 214, 215, 215, 216, 217, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 226, 227, 227, 227, 228, 228, 229, 229, 229, 229, 230, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 158, 158, 158, 159, 159, 160, 160, 160, 161, 161, 162, 162, 163, 163, 164, 164, 165, 165, 166, 166, 167, 168, 168, 169, 169, 170, 171, 171, 172, 173, 173, 174, 175, 176, 176, 177, 178, 179, 179, 180, 181, 182, 183, 183, 184, 185, 186, 187, 188, 189, 189, 190, 191, 192, 193, 194, 195, 195, 196, 197, 198, 199, 200, 201, 201, 202, 203, 204, 205, 205, 206, 207, 208, 208, 209, 210, 211, 211, 212, 213, 213, 214, 215, 215, 216, 216, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 226, 227, 227, 228, 228, 228, 229, 229, 229, 230, 230, 230, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 158, 158, 158, 159, 159, 160, 160, 160, 161, 161, 162, 162, 163, 163, 164, 164, 165, 165, 166, 167, 167, 168, 168, 169, 170, 170, 171, 172, 172, 173, 174, 175, 175, 176, 177, 178, 178, 179, 180, 181, 182, 182, 183, 184, 185, 186, 187, 188, 188, 189, 190, 191, 192, 193, 194, 195, 196, 196, 197, 198, 199, 200, 201, 202, 202, 203, 204, 205, 206, 206, 207, 208, 209, 209, 210, 211, 212, 212, 213, 214, 214, 215, 216, 216, 217, 217, 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 226, 227, 227, 228, 228, 228, 229, 229, 229, 230, 230, 230, 231, 153, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 157, 158, 158, 159, 159, 160, 160, 160, 161, 161, 162, 162, 163, 163, 164, 165, 165, 166, 166, 167, 167, 168, 169, 169, 170, 171, 171, 172, 173, 173, 174, 175, 176, 176, 177, 178, 179, 180, 181, 181, 182, 183, 184, 185, 186, 187, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 197, 198, 199, 200, 201, 202, 203, 203, 204, 205, 206, 207, 208, 208, 209, 210, 211, 211, 212, 213, 213, 214, 215, 215, 216, 217, 217, 218, 218, 219, 219, 220, 221, 221, 222, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 227, 227, 227, 228, 228, 228, 229, 229, 229, 230, 230, 230, 231, 231, 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 157, 157, 157, 158, 158, 159, 159, 160, 160, 160, 161, 161, 162, 162, 163, 164, 164, 165, 165, 166, 166, 167, 168, 168, 169, 170, 170, 171, 172, 172, 173, 174, 175, 175, 176, 177, 178, 179, 179, 180, 181, 182, 183, 184, 185, 186, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 198, 199, 200, 201, 202, 203, 204, 205, 205, 206, 207, 208, 209, 209, 210, 211, 212, 212, 213, 214, 214, 215, 216, 216, 217, 218, 218, 219, 219, 220, 220, 221, 222, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 227, 227, 227, 228, 228, 229, 229, 229, 230, 230, 230, 231, 231, 231, 231, 152, 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 157, 157, 157, 158, 158, 159, 159, 160, 160, 160, 161, 161, 162, 163, 163, 164, 164, 165, 165, 166, 167, 167, 168, 168, 169, 170, 171, 171, 172, 173, 173, 174, 175, 176, 177, 177, 178, 179, 180, 181, 182, 183, 184, 185, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 199, 200, 201, 202, 203, 204, 205, 206, 207, 207, 208, 209, 210, 211, 211, 212, 213, 213, 214, 215, 216, 216, 217, 217, 218, 219, 219, 220, 220, 221, 221, 222, 223, 223, 224, 224, 224, 225, 225, 226, 226, 227, 227, 227, 228, 228, 229, 229, 229, 230, 230, 230, 231, 231, 231, 232, 232, 152, 152, 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 158, 158, 159, 159, 160, 160, 160, 161, 162, 162, 163, 163, 164, 164, 165, 165, 166, 167, 167, 168, 169, 169, 170, 171, 172, 172, 173, 174, 175, 176, 176, 177, 178, 179, 180, 181, 182, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 202, 203, 204, 205, 206, 207, 208, 208, 209, 210, 211, 212, 212, 213, 214, 215, 215, 216, 217, 217, 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, 224, 224, 224, 225, 225, 226, 226, 227, 227, 228, 228, 228, 229, 229, 229, 230, 230, 230, 231, 231, 231, 232, 232, 232, 152, 152, 152, 152, 153, 153, 153, 154, 154, 154, 155, 155, 156, 156, 156, 157, 157, 158, 158, 159, 159, 160, 160, 161, 161, 162, 162, 163, 163, 164, 164, 165, 166, 166, 167, 168, 168, 169, 170, 170, 171, 172, 173, 174, 174, 175, 176, 177, 178, 179, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 205, 206, 207, 208, 209, 210, 210, 211, 212, 213, 214, 214, 215, 216, 216, 217, 218, 218, 219, 220, 220, 221, 221, 222, 222, 223, 223, 224, 224, 225, 225, 226, 226, 227, 227, 228, 228, 228, 229, 229, 230, 230, 230, 231, 231, 231, 232, 232, 232, 232, 233, 151, 151, 152, 152, 152, 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 157, 157, 158, 158, 159, 159, 159, 160, 161, 161, 162, 162, 163, 163, 164, 165, 165, 166, 166, 167, 168, 169, 169, 170, 171, 172, 172, 173, 174, 175, 176, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 208, 209, 210, 211, 212, 212, 213, 214, 215, 215, 216, 217, 218, 218, 219, 219, 220, 221, 221, 222, 222, 223, 223, 224, 225, 225, 225, 226, 226, 227, 227, 228, 228, 229, 229, 229, 230, 230, 230, 231, 231, 231, 232, 232, 232, 233, 233, 233, 151, 151, 151, 151, 152, 152, 152, 153, 153, 153, 154, 154, 155, 155, 155, 156, 156, 157, 157, 158, 158, 158, 159, 159, 160, 161, 161, 162, 162, 163, 163, 164, 165, 165, 166, 167, 167, 168, 169, 170, 170, 171, 172, 173, 174, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 210, 211, 212, 213, 214, 214, 215, 216, 217, 217, 218, 219, 219, 220, 221, 221, 222, 222, 223, 223, 224, 225, 225, 226, 226, 226, 227, 227, 228, 228, 229, 229, 229, 230, 230, 231, 231, 231, 232, 232, 232, 233, 233, 233, 233, 234, 150, 150, 151, 151, 151, 152, 152, 152, 153, 153, 153, 154, 154, 154, 155, 155, 156, 156, 157, 157, 157, 158, 158, 159, 159, 160, 161, 161, 162, 162, 163, 163, 164, 165, 165, 166, 167, 168, 168, 169, 170, 171, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 213, 214, 215, 216, 216, 217, 218, 219, 219, 220, 221, 221, 222, 222, 223, 223, 224, 225, 225, 226, 226, 227, 227, 227, 228, 228, 229, 229, 230, 230, 230, 231, 231, 231, 232, 232, 232, 233, 233, 233, 234, 234, 234, 150, 150, 150, 151, 151, 151, 151, 152, 152, 152, 153, 153, 154, 154, 154, 155, 155, 156, 156, 156, 157, 157, 158, 158, 159, 159, 160, 161, 161, 162, 162, 163, 164, 164, 165, 166, 166, 167, 168, 169, 169, 170, 171, 172, 173, 174, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 210, 211, 212, 213, 214, 215, 215, 216, 217, 218, 218, 219, 220, 220, 221, 222, 222, 223, 223, 224, 225, 225, 226, 226, 227, 227, 228, 228, 228, 229, 229, 230, 230, 230, 231, 231, 232, 232, 232, 233, 233, 233, 233, 234, 234, 234, 235, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 152, 153, 153, 153, 154, 154, 155, 155, 155, 156, 156, 157, 157, 158, 158, 159, 159, 160, 161, 161, 162, 162, 163, 164, 164, 165, 166, 167, 167, 168, 169, 170, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 214, 215, 216, 217, 217, 218, 219, 220, 220, 221, 222, 222, 223, 223, 224, 225, 225, 226, 226, 227, 227, 228, 228, 229, 229, 229, 230, 230, 231, 231, 231, 232, 232, 232, 233, 233, 233, 234, 234, 234, 235, 235, 235, 149, 149, 149, 150, 150, 150, 150, 151, 151, 151, 152, 152, 153, 153, 153, 154, 154, 155, 155, 155, 156, 156, 157, 157, 158, 158, 159, 159, 160, 161, 161, 162, 162, 163, 164, 165, 165, 166, 167, 168, 168, 169, 170, 171, 172, 173, 174, 175, 176, 176, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 208, 208, 209, 210, 211, 212, 213, 214, 215, 216, 216, 217, 218, 219, 219, 220, 221, 222, 222, 223, 223, 224, 225, 225, 226, 226, 227, 227, 228, 228, 229, 229, 229, 230, 230, 231, 231, 231, 232, 232, 233, 233, 233, 234, 234, 234, 234, 235, 235, 235, 236, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 152, 153, 153, 154, 154, 154, 155, 155, 156, 156, 157, 157, 158, 158, 159, 159, 160, 161, 161, 162, 163, 163, 164, 165, 165, 166, 167, 168, 169, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 183, 184, 185, 186, 187, 188, 190, 191, 192, 193, 194, 196, 197, 198, 199, 200, 201, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 215, 216, 217, 218, 219, 219, 220, 221, 221, 222, 223, 223, 224, 225, 225, 226, 226, 227, 227, 228, 228, 229, 229, 230, 230, 230, 231, 231, 232, 232, 232, 233, 233, 233, 234, 234, 234, 235, 235, 235, 236, 236, 236, 148, 148, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 153, 153, 153, 154, 154, 155, 155, 156, 156, 157, 157, 158, 158, 159, 159, 160, 161, 161, 162, 163, 163, 164, 165, 166, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 185, 186, 187, 188, 190, 191, 192, 193, 194, 196, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 218, 219, 220, 221, 221, 222, 223, 223, 224, 225, 225, 226, 226, 227, 227, 228, 228, 229, 229, 230, 230, 231, 231, 231, 232, 232, 233, 233, 233, 234, 234, 234, 235, 235, 235, 236, 236, 236, 236, 237, 147, 147, 148, 148, 148, 149, 149, 149, 149, 150, 150, 150, 151, 151, 152, 152, 152, 153, 153, 154, 154, 155, 155, 155, 156, 157, 157, 158, 158, 159, 159, 160, 161, 161, 162, 163, 163, 164, 165, 166, 167, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 179, 180, 181, 182, 183, 184, 186, 187, 188, 189, 191, 192, 193, 195, 196, 197, 198, 200, 201, 202, 203, 204, 205, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 217, 218, 219, 220, 221, 221, 222, 223, 223, 224, 225, 225, 226, 226, 227, 227, 228, 229, 229, 229, 230, 230, 231, 231, 232, 232, 232, 233, 233, 234, 234, 234, 235, 235, 235, 235, 236, 236, 236, 237, 237, 237, 147, 147, 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 153, 153, 153, 154, 154, 155, 155, 156, 156, 157, 158, 158, 159, 159, 160, 161, 161, 162, 163, 164, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 183, 184, 185, 187, 188, 189, 191, 192, 193, 195, 196, 197, 199, 200, 201, 202, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 220, 221, 222, 223, 223, 224, 225, 225, 226, 226, 227, 228, 228, 229, 229, 230, 230, 231, 231, 231, 232, 232, 233, 233, 233, 234, 234, 234, 235, 235, 235, 236, 236, 236, 237, 237, 237, 237, 238, 146, 146, 147, 147, 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 152, 152, 152, 153, 153, 154, 154, 155, 155, 156, 156, 157, 157, 158, 159, 159, 160, 161, 161, 162, 163, 164, 165, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, 179, 180, 181, 183, 184, 185, 187, 188, 189, 191, 192, 193, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 219, 220, 221, 222, 223, 223, 224, 225, 225, 226, 227, 227, 228, 228, 229, 229, 230, 230, 231, 231, 232, 232, 232, 233, 233, 234, 234, 234, 235, 235, 235, 236, 236, 236, 237, 237, 237, 237, 238, 238, 238, 146, 146, 146, 146, 147, 147, 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 151, 151, 151, 152, 152, 153, 153, 154, 154, 155, 155, 156, 156, 157, 157, 158, 159, 159, 160, 161, 161, 162, 163, 164, 165, 166, 166, 167, 168, 169, 170, 171, 173, 174, 175, 176, 177, 178, 180, 181, 182, 184, 185, 186, 188, 189, 191, 192, 193, 195, 196, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 218, 219, 220, 221, 222, 223, 223, 224, 225, 225, 226, 227, 227, 228, 228, 229, 229, 230, 230, 231, 231, 232, 232, 233, 233, 233, 234, 234, 235, 235, 235, 236, 236, 236, 237, 237, 237, 237, 238, 238, 238, 238, 239, 145, 145, 146, 146, 146, 146, 147, 147, 147, 147, 148, 148, 148, 149, 149, 150, 150, 150, 151, 151, 152, 152, 152, 153, 153, 154, 154, 155, 155, 156, 157, 157, 158, 159, 159, 160, 161, 162, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 181, 182, 183, 185, 186, 188, 189, 191, 192, 193, 195, 196, 198, 199, 201, 202, 203, 205, 206, 207, 208, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 222, 223, 224, 225, 225, 226, 227, 227, 228, 229, 229, 230, 230, 231, 231, 232, 232, 232, 233, 233, 234, 234, 234, 235, 235, 236, 236, 236, 237, 237, 237, 237, 238, 238, 238, 238, 239, 239, 239, 144, 145, 145, 145, 145, 146, 146, 146, 147, 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 150, 151, 151, 152, 152, 153, 153, 154, 154, 155, 155, 156, 157, 157, 158, 159, 159, 160, 161, 162, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 175, 176, 178, 179, 180, 182, 183, 185, 186, 187, 189, 190, 192, 194, 195, 197, 198, 199, 201, 202, 204, 205, 206, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 222, 223, 224, 225, 225, 226, 227, 227, 228, 229, 229, 230, 230, 231, 231, 232, 232, 233, 233, 234, 234, 234, 235, 235, 235, 236, 236, 236, 237, 237, 237, 238, 238, 238, 239, 239, 239, 239, 240, 240, 144, 144, 144, 145, 145, 145, 145, 146, 146, 146, 147, 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 151, 151, 151, 152, 152, 153, 153, 154, 155, 155, 156, 156, 157, 158, 158, 159, 160, 161, 162, 162, 163, 164, 165, 166, 167, 168, 170, 171, 172, 173, 174, 176, 177, 178, 180, 181, 183, 184, 186, 187, 189, 190, 192, 194, 195, 197, 198, 200, 201, 203, 204, 206, 207, 208, 210, 211, 212, 213, 214, 216, 217, 218, 219, 220, 221, 222, 222, 223, 224, 225, 226, 226, 227, 228, 228, 229, 229, 230, 231, 231, 232, 232, 233, 233, 233, 234, 234, 235, 235, 235, 236, 236, 236, 237, 237, 237, 238, 238, 238, 239, 239, 239, 239, 240, 240, 240, 240, 143, 144, 144, 144, 144, 145, 145, 145, 145, 146, 146, 146, 147, 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 151, 151, 152, 152, 153, 153, 154, 154, 155, 156, 156, 157, 158, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 178, 179, 181, 182, 184, 186, 187, 189, 190, 192, 194, 195, 197, 198, 200, 202, 203, 205, 206, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 226, 227, 228, 228, 229, 230, 230, 231, 231, 232, 232, 233, 233, 234, 234, 235, 235, 235, 236, 236, 236, 237, 237, 237, 238, 238, 238, 239, 239, 239, 239, 240, 240, 240, 240, 241, 241, 143, 143, 143, 144, 144, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, 147, 147, 148, 148, 148, 149, 149, 150, 150, 150, 151, 151, 152, 152, 153, 154, 154, 155, 155, 156, 157, 158, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 172, 173, 174, 176, 177, 179, 180, 182, 184, 185, 187, 189, 190, 192, 194, 195, 197, 199, 200, 202, 204, 205, 207, 208, 210, 211, 212, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 226, 227, 228, 229, 229, 230, 230, 231, 232, 232, 233, 233, 234, 234, 234, 235, 235, 236, 236, 236, 237, 237, 237, 238, 238, 238, 239, 239, 239, 240, 240, 240, 240, 240, 241, 241, 241, 241, 142, 142, 143, 143, 143, 143, 144, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, 147, 147, 148, 148, 148, 149, 149, 150, 150, 151, 151, 152, 152, 153, 153, 154, 155, 155, 156, 157, 158, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 172, 174, 175, 177, 178, 180, 182, 183, 185, 187, 188, 190, 192, 194, 196, 197, 199, 201, 202, 204, 206, 207, 209, 210, 212, 213, 214, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 226, 227, 228, 229, 229, 230, 231, 231, 232, 232, 233, 233, 234, 234, 235, 235, 236, 236, 236, 237, 237, 237, 238, 238, 238, 239, 239, 239, 240, 240, 240, 240, 241, 241, 241, 241, 242, 242, 242, 142, 142, 142, 142, 143, 143, 143, 143, 144, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, 147, 147, 148, 148, 148, 149, 149, 150, 150, 151, 151, 152, 153, 153, 154, 154, 155, 156, 157, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 172, 173, 175, 176, 178, 179, 181, 183, 185, 186, 188, 190, 192, 194, 196, 198, 199, 201, 203, 205, 206, 208, 209, 211, 212, 214, 215, 216, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 227, 228, 229, 230, 230, 231, 231, 232, 233, 233, 234, 234, 235, 235, 236, 236, 236, 237, 237, 237, 238, 238, 238, 239, 239, 239, 240, 240, 240, 240, 241, 241, 241, 241, 242, 242, 242, 242, 243, 141, 141, 142, 142, 142, 142, 142, 143, 143, 143, 143, 144, 144, 144, 144, 145, 145, 145, 146, 146, 147, 147, 147, 148, 148, 149, 149, 150, 150, 151, 151, 152, 152, 153, 154, 154, 155, 156, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 167, 168, 169, 171, 172, 174, 176, 177, 179, 181, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 203, 205, 207, 208, 210, 212, 213, 215, 216, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 228, 229, 230, 230, 231, 232, 232, 233, 233, 234, 234, 235, 235, 236, 236, 237, 237, 237, 238, 238, 239, 239, 239, 240, 240, 240, 240, 241, 241, 241, 241, 242, 242, 242, 242, 242, 243, 243, 243, 141, 141, 141, 141, 141, 142, 142, 142, 142, 142, 143, 143, 143, 144, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, 147, 148, 148, 149, 149, 150, 150, 151, 151, 152, 153, 153, 154, 155, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 169, 170, 172, 173, 175, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 209, 211, 212, 214, 215, 217, 218, 219, 221, 222, 223, 224, 225, 226, 227, 228, 229, 229, 230, 231, 231, 232, 233, 233, 234, 234, 235, 235, 236, 236, 237, 237, 238, 238, 238, 239, 239, 239, 240, 240, 240, 240, 241, 241, 241, 242, 242, 242, 242, 242, 243, 243, 243, 243, 243, 244, 140, 140, 140, 140, 141, 141, 141, 141, 142, 142, 142, 142, 143, 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, 147, 148, 148, 149, 149, 150, 150, 151, 152, 152, 153, 154, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 168, 169, 171, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 213, 215, 216, 218, 219, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 230, 231, 232, 232, 233, 234, 234, 235, 235, 236, 236, 237, 237, 238, 238, 238, 239, 239, 239, 240, 240, 240, 241, 241, 241, 241, 242, 242, 242, 242, 243, 243, 243, 243, 244, 244, 244, 244, 244, 139, 140, 140, 140, 140, 140, 140, 141, 141, 141, 141, 142, 142, 142, 142, 143, 143, 143, 144, 144, 144, 144, 145, 145, 146, 146, 146, 147, 147, 148, 148, 149, 149, 150, 151, 151, 152, 153, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 164, 165, 167, 168, 170, 171, 173, 175, 177, 179, 181, 183, 185, 187, 190, 192, 194, 197, 199, 201, 203, 205, 207, 209, 211, 213, 214, 216, 217, 219, 220, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 231, 232, 233, 233, 234, 235, 235, 236, 236, 237, 237, 238, 238, 238, 239, 239, 240, 240, 240, 240, 241, 241, 241, 242, 242, 242, 242, 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 245, 245, 139, 139, 139, 139, 139, 140, 140, 140, 140, 140, 141, 141, 141, 141, 142, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 146, 146, 146, 147, 147, 148, 148, 149, 150, 150, 151, 152, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 167, 169, 170, 172, 174, 176, 178, 180, 183, 185, 187, 190, 192, 194, 197, 199, 201, 204, 206, 208, 210, 212, 214, 215, 217, 219, 220, 221, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 232, 233, 234, 234, 235, 236, 236, 237, 237, 238, 238, 238, 239, 239, 240, 240, 240, 241, 241, 241, 242, 242, 242, 242, 243, 243, 243, 243, 244, 244, 244, 244, 244, 245, 245, 245, 245, 245, 245, 138, 138, 138, 139, 139, 139, 139, 139, 140, 140, 140, 140, 140, 141, 141, 141, 141, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 147, 147, 148, 149, 149, 150, 150, 151, 152, 153, 154, 155, 155, 157, 158, 159, 160, 161, 163, 164, 166, 167, 169, 171, 173, 175, 177, 180, 182, 184, 187, 189, 192, 195, 197, 200, 202, 204, 207, 209, 211, 213, 215, 217, 218, 220, 221, 223, 224, 225, 226, 227, 229, 229, 230, 231, 232, 233, 234, 234, 235, 235, 236, 237, 237, 238, 238, 239, 239, 239, 240, 240, 240, 241, 241, 241, 242, 242, 242, 243, 243, 243, 243, 244, 244, 244, 244, 244, 245, 245, 245, 245, 245, 246, 246, 246, 246, 138, 138, 138, 138, 138, 138, 138, 139, 139, 139, 139, 139, 140, 140, 140, 140, 141, 141, 141, 141, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 146, 146, 147, 147, 148, 149, 149, 150, 151, 152, 152, 153, 154, 155, 156, 157, 159, 160, 161, 163, 165, 166, 168, 170, 172, 174, 176, 179, 181, 184, 187, 189, 192, 195, 197, 200, 203, 205, 208, 210, 212, 214, 216, 218, 219, 221, 223, 224, 225, 227, 228, 229, 230, 231, 232, 232, 233, 234, 235, 235, 236, 237, 237, 238, 238, 239, 239, 240, 240, 240, 241, 241, 241, 242, 242, 242, 243, 243, 243, 243, 244, 244, 244, 244, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246, 246, 246, 247, 137, 137, 137, 137, 137, 138, 138, 138, 138, 138, 139, 139, 139, 139, 139, 140, 140, 140, 140, 141, 141, 141, 141, 142, 142, 142, 143, 143, 144, 144, 144, 145, 145, 146, 146, 147, 147, 148, 149, 150, 150, 151, 152, 153, 154, 155, 156, 157, 159, 160, 162, 163, 165, 167, 169, 171, 173, 176, 178, 181, 183, 186, 189, 192, 195, 198, 201, 203, 206, 208, 211, 213, 215, 217, 219, 221, 222, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 234, 235, 236, 237, 237, 238, 238, 239, 239, 240, 240, 240, 241, 241, 242, 242, 242, 243, 243, 243, 243, 244, 244, 244, 244, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246, 247, 247, 247, 247, 247, 247, 136, 136, 137, 137, 137, 137, 137, 137, 137, 138, 138, 138, 138, 138, 139, 139, 139, 139, 139, 140, 140, 140, 141, 141, 141, 141, 142, 142, 142, 143, 143, 144, 144, 145, 145, 146, 146, 147, 148, 148, 149, 150, 151, 151, 152, 153, 155, 156, 157, 158, 160, 162, 163, 165, 167, 170, 172, 174, 177, 180, 183, 186, 189, 192, 195, 198, 201, 204, 207, 210, 212, 214, 217, 219, 221, 222, 224, 226, 227, 228, 229, 231, 232, 233, 233, 234, 235, 236, 236, 237, 238, 238, 239, 239, 240, 240, 241, 241, 242, 242, 242, 243, 243, 243, 243, 244, 244, 244, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246, 247, 247, 247, 247, 247, 247, 247, 248, 248, 248, 136, 136, 136, 136, 136, 136, 136, 137, 137, 137, 137, 137, 137, 138, 138, 138, 138, 138, 139, 139, 139, 139, 140, 140, 140, 140, 141, 141, 141, 142, 142, 143, 143, 144, 144, 144, 145, 146, 146, 147, 148, 148, 149, 150, 151, 152, 153, 154, 155, 157, 158, 160, 162, 164, 166, 168, 170, 173, 176, 179, 182, 185, 189, 192, 195, 199, 202, 205, 208, 211, 214, 216, 218, 220, 222, 224, 226, 227, 229, 230, 231, 232, 233, 234, 235, 236, 236, 237, 238, 238, 239, 240, 240, 240, 241, 241, 242, 242, 243, 243, 243, 244, 244, 244, 244, 245, 245, 245, 245, 246, 246, 246, 246, 246, 247, 247, 247, 247, 247, 247, 248, 248, 248, 248, 248, 248, 248, 248, 135, 135, 135, 135, 136, 136, 136, 136, 136, 136, 136, 136, 137, 137, 137, 137, 137, 138, 138, 138, 138, 138, 139, 139, 139, 139, 140, 140, 140, 141, 141, 141, 142, 142, 143, 143, 144, 144, 145, 146, 146, 147, 148, 148, 149, 150, 151, 153, 154, 155, 157, 158, 160, 162, 164, 166, 169, 172, 175, 178, 181, 185, 188, 192, 196, 199, 203, 206, 209, 212, 215, 218, 220, 222, 224, 226, 227, 229, 230, 231, 233, 234, 235, 236, 236, 237, 238, 238, 239, 240, 240, 241, 241, 242, 242, 243, 243, 243, 244, 244, 244, 245, 245, 245, 245, 246, 246, 246, 246, 246, 247, 247, 247, 247, 247, 248, 248, 248, 248, 248, 248, 248, 248, 249, 249, 249, 249, 249, 134, 135, 135, 135, 135, 135, 135, 135, 135, 135, 136, 136, 136, 136, 136, 136, 137, 137, 137, 137, 137, 138, 138, 138, 138, 138, 139, 139, 139, 140, 140, 140, 141, 141, 142, 142, 142, 143, 144, 144, 145, 145, 146, 147, 148, 149, 150, 151, 152, 153, 155, 156, 158, 160, 162, 165, 167, 170, 173, 176, 180, 184, 188, 192, 196, 200, 204, 208, 211, 214, 217, 219, 222, 224, 226, 228, 229, 231, 232, 233, 234, 235, 236, 237, 238, 239, 239, 240, 240, 241, 242, 242, 242, 243, 243, 244, 244, 244, 245, 245, 245, 246, 246, 246, 246, 246, 247, 247, 247, 247, 247, 248, 248, 248, 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, 249, 250, 250, 134, 134, 134, 134, 134, 134, 134, 134, 135, 135, 135, 135, 135, 135, 135, 136, 136, 136, 136, 136, 136, 137, 137, 137, 137, 137, 138, 138, 138, 139, 139, 139, 140, 140, 140, 141, 141, 142, 142, 143, 143, 144, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 156, 158, 160, 162, 165, 168, 171, 175, 179, 183, 187, 192, 197, 201, 205, 209, 213, 216, 219, 222, 224, 226, 228, 230, 231, 233, 234, 235, 236, 237, 238, 239, 240, 240, 241, 241, 242, 242, 243, 243, 244, 244, 244, 245, 245, 245, 246, 246, 246, 247, 247, 247, 247, 247, 248, 248, 248, 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 133, 133, 133, 133, 133, 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, 135, 135, 135, 135, 135, 135, 136, 136, 136, 136, 136, 137, 137, 137, 137, 138, 138, 138, 139, 139, 139, 140, 140, 141, 141, 142, 142, 143, 144, 144, 145, 146, 147, 148, 149, 150, 152, 154, 155, 158, 160, 163, 166, 169, 173, 177, 182, 187, 192, 197, 202, 207, 211, 215, 218, 221, 224, 226, 229, 230, 232, 234, 235, 236, 237, 238, 239, 240, 240, 241, 242, 242, 243, 243, 244, 244, 245, 245, 245, 246, 246, 246, 247, 247, 247, 247, 248, 248, 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 134, 134, 134, 134, 134, 134, 134, 134, 135, 135, 135, 135, 135, 135, 136, 136, 136, 136, 137, 137, 137, 137, 138, 138, 138, 139, 139, 140, 140, 141, 141, 142, 142, 143, 144, 145, 146, 147, 148, 150, 151, 153, 155, 157, 160, 163, 167, 171, 176, 181, 186, 192, 198, 203, 208, 213, 217, 221, 224, 227, 229, 231, 233, 234, 236, 237, 238, 239, 240, 241, 242, 242, 243, 243, 244, 244, 245, 245, 246, 246, 246, 247, 247, 247, 247, 248, 248, 248, 248, 249, 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 252, 132, 132, 132, 132, 132, 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 134, 134, 134, 134, 134, 134, 134, 135, 135, 135, 135, 135, 136, 136, 136, 136, 137, 137, 137, 138, 138, 138, 139, 139, 140, 140, 141, 142, 143, 144, 144, 146, 147, 148, 150, 152, 154, 157, 160, 164, 168, 173, 179, 185, 192, 199, 205, 211, 216, 220, 224, 227, 230, 232, 234, 236, 237, 238, 240, 240, 241, 242, 243, 244, 244, 245, 245, 246, 246, 246, 247, 247, 247, 248, 248, 248, 248, 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 131, 131, 131, 131, 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 133, 133, 134, 134, 134, 134, 134, 135, 135, 135, 135, 135, 136, 136, 136, 137, 137, 138, 138, 138, 139, 140, 140, 141, 142, 143, 144, 145, 147, 149, 151, 153, 156, 160, 165, 170, 176, 184, 192, 200, 208, 214, 219, 224, 228, 231, 233, 235, 237, 239, 240, 241, 242, 243, 244, 244, 245, 246, 246, 246, 247, 247, 248, 248, 248, 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 253, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 134, 134, 134, 134, 134, 135, 135, 135, 136, 136, 136, 137, 137, 138, 139, 139, 140, 141, 142, 144, 145, 147, 149, 152, 155, 160, 166, 173, 182, 192, 202, 211, 218, 224, 229, 232, 235, 237, 239, 240, 242, 243, 244, 245, 245, 246, 247, 247, 248, 248, 248, 249, 249, 249, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 132, 132, 132, 132, 132, 132, 132, 133, 133, 133, 133, 133, 134, 134, 134, 134, 135, 135, 136, 136, 137, 137, 138, 139, 140, 141, 143, 144, 147, 150, 154, 160, 168, 179, 192, 205, 216, 224, 230, 234, 237, 240, 241, 243, 244, 245, 246, 247, 247, 248, 248, 249, 249, 250, 250, 250, 250, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 129, 129, 129, 129, 129, 129, 129, 129, 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 131, 131, 131, 131, 131, 131, 131, 131, 131, 132, 132, 132, 132, 132, 133, 133, 133, 133, 134, 134, 135, 135, 136, 137, 138, 139, 141, 144, 147, 152, 160, 173, 192, 211, 224, 232, 237, 240, 243, 245, 246, 247, 248, 249, 249, 250, 250, 251, 251, 251, 251, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 131, 131, 131, 131, 131, 132, 132, 133, 133, 134, 135, 136, 138, 141, 147, 160, 192, 224, 237, 243, 246, 248, 249, 250, 251, 251, 252, 252, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 124, 124, 123, 123, 122, 121, 120, 118, 115, 109, 96, 64, 32, 19, 13, 10, 8, 7, 6, 5, 5, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 123, 123, 123, 123, 122, 122, 121, 121, 120, 119, 118, 117, 115, 112, 109, 104, 96, 83, 64, 45, 32, 24, 19, 16, 13, 11, 10, 9, 8, 7, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 122, 122, 122, 122, 121, 121, 120, 120, 119, 119, 118, 117, 116, 115, 113, 112, 109, 106, 102, 96, 88, 77, 64, 51, 40, 32, 26, 22, 19, 16, 15, 13, 12, 11, 10, 9, 9, 8, 8, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 121, 121, 121, 120, 120, 120, 119, 119, 118, 117, 117, 116, 115, 114, 112, 111, 109, 107, 104, 101, 96, 90, 83, 74, 64, 54, 45, 38, 32, 27, 24, 21, 19, 17, 16, 14, 13, 12, 11, 11, 10, 9, 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 120, 120, 120, 119, 119, 118, 118, 118, 117, 116, 116, 115, 114, 113, 112, 111, 109, 107, 105, 103, 100, 96, 91, 86, 80, 72, 64, 56, 48, 42, 37, 32, 28, 25, 23, 21, 19, 17, 16, 15, 14, 13, 12, 12, 11, 10, 10, 10, 9, 9, 8, 8, 8, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 120, 120, 120, 120, 119, 119, 119, 118, 118, 118, 117, 117, 116, 116, 115, 114, 113, 112, 112, 110, 109, 108, 106, 104, 102, 99, 96, 92, 88, 83, 77, 71, 64, 57, 51, 45, 40, 36, 32, 29, 26, 24, 22, 20, 19, 18, 16, 16, 15, 14, 13, 12, 12, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 119, 119, 119, 119, 118, 118, 118, 117, 117, 116, 116, 115, 115, 114, 114, 113, 112, 111, 110, 109, 108, 106, 105, 103, 101, 99, 96, 93, 89, 85, 80, 75, 70, 64, 58, 53, 48, 43, 39, 35, 32, 29, 27, 25, 23, 22, 20, 19, 18, 17, 16, 15, 14, 14, 13, 13, 12, 12, 11, 11, 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 119, 119, 119, 119, 118, 118, 118, 117, 117, 117, 116, 116, 115, 115, 114, 114, 113, 112, 112, 111, 110, 109, 108, 107, 106, 104, 102, 101, 98, 96, 93, 90, 87, 83, 79, 74, 69, 64, 59, 54, 49, 45, 41, 38, 35, 32, 30, 27, 26, 24, 22, 21, 20, 19, 18, 17, 16, 16, 15, 14, 14, 13, 13, 12, 12, 11, 11, 11, 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 118, 118, 118, 117, 117, 117, 116, 116, 116, 115, 115, 114, 114, 113, 113, 112, 112, 111, 110, 109, 108, 107, 106, 105, 103, 102, 100, 98, 96, 94, 91, 88, 85, 81, 77, 73, 69, 64, 59, 55, 51, 47, 43, 40, 37, 34, 32, 30, 28, 26, 25, 23, 22, 21, 20, 19, 18, 17, 16, 16, 15, 15, 14, 14, 13, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 118, 118, 118, 118, 118, 117, 117, 117, 116, 116, 116, 115, 115, 114, 114, 114, 113, 112, 112, 111, 111, 110, 109, 108, 107, 106, 105, 104, 103, 101, 100, 98, 96, 94, 91, 89, 86, 83, 80, 76, 72, 68, 64, 60, 56, 52, 48, 45, 42, 39, 37, 34, 32, 30, 28, 27, 25, 24, 23, 22, 21, 20, 19, 18, 17, 17, 16, 16, 15, 14, 14, 14, 13, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 118, 118, 118, 118, 118, 117, 117, 117, 117, 116, 116, 116, 115, 115, 115, 114, 114, 113, 113, 112, 112, 111, 110, 110, 109, 108, 108, 107, 106, 105, 103, 102, 101, 99, 98, 96, 94, 92, 90, 87, 84, 81, 78, 75, 71, 68, 64, 60, 57, 53, 50, 47, 44, 41, 38, 36, 34, 32, 30, 29, 27, 26, 25, 23, 22, 21, 20, 20, 19, 18, 18, 17, 16, 16, 15, 15, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 118, 118, 118, 118, 118, 117, 117, 117, 117, 116, 116, 116, 116, 115, 115, 115, 114, 114, 113, 113, 112, 112, 112, 111, 110, 110, 109, 108, 108, 107, 106, 105, 104, 103, 102, 101, 99, 98, 96, 94, 92, 90, 88, 86, 83, 80, 77, 74, 71, 67, 64, 61, 57, 54, 51, 48, 45, 42, 40, 38, 36, 34, 32, 30, 29, 27, 26, 25, 24, 23, 22, 21, 20, 20, 19, 18, 18, 17, 16, 16, 16, 15, 15, 14, 14, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 120, 120, 119, 119, 119, 119, 119, 119, 119, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 116, 116, 116, 115, 115, 115, 115, 114, 114, 114, 113, 113, 112, 112, 111, 111, 110, 110, 109, 108, 108, 107, 106, 105, 105, 104, 103, 101, 100, 99, 98, 96, 94, 93, 91, 89, 86, 84, 82, 79, 76, 73, 70, 67, 64, 61, 58, 55, 52, 49, 46, 44, 42, 39, 37, 35, 34, 32, 30, 29, 28, 27, 25, 24, 23, 23, 22, 21, 20, 20, 19, 18, 18, 17, 17, 16, 16, 15, 15, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 119, 119, 119, 119, 119, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 116, 116, 116, 116, 115, 115, 115, 115, 114, 114, 114, 113, 113, 112, 112, 112, 111, 111, 110, 110, 109, 109, 108, 107, 106, 106, 105, 104, 103, 102, 101, 100, 99, 97, 96, 94, 93, 91, 89, 87, 85, 83, 80, 78, 75, 73, 70, 67, 64, 61, 58, 55, 53, 50, 48, 45, 43, 41, 39, 37, 35, 34, 32, 31, 29, 28, 27, 26, 25, 24, 23, 22, 22, 21, 20, 19, 19, 18, 18, 17, 17, 16, 16, 16, 15, 15, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 116, 116, 116, 116, 115, 115, 115, 115, 114, 114, 114, 113, 113, 113, 112, 112, 112, 111, 111, 110, 110, 109, 109, 108, 107, 107, 106, 105, 104, 104, 103, 102, 101, 100, 99, 97, 96, 95, 93, 91, 90, 88, 86, 84, 82, 80, 77, 75, 72, 69, 67, 64, 61, 59, 56, 53, 51, 48, 46, 44, 42, 40, 38, 37, 35, 33, 32, 31, 29, 28, 27, 26, 25, 24, 24, 23, 22, 21, 21, 20, 19, 19, 18, 18, 17, 17, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 9, 118, 118, 118, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 115, 115, 115, 115, 114, 114, 114, 113, 113, 113, 112, 112, 112, 111, 111, 111, 110, 110, 109, 109, 108, 107, 107, 106, 106, 105, 104, 103, 102, 101, 101, 99, 98, 97, 96, 95, 93, 92, 90, 89, 87, 85, 83, 81, 79, 76, 74, 72, 69, 67, 64, 61, 59, 56, 54, 52, 49, 47, 45, 43, 41, 39, 38, 36, 35, 33, 32, 31, 30, 29, 27, 27, 26, 25, 24, 23, 22, 22, 21, 21, 20, 19, 19, 18, 18, 17, 17, 17, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 115, 115, 115, 115, 114, 114, 114, 114, 113, 113, 113, 112, 112, 112, 111, 111, 110, 110, 110, 109, 109, 108, 108, 107, 106, 106, 105, 104, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 93, 92, 91, 89, 87, 86, 84, 82, 80, 78, 76, 73, 71, 69, 66, 64, 62, 59, 57, 55, 52, 50, 48, 46, 44, 42, 41, 39, 37, 36, 35, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 24, 23, 22, 22, 21, 20, 20, 19, 19, 18, 18, 18, 17, 17, 16, 16, 16, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 117, 116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 114, 114, 114, 114, 113, 113, 113, 112, 112, 112, 112, 111, 111, 110, 110, 110, 109, 109, 108, 108, 107, 107, 106, 105, 105, 104, 103, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 92, 91, 89, 88, 86, 85, 83, 81, 79, 77, 75, 73, 71, 69, 66, 64, 62, 59, 57, 55, 53, 51, 49, 47, 45, 43, 42, 40, 39, 37, 36, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 25, 24, 23, 23, 22, 21, 21, 20, 20, 19, 19, 18, 18, 18, 17, 17, 16, 16, 16, 16, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 11, 11, 116, 116, 116, 116, 115, 115, 115, 115, 114, 114, 114, 114, 113, 113, 113, 113, 112, 112, 112, 111, 111, 111, 110, 110, 110, 109, 109, 108, 108, 107, 107, 106, 106, 105, 104, 104, 103, 102, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 91, 90, 88, 87, 85, 84, 82, 80, 78, 76, 74, 72, 70, 68, 66, 64, 62, 60, 58, 56, 54, 52, 50, 48, 46, 44, 43, 41, 40, 38, 37, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 26, 25, 24, 24, 23, 22, 22, 21, 21, 20, 20, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, 16, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 12, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 113, 113, 113, 112, 112, 112, 112, 111, 111, 111, 110, 110, 110, 109, 109, 108, 108, 107, 107, 106, 106, 105, 105, 104, 103, 103, 102, 101, 101, 100, 99, 98, 97, 96, 95, 94, 93, 91, 90, 89, 87, 86, 84, 83, 81, 80, 78, 76, 74, 72, 70, 68, 66, 64, 62, 60, 58, 56, 54, 52, 50, 48, 47, 45, 44, 42, 41, 39, 38, 37, 35, 34, 33, 32, 31, 30, 29, 28, 27, 27, 26, 25, 25, 24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, 16, 16, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 12, 115, 115, 114, 114, 114, 114, 114, 113, 113, 113, 113, 112, 112, 112, 112, 111, 111, 111, 110, 110, 109, 109, 109, 108, 108, 107, 107, 106, 106, 105, 105, 104, 104, 103, 102, 102, 101, 100, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 89, 88, 87, 85, 84, 82, 80, 79, 77, 75, 74, 72, 70, 68, 66, 64, 62, 60, 58, 56, 54, 53, 51, 49, 48, 46, 44, 43, 41, 40, 39, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 28, 27, 26, 26, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 19, 18, 18, 17, 17, 17, 16, 16, 16, 16, 15, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13, 13, 114, 114, 114, 114, 113, 113, 113, 113, 112, 112, 112, 112, 111, 111, 111, 110, 110, 110, 109, 109, 109, 108, 108, 108, 107, 107, 106, 106, 105, 105, 104, 103, 103, 102, 102, 101, 100, 99, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 88, 87, 86, 84, 83, 81, 80, 78, 77, 75, 73, 71, 70, 68, 66, 64, 62, 60, 58, 57, 55, 53, 51, 50, 48, 47, 45, 44, 42, 41, 40, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 29, 28, 27, 26, 26, 25, 25, 24, 23, 23, 22, 22, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, 16, 16, 15, 15, 15, 15, 14, 14, 14, 14, 13, 114, 114, 113, 113, 113, 113, 112, 112, 112, 112, 111, 111, 111, 110, 110, 110, 109, 109, 109, 108, 108, 108, 107, 107, 106, 106, 105, 105, 104, 104, 103, 103, 102, 101, 101, 100, 99, 98, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 86, 85, 84, 82, 81, 79, 78, 76, 74, 73, 71, 69, 68, 66, 64, 62, 60, 59, 57, 55, 54, 52, 50, 49, 47, 46, 44, 43, 42, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 30, 29, 28, 27, 27, 26, 25, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, 16, 16, 15, 15, 15, 15, 14, 14, 14, 113, 113, 113, 112, 112, 112, 112, 112, 111, 111, 111, 110, 110, 110, 109, 109, 109, 108, 108, 108, 107, 107, 106, 106, 106, 105, 105, 104, 104, 103, 102, 102, 101, 101, 100, 99, 98, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 84, 83, 82, 80, 79, 77, 76, 74, 72, 71, 69, 67, 66, 64, 62, 61, 59, 57, 56, 54, 52, 51, 49, 48, 46, 45, 44, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 30, 29, 28, 27, 27, 26, 26, 25, 24, 24, 23, 23, 22, 22, 22, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, 16, 16, 16, 15, 15, 15, 15, 113, 112, 112, 112, 112, 111, 111, 111, 111, 110, 110, 110, 109, 109, 109, 108, 108, 108, 107, 107, 107, 106, 106, 105, 105, 104, 104, 103, 103, 102, 102, 101, 100, 100, 99, 98, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 82, 81, 80, 78, 77, 75, 74, 72, 70, 69, 67, 66, 64, 62, 61, 59, 58, 56, 54, 53, 51, 50, 48, 47, 46, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 30, 29, 28, 28, 27, 26, 26, 25, 25, 24, 24, 23, 23, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 17, 16, 16, 16, 16, 15, 15, 112, 112, 112, 111, 111, 111, 111, 110, 110, 110, 109, 109, 109, 108, 108, 108, 107, 107, 107, 106, 106, 105, 105, 105, 104, 104, 103, 103, 102, 101, 101, 100, 100, 99, 98, 98, 97, 96, 95, 94, 94, 93, 92, 91, 90, 89, 88, 86, 85, 84, 83, 82, 80, 79, 78, 76, 75, 73, 72, 70, 69, 67, 66, 64, 62, 61, 59, 58, 56, 55, 53, 52, 50, 49, 48, 46, 45, 44, 43, 42, 40, 39, 38, 37, 36, 35, 34, 34, 33, 32, 31, 30, 30, 29, 28, 28, 27, 27, 26, 25, 25, 24, 24, 23, 23, 23, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 17, 16, 16, 16, 16, 112, 111, 111, 111, 111, 110, 110, 110, 109, 109, 109, 108, 108, 108, 107, 107, 107, 106, 106, 106, 105, 105, 104, 104, 103, 103, 102, 102, 101, 101, 100, 99, 99, 98, 97, 97, 96, 95, 94, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 83, 82, 81, 80, 78, 77, 76, 74, 73, 71, 70, 69, 67, 66, 64, 62, 61, 59, 58, 57, 55, 54, 52, 51, 50, 48, 47, 46, 45, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 34, 33, 32, 31, 31, 30, 29, 29, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 17, 16, 16, 111, 111, 110, 110, 110, 110, 109, 109, 109, 109, 108, 108, 108, 107, 107, 106, 106, 106, 105, 105, 104, 104, 104, 103, 103, 102, 102, 101, 101, 100, 99, 99, 98, 97, 97, 96, 95, 94, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 80, 79, 78, 77, 75, 74, 73, 71, 70, 68, 67, 65, 64, 63, 61, 60, 58, 57, 55, 54, 53, 51, 50, 49, 48, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 34, 33, 32, 31, 31, 30, 29, 29, 28, 27, 27, 26, 26, 25, 25, 24, 24, 24, 23, 23, 22, 22, 22, 21, 21, 20, 20, 20, 19, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17, 110, 110, 110, 110, 109, 109, 109, 109, 108, 108, 108, 107, 107, 107, 106, 106, 105, 105, 105, 104, 104, 103, 103, 102, 102, 101, 101, 100, 100, 99, 99, 98, 97, 97, 96, 95, 95, 94, 93, 92, 91, 90, 90, 89, 88, 87, 86, 85, 83, 82, 81, 80, 79, 78, 76, 75, 74, 72, 71, 70, 68, 67, 65, 64, 63, 61, 60, 58, 57, 56, 54, 53, 52, 50, 49, 48, 47, 46, 45, 43, 42, 41, 40, 39, 38, 38, 37, 36, 35, 34, 33, 33, 32, 31, 31, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 23, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 19, 18, 18, 18, 18, 17, 110, 110, 109, 109, 109, 109, 108, 108, 108, 107, 107, 107, 106, 106, 106, 105, 105, 104, 104, 104, 103, 103, 102, 102, 101, 101, 100, 100, 99, 99, 98, 97, 97, 96, 95, 95, 94, 93, 92, 91, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 78, 77, 76, 75, 73, 72, 71, 69, 68, 67, 65, 64, 63, 61, 60, 59, 57, 56, 55, 53, 52, 51, 50, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 37, 36, 35, 34, 33, 33, 32, 31, 31, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 24, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 19, 18, 18, 18, 109, 109, 109, 109, 108, 108, 108, 107, 107, 107, 106, 106, 106, 105, 105, 105, 104, 104, 103, 103, 103, 102, 102, 101, 101, 100, 100, 99, 98, 98, 97, 97, 96, 95, 95, 94, 93, 92, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 74, 73, 72, 71, 69, 68, 67, 65, 64, 63, 61, 60, 59, 57, 56, 55, 54, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 36, 35, 34, 33, 33, 32, 31, 31, 30, 30, 29, 28, 28, 27, 27, 26, 26, 25, 25, 25, 24, 24, 23, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 19, 18, 109, 109, 108, 108, 108, 107, 107, 107, 107, 106, 106, 106, 105, 105, 104, 104, 104, 103, 103, 102, 102, 101, 101, 101, 100, 99, 99, 98, 98, 97, 97, 96, 95, 95, 94, 93, 93, 92, 91, 90, 89, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 77, 76, 75, 74, 73, 72, 70, 69, 68, 67, 65, 64, 63, 61, 60, 59, 58, 56, 55, 54, 53, 52, 51, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 39, 38, 37, 36, 35, 35, 34, 33, 33, 32, 31, 31, 30, 30, 29, 29, 28, 27, 27, 27, 26, 26, 25, 25, 24, 24, 24, 23, 23, 22, 22, 22, 21, 21, 21, 21, 20, 20, 20, 19, 19, 19, 108, 108, 108, 108, 107, 107, 107, 106, 106, 106, 105, 105, 105, 104, 104, 103, 103, 103, 102, 102, 101, 101, 100, 100, 99, 99, 98, 98, 97, 97, 96, 95, 95, 94, 93, 93, 92, 91, 90, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 71, 70, 69, 68, 66, 65, 64, 63, 62, 60, 59, 58, 57, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 38, 37, 36, 35, 35, 34, 33, 33, 32, 31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 25, 24, 24, 23, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 20, 19, 108, 108, 107, 107, 107, 106, 106, 106, 105, 105, 105, 104, 104, 104, 103, 103, 102, 102, 102, 101, 101, 100, 100, 99, 99, 98, 98, 97, 97, 96, 95, 95, 94, 93, 93, 92, 91, 91, 90, 89, 88, 87, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 73, 72, 71, 70, 69, 68, 66, 65, 64, 63, 62, 60, 59, 58, 57, 56, 55, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 41, 40, 39, 38, 37, 37, 36, 35, 35, 34, 33, 33, 32, 31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 26, 25, 25, 24, 24, 24, 23, 23, 23, 22, 22, 22, 21, 21, 21, 20, 20, 20, 107, 107, 107, 106, 106, 106, 106, 105, 105, 105, 104, 104, 103, 103, 103, 102, 102, 101, 101, 101, 100, 100, 99, 99, 98, 98, 97, 97, 96, 95, 95, 94, 94, 93, 92, 91, 91, 90, 89, 88, 88, 87, 86, 85, 84, 83, 82, 81, 80, 80, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 67, 66, 65, 64, 63, 62, 61, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 48, 48, 47, 46, 45, 44, 43, 42, 41, 40, 40, 39, 38, 37, 37, 36, 35, 34, 34, 33, 33, 32, 31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 27, 26, 26, 25, 25, 25, 24, 24, 23, 23, 23, 22, 22, 22, 22, 21, 21, 21, 20, 107, 107, 106, 106, 106, 105, 105, 105, 104, 104, 104, 103, 103, 103, 102, 102, 101, 101, 101, 100, 100, 99, 99, 98, 98, 97, 97, 96, 95, 95, 94, 94, 93, 92, 92, 91, 90, 89, 89, 88, 87, 86, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 67, 66, 65, 64, 63, 62, 61, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 42, 41, 40, 39, 39, 38, 37, 36, 36, 35, 34, 34, 33, 33, 32, 31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 27, 26, 26, 25, 25, 25, 24, 24, 24, 23, 23, 23, 22, 22, 22, 21, 21, 21, 106, 106, 106, 105, 105, 105, 105, 104, 104, 104, 103, 103, 102, 102, 102, 101, 101, 100, 100, 100, 99, 99, 98, 98, 97, 97, 96, 95, 95, 94, 94, 93, 92, 92, 91, 90, 90, 89, 88, 87, 87, 86, 85, 84, 83, 82, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 46, 45, 44, 43, 42, 41, 41, 40, 39, 38, 38, 37, 36, 36, 35, 34, 34, 33, 33, 32, 31, 31, 30, 30, 29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 25, 25, 24, 24, 24, 23, 23, 23, 23, 22, 22, 22, 21, 106, 106, 105, 105, 105, 104, 104, 104, 103, 103, 103, 102, 102, 102, 101, 101, 100, 100, 99, 99, 99, 98, 98, 97, 97, 96, 95, 95, 94, 94, 93, 93, 92, 91, 91, 90, 89, 88, 88, 87, 86, 85, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 43, 42, 41, 40, 40, 39, 38, 37, 37, 36, 35, 35, 34, 34, 33, 33, 32, 31, 31, 30, 30, 29, 29, 29, 28, 28, 27, 27, 26, 26, 26, 25, 25, 25, 24, 24, 24, 23, 23, 23, 22, 22, 22, 105, 105, 105, 105, 104, 104, 104, 103, 103, 103, 102, 102, 101, 101, 101, 100, 100, 99, 99, 98, 98, 98, 97, 97, 96, 95, 95, 94, 94, 93, 93, 92, 91, 91, 90, 89, 89, 88, 87, 86, 86, 85, 84, 83, 82, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 46, 45, 44, 43, 42, 42, 41, 40, 39, 39, 38, 37, 37, 36, 35, 35, 34, 34, 33, 33, 32, 31, 31, 30, 30, 30, 29, 29, 28, 28, 27, 27, 27, 26, 26, 25, 25, 25, 24, 24, 24, 23, 23, 23, 23, 22, 105, 105, 104, 104, 104, 103, 103, 103, 102, 102, 102, 101, 101, 101, 100, 100, 99, 99, 98, 98, 97, 97, 97, 96, 95, 95, 94, 94, 93, 93, 92, 91, 91, 90, 90, 89, 88, 87, 87, 86, 85, 84, 84, 83, 82, 81, 80, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 48, 47, 46, 45, 44, 44, 43, 42, 41, 41, 40, 39, 38, 38, 37, 37, 36, 35, 35, 34, 34, 33, 33, 32, 31, 31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 27, 26, 26, 26, 25, 25, 25, 24, 24, 24, 23, 23, 23, 104, 104, 104, 104, 103, 103, 103, 102, 102, 102, 101, 101, 100, 100, 100, 99, 99, 98, 98, 97, 97, 96, 96, 95, 95, 94, 94, 93, 93, 92, 92, 91, 90, 90, 89, 88, 88, 87, 86, 86, 85, 84, 83, 82, 82, 81, 80, 79, 78, 77, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 51, 50, 49, 48, 47, 46, 46, 45, 44, 43, 42, 42, 41, 40, 40, 39, 38, 38, 37, 36, 36, 35, 35, 34, 34, 33, 33, 32, 32, 31, 31, 30, 30, 29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 25, 25, 25, 24, 24, 24, 24, 23, 104, 104, 103, 103, 103, 102, 102, 102, 101, 101, 101, 100, 100, 100, 99, 99, 98, 98, 97, 97, 96, 96, 96, 95, 94, 94, 93, 93, 92, 92, 91, 91, 90, 89, 89, 88, 87, 87, 86, 85, 84, 84, 83, 82, 81, 80, 80, 79, 78, 77, 76, 75, 74, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 54, 53, 52, 51, 50, 49, 48, 48, 47, 46, 45, 44, 44, 43, 42, 41, 41, 40, 39, 39, 38, 37, 37, 36, 36, 35, 35, 34, 34, 33, 32, 32, 32, 31, 31, 30, 30, 29, 29, 28, 28, 28, 27, 27, 27, 26, 26, 26, 25, 25, 25, 24, 24, 24, 104, 103, 103, 103, 102, 102, 102, 101, 101, 101, 100, 100, 99, 99, 99, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 93, 93, 92, 92, 91, 91, 90, 89, 89, 88, 88, 87, 86, 85, 85, 84, 83, 83, 82, 81, 80, 79, 79, 78, 77, 76, 75, 74, 73, 72, 71, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 57, 56, 55, 54, 53, 52, 51, 50, 49, 49, 48, 47, 46, 45, 45, 44, 43, 43, 42, 41, 40, 40, 39, 39, 38, 37, 37, 36, 36, 35, 35, 34, 33, 33, 32, 32, 32, 31, 31, 30, 30, 29, 29, 29, 28, 28, 27, 27, 27, 26, 26, 26, 25, 25, 25, 24, 24, 103, 103, 103, 102, 102, 102, 101, 101, 101, 100, 100, 99, 99, 99, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 92, 92, 91, 91, 90, 90, 89, 88, 88, 87, 86, 86, 85, 84, 84, 83, 82, 81, 81, 80, 79, 78, 77, 77, 76, 75, 74, 73, 72, 71, 70, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 58, 57, 56, 55, 54, 53, 52, 51, 51, 50, 49, 48, 47, 47, 46, 45, 44, 44, 43, 42, 42, 41, 40, 40, 39, 38, 38, 37, 37, 36, 36, 35, 34, 34, 33, 33, 32, 32, 32, 31, 31, 30, 30, 29, 29, 29, 28, 28, 27, 27, 27, 26, 26, 26, 25, 25, 25, 25, 103, 102, 102, 102, 101, 101, 101, 100, 100, 100, 99, 99, 99, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 93, 92, 91, 91, 90, 90, 89, 89, 88, 87, 87, 86, 85, 85, 84, 83, 83, 82, 81, 80, 80, 79, 78, 77, 76, 75, 75, 74, 73, 72, 71, 70, 69, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 59, 58, 57, 56, 55, 54, 53, 53, 52, 51, 50, 49, 48, 48, 47, 46, 45, 45, 44, 43, 43, 42, 41, 41, 40, 39, 39, 38, 38, 37, 37, 36, 35, 35, 34, 34, 33, 33, 32, 32, 32, 31, 31, 30, 30, 29, 29, 29, 28, 28, 28, 27, 27, 27, 26, 26, 26, 25, 25, 102, 102, 102, 101, 101, 101, 100, 100, 100, 99, 99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 93, 92, 92, 91, 91, 90, 89, 89, 88, 88, 87, 86, 86, 85, 84, 84, 83, 82, 81, 81, 80, 79, 78, 78, 77, 76, 75, 74, 74, 73, 72, 71, 70, 69, 68, 68, 67, 66, 65, 64, 63, 62, 61, 60, 60, 59, 58, 57, 56, 55, 54, 54, 53, 52, 51, 50, 50, 49, 48, 47, 47, 46, 45, 44, 44, 43, 42, 42, 41, 40, 40, 39, 39, 38, 37, 37, 36, 36, 35, 35, 34, 34, 33, 33, 32, 32, 32, 31, 31, 30, 30, 30, 29, 29, 28, 28, 28, 27, 27, 27, 26, 26, 26, 25, 102, 102, 101, 101, 101, 100, 100, 100, 99, 99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 93, 92, 92, 91, 91, 90, 90, 89, 88, 88, 87, 87, 86, 85, 85, 84, 83, 83, 82, 81, 80, 80, 79, 78, 77, 77, 76, 75, 74, 73, 73, 72, 71, 70, 69, 68, 67, 67, 66, 65, 64, 63, 62, 61, 61, 60, 59, 58, 57, 56, 55, 55, 54, 53, 52, 51, 51, 50, 49, 48, 48, 47, 46, 45, 45, 44, 43, 43, 42, 41, 41, 40, 40, 39, 38, 38, 37, 37, 36, 36, 35, 35, 34, 34, 33, 33, 32, 32, 32, 31, 31, 30, 30, 30, 29, 29, 28, 28, 28, 27, 27, 27, 26, 26, 26, 101, 101, 101, 101, 100, 100, 99, 99, 99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 93, 92, 92, 91, 91, 90, 90, 89, 89, 88, 87, 87, 86, 86, 85, 84, 84, 83, 82, 82, 81, 80, 79, 79, 78, 77, 76, 76, 75, 74, 73, 72, 72, 71, 70, 69, 68, 67, 67, 66, 65, 64, 63, 62, 61, 61, 60, 59, 58, 57, 56, 56, 55, 54, 53, 52, 52, 51, 50, 49, 49, 48, 47, 46, 46, 45, 44, 44, 43, 42, 42, 41, 41, 40, 39, 39, 38, 38, 37, 37, 36, 36, 35, 35, 34, 34, 33, 33, 32, 32, 32, 31, 31, 30, 30, 30, 29, 29, 29, 28, 28, 27, 27, 27, 27, 26, 101, 101, 100, 100, 100, 99, 99, 99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 93, 92, 92, 91, 91, 90, 90, 89, 89, 88, 88, 87, 86, 86, 85, 85, 84, 83, 83, 82, 81, 80, 80, 79, 78, 78, 77, 76, 75, 75, 74, 73, 72, 71, 71, 70, 69, 68, 67, 66, 66, 65, 64, 63, 62, 62, 61, 60, 59, 58, 57, 57, 56, 55, 54, 53, 53, 52, 51, 50, 50, 49, 48, 48, 47, 46, 45, 45, 44, 43, 43, 42, 42, 41, 40, 40, 39, 39, 38, 38, 37, 37, 36, 36, 35, 35, 34, 34, 33, 33, 32, 32, 32, 31, 31, 30, 30, 30, 29, 29, 29, 28, 28, 28, 27, 27, 27, 101, 100, 100, 100, 99, 99, 99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 93, 92, 92, 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 85, 85, 84, 84, 83, 82, 82, 81, 80, 80, 79, 78, 77, 77, 76, 75, 74, 74, 73, 72, 71, 70, 70, 69, 68, 67, 66, 66, 65, 64, 63, 62, 62, 61, 60, 59, 58, 58, 57, 56, 55, 54, 54, 53, 52, 51, 51, 50, 49, 48, 48, 47, 46, 46, 45, 44, 44, 43, 43, 42, 41, 41, 40, 40, 39, 39, 38, 38, 37, 37, 36, 36, 35, 35, 34, 34, 33, 33, 32, 32, 32, 31, 31, 30, 30, 30, 29, 29, 29, 28, 28, 28, 27, 27, 100, 100, 100, 99, 99, 99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 93, 93, 92, 92, 91, 91, 90, 90, 89, 89, 88, 87, 87, 86, 86, 85, 84, 84, 83, 83, 82, 81, 81, 80, 79, 79, 78, 77, 76, 76, 75, 74, 73, 73, 72, 71, 70, 70, 69, 68, 67, 66, 66, 65, 64, 63, 62, 62, 61, 60, 59, 58, 58, 57, 56, 55, 55, 54, 53, 52, 52, 51, 50, 49, 49, 48, 47, 47, 46, 45, 45, 44, 44, 43, 42, 42, 41, 41, 40, 39, 39, 38, 38, 37, 37, 36, 36, 35, 35, 35, 34, 34, 33, 33, 32, 32, 32, 31, 31, 30, 30, 30, 29, 29, 29, 28, 28, 28, 27, 100, 100, 99, 99, 99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 94, 93, 93, 92, 92, 91, 91, 90, 90, 89, 89, 88, 88, 87, 86, 86, 85, 85, 84, 84, 83, 82, 82, 81, 80, 80, 79, 78, 78, 77, 76, 75, 75, 74, 73, 72, 72, 71, 70, 69, 69, 68, 67, 66, 66, 65, 64, 63, 62, 62, 61, 60, 59, 59, 58, 57, 56, 56, 55, 54, 53, 53, 52, 51, 50, 50, 49, 48, 48, 47, 46, 46, 45, 44, 44, 43, 43, 42, 42, 41, 40, 40, 39, 39, 38, 38, 37, 37, 36, 36, 35, 35, 34, 34, 34, 33, 33, 32, 32, 32, 31, 31, 30, 30, 30, 29, 29, 29, 28, 28, 28, 100, 99, 99, 99, 98, 98, 97, 97, 97, 96, 96, 96, 95, 95, 94, 94, 94, 93, 93, 92, 92, 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 84, 84, 83, 83, 82, 81, 81, 80, 79, 79, 78, 77, 77, 76, 75, 75, 74, 73, 72, 72, 71, 70, 69, 69, 68, 67, 66, 66, 65, 64, 63, 62, 62, 61, 60, 59, 59, 58, 57, 56, 56, 55, 54, 53, 53, 52, 51, 51, 50, 49, 49, 48, 47, 47, 46, 45, 45, 44, 44, 43, 42, 42, 41, 41, 40, 40, 39, 39, 38, 38, 37, 37, 36, 36, 35, 35, 34, 34, 34, 33, 33, 32, 32, 32, 31, 31, 31, 30, 30, 29, 29, 29, 28, 28, 99, 99, 98, 98, 98, 97, 97, 97, 96, 96, 96, 95, 95, 94, 94, 94, 93, 93, 92, 92, 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 83, 83, 82, 82, 81, 80, 80, 79, 78, 78, 77, 76, 76, 75, 74, 74, 73, 72, 71, 71, 70, 69, 69, 68, 67, 66, 66, 65, 64, 63, 62, 62, 61, 60, 59, 59, 58, 57, 57, 56, 55, 54, 54, 53, 52, 52, 51, 50, 50, 49, 48, 48, 47, 46, 46, 45, 45, 44, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 38, 38, 37, 37, 36, 36, 35, 35, 34, 34, 34, 33, 33, 32, 32, 32, 31, 31, 31, 30, 30, 30, 29, 29, 29, 99, 98, 98, 98, 97, 97, 97, 96, 96, 96, 95, 95, 94, 94, 94, 93, 93, 92, 92, 91, 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 85, 85, 84, 84, 83, 83, 82, 81, 81, 80, 80, 79, 78, 78, 77, 76, 76, 75, 74, 73, 73, 72, 71, 71, 70, 69, 68, 68, 67, 66, 65, 65, 64, 63, 63, 62, 61, 60, 60, 59, 58, 57, 57, 56, 55, 55, 54, 53, 52, 52, 51, 50, 50, 49, 48, 48, 47, 47, 46, 45, 45, 44, 44, 43, 43, 42, 41, 41, 40, 40, 39, 39, 38, 38, 37, 37, 37, 36, 36, 35, 35, 34, 34, 34, 33, 33, 32, 32, 32, 31, 31, 31, 30, 30, 30, 29, 29, 98, 98, 98, 97, 97, 97, 96, 96, 96, 95, 95, 94, 94, 94, 93, 93, 92, 92, 92, 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 83, 83, 82, 82, 81, 80, 80, 79, 79, 78, 77, 77, 76, 75, 75, 74, 73, 73, 72, 71, 70, 70, 69, 68, 68, 67, 66, 65, 65, 64, 63, 63, 62, 61, 60, 60, 59, 58, 58, 57, 56, 55, 55, 54, 53, 53, 52, 51, 51, 50, 49, 49, 48, 48, 47, 46, 46, 45, 45, 44, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 38, 38, 37, 37, 36, 36, 36, 35, 35, 34, 34, 34, 33, 33, 32, 32, 32, 31, 31, 31, 30, 30, 30, 29, 98, 98, 97, 97, 97, 96, 96, 96, 95, 95, 95, 94, 94, 93, 93, 93, 92, 92, 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82, 81, 81, 80, 80, 79, 78, 78, 77, 76, 76, 75, 74, 74, 73, 72, 72, 71, 70, 70, 69, 68, 68, 67, 66, 65, 65, 64, 63, 63, 62, 61, 60, 60, 59, 58, 58, 57, 56, 56, 55, 54, 54, 53, 52, 52, 51, 50, 50, 49, 48, 48, 47, 47, 46, 45, 45, 44, 44, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 38, 38, 37, 37, 36, 36, 35, 35, 35, 34, 34, 33, 33, 33, 32, 32, 32, 31, 31, 31, 30, 30, 30, 98, 97, 97, 97, 96, 96, 96, 95, 95, 95, 94, 94, 93, 93, 93, 92, 92, 91, 91, 90, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 83, 83, 82, 82, 81, 81, 80, 79, 79, 78, 78, 77, 76, 76, 75, 74, 74, 73, 72, 72, 71, 70, 70, 69, 68, 68, 67, 66, 65, 65, 64, 63, 63, 62, 61, 60, 60, 59, 58, 58, 57, 56, 56, 55, 54, 54, 53, 52, 52, 51, 50, 50, 49, 49, 48, 47, 47, 46, 46, 45, 45, 44, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 38, 38, 38, 37, 37, 36, 36, 35, 35, 35, 34, 34, 33, 33, 33, 32, 32, 32, 31, 31, 31, 30, 30, 97, 97, 97, 96, 96, 96, 95, 95, 95, 94, 94, 93, 93, 93, 92, 92, 91, 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82, 81, 81, 80, 80, 79, 79, 78, 77, 77, 76, 75, 75, 74, 73, 73, 72, 72, 71, 70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62, 61, 61, 60, 59, 59, 58, 57, 56, 56, 55, 55, 54, 53, 53, 52, 51, 51, 50, 49, 49, 48, 48, 47, 47, 46, 45, 45, 44, 44, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 38, 38, 37, 37, 37, 36, 36, 35, 35, 35, 34, 34, 33, 33, 33, 32, 32, 32, 31, 31, 31, 30, 97, 97, 96, 96, 96, 95, 95, 95, 94, 94, 93, 93, 93, 92, 92, 91, 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 87, 86, 86, 85, 84, 84, 83, 83, 82, 82, 81, 81, 80, 80, 79, 78, 78, 77, 76, 76, 75, 75, 74, 73, 73, 72, 71, 71, 70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62, 61, 61, 60, 59, 59, 58, 57, 57, 56, 55, 55, 54, 53, 53, 52, 52, 51, 50, 50, 49, 48, 48, 47, 47, 46, 46, 45, 45, 44, 44, 43, 42, 42, 41, 41, 41, 40, 40, 39, 39, 38, 38, 37, 37, 37, 36, 36, 35, 35, 35, 34, 34, 33, 33, 33, 32, 32, 32, 31, 31, 31, 97, 96, 96, 96, 95, 95, 95, 94, 94, 94, 93, 93, 92, 92, 92, 91, 91, 90, 90, 89, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82, 82, 81, 80, 80, 79, 79, 78, 78, 77, 76, 76, 75, 74, 74, 73, 73, 72, 71, 71, 70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62, 61, 61, 60, 59, 59, 58, 57, 57, 56, 55, 55, 54, 54, 53, 52, 52, 51, 50, 50, 49, 49, 48, 48, 47, 46, 46, 45, 45, 44, 44, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 39, 38, 38, 37, 37, 36, 36, 36, 35, 35, 34, 34, 34, 33, 33, 33, 32, 32, 32, 31, 31, 96, 96, 96, 95, 95, 95, 94, 94, 94, 93, 93, 92, 92, 92, 91, 91, 90, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82, 82, 81, 81, 80, 80, 79, 78, 78, 77, 77, 76, 76, 75, 74, 74, 73, 72, 72, 71, 71, 70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62, 61, 61, 60, 59, 59, 58, 57, 57, 56, 56, 55, 54, 54, 53, 52, 52, 51, 51, 50, 50, 49, 48, 48, 47, 47, 46, 46, 45, 45, 44, 44, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 38, 38, 38, 37, 37, 36, 36, 36, 35, 35, 34, 34, 34, 33, 33, 33, 32, 32, 32, 31, 96, 96, 95, 95, 95, 94, 94, 94, 93, 93, 92, 92, 92, 91, 91, 91, 90, 90, 89, 89, 88, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82, 82, 81, 80, 80, 79, 79, 78, 78, 77, 77, 76, 75, 75, 74, 74, 73, 72, 72, 71, 70, 70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62, 61, 61, 60, 59, 59, 58, 58, 57, 56, 56, 55, 54, 54, 53, 53, 52, 51, 51, 50, 50, 49, 49, 48, 48, 47, 46, 46, 45, 45, 44, 44, 43, 43, 42, 42, 41, 41, 40, 40, 40, 39, 39, 38, 38, 37, 37, 37, 36, 36, 36, 35, 35, 34, 34, 34, 33, 33, 33, 32, 32, 32, 96, 95, 95, 95, 94, 94, 94, 93, 93, 93, 92, 92, 91, 91, 91, 90, 90, 89, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82, 82, 81, 81, 80, 80, 79, 79, 78, 77, 77, 76, 76, 75, 75, 74, 73, 73, 72, 72, 71, 70, 70, 69, 68, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62, 61, 61, 60, 60, 59, 58, 58, 57, 56, 56, 55, 55, 54, 53, 53, 52, 52, 51, 51, 50, 49, 49, 48, 48, 47, 47, 46, 46, 45, 45, 44, 44, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 39, 38, 38, 37, 37, 37, 36, 36, 35, 35, 35, 34, 34, 34, 33, 33, 33, 32, 32 };

Search window - Whole Word sometimes hidden

I've had this happen a few times where the File Types dropdown covers up the tickbox for 'Whole Word'.
If I close and restart 10x, it fixes itself.

2020-12-03 15_55_46-Window

I've not touched the File Types itself. Not sure of the cause.

Parser.AutoFixIndirection should correct on backspace

When Parser.AutoFixIndirection is enabled, it incorrectly changes -> to . when dealing with shared_ptr (and in some other cases too).
When it does this, it becomes difficult to fix, as the editor changes it every time.

Visual Assist has a feature where if you press backspace after it has made a change to -> or . it will undo it. I think this would be a good addition to 10x.

Docked output is not always restored in correct place

Steps to reproduce:

  1. dock windows like this:
    image
  2. close the output window
  3. build project
  4. observe that output window pops up as undocked
    image

Expected result: after closing output window and building project, the window should be restored in the same place as before closing.
Note: it's restored correctly if docked in some other places

Find function with duplicated documents

Open a file, duplicate it on another pane.
Do Ctrl+R for Find Function. Choose a function.
The original document moves to find that function, even if you had the duplicate pane active. The duplicate pane does not change.

Enable syntax highlighting when a new file is saved

Create a new file, fill it with some code, then save it as a .c, .cpp or .h file.
Syntax highlighting does not work on this file until you restart 10x or reload the project file.
Related to this, on a new file the save dialog filters for *.txt files. I think it should filter on all common file types: cpp, c, h, hpp, etc.

Steps twice through search results

I think this is new in todays build. When I press F4 to cycle through search results it seems to cycle past two results on every key press.

Bookmarks at top of documents

A lot of my files have bookmarks at line 0 or line -1, both of which are impossible to remove without manually editing the 10x workspace_settings file.
I don't know exactly how it happens, I can't reproduce it, but it seems to inevitably happen on every file I use bookmarks in.

Allow scrollbar map size adjustment

The scrollbar when in map view currently has a fixed width.
This limits it's usefulness for some cases.
Suggest exposing the width in the Settings.10x_settings file.
Recommending that approach, over dragging with mouse as I expect it is resized rarely.

Comma separated variables

They don't appear to be processed any longer:
2021-02-05 09_25_50-AllProjects_win sln - 10x

You can see the highlighting difference and gotError does not show up in intellisense etc.

Perforce client setting should be per-machine

My settings file is synced between desktop and laptop using OneDrive.
Perforce.ClientName is in the settings file which means it is always wrong when I swap between machines.
When I go to edit a file, it pops up an error (that overflows the message box) about the wrong perforce client:
2020-11-25 09_25_42-AllProjects_win sln - 10x

It then allows me to continue editing the file. I fix Perforce.ClientName in the settings file, but there is no way to manually do a check-out (that I am aware of?) and attempting to save the file results in a Read-Only error. Clicking on the red lock icon forces the file to be read-only instead of checking it out.

Some features that would help with this would be

  1. Allowing Perforce.ClientName to be part of a local settings file that is not synced.
  2. Having a menu option to do a perforce edit on the current file.
  3. Retrying a check-out when saving a read-only file.

.hpp files not visible in workspace tree

We have a lot of .hpp files in our VS solution. When I open the solution in 10x, the files are not visible in workspace tree. Find File finds only single .hpp file, while we have 10s of them in solution. C++ Goto Source/Header switches correctly from .cpp to .hpp

P.S: 10x looks awesome, it misses a lot of stuff VS has, but it's definitely going in good direction. I wich VS was this fast. Great work.

Reloading changed files

10x has always been a bit slow to reload files that have been modified externally. I'm not sure how it works but it only seems to check for file modification in certain circumstances like alt-tabbing. (unlike say, VSCode which reloads immediately on an external change).
Today I almost lost severals hours work because 10x failed to reload an externally modified file. I modified and saved it in 10x before noticing it was not the latest. The odd thing was that I had been alt-tabbing in and out dozens of times in the hours since the modification was made.
Luckily I recovered it from a continuous backup, but it is now going to worry me every time I go between editors!

Multiple searches

Having only a single search can be limiting.
Could we get tabs within the search window to have multiple searches going at once?

For a similar implementation, see the Entrian Search extension in Visual Studio. As well as tabs it has other nice features such as filtering within the search text by typing e.g. "FindMe +ext:.h" to filter only header files.

Build output / filenames error

Build output error message:
c:\program files (x86)\windows kits\10\include\10.0.17134.0\ucrt\stdlib.h(289): error C2059: syntax error: etc

When double clicking on the error message, 10x pops up an error box with:
Failed to open file: C:/Program Files - File does not exist.

I'm guessing the parsing of the line sees the (x86) brackets in the filename and assumes it is the line number.

Parser and using namespace

The parser seems to handle 'using namespace' correctly within the same file, but not from included files.
StructA is not recognised in the below example, unless I specify 'using namespace A' inside header.h instead of header2.h

10x_2a 10x_2b

Parser with macros

I know macros were not supported my the parser, but I think I read that recently you started adding support. Here is a common scenario I see in my code where the parser does not seem to understand it.

10x_4

Launching an external process using a keyboard shortcut with Shift in it

I launch external processes using keyboard shortcuts like Ctrl + Shift + B
The process takes a few seconds, but when focus returns to 10x, if I click anywhere on the file, it acts as though Shift is held down and selects everything. I have to alt-tab away and back again to fix it. I run these external processes a lot so this is a big irritation for me.

Whilst trying to make a repro case, I've found that it does not happen if I use a keyboard shortcut that does not have shift in it. So it seems like a case of 10x storing the shift down, but not registering the shift up as the shortcut executes.

Here is a way to reproduce. Save this code to test.bat:

echo Building
ping www.google.com
echo Done

Then create a python script:

def Test():
	N10X.Editor.SaveAll()
	N10X.Editor.ClearBuildOutput()
	N10X.Editor.ShowBuildOutput()
	result = run(["C:\\test.bat"], stdout=PIPE, stderr=PIPE, universal_newlines=True, shell=False)
	N10X.Editor.LogToBuildOutput( result.stdout );
	N10X.Editor.LogToBuildOutput( result.stderr );

Assign Test() to Control Shift T.

In an open file, position your cursor in some text, then do Ctrl+Shift+T. When the process completes click anywhere else in the file. The region will be selected and will continue to select everything until you either alt-tab or (I just discovered) press and release shift.

pressing esc does not exit sub-sub-menu

Pressing esc does not exit the sub-menu ("move"), like it does the direct menus ("view").
image

Expected: Would exit sub-sub-menu, like it does the view-menu / menu.

Option to show whitespace

I'd like to see an option to show whitespace please.
I miss not being able to see my tabs and spaces!

Goto Definition fails for some symbols

Steps to reproduce:

  1. download https://github.com/nem0/LumixEngine (small, 60MB repo)
  2. run projects/main.bat, choose create project
  3. open solution projects/tmp/vs2019/LumixEngine.sln in 10x
  4. open file pipeline.cpp
  5. find PROFILE_FUNCTION in pipeline.cpp
  6. press Alt-G - Goto Definition
  7. observe nothing happens

Note: it does not work for many symbols (macros, templates, simple functions)
Note: it does work for some symbols
Note: Alt-Shift-S Find Symbol... does mention the symbol as first option

Breakpoints disappear after alt-tab

Place a breakpoint in a file.
Alt-tab out and then in again to 10x.
The breakpoint gets removed, it also calls the BreakpointRemoved python callback, so it gets removed from the debugger too.

Search window opens file on top of itself

I think this is something you addressed months back but has returned.
If I have the search window docked in a pane, any files that are opened from double clicking on a result are opened on the same pane as the search window, rather than on the pane I have all my source code in.

Freezes and large memory usage

For the first time ever I noticed 10x was doing a Visual Studio and pausing whenever autocomplete needed to pop up.
Sometimes for a split second, sometimes for a number of seconds.
Task manager reported 10x was using 22GB of 32GB system, which seemed to be the cause. Closing 10x took a long time with the memory usage slowly decreasing.
Restarting 10x it goes back to using about 4GB.

Opening command prompts continuously

The update after the whitespace fix seems to be running command prompts constantly.
Its hard to kill the process as it pops up so many. They say something like TASKLIST on the top of them... ?

Whitespace oddly coloured

Some of my whitespace shows normal, and others show with the text selection colour behind it.
Selecting and unselect does nothing, but if I scroll away and return to the text then it goes away.

This screen is dark but two of the tabs have the blue selection colour in their background. Occasionally it ends up littered across all of the whitespace which looks very messy.
2021-02-12 08_03_19-Window

New indent issues

This is an old issues that has returned. 10x seems to be basing its indents on the entire file rather than the line I'm on. So in examples like this where I intentionally do not indent after the namespace, every single new line I type results in the wrong indentation. It makes typing very frustrating.

2021-04-19 14_56_33-Window

Go to Next Error goes to next line of the same error

Steps to reproduce:

  1. build any source code with errors, getting output like this:
    image
  2. press F8 - Go to Next Error, it jumps to first error
  3. press F8 again
  4. observe that it does not jump to next error, just highlights next line of the same error in output

Note: pressing F8 several times jumps to next error, this is especially annoying for template errors, which can span a lot of lines

Too easy to remove read-only

I find I accidentally click on the little lock icon, especially if I'm closing a bunch of tabs with the middle mouse button (because the lock icons position moves depending on the length of the filename).
When it happens I have to open explorer and restore it. If I don't notice doing it, then it has big implications for source control.
I feel this option should be in the right click menu, or have some kind of confirmation pop up. Anything to make it less likely to be accidentally activated.

Large parts of code lose syntax colouring

I'm regularly getting large parts of a file having all the text change to white.
It seems to happen when I edit something, and then scroll upwards, everything above the top of the screen has lost syntax highlighting. If I edit a line, or insert a new line, the colours come back (but only on or below the point I edited).
I deleted all 10x cache files, but it didn't fix it.

Show whitespace issues

From this screenshot, the tabs start at the vertical lines, but each tab is shown further to the right than the previous one.
This continues throughout the line, and so later tabs are significantly offset from their real positions.

2021-02-08 07_52_24-Window

Also, some lines end in a dot, some end in two dots, and some end with no dots. I'm not sure what that is about. Often the dots are several spaces to the right of where the line actually ends. I would expect no dots. Maybe its related to the tabs showing wrong?

2021-02-08 07_54_06-Window

(I turned down the colour of the whitespace as the default was a bit too intrusive, so you may have to look carefully on the second screenshot to see the dots at the right side)

Externally modified files are not re-indexed

I often find results in the search window that no longer exist because I either modified them externally, or a build process modified them. They don't seem to get updated until I modify and save within 10x.

Search by project

I'd like to be able to limit searches to certain projects to avoid cases where I have thousands of unwanted results.

You could add a drop down menu like Visual Studio 'Search entire Solution' or 'Current project' (where 'current' comes from the active source file), but I think a potentially more powerful solution would be to allow filtering within the search box itself.

e.g. "FindMe +proj:MyProj" could filter projects that have MyProj in it, similarly use -proj:xxx to exclude projects. This is similar to Entrian search I mentioned in the multiple searches bug.

Cannot insert any text

With today's version, if I try to type anything half way through a word, the cursor immediately jumps to the end of the word.
I cannot insert any text basically.

Autocomplete not suggesting anything outside of current file

With the latest update, autocomplete seems to suggest things that are not even close to what I'm typing.
For example, if I type 'U', it is suggesting 'gHWSpritesDoubleBuffer', and only that. This variable is declared in the current file, although there are other variables above it that autocomplete is not suggesting.
If there are no variables declared in the file, autocomplete generally does not show up at all.

I'm also getting very inconsistent behaviour across different files. Autocomplete works better in some files than in others and I can't see any obvious reason why. I've been trying to make an easy reproduction case but the behaviour keeps changing and I don't want to spend more time trying to figure it out.

Here is another weird result it came up with:
2021-01-07 13_49_38-Window
In this case I can see it is simply suggesting local variables before global typedefs (I had to click on 'more' to get UInt16/UInt32 to show up) but the suggestions are clearly way off from what I was typing.

New bug in auto indenting

See image. With your cursor at the end of the if( 2 ) line, press return then type {
10x moves the indent backwards so that it aligns with the if( 1 ) rather than if( 2 )

2021-01-12 08_54_28-AllProjects_win sln - 10x

Close brackets at wrong tab position

If I type the following whilst indented by a tab or two:
if( x )
{
}

10x will often put the closing curly bracket inset by one tab. It seems to be related to how fast I type (I can't repro when doing it slowly). It is not easy to reproduce at will, but it has happened dozens of times today. I hadn't noticed it last week.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.