diff --git a/expreduce/builtin_simplify.go b/expreduce/builtin_simplify.go index c395ecf..ea8cd80 100644 --- a/expreduce/builtin_simplify.go +++ b/expreduce/builtin_simplify.go @@ -2,9 +2,6 @@ package expreduce func GetSimplifyDefinitions() (defs []Definition) { defs = append(defs, Definition{Name: "Simplify"}) - defs = append(defs, Definition{ - Name: "FullSimplify", - OmitDocumentation: true, - }) + defs = append(defs, Definition{Name: "FullSimplify"}) return } diff --git a/expreduce/evalstate.go b/expreduce/evalstate.go index 5c7edea..d9fe97f 100644 --- a/expreduce/evalstate.go +++ b/expreduce/evalstate.go @@ -147,6 +147,7 @@ func (es *EvalState) Init(loadAllDefs bool) { es.MarkSeen("System`CosIntegral") es.MarkSeen("System`EllipticE") es.MarkSeen("System`EllipticF") + es.MarkSeen("System`ProductLog") es.MarkSeen("System`Cosh") es.MarkSeen("System`Sinh") diff --git a/expreduce/resources.go b/expreduce/resources.go index f4bd7a8..462429c 100644 --- a/expreduce/resources.go +++ b/expreduce/resources.go @@ -1105,7 +1105,7 @@ func resourcesRubi_loaderM() (*asset, error) { return a, nil } -var _resourcesSimplifyM = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x56\x6d\x6f\xdb\xc6\x0f\x7f\xef\x4f\x41\xb7\x80\x21\xa7\x4a\xf2\x8f\x9d\xfe\xb1\x25\xcb\xb6\xa2\x4b\xb0\x00\xeb\x3a\x2c\xc1\xde\x08\xaa\x73\x92\xce\xb1\x56\x59\xf2\xa4\x53\x62\x3b\xcd\x77\x1f\xc9\x3b\x3d\xd9\xf2\x43\x82\x15\x8d\x7c\x22\xf9\xfb\x1d\xc9\xa3\x8e\xbc\x09\xa7\xb3\x28\x1c\x2f\xce\xce\xf2\x4c\xdc\x4b\xb8\x80\x37\x77\x85\xcc\x91\xf3\x59\xea\xde\x81\x50\x4a\x4e\x67\x2a\x03\x95\xc0\x4c\xa6\xe3\x24\x9d\x42\xa6\x6d\x42\x5f\xa8\x30\x89\x21\x41\x39\xaf\x32\xc0\xb7\x3b\x02\xde\x1d\xbd\x39\xef\x78\x49\x12\x49\x11\xd7\x19\x47\x2e\x9c\x5d\x00\x2e\xe0\xf8\xf8\x08\x9e\x3a\x80\xff\xac\x03\x31\x82\x5e\x0f\xf0\x09\x67\x3f\x82\xb0\x0f\xfa\x95\xfc\xdb\xb7\x86\x9c\x15\xdd\x39\xcb\xbb\x0b\xad\xe8\x5a\x73\x82\x2f\xfa\xf6\x9a\x96\x7e\x97\x75\x1b\x7a\x2c\x8d\xa1\x75\x70\x3b\x09\x33\xc0\xff\x02\xee\x65\x8c\x31\x44\xe1\xd2\x44\x34\x06\x35\x91\x20\xbc\xe4\x41\x42\x9a\x47\xd2\x06\x2f\x57\xe0\x8b\x3c\x93\x84\xc8\x72\x99\x95\x5e\x32\xcb\x2c\x4d\xbc\x48\x4e\x41\xf8\x2a\x17\x51\xb4\x80\x89\x98\xcd\x24\x65\x24\x57\x59\x18\x48\xa2\xbc\xc4\xc4\xc8\x20\xf7\x91\x38\x83\x47\x19\x45\x47\x35\x0e\xa9\x69\xc9\x1d\x35\x11\x8a\xf7\xff\x9c\xc2\x63\xa8\x26\xbc\x9e\xd1\x41\xa4\x31\x84\x31\xd3\xc9\x07\x11\xe5\x42\xd5\xdc\x08\xa7\x53\x19\x84\x28\xc2\xcd\xf1\xac\xfe\xce\x33\x55\x07\xda\x10\x20\x3b\x2a\x26\xc9\x23\x13\x27\xe9\xd7\xec\x08\xc8\xf9\x92\xa2\xf0\xd9\x93\x78\xcc\xd5\x96\x53\xa1\xfc\x49\x18\xdf\xdb\x9c\x00\x5c\x00\x46\x08\x5f\xc3\x38\xc0\xf0\xc6\x25\x9a\xce\x5d\x66\x19\xd5\x81\x8d\xfe\xc9\xb8\x8c\x1d\xb7\x6b\x28\xd1\x0b\xe6\xac\xe2\xff\x9c\x3a\x2c\x19\x8d\x7e\xb2\x3e\x44\xd1\x6d\x9a\x4b\xe7\xad\x0d\xd6\xaf\x52\x04\xce\x5b\x17\x2e\x2e\xe0\xf7\x44\x41\xaf\xef\xf2\x1f\x9e\x28\xbe\x3a\xd6\x5b\xc7\x39\x71\x49\x04\xc7\x3f\x6b\x4a\xb7\xac\x92\xa2\x7c\x2c\x5d\x5d\xde\xa8\xdf\x5a\x5d\xdd\x42\xcd\x5a\x92\x78\x15\x85\x36\x21\x28\x9a\x98\x37\xdf\x10\x31\xb7\x47\x0a\xbf\x28\x28\xcf\xd4\xab\x36\xf7\xcb\xb7\x76\x73\x8c\x79\x34\x1a\xd9\x68\x61\x03\x2f\x28\xa4\x0f\x71\xd0\x90\xba\x40\x14\xae\x59\x23\x11\xa5\xa6\x89\xdf\x05\xab\x09\x57\xf1\xf3\x93\x52\x3f\x1f\xf0\x92\x88\xe6\xc3\x4a\x7a\x4a\x38\xfc\x7d\x5f\xe0\x11\x25\xf0\xfd\x84\x10\x24\x77\x57\xc9\x98\x61\x50\x31\x0c\x0d\xc3\x69\x25\x6a\x23\x3b\x6d\x25\xab\x79\x56\x91\xb5\xb8\x31\xdc\x86\xac\xc5\xd4\xdd\x27\x28\x6d\x4f\x76\xee\xae\x08\xbb\x2f\x08\x51\xc3\xb4\xb3\x55\xbc\xa6\x18\x7f\xc1\x5b\xc3\x5c\x3b\x99\xbe\x72\xb2\xe2\xeb\x58\x3d\x5b\x7d\xe2\x2b\xd5\xb3\x56\x27\x57\x22\xca\xcc\x41\x97\x04\x3b\x70\xcd\x42\x59\x21\x58\x4f\x2b\x25\x64\x5b\xa5\x10\xaa\xad\x54\x6a\x6c\x44\xb1\x67\xa9\xd4\xd9\x4e\xdb\xd9\x36\x16\xcb\xaa\x27\xc3\xad\xd8\x2a\xae\x0d\xd5\xb2\x42\xc7\xf6\xab\xd5\xd2\x1a\xe4\xee\x6a\xa9\x51\x33\xac\x59\x2d\x9d\xe7\xf3\x8e\xe9\xbd\x8b\xeb\x18\x3b\x56\xd5\x52\x3f\x25\x01\xd6\x8c\xf3\x44\x4d\x1c\x85\x78\xc7\xa6\x8b\xbf\x44\xf4\xac\xbd\x21\xe9\x5a\x37\x76\xcf\x59\xa7\x0d\x09\x86\x3d\x99\x7a\x94\x88\x03\xad\xb9\x1e\x3b\xbf\x49\x31\xfe\x98\xe4\xb1\x72\xb4\x99\x0b\x3f\x40\x25\x93\xe8\x1a\x51\x1b\xdd\x79\xb9\xd7\x9f\x72\x16\x09\x5f\x3a\xd8\x37\x6f\xfe\x49\x95\x13\x92\xb3\x3a\x42\x7e\xbf\xc2\x36\x99\xa4\xb7\x32\x9d\x66\x5a\xe7\xba\x05\xba\x83\x8b\xf5\x89\xe1\x93\x98\x39\x8d\xc8\x6d\x1d\xe5\xd3\xff\x6c\xb8\x8e\xc7\x61\x1c\xaa\xc5\x33\x22\x3f\x28\x95\x86\xd8\xaa\x65\xe6\x14\x24\xd8\x3c\xe0\xe9\x8f\x34\x51\xd2\x57\x32\xc0\x0c\xde\xca\x4c\x65\xe5\x9c\x43\x5a\xde\xf9\x92\x25\xf2\x72\x2e\xe8\x27\x73\x58\xc8\x8a\x8f\x09\xb6\x56\x0c\xb7\x1a\x8e\xee\xb0\x13\xc6\xc5\x18\xb4\x80\x2c\x99\xca\x22\xbf\xf5\x4e\x77\xf4\xc6\x54\x83\xe6\x17\x53\x49\x7b\x3b\x1e\x4e\x13\xdc\x73\x28\xe1\xa5\x9b\x6d\x96\xfa\x1b\xc4\xe6\xc1\xd6\xf8\xe8\xee\xc6\x34\x3b\x0d\x76\x2d\x6e\x61\xa6\x83\x71\x03\xeb\xef\xc7\xe1\xd9\xba\x6b\x75\x8b\xfd\x77\xa1\xb8\xb5\x98\x1e\x5a\x00\xf9\xa7\x09\x65\x24\x56\xce\x25\x1f\x44\x95\x67\xeb\xe0\x46\xca\x29\x4e\x46\x69\x42\xb3\x06\x0d\x5c\xca\x0c\x68\x34\xc7\xa4\xe1\xfd\x44\xe1\x68\x32\x11\x0f\x61\x92\x9a\xbb\x71\xc5\x6d\xb3\xbb\xc5\x0e\x17\x75\xb1\x67\xb8\xb5\x94\xb1\xf7\xc2\x74\x71\xb3\x6e\x72\x6c\x8c\xde\xaa\xc2\x67\x24\x8f\x29\xd5\xf9\xf9\x7d\x77\xb7\x3b\xfb\x31\xd1\x23\x78\x3d\x5d\xf0\xdf\x7a\x57\xd2\x89\x17\x50\x2c\x2b\x8e\x65\xe5\xce\xa2\xf2\x87\x97\xc1\x62\xdd\xad\x9d\x87\x5f\xcf\xd1\x4e\x7f\x02\x5b\xfb\xff\x1a\x28\xe1\xa4\xc1\xcb\x57\x92\x70\x0a\x0a\x27\xbc\xdd\x24\xbc\x4e\x52\xb5\x25\xb9\x5b\xa9\x5a\x3e\xca\x36\xa6\x71\x92\x30\x1b\x7e\xab\xb4\xdc\x83\xd2\xdd\x33\x5f\xab\x24\xfd\x4d\x09\xdc\x9d\xbb\xa5\x0d\x5c\x3b\xcb\xfd\xbe\xf2\xc2\x5c\xac\x61\xb6\x26\xb5\x28\xae\x3d\x6f\xc2\xe6\xfd\xf9\x22\x10\x7f\x0d\x06\xe9\x6f\xba\x7e\xb7\xfb\xba\x95\xa7\xab\x8f\xec\x85\x74\x9a\xc1\xdb\xcc\xd7\x7d\x15\xa3\xd5\xd5\xe7\x1c\xf4\xb7\x33\x93\xc9\x2b\xe8\xe9\x3e\xf1\xb0\x7a\xfd\xf2\xc4\xb5\x64\x6f\x2a\xd3\x7f\xf5\x30\x87\x2e\xea\x81\xcf\x8c\xd1\x34\xf4\x09\x9e\xfb\xf4\xe0\xb7\xc7\x01\x63\x1c\xf3\x13\x7e\x0e\xf8\xf9\x7e\x8d\xbb\xc1\xfb\x02\x5a\x3a\x9a\x5e\xcf\xeb\xf5\xc4\xf1\xf1\x56\x6b\xeb\x70\x38\x78\x37\x1c\xc0\xfc\xf0\xe4\xff\x30\xff\x32\xe8\x7f\xf9\x1e\xaf\x62\x5c\xbf\x83\xef\xc0\x3a\xa4\xdf\x53\x98\xc3\x21\x0c\x58\x8b\xea\x16\x07\x78\x12\xed\x5c\xe5\x51\x54\x8d\x6a\x7a\x50\x6b\x8c\x97\xb5\x69\xac\x6e\xbb\x36\x91\xfd\x1b\x00\x00\xff\xff\xc7\xf8\x29\x7a\x88\x12\x00\x00") +var _resourcesSimplifyM = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x58\x6d\x6f\xdb\x46\x0c\xfe\x9e\x5f\x41\xb7\x80\x21\xa7\x4a\xbc\x38\xe9\xb0\x25\x4b\xb7\xa2\x4b\xb1\x02\xeb\x3a\x2c\xc1\xbe\x08\x8a\x73\x92\xce\xb1\x56\xbd\x78\xd2\xa9\x95\x9d\xe6\xbf\x8f\xe4\xe9\xd5\x96\x6d\x25\x58\xd1\x48\x27\x92\xcf\x73\x24\x8f\x12\x09\x5f\xfb\xe1\x22\xf0\x67\xcb\xf3\xf3\x2c\x15\xf7\x12\x2e\xe1\xc5\x5d\x29\xb3\x64\xbe\x48\xec\x3b\x10\x4a\xc9\x70\xa1\x52\x50\x31\x2c\x64\x32\x8b\x93\x10\x52\x6d\xe3\xbb\x42\xf9\x71\x04\x31\xca\x79\x95\x02\x3e\xdd\x11\xf0\xee\xf8\xc5\xc5\x81\x13\xc7\x81\x14\x51\x93\x71\x6a\xc3\xf9\x25\xe0\x02\xc6\xe3\x63\x78\x38\x00\xfc\x67\x1c\x8a\x29\x0c\x87\x80\x57\x38\x7f\x03\xc2\x3c\x1c\xd5\xf2\x6f\xdf\x5a\x72\x56\x0c\x72\x96\x0f\x96\x5a\x31\x30\x72\x82\x2f\x47\xe6\x86\x96\xee\xab\xa6\x0d\x5d\x56\x85\xa1\x71\x78\x33\xf7\x53\xc0\xff\x02\xee\x65\x84\x31\x04\xfe\xaa\x88\x68\x06\x6a\x2e\x41\x38\xf1\x17\x09\x49\x16\x48\x13\x9c\x4c\x81\x2b\xb2\x54\x12\x22\xcd\x64\x5a\x79\xc9\x2c\x8b\x24\x76\x02\x19\x82\x70\x55\x26\x82\x60\x09\x73\xb1\x58\x48\xca\x48\xa6\x52\xdf\x93\x44\x79\x85\x89\x91\x5e\xe6\x22\x71\x0a\x5f\x65\x10\x1c\x37\x38\xa4\xa6\x25\x77\xd4\x5c\x28\xde\xff\x53\x02\x5f\x7d\x35\xe7\xf5\x82\x0e\x22\x89\xc0\x8f\x98\x4e\x7e\x11\x41\x26\x54\xc3\x0d\x3f\x0c\xa5\xe7\xa3\x08\x37\xc7\xb3\xfa\x27\x4b\x55\x13\x68\x82\x87\xec\xa8\x98\xc7\x5f\x99\x38\x4e\x3e\xa7\xc7\x40\xce\x57\x14\xa5\xcf\x8e\xc4\x63\xae\xb7\x0c\x85\x72\xe7\x7e\x74\x6f\x72\x02\x70\x01\x18\x21\x7c\xf6\x23\x0f\xc3\x9b\x55\x68\x3a\x77\x99\xa6\x54\x07\x26\xfa\x27\xa3\x2a\x76\xdc\xae\xa5\x44\x2f\x98\xb3\x8e\xff\x53\x62\xb1\x64\x3a\xfd\xd9\x78\x1b\x04\x37\x49\x26\xad\x97\x26\x18\xbf\x49\xe1\x59\x2f\x6d\xb8\xbc\x84\x3f\x62\x05\xc3\x91\xcd\x7f\x78\xa2\xf8\x68\x19\x2f\x2d\xeb\xc4\x26\x11\x8c\x7f\xd1\x94\x76\x55\x25\x65\xf9\x18\xba\xba\x9c\xe9\xa8\xb3\xba\x06\xa5\x9a\xb5\x24\x71\x6a\x0a\x6d\x42\x50\x34\x29\x9e\xdc\x82\x88\xb9\x1d\x52\xb8\x65\x41\x39\x45\xbd\x6a\x73\xb7\x7a\xea\x36\xc7\x98\xa7\xd3\xa9\x89\x16\x26\xf0\x82\x42\x7a\x1b\x79\x2d\xa9\x0d\x44\x61\x17\x6b\x24\xa2\xd4\xb4\xf1\xfb\x60\x0d\xe1\x3a\x3e\x3f\xa9\xf4\xf9\x84\x97\x44\x94\x9f\xd6\xd2\x33\xc2\xe1\xfd\x75\x89\x47\x94\xc0\xe7\x13\x42\x90\xdc\x5e\x27\x63\x86\x49\xcd\x70\x5a\x30\x9c\xd5\xa2\x2e\xb2\xb3\x4e\xb2\x86\x67\x35\x59\x87\x1b\xa7\xbb\x90\x8d\x98\x06\x7d\x82\xd2\xf6\x64\x67\xef\x8b\x70\xf0\x84\x10\x35\x4c\x3b\x5b\xc7\x5b\x14\xe3\xaf\xf8\xd5\x28\x3e\x3b\xa9\xfe\xe4\xa4\xe5\xdb\xb1\x7e\xb6\xfa\xc4\xd7\xaa\x67\xa3\x4e\xde\x8b\x20\x2d\x0e\xba\x22\xd8\x83\x6b\x17\xca\x1a\xc1\x66\x5a\x29\x21\xbb\x2a\x85\x50\x5d\xa5\xd2\x60\x23\x8a\x9e\xa5\xd2\x64\x3b\xeb\x66\xdb\x5a\x2c\xeb\x9e\x9c\xee\xc4\xd6\x71\x6d\xa9\x96\x35\x3a\xb6\x5f\xaf\x96\xce\x20\xf7\x57\x4b\x83\x9a\x61\xed\x6a\x39\x78\xbc\x38\x28\x7a\xef\xf2\x43\x84\x1d\xab\x6e\xa9\x1f\x63\x0f\x6b\xc6\x7a\xa0\x26\x8e\x42\xfc\xc6\x26\xcb\xbf\x45\xf0\xa8\xbd\x21\xe9\x46\x37\xb6\x2f\x58\xa7\x0d\x09\x86\x3d\x99\x7a\x94\x88\x3c\xad\xf9\x30\xb3\x7e\x97\x62\xf6\x2e\xce\x22\x65\x69\x33\x1b\x7e\x82\x5a\x26\xd1\x35\xa2\x2e\x74\x17\xd5\x5e\x7f\xc9\x45\x20\x5c\x69\x61\xdf\xbc\xfe\x37\x51\x96\x4f\xce\xea\x08\xf9\xf9\x3d\xb6\xc9\x38\xb9\x91\x49\x98\x6a\x9d\x6d\x97\xe8\x03\x5c\x6c\x4e\x0c\x1f\xc5\xc2\x6a\x45\x6e\xea\x28\x1f\xbe\x33\xe1\x43\x34\xf3\x23\x5f\x2d\x1f\x11\xf9\x56\xa9\xc4\xc7\x56\x2d\x53\xab\x24\xc1\xe6\x01\x0f\x7f\x26\xb1\x92\xae\x92\x1e\x66\xf0\x46\xa6\x2a\xad\xe6\x1c\xd2\xf2\xce\x57\x2c\x91\x57\xb9\xa0\x5b\x6a\xb1\x90\x15\xef\x62\x6c\xad\x18\x6e\x3d\x1c\xdd\x61\x27\x8c\xca\x31\x68\x09\x69\x1c\xca\x32\xbf\xcd\x4e\x77\xfc\xa2\xa8\x06\xcd\x2f\x42\x49\x7b\x5b\x0e\x4e\x13\xdc\x73\x28\xe1\x95\x9b\x5d\x96\xfa\x1d\xc4\xe6\xc1\xd6\x78\x19\xec\xc7\xb4\x3b\x0d\x76\x2d\x6e\x61\x45\x07\xe3\x06\x36\xea\xc7\xe1\x98\xba\x6b\x0d\xca\xfd\xf7\xa1\xb8\xb5\x14\x3d\xb4\x04\xf2\xad\x0d\x65\x24\x56\xce\x15\x1f\x44\x9d\x67\xe3\xf0\x5a\xca\x10\x27\xa3\x24\xa6\x59\x83\x06\x2e\x55\x0c\x68\x34\xc7\x24\xfe\xfd\x5c\xe1\x68\x32\x17\x5f\xfc\x38\x29\xbe\x8d\x6b\x6e\x17\xbb\x1b\xec\x70\x59\x17\x3d\xc3\x6d\xa4\x8c\xbd\x17\x45\x17\x2f\xd6\x6d\x8e\xad\xd1\x1b\x75\xf8\x8c\xe4\x31\xa5\x3e\x3f\x77\x64\xef\x77\xa7\x1f\x13\x5d\xbc\xe7\xd3\x79\xff\xaf\x77\x15\x9d\x78\x02\xc5\xaa\xe6\x58\xd5\xee\x2c\x6b\x7f\x78\xe9\x2d\x37\xdd\xda\x7b\xf8\xcd\x1c\xed\xf5\xc7\x33\xb5\xff\xcf\x81\x12\x4e\x16\x78\xf9\x4c\x12\x4e\x41\xe9\x84\xb3\x9f\x84\xd7\x71\xa2\x76\x24\x77\x27\x55\xc7\x4b\xd9\xc5\x34\x8b\x63\x66\xc3\x77\x95\x96\x3d\x28\xed\x9e\xf9\x5a\x27\x19\x6d\x4b\xe0\xfe\xdc\xad\x4c\xe0\xda\x59\xf5\x7b\xcb\x4b\x73\xb1\x81\xd9\x99\xd4\xb2\xb8\x7a\x7e\x09\xdb\xdf\xcf\x27\x81\xf8\x6d\x28\x90\xee\xb6\xcf\xef\x6e\x5f\x77\xf2\x0c\xf4\x91\x3d\x91\x4e\x33\x38\xdb\xf9\x06\xcf\x62\x34\x06\xfa\x9c\xbd\xd1\x6e\x66\x32\x79\x06\x3d\x7d\x4f\x1c\xac\x5e\xb7\x3a\x71\x2d\xe9\x4d\x55\xf4\x5f\x3d\xcc\xa1\x8b\x7a\xe0\x2b\xc6\x68\x1a\xfa\x04\xcf\x7d\x7a\xf0\xeb\x71\xc0\x18\x47\x7e\xc2\xd7\x09\x5f\x5f\x6f\x70\xb7\x78\x9f\x40\x4b\x47\x33\x1c\x3a\xc3\xa1\x18\x8f\x77\x5a\x1b\x47\xa7\x93\x57\xa7\x13\xc8\x8f\x4e\xbe\x87\xfc\x76\x32\xba\xfd\x11\x3f\xc5\xb8\x7e\x05\x3f\x80\x71\x44\xf7\x33\xc8\xe1\x08\x26\xac\x45\x75\x87\x03\x3c\x89\x1e\xbc\xcf\x82\xa0\xeb\x27\xa4\xa6\x7c\xd7\xcf\x48\x33\xb4\xeb\xfb\x5b\x52\x9b\x53\x0f\x85\x8d\x51\xb6\xf1\x73\xd2\xd5\xad\x71\x94\x4f\xaf\x97\xa1\x13\x07\xa3\x57\x57\xb7\xe5\xfa\xfc\xcd\x04\xde\xc5\xe9\xdc\xca\xd9\xfb\xc6\xa4\xd8\xe4\xde\x32\x2d\x36\x4d\x7a\x4c\x8c\x55\xb6\xab\x2d\x71\xdc\xb9\x3d\xca\xc9\x9d\xf1\xb8\xb5\x5f\x33\xa1\xff\x05\x00\x00\xff\xff\xf6\x4f\x54\x4e\x90\x13\x00\x00") func resourcesSimplifyMBytes() ([]byte, error) { return bindataRead( @@ -1120,12 +1120,12 @@ func resourcesSimplifyM() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "resources/simplify.m", size: 4744, mode: os.FileMode(420), modTime: time.Unix(1516265015, 0)} + info := bindataFileInfo{name: "resources/simplify.m", size: 5008, mode: os.FileMode(420), modTime: time.Unix(1516864113, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _resourcesSolveM = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xd4\x5b\x7d\x57\xdb\x48\x77\xff\x9f\x4f\x31\x4b\x5a\x6a\x63\xc9\xc2\x86\x24\xcf\x62\x4c\x97\xb0\xce\x79\xdc\x87\x04\x16\xd3\xf6\xb4\xae\x30\x63\x69\x0c\x3a\x2b\x4b\x8e\x24\x07\x7b\x89\xbf\x7b\xef\x9d\x17\x69\x24\x4b\xc6\x84\xec\xf6\x34\xe7\x04\xcb\xa3\xb9\xf7\xfe\xee\xcb\xdc\xb9\xf3\xe2\x41\xe8\x7f\x65\xc7\xc7\xf3\x98\xde\x33\xd2\x25\xbb\x77\xbc\x61\xc8\xbe\x04\x06\xf9\x4a\x23\xfb\x8e\xc4\xd8\x10\x93\x3b\x68\xba\x23\x93\x30\x22\x77\xd0\x7e\xd7\xdc\xed\xec\xec\x38\xe1\x3c\x48\xfe\x83\x46\x43\xb6\x98\x45\x23\x4e\x30\x1a\x2c\xa7\xe3\xd0\xb7\xc9\x71\x97\xec\x10\xd2\x9f\xf0\x77\xa4\xdb\xed\xe2\x5b\x83\xb4\x0c\x72\x8e\x54\xbc\xd9\x10\x6d\x66\xcb\xb6\x39\xb7\x20\xa1\x5e\x10\x5f\x06\xec\xd2\x71\xe6\x51\xc4\x02\x87\x23\x19\xf5\xbe\xcc\xa9\x5f\xc6\x5e\xb2\x92\x60\x39\x27\x10\x45\x5a\x9d\x94\xd9\x7f\xb3\x28\xcc\xb8\xc5\xdf\xc5\xee\x00\xc1\x3d\x30\xe7\x77\xe6\x9e\x87\x81\xeb\x25\x5e\x18\x50\xbf\x07\x0a\xb0\x38\x86\xe7\x21\x03\xdd\x9d\x91\xe2\xf2\x29\x74\xe7\x3e\x1b\x3e\x05\x6c\x91\x9c\x83\x4d\x41\x65\xe8\x88\x7f\x66\xf0\x37\x60\x8f\xd8\x68\xb6\x56\x06\xf4\x25\xff\xf9\xe0\x41\xdf\x9b\x68\xce\x0c\x34\x96\x44\x00\x46\x1a\x72\x72\x5b\x80\x38\x25\x07\x48\x09\x0d\x8d\x86\x41\x3e\x44\x8c\xfe\x3e\xb4\xd1\x68\xc0\x01\x78\x03\xbf\x0a\x60\x80\x4b\xf5\x9a\x61\xb7\xa7\x55\xa7\x20\x15\xbf\x66\x92\x39\x50\x94\xfd\xa8\x8b\xe6\x7d\xc8\xd9\x6c\xc6\x02\xf7\x26\x1c\x0a\x45\x64\x2f\x62\x9e\xc2\xa3\xc9\x9f\xed\x0e\x57\xcf\x34\x25\x45\x19\x50\xfc\x6b\x35\x91\x7a\xd4\x0f\x12\x76\xcf\xa2\x7f\xbd\x0a\x63\x80\xfe\x95\x81\x01\x91\x57\x40\x1a\xe4\x82\x05\xf7\xc9\x03\x97\xa4\x51\x03\x1d\x6f\x01\x7f\xd0\xd9\xcc\x5f\xf6\x83\xaf\x2c\x8a\xd9\xd0\x7f\x88\x47\x57\xfe\x3c\x46\x2c\x11\x3c\xaf\xf9\x36\x75\x49\x18\x40\xb8\x5e\xd1\x28\x89\x85\xf9\xb5\x06\xc0\x36\x60\x3e\x73\x12\x64\x67\x90\x5a\x1a\xdc\x6f\xc4\x48\xe0\x31\x7c\x50\x27\x7b\x02\xcf\x57\x45\x06\xff\x9e\xa5\xfc\x49\xa7\x7c\x4a\x49\x05\x5c\x62\xea\x30\x56\xd0\x69\x4d\xb9\x1b\x6f\xca\xfe\xbf\x6a\x67\x6d\xd4\x6e\x4c\x63\x36\xba\x9d\x85\x8f\xa3\x4a\xf5\x20\x38\x53\x99\xd8\x5d\x17\x8b\x6a\xd6\xf6\xb1\x81\x78\x01\xc1\xb7\x64\xbf\x0e\x6d\x83\x47\x2f\x71\x1e\x86\xc0\x57\x84\xa2\x09\x83\x30\xf7\xef\x89\xf7\x05\x91\x2d\x0b\x84\x0a\x73\x91\x76\xa1\x53\xd6\xcb\x1c\x7c\x89\x60\x74\x3c\xc4\xb6\x65\x5d\x85\x8f\x2c\x82\x41\x46\x03\xd7\x20\xaa\x43\xf9\x7b\xc9\x17\x10\x7e\x0e\x13\xe2\x4d\x67\x3e\x9b\x32\x88\x7a\x97\x2c\x59\x22\x90\x12\xa2\xc6\x41\x2a\x9c\xa7\xe0\x5e\x14\x85\x51\x4a\x3e\xf0\xa6\x9e\x0f\x4a\x26\x21\x49\x1e\x18\xb9\x67\x01\x8b\xa8\x4f\x1c\x94\x3e\x9e\x27\x04\xd4\x7d\x08\xe1\x13\x5f\x42\xa8\x60\x36\x6f\x4a\xf6\xd7\x54\xa4\x85\x21\x98\x20\x18\xc1\xa8\x4e\x95\x42\xef\xdc\x92\x5a\xcb\x02\x33\xd5\x25\xd4\x51\xd1\x04\x9f\x04\xb7\xa1\x9c\x28\xbc\xc9\x1c\xb2\x23\xff\x62\x77\x2a\x38\x01\x23\x5b\x3a\x86\xf9\xd2\x5f\xe8\x9e\x19\x1a\x46\x68\x0d\x3e\x45\x1a\x1e\x74\x42\xf0\x93\x04\x20\x3d\xc7\x1d\x2d\xb2\x48\x66\xa0\x9d\xd4\x2f\xc0\xca\x3c\xdd\xc9\x50\x96\xa7\xbf\x1d\x5d\x11\x10\xc9\xe1\x66\x09\x2d\xfd\x57\x6b\x93\x3e\xb9\xf2\x20\xf7\xb4\xec\xba\x75\x11\xde\xf3\x9e\x76\x03\x9f\xb8\x4f\xd3\xa6\x35\xca\x1c\x69\x4a\x50\xaf\xa2\x28\x7c\x45\xaa\xff\x19\xf6\x44\x54\xd8\x52\xcd\x58\xeb\x62\xa7\xcf\x2b\x45\xd9\xe3\x13\xc5\x27\x0a\x56\xfa\x0d\x85\x19\x64\x74\xcd\xa8\x5f\xe0\x8c\x16\x42\xcf\x28\x44\xab\xf2\xd7\xe5\x76\xd3\x74\xc2\x5c\x2c\x59\x18\xa4\xa0\x3c\x7f\x9f\xc1\x27\x0a\x7f\x41\x58\x8a\x0c\x62\x6b\x63\x34\x15\x20\x67\x36\x5c\x71\x06\xb6\xbd\x53\xcc\x1e\xd8\x03\xf3\xa3\x5d\x95\x3c\x80\xf0\xc9\x7f\x88\xab\x55\xed\xdd\x72\x13\x9a\xa0\xee\x09\xe9\x4f\xb9\x60\x72\xd2\x05\xf5\xed\x55\x41\xd8\xd9\x38\x7e\x56\x58\x6d\xa3\x82\x12\x89\xc9\x45\xca\x2f\x98\x7d\xea\x9d\x1d\x18\x2b\x37\x91\x77\x0f\xc3\x84\x0b\x8b\x71\x98\xe4\xa4\x0f\xbc\x60\x2b\x55\xcd\xd3\x8d\xa5\xca\x95\x67\x9e\x45\x0e\x32\x43\x4d\x1b\x6d\xe1\x67\x98\xe8\x0d\xfe\x77\x3d\x18\x85\xf7\x9e\x67\xfc\x42\xae\x45\xe3\x9e\x87\xcf\x1b\x77\x0b\xf5\x50\x39\x64\xf5\xe3\x95\x7b\x09\xd7\xa2\x72\x37\x74\x3b\xdf\x55\x87\x29\x00\x40\x26\x3c\x3a\x1b\x6a\x6c\xea\x03\xb2\x7a\x2c\xae\x19\x3a\x79\x3d\x16\x64\xf2\x03\xb0\x0c\x98\xf3\x4a\x2c\xca\xdf\x7c\x16\x47\x38\xed\x17\x01\x4a\x47\x61\x21\xb3\x6d\xd2\xfc\x39\x61\xdf\xe1\x92\xf8\xb5\x66\x00\x18\x26\x91\x23\xf0\x2f\x33\xc5\xf3\xc2\xb6\x32\x05\x64\xbe\xbe\x4a\x7a\xb8\xbc\x94\x19\x90\x24\x98\x0e\x21\x7d\x3a\x28\x7b\x3d\x1f\x4a\x00\xaf\xb3\x5b\x06\x55\xe5\x2e\x28\x70\xaf\x99\x88\x6d\xa8\x4d\xcc\xda\x95\x67\xb5\xa1\xb6\xdd\x4b\xe7\x86\x53\x5e\xec\x7e\xfb\x96\xbe\x3b\x29\x2a\xac\xe8\x4f\x08\x76\xc0\xae\x3a\x4b\xde\xa6\xf1\x3b\x41\x7e\xeb\x73\x8d\x88\xb4\x1f\xa5\x9d\x4a\x5e\x79\xed\x0e\x4a\xf5\xca\x6b\x73\x00\x6a\xe8\x0a\xad\xab\xb3\x95\x32\xaf\xcf\x80\x19\x2c\x95\x08\x9f\x75\xd5\xc9\x8f\xf5\xd4\xa9\xd4\x6d\x07\x43\xf6\x03\x96\x92\x58\x7e\x1f\x63\x64\xee\x78\x71\xe8\xd3\x84\x0d\x33\xa5\xb8\xa2\x2c\x4e\xd6\xd7\x33\xb8\x42\x52\x6f\x81\x9d\x22\x45\xf3\x3c\xbb\xc4\x93\x83\x03\x96\xe2\xbe\xc7\xe4\xf2\x02\x97\x07\xbc\x68\x26\xb1\xe7\xc2\x20\xf2\x26\xb0\x0a\x67\x2e\x2c\x32\x60\xb5\x70\x0f\xeb\x0c\x94\x17\x06\xe4\xe2\xef\x03\x01\x96\xf0\x62\x38\x5b\xc8\xf1\x72\x24\x5d\x04\xb6\xb8\x0d\xb3\xb7\x7e\xee\xed\x41\x5d\x0e\xf0\x6b\x96\xcc\xa3\x60\xa8\xd0\x47\xc2\x77\x69\x67\xbe\xa3\x23\xc0\x9d\xc5\x31\x8b\x24\x0a\xdc\x89\x89\x01\x8c\xbf\x84\x3f\x0e\xc3\x55\x01\x2e\x59\x0a\xd0\x7e\xaa\x55\x89\x2f\x82\x8b\x0a\xe0\xea\x86\x0e\xee\x9f\x3e\x52\xcf\x67\xae\xc2\x92\x37\x1e\xac\x6b\x8b\xeb\x6c\x69\x7e\xc1\xb1\x23\xc1\xfc\x9d\x51\x77\x98\x27\x15\x8b\xcf\x0b\x2f\x4e\xa4\x31\xae\x22\x2f\x48\x86\xbb\xbc\xce\x23\x0c\x57\x6e\xc7\xe4\xa3\x07\x61\x1c\xa4\x15\x1d\x99\x70\x2c\x3c\xc5\xed\xea\xd5\x9f\x4a\x98\xbb\x5c\xec\xb1\xfc\xb4\x3b\x4a\x09\xce\x34\xaf\x08\xf5\xfd\xbe\xb0\x3b\x6a\xa1\x5c\x20\xd7\xe3\x7b\xc4\xfa\xa5\xa0\x2a\x57\xe5\xdf\x42\x48\x71\x03\xf6\x65\x8e\x1b\x61\xe4\x97\x5f\x74\x2e\x7c\x99\x01\xcc\x79\x11\x04\x02\xe7\x09\xdf\x3d\xca\xf6\xca\xa0\xdf\x28\x17\x88\xbc\xe7\x35\x53\x2b\x67\xf5\x15\xe0\x00\x15\x6e\xd4\x00\x05\xb1\x2c\x5c\xb8\x02\x84\xc9\xb2\x53\xe8\x06\xf6\xfb\x48\x61\x71\x88\x25\xbd\x54\xa0\x1f\xf4\xbe\x04\x1b\x36\xe8\xd2\x31\x20\x41\x73\xd1\x5e\x66\x87\xa7\x37\x2b\xa1\xbb\xb4\xc7\x35\xf4\x46\x3d\xd3\xbd\xcc\x0e\x5f\x93\x9e\x23\x06\x88\x3a\x2a\x56\xcb\xb2\x37\x99\x45\xa1\xc3\xdc\x79\xc4\x60\x5c\xa2\xdd\x81\x65\x4c\x03\xfc\x16\xcf\xfd\x24\x6e\xaa\x65\xeb\x4f\x67\xbe\x8f\x1b\x67\x2a\xf2\x5d\x48\x43\x3c\x44\xde\x0c\x61\x92\xb3\x79\xe6\x40\xc9\xf5\x3d\x48\x50\xe5\x2e\xe4\x28\x68\x10\x06\x9e\x43\x7d\xef\x0f\x86\xb6\xe2\x16\x97\x52\xbc\x35\xdf\xba\x96\xa5\x0c\x09\x4f\x61\x94\x74\xf2\xdd\xe4\x06\x4d\x06\x69\xcd\x91\x06\x79\x63\x8b\x1d\x1a\xd5\x69\x47\xec\xb9\xfa\x9c\xf2\x79\xab\x27\xe1\x4d\xb4\x04\xc6\x82\x80\xcb\x08\x83\xc4\x0b\x70\xe3\x72\x02\xc3\xd1\xe5\x00\x71\x17\x83\xf7\xfc\x18\x88\xd0\x48\xfb\x8b\xc8\xe8\xf0\x26\x41\x07\x2d\x68\x48\x6c\x12\xfb\x91\x29\x43\x1e\x2b\x3a\x53\x22\xa3\x45\x44\x91\x12\x80\x3e\x97\x19\xbd\x26\xac\x6f\xc2\x47\xdb\xb6\xbb\xdd\x83\xfa\x9e\x5a\x75\xd6\xc4\x56\xcc\xf0\x8d\xbd\xd6\x06\xae\xe4\xcd\xbc\x55\xec\x8c\x92\x5f\x43\x35\xd5\x70\x31\x20\x43\x8a\x1b\xa6\xaa\x88\xd4\x20\xb2\xc3\x67\xa8\x84\x75\xa4\x36\xe6\xa7\x34\x3d\x49\xa3\xf1\x04\x75\x92\x35\x6b\x46\xc4\x57\xd9\x6a\x59\xb7\x16\xa7\xed\xa4\xaf\x0a\xe6\x50\x96\x23\x62\xe0\xe2\x87\x41\x9e\x24\x54\xcd\x07\xf2\x9d\x66\x73\x9d\x11\xbe\xb4\x3b\xba\x9b\x78\x54\xf0\x2d\xff\xdf\xe6\xd4\x8d\x68\xe2\x39\x43\x3a\x6a\xee\x2f\x46\xb7\x6d\x28\xf3\xc6\xfc\x11\x1e\x9c\x51\xd3\x20\x0b\x91\x13\x9e\x9e\x16\xe6\x69\xcd\x1c\x8b\x4d\xb2\xf1\x6d\xdb\x3c\x22\x94\x38\x76\xdd\xaa\xb5\x09\xad\xaf\x0c\xf9\xbe\x51\xf1\x7e\x65\x75\x3e\x46\x8c\xfd\x36\x7c\xa2\xc6\xd8\x70\x56\xc6\x02\x41\xc0\xcc\xf1\x11\x50\x85\x8f\x98\x44\xa7\x2c\x79\x08\x5d\x02\xd3\x9b\x13\x79\x63\xb0\x8f\x17\xf0\x09\xa3\xb6\x3f\x48\x58\xe4\x43\x17\x83\x5c\x18\xe4\x03\xa8\x06\xf6\x3e\x83\xa7\x65\xe4\xf2\xa6\xcb\x7f\xf9\x07\x63\x13\x08\xd2\x6b\xb2\x07\xd9\x08\x14\x83\x10\xfd\x40\x5a\x3f\xff\xad\x2d\x16\xe6\xc8\x5e\xc4\xbb\xe7\x10\x1c\x03\xa2\xde\xc4\x1d\x35\x72\x75\xdd\x1b\x0c\x9a\x20\x8c\x8b\x3a\x0f\xa7\xb3\x39\x88\x23\x67\xfe\x3d\x1b\x47\x14\x6a\xee\x0b\x30\x1a\xe6\x0c\x08\x03\x9c\x79\x03\x92\xf6\x19\x38\x1e\x26\xda\x26\xf9\x1a\xfa\x4d\xf2\xbe\x49\x7e\xbd\xec\x1f\x93\xd6\x41\xb3\x75\x70\xf0\xde\x3a\x34\xdf\x1e\x1d\x98\xad\xd6\xbb\x83\xf7\xe6\xcf\xa3\xd6\x21\xe7\x4f\xce\xbe\x42\x8e\xa0\x63\x48\x5b\x34\x39\x26\x0f\x49\x32\x3b\xb6\xac\xc7\xc7\xc7\x26\x24\x21\x46\x23\xe7\xa1\xc9\xdc\x26\x75\x9a\xf3\xdf\xad\x19\x24\x01\xea\x5b\x13\x18\x37\xb1\x75\xd4\x3a\x3c\xfa\xdb\x3b\x4b\x6a\x33\x52\xda\x8c\x52\x6d\x46\xff\xdc\x3e\x40\x85\x46\x42\xa1\x99\x3b\x41\xe3\xa5\x47\x3d\xcf\x0c\x7d\x97\xdd\x83\x7b\xb4\xb1\x2f\x92\x3e\xdf\x97\xad\x3c\x65\x91\xa1\xad\x52\xe0\xd3\x4a\xee\xe3\xa3\x9a\x49\xc2\xa6\xb3\x44\x66\x22\xc0\x27\x77\x42\x35\x86\x6b\x67\x40\x05\x76\xc5\x29\x63\xbd\xe8\x90\x32\x66\xa1\xbf\x0c\xc2\xa9\x47\x7d\x71\x90\x25\x45\x61\xb3\xc8\x48\x22\x6f\xf0\x87\xb6\x9d\x4e\xfa\x57\x29\xd9\x6f\x43\xec\xab\x0f\x54\x61\x0e\xa0\x86\x24\x12\x06\xb0\x9e\xd1\x7a\x74\xd4\x71\x8a\xea\x04\xb3\x41\x3b\x45\x5d\x18\x57\x48\x66\x59\x6a\x27\x19\xc9\x8b\x69\x5e\x02\x92\x6a\xe9\xd9\x41\x4b\xdc\xf9\x72\xa5\xdc\x82\xc5\x8c\x53\x6a\xc7\x42\x27\x65\xcd\x5c\x71\xc3\xb3\x07\x09\xc2\x6c\xce\xda\x15\xa2\xb5\x39\x4e\x42\xe6\xda\x7e\x82\xc9\xf3\x32\x72\x59\xc4\x5c\xc4\x1a\x8f\x44\xd5\x04\xfc\xc5\x63\xf1\xd0\x6c\xe2\x45\x71\x02\xbc\xa0\xe4\x60\xa0\x8a\xcb\x1f\x93\x90\x73\x4f\xc3\x4e\x9e\x0e\x21\x3f\x51\x8a\xf1\xda\x5d\xb6\x22\x6b\xd9\x5a\x3d\x01\x13\x25\x07\x27\x4f\x35\x0c\x62\x1e\x0b\x02\x9c\x98\xcc\x3b\x99\xfe\x8a\x20\x35\xb4\x14\x97\xb6\x73\x91\xad\x54\xe4\x4d\x18\x7e\xa2\xc1\x12\xde\xc4\x2d\xc9\x48\xaa\x81\x1a\x0b\x69\x10\x70\x58\x2a\x29\x16\x43\xdc\xa2\x57\x9d\x53\xf5\x53\x84\x92\x5c\xe1\x6b\xe7\xf1\xa5\xfd\x8b\x00\xb3\x17\xd5\x08\xdb\xeb\x56\x49\x1f\xb1\x96\x53\x2c\xb8\x55\xc4\x31\xcf\x53\x11\xb5\x91\xeb\xc6\x9b\x56\x2b\x19\x0a\x65\x99\x46\xf3\x7f\xfe\xcc\x19\x74\xd3\x5d\xc9\xd5\xcc\x7c\x54\x1a\x40\x2a\x7a\xf8\xf1\x25\x06\x3d\xcc\xb2\x3c\xea\x44\xc8\x88\x93\xc7\x74\x66\x17\x5f\x4b\xc3\x33\x4f\xad\x26\x7a\xb5\x0a\x00\x42\xb1\xd0\x10\x18\xa4\x1d\xb1\x55\xf5\x84\x39\x58\x67\x60\x90\x2b\x16\x4d\xe7\x89\xc8\xc2\x42\x9f\x55\xea\x20\x8e\x03\xb8\x7d\x9e\xfb\x60\x92\xcf\x90\x4b\x3e\xe2\xe8\xe2\xc7\xc5\xaa\x22\xc7\x69\x61\x30\x63\x8e\x27\x4f\x7b\xc4\x1e\x89\xd8\x5d\xce\x72\x38\x2f\x8e\x0c\x22\xa7\xe3\x95\xb2\x97\x38\x56\x56\x93\xf4\x2a\x6d\x7f\x5a\x95\xb5\x2e\x64\xee\x6f\xf4\x6e\xd5\x23\x14\x52\x38\xcb\xeb\x8b\x57\x9c\xcb\xcd\xab\x08\x0c\xee\x24\xb8\xfd\xde\xb2\x57\x62\x13\xe7\x9c\xe7\x9a\x04\xf2\xaa\x5c\x7d\x22\xd0\xb3\x19\x8d\x12\x39\x53\x73\x8b\xc0\x74\x15\x93\x29\x1e\x5e\xe0\xbc\xfb\x18\xce\x7d\x97\x8c\x19\x81\x52\x98\x91\x07\x70\x43\xaa\xd2\x93\xa8\x3a\x24\x24\xac\x3b\x96\x29\x28\x67\x64\xb8\xfa\x5b\x96\x7b\x3b\x19\x61\xc5\x21\xbf\x1a\xaa\x7d\xa5\xc1\x87\xe5\x25\x61\xe6\x98\x4c\xa0\x02\x19\x13\xd7\xa4\x84\xc1\xca\x71\xc9\xdf\x98\x0e\x71\x1b\x34\xff\x6a\xb5\x22\xf9\x12\xc5\x70\x0d\x66\x4c\xb0\x50\xd9\xdb\x2b\x6b\x5f\xda\x2f\xd7\x62\x0b\xe0\x13\xcb\x2d\x45\x59\x5f\xab\xa1\x00\x48\x39\x3c\x01\x6e\x07\xa6\x47\xa8\xa3\xa0\x50\x89\x45\x6e\xb4\xb1\x96\x06\xaf\x26\x62\x7e\xef\xec\x04\x61\x34\xc5\x91\x9c\xcf\xd2\x38\x27\x0d\x6b\x6f\x30\x27\xe4\xb7\x52\xaa\xef\x45\xd0\xd1\x59\xe0\xf2\x93\xfd\x92\x7d\xc1\x6a\x4a\x20\xe4\xcb\x47\x9c\x04\x61\xcd\x8f\xeb\x3a\x3c\xf7\xbf\x61\x71\x12\x8b\x3b\x2a\x69\xf5\xdf\x13\xc5\x6c\x6f\x41\xf1\x23\xce\x76\x8a\x7a\x03\x3a\x65\x48\x31\xe4\xd6\xc3\x68\x5d\x8a\x53\x25\xda\x18\x43\xd8\xca\x83\x99\x61\x0d\xbe\xd6\x6f\x17\xdd\xee\x12\x2c\xa6\x55\xe3\x39\xfa\xec\x14\xd8\x3c\x84\xfa\x77\x69\x03\xb9\x68\xcd\x35\xa6\x4c\x97\xb8\x10\x5c\xf0\xa2\xf9\x10\xc6\x50\x15\x5f\x70\x67\x4b\xb2\x6d\x37\xda\x64\x61\x02\x09\xb0\xe6\xed\x8d\xb5\xf6\x94\x7b\xbb\xdb\x85\x86\xc6\x12\xfe\xd7\x16\x66\xbb\x8e\x9f\x4b\xfe\x09\xee\xd5\x44\xd5\xf6\xd7\x94\x80\x42\x1c\x0a\x57\x55\x8a\xc3\x63\xa1\x58\x27\x59\xb7\x46\x75\xb7\x14\x09\xdd\x17\x4a\x8e\xf7\x17\xb8\x2c\xe0\xfb\x8a\x42\x5f\x79\xfe\xfc\x22\x18\xc0\x02\x3f\xdd\x2d\xe1\xac\x75\x87\xfe\x62\x3a\x54\xf1\x0e\x4b\x89\x4a\x9c\x2e\xc7\x29\x61\xc2\xfc\xd5\xe3\xd1\x35\xd4\x50\x93\x0f\x67\x83\xfe\x39\xe9\x0f\x2e\x2f\xce\x6e\xfa\x97\x9f\xd5\x1e\x95\x7a\x3d\xa0\x81\x97\x2c\xc5\x6a\x3b\x26\x9a\xc2\x6b\xea\x1e\x64\x16\x5b\x68\x36\xaa\x26\x18\x17\x08\xc6\x05\x02\x7d\xdb\x3c\x9c\x10\xea\x8a\x51\x54\x05\x82\xf2\xbb\x0e\xcd\xb7\x9a\xe3\xc0\x0c\xd0\x80\xbc\x21\x40\xe9\x06\xde\x53\x98\x24\x3d\xa8\x4a\x1d\x3e\x8d\x59\xae\xf7\xd5\x8b\x37\x88\x12\xf0\x2d\xaa\x29\xb0\x4f\xcb\x54\x58\x23\xa2\x39\xad\xad\xed\x88\xcc\xda\xd8\x9a\x6a\x01\x39\xe5\x0e\x1e\x6f\x65\x64\x11\x55\x4e\xdd\x9a\x96\xd2\x3b\x95\x36\x47\xb3\x30\x59\xfe\x7b\xdc\x2c\xc6\xfa\x25\x94\x8d\x59\x84\x16\x12\x08\xd5\x46\x37\x46\x2a\x88\xa7\x9b\xe0\x9b\xa7\xe3\xdb\x5a\xcb\xd2\x87\xe2\xe2\x96\x76\xbb\xe3\xbf\x3e\x87\x01\x96\x36\x62\xa9\xbd\x25\xcb\x06\x1e\xa4\x2c\xed\x7a\x0e\x56\xed\x6d\xda\xde\xed\xb6\xab\x01\x52\x98\xdb\xc6\x90\xfc\xe0\x53\x0b\x04\x7a\x0b\xd9\x0e\x06\xbd\x41\x2b\xe8\x74\x49\x2d\xab\x0d\x32\xcc\x96\xf1\x7d\x8e\x3b\x26\x37\x21\x84\xe1\x24\xa2\x8e\x98\x93\xf4\x4b\x2b\xa5\x9a\x43\x0a\xce\xa0\x72\x33\x2e\xec\xcd\x33\x09\xd2\xfc\xbc\xca\x83\xfe\xb9\xbe\x46\xb3\x15\xe6\xe7\xd0\xbd\x6e\xce\x33\x4f\xcb\x67\x67\x30\x72\xee\xce\x0c\xbf\xf7\xf2\xd6\x3a\xb2\xeb\x46\xf9\x8d\x16\x4d\xf0\x51\xef\xb6\xd6\x5e\x80\xba\x6f\xbf\x43\xf0\x9a\x4c\xfb\x79\x81\x3d\xd4\xb2\x5a\x58\xbe\xdf\xc1\xeb\x40\x6d\x89\x66\x2d\x3a\x8b\xa3\xa9\x79\xf4\xee\xdd\x21\x11\xce\xcb\x68\x21\x5b\x67\x1e\xab\xf6\x79\x39\xca\xf5\x3b\x4e\x87\xc2\x86\x32\x3c\x0e\xb7\x00\x7f\x78\xcb\xa7\xa2\xe5\xe6\x5c\xb0\xad\xfc\x76\x4e\x7e\x7b\x0b\xf9\xed\x1f\x24\x5f\xca\x85\xa2\x01\x9b\x1a\x42\xfc\x16\xb1\x5b\xc3\x0a\xeb\x4f\x83\x70\xb8\x1d\x84\xc3\x0a\x08\xf9\x7c\xe1\x87\xf7\x1b\xd2\x42\xd5\x5d\xa8\xda\xb8\xb1\x34\xff\xa8\x9b\x4b\xc3\xbc\xf2\x4e\xfa\xd3\x21\xff\x6e\x9f\x74\xf1\x3a\x54\x36\x2d\x34\xc6\xdd\x2e\x22\x5e\x34\x96\x76\xe3\x8f\xef\x18\x32\xd9\x2d\xa4\xde\xed\x32\xbd\x52\x53\x39\x7e\xf6\xf6\x24\x9c\xa5\x84\x62\x54\xb3\x7e\x15\xdf\x95\xd8\x76\x53\x8a\xa2\x8e\xc8\x6c\x61\xaf\xa7\xf4\xbc\xb9\xcf\xc6\x95\xe5\x1f\x4e\x6a\x6d\x35\xad\xe1\x43\x6a\x47\xbc\x50\x86\x59\x19\xe7\xc4\x8a\xfa\x0b\x79\x03\x82\x17\xbb\xd2\x1c\x2b\x03\x3b\xa6\xfb\xbc\x21\x36\x5a\xd4\x1c\x37\x20\x42\x5f\xc6\x2e\x9b\x11\xd1\x7c\xa0\x63\xc3\xe9\x76\xdd\x4d\x16\x3c\x0f\x37\x59\x70\x93\x96\x78\xb9\xa1\xbd\x9d\x8e\x1b\x38\x35\x5e\xc2\x29\x55\x0f\x29\xaa\x5c\x28\x56\xa9\x01\xe8\x80\x47\xf1\x6b\xb7\x59\x5e\xe6\x4f\x69\x7e\x09\x72\x69\x9b\x12\x64\xdb\xce\xe3\x6d\x97\x86\xf9\x77\x78\x3d\x73\xf9\x5f\x29\x73\x4d\xcf\xc6\x9f\x2d\xf3\xcf\x11\x08\x89\x44\xee\xa0\xe8\x91\x92\xcb\x25\x69\x8f\xb2\xa8\x71\xc2\xe9\xd8\x0b\xc4\xe1\x88\x4c\x01\x34\x70\xe5\x15\xaf\x0d\xd1\x03\x71\xbc\xcc\x0f\x3e\xa9\x1f\x8e\xc1\x67\xeb\xd2\xe7\xbc\x22\x6a\x78\xdd\x2e\x35\xbc\x30\xb3\x04\xc6\xf2\x8e\xcd\xde\x1e\xcf\xa6\xa7\xdd\x83\xfa\xb7\x6f\xb2\xed\x84\x77\x39\xc1\xe7\x6f\xdf\x54\x7f\xfc\x26\x3b\x9f\x40\xe7\xfa\x6b\x7c\xf7\x7f\x02\x6b\xdd\xc3\x1a\x9a\xed\x9c\x4c\xf1\xd2\xc1\x18\x38\xe3\x75\x0d\x79\x12\x49\xc9\xd5\xaf\x1f\xf3\x0e\x86\xd4\x11\xdc\x73\x27\xed\xaa\x35\x5c\xab\x09\xf5\xe1\xdb\x76\xba\x7c\x53\xdf\x57\xbb\x06\x11\x07\x35\x43\x60\x33\xfc\x0c\xb2\xa9\xff\xab\x17\x8b\xcd\x3e\x34\xd9\x01\x6e\xcc\x63\xe5\x80\x25\x44\xb3\x85\x4f\xbb\x80\x4d\x07\x77\x75\x79\xf1\x5f\x9f\x2f\x3f\xf5\xcf\x2e\x06\x1b\x22\xed\x35\xe7\xbd\xb9\xbd\x23\x70\xd2\x78\x7f\x61\x3a\x55\x91\xa9\x76\x2b\x64\x57\xb2\x30\x27\x61\x08\x16\x86\xfe\x65\x7c\xd2\x97\xd5\x61\x6e\xd6\xa0\xe8\xe2\xd8\x10\x93\x5c\x7d\x2b\xd8\xeb\x6f\xd6\xf1\x56\x62\x15\xec\x53\x16\x82\x65\xf6\x55\x5f\xe0\x67\x6c\x74\xdb\x9f\x5f\x5e\x5c\xf4\xce\xd5\x56\x53\x85\x80\x23\xad\x22\x5f\x34\x5a\x30\xf7\x2c\x1a\x9b\x57\x53\xad\xf7\x56\x4b\xdb\xfa\x79\x5b\x3b\x5a\x40\x1d\xd9\x38\x22\xb5\x77\x04\x38\xc0\x6a\xec\x3d\x2e\xe8\x16\x0d\x68\xd4\xd6\xe7\xb8\x27\xf6\x8f\x20\x7c\x0c\xf0\xe8\x6c\x1e\x6d\xd8\x5b\x85\xa9\xa1\x2f\xb4\xc5\x27\xf8\xbf\x2c\x1b\x20\x50\xef\x2c\x1a\xed\x7e\x63\x59\x31\x3a\xe0\x03\xef\xd7\xf1\x11\xee\xce\x1d\xce\x5f\x90\x4e\x82\xfc\xf5\xa3\x04\xde\xc8\xc1\x13\x1b\x04\xbf\x79\x06\x89\xe6\x01\xef\x8d\x64\xa2\x71\x26\x7f\x7a\x17\x9c\x87\x51\xc4\x1c\x68\xf5\x62\xf9\x28\x2f\x2e\xe9\x8c\x48\x97\x5c\x33\xea\xe2\x86\x37\x08\x94\x47\x3a\x62\x3b\x51\x1e\x48\xe9\xbd\xd5\xf1\xa8\x90\x4e\xf8\xaf\x0e\xf1\xab\x92\x45\xc4\x0f\x07\xb1\x49\x07\x36\x4c\x1e\x98\xa7\x7e\xd1\xc2\x75\xaa\xa5\x46\xe5\xec\xf1\xea\x87\x26\x66\xc8\x09\xd2\x03\x26\xa2\x8e\xaf\xe4\x99\x20\xf6\x94\xc7\x96\xf2\x19\xcf\x05\x71\xeb\xfc\xc6\x9b\x42\xde\xc8\xc8\x52\xcd\xc5\x8f\xf0\xc4\xe9\x23\x1e\x3f\x49\xba\x43\x5d\x86\xd0\xfa\xa9\x9c\xbd\xa1\x91\x18\x29\x2f\xf9\xc4\xfb\x66\x56\xd6\x78\xf6\x27\xc3\xb4\x3d\x73\x49\xa3\x21\xbb\xd4\xa5\xb1\xc4\x5d\x20\x61\xd4\x93\x2e\x29\xb3\xbc\x51\x86\xd3\x33\x8a\x76\xc3\x46\xdb\xd6\x21\xe4\x1d\xc1\xdf\x77\x72\xd6\xf7\xa4\xf5\xbd\x86\xf4\x66\x2e\x0a\x14\x66\x68\x44\xe7\x97\x4e\x4a\xfa\x6f\x69\x2b\xce\x36\xf8\x2f\x5f\x1d\xf5\x2e\xb6\xef\xf0\x57\x8d\x78\xc5\x23\x48\xf0\x77\xb6\xf0\xfa\x8e\x3c\x3e\x78\xce\x03\xd8\x31\xeb\x47\x7d\xbc\xc4\x79\x97\xd1\xf1\xdf\xe0\x6a\x07\x39\xa5\xd2\xd6\x0e\x76\xaa\x4f\x6a\xf0\xb4\x90\x07\x24\xdb\xd4\x8b\x1f\x35\xf2\x6e\xff\x1e\xb8\x6c\xe2\x05\x78\xbd\xb0\xbc\x7b\x79\x2b\x05\x26\x63\xfc\x1d\x9a\xf8\xc5\xec\x4e\xd5\x11\x10\x85\x1e\x78\x99\x6a\x0c\xa6\xfe\xdf\x00\x00\x00\xff\xff\x10\x3b\x0a\xd6\xa6\x3c\x00\x00") +var _resourcesSolveM = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xd4\x5b\x7d\x53\xdb\x48\x93\xff\x9f\x4f\x31\x9b\xdc\x71\x76\x2c\xd9\xd8\x40\xf2\x2c\xc6\xdc\x12\x16\xea\xf1\x3d\x24\xb0\x98\xbb\xab\x3b\x9f\x30\x63\x69\x8c\x55\x2b\x4b\x8e\x24\x07\x7b\x89\xbf\xfb\x75\xcf\x8b\x34\x7a\x33\x26\x64\xf7\xea\x52\x15\x2c\xcd\x4c\x77\xff\xba\xa7\xa7\xa7\xe7\x45\x83\xc0\xfb\xca\x8e\x8e\x16\x11\x7d\x60\xa4\x47\xde\xdc\xf3\x82\x21\xfb\xe2\x1b\xe4\x2b\x0d\xad\x7b\x12\x61\x41\x44\xee\xa1\xe8\x9e\x4c\x82\x90\xdc\x43\xf9\x7d\xf3\x4d\x77\x67\xc7\x0e\x16\x7e\xfc\x1f\x34\x1c\xb2\xe5\x3c\x1c\x71\x82\xd1\x60\x35\x1b\x07\x9e\x45\x8e\x7a\x64\x87\x90\xfe\x84\xd7\x91\x5e\xaf\x87\xb5\x06\x69\x1b\xe4\x0c\xa9\x78\xb1\x21\xca\xcc\xb6\x65\x71\x6e\x7e\x4c\x5d\x3f\xba\xf2\xd9\x95\x6d\x2f\xc2\x90\xf9\x36\x47\x32\x3a\xff\xb2\xa0\x5e\x19\x7b\xc9\x4a\x82\xe5\x9c\x40\x14\x69\x77\x13\x66\xff\xcd\xc2\x20\xe5\x16\x7d\x17\xbb\x3d\x04\x37\x65\xf6\xef\xcc\x39\x0b\x7c\xc7\x8d\xdd\xc0\xa7\xde\x39\x28\xc0\xa2\x08\x9e\x87\x0c\x74\xb7\x47\x8a\xcb\xa7\xc0\x59\x78\x6c\xf8\xe4\xb3\x65\x7c\x06\x36\x05\x95\xa1\x21\xfe\x99\xc3\x5f\x9f\x3d\x62\xa1\xd9\x5e\x1b\xd0\x96\xfc\xe7\xd4\x85\xb6\xb7\xe1\x82\x19\x68\x2c\x89\x00\x8c\x34\xe4\xe4\x96\x00\x71\x42\xf6\x90\x12\x0a\x1a\x0d\x83\x7c\x0c\x19\xfd\x7d\x68\xa1\xd1\x80\x03\xf0\x06\x7e\x15\xc0\x00\x97\x6a\x35\xc7\x66\x4f\xeb\x6e\x4e\x2a\xbe\xa6\x92\x39\x50\x94\xfd\xa8\x8b\xe6\x6d\xc8\xe9\x7c\xce\x7c\xe7\x36\x18\x0a\x45\x64\x2b\x62\x9e\xc0\xa3\xc9\x9f\xad\x2e\x57\xcf\x34\x25\x45\x19\x50\xfc\xdb\x6a\x22\xf5\xa8\xef\xc7\xec\x81\x85\xff\x7a\x1d\x44\x00\xfd\x2b\x03\x03\x22\x2f\x9f\x34\xc8\x25\xf3\x1f\xe2\x29\x97\xa4\x51\x03\x1d\x2f\x81\xfe\xa0\xf3\xb9\xb7\xea\xfb\x5f\x59\x18\xb1\xa1\x37\x8d\x46\xd7\xde\x22\x42\x2c\x21\x3c\x17\xfa\x36\xe9\x92\xc0\x07\x77\xbd\xa6\x61\x1c\x09\xf3\x6b\x05\x80\x6d\xc0\x3c\x66\xc7\xc8\xce\x20\xb5\xc4\xb9\xdf\x8a\x91\xc0\x7d\x78\xaf\x4e\x76\x05\x9e\xaf\x8a\x0c\xfe\x3d\x4b\xf9\x93\x4e\xf9\x94\x90\x0a\xb8\xc4\xd4\x61\xac\xa1\x51\x41\xb9\x5b\x77\xc6\xfe\xbf\x6a\xd7\xda\xa8\xdd\x98\x46\x6c\x74\x37\x0f\x1e\x47\x95\xea\x81\x73\x26\x32\xb1\xb9\x2e\x16\xd5\xac\xbd\xc3\x02\xe2\xfa\x04\x6b\xc9\xbb\x3a\x94\x0d\x1e\xdd\xd8\x9e\x0e\x81\xaf\x70\x45\x13\x06\x61\xe6\xdf\x13\x6f\x0b\x22\xdb\x2d\x10\x2a\xcc\x45\x3a\xb9\x46\x69\x2b\x73\xf0\x25\x84\xd1\x31\x8d\xac\x56\xeb\x3a\x78\x64\x21\x0c\x32\xea\x3b\x06\x51\x0d\xca\xeb\x25\xdf\xfd\x52\xbe\xe6\x09\xb4\xbf\xab\xb5\x5b\xfb\x75\x43\xbc\x9b\x35\xb3\x5d\x17\x25\x24\x5f\x27\xaa\x3a\x99\x2a\xc9\xfe\xa0\x82\xbd\x29\x1b\x1e\x24\xfc\xfb\x24\x5f\x54\x2c\x49\xde\x25\xf7\xc3\xcd\xe0\x0f\x0b\xe0\x0f\x13\x84\x87\x79\xf0\x25\x55\x92\x6c\xbf\x9a\xec\x20\x53\x25\x51\x41\xa7\x7f\x0e\x62\xe2\xce\xe6\x1e\x9b\x31\x08\x24\x0e\x59\xb1\x58\x74\x3e\x21\x2a\xb4\x24\xd0\xf9\xac\x76\x1e\x86\x41\x98\x90\x0f\xdc\x99\xeb\x81\xdf\xc4\x01\x89\xa7\x8c\x3c\x30\x9f\x85\xd4\x23\x36\x76\xe8\x78\x11\x13\xf0\xa0\x69\x00\xbf\x58\x09\xa3\x0f\x27\xc8\xa6\x64\x7f\x43\x45\xa4\x1d\x82\x57\xf9\x23\x08\x94\x89\x9f\xa0\xc3\xdf\x11\x00\x0a\x9e\xa7\xa0\x8e\xf2\x06\xfc\x24\xb8\x0d\xe5\xdc\xeb\x4e\x16\x30\xe1\xf0\x17\xab\x5b\xc1\x09\x18\x59\xd2\xd7\x99\x27\x87\x00\x7a\xfc\x1c\x7d\x4d\x68\x0d\xc3\x04\x69\xf8\x38\x16\x82\x9f\x24\x00\x39\x18\xf8\xd8\x11\x81\x39\x35\xd0\x4e\xd2\xab\xc0\xca\x3c\xd9\x49\x51\x96\xcf\x28\x3b\xba\x22\x20\x92\xc3\x4d\xe7\x88\xe4\x5f\xad\x43\xfa\xe4\xda\x85\x70\xde\xb6\xea\xad\xcb\xe0\x81\xb7\xb4\x1a\xf8\xc4\x87\x49\x52\x54\xa0\xcc\x90\x26\x04\xf5\x2a\x8a\xdc\x2b\x52\xfd\xcf\xf0\x5c\x78\x85\x25\xd5\x8c\xb4\x26\x56\xf2\xbc\x56\x94\xe7\x7c\xee\xfd\x44\xc1\x4a\xbf\xa1\x30\x83\x8c\x6e\x18\xf5\x72\x9c\xd1\x42\xd8\x33\x0a\xd1\xba\xbc\xba\xdc\x6e\x9a\x4e\x38\xbd\x49\x16\x06\xc9\x29\xcf\xeb\x53\xf8\x44\xe1\xcf\x09\x4b\x90\x81\x6f\x6d\xf4\xa6\x1c\xe4\xd4\x86\x6b\xce\xc0\xb2\x76\xf2\x01\x19\x5b\xe0\x94\x63\x55\xc5\x63\x20\x7c\xf2\xa6\x51\xb5\xaa\xe7\x77\xdc\x84\x26\xa8\x7b\x4c\xfa\x33\x2e\x98\x1c\xf7\x40\x7d\x6b\x9d\x13\x76\x3a\x8e\x9e\x15\x56\xdb\xa8\xa0\x44\x62\x72\x91\xf2\x05\x03\x7a\xbd\xbb\x03\x63\xe5\x36\x74\x1f\x60\x98\x70\x61\x11\x0e\x93\x8c\xf4\x81\xeb\x6f\xa5\xaa\x79\xb2\x31\xfb\xbb\x76\xcd\xd3\xd0\x46\x66\xa8\x69\xa3\x23\xfa\x19\x72\x27\x83\xff\x2d\x3a\xa3\xe8\xbd\xe7\x19\xbf\x90\x6b\xde\xb8\x67\xc1\xf3\xc6\xdd\x42\x3d\x54\x0e\x59\xfd\x78\xe5\x5e\xc2\x35\xaf\xdc\x2d\xdd\xae\xef\xaa\xdd\x14\x00\x20\x13\xee\x9d\x0d\x35\x36\xf5\x01\x59\x3d\x16\x0b\x86\x8e\x5f\x8f\x05\x99\xfc\x00\x2c\x03\x66\xbf\x12\x8b\xea\x6f\x9e\x18\x21\x9c\xce\x8b\x00\x25\xa3\x30\x17\xd9\x36\x69\xfe\x9c\xb0\xef\xe8\x92\xe8\xb5\x66\x00\x18\x26\x91\x23\xf0\x2f\x33\xc5\xf3\xc2\xb6\x32\x05\x44\xbe\xbe\x0a\x7a\xb8\x62\x97\x11\x90\xc4\x18\x0e\x21\x7c\xda\x28\xbb\x18\x0f\x25\x80\xd7\xd9\x2d\x85\xaa\x62\x17\xac\x19\x6e\x98\xf0\x6d\xc8\x4d\xcc\xda\xb5\xdb\xea\xc0\x72\x61\x37\x99\x1b\x4e\xf8\xfa\xe1\xdb\xb7\xa4\xee\x38\xaf\xb0\xa2\x3f\x26\xd8\x00\x9b\xea\x2c\x79\x99\xc6\xef\x18\xf9\x15\xe7\x1a\xe1\x69\x3f\x4a\x3b\x15\xbc\xb2\xda\xed\x95\xea\x95\xd5\x66\x0f\xd4\xd0\x15\x2a\xaa\xb3\x95\x32\xaf\x8f\x80\x29\x2c\x15\x08\x9f\xed\xaa\xe3\x1f\xdb\x53\x27\x65\xba\x81\x65\xa7\x3f\x26\x86\x4d\x87\xc9\x50\xea\xc3\x58\x81\x04\x44\x1b\x4f\x5b\x0d\xdb\x4d\x41\xeb\xfb\xb8\xaf\x77\x70\x78\x7e\xc4\xb4\x19\x97\x1a\x47\x38\x0a\x77\xdc\x28\xf0\x68\xcc\x86\xa9\x9a\x5c\x75\x16\xc5\xc5\xe5\x30\x2e\xb0\x55\x2d\x98\x4e\x91\xa2\xc1\x9e\xdd\x21\x90\x81\xe0\x14\xcc\xed\x32\xb9\x3a\xc5\xa5\x10\x5f\x20\x90\xc8\x75\x20\x60\xb8\x13\xe2\x33\xe6\xc0\x82\x0a\x56\x46\x0f\xb0\xa6\x42\x79\x81\x4f\x2e\xff\x3e\x10\x60\x09\x4f\xfc\xd3\x7d\x00\x9e\x7a\x25\x7b\x08\x6d\xee\x2f\x69\xad\x97\xa9\xdd\xab\xcb\x60\x76\xc3\xe2\x45\xe8\x0f\x15\xfa\x50\x58\x3c\x69\xcc\x37\x04\x05\xb8\xd3\x28\x62\xa1\x44\x81\x1b\x79\x11\x80\xf1\x56\xf0\xc7\x66\xb8\x02\xc2\xe5\x59\x0e\xda\x4f\xb5\x2a\xf1\x79\x70\x61\x0e\x5c\xdd\xd0\xc1\xfd\xd3\x05\x75\x3d\xe6\x28\x2c\x59\xe3\x91\x1e\xc9\x6f\xd3\x48\xf3\x0b\x8e\x5d\x09\xe6\xef\x8c\x3a\xc3\x2c\xa9\xd8\xbb\xb8\x74\xa3\x58\x1a\xe3\x3a\x74\xfd\x78\xf8\x86\xe7\xb4\x84\xe1\x2a\xf5\x88\x5c\xb8\xe0\x79\x7e\x92\xbd\x92\x09\xc7\xc2\xc3\xf9\x1b\x3d\xd3\x55\x93\xc3\x1b\x2e\xf6\x48\xfe\x5a\x5d\xa5\x04\x67\x9a\x55\x84\x7a\x5e\x5f\xd8\x1d\xb5\x50\x5d\x20\xb7\x73\x76\x49\xeb\x97\x9c\xaa\x5c\x95\x7f\x0b\x20\x9c\x0f\xd8\x97\x05\xee\xa3\x92\x5f\x7e\xd1\xb9\xf0\x25\x15\x30\xe7\x09\x1f\x08\x5c\xc4\x7c\xf3\x31\xdd\x6a\x85\x76\xa3\x8c\x23\xf2\x96\x37\x4c\x6d\xbc\xa8\x57\x80\x03\x54\xb8\xcf\x07\x14\xa4\xd5\xc2\x45\x3a\x40\x98\xac\xba\xb9\x66\x60\xbf\x0b\x0a\x0b\x61\x5c\xbe\x48\x05\xfa\xfe\xf9\x17\x7f\xc3\xfe\x6e\x32\x06\x24\x68\x2e\xda\x4d\xed\xf0\xf4\x76\x2d\x74\x97\xf6\xb8\x81\xd6\xa8\x67\xb2\x15\xde\xe5\xeb\xef\x33\xc4\x00\x5e\x47\xc5\xce\x80\x6c\x4d\xe6\x61\x60\x33\x67\x11\x32\x18\x97\x68\x77\x60\x19\x51\x1f\xdf\xa2\x85\x17\x47\x4d\xb5\x44\xff\xe9\xd4\xf3\x70\xdf\x55\x79\xbe\x03\x21\x97\xbb\xc8\xdb\x21\x44\x0c\x8b\x47\x49\x94\x5c\xdf\x85\x40\x52\xde\x85\x1c\x05\xf5\x03\xdf\xb5\xa9\xe7\xfe\xc1\xd0\x56\xdc\xe2\x52\x8a\x5b\xe8\x5b\xa7\xd5\x52\x86\x84\xa7\x20\x8c\xbb\xd9\x66\x72\x7f\x2f\x85\x54\xe8\x48\x83\xbc\xb5\xc4\x06\x9f\x6a\xb4\x23\xb6\xec\x3d\x4e\xf9\xbc\xd5\xe3\xe0\x36\x5c\x01\x63\x41\xc0\x65\x04\x7e\xec\xfa\xb8\xef\x3d\x81\xe1\xe8\x70\x80\xb8\x63\xc3\x5b\x5e\xf8\xc2\x35\x92\xf6\xc2\x33\xba\xbc\x48\xd0\x41\x09\x1a\x12\x8b\xc4\x76\x76\xc2\x90\xfb\x8a\xce\x94\x48\x6f\x11\x5e\xa4\x04\x60\x9f\xcb\xd9\xab\x26\xac\x6f\xc2\x4f\xc7\xb2\x7a\xbd\xbd\xfa\xae\x5a\x61\xd7\xc4\x4e\xde\xf0\xad\x55\x28\x83\xae\xe4\xc5\xbc\x54\x6c\xac\x93\x5f\x03\x35\xad\x72\x31\x20\x43\x8a\x1b\x26\xaa\x88\xd0\x20\xa2\xc3\x67\xc8\xfa\x75\xa4\x16\xc6\xa7\x24\x3c\x49\xa3\xf1\x00\x75\x9c\x16\x6b\x46\xc4\xaa\x74\x67\x40\xb7\x16\xa7\xed\x26\x55\x39\x73\x28\xcb\x11\x31\x70\xf1\xc7\x20\x4f\x12\xaa\xd6\x07\xb2\x4e\xb3\xb9\xce\x08\x2b\xad\xae\xde\x4d\xdc\x2b\xf8\x89\xd1\x6f\x0b\xea\x84\x34\x76\xed\x21\x1d\x35\xdf\x2d\x47\x77\x1d\x98\x29\xc7\xfc\x11\x1e\xec\x51\xd3\x20\x4b\x11\x13\x9e\x9e\x96\xb8\xd5\x37\x16\x7b\xac\xe3\xbb\x8e\x79\x40\x28\xb1\xad\x7a\xab\xd6\x21\xb4\xbe\x36\x64\x7d\xa3\xa2\x7e\xdd\xea\x5e\x84\x8c\xfd\x36\x7c\xa2\xc6\xd8\xb0\xd7\xc6\x12\x41\xc0\xcc\x71\x01\xa8\x82\x47\x0c\xa2\x33\x16\x4f\x03\x87\xc0\xf4\x66\x87\xee\x18\xec\xe3\xfa\x7c\xc2\xa8\xbd\x1b\xc4\x2c\xf4\xa0\x89\x41\x2e\x0d\xf2\x11\x54\x03\x7b\x9f\xc2\xd3\x2a\x74\x78\xd1\xd5\xbf\xfc\x83\xb1\x09\x38\xe9\x0d\xd9\x85\x68\x04\x8a\x81\x8b\x7e\x24\xed\x9f\xff\xd6\x11\x9b\x10\xc8\x5e\xf8\xbb\x6b\x13\x1c\x03\x22\xb7\xc6\xdd\x43\x72\x7d\x73\x3e\x18\x34\x41\x18\x17\x75\x16\xcc\xe6\x0b\x10\x47\x4e\xbd\x07\x36\x0e\x29\xac\x2f\x2e\xc1\x68\x18\x33\xc0\x0d\x70\xe6\xf5\x49\xd2\x66\x60\xbb\x18\x68\x9b\xe4\x6b\xe0\x35\xc9\x87\x26\xf9\xf5\xaa\x7f\x44\xda\x7b\xcd\xf6\xde\xde\x87\xd6\xbe\x79\x78\xb0\x67\xb6\xdb\xef\xf7\x3e\x98\x3f\x8f\xda\xfb\x9c\x3f\x39\xfd\x0a\x31\x82\x8e\x21\x6c\xd1\xf8\x88\x4c\xe3\x78\x7e\xd4\x6a\x3d\x3e\x3e\x36\x21\x08\x31\x1a\xda\xd3\x26\x73\x9a\xd4\x6e\x2e\x7e\x6f\xcd\x21\x08\x50\xaf\x35\x81\x71\x13\xb5\x0e\xda\xfb\x07\x7f\x7b\xdf\x92\xda\x8c\x94\x36\xa3\x44\x9b\xd1\x3f\x77\xf6\x50\xa1\x91\x50\x68\xee\x4c\xd0\x78\xc9\x49\xe1\x33\x43\xdf\x61\x0f\xd0\x3d\x99\xb1\x3f\x59\x78\x9e\x8c\x48\x49\x1e\xc2\xb7\xf9\x2b\x0f\xed\xa4\xab\xab\x90\xf8\xb4\x96\xc7\x42\xa8\x76\x1c\xb3\xd9\x3c\x96\x91\x09\xf0\xca\x5d\x60\x8d\x61\xe1\x48\x31\xc7\x2e\x3f\x85\x14\x93\x10\x29\x63\x1e\x78\x2b\x3f\x98\xb9\xd4\x13\xe7\xa2\x52\x14\x16\x8b\x08\x25\xe2\x08\x7f\xe8\x58\x49\x12\x70\x9d\x90\xfd\x36\xc4\xb6\xfa\xc0\x15\xe6\x01\x6a\x08\x2a\x81\x0f\xc9\xa2\xd6\xa2\xab\x4e\xe7\x54\x23\x98\x1d\x3a\x09\xea\xdc\x38\x43\xb2\x56\x4b\x1d\x4c\x20\x79\x3e\xec\x4b\x40\x52\x2d\x3d\x5a\x68\x81\x3c\x9b\xbe\x94\x5b\x30\x1f\x81\x4a\xed\x98\x6b\x94\x5a\x13\xe3\xe2\x45\xea\x01\x2b\x9c\x48\x7d\x61\x4f\xb9\xc3\x9e\xf5\x0f\x95\x15\xb4\x32\x54\x0a\x61\xbe\xed\x4f\x3d\x31\x65\xeb\x93\x67\xae\x51\x16\x50\x26\xfb\xe2\xe1\x8d\xf8\x41\x3a\xa9\xbe\x11\xb6\xd0\x26\x61\x69\x43\x0e\xf8\x13\xcc\xee\x57\xa1\xc3\x42\xe6\xa0\xf1\xa2\x91\x48\xeb\x80\xbf\x78\xcc\x1f\x0a\x4f\xdc\x30\x8a\x81\x17\xe4\x44\x0c\x6c\xeb\xf0\xc7\x38\xe0\xdc\x93\x71\x20\x4f\x3f\x91\x9f\xc8\x15\xf9\x42\x4a\x96\x22\x6b\x59\x5a\x9d\x21\x10\x25\x07\x67\x77\x35\x4e\x23\xee\x9c\x02\x9c\xc8\x36\xba\xa9\xfe\x8a\x20\xe9\x79\x29\x2e\x29\xe7\x22\xdb\x89\xc8\xdb\x20\xf8\x44\xfd\x15\xd4\x44\x6d\xc9\x48\xaa\x81\x1a\x0b\x69\x30\x02\x30\x97\x53\x2c\x86\x78\x5e\xa2\x1a\x27\xea\x27\x08\x25\xb9\xc2\xd7\xc9\xe2\x4b\xda\xe7\x01\xa6\x15\xd5\x08\x3b\x45\xab\x24\x8f\x98\x6c\x2a\x16\xdc\x2a\xe2\x18\xf3\x29\x8f\xda\xc8\x34\xe3\x45\xeb\xb5\x74\x85\xb2\x50\xa8\xf5\x7f\xf6\x4e\x05\xe8\xa6\x77\x25\x57\x33\xed\xa3\x52\x07\x52\xde\xc3\x8f\xe7\x71\x14\x42\x1a\xc0\xbd\x4e\xb8\x8c\x38\x59\x4f\x52\x0f\xf1\x5a\xea\x9e\x59\x6a\x95\x89\xa8\x65\x0a\x10\x8a\x95\x90\xc0\x20\xed\x88\xa5\xaa\x25\x24\x09\x3a\x03\x83\x5c\xb3\x70\xb6\x88\xc5\x34\x21\xf4\x59\x27\x1d\xc4\x71\x00\xb7\xcf\x30\xf8\x0c\x98\xe3\x7c\x76\x81\xa3\x8b\x5f\x87\x50\x4b\x06\x9c\xb7\x06\x73\x66\xbb\xf2\xe8\x4d\x6c\x58\x89\xad\xfe\x74\x92\xe1\xd9\x9b\x41\x64\xbe\xb0\x56\xf6\x12\xd7\x26\x54\x16\xb1\x4e\xca\x9f\xd6\x65\xa5\x4b\x39\x39\x35\x30\x21\x39\xbf\x53\xaf\x90\xed\x61\x2a\xa2\xaf\xb0\x31\xe1\x30\xaf\x43\x30\xba\x1d\xe3\x79\x08\xb5\xd6\x62\x57\xed\x8c\x07\xc0\x18\x82\xbd\x5c\x22\x23\xd8\xd3\x39\x0d\x63\x99\x4e\x70\xab\xc0\x9c\x1a\x91\x19\x9e\x26\x61\x72\xf0\x18\x2c\x3c\x87\x8c\x19\x81\x7c\x9d\x91\x29\x74\x45\xa2\xd6\x93\x48\x8d\x24\x2c\x4c\x8e\x56\x09\x28\x7b\x64\x38\x7a\x2d\xcb\xd4\x4e\x46\x98\x16\xc9\x57\x43\x95\xaf\x35\xf8\xb0\x06\x26\xcc\x1c\x93\x09\xa4\x49\x63\xe2\x98\x94\x30\x58\xde\xae\x78\x8d\x69\x13\xa7\x41\xb3\x55\xeb\x35\xc9\xe6\x51\x86\x63\x30\x63\x82\xd9\xd4\xee\x6e\x59\xf9\xca\x7a\xb9\x16\x5b\x00\x9f\xb4\x9c\x52\x94\xf5\x42\xa2\x07\x40\xca\xe1\x09\x70\x3b\x30\x67\x43\xb2\x07\xd9\x54\x24\xe2\xa3\x85\x09\x3f\xf4\x6a\xcc\x27\x25\xe8\x50\x3f\x08\x67\x38\x9a\xb3\x91\x1a\x27\xca\x61\xed\x2d\xc6\x85\xec\xde\x56\xf5\xdd\x1f\x3a\x3a\xf5\x1d\x7e\x7b\xa5\x64\xa3\xb6\x9a\x12\x08\xf9\x1a\x17\x67\xe6\x3a\xe1\x8b\x4f\xbc\xdb\x72\xcb\xa2\x38\x12\xf7\xb0\x92\x25\xca\xb9\xc8\xb8\xcf\x97\x14\x7f\xa2\x74\xeb\xee\x7c\x40\x67\x0c\x29\x86\xdc\x7a\xe8\xad\x2b\x71\xcc\x47\x1b\x63\x70\x5b\x79\x52\x36\xac\xc1\x6b\xfd\x6e\xd9\xeb\xad\xc0\x62\xda\x92\x21\x43\x9f\xde\x74\x30\xf7\x21\x49\x5f\x59\x40\x2e\x4a\x33\x85\x09\xd3\x15\xae\x56\x97\x3c\xb3\xdf\x87\x31\x54\xc5\x17\xba\xb3\x2d\xd9\x76\x1a\x1d\xb2\x34\x81\x04\x58\xf3\xf2\x46\xa1\x3c\xe1\xde\xe9\xf5\xa0\xa0\xb1\x82\xff\xb5\xa5\xd9\xa9\xe3\xef\x8a\xff\x42\xf7\x6a\xa2\x6a\xef\x0a\x4a\xc0\x6a\x01\xb2\x6b\xb5\x5e\x80\xc7\xdc\x8a\x82\xa4\xcd\x1a\xd5\xcd\x12\x24\xf4\x9d\x50\x72\xfc\x6e\x89\x6b\x17\xbe\xd1\x2b\xf4\x95\x17\x02\x5e\x04\x03\x58\xe0\xaf\xb3\x25\x9c\x42\x73\x68\x2f\xa6\x44\xe5\xef\xb0\xde\xa9\xc4\xe9\x70\x9c\x12\x26\xcc\x61\xe7\xdc\xbb\x86\x1a\x6a\xf2\xf1\x74\xd0\x3f\x23\xfd\xc1\xd5\xe5\xe9\x6d\xff\xea\xb3\xda\x48\x53\xd5\x03\xea\xbb\xf1\x4a\x6c\x09\x44\x44\x53\xb8\xa0\xee\x5e\x6a\xb1\xa5\x66\xa3\x6a\x82\x71\x8e\x60\x9c\x23\xd0\xcf\x31\x82\x09\xa1\x8e\x18\x45\x55\x20\x28\xbf\xcf\xd3\x3c\xd4\x3a\x0e\xcc\x00\x05\xc8\x1b\x1c\x94\x6e\xe0\x3d\x83\x89\xd2\x85\xf4\xd0\xe6\x53\x59\xcb\x71\xbf\xba\xd1\x06\x51\x02\x7e\x8b\x6a\x0a\xbc\xa3\x65\x2a\x14\x88\x68\x46\xeb\xd6\x76\x44\x66\x6d\xdc\x9a\x69\x0e\x39\xe3\x1d\x3c\xde\xca\xc8\xc2\xab\xec\x7a\x6b\x56\x4a\x6f\x57\xda\x1c\xcd\xc2\xe4\x9a\xc4\xe5\x66\x31\x8a\x17\xad\x36\x46\x11\x9a\x0b\x20\x54\x1b\xdd\xe8\xa9\x20\x9e\x6e\x82\x6f\x9e\x8c\xf1\xd2\x8f\x3e\x14\x97\x77\xb4\xd7\x1b\xff\xf5\x31\x0c\xb0\x74\x10\x4b\xed\x90\xac\x1a\x78\xb2\xb5\xb2\xea\x19\x58\xb5\xc3\xa4\xbc\xd7\xeb\x54\x03\xa4\x30\xb7\x8d\x21\xf8\xc1\xaf\xe6\x08\xf4\x0e\xa2\x1d\x0c\x7a\x83\x56\xd0\xe9\x92\xda\xad\x0e\xc8\x30\xdb\xc6\xf7\x75\xdc\x11\xb9\x0d\xc0\x0d\x27\x21\xb5\xc5\x9c\xa4\xdf\x22\x2a\xd5\x1c\x42\x70\x0a\x95\x9b\x71\x69\x6d\x9e\x49\x90\xe6\xe7\x75\x16\xf4\xcf\xf5\x02\xcd\x56\x98\x9f\x43\xf7\xba\x39\xcf\x3c\x29\x9f\x9d\xc1\xc8\x99\x4b\x4c\xfc\x22\xd2\x61\xeb\xc0\xaa\x1b\xe5\x57\x8c\x34\xc1\x07\xe7\x77\xb5\xce\x12\xd4\x3d\xfc\x0e\xc1\x05\x99\xd6\xf3\x02\xcf\x51\xcb\x6a\x61\xd9\x76\x7b\xaf\x03\xb5\x25\x9a\x82\x77\xe6\x47\x53\xf3\xe0\xfd\xfb\x7d\x22\x3a\x2f\xa5\x85\x68\x9d\xf6\x58\x75\x9f\x97\xa3\x2c\x5e\x3a\xdb\x17\x36\x94\xee\xb1\xbf\x05\xf8\xfd\x3b\x3e\x15\xad\x36\xc7\x82\x6d\xe5\x77\x32\xf2\x3b\x5b\xc8\xef\xfc\x20\xf9\x52\x2e\x24\x0d\x58\xd4\x10\xe2\xb7\xf0\xdd\x1a\x66\x58\x7f\x1a\x84\xfd\xed\x20\xec\x57\x40\xc8\xc6\x0b\x2f\x78\xd8\x10\x16\xaa\x2e\xa7\xd5\xc6\x8d\x95\xf9\x47\xdd\x5c\x19\xe6\xb5\x7b\xdc\x9f\x0d\xf9\xbb\x75\xdc\xc3\xfb\x69\xe9\xb4\xd0\x18\xf7\x7a\x88\x78\xd9\x58\x59\x8d\x3f\xbe\x63\xc8\xa4\xd7\xc2\xce\xef\x56\xc9\x1d\xa7\xca\xf1\xb3\xbb\x2b\xe1\xac\x24\x14\xa3\x9a\xf5\xab\xf8\xae\xc5\x5e\xa0\x52\x14\x75\x44\x66\x4b\xab\x18\xd2\xb3\xe6\x3e\x1d\x57\xa6\x7f\x38\xa9\x75\xd4\xb4\x86\x0f\x89\x1d\xf1\x86\x1f\x46\x65\x9c\x13\x2b\xf2\x2f\xe4\x0d\x08\x5e\xdc\x95\xe6\x58\x19\xd8\x36\x9d\xe7\x0d\xb1\xd1\xa2\xe6\xb8\x01\x1e\xfa\x32\x76\xe9\x8c\x88\xe6\x03\x1d\x1b\x76\xaf\xe7\x6c\xb2\xe0\x59\xb0\xc9\x82\x9b\xb4\xc4\xdb\x26\x9d\xed\x74\xdc\xc0\xa9\xf1\x12\x4e\x89\x7a\x48\x51\xd5\x85\x62\x95\xea\x83\x0e\x78\x5f\xa0\x70\xbd\xe8\x65\xfd\x29\xcd\x2f\x41\xae\x2c\x53\x82\xec\x58\x59\xbc\x9d\x52\x37\xff\x8e\x5e\x4f\xbb\xfc\xaf\x94\x59\xd0\xb3\xf1\x67\xcb\xfc\x73\x04\x42\x20\x91\x3b\x28\xba\xa7\x64\x62\x49\xd2\xa2\xcc\x6b\xec\x60\x36\x76\x7d\x71\x62\x23\x43\x00\xf5\x1d\x79\xe7\x6e\x83\xf7\x80\x1f\xaf\xb2\x83\x4f\xea\x87\x63\xf0\xd9\xbc\xf4\xb9\x5e\x11\x39\xbc\x6e\x97\x1a\xde\x60\x5a\x01\x63\x79\xe9\x69\x77\x97\x47\xd3\x93\xde\x5e\xfd\xdb\x37\x59\x76\xcc\x9b\x1c\xe3\xf3\xb7\x6f\xaa\x3d\xbe\xc9\xc6\xc7\xd0\xb8\xfe\x9a\xbe\xfb\x3f\x81\x55\xec\x61\x0d\xcd\x76\x9d\x4c\xf1\x66\xc4\x18\x38\xe3\x9d\x12\x79\x5c\x4a\xc9\xf5\xaf\x17\xd9\x0e\x86\xd0\xe1\x3f\xf0\x4e\x7a\xa3\xd6\x70\xed\x26\xe4\x87\x87\x9d\x64\xf9\xa6\xde\xd7\x6f\x0c\x22\x0e\x6b\x86\xc0\x66\xf8\x19\x64\x53\xef\x57\x37\x12\x9b\x7d\x68\xb2\x3d\xdc\x9c\xc7\xcc\x01\x53\x88\x66\x1b\x9f\xde\x00\x36\x1d\xdc\xf5\xd5\xe5\x7f\x7d\xbe\xfa\xd4\x3f\xbd\x1c\x6c\xf0\xb4\xd7\x1c\x4a\x67\xf6\x8e\xa0\x93\xc6\xef\x96\xa6\x5d\xe5\x99\x6a\xb7\x42\x36\x25\x4b\x73\x12\x04\x60\x61\x68\x5f\xc6\x27\xa9\xac\x76\x73\xb3\x06\x49\x17\xc7\x86\x98\xe4\xea\x5b\xc1\x2e\xd6\x14\xf1\x56\x62\x15\xec\x13\x16\x82\x65\xfa\xaa\x2f\xf0\x53\x36\xba\xed\xcf\xae\x2e\x2f\xcf\xcf\xd4\x56\x53\x85\x80\x03\x2d\x23\x5f\x36\xda\x30\xf7\x2c\x1b\x9b\x57\x53\xed\x0f\xad\xb6\xb6\xf5\x73\x58\x3b\x58\x42\x1e\xd9\x38\x20\xb5\xf7\x04\x38\xc0\x6a\xec\x03\x2e\xe8\x96\x0d\x28\xd4\xd6\xe7\xb8\x27\xf6\x0f\x3f\x78\xf4\xf1\xf8\x6c\x11\x6e\xd8\x5b\x85\xa9\xa1\x2f\xb4\xc5\x27\xf8\xbf\x2a\x1b\x20\x90\xef\x2c\x1b\x9d\x7e\x63\x55\x31\x3a\xe0\x67\xdd\xdd\xd9\xe1\x23\xdc\x59\xd8\x9c\xbf\x3c\xa3\xf4\xb3\x77\xa4\x62\xa8\x91\x83\x27\x32\x08\xbe\xb9\x06\x09\x17\x3e\x6f\x8d\x64\xa2\x70\x2e\x3f\x2f\xf5\xcf\x82\x30\x64\x36\x94\xba\x91\x7c\x94\xb7\xab\x74\x46\xa4\x47\x6e\x18\x75\x70\xc3\x1b\x04\xca\x63\x9d\x5c\x03\x79\x1d\x28\x2b\xbf\x26\x3f\x8f\x11\x57\x64\x0c\x75\x5e\x52\x97\x9f\xfd\xc9\x2d\x49\x79\xb0\xa5\x93\xaa\x63\x56\xa1\x01\xe1\x5f\xe7\xe2\xab\xc2\x4b\xc4\x07\xb6\x58\xa4\x2b\x37\x8c\xa7\xcc\x55\x9f\x29\x71\xbb\xd4\x92\x8e\xe1\xec\xf1\x8e\x8b\x26\x66\xc8\x09\x92\x83\x2a\xa2\x8e\xc1\xe4\xd9\x22\xb6\x94\xc7\x9f\xf2\x19\xcf\x17\x71\xfb\xfd\xd6\x9d\x41\xec\x49\xc9\x12\xeb\x89\x8f\x55\xc5\x29\x26\x1e\x63\x49\xba\x7d\x5d\x86\xd0\xfa\xa9\x9c\xbd\xa1\x91\x18\x09\x2f\xf9\xc4\xdb\xa6\x3d\xa5\xf1\xec\x4f\x86\x49\x79\xda\xad\x8d\x86\x6c\x52\x97\xc6\x12\x97\x9e\x84\x51\x8f\x7b\xa4\xcc\xf2\x46\x19\x4e\xd7\xc8\xdb\x0d\x0b\x2d\x4b\x87\x90\xed\x08\x5e\xdf\xcd\x58\xdf\x95\xd6\x77\x1b\xb2\x37\x33\x5e\xa0\x30\x43\x21\x76\x7e\xe9\xc4\xa6\x7f\x73\x5e\x71\x3e\xc2\xbf\x10\xb7\x55\x5d\x64\xdd\xe3\xd7\xbf\x78\x97\xc5\x8f\xf1\x7b\x74\xa8\xbe\x27\x8f\x53\xd7\x9e\x82\x1d\xd3\x76\xd4\xc3\xdb\xaa\xf7\x29\x1d\xff\x56\x5d\x3b\x0c\x2a\x95\x56\x38\x1c\xaa\x3e\xed\xc1\x53\x47\xee\x90\x6c\x53\x2b\x7e\x64\xc9\x9b\xfd\xbb\xef\xb0\x89\xeb\xe3\x3d\xca\xf2\xe6\xe5\xa5\x14\x98\x8c\xf1\xe3\x42\xf1\x65\xf9\x4e\xd5\x31\x12\x85\x16\x78\x6b\x6c\x0c\xa6\xfe\xdf\x00\x00\x00\xff\xff\x58\x60\x27\x77\xce\x3f\x00\x00") func resourcesSolveMBytes() ([]byte, error) { return bindataRead( @@ -1140,7 +1140,7 @@ func resourcesSolveM() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "resources/solve.m", size: 15526, mode: os.FileMode(420), modTime: time.Unix(1516693921, 0)} + info := bindataFileInfo{name: "resources/solve.m", size: 16334, mode: os.FileMode(420), modTime: time.Unix(1516866395, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/expreduce/resources/simplify.m b/expreduce/resources/simplify.m index 6c4d54f..21536be 100644 --- a/expreduce/resources/simplify.m +++ b/expreduce/resources/simplify.m @@ -86,5 +86,14 @@ ] }; -FullSimplify[e_] := Simplify[e]; +FullSimplify::usage = "`FullSimplify[expr]` attempts to perform full simplification operations on `expr`."; +FullSimplify[e_] := Simplify[e] //. { + E^(-x_Symbol)+E^x_Symbol:>2 Cosh[x] +}; Attributes[FullSimplify] = {Protected}; +Tests`FullSimplify = { + ESimpleExamples[ + ESameTest[2 Cosh[x], E^-x+E^x//FullSimplify], + ] +}; + diff --git a/expreduce/resources/solve.m b/expreduce/resources/solve.m index 2921324..e3a551e 100644 --- a/expreduce/resources/solve.m +++ b/expreduce/resources/solve.m @@ -33,6 +33,9 @@ Switch[pow, -1, {base -> 1/rhs}, 2, {base -> -Sqrt[rhs]//PowerExpand, base -> Sqrt[rhs]//PowerExpand}, + 3, {base->rhs^(1/3),base->-(-1)^(1/3) rhs^(1/3),base->(-1)^(2/3) rhs^(1/3)}, + 4, {base->-rhs^(1/4),base->-I rhs^(1/4),base->I rhs^(1/4),base->rhs^(1/4)}, + 5, {base->rhs^(1/5),base->-(-1)^(1/5) rhs^(1/5),base->(-1)^(2/5) rhs^(1/5),base->-(-1)^(3/5) rhs^(1/5),base->(-1)^(4/5) rhs^(1/5)}, (* Not implemented yet *) _Integer, SolveError, (* Similar to the general case but without the message.*) @@ -101,7 +104,11 @@ {lhs -> ConditionalExpression[ Tan[rhs], (Re[rhs] == -(Pi/2) && Im[rhs] < 0) || -(Pi/2) < Re[rhs] < Pi/2 || (Re[rhs] == Pi/2 && Im[rhs] > 0)]}; - +applyInverse[Cosh[lhs_] -> rhs_, var_Symbol] := + {lhs -> ConditionalExpression[-ArcCosh[rhs] + 2 I \[Pi] C[1], + C[1] \[Element] Integers], lhs -> + ConditionalExpression[ArcCosh[rhs] + 2 I \[Pi] C[1], + C[1] \[Element] Integers]} (* Base case: *) @@ -167,7 +174,7 @@ (*Sterling, L, Bundy, A, Byrd, L, O'Keefe, R & Silver, B 1982, Solving Symbolic Equations with PRESS. in*) (*Computer Algebra - Lecture Notes in Computer Science. vol. 7. DOI: 10.1007/3-540-11607-9_13*) (* Available at: http://www.research.ed.ac.uk/portal/files/413486/Solving_Symbolic_Equations_%20with_PRESS.pdf *) -Solve[eqn_Equal, var_Symbol] := Module[{degree, collected}, +Solve[eqn_Equal, var_Symbol] := Module[{degree, collected, fullSimplified}, If[containsZeroOccurrences[eqn, var], Return[{}]]; (* Attempt isolation *) If[containsOneOccurrence[eqn, var], Return[isolateInEqn[eqn, var]]]; @@ -182,6 +189,10 @@ collected = collect[eqn, var]; If[containsOneOccurrence[collected, var], Return[isolateInEqn[collected, var]]]; + (*Try FullSimplify then solve.*) + fullSimplified = eqn // FullSimplify; + If[fullSimplified =!= eqn, Return[Solve[fullSimplified, var]]]; + Print["Solve found no solutions"]; SolveFailed ]; @@ -211,7 +222,7 @@ Solve[False, _] := {}; Solve[True, _] := {{}}; Solve[{}, _] := {{}}; -Solve[x_Symbol+E^x_Symbol==0, x_Symbol] := {{x->-ProductLog[1]}}; +Solve[x_Symbol+a_.*E^x_Symbol==0, x_Symbol] := {{x->-ProductLog[a]}}; (* Currently needed for Apart: *) (*Orderless matching would be nice here*) Solve[{a_.*x_Symbol+b_.*y_Symbol==c_,d_.*x_Symbol+e_.*y_Symbol==f_},{x_Symbol,y_Symbol}] := {{x->-((c e-b f)/(b d-a e)),y->-((-c d+a f)/(b d-a e))}} /;FreeQ[{a,b,c,d,e,f},x]&&FreeQ[{a,b,c,d,e,f},y] @@ -296,6 +307,7 @@ ExpreduceTestSolve[fn_] := Module[{testproblems, testi, runSolveTest, testp, res, nCorrect, isCorrect}, testproblems = ReadList[fn]; + testproblems = Select[testproblems, (MatchQ[#[[2]],_Symbol])&]; Print[Length[testproblems]]; testi = 1;