From be0887a37b12a27d92d0a79bb77cc4aa1064fa36 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 4 Apr 2016 16:17:55 +0200 Subject: [PATCH 01/78] eclipse project files, ignore build directories by git --- .cproject | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 5 ++++- .project | 27 ++++++++++++++++++++++++ 3 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 .cproject create mode 100644 .project diff --git a/.cproject b/.cproject new file mode 100644 index 0000000..649ceef --- /dev/null +++ b/.cproject @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore index a140171..dffb3f5 100644 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,8 @@ *.la *.a -#Temporary editor files +# Temporary editor files *~ + +# Out of source build directories +build* diff --git a/.project b/.project new file mode 100644 index 0000000..764d499 --- /dev/null +++ b/.project @@ -0,0 +1,27 @@ + + + Bonsai + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + From 204e5a5e4f618ea9aed55e95447209b97609feee Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 5 Apr 2016 16:42:32 +0200 Subject: [PATCH 02/78] write and read tipsy input files for testing --- tipsy/create_tipsy.cpp | 65 ++++++++++++++++++++++++++++++++++++++++++ tipsy/read_tipsy.cpp | 51 +++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 tipsy/create_tipsy.cpp create mode 100644 tipsy/read_tipsy.cpp diff --git a/tipsy/create_tipsy.cpp b/tipsy/create_tipsy.cpp new file mode 100644 index 0000000..4dfc5d1 --- /dev/null +++ b/tipsy/create_tipsy.cpp @@ -0,0 +1,65 @@ +#include + +#define MAXDIM 3 +#define Real float + +int main() +{ + double time = 0.0; + int nbodies = 2; + int ndim = 3; + int nsph = 0; + int ndark = 1; + int nstar = 1; + + std::ofstream os("test.tipsy", std::ios::binary); + os.write((char*) &time, sizeof(double)); + os.write((char*) &nbodies, sizeof(int)); + os.write((char*) &ndim, sizeof(int)); + os.write((char*) &nsph, sizeof(int)); + os.write((char*) &ndark, sizeof(int)); + os.write((char*) &nstar, sizeof(int)); + + // dark particle: + { + Real mass = 0.00443291711; + Real pos[MAXDIM] = {-0.0120858643, -0.0410266742, -0.00437123608}; + Real vel[MAXDIM] = {-1.60500276, -0.643298388, -0.367065489}; + Real eps = 0.206867486; + int phi = 200000000; + + os.write((char*) &mass, sizeof(Real)); + os.write((char*) pos, sizeof(Real)); + os.write((char*) pos + 1, sizeof(Real)); + os.write((char*) pos + 2, sizeof(Real)); + os.write((char*) vel, sizeof(Real)); + os.write((char*) vel + 1, sizeof(Real)); + os.write((char*) vel + 2, sizeof(Real)); + os.write((char*) &eps, sizeof(Real)); + os.write((char*) &phi, sizeof(int)); + } + + // star particle: + { + Real mass = 0.00430987403; + Real pos[MAXDIM] = {-0.0269202571, 0.0215147045, 0.00322919339}; + Real vel[MAXDIM] = {-0.0424188301, 0.809628189, -0.663158596}; + Real metals = 0.0; + Real tform = 0.0; + Real eps = 0.204935506; + int phi = 100000000; + + os.write((char*) &mass, sizeof(Real)); + os.write((char*) pos, sizeof(Real)); + os.write((char*) pos + 1, sizeof(Real)); + os.write((char*) pos + 2, sizeof(Real)); + os.write((char*) vel, sizeof(Real)); + os.write((char*) vel + 1, sizeof(Real)); + os.write((char*) vel + 2, sizeof(Real)); + os.write((char*) &metals, sizeof(Real)); + os.write((char*) &tform, sizeof(Real)); + os.write((char*) &eps, sizeof(Real)); + os.write((char*) &phi, sizeof(int)); + } +} + diff --git a/tipsy/read_tipsy.cpp b/tipsy/read_tipsy.cpp new file mode 100644 index 0000000..a85b932 --- /dev/null +++ b/tipsy/read_tipsy.cpp @@ -0,0 +1,51 @@ +#include +#include + +#define MAXDIM 3 + +typedef float Real; + +struct dark_particle { + Real mass; + Real pos[MAXDIM]; + Real vel[MAXDIM]; + Real eps; + int phi; +}; + +int main(int argc, char** argv) +{ + double time; + int nbodies; + int ndim; + int nsph; + int ndark; + int nstar; + + std::cout << "file = " << argv[1] << std::endl; + + std::ifstream is(argv[1], std::ios::binary); + is.read((char*) &time, sizeof(double)); + is.read((char*) &nbodies, sizeof(int)); + is.read((char*) &ndim, sizeof(int)); + is.read((char*) &nsph, sizeof(int)); + is.read((char*) &ndark, sizeof(int)); + is.read((char*) &nstar, sizeof(int)); + + std::cout << "time = " << time << std::endl; + std::cout << "nbodies = " << nbodies << std::endl; + std::cout << "ndim = " << ndim << std::endl; + std::cout << "nsph = " << nsph << std::endl; + std::cout << "ndark = " << ndark << std::endl; + std::cout << "nstar= " << nstar << std::endl; + + // dark particles + { + dark_particle d; + + is.read((char*) &d, sizeof(d)); + + std::cout << "mass = " << d.mass << std::endl; + } +} + From c93f9c0ce4f9c1631b843b244cb404fc2b4a6659 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Wed, 6 Apr 2016 09:33:52 +0200 Subject: [PATCH 03/78] cmake configs for eclipse --- eclipse/cmake host debug gnu.launch | 7 +++++++ eclipse/cmake release gnu.launch | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 eclipse/cmake host debug gnu.launch create mode 100644 eclipse/cmake release gnu.launch diff --git a/eclipse/cmake host debug gnu.launch b/eclipse/cmake host debug gnu.launch new file mode 100644 index 0000000..de5f482 --- /dev/null +++ b/eclipse/cmake host debug gnu.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/cmake release gnu.launch b/eclipse/cmake release gnu.launch new file mode 100644 index 0000000..333e5fd --- /dev/null +++ b/eclipse/cmake release gnu.launch @@ -0,0 +1,7 @@ + + + + + + + From 3c4ae0295c7917ddaee76704e127d79837f35ac5 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 7 Apr 2016 10:47:00 +0200 Subject: [PATCH 04/78] add eclipse test runs --- .cproject | 94 ++++++++++++++----- ...i device debug GTC12demo reduce 100.launch | 32 +++++++ ...sai host debug GTC12demo reduce 100.launch | 32 +++++++ eclipse/Bonsai host debug example.launch | 33 +++++++ eclipse/Bonsai host debug test.launch | 33 +++++++ .../Bonsai release GTC12demo reduce 10.launch | 32 +++++++ ...Bonsai release GTC12demo reduce 100.launch | 32 +++++++ eclipse/Bonsai release example.launch | 33 +++++++ eclipse/cmake device debug gnu.launch | 7 ++ eclipse/cmake host debug gnu.launch | 2 +- eclipse/cmake release gnu.launch | 2 +- tipsy/.gitignore | 3 + 12 files changed, 311 insertions(+), 24 deletions(-) create mode 100644 eclipse/Bonsai device debug GTC12demo reduce 100.launch create mode 100644 eclipse/Bonsai host debug GTC12demo reduce 100.launch create mode 100644 eclipse/Bonsai host debug example.launch create mode 100644 eclipse/Bonsai host debug test.launch create mode 100644 eclipse/Bonsai release GTC12demo reduce 10.launch create mode 100644 eclipse/Bonsai release GTC12demo reduce 100.launch create mode 100644 eclipse/Bonsai release example.launch create mode 100644 eclipse/cmake device debug gnu.launch create mode 100644 tipsy/.gitignore diff --git a/.cproject b/.cproject index 649ceef..502aa6c 100644 --- a/.cproject +++ b/.cproject @@ -2,42 +2,88 @@ - + - + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -58,5 +104,9 @@ + + + + diff --git a/eclipse/Bonsai device debug GTC12demo reduce 100.launch b/eclipse/Bonsai device debug GTC12demo reduce 100.launch new file mode 100644 index 0000000..e23c952 --- /dev/null +++ b/eclipse/Bonsai device debug GTC12demo reduce 100.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/Bonsai host debug GTC12demo reduce 100.launch b/eclipse/Bonsai host debug GTC12demo reduce 100.launch new file mode 100644 index 0000000..e23c952 --- /dev/null +++ b/eclipse/Bonsai host debug GTC12demo reduce 100.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/Bonsai host debug example.launch b/eclipse/Bonsai host debug example.launch new file mode 100644 index 0000000..40a30bb --- /dev/null +++ b/eclipse/Bonsai host debug example.launch @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/Bonsai host debug test.launch b/eclipse/Bonsai host debug test.launch new file mode 100644 index 0000000..854c7d7 --- /dev/null +++ b/eclipse/Bonsai host debug test.launch @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/Bonsai release GTC12demo reduce 10.launch b/eclipse/Bonsai release GTC12demo reduce 10.launch new file mode 100644 index 0000000..d4f3e53 --- /dev/null +++ b/eclipse/Bonsai release GTC12demo reduce 10.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/Bonsai release GTC12demo reduce 100.launch b/eclipse/Bonsai release GTC12demo reduce 100.launch new file mode 100644 index 0000000..415a1ee --- /dev/null +++ b/eclipse/Bonsai release GTC12demo reduce 100.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/Bonsai release example.launch b/eclipse/Bonsai release example.launch new file mode 100644 index 0000000..4348dcd --- /dev/null +++ b/eclipse/Bonsai release example.launch @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/cmake device debug gnu.launch b/eclipse/cmake device debug gnu.launch new file mode 100644 index 0000000..4fc3d67 --- /dev/null +++ b/eclipse/cmake device debug gnu.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/cmake host debug gnu.launch b/eclipse/cmake host debug gnu.launch index de5f482..d4c015b 100644 --- a/eclipse/cmake host debug gnu.launch +++ b/eclipse/cmake host debug gnu.launch @@ -1,7 +1,7 @@ - + diff --git a/eclipse/cmake release gnu.launch b/eclipse/cmake release gnu.launch index 333e5fd..0ba317f 100644 --- a/eclipse/cmake release gnu.launch +++ b/eclipse/cmake release gnu.launch @@ -1,7 +1,7 @@ - + diff --git a/tipsy/.gitignore b/tipsy/.gitignore new file mode 100644 index 0000000..f0a01d2 --- /dev/null +++ b/tipsy/.gitignore @@ -0,0 +1,3 @@ +create_tipsy +read_tipsy +test.tipsy From 5318abcb6325bf7ec967f3938558a96b77847a94 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 12 Apr 2016 15:58:47 +0200 Subject: [PATCH 05/78] #617: galaxies vector, release key, add particles to gpu memory --- runtime/include/Galaxies.h | 33 +++++++++++++++++++++++++ runtime/include/renderloop.h | 4 ++- runtime/src/main.cpp | 5 +++- runtime/src/renderloop.cpp | 47 ++++++++++++++++++++++++++++++++---- 4 files changed, 82 insertions(+), 7 deletions(-) create mode 100644 runtime/include/Galaxies.h diff --git a/runtime/include/Galaxies.h b/runtime/include/Galaxies.h new file mode 100644 index 0000000..eb93872 --- /dev/null +++ b/runtime/include/Galaxies.h @@ -0,0 +1,33 @@ +/* + * Galaxies.h + * + * Created on: Apr 12, 2016 + * Author: Bernd Doser + */ + +#ifndef GALAXIES_H_ +#define GALAXIES_H_ + +#include + +typedef float4 real4; +typedef float real; + +struct Galaxy +{ + Galaxy(std::vector const& bodyPositions, + std::vector const& bodyVelocities, + std::vector const& bodyIDs) + : bodyPositions(bodyPositions), + bodyVelocities(bodyVelocities), + bodyIDs(bodyIDs) + {} + + std::vector bodyPositions; + std::vector bodyVelocities; + std::vector bodyIDs; +}; + +typedef std::vector Galaxies; + +#endif /* GALAXIES_H_ */ diff --git a/runtime/include/renderloop.h b/runtime/include/renderloop.h index 8a340e4..b70c541 100644 --- a/runtime/include/renderloop.h +++ b/runtime/include/renderloop.h @@ -2,12 +2,14 @@ #define _RENDERLOOP_H_ #include "octree.h" +#include "Galaxies.h" + extern float TstartGlow; extern float dTstartGlow; void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo); void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, - bool showFPS, bool stereo); + bool showFPS, bool stereo, Galaxies const& galaxies); #endif // _RENDERLOOP_H_ diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index c3939e3..3673d6b 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -52,6 +52,7 @@ double drand48() #include "renderloop.h" #include "plummer.h" #include "disk_shuffle.h" +#include "Galaxies.h" #ifdef GALACTICS #include "galactics.h" #endif @@ -1444,7 +1445,9 @@ int main(int argc, char** argv) //Start the integration #ifdef USE_OPENGL octree::IterationData idata; - initAppRenderer(argc, argv, tree, idata, displayFPS, stereo); + Galaxies galaxies; + galaxies.push_back(Galaxy(bodyPositions, bodyVelocities, bodyIDs)); + initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, galaxies); LOG("Finished!!! Took in total: %lg sec\n", tree->get_time()-t0); #else tree->mpiSync(); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 6cf9177..95f6dd4 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -306,7 +306,7 @@ void glPrintf(float x, float y, const char* format, ...) class BonsaiDemo { public: - BonsaiDemo(octree *tree, octree::IterationData &idata) + BonsaiDemo(octree *tree, octree::IterationData &idata, Galaxies const& galaxies) : m_tree(tree), m_idata(idata), iterationsRemaining(true), // m_renderer(tree->localTree.n + tree->localTree.n_dust), m_renderer(tree->localTree.n + tree->localTree.n_dust, MAX_PARTICLES), @@ -338,7 +338,8 @@ class BonsaiDemo m_displayBodiesSec(true), m_cameraRollHome(0.0f), m_cameraRoll(0.0f), - m_enableStats(true) + m_enableStats(true), + m_galaxies(galaxies) { m_windowDims = make_int2(1024, 768); m_cameraTrans = make_float3(0, -2, -100); @@ -1006,6 +1007,12 @@ class BonsaiDemo m_cameraRoll -= 2.0f; break; case 'W': + break; + case 'a': + case 'A': + // release additional galaxy + releaseGalaxy(); + break; default: break; } @@ -1392,6 +1399,35 @@ class BonsaiDemo } + void releaseGalaxy() + { + size_t old_size = m_tree->localTree.n; + m_tree->localTree.setN(old_size + m_galaxies[0].bodyPositions.size()); + m_tree->allocateParticleMemory(m_tree->localTree); + + //copy(m_galaxies[0].bodyPositions.begin(), m_galaxies[0].bodyPositions.end(), m_tree->localTree.bodies_pos + m_tree->localTree.n); + + for(size_t i(0); i != m_galaxies[0].bodyPositions.size(); ++i) + { + m_tree->localTree.bodies_pos[old_size + i] = m_galaxies[0].bodyPositions[i]; + m_tree->localTree.bodies_vel[old_size + i] = m_galaxies[0].bodyVelocities[i]; + m_tree->localTree.bodies_ids[old_size + i] = m_galaxies[0].bodyIDs[i]; + m_tree->localTree.bodies_Ppos[old_size + i] = m_galaxies[0].bodyPositions[i]; + m_tree->localTree.bodies_Pvel[old_size + i] = m_galaxies[0].bodyVelocities[i]; + m_tree->localTree.bodies_time[old_size + i] = make_float2(m_tree->get_t_current(), m_tree->get_t_current()); + } + + m_tree->localTree.bodies_pos.free_mem(); + + // Load data onto the device + m_tree->localTree.bodies_pos.h2d(); + m_tree->localTree.bodies_vel.h2d(); + m_tree->localTree.bodies_ids.h2d(); + m_tree->localTree.bodies_Ppos.h2d(); + m_tree->localTree.bodies_Pvel.h2d(); + m_tree->localTree.bodies_time.h2d(); + } + octree *m_tree; octree::IterationData &m_idata; bool iterationsRemaining; @@ -1470,6 +1506,8 @@ class BonsaiDemo ParamListGL *m_colorParams; ParamListGL *m_params; // current + Galaxies const& m_galaxies; + // saved cameras struct Camera { Camera() { @@ -1886,12 +1924,11 @@ void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) atexit(onexit); } - void initAppRenderer(int argc, char** argv, octree *tree, - octree::IterationData &idata, bool showFPS, bool stereo) { + octree::IterationData &idata, bool showFPS, bool stereo, Galaxies const& galaxies) { displayFps = showFPS; //initGL(argc, argv); - theDemo = new BonsaiDemo(tree, idata); + theDemo = new BonsaiDemo(tree, idata, galaxies); if (stereo) theDemo->toggleStereo(); //SV assuming stereo is set to disable by default. glutMainLoop(); From 426135c7a108d70eab414f3a2234ebe24f53e366 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Wed, 13 Apr 2016 16:37:17 +0200 Subject: [PATCH 06/78] #617: allocate doubled memory --- ...i device debug GTC12demo reduce 100.launch | 6 ++--- ...sai host debug GTC12demo reduce 100.launch | 2 +- ...Bonsai release GTC12demo reduce 100.launch | 2 +- eclipse/cmake device debug gnu.launch | 2 +- eclipse/cmake host debug gnu.launch | 2 +- eclipse/cmake release gnu.launch | 2 +- runtime/include/node_specs.h | 5 +++- runtime/src/renderloop.cpp | 26 ++++++++++++------- 8 files changed, 29 insertions(+), 18 deletions(-) diff --git a/eclipse/Bonsai device debug GTC12demo reduce 100.launch b/eclipse/Bonsai device debug GTC12demo reduce 100.launch index e23c952..0b054c8 100644 --- a/eclipse/Bonsai device debug GTC12demo reduce 100.launch +++ b/eclipse/Bonsai device debug GTC12demo reduce 100.launch @@ -16,11 +16,11 @@ - - + + - + diff --git a/eclipse/Bonsai host debug GTC12demo reduce 100.launch b/eclipse/Bonsai host debug GTC12demo reduce 100.launch index e23c952..c84f231 100644 --- a/eclipse/Bonsai host debug GTC12demo reduce 100.launch +++ b/eclipse/Bonsai host debug GTC12demo reduce 100.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release GTC12demo reduce 100.launch b/eclipse/Bonsai release GTC12demo reduce 100.launch index 415a1ee..a99e60c 100644 --- a/eclipse/Bonsai release GTC12demo reduce 100.launch +++ b/eclipse/Bonsai release GTC12demo reduce 100.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/cmake device debug gnu.launch b/eclipse/cmake device debug gnu.launch index 4fc3d67..7815ced 100644 --- a/eclipse/cmake device debug gnu.launch +++ b/eclipse/cmake device debug gnu.launch @@ -1,7 +1,7 @@ - + diff --git a/eclipse/cmake host debug gnu.launch b/eclipse/cmake host debug gnu.launch index d4c015b..de5f482 100644 --- a/eclipse/cmake host debug gnu.launch +++ b/eclipse/cmake host debug gnu.launch @@ -1,7 +1,7 @@ - + diff --git a/eclipse/cmake release gnu.launch b/eclipse/cmake release gnu.launch index 0ba317f..333e5fd 100644 --- a/eclipse/cmake release gnu.launch +++ b/eclipse/cmake release gnu.launch @@ -1,7 +1,7 @@ - + diff --git a/runtime/include/node_specs.h b/runtime/include/node_specs.h index 0f268c8..343d91e 100644 --- a/runtime/include/node_specs.h +++ b/runtime/include/node_specs.h @@ -63,7 +63,10 @@ inline int getTreeWalkBlocksPerSM(int devMajor, int devMinor) //Factor of extra memory we allocate during multi-GPU runs. By allocating a bit extra //we reduce the number of memory allocations when particle numbers fluctuate. 1.1 == 10% extra -#define MULTI_GPU_MEM_INCREASE 1.1 +//#define MULTI_GPU_MEM_INCREASE 1.1 + +// Dirty hack to test adding an additional galaxy +#define MULTI_GPU_MEM_INCREASE 2.1 //If USE_HASH_TABLE_DOMAIN_DECOMP is set to 1 we build a hash-table, otherwise we use //sampling particles to get an idea of the domain space used to compute the domain diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 95f6dd4..6558cfa 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1403,22 +1403,30 @@ class BonsaiDemo { size_t old_size = m_tree->localTree.n; m_tree->localTree.setN(old_size + m_galaxies[0].bodyPositions.size()); - m_tree->allocateParticleMemory(m_tree->localTree); - //copy(m_galaxies[0].bodyPositions.begin(), m_galaxies[0].bodyPositions.end(), m_tree->localTree.bodies_pos + m_tree->localTree.n); + std::copy(m_galaxies[0].bodyPositions.begin(), m_galaxies[0].bodyPositions.end(), + &(m_tree->localTree.bodies_pos[old_size])); + copy(m_galaxies[0].bodyVelocities.begin(), m_galaxies[0].bodyVelocities.end(), + &(m_tree->localTree.bodies_vel[old_size])); + copy(m_galaxies[0].bodyIDs.begin(), m_galaxies[0].bodyIDs.end(), + &(m_tree->localTree.bodies_ids[old_size])); + copy(m_galaxies[0].bodyPositions.begin(), m_galaxies[0].bodyPositions.end(), + &(m_tree->localTree.bodies_Ppos[old_size])); + copy(m_galaxies[0].bodyVelocities.begin(), m_galaxies[0].bodyVelocities.end(), + &(m_tree->localTree.bodies_Pvel[old_size])); +// std::fill(&(m_tree->localTree.bodies_Pvel[old_size]), &(m_tree->localTree.bodies_Pvel[old_size + old_size]), +// make_float2(m_tree->get_t_current(), m_tree->get_t_current())); for(size_t i(0); i != m_galaxies[0].bodyPositions.size(); ++i) { - m_tree->localTree.bodies_pos[old_size + i] = m_galaxies[0].bodyPositions[i]; - m_tree->localTree.bodies_vel[old_size + i] = m_galaxies[0].bodyVelocities[i]; - m_tree->localTree.bodies_ids[old_size + i] = m_galaxies[0].bodyIDs[i]; - m_tree->localTree.bodies_Ppos[old_size + i] = m_galaxies[0].bodyPositions[i]; - m_tree->localTree.bodies_Pvel[old_size + i] = m_galaxies[0].bodyVelocities[i]; +// m_tree->localTree.bodies_pos[old_size + i] = m_galaxies[0].bodyPositions[i]; +// m_tree->localTree.bodies_vel[old_size + i] = m_galaxies[0].bodyVelocities[i]; +// m_tree->localTree.bodies_ids[old_size + i] = m_galaxies[0].bodyIDs[i]; +// m_tree->localTree.bodies_Ppos[old_size + i] = m_galaxies[0].bodyPositions[i]; +// m_tree->localTree.bodies_Pvel[old_size + i] = m_galaxies[0].bodyVelocities[i]; m_tree->localTree.bodies_time[old_size + i] = make_float2(m_tree->get_t_current(), m_tree->get_t_current()); } - m_tree->localTree.bodies_pos.free_mem(); - // Load data onto the device m_tree->localTree.bodies_pos.h2d(); m_tree->localTree.bodies_vel.h2d(); From 3bfd44b96e8483c180956e3c9aa84ec6e97afc6c Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 14 Apr 2016 09:33:34 +0200 Subject: [PATCH 07/78] generalize eclipse configs by using CMAKE_HOME and ESO_DATA --- eclipse/Bonsai device debug GTC12demo reduce 100.launch | 2 +- eclipse/Bonsai host debug GTC12demo reduce 100.launch | 2 +- eclipse/Bonsai host debug example.launch | 3 +-- eclipse/Bonsai host debug test.launch | 3 +-- eclipse/Bonsai release GTC12demo reduce 10.launch | 2 +- eclipse/Bonsai release GTC12demo reduce 100.launch | 2 +- eclipse/Bonsai release example.launch | 3 +-- eclipse/cmake device debug gnu.launch | 2 +- eclipse/cmake host debug gnu.launch | 2 +- eclipse/cmake release gnu.launch | 2 +- 10 files changed, 10 insertions(+), 13 deletions(-) diff --git a/eclipse/Bonsai device debug GTC12demo reduce 100.launch b/eclipse/Bonsai device debug GTC12demo reduce 100.launch index 0b054c8..c2a91e3 100644 --- a/eclipse/Bonsai device debug GTC12demo reduce 100.launch +++ b/eclipse/Bonsai device debug GTC12demo reduce 100.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai host debug GTC12demo reduce 100.launch b/eclipse/Bonsai host debug GTC12demo reduce 100.launch index c84f231..07b1092 100644 --- a/eclipse/Bonsai host debug GTC12demo reduce 100.launch +++ b/eclipse/Bonsai host debug GTC12demo reduce 100.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai host debug example.launch b/eclipse/Bonsai host debug example.launch index 40a30bb..7fec880 100644 --- a/eclipse/Bonsai host debug example.launch +++ b/eclipse/Bonsai host debug example.launch @@ -16,12 +16,11 @@ - + - diff --git a/eclipse/Bonsai host debug test.launch b/eclipse/Bonsai host debug test.launch index 854c7d7..b6716d9 100644 --- a/eclipse/Bonsai host debug test.launch +++ b/eclipse/Bonsai host debug test.launch @@ -16,12 +16,11 @@ - + - diff --git a/eclipse/Bonsai release GTC12demo reduce 10.launch b/eclipse/Bonsai release GTC12demo reduce 10.launch index d4f3e53..175107d 100644 --- a/eclipse/Bonsai release GTC12demo reduce 10.launch +++ b/eclipse/Bonsai release GTC12demo reduce 10.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release GTC12demo reduce 100.launch b/eclipse/Bonsai release GTC12demo reduce 100.launch index a99e60c..1e10fa1 100644 --- a/eclipse/Bonsai release GTC12demo reduce 100.launch +++ b/eclipse/Bonsai release GTC12demo reduce 100.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release example.launch b/eclipse/Bonsai release example.launch index 4348dcd..9ab2489 100644 --- a/eclipse/Bonsai release example.launch +++ b/eclipse/Bonsai release example.launch @@ -16,12 +16,11 @@ - + - diff --git a/eclipse/cmake device debug gnu.launch b/eclipse/cmake device debug gnu.launch index 7815ced..8a052fa 100644 --- a/eclipse/cmake device debug gnu.launch +++ b/eclipse/cmake device debug gnu.launch @@ -1,7 +1,7 @@ - + diff --git a/eclipse/cmake host debug gnu.launch b/eclipse/cmake host debug gnu.launch index de5f482..e0f5a10 100644 --- a/eclipse/cmake host debug gnu.launch +++ b/eclipse/cmake host debug gnu.launch @@ -1,7 +1,7 @@ - + diff --git a/eclipse/cmake release gnu.launch b/eclipse/cmake release gnu.launch index 333e5fd..b4ff2ff 100644 --- a/eclipse/cmake release gnu.launch +++ b/eclipse/cmake release gnu.launch @@ -1,7 +1,7 @@ - + From 5c6bdac6e230d159099744bc3f69f080ed81e314 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 14 Apr 2016 16:21:42 +0200 Subject: [PATCH 08/78] add iterate_setup to release_galaxy --- eclipse/Bonsai host debug example.launch | 2 +- .../Bonsai release GTC12demo reduce 50.launch | 32 +++++++++++++++++++ eclipse/Bonsai release example.launch | 2 +- runtime/src/renderloop.cpp | 2 ++ 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 eclipse/Bonsai release GTC12demo reduce 50.launch diff --git a/eclipse/Bonsai host debug example.launch b/eclipse/Bonsai host debug example.launch index 7fec880..ac279a5 100644 --- a/eclipse/Bonsai host debug example.launch +++ b/eclipse/Bonsai host debug example.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release GTC12demo reduce 50.launch b/eclipse/Bonsai release GTC12demo reduce 50.launch new file mode 100644 index 0000000..fab8d84 --- /dev/null +++ b/eclipse/Bonsai release GTC12demo reduce 50.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/Bonsai release example.launch b/eclipse/Bonsai release example.launch index 9ab2489..97f3504 100644 --- a/eclipse/Bonsai release example.launch +++ b/eclipse/Bonsai release example.launch @@ -16,7 +16,7 @@ - + diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 6558cfa..7ff5c28 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1434,6 +1434,8 @@ class BonsaiDemo m_tree->localTree.bodies_Ppos.h2d(); m_tree->localTree.bodies_Pvel.h2d(); m_tree->localTree.bodies_time.h2d(); + + m_tree->iterate_setup(m_idata); } octree *m_tree; From d7414a9b7efdd7c1e7a55447f61ed8d76c6020af Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 15 Apr 2016 14:31:48 +0200 Subject: [PATCH 09/78] #617: reallocateParticleMemory --- runtime/include/node_specs.h | 5 +---- runtime/src/build.cpp | 3 +++ runtime/src/renderloop.cpp | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/runtime/include/node_specs.h b/runtime/include/node_specs.h index 343d91e..0f268c8 100644 --- a/runtime/include/node_specs.h +++ b/runtime/include/node_specs.h @@ -63,10 +63,7 @@ inline int getTreeWalkBlocksPerSM(int devMajor, int devMinor) //Factor of extra memory we allocate during multi-GPU runs. By allocating a bit extra //we reduce the number of memory allocations when particle numbers fluctuate. 1.1 == 10% extra -//#define MULTI_GPU_MEM_INCREASE 1.1 - -// Dirty hack to test adding an additional galaxy -#define MULTI_GPU_MEM_INCREASE 2.1 +#define MULTI_GPU_MEM_INCREASE 1.1 //If USE_HASH_TABLE_DOMAIN_DECOMP is set to 1 we build a hash-table, otherwise we use //sampling particles to get an idea of the domain space used to compute the domain diff --git a/runtime/src/build.cpp b/runtime/src/build.cpp index eddcc2b..ba05811 100644 --- a/runtime/src/build.cpp +++ b/runtime/src/build.cpp @@ -13,6 +13,9 @@ void octree::allocateParticleMemory(tree_structure &tree) if(nProcs > 1) //10% extra space, only in parallel when n_bodies = (int)(n_bodies*MULTI_GPU_MEM_INCREASE); //number of particles can fluctuate + // Dirty hack to test adding an additional galaxy + //n_bodies *= 2; + //Particle properties tree.bodies_pos.cmalloc(n_bodies+1, true); //+1 to set end pos, host mapped? TODO not needed right since we use Ppos tree.bodies_key.cmalloc(n_bodies+1, false); //+1 to set end key diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 7ff5c28..f9e588d 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1403,6 +1403,7 @@ class BonsaiDemo { size_t old_size = m_tree->localTree.n; m_tree->localTree.setN(old_size + m_galaxies[0].bodyPositions.size()); + m_tree->reallocateParticleMemory(m_tree->localTree); std::copy(m_galaxies[0].bodyPositions.begin(), m_galaxies[0].bodyPositions.end(), &(m_tree->localTree.bodies_pos[old_size])); @@ -1435,7 +1436,7 @@ class BonsaiDemo m_tree->localTree.bodies_Pvel.h2d(); m_tree->localTree.bodies_time.h2d(); - m_tree->iterate_setup(m_idata); + //m_tree->iterate_setup(m_idata); } octree *m_tree; From e77b06b127b4d43388b00c62030eeba0ed97136f Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 15 Apr 2016 15:03:57 +0200 Subject: [PATCH 10/78] #617: octree::addGalaxy --- runtime/src/gpu_iterate.cpp | 3 ++- runtime/src/renderloop.cpp | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 15f7af2..be7dca0 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -260,7 +260,8 @@ bool octree::addGalaxy(int galaxyID) vector newGalaxy_ids_dust; //string fileName = "model3_child_compact.tipsy"; - string fileName = "modelC30kDust.bin"; + //string fileName = "modelC30kDust.bin"; + string fileName = "/local/doserbd/projects/ESO/model3_child_compact.tipsy"; int rank =0; int procs = 1; int NTotal, NFirst, NSecond, Nthird = 0; diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index f9e588d..1896582 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1401,6 +1401,9 @@ class BonsaiDemo void releaseGalaxy() { +#if 1 + m_tree->addGalaxy(0); +#else size_t old_size = m_tree->localTree.n; m_tree->localTree.setN(old_size + m_galaxies[0].bodyPositions.size()); m_tree->reallocateParticleMemory(m_tree->localTree); @@ -1437,6 +1440,7 @@ class BonsaiDemo m_tree->localTree.bodies_time.h2d(); //m_tree->iterate_setup(m_idata); +#endif } octree *m_tree; From 4e463b5c5f338654dfdfea75bf1fe01e37b64e29 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 18 Apr 2016 15:27:29 +0200 Subject: [PATCH 11/78] #619: Split GTCDemo file into two galaxies --- .../Bonsai release tipsy1 reduce 50.launch | 32 ++++ .../Bonsai release tipsy2 reduce 50.launch | 32 ++++ tipsy/CMakeLists.txt | 9 + tipsy/cmake/FindEigen3.cmake | 81 +++++++++ tipsy/split_tipsy.cpp | 169 ++++++++++++++++++ 5 files changed, 323 insertions(+) create mode 100644 eclipse/Bonsai release tipsy1 reduce 50.launch create mode 100644 eclipse/Bonsai release tipsy2 reduce 50.launch create mode 100644 tipsy/CMakeLists.txt create mode 100644 tipsy/cmake/FindEigen3.cmake create mode 100644 tipsy/split_tipsy.cpp diff --git a/eclipse/Bonsai release tipsy1 reduce 50.launch b/eclipse/Bonsai release tipsy1 reduce 50.launch new file mode 100644 index 0000000..92b964b --- /dev/null +++ b/eclipse/Bonsai release tipsy1 reduce 50.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/Bonsai release tipsy2 reduce 50.launch b/eclipse/Bonsai release tipsy2 reduce 50.launch new file mode 100644 index 0000000..18a3a63 --- /dev/null +++ b/eclipse/Bonsai release tipsy2 reduce 50.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tipsy/CMakeLists.txt b/tipsy/CMakeLists.txt new file mode 100644 index 0000000..69df622 --- /dev/null +++ b/tipsy/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.0) + +set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) + +find_package(Eigen3 REQUIRED) + +include_directories(${EIGEN3_INCLUDE_DIR}) + +add_executable(split_tipsy split_tipsy.cpp) diff --git a/tipsy/cmake/FindEigen3.cmake b/tipsy/cmake/FindEigen3.cmake new file mode 100644 index 0000000..9c546a0 --- /dev/null +++ b/tipsy/cmake/FindEigen3.cmake @@ -0,0 +1,81 @@ +# - Try to find Eigen3 lib +# +# This module supports requiring a minimum version, e.g. you can do +# find_package(Eigen3 3.1.2) +# to require version 3.1.2 or newer of Eigen3. +# +# Once done this will define +# +# EIGEN3_FOUND - system has eigen lib with correct version +# EIGEN3_INCLUDE_DIR - the eigen include directory +# EIGEN3_VERSION - eigen version + +# Copyright (c) 2006, 2007 Montel Laurent, +# Copyright (c) 2008, 2009 Gael Guennebaud, +# Copyright (c) 2009 Benoit Jacob +# Redistribution and use is allowed according to the terms of the 2-clause BSD license. + +if(NOT Eigen3_FIND_VERSION) + if(NOT Eigen3_FIND_VERSION_MAJOR) + set(Eigen3_FIND_VERSION_MAJOR 2) + endif(NOT Eigen3_FIND_VERSION_MAJOR) + if(NOT Eigen3_FIND_VERSION_MINOR) + set(Eigen3_FIND_VERSION_MINOR 91) + endif(NOT Eigen3_FIND_VERSION_MINOR) + if(NOT Eigen3_FIND_VERSION_PATCH) + set(Eigen3_FIND_VERSION_PATCH 0) + endif(NOT Eigen3_FIND_VERSION_PATCH) + + set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}") +endif(NOT Eigen3_FIND_VERSION) + +macro(_eigen3_check_version) + file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header) + + string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}") + set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}") + string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}") + set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}") + string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}") + set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}") + + set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION}) + if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) + set(EIGEN3_VERSION_OK FALSE) + else(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) + set(EIGEN3_VERSION_OK TRUE) + endif(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) + + if(NOT EIGEN3_VERSION_OK) + + message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, " + "but at least version ${Eigen3_FIND_VERSION} is required") + endif(NOT EIGEN3_VERSION_OK) +endmacro(_eigen3_check_version) + +if (EIGEN3_INCLUDE_DIR) + + # in cache already + _eigen3_check_version() + set(EIGEN3_FOUND ${EIGEN3_VERSION_OK}) + +else (EIGEN3_INCLUDE_DIR) + + find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library + PATHS + ${CMAKE_INSTALL_PREFIX}/include + ${KDE4_INCLUDE_DIR} + PATH_SUFFIXES eigen3 eigen + ) + + if(EIGEN3_INCLUDE_DIR) + _eigen3_check_version() + endif(EIGEN3_INCLUDE_DIR) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK) + + mark_as_advanced(EIGEN3_INCLUDE_DIR) + +endif(EIGEN3_INCLUDE_DIR) + diff --git a/tipsy/split_tipsy.cpp b/tipsy/split_tipsy.cpp new file mode 100644 index 0000000..6288f6a --- /dev/null +++ b/tipsy/split_tipsy.cpp @@ -0,0 +1,169 @@ +#include +#include +#include + +#define DIM 3 + +struct head { + + head() : time(0.0), nbodies(0), ndim(DIM), nsph(0), ndark(0), nstar(0) {} + + double time; + int nbodies; + int ndim; + int nsph; + int ndark; + int nstar; +}; + +struct dark_particle { + float mass; + float pos[DIM]; + float vel[DIM]; + float eps; + int phi; +}; + +struct star_particle { + float mass; + float pos[DIM]; + float vel[DIM]; + float metals; + float tform; + float eps; + int phi; +}; + +int main(int argc, char** argv) +{ + if (argc != 2) exit(1); + std::cout << "file = " << argv[1] << std::endl; + + std::ifstream is(argv[1], std::ios::binary); + + head h; + is.read((char*) &h, sizeof(h)); + int after_header = is.tellg(); + + std::cout << "time = " << h.time << std::endl; + std::cout << "nbodies = " << h.nbodies << std::endl; + std::cout << "ndim = " << h.ndim << std::endl; + std::cout << "nsph = " << h.nsph << std::endl; + std::cout << "ndark = " << h.ndark << std::endl; + std::cout << "nstar = " << h.nstar << std::endl; + + double x,y,z; + double S[DIM] = {0.0}; +// Eigen::Matrix3d I; +// Eigen::Vector3d S; +// I.setZero(); +// S.setZero(); + + dark_particle d; + for (int i = 0; i < h.ndark; ++i) + { + is.read((char*) &d, sizeof(d)); + + x = d.pos[0]; + y = d.pos[1]; + z = d.pos[2]; + +// I(0,0) += y*y + z*z; +// I(0,1) += -x*y; +// I(0,2) += -x*z; +// I(1,0) += -y*x; +// I(1,1) += x*x + z*z; +// I(1,2) += -y*z; +// I(2,0) += -z*x; +// I(2,1) += -z*y; +// I(2,2) += x*x + y*y; + + S[0] += x; + S[1] += y; + S[2] += z; + } + + star_particle s; + for (int i = 0; i < h.nstar; ++i) + { + is.read((char*) &s, sizeof(s)); + + x = s.pos[0]; + y = s.pos[1]; + z = s.pos[2]; + +// I(0,0) += y*y + z*z; +// I(0,1) += -x*y; +// I(0,2) += -x*z; +// I(1,0) += -y*x; +// I(1,1) += x*x + z*z; +// I(1,2) += -y*z; +// I(2,0) += -z*x; +// I(2,1) += -z*y; +// I(2,2) += x*x + y*y; + + S[0] += x; + S[1] += y; + S[2] += z; + } + + is.seekg(after_header); + +// Eigen::EigenSolver eigen_solver(I); +// std::cout << eigen_solver.eigenvalues() << std::endl; +// std::cout << eigen_solver.eigenvectors().col(0) << std::endl; +// std::cout << eigen_solver.eigenvectors().col(1) << std::endl; +// std::cout << eigen_solver.eigenvectors().col(2) << std::endl; + + std::cout << "center = " << S[0] << std::endl; + S[0] /= h.nbodies; + S[1] /= h.nbodies; + S[2] /= h.nbodies; + std::cout << "center = " << S[0] << std::endl; + + head h1, h2; + + for (int i = 0; i < h.ndark; ++i) + { + is.read((char*) &d, sizeof(d)); + if (d.pos[0] > S[0]) ++h1.ndark; + else ++h2.ndark; + } + + for (int i = 0; i < h.nstar; ++i) + { + is.read((char*) &s, sizeof(s)); + if (s.pos[0] > S[0]) ++h1.nstar; + else ++h2.nstar; + } + + h1.nbodies = h1.ndark + h1.nstar; + h2.nbodies = h2.ndark + h2.nstar; + + std::cout << "h1.nbodies = " << h1.nbodies << std::endl; + std::cout << "h2.nbodies = " << h2.nbodies << std::endl; + + std::ofstream os1("1.tipsy", std::ios::binary); + std::ofstream os2("2.tipsy", std::ios::binary); + + os1.write((char*) &h1, sizeof(h1)); + os2.write((char*) &h2, sizeof(h2)); + + is.seekg(after_header); + + for (int i = 0; i < h.ndark; ++i) + { + is.read((char*) &d, sizeof(d)); + if (d.pos[0] > S[0]) os1.write((char*) &d, sizeof(d)); + else os2.write((char*) &d, sizeof(d)); + } + + for (int i = 0; i < h.nstar; ++i) + { + is.read((char*) &s, sizeof(s)); + if (s.pos[0] > S[0]) os1.write((char*) &s, sizeof(s)); + else os2.write((char*) &s, sizeof(s)); + } + +} + From 98f39e413a94a363731c5a0f97980c356c1e90bb Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 18 Apr 2016 15:45:36 +0200 Subject: [PATCH 12/78] test release GTC12 demo galaxy 1 --- runtime/src/gpu_iterate.cpp | 7 ++++--- tipsy/split_tipsy.cpp | 31 ++++++++++++++----------------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index be7dca0..060c6df 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -261,14 +261,15 @@ bool octree::addGalaxy(int galaxyID) //string fileName = "model3_child_compact.tipsy"; //string fileName = "modelC30kDust.bin"; - string fileName = "/local/doserbd/projects/ESO/model3_child_compact.tipsy"; - int rank =0; + string fileName = "/local/doserbd/projects/ESO/BonsaiGTC12DemoFiles/testSolar_5M_galaxy2.tipsy"; + int rank = 0; int procs = 1; int NTotal, NFirst, NSecond, Nthird = 0; + int reduce_bodies = 50; read_tipsy_file_parallel(newGalaxy_pos, newGalaxy_vel, newGalaxy_ids, 0, fileName, rank, procs, NTotal, NFirst, NSecond, NThird, this, newGalaxy_pos_dust, newGalaxy_vel_dust, newGalaxy_ids_dust, - 1, 1, false); + reduce_bodies, 1, false); int n_addGalaxy = (int) newGalaxy_pos.size(); diff --git a/tipsy/split_tipsy.cpp b/tipsy/split_tipsy.cpp index 6288f6a..0bbe832 100644 --- a/tipsy/split_tipsy.cpp +++ b/tipsy/split_tipsy.cpp @@ -53,11 +53,11 @@ int main(int argc, char** argv) std::cout << "nstar = " << h.nstar << std::endl; double x,y,z; - double S[DIM] = {0.0}; + Eigen::Vector3d S; + S.setZero(); + // Eigen::Matrix3d I; -// Eigen::Vector3d S; // I.setZero(); -// S.setZero(); dark_particle d; for (int i = 0; i < h.ndark; ++i) @@ -78,9 +78,9 @@ int main(int argc, char** argv) // I(2,1) += -z*y; // I(2,2) += x*x + y*y; - S[0] += x; - S[1] += y; - S[2] += z; + S(0) += x; + S(1) += y; + S(2) += z; } star_particle s; @@ -102,9 +102,9 @@ int main(int argc, char** argv) // I(2,1) += -z*y; // I(2,2) += x*x + y*y; - S[0] += x; - S[1] += y; - S[2] += z; + S(0) += x; + S(1) += y; + S(2) += z; } is.seekg(after_header); @@ -115,10 +115,7 @@ int main(int argc, char** argv) // std::cout << eigen_solver.eigenvectors().col(1) << std::endl; // std::cout << eigen_solver.eigenvectors().col(2) << std::endl; - std::cout << "center = " << S[0] << std::endl; - S[0] /= h.nbodies; - S[1] /= h.nbodies; - S[2] /= h.nbodies; + S /= h.nbodies; std::cout << "center = " << S[0] << std::endl; head h1, h2; @@ -126,14 +123,14 @@ int main(int argc, char** argv) for (int i = 0; i < h.ndark; ++i) { is.read((char*) &d, sizeof(d)); - if (d.pos[0] > S[0]) ++h1.ndark; + if (d.pos[0] > S(0)) ++h1.ndark; else ++h2.ndark; } for (int i = 0; i < h.nstar; ++i) { is.read((char*) &s, sizeof(s)); - if (s.pos[0] > S[0]) ++h1.nstar; + if (s.pos[0] > S(0)) ++h1.nstar; else ++h2.nstar; } @@ -154,14 +151,14 @@ int main(int argc, char** argv) for (int i = 0; i < h.ndark; ++i) { is.read((char*) &d, sizeof(d)); - if (d.pos[0] > S[0]) os1.write((char*) &d, sizeof(d)); + if (d.pos[0] > S(0)) os1.write((char*) &d, sizeof(d)); else os2.write((char*) &d, sizeof(d)); } for (int i = 0; i < h.nstar; ++i) { is.read((char*) &s, sizeof(s)); - if (s.pos[0] > S[0]) os1.write((char*) &s, sizeof(s)); + if (s.pos[0] > S(0)) os1.write((char*) &s, sizeof(s)); else os2.write((char*) &s, sizeof(s)); } From d569f54b52e38dafdf084b970dbbe8a35f6d0b82 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 18 Apr 2016 15:52:03 +0200 Subject: [PATCH 13/78] build all tipsy tools with cmake --- tipsy/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tipsy/CMakeLists.txt b/tipsy/CMakeLists.txt index 69df622..977c234 100644 --- a/tipsy/CMakeLists.txt +++ b/tipsy/CMakeLists.txt @@ -6,4 +6,6 @@ find_package(Eigen3 REQUIRED) include_directories(${EIGEN3_INCLUDE_DIR}) +add_executable(create_tipsy create_tipsy.cpp) +add_executable(read_tipsy read_tipsy.cpp) add_executable(split_tipsy split_tipsy.cpp) From fc0c6b1f7664801f83511490be80ed9ddb0a13f2 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 2 May 2016 17:03:15 +0200 Subject: [PATCH 14/78] move path for test galaxies --- eclipse/Bonsai release tipsy1 reduce 50.launch | 2 +- eclipse/Bonsai release tipsy2 reduce 50.launch | 2 +- tipsy/split_tipsy.cpp | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/eclipse/Bonsai release tipsy1 reduce 50.launch b/eclipse/Bonsai release tipsy1 reduce 50.launch index 92b964b..4c69334 100644 --- a/eclipse/Bonsai release tipsy1 reduce 50.launch +++ b/eclipse/Bonsai release tipsy1 reduce 50.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release tipsy2 reduce 50.launch b/eclipse/Bonsai release tipsy2 reduce 50.launch index 18a3a63..f385b5b 100644 --- a/eclipse/Bonsai release tipsy2 reduce 50.launch +++ b/eclipse/Bonsai release tipsy2 reduce 50.launch @@ -16,7 +16,7 @@ - + diff --git a/tipsy/split_tipsy.cpp b/tipsy/split_tipsy.cpp index 0bbe832..ec6adf8 100644 --- a/tipsy/split_tipsy.cpp +++ b/tipsy/split_tipsy.cpp @@ -36,8 +36,10 @@ struct star_particle { int main(int argc, char** argv) { - if (argc != 2) exit(1); - std::cout << "file = " << argv[1] << std::endl; + if (argc != 2) { + std::cout << "Usage: " << argv[0] << " " << std::endl; + exit(1); + } std::ifstream is(argv[1], std::ios::binary); From c0ab90d14546ffb2a8a36e92551068b2ac296f5d Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 3 May 2016 16:49:08 +0200 Subject: [PATCH 15/78] GalaxyStore --- eclipse/Bonsai host debug test.launch | 2 +- eclipse/Bonsai release test.launch | 32 ++++++++++++ eclipse/cmake release gnu.launch | 2 +- runtime/include/{Galaxies.h => Galaxy.h} | 10 ++-- runtime/include/GalaxyStore.h | 41 ++++++++++++++++ runtime/include/renderloop.h | 4 +- runtime/src/main.cpp | 7 ++- tipsy/CMakeLists.txt | 2 + tipsy/create_tipsy.cpp | 62 ++---------------------- tipsy/split_tipsy.cpp | 35 +------------ tipsy/tipsy.h | 53 ++++++++++++++++++++ 11 files changed, 145 insertions(+), 105 deletions(-) create mode 100644 eclipse/Bonsai release test.launch rename runtime/include/{Galaxies.h => Galaxy.h} (75%) create mode 100644 runtime/include/GalaxyStore.h create mode 100644 tipsy/tipsy.h diff --git a/eclipse/Bonsai host debug test.launch b/eclipse/Bonsai host debug test.launch index b6716d9..05db250 100644 --- a/eclipse/Bonsai host debug test.launch +++ b/eclipse/Bonsai host debug test.launch @@ -20,7 +20,7 @@ - + diff --git a/eclipse/Bonsai release test.launch b/eclipse/Bonsai release test.launch new file mode 100644 index 0000000..b0a7deb --- /dev/null +++ b/eclipse/Bonsai release test.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/cmake release gnu.launch b/eclipse/cmake release gnu.launch index b4ff2ff..8d7dfd3 100644 --- a/eclipse/cmake release gnu.launch +++ b/eclipse/cmake release gnu.launch @@ -2,6 +2,6 @@ - + diff --git a/runtime/include/Galaxies.h b/runtime/include/Galaxy.h similarity index 75% rename from runtime/include/Galaxies.h rename to runtime/include/Galaxy.h index eb93872..f05dc03 100644 --- a/runtime/include/Galaxies.h +++ b/runtime/include/Galaxy.h @@ -2,11 +2,11 @@ * Galaxies.h * * Created on: Apr 12, 2016 - * Author: Bernd Doser + * Author: Bernd Doser */ -#ifndef GALAXIES_H_ -#define GALAXIES_H_ +#ifndef GALAXY_H_ +#define GALAXY_H_ #include @@ -28,6 +28,4 @@ struct Galaxy std::vector bodyIDs; }; -typedef std::vector Galaxies; - -#endif /* GALAXIES_H_ */ +#endif /* GALAXY_H_ */ diff --git a/runtime/include/GalaxyStore.h b/runtime/include/GalaxyStore.h new file mode 100644 index 0000000..a42bfee --- /dev/null +++ b/runtime/include/GalaxyStore.h @@ -0,0 +1,41 @@ +/* + * GalaxyStore.h + * + * Created on: May 3, 2016 + * Author: Bernd Doser + */ + +#ifndef GALAXYSTORE_H_ +#define GALAXYSTORE_H_ + +#include "Galaxy.h" +#include +#include + +class GalaxyStore +{ + public: + GalaxyStore(std::string const& path) + { + DIR *dirp = opendir(path.c_str()); + dirent *dp; + while ((dp = readdir(dirp))) + { + if (dp->d_name != "tipsy") continue; + std::vector pos; + std::vector vel; + std::vector ids; + std::vector pos_dust; + std::vector vel_dust; + std::vector ids_dust; + //read_tipsy_file_parallel(pos, vel, ids, 0, dp->d_name, 0, 1, 0, 0, 0, 0, this, + // pos_dust, vel_dust, ids_dust, 1, 1, false); + galaxies.push_back(Galaxy(pos, vel, ids)); + } + closedir(dirp); + } + + std::vector galaxies; +}; + +#endif /* GALAXYSTORE_H_ */ diff --git a/runtime/include/renderloop.h b/runtime/include/renderloop.h index b70c541..b256282 100644 --- a/runtime/include/renderloop.h +++ b/runtime/include/renderloop.h @@ -2,7 +2,7 @@ #define _RENDERLOOP_H_ #include "octree.h" -#include "Galaxies.h" +#include "GalaxyStore.h" extern float TstartGlow; extern float dTstartGlow; @@ -10,6 +10,6 @@ extern float dTstartGlow; void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo); void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, - bool showFPS, bool stereo, Galaxies const& galaxies); + bool showFPS, bool stereo, GalaxyStore const& galaxyStore); #endif // _RENDERLOOP_H_ diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index 3673d6b..5baf7dd 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -52,7 +52,7 @@ double drand48() #include "renderloop.h" #include "plummer.h" #include "disk_shuffle.h" -#include "Galaxies.h" +#include "GalaxyStore.h" #ifdef GALACTICS #include "galactics.h" #endif @@ -1445,9 +1445,8 @@ int main(int argc, char** argv) //Start the integration #ifdef USE_OPENGL octree::IterationData idata; - Galaxies galaxies; - galaxies.push_back(Galaxy(bodyPositions, bodyVelocities, bodyIDs)); - initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, galaxies); + GalaxyStore galaxyStore(""); + initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, galaxyStore); LOG("Finished!!! Took in total: %lg sec\n", tree->get_time()-t0); #else tree->mpiSync(); diff --git a/tipsy/CMakeLists.txt b/tipsy/CMakeLists.txt index 977c234..e027e72 100644 --- a/tipsy/CMakeLists.txt +++ b/tipsy/CMakeLists.txt @@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.0) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") + find_package(Eigen3 REQUIRED) include_directories(${EIGEN3_INCLUDE_DIR}) diff --git a/tipsy/create_tipsy.cpp b/tipsy/create_tipsy.cpp index 4dfc5d1..b58a84c 100644 --- a/tipsy/create_tipsy.cpp +++ b/tipsy/create_tipsy.cpp @@ -1,65 +1,13 @@ #include - -#define MAXDIM 3 -#define Real float +#include "tipsy.h" int main() { - double time = 0.0; - int nbodies = 2; - int ndim = 3; - int nsph = 0; - int ndark = 1; - int nstar = 1; + head h(0.0, 1, DIM, 0, 0, 1); std::ofstream os("test.tipsy", std::ios::binary); - os.write((char*) &time, sizeof(double)); - os.write((char*) &nbodies, sizeof(int)); - os.write((char*) &ndim, sizeof(int)); - os.write((char*) &nsph, sizeof(int)); - os.write((char*) &ndark, sizeof(int)); - os.write((char*) &nstar, sizeof(int)); + os.write((char*) &h, sizeof(h)); - // dark particle: - { - Real mass = 0.00443291711; - Real pos[MAXDIM] = {-0.0120858643, -0.0410266742, -0.00437123608}; - Real vel[MAXDIM] = {-1.60500276, -0.643298388, -0.367065489}; - Real eps = 0.206867486; - int phi = 200000000; - - os.write((char*) &mass, sizeof(Real)); - os.write((char*) pos, sizeof(Real)); - os.write((char*) pos + 1, sizeof(Real)); - os.write((char*) pos + 2, sizeof(Real)); - os.write((char*) vel, sizeof(Real)); - os.write((char*) vel + 1, sizeof(Real)); - os.write((char*) vel + 2, sizeof(Real)); - os.write((char*) &eps, sizeof(Real)); - os.write((char*) &phi, sizeof(int)); - } - - // star particle: - { - Real mass = 0.00430987403; - Real pos[MAXDIM] = {-0.0269202571, 0.0215147045, 0.00322919339}; - Real vel[MAXDIM] = {-0.0424188301, 0.809628189, -0.663158596}; - Real metals = 0.0; - Real tform = 0.0; - Real eps = 0.204935506; - int phi = 100000000; - - os.write((char*) &mass, sizeof(Real)); - os.write((char*) pos, sizeof(Real)); - os.write((char*) pos + 1, sizeof(Real)); - os.write((char*) pos + 2, sizeof(Real)); - os.write((char*) vel, sizeof(Real)); - os.write((char*) vel + 1, sizeof(Real)); - os.write((char*) vel + 2, sizeof(Real)); - os.write((char*) &metals, sizeof(Real)); - os.write((char*) &tform, sizeof(Real)); - os.write((char*) &eps, sizeof(Real)); - os.write((char*) &phi, sizeof(int)); - } + star_particle s(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 100000000); + os.write((char*) &s, sizeof(s)); } - diff --git a/tipsy/split_tipsy.cpp b/tipsy/split_tipsy.cpp index ec6adf8..91e2aab 100644 --- a/tipsy/split_tipsy.cpp +++ b/tipsy/split_tipsy.cpp @@ -1,38 +1,7 @@ #include #include #include - -#define DIM 3 - -struct head { - - head() : time(0.0), nbodies(0), ndim(DIM), nsph(0), ndark(0), nstar(0) {} - - double time; - int nbodies; - int ndim; - int nsph; - int ndark; - int nstar; -}; - -struct dark_particle { - float mass; - float pos[DIM]; - float vel[DIM]; - float eps; - int phi; -}; - -struct star_particle { - float mass; - float pos[DIM]; - float vel[DIM]; - float metals; - float tform; - float eps; - int phi; -}; +#include "tipsy.h" int main(int argc, char** argv) { @@ -163,6 +132,4 @@ int main(int argc, char** argv) if (s.pos[0] > S(0)) os1.write((char*) &s, sizeof(s)); else os2.write((char*) &s, sizeof(s)); } - } - diff --git a/tipsy/tipsy.h b/tipsy/tipsy.h new file mode 100644 index 0000000..b8062d9 --- /dev/null +++ b/tipsy/tipsy.h @@ -0,0 +1,53 @@ +#ifndef TIPSY_H +#define TIPSY_H + +#define DIM 3 +typedef float Real; + +struct head { + + head(double time = 0.0, int nbodies = 0, int ndim = 0, int nsph = 0, int ndark = 0, int nstar = 0) + : time(time), nbodies(nbodies), ndim(ndim), nsph(nsph), ndark(ndark), nstar(nstar) + {} + + double time; + int nbodies; + int ndim; + int nsph; + int ndark; + int nstar; +}; + +struct dark_particle { + float mass; + float pos[DIM]; + float vel[DIM]; + float eps; + int phi; +}; + +struct star_particle { + + star_particle(float mass = 0.0, float posx = 0.0, float posy = 0.0, float posz = 0.0, + float velx = 0.0, float vely = 0.0, float velz = 0.0, float metals = 0.0, + float tform = 0.0, float eps = 0.0, int phi = 0) + : mass(mass), pos(), vel(), metals(metals), tform(tform), eps(eps), phi(phi) + { + pos[0] = posx; + pos[1] = posy; + pos[2] = posz; + vel[0] = velx; + vel[1] = vely; + vel[2] = velz; + } + + float mass; + float pos[DIM]; + float vel[DIM]; + float metals; + float tform; + float eps; + int phi; +}; + +#endif // TIPSY_H From 16da673e1eb47ac953ff52cca5db409433f67dba Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 5 May 2016 21:16:06 +0200 Subject: [PATCH 16/78] getTotalVelocity, addVelocity --- eclipse/cmake device debug gnu.launch | 2 +- eclipse/cmake host debug gnu.launch | 2 +- eclipse/cmake release gnu.launch | 2 +- runtime/include/Galaxy.h | 8 ++++++- runtime/include/GalaxyStore.h | 32 +++++++++++++-------------- runtime/src/renderloop.cpp | 10 ++++----- tipsy/CMakeLists.txt | 2 -- 7 files changed, 31 insertions(+), 27 deletions(-) diff --git a/eclipse/cmake device debug gnu.launch b/eclipse/cmake device debug gnu.launch index 8a052fa..de6dfd6 100644 --- a/eclipse/cmake device debug gnu.launch +++ b/eclipse/cmake device debug gnu.launch @@ -1,7 +1,7 @@ - + diff --git a/eclipse/cmake host debug gnu.launch b/eclipse/cmake host debug gnu.launch index e0f5a10..6823849 100644 --- a/eclipse/cmake host debug gnu.launch +++ b/eclipse/cmake host debug gnu.launch @@ -1,7 +1,7 @@ - + diff --git a/eclipse/cmake release gnu.launch b/eclipse/cmake release gnu.launch index 8d7dfd3..768100a 100644 --- a/eclipse/cmake release gnu.launch +++ b/eclipse/cmake release gnu.launch @@ -1,7 +1,7 @@ - + diff --git a/runtime/include/Galaxy.h b/runtime/include/Galaxy.h index f05dc03..bd3e92e 100644 --- a/runtime/include/Galaxy.h +++ b/runtime/include/Galaxy.h @@ -13,8 +13,10 @@ typedef float4 real4; typedef float real; -struct Galaxy +/// One defined galaxy +class Galaxy { + public: Galaxy(std::vector const& bodyPositions, std::vector const& bodyVelocities, std::vector const& bodyIDs) @@ -23,6 +25,10 @@ struct Galaxy bodyIDs(bodyIDs) {} + //real4 getTotalVelocity(); + + private: + std::vector bodyPositions; std::vector bodyVelocities; std::vector bodyIDs; diff --git a/runtime/include/GalaxyStore.h b/runtime/include/GalaxyStore.h index a42bfee..2e50f66 100644 --- a/runtime/include/GalaxyStore.h +++ b/runtime/include/GalaxyStore.h @@ -17,22 +17,22 @@ class GalaxyStore public: GalaxyStore(std::string const& path) { - DIR *dirp = opendir(path.c_str()); - dirent *dp; - while ((dp = readdir(dirp))) - { - if (dp->d_name != "tipsy") continue; - std::vector pos; - std::vector vel; - std::vector ids; - std::vector pos_dust; - std::vector vel_dust; - std::vector ids_dust; - //read_tipsy_file_parallel(pos, vel, ids, 0, dp->d_name, 0, 1, 0, 0, 0, 0, this, - // pos_dust, vel_dust, ids_dust, 1, 1, false); - galaxies.push_back(Galaxy(pos, vel, ids)); - } - closedir(dirp); +// DIR *dirp = opendir(path.c_str()); +// dirent *dp; +// while ((dp = readdir(dirp))) +// { +// if (dp->d_name != "tipsy") continue; +// std::vector pos; +// std::vector vel; +// std::vector ids; +// std::vector pos_dust; +// std::vector vel_dust; +// std::vector ids_dust; +// //read_tipsy_file_parallel(pos, vel, ids, 0, dp->d_name, 0, 1, 0, 0, 0, 0, this, +// // pos_dust, vel_dust, ids_dust, 1, 1, false); +// galaxies.push_back(Galaxy(pos, vel, ids)); +// } +// closedir(dirp); } std::vector galaxies; diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 1896582..980d2d6 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -306,7 +306,7 @@ void glPrintf(float x, float y, const char* format, ...) class BonsaiDemo { public: - BonsaiDemo(octree *tree, octree::IterationData &idata, Galaxies const& galaxies) + BonsaiDemo(octree *tree, octree::IterationData &idata, GalaxyStore const& galaxyStore) : m_tree(tree), m_idata(idata), iterationsRemaining(true), // m_renderer(tree->localTree.n + tree->localTree.n_dust), m_renderer(tree->localTree.n + tree->localTree.n_dust, MAX_PARTICLES), @@ -339,7 +339,7 @@ class BonsaiDemo m_cameraRollHome(0.0f), m_cameraRoll(0.0f), m_enableStats(true), - m_galaxies(galaxies) + m_galaxyStore(galaxyStore) { m_windowDims = make_int2(1024, 768); m_cameraTrans = make_float3(0, -2, -100); @@ -1521,7 +1521,7 @@ class BonsaiDemo ParamListGL *m_colorParams; ParamListGL *m_params; // current - Galaxies const& m_galaxies; + GalaxyStore const& m_galaxyStore; // saved cameras struct Camera { @@ -1940,10 +1940,10 @@ void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) } void initAppRenderer(int argc, char** argv, octree *tree, - octree::IterationData &idata, bool showFPS, bool stereo, Galaxies const& galaxies) { + octree::IterationData &idata, bool showFPS, bool stereo, GalaxyStore const& galaxyStore) { displayFps = showFPS; //initGL(argc, argv); - theDemo = new BonsaiDemo(tree, idata, galaxies); + theDemo = new BonsaiDemo(tree, idata, galaxyStore); if (stereo) theDemo->toggleStereo(); //SV assuming stereo is set to disable by default. glutMainLoop(); diff --git a/tipsy/CMakeLists.txt b/tipsy/CMakeLists.txt index e027e72..5b4d677 100644 --- a/tipsy/CMakeLists.txt +++ b/tipsy/CMakeLists.txt @@ -1,11 +1,9 @@ cmake_minimum_required(VERSION 3.0) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") find_package(Eigen3 REQUIRED) - include_directories(${EIGEN3_INCLUDE_DIR}) add_executable(create_tipsy create_tipsy.cpp) From e7dcb3e7c723041db3031667b60d4a244c561eda Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 6 May 2016 14:32:52 +0200 Subject: [PATCH 17/78] read galaxies into galaxyStore --- .../Bonsai host debug war-of-galaxies.launch | 32 +++ eclipse/Bonsai release war-of-galaxies.launch | 32 +++ runtime/CMakeLists.txt | 9 +- runtime/include/FileIO.h | 24 ++ runtime/include/Galaxy.h | 33 +-- runtime/include/GalaxyStore.h | 27 +- runtime/src/FileIO.cpp | 186 +++++++++++++ runtime/src/Galaxy.cpp | 18 ++ runtime/src/GalaxyStore.cpp | 35 +++ runtime/src/main.cpp | 249 +++--------------- tipsy/create_tipsy.cpp | 4 +- 11 files changed, 393 insertions(+), 256 deletions(-) create mode 100644 eclipse/Bonsai host debug war-of-galaxies.launch create mode 100644 eclipse/Bonsai release war-of-galaxies.launch create mode 100644 runtime/include/FileIO.h create mode 100644 runtime/src/FileIO.cpp create mode 100644 runtime/src/Galaxy.cpp create mode 100644 runtime/src/GalaxyStore.cpp diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch new file mode 100644 index 0000000..f90b7e8 --- /dev/null +++ b/eclipse/Bonsai host debug war-of-galaxies.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch new file mode 100644 index 0000000..2c81d32 --- /dev/null +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 5a07387..0edc108 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -98,7 +98,10 @@ set (CCFILES src/dustFunctions.cpp src/log.cpp src/hostConstruction.cpp - ) + src/Galaxy.cpp + src/GalaxyStore.cpp + src/FileIO.cpp +) set (HFILES include/my_cuda_rt.h @@ -110,7 +113,7 @@ set (HFILES include/vector_math.h include/depthSort.h include/sort.h - ) +) set (CUFILES CUDAkernels/build_tree.cu @@ -120,7 +123,7 @@ set (CUFILES CUDAkernels/timestep.cu CUDAkernels/depthSort.cu CUDAkernels/dev_direct_gravity.cu - ) +) if (COMPILE_SM30) set (CUFILES diff --git a/runtime/include/FileIO.h b/runtime/include/FileIO.h new file mode 100644 index 0000000..2b5aeb7 --- /dev/null +++ b/runtime/include/FileIO.h @@ -0,0 +1,24 @@ +/* + * FileIO.h + * + * Created on: May 6, 2016 + * Author: Bernd Doser + */ + +#ifndef FILEIO_H_ +#define FILEIO_H_ + +#include +#include +#include + +void read_tipsy_file_parallel(std::vector &bodyPositions, std::vector &bodyVelocities, + std::vector &bodiesIDs, float eps2, string fileName, + int rank, int procs, int &NTotal2, int &NFirst, + int &NSecond, int &NThird, octree *tree, + std::vector &dustPositions, std::vector &dustVelocities, + std::vector &dustIDs, int reduce_bodies_factor, + int reduce_dust_factor, + const bool restart); + +#endif /* FILEIO_H_ */ diff --git a/runtime/include/Galaxy.h b/runtime/include/Galaxy.h index bd3e92e..f10d7b8 100644 --- a/runtime/include/Galaxy.h +++ b/runtime/include/Galaxy.h @@ -8,30 +8,23 @@ #ifndef GALAXY_H_ #define GALAXY_H_ +#include #include -typedef float4 real4; -typedef float real; - /// One defined galaxy -class Galaxy +struct Galaxy { - public: - Galaxy(std::vector const& bodyPositions, - std::vector const& bodyVelocities, - std::vector const& bodyIDs) - : bodyPositions(bodyPositions), - bodyVelocities(bodyVelocities), - bodyIDs(bodyIDs) - {} - - //real4 getTotalVelocity(); - - private: - - std::vector bodyPositions; - std::vector bodyVelocities; - std::vector bodyIDs; + + real4 getTotalVelocity(); + + std::vector pos; + std::vector vel; + std::vector ids; + + std::vector pos_dust; + std::vector vel_dust; + std::vector ids_dust; + }; #endif /* GALAXY_H_ */ diff --git a/runtime/include/GalaxyStore.h b/runtime/include/GalaxyStore.h index 2e50f66..bf4cc42 100644 --- a/runtime/include/GalaxyStore.h +++ b/runtime/include/GalaxyStore.h @@ -10,32 +10,15 @@ #include "Galaxy.h" #include -#include class GalaxyStore { - public: - GalaxyStore(std::string const& path) - { -// DIR *dirp = opendir(path.c_str()); -// dirent *dp; -// while ((dp = readdir(dirp))) -// { -// if (dp->d_name != "tipsy") continue; -// std::vector pos; -// std::vector vel; -// std::vector ids; -// std::vector pos_dust; -// std::vector vel_dust; -// std::vector ids_dust; -// //read_tipsy_file_parallel(pos, vel, ids, 0, dp->d_name, 0, 1, 0, 0, 0, 0, this, -// // pos_dust, vel_dust, ids_dust, 1, 1, false); -// galaxies.push_back(Galaxy(pos, vel, ids)); -// } -// closedir(dirp); - } + public: + + void init(std::string const& path, octree *tree); + + std::vector galaxies; - std::vector galaxies; }; #endif /* GALAXYSTORE_H_ */ diff --git a/runtime/src/FileIO.cpp b/runtime/src/FileIO.cpp new file mode 100644 index 0000000..f88020a --- /dev/null +++ b/runtime/src/FileIO.cpp @@ -0,0 +1,186 @@ +/* + * FileIO.cpp + * + * Created on: May 6, 2016 + * Author: Bernd Doser + */ + +#include "FileIO.h" + +using namespace std; + +void read_tipsy_file_parallel(std::vector &bodyPositions, std::vector &bodyVelocities, + std::vector &bodiesIDs, float eps2, string fileName, + int rank, int procs, int &NTotal2, int &NFirst, + int &NSecond, int &NThird, octree *tree, + std::vector &dustPositions, std::vector &dustVelocities, + std::vector &dustIDs, int reduce_bodies_factor, + int reduce_dust_factor, + const bool restart) +{ + //Process 0 does the file reading and sends the data + //to the other processes + /* + + Read in our custom version of the tipsy file format. + Most important change is that we store particle id on the + location where previously the potential was stored. + */ + + + char fullFileName[256]; + if(restart) + sprintf(fullFileName, "%s%d", fileName.c_str(), rank); + else + sprintf(fullFileName, "%s", fileName.c_str()); + + LOG("Trying to read file: %s \n", fullFileName); + + + + ifstream inputFile(fullFileName, ios::in | ios::binary); + if(!inputFile.is_open()) + { + LOG("Can't open input file \n"); + exit(0); + } + + dump h; + inputFile.read((char*)&h, sizeof(h)); + + int NTotal; + int idummy; + real4 positions; + real4 velocity; + + + //Read tipsy header + NTotal = h.nbodies; + NFirst = h.ndark; + NSecond = h.nstar; + NThird = h.nsph; + + tree->set_t_current((float) h.time); + + //Rough divide + uint perProc = (NTotal / procs) /reduce_bodies_factor; + if(restart) perProc = NTotal /reduce_bodies_factor; //don't subdivide when using restart + bodyPositions.reserve(perProc+10); + bodyVelocities.reserve(perProc+10); + bodiesIDs.reserve(perProc+10); + perProc -= 1; + + //Start reading + int particleCount = 0; + int procCntr = 1; + + dark_particle d; + star_particle s; + + int globalParticleCount = 0; + int bodyCount = 0; + int dustCount = 0; + + for(int i=0; i < NTotal; i++) + { + if(i < NFirst) + { + inputFile.read((char*)&d, sizeof(d)); + velocity.w = d.eps; + positions.w = d.mass; + positions.x = d.pos[0]; + positions.y = d.pos[1]; + positions.z = d.pos[2]; + velocity.x = d.vel[0]; + velocity.y = d.vel[1]; + velocity.z = d.vel[2]; + idummy = d.phi; + } + else + { + inputFile.read((char*)&s, sizeof(s)); + velocity.w = s.eps; + positions.w = s.mass; + positions.x = s.pos[0]; + positions.y = s.pos[1]; + positions.z = s.pos[2]; + velocity.x = s.vel[0]; + velocity.y = s.vel[1]; + velocity.z = s.vel[2]; + idummy = s.phi; + } + + + if(positions.z < -10e10) + { + fprintf(stderr," Removing particle %d because of Z is: %f \n", globalParticleCount, positions.z); + continue; + } + + + globalParticleCount++; + + #ifdef USE_DUST + if(idummy >= 50000000 && idummy < 100000000) + { + dustCount++; + if( dustCount % reduce_dust_factor == 0 ) + positions.w *= reduce_dust_factor; + + if( dustCount % reduce_dust_factor != 0 ) + continue; + dustPositions.push_back(positions); + dustVelocities.push_back(velocity); + dustIDs.push_back(idummy); + } + else + { + bodyCount++; + if( bodyCount % reduce_bodies_factor == 0 ) + positions.w *= reduce_bodies_factor; + + if( bodyCount % reduce_bodies_factor != 0 ) + continue; + bodyPositions.push_back(positions); + bodyVelocities.push_back(velocity); + bodiesIDs.push_back(idummy); + } + + + #else + if( globalParticleCount % reduce_bodies_factor == 0 ) + positions.w *= reduce_bodies_factor; + + if( globalParticleCount % reduce_bodies_factor != 0 ) + continue; + bodyPositions.push_back(positions); + bodyVelocities.push_back(velocity); + bodiesIDs.push_back(idummy); + #endif + + particleCount++; + + + if(!restart) + { + if(bodyPositions.size() > perProc && procCntr != procs) + { + tree->ICSend(procCntr, &bodyPositions[0], &bodyVelocities[0], &bodiesIDs[0], (int)bodyPositions.size()); + procCntr++; + + bodyPositions.clear(); + bodyVelocities.clear(); + bodiesIDs.clear(); + } + } + }//end while + + inputFile.close(); + + //Clear the last one since its double +// bodyPositions.resize(bodyPositions.size()-1); +// NTotal2 = particleCount-1; + NTotal2 = particleCount; + LOGF(stderr,"NTotal: %d\tper proc: %d\tFor ourself: %d \tNDust: %d \n", + NTotal, perProc, (int)bodiesIDs.size(), (int)dustPositions.size()); +} diff --git a/runtime/src/Galaxy.cpp b/runtime/src/Galaxy.cpp new file mode 100644 index 0000000..2f26501 --- /dev/null +++ b/runtime/src/Galaxy.cpp @@ -0,0 +1,18 @@ +/* + * Galaxy.cpp + * + * Created on: May 6, 2016 + * Author: Bernd Doser + */ + +#include + +real4 Galaxy::getTotalVelocity() +{ + real4 result; + for (size_t i(0); i != vel.size(); ++i) + { + + } + return result; +} diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp new file mode 100644 index 0000000..13a9e20 --- /dev/null +++ b/runtime/src/GalaxyStore.cpp @@ -0,0 +1,35 @@ +/* + * GalaxyStore.cpp + * + * Created on: May 6, 2016 + * Author: Bernd Doser + */ + +#include "FileIO.h" +#include "GalaxyStore.h" +#include +#include + +void GalaxyStore::init(std::string const& path, octree *tree) +{ + DIR *dirp = opendir(path.c_str()); + if (!dirp) throw ::std::runtime_error("Can't open GalaxyStore directory " + path); + dirent *dp; + while ((dp = readdir(dirp))) + { + if (dp->d_name != "tipsy") continue; + + Galaxy galaxy; + int Total2 = 0; + int NFirst = 0; + int NSecond = 0; + int NThird = 0; + + read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, + 0.0, dp->d_name, 0, 1, Total2, NFirst, NSecond, NThird, tree, + galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); + + galaxies.push_back(galaxy); + } + closedir(dirp); +} diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index 5baf7dd..b117fa1 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -53,6 +53,7 @@ double drand48() #include "plummer.h" #include "disk_shuffle.h" #include "GalaxyStore.h" +#include "FileIO.h" #ifdef GALACTICS #include "galactics.h" #endif @@ -221,183 +222,6 @@ void read_dumbp_file_parallel(vector &bodyPositions, vector &bodyV LOGF(stderr, "NTotal: %d\tper proc: %d\tFor ourself: %d \n", NTotal, perProc, (int)bodiesIDs.size()); } -void read_tipsy_file_parallel(vector &bodyPositions, vector &bodyVelocities, - vector &bodiesIDs, float eps2, string fileName, - int rank, int procs, int &NTotal2, int &NFirst, - int &NSecond, int &NThird, octree *tree, - vector &dustPositions, vector &dustVelocities, - vector &dustIDs, int reduce_bodies_factor, - int reduce_dust_factor, - const bool restart) -{ - //Process 0 does the file reading and sends the data - //to the other processes - /* - - Read in our custom version of the tipsy file format. - Most important change is that we store particle id on the - location where previously the potential was stored. - */ - - - char fullFileName[256]; - if(restart) - sprintf(fullFileName, "%s%d", fileName.c_str(), rank); - else - sprintf(fullFileName, "%s", fileName.c_str()); - - LOG("Trying to read file: %s \n", fullFileName); - - - - ifstream inputFile(fullFileName, ios::in | ios::binary); - if(!inputFile.is_open()) - { - LOG("Can't open input file \n"); - exit(0); - } - - dump h; - inputFile.read((char*)&h, sizeof(h)); - - int NTotal; - int idummy; - real4 positions; - real4 velocity; - - - //Read tipsy header - NTotal = h.nbodies; - NFirst = h.ndark; - NSecond = h.nstar; - NThird = h.nsph; - - tree->set_t_current((float) h.time); - - //Rough divide - uint perProc = (NTotal / procs) /reduce_bodies_factor; - if(restart) perProc = NTotal /reduce_bodies_factor; //don't subdivide when using restart - bodyPositions.reserve(perProc+10); - bodyVelocities.reserve(perProc+10); - bodiesIDs.reserve(perProc+10); - perProc -= 1; - - //Start reading - int particleCount = 0; - int procCntr = 1; - - dark_particle d; - star_particle s; - - int globalParticleCount = 0; - int bodyCount = 0; - int dustCount = 0; - - for(int i=0; i < NTotal; i++) - { - if(i < NFirst) - { - inputFile.read((char*)&d, sizeof(d)); - velocity.w = d.eps; - positions.w = d.mass; - positions.x = d.pos[0]; - positions.y = d.pos[1]; - positions.z = d.pos[2]; - velocity.x = d.vel[0]; - velocity.y = d.vel[1]; - velocity.z = d.vel[2]; - idummy = d.phi; - } - else - { - inputFile.read((char*)&s, sizeof(s)); - velocity.w = s.eps; - positions.w = s.mass; - positions.x = s.pos[0]; - positions.y = s.pos[1]; - positions.z = s.pos[2]; - velocity.x = s.vel[0]; - velocity.y = s.vel[1]; - velocity.z = s.vel[2]; - idummy = s.phi; - } - - - if(positions.z < -10e10) - { - fprintf(stderr," Removing particle %d because of Z is: %f \n", globalParticleCount, positions.z); - continue; - } - - - globalParticleCount++; - - #ifdef USE_DUST - if(idummy >= 50000000 && idummy < 100000000) - { - dustCount++; - if( dustCount % reduce_dust_factor == 0 ) - positions.w *= reduce_dust_factor; - - if( dustCount % reduce_dust_factor != 0 ) - continue; - dustPositions.push_back(positions); - dustVelocities.push_back(velocity); - dustIDs.push_back(idummy); - } - else - { - bodyCount++; - if( bodyCount % reduce_bodies_factor == 0 ) - positions.w *= reduce_bodies_factor; - - if( bodyCount % reduce_bodies_factor != 0 ) - continue; - bodyPositions.push_back(positions); - bodyVelocities.push_back(velocity); - bodiesIDs.push_back(idummy); - } - - - #else - if( globalParticleCount % reduce_bodies_factor == 0 ) - positions.w *= reduce_bodies_factor; - - if( globalParticleCount % reduce_bodies_factor != 0 ) - continue; - bodyPositions.push_back(positions); - bodyVelocities.push_back(velocity); - bodiesIDs.push_back(idummy); - #endif - - particleCount++; - - - if(!restart) - { - if(bodyPositions.size() > perProc && procCntr != procs) - { - tree->ICSend(procCntr, &bodyPositions[0], &bodyVelocities[0], &bodiesIDs[0], (int)bodyPositions.size()); - procCntr++; - - bodyPositions.clear(); - bodyVelocities.clear(); - bodiesIDs.clear(); - } - } - }//end while - - inputFile.close(); - - //Clear the last one since its double -// bodyPositions.resize(bodyPositions.size()-1); -// NTotal2 = particleCount-1; - NTotal2 = particleCount; - LOGF(stderr,"NTotal: %d\tper proc: %d\tFor ourself: %d \tNDust: %d \n", - NTotal, perProc, (int)bodiesIDs.size(), (int)dustPositions.size()); -} - - void read_generate_cube(vector &bodyPositions, vector &bodyVelocities, vector &bodiesIDs, float eps2, string fileName, int rank, int procs, int &NTotal2, int &NFirst, @@ -791,6 +615,9 @@ int main(int argc, char** argv) int nSphere = -1; int nMilkyWay = -1; int nMWfork = 4; + + std::string war_of_galaxies_path; + /************** beg - command line arguments ********/ #if 1 { @@ -801,47 +628,48 @@ int main(int argc, char** argv) ADDUSAGE(" "); ADDUSAGE("Usage"); ADDUSAGE(" "); - ADDUSAGE(" -h --help Prints this help "); - ADDUSAGE(" -i --infile # Input snapshot filename "); - ADDUSAGE(" --restart Let each process restart from a snapshot as specified by 'infile'"); - ADDUSAGE(" --logfile # Log filename [" << logFileName << "]"); - ADDUSAGE(" --dev # Device ID [" << devID << "]"); - ADDUSAGE(" --renderdev # Rendering Device ID [" << renderDevID << "]"); - ADDUSAGE(" -t --dt # time step [" << timeStep << "]"); - ADDUSAGE(" -T --tend # N-body end time [" << tEnd << "]"); - ADDUSAGE(" -I --iend # N-body end iteration [" << iterEnd << "]"); - ADDUSAGE(" -e --eps # softening (will be squared) [" << eps << "]"); - ADDUSAGE(" -o --theta # opening angle (theta) [" <get_time()-t0); #else diff --git a/tipsy/create_tipsy.cpp b/tipsy/create_tipsy.cpp index b58a84c..2b4c3e5 100644 --- a/tipsy/create_tipsy.cpp +++ b/tipsy/create_tipsy.cpp @@ -4,10 +4,10 @@ int main() { head h(0.0, 1, DIM, 0, 0, 1); - + std::ofstream os("test.tipsy", std::ios::binary); os.write((char*) &h, sizeof(h)); star_particle s(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 100000000); - os.write((char*) &s, sizeof(s)); + os.write((char*) &s, sizeof(s)); } From b5071e723e636e8de099e4bcfbc064e813731448 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 6 May 2016 16:45:08 +0200 Subject: [PATCH 18/78] test sockest for python/C IPC --- eclipse/Bonsai host debug war-of-galaxies.launch | 2 +- eclipse/Bonsai release war-of-galaxies.launch | 2 +- runtime/src/GalaxyStore.cpp | 6 ++++-- test/sockets/client.py | 11 +++++++++++ test/sockets/server.cpp | 14 ++++++++++++++ 5 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 test/sockets/client.py create mode 100644 test/sockets/server.cpp diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch index f90b7e8..692202e 100644 --- a/eclipse/Bonsai host debug war-of-galaxies.launch +++ b/eclipse/Bonsai host debug war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 2c81d32..6e92472 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index 13a9e20..21c8446 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -17,7 +17,9 @@ void GalaxyStore::init(std::string const& path, octree *tree) dirent *dp; while ((dp = readdir(dirp))) { - if (dp->d_name != "tipsy") continue; + std::string filename(dp->d_name); + if (filename.substr(filename.find_last_of(".")) != ".tipsy") continue; + std::cout << filename << std::endl; Galaxy galaxy; int Total2 = 0; @@ -26,7 +28,7 @@ void GalaxyStore::init(std::string const& path, octree *tree) int NThird = 0; read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, - 0.0, dp->d_name, 0, 1, Total2, NFirst, NSecond, NThird, tree, + 0.0, (path+"/"+filename).c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); galaxies.push_back(galaxy); diff --git a/test/sockets/client.py b/test/sockets/client.py new file mode 100644 index 0000000..22bca37 --- /dev/null +++ b/test/sockets/client.py @@ -0,0 +1,11 @@ +import socket +import sys + +HOST, PORT = "localhost", 50007 + +#s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +#s.connect((HOST, PORT)) + +for line in sys.stdin: + print line + #s.send(line) diff --git a/test/sockets/server.cpp b/test/sockets/server.cpp new file mode 100644 index 0000000..611a5f7 --- /dev/null +++ b/test/sockets/server.cpp @@ -0,0 +1,14 @@ +/* + * server.cpp + * + * Created on: May 6, 2016 + * Author: Bernd Doser + */ + +#include +#include + +int main() +{ + int socket = socket(AF_UNIX, SOCK_STREAM, 0); +} From 3cbdf1ec614f22a5bb1168391ebc93074b69561e Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 6 May 2016 16:58:25 +0200 Subject: [PATCH 19/78] read line in python --- test/sockets/client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/sockets/client.py b/test/sockets/client.py index 22bca37..900366d 100644 --- a/test/sockets/client.py +++ b/test/sockets/client.py @@ -6,6 +6,7 @@ #s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #s.connect((HOST, PORT)) -for line in sys.stdin: +while 1: + line = raw_input("Which galaxy? ") print line #s.send(line) From b5de6397d3aa8018fed7e526bba45025921f0b12 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 9 May 2016 16:44:26 +0200 Subject: [PATCH 20/78] test non-blocking socket interconnection between python and c++ --- test/sockets/client.py | 11 +- test/sockets/data.pb.cc | 426 +++++++++++++++++++++++++++++++++++++++ test/sockets/data.pb.h | 335 ++++++++++++++++++++++++++++++ test/sockets/data.proto | 7 + test/sockets/data_pb2.py | 71 +++++++ test/sockets/server.cpp | 84 +++++++- 6 files changed, 927 insertions(+), 7 deletions(-) create mode 100644 test/sockets/data.pb.cc create mode 100644 test/sockets/data.pb.h create mode 100644 test/sockets/data.proto create mode 100644 test/sockets/data_pb2.py diff --git a/test/sockets/client.py b/test/sockets/client.py index 900366d..8e21d2d 100644 --- a/test/sockets/client.py +++ b/test/sockets/client.py @@ -3,10 +3,15 @@ HOST, PORT = "localhost", 50007 -#s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) -#s.connect((HOST, PORT)) +s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +s.connect((HOST, PORT)) while 1: line = raw_input("Which galaxy? ") print line - #s.send(line) + if line == "q": + break + s.send(line) + +s.shutdown(socket.SHUT_RDWR) +s.close() diff --git a/test/sockets/data.pb.cc b/test/sockets/data.pb.cc new file mode 100644 index 0000000..eba0f8f --- /dev/null +++ b/test/sockets/data.pb.cc @@ -0,0 +1,426 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: data.proto + +#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION +#include "data.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace prototest { + +namespace { + +const ::google::protobuf::Descriptor* Foo_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + Foo_reflection_ = NULL; + +} // namespace + + +void protobuf_AssignDesc_data_2eproto() { + protobuf_AddDesc_data_2eproto(); + const ::google::protobuf::FileDescriptor* file = + ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName( + "data.proto"); + GOOGLE_CHECK(file != NULL); + Foo_descriptor_ = file->message_type(0); + static const int Foo_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Foo, id_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Foo, bar_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Foo, baz_), + }; + Foo_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + Foo_descriptor_, + Foo::default_instance_, + Foo_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Foo, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Foo, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(Foo)); +} + +namespace { + +GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_); +inline void protobuf_AssignDescriptorsOnce() { + ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_, + &protobuf_AssignDesc_data_2eproto); +} + +void protobuf_RegisterTypes(const ::std::string&) { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + Foo_descriptor_, &Foo::default_instance()); +} + +} // namespace + +void protobuf_ShutdownFile_data_2eproto() { + delete Foo::default_instance_; + delete Foo_reflection_; +} + +void protobuf_AddDesc_data_2eproto() { + static bool already_here = false; + if (already_here) return; + already_here = true; + GOOGLE_PROTOBUF_VERIFY_VERSION; + + ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( + "\n\ndata.proto\022\tprototest\"+\n\003Foo\022\n\n\002id\030\001 \002" + "(\005\022\013\n\003bar\030\002 \002(\t\022\013\n\003baz\030\003 \001(\t", 68); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( + "data.proto", &protobuf_RegisterTypes); + Foo::default_instance_ = new Foo(); + Foo::default_instance_->InitAsDefaultInstance(); + ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_data_2eproto); +} + +// Force AddDescriptors() to be called at static initialization time. +struct StaticDescriptorInitializer_data_2eproto { + StaticDescriptorInitializer_data_2eproto() { + protobuf_AddDesc_data_2eproto(); + } +} static_descriptor_initializer_data_2eproto_; + +// =================================================================== + +#ifndef _MSC_VER +const int Foo::kIdFieldNumber; +const int Foo::kBarFieldNumber; +const int Foo::kBazFieldNumber; +#endif // !_MSC_VER + +Foo::Foo() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void Foo::InitAsDefaultInstance() { +} + +Foo::Foo(const Foo& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void Foo::SharedCtor() { + _cached_size_ = 0; + id_ = 0; + bar_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + baz_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +Foo::~Foo() { + SharedDtor(); +} + +void Foo::SharedDtor() { + if (bar_ != &::google::protobuf::internal::kEmptyString) { + delete bar_; + } + if (baz_ != &::google::protobuf::internal::kEmptyString) { + delete baz_; + } + if (this != default_instance_) { + } +} + +void Foo::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* Foo::descriptor() { + protobuf_AssignDescriptorsOnce(); + return Foo_descriptor_; +} + +const Foo& Foo::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_data_2eproto(); + return *default_instance_; +} + +Foo* Foo::default_instance_ = NULL; + +Foo* Foo::New() const { + return new Foo; +} + +void Foo::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + id_ = 0; + if (has_bar()) { + if (bar_ != &::google::protobuf::internal::kEmptyString) { + bar_->clear(); + } + } + if (has_baz()) { + if (baz_ != &::google::protobuf::internal::kEmptyString) { + baz_->clear(); + } + } + } + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool Foo::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required int32 id = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &id_))); + set_has_id(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(18)) goto parse_bar; + break; + } + + // required string bar = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_bar: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_bar())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->bar().data(), this->bar().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(26)) goto parse_baz; + break; + } + + // optional string baz = 3; + case 3: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_baz: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_baz())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->baz().data(), this->baz().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void Foo::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required int32 id = 1; + if (has_id()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->id(), output); + } + + // required string bar = 2; + if (has_bar()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->bar().data(), this->bar().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 2, this->bar(), output); + } + + // optional string baz = 3; + if (has_baz()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->baz().data(), this->baz().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 3, this->baz(), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* Foo::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required int32 id = 1; + if (has_id()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->id(), target); + } + + // required string bar = 2; + if (has_bar()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->bar().data(), this->bar().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 2, this->bar(), target); + } + + // optional string baz = 3; + if (has_baz()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->baz().data(), this->baz().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->baz(), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int Foo::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required int32 id = 1; + if (has_id()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->id()); + } + + // required string bar = 2; + if (has_bar()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->bar()); + } + + // optional string baz = 3; + if (has_baz()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->baz()); + } + + } + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void Foo::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const Foo* source = + ::google::protobuf::internal::dynamic_cast_if_available( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void Foo::MergeFrom(const Foo& from) { + GOOGLE_CHECK_NE(&from, this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_id()) { + set_id(from.id()); + } + if (from.has_bar()) { + set_bar(from.bar()); + } + if (from.has_baz()) { + set_baz(from.baz()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void Foo::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void Foo::CopyFrom(const Foo& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool Foo::IsInitialized() const { + if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false; + + return true; +} + +void Foo::Swap(Foo* other) { + if (other != this) { + std::swap(id_, other->id_); + std::swap(bar_, other->bar_); + std::swap(baz_, other->baz_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata Foo::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = Foo_descriptor_; + metadata.reflection = Foo_reflection_; + return metadata; +} + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace prototest + +// @@protoc_insertion_point(global_scope) diff --git a/test/sockets/data.pb.h b/test/sockets/data.pb.h new file mode 100644 index 0000000..b96f448 --- /dev/null +++ b/test/sockets/data.pb.h @@ -0,0 +1,335 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: data.proto + +#ifndef PROTOBUF_data_2eproto__INCLUDED +#define PROTOBUF_data_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 2005000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 2005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace prototest { + +// Internal implementation detail -- do not call these. +void protobuf_AddDesc_data_2eproto(); +void protobuf_AssignDesc_data_2eproto(); +void protobuf_ShutdownFile_data_2eproto(); + +class Foo; + +// =================================================================== + +class Foo : public ::google::protobuf::Message { + public: + Foo(); + virtual ~Foo(); + + Foo(const Foo& from); + + inline Foo& operator=(const Foo& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const Foo& default_instance(); + + void Swap(Foo* other); + + // implements Message ---------------------------------------------- + + Foo* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Foo& from); + void MergeFrom(const Foo& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required int32 id = 1; + inline bool has_id() const; + inline void clear_id(); + static const int kIdFieldNumber = 1; + inline ::google::protobuf::int32 id() const; + inline void set_id(::google::protobuf::int32 value); + + // required string bar = 2; + inline bool has_bar() const; + inline void clear_bar(); + static const int kBarFieldNumber = 2; + inline const ::std::string& bar() const; + inline void set_bar(const ::std::string& value); + inline void set_bar(const char* value); + inline void set_bar(const char* value, size_t size); + inline ::std::string* mutable_bar(); + inline ::std::string* release_bar(); + inline void set_allocated_bar(::std::string* bar); + + // optional string baz = 3; + inline bool has_baz() const; + inline void clear_baz(); + static const int kBazFieldNumber = 3; + inline const ::std::string& baz() const; + inline void set_baz(const ::std::string& value); + inline void set_baz(const char* value); + inline void set_baz(const char* value, size_t size); + inline ::std::string* mutable_baz(); + inline ::std::string* release_baz(); + inline void set_allocated_baz(::std::string* baz); + + // @@protoc_insertion_point(class_scope:prototest.Foo) + private: + inline void set_has_id(); + inline void clear_has_id(); + inline void set_has_bar(); + inline void clear_has_bar(); + inline void set_has_baz(); + inline void clear_has_baz(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::std::string* bar_; + ::std::string* baz_; + ::google::protobuf::int32 id_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; + + friend void protobuf_AddDesc_data_2eproto(); + friend void protobuf_AssignDesc_data_2eproto(); + friend void protobuf_ShutdownFile_data_2eproto(); + + void InitAsDefaultInstance(); + static Foo* default_instance_; +}; +// =================================================================== + + +// =================================================================== + +// Foo + +// required int32 id = 1; +inline bool Foo::has_id() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void Foo::set_has_id() { + _has_bits_[0] |= 0x00000001u; +} +inline void Foo::clear_has_id() { + _has_bits_[0] &= ~0x00000001u; +} +inline void Foo::clear_id() { + id_ = 0; + clear_has_id(); +} +inline ::google::protobuf::int32 Foo::id() const { + return id_; +} +inline void Foo::set_id(::google::protobuf::int32 value) { + set_has_id(); + id_ = value; +} + +// required string bar = 2; +inline bool Foo::has_bar() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void Foo::set_has_bar() { + _has_bits_[0] |= 0x00000002u; +} +inline void Foo::clear_has_bar() { + _has_bits_[0] &= ~0x00000002u; +} +inline void Foo::clear_bar() { + if (bar_ != &::google::protobuf::internal::kEmptyString) { + bar_->clear(); + } + clear_has_bar(); +} +inline const ::std::string& Foo::bar() const { + return *bar_; +} +inline void Foo::set_bar(const ::std::string& value) { + set_has_bar(); + if (bar_ == &::google::protobuf::internal::kEmptyString) { + bar_ = new ::std::string; + } + bar_->assign(value); +} +inline void Foo::set_bar(const char* value) { + set_has_bar(); + if (bar_ == &::google::protobuf::internal::kEmptyString) { + bar_ = new ::std::string; + } + bar_->assign(value); +} +inline void Foo::set_bar(const char* value, size_t size) { + set_has_bar(); + if (bar_ == &::google::protobuf::internal::kEmptyString) { + bar_ = new ::std::string; + } + bar_->assign(reinterpret_cast(value), size); +} +inline ::std::string* Foo::mutable_bar() { + set_has_bar(); + if (bar_ == &::google::protobuf::internal::kEmptyString) { + bar_ = new ::std::string; + } + return bar_; +} +inline ::std::string* Foo::release_bar() { + clear_has_bar(); + if (bar_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = bar_; + bar_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} +inline void Foo::set_allocated_bar(::std::string* bar) { + if (bar_ != &::google::protobuf::internal::kEmptyString) { + delete bar_; + } + if (bar) { + set_has_bar(); + bar_ = bar; + } else { + clear_has_bar(); + bar_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + } +} + +// optional string baz = 3; +inline bool Foo::has_baz() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void Foo::set_has_baz() { + _has_bits_[0] |= 0x00000004u; +} +inline void Foo::clear_has_baz() { + _has_bits_[0] &= ~0x00000004u; +} +inline void Foo::clear_baz() { + if (baz_ != &::google::protobuf::internal::kEmptyString) { + baz_->clear(); + } + clear_has_baz(); +} +inline const ::std::string& Foo::baz() const { + return *baz_; +} +inline void Foo::set_baz(const ::std::string& value) { + set_has_baz(); + if (baz_ == &::google::protobuf::internal::kEmptyString) { + baz_ = new ::std::string; + } + baz_->assign(value); +} +inline void Foo::set_baz(const char* value) { + set_has_baz(); + if (baz_ == &::google::protobuf::internal::kEmptyString) { + baz_ = new ::std::string; + } + baz_->assign(value); +} +inline void Foo::set_baz(const char* value, size_t size) { + set_has_baz(); + if (baz_ == &::google::protobuf::internal::kEmptyString) { + baz_ = new ::std::string; + } + baz_->assign(reinterpret_cast(value), size); +} +inline ::std::string* Foo::mutable_baz() { + set_has_baz(); + if (baz_ == &::google::protobuf::internal::kEmptyString) { + baz_ = new ::std::string; + } + return baz_; +} +inline ::std::string* Foo::release_baz() { + clear_has_baz(); + if (baz_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = baz_; + baz_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} +inline void Foo::set_allocated_baz(::std::string* baz) { + if (baz_ != &::google::protobuf::internal::kEmptyString) { + delete baz_; + } + if (baz) { + set_has_baz(); + baz_ = baz; + } else { + clear_has_baz(); + baz_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + } +} + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace prototest + +#ifndef SWIG +namespace google { +namespace protobuf { + + +} // namespace google +} // namespace protobuf +#endif // SWIG + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_data_2eproto__INCLUDED diff --git a/test/sockets/data.proto b/test/sockets/data.proto new file mode 100644 index 0000000..6335f90 --- /dev/null +++ b/test/sockets/data.proto @@ -0,0 +1,7 @@ +package prototest; + +message Foo { + required int32 id = 1; + required string bar = 2; + optional string baz = 3; +} diff --git a/test/sockets/data_pb2.py b/test/sockets/data_pb2.py new file mode 100644 index 0000000..0e5e201 --- /dev/null +++ b/test/sockets/data_pb2.py @@ -0,0 +1,71 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: data.proto + +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import descriptor_pb2 +# @@protoc_insertion_point(imports) + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='data.proto', + package='prototest', + serialized_pb='\n\ndata.proto\x12\tprototest\"+\n\x03\x46oo\x12\n\n\x02id\x18\x01 \x02(\x05\x12\x0b\n\x03\x62\x61r\x18\x02 \x02(\t\x12\x0b\n\x03\x62\x61z\x18\x03 \x01(\t') + + + + +_FOO = _descriptor.Descriptor( + name='Foo', + full_name='prototest.Foo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='prototest.Foo.id', index=0, + number=1, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='bar', full_name='prototest.Foo.bar', index=1, + number=2, type=9, cpp_type=9, label=2, + has_default_value=False, default_value=unicode("", "utf-8"), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='baz', full_name='prototest.Foo.baz', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=unicode("", "utf-8"), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + extension_ranges=[], + serialized_start=25, + serialized_end=68, +) + +DESCRIPTOR.message_types_by_name['Foo'] = _FOO + +class Foo(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _FOO + + # @@protoc_insertion_point(class_scope:prototest.Foo) + + +# @@protoc_insertion_point(module_scope) diff --git a/test/sockets/server.cpp b/test/sockets/server.cpp index 611a5f7..aa0e5f7 100644 --- a/test/sockets/server.cpp +++ b/test/sockets/server.cpp @@ -5,10 +5,86 @@ * Author: Bernd Doser */ -#include +#include +#include /* Added for the nonblocking socket */ +#include +#include +#include +#include #include +#include +#include +#include +#include +#include + +struct sockaddr_in; + +using namespace std; + +#define SERVER_PORT htons(50007) +#define BACKLOG 10 + +int main() { + + char buffer[1000]; + int sockfd = socket(AF_INET, SOCK_STREAM, 0); + + sockaddr_in serverAddr; + serverAddr.sin_family = AF_INET; + serverAddr.sin_port = SERVER_PORT; + serverAddr.sin_addr.s_addr = INADDR_ANY; + + /* bind (this socket, local address, address length) + bind server socket (sockfd) to server address (serverAddr). + Necessary so that server can use a specific port */ + if (bind(sockfd, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr)) == -1) { + perror("bind"); + } + + // wait for a client + /* listen (this socket, request queue length) */ + if (listen(sockfd, BACKLOG) == -1) { + perror("listen"); + exit(1); + } + std::cout << "Connected to client." << std::endl; + + sockaddr_in clientAddr; + socklen_t sin_size = sizeof(struct sockaddr_in); + int new_fd = accept(sockfd,(struct sockaddr*)&clientAddr, &sin_size); + if (new_fd == -1) perror("accept"); + + int last_fd = sockfd; + fcntl(last_fd, F_SETFL, O_NONBLOCK); /* Change the socket into non-blocking state */ + fcntl(new_fd, F_SETFL, O_NONBLOCK); /* Change the socket into non-blocking state */ -int main() -{ - int socket = socket(AF_UNIX, SOCK_STREAM, 0); + for(;;) { + for (int i = sockfd; i <= last_fd; ++i) { + std::cout << "Round number " << i << std::endl; + if (i == sockfd) { + sin_size = sizeof(struct sockaddr_in); + if ((new_fd = accept(sockfd, (struct sockaddr *)&clientAddr, &sin_size)) == -1) + perror("accept"); + printf("server: got connection from %s\n", inet_ntoa(clientAddr.sin_addr)); + fcntl(new_fd, F_SETFL, O_NONBLOCK); + last_fd = new_fd; + } + else { + std::cout << "Wait for message ... " << std::endl; + int n = recv(new_fd, buffer, sizeof(buffer), 0); + std::cout << "n = " << std::endl; + if (n < 1) { + perror("recv - non blocking \n"); + printf("Round %d, and the data read size is: n=%d \n",i,n); + } + else { + buffer[n] = '\0'; + printf("The string is: %s \n", buffer); + if (send(new_fd, "Hello, world!\n", 14, 0) == -1) + perror("send"); + } + } + } + } } From 6ecb5c73910e02c0cfcb9a2f5f28ada5237a76f5 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 10 May 2016 11:29:55 +0200 Subject: [PATCH 21/78] test bidirectional stream socket --- test/sockets/CMakeLists.txt | 5 +++++ test/sockets/client.py | 30 +++++++++++++++++++++++++----- test/sockets/server.cpp | 5 +++-- 3 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 test/sockets/CMakeLists.txt diff --git a/test/sockets/CMakeLists.txt b/test/sockets/CMakeLists.txt new file mode 100644 index 0000000..31fc623 --- /dev/null +++ b/test/sockets/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.0) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") + +add_executable(server server.cpp) diff --git a/test/sockets/client.py b/test/sockets/client.py index 8e21d2d..2863920 100644 --- a/test/sockets/client.py +++ b/test/sockets/client.py @@ -7,11 +7,31 @@ s.connect((HOST, PORT)) while 1: - line = raw_input("Which galaxy? ") - print line - if line == "q": - break - s.send(line) + print "Please define the next galaxy to release:" + + user_id = -1 + while not(user_id >= 1 and user_id <= 4): + user_id = int(raw_input("Which user? [1-4]: ")) + print "user id = ", user_id + + galaxy_type = -1 + while not(galaxy_type >= 1 and galaxy_type <= 4): + galaxy_type = int(raw_input("Which galaxy type? [1-4]: ")) + print "galaxy type = ", galaxy_type + + angle = -1.0 + while not(angle >= 0.0 and angle <= 90.0): + angle = float(raw_input("Which angle? [0 <= angle <= 90]: ")) + print "angle = ", angle + + velocity = -1.0 + while not(velocity >= 0.0 and velocity <= 100.0): + velocity = float(raw_input("Which velocity? [0 <= velocity <= 100]: ")) + print "velocity = ", velocity + + data = str(user_id) + "|" + str(galaxy_type) + "|" + str(angle) + "|" + str(velocity) + print "Galaxy (", data, ") was released." + s.send(data) s.shutdown(socket.SHUT_RDWR) s.close() diff --git a/test/sockets/server.cpp b/test/sockets/server.cpp index aa0e5f7..bed7a7f 100644 --- a/test/sockets/server.cpp +++ b/test/sockets/server.cpp @@ -59,10 +59,11 @@ int main() { fcntl(last_fd, F_SETFL, O_NONBLOCK); /* Change the socket into non-blocking state */ fcntl(new_fd, F_SETFL, O_NONBLOCK); /* Change the socket into non-blocking state */ + int i; for(;;) { - for (int i = sockfd; i <= last_fd; ++i) { + for (i = sockfd; i <= last_fd; ++i) { std::cout << "Round number " << i << std::endl; - if (i == sockfd) { + if (i = sockfd) { sin_size = sizeof(struct sockaddr_in); if ((new_fd = accept(sockfd, (struct sockaddr *)&clientAddr, &sin_size)) == -1) perror("accept"); From 364d41d7072eca27c6402e7f6642bad8d98dc8d7 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 10 May 2016 13:37:04 +0200 Subject: [PATCH 22/78] test non-blocking bidirectinal socket interconnent --- test/sockets/client.py | 10 +++++++--- test/sockets/server.cpp | 26 ++++++++++++++++---------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/test/sockets/client.py b/test/sockets/client.py index 2863920..6f2abef 100644 --- a/test/sockets/client.py +++ b/test/sockets/client.py @@ -2,6 +2,7 @@ import sys HOST, PORT = "localhost", 50007 +BUFFERSIZE = 1024 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) @@ -29,9 +30,12 @@ velocity = float(raw_input("Which velocity? [0 <= velocity <= 100]: ")) print "velocity = ", velocity - data = str(user_id) + "|" + str(galaxy_type) + "|" + str(angle) + "|" + str(velocity) - print "Galaxy (", data, ") was released." - s.send(data) + send_data = str(user_id) + "|" + str(galaxy_type) + "|" + str(angle) + "|" + str(velocity) + print "Galaxy (", send_data, ") was released." + s.send(send_data) + + recv_data = s.recv(BUFFERSIZE) + print "Received data:", recv_data s.shutdown(socket.SHUT_RDWR) s.close() diff --git a/test/sockets/server.cpp b/test/sockets/server.cpp index bed7a7f..5c464cd 100644 --- a/test/sockets/server.cpp +++ b/test/sockets/server.cpp @@ -24,12 +24,20 @@ using namespace std; #define SERVER_PORT htons(50007) #define BACKLOG 10 +#define BUFFERSIZE 1024 int main() { - char buffer[1000]; + char buffer[BUFFERSIZE]; int sockfd = socket(AF_INET, SOCK_STREAM, 0); + if (sockfd == -1) { + perror("socket"); + exit(1); + } + + int last_fd = sockfd; + sockaddr_in serverAddr; serverAddr.sin_family = AF_INET; serverAddr.sin_port = SERVER_PORT; @@ -40,6 +48,7 @@ int main() { Necessary so that server can use a specific port */ if (bind(sockfd, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr)) == -1) { perror("bind"); + exit(1); } // wait for a client @@ -48,22 +57,19 @@ int main() { perror("listen"); exit(1); } - std::cout << "Connected to client." << std::endl; sockaddr_in clientAddr; socklen_t sin_size = sizeof(struct sockaddr_in); - int new_fd = accept(sockfd,(struct sockaddr*)&clientAddr, &sin_size); + int new_fd = accept(sockfd, (struct sockaddr*)&clientAddr, &sin_size); if (new_fd == -1) perror("accept"); - int last_fd = sockfd; - fcntl(last_fd, F_SETFL, O_NONBLOCK); /* Change the socket into non-blocking state */ - fcntl(new_fd, F_SETFL, O_NONBLOCK); /* Change the socket into non-blocking state */ + fcntl(new_fd, F_SETFL, O_NONBLOCK); + fcntl(last_fd, F_SETFL, O_NONBLOCK); - int i; for(;;) { - for (i = sockfd; i <= last_fd; ++i) { + for (int i = sockfd; i <= last_fd; ++i) { std::cout << "Round number " << i << std::endl; - if (i = sockfd) { + if (i !y= sockfd) { sin_size = sizeof(struct sockaddr_in); if ((new_fd = accept(sockfd, (struct sockaddr *)&clientAddr, &sin_size)) == -1) perror("accept"); @@ -74,7 +80,6 @@ int main() { else { std::cout << "Wait for message ... " << std::endl; int n = recv(new_fd, buffer, sizeof(buffer), 0); - std::cout << "n = " << std::endl; if (n < 1) { perror("recv - non blocking \n"); printf("Round %d, and the data read size is: n=%d \n",i,n); @@ -87,5 +92,6 @@ int main() { } } } + sleep(1); } } From 5136fe3f29f3737e306dfa3f48d2d816a312105e Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 10 May 2016 13:37:45 +0200 Subject: [PATCH 23/78] typo --- test/sockets/server.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/sockets/server.cpp b/test/sockets/server.cpp index 5c464cd..cf9d346 100644 --- a/test/sockets/server.cpp +++ b/test/sockets/server.cpp @@ -69,7 +69,7 @@ int main() { for(;;) { for (int i = sockfd; i <= last_fd; ++i) { std::cout << "Round number " << i << std::endl; - if (i !y= sockfd) { + if (i != sockfd) { sin_size = sizeof(struct sockaddr_in); if ((new_fd = accept(sockfd, (struct sockaddr *)&clientAddr, &sin_size)) == -1) perror("accept"); From a524d01183128a028b12dba032f1fde58d2fbbd0 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 10 May 2016 17:00:52 +0200 Subject: [PATCH 24/78] integrate galaxyStore into releaseGalaxy --- runtime/src/GalaxyStore.cpp | 4 +- runtime/src/renderloop.cpp | 223 ++++++++++++++++++++++++++++++------ 2 files changed, 187 insertions(+), 40 deletions(-) diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index 21c8446..e40e848 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -19,7 +19,7 @@ void GalaxyStore::init(std::string const& path, octree *tree) { std::string filename(dp->d_name); if (filename.substr(filename.find_last_of(".")) != ".tipsy") continue; - std::cout << filename << std::endl; + std::cout << "Read file " << filename << " into GalaxyStore." << std::endl; Galaxy galaxy; int Total2 = 0; @@ -28,7 +28,7 @@ void GalaxyStore::init(std::string const& path, octree *tree) int NThird = 0; read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, - 0.0, (path+"/"+filename).c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, + 0.0, (path + "/" + filename).c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); galaxies.push_back(galaxy); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 980d2d6..d542382 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1401,46 +1401,192 @@ class BonsaiDemo void releaseGalaxy() { -#if 1 - m_tree->addGalaxy(0); -#else - size_t old_size = m_tree->localTree.n; - m_tree->localTree.setN(old_size + m_galaxies[0].bodyPositions.size()); - m_tree->reallocateParticleMemory(m_tree->localTree); - - std::copy(m_galaxies[0].bodyPositions.begin(), m_galaxies[0].bodyPositions.end(), - &(m_tree->localTree.bodies_pos[old_size])); - copy(m_galaxies[0].bodyVelocities.begin(), m_galaxies[0].bodyVelocities.end(), - &(m_tree->localTree.bodies_vel[old_size])); - copy(m_galaxies[0].bodyIDs.begin(), m_galaxies[0].bodyIDs.end(), - &(m_tree->localTree.bodies_ids[old_size])); - copy(m_galaxies[0].bodyPositions.begin(), m_galaxies[0].bodyPositions.end(), - &(m_tree->localTree.bodies_Ppos[old_size])); - copy(m_galaxies[0].bodyVelocities.begin(), m_galaxies[0].bodyVelocities.end(), - &(m_tree->localTree.bodies_Pvel[old_size])); -// std::fill(&(m_tree->localTree.bodies_Pvel[old_size]), &(m_tree->localTree.bodies_Pvel[old_size + old_size]), -// make_float2(m_tree->get_t_current(), m_tree->get_t_current())); - - for(size_t i(0); i != m_galaxies[0].bodyPositions.size(); ++i) - { -// m_tree->localTree.bodies_pos[old_size + i] = m_galaxies[0].bodyPositions[i]; -// m_tree->localTree.bodies_vel[old_size + i] = m_galaxies[0].bodyVelocities[i]; -// m_tree->localTree.bodies_ids[old_size + i] = m_galaxies[0].bodyIDs[i]; -// m_tree->localTree.bodies_Ppos[old_size + i] = m_galaxies[0].bodyPositions[i]; -// m_tree->localTree.bodies_Pvel[old_size + i] = m_galaxies[0].bodyVelocities[i]; - m_tree->localTree.bodies_time[old_size + i] = make_float2(m_tree->get_t_current(), m_tree->get_t_current()); - } + - // Load data onto the device - m_tree->localTree.bodies_pos.h2d(); - m_tree->localTree.bodies_vel.h2d(); - m_tree->localTree.bodies_ids.h2d(); - m_tree->localTree.bodies_Ppos.h2d(); - m_tree->localTree.bodies_Pvel.h2d(); - m_tree->localTree.bodies_time.h2d(); + //To add an galaxy we need to have read it in from the host + #ifdef USE_DUST + //We move the dust data into the position data (on the device :) ) + localTree.bodies_pos.copy_devonly(localTree.dust_pos, localTree.n_dust, localTree.n); + localTree.bodies_vel.copy_devonly(localTree.dust_vel, localTree.n_dust, localTree.n); + localTree.bodies_ids.copy_devonly(localTree.dust_ids, localTree.n_dust, localTree.n); + #endif + + this->localTree.bodies_pos.d2h(); + this->localTree.bodies_vel.d2h(); + this->localTree.bodies_ids.d2h(); + + vector newGalaxy_pos; + vector newGalaxy_vel; + vector newGalaxy_ids; + vector currentGalaxy_pos; + vector currentGalaxy_vel; + vector currentGalaxy_ids; + + int n_particles = this->localTree.n + this->localTree.n_dust; + currentGalaxy_pos.insert(currentGalaxy_pos.begin(), &this->localTree.bodies_pos[0], + &this->localTree.bodies_pos[0]+n_particles); + currentGalaxy_vel.insert(currentGalaxy_vel.begin(), &this->localTree.bodies_vel[0], + &this->localTree.bodies_vel[0]+n_particles); + currentGalaxy_ids.insert(currentGalaxy_ids.begin(), &this->localTree.bodies_ids[0], + &this->localTree.bodies_ids[0]+n_particles); + + vector newGalaxy_pos_dust; + vector newGalaxy_vel_dust; + vector newGalaxy_ids_dust; + + //string fileName = "model3_child_compact.tipsy"; + //string fileName = "modelC30kDust.bin"; + string fileName = "/local/doserbd/projects/ESO/BonsaiGTC12DemoFiles/testSolar_5M_galaxy2.tipsy"; + int rank = 0; + int procs = 1; + int NTotal, NFirst, NSecond, Nthird = 0; + int reduce_bodies = 50; + read_tipsy_file_parallel(newGalaxy_pos, newGalaxy_vel, newGalaxy_ids, 0, fileName, + rank, procs, NTotal, NFirst, NSecond, NThird, this, + newGalaxy_pos_dust, newGalaxy_vel_dust, newGalaxy_ids_dust, + reduce_bodies, 1, false); + + + int n_addGalaxy = (int) newGalaxy_pos.size(); + int n_addGalaxy_dust = (int) newGalaxy_pos_dust.size(); + //Put the dust with the main particles for orbit computations + newGalaxy_pos.insert(newGalaxy_pos.end(), newGalaxy_pos_dust.begin(), newGalaxy_pos_dust.end()); + newGalaxy_vel.insert(newGalaxy_vel.end(), newGalaxy_vel_dust.begin(), newGalaxy_vel_dust.end()); + newGalaxy_ids.insert(newGalaxy_ids.end(), newGalaxy_ids_dust.begin(), newGalaxy_ids_dust.end()); + + //First we need to compute the merger parameters + //this can be done on host or device or just precomputed + //However we need to center the galaxy on their center of mass + //which requires some loops, while it should be possible to do on + //the device since the COM info is available in the tree-structure + //but the center of mass velocity isnt + + //So modify the positions to COM of the current galaxy and the new one + + //Compute merger parameters + + + //Modify the positions/velocity and angles of the galaxy on the device + + //Modify the to be added galaxy + + + //Now put everything together: + int old_n = this->localTree.n; + int old_ndust = this->localTree.n_dust; + + + //Increase the size of the buffers + this->localTree.setN(n_addGalaxy + this->localTree.n); + this->reallocateParticleMemory(this->localTree); //Resize preserves original data + + + setupMergerModel(currentGalaxy_pos,currentGalaxy_vel ,currentGalaxy_ids , + newGalaxy_pos, newGalaxy_vel, newGalaxy_ids); + + #ifdef USE_DUST + this->localTree.setNDust(n_addGalaxy_dust + this->localTree.n_dust); + //The dust function checks if it needs to resize or malloc + this->allocateDustMemory(this->localTree); + #endif + + //Get particle data back to the host so we can add our new data + this->localTree.bodies_pos.d2h(); + this->localTree.bodies_acc0.d2h(); + this->localTree.bodies_vel.d2h(); + this->localTree.bodies_time.d2h(); + this->localTree.bodies_ids.d2h(); + this->localTree.bodies_Ppos.d2h(); + this->localTree.bodies_Pvel.d2h(); + + //Now we have to do some memory copy magic, IF we have USE_DUST defined the lay-out is like this: + //[[tree.n galaxy1][tree.n_dust galaxy1][n_addGalaxy galaxy2][n_addGalaxy_dust galaxy2]] + //So lets get that in the right arrays :-) + memcpy(&this->localTree.bodies_pos [0], ¤tGalaxy_pos[0], sizeof(real4)*old_n); + memcpy(&this->localTree.bodies_pos [old_n], ¤tGalaxy_pos[old_n + old_ndust], sizeof(real4)*n_addGalaxy); + + memcpy(&this->localTree.bodies_vel [0], ¤tGalaxy_vel[0], sizeof(real4)*old_n); + memcpy(&this->localTree.bodies_vel [old_n], ¤tGalaxy_vel[old_n + old_ndust], sizeof(real4)*n_addGalaxy); + + memcpy(&this->localTree.bodies_ids[0], ¤tGalaxy_ids[0], sizeof(int)*old_n); + memcpy(&this->localTree.bodies_ids[old_n], ¤tGalaxy_ids[old_n + old_ndust], sizeof(int)*n_addGalaxy); + + #ifdef USE_DUST + if(old_ndust + n_addGalaxy_dust) + { + memcpy(&this->localTree.dust_pos[0], ¤tGalaxy_pos[old_n], sizeof(real4)*old_ndust); + memcpy(&this->localTree.dust_vel [0], ¤tGalaxy_vel[old_n], sizeof(real4)*old_ndust); + memcpy(&this->localTree.dust_ids[0], ¤tGalaxy_ids[old_n], sizeof(int)*old_ndust); + + if(n_addGalaxy_dust > 0){ + memcpy(&this->localTree.dust_pos[old_ndust], + ¤tGalaxy_pos[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); + memcpy(&this->localTree.dust_vel [old_ndust], + ¤tGalaxy_vel[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); + memcpy(&this->localTree.dust_ids[old_ndust], + ¤tGalaxy_ids[old_n + old_ndust + n_addGalaxy], sizeof(int)*n_addGalaxy_dust); + } + this->localTree.dust_pos.h2d(); + this->localTree.dust_vel.h2d(); + this->localTree.dust_ids.h2d(); + + this->localTree.dust_acc0.d2h(); + for(int i=old_ndust; i < old_ndust + n_addGalaxy_dust; i++) + { + //Zero the accelerations of the new particles + this->localTree.dust_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); + } + // fprintf(stderr, "Dust info %d %d \n", old_ndust, n_addGalaxy_dust); this->localTree.dust_acc0.h2d(); + this->localTree.dust_acc1.zeroMem(); + } + + #endif + + + float2 curTime = this->localTree.bodies_time[0]; + for(int i=0; i < this->localTree.n; i++) + { + this->localTree.bodies_time[i] = curTime; + //Zero the accelerations of the new particles + if(i >= old_n) + { + this->localTree.bodies_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); + } + } + this->localTree.bodies_acc1.zeroMem(); + + + this->localTree.bodies_pos.h2d(); + this->localTree.bodies_acc0.h2d(); + this->localTree.bodies_vel.h2d(); + this->localTree.bodies_time.h2d(); + this->localTree.bodies_ids.h2d(); + + //Fill the predicted arrays + this->localTree.bodies_Ppos.copy(this->localTree.bodies_pos, localTree.n); + this->localTree.bodies_Pvel.copy(this->localTree.bodies_pos, localTree.n); + + resetEnergy(); + + // for(int i=0; i < this->localTree.n; i++) + // { + // fprintf(stderr, "%d\t%d \n", i, this->localTree.bodies_ids[i] ); + // } + + + //Copy the new galaxy behind the current galaxy + // memcpy(&m_tree->localTree.bodies_pos[old_n], + // &new_bodyPositions[0], sizeof(real4)*new_bodyPositions.size()); + // memcpy(&m_tree->localTree.bodies_Ppos[old_n], + // &new_bodyPositions[0], sizeof(real4)*new_bodyPositions.size()); + //...etc. + + + //Send everything back to the device + + //With some luck we can jump directly to iterate_once + //if that doesnt work we might have to do some extra steps...to be tested - //m_tree->iterate_setup(m_idata); -#endif } octree *m_tree; @@ -1850,6 +1996,7 @@ void special(int key, int x, int y) void idle(void) { + std::cout << "OpenGl idle was called." << std::endl; glutPostRedisplay(); } From ce87e5527d4a768c5a934406a0b89fc4227a5861 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Wed, 11 May 2016 13:41:34 +0200 Subject: [PATCH 25/78] release galaxy from GalaxyStore --- ...i device debug GTC12demo reduce 100.launch | 4 +- ...sai host debug GTC12demo reduce 100.launch | 2 +- .../Bonsai host debug war-of-galaxies.launch | 2 +- .../Bonsai release GTC12demo reduce 10.launch | 2 +- ...Bonsai release GTC12demo reduce 100.launch | 2 +- .../Bonsai release GTC12demo reduce 50.launch | 2 +- .../Bonsai release tipsy1 reduce 50.launch | 2 +- .../Bonsai release tipsy2 reduce 50.launch | 2 +- eclipse/Bonsai release war-of-galaxies.launch | 2 +- runtime/include/octree.h | 7 +- runtime/src/GalaxyStore.cpp | 2 +- runtime/src/gpu_iterate.cpp | 131 +++++++++++- runtime/src/renderloop.cpp | 193 +----------------- 13 files changed, 143 insertions(+), 210 deletions(-) diff --git a/eclipse/Bonsai device debug GTC12demo reduce 100.launch b/eclipse/Bonsai device debug GTC12demo reduce 100.launch index c2a91e3..25388fd 100644 --- a/eclipse/Bonsai device debug GTC12demo reduce 100.launch +++ b/eclipse/Bonsai device debug GTC12demo reduce 100.launch @@ -16,11 +16,11 @@ - + - + diff --git a/eclipse/Bonsai host debug GTC12demo reduce 100.launch b/eclipse/Bonsai host debug GTC12demo reduce 100.launch index 07b1092..f3720d8 100644 --- a/eclipse/Bonsai host debug GTC12demo reduce 100.launch +++ b/eclipse/Bonsai host debug GTC12demo reduce 100.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch index 692202e..8d0dfd1 100644 --- a/eclipse/Bonsai host debug war-of-galaxies.launch +++ b/eclipse/Bonsai host debug war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release GTC12demo reduce 10.launch b/eclipse/Bonsai release GTC12demo reduce 10.launch index 175107d..e64a67f 100644 --- a/eclipse/Bonsai release GTC12demo reduce 10.launch +++ b/eclipse/Bonsai release GTC12demo reduce 10.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release GTC12demo reduce 100.launch b/eclipse/Bonsai release GTC12demo reduce 100.launch index 1e10fa1..811cf29 100644 --- a/eclipse/Bonsai release GTC12demo reduce 100.launch +++ b/eclipse/Bonsai release GTC12demo reduce 100.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release GTC12demo reduce 50.launch b/eclipse/Bonsai release GTC12demo reduce 50.launch index fab8d84..33f3e7b 100644 --- a/eclipse/Bonsai release GTC12demo reduce 50.launch +++ b/eclipse/Bonsai release GTC12demo reduce 50.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release tipsy1 reduce 50.launch b/eclipse/Bonsai release tipsy1 reduce 50.launch index 4c69334..19384c5 100644 --- a/eclipse/Bonsai release tipsy1 reduce 50.launch +++ b/eclipse/Bonsai release tipsy1 reduce 50.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release tipsy2 reduce 50.launch b/eclipse/Bonsai release tipsy2 reduce 50.launch index f385b5b..2c63318 100644 --- a/eclipse/Bonsai release tipsy2 reduce 50.launch +++ b/eclipse/Bonsai release tipsy2 reduce 50.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 6e92472..86bd226 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/runtime/include/octree.h b/runtime/include/octree.h index e8b973a..2281eea 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -36,8 +36,8 @@ #include #endif - #include "log.h" +#include "Galaxy.h" #define PRINT_MPI_DEBUG @@ -875,10 +875,11 @@ class octree { my_dev::kernel correctDust; #endif - // - //Function for setting up the mergers + // Function for setting up the mergers bool addGalaxy(int galaxyID); + // WarOfGalaxies: add galaxy to simulation + void releaseGalaxy(Galaxy const& galaxy); //Library interface functions void setEps(float eps); diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index e40e848..616ec77 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -29,7 +29,7 @@ void GalaxyStore::init(std::string const& path, octree *tree) read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, 0.0, (path + "/" + filename).c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, - galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); + galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 50, 1, false); galaxies.push_back(galaxy); } diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 060c6df..76d1e3d 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -214,8 +214,6 @@ void octree::makeLET() letRunning = false; } -#if 1 - extern void read_tipsy_file_parallel(vector &bodyPositions, vector &bodyVelocities, vector &bodiesIDs, float eps2, string fileName, int rank, int procs, int &NTotal2, int &NFirst, @@ -261,7 +259,7 @@ bool octree::addGalaxy(int galaxyID) //string fileName = "model3_child_compact.tipsy"; //string fileName = "modelC30kDust.bin"; - string fileName = "/local/doserbd/projects/ESO/BonsaiGTC12DemoFiles/testSolar_5M_galaxy2.tipsy"; + string fileName = "/local/doserbd/projects/ESO/war-of-galaxies/testSolar_5M_galaxy2.tipsy"; int rank = 0; int procs = 1; int NTotal, NFirst, NSecond, Nthird = 0; @@ -415,10 +413,135 @@ bool octree::addGalaxy(int galaxyID) return true; } -#endif +void octree::releaseGalaxy(Galaxy const& galaxy) +{ + #ifdef USE_DUST + // Move the dust data into the position data on the device + this->localTree.bodies_pos.copy_devonly(this->localTree.dust_pos, this->localTree.n_dust, this->localTree.n); + this->localTree.bodies_vel.copy_devonly(this->localTree.dust_vel, this->localTree.n_dust, this->localTree.n); + this->localTree.bodies_ids.copy_devonly(this->localTree.dust_ids, this->localTree.n_dust, this->localTree.n); + #endif + + this->localTree.bodies_pos.d2h(); + this->localTree.bodies_vel.d2h(); + this->localTree.bodies_ids.d2h(); + + vector currentGalaxy_pos; + vector currentGalaxy_vel; + vector currentGalaxy_ids; + + int n_particles = this->localTree.n + this->localTree.n_dust; + currentGalaxy_pos.insert(currentGalaxy_pos.begin(), &this->localTree.bodies_pos[0], &this->localTree.bodies_pos[0] + n_particles); + currentGalaxy_vel.insert(currentGalaxy_vel.begin(), &this->localTree.bodies_vel[0], &this->localTree.bodies_vel[0] + n_particles); + currentGalaxy_ids.insert(currentGalaxy_ids.begin(), &this->localTree.bodies_ids[0], &this->localTree.bodies_ids[0] + n_particles); + + int n_addGalaxy = galaxy.pos.size(); + int n_addGalaxy_dust = galaxy.pos_dust.size(); + + // Put the dust with the main particles for orbit computations + vector newGalaxy_pos; + vector newGalaxy_vel; + vector newGalaxy_ids; + newGalaxy_pos.insert(newGalaxy_pos.end(), galaxy.pos.begin(), galaxy.pos.end()); + newGalaxy_vel.insert(newGalaxy_vel.end(), galaxy.vel.begin(), galaxy.vel.end()); + newGalaxy_ids.insert(newGalaxy_ids.end(), galaxy.ids.begin(), galaxy.ids.end()); + newGalaxy_pos.insert(newGalaxy_pos.end(), galaxy.pos_dust.begin(), galaxy.pos_dust.end()); + newGalaxy_vel.insert(newGalaxy_vel.end(), galaxy.vel_dust.begin(), galaxy.vel_dust.end()); + newGalaxy_ids.insert(newGalaxy_ids.end(), galaxy.ids_dust.begin(), galaxy.ids_dust.end()); + + // Now put everything together: + int old_n = this->localTree.n; + int old_ndust = this->localTree.n_dust; + + // Increase the size of the buffers + this->localTree.setN(n_addGalaxy + this->localTree.n); + + // Resize preserves original data + this->reallocateParticleMemory(this->localTree); + + setupMergerModel(currentGalaxy_pos, currentGalaxy_vel, currentGalaxy_ids, newGalaxy_pos, newGalaxy_vel, newGalaxy_ids); + + #ifdef USE_DUST + this->localTree.setNDust(n_addGalaxy_dust + this->localTree.n_dust); + // The dust function checks if it needs to resize or malloc + this->allocateDustMemory(this->localTree); + #endif + + // Get particle data back to the host so we can add our new data + this->localTree.bodies_pos.d2h(); + this->localTree.bodies_acc0.d2h(); + this->localTree.bodies_vel.d2h(); + this->localTree.bodies_time.d2h(); + this->localTree.bodies_ids.d2h(); + this->localTree.bodies_Ppos.d2h(); + this->localTree.bodies_Pvel.d2h(); + + // Now we have to do some memory copy magic, IF we have USE_DUST defined the lay-out is like this: + // [[tree.n galaxy1][tree.n_dust galaxy1][n_addGalaxy galaxy2][n_addGalaxy_dust galaxy2]] + // So lets get that in the right arrays :-) + memcpy(&this->localTree.bodies_pos[0], ¤tGalaxy_pos[0], sizeof(real4)*old_n); + memcpy(&this->localTree.bodies_pos[old_n], ¤tGalaxy_pos[old_n + old_ndust], sizeof(real4)*n_addGalaxy); + + memcpy(&this->localTree.bodies_vel[0], ¤tGalaxy_vel[0], sizeof(real4)*old_n); + memcpy(&this->localTree.bodies_vel[old_n], ¤tGalaxy_vel[old_n + old_ndust], sizeof(real4)*n_addGalaxy); + + memcpy(&this->localTree.bodies_ids[0], ¤tGalaxy_ids[0], sizeof(int)*old_n); + memcpy(&this->localTree.bodies_ids[old_n], ¤tGalaxy_ids[old_n + old_ndust], sizeof(int)*n_addGalaxy); + + #ifdef USE_DUST + if(old_ndust + n_addGalaxy_dust) + { + memcpy(&this->localTree.dust_pos[0], ¤tGalaxy_pos[old_n], sizeof(real4)*old_ndust); + memcpy(&this->localTree.dust_vel [0], ¤tGalaxy_vel[old_n], sizeof(real4)*old_ndust); + memcpy(&this->localTree.dust_ids[0], ¤tGalaxy_ids[old_n], sizeof(int)*old_ndust); + + if(n_addGalaxy_dust > 0){ + memcpy(&this->localTree.dust_pos[old_ndust], + ¤tGalaxy_pos[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); + memcpy(&this->localTree.dust_vel [old_ndust], + ¤tGalaxy_vel[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); + memcpy(&this->localTree.dust_ids[old_ndust], + ¤tGalaxy_ids[old_n + old_ndust + n_addGalaxy], sizeof(int)*n_addGalaxy_dust); + } + this->localTree.dust_pos.h2d(); + this->localTree.dust_vel.h2d(); + this->localTree.dust_ids.h2d(); + + this->localTree.dust_acc0.d2h(); + for(int i=old_ndust; i < old_ndust + n_addGalaxy_dust; i++) + { + // Zero the accelerations of the new particles + this->localTree.dust_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); + } + this->localTree.dust_acc1.zeroMem(); + } + #endif + + float2 curTime = this->localTree.bodies_time[0]; + for(int i=0; i < this->localTree.n; i++) + { + this->localTree.bodies_time[i] = curTime; + // Zero the accelerations of the new particles + if(i >= old_n) + { + this->localTree.bodies_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); + } + } + this->localTree.bodies_acc1.zeroMem(); + this->localTree.bodies_pos.h2d(); + this->localTree.bodies_acc0.h2d(); + this->localTree.bodies_vel.h2d(); + this->localTree.bodies_time.h2d(); + this->localTree.bodies_ids.h2d(); + // Fill the predicted arrays + this->localTree.bodies_Ppos.copy(this->localTree.bodies_pos, localTree.n); + this->localTree.bodies_Pvel.copy(this->localTree.bodies_pos, localTree.n); + + resetEnergy(); +} // returns true if this iteration is the last (t_current >= t_end), false otherwise bool octree::iterate_once(IterationData &idata) { diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index d542382..d5d8356 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -29,7 +29,6 @@ #include "timer.h" #include "paramgl.h" #include "depthSort.h" - #include "tr.h" float TstartGlow; @@ -1011,7 +1010,7 @@ class BonsaiDemo case 'a': case 'A': // release additional galaxy - releaseGalaxy(); + m_tree->releaseGalaxy(m_galaxyStore.galaxies[0]); break; default: break; @@ -1399,196 +1398,6 @@ class BonsaiDemo } - void releaseGalaxy() - { - - - //To add an galaxy we need to have read it in from the host - #ifdef USE_DUST - //We move the dust data into the position data (on the device :) ) - localTree.bodies_pos.copy_devonly(localTree.dust_pos, localTree.n_dust, localTree.n); - localTree.bodies_vel.copy_devonly(localTree.dust_vel, localTree.n_dust, localTree.n); - localTree.bodies_ids.copy_devonly(localTree.dust_ids, localTree.n_dust, localTree.n); - #endif - - this->localTree.bodies_pos.d2h(); - this->localTree.bodies_vel.d2h(); - this->localTree.bodies_ids.d2h(); - - vector newGalaxy_pos; - vector newGalaxy_vel; - vector newGalaxy_ids; - vector currentGalaxy_pos; - vector currentGalaxy_vel; - vector currentGalaxy_ids; - - int n_particles = this->localTree.n + this->localTree.n_dust; - currentGalaxy_pos.insert(currentGalaxy_pos.begin(), &this->localTree.bodies_pos[0], - &this->localTree.bodies_pos[0]+n_particles); - currentGalaxy_vel.insert(currentGalaxy_vel.begin(), &this->localTree.bodies_vel[0], - &this->localTree.bodies_vel[0]+n_particles); - currentGalaxy_ids.insert(currentGalaxy_ids.begin(), &this->localTree.bodies_ids[0], - &this->localTree.bodies_ids[0]+n_particles); - - vector newGalaxy_pos_dust; - vector newGalaxy_vel_dust; - vector newGalaxy_ids_dust; - - //string fileName = "model3_child_compact.tipsy"; - //string fileName = "modelC30kDust.bin"; - string fileName = "/local/doserbd/projects/ESO/BonsaiGTC12DemoFiles/testSolar_5M_galaxy2.tipsy"; - int rank = 0; - int procs = 1; - int NTotal, NFirst, NSecond, Nthird = 0; - int reduce_bodies = 50; - read_tipsy_file_parallel(newGalaxy_pos, newGalaxy_vel, newGalaxy_ids, 0, fileName, - rank, procs, NTotal, NFirst, NSecond, NThird, this, - newGalaxy_pos_dust, newGalaxy_vel_dust, newGalaxy_ids_dust, - reduce_bodies, 1, false); - - - int n_addGalaxy = (int) newGalaxy_pos.size(); - int n_addGalaxy_dust = (int) newGalaxy_pos_dust.size(); - //Put the dust with the main particles for orbit computations - newGalaxy_pos.insert(newGalaxy_pos.end(), newGalaxy_pos_dust.begin(), newGalaxy_pos_dust.end()); - newGalaxy_vel.insert(newGalaxy_vel.end(), newGalaxy_vel_dust.begin(), newGalaxy_vel_dust.end()); - newGalaxy_ids.insert(newGalaxy_ids.end(), newGalaxy_ids_dust.begin(), newGalaxy_ids_dust.end()); - - //First we need to compute the merger parameters - //this can be done on host or device or just precomputed - //However we need to center the galaxy on their center of mass - //which requires some loops, while it should be possible to do on - //the device since the COM info is available in the tree-structure - //but the center of mass velocity isnt - - //So modify the positions to COM of the current galaxy and the new one - - //Compute merger parameters - - - //Modify the positions/velocity and angles of the galaxy on the device - - //Modify the to be added galaxy - - - //Now put everything together: - int old_n = this->localTree.n; - int old_ndust = this->localTree.n_dust; - - - //Increase the size of the buffers - this->localTree.setN(n_addGalaxy + this->localTree.n); - this->reallocateParticleMemory(this->localTree); //Resize preserves original data - - - setupMergerModel(currentGalaxy_pos,currentGalaxy_vel ,currentGalaxy_ids , - newGalaxy_pos, newGalaxy_vel, newGalaxy_ids); - - #ifdef USE_DUST - this->localTree.setNDust(n_addGalaxy_dust + this->localTree.n_dust); - //The dust function checks if it needs to resize or malloc - this->allocateDustMemory(this->localTree); - #endif - - //Get particle data back to the host so we can add our new data - this->localTree.bodies_pos.d2h(); - this->localTree.bodies_acc0.d2h(); - this->localTree.bodies_vel.d2h(); - this->localTree.bodies_time.d2h(); - this->localTree.bodies_ids.d2h(); - this->localTree.bodies_Ppos.d2h(); - this->localTree.bodies_Pvel.d2h(); - - //Now we have to do some memory copy magic, IF we have USE_DUST defined the lay-out is like this: - //[[tree.n galaxy1][tree.n_dust galaxy1][n_addGalaxy galaxy2][n_addGalaxy_dust galaxy2]] - //So lets get that in the right arrays :-) - memcpy(&this->localTree.bodies_pos [0], ¤tGalaxy_pos[0], sizeof(real4)*old_n); - memcpy(&this->localTree.bodies_pos [old_n], ¤tGalaxy_pos[old_n + old_ndust], sizeof(real4)*n_addGalaxy); - - memcpy(&this->localTree.bodies_vel [0], ¤tGalaxy_vel[0], sizeof(real4)*old_n); - memcpy(&this->localTree.bodies_vel [old_n], ¤tGalaxy_vel[old_n + old_ndust], sizeof(real4)*n_addGalaxy); - - memcpy(&this->localTree.bodies_ids[0], ¤tGalaxy_ids[0], sizeof(int)*old_n); - memcpy(&this->localTree.bodies_ids[old_n], ¤tGalaxy_ids[old_n + old_ndust], sizeof(int)*n_addGalaxy); - - #ifdef USE_DUST - if(old_ndust + n_addGalaxy_dust) - { - memcpy(&this->localTree.dust_pos[0], ¤tGalaxy_pos[old_n], sizeof(real4)*old_ndust); - memcpy(&this->localTree.dust_vel [0], ¤tGalaxy_vel[old_n], sizeof(real4)*old_ndust); - memcpy(&this->localTree.dust_ids[0], ¤tGalaxy_ids[old_n], sizeof(int)*old_ndust); - - if(n_addGalaxy_dust > 0){ - memcpy(&this->localTree.dust_pos[old_ndust], - ¤tGalaxy_pos[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); - memcpy(&this->localTree.dust_vel [old_ndust], - ¤tGalaxy_vel[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); - memcpy(&this->localTree.dust_ids[old_ndust], - ¤tGalaxy_ids[old_n + old_ndust + n_addGalaxy], sizeof(int)*n_addGalaxy_dust); - } - this->localTree.dust_pos.h2d(); - this->localTree.dust_vel.h2d(); - this->localTree.dust_ids.h2d(); - - this->localTree.dust_acc0.d2h(); - for(int i=old_ndust; i < old_ndust + n_addGalaxy_dust; i++) - { - //Zero the accelerations of the new particles - this->localTree.dust_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); - } - // fprintf(stderr, "Dust info %d %d \n", old_ndust, n_addGalaxy_dust); this->localTree.dust_acc0.h2d(); - this->localTree.dust_acc1.zeroMem(); - } - - #endif - - - float2 curTime = this->localTree.bodies_time[0]; - for(int i=0; i < this->localTree.n; i++) - { - this->localTree.bodies_time[i] = curTime; - //Zero the accelerations of the new particles - if(i >= old_n) - { - this->localTree.bodies_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); - } - } - this->localTree.bodies_acc1.zeroMem(); - - - this->localTree.bodies_pos.h2d(); - this->localTree.bodies_acc0.h2d(); - this->localTree.bodies_vel.h2d(); - this->localTree.bodies_time.h2d(); - this->localTree.bodies_ids.h2d(); - - //Fill the predicted arrays - this->localTree.bodies_Ppos.copy(this->localTree.bodies_pos, localTree.n); - this->localTree.bodies_Pvel.copy(this->localTree.bodies_pos, localTree.n); - - resetEnergy(); - - // for(int i=0; i < this->localTree.n; i++) - // { - // fprintf(stderr, "%d\t%d \n", i, this->localTree.bodies_ids[i] ); - // } - - - //Copy the new galaxy behind the current galaxy - // memcpy(&m_tree->localTree.bodies_pos[old_n], - // &new_bodyPositions[0], sizeof(real4)*new_bodyPositions.size()); - // memcpy(&m_tree->localTree.bodies_Ppos[old_n], - // &new_bodyPositions[0], sizeof(real4)*new_bodyPositions.size()); - //...etc. - - - //Send everything back to the device - - //With some luck we can jump directly to iterate_once - //if that doesnt work we might have to do some extra steps...to be tested - - } - octree *m_tree; octree::IterationData &m_idata; bool iterationsRemaining; From b4366987ad424c4f5483829a0472fd07546f006e Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 12 May 2016 06:53:10 +0200 Subject: [PATCH 26/78] WOGSocketManager --- runtime/include/WOGSocketManager.h | 81 ++++++++++++++++++++++++++++++ runtime/include/renderloop.h | 4 +- runtime/src/main.cpp | 3 +- runtime/src/renderloop.cpp | 28 +++++++---- 4 files changed, 104 insertions(+), 12 deletions(-) create mode 100644 runtime/include/WOGSocketManager.h diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h new file mode 100644 index 0000000..56cf9da --- /dev/null +++ b/runtime/include/WOGSocketManager.h @@ -0,0 +1,81 @@ +/* + * WOGSocketManager.h + * + * Created on: May 11, 2016 + * Author: Bernd Doser + */ + +#ifndef WOGSOCKETMANAGER_H_ +#define WOGSOCKETMANAGER_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct sockaddr_in; + +class WOGSocketManager +{ + public: + WOGSocketManager(int port) + { + serverSocket = socket(AF_INET, SOCK_STREAM, 0); + if (serverSocket == -1) { + perror("socket"); + } + + sockaddr_in serverAddr; + serverAddr.sin_family = AF_INET; + serverAddr.sin_port = port; + serverAddr.sin_addr.s_addr = INADDR_ANY; + + if (bind(serverSocket, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr)) == -1) { + perror("bind"); + } + + // wait for a client + /* listen (this socket, request queue length) */ + if (listen(serverSocket, 5) == -1) { + perror("listen"); + } + + sockaddr_in clientAddr; + socklen_t sin_size = sizeof(struct sockaddr_in); + transferSocket = accept(serverSocket, (struct sockaddr*)&clientAddr, &sin_size); + if (transferSocket == -1) perror("accept"); + + fcntl(transferSocket, F_SETFL, O_NONBLOCK); + } + + ~WOGSocketManager() + { + close(transferSocket); + close(serverSocket); + } + + + int n = recv(wogSocket, buffer, sizeof(buffer), 0); + if (n > 0) { + buffer[n] = '\0'; + std::cout << "The string is: " << buffer << std::endl; + if (send(wogSocket, "Hello, world!\n", 14, 0) == -1) perror("send"); + m_tree->releaseGalaxy(theDemo->m_galaxyStore.galaxies[0]); + } + + private: + + int serverSocket; + int transferSocket; + +}; + +#endif /* WOGSOCKETMANAGER_H_ */ diff --git a/runtime/include/renderloop.h b/runtime/include/renderloop.h index b256282..67fa990 100644 --- a/runtime/include/renderloop.h +++ b/runtime/include/renderloop.h @@ -9,7 +9,7 @@ extern float dTstartGlow; void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo); void initAppRenderer(int argc, char** argv, octree *tree, - octree::IterationData &idata, - bool showFPS, bool stereo, GalaxyStore const& galaxyStore); + octree::IterationData &idata, bool showFPS, bool stereo, + GalaxyStore const& galaxyStore, int wogPort); #endif // _RENDERLOOP_H_ diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index b117fa1..d8d69a7 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -617,6 +617,7 @@ int main(int argc, char** argv) int nMWfork = 4; std::string war_of_galaxies_path; + int wogPort = 50007; /************** beg - command line arguments ********/ #if 1 @@ -1277,7 +1278,7 @@ int main(int argc, char** argv) octree::IterationData idata; GalaxyStore galaxyStore; if (!war_of_galaxies_path.empty()) galaxyStore.init(war_of_galaxies_path, tree); - initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, galaxyStore); + initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, galaxyStore, wogPort); LOG("Finished!!! Took in total: %lg sec\n", tree->get_time()-t0); #else tree->mpiSync(); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index d5d8356..6192bde 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -30,6 +30,7 @@ #include "paramgl.h" #include "depthSort.h" #include "tr.h" +#include "WOGSocketManager.h" float TstartGlow; float dTstartGlow; @@ -305,7 +306,7 @@ void glPrintf(float x, float y, const char* format, ...) class BonsaiDemo { public: - BonsaiDemo(octree *tree, octree::IterationData &idata, GalaxyStore const& galaxyStore) + BonsaiDemo(octree *tree, octree::IterationData &idata, GalaxyStore const& galaxyStore, int wogPort) : m_tree(tree), m_idata(idata), iterationsRemaining(true), // m_renderer(tree->localTree.n + tree->localTree.n_dust), m_renderer(tree->localTree.n + tree->localTree.n_dust, MAX_PARTICLES), @@ -338,7 +339,8 @@ class BonsaiDemo m_cameraRollHome(0.0f), m_cameraRoll(0.0f), m_enableStats(true), - m_galaxyStore(galaxyStore) + m_galaxyStore(galaxyStore), + m_wogSocketManager(wogPort) { m_windowDims = make_int2(1024, 768); m_cameraTrans = make_float3(0, -2, -100); @@ -1477,6 +1479,7 @@ class BonsaiDemo ParamListGL *m_params; // current GalaxyStore const& m_galaxyStore; + WOGSocketManager const& m_wogSocketManager; // saved cameras struct Camera { @@ -1799,14 +1802,21 @@ void keyUp(unsigned char key, int /*x*/, int /*y*/) void special(int key, int x, int y) { - theDemo->special(key); - glutPostRedisplay(); + theDemo->special(key); + glutPostRedisplay(); } void idle(void) { - std::cout << "OpenGl idle was called." << std::endl; - glutPostRedisplay(); + std::cout << "OpenGl idle was called." << std::endl; + int n = recv(wogSocket, buffer, sizeof(buffer), 0); + if (n > 0) { + buffer[n] = '\0'; + std::cout << "The string is: " << buffer << std::endl; + if (send(wogSocket, "Hello, world!\n", 14, 0) == -1) perror("send"); + m_tree->releaseGalaxy(theDemo->m_galaxyStore.galaxies[0]); + } + glutPostRedisplay(); } void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) @@ -1895,11 +1905,11 @@ void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) atexit(onexit); } -void initAppRenderer(int argc, char** argv, octree *tree, - octree::IterationData &idata, bool showFPS, bool stereo, GalaxyStore const& galaxyStore) { +void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, + bool showFPS, bool stereo, GalaxyStore const& galaxyStore, int wogPort) { displayFps = showFPS; //initGL(argc, argv); - theDemo = new BonsaiDemo(tree, idata, galaxyStore); + theDemo = new BonsaiDemo(tree, idata, galaxyStore, wogPort); if (stereo) theDemo->toggleStereo(); //SV assuming stereo is set to disable by default. glutMainLoop(); From 1f6b55be94c99194f1d2f66a4ed4ade3ba738d0f Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 12 May 2016 16:37:15 +0200 Subject: [PATCH 27/78] WOGSocketManager and glut test --- runtime/include/WOGSocketManager.h | 35 +++++++++++++------- runtime/src/renderloop.cpp | 11 +++---- test/glut/CMakeLists.txt | 11 +++++++ test/glut/cube.cpp | 51 ++++++++++++++++++++++++++++++ test/sockets/client.py | 3 +- test/sockets/server.cpp | 1 - 6 files changed, 92 insertions(+), 20 deletions(-) create mode 100644 test/glut/CMakeLists.txt create mode 100644 test/glut/cube.cpp diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index 56cf9da..25bea80 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -20,9 +20,12 @@ #include #include #include +#include struct sockaddr_in; +#define BUFFERSIZE 1024 + class WOGSocketManager { public: @@ -31,27 +34,32 @@ class WOGSocketManager serverSocket = socket(AF_INET, SOCK_STREAM, 0); if (serverSocket == -1) { perror("socket"); + throw std::runtime_error("socket error"); } sockaddr_in serverAddr; serverAddr.sin_family = AF_INET; - serverAddr.sin_port = port; + serverAddr.sin_port = htons(port); serverAddr.sin_addr.s_addr = INADDR_ANY; if (bind(serverSocket, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr)) == -1) { perror("bind"); + throw std::runtime_error("bind error"); } // wait for a client - /* listen (this socket, request queue length) */ if (listen(serverSocket, 5) == -1) { - perror("listen"); + perror("listen"); + throw std::runtime_error("listen error"); } sockaddr_in clientAddr; socklen_t sin_size = sizeof(struct sockaddr_in); transferSocket = accept(serverSocket, (struct sockaddr*)&clientAddr, &sin_size); - if (transferSocket == -1) perror("accept"); + if (transferSocket == -1) { + perror("accept"); + throw std::runtime_error("accept error"); + } fcntl(transferSocket, F_SETFL, O_NONBLOCK); } @@ -62,13 +70,18 @@ class WOGSocketManager close(serverSocket); } - - int n = recv(wogSocket, buffer, sizeof(buffer), 0); - if (n > 0) { - buffer[n] = '\0'; - std::cout << "The string is: " << buffer << std::endl; - if (send(wogSocket, "Hello, world!\n", 14, 0) == -1) perror("send"); - m_tree->releaseGalaxy(theDemo->m_galaxyStore.galaxies[0]); + bool getRequest() + { + char buffer[BUFFERSIZE]; + int n = recv(transferSocket, buffer, sizeof(buffer), 0); + if (n > 0) { + buffer[n] = '\0'; + std::cout << "The string is: " << buffer << std::endl; + std::string message = "1"; + if (send(transferSocket, message.c_str(), message.size(), 0) == -1) perror("send"); + return true; + } + return false; } private: diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 6192bde..27fc69d 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1479,7 +1479,7 @@ class BonsaiDemo ParamListGL *m_params; // current GalaxyStore const& m_galaxyStore; - WOGSocketManager const& m_wogSocketManager; + WOGSocketManager m_wogSocketManager; // saved cameras struct Camera { @@ -1809,12 +1809,9 @@ void special(int key, int x, int y) void idle(void) { std::cout << "OpenGl idle was called." << std::endl; - int n = recv(wogSocket, buffer, sizeof(buffer), 0); - if (n > 0) { - buffer[n] = '\0'; - std::cout << "The string is: " << buffer << std::endl; - if (send(wogSocket, "Hello, world!\n", 14, 0) == -1) perror("send"); - m_tree->releaseGalaxy(theDemo->m_galaxyStore.galaxies[0]); + if (theDemo->m_wogSocketManager.getRequest()) + { + theDemo->m_tree->releaseGalaxy(theDemo->m_galaxyStore.galaxies[0]); } glutPostRedisplay(); } diff --git a/test/glut/CMakeLists.txt b/test/glut/CMakeLists.txt new file mode 100644 index 0000000..1ec1c8a --- /dev/null +++ b/test/glut/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.0) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") + +FIND_PACKAGE(OpenGL REQUIRED) +FIND_PACKAGE(GLEW REQUIRED) +FIND_PACKAGE(GLUT REQUIRED) + +include_directories(${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS} ${GLUT_INCLUDE_DIRS}) +add_executable(cube cube.cpp) +target_link_libraries(cube ${GLEW_LIBRARIES} ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) diff --git a/test/glut/cube.cpp b/test/glut/cube.cpp new file mode 100644 index 0000000..45a7828 --- /dev/null +++ b/test/glut/cube.cpp @@ -0,0 +1,51 @@ +/* + * cube.cpp + * + * Created on: May 12, 2016 + * Author: Bernd Doser + */ + +#include +#include +#include + +void init(void) +{ + glClearColor (0.0, 0.0, 0.0, 0.0); + glShadeModel (GL_FLAT); +} + +void display(void) +{ + glClear (GL_COLOR_BUFFER_BIT); + glColor3f (1.0, 1.0, 1.0); + glLoadIdentity (); /* clear the matrix */ + /* viewing transformation */ + gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); + glScalef (1.0, 2.0, 1.0); /* modeling transformation */ + glutWireCube (1.0); + glFlush (); +} + +void reshape (int w, int h) +{ + glViewport (0, 0, (GLsizei) w, (GLsizei) h); + glMatrixMode (GL_PROJECTION); + glLoadIdentity (); + glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0); + glMatrixMode (GL_MODELVIEW); +} + +int main(int argc, char** argv) +{ + glutInit(&argc, argv); + glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); + glutInitWindowSize (500, 500); + glutInitWindowPosition (100, 100); + glutCreateWindow (argv[0]); + init (); + glutDisplayFunc(display); + glutReshapeFunc(reshape); + glutMainLoop(); + return 0; +} diff --git a/test/sockets/client.py b/test/sockets/client.py index 6f2abef..60a4ad2 100644 --- a/test/sockets/client.py +++ b/test/sockets/client.py @@ -1,7 +1,8 @@ import socket import sys -HOST, PORT = "localhost", 50007 +HOST = 'localhost' +PORT = 50007 BUFFERSIZE = 1024 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) diff --git a/test/sockets/server.cpp b/test/sockets/server.cpp index cf9d346..37007ef 100644 --- a/test/sockets/server.cpp +++ b/test/sockets/server.cpp @@ -30,7 +30,6 @@ int main() { char buffer[BUFFERSIZE]; int sockfd = socket(AF_INET, SOCK_STREAM, 0); - if (sockfd == -1) { perror("socket"); exit(1); From ae3bb09d208771a4db399519fbdd202e1cb74873 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 13 May 2016 14:13:27 +0200 Subject: [PATCH 28/78] set correct position and velocity for release galaxies --- eclipse/Bonsai host debug test.launch | 4 +- .../Bonsai host debug war-of-galaxies.launch | 2 +- runtime/include/Galaxy.h | 12 +++- runtime/src/Galaxy.cpp | 57 ++++++++++++++++++- runtime/src/GalaxyStore.cpp | 13 +++++ test/glut/cube.cpp | 6 +- 6 files changed, 86 insertions(+), 8 deletions(-) diff --git a/eclipse/Bonsai host debug test.launch b/eclipse/Bonsai host debug test.launch index 05db250..a8bb2af 100644 --- a/eclipse/Bonsai host debug test.launch +++ b/eclipse/Bonsai host debug test.launch @@ -16,11 +16,11 @@ - + - + diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch index 8d0dfd1..deb0e6a 100644 --- a/eclipse/Bonsai host debug war-of-galaxies.launch +++ b/eclipse/Bonsai host debug war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/runtime/include/Galaxy.h b/runtime/include/Galaxy.h index f10d7b8..b3ff175 100644 --- a/runtime/include/Galaxy.h +++ b/runtime/include/Galaxy.h @@ -14,8 +14,17 @@ /// One defined galaxy struct Galaxy { + /// Center of mass + real4 getCenterOfMass() const; - real4 getTotalVelocity(); + /// Total Velocity + real4 getTotalVelocity() const; + + /// Move center of mass to origin (0,0,0) + void centering(); + + /// Remove total velocity + void steady(); std::vector pos; std::vector vel; @@ -24,7 +33,6 @@ struct Galaxy std::vector pos_dust; std::vector vel_dust; std::vector ids_dust; - }; #endif /* GALAXY_H_ */ diff --git a/runtime/src/Galaxy.cpp b/runtime/src/Galaxy.cpp index 2f26501..e65a713 100644 --- a/runtime/src/Galaxy.cpp +++ b/runtime/src/Galaxy.cpp @@ -7,12 +7,65 @@ #include -real4 Galaxy::getTotalVelocity() +real4 Galaxy::getCenterOfMass() const { + real mass; real4 result; - for (size_t i(0); i != vel.size(); ++i) + result.x = 0.0; + result.y = 0.0; + result.z = 0.0; + result.w = 0.0; + for (size_t i(0); i != pos.size(); ++i) { + mass = pos[i].w; + result.x += mass * pos[i].x; + result.y += mass * pos[i].y; + result.z += mass * pos[i].z; + result.w += mass; + } + result.x /= result.w; + result.y /= result.w; + result.z /= result.w; + return result; +} +real4 Galaxy::getTotalVelocity() const +{ + real4 result; + result.x = 0.0; + result.y = 0.0; + result.z = 0.0; + result.w = 0.0; + for (size_t i(0); i != vel.size(); ++i) + { + result.x += vel[i].x; + result.y += vel[i].y; + result.z += vel[i].z; } + result.x /= vel.size(); + result.y /= vel.size(); + result.z /= vel.size(); return result; } + +void Galaxy::centering() +{ + real4 center_of_mass = getCenterOfMass(); + for (size_t i(0); i != pos.size(); ++i) + { + pos[i].x -= center_of_mass.x; + pos[i].y -= center_of_mass.y; + pos[i].z -= center_of_mass.z; + } +} + +void Galaxy::steady() +{ + real4 total_velocity = getTotalVelocity(); + for (size_t i(0); i != vel.size(); ++i) + { + vel[i].x -= total_velocity.x; + vel[i].y -= total_velocity.y; + vel[i].z -= total_velocity.z; + } +} diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index 616ec77..e14db25 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -31,6 +31,19 @@ void GalaxyStore::init(std::string const& path, octree *tree) 0.0, (path + "/" + filename).c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 50, 1, false); + real4 cm = galaxy.getCenterOfMass(); + std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; + real4 tv = galaxy.getTotalVelocity(); + std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; + + galaxy.centering(); + galaxy.steady(); + + cm = galaxy.getCenterOfMass(); + std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; + tv = galaxy.getTotalVelocity(); + std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; + galaxies.push_back(galaxy); } closedir(dirp); diff --git a/test/glut/cube.cpp b/test/glut/cube.cpp index 45a7828..c0138a8 100644 --- a/test/glut/cube.cpp +++ b/test/glut/cube.cpp @@ -8,6 +8,7 @@ #include #include #include +#include void init(void) { @@ -22,13 +23,16 @@ void display(void) glLoadIdentity (); /* clear the matrix */ /* viewing transformation */ gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); - glScalef (1.0, 2.0, 1.0); /* modeling transformation */ + glScalef (1.0, 1.0, 1.0); /* modeling transformation */ glutWireCube (1.0); + glTranslated(1.0, 1.0, 0.0); + glutSolidSphere(0.01, 100, 100); glFlush (); } void reshape (int w, int h) { + std::cout << w << ", " << h << std::endl; glViewport (0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode (GL_PROJECTION); glLoadIdentity (); From 3175c3b235442f1c972fd2811b2d753f1c43d214 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 13 May 2016 16:41:06 +0200 Subject: [PATCH 29/78] move tipsy tests --- eclipse/Bonsai host debug war-of-galaxies.launch | 2 +- eclipse/Bonsai release war-of-galaxies.launch | 2 +- {tipsy => test/tipsy}/.gitignore | 0 {tipsy => test/tipsy}/CMakeLists.txt | 0 {tipsy => test/tipsy}/cmake/FindEigen3.cmake | 0 {tipsy => test/tipsy}/create_tipsy.cpp | 2 +- {tipsy => test/tipsy}/read_tipsy.cpp | 0 {tipsy => test/tipsy}/split_tipsy.cpp | 0 {tipsy => test/tipsy}/tipsy.h | 0 9 files changed, 3 insertions(+), 3 deletions(-) rename {tipsy => test/tipsy}/.gitignore (100%) rename {tipsy => test/tipsy}/CMakeLists.txt (100%) rename {tipsy => test/tipsy}/cmake/FindEigen3.cmake (100%) rename {tipsy => test/tipsy}/create_tipsy.cpp (88%) rename {tipsy => test/tipsy}/read_tipsy.cpp (100%) rename {tipsy => test/tipsy}/split_tipsy.cpp (100%) rename {tipsy => test/tipsy}/tipsy.h (100%) diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch index deb0e6a..db37666 100644 --- a/eclipse/Bonsai host debug war-of-galaxies.launch +++ b/eclipse/Bonsai host debug war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 86bd226..0a3d680 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/tipsy/.gitignore b/test/tipsy/.gitignore similarity index 100% rename from tipsy/.gitignore rename to test/tipsy/.gitignore diff --git a/tipsy/CMakeLists.txt b/test/tipsy/CMakeLists.txt similarity index 100% rename from tipsy/CMakeLists.txt rename to test/tipsy/CMakeLists.txt diff --git a/tipsy/cmake/FindEigen3.cmake b/test/tipsy/cmake/FindEigen3.cmake similarity index 100% rename from tipsy/cmake/FindEigen3.cmake rename to test/tipsy/cmake/FindEigen3.cmake diff --git a/tipsy/create_tipsy.cpp b/test/tipsy/create_tipsy.cpp similarity index 88% rename from tipsy/create_tipsy.cpp rename to test/tipsy/create_tipsy.cpp index 2b4c3e5..7f379a3 100644 --- a/tipsy/create_tipsy.cpp +++ b/test/tipsy/create_tipsy.cpp @@ -3,7 +3,7 @@ int main() { - head h(0.0, 1, DIM, 0, 0, 1); + head h(0.0, 1, DIM, 0, 0, 1); std::ofstream os("test.tipsy", std::ios::binary); os.write((char*) &h, sizeof(h)); diff --git a/tipsy/read_tipsy.cpp b/test/tipsy/read_tipsy.cpp similarity index 100% rename from tipsy/read_tipsy.cpp rename to test/tipsy/read_tipsy.cpp diff --git a/tipsy/split_tipsy.cpp b/test/tipsy/split_tipsy.cpp similarity index 100% rename from tipsy/split_tipsy.cpp rename to test/tipsy/split_tipsy.cpp diff --git a/tipsy/tipsy.h b/test/tipsy/tipsy.h similarity index 100% rename from tipsy/tipsy.h rename to test/tipsy/tipsy.h From 57a89baaf1d93fbd2962b6c8a8efdd95d002be5c Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 17 May 2016 15:00:12 +0200 Subject: [PATCH 30/78] read and use socket data, correct release of galaxies, switch on C++11 --- runtime/CMakeLists.txt | 5 +- runtime/include/Galaxy.h | 6 +++ runtime/include/GalaxyStore.h | 4 ++ runtime/include/WOGSocketManager.h | 59 +++----------------- runtime/src/Galaxy.cpp | 20 +++++++ runtime/src/GalaxyStore.cpp | 30 +++++++---- runtime/src/WOGSocketManager.cpp | 87 ++++++++++++++++++++++++++++++ runtime/src/gpu_iterate.cpp | 4 +- runtime/src/renderloop.cpp | 11 +--- 9 files changed, 152 insertions(+), 74 deletions(-) create mode 100644 runtime/src/WOGSocketManager.cpp diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 0edc108..ff5a564 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -1,7 +1,7 @@ - - CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +add_definitions("-std=gnu++11") + option(CUDA_VERBOSE_PTXAS "On to enable verbose output from the PTXAS assembler." OFF @@ -101,6 +101,7 @@ set (CCFILES src/Galaxy.cpp src/GalaxyStore.cpp src/FileIO.cpp + src/WOGSocketManager.cpp ) set (HFILES diff --git a/runtime/include/Galaxy.h b/runtime/include/Galaxy.h index b3ff175..5d460b6 100644 --- a/runtime/include/Galaxy.h +++ b/runtime/include/Galaxy.h @@ -26,6 +26,12 @@ struct Galaxy /// Remove total velocity void steady(); + /// Move center of the galaxy + void add_position(real x, real y, real z); + + /// Accelerate the galaxy + void add_velocity(real x, real y, real z); + std::vector pos; std::vector vel; std::vector ids; diff --git a/runtime/include/GalaxyStore.h b/runtime/include/GalaxyStore.h index bf4cc42..76645a4 100644 --- a/runtime/include/GalaxyStore.h +++ b/runtime/include/GalaxyStore.h @@ -17,6 +17,10 @@ class GalaxyStore void init(std::string const& path, octree *tree); + Galaxy getGalaxy(int user_id, int galaxy_id, double angle, double velocity) const; + + private: + std::vector galaxies; }; diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index 25bea80..bdb84c4 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -8,6 +8,8 @@ #ifndef WOGSOCKETMANAGER_H_ #define WOGSOCKETMANAGER_H_ +#include "octree.h" +#include "GalaxyStore.h" #include #include #include @@ -29,60 +31,15 @@ struct sockaddr_in; class WOGSocketManager { public: - WOGSocketManager(int port) - { - serverSocket = socket(AF_INET, SOCK_STREAM, 0); - if (serverSocket == -1) { - perror("socket"); - throw std::runtime_error("socket error"); - } - sockaddr_in serverAddr; - serverAddr.sin_family = AF_INET; - serverAddr.sin_port = htons(port); - serverAddr.sin_addr.s_addr = INADDR_ANY; + // Constructor opening sockets and reading input galaxies + WOGSocketManager(int port); - if (bind(serverSocket, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr)) == -1) { - perror("bind"); - throw std::runtime_error("bind error"); - } + // Constructor closing the sockets + ~WOGSocketManager(); - // wait for a client - if (listen(serverSocket, 5) == -1) { - perror("listen"); - throw std::runtime_error("listen error"); - } - - sockaddr_in clientAddr; - socklen_t sin_size = sizeof(struct sockaddr_in); - transferSocket = accept(serverSocket, (struct sockaddr*)&clientAddr, &sin_size); - if (transferSocket == -1) { - perror("accept"); - throw std::runtime_error("accept error"); - } - - fcntl(transferSocket, F_SETFL, O_NONBLOCK); - } - - ~WOGSocketManager() - { - close(transferSocket); - close(serverSocket); - } - - bool getRequest() - { - char buffer[BUFFERSIZE]; - int n = recv(transferSocket, buffer, sizeof(buffer), 0); - if (n > 0) { - buffer[n] = '\0'; - std::cout << "The string is: " << buffer << std::endl; - std::string message = "1"; - if (send(transferSocket, message.c_str(), message.size(), 0) == -1) perror("send"); - return true; - } - return false; - } + // Release Galaxy if requested by socket + void release(octree *tree, GalaxyStore const& galaxyStore); private: diff --git a/runtime/src/Galaxy.cpp b/runtime/src/Galaxy.cpp index e65a713..37fd342 100644 --- a/runtime/src/Galaxy.cpp +++ b/runtime/src/Galaxy.cpp @@ -69,3 +69,23 @@ void Galaxy::steady() vel[i].z -= total_velocity.z; } } + +void Galaxy::add_position(real x, real y, real z) +{ + for (size_t i(0); i != pos.size(); ++i) + { + pos[i].x += x; + pos[i].y += y; + pos[i].z += z; + } +} + +void Galaxy::add_velocity(real x, real y, real z) +{ + for (size_t i(0); i != vel.size(); ++i) + { + vel[i].x += x; + vel[i].y += y; + vel[i].z += z; + } +} diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index e14db25..005e563 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -8,18 +8,20 @@ #include "FileIO.h" #include "GalaxyStore.h" #include -#include +#include void GalaxyStore::init(std::string const& path, octree *tree) { - DIR *dirp = opendir(path.c_str()); - if (!dirp) throw ::std::runtime_error("Can't open GalaxyStore directory " + path); - dirent *dp; - while ((dp = readdir(dirp))) + std::vector filenames; + filenames.push_back("galaxy_type_1.tipsy"); + filenames.push_back("galaxy_type_2.tipsy"); + filenames.push_back("galaxy_type_3.tipsy"); + filenames.push_back("galaxy_type_4.tipsy"); + + for (std::vector::const_iterator iterFileCur(filenames.begin()), iterFileEnd(filenames.end()); + iterFileCur != iterFileEnd; ++iterFileCur) { - std::string filename(dp->d_name); - if (filename.substr(filename.find_last_of(".")) != ".tipsy") continue; - std::cout << "Read file " << filename << " into GalaxyStore." << std::endl; + std::cout << "Read file " << *iterFileCur << " into GalaxyStore." << std::endl; Galaxy galaxy; int Total2 = 0; @@ -28,7 +30,7 @@ void GalaxyStore::init(std::string const& path, octree *tree) int NThird = 0; read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, - 0.0, (path + "/" + filename).c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, + 0.0, (path + "/" + *iterFileCur).c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 50, 1, false); real4 cm = galaxy.getCenterOfMass(); @@ -46,5 +48,13 @@ void GalaxyStore::init(std::string const& path, octree *tree) galaxies.push_back(galaxy); } - closedir(dirp); +} + +Galaxy GalaxyStore::getGalaxy(int user_id, int galaxy_id, double angle, double velocity) const +{ + Galaxy galaxy(galaxies[galaxy_id]); + + + + return galaxy; } diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp new file mode 100644 index 0000000..4d89a57 --- /dev/null +++ b/runtime/src/WOGSocketManager.cpp @@ -0,0 +1,87 @@ +/* + * WOGSocketManager.cpp + * + * Created on: May 17, 2016 + * Author: Bernd Doser + */ + +#include "WOGSocketManager.h" + +auto split(std::string const& s, char separator) -> std::vector +{ + std::vector result; + std::string::size_type p = 0; + std::string::size_type q; + while ((q = s.find(separator, p)) != std::string::npos) { + result.emplace_back(s, p, q - p); + p = q + 1; + } + result.emplace_back(s, p); + return result; +} + +WOGSocketManager::WOGSocketManager(int port) +{ + serverSocket = socket(AF_INET, SOCK_STREAM, 0); + if (serverSocket == -1) { + perror("socket"); + throw std::runtime_error("socket error"); + } + + sockaddr_in serverAddr; + serverAddr.sin_family = AF_INET; + serverAddr.sin_port = htons(port); + serverAddr.sin_addr.s_addr = INADDR_ANY; + + if (bind(serverSocket, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr)) == -1) { + perror("bind"); + throw std::runtime_error("bind error"); + } + + // wait for a client + if (listen(serverSocket, 5) == -1) { + perror("listen"); + throw std::runtime_error("listen error"); + } + + sockaddr_in clientAddr; + socklen_t sin_size = sizeof(struct sockaddr_in); + transferSocket = accept(serverSocket, (struct sockaddr*)&clientAddr, &sin_size); + if (transferSocket == -1) { + perror("accept"); + throw std::runtime_error("accept error"); + } + + fcntl(transferSocket, F_SETFL, O_NONBLOCK); +} + +WOGSocketManager::~WOGSocketManager() +{ + close(transferSocket); + close(serverSocket); +} + +void WOGSocketManager::release(octree *tree, GalaxyStore const& galaxyStore) +{ + std::string buffer; + buffer.resize(BUFFERSIZE); + int n = recv(transferSocket, &buffer[0], BUFFERSIZE, 0); + if (n <= 0) return; + std::cout << "The string is: " << buffer << std::endl; + + auto values = split(buffer, '|'); + int user_id = std::stoi(values[0]); + int galaxy_id = std::stoi(values[1]); + double angle = std::stod(values[2]); + double velocity = std::stod(values[3]); + + std::cout << "user_id: " << user_id << std::endl; + std::cout << "galaxy_id: " << galaxy_id << std::endl; + std::cout << "angle: " << angle << std::endl; + std::cout << "velocity: " << velocity << std::endl; + + tree->releaseGalaxy(galaxyStore.getGalaxy(user_id, galaxy_id, angle, velocity)); + + std::string message = "1"; + if (send(transferSocket, message.c_str(), message.size(), 0) == -1) perror("send"); +} diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 76d1e3d..060bc2e 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -460,7 +460,9 @@ void octree::releaseGalaxy(Galaxy const& galaxy) // Resize preserves original data this->reallocateParticleMemory(this->localTree); - setupMergerModel(currentGalaxy_pos, currentGalaxy_vel, currentGalaxy_ids, newGalaxy_pos, newGalaxy_vel, newGalaxy_ids); + currentGalaxy_pos.insert(currentGalaxy_pos.end(), newGalaxy_pos.begin(), newGalaxy_pos.end()); + currentGalaxy_vel.insert(currentGalaxy_vel.end(), newGalaxy_vel.begin(), newGalaxy_vel.end()); + currentGalaxy_ids.insert(currentGalaxy_ids.end(), newGalaxy_ids.begin(), newGalaxy_ids.end()); #ifdef USE_DUST this->localTree.setNDust(n_addGalaxy_dust + this->localTree.n_dust); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 27fc69d..44159e0 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1009,11 +1009,6 @@ class BonsaiDemo break; case 'W': break; - case 'a': - case 'A': - // release additional galaxy - m_tree->releaseGalaxy(m_galaxyStore.galaxies[0]); - break; default: break; } @@ -1808,11 +1803,7 @@ void special(int key, int x, int y) void idle(void) { - std::cout << "OpenGl idle was called." << std::endl; - if (theDemo->m_wogSocketManager.getRequest()) - { - theDemo->m_tree->releaseGalaxy(theDemo->m_galaxyStore.galaxies[0]); - } + theDemo->m_wogSocketManager.release(theDemo->m_tree, theDemo->m_galaxyStore); glutPostRedisplay(); } From db027fc41ae3705b7534a677698b0e15c7b91fef Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 17 May 2016 16:54:58 +0200 Subject: [PATCH 31/78] add velocity to released galaxies --- runtime/src/GalaxyStore.cpp | 17 +++++++++++++++++ runtime/src/renderloop.cpp | 6 ++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index 005e563..2a743ce 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -10,6 +10,8 @@ #include #include +const double pi = std::acos(-1); + void GalaxyStore::init(std::string const& path, octree *tree) { std::vector filenames; @@ -54,7 +56,22 @@ Galaxy GalaxyStore::getGalaxy(int user_id, int galaxy_id, double angle, double v { Galaxy galaxy(galaxies[galaxy_id]); + double sinus = sin(angle * pi / 180); + double cosinus = cos(angle * pi / 180); + if (user_id == 1) { + galaxy.add_position( 100, 100, 0); + galaxy.add_velocity(velocity * -sinus, velocity * -cosinus, 0); + } else if (user_id == 2) { + galaxy.add_position( 100, -100, 0); + galaxy.add_velocity(velocity * -cosinus, velocity * sinus, 0); + } else if (user_id == 3) { + galaxy.add_position(-100, -100, 0); + galaxy.add_velocity(velocity * sinus, velocity * cosinus, 0); + } else if (user_id == 4) { + galaxy.add_position(-100, 100, 0); + galaxy.add_velocity(velocity * cosinus, velocity * -sinus, 0); + } return galaxy; } diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 44159e0..d501168 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -674,7 +674,7 @@ class BonsaiDemo glRotatef(m_cameraRotLag.x, 1.0, 0.0, 0.0); glRotatef(m_cameraRotLag.y, 0.0, 1.0, 0.0); glRotatef(m_cameraRoll, 0.0, 0.0, 1.0); - glRotatef(90.0f, 1.0f, 0.0f, 0.0f); // rotate galaxies into XZ plane + //glRotatef(90.0f, 1.0f, 0.0f, 0.0f); // rotate galaxies into XZ plane } glGetFloatv(GL_MODELVIEW_MATRIX, m_modelView); @@ -1104,7 +1104,9 @@ class BonsaiDemo float distanceToCenter = radius / sinf(0.5f * fovRads); - m_cameraTrans = center + make_float3(0, 0, -distanceToCenter*0.2f); + //m_cameraTrans = center + make_float3(0, 0, -distanceToCenter*0.2f); + m_cameraTrans = make_float3(0, 0, -500); + printf("camera trans %f %f %f \n",m_cameraTrans.x, m_cameraTrans.y, m_cameraTrans.z); #if 0 /* JB This came with stereo, seems to break rotation */ From 0e6e9bd1b8f1259bbc2f2eec3b99e8b39572d680 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Wed, 18 May 2016 21:09:38 +0200 Subject: [PATCH 32/78] bugfix galaxy_id --- runtime/src/GalaxyStore.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index 2a743ce..4f3d984 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -54,7 +54,7 @@ void GalaxyStore::init(std::string const& path, octree *tree) Galaxy GalaxyStore::getGalaxy(int user_id, int galaxy_id, double angle, double velocity) const { - Galaxy galaxy(galaxies[galaxy_id]); + Galaxy galaxy(galaxies[galaxy_id - 1]); double sinus = sin(angle * pi / 180); double cosinus = cos(angle * pi / 180); From a680b911ca4a3ee76d641d8516bba6a0e3cdb308 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 19 May 2016 16:58:58 +0200 Subject: [PATCH 33/78] Use json format for data exchange --- runtime/include/Galaxy.h | 7 +- runtime/include/jsoncons/json.hpp | 3530 +++++++++++++++++ .../include/jsoncons/json_deserializer.hpp | 267 ++ .../include/jsoncons/json_error_category.hpp | 111 + runtime/include/jsoncons/json_filter.hpp | 324 ++ .../include/jsoncons/json_input_handler.hpp | 282 ++ .../include/jsoncons/json_output_handler.hpp | 262 ++ runtime/include/jsoncons/json_parser.hpp | 1583 ++++++++ runtime/include/jsoncons/json_parser.hpp.orig | 2157 ++++++++++ runtime/include/jsoncons/json_reader.hpp | 176 + runtime/include/jsoncons/json_serializer.hpp | 318 ++ runtime/include/jsoncons/json_structures.hpp | 895 +++++ runtime/include/jsoncons/json_type_traits.hpp | 594 +++ runtime/include/jsoncons/jsoncons.hpp | 347 ++ runtime/include/jsoncons/jsoncons_config.hpp | 123 + runtime/include/jsoncons/jsoncons_io.hpp | 358 ++ runtime/include/jsoncons/output_format.hpp | 265 ++ runtime/include/jsoncons/ovectorstream.hpp | 227 ++ .../include/jsoncons/parse_error_handler.hpp | 172 + runtime/include/octree.h | 3 + runtime/src/Galaxy.cpp | 131 +- runtime/src/GalaxyStore.cpp | 18 +- runtime/src/WOGSocketManager.cpp | 53 +- runtime/src/gpu_iterate.cpp | 116 + test/json/release.json | 5 + test/json/remove.json | 4 + test/json/test.py | 9 + test/json/test2.py | 13 + test/sockets/client_json.py | 42 + 29 files changed, 12305 insertions(+), 87 deletions(-) create mode 100644 runtime/include/jsoncons/json.hpp create mode 100644 runtime/include/jsoncons/json_deserializer.hpp create mode 100644 runtime/include/jsoncons/json_error_category.hpp create mode 100644 runtime/include/jsoncons/json_filter.hpp create mode 100644 runtime/include/jsoncons/json_input_handler.hpp create mode 100644 runtime/include/jsoncons/json_output_handler.hpp create mode 100644 runtime/include/jsoncons/json_parser.hpp create mode 100644 runtime/include/jsoncons/json_parser.hpp.orig create mode 100644 runtime/include/jsoncons/json_reader.hpp create mode 100644 runtime/include/jsoncons/json_serializer.hpp create mode 100644 runtime/include/jsoncons/json_structures.hpp create mode 100644 runtime/include/jsoncons/json_type_traits.hpp create mode 100644 runtime/include/jsoncons/jsoncons.hpp create mode 100644 runtime/include/jsoncons/jsoncons_config.hpp create mode 100644 runtime/include/jsoncons/jsoncons_io.hpp create mode 100644 runtime/include/jsoncons/output_format.hpp create mode 100644 runtime/include/jsoncons/ovectorstream.hpp create mode 100644 runtime/include/jsoncons/parse_error_handler.hpp create mode 100644 test/json/release.json create mode 100644 test/json/remove.json create mode 100644 test/json/test.py create mode 100644 test/json/test2.py create mode 100644 test/sockets/client_json.py diff --git a/runtime/include/Galaxy.h b/runtime/include/Galaxy.h index 5d460b6..2f9569f 100644 --- a/runtime/include/Galaxy.h +++ b/runtime/include/Galaxy.h @@ -26,11 +26,14 @@ struct Galaxy /// Remove total velocity void steady(); + /// Set id of all particles to given id + void set_id(int id); + /// Move center of the galaxy - void add_position(real x, real y, real z); + void translate(real x, real y, real z); /// Accelerate the galaxy - void add_velocity(real x, real y, real z); + void accelerate(real x, real y, real z); std::vector pos; std::vector vel; diff --git a/runtime/include/jsoncons/json.hpp b/runtime/include/jsoncons/json.hpp new file mode 100644 index 0000000..0bef8b9 --- /dev/null +++ b/runtime/include/jsoncons/json.hpp @@ -0,0 +1,3530 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_HPP +#define JSONCONS_JSON_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "json_structures.hpp" +#include "jsoncons/jsoncons.hpp" +#include "jsoncons/json_output_handler.hpp" +#include "jsoncons/output_format.hpp" +#include "jsoncons/json_serializer.hpp" +#include "jsoncons/json_deserializer.hpp" +#include "jsoncons/json_reader.hpp" +#include "jsoncons/json_type_traits.hpp" + +#if defined(__GNUC__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wswitch" +#endif + +namespace jsoncons { + +template +T* create_impl(const Alloc& allocator, Args&& ... args) +{ + typename std::allocator_traits:: template rebind_alloc alloc(allocator); + T* storage = alloc.allocate(1); + try + { + std::allocator_traits:: template rebind_traits::construct(alloc, storage, std::forward(args)...); + } + catch (...) + { + alloc.deallocate(storage,1); + throw; + } + return storage; +} + +template +void destroy_impl(const Alloc& allocator, T* p) +{ + typename std::allocator_traits:: template rebind_alloc alloc(allocator); + std::allocator_traits:: template rebind_traits::destroy(alloc, p); + alloc.deallocate(p,1); +} + +template +class serializable_any +{ +public: + typedef Alloc allocator_type; + + serializable_any(const Alloc& allocator = Alloc()) + : impl_(nullptr) + { + (void)allocator; + } + serializable_any(const serializable_any& val) + : allocator_(std::allocator_traits::select_on_container_copy_construction(val.get_allocator())) + { + impl_ = val.impl_ != nullptr ? val.impl_->clone(allocator_) : nullptr; + } + serializable_any(const serializable_any& val, const Alloc& allocator) + { + (void)allocator; + impl_ = val.impl_ != nullptr ? val.impl_->clone(Alloc()) : nullptr; + } + + serializable_any(serializable_any&& val) + : impl_(std::move(val.impl_)) + { + val.impl_ = nullptr; + } + serializable_any(serializable_any&& val, const Alloc& allocator) + : impl_(std::move(val.impl_)) + { + (void)allocator; + val.impl_ = nullptr; + } + ~serializable_any() + { + if (impl_ != nullptr) + { + destroy_impl(allocator_,impl_); + } + } + + template + explicit serializable_any(T val) + { + impl_ = create_impl::value_type>>(allocator_,val); + } + + Alloc get_allocator() const + { + return allocator_; + } + + template + typename type_wrapper::reference cast() + { + if (typeid(*impl_) != typeid(any_handle_impl::value_type>)) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad serializable_any cast"); + } + return static_cast::value_type>&>(*impl_).value_; + } + + template + typename type_wrapper::const_reference cast() const + { + if (typeid(*impl_) != typeid(any_handle_impl::value_type>)) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad serializable_any cast"); + } + return static_cast::value_type>&>(*impl_).value_; + } + + serializable_any& operator=(serializable_any rhs) + { + std::swap(impl_,rhs.impl_); + return *this; + } + + void to_stream(basic_json_output_handler& os) const + { + impl_->to_stream(os); + } + + class any_handle + { + public: + virtual ~any_handle() + { + } + + virtual any_handle* clone(const Alloc& allocator) const = 0; + + virtual void to_stream(basic_json_output_handler& os) const = 0; + }; + + template + class any_handle_impl : public any_handle + { + public: + any_handle_impl(T value, const Alloc& allocator = Alloc()) + : value_(value) + { + (void)allocator; + } + + virtual any_handle* clone(const Alloc& allocator) const + { + return create_impl>(allocator, value_); + } + + virtual void to_stream(basic_json_output_handler& os) const + { + serialize(os,value_); + } + + T value_; + }; + + Alloc allocator_; + any_handle* impl_; +}; + +template inline +void serialize(basic_json_output_handler& os, const T&) +{ + os.value(null_type()); +} + +template +class basic_parse_error_handler; + +enum class value_types : uint8_t +{ + // Simple types + empty_object_t, + small_string_t, + double_t, + integer_t, + uinteger_t, + bool_t, + null_t, + // Non simple types + string_t, + object_t, + array_t, + any_t +}; + +inline +bool is_simple(value_types type) +{ + return type < value_types::string_t; +} + +template > +class basic_json +{ +public: + + typedef Alloc allocator_type; + + typedef CharT char_type; + typedef typename std::char_traits char_traits_type; + + typedef typename std::allocator_traits:: template rebind_alloc string_allocator; + typedef std::basic_string string_type; + typedef basic_json value_type; + typedef name_value_pair member_type; + + typedef typename std::allocator_traits:: template rebind_alloc> array_allocator; + + typedef typename std::allocator_traits:: template rebind_alloc object_allocator; + + typedef json_array,array_allocator> array; + typedef json_object,object_allocator> object; + typedef serializable_any any; + + typedef jsoncons::null_type null_type; + + typedef typename object::iterator object_iterator; + typedef typename object::const_iterator const_object_iterator; + typedef typename array::iterator array_iterator; + typedef typename array::const_iterator const_array_iterator; + + template + class range + { + IteratorT first_; + IteratorT last_; + public: + range(const IteratorT& first, const IteratorT& last) + : first_(first), last_(last) + { + } + + public: + friend class basic_json; + + IteratorT begin() + { + return first_; + } + IteratorT end() + { + return last_; + } + }; + + typedef range object_range; + typedef range const_object_range; + typedef range array_range; + typedef range const_array_range; + + struct variant + { + struct string_data : public string_allocator + { + const char_type* c_str() const { return p_; } + const char_type* data() const { return p_; } + size_t length() const { return length_; } + string_allocator get_allocator() const + { + return *this; + } + + bool operator==(const string_data& rhs) const + { + return length() == rhs.length() ? std::char_traits::compare(data(), rhs.data(), length()) == 0 : false; + } + + string_data(const string_allocator& allocator) + : string_allocator(allocator), p_(nullptr), length_(0) + { + } + + char_type* p_; + size_t length_; + private: + string_data(const string_data&); + string_data& operator=(const string_data&); + }; + + struct string_dataA + { + string_data data; + char_type c[1]; + }; + typedef typename std::aligned_storage::type storage_type; + + static size_t aligned_size(size_t n) + { + return sizeof(storage_type) + n; + } + + string_data* create_string_data(const char_type* s, size_t length, const string_allocator& allocator) + { + size_t mem_size = aligned_size(length*sizeof(char_type)); + + typename std::allocator_traits:: template rebind_alloc alloc(allocator); + + char* storage = alloc.allocate(mem_size); + string_data* ps = new(storage)string_data(allocator); + auto psa = reinterpret_cast(storage); + + ps->p_ = new(&psa->c)char_type[length + 1]; + memcpy(ps->p_, s, length*sizeof(char_type)); + ps->p_[length] = 0; + ps->length_ = length; + return ps; + } + + void destroy_string_data(const string_allocator& allocator, string_data* p) + { + size_t mem_size = aligned_size(p->length_*sizeof(char_type)); + typename std::allocator_traits:: template rebind_alloc alloc(allocator); + alloc.deallocate(reinterpret_cast(p),mem_size); + } + + static const size_t small_string_capacity = (sizeof(int64_t)/sizeof(char_type)) - 1; + + variant() + : type_(value_types::empty_object_t) + { + } + + variant(const Alloc& a) + : type_(value_types::object_t) + { + value_.object_val_ = create_impl(a, object_allocator(a)); + } + + variant(std::initializer_list init, + const Alloc& a) + : type_(value_types::array_t) + { + value_.array_val_ = create_impl(a, std::move(init), array_allocator(a)); + } + + explicit variant(variant&& var) + : type_(value_types::null_t) + { + swap(var); + } + + explicit variant(variant&& var, const Alloc& a) + : type_(value_types::null_t) + { + swap(var); + } + + explicit variant(const variant& var) + { + init_variant(var); + } + explicit variant(const variant& var, const Alloc& a) + : type_(var.type_) + { + init_variant(var); + } + + variant(const object & val) + : type_(value_types::object_t) + { + value_.object_val_ = create_impl(val.get_allocator(), val) ; + } + + variant(const object & val, const Alloc& a) + : type_(value_types::object_t) + { + value_.object_val_ = create_impl(a, val, object_allocator(a)) ; + } + + variant(object&& val) + : type_(value_types::object_t) + { + value_.object_val_ = create_impl(val.get_allocator(), std::move(val)); + } + + variant(object&& val, const Alloc& a) + : type_(value_types::object_t) + { + value_.object_val_ = create_impl(a, std::move(val), object_allocator(a)); + } + + variant(const array& val) + : type_(value_types::array_t) + { + value_.array_val_ = create_impl(val.get_allocator(), val); + } + + variant(const array& val, const Alloc& a) + : type_(value_types::array_t) + { + value_.array_val_ = create_impl(a, val, array_allocator(a)); + } + + variant(array&& val) + : type_(value_types::array_t) + { + value_.array_val_ = create_impl(val.get_allocator(), std::move(val)); + } + + variant(array&& val, const Alloc& a) + : type_(value_types::array_t) + { + value_.array_val_ = create_impl(a, std::move(val), array_allocator(a)); + } + + explicit variant(const any& val, const Alloc& a) + : type_(value_types::any_t) + { + value_.any_val_ = create_impl(a, val); + } + + explicit variant(null_type) + : type_(value_types::null_t) + { + } + + explicit variant(bool val) + : type_(value_types::bool_t) + { + value_.bool_val_ = val; + } + + explicit variant(double val, uint8_t precision) + : type_(value_types::double_t), length_or_precision_(precision) + { + value_.double_val_ = val; + } + + explicit variant(int64_t val) + : type_(value_types::integer_t) + { + value_.integer_val_ = val; + } + + explicit variant(uint64_t val) + : type_(value_types::uinteger_t) + { + value_.uinteger_val_ = val; + } + + explicit variant(const string_type& s, const Alloc& a) + { + if (s.length() > variant::small_string_capacity) + { + type_ = value_types::string_t; + //value_.string_val_ = create_impl(a, s, string_allocator(a)); + value_.string_val_ = create_string_data(s.data(), s.length(), string_allocator(a)); + } + else + { + type_ = value_types::small_string_t; + length_or_precision_ = static_cast(s.length()); + std::memcpy(value_.small_string_val_,s.data(),s.length()*sizeof(char_type)); + value_.small_string_val_[length_or_precision_] = 0; + } + } + + explicit variant(const char_type* s, const Alloc& a) + { + size_t length = std::char_traits::length(s); + if (length > variant::small_string_capacity) + { + type_ = value_types::string_t; + //value_.string_val_ = create_impl(a, s, string_allocator(a)); + value_.string_val_ = create_string_data(s, length, string_allocator(a)); + } + else + { + type_ = value_types::small_string_t; + length_or_precision_ = static_cast(length); + std::memcpy(value_.small_string_val_,s,length*sizeof(char_type)); + value_.small_string_val_[length_or_precision_] = 0; + } + } + + explicit variant(const char_type* s, size_t length, const Alloc& a) + { + if (length > variant::small_string_capacity) + { + type_ = value_types::string_t; + //value_.string_val_ = create_impl(a, s, length, string_allocator(a)); + value_.string_val_ = create_string_data(s, length, string_allocator(a)); + } + else + { + type_ = value_types::small_string_t; + length_or_precision_ = static_cast(length); + std::memcpy(value_.small_string_val_,s,length*sizeof(char_type)); + value_.small_string_val_[length_or_precision_] = 0; + } + } + + template + variant(InputIterator first, InputIterator last, const Alloc& a) + : type_(value_types::array_t) + { + value_.array_val_ = create_impl(a, first, last, array_allocator(a)); + } + + void init_variant(const variant& var) + { + type_ = var.type_; + switch (type_) + { + case value_types::null_t: + case value_types::empty_object_t: + break; + case value_types::double_t: + length_or_precision_ = 0; + value_.double_val_ = var.value_.double_val_; + break; + case value_types::integer_t: + value_.integer_val_ = var.value_.integer_val_; + break; + case value_types::uinteger_t: + value_.uinteger_val_ = var.value_.uinteger_val_; + break; + case value_types::bool_t: + value_.bool_val_ = var.value_.bool_val_; + break; + case value_types::small_string_t: + length_or_precision_ = var.length_or_precision_; + std::memcpy(value_.small_string_val_,var.value_.small_string_val_,var.length_or_precision_*sizeof(char_type)); + value_.small_string_val_[length_or_precision_] = 0; + break; + case value_types::string_t: + //value_.string_val_ = create_impl(var.value_.string_val_->get_allocator(), *(var.value_.string_val_), string_allocator(var.value_.string_val_->get_allocator())); + value_.string_val_ = create_string_data(var.value_.string_val_->data(), var.value_.string_val_->length(), string_allocator(var.value_.string_val_->get_allocator())); + break; + case value_types::array_t: + value_.array_val_ = create_impl(var.value_.array_val_->get_allocator(), *(var.value_.array_val_), array_allocator(var.value_.array_val_->get_allocator())); + break; + case value_types::object_t: + value_.object_val_ = create_impl(var.value_.object_val_->get_allocator(), *(var.value_.object_val_), object_allocator(var.value_.object_val_->get_allocator())); + break; + case value_types::any_t: + value_.any_val_ = create_impl(var.value_.any_val_->get_allocator(), *(var.value_.any_val_)); + break; + default: + break; + } + } + + ~variant() + { + destroy_variant(); + } + + void destroy_variant() + { + switch (type_) + { + case value_types::string_t: + //destroy_impl(value_.string_val_->get_allocator(), value_.string_val_); + destroy_string_data(value_.string_val_->get_allocator(), value_.string_val_); + break; + case value_types::array_t: + destroy_impl(value_.array_val_->get_allocator(), value_.array_val_); + break; + case value_types::object_t: + destroy_impl(value_.object_val_->get_allocator(), value_.object_val_); + break; + case value_types::any_t: + destroy_impl(value_.any_val_->get_allocator(), value_.any_val_); + break; + default: + break; + } + } + + variant& operator=(const variant& val) + { + if (this != &val) + { + if (is_simple(type_)) + { + if (is_simple(val.type_)) + { + type_ = val.type_; + length_or_precision_ = val.length_or_precision_; + value_ = val.value_; + } + else + { + init_variant(val); + } + } + else + { + destroy_variant(); + init_variant(val); + } + } + return *this; + } + + variant& operator=(variant&& val) + { + if (this != &val) + { + val.swap(*this); + } + return *this; + } + + void assign(const object & val) + { + destroy_variant(); + type_ = value_types::object_t; + value_.object_val_ = create_impl(val.get_allocator(), val, object_allocator(val.get_allocator())); + } + + void assign(object && val) + { + switch (type_) + { + case value_types::object_t: + value_.object_val_->swap(val); + break; + default: + destroy_variant(); + type_ = value_types::object_t; + value_.object_val_ = create_impl(val.get_allocator(), std::move(val), object_allocator(val.get_allocator())); + break; + } + } + + void assign(const array& val) + { + destroy_variant(); + type_ = value_types::array_t; + value_.array_val_ = create_impl(val.get_allocator(), val, array_allocator(val.get_allocator())) ; + } + + void assign(array&& val) + { + switch (type_) + { + case value_types::array_t: + value_.array_val_->swap(val); + break; + default: + destroy_variant(); + type_ = value_types::array_t; + value_.array_val_ = create_impl(val.get_allocator(), std::move(val), array_allocator(val.get_allocator())); + break; + } + } + + void assign(const string_type& s) + { + destroy_variant(); + if (s.length() > variant::small_string_capacity) + { + type_ = value_types::string_t; + //value_.string_val_ = create_impl(s.get_allocator(), s, string_allocator(s.get_allocator())); + value_.string_val_ = create_string_data(s.data(), s.length(), string_allocator(s.get_allocator())); + } + else + { + type_ = value_types::small_string_t; + length_or_precision_ = static_cast(s.length()); + std::memcpy(value_.small_string_val_,s.data(),s.length()*sizeof(char_type)); + value_.small_string_val_[length_or_precision_] = 0; + } + } + + void assign_string(const char_type* s, size_t length, const Alloc& allocator = Alloc()) + { + destroy_variant(); + if (length > variant::small_string_capacity) + { + type_ = value_types::string_t; + //value_.string_val_ = create_impl(allocator, s, length, string_allocator(allocator)); + value_.string_val_ = create_string_data(s, length, string_allocator(allocator)); + } + else + { + type_ = value_types::small_string_t; + length_or_precision_ = static_cast(length); + std::memcpy(value_.small_string_val_,s,length*sizeof(char_type)); + value_.small_string_val_[length_or_precision_] = 0; + } + } + + void assign(int64_t val) + { + destroy_variant(); + type_ = value_types::integer_t; + value_.integer_val_ = val; + } + + void assign(uint64_t val) + { + destroy_variant(); + type_ = value_types::uinteger_t; + value_.uinteger_val_ = val; + } + + void assign(double val, uint8_t precision = 0) + { + destroy_variant(); + type_ = value_types::double_t; + length_or_precision_ = precision; + value_.double_val_ = val; + } + + void assign(bool val) + { + destroy_variant(); + type_ = value_types::bool_t; + value_.bool_val_ = val; + } + + void assign(null_type) + { + destroy_variant(); + type_ = value_types::null_t; + } + + void assign(const any& rhs) + { + destroy_variant(); + type_ = value_types::any_t; + value_.any_val_ = create_impl(rhs.get_allocator(), rhs); + } + + bool operator!=(const variant& rhs) const + { + return !(*this == rhs); + } + + bool operator==(const variant& rhs) const + { + if (is_number() & rhs.is_number()) + { + switch (type_) + { + case value_types::integer_t: + switch (rhs.type_) + { + case value_types::integer_t: + return value_.integer_val_ == rhs.value_.integer_val_; + case value_types::uinteger_t: + return value_.integer_val_ == rhs.value_.uinteger_val_; + case value_types::double_t: + return value_.integer_val_ == rhs.value_.double_val_; + default: + break; + } + break; + case value_types::uinteger_t: + switch (rhs.type_) + { + case value_types::integer_t: + return value_.uinteger_val_ == rhs.value_.integer_val_; + case value_types::uinteger_t: + return value_.uinteger_val_ == rhs.value_.uinteger_val_; + case value_types::double_t: + return value_.uinteger_val_ == rhs.value_.double_val_; + default: + break; + } + break; + case value_types::double_t: + switch (rhs.type_) + { + case value_types::integer_t: + return value_.double_val_ == rhs.value_.integer_val_; + case value_types::uinteger_t: + return value_.double_val_ == rhs.value_.uinteger_val_; + case value_types::double_t: + return value_.double_val_ == rhs.value_.double_val_; + default: + break; + } + break; + default: + break; + } + } + + if (rhs.type_ != type_) + { + return false; + } + switch (type_) + { + case value_types::bool_t: + return value_.bool_val_ == rhs.value_.bool_val_; + case value_types::null_t: + case value_types::empty_object_t: + return true; + case value_types::small_string_t: + return length_or_precision_ == rhs.length_or_precision_ ? std::char_traits::compare(value_.small_string_val_,rhs.value_.small_string_val_,length_or_precision_) == 0 : false; + case value_types::string_t: + return *(value_.string_val_) == *(rhs.value_.string_val_); + case value_types::array_t: + return *(value_.array_val_) == *(rhs.value_.array_val_); + break; + case value_types::object_t: + return *(value_.object_val_) == *(rhs.value_.object_val_); + break; + case value_types::any_t: + break; + default: + // throw + break; + } + return false; + } + + bool is_null() const JSONCONS_NOEXCEPT + { + return type_ == value_types::null_t; + } + + bool is_bool() const JSONCONS_NOEXCEPT + { + return type_ == value_types::bool_t; + } + + bool empty() const JSONCONS_NOEXCEPT + { + switch (type_) + { + case value_types::small_string_t: + return length_or_precision_ == 0; + case value_types::string_t: + return value_.string_val_->length() == 0; + case value_types::array_t: + return value_.array_val_->size() == 0; + case value_types::empty_object_t: + return true; + case value_types::object_t: + return value_.object_val_->size() == 0; + default: + return false; + } + } + + bool is_string() const JSONCONS_NOEXCEPT + { + return (type_ == value_types::string_t) | (type_ == value_types::small_string_t); + } + + bool is_number() const JSONCONS_NOEXCEPT + { + return type_ == value_types::double_t || type_ == value_types::integer_t || type_ == value_types::uinteger_t; + } + + void swap(variant& rhs) + { + using std::swap; + if (this == &rhs) + { + // same object, do nothing + } + else + { + swap(type_, rhs.type_); + swap(length_or_precision_, rhs.length_or_precision_); + swap(value_, rhs.value_); + } + } + + value_types type_; + uint8_t length_or_precision_; + union + { + double double_val_; + int64_t integer_val_; + uint64_t uinteger_val_; + bool bool_val_; + object* object_val_; + array* array_val_; + any* any_val_; + string_data* string_val_; + char_type small_string_val_[sizeof(int64_t)/sizeof(char_type)]; + } value_; + }; + + template + class json_proxy + { + private: + typedef json_proxy proxy_type; + + ParentT& parent_; + const string_type& name_; + + json_proxy() = delete; + json_proxy& operator = (const json_proxy& other) = delete; + + json_proxy(ParentT& parent, const string_type& name) + : parent_(parent), name_(name) + { + } + + basic_json& evaluate() + { + return parent_.evaluate(name_); + } + + const basic_json& evaluate() const + { + return parent_.evaluate(name_); + } + + basic_json& evaluate_with_default() + { + basic_json& val = parent_.evaluate_with_default(); + auto it = val.find(name_); + if (it == val.members().end()) + { + it = val.set(val.members().begin(),name_,object(val.object_value().get_allocator())); + } + return it->value(); + } + + basic_json& evaluate(size_t index) + { + return parent_.evaluate(name_).at(index); + } + + const basic_json& evaluate(size_t index) const + { + return parent_.evaluate(name_).at(index); + } + + basic_json& evaluate(const string_type& index) + { + return parent_.evaluate(name_).at(index); + } + + const basic_json& evaluate(const string_type& index) const + { + return parent_.evaluate(name_).at(index); + } + public: + + friend class basic_json; + + object_range members() + { + return evaluate().members(); + } + + const_object_range members() const + { + return evaluate().members(); + } + + array_range elements() + { + return evaluate().elements(); + } + + const_array_range elements() const + { + return evaluate().elements(); + } + + size_t size() const JSONCONS_NOEXCEPT + { + return evaluate().size(); + } + + value_types type() const + { + return evaluate().type(); + } + + size_t count(const string_type& name) const + { + return evaluate().count(name); + } + + bool is_null() const JSONCONS_NOEXCEPT + { + return evaluate().is_null(); + } + + bool empty() const + { + return evaluate().empty(); + } + + size_t capacity() const + { + return evaluate().capacity(); + } + + void reserve(size_t n) + { + evaluate().reserve(n); + } + + void resize(size_t n) + { + evaluate().resize(n); + } + + template + void resize(size_t n, T val) + { + evaluate().resize(n,val); + } + + template + bool is() const + { + return evaluate().template is(); + } + + bool is_string() const JSONCONS_NOEXCEPT + { + return evaluate().is_string(); + } + + bool is_number() const JSONCONS_NOEXCEPT + { + return evaluate().is_number(); + } + bool is_bool() const JSONCONS_NOEXCEPT + { + return evaluate().is_bool(); + } + + bool is_object() const JSONCONS_NOEXCEPT + { + return evaluate().is_object(); + } + + bool is_array() const JSONCONS_NOEXCEPT + { + return evaluate().is_array(); + } + + bool is_any() const JSONCONS_NOEXCEPT + { + return evaluate().is_any(); + } + + bool is_integer() const JSONCONS_NOEXCEPT + { + return evaluate().is_integer(); + } + + bool is_uinteger() const JSONCONS_NOEXCEPT + { + return evaluate().is_uinteger(); + } + + bool is_double() const JSONCONS_NOEXCEPT + { + return evaluate().is_double(); + } + + string_type as_string() const JSONCONS_NOEXCEPT + { + return evaluate().as_string(); + } + + string_type as_string(const string_allocator& allocator) const JSONCONS_NOEXCEPT + { + return evaluate().as_string(allocator); + } + + string_type as_string(const basic_output_format& format) const + { + return evaluate().as_string(format); + } + + string_type as_string(const basic_output_format& format, + const string_allocator& allocator) const + { + return evaluate().as_string(format,allocator); + } + + template + T as() const + { + return evaluate().template as(); + } + + template + typename std::enable_if::value>::type as(const string_allocator& allocator) const + { + return evaluate().template as(allocator); + } + + any& any_value() + { + return evaluate().any_value(); + } + + const any& any_value() const + { + return evaluate().any_value(); + } + + bool as_bool() const JSONCONS_NOEXCEPT + { + return evaluate().as_bool(); + } + + template + std::vector as_vector() const + { + return evaluate().template as_vector(); + } + + double as_double() const + { + return evaluate().as_double(); + } + + int64_t as_integer() const + { + return evaluate().as_integer(); + } + + unsigned long long as_ulonglong() const + { + return evaluate().as_ulonglong(); + } + + uint64_t as_uinteger() const + { + return evaluate().as_uinteger(); + } + + template + const T& any_cast() const + { + return evaluate().template any_cast(); + } + // Returns a const reference to the custom data associated with name + + template + T& any_cast() + { + return evaluate().template any_cast(); + } + // Returns a reference to the custom data associated with name + + operator basic_json&() + { + return evaluate(); + } + + operator const basic_json&() const + { + return evaluate(); + } + + template + json_proxy& operator=(T val) + { + parent_.evaluate_with_default().set(name_, val); + return *this; + } + + json_proxy& operator=(const basic_json& val) + { + parent_.evaluate_with_default().set(name_, val); + return *this; + } + + json_proxy& operator=(basic_json&& val) + { + parent_.evaluate_with_default().set(name_, std::move(val)); + return *this; + } + + bool operator==(const basic_json& val) const + { + return evaluate() == val; + } + + bool operator!=(const basic_json& val) const + { + return evaluate() != val; + } + + basic_json& operator[](size_t i) + { + return evaluate_with_default().at(i); + } + + const basic_json& operator[](size_t i) const + { + return evaluate().at(i); + } + + json_proxy operator[](const string_type& name) + { + return json_proxy(*this,name); + } + + const json_proxy operator[](const string_type& name) const + { + return json_proxy(*this,name); + } + + basic_json& at(const string_type& name) + { + return evaluate().at(name); + } + + const basic_json& at(const string_type& name) const + { + return evaluate().at(name); + } + + const basic_json& at(size_t index) + { + return evaluate().at(index); + } + + const basic_json& at(size_t index) const + { + return evaluate().at(index); + } + + object_iterator find(const string_type& name) + { + return evaluate().find(name); + } + + const_object_iterator find(const string_type& name) const + { + return evaluate().find(name); + } + + object_iterator find(const char_type* name) + { + return evaluate().find(name); + } + + const_object_iterator find(const char_type* name) const + { + return evaluate().find(name); + } + + template + basic_json get(const string_type& name, T&& default_val) const + { + return evaluate().get(name,std::forward(default_val)); + } + + void shrink_to_fit() + { + evaluate_with_default().shrink_to_fit(); + } + + void clear() + { + evaluate().clear(); + } + // Remove all elements from an array or object + + void erase(object_iterator first, object_iterator last) + { + evaluate().erase(first, last); + } + // Remove a range of elements from an object + + void erase(array_iterator first, array_iterator last) + { + evaluate().erase(first, last); + } + + void erase(const string_type& name) + { + evaluate().erase(name); + } + + // Remove a member from an object + + void set(const string_type& name, const basic_json& value) + { + evaluate().set(name,value); + } + + void set(string_type&& name, const basic_json& value) + + { + evaluate().set(std::move(name),value); + } + + void set(const string_type& name, basic_json&& value) + + { + evaluate().set(name,std::move(value)); + } + + void set(string_type&& name, basic_json&& value) + + { + evaluate().set(std::move(name),std::move(value)); + } + + object_iterator set(object_iterator hint, const string_type& name, const basic_json& value) + { + return evaluate().set(hint, name,value); + } + + object_iterator set(object_iterator hint, string_type&& name, const basic_json& value) + + { + return evaluate().set(hint, std::move(name),value); + } + + object_iterator set(object_iterator hint, const string_type& name, basic_json&& value) + + { + return evaluate().set(hint, name,std::move(value)); + } + + object_iterator set(object_iterator hint, string_type&& name, basic_json&& value) + + { + return evaluate().set(hint, std::move(name),std::move(value)); + } + + void add(basic_json&& value) + { + evaluate_with_default().add(std::move(value)); + } + + void add(const basic_json& value) + { + evaluate_with_default().add(value); + } + + array_iterator add(const_array_iterator pos, const basic_json& value) + { + return evaluate_with_default().add(pos, value); + } + + array_iterator add(const_array_iterator pos, basic_json&& value) + { + return evaluate_with_default().add(pos, std::move(value)); + } + + string_type to_string(const string_allocator& allocator = string_allocator()) const JSONCONS_NOEXCEPT + { + return evaluate().to_string(allocator); + } + + string_type to_string(const basic_output_format& format, string_allocator& allocator = string_allocator()) const + { + return evaluate().to_string(format,allocator); + } + + void to_stream(std::basic_ostream& os) const + { + evaluate().to_stream(os); + } + + void to_stream(std::basic_ostream& os, const basic_output_format& format) const + { + evaluate().to_stream(os,format); + } + + void to_stream(std::basic_ostream& os, const basic_output_format& format, bool indenting) const + { + evaluate().to_stream(os,format,indenting); + } + + void swap(basic_json& val) + { + evaluate_with_default().swap(val); + } + + friend std::basic_ostream& operator<<(std::basic_ostream& os, const json_proxy& o) + { + o.to_stream(os); + return os; + } + +#if !defined(JSONCONS_NO_DEPRECATED) + + void resize_array(size_t n) + { + evaluate().resize_array(n); + } + + template + void resize_array(size_t n, T val) + { + evaluate().resize_array(n,val); + } + + object_iterator begin_members() + { + return evaluate().begin_members(); + } + + const_object_iterator begin_members() const + { + return evaluate().begin_members(); + } + + object_iterator end_members() + { + return evaluate().end_members(); + } + + const_object_iterator end_members() const + { + return evaluate().end_members(); + } + + array_iterator begin_elements() + { + return evaluate().begin_elements(); + } + + const_array_iterator begin_elements() const + { + return evaluate().begin_elements(); + } + + array_iterator end_elements() + { + return evaluate().end_elements(); + } + + const_array_iterator end_elements() const + { + return evaluate().end_elements(); + } + + const basic_json& get(const string_type& name) const + { + return evaluate().get(name); + } + + bool is_ulonglong() const JSONCONS_NOEXCEPT + { + return evaluate().is_ulonglong(); + } + + bool is_longlong() const JSONCONS_NOEXCEPT + { + return evaluate().is_longlong(); + } + + int as_int() const + { + return evaluate().as_int(); + } + + unsigned int as_uint() const + { + return evaluate().as_uint(); + } + + long as_long() const + { + return evaluate().as_long(); + } + + unsigned long as_ulong() const + { + return evaluate().as_ulong(); + } + + long long as_longlong() const + { + return evaluate().as_longlong(); + } + + void add(size_t index, const basic_json& value) + { + evaluate_with_default().add(index, value); + } + + void add(size_t index, basic_json&& value) + { + evaluate_with_default().add(index, std::move(value)); + } + + bool has_member(const string_type& name) const + { + return evaluate().has_member(name); + } + + // Remove a range of elements from an array + void remove_range(size_t from_index, size_t to_index) + { + evaluate().remove_range(from_index, to_index); + } + // Remove a range of elements from an array + void remove(const string_type& name) + { + evaluate().remove(name); + } + void remove_member(const string_type& name) + { + evaluate().remove(name); + } + bool is_empty() const JSONCONS_NOEXCEPT + { + return empty(); + } + bool is_numeric() const JSONCONS_NOEXCEPT + { + return is_number(); + } +#endif + }; + + static basic_json parse_stream(std::basic_istream& is); + static basic_json parse_stream(std::basic_istream& is, basic_parse_error_handler& err_handler); + + static basic_json parse(const string_type& s) + { + basic_json_deserializer> handler; + basic_json_parser parser(handler); + parser.begin_parse(); + parser.parse(s.data(),0,s.length()); + parser.end_parse(); + parser.check_done(s.data(),parser.index(),s.length()); + if (!handler.is_valid()) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json string"); + } + return handler.get_result(); + } + + static basic_json parse(const string_type& s, basic_parse_error_handler& err_handler) + { + basic_json_deserializer> handler; + basic_json_parser parser(handler,err_handler); + parser.begin_parse(); + parser.parse(s.data(),0,s.length()); + parser.end_parse(); + parser.check_done(s.data(),parser.index(),s.length()); + if (!handler.is_valid()) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json string"); + } + return handler.get_result(); + } + + static basic_json parse_file(const std::string& s); + + static basic_json parse_file(const std::string& s, basic_parse_error_handler& err_handler); + + static basic_json make_array() + { + return basic_json::array(); + } + + static basic_json make_array(size_t n, const array_allocator& allocator = array_allocator()) + { + return basic_json::array(n,allocator); + } + + template + static basic_json make_array(size_t n, const T& val, const array_allocator& allocator = array_allocator()) + { + return basic_json::array(n, val,allocator); + } + + template + static typename std::enable_if::type make_array(size_t n) + { + return array(n); + } + + template + static typename std::enable_if::type make_array(size_t n, const T& val, const Alloc& allocator = Alloc()) + { + return array(n,val,allocator); + } + + template + static typename std::enable_if<(dim>1),basic_json>::type make_array(size_t n, Args... args) + { + const size_t dim1 = dim - 1; + + basic_json val = make_array(args...); + val.resize(n); + for (size_t i = 0; i < n; ++i) + { + val[i] = make_array(args...); + } + return val; + } + + variant var_; + + basic_json() + : var_() + { + } + + basic_json(const Alloc& allocator) + : var_(allocator) + { + } + + basic_json(std::initializer_list init, + const Alloc& allocator = Alloc()) + : var_(std::move(init), allocator) + { + } + + basic_json(const basic_json& val) + : var_(val.var_) + { + } + + basic_json(const basic_json& val, const Alloc& allocator) + : var_(val.var_,allocator) + { + } + + basic_json(basic_json&& other) + : var_(std::move(other.var_)) + { + } + + basic_json(basic_json&& other, const Alloc& allocator) + : var_(std::move(other.var_),allocator) + { + } + + basic_json(const array& val) + : var_(val) + { + } + + basic_json(array&& other) + : var_(std::move(other)) + { + } + + basic_json(const object& other) + : var_(other) + { + } + + basic_json(object&& other) + : var_(std::move(other)) + { + } + + template + basic_json(const json_proxy& proxy, const Alloc& allocator = Alloc()) + : var_(proxy.evaluate().var_,allocator) + { + } + + template + basic_json(T val) + : var_(null_type()) + { + json_type_traits::assign(*this,val); + } + + basic_json(double val, uint8_t precision) + : var_(val,precision) + { + } + + template + basic_json(T val, const Alloc& allocator) + : var_(allocator) + { + json_type_traits::assign(*this,val); + } + + basic_json(const char_type *s, size_t length, const Alloc& allocator = Alloc()) + : var_(s, length, allocator) + { + } + template + basic_json(InputIterator first, InputIterator last, const Alloc& allocator = Alloc()) + : var_(first,last,allocator) + { + } + + ~basic_json() + { + } + + basic_json& operator=(const basic_json& rhs) + { + var_ = rhs.var_; + return *this; + } + + basic_json& operator=(basic_json&& rhs) + { + if (this != &rhs) + { + var_ = std::move(rhs.var_); + } + return *this; + } + + template + basic_json& operator=(T val) + { + json_type_traits::assign(*this,val); + return *this; + } + + bool operator!=(const basic_json& rhs) const; + + bool operator==(const basic_json& rhs) const; + + size_t size() const JSONCONS_NOEXCEPT + { + switch (var_.type_) + { + case value_types::empty_object_t: + return 0; + case value_types::object_t: + return var_.value_.object_val_->size(); + case value_types::array_t: + return var_.value_.array_val_->size(); + default: + return 0; + } + } + + basic_json& operator[](size_t i) + { + return at(i); + } + + const basic_json& operator[](size_t i) const + { + return at(i); + } + + json_proxy> operator[](const string_type& name) + { + switch (var_.type_) + { + case value_types::empty_object_t: + create_object_implicitly(); + case value_types::object_t: + return json_proxy>(*this, name); + break; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an object"); + break; + } + } + + const basic_json& operator[](const string_type& name) const + { + return at(name); + } + + string_type to_string(const string_allocator& allocator=string_allocator()) const JSONCONS_NOEXCEPT + { + string_type s(allocator); + std::basic_ostringstream os(s); + { + basic_json_serializer serializer(os); + to_stream(serializer); + } + return os.str(); + } + + string_type to_string(const basic_output_format& format, + const string_allocator& allocator=string_allocator()) const + { + string_type s(allocator); + std::basic_ostringstream os(s); + { + basic_json_serializer serializer(os, format); + to_stream(serializer); + } + return os.str(); + } + + void to_stream(basic_json_output_handler& handler) const + { + switch (var_.type_) + { + case value_types::small_string_t: + handler.value(var_.value_.small_string_val_,var_.length_or_precision_); + break; + case value_types::string_t: + handler.value(var_.value_.string_val_->data(),var_.value_.string_val_->length()); + break; + case value_types::double_t: + handler.value(var_.value_.double_val_, var_.length_or_precision_); + break; + case value_types::integer_t: + handler.value(var_.value_.integer_val_); + break; + case value_types::uinteger_t: + handler.value(var_.value_.uinteger_val_); + break; + case value_types::bool_t: + handler.value(var_.value_.bool_val_); + break; + case value_types::null_t: + handler.value(null_type()); + break; + case value_types::empty_object_t: + handler.begin_object(); + handler.end_object(); + break; + case value_types::object_t: + { + handler.begin_object(); + object* o = var_.value_.object_val_; + for (const_object_iterator it = o->begin(); it != o->end(); ++it) + { + handler.name((it->name()).data(),it->name().length()); + it->value().to_stream(handler); + } + handler.end_object(); + } + break; + case value_types::array_t: + { + handler.begin_array(); + array *o = var_.value_.array_val_; + for (const_array_iterator it = o->begin(); it != o->end(); ++it) + { + it->to_stream(handler); + } + handler.end_array(); + } + break; + case value_types::any_t: + var_.value_.any_val_->to_stream(handler); + break; + default: + break; + } + } + + void to_stream(std::basic_ostream& os) const + { + basic_json_serializer serializer(os); + to_stream(serializer); + } + + void to_stream(std::basic_ostream& os, const basic_output_format& format) const + { + basic_json_serializer serializer(os, format); + to_stream(serializer); + } + + void to_stream(std::basic_ostream& os, const basic_output_format& format, bool indenting) const + { + basic_json_serializer serializer(os, format, indenting); + to_stream(serializer); + } + + bool is_null() const JSONCONS_NOEXCEPT + { + return var_.is_null(); + } + + size_t count(const string_type& name) const + { + switch (var_.type_) + { + case value_types::object_t: + { + auto it = var_.value_.object_val_->find(name); + if (it == members().end()) + { + return 0; + } + size_t count = 0; + while (it != members().end() && it->name() == name) + { + ++count; + ++it; + } + return count; + } + break; + default: + return 0; + } + } + + template + bool is() const + { + return json_type_traits::is(*this); + } + + bool is_string() const JSONCONS_NOEXCEPT + { + return var_.is_string(); + } + + + bool is_bool() const JSONCONS_NOEXCEPT + { + return var_.is_bool(); + } + + bool is_object() const JSONCONS_NOEXCEPT + { + return var_.type_ == value_types::object_t || var_.type_ == value_types::empty_object_t; + } + + bool is_array() const JSONCONS_NOEXCEPT + { + return var_.type_ == value_types::array_t; + } + + bool is_any() const JSONCONS_NOEXCEPT + { + return var_.type_ == value_types::any_t; + } + + bool is_integer() const JSONCONS_NOEXCEPT + { + return var_.type_ == value_types::integer_t || (var_.type_ == value_types::uinteger_t && (as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()))); + } + + bool is_uinteger() const JSONCONS_NOEXCEPT + { + return var_.type_ == value_types::uinteger_t || (var_.type_ == value_types::integer_t && as_integer() >= 0); + } + + bool is_double() const JSONCONS_NOEXCEPT + { + return var_.type_ == value_types::double_t; + } + + bool is_number() const JSONCONS_NOEXCEPT + { + return var_.is_number(); + } + + bool empty() const JSONCONS_NOEXCEPT + { + return var_.empty(); + } + + size_t capacity() const + { + switch (var_.type_) + { + case value_types::array_t: + return var_.value_.array_val_->capacity(); + case value_types::object_t: + return var_.value_.object_val_->capacity(); + default: + return 0; + } + } + + template::value + >::type* = nullptr> + void create_object_implicitly() + { + var_.type_ = value_types::object_t; + var_.value_.object_val_ = create_impl(Alloc(),object_allocator(Alloc())); + } + + template::value + >::type* = nullptr> + void create_object_implicitly() const + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Cannot create_impl object implicitly - allocator is not default constructible."); + } + + void reserve(size_t n) + { + switch (var_.type_) + { + case value_types::array_t: + var_.value_.array_val_->reserve(n); + break; + case value_types::empty_object_t: + { + create_object_implicitly(); + var_.value_.object_val_->reserve(n); + } + break; + case value_types::object_t: + { + var_.value_.object_val_->reserve(n); + } + break; + default: + break; + } + } + + void resize(size_t n) + { + switch (var_.type_) + { + case value_types::array_t: + var_.value_.array_val_->resize(n); + break; + default: + break; + } + } + + template + void resize(size_t n, T val) + { + switch (var_.type_) + { + case value_types::array_t: + var_.value_.array_val_->resize(n, val); + break; + default: + break; + } + } + + template + T as() const + { + return json_type_traits::as(*this); + } + + template + typename std::enable_if::value>::type as(const string_allocator& allocator) const + { + return json_type_traits::as(*this,allocator); + } + + bool as_bool() const JSONCONS_NOEXCEPT + { + switch (var_.type_) + { + case value_types::null_t: + case value_types::empty_object_t: + return false; + case value_types::bool_t: + return var_.value_.bool_val_; + case value_types::double_t: + return var_.value_.double_val_ != 0.0; + case value_types::integer_t: + return var_.value_.integer_val_ != 0; + case value_types::uinteger_t: + return var_.value_.uinteger_val_ != 0; + case value_types::small_string_t: + return var_.length_or_precision_ != 0; + case value_types::string_t: + return var_.value_.string_val_->length() != 0; + case value_types::array_t: + return var_.value_.array_val_->size() != 0; + case value_types::object_t: + return var_.value_.object_val_->size() != 0; + case value_types::any_t: + return true; + default: + return false; + } + } + + int64_t as_integer() const + { + switch (var_.type_) + { + case value_types::double_t: + return static_cast(var_.value_.double_val_); + case value_types::integer_t: + return static_cast(var_.value_.integer_val_); + case value_types::uinteger_t: + return static_cast(var_.value_.uinteger_val_); + case value_types::bool_t: + return var_.value_.bool_val_ ? 1 : 0; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an integer"); + } + } + + uint64_t as_uinteger() const + { + switch (var_.type_) + { + case value_types::double_t: + return static_cast(var_.value_.double_val_); + case value_types::integer_t: + return static_cast(var_.value_.integer_val_); + case value_types::uinteger_t: + return static_cast(var_.value_.uinteger_val_); + case value_types::bool_t: + return var_.value_.bool_val_ ? 1 : 0; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an unsigned integer"); + } + } + + double as_double() const + { + switch (var_.type_) + { + case value_types::double_t: + return var_.value_.double_val_; + case value_types::integer_t: + return static_cast(var_.value_.integer_val_); + case value_types::uinteger_t: + return static_cast(var_.value_.uinteger_val_); + case value_types::null_t: + return std::numeric_limits::quiet_NaN(); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not a double"); + } + } + + string_type as_string() const JSONCONS_NOEXCEPT + { + switch (var_.type_) + { + case value_types::small_string_t: + return string_type(var_.value_.small_string_val_,var_.length_or_precision_); + case value_types::string_t: + return string_type(var_.value_.string_val_->data(),var_.value_.string_val_->length(),var_.value_.string_val_->get_allocator()); + default: + return to_string(); + } + } + + string_type as_string(const string_allocator& allocator) const JSONCONS_NOEXCEPT + { + switch (var_.type_) + { + case value_types::small_string_t: + return string_type(var_.value_.small_string_val_,var_.length_or_precision_,allocator); + case value_types::string_t: + return string_type(var_.value_.string_val_->data(),var_.value_.string_val_->length(),allocator); + default: + return to_string(allocator); + } + } + + string_type as_string(const basic_output_format& format) const + { + switch (var_.type_) + { + case value_types::small_string_t: + return string_type(var_.value_.small_string_val_,var_.length_or_precision_); + case value_types::string_t: + return string_type(var_.value_.string_val_->data(),var_.value_.string_val_->length(),var_.value_.string_val_->get_allocator()); + default: + return to_string(format); + } + } + + string_type as_string(const basic_output_format& format, + const string_allocator& allocator) const + { + switch (var_.type_) + { + case value_types::small_string_t: + return string_type(var_.value_.small_string_val_,var_.length_or_precision_,allocator); + case value_types::string_t: + return string_type(var_.value_.string_val_->data(),var_.value_.string_val_->length(),allocator); + default: + return to_string(format,allocator); + } + } + + const char_type* as_cstring() const + { + switch (var_.type_) + { + case value_types::small_string_t: + return var_.value_.small_string_val_; + case value_types::string_t: + return var_.value_.string_val_->c_str(); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not a cstring"); + } + } + + any& any_value(); + + const any& any_value() const; + + basic_json& at(const string_type& name) + { + switch (var_.type_) + { + case value_types::empty_object_t: + JSONCONS_THROW_EXCEPTION_1(std::out_of_range,"%s not found", name); + case value_types::object_t: + { + auto it = var_.value_.object_val_->find(name); + if (it == members().end()) + { + JSONCONS_THROW_EXCEPTION_1(std::out_of_range, "%s not found", name); + } + return it->value(); + } + break; + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); + } + } + } + + basic_json& evaluate() + { + return *this; + } + + basic_json& evaluate_with_default() + { + return *this; + } + + const basic_json& evaluate() const + { + return *this; + } + + basic_json& evaluate(size_t i) + { + return at(i); + } + + const basic_json& evaluate(size_t i) const + { + return at(i); + } + + basic_json& evaluate(const string_type& name) + { + return at(name); + } + + const basic_json& evaluate(const string_type& name) const + { + return at(name); + } + + const basic_json& at(const string_type& name) const + { + switch (var_.type_) + { + case value_types::empty_object_t: + JSONCONS_THROW_EXCEPTION_1(std::out_of_range,"%s not found", name); + case value_types::object_t: + { + auto it = var_.value_.object_val_->find(name); + if (it == members().end()) + { + JSONCONS_THROW_EXCEPTION_1(std::out_of_range, "%s not found", name); + } + return it->value(); + } + break; + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); + } + } + } + + basic_json& at(size_t i) + { + switch (var_.type_) + { + case value_types::array_t: + if (i >= var_.value_.array_val_->size()) + { + JSONCONS_THROW_EXCEPTION(std::out_of_range,"Invalid array subscript"); + } + return var_.value_.array_val_->operator[](i); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Index on non-array value not supported"); + } + } + + const basic_json& at(size_t i) const + { + switch (var_.type_) + { + case value_types::array_t: + if (i >= var_.value_.array_val_->size()) + { + JSONCONS_THROW_EXCEPTION(std::out_of_range,"Invalid array subscript"); + } + return var_.value_.array_val_->operator[](i); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Index on non-array value not supported"); + } + } + + object_iterator find(const string_type& name) + { + switch (var_.type_) + { + case value_types::empty_object_t: + return members().end(); + case value_types::object_t: + return var_.value_.object_val_->find(name); + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); + } + } + } + + const_object_iterator find(const string_type& name) const + { + switch (var_.type_) + { + case value_types::empty_object_t: + return members().end(); + case value_types::object_t: + return var_.value_.object_val_->find(name); + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); + } + } + } + + object_iterator find(const char_type* name) + { + switch (var_.type_) + { + case value_types::empty_object_t: + return members().end(); + case value_types::object_t: + return var_.value_.object_val_->find(name); + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); + } + } + } + + const_object_iterator find(const char_type* name) const + { + switch (var_.type_) + { + case value_types::empty_object_t: + return members().end(); + case value_types::object_t: + return var_.value_.object_val_->find(name); + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); + } + } + } + + template + basic_json get(const string_type& name, T&& default_val) const + { + switch (var_.type_) + { + case value_types::empty_object_t: + { + return basic_json(std::forward(default_val)); + } + case value_types::object_t: + { + const_object_iterator it = var_.value_.object_val_->find(name); + if (it != members().end()) + { + return it->value(); + } + else + { + return basic_json(std::forward(default_val)); + } + } + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); + } + } + } + + // Modifiers + + void shrink_to_fit() + { + switch (var_.type_) + { + case value_types::array_t: + var_.value_.array_val_->shrink_to_fit(); + break; + case value_types::object_t: + var_.value_.object_val_->shrink_to_fit(); + break; + default: + break; + } + } + + void clear() + { + switch (var_.type_) + { + case value_types::array_t: + var_.value_.array_val_->clear(); + break; + case value_types::object_t: + var_.value_.object_val_->clear(); + break; + default: + break; + } + } + + void erase(object_iterator first, object_iterator last) + { + switch (var_.type_) + { + case value_types::empty_object_t: + break; + case value_types::object_t: + var_.value_.object_val_->erase(first, last); + break; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an object"); + break; + } + } + + void erase(array_iterator first, array_iterator last) + { + switch (var_.type_) + { + case value_types::array_t: + var_.value_.array_val_->erase(first, last); + break; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an array"); + break; + } + } + + // Removes all elements from an array value whose index is between from_index, inclusive, and to_index, exclusive. + + void erase(const string_type& name) + { + switch (var_.type_) + { + case value_types::empty_object_t: + break; + case value_types::object_t: + var_.value_.object_val_->erase(name); + break; + default: + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object", name); + break; + } + } + + void set(const string_type& name, const basic_json& value) + { + switch (var_.type_) + { + case value_types::empty_object_t: + create_object_implicitly(); + case value_types::object_t: + var_.value_.object_val_->set(name, value); + break; + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object", name); + } + } + } + + void set(string_type&& name, const basic_json& value){ + switch (var_.type_){ + case value_types::empty_object_t: + create_object_implicitly(); + case value_types::object_t: + var_.value_.object_val_->set(std::move(name),value); + break; + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); + } + } + } + + void set(const string_type& name, basic_json&& value){ + switch (var_.type_){ + case value_types::empty_object_t: + create_object_implicitly(); + case value_types::object_t: + var_.value_.object_val_->set(name,std::move(value)); + break; + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); + } + } + } + + void set(string_type&& name, basic_json&& value) + { + switch (var_.type_) + { + case value_types::empty_object_t: + create_object_implicitly(); + case value_types::object_t: + var_.value_.object_val_->set(std::move(name),std::move(value)); + break; + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); + } + } + } + + object_iterator set(object_iterator hint, const string_type& name, const basic_json& value) + { + switch (var_.type_) + { + case value_types::empty_object_t: + create_object_implicitly(); + case value_types::object_t: + return var_.value_.object_val_->set(hint, name, value); + break; + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object", name); + } + } + } + + object_iterator set(object_iterator hint, string_type&& name, const basic_json& value){ + switch (var_.type_){ + case value_types::empty_object_t: + create_object_implicitly(); + case value_types::object_t: + return var_.value_.object_val_->set(hint, std::move(name),value); + break; + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); + } + } + } + + object_iterator set(object_iterator hint, const string_type& name, basic_json&& value){ + switch (var_.type_){ + case value_types::empty_object_t: + create_object_implicitly(); + case value_types::object_t: + return var_.value_.object_val_->set(hint, name,std::move(value)); + break; + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); + } + } + } + + object_iterator set(object_iterator hint, string_type&& name, basic_json&& value){ + switch (var_.type_){ + case value_types::empty_object_t: + create_object_implicitly(); + case value_types::object_t: + return var_.value_.object_val_->set(hint, std::move(name),std::move(value)); + break; + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); + } + } + } + + void add(const basic_json& value) + { + switch (var_.type_) + { + case value_types::array_t: + var_.value_.array_val_->push_back(value); + break; + default: + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); + } + } + } + + void add(basic_json&& value){ + switch (var_.type_){ + case value_types::array_t: + var_.value_.array_val_->push_back(std::move(value)); + break; + default: + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); + } + } + } + + array_iterator add(const_array_iterator pos, const basic_json& value) + { + switch (var_.type_) + { + case value_types::array_t: + return var_.value_.array_val_->add(pos, value); + break; + default: + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); + } + } + } + + array_iterator add(const_array_iterator pos, basic_json&& value){ + switch (var_.type_){ + case value_types::array_t: + return var_.value_.array_val_->add(pos, std::move(value)); + break; + default: + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); + } + } + } + + value_types type() const + { + return var_.type_; + } + + uint8_t length_or_precision() const + { + return var_.length_or_precision_; + } + + void swap(basic_json& b) + { + var_.swap(b.var_); + } + + template + std::vector as_vector() const + { + std::vector v(size()); + for (size_t i = 0; i < v.size(); ++i) + { + v[i] = json_type_traits::as(at(i)); + } + return v; + } + + friend void swap(basic_json& a, basic_json& b) + { + a.swap(b); + } + + void assign_any(const typename basic_json::any& rhs) + { + var_.assign(rhs); + } + + void assign_string(const string_type& rhs) + { + var_.assign(rhs); + } + + void assign_string(const char_type* rhs, size_t length) + { + var_.assign_string(rhs,length); + } + + void assign_bool(bool rhs) + { + var_.assign(rhs); + } + + void assign_object(const object & rhs) + { + var_.assign(rhs); + } + + void assign_array(const array& rhs) + { + var_.assign(rhs); + } + + void assign_null() + { + var_.assign(null_type()); + } + + template + const T& any_cast() const + { + if (var_.type_ != value_types::any_t) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad any cast"); + } + return var_.value_.any_val_->template cast(); + } + template + T& any_cast() + { + if (var_.type_ != value_types::any_t) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad any cast"); + } + return var_.value_.any_val_->template cast(); + } + + void assign_integer(int64_t rhs) + { + var_.assign(rhs); + } + + void assign_uinteger(uint64_t rhs) + { + var_.assign(rhs); + } + + void assign_double(double rhs, uint8_t precision = 0) + { + var_.assign(rhs,precision); + } + + static basic_json make_2d_array(size_t m, size_t n); + + template + static basic_json make_2d_array(size_t m, size_t n, T val); + + static basic_json make_3d_array(size_t m, size_t n, size_t k); + + template + static basic_json make_3d_array(size_t m, size_t n, size_t k, T val); + +#if !defined(JSONCONS_NO_DEPRECATED) + typedef any json_any_type; + + static basic_json parse(std::basic_istream& is) + { + return parse_stream(is); + } + static basic_json parse(std::basic_istream& is, basic_parse_error_handler& err_handler) + { + return parse_stream(is,err_handler); + } + + static basic_json parse_string(const string_type& s) + { + return parse(s); + } + + static basic_json parse_string(const string_type& s, basic_parse_error_handler& err_handler) + { + return parse(s,err_handler); + } + + void resize_array(size_t n) + { + resize(n); + } + + template + void resize_array(size_t n, T val) + { + resize(n,val); + } + + object_iterator begin_members() + { + return members().begin(); + } + + const_object_iterator begin_members() const + { + return members().begin(); + } + + object_iterator end_members() + { + return members().end(); + } + + const_object_iterator end_members() const + { + return members().end(); + } + + array_iterator begin_elements() + { + return elements().begin(); + } + + const_array_iterator begin_elements() const + { + return elements().begin(); + } + + array_iterator end_elements() + { + return elements().end(); + } + + const_array_iterator end_elements() const + { + return elements().end(); + } + + const basic_json& get(const string_type& name) const + { + static const basic_json a_null = null_type(); + + switch (var_.type_) + { + case value_types::empty_object_t: + return a_null; + case value_types::object_t: + { + const_object_iterator it = var_.value_.object_val_->find(name); + return it != members().end() ? it->value() : a_null; + } + default: + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); + } + } + } + + bool is_longlong() const JSONCONS_NOEXCEPT + { + return var_.type_ == value_types::integer_t; + } + + bool is_ulonglong() const JSONCONS_NOEXCEPT + { + return var_.type_ == value_types::uinteger_t; + } + + long long as_longlong() const + { + return as_integer(); + } + + unsigned long long as_ulonglong() const + { + return as_uinteger(); + } + + int as_int() const + { + switch (var_.type_) + { + case value_types::double_t: + return static_cast(var_.value_.double_val_); + case value_types::integer_t: + return static_cast(var_.value_.integer_val_); + case value_types::uinteger_t: + return static_cast(var_.value_.uinteger_val_); + case value_types::bool_t: + return var_.value_.bool_val_ ? 1 : 0; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an int"); + } + } + + unsigned int as_uint() const + { + switch (var_.type_) + { + case value_types::double_t: + return static_cast(var_.value_.double_val_); + case value_types::integer_t: + return static_cast(var_.value_.integer_val_); + case value_types::uinteger_t: + return static_cast(var_.value_.uinteger_val_); + case value_types::bool_t: + return var_.value_.bool_val_ ? 1 : 0; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an unsigned int"); + } + } + + long as_long() const + { + switch (var_.type_) + { + case value_types::double_t: + return static_cast(var_.value_.double_val_); + case value_types::integer_t: + return static_cast(var_.value_.integer_val_); + case value_types::uinteger_t: + return static_cast(var_.value_.uinteger_val_); + case value_types::bool_t: + return var_.value_.bool_val_ ? 1 : 0; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not a long"); + } + } + + unsigned long as_ulong() const + { + switch (var_.type_) + { + case value_types::double_t: + return static_cast(var_.value_.double_val_); + case value_types::integer_t: + return static_cast(var_.value_.integer_val_); + case value_types::uinteger_t: + return static_cast(var_.value_.uinteger_val_); + case value_types::bool_t: + return var_.value_.bool_val_ ? 1 : 0; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an unsigned long"); + } + } + + void add(size_t index, const basic_json& value) + { + switch (var_.type_) + { + case value_types::array_t: + var_.value_.array_val_->add(index, value); + break; + default: + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); + } + } + } + + void add(size_t index, basic_json&& value){ + switch (var_.type_){ + case value_types::array_t: + var_.value_.array_val_->add(index, std::move(value)); + break; + default: + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); + } + } + } + + bool has_member(const string_type& name) const + { + switch (var_.type_) + { + case value_types::object_t: + { + const_object_iterator it = var_.value_.object_val_->find(name); + return it != members().end(); + } + break; + default: + return false; + } + } + + void remove_range(size_t from_index, size_t to_index) + { + switch (var_.type_) + { + case value_types::array_t: + var_.value_.array_val_->remove_range(from_index, to_index); + break; + default: + break; + } + } + // Removes all elements from an array value whose index is between from_index, inclusive, and to_index, exclusive. + + void remove(const string_type& name) + { + erase(name); + } + void remove_member(const string_type& name) + { + erase(name); + } + // Removes a member from an object value + + bool is_empty() const JSONCONS_NOEXCEPT + { + return empty(); + } + bool is_numeric() const JSONCONS_NOEXCEPT + { + return is_number(); + } + + void assign_longlong(long long rhs) + { + var_.assign(rhs); + } + void assign_ulonglong(unsigned long long rhs) + { + var_.assign(rhs); + } + + template + static typename std::enable_if::type make_multi_array() + { + return make_array(); + } + template + static typename std::enable_if::type make_multi_array(size_t n) + { + return make_array(n); + } + template + static typename std::enable_if::type make_multi_array(size_t n, T val) + { + return make_array(n,val); + } + template + static typename std::enable_if::type make_multi_array(size_t m, size_t n) + { + return make_array<2>(m, n); + } + template + static typename std::enable_if::type make_multi_array(size_t m, size_t n, T val) + { + return make_array<2>(m, n, val); + } + template + static typename std::enable_if::type make_multi_array(size_t m, size_t n, size_t k) + { + return make_array<3>(m, n, k); + } + template + static typename std::enable_if::type make_multi_array(size_t m, size_t n, size_t k, T val) + { + return make_array<3>(m, n, k, val); + } +#endif + + object_range members() + { + switch (var_.type_) + { + case value_types::empty_object_t: + return object_range(object_iterator(true),object_iterator(true)); + case value_types::object_t: + return object_range(object_value().begin(),object_value().end()); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an object"); + } + } + + const_object_range members() const + { + switch (var_.type_) + { + case value_types::empty_object_t: + return const_object_range(const_object_iterator(true),const_object_iterator(true)); + case value_types::object_t: + return const_object_range(object_value().begin(),object_value().end()); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an object"); + } + } + + array_range elements() + { + switch (var_.type_) + { + case value_types::array_t: + return array_range(array_value().begin(),array_value().end()); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an array"); + } + } + + const_array_range elements() const + { + switch (var_.type_) + { + case value_types::array_t: + return const_array_range(array_value().begin(),array_value().end()); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an array"); + } + } + + array& array_value() + { + switch (var_.type_) + { + case value_types::array_t: + return *(var_.value_.array_val_); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad array cast"); + break; + } + } + + const array& array_value() const + { + switch (var_.type_) + { + case value_types::array_t: + return *(var_.value_.array_val_); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad array cast"); + break; + } + } + + object& object_value() + { + switch (var_.type_) + { + case value_types::empty_object_t: + create_object_implicitly(); + case value_types::object_t: + return *(var_.value_.object_val_); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad object cast"); + break; + } + } + + const object& object_value() const + { + switch (var_.type_) + { + case value_types::empty_object_t: + const_cast(this)->create_object_implicitly(); // HERE + case value_types::object_t: + return *(var_.value_.object_val_); + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad object cast"); + break; + } + } + +private: + + friend std::basic_ostream& operator<<(std::basic_ostream& os, const basic_json& o) + { + o.to_stream(os); + return os; + } + + friend std::basic_istream& operator<<(std::basic_istream& is, basic_json& o) + { + basic_json_deserializer> handler; + basic_json_reader reader(is, handler); + reader.read_next(); + reader.check_done(); + if (!handler.is_valid()) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json stream"); + } + o = handler.get_result(); + return is; + } +}; + +template +void swap(typename JsonT::member_type& a, typename JsonT::member_type& b) +{ + a.swap(b); +} + +template +bool basic_json::operator!=(const basic_json& rhs) const +{ + return !(*this == rhs); +} + +template +bool basic_json::operator==(const basic_json& rhs) const +{ + return var_ == rhs.var_; +} + +template +basic_json basic_json::make_2d_array(size_t m, size_t n) +{ + basic_json a = basic_json::array(); + a.resize(m); + for (size_t i = 0; i < a.size(); ++i) + { + a[i] = basic_json::make_array(n); + } + return a; +} + +template +template +basic_json basic_json::make_2d_array(size_t m, size_t n, T val) +{ + basic_json v; + v = val; + basic_json a = make_array(m); + for (size_t i = 0; i < a.size(); ++i) + { + a[i] = basic_json::make_array(n, v); + } + return a; +} + +template +basic_json basic_json::make_3d_array(size_t m, size_t n, size_t k) +{ + basic_json a = basic_json::array(); + a.resize(m); + for (size_t i = 0; i < a.size(); ++i) + { + a[i] = basic_json::make_2d_array(n, k); + } + return a; +} + +template +template +basic_json basic_json::make_3d_array(size_t m, size_t n, size_t k, T val) +{ + basic_json v; + v = val; + basic_json a = make_array(m); + for (size_t i = 0; i < a.size(); ++i) + { + a[i] = basic_json::make_2d_array(n, k, v); + } + return a; +} + +template +basic_json basic_json::parse_stream(std::basic_istream& is) +{ + basic_json_deserializer> handler; + basic_json_reader reader(is, handler); + reader.read_next(); + reader.check_done(); + if (!handler.is_valid()) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json stream"); + } + return handler.get_result(); +} + +template +basic_json basic_json::parse_stream(std::basic_istream& is, + basic_parse_error_handler& err_handler) +{ + basic_json_deserializer> handler; + basic_json_reader reader(is, handler, err_handler); + reader.read_next(); + reader.check_done(); + if (!handler.is_valid()) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json stream"); + } + return handler.get_result(); +} + +template +basic_json basic_json::parse_file(const std::string& filename) +{ + FILE* fp; + +#if defined(JSONCONS_HAS_FOPEN_S) + errno_t err = fopen_s(&fp, filename.c_str(), "rb"); + if (err != 0) + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Cannot open file %s", filename); + } +#else + fp = std::fopen(filename.c_str(), "rb"); + if (fp == nullptr) + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Cannot open file %s", filename); + } +#endif + basic_json_deserializer> handler; + try + { + // obtain file size: + std::fseek (fp , 0 , SEEK_END); + long size = std::ftell (fp); + std::rewind(fp); + + if (size > 0) + { + std::vector buffer(size); + + // copy the file into the buffer: + size_t result = std::fread (buffer.data(),1,size,fp); + if (result != static_cast(size)) + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Error reading file %s", filename); + } + + basic_json_parser parser(handler); + parser.begin_parse(); + parser.parse(buffer.data(),0,buffer.size()); + parser.end_parse(); + parser.check_done(buffer.data(),parser.index(),buffer.size()); + } + + std::fclose (fp); + } + catch (...) + { + std::fclose (fp); + throw; + } + if (!handler.is_valid()) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json file"); + } + return handler.get_result(); +} + +template +basic_json basic_json::parse_file(const std::string& filename, + basic_parse_error_handler& err_handler) +{ + FILE* fp; + +#if !defined(JSONCONS_HAS_FOPEN_S) + fp = std::fopen(filename.c_str(), "rb"); + if (fp == nullptr) + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Cannot open file %s", filename); + } +#else + errno_t err = fopen_s(&fp, filename.c_str(), "rb"); + if (err != 0) + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Cannot open file %s", filename); + } +#endif + + basic_json_deserializer> handler; + try + { + // obtain file size: + std::fseek (fp , 0 , SEEK_END); + long size = std::ftell (fp); + std::rewind(fp); + + if (size > 0) + { + std::vector buffer(size); + + // copy the file into the buffer: + size_t result = std::fread (buffer.data(),1,size,fp); + if (result != static_cast(size)) + { + JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Error reading file %s", filename); + } + + basic_json_parser parser(handler,err_handler); + parser.begin_parse(); + parser.parse(buffer.data(),0,buffer.size()); + parser.end_parse(); + parser.check_done(buffer.data(),parser.index(),buffer.size()); + } + + std::fclose (fp); + } + catch (...) + { + std::fclose (fp); + throw; + } + if (!handler.is_valid()) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json file"); + } + return handler.get_result(); +} + +template +typename basic_json::any& basic_json::any_value() +{ + switch (var_.type_) + { + case value_types::any_t: + { + return *var_.value_.any_val_; + } + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an any value"); + } +} + +template +const typename basic_json::any& basic_json::any_value() const +{ + switch (var_.type_) + { + case value_types::any_t: + { + return *var_.value_.any_val_; + } + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an any value"); + } +} + +template +std::basic_istream& operator>>(std::basic_istream& is, JsonT& o) +{ + basic_json_deserializer handler; + basic_json_reader reader(is, handler); + reader.read_next(); + reader.check_done(); + if (!handler.is_valid()) + { + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json stream"); + } + o = handler.get_result(); + return is; +} + +template +class json_printable +{ +public: + typedef typename JsonT::char_type char_type; + + json_printable(const JsonT& o, + bool is_pretty_print) + : o_(&o), is_pretty_print_(is_pretty_print) + { + } + + json_printable(const JsonT& o, + bool is_pretty_print, + const basic_output_format& format) + : o_(&o), is_pretty_print_(is_pretty_print), format_(format) + { + ; + } + + void to_stream(std::basic_ostream& os) const + { + o_->to_stream(os, format_, is_pretty_print_); + } + + friend std::basic_ostream& operator<<(std::basic_ostream& os, const json_printable& o) + { + o.to_stream(os); + return os; + } + + const JsonT *o_; + bool is_pretty_print_; + basic_output_format format_; +private: + json_printable(); +}; + +template +json_printable print(const JsonT& val) +{ + return json_printable(val,false); +} + +template +json_printable print(const JsonT& val, + const basic_output_format& format) +{ + return json_printable(val, false, format); +} + +template +json_printable pretty_print(const JsonT& val) +{ + return json_printable(val,true); +} + +template +json_printable pretty_print(const JsonT& val, + const basic_output_format& format) +{ + return json_printable(val, true, format); +} + +typedef basic_json> json; +typedef basic_json> wjson; + +typedef basic_json_deserializer json_deserializer; +typedef basic_json_deserializer wjson_deserializer; + +} + +#if defined(__GNUC__) +#pragma GCC diagnostic pop +#endif + +#endif diff --git a/runtime/include/jsoncons/json_deserializer.hpp b/runtime/include/jsoncons/json_deserializer.hpp new file mode 100644 index 0000000..31cd0db --- /dev/null +++ b/runtime/include/jsoncons/json_deserializer.hpp @@ -0,0 +1,267 @@ +// Copyright 2013-2016 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_DESERIALIZER_HPP +#define JSONCONS_JSON_DESERIALIZER_HPP + +#include +#include +#include +#include +#include +#include +#include "jsoncons/jsoncons.hpp" +#include "jsoncons/json_input_handler.hpp" + +namespace jsoncons { + +template +class basic_json_deserializer : public basic_json_input_handler +{ + static const int default_stack_size = 1000; + + typedef typename JsonT::char_type char_type; + typedef typename JsonT::member_type member_type; + typedef typename JsonT::string_type string_type; + typedef typename string_type::allocator_type string_allocator; + typedef typename JsonT::allocator_type allocator_type; + typedef typename JsonT::array array; + typedef typename array::allocator_type array_allocator; + typedef typename JsonT::object object; + typedef typename object::allocator_type object_allocator; + typedef typename JsonT::value_type value_type; + + string_allocator sa_; + object_allocator oa_; + array_allocator aa_; + + JsonT result_; + size_t top_; + + struct stack_item + { + string_type name_; + value_type value_; + }; + std::vector stack_; + std::vector stack2_; + bool is_valid_; + +public: + basic_json_deserializer(const string_allocator& sa = string_allocator(), + const allocator_type& allocator = allocator_type()) + : sa_(sa), + oa_(allocator), + aa_(allocator), + top_(0), + stack_(default_stack_size), + stack2_(), + is_valid_(true) // initial json value is an empty object + + { + stack2_.reserve(100); + } + + bool is_valid() const + { + return is_valid_; + } + + JsonT get_result() + { + is_valid_ = false; + return std::move(result_); + } + +#if !defined(JSONCONS_NO_DEPRECATED) + JsonT& root() + { + return result_; + } +#endif + +private: + + void push_initial() + { + top_ = 0; + if (top_ >= stack_.size()) + { + stack_.resize(top_*2); + } + } + + void pop_initial() + { + JSONCONS_ASSERT(top_ == 1); + result_.swap(stack_[0].value_); + --top_; + } + + void push_object() + { + stack2_.push_back(top_); + stack_[top_].value_ = object(oa_); + if (++top_ >= stack_.size()) + { + stack_.resize(top_*2); + } + } + + void pop_object() + { + stack2_.pop_back(); + JSONCONS_ASSERT(top_ > 0); + } + + void push_array() + { + stack2_.push_back(top_); + stack_[top_].value_ = array(aa_); + if (++top_ >= stack_.size()) + { + stack_.resize(top_*2); + } + } + + void pop_array() + { + stack2_.pop_back(); + JSONCONS_ASSERT(top_ > 0); + } + + void do_begin_json() override + { + is_valid_ = false; + push_initial(); + } + + void do_end_json() override + { + is_valid_ = true; + pop_initial(); + } + + void do_begin_object(const basic_parsing_context&) override + { + push_object(); + } + + void do_end_object(const basic_parsing_context&) override + { + end_structure(); + pop_object(); + } + + void do_begin_array(const basic_parsing_context&) override + { + push_array(); + } + + void do_end_array(const basic_parsing_context&) override + { + end_structure(); + pop_array(); + } + + static member_type move_pair(stack_item&& val) + { + return member_type(std::move(val.name_),std::move(val.value_)); + } + + void end_structure() + { + JSONCONS_ASSERT(stack2_.size() > 0); + if (stack_[stack2_.back()].value_.is_object()) + { + size_t count = top_ - (stack2_.back() + 1); + auto s = stack_.begin() + (stack2_.back()+1); + auto send = s + count; + stack_[stack2_.back()].value_.object_value().insert( + std::make_move_iterator(s), + std::make_move_iterator(send), + move_pair); + top_ -= count; + } + else + { + size_t count = top_ - (stack2_.back() + 1); + stack_[stack2_.back()].value_.resize(count); + + auto s = stack_.begin() + (stack2_.back()+1); + auto dend = stack_[stack2_.back()].value_.elements().end(); + for (auto it = stack_[stack2_.back()].value_.elements().begin(); + it != dend; ++it, ++s) + { + *it = std::move(s->value_); + } + top_ -= count; + } + } + + void do_name(const char_type* p, size_t length, const basic_parsing_context&) override + { + stack_[top_].name_ = string_type(p,length,sa_); + } + + void do_string_value(const char_type* p, size_t length, const basic_parsing_context&) override + { + stack_[top_].value_ = JsonT(p,length,sa_); + if (++top_ >= stack_.size()) + { + stack_.resize(top_*2); + } + } + + void do_integer_value(int64_t value, const basic_parsing_context&) override + { + stack_[top_].value_ = value; + if (++top_ >= stack_.size()) + { + stack_.resize(top_*2); + } + } + + void do_uinteger_value(uint64_t value, const basic_parsing_context&) override + { + stack_[top_].value_ = value; + if (++top_ >= stack_.size()) + { + stack_.resize(top_*2); + } + } + + void do_double_value(double value, uint8_t precision, const basic_parsing_context&) override + { + stack_[top_].value_ = value_type(value,precision); + if (++top_ >= stack_.size()) + { + stack_.resize(top_*2); + } + } + + void do_bool_value(bool value, const basic_parsing_context&) override + { + stack_[top_].value_ = value; + if (++top_ >= stack_.size()) + { + stack_.resize(top_*2); + } + } + + void do_null_value(const basic_parsing_context&) override + { + stack_[top_].value_ = null_type(); + if (++top_ >= stack_.size()) + { + stack_.resize(top_*2); + } + } +}; + +} + +#endif diff --git a/runtime/include/jsoncons/json_error_category.hpp b/runtime/include/jsoncons/json_error_category.hpp new file mode 100644 index 0000000..90d12d5 --- /dev/null +++ b/runtime/include/jsoncons/json_error_category.hpp @@ -0,0 +1,111 @@ +/// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_TEXT_ERROR_CATEGORY_HPP +#define JSONCONS_JSON_TEXT_ERROR_CATEGORY_HPP + +#include "jsoncons/jsoncons.hpp" +#include + +namespace jsoncons { + +namespace json_parser_errc +{ + const int unexpected_eof = 1; + const int invalid_json_text = 2; + const int extra_character = 3; + const int max_depth_exceeded = 4; + const int single_quote = 5; + const int illegal_character_in_string = 6; + const int extra_comma = 7; + const int expected_name = 8; + const int expected_value = 9; + const int invalid_value = 10; + const int expected_colon = 11; + const int illegal_control_character = 12; + const int illegal_escaped_character = 13; + const int expected_codepoint_surrogate_pair = 14; + const int invalid_hex_escape_sequence = 15; + const int invalid_unicode_escape_sequence = 16; + const int leading_zero = 17; + const int invalid_number = 18; + const int expected_comma_or_right_brace = 19; + const int expected_comma_or_right_bracket = 20; + const int unexpected_right_bracket = 21; + const int unexpected_right_brace = 22; +} + +class json_error_category_impl + : public std::error_category +{ +public: + virtual const char* name() const JSONCONS_NOEXCEPT + { + return "json"; + } + virtual std::string message(int ev) const + { + switch (ev) + { + case json_parser_errc::unexpected_eof: + return "Unexpected end of file"; + case json_parser_errc::invalid_json_text: + return "Invalid JSON text"; + case json_parser_errc::extra_character: + return "Unexpected non-whitespace character after JSON text"; + case json_parser_errc::max_depth_exceeded: + return "Maximum JSON depth exceeded"; + case json_parser_errc::single_quote: + return "JSON strings cannot be quoted with single quotes"; + case json_parser_errc::illegal_character_in_string: + return "Illegal character in string"; + case json_parser_errc::extra_comma: + return "Extra comma"; + case json_parser_errc::expected_name: + return "Expected object member name"; + case json_parser_errc::expected_value: + return "Expected value"; + case json_parser_errc::invalid_value: + return "Invalid value"; + case json_parser_errc::expected_colon: + return "Expected name separator ':'"; + case json_parser_errc::illegal_control_character: + return "Illegal control character in string"; + case json_parser_errc::illegal_escaped_character: + return "Illegal escaped character in string"; + case json_parser_errc::expected_codepoint_surrogate_pair: + return "Invalid codepoint, expected another \\u token to begin the second half of a codepoint surrogate pair."; + case json_parser_errc::invalid_hex_escape_sequence: + return "Invalid codepoint, expected hexadecimal digit."; + case json_parser_errc::invalid_unicode_escape_sequence: + return "Invalid codepoint, expected four hexadecimal digits."; + case json_parser_errc::leading_zero: + return "A number cannot have a leading zero"; + case json_parser_errc::invalid_number: + return "Invalid number"; + case json_parser_errc::expected_comma_or_right_brace: + return "Expected comma or right brace ']'"; + case json_parser_errc::expected_comma_or_right_bracket: + return "Expected comma or right bracket ']'"; + case json_parser_errc::unexpected_right_brace: + return "Unexpected right brace '}'"; + case json_parser_errc::unexpected_right_bracket: + return "Unexpected right bracket ']'"; + default: + return "Unknown JSON parser error"; + } + } +}; + +inline +const std::error_category& json_error_category() +{ + static json_error_category_impl instance; + return instance; +} + +} +#endif diff --git a/runtime/include/jsoncons/json_filter.hpp b/runtime/include/jsoncons/json_filter.hpp new file mode 100644 index 0000000..f5674f2 --- /dev/null +++ b/runtime/include/jsoncons/json_filter.hpp @@ -0,0 +1,324 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_FILTER_HPP +#define JSONCONS_JSON_FILTER_HPP + +#include + +#include "jsoncons/json_input_handler.hpp" +#include "jsoncons/json_output_handler.hpp" +#include "jsoncons/parse_error_handler.hpp" + +namespace jsoncons { + +template +class basic_json_input_output_adapter : public basic_json_input_handler +{ +public: + basic_json_input_output_adapter() + : writer_(std::addressof(null_json_output_handler())) + { + } + + basic_json_input_output_adapter(basic_json_output_handler& handler) + : writer_(std::addressof(handler)) + { + } + +private: + + void do_begin_json() override + { + writer_->begin_json(); + } + + void do_end_json() override + { + writer_->end_json(); + } + + void do_begin_object(const basic_parsing_context& context) override + { + writer_->begin_object(); + } + + void do_end_object(const basic_parsing_context& context) override + { + writer_->end_object(); + } + + void do_begin_array(const basic_parsing_context& context) override + { + writer_->begin_array(); + } + + void do_end_array(const basic_parsing_context& context) override + { + writer_->end_array(); + } + + void do_name(const CharT* name, size_t length, + const basic_parsing_context& context) override + { + writer_->name(name, length); + } + + void do_string_value(const CharT* value, size_t length, + const basic_parsing_context& context) override + { + writer_->value(value, length); + } + + void do_integer_value(int64_t value, const basic_parsing_context& context) override + { + writer_->value(value); + } + + void do_uinteger_value(uint64_t value, + const basic_parsing_context& context) override + { + writer_->value(value); + } + + void do_double_value(double value, uint8_t precision, const basic_parsing_context& context) override + { + writer_->value(value, precision); + } + + void do_bool_value(bool value, const basic_parsing_context& context) override + { + writer_->value(value); + } + + void do_null_value(const basic_parsing_context& context) override + { + writer_->value(null_type()); + } + + basic_json_output_handler* writer_; +}; + +template +class basic_json_filter : public basic_json_input_handler +{ +public: + basic_json_filter(basic_json_input_handler& handler) + : handler_(std::addressof(handler)), + err_handler_(std::addressof(basic_default_parse_error_handler::instance())) + { + } + + basic_json_filter(basic_json_input_handler& handler, + basic_parse_error_handler& err_handler) + : handler_(std::addressof(handler)), + err_handler_(std::addressof(err_handler)) + { + } + + basic_json_filter(basic_json_output_handler& output_handler) + : input_output_adapter_(output_handler), handler_(std::addressof(input_output_adapter_)), + err_handler_(std::addressof(basic_default_parse_error_handler::instance())) + { + } + + basic_json_filter(basic_json_output_handler& output_handler, + basic_parse_error_handler& err_handler) + : input_output_adapter_(output_handler), handler_(std::addressof(input_output_adapter_)), + err_handler_(std::addressof(err_handler)) + { + } + + basic_json_input_handler& input_handler() + { + return *handler_; + } + +#if !defined(JSONCONS_NO_DEPRECATED) + basic_json_input_handler& parent() + { + return *handler_; + } +#endif + +private: + void do_begin_json() override + { + handler_->begin_json(); + } + + void do_end_json() override + { + handler_->end_json(); + } + + void do_begin_object(const basic_parsing_context& context) override + { + handler_->begin_object(context); + } + + void do_end_object(const basic_parsing_context& context) override + { + handler_->end_object(context); + } + + void do_begin_array(const basic_parsing_context& context) override + { + handler_->begin_array(context); + } + + void do_end_array(const basic_parsing_context& context) override + { + handler_->end_array(context); + } + + void do_name(const CharT* name, size_t length, const basic_parsing_context& context) override + { + handler_->name(name, length, context); + } + + void do_string_value(const CharT* value, size_t length, const basic_parsing_context& context) override + { + handler_->value(value,length,context); + } + + void do_double_value(double value, uint8_t precision, const basic_parsing_context& context) override + { + handler_->value(value,precision,context); + } + + void do_integer_value(int64_t value, const basic_parsing_context& context) override + { + handler_->value(value,context); + } + + void do_uinteger_value(uint64_t value, const basic_parsing_context& context) override + { + handler_->value(value,context); + } + + void do_bool_value(bool value, const basic_parsing_context& context) override + { + handler_->value(value,context); + } + + void do_null_value(const basic_parsing_context& context) override + { + handler_->value(null_type(),context); + } + + basic_json_input_output_adapter input_output_adapter_; + basic_json_input_handler* handler_; + basic_parse_error_handler* err_handler_; +}; + +// Filters out begin_json and end_json events +template +class basic_begin_end_json_filter : public basic_json_filter +{ +public: + basic_begin_end_json_filter(basic_json_input_handler& handler) + : basic_json_filter(handler) + { + } +private: + void do_begin_json() override + { + } + + void do_end_json() override + { + } +}; + +template +class basic_json_output_input_adapter : public basic_json_output_handler +{ +public: + basic_json_output_input_adapter(basic_json_input_handler& input_handler, + const basic_parsing_context& context) + : input_handler_(std::addressof(input_handler)), + context_(std::addressof(context)) + { + } + +private: + + void do_begin_json() override + { + input_handler_->begin_json(); + } + + void do_end_json() override + { + input_handler_->end_json(); + } + + void do_begin_object() override + { + input_handler_->begin_object(*context_); + } + + void do_end_object() override + { + input_handler_->end_object(*context_); + } + + void do_begin_array() override + { + input_handler_->begin_array(*context_); + } + + void do_end_array() override + { + input_handler_->end_array(*context_); + } + + void do_name(const CharT* name, size_t length) override + { + input_handler_->name(name, length, *context_); + } + + void do_string_value(const CharT* value, size_t length) override + { + input_handler_->value(value, length, *context_); + } + + void do_integer_value(int64_t value) override + { + input_handler_->value(value, *context_); + } + + void do_uinteger_value(uint64_t value) override + { + input_handler_->value(value, *context_); + } + + void do_double_value(double value, uint8_t precision) override + { + input_handler_->value(value, precision, *context_); + } + + void do_bool_value(bool value) override + { + input_handler_->value(value, *context_); + } + + void do_null_value() override + { + input_handler_->value(null_type(), *context_); + } + + basic_json_input_handler* input_handler_; + const basic_parsing_context* context_; +}; + +typedef basic_json_filter json_filter; +typedef basic_json_filter wjson_filter; + +} + +#endif diff --git a/runtime/include/jsoncons/json_input_handler.hpp b/runtime/include/jsoncons/json_input_handler.hpp new file mode 100644 index 0000000..566209e --- /dev/null +++ b/runtime/include/jsoncons/json_input_handler.hpp @@ -0,0 +1,282 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_INPUT_HANDLER_HPP +#define JSONCONS_JSON_INPUT_HANDLER_HPP + +#include +#include "jsoncons/jsoncons.hpp" + +namespace jsoncons { + +template +uint64_t string_to_uinteger(const CharT *s, size_t length) throw(std::overflow_error) +{ + static const uint64_t max_value = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + static const uint64_t max_value_div_10 = max_value / 10; + uint64_t n = 0; + for (size_t i = 0; i < length; ++i) + { + uint64_t x = s[i] - '0'; + if (n > max_value_div_10) + { + throw std::overflow_error("Unsigned overflow"); + } + n = n * 10; + if (n > max_value - x) + { + throw std::overflow_error("Unsigned overflow"); + } + + n += x; + } + return n; +} + +template +int64_t string_to_integer(bool has_neg, const CharT *s, size_t length) throw(std::overflow_error) +{ + const long long max_value = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + const long long max_value_div_10 = max_value / 10; + + long long n = 0; + for (size_t i = 0; i < length; ++i) + { + long long x = s[i] - '0'; + if (n > max_value_div_10) + { + throw std::overflow_error("Integer overflow"); + } + n = n * 10; + if (n > max_value - x) + { + throw std::overflow_error("Integer overflow"); + } + + n += x; + } + return has_neg ? -n : n; +} + +template +class basic_parsing_context; + +template +class basic_json_input_handler +{ +public: + virtual ~basic_json_input_handler() {} + + void begin_json() + { + do_begin_json(); + } + + void end_json() + { + do_end_json(); + } + + void begin_object(const basic_parsing_context& context) + { + do_begin_object(context); + } + + void end_object(const basic_parsing_context& context) + { + do_end_object(context); + } + + void begin_array(const basic_parsing_context& context) + { + do_begin_array(context); + } + + void end_array(const basic_parsing_context& context) + { + do_end_array(context); + } + + void name(const std::basic_string& name, const basic_parsing_context& context) + { + do_name(name.data(), name.length(), context); + } + + void name(const CharT* p, size_t length, const basic_parsing_context& context) + { + do_name(p, length, context); + } + + void value(const std::basic_string& value, const basic_parsing_context& context) + { + do_string_value(value.data(), value.length(), context); + } + + void value(const CharT* p, size_t length, const basic_parsing_context& context) + { + do_string_value(p, length, context); + } + + void value(const CharT* p, const basic_parsing_context& context) + { + do_string_value(p, std::char_traits::length(p), context); + } + + void value(int value, const basic_parsing_context& context) + { + do_integer_value(value,context); + } + + void value(long value, const basic_parsing_context& context) + { + do_integer_value(value,context); + } + + void value(long long value, const basic_parsing_context& context) + { + do_integer_value(value,context); + } + + void value(unsigned int value, const basic_parsing_context& context) + { + do_uinteger_value(value,context); + } + + void value(unsigned long value, const basic_parsing_context& context) + { + do_uinteger_value(value,context); + } + + void value(unsigned long long value, const basic_parsing_context& context) + { + do_uinteger_value(value,context); + } + + void value(float value, uint8_t precision, const basic_parsing_context& context) + { + do_double_value(value, precision, context); + } + + void value(double value, uint8_t precision, const basic_parsing_context& context) + { + do_double_value(value, precision, context); + } + + void value(bool value, const basic_parsing_context& context) + { + do_bool_value(value,context); + } + + void value(null_type, const basic_parsing_context& context) + { + do_null_value(context); + } + +private: + virtual void do_begin_json() = 0; + + virtual void do_end_json() = 0; + + virtual void do_begin_object(const basic_parsing_context& context) = 0; + + virtual void do_end_object(const basic_parsing_context& context) = 0; + + virtual void do_begin_array(const basic_parsing_context& context) = 0; + + virtual void do_end_array(const basic_parsing_context& context) = 0; + + virtual void do_name(const CharT* name, size_t length, const basic_parsing_context& context) = 0; + + virtual void do_null_value(const basic_parsing_context& context) = 0; + + virtual void do_string_value(const CharT* value, size_t length, const basic_parsing_context& context) = 0; + + virtual void do_double_value(double value, uint8_t precision, const basic_parsing_context& context) = 0; + + virtual void do_integer_value(int64_t value, const basic_parsing_context& context) = 0; + + virtual void do_uinteger_value(uint64_t value, const basic_parsing_context& context) = 0; + + virtual void do_bool_value(bool value, const basic_parsing_context& context) = 0; +}; + + +template +class basic_empty_json_input_handler : public basic_json_input_handler +{ +public: + static basic_json_input_handler& instance() + { + static basic_empty_json_input_handler instance; + return instance; + } +private: + void do_begin_json() override + { + } + + void do_end_json() override + { + } + + void do_begin_object(const basic_parsing_context&) override + { + } + + void do_end_object(const basic_parsing_context&) override + { + } + + void do_begin_array(const basic_parsing_context&) override + { + } + + void do_end_array(const basic_parsing_context&) override + { + } + + void do_name(const CharT* p, size_t length, const basic_parsing_context&) override + { + (void)p; + (void)length; + } + + void do_null_value(const basic_parsing_context&) override + { + } + + void do_string_value(const CharT* p, size_t length, const basic_parsing_context&) override + { + (void)p; + (void)length; + } + + void do_double_value(double, uint8_t, const basic_parsing_context&) override + { + } + + void do_integer_value(int64_t, const basic_parsing_context&) override + { + } + + void do_uinteger_value(uint64_t, const basic_parsing_context&) override + { + } + + void do_bool_value(bool, const basic_parsing_context&) override + { + } +}; + +typedef basic_json_input_handler json_input_handler; +typedef basic_json_input_handler wjson_input_handler; + +typedef basic_empty_json_input_handler empty_json_input_handler; +typedef basic_empty_json_input_handler wempty_json_input_handler; + +} + +#endif diff --git a/runtime/include/jsoncons/json_output_handler.hpp b/runtime/include/jsoncons/json_output_handler.hpp new file mode 100644 index 0000000..d0f3de8 --- /dev/null +++ b/runtime/include/jsoncons/json_output_handler.hpp @@ -0,0 +1,262 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_OUTPUT_HANDLER_HPP +#define JSONCONS_JSON_OUTPUT_HANDLER_HPP + +#include +#include "jsoncons/jsoncons.hpp" + +namespace jsoncons { + +template +void print_integer(int64_t value, buffered_ostream& os) +{ + CharT buf[255]; + uint64_t u = (value < 0) ? static_cast(-value) : static_cast(value); + CharT* p = buf; + do + { + *p++ = static_cast(48 + u%10); + } + while (u /= 10); + if (value < 0) + { + os.put('-'); + } + while (--p >= buf) + { + os.put(*p); + } +} + +template +void print_uinteger(uint64_t value, buffered_ostream& os) +{ + CharT buf[255]; + CharT* p = buf; + do + { + *p++ = static_cast(48 + value % 10); + } while (value /= 10); + while (--p >= buf) + { + os.put(*p); + } +} + +template +class basic_json_output_handler +{ +public: + virtual ~basic_json_output_handler() {} + + // Overloaded methods + + void begin_json() + { + do_begin_json(); + } + + void end_json() + { + do_end_json(); + } + + void begin_object() + { + do_begin_object(); + } + + void end_object() + { + do_end_object(); + } + + void begin_array() + { + do_begin_array(); + } + + void end_array() + { + do_end_array(); + } + + void name(const std::basic_string& name) + { + do_name(name.data(), name.length()); + } + + void name(const CharT* p, size_t length) + { + do_name(p, length); + } + + void value(const std::basic_string& value) + { + do_string_value(value.data(), value.length()); + } + + void value(const CharT* p, size_t length) + { + do_string_value(p, length); + } + + void value(const CharT* p) + { + do_string_value(p, std::char_traits::length(p)); + } + + void value(int value) + { + do_integer_value(value); + } + + void value(long value) + { + do_integer_value(value); + } + + void value(long long value) + { + do_integer_value(value); + } + + void value(unsigned int value) + { + do_uinteger_value(value); + } + + void value(unsigned long value) + { + do_uinteger_value(value); + } + + void value(unsigned long long value) + { + do_uinteger_value(value); + } + + void value(double value, uint8_t precision = 0) + { + do_double_value(value, precision); + } + + void value(bool value) + { + do_bool_value(value); + } + + void value(null_type) + { + do_null_value(); + } + +private: + + virtual void do_begin_json() = 0; + + virtual void do_end_json() = 0; + + virtual void do_name(const CharT* name, size_t length) = 0; + + virtual void do_begin_object() = 0; + + virtual void do_end_object() = 0; + + virtual void do_begin_array() = 0; + + virtual void do_end_array() = 0; + + virtual void do_null_value() = 0; + + virtual void do_string_value(const CharT* value, size_t length) = 0; + + virtual void do_double_value(double value, uint8_t precision) = 0; + + virtual void do_integer_value(int64_t value) = 0; + + virtual void do_uinteger_value(uint64_t value) = 0; + + virtual void do_bool_value(bool value) = 0; +}; + +template +class null_json_output_handler_impl : public basic_json_output_handler +{ +private: + + void do_begin_json() override + { + } + + void do_end_json() override + { + } + + void do_name(const CharT* name, size_t length) override + { + (void)name; + (void)length; + } + + void do_begin_object() override + { + } + + void do_end_object() override + { + } + + void do_begin_array() override + { + } + + void do_end_array() override + { + } + + void do_null_value() override + { + } + + void do_string_value(const CharT* p, size_t length) override + { + (void)p; + (void)length; + } + + void do_double_value(double, uint8_t) override + { + } + + void do_integer_value(int64_t) override + { + } + + void do_uinteger_value(uint64_t) override + { + } + + void do_bool_value(bool) override + { + } + +}; + +template +basic_json_output_handler& null_json_output_handler() +{ + static null_json_output_handler_impl instance; + return instance; +} + +typedef basic_json_output_handler json_output_handler; +typedef basic_json_output_handler wjson_output_handler; + +} +#endif diff --git a/runtime/include/jsoncons/json_parser.hpp b/runtime/include/jsoncons/json_parser.hpp new file mode 100644 index 0000000..e2932ff --- /dev/null +++ b/runtime/include/jsoncons/json_parser.hpp @@ -0,0 +1,1583 @@ +// Copyright 2015 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_PARSER_HPP +#define JSONCONS_JSON_PARSER_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include "jsoncons/jsoncons.hpp" +#include "jsoncons/json_input_handler.hpp" +#include "jsoncons/parse_error_handler.hpp" +#include "jsoncons/json_error_category.hpp" + +namespace jsoncons { + +enum class states +{ + root, + start, + slash, + slash_slash, + slash_star, + slash_star_star, + expect_comma_or_end, + object, + expect_member_name_or_end, + expect_member_name, + expect_colon, + expect_value_or_end, + expect_value, + array, + string, + member_name, + escape, + u1, + u2, + u3, + u4, + expect_surrogate_pair1, + expect_surrogate_pair2, + u6, + u7, + u8, + u9, + minus, + zero, + integer, + fraction, + exp1, + exp2, + exp3, + n, + t, + f, + cr, + lf, + done +}; + +template +class basic_json_parser : private basic_parsing_context +{ + static const int default_initial_stack_capacity_ = 100; + + std::vector stack_; + basic_json_input_handler *handler_; + basic_parse_error_handler *err_handler_; + size_t column_; + size_t line_; + uint32_t cp_; + uint32_t cp2_; + std::basic_string string_buffer_; + std::basic_string number_buffer_; + bool is_negative_; + size_t index_; + int initial_stack_capacity_; + int nesting_depth_; + int max_depth_; + float_reader float_reader_; + const CharT* begin_input_; + const CharT* end_input_; + const CharT* p_; + uint8_t precision_; + std::pair literal_; + size_t literal_index_; + +public: + basic_json_parser(basic_json_input_handler& handler) + : handler_(std::addressof(handler)), + err_handler_(std::addressof(basic_default_parse_error_handler::instance())), + column_(0), + line_(0), + cp_(0), + is_negative_(false), + index_(0), + initial_stack_capacity_(default_initial_stack_capacity_) + { + max_depth_ = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + + basic_json_parser(basic_json_input_handler& handler, + basic_parse_error_handler& err_handler) + : handler_(std::addressof(handler)), + err_handler_(std::addressof(err_handler)), + column_(0), + line_(0), + cp_(0), + is_negative_(false), + index_(0), + initial_stack_capacity_(default_initial_stack_capacity_) + + { + max_depth_ = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + + const basic_parsing_context& parsing_context() const + { + return *this; + } + + ~basic_json_parser() + { + } + + size_t max_nesting_depth() const + { + return static_cast(max_depth_); + } + + void max_nesting_depth(size_t max_nesting_depth) + { + max_depth_ = static_cast(std::min(max_nesting_depth,static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()))); + } + + states parent() const + { + return stack_[stack_.size()-2]; + } + + bool done() const + { + return stack_.back() == states::done; + } + + void do_space() + { + while ((p_ + 1) < end_input_ && (*(p_ + 1) == ' ' || *(p_ + 1) == '\t')) + { + ++p_; + ++column_; + } + } + + void do_begin_object() + { + if (++nesting_depth_ >= max_depth_) + { + err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); + } + stack_.back() = states::object; + stack_.push_back(states::expect_member_name_or_end); + handler_->begin_object(*this); + } + + void do_end_object() + { + --nesting_depth_; + JSONCONS_ASSERT(!stack_.empty()) + stack_.pop_back(); + if (stack_.back() == states::object) + { + handler_->end_object(*this); + } + else if (stack_.back() == states::array) + { + err_handler_->fatal_error(std::error_code(json_parser_errc::expected_comma_or_right_bracket, json_error_category()), *this); + } + else + { + err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_brace, json_error_category()), *this); + } + + JSONCONS_ASSERT(stack_.size() >= 2); + if (parent() == states::root) + { + stack_.back() = states::done; + handler_->end_json(); + } + else + { + stack_.back() = states::expect_comma_or_end; + } + } + + void do_begin_array() + { + if (++nesting_depth_ >= max_depth_) + { + err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); + } + stack_.back() = states::array; + stack_.push_back(states::expect_value_or_end); + handler_->begin_array(*this); + } + + void do_end_array() + { + --nesting_depth_; + JSONCONS_ASSERT(!stack_.empty()) + stack_.pop_back(); + if (stack_.back() == states::array) + { + handler_->end_array(*this); + } + else if (stack_.back() == states::object) + { + err_handler_->fatal_error(std::error_code(json_parser_errc::expected_comma_or_right_brace, json_error_category()), *this); + } + else + { + err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_bracket, json_error_category()), *this); + } + JSONCONS_ASSERT(stack_.size() >= 2); + if (parent() == states::root) + { + stack_.back() = states::done; + handler_->end_json(); + } + else + { + stack_.back() = states::expect_comma_or_end; + } + } + + void begin_parse() + { + stack_.clear(); + stack_.reserve(initial_stack_capacity_); + stack_.push_back(states::root); + stack_.push_back(states::start); + line_ = 1; + column_ = 1; + nesting_depth_ = 0; + } + + void check_done(const CharT* input, size_t start, size_t length) + { + index_ = start; + for (; index_ < length; ++index_) + { + CharT curr_char_ = input[index_]; + switch (curr_char_) + { + case '\n': + case '\r': + case '\t': + case ' ': + break; + default: + err_handler_->error(std::error_code(json_parser_errc::extra_character, json_error_category()), *this); + break; + } + } + } + + void parse_string() + { + const CharT* sb = p_; + bool done = false; + while (!done && p_ < end_input_) + { + switch (*p_) + { + case 0x00:case 0x01:case 0x02:case 0x03:case 0x04:case 0x05:case 0x06:case 0x07:case 0x08:case 0x0b: + case 0x0c:case 0x0e:case 0x0f:case 0x10:case 0x11:case 0x12:case 0x13:case 0x14:case 0x15:case 0x16: + case 0x17:case 0x18:case 0x19:case 0x1a:case 0x1b:case 0x1c:case 0x1d:case 0x1e:case 0x1f: + string_buffer_.append(sb,p_-sb); + column_ += (p_ - sb + 1); + err_handler_->error(std::error_code(json_parser_errc::illegal_control_character, json_error_category()), *this); + // recovery - skip + done = true; + ++p_; + break; + case '\r': + { + column_ += (p_ - sb + 1); + err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); + // recovery - keep + string_buffer_.append(sb, p_ - sb + 1); + stack_.push_back(states::cr); + done = true; + ++p_; + } + break; + case '\n': + { + column_ += (p_ - sb + 1); + err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); + // recovery - keep + string_buffer_.append(sb, p_ - sb + 1); + stack_.push_back(states::lf); + done = true; + ++p_; + } + break; + case '\t': + { + column_ += (p_ - sb + 1); + err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); + // recovery - keep + string_buffer_.append(sb, p_ - sb + 1); + done = true; + ++p_; + } + break; + case '\\': + string_buffer_.append(sb,p_-sb); + column_ += (p_ - sb + 1); + stack_.back() = states::escape; + done = true; + ++p_; + break; + case '\"': + if (string_buffer_.length() == 0) + { + end_string_value(sb,p_-sb); + } + else + { + string_buffer_.append(sb,p_-sb); + end_string_value(string_buffer_.data(),string_buffer_.length()); + string_buffer_.clear(); + } + column_ += (p_ - sb + 1); + done = true; + ++p_; + break; + default: + ++p_; + break; + } + } + if (!done) + { + string_buffer_.append(sb,p_-sb); + column_ += (p_ - sb + 1); + } + } + + void parse(const CharT* const input, size_t start, size_t length) + { + begin_input_ = input + start; + end_input_ = input + length; + p_ = begin_input_; + + index_ = start; + while ((p_ < end_input_) && (stack_.back() != states::done)) + { + switch (*p_) + { + case 0x00:case 0x01:case 0x02:case 0x03:case 0x04:case 0x05:case 0x06:case 0x07:case 0x08:case 0x0b: + case 0x0c:case 0x0e:case 0x0f:case 0x10:case 0x11:case 0x12:case 0x13:case 0x14:case 0x15:case 0x16: + case 0x17:case 0x18:case 0x19:case 0x1a:case 0x1b:case 0x1c:case 0x1d:case 0x1e:case 0x1f: + err_handler_->error(std::error_code(json_parser_errc::illegal_control_character, json_error_category()), *this); + break; + default: + break; + } + + switch (stack_.back()) + { + case states::cr: + ++line_; + column_ = 1; + switch (*p_) + { + case '\n': + JSONCONS_ASSERT(!stack_.empty()) + stack_.pop_back(); + ++p_; + break; + default: + JSONCONS_ASSERT(!stack_.empty()) + stack_.pop_back(); + break; + } + break; + case states::lf: + ++line_; + column_ = 1; + JSONCONS_ASSERT(!stack_.empty()) + stack_.pop_back(); + break; + case states::start: + { + switch (*p_) + { + case '\r': + stack_.push_back(states::cr); + break; + case '\n': + stack_.push_back(states::lf); + break; + case ' ':case '\t': + do_space(); + break; + case '/': + stack_.push_back(states::slash); + break; + case '{': + handler_->begin_json(); + do_begin_object(); + break; + case '[': + handler_->begin_json(); + do_begin_array(); + break; + case '\"': + handler_->begin_json(); + stack_.back() = states::string; + break; + case '-': + handler_->begin_json(); + is_negative_ = true; + stack_.back() = states::minus; + break; + case '0': + handler_->begin_json(); + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::zero; + break; + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + handler_->begin_json(); + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::integer; + break; + case 'f': + handler_->begin_json(); + stack_.back() = states::f; + literal_ = json_literals::false_literal(); + literal_index_ = 1; + break; + case 'n': + handler_->begin_json(); + stack_.back() = states::n; + literal_ = json_literals::null_literal(); + literal_index_ = 1; + break; + case 't': + handler_->begin_json(); + stack_.back() = states::t; + literal_ = json_literals::true_literal(); + literal_index_ = 1; + break; + case '}': + err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_brace, json_error_category()), *this); + break; + case ']': + err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_bracket, json_error_category()), *this); + break; + default: + err_handler_->fatal_error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + + case states::expect_comma_or_end: + { + switch (*p_) + { + case '\r': + stack_.push_back(states::cr); + break; + case '\n': + stack_.push_back(states::lf); + break; + case ' ':case '\t': + do_space(); + break; + case '/': + stack_.push_back(states::slash); + break; + case '}': + do_end_object(); + break; + case ']': + do_end_array(); + break; + case ',': + begin_member_or_element(); + break; + default: + JSONCONS_ASSERT(stack_.size() >= 2); + if (parent() == states::array) + { + err_handler_->error(std::error_code(json_parser_errc::expected_comma_or_right_bracket, json_error_category()), *this); + } + else if (parent() == states::object) + { + err_handler_->error(std::error_code(json_parser_errc::expected_comma_or_right_brace, json_error_category()), *this); + } + break; + } + } + ++p_; + ++column_; + break; + case states::expect_member_name_or_end: + { + switch (*p_) + { + case '\r': + stack_.push_back(states::cr); + break; + case '\n': + stack_.push_back(states::lf); + break; + case ' ':case '\t': + do_space(); + break; + case '/': + stack_.push_back(states::slash); + break; + case '}': + do_end_object(); + break; + case '\"': + stack_.back() = states::member_name; + stack_.push_back(states::string); + break; + case '\'': + err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_name, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::expect_member_name: + { + switch (*p_) + { + case '\r': + stack_.push_back(states::cr); + break; + case '\n': + stack_.push_back(states::lf); + break; + case ' ':case '\t': + do_space(); + break; + case '/': + stack_.push_back(states::slash); + break; + case '\"': + //stack_.back() = states::string; + stack_.back() = states::member_name; + stack_.push_back(states::string); + break; + case '}': + --nesting_depth_; + err_handler_->error(std::error_code(json_parser_errc::extra_comma, json_error_category()), *this); + break; + case '\'': + err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_name, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::expect_colon: + { + switch (*p_) + { + case '\r': + stack_.push_back(states::cr); + break; + case '\n': + stack_.push_back(states::lf); + break; + case ' ':case '\t': + do_space(); + break; + case '/': + stack_.push_back(states::slash); + break; + case ':': + stack_.back() = states::expect_value; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_colon, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::expect_value: + { + switch (*p_) + { + case '\r': + stack_.push_back(states::cr); + break; + case '\n': + stack_.push_back(states::lf); + break; + case ' ':case '\t': + do_space(); + break; + case '/': + stack_.push_back(states::slash); + break; + case '{': + do_begin_object(); + break; + case '[': + do_begin_array(); + break; + case '\"': + stack_.back() = states::string; + break; + case '-': + is_negative_ = true; + stack_.back() = states::minus; + break; + case '0': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::zero; + break; + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::integer; + break; + case 'f': + stack_.back() = states::f; + literal_ = json_literals::false_literal(); + literal_index_ = 1; + break; + case 'n': + stack_.back() = states::n; + literal_ = json_literals::null_literal(); + literal_index_ = 1; + break; + case 't': + stack_.back() = states::t; + literal_ = json_literals::true_literal(); + literal_index_ = 1; + break; + case ']': + JSONCONS_ASSERT(stack_.size() >= 2); + if (parent() == states::array) + { + err_handler_->error(std::error_code(json_parser_errc::extra_comma, json_error_category()), *this); + } + else + { + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + } + break; + case '\'': + err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::expect_value_or_end: + { + switch (*p_) + { + case '\r': + stack_.push_back(states::cr); + break; + case '\n': + stack_.push_back(states::lf); + break; + case ' ':case '\t': + do_space(); + break; + case '/': + stack_.push_back(states::slash); + break; + case '{': + do_begin_object(); + break; + case '[': + do_begin_array(); + break; + case ']': + do_end_array(); + break; + case '\"': + stack_.back() = states::string; + break; + case '-': + is_negative_ = true; + stack_.back() = states::minus; + break; + case '0': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::zero; + break; + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::integer; + break; + case 'f': + stack_.back() = states::f; + literal_ = json_literals::false_literal(); + literal_index_ = 1; + break; + case 'n': + stack_.back() = states::n; + literal_ = json_literals::null_literal(); + literal_index_ = 1; + break; + case 't': + stack_.back() = states::t; + literal_ = json_literals::true_literal(); + literal_index_ = 1; + break; + case '\'': + err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::string: + parse_string(); + break; + case states::escape: + { + escape_next_char(*p_); + } + ++p_; + ++column_; + break; + case states::u1: + { + append_codepoint(*p_); + stack_.back() = states::u2; + } + ++p_; + ++column_; + break; + case states::u2: + { + append_codepoint(*p_); + stack_.back() = states::u3; + } + ++p_; + ++column_; + break; + case states::u3: + { + append_codepoint(*p_); + stack_.back() = states::u4; + } + ++p_; + ++column_; + break; + case states::u4: + { + append_codepoint(*p_); + if (cp_ >= min_lead_surrogate && cp_ <= max_lead_surrogate) + { + stack_.back() = states::expect_surrogate_pair1; + } + else + { + json_char_traits::append_codepoint_to_string(cp_, string_buffer_); + stack_.back() = states::string; + } + } + ++p_; + ++column_; + break; + case states::expect_surrogate_pair1: + { + switch (*p_) + { + case '\\': + cp2_ = 0; + stack_.back() = states::expect_surrogate_pair2; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_codepoint_surrogate_pair, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::expect_surrogate_pair2: + { + switch (*p_) + { + case 'u': + stack_.back() = states::u6; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_codepoint_surrogate_pair, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::u6: + { + append_second_codepoint(*p_); + stack_.back() = states::u7; + } + ++p_; + ++column_; + break; + case states::u7: + { + append_second_codepoint(*p_); + stack_.back() = states::u8; + } + ++p_; + ++column_; + break; + case states::u8: + { + append_second_codepoint(*p_); + stack_.back() = states::u9; + } + ++p_; + ++column_; + break; + case states::u9: + { + append_second_codepoint(*p_); + uint32_t cp = 0x10000 + ((cp_ & 0x3FF) << 10) + (cp2_ & 0x3FF); + json_char_traits::append_codepoint_to_string(cp, string_buffer_); + stack_.back() = states::string; + } + ++p_; + ++column_; + break; + case states::minus: + { + switch (*p_) + { + case '0': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::zero; + break; + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::integer; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::zero: + { + switch (*p_) + { + case '\r': + end_integer_value(); + stack_.push_back(states::cr); + break; + case '\n': + end_integer_value(); + stack_.push_back(states::lf); + break; + case ' ':case '\t': + end_integer_value(); + do_space(); + break; + case '/': + end_integer_value(); + stack_.push_back(states::slash); + break; + case '}': + end_integer_value(); + do_end_object(); + break; + case ']': + end_integer_value(); + do_end_array(); + break; + case '.': + precision_ = static_cast(number_buffer_.length()); + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::fraction; + break; + case ',': + end_integer_value(); + begin_member_or_element(); + break; + case '0': case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + err_handler_->error(std::error_code(json_parser_errc::leading_zero, json_error_category()), *this); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::integer: + { + switch (*p_) + { + case '\r': + end_integer_value(); + stack_.push_back(states::cr); + break; + case '\n': + end_integer_value(); + stack_.push_back(states::lf); + break; + case ' ':case '\t': + end_integer_value(); + do_space(); + break; + case '/': + end_integer_value(); + stack_.push_back(states::slash); + break; + case '}': + end_integer_value(); + do_end_object(); + break; + case ']': + end_integer_value(); + do_end_array(); + break; + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::integer; + break; + case '.': + precision_ = static_cast(number_buffer_.length()); + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::fraction; + break; + case ',': + end_integer_value(); + begin_member_or_element(); + break; + case 'e':case 'E': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::exp1; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::fraction: + { + switch (*p_) + { + case '\r': + end_fraction_value(); + stack_.push_back(states::cr); + break; + case '\n': + end_fraction_value(); + stack_.push_back(states::lf); + break; + case ' ':case '\t': + end_fraction_value(); + do_space(); + break; + case '/': + end_fraction_value(); + stack_.push_back(states::slash); + break; + case '}': + end_fraction_value(); + do_end_object(); + break; + case ']': + end_fraction_value(); + do_end_array(); + break; + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + ++precision_; + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::fraction; + break; + case ',': + end_fraction_value(); + begin_member_or_element(); + break; + case 'e':case 'E': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::exp1; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::exp1: + { + switch (*p_) + { + case '+': + stack_.back() = states::exp2; + break; + case '-': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::exp2; + break; + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::exp3; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::exp2: + { + switch (*p_) + { + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::exp3; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::exp3: + { + switch (*p_) + { + case '\r': + end_fraction_value(); + stack_.push_back(states::cr); + break; + case '\n': + end_fraction_value(); + stack_.push_back(states::lf); + break; + case ' ':case '\t': + end_fraction_value(); + do_space(); + break; + case '/': + end_fraction_value(); + stack_.push_back(states::slash); + break; + case '}': + end_fraction_value(); + do_end_object(); + break; + case ']': + end_fraction_value(); + do_end_array(); + break; + case ',': + end_fraction_value(); + begin_member_or_element(); + break; + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + stack_.back() = states::exp3; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::t: + while (p_ < end_input_ && literal_index_ < literal_.second) + { + if (*p_ != literal_.first[literal_index_]) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); + } + ++p_; + ++literal_index_; + ++column_; + } + if (literal_index_ == literal_.second) + { + handler_->value(true, *this); + JSONCONS_ASSERT(stack_.size() >= 2); + if (parent() == states::root) + { + stack_.back() = states::done; + handler_->end_json(); + } + else + { + stack_.back() = states::expect_comma_or_end; + } + } + break; + case states::f: + while (p_ < end_input_ && literal_index_ < literal_.second) + { + if (*p_ != literal_.first[literal_index_]) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); + } + ++p_; + ++literal_index_; + ++column_; + } + if (literal_index_ == literal_.second) + { + handler_->value(false, *this); + JSONCONS_ASSERT(stack_.size() >= 2); + if (parent() == states::root) + { + stack_.back() = states::done; + handler_->end_json(); + } + else + { + stack_.back() = states::expect_comma_or_end; + } + } + break; + case states::n: + while (p_ < end_input_ && literal_index_ < literal_.second) + { + if (*p_ != literal_.first[literal_index_]) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); + } + ++p_; + ++literal_index_; + ++column_; + } + if (literal_index_ == literal_.second) + { + handler_->value(null_type(), *this); + JSONCONS_ASSERT(stack_.size() >= 2); + if (parent() == states::root) + { + stack_.back() = states::done; + handler_->end_json(); + } + else + { + stack_.back() = states::expect_comma_or_end; + } + } + break; + case states::slash: + { + switch (*p_) + { + case '*': + stack_.back() = states::slash_star; + break; + case '/': + stack_.back() = states::slash_slash; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::slash_star: + { + switch (*p_) + { + case '\r': + stack_.push_back(states::cr); + break; + case '\n': + stack_.push_back(states::lf); + break; + case '*': + stack_.back() = states::slash_star_star; + break; + } + } + ++p_; + ++column_; + break; + case states::slash_slash: + { + switch (*p_) + { + case '\r': + stack_.pop_back(); + break; + case '\n': + stack_.pop_back(); + break; + default: + ++p_; + ++column_; + } + } + break; + case states::slash_star_star: + { + switch (*p_) + { + case '/': + JSONCONS_ASSERT(!stack_.empty()) + stack_.pop_back(); + break; + default: + stack_.back() = states::slash_star; + break; + } + } + ++p_; + ++column_; + break; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad parser state"); + break; + } + } + index_ += (p_-begin_input_); + } + + void end_parse() + { + JSONCONS_ASSERT(stack_.size() >= 2); + if (parent() == states::root) + { + switch (stack_.back()) + { + case states::zero: + case states::integer: + end_integer_value(); + break; + case states::fraction: + case states::exp3: + end_fraction_value(); + break; + default: + break; + } + } + if (stack_.back() != states::done) + { + err_handler_->error(std::error_code(json_parser_errc::unexpected_eof, json_error_category()), *this); + } + } + + states state() const + { + return stack_.back(); + } + + size_t index() const + { + return index_; + } +private: + void end_fraction_value() + { + try + { + double d = float_reader_.read(number_buffer_.data(), precision_); + if (is_negative_) + d = -d; + handler_->value(d, static_cast(precision_), *this); + } + catch (...) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + handler_->value(null_type(), *this); // recovery + } + number_buffer_.clear(); + is_negative_ = false; + + JSONCONS_ASSERT(stack_.size() >= 2); + switch (parent()) + { + case states::array: + case states::object: + stack_.back() = states::expect_comma_or_end; + break; + case states::root: + stack_.back() = states::done; + handler_->end_json(); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + } + + void end_integer_value() + { + if (is_negative_) + { + try + { + int64_t d = string_to_integer(is_negative_, number_buffer_.data(), number_buffer_.length()); + handler_->value(d, *this); + } + catch (const std::exception&) + { + try + { + double d = float_reader_.read(number_buffer_.data(), number_buffer_.length()); + handler_->value(-d, static_cast(number_buffer_.length()), *this); + } + catch (...) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + handler_->value(null_type(), *this); + } + } + } + else + { + try + { + uint64_t d = string_to_uinteger(number_buffer_.data(), number_buffer_.length()); + handler_->value(d, *this); + } + catch (const std::exception&) + { + try + { + double d = float_reader_.read(number_buffer_.data(),number_buffer_.length()); + handler_->value(d, static_cast(number_buffer_.length()), *this); + } + catch (...) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + handler_->value(null_type(), *this); + } + } + } + + JSONCONS_ASSERT(stack_.size() >= 2); + switch (parent()) + { + case states::array: + case states::object: + stack_.back() = states::expect_comma_or_end; + break; + case states::root: + stack_.back() = states::done; + handler_->end_json(); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + number_buffer_.clear(); + is_negative_ = false; + } + + void append_codepoint(int c) + { + switch (c) + { + case '0': case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + case 'a':case 'b':case 'c':case 'd':case 'e':case 'f': + case 'A':case 'B':case 'C':case 'D':case 'E':case 'F': + cp_ = append_to_codepoint(cp_, c); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + + void append_second_codepoint(int c) + { + switch (c) + { + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + case 'a':case 'b':case 'c':case 'd':case 'e':case 'f': + case 'A':case 'B':case 'C':case 'D':case 'E':case 'F': + cp2_ = append_to_codepoint(cp2_, c); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + + void escape_next_char(int next_input) + { + switch (next_input) + { + case '\"': + string_buffer_.push_back('\"'); + stack_.back() = states::string; + break; + case '\\': + string_buffer_.push_back('\\'); + stack_.back() = states::string; + break; + case '/': + string_buffer_.push_back('/'); + stack_.back() = states::string; + break; + case 'b': + string_buffer_.push_back('\b'); + stack_.back() = states::string; + break; + case 'f': + string_buffer_.push_back('\f'); + stack_.back() = states::string; + break; + case 'n': + string_buffer_.push_back('\n'); + stack_.back() = states::string; + break; + case 'r': + string_buffer_.push_back('\r'); + stack_.back() = states::string; + break; + case 't': + string_buffer_.push_back('\t'); + stack_.back() = states::string; + break; + case 'u': + cp_ = 0; + stack_.back() = states::u1; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::illegal_escaped_character, json_error_category()), *this); + break; + } + } + + void end_string_value(const CharT* s, size_t length) + { + JSONCONS_ASSERT(stack_.size() >= 2); + switch (parent()) + { + case states::member_name: + handler_->name(s, length, *this); + stack_.pop_back(); + stack_.back() = states::expect_colon; + break; + case states::object: + case states::array: + handler_->value(s, length, *this); + stack_.back() = states::expect_comma_or_end; + break; + case states::root: + handler_->value(s, length, *this); + stack_.back() = states::done; + handler_->end_json(); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + } + + void begin_member_or_element() + { + JSONCONS_ASSERT(stack_.size() >= 2); + switch (parent()) + { + case states::object: + stack_.back() = states::expect_member_name; + break; + case states::array: + stack_.back() = states::expect_value; + break; + case states::root: + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + } + + uint32_t append_to_codepoint(uint32_t cp, int c) + { + cp *= 16; + if (c >= '0' && c <= '9') + { + cp += c - '0'; + } + else if (c >= 'a' && c <= 'f') + { + cp += c - 'a' + 10; + } + else if (c >= 'A' && c <= 'F') + { + cp += c - 'A' + 10; + } + else + { + err_handler_->error(std::error_code(json_parser_errc::invalid_hex_escape_sequence, json_error_category()), *this); + } + return cp; + } + + size_t do_line_number() const override + { + return line_; + } + + size_t do_column_number() const override + { + return column_; + } + + CharT do_current_char() const override + { + return p_ < end_input_? *p_ : 0; + } +}; + +typedef basic_json_parser json_parser; +typedef basic_json_parser wjson_parser; + +} + +#endif + diff --git a/runtime/include/jsoncons/json_parser.hpp.orig b/runtime/include/jsoncons/json_parser.hpp.orig new file mode 100644 index 0000000..e4769d5 --- /dev/null +++ b/runtime/include/jsoncons/json_parser.hpp.orig @@ -0,0 +1,2157 @@ +// Copyright 2015 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_PARSER_HPP +#define JSONCONS_JSON_PARSER_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include "jsoncons/jsoncons.hpp" +#include "jsoncons/json_input_handler.hpp" +#include "jsoncons/parse_error_handler.hpp" +#include "jsoncons/json_error_category.hpp" + +namespace jsoncons { + +enum class modes +{ + done, + start, + array_element, + object_member_name, + object_member_value +}; + +enum class states +{ + start, + slash, + slash_slash, + slash_star, + slash_star_star, + expect_comma_or_end, + object, + expect_member_name, + expect_colon, + expect_value, + array, + string, + escape, + u1, + u2, + u3, + u4, + expect_surrogate_pair1, + expect_surrogate_pair2, + u6, + u7, + u8, + u9, + minus, + zero, + integer, + fraction, + exp1, + exp2, + exp3, + n, + t, + f, + cr, + lf, + done, + scalar +}; + +template +class basic_json_parser : private basic_parsing_context +{ + static const int default_depth = 100; + + std::vector state_stack_; + int top_; + std::vector stack_; + basic_json_input_handler *handler_; + basic_parse_error_handler *err_handler_; + size_t column_; + size_t line_; + uint32_t cp_; + uint32_t cp2_; + std::basic_string string_buffer_; + std::basic_string number_buffer_; + bool is_negative_; + states saved_state_; + states pre_line_break_state_; + size_t index_; + int depth_; + int max_depth_; + float_reader float_reader_; + const CharT* begin_input_; + const CharT* end_input_; + const CharT* p_; + uint8_t precision_; + std::pair literal_; + size_t literal_index_; + + std::vector stack2_; + +public: + basic_json_parser(basic_json_input_handler& handler) + : top_(-1), + stack_(default_depth), + handler_(std::addressof(handler)), + err_handler_(std::addressof(basic_default_parse_error_handler::instance())), + column_(0), + line_(0), + cp_(0), + is_negative_(false), + index_(0), + depth_(default_depth) + { + max_depth_ = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + + basic_json_parser(basic_json_input_handler& handler, + basic_parse_error_handler& err_handler) + : top_(-1), + stack_(default_depth), + handler_(std::addressof(handler)), + err_handler_(std::addressof(err_handler)), + column_(0), + line_(0), + cp_(0), + is_negative_(false), + index_(0), + depth_(default_depth) + + { + max_depth_ = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + + const basic_parsing_context& parsing_context() const + { + return *this; + } + + ~basic_json_parser() + { + } + + size_t max_nesting_depth() const + { + return static_cast(max_depth_); + } + + void max_nesting_depth(size_t max_nesting_depth) + { + max_depth_ = static_cast(std::min(max_nesting_depth,static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()))); + if (depth_ > max_depth_) + { + depth_ = max_depth_; + stack_.resize(depth_); + } + } + + bool done() const + { + return state_stack_.back() == states::done; + } + + void begin_parse() + { + if (!push(modes::done)) + { + err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); + } + state_stack_.clear(); + state_stack_.push_back(states::start); + line_ = 1; + column_ = 1; + stack2_.push_back(states::start); + stack2_.push_back(states::scalar); + } + + void check_done(const CharT* input, size_t start, size_t length) + { + index_ = start; + for (; index_ < length; ++index_) + { + CharT curr_char_ = input[index_]; + switch (curr_char_) + { + case '\n': + case '\r': + case '\t': + case ' ': + break; + default: + err_handler_->error(std::error_code(json_parser_errc::extra_character, json_error_category()), *this); + break; + } + } + } + + bool parse_string(const CharT** first, const CharT** last) + { + const CharT* sb = p_; + bool done = false; + bool complete = false; + while (!done && p_ < end_input_) + { + switch (*p_) + { + case 0x00:case 0x01:case 0x02:case 0x03:case 0x04:case 0x05:case 0x06:case 0x07:case 0x08:case 0x0b: + case 0x0c:case 0x0e:case 0x0f:case 0x10:case 0x11:case 0x12:case 0x13:case 0x14:case 0x15:case 0x16: + case 0x17:case 0x18:case 0x19:case 0x1a:case 0x1b:case 0x1c:case 0x1d:case 0x1e:case 0x1f: + string_buffer_.append(sb,p_-sb); + column_ += (p_ - sb + 1); + err_handler_->error(std::error_code(json_parser_errc::illegal_control_character, json_error_category()), *this); + // recovery - skip + done = true; + ++p_; + break; + case '\r': + { + column_ += (p_ - sb + 1); + err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); + // recovery - keep + string_buffer_.append(sb, p_ - sb + 1); +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + done = true; + ++p_; + + stack2_.push_back(states::cr); + } + break; + case '\n': + { + column_ += (p_ - sb + 1); + err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); + // recovery - keep + string_buffer_.append(sb, p_ - sb + 1); + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; + done = true; + ++p_; + + stack2_.push_back(states::lf); + } + break; + case '\t': + { + column_ += (p_ - sb + 1); + err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); + // recovery - keep + string_buffer_.append(sb, p_ - sb + 1); + done = true; + ++p_; + } + break; + case '\\': + string_buffer_.append(sb,p_-sb); + column_ += (p_ - sb + 1); +<<<<<<< HEAD + state_stack_.back() = states::escape; +======= + state_ = states::escape; + stack2_.front() = states::escape; +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + done = true; + ++p_; + break; + case '\"': + if (string_buffer_.length() == 0) + { + *first = sb; + *last = p_; + //end_string_value(sb,p_-sb); + } + else + { + string_buffer_.append(sb,p_-sb); + *first = string_buffer_.data(); + *last = string_buffer_.data() + string_buffer_.length(); + //end_string_value(string_buffer_.data(),string_buffer_.length()); + //string_buffer_.clear(); + } + column_ += (p_ - sb + 1); + done = true; + complete = true; + ++p_; + break; + default: + ++p_; + break; + } + } + if (!done) + { + string_buffer_.append(sb,p_-sb); + column_ += (p_ - sb + 1); + } + + return complete; + } + + void parse(const CharT* const input, size_t start, size_t length) + { + begin_input_ = input + start; + end_input_ = input + length; + p_ = begin_input_; + + index_ = start; + while ((p_ < end_input_) && (state_stack_.back() != states::done)) + { + switch (*p_) + { + case 0x00:case 0x01:case 0x02:case 0x03:case 0x04:case 0x05:case 0x06:case 0x07:case 0x08:case 0x0b: + case 0x0c:case 0x0e:case 0x0f:case 0x10:case 0x11:case 0x12:case 0x13:case 0x14:case 0x15:case 0x16: + case 0x17:case 0x18:case 0x19:case 0x1a:case 0x1b:case 0x1c:case 0x1d:case 0x1e:case 0x1f: + err_handler_->error(std::error_code(json_parser_errc::illegal_control_character, json_error_category()), *this); + break; + default: + break; + } + + switch (state_stack_.back()) + { + case states::cr: + ++line_; + column_ = 1; + switch (*p_) + { + case '\n': + state_stack_.back() = pre_line_break_state_; + ++p_; + break; + default: + state_stack_.back() = pre_line_break_state_; + break; + } + JSONCONS_ASSERT(stack2_.size() > 0); + stack2_.pop_back(); + break; + case states::lf: + ++line_; + column_ = 1; +<<<<<<< HEAD + state_stack_.back() = pre_line_break_state_; +======= + state_ = pre_line_break_state_; + JSONCONS_ASSERT(stack2_.size() > 0); + stack2_.pop_back(); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case states::start: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + break; + case '{': + handler_->begin_json(); + if (!push(modes::object_member_name)) + { + err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); + } +<<<<<<< HEAD + state_stack_.back() = states::object; +======= + state_ = states::object; + +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + handler_->begin_object(*this); + break; + case '[': + handler_->begin_json(); + if (!push(modes::array_element)) + { + err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); + } + state_stack_.back() = states::array; + handler_->begin_array(*this); + break; + case '\"': + handler_->begin_json(); + flip(modes::done, modes::start); + state_stack_.back() = states::string; + break; + case '-': + handler_->begin_json(); + flip(modes::done, modes::start); + is_negative_ = true; + state_stack_.back() = states::minus; + break; + case '0': + handler_->begin_json(); + flip(modes::done, modes::start); + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::zero; + break; + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + handler_->begin_json(); + flip(modes::done, modes::start); + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::integer; + break; + case 'f': + handler_->begin_json(); + flip(modes::done, modes::start); + state_stack_.back() = states::f; + literal_ = json_literals::false_literal(); + literal_index_ = 1; + break; + case 'n': + handler_->begin_json(); + flip(modes::done, modes::start); + state_stack_.back() = states::n; + literal_ = json_literals::null_literal(); + literal_index_ = 1; + break; + case 't': + handler_->begin_json(); + flip(modes::done, modes::start); + state_stack_.back() = states::t; + literal_ = json_literals::true_literal(); + literal_index_ = 1; + break; + case '/': + saved_state_ = state_stack_.back(); + state_stack_.back() = states::slash; + break; + case '}': + err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_brace, json_error_category()), *this); + break; + case ']': + err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_bracket, json_error_category()), *this); + break; + default: + err_handler_->fatal_error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + + case states::expect_comma_or_end: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + break; + case '}': + if (peek() == modes::object_member_value) + { + pop(modes::object_member_value); + handler_->end_object(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + } + else if (peek() == modes::array_element) + { + err_handler_->fatal_error(std::error_code(json_parser_errc::expected_comma_or_right_bracket, json_error_category()), *this); + } + else + { + err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_brace, json_error_category()), *this); + } + break; + case ']': + if (peek() == modes::array_element) + { + pop(modes::array_element); + handler_->end_array(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + } + else if (peek() == modes::object_member_value) + { + err_handler_->fatal_error(std::error_code(json_parser_errc::expected_comma_or_right_brace, json_error_category()), *this); + } + else + { + err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_bracket, json_error_category()), *this); + } + break; + case ',': + begin_member_or_element(); + break; + case '/': + saved_state_ = state_stack_.back(); + state_stack_.back() = states::slash; + break; + default: + if (peek() == modes::array_element) + { + err_handler_->error(std::error_code(json_parser_errc::expected_comma_or_right_bracket, json_error_category()), *this); + } + else if (peek() == modes::object_member_value) + { + err_handler_->error(std::error_code(json_parser_errc::expected_comma_or_right_brace, json_error_category()), *this); + } + break; + } + } + ++p_; + ++column_; + break; + case states::object: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + break; + case '}': + if (!pop(modes::object_member_name)) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + } + handler_->end_object(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + break; + case '\"': + state_stack_.back() = states::string; + break; + case '/': + saved_state_ = state_stack_.back(); + state_stack_.back() = states::slash; + break; + case '\'': + err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_name, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::expect_member_name: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + break; + case '\"': + state_stack_.back() = states::string; + break; + case '/': + saved_state_ = state_stack_.back(); + state_stack_.back() = states::slash; + break; + case '}': + err_handler_->error(std::error_code(json_parser_errc::extra_comma, json_error_category()), *this); + break; + case '\'': + err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_name, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::expect_colon: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + break; + case ':': + begin_member_value(); + state_stack_.back() = states::expect_value; + break; + case '/': + saved_state_ = state_stack_.back(); + state_stack_.back() = states::slash; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_colon, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::expect_value: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + break; + case '{': + if (!push(modes::object_member_name)) + { + err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); + } + state_stack_.back() = states::object; + handler_->begin_object(*this); + break; + case '[': + if (!push(modes::array_element)) + { + err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); + } + state_stack_.back() = states::array; + handler_->begin_array(*this); + break; + case '/': + saved_state_ = state_stack_.back(); + state_stack_.back() = states::slash; + break; + + case '\"': + state_stack_.back() = states::string; + break; + case '-': + is_negative_ = true; + state_stack_.back() = states::minus; + break; + case '0': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::zero; + break; + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::integer; + break; + case 'f': + state_stack_.back() = states::f; + literal_ = json_literals::false_literal(); + literal_index_ = 1; + /*if ((p_+4) < end_input_) + { + if ((*(p_+1) == 'a') & (*(p_+2) == 'l') & (*(p_+3) == 's') & (*(p_+4) == 'e')) + { + p_ += 4; + column_ += 4; + handler_->value(false, *this); + if (peek() == modes::start) + { + flip(modes::start,modes::done); + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + } + }*/ + break; + case 'n': + state_stack_.back() = states::n; + literal_ = json_literals::null_literal(); + literal_index_ = 1; + break; + case 't': + state_stack_.back() = states::t; + literal_ = json_literals::true_literal(); + literal_index_ = 1; + break; + case ']': + if (peek() == modes::array_element) + { + err_handler_->error(std::error_code(json_parser_errc::extra_comma, json_error_category()), *this); + } + else + { + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + } + break; + case '\'': + err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::array: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + break; + case '{': + if (!push(modes::object_member_name)) + { + err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); + } + state_stack_.back() = states::object; + handler_->begin_object(*this); + break; + case '[': + if (!push(modes::array_element)) + { + err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); + } + state_stack_.back() = states::array; + handler_->begin_array(*this); + break; + case ']': + if (!pop(modes::array_element)) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + } + handler_->end_array(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + break; + case '\"': + state_stack_.back() = states::string; + break; + case '/': + saved_state_ = state_stack_.back(); + state_stack_.back() = states::slash; + break; + case '-': + is_negative_ = true; + state_stack_.back() = states::minus; + break; + case '0': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::zero; + break; + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::integer; + break; + case 'f': + state_stack_.back() = states::f; + literal_ = json_literals::false_literal(); + literal_index_ = 1; + /*if ((p_+4) < end_input_) + { + if ((*(p_+1) == 'a') & (*(p_+2) == 'l') & (*(p_+3) == 's') & (*(p_+4) == 'e')) + { + p_ += 4; + column_ += 4; + handler_->value(false, *this); + if (peek() == modes::start) + { + flip(modes::start,modes::done); + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + } + }*/ + break; + case 'n': + state_stack_.back() = states::n; + literal_ = json_literals::null_literal(); + literal_index_ = 1; + break; + case 't': + state_stack_.back() = states::t; + literal_ = json_literals::true_literal(); + literal_index_ = 1; + break; + case '\'': + err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::string: + { + const CharT* first; + const CharT* last; + if (parse_string(&first,&last)) + { + end_string_value(first,last-first); + string_buffer_.clear(); + } + } + break; + case states::escape: + { + escape_next_char(*p_); + } + ++p_; + ++column_; + break; + case states::u1: + { + append_codepoint(*p_); + state_stack_.back() = states::u2; + } + ++p_; + ++column_; + break; + case states::u2: + { + append_codepoint(*p_); + state_stack_.back() = states::u3; + } + ++p_; + ++column_; + break; + case states::u3: + { + append_codepoint(*p_); + state_stack_.back() = states::u4; + } + ++p_; + ++column_; + break; + case states::u4: + { + append_codepoint(*p_); + if (cp_ >= min_lead_surrogate && cp_ <= max_lead_surrogate) + { + state_stack_.back() = states::expect_surrogate_pair1; + } + else + { + json_char_traits::append_codepoint_to_string(cp_, string_buffer_); + state_stack_.back() = states::string; + } + } + ++p_; + ++column_; + break; + case states::expect_surrogate_pair1: + { + switch (*p_) + { + case '\\': + cp2_ = 0; + state_stack_.back() = states::expect_surrogate_pair2; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_codepoint_surrogate_pair, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::expect_surrogate_pair2: + { + switch (*p_) + { + case 'u': + state_stack_.back() = states::u6; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_codepoint_surrogate_pair, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::u6: + { + append_second_codepoint(*p_); + state_stack_.back() = states::u7; + } + ++p_; + ++column_; + break; + case states::u7: + { + append_second_codepoint(*p_); + state_stack_.back() = states::u8; + } + ++p_; + ++column_; + break; + case states::u8: + { + append_second_codepoint(*p_); + state_stack_.back() = states::u9; + } + ++p_; + ++column_; + break; + case states::u9: + { + append_second_codepoint(*p_); + uint32_t cp = 0x10000 + ((cp_ & 0x3FF) << 10) + (cp2_ & 0x3FF); + json_char_traits::append_codepoint_to_string(cp, string_buffer_); + state_stack_.back() = states::string; + } + ++p_; + ++column_; + break; + case states::minus: + { + switch (*p_) + { + case '0': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::zero; + break; + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::integer; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::zero: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + end_integer_value(); + break; // No change + case '}': + end_integer_value(); + if (!pop(modes::object_member_value)) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + } + handler_->end_object(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + break; + case ']': + end_integer_value(); + if (!pop(modes::array_element)) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + } + handler_->end_array(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + break; + case '.': + precision_ = static_cast(number_buffer_.length()); + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::fraction; + break; + case ',': + end_integer_value(); + begin_member_or_element(); + break; + case '0': case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + err_handler_->error(std::error_code(json_parser_errc::leading_zero, json_error_category()), *this); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::integer: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + end_integer_value(); + break; + case '}': + end_integer_value(); + if (!pop(modes::object_member_value)) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + } + handler_->end_object(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + break; + case ']': + end_integer_value(); + if (!pop(modes::array_element)) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + } + handler_->end_array(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + break; + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::integer; + break; + case '.': + precision_ = static_cast(number_buffer_.length()); + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::fraction; + break; + case ',': + end_integer_value(); + begin_member_or_element(); + break; + case 'e':case 'E': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::exp1; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::fraction: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + end_fraction_value(); + break; + case '}': + end_fraction_value(); + if (!pop(modes::object_member_value)) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + } + handler_->end_object(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + break; + case ']': + end_fraction_value(); + if (!pop(modes::array_element)) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + } + handler_->end_array(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + break; + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + ++precision_; + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::fraction; + break; + case ',': + end_fraction_value(); + begin_member_or_element(); + break; + case 'e':case 'E': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::exp1; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::exp1: + { + switch (*p_) + { + case '+': + state_stack_.back() = states::exp2; + break; + case '-': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::exp2; + break; + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::exp3; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::exp2: + { + switch (*p_) + { + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::exp3; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::exp3: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case ' ':case '\t': + { + bool done = false; + while (!done && (p_ + 1) < end_input_) + { + switch (*(p_ + 1)) + { + case ' ':case '\t': + ++p_; + ++column_; + break; + default: + done = true; + break; + } + } + } + end_fraction_value(); + break; + case '}': + end_fraction_value(); + if (!pop(modes::object_member_value)) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + } + handler_->end_object(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + break; + case ']': + end_fraction_value(); + if (!pop(modes::array_element)) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + } + handler_->end_array(*this); + if (peek() == modes::done) + { + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + break; + case ',': + end_fraction_value(); + begin_member_or_element(); + break; + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + number_buffer_.push_back(static_cast(*p_)); + state_stack_.back() = states::exp3; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::t: + while (p_ < end_input_ && literal_index_ < literal_.second) + { + if (*p_ != literal_.first[literal_index_]) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); + } + ++p_; + ++literal_index_; + ++column_; + } + if (literal_index_ == literal_.second) + { + handler_->value(true, *this); + if (peek() == modes::start) + { + flip(modes::start,modes::done); + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + } + break; + case states::f: + while (p_ < end_input_ && literal_index_ < literal_.second) + { + if (*p_ != literal_.first[literal_index_]) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); + } + ++p_; + ++literal_index_; + ++column_; + } + if (literal_index_ == literal_.second) + { + handler_->value(false, *this); + if (peek() == modes::start) + { + flip(modes::start,modes::done); + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + } + break; + case states::n: + while (p_ < end_input_ && literal_index_ < literal_.second) + { + if (*p_ != literal_.first[literal_index_]) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); + } + ++p_; + ++literal_index_; + ++column_; + } + if (literal_index_ == literal_.second) + { + handler_->value(null_type(), *this); + if (peek() == modes::start) + { + flip(modes::start,modes::done); + state_stack_.back() = states::done; + handler_->end_json(); + } + else + { + state_stack_.back() = states::expect_comma_or_end; + } + } + break; + case states::slash: + { + switch (*p_) + { + case '*': + state_stack_.back() = states::slash_star; + break; + case '/': + state_stack_.back() = states::slash_slash; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + } + ++p_; + ++column_; + break; + case states::slash_star: + { + switch (*p_) + { + case '\r': +<<<<<<< HEAD + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = state_stack_.back(); + state_stack_.back() = states::lf; +======= + pre_line_break_state_ = state_; + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + case '*': + state_stack_.back() = states::slash_star_star; + break; + } + } + ++p_; + ++column_; + break; + case states::slash_slash: + { + switch (*p_) + { + case '\r': + pre_line_break_state_ = saved_state_; +<<<<<<< HEAD + state_stack_.back() = states::cr; + break; + case '\n': + pre_line_break_state_ = saved_state_; + state_stack_.back() = states::lf; +======= + state_ = states::cr; + stack2_.push_back(states::cr); + break; + case '\n': + pre_line_break_state_ = saved_state_; + state_ = states::lf; + stack2_.push_back(states::lf); +>>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 + break; + } + } + ++p_; + ++column_; + break; + case states::slash_star_star: + { + switch (*p_) + { + case '/': + state_stack_.back() = saved_state_; + break; + default: + state_stack_.back() = states::slash_star; + break; + } + } + ++p_; + ++column_; + break; + default: + JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad parser state"); + break; + } + } + index_ += (p_-begin_input_); + } + + void end_parse() + { + if (peek() == modes::start) + { + switch (state_stack_.back()) + { + case states::zero: + case states::integer: + end_integer_value(); + break; + case states::fraction: + case states::exp3: + end_fraction_value(); + break; + default: + break; + } + } + if (!pop(modes::done)) + { + err_handler_->error(std::error_code(json_parser_errc::unexpected_eof, json_error_category()), *this); + } + } + + states state() const + { + return state_stack_.back(); + } + + size_t index() const + { + return index_; + } +private: + void end_fraction_value() + { + try + { + double d = float_reader_.read(number_buffer_.data(), precision_); + if (is_negative_) + d = -d; + handler_->value(d, static_cast(precision_), *this); + } + catch (...) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + handler_->value(null_type(), *this); // recovery + } + number_buffer_.clear(); + is_negative_ = false; + switch (stack_[top_]) + { + case modes::array_element: + case modes::object_member_value: + state_stack_.back() = states::expect_comma_or_end; + break; + case modes::start: + flip(modes::start,modes::done); + state_stack_.back() = states::done; + handler_->end_json(); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + } + + void end_integer_value() + { + if (is_negative_) + { + try + { + int64_t d = string_to_integer(is_negative_, number_buffer_.data(), number_buffer_.length()); + handler_->value(d, *this); + } + catch (const std::exception&) + { + try + { + double d = float_reader_.read(number_buffer_.data(), number_buffer_.length()); + handler_->value(-d, static_cast(number_buffer_.length()), *this); + } + catch (...) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + handler_->value(null_type(), *this); + } + } + } + else + { + try + { + uint64_t d = string_to_uinteger(number_buffer_.data(), number_buffer_.length()); + handler_->value(d, *this); + } + catch (const std::exception&) + { + try + { + double d = float_reader_.read(number_buffer_.data(),number_buffer_.length()); + handler_->value(d, static_cast(number_buffer_.length()), *this); + } + catch (...) + { + err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); + handler_->value(null_type(), *this); + } + } + } + + switch (stack_[top_]) + { + case modes::array_element: + case modes::object_member_value: + state_stack_.back() = states::expect_comma_or_end; + break; + case modes::start: + flip(modes::start,modes::done); + state_stack_.back() = states::done; + handler_->end_json(); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + number_buffer_.clear(); + is_negative_ = false; + } + + void append_codepoint(int c) + { + switch (c) + { + case '0': case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + case 'a':case 'b':case 'c':case 'd':case 'e':case 'f': + case 'A':case 'B':case 'C':case 'D':case 'E':case 'F': + cp_ = append_to_codepoint(cp_, c); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + + void append_second_codepoint(int c) + { + switch (c) + { + case '0': + case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': + case 'a':case 'b':case 'c':case 'd':case 'e':case 'f': + case 'A':case 'B':case 'C':case 'D':case 'E':case 'F': + cp2_ = append_to_codepoint(cp2_, c); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); + break; + } + } + + void escape_next_char(int next_input) + { + switch (next_input) + { + case '\"': + string_buffer_.push_back('\"'); + state_stack_.back() = states::string; + break; + case '\\': + string_buffer_.push_back('\\'); + state_stack_.back() = states::string; + break; + case '/': + string_buffer_.push_back('/'); + state_stack_.back() = states::string; + break; + case 'b': + string_buffer_.push_back('\b'); + state_stack_.back() = states::string; + break; + case 'f': + string_buffer_.push_back('\f'); + state_stack_.back() = states::string; + break; + case 'n': + string_buffer_.push_back('\n'); + state_stack_.back() = states::string; + break; + case 'r': + string_buffer_.push_back('\r'); + state_stack_.back() = states::string; + break; + case 't': + string_buffer_.push_back('\t'); + state_stack_.back() = states::string; + break; + case 'u': + cp_ = 0; + state_stack_.back() = states::u1; + break; + default: + err_handler_->error(std::error_code(json_parser_errc::illegal_escaped_character, json_error_category()), *this); + break; + } + } + + void end_string_value(const CharT* s, size_t length) + { + switch (stack_[top_]) + { + case modes::object_member_name: + handler_->name(s, length, *this); + state_stack_.back() = states::expect_colon; + break; + case modes::array_element: + case modes::object_member_value: + handler_->value(s, length, *this); + state_stack_.back() = states::expect_comma_or_end; + break; + case modes::start: + handler_->value(s, length, *this); + flip(modes::start,modes::done); + state_stack_.back() = states::done; + handler_->end_json(); + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + } + + void begin_member_or_element() + { + switch (stack_[top_]) + { + case modes::object_member_value: + // A comma causes a flip from object_member_value modes to object_member_name modes. + flip(modes::object_member_value, modes::object_member_name); + state_stack_.back() = states::expect_member_name; + break; + case modes::array_element: + state_stack_.back() = states::expect_value; + break; + case modes::done: + break; + default: + err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); + break; + } + } + + void begin_member_value() + { + flip(modes::object_member_name, modes::object_member_value); + state_stack_.back() = states::expect_value; + } + + uint32_t append_to_codepoint(uint32_t cp, int c) + { + cp *= 16; + if (c >= '0' && c <= '9') + { + cp += c - '0'; + } + else if (c >= 'a' && c <= 'f') + { + cp += c - 'a' + 10; + } + else if (c >= 'A' && c <= 'F') + { + cp += c - 'A' + 10; + } + else + { + err_handler_->error(std::error_code(json_parser_errc::invalid_hex_escape_sequence, json_error_category()), *this); + } + return cp; + } + + size_t do_line_number() const override + { + return line_; + } + + size_t do_column_number() const override + { + return column_; + } + + CharT do_current_char() const override + { + return p_ < end_input_? *p_ : 0; + } + + bool push(modes mode) + { + ++top_; + if (top_ >= depth_) + { + if (top_ >= max_depth_) + { + return false; + } + depth_ *= 2; + stack_.resize(depth_); + } + stack_[top_] = mode; + return true; + } + + modes peek() + { + return stack_[top_]; + } + + bool peek(modes mode) + { + return stack_[top_] == mode; + } + + void flip(modes mode1, modes mode2) + { + JSONCONS_ASSERT((top_ >= 0) && (stack_[top_] == mode1)) + stack_[top_] = mode2; + } + + bool pop(modes mode) + { + if (top_ < 0 || stack_[top_] != mode) + { + return false; + } + --top_; + return true; + } +}; + +typedef basic_json_parser json_parser; +typedef basic_json_parser wjson_parser; + +} + +#endif + diff --git a/runtime/include/jsoncons/json_reader.hpp b/runtime/include/jsoncons/json_reader.hpp new file mode 100644 index 0000000..a0dd464 --- /dev/null +++ b/runtime/include/jsoncons/json_reader.hpp @@ -0,0 +1,176 @@ +// Copyright 2015 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_READER_HPP +#define JSONCONS_JSON_READER_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include "jsoncons/jsoncons.hpp" +#include "jsoncons/json_input_handler.hpp" +#include "jsoncons/parse_error_handler.hpp" +#include "jsoncons/json_parser.hpp" + +namespace jsoncons { + +template +class basic_json_reader +{ + static const size_t default_max_buffer_length = 16384; + + basic_json_parser parser_; + std::basic_istream *is_; + basic_parse_error_handler *err_handler_; + bool eof_; + std::vector buffer_; + size_t buffer_length_; + size_t buffer_capacity_; + size_t index_; +public: + basic_json_reader(std::basic_istream& is, + basic_json_input_handler& handler) + : parser_(handler), + is_(std::addressof(is)), + err_handler_(std::addressof(basic_default_parse_error_handler::instance())), + eof_(false), + buffer_length_(0), + buffer_capacity_(default_max_buffer_length), + index_(0) + { + buffer_.resize(buffer_capacity_); + } + + basic_json_reader(std::basic_istream& is, + basic_json_input_handler& handler, + basic_parse_error_handler& err_handler) + : parser_(handler,err_handler), + is_(std::addressof(is)), + err_handler_(std::addressof(err_handler)), + eof_(false), + buffer_length_(0), + buffer_capacity_(default_max_buffer_length), + index_(0) + { + buffer_.resize(buffer_capacity_); + } + + size_t buffer_capacity() const + { + return buffer_capacity_; + } + + void buffer_capacity(size_t capacity) + { + buffer_capacity_ = capacity; + buffer_.resize(buffer_capacity_); + } + + size_t max_nesting_depth() const + { + return parser_.max_nesting_depth(); + } + + void max_nesting_depth(size_t depth) + { + parser_.max_nesting_depth(depth); + } + + void read_next() + { + parser_.begin_parse(); + while (!eof_ && !parser_.done()) + { + if (!(index_ < buffer_length_)) + { + if (!is_->eof()) + { + is_->read(buffer_.data(), buffer_capacity_); + buffer_length_ = static_cast(is_->gcount()); + if (buffer_length_ == 0) + { + eof_ = true; + } + index_ = 0; + } + else + { + eof_ = true; + } + } + if (!eof_) + { + parser_.parse(buffer_.data(),index_,buffer_length_); + index_ = parser_.index(); + } + } + parser_.end_parse(); + } + + void check_done() + { + while (!eof_) + { + if (!(index_ < buffer_length_)) + { + if (!is_->eof()) + { + is_->read(buffer_.data(), buffer_capacity_); + buffer_length_ = static_cast(is_->gcount()); + if (buffer_length_ == 0) + { + eof_ = true; + } + index_ = 0; + } + else + { + eof_ = true; + } + } + if (!eof_) + { + parser_.check_done(buffer_.data(),index_,buffer_length_); + index_ = parser_.index(); + } + } + } + + bool eof() const + { + return eof_; + } + +#if !defined(JSONCONS_NO_DEPRECATED) + void read() + { + read_next(); + } + + size_t max_depth() const + { + return parser_.max_nesting_depth(); + } + + void max_depth(size_t depth) + { + parser_.max_nesting_depth(depth); + } +#endif +}; + +typedef basic_json_reader json_reader; +typedef basic_json_reader wjson_reader; + +} + +#endif + diff --git a/runtime/include/jsoncons/json_serializer.hpp b/runtime/include/jsoncons/json_serializer.hpp new file mode 100644 index 0000000..9bb5705 --- /dev/null +++ b/runtime/include/jsoncons/json_serializer.hpp @@ -0,0 +1,318 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_SERIALIZER_HPP +#define JSONCONS_JSON_SERIALIZER_HPP + +#include +#include +#include +#include +#include +#include +#include // std::numeric_limits +#include +#include "jsoncons/jsoncons.hpp" +#include "jsoncons/output_format.hpp" +#include "jsoncons/json_output_handler.hpp" + +namespace jsoncons { + +template +class basic_json_serializer : public basic_json_output_handler +{ + static const size_t default_buffer_length = 16384; + + struct stack_item + { + stack_item(bool is_object) + : is_object_(is_object), count_(0), content_indented_(false) + { + } + bool is_object() const + { + return is_object_; + } + + bool is_object_; + size_t count_; + bool content_indented_; + }; + basic_output_format format_; + std::vector stack_; + int indent_; + std::streamsize original_precision_; + std::ios_base::fmtflags original_format_flags_; + bool indenting_; + float_printer fp_; + buffered_ostream bos_; +public: + basic_json_serializer(std::basic_ostream& os) + : indent_(0), + indenting_(false), + fp_(format_.precision()), + bos_(os) + { + } + + basic_json_serializer(std::basic_ostream& os, bool indenting) + : indent_(0), + indenting_(indenting), + fp_(format_.precision()), + bos_(os) + { + } + + basic_json_serializer(std::basic_ostream& os, const basic_output_format& format) + : format_(format), + indent_(0), + indenting_(false), + fp_(format_.precision()), + bos_(os) + { + } + basic_json_serializer(std::basic_ostream& os, const basic_output_format& format, bool indenting) + : format_(format), + indent_(0), + indenting_(indenting), + fp_(format_.precision()), + bos_(os) + { + } + + ~basic_json_serializer() + { + } + +private: + // Implementing methods + void do_begin_json() override + { + } + + void do_end_json() override + { + bos_.flush(); + } + + void do_begin_object() override + { + begin_structure(); + + if (indenting_ && !stack_.empty() && stack_.back().is_object()) + { + write_indent(); + } + stack_.push_back(stack_item(true)); + bos_.put('{'); + indent(); + } + + void do_end_object() override + { + unindent(); + if (indenting_ && !stack_.empty()) + { + write_indent(); + } + stack_.pop_back(); + bos_.put('}'); + + end_value(); + } + + void do_begin_array() override + { + begin_structure(); + + if (indenting_ && !stack_.empty() && stack_.back().is_object()) + { + write_indent(); + } + stack_.push_back(stack_item(false)); + bos_.put('['); + indent(); + } + + void do_end_array() override + { + unindent(); + if (indenting_ && !stack_.empty() && stack_.back().content_indented_) + { + write_indent(); + } + stack_.pop_back(); + bos_.put(']'); + + end_value(); + } + + void do_name(const CharT* name, size_t length) override + { + begin_element(); + bos_.put('\"'); + escape_string(name, length, format_, bos_); + bos_.put('\"'); + bos_.put(':'); + } + + void do_null_value() override + { + begin_value(); + + auto buf = json_literals::null_literal(); + bos_.write(buf.first,buf.second); + + end_value(); + } + + void do_string_value(const CharT* value, size_t length) override + { + begin_value(); + + bos_. put('\"'); + escape_string(value, length, format_, bos_); + bos_. put('\"'); + + end_value(); + } + + void do_double_value(double value, uint8_t precision) override + { + begin_value(); + + if (is_nan(value) && format_.replace_nan()) + { + bos_.write(format_.nan_replacement()); + } + else if (is_pos_inf(value) && format_.replace_pos_inf()) + { + bos_.write(format_.pos_inf_replacement()); + } + else if (is_neg_inf(value) && format_.replace_neg_inf()) + { + bos_.write(format_.neg_inf_replacement()); + } + //else if (format_.floatfield() != 0) + //{ + //std::basic_ostringstream os; + //os.imbue(std::locale::classic()); + //os.setf(format_.floatfield(), std::ios::floatfield); + //os << std::showpoint << std::setprecision(format_.precision()) << value; + //*os_ << os.str(); + //} + else + { + fp_.print(value,precision,bos_); + } + + end_value(); + } + + void do_integer_value(int64_t value) override + { + begin_value(); + print_integer(value,bos_); + end_value(); + } + + void do_uinteger_value(uint64_t value) override + { + begin_value(); + print_uinteger(value,bos_); + end_value(); + } + + void do_bool_value(bool value) override + { + begin_value(); + + if (value) + { + auto buf = json_literals::true_literal(); + bos_.write(buf.first,buf.second); + } + else + { + auto buf = json_literals::false_literal(); + bos_.write(buf.first,buf.second); + } + + end_value(); + } + + void begin_element() + { + if (!stack_.empty()) + { + if (stack_.back().count_ > 0) + { + bos_. put(','); + } + if (indenting_) + { + write_indent(); + } + } + } + + void begin_value() + { + if (!stack_.empty() && !stack_.back().is_object()) + { + //begin_element(); + if (stack_.back().count_ > 0) + { + bos_. put(','); + } + } + } + + void end_value() + { + if (!stack_.empty()) + { + ++stack_.back().count_; + } + } + + void begin_structure() + { + if (!stack_.empty() && !stack_.back().is_object()) + { + begin_element(); + } + } + + void indent() + { + indent_ += static_cast(format_.indent()); + } + + void unindent() + { + indent_ -= static_cast(format_.indent()); + } + + void write_indent() + { + if (!stack_.empty()) + { + stack_.back().content_indented_ = true; + } + bos_. put('\n'); + for (int i = 0; i < indent_; ++i) + { + bos_. put(' '); + } + } +}; + +typedef basic_json_serializer json_serializer; +typedef basic_json_serializer wjson_serializer; + +} +#endif diff --git a/runtime/include/jsoncons/json_structures.hpp b/runtime/include/jsoncons/json_structures.hpp new file mode 100644 index 0000000..5c4e1de --- /dev/null +++ b/runtime/include/jsoncons/json_structures.hpp @@ -0,0 +1,895 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_STRUCTURES_HPP +#define JSONCONS_JSON_STRUCTURES_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "jsoncons/jsoncons.hpp" + +namespace jsoncons { + +template +class json_array +{ +public: + typedef Alloc allocator_type; + typedef JsonT value_type; + typedef typename std::allocator_traits:: template rebind_alloc vector_allocator_type; + typedef typename std::vector::reference reference; + typedef typename std::vector::const_reference const_reference; + typedef typename std::vector::iterator iterator; + typedef typename std::vector::const_iterator const_iterator; + + json_array() + : elements_() + { + } + + explicit json_array(const Alloc& allocator) + : elements_(allocator) + { + } + + explicit json_array(size_t n, const Alloc& allocator = Alloc()) + : elements_(n,JsonT(),allocator) + { + } + + explicit json_array(size_t n, const JsonT& value, const Alloc& allocator = Alloc()) + : elements_(n,value,allocator) + { + } + + template + json_array(InputIterator begin, InputIterator end, const Alloc& allocator = Alloc()) + : elements_(begin,end,allocator) + { + } + + json_array(const json_array& val) + : elements_(val.elements_) + { + } + + json_array(const json_array& val, const Alloc& allocator) + : elements_(val.elements_,allocator) + { + } + json_array(json_array&& val) + : elements_(std::move(val.elements_)) + { + } + json_array(json_array&& val, const Alloc& allocator) + : elements_(std::move(val.elements_),allocator) + { + } + + json_array(std::initializer_list init, + const Alloc& allocator = Alloc()) + : elements_(std::move(init),allocator) + { + } + + Alloc get_allocator() const + { + return elements_.get_allocator(); + } + + void swap(json_array& val) + { + elements_.swap(val.elements_); + } + + size_t size() const {return elements_.size();} + + size_t capacity() const {return elements_.capacity();} + + void clear() {elements_.clear();} + + void shrink_to_fit() + { + for (size_t i = 0; i < elements_.size(); ++i) + { + elements_[i].shrink_to_fit(); + } + elements_.shrink_to_fit(); + } + + void reserve(size_t n) {elements_.reserve(n);} + + void resize(size_t n) {elements_.resize(n);} + + void resize(size_t n, const JsonT& val) {elements_.resize(n,val);} + + void remove_range(size_t from_index, size_t to_index) + { + JSONCONS_ASSERT(from_index <= to_index); + JSONCONS_ASSERT(to_index <= elements_.size()); + elements_.erase(elements_.begin()+from_index,elements_.begin()+to_index); + } + + void erase(iterator first, iterator last) + { + elements_.erase(first,last); + } + + JsonT& operator[](size_t i) {return elements_[i];} + + const JsonT& operator[](size_t i) const {return elements_[i];} + + void push_back(const JsonT& value) + { + elements_.push_back(value); + } + + void push_back(JsonT&& value) + { + elements_.push_back(std::move(value)); + } + + void add(size_t index, const JsonT& value) + { + auto position = index < elements_.size() ? elements_.begin() + index : elements_.end(); + elements_.insert(position, value); + } + + void add(size_t index, JsonT&& value) + { + auto it = index < elements_.size() ? elements_.begin() + index : elements_.end(); + elements_.insert(it, std::move(value)); + } + + iterator add(const_iterator pos, const JsonT& value) + { + return elements_.insert(pos, value); + } + + iterator add(const_iterator pos, JsonT&& value) + { + return elements_.insert(pos, std::move(value)); + } + + iterator begin() {return elements_.begin();} + + iterator end() {return elements_.end();} + + const_iterator begin() const {return elements_.begin();} + + const_iterator end() const {return elements_.end();} + + bool operator==(const json_array& rhs) const + { + if (size() != rhs.size()) + { + return false; + } + for (size_t i = 0; i < size(); ++i) + { + if (elements_[i] != rhs.elements_[i]) + { + return false; + } + } + return true; + } +private: + json_array& operator=(const json_array&); + std::vector elements_; +}; + +template +class member_lt_string +{ + size_t length_; +public: + member_lt_string(size_t length) + : length_(length) + { + } + + bool operator()(const ValueT& a, const CharT* b) const + { + size_t len = std::min JSONCONS_NO_MACRO_EXP(a.name().length(),length_); + int result = std::char_traits::compare(a.name().data(),b,len); + if (result != 0) + { + return result < 0; + } + + return a.name().length() < length_; + } +}; + +template +bool name_le_string(const StringT& a, const CharT* b, size_t length) +{ + size_t min_len = std::min JSONCONS_NO_MACRO_EXP(a.length(),length); + int result = std::char_traits::compare(a.data(),b, min_len); + if (result != 0) + { + return result < 0; + } + + return a.length() <= length; +} + +template +bool name_eq_string(const StringT& a, const CharT* b, size_t length) +{ + return a.length() == length && std::char_traits::compare(a.data(),b,length) == 0; +} + +template +class member_lt_member +{ + typedef typename ValueT::char_type char_type; +public: + bool operator()(const ValueT& a, const ValueT& b) const + { + if (a.name().length() == b.name().length()) + { + return std::char_traits::compare(a.name().data(),b.name().data(),a.name().length()) < 0; + } + + size_t len = std::min JSONCONS_NO_MACRO_EXP(a.name().length(),b.name().length()); + int result = std::char_traits::compare(a.name().data(),b.name().data(),len); + if (result != 0) + { + return result < 0; + } + + return a.name().length() < b.name().length(); + } +}; + +template +class name_value_pair +{ +public: + typedef StringT string_type; + typedef typename StringT::value_type char_type; + + name_value_pair() + { + } + name_value_pair(const string_type& name) + : name_(name) + { + } + name_value_pair(string_type&& name) + : name_(std::move(name)) + { + } + + name_value_pair(const string_type& name, const ValueT& val) + : name_(name), value_(val) + { + } + name_value_pair(string_type&& name, const ValueT& val) + : name_(std::move(name)), value_(val) + { + } + name_value_pair(const string_type& name, ValueT&& val) + : name_(name), value_(std::move(val)) + { + } + name_value_pair(string_type&& name, ValueT&& val) + : name_(std::move(name)), value_(std::move(val)) + { + } + name_value_pair(const name_value_pair& member) + : name_(member.name_), value_(member.value_) + { + } + name_value_pair(name_value_pair&& member) + : name_(std::move(member.name_)), value_(std::move(member.value_)) + { + } + + const string_type& name() const + { + return name_; + } + + ValueT& value() + { + return value_; + } + + const ValueT& value() const + { + return value_; + } + + void value(const ValueT& value) + { + value_ = value; + } + + void value(ValueT&& value) + { + value_ = std::move(value); + } + + void swap(name_value_pair& member) + { + name_.swap(member.name_); + value_.swap(member.value_); + } + + name_value_pair& operator=(const name_value_pair& member) + { + if (this != & member) + { + name_ = member.name_; + value_ = member.value_; + } + return *this; + } + + name_value_pair& operator=(name_value_pair&& member) + { + if (this != &member) + { + name_.swap(member.name_); + value_.swap(member.value_); + } + return *this; + } + + void shrink_to_fit() + { + name_.shrink_to_fit(); + value_.shrink_to_fit(); + } +private: + string_type name_; + ValueT value_; +}; + +template +class json_object_iterator +{ +public: + typedef IteratorT iterator; + typedef typename std::iterator_traits::value_type value_type; + typedef typename std::iterator_traits::difference_type difference_type; + typedef typename std::iterator_traits::pointer pointer; + typedef typename std::iterator_traits::reference reference; + typedef std::bidirectional_iterator_tag iterator_category; + + json_object_iterator(bool empty = false) + : empty_(empty) + { + } + + json_object_iterator(iterator it) + : empty_(false), it_(it) + { + } + + json_object_iterator(const json_object_iterator& it) + : empty_(it.empty_), it_(it.it_) + { + } + + json_object_iterator& operator=(json_object_iterator rhs) + { + swap(*this,rhs); + return *this; + } + + json_object_iterator& operator++() + { + ++it_; + return *this; + } + + json_object_iterator operator++(int) // postfix increment + { + json_object_iterator temp(*this); + ++it_; + return temp; + } + + json_object_iterator& operator--() + { + --it_; + return *this; + } + + json_object_iterator operator--(int) + { + json_object_iterator temp(*this); + --it_; + return temp; + } + + reference operator*() const + { + return *it_; + } + + pointer operator->() const + { + return &(*it_); + } + + bool empty() const + { + return empty_; + } + + friend bool operator==(const json_object_iterator& it1, const json_object_iterator& it2) + { + return (it1.empty() && it2.empty()) || (it1.it_ == it2.it_); + } + friend bool operator!=(const json_object_iterator& it1, const json_object_iterator& it2) + { + return !(it1.it_ == it2.it_); + } + friend void swap(json_object_iterator& lhs, json_object_iterator& rhs) + { + using std::swap; + swap(lhs.it_,rhs.it_); + swap(lhs.empty_,rhs.empty_); + } + + iterator get() + { + return it_; + } + +//private: + bool empty_; + IteratorT it_; +}; + +template +class json_object +{ +public: + typedef Alloc allocator_type; + typedef typename JsonT::char_type char_type; + typedef StringT string_type; + typedef name_value_pair value_type; + typedef typename std::vector::iterator base_iterator; + typedef typename std::vector::const_iterator const_base_iterator; + + typedef json_object_iterator iterator; + typedef json_object_iterator const_iterator; +private: + std::vector members_; +public: + json_object(const allocator_type& allocator = allocator_type()) + : members_(allocator) + { + } + + json_object(const json_object& val) + : members_(val.members_) + { + } + + json_object(json_object&& val) + : members_(std::move(val.members_)) + { + } + + json_object(const json_object& val, const allocator_type& allocator) : + members_(val.members_,allocator) + { + } + + json_object(json_object&& val,const allocator_type& allocator) : + members_(std::move(val.members_),allocator) + { + } + + Alloc get_allocator() const + { + return members_.get_allocator(); + } + + iterator begin() + { + //return members_.begin(); + return iterator(members_.begin()); + } + + iterator end() + { + //return members_.end(); + return iterator(members_.end()); + } + + const_iterator begin() const + { + //return iterator(members.data()); + return const_iterator(members_.begin()); + } + + const_iterator end() const + { + //return members_.end(); + return const_iterator(members_.end()); + } +/* + const_iterator cbegin() const + { + return members_.begin(); + } + + const_iterator cend() const + { + return members_.end(); + } +*/ + void swap(json_object& val) + { + members_.swap(val.members_); + } + + size_t size() const {return members_.size();} + + size_t capacity() const {return members_.capacity();} + + void clear() {members_.clear();} + + void shrink_to_fit() + { + for (size_t i = 0; i < members_.size(); ++i) + { + members_[i].shrink_to_fit(); + } + members_.shrink_to_fit(); + } + + void reserve(size_t n) {members_.reserve(n);} + + iterator find(const char_type* name) + { + return find(name, std::char_traits::length(name)); + } + + const_iterator find(const char_type* name) const + { + return find(name, std::char_traits::length(name)); + } + + iterator find(const char_type* name, size_t length) + { + member_lt_string comp(length); + auto it = std::lower_bound(members_.begin(),members_.end(), name, comp); + auto result = (it != members_.end() && name_eq_string(it->name(),name,length)) ? it : members_.end(); + return iterator(result); + } + + const_iterator find(const char_type* name, size_t length) const + { + member_lt_string comp(length); + auto it = std::lower_bound(members_.begin(),members_.end(), name, comp); + auto result = (it != members_.end() && name_eq_string(it->name(),name,length)) ? it : members_.end(); + return const_iterator(result); + } + + iterator find(const string_type& name) + { + return find(name.data(), name.length()); + } + + const_iterator find(const string_type& name) const + { + return const_iterator(find(name.data(), name.length())); + } + + JsonT& at(const string_type& name) + { + auto it = find(name); + if (it == members_.end()) + { + JSONCONS_THROW_EXCEPTION_1(std::out_of_range,"Member %s not found.",name); + } + return it->value(); + } + + const JsonT& at(const string_type& name) const + { + auto it = find(name); + if (it == members_.end()) + { + JSONCONS_THROW_EXCEPTION_1(std::out_of_range,"Member %s not found.",name); + } + return it->value(); + } + + void erase(iterator first, iterator last) + { + members_.erase(first.get(),last.get()); + } + + void erase(const char_type* name) + { + erase(name, std::char_traits::length(name)); + } + + void erase(const char_type* name, size_t length) + { + member_lt_string comp(length); + auto it = std::lower_bound(members_.begin(),members_.end(), name, comp); + if (it != members_.end() && name_eq_string(it->name(),name,length)) + { + members_.erase(it); + } + } + + void erase(const string_type& name) + { + return erase(name.data(),name.length()); + } + + template + void insert(InputIt first, InputIt last, UnaryPredicate pred) + { + size_t count = std::distance(first,last); + size_t pos = members_.size(); + members_.resize(pos+count); + auto d = members_.begin()+pos; + for (auto s = first; s != last; ++s, ++d) + { + *d = pred(*s); + } + std::sort(members_.begin(),members_.end(),member_lt_member()); + } + + void set(const char_type* s, size_t length, const JsonT& value) + { + auto it = std::lower_bound(members_.begin(),members_.end(),s,member_lt_string(length)); + if (it == members_.end()) + { + members_.push_back(value_type(string_type(s,length),value)); + } + else if (name_eq_string(it->name(),s,length)) + { + it->value(value); + } + else + { + members_.insert(it,value_type(string_type(s,length),value)); + } + } + + void set(const char_type* s, size_t length, JsonT&& value) + { + auto it = std::lower_bound(members_.begin(),members_.end(),s,member_lt_string(length)); + if (it == members_.end()) + { + members_.push_back(value_type(string_type(s,length),std::move(value))); + } + else if (name_eq_string(it->name(),s,length)) + { + it->value(std::move(value)); + } + else + { + members_.insert(it,value_type(string_type(s,length),std::move(value))); + } + } + + void set(string_type&& name, const JsonT& value) + { + auto it = std::lower_bound(members_.begin(),members_.end(),name.data() ,member_lt_string(name.length())); + if (it == members_.end()) + { + members_.push_back(value_type(std::move(name), value)); + } + else if (it->name() == name) + { + it->value(value); + } + else + { + members_.insert(it,value_type(std::move(name),value)); + } + } + + void set(const string_type& name, const JsonT& value) + { + set(name.data(),name.length(),value); + } + + void set(const string_type& name, JsonT&& value) + { + set(name.data(),name.length(),std::move(value)); + } + + void set(string_type&& name, JsonT&& value) + { + auto it = std::lower_bound(members_.begin(),members_.end(),name.data() ,member_lt_string(name.length())); + if (it == members_.end()) + { + members_.push_back(value_type(std::move(name), std::move(value))); + } + else if (it->name() == name) + { + it->value(std::move(value)); + } + else + { + members_.insert(it,value_type(std::move(name),std::move(value))); + } + } + + iterator set(iterator hint, const char_type* name, const JsonT& value) + { + return set(hint, name, std::char_traits::length(name), value); + } + + iterator set(iterator hint, const char_type* name, JsonT&& value) + { + return set(hint, name, std::char_traits::length(name), std::move(value)); + } + + iterator set(iterator hint, const char_type* s, size_t length, const JsonT& value) + { + base_iterator it; + if (hint.get() != members_.end() && name_le_string(hint.get()->name(), s, length)) + { + it = std::lower_bound(hint.get(),members_.end(),s,member_lt_string(length)); + } + else + { + it = std::lower_bound(members_.begin(),members_.end(),s, member_lt_string(length)); + } + + if (it == members_.end()) + { + members_.push_back(value_type(string_type(s, length), value)); + it = members_.end(); + } + else if (name_eq_string(it->name(),s,length)) + { + it->value(value); + } + else + { + it = members_.insert(it,value_type(string_type(s,length),value)); + } + return iterator(it); + } + + iterator set(iterator hint, const char_type* s, size_t length, JsonT&& value) + { + base_iterator it; + if (hint.get() != members_.end() && name_le_string(hint.get()->name(), s, length)) + { + it = std::lower_bound(hint.get(),members_.end(),s,member_lt_string(length)); + } + else + { + it = std::lower_bound(members_.begin(),members_.end(),s, member_lt_string(length)); + } + + if (it == members_.end()) + { + members_.push_back(value_type(string_type(s, length), std::move(value))); + it = members_.end(); + } + else if (name_eq_string(it->name(),s,length)) + { + it->value(std::move(value)); + } + else + { + it = members_.insert(it,value_type(string_type(s,length),std::move(value))); + } + return iterator(it); + } + + iterator set(iterator hint, const string_type& name, const JsonT& value) + { + return set(hint,name.data(),name.length(),value); + } + + iterator set(iterator hint, string_type&& name, const JsonT& value) + { + base_iterator it; + if (hint.get() != members_.end() && hint.get()->name() <= name) + { + it = std::lower_bound(hint.get(),members_.end(),name.data() ,member_lt_string(name.length())); + } + else + { + it = std::lower_bound(members_.begin(),members_.end(),name.data() ,member_lt_string(name.length())); + } + + if (it == members_.end()) + { + members_.push_back(value_type(std::move(name), value)); + it = members_.end(); + } + else if (it->name() == name) + { + it->value(value); + } + else + { + it = members_.insert(it,value_type(std::move(name),value)); + } + return iterator(it); + } + + iterator set(iterator hint, const string_type& name, JsonT&& value) + { + return set(hint,name.data(),name.length(),std::move(value)); + } + + iterator set(iterator hint, string_type&& name, JsonT&& value) + { + typename std::vector::iterator it; + if (hint.get() != members_.end() && hint.get()->name() <= name) + { + it = std::lower_bound(hint.get(),members_.end(),name.data() ,member_lt_string(name.length())); + } + else + { + it = std::lower_bound(members_.begin(),members_.end(),name.data() ,member_lt_string(name.length())); + } + + if (it == members_.end()) + { + members_.push_back(value_type(std::move(name), std::move(value))); + it = members_.end(); + } + else if (it->name() == name) + { + it->value(std::move(value)); + } + else + { + it = members_.insert(it,value_type(std::move(name),std::move(value))); + } + return iterator(it); + } + + bool operator==(const json_object& rhs) const + { + if (size() != rhs.size()) + { + return false; + } + for (auto it = members_.begin(); it != members_.end(); ++it) + { + + auto rhs_it = std::lower_bound(rhs.members_.begin(), rhs.members_.end(), *it, member_lt_member()); + // member_lt_member actually only compares keys, so we need to check the value separately + if (rhs_it == rhs.members_.end() || rhs_it->name() != it->name() || rhs_it->value() != it->value()) + { + return false; + } + } + return true; + } +private: + json_object& operator=(const json_object&); +}; + + + +} + +#endif diff --git a/runtime/include/jsoncons/json_type_traits.hpp b/runtime/include/jsoncons/json_type_traits.hpp new file mode 100644 index 0000000..aeda7a0 --- /dev/null +++ b/runtime/include/jsoncons/json_type_traits.hpp @@ -0,0 +1,594 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSON_TYPE_TRAITS_HPP +#define JSONCONS_JSON_TYPE_TRAITS_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "jsoncons/jsoncons.hpp" + +#if defined(__GNUC__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wswitch" +#endif + +namespace jsoncons { + +template +class json_type_traits +{ +public: + static bool is(const JsonT&) + { + return false; + } +}; + +template +class json_type_traits +{ +public: + typedef typename JsonT::string_type string_type; + typedef typename string_type::allocator_type string_allocator; + + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_string(); + } + static string_type as(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.as_string(); + } + static string_type as(const JsonT& rhs, const string_allocator& allocator) JSONCONS_NOEXCEPT + { + return rhs.as_string(allocator); + } + static void assign(JsonT& lhs, const string_type& rhs) + { + lhs.assign_string(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& lhs) JSONCONS_NOEXCEPT + { + return lhs.is_any(); + } + static typename JsonT::any as(const JsonT& rhs) + { + return rhs.any_value(); + } + static void assign(JsonT& lhs, typename JsonT::any rhs) + { + lhs.assign_any(rhs); + } +}; + +template +class json_type_traits::const_pointer_type> +{ +public: + typedef typename JsonT::char_type char_type; + + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_string(); + } + static const char_type* as(const JsonT& rhs) + { + return rhs.as_cstring(); + } + static void assign(JsonT& lhs, const char_type *rhs) + { + size_t length = std::char_traits::length(rhs); + lhs.assign_string(rhs,length); + } +}; + +template +class json_type_traits::pointer_type> +{ +public: + typedef typename JsonT::char_type char_type; + + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_string(); + } + static const char_type* as(const JsonT& rhs) + { + return rhs.as_cstring(); + } + static void assign(JsonT& lhs, const char_type *rhs) + { + size_t length = std::char_traits::length(rhs); + lhs.assign_string(rhs,length); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + if (rhs.is_integer()) + { + return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else + { + return false; + } + } + static char as(const JsonT& rhs) + { + return static_cast(rhs.as_integer()); + } + static void assign(JsonT& lhs, char ch) + { + lhs.assign_integer(ch); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + if (rhs.is_integer()) + { + return rhs.as_integer() >= 0 && static_cast(rhs.as_integer()) <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else if (rhs.is_uinteger()) + { + return rhs.as_uinteger() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else + { + return false; + } + } + static unsigned char as(const JsonT& rhs) + { + return static_cast(rhs.as_uinteger()); + } + static void assign(JsonT& lhs, unsigned char ch) + { + lhs.assign_uinteger(ch); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + if (rhs.is_integer()) + { + return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else if (rhs.is_uinteger()) + { + return rhs.as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()); + } + else + { + return false; + } + } + static signed char as(const JsonT& rhs) + { + return static_cast(rhs.as_integer()); + } + static void assign(JsonT& lhs, signed char ch) + { + lhs.assign_integer(ch); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + if (rhs.is_integer()) + { + return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else if (rhs.is_uinteger()) + { + return rhs.as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()); + } + else + { + return false; + } + } + static wchar_t as(const JsonT& rhs) + { + return static_cast(rhs.as_integer()); + } + static void assign(JsonT& lhs, wchar_t ch) + { + lhs.assign_integer(ch); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_object(); + } + static typename JsonT::object as(JsonT rhs) + { + JSONCONS_ASSERT(rhs.is_object()); + return rhs.object_value(); + } + static void assign(JsonT& lhs, typename JsonT::object rhs) + { + lhs.assign_object(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_array(); + } + static typename JsonT::array as(const JsonT& rhs) + { + JSONCONS_ASSERT(rhs.is_array()); + return rhs.array_value(); + } + static void assign(JsonT& lhs, typename JsonT::array rhs) + { + lhs.assign_array(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_null(); + } + static typename jsoncons::null_type as(const JsonT& rhs) + { + JSONCONS_ASSERT(rhs.is_null()); + return jsoncons::null_type(); + } + static void assign(JsonT& lhs, null_type) + { + lhs.assign_null(); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_bool(); + } + static bool as(const JsonT& rhs) + { + return rhs.as_bool(); + } + static void assign(JsonT& lhs, bool rhs) + { + lhs.assign_bool(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + if (rhs.is_integer()) + { + return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else if (rhs.is_uinteger()) + { + return rhs.as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()); + } + else + { + return false; + } + } + static short as(const JsonT& rhs) + { + return static_cast(rhs.as_integer()); + } + static void assign(JsonT& lhs, short rhs) + { + lhs.assign_integer(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + if (rhs.is_integer()) + { + return rhs.as_integer() >= 0 && static_cast(rhs.as_integer()) <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else if (rhs.is_uinteger()) + { + return rhs.as_uinteger() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else + { + return false; + } + } + static unsigned short as(const JsonT& rhs) + { + return (unsigned short)rhs.as_uinteger(); + } + static void assign(JsonT& lhs, unsigned short rhs) + { + lhs.assign_uinteger(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + if (rhs.is_integer()) + { + return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else if (rhs.is_uinteger()) + { + return rhs.as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()); + } + else + { + return false; + } + } + static int as(const JsonT& rhs) + { + return static_cast(rhs.as_integer()); + } + static void assign(JsonT& lhs, int rhs) + { + lhs.assign_integer(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + if (rhs.is_integer()) + { + return rhs.as_integer() >= 0 && static_cast(rhs.as_integer()) <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else if (rhs.is_uinteger()) + { + return rhs.as_uinteger() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else + { + return false; + } + } + static unsigned int as(const JsonT& rhs) + { + return static_cast(rhs.as_uinteger()); + } + static void assign(JsonT& lhs, unsigned int rhs) + { + lhs.assign_uinteger(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + if (rhs.is_integer()) + { + return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else if (rhs.is_uinteger()) + { + return rhs.as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()); + } + else + { + return false; + } + } + static long as(const JsonT& rhs) + { + return static_cast(rhs.as_integer()); + } + static void assign(JsonT& lhs, long rhs) + { + lhs.assign_integer(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + if (rhs.is_integer()) + { + return rhs.as_integer() >= 0 && static_cast(rhs.as_integer()) <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else if (rhs.is_uinteger()) + { + return rhs.as_uinteger() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); + } + else + { + return false; + } + } + static unsigned long as(const JsonT& rhs) + { + return static_cast(rhs.as_uinteger()); + } + static void assign(JsonT& lhs, unsigned long rhs) + { + lhs.assign_uinteger(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_integer(); + } + static long long as(const JsonT& rhs) + { + return rhs.as_integer(); + } + static void assign(JsonT& lhs, long long rhs) + { + lhs.assign_integer(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_uinteger(); + } + static unsigned long long as(const JsonT& rhs) + { + return rhs.as_uinteger(); + } + static void assign(JsonT& lhs, unsigned long long rhs) + { + lhs.assign_uinteger(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_double(); + } + + static double as(const JsonT& rhs) + { + return rhs.as_double(); + } + static void assign(JsonT& lhs, double rhs) + { + lhs.assign_double(rhs); + } +}; + +template +class json_type_traits +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + return rhs.is_double(); + } + static double as(const JsonT& rhs) + { + return static_cast(rhs.as_double()); + } + static void assign(JsonT& lhs, float rhs) + { + lhs.assign_double(static_cast(rhs)); + } +}; + +template +class json_type_traits> +{ +public: + static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT + { + bool result = rhs.is_array(); + for (size_t i = 0; result && i < rhs.size(); ++i) + { + if (!rhs[i].template is()) + { + result = false; + } + } + return result; + } + static std::vector as(const JsonT& rhs) + { + std::vector v(rhs.size()); + for (size_t i = 0; i < v.size(); ++i) + { + v[i] = rhs[i].template as(); + } + return v; + } + static void assign(JsonT& lhs, const std::vector& rhs) + { + lhs = JsonT(rhs.begin(), rhs.end()); + } +}; + +} + +#if defined(__GNUC__) +#pragma GCC diagnostic pop +#endif + +#endif diff --git a/runtime/include/jsoncons/jsoncons.hpp b/runtime/include/jsoncons/jsoncons.hpp new file mode 100644 index 0000000..a45e4f8 --- /dev/null +++ b/runtime/include/jsoncons/jsoncons.hpp @@ -0,0 +1,347 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSONCONS_HPP +#define JSONCONS_JSONCONS_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include "jsoncons/jsoncons_config.hpp" +#include "jsoncons/jsoncons_io.hpp" + +namespace jsoncons { + +// null_type + +struct null_type +{ +}; + +// json_exception + +class json_exception +{ +public: + virtual const char* what() const JSONCONS_NOEXCEPT = 0; +}; + +template +class json_exception_0 : public Base, public virtual json_exception +{ +public: + json_exception_0(std::string s) JSONCONS_NOEXCEPT + : Base(""), message_(s) + { + } + ~json_exception_0() JSONCONS_NOEXCEPT + { + } + const char* what() const JSONCONS_NOEXCEPT + { + return message_.c_str(); + } +private: + std::string message_; +}; + +template +class json_exception_1 : public Base, public virtual json_exception +{ +public: + json_exception_1(const std::string& format, const std::string& arg1) JSONCONS_NOEXCEPT + : Base(""), format_(format), arg1_(arg1) + { + } + json_exception_1(const std::string& format, const std::wstring& arg1) JSONCONS_NOEXCEPT + : Base(""), format_(format) + { + char buf[255]; + size_t retval; +#if defined(JSONCONS_HAS_WCSTOMBS_S) + wcstombs_s(&retval, buf, sizeof(buf), arg1.c_str(), arg1.size()); +#else + retval = wcstombs(buf, arg1.c_str(), sizeof(buf)); +#endif + if (retval != static_cast(-1)) + { + arg1_ = buf; + } + } + ~json_exception_1() JSONCONS_NOEXCEPT + { + } + const char* what() const JSONCONS_NOEXCEPT + { + c99_snprintf(const_cast(message_),255, format_.c_str(),arg1_.c_str()); + return message_; + } +private: + std::string format_; + std::string arg1_; + char message_[255]; +}; + +#define JSONCONS_STR2(x) #x +#define JSONCONS_STR(x) JSONCONS_STR2(x) + +#define JSONCONS_THROW_EXCEPTION(Base,x) throw jsoncons::json_exception_0((x)) +#define JSONCONS_THROW_EXCEPTION_1(Base,fmt,arg1) throw jsoncons::json_exception_1((fmt),(arg1)) +#define JSONCONS_ASSERT(x) if (!(x)) { \ + throw jsoncons::json_exception_0("assertion '" #x "' failed at " __FILE__ ":" \ + JSONCONS_STR(__LINE__)); } + +// json_char_traits + +const uint16_t min_lead_surrogate = 0xD800; +const uint16_t max_lead_surrogate = 0xDBFF; +const uint16_t min_trail_surrogate = 0xDC00; +const uint16_t max_trail_surrogate = 0xDFFF; + +template +struct json_literals +{ +}; + +template <> +struct json_literals +{ + static std::pair null_literal() + { + static const char* value = "null"; + return std::pair(value,4); + } + + static std::pair true_literal() + { + static const char* value = "true"; + return std::pair(value,4); + } + + static std::pair false_literal() + { + static const char* value = "false"; + return std::pair(value,5); + } +}; + +template <> +struct json_literals +{ + static std::pair null_literal() + { + static const wchar_t* value = L"null"; + return std::pair(value,4); + } + + static std::pair true_literal() + { + static const wchar_t* value = L"true"; + return std::pair(value,4); + } + + static std::pair false_literal() + { + static const wchar_t* value = L"false"; + return std::pair(value,5); + } +}; + +template +struct json_char_traits +{ +}; + +template <> +struct json_char_traits +{ + static uint32_t convert_char_to_codepoint(const char*& it, + const char*) + { + char c = *it; + uint32_t u(c >= 0 ? c : 256 + c ); + uint32_t cp = u; + if (u < 0x80) + { + } + else if ((u >> 5) == 0x6) + { + c = *(++it); + u = (c >= 0 ? c : 256 + c ); + cp = ((cp << 6) & 0x7ff) + (u & 0x3f); + } + else if ((u >> 4) == 0xe) + { + c = *(++it); + u = (c >= 0 ? c : 256 + c ); + cp = ((cp << 12) & 0xffff) + ((static_cast(0xff & u) << 6) & 0xfff); + c = *(++it); + u = (c >= 0 ? c : 256 + c ); + cp += (u) & 0x3f; + } + else if ((u >> 3) == 0x1e) + { + c = *(++it); + u = (c >= 0 ? c : 256 + c ); + cp = ((cp << 18) & 0x1fffff) + ((static_cast(0xff & u) << 12) & 0x3ffff); + c = *(++it); + u = (c >= 0 ? c : 256 + c ); + cp += (static_cast(0xff & u) << 6) & 0xfff; + c = *(++it); + u = (c >= 0 ? c : 256 + c ); + cp += (u) & 0x3f; + } + else + { + } + return cp; + } + + static void append_codepoint_to_string(uint32_t cp, std::string& s) + { + if (cp <= 0x7f) + { + s.push_back(static_cast(cp)); + } + else if (cp <= 0x7FF) + { + s.push_back(static_cast(0xC0 | (0x1f & (cp >> 6)))); + s.push_back(static_cast(0x80 | (0x3f & cp))); + } + else if (cp <= 0xFFFF) + { + s.push_back(0xE0 | static_cast((0xf & (cp >> 12)))); + s.push_back(0x80 | static_cast((0x3f & (cp >> 6)))); + s.push_back(static_cast(0x80 | (0x3f & cp))); + } + else if (cp <= 0x10FFFF) + { + s.push_back(static_cast(0xF0 | (0x7 & (cp >> 18)))); + s.push_back(static_cast(0x80 | (0x3f & (cp >> 12)))); + s.push_back(static_cast(0x80 | (0x3f & (cp >> 6)))); + s.push_back(static_cast(0x80 | (0x3f & cp))); + } + } + +}; + +template <> +struct json_char_traits // assume utf16 +{ + static void append_codepoint_to_string(uint32_t cp, std::wstring& s) + { + if (cp <= 0xFFFF) + { + s.push_back(static_cast(cp)); + } + else if (cp <= 0x10FFFF) + { + s.push_back(static_cast((cp >> 10) + min_lead_surrogate - (0x10000 >> 10))); + s.push_back(static_cast((cp & 0x3ff) + min_trail_surrogate)); + } + } + + static uint32_t convert_char_to_codepoint(const wchar_t*& it, const wchar_t*) + { + uint32_t cp = (0xffff & *it); + if ((cp >= min_lead_surrogate && cp <= max_lead_surrogate)) // surrogate pair + { + uint32_t trail_surrogate = 0xffff & *(++it); + cp = (cp << 10) + trail_surrogate + 0x10000u - (min_lead_surrogate << 10) - min_trail_surrogate; + } + return cp; + } +}; + +template <> +struct json_char_traits // assume utf32 +{ + static void append_codepoint_to_string(uint32_t cp, std::wstring& s) + { + if (cp <= 0xFFFF) + { + s.push_back(static_cast(cp)); + } + else if (cp <= 0x10FFFF) + { + s.push_back(static_cast(cp)); + } + } + + static uint32_t convert_char_to_codepoint(const wchar_t*& it, const wchar_t*) + { + uint32_t cp = static_cast(*it); + return cp; + } +}; + +inline +bool is_control_character(uint32_t c) +{ + return c <= 0x1F || c == 0x7f; +} + +inline +char to_hex_character(unsigned char c) +{ + JSONCONS_ASSERT(c <= 0xF); + + return (c < 10) ? ('0' + c) : ('A' - 10 + c); +} + +inline +bool is_non_ascii_character(uint32_t c) +{ + return c >= 0x80; +} + +template +struct type_wrapper +{ + typedef T* pointer_type; + typedef const T* const_pointer_type; + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; +}; + +template +struct type_wrapper +{ + typedef T* pointer_type; + typedef const T* const_pointer_type; + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; +}; + +template +struct type_wrapper +{ + typedef T* pointer_type; + typedef const T* const_pointer_type; + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; +}; + +template +struct type_wrapper +{ + typedef T* pointer_type; + typedef const T* const_pointer_type; + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; +}; + +} +#endif diff --git a/runtime/include/jsoncons/jsoncons_config.hpp b/runtime/include/jsoncons/jsoncons_config.hpp new file mode 100644 index 0000000..7d261ec --- /dev/null +++ b/runtime/include/jsoncons/jsoncons_config.hpp @@ -0,0 +1,123 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSONCONS_CONFIG_HPP +#define JSONCONS_JSONCONS_CONFIG_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // std::numeric_limits + +// Uncomment the following line to suppress deprecated names (recommended for new code) +// #define JSONCONS_NO_DEPRECATED + +#define JSONCONS_NO_MACRO_EXP + +namespace jsoncons +{ + +// Follow boost + +#if defined (__clang__) +#if defined(_GLIBCXX_USE_NOEXCEPT) +#define JSONCONS_NOEXCEPT _GLIBCXX_USE_NOEXCEPT +#else +#define JSONCONS_NOEXCEPT noexcept +#endif +#elif defined(__GNUC__) +#define JSONCONS_NOEXCEPT _GLIBCXX_USE_NOEXCEPT +#elif defined(_MSC_VER) +#if _MSC_VER >= 1900 +#define JSONCONS_NOEXCEPT noexcept +#else +#define JSONCONS_NOEXCEPT +#endif +#else +#define JSONCONS_NOEXCEPT +#endif + +#if defined(_MSC_VER) +#define JSONCONS_HAS_FOPEN_S +#define JSONCONS_HAS_WCSTOMBS_S +#if _MSC_VER < 1800 // VS2013 +#define JSONCONS_NO_RAW_STRING_LITERALS +#define JSONCONS_NO_FOR_RANGE +#endif +#if _MSC_VER >= 1900 +#define JSONCONS_ALIGNOF alignof +#else +#define JSONCONS_ALIGNOF __alignof +#endif +#else +#define JSONCONS_ALIGNOF alignof +#endif + +#ifdef _MSC_VER +#pragma warning( disable : 4290 ) +inline bool is_nan(double x) { return _isnan(x) != 0; } +inline bool is_inf(double x) +{ + return !_finite(x) && !_isnan(x); +} +inline bool is_pos_inf(double x) +{ + return is_inf(x) && x > 0; +} +inline bool is_neg_inf(double x) +{ + return is_inf(x) && x < 0; +} + +inline +int c99_vsnprintf(char *str, size_t size, const char *format, va_list ap) +{ + int count = -1; + + if (size != 0) count = _vsnprintf_s(str, size, _TRUNCATE, format, ap); + if (count == -1) count = _vscprintf(format, ap); + + return count; +} + +inline +int c99_snprintf(char *str, size_t size, const char *format, ...) +{ + int count; + va_list ap; + + va_start(ap, format); + count = c99_vsnprintf(str, size, format, ap); + va_end(ap); + + return count; +} +#else +inline bool is_nan(double x) +{ return std::isnan( x ); } +inline bool is_pos_inf(double x) +{return std::isinf(x) && x > 0;} +inline bool is_neg_inf(double x) +{return std::isinf(x) && x > 0;} + +#if __cplusplus >= 201103L +#define c99_snprintf snprintf +#else +#define c99_snprintf std::snprintf +#endif + +#endif + +} + +#endif diff --git a/runtime/include/jsoncons/jsoncons_io.hpp b/runtime/include/jsoncons/jsoncons_io.hpp new file mode 100644 index 0000000..27c90fa --- /dev/null +++ b/runtime/include/jsoncons/jsoncons_io.hpp @@ -0,0 +1,358 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_JSONCONS_IO_HPP +#define JSONCONS_JSONCONS_IO_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // std::numeric_limits +#include "jsoncons_config.hpp" +#include "ovectorstream.hpp" + +namespace jsoncons +{ + +template +class buffered_ostream +{ + static const size_t default_buffer_length = 16384; + + std::basic_ostream* os_; + std::vector buffer_; + CharT * const begin_buffer_; + const CharT* const end_buffer_; + CharT* p_; +public: + buffered_ostream(std::basic_ostream& os) + : os_(std::addressof(os)), buffer_(default_buffer_length), begin_buffer_(buffer_.data()), end_buffer_(buffer_.data()+default_buffer_length), p_(buffer_.data()) + { + } + ~buffered_ostream() + { + os_->write(begin_buffer_, (p_ - begin_buffer_)); + os_->flush(); + } + + void flush() + { + os_->write(begin_buffer_, (p_ - begin_buffer_)); + p_ = begin_buffer_; + os_->flush(); + } + + void write(const CharT* s, size_t length) + { + size_t diff = end_buffer_ - p_; + if (diff >= length) + { + std::memcpy(p_, s, length*sizeof(CharT)); + p_ += length; + } + else + { + os_->write(begin_buffer_, (p_ - begin_buffer_)); + os_->write(s, length); + p_ = begin_buffer_; + } + } + + void write(const std::basic_string& s) + { + write(s.data(),s.length()); + } + + void put(CharT c) + { + if (p_ < end_buffer_) + { + *p_++ = c; + } + else + { + os_->write(begin_buffer_, (p_-begin_buffer_)); + p_ = begin_buffer_; + *p_++ = c; + } + } + +}; + +#ifdef _MSC_VER + +template +class float_printer +{ + uint8_t precision_; +public: + float_printer(int precision) + : precision_(precision) + { + } + + void print(double val, uint8_t precision, buffered_ostream& os) + { + char buf[_CVTBUFSIZE]; + int decimal_point = 0; + int sign = 0; + + int prec = (precision == 0) ? precision_ : precision; + + int err = _ecvt_s(buf, _CVTBUFSIZE, val, prec, &decimal_point, &sign); + if (err != 0) + { + throw std::runtime_error("Failed attempting double to string conversion"); + } + char* s = buf; + char* se = s + prec; + + int i, k; + int j; + + if (sign) + { + os.put('-'); + } + if (decimal_point <= -4 || decimal_point > se - s + 5) + { + os.put(*s++); + if (s < se) + { + os.put('.'); + while ((se-1) > s && *(se-1) == '0') + { + --se; + } + + while(s < se) + { + os.put(*s++); + } + } + os.put('e'); + /* sprintf(b, "%+.2d", decimal_point - 1); */ + if (--decimal_point < 0) { + os.put('-'); + decimal_point = -decimal_point; + } + else + os.put('+'); + for(j = 2, k = 10; 10*k <= decimal_point; j++, k *= 10); + for(;;) + { + i = decimal_point / k; + os.put(i + '0'); + if (--j <= 0) + break; + decimal_point -= i*k; + decimal_point *= 10; + } + } + else if (decimal_point <= 0) + { + os.put('0'); + os.put('.'); + while ((se-1) > s && *(se-1) == '0') + { + --se; + } + for(; decimal_point < 0; decimal_point++) + { + os.put('0'); + } + while(s < se) + { + os.put(*s++); + } + } + else { + while(s < se) + { + os.put(*s++); + if ((--decimal_point == 0) && s < se) + { + os.put('.'); + while ((se-1) > s && *(se-1) == '0') + { + --se; + } + } + } + for(; decimal_point > 0; decimal_point--) + { + os.put('0'); + } + } + } +}; + +#else + +template +class float_printer +{ + jsoncons::basic_ovectorstream vs_; + uint8_t precision_; +public: + float_printer(uint8_t precision) + : vs_(255), precision_(precision) + { + vs_.set_locale(std::locale::classic()); + vs_.precision(precision); + } + + void print(double val, uint8_t precision, buffered_ostream& os) + { + vs_.reset(); + vs_.precision(precision == 0 ? precision_ : precision); + vs_ << val; + + const CharT* s = vs_.data(); + const CharT* se = s + vs_.length(); + + bool dot = false; + while (s < se) + { + if (*s == '.') + { + dot = true; + } + else if (*s == 'e') + { + if (!dot) + { + os.put('.'); + os.put('0'); + dot = true; + } + } + os.put(*s); + ++s; + } + if (!dot) + { + os.put('.'); + os.put('0'); + } + } +}; + +#endif + +// string_to_float only requires narrow char +#ifdef _MSC_VER +class float_reader +{ +private: + _locale_t locale_; +public: + float_reader() + { + locale_ = _create_locale(LC_NUMERIC, "C"); + } + ~float_reader() + { + _free_locale(locale_); + } + + double read(const char* s, size_t length) + { + const char *begin = s; + char *end = nullptr; + double val = _strtod_l(begin, &end, locale_); + if (begin == end) + { + throw std::invalid_argument("Invalid float value"); + } + return val; + } + + float_reader(const float_reader& fr) = delete; + float_reader& operator=(const float_reader& fr) = delete; +}; + +#else +class float_reader +{ +private: + std::vector buffer_; + std::string decimal_point_; + bool is_dot_; +public: + float_reader() + : buffer_() + { + struct lconv * lc = localeconv(); + if (lc != nullptr) + { + decimal_point_ = std::string(lc->decimal_point); + } + else + { + decimal_point_ = std::string("."); + } + buffer_.reserve(100); + is_dot_ = decimal_point_ == "."; + } + + double read(const char* s, size_t length) + { + double val; + if (is_dot_) + { + const char *begin = s; + char *end = nullptr; + val = strtod(begin, &end); + if (begin == end) + { + throw std::invalid_argument("Invalid float value"); + } + } + else + { + buffer_.clear(); + size_t j = 0; + const char* pe = s + length; + for (const char* p = s; p < pe; ++p) + { + if (*p == '.') + { + buffer_.insert(buffer_.begin() + j, decimal_point_.begin(), decimal_point_.end()); + j += decimal_point_.length(); + } + else + { + buffer_.push_back(*p); + ++j; + } + } + const char *begin = buffer_.data(); + char *end = nullptr; + val = strtod(begin, &end); + if (begin == end) + { + throw std::invalid_argument("Invalid float value"); + } + } + return val; + } + + float_reader(const float_reader& fr) = delete; + float_reader& operator=(const float_reader& fr) = delete; +}; +#endif + +} + +#endif diff --git a/runtime/include/jsoncons/output_format.hpp b/runtime/include/jsoncons/output_format.hpp new file mode 100644 index 0000000..5985b7a --- /dev/null +++ b/runtime/include/jsoncons/output_format.hpp @@ -0,0 +1,265 @@ +// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_OUTPUT_FORMAT_HPP +#define JSONCONS_OUTPUT_FORMAT_HPP + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace jsoncons { + +template +class buffered_ostream; + +template +class basic_output_format +{ + int indent_; + uint8_t precision_; + bool replace_nan_; + bool replace_pos_inf_; + bool replace_neg_inf_; + std::basic_string nan_replacement_; + std::basic_string pos_inf_replacement_; + std::basic_string neg_inf_replacement_; + bool escape_all_non_ascii_; + bool escape_solidus_; +public: + static const size_t default_indent = 4; + +// Constructors + + basic_output_format() + : + indent_(default_indent), + precision_(16), + replace_nan_(true), + replace_pos_inf_(true), + replace_neg_inf_(true), + nan_replacement_(json_literals::null_literal().first), + pos_inf_replacement_(json_literals::null_literal().first), + neg_inf_replacement_(json_literals::null_literal().first), + escape_all_non_ascii_(false), + escape_solidus_(false) + { + } + +// Accessors + + int indent() const + { + return indent_; + } + + uint8_t precision() const + { + return precision_; + } + + bool escape_all_non_ascii() const + { + return escape_all_non_ascii_; + } + + bool escape_solidus() const + { + return escape_solidus_; + } + + bool replace_nan() const {return replace_nan_;} + + bool replace_pos_inf() const {return replace_pos_inf_;} + + bool replace_neg_inf() const {return replace_neg_inf_;} + + std::basic_string nan_replacement() const + { + return nan_replacement_; + } + + std::basic_string pos_inf_replacement() const + { + return pos_inf_replacement_; + } + + std::basic_string neg_inf_replacement() const + { + return neg_inf_replacement_; + } + +// Modifiers + + void precision(uint8_t prec) + { + precision_ = prec; + } + + void escape_all_non_ascii(bool value) + { + escape_all_non_ascii_ = value; + } + + void escape_solidus(bool value) + { + escape_solidus_ = value; + } + + void replace_nan(bool replace) + { + replace_nan_ = replace; + } + + void replace_inf(bool replace) + { + replace_pos_inf_ = replace; + replace_neg_inf_ = replace; + } + + void replace_pos_inf(bool replace) + { + replace_pos_inf_ = replace; + } + + void replace_neg_inf(bool replace) + { + replace_neg_inf_ = replace; + } + + void nan_replacement(const std::basic_string& replacement) + { + nan_replacement_ = replacement; + } + + void pos_inf_replacement(const std::basic_string& replacement) + { + pos_inf_replacement_ = replacement; + } + + void neg_inf_replacement(const std::basic_string& replacement) + { + neg_inf_replacement_ = replacement; + } + + void indent(int value) + { + indent_ = value; + } +}; + +template +void escape_string(const CharT* s, + size_t length, + const basic_output_format& format, + buffered_ostream& os) +{ + const CharT* begin = s; + const CharT* end = s + length; + for (const CharT* it = begin; it != end; ++it) + { + CharT c = *it; + switch (c) + { + case '\\': + os.put('\\'); + os.put('\\'); + break; + case '"': + os.put('\\'); + os.put('\"'); + break; + case '\b': + os.put('\\'); + os.put('b'); + break; + case '\f': + os.put('\\'); + os.put('f'); + break; + case '\n': + os.put('\\'); + os.put('n'); + break; + case '\r': + os.put('\\'); + os.put('r'); + break; + case '\t': + os.put('\\'); + os.put('t'); + break; + default: + uint32_t u(c >= 0 ? c : 256 + c); + if (format.escape_solidus() && c == '/') + { + os.put('\\'); + os.put('/'); + } + else if (is_control_character(u) || format.escape_all_non_ascii()) + { + // convert utf8 to codepoint + uint32_t cp = json_char_traits::convert_char_to_codepoint(it, end); + if (is_non_ascii_character(cp) || is_control_character(u)) + { + if (cp > 0xFFFF) + { + cp -= 0x10000; + uint32_t first = (cp >> 10) + 0xD800; + uint32_t second = ((cp & 0x03FF) + 0xDC00); + + os.put('\\'); + os.put('u'); + os.put(to_hex_character(first >> 12 & 0x000F)); + os.put(to_hex_character(first >> 8 & 0x000F)); + os.put(to_hex_character(first >> 4 & 0x000F)); + os.put(to_hex_character(first & 0x000F)); + os.put('\\'); + os.put('u'); + os.put(to_hex_character(second >> 12 & 0x000F)); + os.put(to_hex_character(second >> 8 & 0x000F)); + os.put(to_hex_character(second >> 4 & 0x000F)); + os.put(to_hex_character(second & 0x000F)); + } + else + { + os.put('\\'); + os.put('u'); + os.put(to_hex_character(cp >> 12 & 0x000F)); + os.put(to_hex_character(cp >> 8 & 0x000F)); + os.put(to_hex_character(cp >> 4 & 0x000F)); + os.put(to_hex_character(cp & 0x000F)); + } + } + else + { + os.put(c); + } + } + else if (format.escape_solidus() && c == '/') + { + os.put('\\'); + os.put('/'); + } + else + { + os.put(c); + } + break; + } + } +} + +typedef basic_output_format output_format; +typedef basic_output_format woutput_format; + +} +#endif diff --git a/runtime/include/jsoncons/ovectorstream.hpp b/runtime/include/jsoncons/ovectorstream.hpp new file mode 100644 index 0000000..e19f508 --- /dev/null +++ b/runtime/include/jsoncons/ovectorstream.hpp @@ -0,0 +1,227 @@ +// Copyright 2016 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_OVECTORSTREAM_HPP +#define JSONCONS_OVECTORSTREAM_HPP + +#include +#include +#include +#include +#include +#include "jsoncons/jsoncons_config.hpp" + +namespace jsoncons { + +template< + class CharT, + class Traits = std::char_traits +> class basic_ovectorstream; + +template +class basic_ovectorbuf + : public std::basic_streambuf +{ +private: + std::ios_base::openmode mode_; + std::vector buf_; + +public: + typedef CharT char_type; + typedef typename CharTraits::int_type int_type; + typedef typename CharTraits::pos_type pos_type; + typedef typename CharTraits::off_type off_type; + typedef CharTraits traits_type; + typedef std::basic_streambuf base_streambuf; + +public: + + explicit basic_ovectorbuf(std::size_t length) JSONCONS_NOEXCEPT + : base_streambuf(), + mode_(std::ios_base::out | std::ios_base::binary), + buf_(length) + { + // Set write position to beginning of buffer. + this->setp(buf_.data(), buf_.data() + buf_.size()); + } + + virtual ~basic_ovectorbuf() {} + + const CharT* data() const + { + return buf_.data(); + } + +protected: + int_type underflow() override + { + return this->gptr() != this->egptr() ? + CharTraits::to_int_type(*this->gptr()) : CharTraits::eof(); + } + + int_type pbackfail(int_type c = CharTraits::eof()) override + { + if (this->gptr() != this->eback()) + { + if (!CharTraits::eq_int_type(c, CharTraits::eof())) + { + if (CharTraits::eq(CharTraits::to_char_type(c), this->gptr()[-1])) + { + this->gbump(-1); + return c; + } + this->gbump(-1); + *this->gptr() = c; + return c; + } + else + { + this->gbump(-1); + return CharTraits::not_eof(c); + } + } + else + { + return CharTraits::eof(); + } + } + + int_type overflow(int_type c = CharTraits::eof()) override + { + if (!CharTraits::eq_int_type(c, CharTraits::eof())) + { + size_t pos = buf_.size(); + buf_.resize(pos*2); + this->setp(buf_.data(), buf_.data() + buf_.size()); + this->pubseekpos(pos, std::ios_base::out); + *this->pptr() = CharTraits::to_char_type(c); + this->pbump(1); + this->pubsync(); + return c; + } + else + { + return CharTraits::not_eof(c); + } + } + + pos_type seekoff(off_type off, std::ios_base::seekdir dir, + std::ios_base::openmode mode = std::ios_base::out) override + { + (void)mode; // Always out + + std::streamoff newoff; + switch (dir) + { + case std::ios_base::beg: + newoff = 0; + break; + case std::ios_base::end: + newoff = static_cast(buf_.size()); + break; + case std::ios_base::cur: + newoff = static_cast(this->pptr() - this->pbase()); + break; + default: + return pos_type(off_type(-1)); + } + + off += newoff; + + std::ptrdiff_t n = this->epptr() - this->pbase(); + + if (off < 0 || off > n) return pos_type(off_type(-1)); + else + { + this->setp(this->pbase(), this->pbase() + n); + this->pbump(static_cast(off)); + } + + return pos_type(off); + } + + pos_type seekoff_beg(off_type off) + { + std::ptrdiff_t n = this->epptr() - this->pbase(); + + if (off < 0 || off > n) + { + return pos_type(off_type(-1)); + } + else + { + this->setp(this->pbase(), this->pbase() + n); + this->pbump(static_cast(off)); + } + + return pos_type(off); + } + + pos_type seekpos(pos_type pos, std::ios_base::openmode mode + = std::ios_base::out) override + { + (void)mode; // Always out + + return seekoff_beg(pos - pos_type(off_type(0))); + } +}; + +template +class basic_ovectorstream : + private basic_ovectorbuf, + public std::basic_ostream +{ +public: + typedef typename std::basic_ios + ::char_type char_type; + typedef typename std::basic_ios::int_type int_type; + typedef typename std::basic_ios::pos_type pos_type; + typedef typename std::basic_ios::off_type off_type; + typedef typename std::basic_ios::traits_type traits_type; + +private: + typedef basic_ovectorbuf base_ouputbuf; + typedef std::basic_ios base_ios; + typedef std::basic_ostream base_streambuf; + base_ouputbuf& get_buf() {return *this;} + const base_ouputbuf& get_buf() const {return *this;} + +public: + basic_ovectorstream(std::size_t length) JSONCONS_NOEXCEPT + : base_ouputbuf(length), + base_streambuf(&get_buf()) + {} + + ~basic_ovectorstream() {} + +public: + + size_t length() + { + return this->pptr() - this->pbase(); + } + + void set_locale(const std::locale& loc) + { + std::locale result = std::basic_ostream::imbue(loc); + this->pubimbue(loc); + } + + void reset() + { + this->clear(); + this->seekp(0, std::ios::beg); + } + + const CharT* data() const + { + return get_buf().data(); + } +}; + +} + +#endif diff --git a/runtime/include/jsoncons/parse_error_handler.hpp b/runtime/include/jsoncons/parse_error_handler.hpp new file mode 100644 index 0000000..9081fc9 --- /dev/null +++ b/runtime/include/jsoncons/parse_error_handler.hpp @@ -0,0 +1,172 @@ +/// Copyright 2013 Daniel Parker +// Distributed under the Boost license, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See https://github.com/danielaparker/jsoncons for latest version + +#ifndef JSONCONS_PARSE_ERROR_HANDLER_HPP +#define JSONCONS_PARSE_ERROR_HANDLER_HPP + +#include "jsoncons/jsoncons.hpp" +#include + +namespace jsoncons { + +class parse_exception : public std::exception, public virtual json_exception +{ +public: + parse_exception(std::error_code ec, + size_t line, + size_t column) + : error_code_(ec), + line_number_(line), + column_number_(column) + { + } + parse_exception(const parse_exception& other) + : error_code_(other.error_code_), + line_number_(other.line_number_), + column_number_(other.column_number_) + { + } + const char* what() const JSONCONS_NOEXCEPT + { + std::ostringstream os; + os << error_code_.message() << " at line " << line_number_ << " and column " << column_number_; + const_cast(buffer_) = os.str(); + return buffer_.c_str(); + } + + const std::error_code code() const + { + return error_code_; + } + + size_t line_number() const + { + return line_number_; + } + + size_t column_number() const + { + return column_number_; + } +private: + std::error_code error_code_; + std::string buffer_; + size_t line_number_; + size_t column_number_; +}; + +typedef parse_exception json_parse_exception; + +template +class basic_parsing_context +{ +public: + virtual ~basic_parsing_context() {} + + size_t line_number() const + { + return do_line_number(); + } + size_t column_number() const + { + return do_column_number(); + } + CharT current_char() const + { + return do_current_char(); + } + +#if !defined(JSONCONS_NO_DEPRECATED) + CharT last_char() const + { + return do_current_char(); + } +#endif + +private: + virtual size_t do_line_number() const = 0; + virtual size_t do_column_number() const = 0; + virtual CharT do_current_char() const = 0; +}; + +typedef basic_parsing_context parsing_context; +typedef basic_parsing_context wparsing_context; + +template +class basic_parse_error_handler +{ +public: + virtual ~basic_parse_error_handler() + { + } + + void warning(std::error_code ec, + const basic_parsing_context& context) throw (parse_exception) + { + do_warning(ec,context); + } + + void error(std::error_code ec, + const basic_parsing_context& context) throw (parse_exception) + { + do_error(ec,context); + } + + void fatal_error(std::error_code ec, + const basic_parsing_context& context) throw (parse_exception) + { + do_fatal_error(ec,context); + throw parse_exception(ec,context.line_number(),context.column_number()); + } + +private: + virtual void do_warning(std::error_code, + const basic_parsing_context& context) throw (parse_exception) = 0; + + virtual void do_error(std::error_code, + const basic_parsing_context& context) throw (parse_exception) = 0; + + virtual void do_fatal_error(std::error_code, + const basic_parsing_context& context) throw (parse_exception) + { + (void)context; + } +}; + +template +class basic_default_parse_error_handler : public basic_parse_error_handler +{ +public: + static basic_parse_error_handler& instance() + { + static basic_default_parse_error_handler instance; + return instance; + } +private: + virtual void do_warning(std::error_code, + const basic_parsing_context& context) throw (parse_exception) + { + (void)context; + } + + virtual void do_error(std::error_code ec, + const basic_parsing_context& context) throw (parse_exception) + { + throw parse_exception(ec,context.line_number(),context.column_number()); + } +}; + +typedef basic_parse_error_handler parse_error_handler; +typedef basic_parse_error_handler wparse_error_handler; + +typedef basic_default_parse_error_handler default_parse_error_handler; +typedef basic_default_parse_error_handler wdefault_parse_error_handler; + +typedef basic_parsing_context parsing_context; +typedef basic_parsing_context wparsing_context; + +} +#endif diff --git a/runtime/include/octree.h b/runtime/include/octree.h index 2281eea..ba4e874 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -881,6 +881,9 @@ class octree { // WarOfGalaxies: add galaxy to simulation void releaseGalaxy(Galaxy const& galaxy); + // WarOfGalaxies: remove galaxy via id + void removeGalaxy(int id); + //Library interface functions void setEps(float eps); float getEps(); diff --git a/runtime/src/Galaxy.cpp b/runtime/src/Galaxy.cpp index 37fd342..a126b10 100644 --- a/runtime/src/Galaxy.cpp +++ b/runtime/src/Galaxy.cpp @@ -9,83 +9,92 @@ real4 Galaxy::getCenterOfMass() const { - real mass; - real4 result; - result.x = 0.0; - result.y = 0.0; - result.z = 0.0; - result.w = 0.0; - for (size_t i(0); i != pos.size(); ++i) - { - mass = pos[i].w; - result.x += mass * pos[i].x; - result.y += mass * pos[i].y; - result.z += mass * pos[i].z; - result.w += mass; - } - result.x /= result.w; - result.y /= result.w; - result.z /= result.w; - return result; + real mass; + real4 result; + result.x = 0.0; + result.y = 0.0; + result.z = 0.0; + result.w = 0.0; + + for (auto p : pos) + { + mass = p.w; + result.x += mass * p.x; + result.y += mass * p.y; + result.z += mass * p.z; + result.w += mass; + } + + result.x /= result.w; + result.y /= result.w; + result.z /= result.w; + return result; } real4 Galaxy::getTotalVelocity() const { - real4 result; - result.x = 0.0; - result.y = 0.0; - result.z = 0.0; - result.w = 0.0; - for (size_t i(0); i != vel.size(); ++i) - { - result.x += vel[i].x; - result.y += vel[i].y; - result.z += vel[i].z; - } - result.x /= vel.size(); - result.y /= vel.size(); - result.z /= vel.size(); - return result; + real4 result; + result.x = 0.0; + result.y = 0.0; + result.z = 0.0; + result.w = 0.0; + + for (auto v : vel) + { + result.x += v.x; + result.y += v.y; + result.z += v.z; + } + + result.x /= vel.size(); + result.y /= vel.size(); + result.z /= vel.size(); + return result; } void Galaxy::centering() { - real4 center_of_mass = getCenterOfMass(); - for (size_t i(0); i != pos.size(); ++i) - { - pos[i].x -= center_of_mass.x; - pos[i].y -= center_of_mass.y; - pos[i].z -= center_of_mass.z; - } + real4 center_of_mass = getCenterOfMass(); + for (auto p : pos) + { + p.x -= center_of_mass.x; + p.y -= center_of_mass.y; + p.z -= center_of_mass.z; + } } void Galaxy::steady() { - real4 total_velocity = getTotalVelocity(); - for (size_t i(0); i != vel.size(); ++i) - { - vel[i].x -= total_velocity.x; - vel[i].y -= total_velocity.y; - vel[i].z -= total_velocity.z; - } + real4 total_velocity = getTotalVelocity(); + for (auto v : vel) + { + v.x -= total_velocity.x; + v.y -= total_velocity.y; + v.z -= total_velocity.z; + } +} + +void Galaxy::set_id(int id_in) +{ + for (auto id : ids) id = id_in; } -void Galaxy::add_position(real x, real y, real z) +void Galaxy::translate(real x, real y, real z) { - for (size_t i(0); i != pos.size(); ++i) - { - pos[i].x += x; - pos[i].y += y; - pos[i].z += z; - } + for (auto p : pos) + { + p.x += x; + p.y += y; + p.z += z; + } } -void Galaxy::add_velocity(real x, real y, real z) +void Galaxy::accelerate(real x, real y, real z) { - for (size_t i(0); i != vel.size(); ++i) - { - vel[i].x += x; - vel[i].y += y; - vel[i].z += z; - } + for (auto v : vel) + { + v.x += x; + v.y += y; + v.z += z; + } } diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index 4f3d984..eb097db 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -56,21 +56,23 @@ Galaxy GalaxyStore::getGalaxy(int user_id, int galaxy_id, double angle, double v { Galaxy galaxy(galaxies[galaxy_id - 1]); + galaxy.set_id(user_id - 1); + double sinus = sin(angle * pi / 180); double cosinus = cos(angle * pi / 180); if (user_id == 1) { - galaxy.add_position( 100, 100, 0); - galaxy.add_velocity(velocity * -sinus, velocity * -cosinus, 0); + galaxy.translate( 100, 100, 0); + galaxy.accelerate(velocity * -sinus, velocity * -cosinus, 0); } else if (user_id == 2) { - galaxy.add_position( 100, -100, 0); - galaxy.add_velocity(velocity * -cosinus, velocity * sinus, 0); + galaxy.translate( 100, -100, 0); + galaxy.accelerate(velocity * -cosinus, velocity * sinus, 0); } else if (user_id == 3) { - galaxy.add_position(-100, -100, 0); - galaxy.add_velocity(velocity * sinus, velocity * cosinus, 0); + galaxy.translate(-100, -100, 0); + galaxy.accelerate(velocity * sinus, velocity * cosinus, 0); } else if (user_id == 4) { - galaxy.add_position(-100, 100, 0); - galaxy.add_velocity(velocity * cosinus, velocity * -sinus, 0); + galaxy.translate(-100, 100, 0); + galaxy.accelerate(velocity * cosinus, velocity * -sinus, 0); } return galaxy; diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index 4d89a57..5d69d6f 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -6,6 +6,9 @@ */ #include "WOGSocketManager.h" +#include "jsoncons/json.hpp" + +using jsoncons::json; auto split(std::string const& s, char separator) -> std::vector { @@ -63,25 +66,43 @@ WOGSocketManager::~WOGSocketManager() void WOGSocketManager::release(octree *tree, GalaxyStore const& galaxyStore) { - std::string buffer; - buffer.resize(BUFFERSIZE); - int n = recv(transferSocket, &buffer[0], BUFFERSIZE, 0); + char buffer[BUFFERSIZE]; + int n = recv(transferSocket, buffer, BUFFERSIZE, 0); if (n <= 0) return; - std::cout << "The string is: " << buffer << std::endl; - auto values = split(buffer, '|'); - int user_id = std::stoi(values[0]); - int galaxy_id = std::stoi(values[1]); - double angle = std::stod(values[2]); - double velocity = std::stod(values[3]); + buffer[n] = '\0'; + std::string buffer_string(buffer); + std::cout << "The string is: " << buffer_string << std::endl; + + std::istringstream iss(buffer_string); + json recv_data; + iss >> recv_data; + + std::cout << "task: " << recv_data["task"].as() << std::endl; + std::cout << "user_id: " << recv_data["user_id"].as() << std::endl; + std::cout << "galaxy_id: " << recv_data["galaxy_id"].as() << std::endl; + std::cout << "angle: " << recv_data["angle"].as() << std::endl; + std::cout << "velocity: " << recv_data["velocity"].as() << std::endl; + + if (recv_data["task"].as() == "release") + { + tree->releaseGalaxy(galaxyStore.getGalaxy( + recv_data["user_id"].as(), + recv_data["galaxy_id"].as(), + recv_data["angle"].as(), + recv_data["velocity"].as())); + } + else if (recv_data["task"].as() == "remove") + { + tree->removeGalaxy(recv_data["user_id"].as()); + } - std::cout << "user_id: " << user_id << std::endl; - std::cout << "galaxy_id: " << galaxy_id << std::endl; - std::cout << "angle: " << angle << std::endl; - std::cout << "velocity: " << velocity << std::endl; + json send_data; + send_data["last_operation"] = recv_data["task"].as(); - tree->releaseGalaxy(galaxyStore.getGalaxy(user_id, galaxy_id, angle, velocity)); + std::ostringstream oss; + oss << send_data; + std::string send_data_string = oss.str(); - std::string message = "1"; - if (send(transferSocket, message.c_str(), message.size(), 0) == -1) perror("send"); + if (send(transferSocket, send_data_string.c_str(), send_data_string.size(), 0) == -1) perror("send"); } diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 060bc2e..0c71e43 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -545,6 +545,122 @@ void octree::releaseGalaxy(Galaxy const& galaxy) resetEnergy(); } +void octree::removeGalaxy(int id) +{ +#if 0 + #ifdef USE_DUST + // Move the dust data into the position data on the device + this->localTree.bodies_pos.copy_devonly(this->localTree.dust_pos, this->localTree.n_dust, this->localTree.n); + this->localTree.bodies_vel.copy_devonly(this->localTree.dust_vel, this->localTree.n_dust, this->localTree.n); + this->localTree.bodies_ids.copy_devonly(this->localTree.dust_ids, this->localTree.n_dust, this->localTree.n); + #endif + + this->localTree.bodies_pos.d2h(); + this->localTree.bodies_vel.d2h(); + this->localTree.bodies_ids.d2h(); + + vector new_pos; + vector new_vel; + vector new_ids; + int old_nb_particles = this->localTree.n + this->localTree.n_dust; + int new_nb_particles = 0; + for (int i(0); i != old_nb_particles; ++i) + { + if (this->localTree.bodies_ids[i] == id) continue; + ++new_nb_particles; + new_pos.push_back(this->localTree.bodies_pos[i]); + new_vel.push_back(this->localTree.bodies_vel[i]); + new_ids.push_back(this->localTree.bodies_ids[i]); + } + + // Increase the size of the buffers + this->localTree.setN(new_nb_particles); + + // Resize preserves original data + this->reallocateParticleMemory(this->localTree); + + #ifdef USE_DUST + this->localTree.setNDust(n_addGalaxy_dust + this->localTree.n_dust); + // The dust function checks if it needs to resize or malloc + this->allocateDustMemory(this->localTree); + #endif + + // Get particle data back to the host so we can add our new data + this->localTree.bodies_pos.d2h(); + this->localTree.bodies_acc0.d2h(); + this->localTree.bodies_vel.d2h(); + this->localTree.bodies_time.d2h(); + this->localTree.bodies_ids.d2h(); + this->localTree.bodies_Ppos.d2h(); + this->localTree.bodies_Pvel.d2h(); + + // Now we have to do some memory copy magic, IF we have USE_DUST defined the lay-out is like this: + // [[tree.n galaxy1][tree.n_dust galaxy1][n_addGalaxy galaxy2][n_addGalaxy_dust galaxy2]] + // So lets get that in the right arrays :-) + memcpy(&this->localTree.bodies_pos[0], ¤tGalaxy_pos[0], sizeof(real4)*old_n); + memcpy(&this->localTree.bodies_pos[old_n], ¤tGalaxy_pos[old_n + old_ndust], sizeof(real4)*n_addGalaxy); + + memcpy(&this->localTree.bodies_vel[0], ¤tGalaxy_vel[0], sizeof(real4)*old_n); + memcpy(&this->localTree.bodies_vel[old_n], ¤tGalaxy_vel[old_n + old_ndust], sizeof(real4)*n_addGalaxy); + + memcpy(&this->localTree.bodies_ids[0], ¤tGalaxy_ids[0], sizeof(int)*old_n); + memcpy(&this->localTree.bodies_ids[old_n], ¤tGalaxy_ids[old_n + old_ndust], sizeof(int)*n_addGalaxy); + + #ifdef USE_DUST + if(old_ndust + n_addGalaxy_dust) + { + memcpy(&this->localTree.dust_pos[0], ¤tGalaxy_pos[old_n], sizeof(real4)*old_ndust); + memcpy(&this->localTree.dust_vel [0], ¤tGalaxy_vel[old_n], sizeof(real4)*old_ndust); + memcpy(&this->localTree.dust_ids[0], ¤tGalaxy_ids[old_n], sizeof(int)*old_ndust); + + if(n_addGalaxy_dust > 0){ + memcpy(&this->localTree.dust_pos[old_ndust], + ¤tGalaxy_pos[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); + memcpy(&this->localTree.dust_vel [old_ndust], + ¤tGalaxy_vel[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); + memcpy(&this->localTree.dust_ids[old_ndust], + ¤tGalaxy_ids[old_n + old_ndust + n_addGalaxy], sizeof(int)*n_addGalaxy_dust); + } + this->localTree.dust_pos.h2d(); + this->localTree.dust_vel.h2d(); + this->localTree.dust_ids.h2d(); + + this->localTree.dust_acc0.d2h(); + for(int i=old_ndust; i < old_ndust + n_addGalaxy_dust; i++) + { + // Zero the accelerations of the new particles + this->localTree.dust_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); + } + this->localTree.dust_acc1.zeroMem(); + } + #endif + + float2 curTime = this->localTree.bodies_time[0]; + for(int i=0; i < this->localTree.n; i++) + { + this->localTree.bodies_time[i] = curTime; + // Zero the accelerations of the new particles + if(i >= old_n) + { + this->localTree.bodies_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); + } + } + this->localTree.bodies_acc1.zeroMem(); + + this->localTree.bodies_pos.h2d(); + this->localTree.bodies_acc0.h2d(); + this->localTree.bodies_vel.h2d(); + this->localTree.bodies_time.h2d(); + this->localTree.bodies_ids.h2d(); + + // Fill the predicted arrays + this->localTree.bodies_Ppos.copy(this->localTree.bodies_pos, localTree.n); + this->localTree.bodies_Pvel.copy(this->localTree.bodies_pos, localTree.n); + + resetEnergy(); +#endif +} + // returns true if this iteration is the last (t_current >= t_end), false otherwise bool octree::iterate_once(IterationData &idata) { double t1 = 0; diff --git a/test/json/release.json b/test/json/release.json new file mode 100644 index 0000000..2c7155c --- /dev/null +++ b/test/json/release.json @@ -0,0 +1,5 @@ +{ + "task": "release", + "user": 1, + "galaxy": 2 +} diff --git a/test/json/remove.json b/test/json/remove.json new file mode 100644 index 0000000..6059bc6 --- /dev/null +++ b/test/json/remove.json @@ -0,0 +1,4 @@ +{ + "task": "remove", + "user": 1 +} diff --git a/test/json/test.py b/test/json/test.py new file mode 100644 index 0000000..d4e51be --- /dev/null +++ b/test/json/test.py @@ -0,0 +1,9 @@ +import json +from pprint import pprint + +with open('release.json') as data_file: + data = json.load(data_file) + +pprint(data) + +print data["task"] diff --git a/test/json/test2.py b/test/json/test2.py new file mode 100644 index 0000000..8aee180 --- /dev/null +++ b/test/json/test2.py @@ -0,0 +1,13 @@ +import json +from pprint import pprint + +data = {} +data['task'] = 'release' +data['user_id'] = 1 +data['galaxy_id'] = 1 +data['angle'] = 45.5 + +json_data = json.dumps(data) + +pprint(json_data) + diff --git a/test/sockets/client_json.py b/test/sockets/client_json.py new file mode 100644 index 0000000..a99c7ce --- /dev/null +++ b/test/sockets/client_json.py @@ -0,0 +1,42 @@ +import json +import socket +import sys + +HOST = 'localhost' +PORT = 50007 +BUFFERSIZE = 1024 + +s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +s.connect((HOST, PORT)) + +while 1: + + send_data = {} + + while not('task' in send_data and (send_data['task'] == 'release' or send_data['task'] == 'remove')): + send_data['task'] = raw_input("Which task? ['release', 'remove']: ") + + while not('user_id' in send_data and send_data['user_id'] >= 1 and send_data['user_id'] <= 4): + send_data['user_id'] = int(raw_input("Which user? [1-4]: ")) + + if send_data['task'] == 'release': + + while not('galaxy_id' in send_data and send_data['galaxy_id'] >= 1 and send_data['galaxy_id'] <= 4): + send_data['galaxy_id'] = int(raw_input("Which galaxy? [1-4]: ")) + + while not('angle' in send_data and send_data['angle'] >= 0.0 and send_data['angle'] <= 90.0): + send_data['angle'] = float(raw_input("Which angle? [0 <= angle <= 90]: ")) + + while not('velocity' in send_data and send_data['velocity'] >= 0.0 and send_data['velocity'] <= 100.0): + send_data['velocity'] = float(raw_input("Which velocity? [0 <= velocity <= 100]: ")) + + send_data_json = json.dumps(send_data) + print "Send data:", send_data_json + s.send(send_data_json) + + recv_data_json = s.recv(BUFFERSIZE) + print "Received data:", recv_data_json + +s.shutdown(socket.SHUT_RDWR) +s.close() + From 02f3303e17751f3ff5e539243ffdaf430770429a Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 20 May 2016 16:40:36 +0200 Subject: [PATCH 34/78] remove galaxies of a user --- runtime/include/Galaxy.h | 3 --- runtime/src/Galaxy.cpp | 17 ++++++----------- runtime/src/GalaxyStore.cpp | 3 +-- runtime/src/gpu_iterate.cpp | 37 +++++++++---------------------------- test/tipsy/read_tipsy.cpp | 35 +++++++++++++++++++++-------------- 5 files changed, 37 insertions(+), 58 deletions(-) diff --git a/runtime/include/Galaxy.h b/runtime/include/Galaxy.h index 2f9569f..c72aeb5 100644 --- a/runtime/include/Galaxy.h +++ b/runtime/include/Galaxy.h @@ -26,9 +26,6 @@ struct Galaxy /// Remove total velocity void steady(); - /// Set id of all particles to given id - void set_id(int id); - /// Move center of the galaxy void translate(real x, real y, real z); diff --git a/runtime/src/Galaxy.cpp b/runtime/src/Galaxy.cpp index a126b10..be51320 100644 --- a/runtime/src/Galaxy.cpp +++ b/runtime/src/Galaxy.cpp @@ -16,7 +16,7 @@ real4 Galaxy::getCenterOfMass() const result.z = 0.0; result.w = 0.0; - for (auto p : pos) + for (auto const& p : pos) { mass = p.w; result.x += mass * p.x; @@ -39,7 +39,7 @@ real4 Galaxy::getTotalVelocity() const result.z = 0.0; result.w = 0.0; - for (auto v : vel) + for (auto const& v : vel) { result.x += v.x; result.y += v.y; @@ -55,7 +55,7 @@ real4 Galaxy::getTotalVelocity() const void Galaxy::centering() { real4 center_of_mass = getCenterOfMass(); - for (auto p : pos) + for (auto &p : pos) { p.x -= center_of_mass.x; p.y -= center_of_mass.y; @@ -66,7 +66,7 @@ void Galaxy::centering() void Galaxy::steady() { real4 total_velocity = getTotalVelocity(); - for (auto v : vel) + for (auto &v : vel) { v.x -= total_velocity.x; v.y -= total_velocity.y; @@ -74,14 +74,9 @@ void Galaxy::steady() } } -void Galaxy::set_id(int id_in) -{ - for (auto id : ids) id = id_in; -} - void Galaxy::translate(real x, real y, real z) { - for (auto p : pos) + for (auto &p : pos) { p.x += x; p.y += y; @@ -91,7 +86,7 @@ void Galaxy::translate(real x, real y, real z) void Galaxy::accelerate(real x, real y, real z) { - for (auto v : vel) + for (auto &v : vel) { v.x += x; v.y += y; diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index eb097db..ea5d5ee 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -8,6 +8,7 @@ #include "FileIO.h" #include "GalaxyStore.h" #include +#include #include const double pi = std::acos(-1); @@ -56,8 +57,6 @@ Galaxy GalaxyStore::getGalaxy(int user_id, int galaxy_id, double angle, double v { Galaxy galaxy(galaxies[galaxy_id - 1]); - galaxy.set_id(user_id - 1); - double sinus = sin(angle * pi / 180); double cosinus = cos(angle * pi / 180); diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 0c71e43..88d6106 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -547,7 +547,6 @@ void octree::releaseGalaxy(Galaxy const& galaxy) void octree::removeGalaxy(int id) { -#if 0 #ifdef USE_DUST // Move the dust data into the position data on the device this->localTree.bodies_pos.copy_devonly(this->localTree.dust_pos, this->localTree.n_dust, this->localTree.n); @@ -555,9 +554,14 @@ void octree::removeGalaxy(int id) this->localTree.bodies_ids.copy_devonly(this->localTree.dust_ids, this->localTree.n_dust, this->localTree.n); #endif + // Get particle data back to the host so we can add our new data this->localTree.bodies_pos.d2h(); this->localTree.bodies_vel.d2h(); this->localTree.bodies_ids.d2h(); + this->localTree.bodies_acc0.d2h(); + this->localTree.bodies_time.d2h(); + this->localTree.bodies_Ppos.d2h(); + this->localTree.bodies_Pvel.d2h(); vector new_pos; vector new_vel; @@ -585,26 +589,11 @@ void octree::removeGalaxy(int id) this->allocateDustMemory(this->localTree); #endif - // Get particle data back to the host so we can add our new data - this->localTree.bodies_pos.d2h(); - this->localTree.bodies_acc0.d2h(); - this->localTree.bodies_vel.d2h(); - this->localTree.bodies_time.d2h(); - this->localTree.bodies_ids.d2h(); - this->localTree.bodies_Ppos.d2h(); - this->localTree.bodies_Pvel.d2h(); - // Now we have to do some memory copy magic, IF we have USE_DUST defined the lay-out is like this: - // [[tree.n galaxy1][tree.n_dust galaxy1][n_addGalaxy galaxy2][n_addGalaxy_dust galaxy2]] - // So lets get that in the right arrays :-) - memcpy(&this->localTree.bodies_pos[0], ¤tGalaxy_pos[0], sizeof(real4)*old_n); - memcpy(&this->localTree.bodies_pos[old_n], ¤tGalaxy_pos[old_n + old_ndust], sizeof(real4)*n_addGalaxy); - - memcpy(&this->localTree.bodies_vel[0], ¤tGalaxy_vel[0], sizeof(real4)*old_n); - memcpy(&this->localTree.bodies_vel[old_n], ¤tGalaxy_vel[old_n + old_ndust], sizeof(real4)*n_addGalaxy); - - memcpy(&this->localTree.bodies_ids[0], ¤tGalaxy_ids[0], sizeof(int)*old_n); - memcpy(&this->localTree.bodies_ids[old_n], ¤tGalaxy_ids[old_n + old_ndust], sizeof(int)*n_addGalaxy); + // Copy back to host storage + memcpy(&this->localTree.bodies_pos[0], &new_pos[0], sizeof(real4) * new_nb_particles); + memcpy(&this->localTree.bodies_vel[0], &new_vel[0], sizeof(real4) * new_nb_particles); + memcpy(&this->localTree.bodies_ids[0], &new_ids[0], sizeof(int) * new_nb_particles); #ifdef USE_DUST if(old_ndust + n_addGalaxy_dust) @@ -637,14 +626,7 @@ void octree::removeGalaxy(int id) float2 curTime = this->localTree.bodies_time[0]; for(int i=0; i < this->localTree.n; i++) - { this->localTree.bodies_time[i] = curTime; - // Zero the accelerations of the new particles - if(i >= old_n) - { - this->localTree.bodies_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); - } - } this->localTree.bodies_acc1.zeroMem(); this->localTree.bodies_pos.h2d(); @@ -658,7 +640,6 @@ void octree::removeGalaxy(int id) this->localTree.bodies_Pvel.copy(this->localTree.bodies_pos, localTree.n); resetEnergy(); -#endif } // returns true if this iteration is the last (t_current >= t_end), false otherwise diff --git a/test/tipsy/read_tipsy.cpp b/test/tipsy/read_tipsy.cpp index a85b932..b978111 100644 --- a/test/tipsy/read_tipsy.cpp +++ b/test/tipsy/read_tipsy.cpp @@ -1,17 +1,7 @@ +#include "tipsy.h" #include #include - -#define MAXDIM 3 - -typedef float Real; - -struct dark_particle { - Real mass; - Real pos[MAXDIM]; - Real vel[MAXDIM]; - Real eps; - int phi; -}; +#include int main(int argc, char** argv) { @@ -40,12 +30,29 @@ int main(int argc, char** argv) std::cout << "nstar= " << nstar << std::endl; // dark particles + std::set dark_phis; + + for (int i = 0; i != ndark; ++i) { dark_particle d; - is.read((char*) &d, sizeof(d)); + dark_phis.insert(d.phi); + } - std::cout << "mass = " << d.mass << std::endl; + std::cout << dark_phis.size() << std::endl; + for (auto p : dark_phis) std::cout << p << std::endl; + + // star particles + std::set star_phis; + + for (int i = 0; i != nstar; ++i) + { + star_particle s; + is.read((char*) &s, sizeof(s)); + star_phis.insert(s.phi); } + + std::cout << star_phis.size() << std::endl; + for (auto s : star_phis) std::cout << s << std::endl; } From c5cbce8df29f522fc0c05d435d74be3467193821 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 23 May 2016 16:10:49 +0200 Subject: [PATCH 35/78] remove all particles of a user --- runtime/include/WOGSocketManager.h | 19 ++- runtime/include/octree.h | 4 +- runtime/src/WOGSocketManager.cpp | 83 ++++++++---- runtime/src/gpu_iterate.cpp | 195 +++++++---------------------- runtime/src/renderloop.cpp | 2 +- 5 files changed, 121 insertions(+), 182 deletions(-) diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index bdb84c4..e9ddfeb 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -27,24 +27,31 @@ struct sockaddr_in; #define BUFFERSIZE 1024 +#define NUMBER_OF_USERS 4 +#define DUMMY_PARTICLES 440 +/// Control interconnection via UNIX socket class WOGSocketManager { public: - // Constructor opening sockets and reading input galaxies + /// Constructor opening sockets and reading input galaxies WOGSocketManager(int port); - // Constructor closing the sockets + /// Constructor closing the sockets ~WOGSocketManager(); - // Release Galaxy if requested by socket - void release(octree *tree, GalaxyStore const& galaxyStore); + /// Execute a client request + void execute(octree *tree, GalaxyStore const& galaxyStore); private: - int serverSocket; - int transferSocket; + int server_socket; + + int client_socket; + + /// Number of particles of user + std::array user_particles; }; diff --git a/runtime/include/octree.h b/runtime/include/octree.h index ba4e874..b67153e 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -879,10 +879,10 @@ class octree { bool addGalaxy(int galaxyID); // WarOfGalaxies: add galaxy to simulation - void releaseGalaxy(Galaxy const& galaxy); + void releaseGalaxy(Galaxy const& galaxy, int position); // WarOfGalaxies: remove galaxy via id - void removeGalaxy(int id); + void removeGalaxy(int begin_particle, int end_particle); //Library interface functions void setEps(float eps); diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index 5d69d6f..9bc493f 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -10,6 +10,8 @@ using jsoncons::json; +#define DEBUG_PRINT + auto split(std::string const& s, char separator) -> std::vector { std::vector result; @@ -24,9 +26,10 @@ auto split(std::string const& s, char separator) -> std::vector } WOGSocketManager::WOGSocketManager(int port) + : user_particles{{0, 0, 0, 0}} { - serverSocket = socket(AF_INET, SOCK_STREAM, 0); - if (serverSocket == -1) { + server_socket = socket(AF_INET, SOCK_STREAM, 0); + if (server_socket == -1) { perror("socket"); throw std::runtime_error("socket error"); } @@ -36,73 +39,101 @@ WOGSocketManager::WOGSocketManager(int port) serverAddr.sin_port = htons(port); serverAddr.sin_addr.s_addr = INADDR_ANY; - if (bind(serverSocket, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr)) == -1) { + if (bind(server_socket, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr)) == -1) { perror("bind"); throw std::runtime_error("bind error"); } // wait for a client - if (listen(serverSocket, 5) == -1) { + if (listen(server_socket, 5) == -1) { perror("listen"); throw std::runtime_error("listen error"); } sockaddr_in clientAddr; socklen_t sin_size = sizeof(struct sockaddr_in); - transferSocket = accept(serverSocket, (struct sockaddr*)&clientAddr, &sin_size); - if (transferSocket == -1) { + client_socket = accept(server_socket, (struct sockaddr*)&clientAddr, &sin_size); + if (client_socket == -1) { perror("accept"); throw std::runtime_error("accept error"); } - fcntl(transferSocket, F_SETFL, O_NONBLOCK); + fcntl(client_socket, F_SETFL, O_NONBLOCK); } WOGSocketManager::~WOGSocketManager() { - close(transferSocket); - close(serverSocket); + close(client_socket); + close(server_socket); } -void WOGSocketManager::release(octree *tree, GalaxyStore const& galaxyStore) +void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) { char buffer[BUFFERSIZE]; - int n = recv(transferSocket, buffer, BUFFERSIZE, 0); + int n = recv(client_socket, buffer, BUFFERSIZE, 0); if (n <= 0) return; buffer[n] = '\0'; std::string buffer_string(buffer); +#ifdef DEBUG_PRINT std::cout << "The string is: " << buffer_string << std::endl; +#endif std::istringstream iss(buffer_string); json recv_data; iss >> recv_data; - std::cout << "task: " << recv_data["task"].as() << std::endl; - std::cout << "user_id: " << recv_data["user_id"].as() << std::endl; - std::cout << "galaxy_id: " << recv_data["galaxy_id"].as() << std::endl; - std::cout << "angle: " << recv_data["angle"].as() << std::endl; - std::cout << "velocity: " << recv_data["velocity"].as() << std::endl; + std::string task = recv_data["task"].as(); + int user_id = recv_data["user_id"].as(); + +#ifdef DEBUG_PRINT + std::cout << "task: " << task << std::endl; + std::cout << "user_id: " << user_id << std::endl; +#endif - if (recv_data["task"].as() == "release") + if (task == "release") { - tree->releaseGalaxy(galaxyStore.getGalaxy( - recv_data["user_id"].as(), - recv_data["galaxy_id"].as(), - recv_data["angle"].as(), - recv_data["velocity"].as())); + int galaxy_id = recv_data["galaxy_id"].as(); + double angle = recv_data["angle"].as(); + double velocity = recv_data["velocity"].as(); + + #ifdef DEBUG_PRINT + std::cout << "galaxy_id: " << galaxy_id << std::endl; + std::cout << "angle: " << angle << std::endl; + std::cout << "velocity: " << velocity << std::endl; + #endif + + Galaxy galaxy = galaxyStore.getGalaxy(user_id, galaxy_id, angle, velocity); + + int position = std::accumulate(user_particles.begin(), user_particles.begin() + user_id - 1, DUMMY_PARTICLES); + + #ifdef DEBUG_PRINT + std::cout << "position: " << position << std::endl; + #endif + + tree->releaseGalaxy(galaxy, position); + user_particles[user_id - 1] += galaxy.pos.size(); } - else if (recv_data["task"].as() == "remove") + else if (task == "remove") { - tree->removeGalaxy(recv_data["user_id"].as()); + int begin_particle = std::accumulate(user_particles.begin(), user_particles.begin() + user_id - 1, DUMMY_PARTICLES); + int end_particle = begin_particle + user_particles[user_id - 1]; + + #ifdef DEBUG_PRINT + std::cout << "begin_particle: " << begin_particle << std::endl; + std::cout << "end_particle: " << end_particle << std::endl; + #endif + + tree->removeGalaxy(begin_particle, end_particle); + user_particles[user_id - 1] = 0; } json send_data; - send_data["last_operation"] = recv_data["task"].as(); + send_data["last_operation"] = task; std::ostringstream oss; oss << send_data; std::string send_data_string = oss.str(); - if (send(transferSocket, send_data_string.c_str(), send_data_string.size(), 0) == -1) perror("send"); + if (send(client_socket, send_data_string.c_str(), send_data_string.size(), 0) == -1) perror("send"); } diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 88d6106..80da074 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -414,62 +414,8 @@ bool octree::addGalaxy(int galaxyID) } -void octree::releaseGalaxy(Galaxy const& galaxy) +void octree::releaseGalaxy(Galaxy const& galaxy, int position) { - #ifdef USE_DUST - // Move the dust data into the position data on the device - this->localTree.bodies_pos.copy_devonly(this->localTree.dust_pos, this->localTree.n_dust, this->localTree.n); - this->localTree.bodies_vel.copy_devonly(this->localTree.dust_vel, this->localTree.n_dust, this->localTree.n); - this->localTree.bodies_ids.copy_devonly(this->localTree.dust_ids, this->localTree.n_dust, this->localTree.n); - #endif - - this->localTree.bodies_pos.d2h(); - this->localTree.bodies_vel.d2h(); - this->localTree.bodies_ids.d2h(); - - vector currentGalaxy_pos; - vector currentGalaxy_vel; - vector currentGalaxy_ids; - - int n_particles = this->localTree.n + this->localTree.n_dust; - currentGalaxy_pos.insert(currentGalaxy_pos.begin(), &this->localTree.bodies_pos[0], &this->localTree.bodies_pos[0] + n_particles); - currentGalaxy_vel.insert(currentGalaxy_vel.begin(), &this->localTree.bodies_vel[0], &this->localTree.bodies_vel[0] + n_particles); - currentGalaxy_ids.insert(currentGalaxy_ids.begin(), &this->localTree.bodies_ids[0], &this->localTree.bodies_ids[0] + n_particles); - - int n_addGalaxy = galaxy.pos.size(); - int n_addGalaxy_dust = galaxy.pos_dust.size(); - - // Put the dust with the main particles for orbit computations - vector newGalaxy_pos; - vector newGalaxy_vel; - vector newGalaxy_ids; - newGalaxy_pos.insert(newGalaxy_pos.end(), galaxy.pos.begin(), galaxy.pos.end()); - newGalaxy_vel.insert(newGalaxy_vel.end(), galaxy.vel.begin(), galaxy.vel.end()); - newGalaxy_ids.insert(newGalaxy_ids.end(), galaxy.ids.begin(), galaxy.ids.end()); - newGalaxy_pos.insert(newGalaxy_pos.end(), galaxy.pos_dust.begin(), galaxy.pos_dust.end()); - newGalaxy_vel.insert(newGalaxy_vel.end(), galaxy.vel_dust.begin(), galaxy.vel_dust.end()); - newGalaxy_ids.insert(newGalaxy_ids.end(), galaxy.ids_dust.begin(), galaxy.ids_dust.end()); - - // Now put everything together: - int old_n = this->localTree.n; - int old_ndust = this->localTree.n_dust; - - // Increase the size of the buffers - this->localTree.setN(n_addGalaxy + this->localTree.n); - - // Resize preserves original data - this->reallocateParticleMemory(this->localTree); - - currentGalaxy_pos.insert(currentGalaxy_pos.end(), newGalaxy_pos.begin(), newGalaxy_pos.end()); - currentGalaxy_vel.insert(currentGalaxy_vel.end(), newGalaxy_vel.begin(), newGalaxy_vel.end()); - currentGalaxy_ids.insert(currentGalaxy_ids.end(), newGalaxy_ids.begin(), newGalaxy_ids.end()); - - #ifdef USE_DUST - this->localTree.setNDust(n_addGalaxy_dust + this->localTree.n_dust); - // The dust function checks if it needs to resize or malloc - this->allocateDustMemory(this->localTree); - #endif - // Get particle data back to the host so we can add our new data this->localTree.bodies_pos.d2h(); this->localTree.bodies_acc0.d2h(); @@ -479,57 +425,49 @@ void octree::releaseGalaxy(Galaxy const& galaxy) this->localTree.bodies_Ppos.d2h(); this->localTree.bodies_Pvel.d2h(); - // Now we have to do some memory copy magic, IF we have USE_DUST defined the lay-out is like this: - // [[tree.n galaxy1][tree.n_dust galaxy1][n_addGalaxy galaxy2][n_addGalaxy_dust galaxy2]] - // So lets get that in the right arrays :-) - memcpy(&this->localTree.bodies_pos[0], ¤tGalaxy_pos[0], sizeof(real4)*old_n); - memcpy(&this->localTree.bodies_pos[old_n], ¤tGalaxy_pos[old_n + old_ndust], sizeof(real4)*n_addGalaxy); + vector new_pos; + vector new_vel; + vector new_ids; + int old_nb_particles = this->localTree.n + this->localTree.n_dust; + int new_nb_particles = old_nb_particles + galaxy.pos.size(); - memcpy(&this->localTree.bodies_vel[0], ¤tGalaxy_vel[0], sizeof(real4)*old_n); - memcpy(&this->localTree.bodies_vel[old_n], ¤tGalaxy_vel[old_n + old_ndust], sizeof(real4)*n_addGalaxy); + for (int i(0); i != position; ++i) + { + new_pos.push_back(this->localTree.bodies_pos[i]); + new_vel.push_back(this->localTree.bodies_vel[i]); + new_ids.push_back(this->localTree.bodies_ids[i]); + } - memcpy(&this->localTree.bodies_ids[0], ¤tGalaxy_ids[0], sizeof(int)*old_n); - memcpy(&this->localTree.bodies_ids[old_n], ¤tGalaxy_ids[old_n + old_ndust], sizeof(int)*n_addGalaxy); + for (int i(0); i != galaxy.pos.size(); ++i) + { + new_pos.push_back(galaxy.pos[i]); + new_vel.push_back(galaxy.vel[i]); + new_ids.push_back(galaxy.ids[i]); + } - #ifdef USE_DUST - if(old_ndust + n_addGalaxy_dust) - { - memcpy(&this->localTree.dust_pos[0], ¤tGalaxy_pos[old_n], sizeof(real4)*old_ndust); - memcpy(&this->localTree.dust_vel [0], ¤tGalaxy_vel[old_n], sizeof(real4)*old_ndust); - memcpy(&this->localTree.dust_ids[0], ¤tGalaxy_ids[old_n], sizeof(int)*old_ndust); + for (int i(position); i != old_nb_particles; ++i) + { + new_pos.push_back(this->localTree.bodies_pos[i]); + new_vel.push_back(this->localTree.bodies_vel[i]); + new_ids.push_back(this->localTree.bodies_ids[i]); + } - if(n_addGalaxy_dust > 0){ - memcpy(&this->localTree.dust_pos[old_ndust], - ¤tGalaxy_pos[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); - memcpy(&this->localTree.dust_vel [old_ndust], - ¤tGalaxy_vel[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); - memcpy(&this->localTree.dust_ids[old_ndust], - ¤tGalaxy_ids[old_n + old_ndust + n_addGalaxy], sizeof(int)*n_addGalaxy_dust); - } - this->localTree.dust_pos.h2d(); - this->localTree.dust_vel.h2d(); - this->localTree.dust_ids.h2d(); + // Set new size of the buffers + this->localTree.setN(new_nb_particles); - this->localTree.dust_acc0.d2h(); - for(int i=old_ndust; i < old_ndust + n_addGalaxy_dust; i++) - { - // Zero the accelerations of the new particles - this->localTree.dust_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); - } - this->localTree.dust_acc1.zeroMem(); - } - #endif + // Resize preserves original data + this->reallocateParticleMemory(this->localTree); + + // Copy back to host storage + memcpy(&this->localTree.bodies_pos[0], &new_pos[0], sizeof(real4) * new_nb_particles); + memcpy(&this->localTree.bodies_vel[0], &new_vel[0], sizeof(real4) * new_nb_particles); + memcpy(&this->localTree.bodies_ids[0], &new_ids[0], sizeof(int) * new_nb_particles); float2 curTime = this->localTree.bodies_time[0]; - for(int i=0; i < this->localTree.n; i++) - { + for (int i(0); i != new_nb_particles; ++i) this->localTree.bodies_time[i] = curTime; - // Zero the accelerations of the new particles - if(i >= old_n) - { - this->localTree.bodies_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); - } - } + for (int i(position); i != position + galaxy.pos.size(); ++i) + this->localTree.bodies_acc0[i] = make_float4(0.0, 0.0, 0.0, 0.0); this->localTree.bodies_acc1.zeroMem(); this->localTree.bodies_pos.h2d(); @@ -545,15 +483,8 @@ void octree::releaseGalaxy(Galaxy const& galaxy) resetEnergy(); } -void octree::removeGalaxy(int id) +void octree::removeGalaxy(int begin_particle, int end_particle) { - #ifdef USE_DUST - // Move the dust data into the position data on the device - this->localTree.bodies_pos.copy_devonly(this->localTree.dust_pos, this->localTree.n_dust, this->localTree.n); - this->localTree.bodies_vel.copy_devonly(this->localTree.dust_vel, this->localTree.n_dust, this->localTree.n); - this->localTree.bodies_ids.copy_devonly(this->localTree.dust_ids, this->localTree.n_dust, this->localTree.n); - #endif - // Get particle data back to the host so we can add our new data this->localTree.bodies_pos.d2h(); this->localTree.bodies_vel.d2h(); @@ -567,63 +498,33 @@ void octree::removeGalaxy(int id) vector new_vel; vector new_ids; int old_nb_particles = this->localTree.n + this->localTree.n_dust; - int new_nb_particles = 0; - for (int i(0); i != old_nb_particles; ++i) + int new_nb_particles = old_nb_particles - end_particle + begin_particle; + + for (int i(0); i != begin_particle; ++i) { - if (this->localTree.bodies_ids[i] == id) continue; - ++new_nb_particles; new_pos.push_back(this->localTree.bodies_pos[i]); new_vel.push_back(this->localTree.bodies_vel[i]); new_ids.push_back(this->localTree.bodies_ids[i]); } - // Increase the size of the buffers + for (int i(end_particle); i != old_nb_particles; ++i) + { + new_pos.push_back(this->localTree.bodies_pos[i]); + new_vel.push_back(this->localTree.bodies_vel[i]); + new_ids.push_back(this->localTree.bodies_ids[i]); + } + + // Set new size of the buffers this->localTree.setN(new_nb_particles); // Resize preserves original data this->reallocateParticleMemory(this->localTree); - #ifdef USE_DUST - this->localTree.setNDust(n_addGalaxy_dust + this->localTree.n_dust); - // The dust function checks if it needs to resize or malloc - this->allocateDustMemory(this->localTree); - #endif - - // Copy back to host storage memcpy(&this->localTree.bodies_pos[0], &new_pos[0], sizeof(real4) * new_nb_particles); memcpy(&this->localTree.bodies_vel[0], &new_vel[0], sizeof(real4) * new_nb_particles); memcpy(&this->localTree.bodies_ids[0], &new_ids[0], sizeof(int) * new_nb_particles); - #ifdef USE_DUST - if(old_ndust + n_addGalaxy_dust) - { - memcpy(&this->localTree.dust_pos[0], ¤tGalaxy_pos[old_n], sizeof(real4)*old_ndust); - memcpy(&this->localTree.dust_vel [0], ¤tGalaxy_vel[old_n], sizeof(real4)*old_ndust); - memcpy(&this->localTree.dust_ids[0], ¤tGalaxy_ids[old_n], sizeof(int)*old_ndust); - - if(n_addGalaxy_dust > 0){ - memcpy(&this->localTree.dust_pos[old_ndust], - ¤tGalaxy_pos[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); - memcpy(&this->localTree.dust_vel [old_ndust], - ¤tGalaxy_vel[old_n + old_ndust + n_addGalaxy], sizeof(real4)*n_addGalaxy_dust); - memcpy(&this->localTree.dust_ids[old_ndust], - ¤tGalaxy_ids[old_n + old_ndust + n_addGalaxy], sizeof(int)*n_addGalaxy_dust); - } - this->localTree.dust_pos.h2d(); - this->localTree.dust_vel.h2d(); - this->localTree.dust_ids.h2d(); - - this->localTree.dust_acc0.d2h(); - for(int i=old_ndust; i < old_ndust + n_addGalaxy_dust; i++) - { - // Zero the accelerations of the new particles - this->localTree.dust_acc0[i] = make_float4(0.0f,0.0f,0.0f,0.0f); - } - this->localTree.dust_acc1.zeroMem(); - } - #endif - float2 curTime = this->localTree.bodies_time[0]; for(int i=0; i < this->localTree.n; i++) this->localTree.bodies_time[i] = curTime; diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index d501168..9eedb83 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1805,7 +1805,7 @@ void special(int key, int x, int y) void idle(void) { - theDemo->m_wogSocketManager.release(theDemo->m_tree, theDemo->m_galaxyStore); + theDemo->m_wogSocketManager.execute(theDemo->m_tree, theDemo->m_galaxyStore); glutPostRedisplay(); } From fef6db76a93e6aa8dad00e3adf4f230492fc3979 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 24 May 2016 16:36:15 +0200 Subject: [PATCH 36/78] remove particles of a user --- .../Bonsai host debug war-of-galaxies.launch | 2 +- ...est.launch => Bonsai release dummy.launch} | 2 +- eclipse/Bonsai release war-of-galaxies.launch | 2 +- runtime/include/WOGSocketManager.h | 3 +- runtime/include/octree.h | 6 +- runtime/src/WOGSocketManager.cpp | 24 ++----- runtime/src/gpu_iterate.cpp | 32 +++------- test/tipsy/create_tipsy.cpp | 13 +++- test/tipsy/read_tipsy.cpp | 62 +++++++++++-------- test/tipsy/tipsy.h | 15 ++++- 10 files changed, 83 insertions(+), 78 deletions(-) rename eclipse/{Bonsai release test.launch => Bonsai release dummy.launch} (97%) diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch index db37666..2c3890a 100644 --- a/eclipse/Bonsai host debug war-of-galaxies.launch +++ b/eclipse/Bonsai host debug war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release test.launch b/eclipse/Bonsai release dummy.launch similarity index 97% rename from eclipse/Bonsai release test.launch rename to eclipse/Bonsai release dummy.launch index b0a7deb..8161a92 100644 --- a/eclipse/Bonsai release test.launch +++ b/eclipse/Bonsai release dummy.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 0a3d680..632b97e 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index e9ddfeb..42efca0 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -28,7 +28,8 @@ struct sockaddr_in; #define BUFFERSIZE 1024 #define NUMBER_OF_USERS 4 -#define DUMMY_PARTICLES 440 +#define DUMMY_PARTICLES 1 +#define MAX_NUMBER_OF_PARTICLES_OF_USER 100000 /// Control interconnection via UNIX socket class WOGSocketManager diff --git a/runtime/include/octree.h b/runtime/include/octree.h index b67153e..4f1be81 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -879,10 +879,10 @@ class octree { bool addGalaxy(int galaxyID); // WarOfGalaxies: add galaxy to simulation - void releaseGalaxy(Galaxy const& galaxy, int position); + void releaseGalaxy(Galaxy const& galaxy); - // WarOfGalaxies: remove galaxy via id - void removeGalaxy(int begin_particle, int end_particle); + // WarOfGalaxies: remove all galaxies with user_id + void removeGalaxy(int user_id); //Library interface functions void setEps(float eps); diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index 9bc493f..84115e1 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -53,10 +53,10 @@ WOGSocketManager::WOGSocketManager(int port) sockaddr_in clientAddr; socklen_t sin_size = sizeof(struct sockaddr_in); client_socket = accept(server_socket, (struct sockaddr*)&clientAddr, &sin_size); - if (client_socket == -1) { + if (client_socket == -1) { perror("accept"); throw std::runtime_error("accept error"); - } + } fcntl(client_socket, F_SETFL, O_NONBLOCK); } @@ -105,27 +105,15 @@ void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) Galaxy galaxy = galaxyStore.getGalaxy(user_id, galaxy_id, angle, velocity); - int position = std::accumulate(user_particles.begin(), user_particles.begin() + user_id - 1, DUMMY_PARTICLES); - - #ifdef DEBUG_PRINT - std::cout << "position: " << position << std::endl; - #endif + for (auto & id : galaxy.ids) id = id - id % 10 + user_id; - tree->releaseGalaxy(galaxy, position); + tree->releaseGalaxy(galaxy); user_particles[user_id - 1] += galaxy.pos.size(); } else if (task == "remove") { - int begin_particle = std::accumulate(user_particles.begin(), user_particles.begin() + user_id - 1, DUMMY_PARTICLES); - int end_particle = begin_particle + user_particles[user_id - 1]; - - #ifdef DEBUG_PRINT - std::cout << "begin_particle: " << begin_particle << std::endl; - std::cout << "end_particle: " << end_particle << std::endl; - #endif - - tree->removeGalaxy(begin_particle, end_particle); - user_particles[user_id - 1] = 0; + tree->removeGalaxy(user_id); + user_particles[user_id - 1] = 0; } json send_data; diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 80da074..0328be9 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -414,7 +414,7 @@ bool octree::addGalaxy(int galaxyID) } -void octree::releaseGalaxy(Galaxy const& galaxy, int position) +void octree::releaseGalaxy(Galaxy const& galaxy) { // Get particle data back to the host so we can add our new data this->localTree.bodies_pos.d2h(); @@ -428,10 +428,10 @@ void octree::releaseGalaxy(Galaxy const& galaxy, int position) vector new_pos; vector new_vel; vector new_ids; - int old_nb_particles = this->localTree.n + this->localTree.n_dust; + int old_nb_particles = this->localTree.n; int new_nb_particles = old_nb_particles + galaxy.pos.size(); - for (int i(0); i != position; ++i) + for (int i(0); i != old_nb_particles; ++i) { new_pos.push_back(this->localTree.bodies_pos[i]); new_vel.push_back(this->localTree.bodies_vel[i]); @@ -445,13 +445,6 @@ void octree::releaseGalaxy(Galaxy const& galaxy, int position) new_ids.push_back(galaxy.ids[i]); } - for (int i(position); i != old_nb_particles; ++i) - { - new_pos.push_back(this->localTree.bodies_pos[i]); - new_vel.push_back(this->localTree.bodies_vel[i]); - new_ids.push_back(this->localTree.bodies_ids[i]); - } - // Set new size of the buffers this->localTree.setN(new_nb_particles); @@ -466,7 +459,7 @@ void octree::releaseGalaxy(Galaxy const& galaxy, int position) float2 curTime = this->localTree.bodies_time[0]; for (int i(0); i != new_nb_particles; ++i) this->localTree.bodies_time[i] = curTime; - for (int i(position); i != position + galaxy.pos.size(); ++i) + for (int i(old_nb_particles); i != new_nb_particles; ++i) this->localTree.bodies_acc0[i] = make_float4(0.0, 0.0, 0.0, 0.0); this->localTree.bodies_acc1.zeroMem(); @@ -483,7 +476,7 @@ void octree::releaseGalaxy(Galaxy const& galaxy, int position) resetEnergy(); } -void octree::removeGalaxy(int begin_particle, int end_particle) +void octree::removeGalaxy(int user_id) { // Get particle data back to the host so we can add our new data this->localTree.bodies_pos.d2h(); @@ -497,21 +490,16 @@ void octree::removeGalaxy(int begin_particle, int end_particle) vector new_pos; vector new_vel; vector new_ids; - int old_nb_particles = this->localTree.n + this->localTree.n_dust; - int new_nb_particles = old_nb_particles - end_particle + begin_particle; - - for (int i(0); i != begin_particle; ++i) - { - new_pos.push_back(this->localTree.bodies_pos[i]); - new_vel.push_back(this->localTree.bodies_vel[i]); - new_ids.push_back(this->localTree.bodies_ids[i]); - } + int old_nb_particles = this->localTree.n; + int new_nb_particles = 0; - for (int i(end_particle); i != old_nb_particles; ++i) + for (int i(0); i != old_nb_particles; ++i) { + if (this->localTree.bodies_ids[i] % 10 == user_id) continue; new_pos.push_back(this->localTree.bodies_pos[i]); new_vel.push_back(this->localTree.bodies_vel[i]); new_ids.push_back(this->localTree.bodies_ids[i]); + ++new_nb_particles; } // Set new size of the buffers diff --git a/test/tipsy/create_tipsy.cpp b/test/tipsy/create_tipsy.cpp index 7f379a3..5b94035 100644 --- a/test/tipsy/create_tipsy.cpp +++ b/test/tipsy/create_tipsy.cpp @@ -1,13 +1,20 @@ +#include #include #include "tipsy.h" int main() { - head h(0.0, 1, DIM, 0, 0, 1); + head h(0.0, 1, DIM, 0, 1, 0); std::ofstream os("test.tipsy", std::ios::binary); os.write((char*) &h, sizeof(h)); - star_particle s(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 100000000); - os.write((char*) &s, sizeof(s)); + dark_particle d(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 200000000); + os.write((char*) &d, sizeof(d)); + + //dark_particle d(0.00443292, -0.0120859, -0.0410267, -0.00437124, -1.605, -0.643298, -0.367065, 0.206867, 200000000); + //os.write((char*) &d, sizeof(d)); + + //star_particle s(0.00430987, -0.0269203, 0.0215147, 0.00322919, -0.0424188, 0.809628, -0.663159, 0, 0, 0.204936, 100000000); + //os.write((char*) &s, sizeof(s)); } diff --git a/test/tipsy/read_tipsy.cpp b/test/tipsy/read_tipsy.cpp index b978111..55f788f 100644 --- a/test/tipsy/read_tipsy.cpp +++ b/test/tipsy/read_tipsy.cpp @@ -5,54 +5,62 @@ int main(int argc, char** argv) { - double time; - int nbodies; - int ndim; - int nsph; - int ndark; - int nstar; + std::ifstream is(argv[1], std::ios::binary); - std::cout << "file = " << argv[1] << std::endl; + head h; + is.read((char*) &h, sizeof(h)); - std::ifstream is(argv[1], std::ios::binary); - is.read((char*) &time, sizeof(double)); - is.read((char*) &nbodies, sizeof(int)); - is.read((char*) &ndim, sizeof(int)); - is.read((char*) &nsph, sizeof(int)); - is.read((char*) &ndark, sizeof(int)); - is.read((char*) &nstar, sizeof(int)); - - std::cout << "time = " << time << std::endl; - std::cout << "nbodies = " << nbodies << std::endl; - std::cout << "ndim = " << ndim << std::endl; - std::cout << "nsph = " << nsph << std::endl; - std::cout << "ndark = " << ndark << std::endl; - std::cout << "nstar= " << nstar << std::endl; + std::cout << "time = " << h.time << std::endl; + std::cout << "nbodies = " << h.nbodies << std::endl; + std::cout << "ndim = " << h.ndim << std::endl; + std::cout << "nsph = " << h.nsph << std::endl; + std::cout << "ndark = " << h.ndark << std::endl; + std::cout << "nstar= " << h.nstar << std::endl; // dark particles std::set dark_phis; - for (int i = 0; i != ndark; ++i) + for (int i = 0; i != h.ndark; ++i) { dark_particle d; is.read((char*) &d, sizeof(d)); + std::cout << d.mass << " " + << d.pos[0] << " " + << d.pos[1] << " " + << d.pos[2] << " " + << d.vel[0] << " " + << d.vel[1] << " " + << d.vel[2] << " " + << d.eps << " " + << d.phi << std::endl; dark_phis.insert(d.phi); } - std::cout << dark_phis.size() << std::endl; - for (auto p : dark_phis) std::cout << p << std::endl; + std::cout << "dark_phis.size() = " << dark_phis.size() << std::endl; + //for (auto p : dark_phis) std::cout << p << std::endl; // star particles std::set star_phis; - for (int i = 0; i != nstar; ++i) + for (int i = 0; i != h.nstar; ++i) { star_particle s; is.read((char*) &s, sizeof(s)); + std::cout << s.mass << " " + << s.pos[0] << " " + << s.pos[1] << " " + << s.pos[2] << " " + << s.vel[0] << " " + << s.vel[1] << " " + << s.vel[2] << " " + << s.metals << " " + << s.tform << " " + << s.eps << " " + << s.phi << std::endl; star_phis.insert(s.phi); } - std::cout << star_phis.size() << std::endl; - for (auto s : star_phis) std::cout << s << std::endl; + std::cout << "star_phis.size() = " << star_phis.size() << std::endl; + //for (auto s : star_phis) std::cout << s << std::endl; } diff --git a/test/tipsy/tipsy.h b/test/tipsy/tipsy.h index b8062d9..a353f53 100644 --- a/test/tipsy/tipsy.h +++ b/test/tipsy/tipsy.h @@ -18,7 +18,20 @@ struct head { int nstar; }; -struct dark_particle { +struct dark_particle +{ + dark_particle(float mass = 0.0, float posx = 0.0, float posy = 0.0, float posz = 0.0, + float velx = 0.0, float vely = 0.0, float velz = 0.0, float eps = 0.0, int phi = 0) + : mass(mass), eps(eps), phi(phi) + { + pos[0] = posx; + pos[1] = posy; + pos[2] = posz; + vel[0] = velx; + vel[1] = vely; + vel[2] = velz; + } + float mass; float pos[DIM]; float vel[DIM]; From 8f15fe21f1ee0b65a1e3d48a563c8fa66e59e10f Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 27 May 2016 06:30:16 +0200 Subject: [PATCH 37/78] Remove particles of a user --- runtime/include/WOGSocketManager.h | 17 +++++++++++------ runtime/src/WOGSocketManager.cpp | 23 ++++++++--------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index 42efca0..173b3ff 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -10,6 +10,7 @@ #include "octree.h" #include "GalaxyStore.h" +#include #include #include #include @@ -26,11 +27,6 @@ struct sockaddr_in; -#define BUFFERSIZE 1024 -#define NUMBER_OF_USERS 4 -#define DUMMY_PARTICLES 1 -#define MAX_NUMBER_OF_PARTICLES_OF_USER 100000 - /// Control interconnection via UNIX socket class WOGSocketManager { @@ -51,8 +47,17 @@ class WOGSocketManager int client_socket; + /// Buffer size for socket data transmission + static const int buffer_size = 1024; + + /// Number of users + static const int number_of_users = 4; + + /// Maximal number of particles of a user + static const int max_number_of_particles_of_user = 100000; + /// Number of particles of user - std::array user_particles; + std::array user_particles; }; diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index 84115e1..b01f387 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -12,19 +12,6 @@ using jsoncons::json; #define DEBUG_PRINT -auto split(std::string const& s, char separator) -> std::vector -{ - std::vector result; - std::string::size_type p = 0; - std::string::size_type q; - while ((q = s.find(separator, p)) != std::string::npos) { - result.emplace_back(s, p, q - p); - p = q + 1; - } - result.emplace_back(s, p); - return result; -} - WOGSocketManager::WOGSocketManager(int port) : user_particles{{0, 0, 0, 0}} { @@ -69,8 +56,8 @@ WOGSocketManager::~WOGSocketManager() void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) { - char buffer[BUFFERSIZE]; - int n = recv(client_socket, buffer, BUFFERSIZE, 0); + char buffer[buffer_size]; + int n = recv(client_socket, buffer, buffer_size, 0); if (n <= 0) return; buffer[n] = '\0'; @@ -107,6 +94,12 @@ void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) for (auto & id : galaxy.ids) id = id - id % 10 + user_id; + // Remove particles first if user exceeded his limit + if (user_particles[user_id - 1] + galaxy.pos.size() > max_number_of_particles_of_user) { + tree->removeGalaxy(user_id); + user_particles[user_id - 1] = 0; + } + tree->releaseGalaxy(galaxy); user_particles[user_id - 1] += galaxy.pos.size(); } From 83cfffc7e5e7a27e14257d2e0356bb9dd9d574e2 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 27 May 2016 16:33:41 +0200 Subject: [PATCH 38/78] endless loop, remove particles --- eclipse/Bonsai release war-of-galaxies.launch | 2 +- runtime/include/octree.h | 4 +- runtime/src/WOGSocketManager.cpp | 50 +++++++++++++------ runtime/src/gpu_iterate.cpp | 11 ++-- test/sockets/client_json.py | 34 +++++++------ 5 files changed, 64 insertions(+), 37 deletions(-) diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 632b97e..4ca1779 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/runtime/include/octree.h b/runtime/include/octree.h index 4f1be81..43c422e 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -881,8 +881,8 @@ class octree { // WarOfGalaxies: add galaxy to simulation void releaseGalaxy(Galaxy const& galaxy); - // WarOfGalaxies: remove all galaxies with user_id - void removeGalaxy(int user_id); + // WarOfGalaxies: remove particles of a user + void removeGalaxy(int user_id, int number_of_particles); //Library interface functions void setEps(float eps); diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index b01f387..93afa66 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -62,27 +62,28 @@ void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) buffer[n] = '\0'; std::string buffer_string(buffer); -#ifdef DEBUG_PRINT - std::cout << "The string is: " << buffer_string << std::endl; -#endif + #ifdef DEBUG_PRINT + std::cout << "The string is: " << buffer_string << std::endl; + #endif std::istringstream iss(buffer_string); json recv_data; iss >> recv_data; std::string task = recv_data["task"].as(); - int user_id = recv_data["user_id"].as(); -#ifdef DEBUG_PRINT - std::cout << "task: " << task << std::endl; - std::cout << "user_id: " << user_id << std::endl; -#endif + #ifdef DEBUG_PRINT + std::cout << "task: " << task << std::endl; + #endif + + json send_data; if (task == "release") { int galaxy_id = recv_data["galaxy_id"].as(); double angle = recv_data["angle"].as(); double velocity = recv_data["velocity"].as(); + int user_id = recv_data["user_id"].as(); #ifdef DEBUG_PRINT std::cout << "galaxy_id: " << galaxy_id << std::endl; @@ -95,22 +96,41 @@ void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) for (auto & id : galaxy.ids) id = id - id % 10 + user_id; // Remove particles first if user exceeded his limit - if (user_particles[user_id - 1] + galaxy.pos.size() > max_number_of_particles_of_user) { - tree->removeGalaxy(user_id); - user_particles[user_id - 1] = 0; + int particles_to_remove = user_particles[user_id - 1] + galaxy.pos.size() - max_number_of_particles_of_user; + if (particles_to_remove > 0) { + tree->removeGalaxy(user_id, particles_to_remove); + user_particles[user_id - 1] -= particles_to_remove; } tree->releaseGalaxy(galaxy); user_particles[user_id - 1] += galaxy.pos.size(); + + send_data["last_operation"] = task; } else if (task == "remove") { - tree->removeGalaxy(user_id); + int user_id = recv_data["user_id"].as(); + + #ifdef DEBUG_PRINT + std::cout << "user_id: " << user_id << std::endl; + #endif + + tree->removeGalaxy(user_id, user_particles[user_id - 1]); user_particles[user_id - 1] = 0; - } - json send_data; - send_data["last_operation"] = task; + send_data["last_operation"] = task; + } + else if (task == "report") + { + send_data["user_1"] = user_particles[0]; + send_data["user_2"] = user_particles[1]; + send_data["user_3"] = user_particles[2]; + send_data["user_4"] = user_particles[3]; + } + else + { + throw std::runtime_error("Unkown task: " + task); + } std::ostringstream oss; oss << send_data; diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 0328be9..a97f038 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -476,7 +476,7 @@ void octree::releaseGalaxy(Galaxy const& galaxy) resetEnergy(); } -void octree::removeGalaxy(int user_id) +void octree::removeGalaxy(int user_id, int number_of_particles) { // Get particle data back to the host so we can add our new data this->localTree.bodies_pos.d2h(); @@ -493,9 +493,13 @@ void octree::removeGalaxy(int user_id) int old_nb_particles = this->localTree.n; int new_nb_particles = 0; + int count = 0; for (int i(0); i != old_nb_particles; ++i) { - if (this->localTree.bodies_ids[i] % 10 == user_id) continue; + if (this->localTree.bodies_ids[i] % 10 == user_id and count < number_of_particles) { + ++count; + continue; + } new_pos.push_back(this->localTree.bodies_pos[i]); new_vel.push_back(this->localTree.bodies_vel[i]); new_ids.push_back(this->localTree.bodies_ids[i]); @@ -866,7 +870,7 @@ bool octree::iterate_once(IterationData &idata) { } } - +#ifdef NOT_WAR_OF_GALAXIES if (iter >= iterEnd) return true; if(t_current >= tEnd) @@ -880,6 +884,7 @@ bool octree::iterate_once(IterationData &idata) { return true; } iter++; +#endif return false; } diff --git a/test/sockets/client_json.py b/test/sockets/client_json.py index a99c7ce..23b5aa6 100644 --- a/test/sockets/client_json.py +++ b/test/sockets/client_json.py @@ -13,22 +13,24 @@ send_data = {} - while not('task' in send_data and (send_data['task'] == 'release' or send_data['task'] == 'remove')): - send_data['task'] = raw_input("Which task? ['release', 'remove']: ") - - while not('user_id' in send_data and send_data['user_id'] >= 1 and send_data['user_id'] <= 4): - send_data['user_id'] = int(raw_input("Which user? [1-4]: ")) - - if send_data['task'] == 'release': - - while not('galaxy_id' in send_data and send_data['galaxy_id'] >= 1 and send_data['galaxy_id'] <= 4): - send_data['galaxy_id'] = int(raw_input("Which galaxy? [1-4]: ")) - - while not('angle' in send_data and send_data['angle'] >= 0.0 and send_data['angle'] <= 90.0): - send_data['angle'] = float(raw_input("Which angle? [0 <= angle <= 90]: ")) - - while not('velocity' in send_data and send_data['velocity'] >= 0.0 and send_data['velocity'] <= 100.0): - send_data['velocity'] = float(raw_input("Which velocity? [0 <= velocity <= 100]: ")) + while not('task' in send_data and (send_data['task'] == 'release' or send_data['task'] == 'remove' or send_data['task'] == 'report')): + send_data['task'] = raw_input("Which task? ['release', 'remove', 'report']: ") + + if send_data['task'] == 'release' or send_data['task'] == 'remove': + + while not('user_id' in send_data and send_data['user_id'] >= 1 and send_data['user_id'] <= 4): + send_data['user_id'] = int(raw_input("Which user? [1-4]: ")) + + if send_data['task'] == 'release': + + while not('galaxy_id' in send_data and send_data['galaxy_id'] >= 1 and send_data['galaxy_id'] <= 4): + send_data['galaxy_id'] = int(raw_input("Which galaxy? [1-4]: ")) + + while not('angle' in send_data and send_data['angle'] >= 0.0 and send_data['angle'] <= 90.0): + send_data['angle'] = float(raw_input("Which angle? [0 <= angle <= 90]: ")) + + while not('velocity' in send_data and send_data['velocity'] >= 0.0 and send_data['velocity'] <= 100.0): + send_data['velocity'] = float(raw_input("Which velocity? [0 <= velocity <= 100]: ")) send_data_json = json.dumps(send_data) print "Send data:", send_data_json From 08721bf69f90a1545dec1847f639bb7d448039a9 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 31 May 2016 16:29:16 +0200 Subject: [PATCH 39/78] Some changes in interface --- eclipse/Bonsai release war-of-galaxies.launch | 2 +- runtime/include/Galaxy.h | 4 +- runtime/include/GalaxyStore.h | 3 +- runtime/include/WOGSocketManager.h | 3 + runtime/src/Galaxy.cpp | 16 ++-- runtime/src/GalaxyStore.cpp | 40 +++------- runtime/src/WOGSocketManager.cpp | 73 ++++++++++++++----- runtime/src/main.cpp | 3 + runtime/src/renderloop.cpp | 1 + test/sockets/client_json.py | 2 +- test/sockets/client_json_string.py | 24 ++++++ test/sockets/test.py | 4 + 12 files changed, 114 insertions(+), 61 deletions(-) create mode 100644 test/sockets/client_json_string.py create mode 100644 test/sockets/test.py diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 4ca1779..85d567a 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/runtime/include/Galaxy.h b/runtime/include/Galaxy.h index c72aeb5..ad4df76 100644 --- a/runtime/include/Galaxy.h +++ b/runtime/include/Galaxy.h @@ -27,10 +27,10 @@ struct Galaxy void steady(); /// Move center of the galaxy - void translate(real x, real y, real z); + void translate(real4 w); /// Accelerate the galaxy - void accelerate(real x, real y, real z); + void accelerate(real4 w); std::vector pos; std::vector vel; diff --git a/runtime/include/GalaxyStore.h b/runtime/include/GalaxyStore.h index 76645a4..0e73b70 100644 --- a/runtime/include/GalaxyStore.h +++ b/runtime/include/GalaxyStore.h @@ -17,7 +17,8 @@ class GalaxyStore void init(std::string const& path, octree *tree); - Galaxy getGalaxy(int user_id, int galaxy_id, double angle, double velocity) const; + /// Return copy of galaxy, print warning if unavailable galaxy is requested + Galaxy getGalaxy(int galaxy_id) const; private: diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index 173b3ff..0d088b6 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -43,6 +43,9 @@ class WOGSocketManager private: + /// Execute a client request + void execute_json(octree *tree, GalaxyStore const& galaxyStore, std::string buffer); + int server_socket; int client_socket; diff --git a/runtime/src/Galaxy.cpp b/runtime/src/Galaxy.cpp index be51320..38966b9 100644 --- a/runtime/src/Galaxy.cpp +++ b/runtime/src/Galaxy.cpp @@ -74,22 +74,22 @@ void Galaxy::steady() } } -void Galaxy::translate(real x, real y, real z) +void Galaxy::translate(real4 w) { for (auto &p : pos) { - p.x += x; - p.y += y; - p.z += z; + p.x += w.x; + p.y += w.y; + p.z += w.z; } } -void Galaxy::accelerate(real x, real y, real z) +void Galaxy::accelerate(real4 w) { for (auto &v : vel) { - v.x += x; - v.y += y; - v.z += z; + v.x += w.x; + v.y += w.y; + v.z += w.z; } } diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index ea5d5ee..10aee01 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -15,16 +15,11 @@ const double pi = std::acos(-1); void GalaxyStore::init(std::string const& path, octree *tree) { - std::vector filenames; - filenames.push_back("galaxy_type_1.tipsy"); - filenames.push_back("galaxy_type_2.tipsy"); - filenames.push_back("galaxy_type_3.tipsy"); - filenames.push_back("galaxy_type_4.tipsy"); - - for (std::vector::const_iterator iterFileCur(filenames.begin()), iterFileEnd(filenames.end()); - iterFileCur != iterFileEnd; ++iterFileCur) + for (int i = 0;; ++i) { - std::cout << "Read file " << *iterFileCur << " into GalaxyStore." << std::endl; + std::string filename = path + "/galaxy_type_" + std::to_string(i) + ".tipsy"; + if (access(filename.c_str(), F_OK) == -1) break; + std::cout << "Read file " << filename << " into GalaxyStore." << std::endl; Galaxy galaxy; int Total2 = 0; @@ -33,7 +28,7 @@ void GalaxyStore::init(std::string const& path, octree *tree) int NThird = 0; read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, - 0.0, (path + "/" + *iterFileCur).c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, + 0.0, filename.c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 50, 1, false); real4 cm = galaxy.getCenterOfMass(); @@ -53,26 +48,9 @@ void GalaxyStore::init(std::string const& path, octree *tree) } } -Galaxy GalaxyStore::getGalaxy(int user_id, int galaxy_id, double angle, double velocity) const +Galaxy GalaxyStore::getGalaxy(int galaxy_id) const { - Galaxy galaxy(galaxies[galaxy_id - 1]); - - double sinus = sin(angle * pi / 180); - double cosinus = cos(angle * pi / 180); - - if (user_id == 1) { - galaxy.translate( 100, 100, 0); - galaxy.accelerate(velocity * -sinus, velocity * -cosinus, 0); - } else if (user_id == 2) { - galaxy.translate( 100, -100, 0); - galaxy.accelerate(velocity * -cosinus, velocity * sinus, 0); - } else if (user_id == 3) { - galaxy.translate(-100, -100, 0); - galaxy.accelerate(velocity * sinus, velocity * cosinus, 0); - } else if (user_id == 4) { - galaxy.translate(-100, 100, 0); - galaxy.accelerate(velocity * cosinus, velocity * -sinus, 0); - } - - return galaxy; + if (galaxy_id < 0 or galaxy_id >= galaxies.size()) + std::cout << "WARNING: Requested qalaxy " << galaxy_id << " is not available." << std::endl; + return galaxies[galaxy_id]; } diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index 93afa66..05c4446 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -26,6 +26,8 @@ WOGSocketManager::WOGSocketManager(int port) serverAddr.sin_port = htons(port); serverAddr.sin_addr.s_addr = INADDR_ANY; + std::cout << "Bind server socket to port " << std::to_string(port) << std::endl; + if (bind(server_socket, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr)) == -1) { perror("bind"); throw std::runtime_error("bind error"); @@ -59,14 +61,29 @@ void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) char buffer[buffer_size]; int n = recv(client_socket, buffer, buffer_size, 0); if (n <= 0) return; - buffer[n] = '\0'; - std::string buffer_string(buffer); + + try { + execute_json(tree, galaxyStore, buffer); + } catch ( ... ) { + json send_data; + send_data["response"] = "Can't interpret last request"; + + std::ostringstream oss; + oss << send_data; + std::string send_data_string = oss.str(); + + if (send(client_socket, send_data_string.c_str(), send_data_string.size(), 0) == -1) perror("send"); + } +} + +void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore, std::string buffer) +{ #ifdef DEBUG_PRINT - std::cout << "The string is: " << buffer_string << std::endl; + std::cout << "The string is: " << buffer << std::endl; #endif - std::istringstream iss(buffer_string); + std::istringstream iss(buffer); json recv_data; iss >> recv_data; @@ -80,32 +97,54 @@ void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) if (task == "release") { - int galaxy_id = recv_data["galaxy_id"].as(); - double angle = recv_data["angle"].as(); - double velocity = recv_data["velocity"].as(); int user_id = recv_data["user_id"].as(); + int galaxy_id = recv_data["galaxy_id"].as(); + std::vector vector_position = recv_data["position"].as>(); + std::vector vector_velocity = recv_data["velocity"].as>(); + + double camera_distance = 500.0; + double fovy = 60.0; + double screen_high = 2 * camera_distance * tan(fovy * M_PI / 360.0); + double screen_width = 2 * camera_distance * tan(fovy * M_PI / 360.0); + + real4 position; + position.x = vector_position.size() > 0 ? vector_position[0] * screen_width : 0.0; + position.y = vector_position.size() > 1 ? -vector_position[1] * screen_high : 0.0; + position.z = vector_position.size() > 2 ? vector_position[2] : 0.0; + + // Shift center to upper left corner + position.x -= screen_high * 0.5; + position.y += screen_width * 0.5; + + real4 velocity; + velocity.x = vector_velocity.size() > 0 ? vector_velocity[0] * 100 : 0.0; + velocity.y = vector_velocity.size() > 1 ? vector_velocity[1] * 100 : 0.0; + velocity.z = vector_velocity.size() > 2 ? vector_velocity[2] * 100 : 0.0; #ifdef DEBUG_PRINT + std::cout << "user_id: " << user_id << std::endl; std::cout << "galaxy_id: " << galaxy_id << std::endl; - std::cout << "angle: " << angle << std::endl; - std::cout << "velocity: " << velocity << std::endl; + std::cout << "position: " << position.x << " " << position.y << " " << position.z << std::endl; + std::cout << "velocity: " << velocity.x << " " << velocity.y << std::endl; #endif - Galaxy galaxy = galaxyStore.getGalaxy(user_id, galaxy_id, angle, velocity); + Galaxy galaxy = galaxyStore.getGalaxy(galaxy_id); + galaxy.translate(position); + galaxy.accelerate(velocity); for (auto & id : galaxy.ids) id = id - id % 10 + user_id; // Remove particles first if user exceeded his limit - int particles_to_remove = user_particles[user_id - 1] + galaxy.pos.size() - max_number_of_particles_of_user; - if (particles_to_remove > 0) { - tree->removeGalaxy(user_id, particles_to_remove); - user_particles[user_id - 1] -= particles_to_remove; - } +// int particles_to_remove = user_particles[user_id - 1] + galaxy.pos.size() - max_number_of_particles_of_user; +// if (particles_to_remove > 0) { +// tree->removeGalaxy(user_id, particles_to_remove); +// user_particles[user_id - 1] -= particles_to_remove; +// } tree->releaseGalaxy(galaxy); user_particles[user_id - 1] += galaxy.pos.size(); - send_data["last_operation"] = task; + send_data["response"] = "Galaxy was released."; } else if (task == "remove") { @@ -118,7 +157,7 @@ void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) tree->removeGalaxy(user_id, user_particles[user_id - 1]); user_particles[user_id - 1] = 0; - send_data["last_operation"] = task; + send_data["response"] = "All particles of user" + std::to_string(user_id) + " were removed."; } else if (task == "report") { diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index d8d69a7..98ed9be 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -671,6 +671,7 @@ int main(int argc, char** argv) ADDUSAGE(" --sphere # use spherical model with # particles per proc"); ADDUSAGE(" --diskmode use diskmode to read same input file all MPI taks and randomly shuffle its positions"); ADDUSAGE(" --war-of-galaxies # input path for WarOfGalaxies"); + ADDUSAGE(" --port # Port for WarOfGalaxies"); ADDUSAGE(" "); @@ -714,6 +715,7 @@ int main(int argc, char** argv) opt.setFlag("stereo"); #endif opt.setOption("war-of-galaxies"); + opt.setOption("port"); opt.processCommandArgs( argc, argv ); @@ -762,6 +764,7 @@ int main(int argc, char** argv) if ((optarg = opt.getValue("reducebodies"))) reduce_bodies_factor = atoi (optarg); if ((optarg = opt.getValue("reducedust"))) reduce_dust_factor = atoi (optarg); if ((optarg = opt.getValue("war-of-galaxies"))) war_of_galaxies_path = string(optarg); + if ((optarg = opt.getValue("port"))) wogPort = atoi(optarg); #if USE_OPENGL if ((optarg = opt.getValue("fullscreen"))) fullScreenMode = string(optarg); if ((optarg = opt.getValue("Tglow"))) TstartGlow = (float)atof(optarg); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 9eedb83..99a9e93 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1141,6 +1141,7 @@ class BonsaiDemo glMatrixMode(GL_PROJECTION); glLoadIdentity(); + std::cout << "m_fov = " << m_fov << std::endl; gluPerspective(m_fov, (float) m_windowDims.x / (float) m_windowDims.y, 0.0001 * distanceToCenter, diff --git a/test/sockets/client_json.py b/test/sockets/client_json.py index 23b5aa6..e2882b1 100644 --- a/test/sockets/client_json.py +++ b/test/sockets/client_json.py @@ -3,7 +3,7 @@ import sys HOST = 'localhost' -PORT = 50007 +PORT = 50008 BUFFERSIZE = 1024 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) diff --git a/test/sockets/client_json_string.py b/test/sockets/client_json_string.py new file mode 100644 index 0000000..32efdac --- /dev/null +++ b/test/sockets/client_json_string.py @@ -0,0 +1,24 @@ +import json +import socket +import sys + +HOST = 'localhost' +PORT = 50008 +BUFFERSIZE = 1024 + +s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +s.connect((HOST, PORT)) + +while 1: + + send_json = raw_input("JSON string: ") + if send_json == "exit": + break + s.send(send_json) + + recv_json = s.recv(BUFFERSIZE) + print "Received data:", recv_json + +s.shutdown(socket.SHUT_RDWR) +s.close() + diff --git a/test/sockets/test.py b/test/sockets/test.py new file mode 100644 index 0000000..6fbb858 --- /dev/null +++ b/test/sockets/test.py @@ -0,0 +1,4 @@ +import fileinput + +for line in fileinput.input(): + print line From 49f41e54c0155cf222999cb6395152ab751dd39a Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 2 Jun 2016 07:56:40 +0200 Subject: [PATCH 40/78] some changes in interface --- runtime/include/WOGSocketManager.h | 3 ++ runtime/include/octree.h | 3 ++ runtime/src/WOGSocketManager.cpp | 19 +++++++--- runtime/src/gpu_iterate.cpp | 61 ++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+), 5 deletions(-) diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index 0d088b6..577a7f6 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -43,6 +43,9 @@ class WOGSocketManager private: + /// Remove particles continuously + void remove_particles(octree *tree); + /// Execute a client request void execute_json(octree *tree, GalaxyStore const& galaxyStore, std::string buffer); diff --git a/runtime/include/octree.h b/runtime/include/octree.h index 43c422e..b478b02 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -884,6 +884,9 @@ class octree { // WarOfGalaxies: remove particles of a user void removeGalaxy(int user_id, int number_of_particles); + // WarOfGalaxies: remove particles continuously and return the number + int removeParticles(); + //Library interface functions void setEps(float eps); float getEps(); diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index 05c4446..d9aeeee 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -58,6 +58,10 @@ WOGSocketManager::~WOGSocketManager() void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) { + // Remove particles + //remove_particles(tree); + + // Check for user request char buffer[buffer_size]; int n = recv(client_socket, buffer, buffer_size, 0); if (n <= 0) return; @@ -77,6 +81,11 @@ void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) } } +void WOGSocketManager::remove_particles(octree *tree) +{ + tree->removeParticles(); +} + void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore, std::string buffer) { #ifdef DEBUG_PRINT @@ -105,7 +114,7 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore double camera_distance = 500.0; double fovy = 60.0; double screen_high = 2 * camera_distance * tan(fovy * M_PI / 360.0); - double screen_width = 2 * camera_distance * tan(fovy * M_PI / 360.0); + double screen_width = screen_high * m_windowDims.x / m_windowDims.y; real4 position; position.x = vector_position.size() > 0 ? vector_position[0] * screen_width : 0.0; @@ -117,9 +126,9 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore position.y += screen_width * 0.5; real4 velocity; - velocity.x = vector_velocity.size() > 0 ? vector_velocity[0] * 100 : 0.0; - velocity.y = vector_velocity.size() > 1 ? vector_velocity[1] * 100 : 0.0; - velocity.z = vector_velocity.size() > 2 ? vector_velocity[2] * 100 : 0.0; + velocity.x = vector_velocity.size() > 0 ? vector_velocity[0] * 100 : 0.0; + velocity.y = vector_velocity.size() > 1 ? -vector_velocity[1] * 100 : 0.0; + velocity.z = vector_velocity.size() > 2 ? vector_velocity[2] * 100 : 0.0; #ifdef DEBUG_PRINT std::cout << "user_id: " << user_id << std::endl; @@ -157,7 +166,7 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore tree->removeGalaxy(user_id, user_particles[user_id - 1]); user_particles[user_id - 1] = 0; - send_data["response"] = "All particles of user" + std::to_string(user_id) + " were removed."; + send_data["response"] = "All particles of user " + std::to_string(user_id) + " were removed."; } else if (task == "report") { diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index a97f038..c4bc0f6 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -535,6 +535,67 @@ void octree::removeGalaxy(int user_id, int number_of_particles) resetEnergy(); } +int octree::removeParticles() +{ + // Get particle data back to the host so we can add our new data + this->localTree.bodies_pos.d2h(); + this->localTree.bodies_vel.d2h(); + this->localTree.bodies_ids.d2h(); + this->localTree.bodies_acc0.d2h(); + this->localTree.bodies_time.d2h(); + this->localTree.bodies_Ppos.d2h(); + this->localTree.bodies_Pvel.d2h(); + + vector new_pos; + vector new_vel; + vector new_ids; + int old_nb_particles = this->localTree.n; + int new_nb_particles = 0; + + int count = 0; + for (int i(0); i != old_nb_particles; ++i) + { + if ((i+1) % 100 == 0) { + ++count; + continue; + } + new_pos.push_back(this->localTree.bodies_pos[i]); + new_vel.push_back(this->localTree.bodies_vel[i]); + new_ids.push_back(this->localTree.bodies_ids[i]); + ++new_nb_particles; + } + + // Set new size of the buffers + this->localTree.setN(new_nb_particles); + + // Resize preserves original data + this->reallocateParticleMemory(this->localTree); + + // Copy back to host storage + memcpy(&this->localTree.bodies_pos[0], &new_pos[0], sizeof(real4) * new_nb_particles); + memcpy(&this->localTree.bodies_vel[0], &new_vel[0], sizeof(real4) * new_nb_particles); + memcpy(&this->localTree.bodies_ids[0], &new_ids[0], sizeof(int) * new_nb_particles); + + float2 curTime = this->localTree.bodies_time[0]; + for(int i=0; i < this->localTree.n; i++) + this->localTree.bodies_time[i] = curTime; + this->localTree.bodies_acc1.zeroMem(); + + this->localTree.bodies_pos.h2d(); + this->localTree.bodies_acc0.h2d(); + this->localTree.bodies_vel.h2d(); + this->localTree.bodies_time.h2d(); + this->localTree.bodies_ids.h2d(); + + // Fill the predicted arrays + this->localTree.bodies_Ppos.copy(this->localTree.bodies_pos, localTree.n); + this->localTree.bodies_Pvel.copy(this->localTree.bodies_pos, localTree.n); + + resetEnergy(); + + return count; +} + // returns true if this iteration is the last (t_current >= t_end), false otherwise bool octree::iterate_once(IterationData &idata) { double t1 = 0; From eca022043e8e25db008f2176bfa1246e528740e6 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 2 Jun 2016 16:32:55 +0200 Subject: [PATCH 41/78] Adjust the galaxy release velocity to pixels/s on the simulation plane. --- .../Bonsai host debug war-of-galaxies.launch | 2 +- eclipse/Bonsai release dummy.launch | 2 +- eclipse/Bonsai release example.launch | 2 +- runtime/include/WOGSocketManager.h | 25 +++++- runtime/include/octree.h | 2 +- runtime/include/renderloop.h | 3 +- runtime/src/WOGSocketManager.cpp | 79 +++++++++++-------- runtime/src/gpu_iterate.cpp | 10 +-- runtime/src/main.cpp | 3 +- runtime/src/renderloop.cpp | 10 ++- test/sockets/json_examples | 18 +++++ test/tipsy/create_tipsy.cpp | 44 ++++++++--- 12 files changed, 141 insertions(+), 59 deletions(-) create mode 100644 test/sockets/json_examples diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch index 2c3890a..4110eab 100644 --- a/eclipse/Bonsai host debug war-of-galaxies.launch +++ b/eclipse/Bonsai host debug war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release dummy.launch b/eclipse/Bonsai release dummy.launch index 8161a92..cd94df3 100644 --- a/eclipse/Bonsai release dummy.launch +++ b/eclipse/Bonsai release dummy.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release example.launch b/eclipse/Bonsai release example.launch index 97f3504..9b8be3f 100644 --- a/eclipse/Bonsai release example.launch +++ b/eclipse/Bonsai release example.launch @@ -16,7 +16,7 @@ - + diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index 577a7f6..2aa6a49 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -33,7 +33,7 @@ class WOGSocketManager public: /// Constructor opening sockets and reading input galaxies - WOGSocketManager(int port); + WOGSocketManager(int port, int window_width, int window_height, real fovy, real farZ, real camera_distance); /// Constructor closing the sockets ~WOGSocketManager(); @@ -49,6 +49,9 @@ class WOGSocketManager /// Execute a client request void execute_json(octree *tree, GalaxyStore const& galaxyStore, std::string buffer); + /// Must be called by glutReshapeFunc + void reshape(int width, int height); + int server_socket; int client_socket; @@ -65,6 +68,26 @@ class WOGSocketManager /// Number of particles of user std::array user_particles; + /// Dimension of the window + int window_width; + int window_height; + + /// OpenGL viewing angle + real fovy; + + /// OpenGL distance of clipping plane + real farZ; + + /// Distance of the OpenGL camera + real camera_distance; + + /// Dimension of the window + real simulation_plane_width; + real simulation_plane_height; + + /// Squared radius of deletion sphere. Particles leaving this sphere will be removed. + real deletion_radius_square; + }; #endif /* WOGSOCKETMANAGER_H_ */ diff --git a/runtime/include/octree.h b/runtime/include/octree.h index b478b02..aaeafdd 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -882,7 +882,7 @@ class octree { void releaseGalaxy(Galaxy const& galaxy); // WarOfGalaxies: remove particles of a user - void removeGalaxy(int user_id, int number_of_particles); + void removeGalaxy(int user_id); // WarOfGalaxies: remove particles continuously and return the number int removeParticles(); diff --git a/runtime/include/renderloop.h b/runtime/include/renderloop.h index 67fa990..b652bc9 100644 --- a/runtime/include/renderloop.h +++ b/runtime/include/renderloop.h @@ -10,6 +10,7 @@ extern float dTstartGlow; void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo); void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, bool showFPS, bool stereo, - GalaxyStore const& galaxyStore, int wogPort); + GalaxyStore const& galaxyStore, int wogPort, + real wogCameraDistance); #endif // _RENDERLOOP_H_ diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index d9aeeee..c1e95d7 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -12,9 +12,19 @@ using jsoncons::json; #define DEBUG_PRINT -WOGSocketManager::WOGSocketManager(int port) - : user_particles{{0, 0, 0, 0}} +WOGSocketManager::WOGSocketManager(int port, int window_width, int window_height, real fovy, real farZ, real camera_distance) + : user_particles{{0, 0, 0, 0}}, + window_width(window_width), + window_height(window_height), + fovy(fovy), + farZ(farZ), + camera_distance(camera_distance), + simulation_plane_width(0.0), + simulation_plane_height(0.0), + deletion_radius_square(0.0) { + reshape(window_width, window_height); + server_socket = socket(AF_INET, SOCK_STREAM, 0); if (server_socket == -1) { perror("socket"); @@ -111,49 +121,38 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore std::vector vector_position = recv_data["position"].as>(); std::vector vector_velocity = recv_data["velocity"].as>(); - double camera_distance = 500.0; - double fovy = 60.0; - double screen_high = 2 * camera_distance * tan(fovy * M_PI / 360.0); - double screen_width = screen_high * m_windowDims.x / m_windowDims.y; - real4 position; - position.x = vector_position.size() > 0 ? vector_position[0] * screen_width : 0.0; - position.y = vector_position.size() > 1 ? -vector_position[1] * screen_high : 0.0; - position.z = vector_position.size() > 2 ? vector_position[2] : 0.0; + position.x = vector_position.size() > 0 ? vector_position[0] * simulation_plane_width : 0.0; + position.y = vector_position.size() > 1 ? vector_position[1] * simulation_plane_height : 0.0; + position.z = vector_position.size() > 2 ? vector_position[2] : 0.0; - // Shift center to upper left corner - position.x -= screen_high * 0.5; - position.y += screen_width * 0.5; + // Shift center to lower left corner + position.x -= simulation_plane_width * 0.5; + position.y -= simulation_plane_height * 0.5; real4 velocity; - velocity.x = vector_velocity.size() > 0 ? vector_velocity[0] * 100 : 0.0; - velocity.y = vector_velocity.size() > 1 ? -vector_velocity[1] * 100 : 0.0; - velocity.z = vector_velocity.size() > 2 ? vector_velocity[2] * 100 : 0.0; + velocity.x = vector_velocity.size() > 0 ? vector_velocity[0] * window_width / simulation_plane_width : 0.0; + velocity.y = vector_velocity.size() > 1 ? vector_velocity[1] * window_height / simulation_plane_height : 0.0; + velocity.z = vector_velocity.size() > 2 ? vector_velocity[2] : 0.0; #ifdef DEBUG_PRINT std::cout << "user_id: " << user_id << std::endl; std::cout << "galaxy_id: " << galaxy_id << std::endl; std::cout << "position: " << position.x << " " << position.y << " " << position.z << std::endl; - std::cout << "velocity: " << velocity.x << " " << velocity.y << std::endl; + std::cout << "velocity: " << velocity.x << " " << velocity.y << " " << velocity.z << std::endl; #endif Galaxy galaxy = galaxyStore.getGalaxy(galaxy_id); galaxy.translate(position); galaxy.accelerate(velocity); + // Since the particle ids are not needed for the simulation, we use them to store the user_id in the first digit. for (auto & id : galaxy.ids) id = id - id % 10 + user_id; - // Remove particles first if user exceeded his limit -// int particles_to_remove = user_particles[user_id - 1] + galaxy.pos.size() - max_number_of_particles_of_user; -// if (particles_to_remove > 0) { -// tree->removeGalaxy(user_id, particles_to_remove); -// user_particles[user_id - 1] -= particles_to_remove; -// } - tree->releaseGalaxy(galaxy); - user_particles[user_id - 1] += galaxy.pos.size(); + user_particles[user_id] += galaxy.pos.size(); - send_data["response"] = "Galaxy was released."; + send_data["response"] = "Galaxy with " + std::to_string(galaxy.pos.size()) + " particles of user " + std::to_string(user_id) + " was released."; } else if (task == "remove") { @@ -163,17 +162,17 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore std::cout << "user_id: " << user_id << std::endl; #endif - tree->removeGalaxy(user_id, user_particles[user_id - 1]); - user_particles[user_id - 1] = 0; + tree->removeGalaxy(user_id); + user_particles[user_id] = 0; send_data["response"] = "All particles of user " + std::to_string(user_id) + " were removed."; } else if (task == "report") { - send_data["user_1"] = user_particles[0]; - send_data["user_2"] = user_particles[1]; - send_data["user_3"] = user_particles[2]; - send_data["user_4"] = user_particles[3]; + send_data["user_0"] = user_particles[0]; + send_data["user_1"] = user_particles[1]; + send_data["user_2"] = user_particles[2]; + send_data["user_3"] = user_particles[3]; } else { @@ -186,3 +185,19 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore if (send(client_socket, send_data_string.c_str(), send_data_string.size(), 0) == -1) perror("send"); } + +void WOGSocketManager::reshape(int width, int height) +{ + window_width = width; + window_height = height; + real aspect_ratio = window_width / window_height; + + simulation_plane_height = 2 * camera_distance * tan(fovy * M_PI / 360.0); + simulation_plane_width = simulation_plane_height * aspect_ratio; + + real4 rear_corner; + rear_corner.y = camera_distance * tan(fovy * M_PI / 360.0); + rear_corner.x = rear_corner.y * aspect_ratio; + rear_corner.z = farZ - camera_distance; + deletion_radius_square = rear_corner.x * rear_corner.x + rear_corner.y * rear_corner.y + rear_corner.z * rear_corner.z; +} diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index c4bc0f6..7d9373f 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -476,7 +476,7 @@ void octree::releaseGalaxy(Galaxy const& galaxy) resetEnergy(); } -void octree::removeGalaxy(int user_id, int number_of_particles) +void octree::removeGalaxy(int user_id) { // Get particle data back to the host so we can add our new data this->localTree.bodies_pos.d2h(); @@ -493,13 +493,9 @@ void octree::removeGalaxy(int user_id, int number_of_particles) int old_nb_particles = this->localTree.n; int new_nb_particles = 0; - int count = 0; for (int i(0); i != old_nb_particles; ++i) { - if (this->localTree.bodies_ids[i] % 10 == user_id and count < number_of_particles) { - ++count; - continue; - } + if (this->localTree.bodies_ids[i] % 10 == user_id) continue; new_pos.push_back(this->localTree.bodies_pos[i]); new_vel.push_back(this->localTree.bodies_vel[i]); new_ids.push_back(this->localTree.bodies_ids[i]); @@ -2013,7 +2009,7 @@ double octree::compute_energies(tree_structure &tree) if(mpiGetRank() == 0) { -#if 0 +#if 1 LOG("iter=%d : time= %lg Etot= %.10lg Ekin= %lg Epot= %lg : de= %lg ( %lg ) d(de)= %lg ( %lg ) t_sim= %lg sec\n", iter, this->t_current, Etot, Ekin, Epot, de, de_max, dde, dde_max, get_time() - tinit); LOGF(stderr, "iter=%d : time= %lg Etot= %.10lg Ekin= %lg Epot= %lg : de= %lg ( %lg ) d(de)= %lg ( %lg ) t_sim= %lg sec\n", diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index 98ed9be..28647b2 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -618,6 +618,7 @@ int main(int argc, char** argv) std::string war_of_galaxies_path; int wogPort = 50007; + real wogCameraDistance = 500.0; /************** beg - command line arguments ********/ #if 1 @@ -1281,7 +1282,7 @@ int main(int argc, char** argv) octree::IterationData idata; GalaxyStore galaxyStore; if (!war_of_galaxies_path.empty()) galaxyStore.init(war_of_galaxies_path, tree); - initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, galaxyStore, wogPort); + initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, galaxyStore, wogPort, wogCameraDistance); LOG("Finished!!! Took in total: %lg sec\n", tree->get_time()-t0); #else tree->mpiSync(); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 99a9e93..dfc8438 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -306,7 +306,7 @@ void glPrintf(float x, float y, const char* format, ...) class BonsaiDemo { public: - BonsaiDemo(octree *tree, octree::IterationData &idata, GalaxyStore const& galaxyStore, int wogPort) + BonsaiDemo(octree *tree, octree::IterationData &idata, GalaxyStore const& galaxyStore, int wogPort, real wogCameraDistance) : m_tree(tree), m_idata(idata), iterationsRemaining(true), // m_renderer(tree->localTree.n + tree->localTree.n_dust), m_renderer(tree->localTree.n + tree->localTree.n_dust, MAX_PARTICLES), @@ -340,7 +340,7 @@ class BonsaiDemo m_cameraRoll(0.0f), m_enableStats(true), m_galaxyStore(galaxyStore), - m_wogSocketManager(wogPort) + m_wogSocketManager(wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance) { m_windowDims = make_int2(1024, 768); m_cameraTrans = make_float3(0, -2, -100); @@ -1897,10 +1897,12 @@ void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) } void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, - bool showFPS, bool stereo, GalaxyStore const& galaxyStore, int wogPort) { + bool showFPS, bool stereo, GalaxyStore const& galaxyStore, int wogPort, + real wogCameraDistance) +{ displayFps = showFPS; //initGL(argc, argv); - theDemo = new BonsaiDemo(tree, idata, galaxyStore, wogPort); + theDemo = new BonsaiDemo(tree, idata, galaxyStore, wogPort, wogCameraDistance); if (stereo) theDemo->toggleStereo(); //SV assuming stereo is set to disable by default. glutMainLoop(); diff --git a/test/sockets/json_examples b/test/sockets/json_examples new file mode 100644 index 0000000..4acd000 --- /dev/null +++ b/test/sockets/json_examples @@ -0,0 +1,18 @@ +{ "task": "release", "galaxy_id": 1, "user_id": 0, "position": [], "velocity": [] } +{ "task": "release", "galaxy_id": 1, "user_id": 1, "position": [1], "velocity": [] } +{ "task": "release", "galaxy_id": 1, "user_id": 2, "position": [0,1], "velocity": [] } +{ "task": "release", "galaxy_id": 1, "user_id": 3, "position": [1,1], "velocity": [] } +{ "task": "report" } +{ "task": "remove", "user_id": 1 } +{ "task": "release", "galaxy_id": 0, "user_id": 0, "position": [0.1, 0.1], "velocity": [ 1, 1] } +{ "task": "release", "galaxy_id": 1, "user_id": 1, "position": [0.9, 0.1], "velocity": [-1, 1] } +{ "task": "release", "galaxy_id": 0, "user_id": 2, "position": [0.1, 0.9], "velocity": [ 1, -1] } +{ "task": "release", "galaxy_id": 1, "user_id": 3, "position": [0.9, 0.9], "velocity": [-1, -1] } +{ "task": "report" } +{ "task": "remove", "user_id": 1 } +{ "task": "release", "galaxy_id": 0, "user_id": 0, "position": [0.3, 0.3], "velocity": [ 1, 1] } +{ "task": "release", "galaxy_id": 1, "user_id": 1, "position": [0.7, 0.3], "velocity": [-1, 1] } +{ "task": "release", "galaxy_id": 0, "user_id": 2, "position": [0.3, 0.7], "velocity": [ 1, -1] } +{ "task": "release", "galaxy_id": 1, "user_id": 3, "position": [0.7, 0.7], "velocity": [-1, -1] } +{ "task": "report" } + diff --git a/test/tipsy/create_tipsy.cpp b/test/tipsy/create_tipsy.cpp index 5b94035..ff916fa 100644 --- a/test/tipsy/create_tipsy.cpp +++ b/test/tipsy/create_tipsy.cpp @@ -1,20 +1,46 @@ #include #include +#include #include "tipsy.h" int main() { - head h(0.0, 1, DIM, 0, 1, 0); + std::vector vd{{0.005, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 200000009}}; + std::vector vs{}; - std::ofstream os("test.tipsy", std::ios::binary); - os.write((char*) &h, sizeof(h)); +// std::vector vd{{0.00443292, -0.0120859, -0.0410267, -0.00437124, -1.605, -0.643298, -0.367065, 0.206867, 200000000}, +// {0.00443292, -0.0558513, -0.0209438, -0.0878785, 0.262374, -0.872229, -0.156694, 0.206867, 200000001}, +// {0.00443292, 0.0447762, -0.0448422, -0.0366114, -0.526952, -0.395124, 1.78094, 0.206867, 200000002}, +// {0.00443292, -0.0381424, -0.0317452, 0.0489303, -1.76929, 0.513822, -1.72173, 0.206867, 200000003}, +// {0.00443292, 0.158146, 0.0222634, 0.128441, 0.634014, -0.497379, -0.336336, 0.206867, 200000004}, +// {0.00443292, 0.188687, -0.111929, 0.0948612, -0.107827, 0.4779, -0.517985, 0.206867, 200000005}, +// {0.00443292, 0.179841, -0.142335, 0.0327414, -0.371021, -0.779585, -0.406808, 0.206867, 200000006}, +// {0.00443292, -0.0337725, 0.203328, -0.00501226, 0.0512849, 1.55558, -0.287626, 0.206867, 200000007}}; +// +// std::vector vs{{0.00430987, -0.0269203, 0.0215147, 0.00322919, -0.0424188, 0.809628, -0.663159, 0, 0, 0.204936, 100000000}, +// {0.00430987, 0.0070073, 0.0232225, 0.0373815, 0.783409, 1.0458, -0.00211907, 0, 0, 0.204936, 100000001}, +// {0.00430987, -0.0425167, 0.0320775, 0.0427321, 0.280932, -0.194072, 0.548338, 0, 0, 0.204936, 100000002}, +// {0.00430987, -0.0279896, 0.00917036, 0.0592467, -0.603823, -0.182352, -0.42594, 0, 0, 0.204936, 100000003}, +// {0.00430987, -0.01737, 0.0088137, 0.0705704, -0.320545, -0.58951, 0.346465, 0, 0, 0.204936, 100000004}, +// {0.00430987, -0.0247747, -0.0107097, -0.0589867, 0.0475681, 0.954196, -0.617804, 0, 0, 0.204936, 100000005}, +// {0.00430987, -0.0263219, -0.0303222, -0.0564402, -0.191889, 0.38757, 0.91078, 0, 0, 0.204936, 100000006}, +// {0.00430987, 0.0345237, -0.0248301, 0.0205758, 1.2972, 0.89203, 0.472138, 0, 0, 0.204936, 100000007}}; + +// std::vector vd{{0.0, 1000.0, 1000.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 200000000}, +// {0.0, 1000.0, 1000.0, 1001.0, 0.0, 0.0, 0.0, 0.0, 200000001}, +// {0.0, 1000.0, 1000.0, 1002.0, 0.0, 0.0, 0.0, 0.0, 200000002}, +// {0.0, 1000.0, 1000.0, 1003.0, 0.0, 0.0, 0.0, 0.0, 200000003}}; +// +// std::vector vs{{0.0, 1000.0, 1001.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100000000}, +// {0.0, 1000.0, 1001.0, 1001.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100000001}, +// {0.0, 1000.0, 1001.0, 1002.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100000002}, +// {0.0, 1000.0, 1001.0, 1003.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100000003}}; - dark_particle d(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 200000000); - os.write((char*) &d, sizeof(d)); + head h(0.0, vd.size() + vs.size(), DIM, 0, vd.size(), vs.size()); - //dark_particle d(0.00443292, -0.0120859, -0.0410267, -0.00437124, -1.605, -0.643298, -0.367065, 0.206867, 200000000); - //os.write((char*) &d, sizeof(d)); + std::ofstream os("test.tipsy", std::ios::binary); + os.write((char*) &h, sizeof(h)); - //star_particle s(0.00430987, -0.0269203, 0.0215147, 0.00322919, -0.0424188, 0.809628, -0.663159, 0, 0, 0.204936, 100000000); - //os.write((char*) &s, sizeof(s)); + for (auto const& d : vd) os.write((char*) &d, sizeof(d)); + for (auto const& s : vs) os.write((char*) &s, sizeof(s)); } From 078c9949083447b3b06b182c0cb9c0d1f66ff7f5 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 2 Jun 2016 16:52:49 +0200 Subject: [PATCH 42/78] - Add a bonsai command flag "--del_radius_factor" to scale the radius of the deletion sphere. - Add a bonsai command flag "--camera_distance" to change the perspective. The view angle is already available as flag "--theta". --- runtime/include/WOGSocketManager.h | 12 ++++++---- runtime/include/renderloop.h | 2 +- runtime/src/WOGSocketManager.cpp | 36 ++++++++++++++++-------------- runtime/src/main.cpp | 12 ++++++++-- runtime/src/renderloop.cpp | 11 +++++---- 5 files changed, 45 insertions(+), 28 deletions(-) diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index 2aa6a49..64b259f 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -33,7 +33,8 @@ class WOGSocketManager public: /// Constructor opening sockets and reading input galaxies - WOGSocketManager(int port, int window_width, int window_height, real fovy, real farZ, real camera_distance); + WOGSocketManager(int port, int window_width, int window_height, real fovy, + real farZ, real camera_distance, real deletion_radius_factor); /// Constructor closing the sockets ~WOGSocketManager(); @@ -41,6 +42,9 @@ class WOGSocketManager /// Execute a client request void execute(octree *tree, GalaxyStore const& galaxyStore); + /// Must be called by glutReshapeFunc + void reshape(int width, int height); + private: /// Remove particles continuously @@ -49,9 +53,6 @@ class WOGSocketManager /// Execute a client request void execute_json(octree *tree, GalaxyStore const& galaxyStore, std::string buffer); - /// Must be called by glutReshapeFunc - void reshape(int width, int height); - int server_socket; int client_socket; @@ -85,6 +86,9 @@ class WOGSocketManager real simulation_plane_width; real simulation_plane_height; + /// Scaling factor for deletion sphere. + real deletion_radius_factor; + /// Squared radius of deletion sphere. Particles leaving this sphere will be removed. real deletion_radius_square; diff --git a/runtime/include/renderloop.h b/runtime/include/renderloop.h index b652bc9..f3ac00e 100644 --- a/runtime/include/renderloop.h +++ b/runtime/include/renderloop.h @@ -11,6 +11,6 @@ void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo); void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, bool showFPS, bool stereo, GalaxyStore const& galaxyStore, int wogPort, - real wogCameraDistance); + real wogCameraDistance, real wogDeletionRadiusFactor); #endif // _RENDERLOOP_H_ diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index c1e95d7..6487f12 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -12,7 +12,8 @@ using jsoncons::json; #define DEBUG_PRINT -WOGSocketManager::WOGSocketManager(int port, int window_width, int window_height, real fovy, real farZ, real camera_distance) +WOGSocketManager::WOGSocketManager(int port, int window_width, int window_height, real fovy, + real farZ, real camera_distance, real deletion_radius_factor) : user_particles{{0, 0, 0, 0}}, window_width(window_width), window_height(window_height), @@ -21,6 +22,7 @@ WOGSocketManager::WOGSocketManager(int port, int window_width, int window_height camera_distance(camera_distance), simulation_plane_width(0.0), simulation_plane_height(0.0), + deletion_radius_factor(deletion_radius_factor), deletion_radius_square(0.0) { reshape(window_width, window_height); @@ -91,6 +93,22 @@ void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) } } +void WOGSocketManager::reshape(int width, int height) +{ + window_width = width; + window_height = height; + real aspect_ratio = window_width / window_height; + + simulation_plane_height = 2 * camera_distance * tan(fovy * M_PI / 360.0); + simulation_plane_width = simulation_plane_height * aspect_ratio; + + real4 rear_corner; + rear_corner.y = camera_distance * tan(fovy * M_PI / 360.0); + rear_corner.x = rear_corner.y * aspect_ratio; + rear_corner.z = farZ - camera_distance; + deletion_radius_square = rear_corner.x * rear_corner.x + rear_corner.y * rear_corner.y + rear_corner.z * rear_corner.z; +} + void WOGSocketManager::remove_particles(octree *tree) { tree->removeParticles(); @@ -185,19 +203,3 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore if (send(client_socket, send_data_string.c_str(), send_data_string.size(), 0) == -1) perror("send"); } - -void WOGSocketManager::reshape(int width, int height) -{ - window_width = width; - window_height = height; - real aspect_ratio = window_width / window_height; - - simulation_plane_height = 2 * camera_distance * tan(fovy * M_PI / 360.0); - simulation_plane_width = simulation_plane_height * aspect_ratio; - - real4 rear_corner; - rear_corner.y = camera_distance * tan(fovy * M_PI / 360.0); - rear_corner.x = rear_corner.y * aspect_ratio; - rear_corner.z = farZ - camera_distance; - deletion_radius_square = rear_corner.x * rear_corner.x + rear_corner.y * rear_corner.y + rear_corner.z * rear_corner.z; -} diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index 28647b2..fa885fc 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -619,6 +619,7 @@ int main(int argc, char** argv) std::string war_of_galaxies_path; int wogPort = 50007; real wogCameraDistance = 500.0; + real wogDeletionRadiusFactor = 1.0; /************** beg - command line arguments ********/ #if 1 @@ -673,6 +674,8 @@ int main(int argc, char** argv) ADDUSAGE(" --diskmode use diskmode to read same input file all MPI taks and randomly shuffle its positions"); ADDUSAGE(" --war-of-galaxies # input path for WarOfGalaxies"); ADDUSAGE(" --port # Port for WarOfGalaxies"); + ADDUSAGE(" --camera-distance # OpenGL camera distance for WarOfGalaxies"); + ADDUSAGE(" --del-radius-factor # Scaling factor of deletion sphere for WarOfGalaxies"); ADDUSAGE(" "); @@ -717,6 +720,8 @@ int main(int argc, char** argv) #endif opt.setOption("war-of-galaxies"); opt.setOption("port"); + opt.setOption("camera-distance"); + opt.setOption("del-radius-factor"); opt.processCommandArgs( argc, argv ); @@ -765,7 +770,9 @@ int main(int argc, char** argv) if ((optarg = opt.getValue("reducebodies"))) reduce_bodies_factor = atoi (optarg); if ((optarg = opt.getValue("reducedust"))) reduce_dust_factor = atoi (optarg); if ((optarg = opt.getValue("war-of-galaxies"))) war_of_galaxies_path = string(optarg); - if ((optarg = opt.getValue("port"))) wogPort = atoi(optarg); + if ((optarg = opt.getValue("port"))) wogPort = atoi(optarg); + if ((optarg = opt.getValue("camera-distance"))) wogCameraDistance = atof(optarg); + if ((optarg = opt.getValue("del-radius-factor"))) wogDeletionRadiusFactor = atof(optarg); #if USE_OPENGL if ((optarg = opt.getValue("fullscreen"))) fullScreenMode = string(optarg); if ((optarg = opt.getValue("Tglow"))) TstartGlow = (float)atof(optarg); @@ -1282,7 +1289,8 @@ int main(int argc, char** argv) octree::IterationData idata; GalaxyStore galaxyStore; if (!war_of_galaxies_path.empty()) galaxyStore.init(war_of_galaxies_path, tree); - initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, galaxyStore, wogPort, wogCameraDistance); + initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, galaxyStore, + wogPort, wogCameraDistance, wogDeletionRadiusFactor); LOG("Finished!!! Took in total: %lg sec\n", tree->get_time()-t0); #else tree->mpiSync(); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index dfc8438..a6f6b37 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -306,7 +306,8 @@ void glPrintf(float x, float y, const char* format, ...) class BonsaiDemo { public: - BonsaiDemo(octree *tree, octree::IterationData &idata, GalaxyStore const& galaxyStore, int wogPort, real wogCameraDistance) + BonsaiDemo(octree *tree, octree::IterationData &idata, GalaxyStore const& galaxyStore, + int wogPort, real wogCameraDistance, real wogDeletionRadiusFactor) : m_tree(tree), m_idata(idata), iterationsRemaining(true), // m_renderer(tree->localTree.n + tree->localTree.n_dust), m_renderer(tree->localTree.n + tree->localTree.n_dust, MAX_PARTICLES), @@ -340,7 +341,7 @@ class BonsaiDemo m_cameraRoll(0.0f), m_enableStats(true), m_galaxyStore(galaxyStore), - m_wogSocketManager(wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance) + m_wogSocketManager(wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor) { m_windowDims = make_int2(1024, 768); m_cameraTrans = make_float3(0, -2, -100); @@ -1088,6 +1089,8 @@ class BonsaiDemo m_renderer.setFOV(m_fov); m_renderer.setWindowSize(m_windowDims.x, m_windowDims.y); + m_wogSocketManager.reshape(w, h); + fitCamera(); glMatrixMode(GL_MODELVIEW); glViewport(0, 0, m_windowDims.x, m_windowDims.y); @@ -1898,11 +1901,11 @@ void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, bool showFPS, bool stereo, GalaxyStore const& galaxyStore, int wogPort, - real wogCameraDistance) + real wogCameraDistance, real wogDeletionRadiusFactor) { displayFps = showFPS; //initGL(argc, argv); - theDemo = new BonsaiDemo(tree, idata, galaxyStore, wogPort, wogCameraDistance); + theDemo = new BonsaiDemo(tree, idata, galaxyStore, wogPort, wogCameraDistance, wogDeletionRadiusFactor); if (stereo) theDemo->toggleStereo(); //SV assuming stereo is set to disable by default. glutMainLoop(); From 219220f2e1183f0ce65120cf8f951768683e32b6 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 3 Jun 2016 13:57:51 +0200 Subject: [PATCH 43/78] - bugfix simulation_plane_width - not reduce particles of input galaxies - python script reducing particles in tipsy file --- runtime/src/GalaxyStore.cpp | 2 +- runtime/src/WOGSocketManager.cpp | 8 +++++- test/sockets/json_examples | 16 ++++++++--- test/tipsy/CMakeLists.txt | 1 + test/tipsy/reduce_tipsy.cpp | 46 ++++++++++++++++++++++++++++++++ test/tipsy/tipsy.h | 4 +++ 6 files changed, 71 insertions(+), 6 deletions(-) create mode 100644 test/tipsy/reduce_tipsy.cpp diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp index 10aee01..fd189f4 100644 --- a/runtime/src/GalaxyStore.cpp +++ b/runtime/src/GalaxyStore.cpp @@ -29,7 +29,7 @@ void GalaxyStore::init(std::string const& path, octree *tree) read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, 0.0, filename.c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, - galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 50, 1, false); + galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); real4 cm = galaxy.getCenterOfMass(); std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index 6487f12..a0445f3 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -97,11 +97,17 @@ void WOGSocketManager::reshape(int width, int height) { window_width = width; window_height = height; - real aspect_ratio = window_width / window_height; + real aspect_ratio = static_cast(window_width) / window_height; simulation_plane_height = 2 * camera_distance * tan(fovy * M_PI / 360.0); simulation_plane_width = simulation_plane_height * aspect_ratio; + std::cout << "window_width = " << window_width << std::endl; + std::cout << "window_height = " << window_height << std::endl; + std::cout << "aspect_ratio = " << aspect_ratio << std::endl; + std::cout << "simulation_plane_height = " << simulation_plane_height << std::endl; + std::cout << "simulation_plane_width = " << simulation_plane_width << std::endl; + real4 rear_corner; rear_corner.y = camera_distance * tan(fovy * M_PI / 360.0); rear_corner.x = rear_corner.y * aspect_ratio; diff --git a/test/sockets/json_examples b/test/sockets/json_examples index 4acd000..e8f845a 100644 --- a/test/sockets/json_examples +++ b/test/sockets/json_examples @@ -3,13 +3,21 @@ { "task": "release", "galaxy_id": 1, "user_id": 2, "position": [0,1], "velocity": [] } { "task": "release", "galaxy_id": 1, "user_id": 3, "position": [1,1], "velocity": [] } { "task": "report" } +{ "task": "remove", "user_id": 0 } { "task": "remove", "user_id": 1 } -{ "task": "release", "galaxy_id": 0, "user_id": 0, "position": [0.1, 0.1], "velocity": [ 1, 1] } -{ "task": "release", "galaxy_id": 1, "user_id": 1, "position": [0.9, 0.1], "velocity": [-1, 1] } -{ "task": "release", "galaxy_id": 0, "user_id": 2, "position": [0.1, 0.9], "velocity": [ 1, -1] } -{ "task": "release", "galaxy_id": 1, "user_id": 3, "position": [0.9, 0.9], "velocity": [-1, -1] } +{ "task": "remove", "user_id": 2 } +{ "task": "remove", "user_id": 3 } { "task": "report" } +{ "task": "release", "galaxy_id": 0, "user_id": 0, "position": [0.1, 0.1], "velocity": [ 5, 5] } +{ "task": "release", "galaxy_id": 1, "user_id": 1, "position": [0.9, 0.1], "velocity": [-5, 5] } +{ "task": "release", "galaxy_id": 0, "user_id": 2, "position": [0.1, 0.9], "velocity": [ 5, -5] } +{ "task": "release", "galaxy_id": 1, "user_id": 3, "position": [0.9, 0.9], "velocity": [-5, -5] } +{ "task": "report" } +{ "task": "remove", "user_id": 0 } { "task": "remove", "user_id": 1 } +{ "task": "remove", "user_id": 2 } +{ "task": "remove", "user_id": 3 } +{ "task": "report" } { "task": "release", "galaxy_id": 0, "user_id": 0, "position": [0.3, 0.3], "velocity": [ 1, 1] } { "task": "release", "galaxy_id": 1, "user_id": 1, "position": [0.7, 0.3], "velocity": [-1, 1] } { "task": "release", "galaxy_id": 0, "user_id": 2, "position": [0.3, 0.7], "velocity": [ 1, -1] } diff --git a/test/tipsy/CMakeLists.txt b/test/tipsy/CMakeLists.txt index 5b4d677..e5dbb01 100644 --- a/test/tipsy/CMakeLists.txt +++ b/test/tipsy/CMakeLists.txt @@ -9,3 +9,4 @@ include_directories(${EIGEN3_INCLUDE_DIR}) add_executable(create_tipsy create_tipsy.cpp) add_executable(read_tipsy read_tipsy.cpp) add_executable(split_tipsy split_tipsy.cpp) +add_executable(reduce_tipsy reduce_tipsy.cpp) diff --git a/test/tipsy/reduce_tipsy.cpp b/test/tipsy/reduce_tipsy.cpp new file mode 100644 index 0000000..3fbc513 --- /dev/null +++ b/test/tipsy/reduce_tipsy.cpp @@ -0,0 +1,46 @@ +#include +#include +#include +#include "tipsy.h" + +int main(int argc, char** argv) +{ + if (argc != 4) { + std::cout << "USAGE: " << argv[0] << " " << std::endl; + std::cerr << "Wrong number of arguments." << std::endl; + return 1; + } + + std::ifstream is(argv[1], std::ios::binary); + std::ofstream os(argv[2], std::ios::binary); + int reduce_factor = std::stoi(argv[3]); + + head h_in; + is.read((char*) &h_in, sizeof(head)); + + head h_out(h_in); + h_out.nbodies = static_cast(h_out.nbodies / reduce_factor) + (h_out.nbodies % reduce_factor == 0 ? 0 : 1); + h_out.ndark = static_cast(h_out.ndark / reduce_factor) + (h_out.ndark % reduce_factor == 0 ? 0 : 1); + h_out.nstar = static_cast(h_out.nstar / reduce_factor) + (h_out.nstar % reduce_factor == 0 ? 0 : 1); + os.write((char*) &h_out, sizeof(head)); + + dark_particle d; + for (int i = 0; i != h_in.ndark; ++i) + { + is.read((char*) &d, sizeof(dark_particle)); + if (i % reduce_factor == 0) { + d.mass *= reduce_factor; + os.write((char*) &d, sizeof(dark_particle)); + } + } + + star_particle s; + for (int i = 0; i != h_in.nstar; ++i) + { + is.read((char*) &s, sizeof(star_particle)); + if (i % reduce_factor == 0) { + s.mass *= reduce_factor; + os.write((char*) &s, sizeof(star_particle)); + } + } +} diff --git a/test/tipsy/tipsy.h b/test/tipsy/tipsy.h index a353f53..ef23377 100644 --- a/test/tipsy/tipsy.h +++ b/test/tipsy/tipsy.h @@ -10,6 +10,10 @@ struct head { : time(time), nbodies(nbodies), ndim(ndim), nsph(nsph), ndark(ndark), nstar(nstar) {} + head(head const& other) + : time(other.time), nbodies(other.nbodies), ndim(other.ndim), nsph(other.nsph), ndark(other.ndark), nstar(other.nstar) + {} + double time; int nbodies; int ndim; From 30c13d8fde11d1f58a2e0fcf229619646ac0eacc Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 3 Jun 2016 15:38:32 +0200 Subject: [PATCH 44/78] Send simulation time in interface request "report" --- runtime/src/WOGSocketManager.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index a0445f3..dec2d20 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -193,10 +193,12 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore } else if (task == "report") { - send_data["user_0"] = user_particles[0]; - send_data["user_1"] = user_particles[1]; - send_data["user_2"] = user_particles[2]; - send_data["user_3"] = user_particles[3]; + // Simulation time in MYears, for factor see renderloop.cpp, search for MYears + send_data["simulation time"] = tree->getTime() * 9.78; + send_data["user 0"] = user_particles[0]; + send_data["user 1"] = user_particles[1]; + send_data["user 2"] = user_particles[2]; + send_data["user 3"] = user_particles[3]; } else { From cda3fa5c14bd8152ba2ef5515545f9203b02a11c Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 6 Jun 2016 16:20:51 +0200 Subject: [PATCH 45/78] Remove particles continuously during simulation --- eclipse/Bonsai release war-of-galaxies.launch | 2 +- eclipse/cmake release gnu.launch | 2 +- runtime/CMakeLists.txt | 9 +++++++++ runtime/include/WOGSocketManager.h | 8 ++++---- runtime/include/octree.h | 4 ++-- runtime/src/WOGSocketManager.cpp | 9 +++++++-- runtime/src/gpu_iterate.cpp | 14 ++++++------- runtime/src/renderloop.cpp | 20 +++++++++++-------- 8 files changed, 43 insertions(+), 25 deletions(-) diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 85d567a..508d3d7 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/cmake release gnu.launch b/eclipse/cmake release gnu.launch index 768100a..8d440f7 100644 --- a/eclipse/cmake release gnu.launch +++ b/eclipse/cmake release gnu.launch @@ -2,6 +2,6 @@ - + diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index ff5a564..244c93e 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -58,6 +58,11 @@ option(CUDA_KEEP_INTERMEDIATE_FILES OFF ) +option(WAR_OF_GALAXIES + "On to enable WarOfGalaxies" + OFF + ) + FIND_PACKAGE(CUDA REQUIRED) if (USE_MPI) @@ -257,6 +262,10 @@ if (USE_OPENGL) endif (USE_OPENGL) +if (WAR_OF_GALAXIES) + add_definitions(-DWAR_OF_GALAXIES) +endif (WAR_OF_GALAXIES) + #The SSE support for the local tree walks if(WIN32) add_definitions( "/arch:SSE4") diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index 64b259f..10aafda 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -45,6 +45,9 @@ class WOGSocketManager /// Must be called by glutReshapeFunc void reshape(int width, int height); + /// Number of users + static const int number_of_users = 4; + private: /// Remove particles continuously @@ -60,14 +63,11 @@ class WOGSocketManager /// Buffer size for socket data transmission static const int buffer_size = 1024; - /// Number of users - static const int number_of_users = 4; - /// Maximal number of particles of a user static const int max_number_of_particles_of_user = 100000; /// Number of particles of user - std::array user_particles; + std::vector user_particles; /// Dimension of the window int window_width; diff --git a/runtime/include/octree.h b/runtime/include/octree.h index aaeafdd..f552513 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -884,8 +884,8 @@ class octree { // WarOfGalaxies: remove particles of a user void removeGalaxy(int user_id); - // WarOfGalaxies: remove particles continuously and return the number - int removeParticles(); + // WarOfGalaxies: remove particles out of sphere continuously + void removeParticles(real deletion_radius_square, std::vector &user_particles); //Library interface functions void setEps(float eps); diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index dec2d20..312d33a 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -71,7 +71,7 @@ WOGSocketManager::~WOGSocketManager() void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) { // Remove particles - //remove_particles(tree); + remove_particles(tree); // Check for user request char buffer[buffer_size]; @@ -113,11 +113,16 @@ void WOGSocketManager::reshape(int width, int height) rear_corner.x = rear_corner.y * aspect_ratio; rear_corner.z = farZ - camera_distance; deletion_radius_square = rear_corner.x * rear_corner.x + rear_corner.y * rear_corner.y + rear_corner.z * rear_corner.z; + deletion_radius_square *= deletion_radius_factor * deletion_radius_factor; + #ifdef DEBUG_PRINT + std::cout << "deletion_radius_factor = " << deletion_radius_factor << std::endl; + std::cout << "deletion_radius = " << std::sqrt(deletion_radius_square) << std::endl; + #endif } void WOGSocketManager::remove_particles(octree *tree) { - tree->removeParticles(); + tree->removeParticles(deletion_radius_square, user_particles); } void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore, std::string buffer) diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 7d9373f..97833d1 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -531,7 +531,7 @@ void octree::removeGalaxy(int user_id) resetEnergy(); } -int octree::removeParticles() +void octree::removeParticles(real deletion_radius_square, std::vector &user_particles) { // Get particle data back to the host so we can add our new data this->localTree.bodies_pos.d2h(); @@ -548,11 +548,13 @@ int octree::removeParticles() int old_nb_particles = this->localTree.n; int new_nb_particles = 0; - int count = 0; for (int i(0); i != old_nb_particles; ++i) { - if ((i+1) % 100 == 0) { - ++count; + real4 position = this->localTree.bodies_pos[i]; + if (position.x * position.x + position.y * position.y + position.z * position.z > deletion_radius_square + and this->localTree.bodies_ids[i] % 10 != 9) + { + --user_particles[this->localTree.bodies_ids[i] % 10]; continue; } new_pos.push_back(this->localTree.bodies_pos[i]); @@ -588,8 +590,6 @@ int octree::removeParticles() this->localTree.bodies_Pvel.copy(this->localTree.bodies_pos, localTree.n); resetEnergy(); - - return count; } // returns true if this iteration is the last (t_current >= t_end), false otherwise @@ -927,7 +927,7 @@ bool octree::iterate_once(IterationData &idata) { } } -#ifdef NOT_WAR_OF_GALAXIES +#ifndef WAR_OF_GALAXIES if (iter >= iterEnd) return true; if(t_current >= tEnd) diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index a6f6b37..3912e6a 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -309,10 +309,10 @@ class BonsaiDemo BonsaiDemo(octree *tree, octree::IterationData &idata, GalaxyStore const& galaxyStore, int wogPort, real wogCameraDistance, real wogDeletionRadiusFactor) : m_tree(tree), m_idata(idata), iterationsRemaining(true), -// m_renderer(tree->localTree.n + tree->localTree.n_dust), + //m_renderer(tree->localTree.n + tree->localTree.n_dust), m_renderer(tree->localTree.n + tree->localTree.n_dust, MAX_PARTICLES), //m_displayMode(ParticleRenderer::PARTICLE_SPRITES_COLOR), - m_displayMode(SmokeRenderer::VOLUMETRIC), + m_displayMode(SmokeRenderer::VOLUMETRIC), m_ox(0), m_oy(0), m_buttonState(0), m_inertia(0.2f), m_paused(false), m_renderingEnabled(true), @@ -326,12 +326,16 @@ class BonsaiDemo m_octreeMinDepth(0), m_octreeMaxDepth(3), m_flyMode(false), - m_fov(60.0f), - m_nearZ(0.2), - m_screenZ(450.0), - m_farZ(2000), - m_IOD(4.0), - m_stereoEnabled(false), //SV TODO Must be false, never make it true + m_fov(60.0f), + m_nearZ(0.2), + m_screenZ(450.0), +#ifdef WAR_OF_GALAXIES + m_farZ(1000), +#else + m_farZ(2000), +#endif + m_IOD(4.0), + m_stereoEnabled(false), //SV TODO Must be false, never make it true m_supernova(false), m_overBright(1.0f), m_params(m_renderer.getParams()), From 02cb3b365d8b0e7af15e3ec94c704ff867a0a2b0 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Wed, 8 Jun 2016 19:05:02 +0200 Subject: [PATCH 46/78] First refactoring and improve error checks of data send via socket --- .../Bonsai host debug war-of-galaxies.launch | 2 +- eclipse/Bonsai release war-of-galaxies.launch | 2 +- eclipse/cmake host debug gnu.launch | 2 +- runtime/CMakeLists.txt | 1 - runtime/include/GalaxyStore.h | 29 ---- runtime/include/WOGSocketManager.h | 27 +-- runtime/include/renderloop.h | 3 +- runtime/src/FileIO.cpp | 4 +- runtime/src/GalaxyStore.cpp | 56 ------ runtime/src/WOGSocketManager.cpp | 159 ++++++++++++------ runtime/src/gpu_iterate.cpp | 1 + runtime/src/main.cpp | 11 +- runtime/src/renderloop.cpp | 15 +- 13 files changed, 147 insertions(+), 165 deletions(-) delete mode 100644 runtime/include/GalaxyStore.h delete mode 100644 runtime/src/GalaxyStore.cpp diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch index 4110eab..200d377 100644 --- a/eclipse/Bonsai host debug war-of-galaxies.launch +++ b/eclipse/Bonsai host debug war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 508d3d7..13367c0 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/cmake host debug gnu.launch b/eclipse/cmake host debug gnu.launch index 6823849..3280c02 100644 --- a/eclipse/cmake host debug gnu.launch +++ b/eclipse/cmake host debug gnu.launch @@ -2,6 +2,6 @@ - + diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 244c93e..1977ceb 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -104,7 +104,6 @@ set (CCFILES src/log.cpp src/hostConstruction.cpp src/Galaxy.cpp - src/GalaxyStore.cpp src/FileIO.cpp src/WOGSocketManager.cpp ) diff --git a/runtime/include/GalaxyStore.h b/runtime/include/GalaxyStore.h deleted file mode 100644 index 0e73b70..0000000 --- a/runtime/include/GalaxyStore.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * GalaxyStore.h - * - * Created on: May 3, 2016 - * Author: Bernd Doser - */ - -#ifndef GALAXYSTORE_H_ -#define GALAXYSTORE_H_ - -#include "Galaxy.h" -#include - -class GalaxyStore -{ - public: - - void init(std::string const& path, octree *tree); - - /// Return copy of galaxy, print warning if unavailable galaxy is requested - Galaxy getGalaxy(int galaxy_id) const; - - private: - - std::vector galaxies; - -}; - -#endif /* GALAXYSTORE_H_ */ diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index 10aafda..dbb5f42 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -8,8 +8,9 @@ #ifndef WOGSOCKETMANAGER_H_ #define WOGSOCKETMANAGER_H_ +#include "Galaxy.h" #include "octree.h" -#include "GalaxyStore.h" +#include "jsoncons/json.hpp" #include #include #include @@ -33,38 +34,41 @@ class WOGSocketManager public: /// Constructor opening sockets and reading input galaxies - WOGSocketManager(int port, int window_width, int window_height, real fovy, - real farZ, real camera_distance, real deletion_radius_factor); + WOGSocketManager(std::string const& path, int port, int window_width, int window_height, real fovy, + real farZ, real camera_distance, real deletion_radius_factor); /// Constructor closing the sockets ~WOGSocketManager(); /// Execute a client request - void execute(octree *tree, GalaxyStore const& galaxyStore); + void execute(octree *tree); /// Must be called by glutReshapeFunc void reshape(int width, int height); - /// Number of users - static const int number_of_users = 4; - private: + /// Read all galaxy types + void read_galaxies(std::string const& path); + /// Remove particles continuously void remove_particles(octree *tree); /// Execute a client request - void execute_json(octree *tree, GalaxyStore const& galaxyStore, std::string buffer); + jsoncons::json execute_json(octree *tree, std::string buffer); int server_socket; int client_socket; + /// Number of users + static constexpr auto number_of_users = 4; + /// Buffer size for socket data transmission - static const int buffer_size = 1024; + static constexpr auto buffer_size = 1024; /// Maximal number of particles of a user - static const int max_number_of_particles_of_user = 100000; + static constexpr auto max_number_of_particles_of_user = 100000; /// Number of particles of user std::vector user_particles; @@ -92,6 +96,9 @@ class WOGSocketManager /// Squared radius of deletion sphere. Particles leaving this sphere will be removed. real deletion_radius_square; + /// Galaxy types which can be released + std::vector galaxies; + }; #endif /* WOGSOCKETMANAGER_H_ */ diff --git a/runtime/include/renderloop.h b/runtime/include/renderloop.h index f3ac00e..baae4d1 100644 --- a/runtime/include/renderloop.h +++ b/runtime/include/renderloop.h @@ -2,7 +2,6 @@ #define _RENDERLOOP_H_ #include "octree.h" -#include "GalaxyStore.h" extern float TstartGlow; extern float dTstartGlow; @@ -10,7 +9,7 @@ extern float dTstartGlow; void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo); void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, bool showFPS, bool stereo, - GalaxyStore const& galaxyStore, int wogPort, + std::string const& wogPath, int wogPort, real wogCameraDistance, real wogDeletionRadiusFactor); #endif // _RENDERLOOP_H_ diff --git a/runtime/src/FileIO.cpp b/runtime/src/FileIO.cpp index f88020a..62df491 100644 --- a/runtime/src/FileIO.cpp +++ b/runtime/src/FileIO.cpp @@ -60,7 +60,7 @@ void read_tipsy_file_parallel(std::vector &bodyPositions, std::vectorset_t_current((float) h.time); + if (tree) tree->set_t_current((float) h.time); //Rough divide uint perProc = (NTotal / procs) /reduce_bodies_factor; @@ -165,7 +165,7 @@ void read_tipsy_file_parallel(std::vector &bodyPositions, std::vector perProc && procCntr != procs) { - tree->ICSend(procCntr, &bodyPositions[0], &bodyVelocities[0], &bodiesIDs[0], (int)bodyPositions.size()); + if (tree) tree->ICSend(procCntr, &bodyPositions[0], &bodyVelocities[0], &bodiesIDs[0], (int)bodyPositions.size()); procCntr++; bodyPositions.clear(); diff --git a/runtime/src/GalaxyStore.cpp b/runtime/src/GalaxyStore.cpp deleted file mode 100644 index fd189f4..0000000 --- a/runtime/src/GalaxyStore.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - * GalaxyStore.cpp - * - * Created on: May 6, 2016 - * Author: Bernd Doser - */ - -#include "FileIO.h" -#include "GalaxyStore.h" -#include -#include -#include - -const double pi = std::acos(-1); - -void GalaxyStore::init(std::string const& path, octree *tree) -{ - for (int i = 0;; ++i) - { - std::string filename = path + "/galaxy_type_" + std::to_string(i) + ".tipsy"; - if (access(filename.c_str(), F_OK) == -1) break; - std::cout << "Read file " << filename << " into GalaxyStore." << std::endl; - - Galaxy galaxy; - int Total2 = 0; - int NFirst = 0; - int NSecond = 0; - int NThird = 0; - - read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, - 0.0, filename.c_str(), 0, 1, Total2, NFirst, NSecond, NThird, tree, - galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); - - real4 cm = galaxy.getCenterOfMass(); - std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; - real4 tv = galaxy.getTotalVelocity(); - std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; - - galaxy.centering(); - galaxy.steady(); - - cm = galaxy.getCenterOfMass(); - std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; - tv = galaxy.getTotalVelocity(); - std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; - - galaxies.push_back(galaxy); - } -} - -Galaxy GalaxyStore::getGalaxy(int galaxy_id) const -{ - if (galaxy_id < 0 or galaxy_id >= galaxies.size()) - std::cout << "WARNING: Requested qalaxy " << galaxy_id << " is not available." << std::endl; - return galaxies[galaxy_id]; -} diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index 312d33a..1f7d5eb 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -5,14 +5,14 @@ * Author: Bernd Doser */ +#include "FileIO.h" #include "WOGSocketManager.h" -#include "jsoncons/json.hpp" using jsoncons::json; #define DEBUG_PRINT -WOGSocketManager::WOGSocketManager(int port, int window_width, int window_height, real fovy, +WOGSocketManager::WOGSocketManager(std::string const& path, int port, int window_width, int window_height, real fovy, real farZ, real camera_distance, real deletion_radius_factor) : user_particles{{0, 0, 0, 0}}, window_width(window_width), @@ -25,6 +25,7 @@ WOGSocketManager::WOGSocketManager(int port, int window_width, int window_height deletion_radius_factor(deletion_radius_factor), deletion_radius_square(0.0) { + read_galaxies(path); reshape(window_width, window_height); server_socket = socket(AF_INET, SOCK_STREAM, 0); @@ -68,7 +69,42 @@ WOGSocketManager::~WOGSocketManager() close(server_socket); } -void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) +void WOGSocketManager::read_galaxies(std::string const& path) +{ + for (int i = 0;; ++i) + { + std::string filename = path + "/galaxy_type_" + std::to_string(i) + ".tipsy"; + if (access(filename.c_str(), F_OK) == -1) break; + std::cout << "Read file " << filename << " into GalaxyStore." << std::endl; + + Galaxy galaxy; + int Total2 = 0; + int NFirst = 0; + int NSecond = 0; + int NThird = 0; + + read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, + 0.0, filename.c_str(), 0, 1, Total2, NFirst, NSecond, NThird, nullptr, + galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); + + real4 cm = galaxy.getCenterOfMass(); + std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; + real4 tv = galaxy.getTotalVelocity(); + std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; + + galaxy.centering(); + galaxy.steady(); + + cm = galaxy.getCenterOfMass(); + std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; + tv = galaxy.getTotalVelocity(); + std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; + + galaxies.push_back(galaxy); + } +} + +void WOGSocketManager::execute(octree *tree) { // Remove particles remove_particles(tree); @@ -79,18 +115,24 @@ void WOGSocketManager::execute(octree *tree, GalaxyStore const& galaxyStore) if (n <= 0) return; buffer[n] = '\0'; + json json_response; + try { - execute_json(tree, galaxyStore, buffer); + json_response = execute_json(tree, buffer); + } catch (std::exception const& e) { + std::cerr << "Error: " << e.what() << std::endl; + json_response["response"] = std::string("Error: ") + e.what(); + } catch ( ... ) { - json send_data; - send_data["response"] = "Can't interpret last request"; + std::cerr << "Error: Unknown failure" << std::endl; + json_response["response"] = "Error: Unknown failure"; + } - std::ostringstream oss; - oss << send_data; - std::string send_data_string = oss.str(); + std::ostringstream oss; + oss << json_response; + std::string json_response_string = oss.str(); - if (send(client_socket, send_data_string.c_str(), send_data_string.size(), 0) == -1) perror("send"); - } + if (send(client_socket, json_response_string.c_str(), json_response_string.size(), 0) == -1) perror("send"); } void WOGSocketManager::reshape(int width, int height) @@ -125,44 +167,70 @@ void WOGSocketManager::remove_particles(octree *tree) tree->removeParticles(deletion_radius_square, user_particles); } -void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore, std::string buffer) +json WOGSocketManager::execute_json(octree *tree, std::string json_request_string) { + json json_response; + #ifdef DEBUG_PRINT - std::cout << "The string is: " << buffer << std::endl; + std::cout << "The JSON request is: " << json_request_string << std::endl; #endif - std::istringstream iss(buffer); - json recv_data; - iss >> recv_data; + std::istringstream iss(json_request_string); + json json_request; + iss >> json_request; - std::string task = recv_data["task"].as(); + std::string task = json_request["task"].as(); #ifdef DEBUG_PRINT std::cout << "task: " << task << std::endl; #endif - json send_data; - if (task == "release") { - int user_id = recv_data["user_id"].as(); - int galaxy_id = recv_data["galaxy_id"].as(); - std::vector vector_position = recv_data["position"].as>(); - std::vector vector_velocity = recv_data["velocity"].as>(); - - real4 position; - position.x = vector_position.size() > 0 ? vector_position[0] * simulation_plane_width : 0.0; - position.y = vector_position.size() > 1 ? vector_position[1] * simulation_plane_height : 0.0; - position.z = vector_position.size() > 2 ? vector_position[2] : 0.0; + int user_id = json_request["user_id"].as(); + if (user_id < 0 or user_id >= number_of_users) throw std::runtime_error("Invalid user_id"); + + int galaxy_id = json_request["galaxy_id"].as(); + if (galaxy_id < 0 or galaxy_id >= galaxies.size()) throw std::runtime_error("Invalid galaxy_id"); + + std::vector vector_position = json_request["position"].as>(); + if (vector_position.size() > 3) throw std::runtime_error("Invalid dimension of position vector"); + + std::vector vector_velocity = json_request["velocity"].as>(); + if (vector_velocity.size() > 3) throw std::runtime_error("Invalid dimension of velocity vector"); + + real4 position = make_real4(0.0, 0.0, 0.0, 0.0); + + if (vector_position.size() > 2) { + if (vector_position[2] < -1.0 or vector_position[2] > 1.0) throw std::runtime_error("position.z out of range"); + if (vector_position[2] < 0.0) + position.z = vector_position[2] * camera_distance; + else + position.z = vector_position[2] * (farZ - camera_distance); + } else if (vector_position.size() > 1) { + if (vector_position[1] < 0.0 or vector_position[1] > 1.0) throw std::runtime_error("position.y out of range"); + position.y = vector_position[1] * simulation_plane_height; + } if (vector_position.size() > 0) { + if (vector_position[0] < 0.0 or vector_position[0] > 1.0) throw std::runtime_error("position.x out of range"); + position.x = vector_position[0] * simulation_plane_width; + } // Shift center to lower left corner position.x -= simulation_plane_width * 0.5; position.y -= simulation_plane_height * 0.5; - real4 velocity; - velocity.x = vector_velocity.size() > 0 ? vector_velocity[0] * window_width / simulation_plane_width : 0.0; - velocity.y = vector_velocity.size() > 1 ? vector_velocity[1] * window_height / simulation_plane_height : 0.0; - velocity.z = vector_velocity.size() > 2 ? vector_velocity[2] : 0.0; + real4 velocity = make_real4(0.0, 0.0, 0.0, 0.0); + + if (vector_velocity.size() > 2) { + if (vector_velocity[2] < -1.0 or vector_velocity[2] > 1.0) throw std::runtime_error("velocity.z out of range"); + velocity.z = vector_velocity[2] * window_height / simulation_plane_height; + } else if (vector_velocity.size() > 1) { + if (vector_velocity[1] < 0.0 or vector_velocity[1] > 1.0) throw std::runtime_error("velocity.y out of range"); + velocity.y = vector_velocity[1] * window_height / simulation_plane_height; + } else if (vector_velocity.size() > 0) { + if (vector_velocity[0] < 0.0 or vector_velocity[0] > 1.0) throw std::runtime_error("velocity.x out of range"); + velocity.x = vector_velocity[0] * window_width / simulation_plane_width; + } #ifdef DEBUG_PRINT std::cout << "user_id: " << user_id << std::endl; @@ -171,7 +239,7 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore std::cout << "velocity: " << velocity.x << " " << velocity.y << " " << velocity.z << std::endl; #endif - Galaxy galaxy = galaxyStore.getGalaxy(galaxy_id); + Galaxy galaxy = galaxies[galaxy_id]; galaxy.translate(position); galaxy.accelerate(velocity); @@ -181,11 +249,12 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore tree->releaseGalaxy(galaxy); user_particles[user_id] += galaxy.pos.size(); - send_data["response"] = "Galaxy with " + std::to_string(galaxy.pos.size()) + " particles of user " + std::to_string(user_id) + " was released."; + json_response["response"] = "Galaxy with " + std::to_string(galaxy.pos.size()) + " particles of user " + std::to_string(user_id) + " was released."; } else if (task == "remove") { - int user_id = recv_data["user_id"].as(); + int user_id = json_request["user_id"].as(); + if (user_id < 0 or user_id >= number_of_users) throw std::runtime_error("Invalid user_id"); #ifdef DEBUG_PRINT std::cout << "user_id: " << user_id << std::endl; @@ -194,25 +263,21 @@ void WOGSocketManager::execute_json(octree *tree, GalaxyStore const& galaxyStore tree->removeGalaxy(user_id); user_particles[user_id] = 0; - send_data["response"] = "All particles of user " + std::to_string(user_id) + " were removed."; + json_response["response"] = "All particles of user " + std::to_string(user_id) + " were removed."; } else if (task == "report") { // Simulation time in MYears, for factor see renderloop.cpp, search for MYears - send_data["simulation time"] = tree->getTime() * 9.78; - send_data["user 0"] = user_particles[0]; - send_data["user 1"] = user_particles[1]; - send_data["user 2"] = user_particles[2]; - send_data["user 3"] = user_particles[3]; + json_response["simulation time"] = tree->getTime() * 9.78; + json_response["user 0"] = user_particles[0]; + json_response["user 1"] = user_particles[1]; + json_response["user 2"] = user_particles[2]; + json_response["user 3"] = user_particles[3]; } else { - throw std::runtime_error("Unkown task: " + task); + throw std::runtime_error("Unknown task: " + task); } - std::ostringstream oss; - oss << send_data; - std::string send_data_string = oss.str(); - - if (send(client_socket, send_data_string.c_str(), send_data_string.size(), 0) == -1) perror("send"); + return json_response; } diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 97833d1..c782ea8 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -928,6 +928,7 @@ bool octree::iterate_once(IterationData &idata) { } #ifndef WAR_OF_GALAXIES + std::cout << "hey" << std::endl; if (iter >= iterEnd) return true; if(t_current >= tEnd) diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index fa885fc..0dd8c25 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -52,7 +52,6 @@ double drand48() #include "renderloop.h" #include "plummer.h" #include "disk_shuffle.h" -#include "GalaxyStore.h" #include "FileIO.h" #ifdef GALACTICS #include "galactics.h" @@ -616,7 +615,7 @@ int main(int argc, char** argv) int nMilkyWay = -1; int nMWfork = 4; - std::string war_of_galaxies_path; + std::string wogPath; int wogPort = 50007; real wogCameraDistance = 500.0; real wogDeletionRadiusFactor = 1.0; @@ -769,7 +768,7 @@ int main(int argc, char** argv) if ((optarg = opt.getValue("rebuild"))) rebuild_tree_rate = atoi (optarg); if ((optarg = opt.getValue("reducebodies"))) reduce_bodies_factor = atoi (optarg); if ((optarg = opt.getValue("reducedust"))) reduce_dust_factor = atoi (optarg); - if ((optarg = opt.getValue("war-of-galaxies"))) war_of_galaxies_path = string(optarg); + if ((optarg = opt.getValue("war-of-galaxies"))) wogPath = string(optarg); if ((optarg = opt.getValue("port"))) wogPort = atoi(optarg); if ((optarg = opt.getValue("camera-distance"))) wogCameraDistance = atof(optarg); if ((optarg = opt.getValue("del-radius-factor"))) wogDeletionRadiusFactor = atof(optarg); @@ -1287,10 +1286,8 @@ int main(int argc, char** argv) //Start the integration #ifdef USE_OPENGL octree::IterationData idata; - GalaxyStore galaxyStore; - if (!war_of_galaxies_path.empty()) galaxyStore.init(war_of_galaxies_path, tree); - initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, galaxyStore, - wogPort, wogCameraDistance, wogDeletionRadiusFactor); + initAppRenderer(argc, argv, tree, idata, displayFPS, stereo, + wogPath, wogPort, wogCameraDistance, wogDeletionRadiusFactor); LOG("Finished!!! Took in total: %lg sec\n", tree->get_time()-t0); #else tree->mpiSync(); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 3912e6a..3451d11 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -306,8 +306,8 @@ void glPrintf(float x, float y, const char* format, ...) class BonsaiDemo { public: - BonsaiDemo(octree *tree, octree::IterationData &idata, GalaxyStore const& galaxyStore, - int wogPort, real wogCameraDistance, real wogDeletionRadiusFactor) + BonsaiDemo(octree *tree, octree::IterationData &idata, + std::string const& wogPath, int wogPort, real wogCameraDistance, real wogDeletionRadiusFactor) : m_tree(tree), m_idata(idata), iterationsRemaining(true), //m_renderer(tree->localTree.n + tree->localTree.n_dust), m_renderer(tree->localTree.n + tree->localTree.n_dust, MAX_PARTICLES), @@ -344,8 +344,7 @@ class BonsaiDemo m_cameraRollHome(0.0f), m_cameraRoll(0.0f), m_enableStats(true), - m_galaxyStore(galaxyStore), - m_wogSocketManager(wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor) + m_wogSocketManager(wogPath, wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor) { m_windowDims = make_int2(1024, 768); m_cameraTrans = make_float3(0, -2, -100); @@ -1483,7 +1482,7 @@ class BonsaiDemo ParamListGL *m_colorParams; ParamListGL *m_params; // current - GalaxyStore const& m_galaxyStore; + /// Managing class for WarOfGalaxies WOGSocketManager m_wogSocketManager; // saved cameras @@ -1813,7 +1812,7 @@ void special(int key, int x, int y) void idle(void) { - theDemo->m_wogSocketManager.execute(theDemo->m_tree, theDemo->m_galaxyStore); + theDemo->m_wogSocketManager.execute(theDemo->m_tree); glutPostRedisplay(); } @@ -1904,12 +1903,12 @@ void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) } void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, - bool showFPS, bool stereo, GalaxyStore const& galaxyStore, int wogPort, + bool showFPS, bool stereo, std::string const& wogPath, int wogPort, real wogCameraDistance, real wogDeletionRadiusFactor) { displayFps = showFPS; //initGL(argc, argv); - theDemo = new BonsaiDemo(tree, idata, galaxyStore, wogPort, wogCameraDistance, wogDeletionRadiusFactor); + theDemo = new BonsaiDemo(tree, idata, wogPath, wogPort, wogCameraDistance, wogDeletionRadiusFactor); if (stereo) theDemo->toggleStereo(); //SV assuming stereo is set to disable by default. glutMainLoop(); From a43733158885d07a495539240f9a994016571399 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 9 Jun 2016 12:45:53 +0200 Subject: [PATCH 47/78] Only allow bonsai command flags which are needed by WarOfGalaxies --- runtime/src/WOGSocketManager.cpp | 27 +++---- runtime/src/main.cpp | 125 +++++++++++++++++++++++-------- 2 files changed, 107 insertions(+), 45 deletions(-) diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index 1f7d5eb..4445df5 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -201,18 +201,20 @@ json WOGSocketManager::execute_json(octree *tree, std::string json_request_strin real4 position = make_real4(0.0, 0.0, 0.0, 0.0); + if (vector_position.size() > 0) { + if (vector_position[0] < 0.0 or vector_position[0] > 1.0) throw std::runtime_error("position.x out of range"); + position.x = vector_position[0] * simulation_plane_width; + } + if (vector_position.size() > 1) { + if (vector_position[1] < 0.0 or vector_position[1] > 1.0) throw std::runtime_error("position.y out of range"); + position.y = vector_position[1] * simulation_plane_height; + } if (vector_position.size() > 2) { if (vector_position[2] < -1.0 or vector_position[2] > 1.0) throw std::runtime_error("position.z out of range"); if (vector_position[2] < 0.0) position.z = vector_position[2] * camera_distance; else position.z = vector_position[2] * (farZ - camera_distance); - } else if (vector_position.size() > 1) { - if (vector_position[1] < 0.0 or vector_position[1] > 1.0) throw std::runtime_error("position.y out of range"); - position.y = vector_position[1] * simulation_plane_height; - } if (vector_position.size() > 0) { - if (vector_position[0] < 0.0 or vector_position[0] > 1.0) throw std::runtime_error("position.x out of range"); - position.x = vector_position[0] * simulation_plane_width; } // Shift center to lower left corner @@ -221,15 +223,14 @@ json WOGSocketManager::execute_json(octree *tree, std::string json_request_strin real4 velocity = make_real4(0.0, 0.0, 0.0, 0.0); + if (vector_velocity.size() > 0) { + velocity.x = vector_velocity[0] * window_width / simulation_plane_width; + } + if (vector_velocity.size() > 1) { + velocity.y = vector_velocity[1] * window_height / simulation_plane_height; + } if (vector_velocity.size() > 2) { - if (vector_velocity[2] < -1.0 or vector_velocity[2] > 1.0) throw std::runtime_error("velocity.z out of range"); velocity.z = vector_velocity[2] * window_height / simulation_plane_height; - } else if (vector_velocity.size() > 1) { - if (vector_velocity[1] < 0.0 or vector_velocity[1] > 1.0) throw std::runtime_error("velocity.y out of range"); - velocity.y = vector_velocity[1] * window_height / simulation_plane_height; - } else if (vector_velocity.size() > 0) { - if (vector_velocity[0] < 0.0 or vector_velocity[0] > 1.0) throw std::runtime_error("velocity.x out of range"); - velocity.x = vector_velocity[0] * window_width / simulation_plane_width; } #ifdef DEBUG_PRINT diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index 0dd8c25..b0dfdec 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -105,6 +105,60 @@ extern void displayTimers() #include #endif +class FlagMustBeSet {}; +class FlagMustNotBeSet {}; +class ValueMustBeSet {}; +class ValueMustNotBeSet {}; + +template +struct Checker; + +template <> +struct Checker +{ + void operator()(AnyOption const& opt, std::vector arguments) const { + for (auto const& arg : arguments) + // Error in AnyOption: getter function not const + if (!const_cast(opt).getFlag(arg.c_str())) throw std::runtime_error(arg + " must be set"); + } +}; + +template <> +struct Checker +{ + void operator()(AnyOption const& opt, std::vector arguments) const { + for (auto const& arg : arguments) + // Error in AnyOption: getter function not const + if (const_cast(opt).getFlag(arg.c_str())) throw std::runtime_error(arg + " must not be set"); + } +}; + +template <> +struct Checker +{ + void operator()(AnyOption const& opt, std::vector arguments) const { + for (auto const& arg : arguments) + // Error in AnyOption: getter function not const + if (const_cast(opt).getValue(arg.c_str()) == NULL) throw std::runtime_error(arg + " must be set"); + } +}; + +template <> +struct Checker +{ + void operator()(AnyOption const& opt, std::vector arguments) const { + for (auto const& arg : arguments) + // Error in AnyOption: getter function not const + if (const_cast(opt).getValue(arg.c_str()) != NULL) throw std::runtime_error(arg + " must not be set"); + } +}; + +template +void check_arguments(AnyOption const& opt, std::vector arguments) +{ + return Checker()(opt, arguments); +} + void read_dumbp_file_parallel(vector &bodyPositions, vector &bodyVelocities, vector &bodiesIDs, float eps2, string fileName, int rank, int procs, int &NTotal2, int &NFirst, int &NSecond, int &NThird, octree *tree, int reduce_bodies_factor) { @@ -736,60 +790,67 @@ int main(int argc, char** argv) exit(0); } - if (opt.getFlag("direct")) direct = true; - if (opt.getFlag("restart")) restartSim = true; + if (opt.getFlag("direct")) direct = true; + if (opt.getFlag("restart")) restartSim = true; if (opt.getFlag("displayfps")) displayFPS = true; - if (opt.getFlag("diskmode")) diskmode = true; - if(opt.getFlag("stereo")) stereo = true; - + if (opt.getFlag("diskmode")) diskmode = true; + if (opt.getFlag("stereo")) stereo = true; #if ENABLE_LOG if (opt.getFlag("log")) ENABLE_RUNTIME_LOG = true; if (opt.getFlag("prepend-rank")) PREPEND_RANK = true; #endif char *optarg = NULL; - if ((optarg = opt.getValue("infile"))) fileName = string(optarg); - if ((optarg = opt.getValue("plummer"))) nPlummer = atoi(optarg); - if ((optarg = opt.getValue("milkyway"))) nMilkyWay = atoi(optarg); - if ((optarg = opt.getValue("mwfork"))) nMWfork = atoi(optarg); - if ((optarg = opt.getValue("sphere"))) nSphere = atoi(optarg); - if ((optarg = opt.getValue("logfile"))) logFileName = string(optarg); - if ((optarg = opt.getValue("dev"))) devID = atoi (optarg); + if ((optarg = opt.getValue("infile"))) fileName = string(optarg); + if ((optarg = opt.getValue("plummer"))) nPlummer = atoi(optarg); + if ((optarg = opt.getValue("milkyway"))) nMilkyWay = atoi(optarg); + if ((optarg = opt.getValue("mwfork"))) nMWfork = atoi(optarg); + if ((optarg = opt.getValue("sphere"))) nSphere = atoi(optarg); + if ((optarg = opt.getValue("logfile"))) logFileName = string(optarg); + if ((optarg = opt.getValue("dev"))) devID = atoi(optarg); renderDevID = devID; - if ((optarg = opt.getValue("renderdev"))) renderDevID = atoi (optarg); - if ((optarg = opt.getValue("dt"))) timeStep = (float) atof (optarg); - if ((optarg = opt.getValue("tend"))) tEnd = (float) atof (optarg); - if ((optarg = opt.getValue("iend"))) iterEnd = atoi (optarg); - if ((optarg = opt.getValue("eps"))) eps = (float) atof (optarg); - if ((optarg = opt.getValue("theta"))) theta = (float) atof (optarg); - if ((optarg = opt.getValue("snapname"))) snapshotFile = string(optarg); - if ((optarg = opt.getValue("snapiter"))) snapshotIter = (float) atof (optarg); - if ((optarg = opt.getValue("rmdist"))) remoDistance = (float) atof (optarg); - if ((optarg = opt.getValue("valueadd"))) snapShotAdd = atoi (optarg); - if ((optarg = opt.getValue("rebuild"))) rebuild_tree_rate = atoi (optarg); - if ((optarg = opt.getValue("reducebodies"))) reduce_bodies_factor = atoi (optarg); - if ((optarg = opt.getValue("reducedust"))) reduce_dust_factor = atoi (optarg); - if ((optarg = opt.getValue("war-of-galaxies"))) wogPath = string(optarg); - if ((optarg = opt.getValue("port"))) wogPort = atoi(optarg); - if ((optarg = opt.getValue("camera-distance"))) wogCameraDistance = atof(optarg); + if ((optarg = opt.getValue("renderdev"))) renderDevID = atoi(optarg); + if ((optarg = opt.getValue("dt"))) timeStep = (float)atof(optarg); + if ((optarg = opt.getValue("tend"))) tEnd = (float)atof(optarg); + if ((optarg = opt.getValue("iend"))) iterEnd = atoi(optarg); + if ((optarg = opt.getValue("eps"))) eps = (float)atof(optarg); + if ((optarg = opt.getValue("theta"))) theta = (float)atof(optarg); + if ((optarg = opt.getValue("snapname"))) snapshotFile = string(optarg); + if ((optarg = opt.getValue("snapiter"))) snapshotIter = (float)atof(optarg); + if ((optarg = opt.getValue("rmdist"))) remoDistance = (float)atof(optarg); + if ((optarg = opt.getValue("valueadd"))) snapShotAdd = atoi(optarg); + if ((optarg = opt.getValue("rebuild"))) rebuild_tree_rate = atoi(optarg); + if ((optarg = opt.getValue("reducebodies"))) reduce_bodies_factor = atoi(optarg); + if ((optarg = opt.getValue("reducedust"))) reduce_dust_factor = atoi(optarg); + if ((optarg = opt.getValue("war-of-galaxies"))) wogPath = string(optarg); + if ((optarg = opt.getValue("port"))) wogPort = atoi(optarg); + if ((optarg = opt.getValue("camera-distance"))) wogCameraDistance = atof(optarg); if ((optarg = opt.getValue("del-radius-factor"))) wogDeletionRadiusFactor = atof(optarg); #if USE_OPENGL - if ((optarg = opt.getValue("fullscreen"))) fullScreenMode = string(optarg); - if ((optarg = opt.getValue("Tglow"))) TstartGlow = (float)atof(optarg); - if ((optarg = opt.getValue("dTglow"))) dTstartGlow = (float)atof(optarg); + if ((optarg = opt.getValue("fullscreen"))) fullScreenMode = string(optarg); + if ((optarg = opt.getValue("Tglow"))) TstartGlow = (float)atof(optarg); + if ((optarg = opt.getValue("dTglow"))) dTstartGlow = (float)atof(optarg); dTstartGlow = std::max(dTstartGlow, 1.0f); #endif + if (fileName.empty() && nPlummer == -1 && nSphere == -1 && nMilkyWay == -1) { opt.printUsage(); exit(0); } + /// WarOfGalaxies: Deactivate unneeded flags if WarOfGalaxies path will be used + if (!wogPath.empty()) { + check_arguments(opt, {{"direct", "restart", "displayfps", "diskmode", "stereo", "prepend-rank"}}); + check_arguments(opt, {{"infile"}}); + check_arguments(opt, {{"plummer", "milkyway", "mwfork", "sphere", "dt", "tend", "iend", + "snapname", "snapiter", "valueadd", "rebuild", "reducebodies", "reducedust"}}); + } + #undef ADDUSAGE } #endif /************** end - command line arguments ********/ - int NTotal, NFirst, NSecond, NThird; NTotal = NFirst = NSecond = NThird = 0; From d6ce57be4d82ada3656ab488b51e7ccbdf55b871 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 9 Jun 2016 12:51:17 +0200 Subject: [PATCH 48/78] do not print statistics at WOG mode by default --- runtime/src/renderloop.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 3451d11..103a748 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -343,7 +343,11 @@ class BonsaiDemo m_displayBodiesSec(true), m_cameraRollHome(0.0f), m_cameraRoll(0.0f), +#ifdef WAR_OF_GALAXIES + m_enableStats(false), +#else m_enableStats(true), +#endif m_wogSocketManager(wogPath, wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor) { m_windowDims = make_int2(1024, 768); From 9291a31e4738818ff731db26ed5353b59d910208 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 9 Jun 2016 15:49:54 +0200 Subject: [PATCH 49/78] Only allow bonsai command flags which are needed by WarOfGalaxies --- runtime/src/Galaxy.cpp | 14 +---- runtime/src/main.cpp | 122 +++++++++++++++++++++++------------------ 2 files changed, 70 insertions(+), 66 deletions(-) diff --git a/runtime/src/Galaxy.cpp b/runtime/src/Galaxy.cpp index 38966b9..fd41188 100644 --- a/runtime/src/Galaxy.cpp +++ b/runtime/src/Galaxy.cpp @@ -10,12 +10,7 @@ real4 Galaxy::getCenterOfMass() const { real mass; - real4 result; - result.x = 0.0; - result.y = 0.0; - result.z = 0.0; - result.w = 0.0; - + real4 result = make_real4(0.0, 0.0, 0.0, 0.0); for (auto const& p : pos) { mass = p.w; @@ -33,12 +28,7 @@ real4 Galaxy::getCenterOfMass() const real4 Galaxy::getTotalVelocity() const { - real4 result; - result.x = 0.0; - result.y = 0.0; - result.z = 0.0; - result.w = 0.0; - + real4 result = make_real4(0.0, 0.0, 0.0, 0.0); for (auto const& v : vel) { result.x += v.x; diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index b0dfdec..aa9fd3c 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -105,59 +105,21 @@ extern void displayTimers() #include #endif -class FlagMustBeSet {}; -class FlagMustNotBeSet {}; -class ValueMustBeSet {}; -class ValueMustNotBeSet {}; - -template -struct Checker; - -template <> -struct Checker -{ - void operator()(AnyOption const& opt, std::vector arguments) const { - for (auto const& arg : arguments) - // Error in AnyOption: getter function not const - if (!const_cast(opt).getFlag(arg.c_str())) throw std::runtime_error(arg + " must be set"); - } -}; - -template <> -struct Checker +#ifdef WAR_OF_GALAXIES +void throw_if_flag_is_used(AnyOption const& opt, std::vector arguments) { - void operator()(AnyOption const& opt, std::vector arguments) const { - for (auto const& arg : arguments) - // Error in AnyOption: getter function not const - if (const_cast(opt).getFlag(arg.c_str())) throw std::runtime_error(arg + " must not be set"); - } -}; - -template <> -struct Checker -{ - void operator()(AnyOption const& opt, std::vector arguments) const { - for (auto const& arg : arguments) - // Error in AnyOption: getter function not const - if (const_cast(opt).getValue(arg.c_str()) == NULL) throw std::runtime_error(arg + " must be set"); - } -}; - -template <> -struct Checker -{ - void operator()(AnyOption const& opt, std::vector arguments) const { - for (auto const& arg : arguments) - // Error in AnyOption: getter function not const - if (const_cast(opt).getValue(arg.c_str()) != NULL) throw std::runtime_error(arg + " must not be set"); - } -}; - -template -void check_arguments(AnyOption const& opt, std::vector arguments) + for (auto const& arg : arguments) + // Error in AnyOption: getter function not const + if (const_cast(opt).getFlag(arg.c_str())) throw std::runtime_error(arg + " is not valid in war-of-galaxy mode."); +} + +void throw_if_option_is_used(AnyOption const& opt, std::vector arguments) { - return Checker()(opt, arguments); + for (auto const& arg : arguments) + // Error in AnyOption: getter function not const + if (const_cast(opt).getValue(arg.c_str()) != nullptr) throw std::runtime_error(arg + " is not valid in war-of-galaxy mode."); } +#endif void read_dumbp_file_parallel(vector &bodyPositions, vector &bodyVelocities, vector &bodiesIDs, float eps2, string fileName, int rank, int procs, int &NTotal2, int &NFirst, int &NSecond, int &NThird, octree *tree, int reduce_bodies_factor) @@ -840,10 +802,9 @@ int main(int argc, char** argv) /// WarOfGalaxies: Deactivate unneeded flags if WarOfGalaxies path will be used if (!wogPath.empty()) { - check_arguments(opt, {{"direct", "restart", "displayfps", "diskmode", "stereo", "prepend-rank"}}); - check_arguments(opt, {{"infile"}}); - check_arguments(opt, {{"plummer", "milkyway", "mwfork", "sphere", "dt", "tend", "iend", - "snapname", "snapiter", "valueadd", "rebuild", "reducebodies", "reducedust"}}); + throw_if_flag_is_used(opt, {{"direct", "restart", "displayfps", "diskmode", "stereo", "prepend-rank"}}); + throw_if_option_is_used(opt, {{"plummer", "milkyway", "mwfork", "sphere", "dt", "tend", "iend", + "snapname", "snapiter", "rmdist", "valueadd", "rebuild", "reducebodies", "reducedust"}}); } #undef ADDUSAGE @@ -1050,6 +1011,59 @@ int main(int argc, char** argv) procId, nProcs, NTotal, NFirst, NSecond, NThird, tree, dustPositions, dustVelocities, dustIDs, reduce_bodies_factor, reduce_dust_factor, false); +#ifdef WAR_OF_GALAXIES + std::cout << "WarOfGalaxies: Input file is used as dummy particles." << std::endl; + for (auto & id : bodyIDs) id = id - id % 10 + 9; + + // get center of mass + real mass; + real4 center_of_mass = make_real4(0.0, 0.0, 0.0, 0.0); + + for (auto const& p : bodyPositions) + { + mass = p.w; + center_of_mass.x += mass * p.x; + center_of_mass.y += mass * p.y; + center_of_mass.z += mass * p.z; + center_of_mass.w += mass; + } + + center_of_mass.x /= center_of_mass.w; + center_of_mass.y /= center_of_mass.w; + center_of_mass.z /= center_of_mass.w; + + // get total velocity + real4 total_velocity = make_real4(0.0, 0.0, 0.0, 0.0); + + for (auto const& v : bodyVelocities) + { + total_velocity.x += v.x; + total_velocity.y += v.y; + total_velocity.z += v.z; + } + + total_velocity.x /= bodyVelocities.size(); + total_velocity.y /= bodyVelocities.size(); + total_velocity.z /= bodyVelocities.size(); + + // shift center of mass to position (0,0,10000) + for (auto &p : bodyPositions) + { + p.x -= center_of_mass.x; + p.y -= center_of_mass.y; + p.z -= center_of_mass.z + 10000; + } + + // steady + for (auto &v : bodyVelocities) + { + v.x -= total_velocity.x; + v.y -= total_velocity.y; + v.z -= total_velocity.z; + } + +#endif + // read_generate_cube(bodyPositions, bodyVelocities, bodyIDs, eps, fileName, // procId, nProcs, NTotal, NFirst, NSecond, NThird, tree, // dustPositions, dustVelocities, dustIDs, reduce_bodies_factor, reduce_dust_factor); From d65f9e61215822e47a08a2a5a761edaf9e98c772 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 14 Jun 2016 16:18:47 +0200 Subject: [PATCH 50/78] use thrust for removing particles --- eclipse/Bonsai release war-of-galaxies.launch | 2 +- eclipse/cmake release gnu.launch | 2 +- runtime/CUDAkernels/timestep.cu | 4 ---- runtime/CUDAkernels/war_of_galaxies.cu | 22 +++++++++++++++++++ runtime/include/WOGSocketManager.h | 15 ++++++++----- runtime/src/WOGSocketManager.cpp | 14 ++++++------ runtime/src/renderloop.cpp | 8 +++---- 7 files changed, 45 insertions(+), 22 deletions(-) create mode 100644 runtime/CUDAkernels/war_of_galaxies.cu diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 13367c0..03233e3 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/cmake release gnu.launch b/eclipse/cmake release gnu.launch index 8d440f7..43a32d2 100644 --- a/eclipse/cmake release gnu.launch +++ b/eclipse/cmake release gnu.launch @@ -2,6 +2,6 @@ - + diff --git a/runtime/CUDAkernels/timestep.cu b/runtime/CUDAkernels/timestep.cu index b0559f4..59394bb 100644 --- a/runtime/CUDAkernels/timestep.cu +++ b/runtime/CUDAkernels/timestep.cu @@ -455,7 +455,6 @@ static __device__ void compute_energy_doubleD(const int n_bodies, } - //Reduce function to get the energy of the system KERNEL_DECLARE(compute_energy_double)(const int n_bodies, real4 *pos, @@ -465,6 +464,3 @@ KERNEL_DECLARE(compute_energy_double)(const int n_bodies, extern __shared__ double shDDataKin[]; compute_energy_doubleD(n_bodies, pos, vel, acc, energy, shDDataKin); } - - - diff --git a/runtime/CUDAkernels/war_of_galaxies.cu b/runtime/CUDAkernels/war_of_galaxies.cu new file mode 100644 index 0000000..65fe900 --- /dev/null +++ b/runtime/CUDAkernels/war_of_galaxies.cu @@ -0,0 +1,22 @@ +/* + * war_of_galaxies.cu + * + * Created on: Jun 14, 2016 + * Author: Bernd Doser + */ + +#include +#include + +// Remove particles behind visualization sphere +extern "C" void remove_particles(const int n_bodies, + my_dev::dev_mem &pos, + my_dev::dev_mem &vel, + my_dev::dev_mem &acc) +{ + thrust::device_ptr thrust_pos = thrust::device_pointer_cast(pos.raw_p()); + thrust::device_ptr thrust_vel = thrust::device_pointer_cast(vel.raw_p()); + thrust::device_ptr thrust_acc = thrust::device_pointer_cast(acc.raw_p()); + + //thrust::remove_if(); +} diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGSocketManager.h index dbb5f42..d16f322 100644 --- a/runtime/include/WOGSocketManager.h +++ b/runtime/include/WOGSocketManager.h @@ -28,17 +28,22 @@ struct sockaddr_in; -/// Control interconnection via UNIX socket -class WOGSocketManager +/** + * War of Galaxies (WOG) + * - Store galaxy type which can be released + * - Control interconnection via UNIX socket + * - Add and remove particles to running simulation + */ +class WOGManager { public: /// Constructor opening sockets and reading input galaxies - WOGSocketManager(std::string const& path, int port, int window_width, int window_height, real fovy, + WOGManager(std::string const& path, int port, int window_width, int window_height, real fovy, real farZ, real camera_distance, real deletion_radius_factor); /// Constructor closing the sockets - ~WOGSocketManager(); + ~WOGManager(); /// Execute a client request void execute(octree *tree); @@ -55,7 +60,7 @@ class WOGSocketManager void remove_particles(octree *tree); /// Execute a client request - jsoncons::json execute_json(octree *tree, std::string buffer); + jsoncons::json execute_json(octree *tree, std::string const& buffer); int server_socket; diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGSocketManager.cpp index 4445df5..24fd5ba 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGSocketManager.cpp @@ -12,7 +12,7 @@ using jsoncons::json; #define DEBUG_PRINT -WOGSocketManager::WOGSocketManager(std::string const& path, int port, int window_width, int window_height, real fovy, +WOGManager::WOGManager(std::string const& path, int port, int window_width, int window_height, real fovy, real farZ, real camera_distance, real deletion_radius_factor) : user_particles{{0, 0, 0, 0}}, window_width(window_width), @@ -63,13 +63,13 @@ WOGSocketManager::WOGSocketManager(std::string const& path, int port, int window fcntl(client_socket, F_SETFL, O_NONBLOCK); } -WOGSocketManager::~WOGSocketManager() +WOGManager::~WOGManager() { close(client_socket); close(server_socket); } -void WOGSocketManager::read_galaxies(std::string const& path) +void WOGManager::read_galaxies(std::string const& path) { for (int i = 0;; ++i) { @@ -104,7 +104,7 @@ void WOGSocketManager::read_galaxies(std::string const& path) } } -void WOGSocketManager::execute(octree *tree) +void WOGManager::execute(octree *tree) { // Remove particles remove_particles(tree); @@ -135,7 +135,7 @@ void WOGSocketManager::execute(octree *tree) if (send(client_socket, json_response_string.c_str(), json_response_string.size(), 0) == -1) perror("send"); } -void WOGSocketManager::reshape(int width, int height) +void WOGManager::reshape(int width, int height) { window_width = width; window_height = height; @@ -162,12 +162,12 @@ void WOGSocketManager::reshape(int width, int height) #endif } -void WOGSocketManager::remove_particles(octree *tree) +void WOGManager::remove_particles(octree *tree) { tree->removeParticles(deletion_radius_square, user_particles); } -json WOGSocketManager::execute_json(octree *tree, std::string json_request_string) +json WOGManager::execute_json(octree *tree, std::string const& json_request_string) { json json_response; diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 103a748..0ae282d 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -348,7 +348,7 @@ class BonsaiDemo #else m_enableStats(true), #endif - m_wogSocketManager(wogPath, wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor) + m_wogManager(wogPath, wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor) { m_windowDims = make_int2(1024, 768); m_cameraTrans = make_float3(0, -2, -100); @@ -1096,7 +1096,7 @@ class BonsaiDemo m_renderer.setFOV(m_fov); m_renderer.setWindowSize(m_windowDims.x, m_windowDims.y); - m_wogSocketManager.reshape(w, h); + m_wogManager.reshape(w, h); fitCamera(); glMatrixMode(GL_MODELVIEW); @@ -1487,7 +1487,7 @@ class BonsaiDemo ParamListGL *m_params; // current /// Managing class for WarOfGalaxies - WOGSocketManager m_wogSocketManager; + WOGManager m_wogManager; // saved cameras struct Camera { @@ -1816,7 +1816,7 @@ void special(int key, int x, int y) void idle(void) { - theDemo->m_wogSocketManager.execute(theDemo->m_tree); + theDemo->m_wogManager.execute(theDemo->m_tree); glutPostRedisplay(); } From ebbfa5ea691c7d6a5e539bf706e24dc9e9bb8918 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Wed, 15 Jun 2016 11:56:47 +0200 Subject: [PATCH 51/78] add missing include --- runtime/src/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index aa9fd3c..1d904d7 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -106,6 +106,7 @@ extern void displayTimers() #endif #ifdef WAR_OF_GALAXIES +#include void throw_if_flag_is_used(AnyOption const& opt, std::vector arguments) { for (auto const& arg : arguments) From 8155bdd897092bc8ed2c61111a474f94a4cf3ef8 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Wed, 15 Jun 2016 17:13:24 +0200 Subject: [PATCH 52/78] enable thrust, Listening socket with SO_REUSEADDR --- .cproject | 32 +++++++++++++++++++ ...nsai release thrust war-of-galaxies.launch | 32 +++++++++++++++++++ eclipse/cmake release gnu thrust.launch | 7 ++++ runtime/CMakeLists.txt | 3 +- runtime/CUDAkernels/war_of_galaxies.cu | 5 +++ .../{WOGSocketManager.h => WOGManager.h} | 0 runtime/include/thrust_war_of_galaxies.h | 17 ++++++++++ .../{WOGSocketManager.cpp => WOGManager.cpp} | 8 ++++- runtime/src/gpu_iterate.cpp | 12 ++++++- runtime/src/renderloop.cpp | 2 +- 10 files changed, 114 insertions(+), 4 deletions(-) create mode 100644 eclipse/Bonsai release thrust war-of-galaxies.launch create mode 100644 eclipse/cmake release gnu thrust.launch rename runtime/include/{WOGSocketManager.h => WOGManager.h} (100%) create mode 100644 runtime/include/thrust_war_of_galaxies.h rename runtime/src/{WOGSocketManager.cpp => WOGManager.cpp} (97%) diff --git a/.cproject b/.cproject index 502aa6c..fce2a9f 100644 --- a/.cproject +++ b/.cproject @@ -91,6 +91,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -104,7 +134,9 @@ + + diff --git a/eclipse/Bonsai release thrust war-of-galaxies.launch b/eclipse/Bonsai release thrust war-of-galaxies.launch new file mode 100644 index 0000000..33aa7c1 --- /dev/null +++ b/eclipse/Bonsai release thrust war-of-galaxies.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/cmake release gnu thrust.launch b/eclipse/cmake release gnu thrust.launch new file mode 100644 index 0000000..13f2bbc --- /dev/null +++ b/eclipse/cmake release gnu thrust.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 1977ceb..f6b089c 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -105,7 +105,7 @@ set (CCFILES src/hostConstruction.cpp src/Galaxy.cpp src/FileIO.cpp - src/WOGSocketManager.cpp + src/WOGManager.cpp ) set (HFILES @@ -128,6 +128,7 @@ set (CUFILES CUDAkernels/timestep.cu CUDAkernels/depthSort.cu CUDAkernels/dev_direct_gravity.cu + CUDAkernels/war_of_galaxies.cu ) if (COMPILE_SM30) diff --git a/runtime/CUDAkernels/war_of_galaxies.cu b/runtime/CUDAkernels/war_of_galaxies.cu index 65fe900..c863ba8 100644 --- a/runtime/CUDAkernels/war_of_galaxies.cu +++ b/runtime/CUDAkernels/war_of_galaxies.cu @@ -5,6 +5,9 @@ * Author: Bernd Doser */ +#ifdef USE_THRUST + +#include "bonsai.h" #include #include @@ -20,3 +23,5 @@ extern "C" void remove_particles(const int n_bodies, //thrust::remove_if(); } + +#endif diff --git a/runtime/include/WOGSocketManager.h b/runtime/include/WOGManager.h similarity index 100% rename from runtime/include/WOGSocketManager.h rename to runtime/include/WOGManager.h diff --git a/runtime/include/thrust_war_of_galaxies.h b/runtime/include/thrust_war_of_galaxies.h new file mode 100644 index 0000000..1a1031f --- /dev/null +++ b/runtime/include/thrust_war_of_galaxies.h @@ -0,0 +1,17 @@ +/* + * thrust_war_of_galaxies.h + * + * Created on: Jun 15, 2016 + * Author: Bernd Doser + */ + +#ifndef THRUST_WAR_OF_GALAXIES_H_ +#define THRUST_WAR_OF_GALAXIES_H_ + +/// Remove particles behind visualization sphere +extern "C" void remove_particles(const int n_bodies, + my_dev::dev_mem &pos, + my_dev::dev_mem &vel, + my_dev::dev_mem &acc); + +#endif /* THRUST_WAR_OF_GALAXIES_H_ */ diff --git a/runtime/src/WOGSocketManager.cpp b/runtime/src/WOGManager.cpp similarity index 97% rename from runtime/src/WOGSocketManager.cpp rename to runtime/src/WOGManager.cpp index 24fd5ba..67223ce 100644 --- a/runtime/src/WOGSocketManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -6,7 +6,7 @@ */ #include "FileIO.h" -#include "WOGSocketManager.h" +#include "WOGManager.h" using jsoncons::json; @@ -34,6 +34,12 @@ WOGManager::WOGManager(std::string const& path, int port, int window_width, int throw std::runtime_error("socket error"); } + int enable = 1; + if (setsockopt(server_socket, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int)) < 0) { + perror("setsockopt"); + throw std::runtime_error("setsockopt(SO_REUSEADDR) failed"); + } + sockaddr_in serverAddr; serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(port); diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index c782ea8..cc214ac 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -1,5 +1,6 @@ #include "octree.h" -#include "postProcessModules.h" +#include "postProcessModules.h" +#include "thrust_war_of_galaxies.h" #include #include @@ -533,6 +534,13 @@ void octree::removeGalaxy(int user_id) void octree::removeParticles(real deletion_radius_square, std::vector &user_particles) { +#ifdef USE_THRUST + + remove_particles(this->localTree.n, this->localTree.bodies_pos, + this->localTree.bodies_vel, this->localTree.bodies_acc0); + +#else + // Get particle data back to the host so we can add our new data this->localTree.bodies_pos.d2h(); this->localTree.bodies_vel.d2h(); @@ -590,6 +598,8 @@ void octree::removeParticles(real deletion_radius_square, std::vector &user this->localTree.bodies_Pvel.copy(this->localTree.bodies_pos, localTree.n); resetEnergy(); + +#endif } // returns true if this iteration is the last (t_current >= t_end), false otherwise diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 0ae282d..6dcf0b6 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -30,7 +30,7 @@ #include "paramgl.h" #include "depthSort.h" #include "tr.h" -#include "WOGSocketManager.h" +#include "WOGManager.h" float TstartGlow; float dTstartGlow; From 5edbc007e730ed685ca3b8201f5d2abc3e0a7fce Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 17 Jun 2016 14:59:23 +0200 Subject: [PATCH 53/78] use thrust to continuously remove particles outside sphere --- .cproject | 32 ++++++++++ ...i host debug thrust war-of-galaxies.launch | 32 ++++++++++ ...nsai release thrust war-of-galaxies.launch | 4 +- eclipse/cmake host debug gnu thrust.launch | 7 +++ runtime/CUDAkernels/war_of_galaxies.cu | 50 ++++++++++++--- runtime/include/thrust_war_of_galaxies.h | 8 +-- runtime/src/WOGManager.cpp | 62 +++++++++---------- runtime/src/gpu_iterate.cpp | 10 +-- 8 files changed, 154 insertions(+), 51 deletions(-) create mode 100644 eclipse/Bonsai host debug thrust war-of-galaxies.launch create mode 100644 eclipse/cmake host debug gnu thrust.launch diff --git a/.cproject b/.cproject index fce2a9f..5d73058 100644 --- a/.cproject +++ b/.cproject @@ -121,6 +121,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -134,7 +164,9 @@ + + diff --git a/eclipse/Bonsai host debug thrust war-of-galaxies.launch b/eclipse/Bonsai host debug thrust war-of-galaxies.launch new file mode 100644 index 0000000..1e56db2 --- /dev/null +++ b/eclipse/Bonsai host debug thrust war-of-galaxies.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/Bonsai release thrust war-of-galaxies.launch b/eclipse/Bonsai release thrust war-of-galaxies.launch index 33aa7c1..29a9943 100644 --- a/eclipse/Bonsai release thrust war-of-galaxies.launch +++ b/eclipse/Bonsai release thrust war-of-galaxies.launch @@ -16,11 +16,11 @@ - + - + diff --git a/eclipse/cmake host debug gnu thrust.launch b/eclipse/cmake host debug gnu thrust.launch new file mode 100644 index 0000000..cfc211e --- /dev/null +++ b/eclipse/cmake host debug gnu thrust.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/runtime/CUDAkernels/war_of_galaxies.cu b/runtime/CUDAkernels/war_of_galaxies.cu index c863ba8..e3163c9 100644 --- a/runtime/CUDAkernels/war_of_galaxies.cu +++ b/runtime/CUDAkernels/war_of_galaxies.cu @@ -8,20 +8,50 @@ #ifdef USE_THRUST #include "bonsai.h" -#include +#include "thrust_war_of_galaxies.h" +#include #include +#include + +/// Functor return true if position is out of sphere +struct OutOfSphereChecker +{ + OutOfSphereChecker(real deletion_radius_square, std::vector &user_particles) + : deletion_radius_square(deletion_radius_square), user_particles(user_particles) + {} -// Remove particles behind visualization sphere -extern "C" void remove_particles(const int n_bodies, - my_dev::dev_mem &pos, - my_dev::dev_mem &vel, - my_dev::dev_mem &acc) + __host__ __device__ + bool operator()(thrust::tuple const& t) const + { + real4 position = thrust::get<0>(t); + bool result = position.x * position.x + position.y * position.y + position.z * position.z > deletion_radius_square + and thrust::get<2>(t) % 10 != 9; + if (result) --user_particles[thrust::get<2>(t) % 10]; + return result; + } + + real deletion_radius_square; + + std::vector &user_particles; +}; + +// Remove particles out of sphere +extern "C" void remove_particles(tree_structure &tree, + real deletion_radius_square, std::vector &user_particles) { - thrust::device_ptr thrust_pos = thrust::device_pointer_cast(pos.raw_p()); - thrust::device_ptr thrust_vel = thrust::device_pointer_cast(vel.raw_p()); - thrust::device_ptr thrust_acc = thrust::device_pointer_cast(acc.raw_p()); + thrust::device_ptr thrust_pos = thrust::device_pointer_cast(tree.bodies_pos.raw_p()); + thrust::device_ptr thrust_vel = thrust::device_pointer_cast(tree.bodies_vel.raw_p()); + thrust::device_ptr thrust_ids = thrust::device_pointer_cast(tree.bodies_ids.raw_p()); + + // auto is not working, compiler assume int + thrust::zip_iterator, thrust::device_ptr, thrust::device_ptr > > + new_end = thrust::remove_if(thrust::device, thrust::make_zip_iterator(thrust::make_tuple(thrust_pos, thrust_vel, thrust_ids)), + thrust::make_zip_iterator(thrust::make_tuple(thrust_pos + tree.n, thrust_vel + tree.n, thrust_ids + tree.n)), + OutOfSphereChecker(deletion_radius_square, user_particles)); - //thrust::remove_if(); + int new_nb_of_particles = thrust::get<0>(new_end.get_iterator_tuple()) - thrust_pos; + std::cout << "new_nb_of_particles = " << new_nb_of_particles << std::endl; + tree.n = new_nb_of_particles; } #endif diff --git a/runtime/include/thrust_war_of_galaxies.h b/runtime/include/thrust_war_of_galaxies.h index 1a1031f..ffd959d 100644 --- a/runtime/include/thrust_war_of_galaxies.h +++ b/runtime/include/thrust_war_of_galaxies.h @@ -8,10 +8,10 @@ #ifndef THRUST_WAR_OF_GALAXIES_H_ #define THRUST_WAR_OF_GALAXIES_H_ +#include + /// Remove particles behind visualization sphere -extern "C" void remove_particles(const int n_bodies, - my_dev::dev_mem &pos, - my_dev::dev_mem &vel, - my_dev::dev_mem &acc); +extern "C" void remove_particles(tree_structure &tree, + real deletion_radius_square, std::vector &user_particles); #endif /* THRUST_WAR_OF_GALAXIES_H_ */ diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index 67223ce..49b36bf 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -77,37 +77,37 @@ WOGManager::~WOGManager() void WOGManager::read_galaxies(std::string const& path) { - for (int i = 0;; ++i) - { - std::string filename = path + "/galaxy_type_" + std::to_string(i) + ".tipsy"; - if (access(filename.c_str(), F_OK) == -1) break; - std::cout << "Read file " << filename << " into GalaxyStore." << std::endl; - - Galaxy galaxy; - int Total2 = 0; - int NFirst = 0; - int NSecond = 0; - int NThird = 0; - - read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, - 0.0, filename.c_str(), 0, 1, Total2, NFirst, NSecond, NThird, nullptr, - galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); - - real4 cm = galaxy.getCenterOfMass(); - std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; - real4 tv = galaxy.getTotalVelocity(); - std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; - - galaxy.centering(); - galaxy.steady(); - - cm = galaxy.getCenterOfMass(); - std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; - tv = galaxy.getTotalVelocity(); - std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; - - galaxies.push_back(galaxy); - } + for (int i = 0;; ++i) + { + std::string filename = path + "/galaxy_type_" + std::to_string(i) + ".tipsy"; + if (access(filename.c_str(), F_OK) == -1) break; + std::cout << "Read file " << filename << " into GalaxyStore." << std::endl; + + Galaxy galaxy; + int Total2 = 0; + int NFirst = 0; + int NSecond = 0; + int NThird = 0; + + read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, + 0.0, filename.c_str(), 0, 1, Total2, NFirst, NSecond, NThird, nullptr, + galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); + + real4 cm = galaxy.getCenterOfMass(); + std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; + real4 tv = galaxy.getTotalVelocity(); + std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; + + galaxy.centering(); + galaxy.steady(); + + cm = galaxy.getCenterOfMass(); + std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; + tv = galaxy.getTotalVelocity(); + std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; + + galaxies.push_back(galaxy); + } } void WOGManager::execute(octree *tree) diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index cc214ac..9c8b822 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -536,8 +536,10 @@ void octree::removeParticles(real deletion_radius_square, std::vector &user { #ifdef USE_THRUST - remove_particles(this->localTree.n, this->localTree.bodies_pos, - this->localTree.bodies_vel, this->localTree.bodies_acc0); + remove_particles(this->localTree, deletion_radius_square, user_particles); + + // Resize preserves original data + this->reallocateParticleMemory(this->localTree); #else @@ -597,9 +599,9 @@ void octree::removeParticles(real deletion_radius_square, std::vector &user this->localTree.bodies_Ppos.copy(this->localTree.bodies_pos, localTree.n); this->localTree.bodies_Pvel.copy(this->localTree.bodies_pos, localTree.n); - resetEnergy(); - #endif + + resetEnergy(); } // returns true if this iteration is the last (t_current >= t_end), false otherwise From 662decac56d0a551cad486b5ef5697f335ebcccc Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 23 Aug 2016 12:13:17 +0200 Subject: [PATCH 54/78] #680: set fullscreen without using game mode --- .../Bonsai host debug war-of-galaxies.launch | 2 +- eclipse/Bonsai release war-of-galaxies.launch | 2 +- runtime/include/renderloop.h | 3 ++- runtime/src/main.cpp | 24 ++++++++++++------- runtime/src/renderloop.cpp | 12 ++++++---- 5 files changed, 27 insertions(+), 16 deletions(-) diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch index 200d377..911d2fb 100644 --- a/eclipse/Bonsai host debug war-of-galaxies.launch +++ b/eclipse/Bonsai host debug war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 03233e3..029aab1 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/runtime/include/renderloop.h b/runtime/include/renderloop.h index baae4d1..fb8f08f 100644 --- a/runtime/include/renderloop.h +++ b/runtime/include/renderloop.h @@ -6,7 +6,8 @@ extern float TstartGlow; extern float dTstartGlow; -void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo); +void initGL(int argc, char** argv, const char *gameModeString, bool &stereo, bool fullscreen); + void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, bool showFPS, bool stereo, std::string const& wogPath, int wogPort, diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index 1d904d7..e367acf 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -609,9 +609,9 @@ int main(int argc, char** argv) int rebuild_tree_rate = 2; int reduce_bodies_factor = 1; int reduce_dust_factor = 1; - string fullScreenMode = ""; - bool direct = false; + string gameModeString = ""; bool fullscreen = false; + bool direct = false; bool displayFPS = false; bool diskmode = false; bool stereo = false; @@ -673,7 +673,8 @@ int main(int argc, char** argv) #endif ADDUSAGE(" --direct enable N^2 direct gravitation [" << (direct ? "on" : "off") << "]"); #ifdef USE_OPENGL - ADDUSAGE(" --fullscreen # set fullscreen mode string"); + ADDUSAGE(" --fullscreen set fullscreen"); + ADDUSAGE(" --gameMode # set game mode string"); ADDUSAGE(" --displayfps enable on-screen FPS display"); ADDUSAGE(" --Tglow # enable glow @ # Myr [" << TstartGlow << "]"); ADDUSAGE(" --dTglow # reach full brightness in @ # Myr [" << dTstartGlow << "]"); @@ -728,9 +729,10 @@ int main(int argc, char** argv) #endif opt.setFlag("direct"); #ifdef USE_OPENGL - opt.setOption( "fullscreen"); - opt.setOption( "Tglow"); - opt.setOption( "dTglow"); + opt.setFlag("fullscreen"); + opt.setOption("gameMode"); + opt.setOption("Tglow"); + opt.setOption("dTglow"); opt.setFlag("displayfps"); opt.setFlag("stereo"); #endif @@ -762,6 +764,10 @@ int main(int argc, char** argv) if (opt.getFlag("log")) ENABLE_RUNTIME_LOG = true; if (opt.getFlag("prepend-rank")) PREPEND_RANK = true; #endif +#if USE_OPENGL + if (opt.getFlag("fullscreen")) fullscreen = true; +#endif + char *optarg = NULL; if ((optarg = opt.getValue("infile"))) fileName = string(optarg); if ((optarg = opt.getValue("plummer"))) nPlummer = atoi(optarg); @@ -789,7 +795,7 @@ int main(int argc, char** argv) if ((optarg = opt.getValue("camera-distance"))) wogCameraDistance = atof(optarg); if ((optarg = opt.getValue("del-radius-factor"))) wogDeletionRadiusFactor = atof(optarg); #if USE_OPENGL - if ((optarg = opt.getValue("fullscreen"))) fullScreenMode = string(optarg); + if ((optarg = opt.getValue("gameMode"))) gameModeString = string(optarg); if ((optarg = opt.getValue("Tglow"))) TstartGlow = (float)atof(optarg); if ((optarg = opt.getValue("dTglow"))) dTstartGlow = (float)atof(optarg); dTstartGlow = std::max(dTstartGlow, 1.0f); @@ -805,7 +811,7 @@ int main(int argc, char** argv) if (!wogPath.empty()) { throw_if_flag_is_used(opt, {{"direct", "restart", "displayfps", "diskmode", "stereo", "prepend-rank"}}); throw_if_option_is_used(opt, {{"plummer", "milkyway", "mwfork", "sphere", "dt", "tend", "iend", - "snapname", "snapiter", "rmdist", "valueadd", "rebuild", "reducebodies", "reducedust"}}); + "snapname", "snapiter", "rmdist", "valueadd", "rebuild", "reducebodies", "reducedust", "gameMode"}}); } #undef ADDUSAGE @@ -818,7 +824,7 @@ int main(int argc, char** argv) #ifdef USE_OPENGL // create OpenGL context first, and register for interop - initGL(argc, argv, fullScreenMode.c_str(), stereo); + initGL(argc, argv, gameModeString.c_str(), stereo, fullscreen); cudaGLSetGLDevice(devID); #endif diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 6dcf0b6..76a3743 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1820,7 +1820,7 @@ void idle(void) glutPostRedisplay(); } -void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) +void initGL(int argc, char** argv, const char *gameMode, bool &stereo, bool fullscreen) { // First initialize OpenGL context, so we can properly set the GL for CUDA. // This is necessary in order to achieve optimal performance with OpenGL/CUDA interop. @@ -1833,9 +1833,9 @@ void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) else glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE); - if (fullScreenMode[0]) { - printf("fullScreenMode: %s\n", fullScreenMode); - glutGameModeString(fullScreenMode); + if (gameMode[0]) { + printf("gameMode: %s\n", gameMode); + glutGameModeString(gameMode); if (glutGameModeGet(GLUT_GAME_MODE_POSSIBLE)) { int win = glutEnterGameMode(); } else { @@ -1845,6 +1845,10 @@ void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) } else { glutInitWindowSize(1024, 768); glutCreateWindow("Bonsai Tree-code Gravitational N-body Simulation"); + if (fullscreen) { + glutFullScreen(); + glutDisplayFunc(display); + } } //Make sure we got stereo if we asked for it, this must happen after glutCreateWindow From e1ff3ff2bf108f433f80c0e04c299e34baebcd7d Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 25 Aug 2016 10:07:18 +0200 Subject: [PATCH 55/78] #677: non-blocking client socket --- .../Bonsai host debug war-of-galaxies.launch | 2 +- eclipse/Bonsai release war-of-galaxies.launch | 2 +- runtime/src/WOGManager.cpp | 34 +++++++++++++------ 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch index 911d2fb..3ae1c58 100644 --- a/eclipse/Bonsai host debug war-of-galaxies.launch +++ b/eclipse/Bonsai host debug war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch index 029aab1..03233e3 100644 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ b/eclipse/Bonsai release war-of-galaxies.launch @@ -16,7 +16,7 @@ - + diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index 49b36bf..c102789 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -14,7 +14,9 @@ using jsoncons::json; WOGManager::WOGManager(std::string const& path, int port, int window_width, int window_height, real fovy, real farZ, real camera_distance, real deletion_radius_factor) - : user_particles{{0, 0, 0, 0}}, + : server_socket(-1), + client_socket(-1), + user_particles{{0, 0, 0, 0}}, window_width(window_width), window_height(window_height), fovy(fovy), @@ -58,15 +60,10 @@ WOGManager::WOGManager(std::string const& path, int port, int window_width, int throw std::runtime_error("listen error"); } - sockaddr_in clientAddr; - socklen_t sin_size = sizeof(struct sockaddr_in); - client_socket = accept(server_socket, (struct sockaddr*)&clientAddr, &sin_size); - if (client_socket == -1) { - perror("accept"); - throw std::runtime_error("accept error"); - } - - fcntl(client_socket, F_SETFL, O_NONBLOCK); + // Set server_socket to non-blocking + long save_fd = fcntl(server_socket, F_GETFL); + save_fd |= O_NONBLOCK; + fcntl(server_socket, F_SETFL, save_fd); } WOGManager::~WOGManager() @@ -115,6 +112,23 @@ void WOGManager::execute(octree *tree) // Remove particles remove_particles(tree); + // Check for a client + sockaddr_in clientAddr; + socklen_t sin_size = sizeof(struct sockaddr_in); + int new_client_socket = accept(server_socket, (struct sockaddr*)&clientAddr, &sin_size); + if (new_client_socket > 0) { + close(client_socket); + client_socket = new_client_socket; + } + + // Return if no client is + if (client_socket == -1) return; + + // Set client_socket to non-blocking + long save_fd = fcntl(client_socket, F_GETFL); + save_fd |= O_NONBLOCK; + fcntl(client_socket, F_SETFL, save_fd); + // Check for user request char buffer[buffer_size]; int n = recv(client_socket, buffer, buffer_size, 0); From 9bd2ef2e91fbeca4f9d1dc17a9134a6197653dcc Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 29 Aug 2016 12:15:21 +0200 Subject: [PATCH 56/78] catch thrust::remove_if, remove inclusion of thrust, thrust is integrated in newer CUDA versions --- ...onsai release war-of-galaxies dummy.launch | 32 +++++++++++++++++++ runtime/CMakeLists.txt | 2 +- runtime/CUDAkernels/war_of_galaxies.cu | 25 +++++++++------ runtime/src/WOGManager.cpp | 2 +- 4 files changed, 50 insertions(+), 11 deletions(-) create mode 100644 eclipse/Bonsai release war-of-galaxies dummy.launch diff --git a/eclipse/Bonsai release war-of-galaxies dummy.launch b/eclipse/Bonsai release war-of-galaxies dummy.launch new file mode 100644 index 0000000..13367c0 --- /dev/null +++ b/eclipse/Bonsai release war-of-galaxies dummy.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index f6b089c..9c8dd4a 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -71,8 +71,8 @@ endif (USE_MPI) if (USE_THRUST) add_definitions(-DUSE_THRUST) +# include_directories(${CUDA_TOOLKIT_ROOT_DIR}/../../thrust) endif (USE_THRUST) -include_directories(${CUDA_TOOLKIT_ROOT_DIR}/../../thrust) if (USE_B40C) add_definitions(-DUSE_B40C) diff --git a/runtime/CUDAkernels/war_of_galaxies.cu b/runtime/CUDAkernels/war_of_galaxies.cu index e3163c9..7ed1309 100644 --- a/runtime/CUDAkernels/war_of_galaxies.cu +++ b/runtime/CUDAkernels/war_of_galaxies.cu @@ -43,15 +43,22 @@ extern "C" void remove_particles(tree_structure &tree, thrust::device_ptr thrust_vel = thrust::device_pointer_cast(tree.bodies_vel.raw_p()); thrust::device_ptr thrust_ids = thrust::device_pointer_cast(tree.bodies_ids.raw_p()); - // auto is not working, compiler assume int - thrust::zip_iterator, thrust::device_ptr, thrust::device_ptr > > - new_end = thrust::remove_if(thrust::device, thrust::make_zip_iterator(thrust::make_tuple(thrust_pos, thrust_vel, thrust_ids)), - thrust::make_zip_iterator(thrust::make_tuple(thrust_pos + tree.n, thrust_vel + tree.n, thrust_ids + tree.n)), - OutOfSphereChecker(deletion_radius_square, user_particles)); - - int new_nb_of_particles = thrust::get<0>(new_end.get_iterator_tuple()) - thrust_pos; - std::cout << "new_nb_of_particles = " << new_nb_of_particles << std::endl; - tree.n = new_nb_of_particles; + try { + // auto is not working, compiler assume int + thrust::zip_iterator, thrust::device_ptr, thrust::device_ptr > > + new_end = thrust::remove_if(thrust::device, thrust::make_zip_iterator(thrust::make_tuple(thrust_pos, thrust_vel, thrust_ids)), + thrust::make_zip_iterator(thrust::make_tuple(thrust_pos + tree.n, thrust_vel + tree.n, thrust_ids + tree.n)), + OutOfSphereChecker(deletion_radius_square, user_particles)); + + int new_nb_of_particles = thrust::get<0>(new_end.get_iterator_tuple()) - thrust_pos; + std::cout << "new_nb_of_particles = " << new_nb_of_particles << std::endl; + tree.n = new_nb_of_particles; + } + catch(thrust::system_error &e) + { + std::cerr << "Error accessing vector element: " << e.what() << std::endl; + exit(-1); + } } #endif diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index c102789..5276dee 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -121,7 +121,7 @@ void WOGManager::execute(octree *tree) client_socket = new_client_socket; } - // Return if no client is + // Return if no client is connected if (client_socket == -1) return; // Set client_socket to non-blocking From 1909f61824397981e0b1b61baaffbb5480d7cdb5 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 29 Aug 2016 12:20:22 +0200 Subject: [PATCH 57/78] switch on thrust debugging --- eclipse/Bonsai release thrust war-of-galaxies.launch | 2 +- runtime/CMakeLists.txt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/eclipse/Bonsai release thrust war-of-galaxies.launch b/eclipse/Bonsai release thrust war-of-galaxies.launch index 29a9943..1c71709 100644 --- a/eclipse/Bonsai release thrust war-of-galaxies.launch +++ b/eclipse/Bonsai release thrust war-of-galaxies.launch @@ -20,7 +20,7 @@ - + diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 9c8dd4a..d963511 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -71,6 +71,7 @@ endif (USE_MPI) if (USE_THRUST) add_definitions(-DUSE_THRUST) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DTHRUST_DEBUG") # include_directories(${CUDA_TOOLKIT_ROOT_DIR}/../../thrust) endif (USE_THRUST) From c2b15674543cfe917b415197c0514c20fca6a8c6 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 30 Aug 2016 12:11:59 +0200 Subject: [PATCH 58/78] debug thrust::remove_if --- .cproject | 30 ++++++++++++++++ eclipse/cmake device debug gnu thrust.launch | 7 ++++ runtime/CUDAkernels/war_of_galaxies.cu | 37 ++++++++++++-------- runtime/include/WOGManager.h | 2 +- runtime/include/octree.h | 2 +- runtime/include/thrust_war_of_galaxies.h | 2 +- runtime/src/WOGManager.cpp | 2 +- runtime/src/gpu_iterate.cpp | 2 +- 8 files changed, 64 insertions(+), 20 deletions(-) create mode 100644 eclipse/cmake device debug gnu thrust.launch diff --git a/.cproject b/.cproject index 5d73058..2fb9064 100644 --- a/.cproject +++ b/.cproject @@ -151,6 +151,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/cmake device debug gnu thrust.launch b/eclipse/cmake device debug gnu thrust.launch new file mode 100644 index 0000000..766d119 --- /dev/null +++ b/eclipse/cmake device debug gnu thrust.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/runtime/CUDAkernels/war_of_galaxies.cu b/runtime/CUDAkernels/war_of_galaxies.cu index 7ed1309..64104f4 100644 --- a/runtime/CUDAkernels/war_of_galaxies.cu +++ b/runtime/CUDAkernels/war_of_galaxies.cu @@ -11,48 +11,55 @@ #include "thrust_war_of_galaxies.h" #include #include +#include #include /// Functor return true if position is out of sphere struct OutOfSphereChecker { - OutOfSphereChecker(real deletion_radius_square, std::vector &user_particles) + OutOfSphereChecker(real deletion_radius_square, thrust::device_ptr user_particles) : deletion_radius_square(deletion_radius_square), user_particles(user_particles) {} - __host__ __device__ + __device__ bool operator()(thrust::tuple const& t) const { real4 position = thrust::get<0>(t); - bool result = position.x * position.x + position.y * position.y + position.z * position.z > deletion_radius_square - and thrust::get<2>(t) % 10 != 9; - if (result) --user_particles[thrust::get<2>(t) % 10]; - return result; + int user_id = thrust::get<2>(t) % 10; + if (position.x * position.x + position.y * position.y + position.z * position.z > deletion_radius_square and user_id != 9) + { + atomicDec(user_particles.get() + user_id, UINT_MAX); + return true; + } + return false; } real deletion_radius_square; - std::vector &user_particles; + thrust::device_ptr user_particles; }; // Remove particles out of sphere extern "C" void remove_particles(tree_structure &tree, - real deletion_radius_square, std::vector &user_particles) + real deletion_radius_square, my_dev::dev_mem user_particles) { thrust::device_ptr thrust_pos = thrust::device_pointer_cast(tree.bodies_pos.raw_p()); thrust::device_ptr thrust_vel = thrust::device_pointer_cast(tree.bodies_vel.raw_p()); thrust::device_ptr thrust_ids = thrust::device_pointer_cast(tree.bodies_ids.raw_p()); + thrust::device_ptr thrust_user_particles = thrust::device_pointer_cast(user_particles.raw_p()); try { // auto is not working, compiler assume int - thrust::zip_iterator, thrust::device_ptr, thrust::device_ptr > > - new_end = thrust::remove_if(thrust::device, thrust::make_zip_iterator(thrust::make_tuple(thrust_pos, thrust_vel, thrust_ids)), - thrust::make_zip_iterator(thrust::make_tuple(thrust_pos + tree.n, thrust_vel + tree.n, thrust_ids + tree.n)), - OutOfSphereChecker(deletion_radius_square, user_particles)); + thrust::zip_iterator< thrust::tuple, thrust::device_ptr, thrust::device_ptr > > new_end = + thrust::remove_if( + thrust::device, + thrust::make_zip_iterator(thrust::make_tuple(thrust_pos, thrust_vel, thrust_ids)), + thrust::make_zip_iterator(thrust::make_tuple(thrust_pos + tree.n, thrust_vel + tree.n, thrust_ids + tree.n)), + OutOfSphereChecker(deletion_radius_square, thrust_user_particles) + ); - int new_nb_of_particles = thrust::get<0>(new_end.get_iterator_tuple()) - thrust_pos; - std::cout << "new_nb_of_particles = " << new_nb_of_particles << std::endl; - tree.n = new_nb_of_particles; + // Set new number of particles + tree.n = thrust::get<0>(new_end.get_iterator_tuple()) - thrust_pos; } catch(thrust::system_error &e) { diff --git a/runtime/include/WOGManager.h b/runtime/include/WOGManager.h index d16f322..157c94f 100644 --- a/runtime/include/WOGManager.h +++ b/runtime/include/WOGManager.h @@ -76,7 +76,7 @@ class WOGManager static constexpr auto max_number_of_particles_of_user = 100000; /// Number of particles of user - std::vector user_particles; + my_dev::dev_mem user_particles; /// Dimension of the window int window_width; diff --git a/runtime/include/octree.h b/runtime/include/octree.h index f552513..e954200 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -885,7 +885,7 @@ class octree { void removeGalaxy(int user_id); // WarOfGalaxies: remove particles out of sphere continuously - void removeParticles(real deletion_radius_square, std::vector &user_particles); + void removeParticles(real deletion_radius_square, my_dev::dev_mem user_particles); //Library interface functions void setEps(float eps); diff --git a/runtime/include/thrust_war_of_galaxies.h b/runtime/include/thrust_war_of_galaxies.h index ffd959d..c8d92da 100644 --- a/runtime/include/thrust_war_of_galaxies.h +++ b/runtime/include/thrust_war_of_galaxies.h @@ -12,6 +12,6 @@ /// Remove particles behind visualization sphere extern "C" void remove_particles(tree_structure &tree, - real deletion_radius_square, std::vector &user_particles); + real deletion_radius_square, my_dev::dev_mem user_particles); #endif /* THRUST_WAR_OF_GALAXIES_H_ */ diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index 5276dee..51b7c68 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -16,7 +16,7 @@ WOGManager::WOGManager(std::string const& path, int port, int window_width, int real farZ, real camera_distance, real deletion_radius_factor) : server_socket(-1), client_socket(-1), - user_particles{{0, 0, 0, 0}}, + user_particles(4), window_width(window_width), window_height(window_height), fovy(fovy), diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 9c8b822..dca1777 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -532,7 +532,7 @@ void octree::removeGalaxy(int user_id) resetEnergy(); } -void octree::removeParticles(real deletion_radius_square, std::vector &user_particles) +void octree::removeParticles(real deletion_radius_square, my_dev::dev_mem user_particles) { #ifdef USE_THRUST From dd6f7c1a6710313d381d6d663f70fe17df5fe1cd Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Wed, 31 Aug 2016 11:51:01 +0200 Subject: [PATCH 59/78] use dev_mem for user_particles --- runtime/CUDAkernels/war_of_galaxies.cu | 2 +- runtime/include/WOGManager.h | 10 ++++++---- runtime/include/octree.h | 2 +- runtime/include/thrust_war_of_galaxies.h | 2 +- runtime/src/WOGManager.cpp | 17 +++++++++-------- runtime/src/gpu_iterate.cpp | 4 +++- runtime/src/renderloop.cpp | 4 ++-- 7 files changed, 23 insertions(+), 18 deletions(-) diff --git a/runtime/CUDAkernels/war_of_galaxies.cu b/runtime/CUDAkernels/war_of_galaxies.cu index 64104f4..3904060 100644 --- a/runtime/CUDAkernels/war_of_galaxies.cu +++ b/runtime/CUDAkernels/war_of_galaxies.cu @@ -41,7 +41,7 @@ struct OutOfSphereChecker // Remove particles out of sphere extern "C" void remove_particles(tree_structure &tree, - real deletion_radius_square, my_dev::dev_mem user_particles) + real deletion_radius_square, my_dev::dev_mem &user_particles) { thrust::device_ptr thrust_pos = thrust::device_pointer_cast(tree.bodies_pos.raw_p()); thrust::device_ptr thrust_vel = thrust::device_pointer_cast(tree.bodies_vel.raw_p()); diff --git a/runtime/include/WOGManager.h b/runtime/include/WOGManager.h index 157c94f..76af189 100644 --- a/runtime/include/WOGManager.h +++ b/runtime/include/WOGManager.h @@ -39,14 +39,14 @@ class WOGManager public: /// Constructor opening sockets and reading input galaxies - WOGManager(std::string const& path, int port, int window_width, int window_height, real fovy, + WOGManager(octree *tree, std::string const& path, int port, int window_width, int window_height, real fovy, real farZ, real camera_distance, real deletion_radius_factor); /// Constructor closing the sockets ~WOGManager(); /// Execute a client request - void execute(octree *tree); + void execute(); /// Must be called by glutReshapeFunc void reshape(int width, int height); @@ -57,10 +57,12 @@ class WOGManager void read_galaxies(std::string const& path); /// Remove particles continuously - void remove_particles(octree *tree); + void remove_particles(); /// Execute a client request - jsoncons::json execute_json(octree *tree, std::string const& buffer); + jsoncons::json execute_json(std::string const& buffer); + + octree *tree; int server_socket; diff --git a/runtime/include/octree.h b/runtime/include/octree.h index e954200..83b5a0b 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -885,7 +885,7 @@ class octree { void removeGalaxy(int user_id); // WarOfGalaxies: remove particles out of sphere continuously - void removeParticles(real deletion_radius_square, my_dev::dev_mem user_particles); + void removeParticles(real deletion_radius_square, my_dev::dev_mem &user_particles); //Library interface functions void setEps(float eps); diff --git a/runtime/include/thrust_war_of_galaxies.h b/runtime/include/thrust_war_of_galaxies.h index c8d92da..aac5a69 100644 --- a/runtime/include/thrust_war_of_galaxies.h +++ b/runtime/include/thrust_war_of_galaxies.h @@ -12,6 +12,6 @@ /// Remove particles behind visualization sphere extern "C" void remove_particles(tree_structure &tree, - real deletion_radius_square, my_dev::dev_mem user_particles); + real deletion_radius_square, my_dev::dev_mem &user_particles); #endif /* THRUST_WAR_OF_GALAXIES_H_ */ diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index 51b7c68..15cd67f 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -12,11 +12,12 @@ using jsoncons::json; #define DEBUG_PRINT -WOGManager::WOGManager(std::string const& path, int port, int window_width, int window_height, real fovy, +WOGManager::WOGManager(octree *tree, std::string const& path, int port, int window_width, int window_height, real fovy, real farZ, real camera_distance, real deletion_radius_factor) - : server_socket(-1), + : tree(tree), + server_socket(-1), client_socket(-1), - user_particles(4), + user_particles(*(tree->getDevContext()), number_of_users, true), window_width(window_width), window_height(window_height), fovy(fovy), @@ -107,10 +108,10 @@ void WOGManager::read_galaxies(std::string const& path) } } -void WOGManager::execute(octree *tree) +void WOGManager::execute() { // Remove particles - remove_particles(tree); + remove_particles(); // Check for a client sockaddr_in clientAddr; @@ -138,7 +139,7 @@ void WOGManager::execute(octree *tree) json json_response; try { - json_response = execute_json(tree, buffer); + json_response = execute_json(buffer); } catch (std::exception const& e) { std::cerr << "Error: " << e.what() << std::endl; json_response["response"] = std::string("Error: ") + e.what(); @@ -182,12 +183,12 @@ void WOGManager::reshape(int width, int height) #endif } -void WOGManager::remove_particles(octree *tree) +void WOGManager::remove_particles() { tree->removeParticles(deletion_radius_square, user_particles); } -json WOGManager::execute_json(octree *tree, std::string const& json_request_string) +json WOGManager::execute_json(std::string const& json_request_string) { json json_response; diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index dca1777..0b4f373 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -532,11 +532,13 @@ void octree::removeGalaxy(int user_id) resetEnergy(); } -void octree::removeParticles(real deletion_radius_square, my_dev::dev_mem user_particles) +void octree::removeParticles(real deletion_radius_square, my_dev::dev_mem &user_particles) { #ifdef USE_THRUST + user_particles.h2d(); remove_particles(this->localTree, deletion_radius_square, user_particles); + user_particles.d2h(); // Resize preserves original data this->reallocateParticleMemory(this->localTree); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 76a3743..2209537 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -348,7 +348,7 @@ class BonsaiDemo #else m_enableStats(true), #endif - m_wogManager(wogPath, wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor) + m_wogManager(tree, wogPath, wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor) { m_windowDims = make_int2(1024, 768); m_cameraTrans = make_float3(0, -2, -100); @@ -1816,7 +1816,7 @@ void special(int key, int x, int y) void idle(void) { - theDemo->m_wogManager.execute(theDemo->m_tree); + theDemo->m_wogManager.execute(); glutPostRedisplay(); } From 8c4c8443deeba1a748460200c7d5345d46ae1214 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Wed, 7 Sep 2016 10:55:04 +0200 Subject: [PATCH 60/78] Feature #673: Manipulate device memory directly for removing particles --- runtime/CUDAkernels/war_of_galaxies.cu | 37 ++++++++++++++++-------- runtime/include/octree.h | 2 +- runtime/include/thrust_war_of_galaxies.h | 2 +- runtime/src/WOGManager.cpp | 2 +- runtime/src/gpu_iterate.cpp | 4 +-- 5 files changed, 30 insertions(+), 17 deletions(-) diff --git a/runtime/CUDAkernels/war_of_galaxies.cu b/runtime/CUDAkernels/war_of_galaxies.cu index 3904060..6b0730e 100644 --- a/runtime/CUDAkernels/war_of_galaxies.cu +++ b/runtime/CUDAkernels/war_of_galaxies.cu @@ -17,31 +17,40 @@ /// Functor return true if position is out of sphere struct OutOfSphereChecker { - OutOfSphereChecker(real deletion_radius_square, thrust::device_ptr user_particles) - : deletion_radius_square(deletion_radius_square), user_particles(user_particles) + OutOfSphereChecker(real deletion_radius_square) + : deletion_radius_square(deletion_radius_square) {} __device__ bool operator()(thrust::tuple const& t) const { real4 position = thrust::get<0>(t); - int user_id = thrust::get<2>(t) % 10; - if (position.x * position.x + position.y * position.y + position.z * position.z > deletion_radius_square and user_id != 9) - { - atomicDec(user_particles.get() + user_id, UINT_MAX); - return true; - } - return false; + return position.x * position.x + position.y * position.y + position.z * position.z > deletion_radius_square + and thrust::get<2>(t) % 10 != 9; } real deletion_radius_square; +}; - thrust::device_ptr user_particles; +/// Functor return true if modules is equal +struct EqualToModulus10 +{ + EqualToModulus10(int user_id) + : user_id(user_id) + {} + + __device__ + bool operator()(int i) const + { + return i % 10 == user_id; + } + + int user_id; }; // Remove particles out of sphere extern "C" void remove_particles(tree_structure &tree, - real deletion_radius_square, my_dev::dev_mem &user_particles) + real deletion_radius_square, my_dev::dev_mem &user_particles, int number_of_users) { thrust::device_ptr thrust_pos = thrust::device_pointer_cast(tree.bodies_pos.raw_p()); thrust::device_ptr thrust_vel = thrust::device_pointer_cast(tree.bodies_vel.raw_p()); @@ -55,11 +64,15 @@ extern "C" void remove_particles(tree_structure &tree, thrust::device, thrust::make_zip_iterator(thrust::make_tuple(thrust_pos, thrust_vel, thrust_ids)), thrust::make_zip_iterator(thrust::make_tuple(thrust_pos + tree.n, thrust_vel + tree.n, thrust_ids + tree.n)), - OutOfSphereChecker(deletion_radius_square, thrust_user_particles) + OutOfSphereChecker(deletion_radius_square) ); // Set new number of particles tree.n = thrust::get<0>(new_end.get_iterator_tuple()) - thrust_pos; + + // Update user particles + for (int i(0); i != number_of_users; ++i) + thrust_user_particles[i] = thrust::count_if(thrust_ids, thrust_ids + tree.n, EqualToModulus10(i)); } catch(thrust::system_error &e) { diff --git a/runtime/include/octree.h b/runtime/include/octree.h index 83b5a0b..270eebe 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -885,7 +885,7 @@ class octree { void removeGalaxy(int user_id); // WarOfGalaxies: remove particles out of sphere continuously - void removeParticles(real deletion_radius_square, my_dev::dev_mem &user_particles); + void removeParticles(real deletion_radius_square, my_dev::dev_mem &user_particles, int number_of_users); //Library interface functions void setEps(float eps); diff --git a/runtime/include/thrust_war_of_galaxies.h b/runtime/include/thrust_war_of_galaxies.h index aac5a69..c8474bb 100644 --- a/runtime/include/thrust_war_of_galaxies.h +++ b/runtime/include/thrust_war_of_galaxies.h @@ -12,6 +12,6 @@ /// Remove particles behind visualization sphere extern "C" void remove_particles(tree_structure &tree, - real deletion_radius_square, my_dev::dev_mem &user_particles); + real deletion_radius_square, my_dev::dev_mem &user_particles, int number_of_users); #endif /* THRUST_WAR_OF_GALAXIES_H_ */ diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index 15cd67f..dd9032a 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -185,7 +185,7 @@ void WOGManager::reshape(int width, int height) void WOGManager::remove_particles() { - tree->removeParticles(deletion_radius_square, user_particles); + tree->removeParticles(deletion_radius_square, user_particles, number_of_users); } json WOGManager::execute_json(std::string const& json_request_string) diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 0b4f373..2d3a516 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -532,12 +532,12 @@ void octree::removeGalaxy(int user_id) resetEnergy(); } -void octree::removeParticles(real deletion_radius_square, my_dev::dev_mem &user_particles) +void octree::removeParticles(real deletion_radius_square, my_dev::dev_mem &user_particles, int number_of_users) { #ifdef USE_THRUST user_particles.h2d(); - remove_particles(this->localTree, deletion_radius_square, user_particles); + remove_particles(this->localTree, deletion_radius_square, user_particles, number_of_users); user_particles.d2h(); // Resize preserves original data From 8f4be5114e66f5da49d860c87ddabdafa4fe3dd9 Mon Sep 17 00:00:00 2001 From: Volker Gaibler Date: Thu, 29 Sep 2016 13:50:04 +0200 Subject: [PATCH 61/78] reformat Bonsai network response Update network json response updated to new specification: for any requests, responses should be formatted as {"user_particles": [0, 0, 0, 0], "simulation_time": 89.4, "response": "release"} {"user_particles": [0, 0, 0, 0], "simulation_time": 89.4, "response": "remove"} {"user_particles": [0, 0, 0, 0], "simulation_time": 89.4, "response": "report"} The "response" field reflects the request name that triggered the response. --- runtime/src/WOGManager.cpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index dd9032a..1fb2063 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -271,7 +271,8 @@ json WOGManager::execute_json(std::string const& json_request_string) tree->releaseGalaxy(galaxy); user_particles[user_id] += galaxy.pos.size(); - json_response["response"] = "Galaxy with " + std::to_string(galaxy.pos.size()) + " particles of user " + std::to_string(user_id) + " was released."; + std::cout << "Galaxy with " + std::to_string(galaxy.pos.size()) + " particles of user " + std::to_string(user_id) + " was released."; + json_response["response"] = task; } else if (task == "remove") { @@ -285,21 +286,27 @@ json WOGManager::execute_json(std::string const& json_request_string) tree->removeGalaxy(user_id); user_particles[user_id] = 0; - json_response["response"] = "All particles of user " + std::to_string(user_id) + " were removed."; + std::cout << "All particles of user " + std::to_string(user_id) + " were removed."; + json_response["response"] = task; } else if (task == "report") { - // Simulation time in MYears, for factor see renderloop.cpp, search for MYears - json_response["simulation time"] = tree->getTime() * 9.78; - json_response["user 0"] = user_particles[0]; - json_response["user 1"] = user_particles[1]; - json_response["user 2"] = user_particles[2]; - json_response["user 3"] = user_particles[3]; + std::cout << "Reporting current status."; + json_response["response"] = task; } else { throw std::runtime_error("Unknown task: " + task); } + // Always return the status information + // Simulation time in MYears, for factor see renderloop.cpp, search for MYears + json_response["simulation_time"] = tree->getTime() * 9.78; + json up = json::make_array<1>(4,0); + for (int ind = 0; ind < 4; ind++) + up[ind] = user_particles[ind]; + json_response["user_particles"] = up; + std::cout << "user_particles: " << up; + return json_response; } From 2fd44a6fb3d0c34fb78844cb235682c2ede14f7e Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Thu, 29 Sep 2016 16:07:06 +0200 Subject: [PATCH 62/78] Use number_of_users instead of hard coded number --- runtime/src/WOGManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index 1fb2063..5f76f9a 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -302,8 +302,8 @@ json WOGManager::execute_json(std::string const& json_request_string) // Always return the status information // Simulation time in MYears, for factor see renderloop.cpp, search for MYears json_response["simulation_time"] = tree->getTime() * 9.78; - json up = json::make_array<1>(4,0); - for (int ind = 0; ind < 4; ind++) + json up = json::make_array<1>(number_of_users,0); + for (int ind = 0; ind < number_of_users; ind++) up[ind] = user_particles[ind]; json_response["user_particles"] = up; std::cout << "user_particles: " << up; From 47ede32c651dbe08428dd97c07f1765129442172 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 12 Dec 2017 12:14:57 +0100 Subject: [PATCH 63/78] add eclipse launch --- ...device debug thrust war-of-galaxies.launch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 eclipse/Bonsai device debug thrust war-of-galaxies.launch diff --git a/eclipse/Bonsai device debug thrust war-of-galaxies.launch b/eclipse/Bonsai device debug thrust war-of-galaxies.launch new file mode 100644 index 0000000..7092f41 --- /dev/null +++ b/eclipse/Bonsai device debug thrust war-of-galaxies.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 12c4273b819a44b4170a1eca69e1afe1b22864e8 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 15 Dec 2017 13:39:33 +0100 Subject: [PATCH 64/78] adapt changes to current merge with master branch --- .cproject | 206 -------------- .gitignore | 5 +- .project | 27 -- ...i device debug GTC12demo reduce 100.launch | 32 --- ...device debug thrust war-of-galaxies.launch | 32 --- ...sai host debug GTC12demo reduce 100.launch | 32 --- eclipse/Bonsai host debug example.launch | 32 --- eclipse/Bonsai host debug test.launch | 32 --- ...i host debug thrust war-of-galaxies.launch | 32 --- .../Bonsai host debug war-of-galaxies.launch | 32 --- .../Bonsai release GTC12demo reduce 10.launch | 32 --- ...Bonsai release GTC12demo reduce 100.launch | 32 --- .../Bonsai release GTC12demo reduce 50.launch | 32 --- eclipse/Bonsai release dummy.launch | 32 --- eclipse/Bonsai release example.launch | 32 --- ...nsai release thrust war-of-galaxies.launch | 32 --- .../Bonsai release tipsy1 reduce 50.launch | 32 --- .../Bonsai release tipsy2 reduce 50.launch | 32 --- ...onsai release war-of-galaxies dummy.launch | 32 --- eclipse/Bonsai release war-of-galaxies.launch | 32 --- eclipse/cmake device debug gnu thrust.launch | 7 - eclipse/cmake device debug gnu.launch | 7 - eclipse/cmake host debug gnu thrust.launch | 7 - eclipse/cmake host debug gnu.launch | 7 - eclipse/cmake release gnu thrust.launch | 7 - eclipse/cmake release gnu.launch | 7 - runtime/CMakeLists.txt | 6 +- runtime/CUDAkernels/timestep.cu | 4 + runtime/include/FileIO.h | 12 - runtime/include/Galaxy.h | 11 +- runtime/include/WOGManager.h | 5 +- runtime/include/octree.h | 22 -- runtime/include/read_tipsy_file_parallel.h | 21 ++ runtime/src/WOGManager.cpp | 4 +- runtime/src/build.cpp | 3 - runtime/src/gpu_iterate.cpp | 46 +--- runtime/src/main.cpp | 254 +----------------- ...ileIO.cpp => read_tipsy_file_parallel.cpp} | 32 +-- runtime/src/renderloop.cpp | 2 +- test/glut/CMakeLists.txt | 11 - test/glut/cube.cpp | 55 ---- test/json/release.json | 5 - test/json/remove.json | 4 - test/json/test.py | 9 - test/json/test2.py | 13 - test/tipsy/.gitignore | 3 - test/tipsy/CMakeLists.txt | 12 - test/tipsy/cmake/FindEigen3.cmake | 81 ------ test/tipsy/create_tipsy.cpp | 46 ---- test/tipsy/read_tipsy.cpp | 66 ----- test/tipsy/reduce_tipsy.cpp | 46 ---- test/tipsy/split_tipsy.cpp | 135 ---------- test/tipsy/tipsy.h | 70 ----- .../war-of-galaxies}/CMakeLists.txt | 0 .../war-of-galaxies}/client.py | 0 .../war-of-galaxies}/client_json.py | 0 .../war-of-galaxies}/client_json_string.py | 0 .../war-of-galaxies}/data.pb.cc | 0 .../war-of-galaxies}/data.pb.h | 0 .../war-of-galaxies}/data.proto | 0 .../war-of-galaxies}/data_pb2.py | 0 .../war-of-galaxies}/json_examples | 0 .../war-of-galaxies}/server.cpp | 0 .../sockets => tools/war-of-galaxies}/test.py | 0 64 files changed, 63 insertions(+), 1739 deletions(-) delete mode 100644 .cproject delete mode 100644 .project delete mode 100644 eclipse/Bonsai device debug GTC12demo reduce 100.launch delete mode 100644 eclipse/Bonsai device debug thrust war-of-galaxies.launch delete mode 100644 eclipse/Bonsai host debug GTC12demo reduce 100.launch delete mode 100644 eclipse/Bonsai host debug example.launch delete mode 100644 eclipse/Bonsai host debug test.launch delete mode 100644 eclipse/Bonsai host debug thrust war-of-galaxies.launch delete mode 100644 eclipse/Bonsai host debug war-of-galaxies.launch delete mode 100644 eclipse/Bonsai release GTC12demo reduce 10.launch delete mode 100644 eclipse/Bonsai release GTC12demo reduce 100.launch delete mode 100644 eclipse/Bonsai release GTC12demo reduce 50.launch delete mode 100644 eclipse/Bonsai release dummy.launch delete mode 100644 eclipse/Bonsai release example.launch delete mode 100644 eclipse/Bonsai release thrust war-of-galaxies.launch delete mode 100644 eclipse/Bonsai release tipsy1 reduce 50.launch delete mode 100644 eclipse/Bonsai release tipsy2 reduce 50.launch delete mode 100644 eclipse/Bonsai release war-of-galaxies dummy.launch delete mode 100644 eclipse/Bonsai release war-of-galaxies.launch delete mode 100644 eclipse/cmake device debug gnu thrust.launch delete mode 100644 eclipse/cmake device debug gnu.launch delete mode 100644 eclipse/cmake host debug gnu thrust.launch delete mode 100644 eclipse/cmake host debug gnu.launch delete mode 100644 eclipse/cmake release gnu thrust.launch delete mode 100644 eclipse/cmake release gnu.launch create mode 100644 runtime/include/read_tipsy_file_parallel.h rename runtime/src/{FileIO.cpp => read_tipsy_file_parallel.cpp} (87%) delete mode 100644 test/glut/CMakeLists.txt delete mode 100644 test/glut/cube.cpp delete mode 100644 test/json/release.json delete mode 100644 test/json/remove.json delete mode 100644 test/json/test.py delete mode 100644 test/json/test2.py delete mode 100644 test/tipsy/.gitignore delete mode 100644 test/tipsy/CMakeLists.txt delete mode 100644 test/tipsy/cmake/FindEigen3.cmake delete mode 100644 test/tipsy/create_tipsy.cpp delete mode 100644 test/tipsy/read_tipsy.cpp delete mode 100644 test/tipsy/reduce_tipsy.cpp delete mode 100644 test/tipsy/split_tipsy.cpp delete mode 100644 test/tipsy/tipsy.h rename {test/sockets => tools/war-of-galaxies}/CMakeLists.txt (100%) rename {test/sockets => tools/war-of-galaxies}/client.py (100%) rename {test/sockets => tools/war-of-galaxies}/client_json.py (100%) rename {test/sockets => tools/war-of-galaxies}/client_json_string.py (100%) rename {test/sockets => tools/war-of-galaxies}/data.pb.cc (100%) rename {test/sockets => tools/war-of-galaxies}/data.pb.h (100%) rename {test/sockets => tools/war-of-galaxies}/data.proto (100%) rename {test/sockets => tools/war-of-galaxies}/data_pb2.py (100%) rename {test/sockets => tools/war-of-galaxies}/json_examples (100%) rename {test/sockets => tools/war-of-galaxies}/server.cpp (100%) rename {test/sockets => tools/war-of-galaxies}/test.py (100%) diff --git a/.cproject b/.cproject deleted file mode 100644 index 2fb9064..0000000 --- a/.cproject +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.gitignore b/.gitignore index 8dbe801..0ccae70 100644 --- a/.gitignore +++ b/.gitignore @@ -13,8 +13,5 @@ *.a .*.swp -# Temporary editor files +#Temporary editor files *~ - -# Out of source build directories -build* diff --git a/.project b/.project deleted file mode 100644 index 764d499..0000000 --- a/.project +++ /dev/null @@ -1,27 +0,0 @@ - - - Bonsai - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - diff --git a/eclipse/Bonsai device debug GTC12demo reduce 100.launch b/eclipse/Bonsai device debug GTC12demo reduce 100.launch deleted file mode 100644 index 25388fd..0000000 --- a/eclipse/Bonsai device debug GTC12demo reduce 100.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai device debug thrust war-of-galaxies.launch b/eclipse/Bonsai device debug thrust war-of-galaxies.launch deleted file mode 100644 index 7092f41..0000000 --- a/eclipse/Bonsai device debug thrust war-of-galaxies.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai host debug GTC12demo reduce 100.launch b/eclipse/Bonsai host debug GTC12demo reduce 100.launch deleted file mode 100644 index f3720d8..0000000 --- a/eclipse/Bonsai host debug GTC12demo reduce 100.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai host debug example.launch b/eclipse/Bonsai host debug example.launch deleted file mode 100644 index ac279a5..0000000 --- a/eclipse/Bonsai host debug example.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai host debug test.launch b/eclipse/Bonsai host debug test.launch deleted file mode 100644 index a8bb2af..0000000 --- a/eclipse/Bonsai host debug test.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai host debug thrust war-of-galaxies.launch b/eclipse/Bonsai host debug thrust war-of-galaxies.launch deleted file mode 100644 index 1e56db2..0000000 --- a/eclipse/Bonsai host debug thrust war-of-galaxies.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai host debug war-of-galaxies.launch b/eclipse/Bonsai host debug war-of-galaxies.launch deleted file mode 100644 index 3ae1c58..0000000 --- a/eclipse/Bonsai host debug war-of-galaxies.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai release GTC12demo reduce 10.launch b/eclipse/Bonsai release GTC12demo reduce 10.launch deleted file mode 100644 index e64a67f..0000000 --- a/eclipse/Bonsai release GTC12demo reduce 10.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai release GTC12demo reduce 100.launch b/eclipse/Bonsai release GTC12demo reduce 100.launch deleted file mode 100644 index 811cf29..0000000 --- a/eclipse/Bonsai release GTC12demo reduce 100.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai release GTC12demo reduce 50.launch b/eclipse/Bonsai release GTC12demo reduce 50.launch deleted file mode 100644 index 33f3e7b..0000000 --- a/eclipse/Bonsai release GTC12demo reduce 50.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai release dummy.launch b/eclipse/Bonsai release dummy.launch deleted file mode 100644 index cd94df3..0000000 --- a/eclipse/Bonsai release dummy.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai release example.launch b/eclipse/Bonsai release example.launch deleted file mode 100644 index 9b8be3f..0000000 --- a/eclipse/Bonsai release example.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai release thrust war-of-galaxies.launch b/eclipse/Bonsai release thrust war-of-galaxies.launch deleted file mode 100644 index 1c71709..0000000 --- a/eclipse/Bonsai release thrust war-of-galaxies.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai release tipsy1 reduce 50.launch b/eclipse/Bonsai release tipsy1 reduce 50.launch deleted file mode 100644 index 19384c5..0000000 --- a/eclipse/Bonsai release tipsy1 reduce 50.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai release tipsy2 reduce 50.launch b/eclipse/Bonsai release tipsy2 reduce 50.launch deleted file mode 100644 index 2c63318..0000000 --- a/eclipse/Bonsai release tipsy2 reduce 50.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai release war-of-galaxies dummy.launch b/eclipse/Bonsai release war-of-galaxies dummy.launch deleted file mode 100644 index 13367c0..0000000 --- a/eclipse/Bonsai release war-of-galaxies dummy.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/Bonsai release war-of-galaxies.launch b/eclipse/Bonsai release war-of-galaxies.launch deleted file mode 100644 index 03233e3..0000000 --- a/eclipse/Bonsai release war-of-galaxies.launch +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eclipse/cmake device debug gnu thrust.launch b/eclipse/cmake device debug gnu thrust.launch deleted file mode 100644 index 766d119..0000000 --- a/eclipse/cmake device debug gnu thrust.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/eclipse/cmake device debug gnu.launch b/eclipse/cmake device debug gnu.launch deleted file mode 100644 index de6dfd6..0000000 --- a/eclipse/cmake device debug gnu.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/eclipse/cmake host debug gnu thrust.launch b/eclipse/cmake host debug gnu thrust.launch deleted file mode 100644 index cfc211e..0000000 --- a/eclipse/cmake host debug gnu thrust.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/eclipse/cmake host debug gnu.launch b/eclipse/cmake host debug gnu.launch deleted file mode 100644 index 3280c02..0000000 --- a/eclipse/cmake host debug gnu.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/eclipse/cmake release gnu thrust.launch b/eclipse/cmake release gnu thrust.launch deleted file mode 100644 index 13f2bbc..0000000 --- a/eclipse/cmake release gnu thrust.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/eclipse/cmake release gnu.launch b/eclipse/cmake release gnu.launch deleted file mode 100644 index 43a32d2..0000000 --- a/eclipse/cmake release gnu.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index e584dcd..eb88034 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -1,7 +1,5 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -add_definitions("-std=gnu++11") - option(CUDA_VERBOSE_PTXAS "On to enable verbose output from the PTXAS assembler." OFF @@ -129,7 +127,7 @@ set (CCFILES src/log.cpp src/hostConstruction.cpp src/Galaxy.cpp - src/FileIO.cpp + src/read_tipsy_file_parallel.cpp src/WOGManager.cpp src/tipsyIO.cpp ) @@ -143,7 +141,6 @@ set (HFILES include/tipsydefs.h include/vector_math.h include/depthSort.h - include/sort.h ) set (CUFILES @@ -291,6 +288,7 @@ endif (USE_OPENGL) if (WAR_OF_GALAXIES) add_definitions(-DWAR_OF_GALAXIES) + add_definitions("-std=gnu++11") endif (WAR_OF_GALAXIES) #The SSE support for the local tree walks diff --git a/runtime/CUDAkernels/timestep.cu b/runtime/CUDAkernels/timestep.cu index 9bb70db..f1fe9aa 100644 --- a/runtime/CUDAkernels/timestep.cu +++ b/runtime/CUDAkernels/timestep.cu @@ -442,6 +442,7 @@ static __device__ void compute_energy_doubleD(const int n_bodies, if (tid == 0) energy[blockIdx.x] = make_double2(shDDataKin[0], shDDataPot[0]); } + //Reduce function to get the energy of the system KERNEL_DECLARE(compute_energy_double)(const int n_bodies, real4 *pos, @@ -451,3 +452,6 @@ KERNEL_DECLARE(compute_energy_double)(const int n_bodies, extern __shared__ double shDDataKin[]; compute_energy_doubleD(n_bodies, pos, vel, acc, energy, shDDataKin); } + + + diff --git a/runtime/include/FileIO.h b/runtime/include/FileIO.h index f1a6524..47e3fea 100644 --- a/runtime/include/FileIO.h +++ b/runtime/include/FileIO.h @@ -10,24 +10,12 @@ -#include -#include -#include #include "IDType.h" #ifdef USE_MPI #include "BonsaiIO.h" #endif -void read_tipsy_file_parallel(std::vector &bodyPositions, std::vector &bodyVelocities, - std::vector &bodiesIDs, float eps2, string fileName, - int rank, int procs, int &NTotal2, int &NFirst, - int &NSecond, int &NThird, octree *tree, - std::vector &dustPositions, std::vector &dustVelocities, - std::vector &dustIDs, int reduce_bodies_factor, - int reduce_dust_factor, - const bool restart); - /************* data exchange containers for async IO ***************/ struct IOSharedData_t diff --git a/runtime/include/Galaxy.h b/runtime/include/Galaxy.h index ad4df76..16059b6 100644 --- a/runtime/include/Galaxy.h +++ b/runtime/include/Galaxy.h @@ -5,12 +5,13 @@ * Author: Bernd Doser */ -#ifndef GALAXY_H_ -#define GALAXY_H_ +#pragma once #include #include +typedef unsigned long long ullong; + /// One defined galaxy struct Galaxy { @@ -34,11 +35,9 @@ struct Galaxy std::vector pos; std::vector vel; - std::vector ids; + std::vector ids; std::vector pos_dust; std::vector vel_dust; - std::vector ids_dust; + std::vector ids_dust; }; - -#endif /* GALAXY_H_ */ diff --git a/runtime/include/WOGManager.h b/runtime/include/WOGManager.h index 76af189..0237078 100644 --- a/runtime/include/WOGManager.h +++ b/runtime/include/WOGManager.h @@ -5,8 +5,7 @@ * Author: Bernd Doser */ -#ifndef WOGSOCKETMANAGER_H_ -#define WOGSOCKETMANAGER_H_ +#pragma once #include "Galaxy.h" #include "octree.h" @@ -107,5 +106,3 @@ class WOGManager std::vector galaxies; }; - -#endif /* WOGSOCKETMANAGER_H_ */ diff --git a/runtime/include/octree.h b/runtime/include/octree.h index e1c07a6..28c14f0 100644 --- a/runtime/include/octree.h +++ b/runtime/include/octree.h @@ -679,28 +679,6 @@ class octree { real4* grpCenter, real4* grpSize, int &DistanceCheck, int &DistanceCheckPP, int maxLevel); //End functions for parallel code -<<<<<<< HEAD - - //Functions related to dust - #ifdef USE_DUST - void allocateDustMemory(tree_structure &tree); - void sort_dust(tree_structure &tree); - void make_dust_groups(tree_structure &tree); - void allocateDustGroupBuffers(tree_structure &tree); - void predictDustStep(tree_structure &tree); - void correctDustStep(tree_structure &tree); - void approximate_dust(tree_structure &tree); - void direct_dust(tree_structure &tree); - void setDustGroupProperties(tree_structure &tree); - - my_dev::kernel define_dust_groups; - my_dev::kernel store_dust_groups; - my_dev::kernel predictDust; - my_dev::kernel correctDust; - #endif - - // Function for setting up the mergers - bool addGalaxy(int galaxyID); // WarOfGalaxies: add galaxy to simulation void releaseGalaxy(Galaxy const& galaxy); diff --git a/runtime/include/read_tipsy_file_parallel.h b/runtime/include/read_tipsy_file_parallel.h new file mode 100644 index 0000000..10e48a9 --- /dev/null +++ b/runtime/include/read_tipsy_file_parallel.h @@ -0,0 +1,21 @@ +/* + * read_tipsy_file_parallel.h + * + * Created on: May 6, 2016 + * Author: Bernd Doser + */ + +#pragma once + +#include +#include +#include + +void read_tipsy_file_parallel(std::vector &bodyPositions, std::vector &bodyVelocities, + std::vector &bodiesIDs, float eps2, string fileName, + int rank, int procs, int &NTotal2, int &NFirst, + int &NSecond, int &NThird, octree *tree, + std::vector &dustPositions, std::vector &dustVelocities, + std::vector &dustIDs, int reduce_bodies_factor, + int reduce_dust_factor, + const bool restart); diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index 5f76f9a..e9b6e42 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -5,7 +5,7 @@ * Author: Bernd Doser */ -#include "FileIO.h" +#include "read_tipsy_file_parallel.h" #include "WOGManager.h" using jsoncons::json; @@ -17,7 +17,7 @@ WOGManager::WOGManager(octree *tree, std::string const& path, int port, int wind : tree(tree), server_socket(-1), client_socket(-1), - user_particles(*(tree->getDevContext()), number_of_users, true), + user_particles(), window_width(window_width), window_height(window_height), fovy(fovy), diff --git a/runtime/src/build.cpp b/runtime/src/build.cpp index 3120415..f57d7d4 100644 --- a/runtime/src/build.cpp +++ b/runtime/src/build.cpp @@ -12,9 +12,6 @@ void octree::allocateParticleMemory(tree_structure &tree) //MULTI_GPU_MEM_INCREASE% extra space, only in parallel when if(nProcs > 1) n_bodies = (int)(n_bodies*MULTI_GPU_MEM_INCREASE); //number of particles can fluctuate - // Dirty hack to test adding an additional galaxy - //n_bodies *= 2; - //Particle properties tree.bodies_pos.cmalloc(n_bodies+1, true); //+1 to set end pos, host mapped? TODO not needed right since we use Ppos tree.bodies_key.cmalloc(n_bodies+1, false); //+1 to set end key diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 5cf3c11..9136809 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -69,51 +69,7 @@ extern int setupMergerModel(vector &bodyPositions1, vector &b vector &bodyIDs1, vector &bodyPositions2, vector &bodyVelocities2, vector &bodyIDs2); -bool octree::addGalaxy(int galaxyID) -{ - //To add an galaxy we need to have read it in from the host - #ifdef USE_DUST - //We move the dust data into the position data (on the device :) ) - localTree.bodies_pos.copy_devonly(localTree.dust_pos, localTree.n_dust, localTree.n); - localTree.bodies_vel.copy_devonly(localTree.dust_vel, localTree.n_dust, localTree.n); - localTree.bodies_ids.copy_devonly(localTree.dust_ids, localTree.n_dust, localTree.n); - #endif - - this->localTree.bodies_pos.d2h(); - this->localTree.bodies_vel.d2h(); - this->localTree.bodies_ids.d2h(); - - vector newGalaxy_pos; - vector newGalaxy_vel; - vector newGalaxy_ids; - vector currentGalaxy_pos; - vector currentGalaxy_vel; - vector currentGalaxy_ids; - - int n_particles = this->localTree.n + this->localTree.n_dust; - currentGalaxy_pos.insert(currentGalaxy_pos.begin(), &this->localTree.bodies_pos[0], - &this->localTree.bodies_pos[0]+n_particles); - currentGalaxy_vel.insert(currentGalaxy_vel.begin(), &this->localTree.bodies_vel[0], - &this->localTree.bodies_vel[0]+n_particles); - currentGalaxy_ids.insert(currentGalaxy_ids.begin(), &this->localTree.bodies_ids[0], - &this->localTree.bodies_ids[0]+n_particles); - - vector newGalaxy_pos_dust; - vector newGalaxy_vel_dust; - vector newGalaxy_ids_dust; - - //string fileName = "model3_child_compact.tipsy"; - //string fileName = "modelC30kDust.bin"; - string fileName = "/local/doserbd/projects/ESO/war-of-galaxies/testSolar_5M_galaxy2.tipsy"; - int rank = 0; - int procs = 1; - int NTotal, NFirst, NSecond, Nthird = 0; - int reduce_bodies = 50; - read_tipsy_file_parallel(newGalaxy_pos, newGalaxy_vel, newGalaxy_ids, 0, fileName, - rank, procs, NTotal, NFirst, NSecond, NThird, this, - newGalaxy_pos_dust, newGalaxy_vel_dust, newGalaxy_ids_dust, - reduce_bodies, 1, false); - + void octree::iterate_setup() { if(execStream == NULL) diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index 534e49c..b98a602 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -63,6 +63,8 @@ Leiden Observatory, Leiden University #include "anyoption.h" #include "renderloop.h" +#include "read_tipsy_file_parallel.h" + #include #include @@ -134,221 +136,6 @@ void throw_if_option_is_used(AnyOption const& opt, std::vector argu } #endif -void read_dumbp_file_parallel(vector &bodyPositions, vector &bodyVelocities, vector &bodiesIDs, float eps2, - string fileName, int rank, int procs, int &NTotal2, int &NFirst, int &NSecond, int &NThird, octree *tree, int reduce_bodies_factor) -{ - //Process 0 does the file reading and sends the data - //to the other processes - - //Now we have different types of files, try to determine which one is used - /***** - If individual softening is on there is only one option: - Header is formatted as follows: - N # # # - so read the first number and compute how particles should be distributed - - If individual softening is NOT enabled, i can be anything, but for ease I assume standard dumbp files: - no Header - ID mass x y z vx vy vz - now the next step is risky, we assume mass adds up to 1, so number of particles will be : 1 / mass - use this as initial particle distribution - - */ - - - char fullFileName[256]; - sprintf(fullFileName, "%s", fileName.c_str()); - globalParticleCount++; - - if( globalParticleCount % reduce_bodies_factor == 0 ) - positions.w *= reduce_bodies_factor; - - if( globalParticleCount % reduce_bodies_factor != 0 ) - continue; - - #ifndef INDSOFT - velocity.w = sqrt(eps2); - #else - inputFile >> velocity.w; //Read the softening from the input file - #endif - - bodyPositions.push_back(positions); - bodyVelocities.push_back(velocity); - - #ifndef INDSOFT - idummy = particleCount; - #endif - - bodiesIDs.push_back(idummy); - - particleCount++; - - - if(bodyPositions.size() > perProc && procCntr != procs) - { - tree->ICSend(procCntr, &bodyPositions[0], &bodyVelocities[0], &bodiesIDs[0], (int)bodyPositions.size()); - procCntr++; - - bodyPositions.clear(); - bodyVelocities.clear(); - bodiesIDs.clear(); - } - }//end while - - inputFile.close(); - - //Clear the last one since its double - bodyPositions.resize(bodyPositions.size()-1); - NTotal2 = particleCount-1; - - LOGF(stderr, "NTotal: %d\tper proc: %d\tFor ourself: %d \n", NTotal, perProc, (int)bodiesIDs.size()); -} - -void read_generate_cube(vector &bodyPositions, vector &bodyVelocities, - vector &bodiesIDs, float eps2, string fileName, - int rank, int procs, int &NTotal2, int &NFirst, - int &NSecond, int &NThird, octree *tree, - vector &dustPositions, vector &dustVelocities, - vector &dustIDs, int reduce_bodies_factor, - int reduce_dust_factor) -{ - //Process 0 does the file reading and sends the data - //to the other processes - /* - - Read in our custom version of the tipsy file format. - Most important change is that we store particle id on the - location where previously the potential was stored. - */ - - - int NTotal; - int idummy; - real4 positions; - real4 velocity; - - - //Read tipsy header - NTotal = (int)std::pow(2.0, 22); - NFirst = NTotal; - NSecond = 0; - NThird = 0; - - fprintf(stderr,"Going to generate a random cube , number of particles: %d \n", NTotal); - - tree->set_t_current((float) 0); - - //Rough divide - uint perProc = NTotal / procs; - bodyPositions.reserve(perProc+10); - bodyVelocities.reserve(perProc+10); - bodiesIDs.reserve(perProc+10); - perProc -= 1; - - //Start reading - int particleCount = 0; - int procCntr = 1; - - - int globalParticleCount = 0; - - float mass = 1.0 / NTotal; - - for(int i=0; i < NTotal; i++) - { - velocity.w = 0; - positions.w = mass; - positions.x = drand48(); - positions.y = drand48(); - positions.z = drand48(); - velocity.x = 0.001*drand48(); - velocity.y = 0.001*drand48(); - velocity.z = 0.001*drand48(); - - globalParticleCount++; - bodyPositions.push_back(positions); - bodyVelocities.push_back(velocity); - bodiesIDs.push_back(globalParticleCount); - - if(bodyPositions.size() > perProc && procCntr != procs) - { - tree->ICSend(procCntr, &bodyPositions[0], &bodyVelocities[0], &bodiesIDs[0], (int)bodyPositions.size()); - procCntr++; - - bodyPositions.clear(); - bodyVelocities.clear(); - bodiesIDs.clear(); - } - }//end while - - //Clear the last one since its double -// bodyPositions.resize(bodyPositions.size()-1); -// NTotal2 = particleCount-1; - NTotal2 = NTotal; - LOGF(stderr,"NTotal: %d\tper proc: %d\tFor ourself: %d \tNDust: %d \n", - NTotal, perProc, (int)bodiesIDs.size(), (int)dustPositions.size()); -} - - -double rot[3][3]; - -void rotmat(double i,double w) -{ - rot[0][0] = cos(w); - rot[0][1] = -cos(i)*sin(w); - rot[0][2] = -sin(i)*sin(w); - rot[1][0] = sin(w); - rot[1][1] = cos(i)*cos(w); - rot[1][2] = sin(i)*cos(w); - rot[2][0] = 0.0; - rot[2][1] = -sin(i); - rot[2][2] = cos(i); - fprintf(stderr,"%g %g %g\n",rot[0][0], rot[0][1], rot[0][2]); - fprintf(stderr,"%g %g %g\n",rot[1][0], rot[1][1], rot[1][2]); - fprintf(stderr,"%g %g %g\n",rot[2][0], rot[2][1], rot[2][2]); -} - -void rotate(double rot[3][3],float *vin) -{ - static double vout[3]; - - for(int i=0; i<3; i++) { - vout[i] = 0; - for(int j=0; j<3; j++) - vout[i] += rot[i][j] * vin[j]; - /* Remember the rotation matrix is the transpose of rot */ - } - for(int i=0; i<3; i++) - vin[i] = (float) vout[i]; -} - -void euler(vector &bodyPositions, - vector &bodyVelocities, - double inc, double omega) -{ - rotmat(inc,omega); - size_t nobj = bodyPositions.size(); - for(uint i=0; i < nobj; i++) - { - float r[3], v[3]; - r[0] = bodyPositions[i].x; - r[1] = bodyPositions[i].y; - r[2] = bodyPositions[i].z; - v[0] = bodyVelocities[i].x; - v[1] = bodyVelocities[i].y; - v[2] = bodyVelocities[i].z; - - rotate(rot,r); - rotate(rot,v); - - bodyPositions[i].x = r[0]; - bodyPositions[i].y = r[1]; - bodyPositions[i].z = r[2]; - bodyVelocities[i].x = v[0]; - bodyVelocities[i].y = v[1]; - bodyVelocities[i].z = v[2]; - } -} @@ -423,10 +210,9 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) int rebuild_tree_rate = 1; int reduce_bodies_factor = 1; int reduce_dust_factor = 1; - string fullScreenMode = ""; + std::string gameModeString = ""; bool direct = false; bool fullscreen = false; - bool direct = false; bool displayFPS = false; bool diskmode = false; bool stereo = false; @@ -511,14 +297,14 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) ADDUSAGE(" --reducedust # cut down dust dataset by # factor "); #endif #if ENABLE_LOG - ADDUSAGE(" --log enable logging "); - ADDUSAGE(" --prepend-rank prepend the MPI rank in front of the log-lines "); + ADDUSAGE(" --log enable logging "); + ADDUSAGE(" --prepend-rank prepend the MPI rank in front of the log-lines "); #endif ADDUSAGE(" --direct enable N^2 direct gravitation [" << (direct ? "on" : "off") << "]"); #ifdef USE_OPENGL - ADDUSAGE(" --fullscreen set fullscreen"); - ADDUSAGE(" --gameMode # set game mode string"); - ADDUSAGE(" --displayfps enable on-screen FPS display"); + ADDUSAGE(" --fullscreen set fullscreen"); + ADDUSAGE(" --gameMode # set game mode string"); + ADDUSAGE(" --displayfps enable on-screen FPS display"); ADDUSAGE(" --Tglow # enable glow @ # Myr [" << TstartGlow << "]"); ADDUSAGE(" --dTglow # reach full brightness in @ # Myr [" << dTstartGlow << "]"); ADDUSAGE(" --stereo enable stereo rendering"); @@ -721,7 +507,7 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) #ifdef USE_OPENGL // create OpenGL context first, and register for interop - initGL(argc, argv, fullScreenMode.c_str(), stereo); + initGL(argc, argv, gameModeString.c_str(), stereo, fullscreen); cudaGLSetGLDevice(devID); //TODO should this not be renderDev? #endif @@ -969,13 +755,6 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) } else if ((nPlummer == -1 && nSphere == -1 && nCube == -1 && !diskmode && nMilkyWay == -1) || restartSim) { - if(procId == 0) - { -#ifdef TIPSYOUTPUT - read_tipsy_file_parallel(bodyPositions, bodyVelocities, bodyIDs, eps, fileName, - procId, nProcs, NTotal, NFirst, NSecond, NThird, tree, - dustPositions, dustVelocities, dustIDs, reduce_bodies_factor, reduce_dust_factor, false); - #ifdef WAR_OF_GALAXIES std::cout << "WarOfGalaxies: Input file is used as dummy particles." << std::endl; for (auto & id : bodyIDs) id = id - id % 10 + 9; @@ -1026,22 +805,7 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) v.y -= total_velocity.y; v.z -= total_velocity.z; } - -#endif - - // read_generate_cube(bodyPositions, bodyVelocities, bodyIDs, eps, fileName, - // procId, nProcs, NTotal, NFirst, NSecond, NThird, tree, - // dustPositions, dustVelocities, dustIDs, reduce_bodies_factor, reduce_dust_factor); - -#else - read_dumbp_file_parallel(bodyPositions, bodyVelocities, bodyIDs, eps, fileName, procId, nProcs, NTotal, NFirst, NSecond, NThird, tree, reduce_bodies_factor); #endif - } - else - { - tree->ICRecv(0, bodyPositions, bodyVelocities, bodyIDs); - } - float sTime = 0; tree->fileIO->readFile(mpiCommWorld, bodyPositions, bodyVelocities, bodyIDs, fileName, procId, nProcs, sTime, reduce_bodies_factor, restartSim); diff --git a/runtime/src/FileIO.cpp b/runtime/src/read_tipsy_file_parallel.cpp similarity index 87% rename from runtime/src/FileIO.cpp rename to runtime/src/read_tipsy_file_parallel.cpp index 62df491..1c68bbc 100644 --- a/runtime/src/FileIO.cpp +++ b/runtime/src/read_tipsy_file_parallel.cpp @@ -1,20 +1,20 @@ /* - * FileIO.cpp + * read_tipsy_file_parallel.cpp * * Created on: May 6, 2016 * Author: Bernd Doser */ -#include "FileIO.h" +#include "read_tipsy_file_parallel.h" using namespace std; void read_tipsy_file_parallel(std::vector &bodyPositions, std::vector &bodyVelocities, - std::vector &bodiesIDs, float eps2, string fileName, + std::vector &bodiesIDs, float eps2, string fileName, int rank, int procs, int &NTotal2, int &NFirst, int &NSecond, int &NThird, octree *tree, std::vector &dustPositions, std::vector &dustVelocities, - std::vector &dustIDs, int reduce_bodies_factor, + std::vector &dustIDs, int reduce_bodies_factor, int reduce_dust_factor, const bool restart) { @@ -161,18 +161,18 @@ void read_tipsy_file_parallel(std::vector &bodyPositions, std::vector perProc && procCntr != procs) - { - if (tree) tree->ICSend(procCntr, &bodyPositions[0], &bodyVelocities[0], &bodiesIDs[0], (int)bodyPositions.size()); - procCntr++; - - bodyPositions.clear(); - bodyVelocities.clear(); - bodiesIDs.clear(); - } - } +// if(!restart) +// { +// if(bodyPositions.size() > perProc && procCntr != procs) +// { +// if (tree) tree->ICSend(procCntr, &bodyPositions[0], &bodyVelocities[0], &bodiesIDs[0], (int)bodyPositions.size()); +// procCntr++; +// +// bodyPositions.clear(); +// bodyVelocities.clear(); +// bodiesIDs.clear(); +// } +// } }//end while inputFile.close(); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index f125aaf..6494728 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -354,7 +354,7 @@ class BonsaiDemo #else m_enableStats(true), #endif - m_wogManager(tree, wogPath, wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor) + m_wogManager(tree, wogPath, wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor), m_densityRange(100) { m_windowDims = make_int2(WINDOWW, WINDOWH); diff --git a/test/glut/CMakeLists.txt b/test/glut/CMakeLists.txt deleted file mode 100644 index 1ec1c8a..0000000 --- a/test/glut/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.0) - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") - -FIND_PACKAGE(OpenGL REQUIRED) -FIND_PACKAGE(GLEW REQUIRED) -FIND_PACKAGE(GLUT REQUIRED) - -include_directories(${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS} ${GLUT_INCLUDE_DIRS}) -add_executable(cube cube.cpp) -target_link_libraries(cube ${GLEW_LIBRARIES} ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) diff --git a/test/glut/cube.cpp b/test/glut/cube.cpp deleted file mode 100644 index c0138a8..0000000 --- a/test/glut/cube.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* - * cube.cpp - * - * Created on: May 12, 2016 - * Author: Bernd Doser - */ - -#include -#include -#include -#include - -void init(void) -{ - glClearColor (0.0, 0.0, 0.0, 0.0); - glShadeModel (GL_FLAT); -} - -void display(void) -{ - glClear (GL_COLOR_BUFFER_BIT); - glColor3f (1.0, 1.0, 1.0); - glLoadIdentity (); /* clear the matrix */ - /* viewing transformation */ - gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); - glScalef (1.0, 1.0, 1.0); /* modeling transformation */ - glutWireCube (1.0); - glTranslated(1.0, 1.0, 0.0); - glutSolidSphere(0.01, 100, 100); - glFlush (); -} - -void reshape (int w, int h) -{ - std::cout << w << ", " << h << std::endl; - glViewport (0, 0, (GLsizei) w, (GLsizei) h); - glMatrixMode (GL_PROJECTION); - glLoadIdentity (); - glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0); - glMatrixMode (GL_MODELVIEW); -} - -int main(int argc, char** argv) -{ - glutInit(&argc, argv); - glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); - glutInitWindowSize (500, 500); - glutInitWindowPosition (100, 100); - glutCreateWindow (argv[0]); - init (); - glutDisplayFunc(display); - glutReshapeFunc(reshape); - glutMainLoop(); - return 0; -} diff --git a/test/json/release.json b/test/json/release.json deleted file mode 100644 index 2c7155c..0000000 --- a/test/json/release.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "task": "release", - "user": 1, - "galaxy": 2 -} diff --git a/test/json/remove.json b/test/json/remove.json deleted file mode 100644 index 6059bc6..0000000 --- a/test/json/remove.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "task": "remove", - "user": 1 -} diff --git a/test/json/test.py b/test/json/test.py deleted file mode 100644 index d4e51be..0000000 --- a/test/json/test.py +++ /dev/null @@ -1,9 +0,0 @@ -import json -from pprint import pprint - -with open('release.json') as data_file: - data = json.load(data_file) - -pprint(data) - -print data["task"] diff --git a/test/json/test2.py b/test/json/test2.py deleted file mode 100644 index 8aee180..0000000 --- a/test/json/test2.py +++ /dev/null @@ -1,13 +0,0 @@ -import json -from pprint import pprint - -data = {} -data['task'] = 'release' -data['user_id'] = 1 -data['galaxy_id'] = 1 -data['angle'] = 45.5 - -json_data = json.dumps(data) - -pprint(json_data) - diff --git a/test/tipsy/.gitignore b/test/tipsy/.gitignore deleted file mode 100644 index f0a01d2..0000000 --- a/test/tipsy/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -create_tipsy -read_tipsy -test.tipsy diff --git a/test/tipsy/CMakeLists.txt b/test/tipsy/CMakeLists.txt deleted file mode 100644 index e5dbb01..0000000 --- a/test/tipsy/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.0) - -set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") - -find_package(Eigen3 REQUIRED) -include_directories(${EIGEN3_INCLUDE_DIR}) - -add_executable(create_tipsy create_tipsy.cpp) -add_executable(read_tipsy read_tipsy.cpp) -add_executable(split_tipsy split_tipsy.cpp) -add_executable(reduce_tipsy reduce_tipsy.cpp) diff --git a/test/tipsy/cmake/FindEigen3.cmake b/test/tipsy/cmake/FindEigen3.cmake deleted file mode 100644 index 9c546a0..0000000 --- a/test/tipsy/cmake/FindEigen3.cmake +++ /dev/null @@ -1,81 +0,0 @@ -# - Try to find Eigen3 lib -# -# This module supports requiring a minimum version, e.g. you can do -# find_package(Eigen3 3.1.2) -# to require version 3.1.2 or newer of Eigen3. -# -# Once done this will define -# -# EIGEN3_FOUND - system has eigen lib with correct version -# EIGEN3_INCLUDE_DIR - the eigen include directory -# EIGEN3_VERSION - eigen version - -# Copyright (c) 2006, 2007 Montel Laurent, -# Copyright (c) 2008, 2009 Gael Guennebaud, -# Copyright (c) 2009 Benoit Jacob -# Redistribution and use is allowed according to the terms of the 2-clause BSD license. - -if(NOT Eigen3_FIND_VERSION) - if(NOT Eigen3_FIND_VERSION_MAJOR) - set(Eigen3_FIND_VERSION_MAJOR 2) - endif(NOT Eigen3_FIND_VERSION_MAJOR) - if(NOT Eigen3_FIND_VERSION_MINOR) - set(Eigen3_FIND_VERSION_MINOR 91) - endif(NOT Eigen3_FIND_VERSION_MINOR) - if(NOT Eigen3_FIND_VERSION_PATCH) - set(Eigen3_FIND_VERSION_PATCH 0) - endif(NOT Eigen3_FIND_VERSION_PATCH) - - set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}") -endif(NOT Eigen3_FIND_VERSION) - -macro(_eigen3_check_version) - file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header) - - string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}") - set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}") - string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}") - set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}") - string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}") - set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}") - - set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION}) - if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) - set(EIGEN3_VERSION_OK FALSE) - else(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) - set(EIGEN3_VERSION_OK TRUE) - endif(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) - - if(NOT EIGEN3_VERSION_OK) - - message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, " - "but at least version ${Eigen3_FIND_VERSION} is required") - endif(NOT EIGEN3_VERSION_OK) -endmacro(_eigen3_check_version) - -if (EIGEN3_INCLUDE_DIR) - - # in cache already - _eigen3_check_version() - set(EIGEN3_FOUND ${EIGEN3_VERSION_OK}) - -else (EIGEN3_INCLUDE_DIR) - - find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library - PATHS - ${CMAKE_INSTALL_PREFIX}/include - ${KDE4_INCLUDE_DIR} - PATH_SUFFIXES eigen3 eigen - ) - - if(EIGEN3_INCLUDE_DIR) - _eigen3_check_version() - endif(EIGEN3_INCLUDE_DIR) - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK) - - mark_as_advanced(EIGEN3_INCLUDE_DIR) - -endif(EIGEN3_INCLUDE_DIR) - diff --git a/test/tipsy/create_tipsy.cpp b/test/tipsy/create_tipsy.cpp deleted file mode 100644 index ff916fa..0000000 --- a/test/tipsy/create_tipsy.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include -#include "tipsy.h" - -int main() -{ - std::vector vd{{0.005, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 200000009}}; - std::vector vs{}; - -// std::vector vd{{0.00443292, -0.0120859, -0.0410267, -0.00437124, -1.605, -0.643298, -0.367065, 0.206867, 200000000}, -// {0.00443292, -0.0558513, -0.0209438, -0.0878785, 0.262374, -0.872229, -0.156694, 0.206867, 200000001}, -// {0.00443292, 0.0447762, -0.0448422, -0.0366114, -0.526952, -0.395124, 1.78094, 0.206867, 200000002}, -// {0.00443292, -0.0381424, -0.0317452, 0.0489303, -1.76929, 0.513822, -1.72173, 0.206867, 200000003}, -// {0.00443292, 0.158146, 0.0222634, 0.128441, 0.634014, -0.497379, -0.336336, 0.206867, 200000004}, -// {0.00443292, 0.188687, -0.111929, 0.0948612, -0.107827, 0.4779, -0.517985, 0.206867, 200000005}, -// {0.00443292, 0.179841, -0.142335, 0.0327414, -0.371021, -0.779585, -0.406808, 0.206867, 200000006}, -// {0.00443292, -0.0337725, 0.203328, -0.00501226, 0.0512849, 1.55558, -0.287626, 0.206867, 200000007}}; -// -// std::vector vs{{0.00430987, -0.0269203, 0.0215147, 0.00322919, -0.0424188, 0.809628, -0.663159, 0, 0, 0.204936, 100000000}, -// {0.00430987, 0.0070073, 0.0232225, 0.0373815, 0.783409, 1.0458, -0.00211907, 0, 0, 0.204936, 100000001}, -// {0.00430987, -0.0425167, 0.0320775, 0.0427321, 0.280932, -0.194072, 0.548338, 0, 0, 0.204936, 100000002}, -// {0.00430987, -0.0279896, 0.00917036, 0.0592467, -0.603823, -0.182352, -0.42594, 0, 0, 0.204936, 100000003}, -// {0.00430987, -0.01737, 0.0088137, 0.0705704, -0.320545, -0.58951, 0.346465, 0, 0, 0.204936, 100000004}, -// {0.00430987, -0.0247747, -0.0107097, -0.0589867, 0.0475681, 0.954196, -0.617804, 0, 0, 0.204936, 100000005}, -// {0.00430987, -0.0263219, -0.0303222, -0.0564402, -0.191889, 0.38757, 0.91078, 0, 0, 0.204936, 100000006}, -// {0.00430987, 0.0345237, -0.0248301, 0.0205758, 1.2972, 0.89203, 0.472138, 0, 0, 0.204936, 100000007}}; - -// std::vector vd{{0.0, 1000.0, 1000.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 200000000}, -// {0.0, 1000.0, 1000.0, 1001.0, 0.0, 0.0, 0.0, 0.0, 200000001}, -// {0.0, 1000.0, 1000.0, 1002.0, 0.0, 0.0, 0.0, 0.0, 200000002}, -// {0.0, 1000.0, 1000.0, 1003.0, 0.0, 0.0, 0.0, 0.0, 200000003}}; -// -// std::vector vs{{0.0, 1000.0, 1001.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100000000}, -// {0.0, 1000.0, 1001.0, 1001.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100000001}, -// {0.0, 1000.0, 1001.0, 1002.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100000002}, -// {0.0, 1000.0, 1001.0, 1003.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100000003}}; - - head h(0.0, vd.size() + vs.size(), DIM, 0, vd.size(), vs.size()); - - std::ofstream os("test.tipsy", std::ios::binary); - os.write((char*) &h, sizeof(h)); - - for (auto const& d : vd) os.write((char*) &d, sizeof(d)); - for (auto const& s : vs) os.write((char*) &s, sizeof(s)); -} diff --git a/test/tipsy/read_tipsy.cpp b/test/tipsy/read_tipsy.cpp deleted file mode 100644 index 55f788f..0000000 --- a/test/tipsy/read_tipsy.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include "tipsy.h" -#include -#include -#include - -int main(int argc, char** argv) -{ - std::ifstream is(argv[1], std::ios::binary); - - head h; - is.read((char*) &h, sizeof(h)); - - std::cout << "time = " << h.time << std::endl; - std::cout << "nbodies = " << h.nbodies << std::endl; - std::cout << "ndim = " << h.ndim << std::endl; - std::cout << "nsph = " << h.nsph << std::endl; - std::cout << "ndark = " << h.ndark << std::endl; - std::cout << "nstar= " << h.nstar << std::endl; - - // dark particles - std::set dark_phis; - - for (int i = 0; i != h.ndark; ++i) - { - dark_particle d; - is.read((char*) &d, sizeof(d)); - std::cout << d.mass << " " - << d.pos[0] << " " - << d.pos[1] << " " - << d.pos[2] << " " - << d.vel[0] << " " - << d.vel[1] << " " - << d.vel[2] << " " - << d.eps << " " - << d.phi << std::endl; - dark_phis.insert(d.phi); - } - - std::cout << "dark_phis.size() = " << dark_phis.size() << std::endl; - //for (auto p : dark_phis) std::cout << p << std::endl; - - // star particles - std::set star_phis; - - for (int i = 0; i != h.nstar; ++i) - { - star_particle s; - is.read((char*) &s, sizeof(s)); - std::cout << s.mass << " " - << s.pos[0] << " " - << s.pos[1] << " " - << s.pos[2] << " " - << s.vel[0] << " " - << s.vel[1] << " " - << s.vel[2] << " " - << s.metals << " " - << s.tform << " " - << s.eps << " " - << s.phi << std::endl; - star_phis.insert(s.phi); - } - - std::cout << "star_phis.size() = " << star_phis.size() << std::endl; - //for (auto s : star_phis) std::cout << s << std::endl; -} - diff --git a/test/tipsy/reduce_tipsy.cpp b/test/tipsy/reduce_tipsy.cpp deleted file mode 100644 index 3fbc513..0000000 --- a/test/tipsy/reduce_tipsy.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include -#include "tipsy.h" - -int main(int argc, char** argv) -{ - if (argc != 4) { - std::cout << "USAGE: " << argv[0] << " " << std::endl; - std::cerr << "Wrong number of arguments." << std::endl; - return 1; - } - - std::ifstream is(argv[1], std::ios::binary); - std::ofstream os(argv[2], std::ios::binary); - int reduce_factor = std::stoi(argv[3]); - - head h_in; - is.read((char*) &h_in, sizeof(head)); - - head h_out(h_in); - h_out.nbodies = static_cast(h_out.nbodies / reduce_factor) + (h_out.nbodies % reduce_factor == 0 ? 0 : 1); - h_out.ndark = static_cast(h_out.ndark / reduce_factor) + (h_out.ndark % reduce_factor == 0 ? 0 : 1); - h_out.nstar = static_cast(h_out.nstar / reduce_factor) + (h_out.nstar % reduce_factor == 0 ? 0 : 1); - os.write((char*) &h_out, sizeof(head)); - - dark_particle d; - for (int i = 0; i != h_in.ndark; ++i) - { - is.read((char*) &d, sizeof(dark_particle)); - if (i % reduce_factor == 0) { - d.mass *= reduce_factor; - os.write((char*) &d, sizeof(dark_particle)); - } - } - - star_particle s; - for (int i = 0; i != h_in.nstar; ++i) - { - is.read((char*) &s, sizeof(star_particle)); - if (i % reduce_factor == 0) { - s.mass *= reduce_factor; - os.write((char*) &s, sizeof(star_particle)); - } - } -} diff --git a/test/tipsy/split_tipsy.cpp b/test/tipsy/split_tipsy.cpp deleted file mode 100644 index 91e2aab..0000000 --- a/test/tipsy/split_tipsy.cpp +++ /dev/null @@ -1,135 +0,0 @@ -#include -#include -#include -#include "tipsy.h" - -int main(int argc, char** argv) -{ - if (argc != 2) { - std::cout << "Usage: " << argv[0] << " " << std::endl; - exit(1); - } - - std::ifstream is(argv[1], std::ios::binary); - - head h; - is.read((char*) &h, sizeof(h)); - int after_header = is.tellg(); - - std::cout << "time = " << h.time << std::endl; - std::cout << "nbodies = " << h.nbodies << std::endl; - std::cout << "ndim = " << h.ndim << std::endl; - std::cout << "nsph = " << h.nsph << std::endl; - std::cout << "ndark = " << h.ndark << std::endl; - std::cout << "nstar = " << h.nstar << std::endl; - - double x,y,z; - Eigen::Vector3d S; - S.setZero(); - -// Eigen::Matrix3d I; -// I.setZero(); - - dark_particle d; - for (int i = 0; i < h.ndark; ++i) - { - is.read((char*) &d, sizeof(d)); - - x = d.pos[0]; - y = d.pos[1]; - z = d.pos[2]; - -// I(0,0) += y*y + z*z; -// I(0,1) += -x*y; -// I(0,2) += -x*z; -// I(1,0) += -y*x; -// I(1,1) += x*x + z*z; -// I(1,2) += -y*z; -// I(2,0) += -z*x; -// I(2,1) += -z*y; -// I(2,2) += x*x + y*y; - - S(0) += x; - S(1) += y; - S(2) += z; - } - - star_particle s; - for (int i = 0; i < h.nstar; ++i) - { - is.read((char*) &s, sizeof(s)); - - x = s.pos[0]; - y = s.pos[1]; - z = s.pos[2]; - -// I(0,0) += y*y + z*z; -// I(0,1) += -x*y; -// I(0,2) += -x*z; -// I(1,0) += -y*x; -// I(1,1) += x*x + z*z; -// I(1,2) += -y*z; -// I(2,0) += -z*x; -// I(2,1) += -z*y; -// I(2,2) += x*x + y*y; - - S(0) += x; - S(1) += y; - S(2) += z; - } - - is.seekg(after_header); - -// Eigen::EigenSolver eigen_solver(I); -// std::cout << eigen_solver.eigenvalues() << std::endl; -// std::cout << eigen_solver.eigenvectors().col(0) << std::endl; -// std::cout << eigen_solver.eigenvectors().col(1) << std::endl; -// std::cout << eigen_solver.eigenvectors().col(2) << std::endl; - - S /= h.nbodies; - std::cout << "center = " << S[0] << std::endl; - - head h1, h2; - - for (int i = 0; i < h.ndark; ++i) - { - is.read((char*) &d, sizeof(d)); - if (d.pos[0] > S(0)) ++h1.ndark; - else ++h2.ndark; - } - - for (int i = 0; i < h.nstar; ++i) - { - is.read((char*) &s, sizeof(s)); - if (s.pos[0] > S(0)) ++h1.nstar; - else ++h2.nstar; - } - - h1.nbodies = h1.ndark + h1.nstar; - h2.nbodies = h2.ndark + h2.nstar; - - std::cout << "h1.nbodies = " << h1.nbodies << std::endl; - std::cout << "h2.nbodies = " << h2.nbodies << std::endl; - - std::ofstream os1("1.tipsy", std::ios::binary); - std::ofstream os2("2.tipsy", std::ios::binary); - - os1.write((char*) &h1, sizeof(h1)); - os2.write((char*) &h2, sizeof(h2)); - - is.seekg(after_header); - - for (int i = 0; i < h.ndark; ++i) - { - is.read((char*) &d, sizeof(d)); - if (d.pos[0] > S(0)) os1.write((char*) &d, sizeof(d)); - else os2.write((char*) &d, sizeof(d)); - } - - for (int i = 0; i < h.nstar; ++i) - { - is.read((char*) &s, sizeof(s)); - if (s.pos[0] > S(0)) os1.write((char*) &s, sizeof(s)); - else os2.write((char*) &s, sizeof(s)); - } -} diff --git a/test/tipsy/tipsy.h b/test/tipsy/tipsy.h deleted file mode 100644 index ef23377..0000000 --- a/test/tipsy/tipsy.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef TIPSY_H -#define TIPSY_H - -#define DIM 3 -typedef float Real; - -struct head { - - head(double time = 0.0, int nbodies = 0, int ndim = 0, int nsph = 0, int ndark = 0, int nstar = 0) - : time(time), nbodies(nbodies), ndim(ndim), nsph(nsph), ndark(ndark), nstar(nstar) - {} - - head(head const& other) - : time(other.time), nbodies(other.nbodies), ndim(other.ndim), nsph(other.nsph), ndark(other.ndark), nstar(other.nstar) - {} - - double time; - int nbodies; - int ndim; - int nsph; - int ndark; - int nstar; -}; - -struct dark_particle -{ - dark_particle(float mass = 0.0, float posx = 0.0, float posy = 0.0, float posz = 0.0, - float velx = 0.0, float vely = 0.0, float velz = 0.0, float eps = 0.0, int phi = 0) - : mass(mass), eps(eps), phi(phi) - { - pos[0] = posx; - pos[1] = posy; - pos[2] = posz; - vel[0] = velx; - vel[1] = vely; - vel[2] = velz; - } - - float mass; - float pos[DIM]; - float vel[DIM]; - float eps; - int phi; -}; - -struct star_particle { - - star_particle(float mass = 0.0, float posx = 0.0, float posy = 0.0, float posz = 0.0, - float velx = 0.0, float vely = 0.0, float velz = 0.0, float metals = 0.0, - float tform = 0.0, float eps = 0.0, int phi = 0) - : mass(mass), pos(), vel(), metals(metals), tform(tform), eps(eps), phi(phi) - { - pos[0] = posx; - pos[1] = posy; - pos[2] = posz; - vel[0] = velx; - vel[1] = vely; - vel[2] = velz; - } - - float mass; - float pos[DIM]; - float vel[DIM]; - float metals; - float tform; - float eps; - int phi; -}; - -#endif // TIPSY_H diff --git a/test/sockets/CMakeLists.txt b/tools/war-of-galaxies/CMakeLists.txt similarity index 100% rename from test/sockets/CMakeLists.txt rename to tools/war-of-galaxies/CMakeLists.txt diff --git a/test/sockets/client.py b/tools/war-of-galaxies/client.py similarity index 100% rename from test/sockets/client.py rename to tools/war-of-galaxies/client.py diff --git a/test/sockets/client_json.py b/tools/war-of-galaxies/client_json.py similarity index 100% rename from test/sockets/client_json.py rename to tools/war-of-galaxies/client_json.py diff --git a/test/sockets/client_json_string.py b/tools/war-of-galaxies/client_json_string.py similarity index 100% rename from test/sockets/client_json_string.py rename to tools/war-of-galaxies/client_json_string.py diff --git a/test/sockets/data.pb.cc b/tools/war-of-galaxies/data.pb.cc similarity index 100% rename from test/sockets/data.pb.cc rename to tools/war-of-galaxies/data.pb.cc diff --git a/test/sockets/data.pb.h b/tools/war-of-galaxies/data.pb.h similarity index 100% rename from test/sockets/data.pb.h rename to tools/war-of-galaxies/data.pb.h diff --git a/test/sockets/data.proto b/tools/war-of-galaxies/data.proto similarity index 100% rename from test/sockets/data.proto rename to tools/war-of-galaxies/data.proto diff --git a/test/sockets/data_pb2.py b/tools/war-of-galaxies/data_pb2.py similarity index 100% rename from test/sockets/data_pb2.py rename to tools/war-of-galaxies/data_pb2.py diff --git a/test/sockets/json_examples b/tools/war-of-galaxies/json_examples similarity index 100% rename from test/sockets/json_examples rename to tools/war-of-galaxies/json_examples diff --git a/test/sockets/server.cpp b/tools/war-of-galaxies/server.cpp similarity index 100% rename from test/sockets/server.cpp rename to tools/war-of-galaxies/server.cpp diff --git a/test/sockets/test.py b/tools/war-of-galaxies/test.py similarity index 100% rename from test/sockets/test.py rename to tools/war-of-galaxies/test.py From 5ad6d27e1965b89a6cf6ad90b81506eb438efc06 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 18 Dec 2017 13:49:55 +0100 Subject: [PATCH 65/78] correct number_of_users allocation and change type to ullong --- runtime/src/WOGManager.cpp | 2 ++ runtime/src/gpu_iterate.cpp | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index e9b6e42..027d680 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -28,6 +28,8 @@ WOGManager::WOGManager(octree *tree, std::string const& path, int port, int wind deletion_radius_factor(deletion_radius_factor), deletion_radius_square(0.0) { + user_particles.ccalloc(number_of_users); + read_galaxies(path); reshape(window_width, window_height); diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 9136809..898b83a 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -131,7 +131,7 @@ void octree::releaseGalaxy(Galaxy const& galaxy) vector new_pos; vector new_vel; - vector new_ids; + vector new_ids; int old_nb_particles = this->localTree.n; int new_nb_particles = old_nb_particles + galaxy.pos.size(); @@ -158,7 +158,7 @@ void octree::releaseGalaxy(Galaxy const& galaxy) // Copy back to host storage memcpy(&this->localTree.bodies_pos[0], &new_pos[0], sizeof(real4) * new_nb_particles); memcpy(&this->localTree.bodies_vel[0], &new_vel[0], sizeof(real4) * new_nb_particles); - memcpy(&this->localTree.bodies_ids[0], &new_ids[0], sizeof(int) * new_nb_particles); + memcpy(&this->localTree.bodies_ids[0], &new_ids[0], sizeof(ullong) * new_nb_particles); float2 curTime = this->localTree.bodies_time[0]; for (int i(0); i != new_nb_particles; ++i) @@ -193,7 +193,7 @@ void octree::removeGalaxy(int user_id) vector new_pos; vector new_vel; - vector new_ids; + vector new_ids; int old_nb_particles = this->localTree.n; int new_nb_particles = 0; @@ -215,7 +215,7 @@ void octree::removeGalaxy(int user_id) // Copy back to host storage memcpy(&this->localTree.bodies_pos[0], &new_pos[0], sizeof(real4) * new_nb_particles); memcpy(&this->localTree.bodies_vel[0], &new_vel[0], sizeof(real4) * new_nb_particles); - memcpy(&this->localTree.bodies_ids[0], &new_ids[0], sizeof(int) * new_nb_particles); + memcpy(&this->localTree.bodies_ids[0], &new_ids[0], sizeof(ullong) * new_nb_particles); float2 curTime = this->localTree.bodies_time[0]; for(int i=0; i < this->localTree.n; i++) @@ -259,7 +259,7 @@ void octree::removeParticles(real deletion_radius_square, my_dev::dev_mem vector new_pos; vector new_vel; - vector new_ids; + vector new_ids; int old_nb_particles = this->localTree.n; int new_nb_particles = 0; @@ -287,7 +287,7 @@ void octree::removeParticles(real deletion_radius_square, my_dev::dev_mem // Copy back to host storage memcpy(&this->localTree.bodies_pos[0], &new_pos[0], sizeof(real4) * new_nb_particles); memcpy(&this->localTree.bodies_vel[0], &new_vel[0], sizeof(real4) * new_nb_particles); - memcpy(&this->localTree.bodies_ids[0], &new_ids[0], sizeof(int) * new_nb_particles); + memcpy(&this->localTree.bodies_ids[0], &new_ids[0], sizeof(ullong) * new_nb_particles); float2 curTime = this->localTree.bodies_time[0]; for(int i=0; i < this->localTree.n; i++) From aa51c9e0b77a64a08e0d76777f101f2824213424 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 18 Dec 2017 13:52:08 +0100 Subject: [PATCH 66/78] fix #1211: Camera distance not correctly set --- runtime/include/WOGManager.h | 3 +++ runtime/src/renderloop.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/runtime/include/WOGManager.h b/runtime/include/WOGManager.h index 0237078..6e2a93c 100644 --- a/runtime/include/WOGManager.h +++ b/runtime/include/WOGManager.h @@ -50,6 +50,9 @@ class WOGManager /// Must be called by glutReshapeFunc void reshape(int width, int height); + /// Return camera distance + real get_camera_distance() const { return camera_distance; } + private: /// Read all galaxy types diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index 6494728..b84f24a 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -1120,7 +1120,7 @@ class BonsaiDemo float distanceToCenter = radius / sinf(0.5f * fovRads); //m_cameraTrans = center + make_float3(0, 0, -distanceToCenter*0.2f); - m_cameraTrans = make_float3(0, 0, -500); + m_cameraTrans = make_float3(0, 0, -m_wogManager.get_camera_distance()); printf("camera trans %f %f %f \n",m_cameraTrans.x, m_cameraTrans.y, m_cameraTrans.z); #if 0 From e584f788d9393ace6ab33f42b3664f89e2a37ed5 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Mon, 18 Dec 2017 15:48:51 +0100 Subject: [PATCH 67/78] replace jsoncons by submodule version 0.100.2 --- .gitmodules | 3 + runtime/CMakeLists.txt | 1 + runtime/extern/jsoncons | 1 + runtime/include/jsoncons/json.hpp | 3530 ----------------- .../include/jsoncons/json_deserializer.hpp | 267 -- .../include/jsoncons/json_error_category.hpp | 111 - runtime/include/jsoncons/json_filter.hpp | 324 -- .../include/jsoncons/json_input_handler.hpp | 282 -- .../include/jsoncons/json_output_handler.hpp | 262 -- runtime/include/jsoncons/json_parser.hpp | 1583 -------- runtime/include/jsoncons/json_parser.hpp.orig | 2157 ---------- runtime/include/jsoncons/json_reader.hpp | 176 - runtime/include/jsoncons/json_serializer.hpp | 318 -- runtime/include/jsoncons/json_structures.hpp | 895 ----- runtime/include/jsoncons/json_type_traits.hpp | 594 --- runtime/include/jsoncons/jsoncons.hpp | 347 -- runtime/include/jsoncons/jsoncons_config.hpp | 123 - runtime/include/jsoncons/jsoncons_io.hpp | 358 -- runtime/include/jsoncons/output_format.hpp | 265 -- runtime/include/jsoncons/ovectorstream.hpp | 227 -- .../include/jsoncons/parse_error_handler.hpp | 172 - 21 files changed, 5 insertions(+), 11991 deletions(-) create mode 100644 .gitmodules create mode 160000 runtime/extern/jsoncons delete mode 100644 runtime/include/jsoncons/json.hpp delete mode 100644 runtime/include/jsoncons/json_deserializer.hpp delete mode 100644 runtime/include/jsoncons/json_error_category.hpp delete mode 100644 runtime/include/jsoncons/json_filter.hpp delete mode 100644 runtime/include/jsoncons/json_input_handler.hpp delete mode 100644 runtime/include/jsoncons/json_output_handler.hpp delete mode 100644 runtime/include/jsoncons/json_parser.hpp delete mode 100644 runtime/include/jsoncons/json_parser.hpp.orig delete mode 100644 runtime/include/jsoncons/json_reader.hpp delete mode 100644 runtime/include/jsoncons/json_serializer.hpp delete mode 100644 runtime/include/jsoncons/json_structures.hpp delete mode 100644 runtime/include/jsoncons/json_type_traits.hpp delete mode 100644 runtime/include/jsoncons/jsoncons.hpp delete mode 100644 runtime/include/jsoncons/jsoncons_config.hpp delete mode 100644 runtime/include/jsoncons/jsoncons_io.hpp delete mode 100644 runtime/include/jsoncons/output_format.hpp delete mode 100644 runtime/include/jsoncons/ovectorstream.hpp delete mode 100644 runtime/include/jsoncons/parse_error_handler.hpp diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..8afcb10 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "runtime/extern/jsoncons"] + path = runtime/extern/jsoncons + url = https://github.com/danielaparker/jsoncons.git diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index eb88034..a6a5f5b 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -289,6 +289,7 @@ endif (USE_OPENGL) if (WAR_OF_GALAXIES) add_definitions(-DWAR_OF_GALAXIES) add_definitions("-std=gnu++11") + include_directories(${CMAKE_SOURCE_DIR}/extern/jsoncons/include) endif (WAR_OF_GALAXIES) #The SSE support for the local tree walks diff --git a/runtime/extern/jsoncons b/runtime/extern/jsoncons new file mode 160000 index 0000000..3d8df17 --- /dev/null +++ b/runtime/extern/jsoncons @@ -0,0 +1 @@ +Subproject commit 3d8df17407420ad5d041d2fd9df24ee8be8c72f5 diff --git a/runtime/include/jsoncons/json.hpp b/runtime/include/jsoncons/json.hpp deleted file mode 100644 index 0bef8b9..0000000 --- a/runtime/include/jsoncons/json.hpp +++ /dev/null @@ -1,3530 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_HPP -#define JSONCONS_JSON_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "json_structures.hpp" -#include "jsoncons/jsoncons.hpp" -#include "jsoncons/json_output_handler.hpp" -#include "jsoncons/output_format.hpp" -#include "jsoncons/json_serializer.hpp" -#include "jsoncons/json_deserializer.hpp" -#include "jsoncons/json_reader.hpp" -#include "jsoncons/json_type_traits.hpp" - -#if defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wswitch" -#endif - -namespace jsoncons { - -template -T* create_impl(const Alloc& allocator, Args&& ... args) -{ - typename std::allocator_traits:: template rebind_alloc alloc(allocator); - T* storage = alloc.allocate(1); - try - { - std::allocator_traits:: template rebind_traits::construct(alloc, storage, std::forward(args)...); - } - catch (...) - { - alloc.deallocate(storage,1); - throw; - } - return storage; -} - -template -void destroy_impl(const Alloc& allocator, T* p) -{ - typename std::allocator_traits:: template rebind_alloc alloc(allocator); - std::allocator_traits:: template rebind_traits::destroy(alloc, p); - alloc.deallocate(p,1); -} - -template -class serializable_any -{ -public: - typedef Alloc allocator_type; - - serializable_any(const Alloc& allocator = Alloc()) - : impl_(nullptr) - { - (void)allocator; - } - serializable_any(const serializable_any& val) - : allocator_(std::allocator_traits::select_on_container_copy_construction(val.get_allocator())) - { - impl_ = val.impl_ != nullptr ? val.impl_->clone(allocator_) : nullptr; - } - serializable_any(const serializable_any& val, const Alloc& allocator) - { - (void)allocator; - impl_ = val.impl_ != nullptr ? val.impl_->clone(Alloc()) : nullptr; - } - - serializable_any(serializable_any&& val) - : impl_(std::move(val.impl_)) - { - val.impl_ = nullptr; - } - serializable_any(serializable_any&& val, const Alloc& allocator) - : impl_(std::move(val.impl_)) - { - (void)allocator; - val.impl_ = nullptr; - } - ~serializable_any() - { - if (impl_ != nullptr) - { - destroy_impl(allocator_,impl_); - } - } - - template - explicit serializable_any(T val) - { - impl_ = create_impl::value_type>>(allocator_,val); - } - - Alloc get_allocator() const - { - return allocator_; - } - - template - typename type_wrapper::reference cast() - { - if (typeid(*impl_) != typeid(any_handle_impl::value_type>)) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad serializable_any cast"); - } - return static_cast::value_type>&>(*impl_).value_; - } - - template - typename type_wrapper::const_reference cast() const - { - if (typeid(*impl_) != typeid(any_handle_impl::value_type>)) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad serializable_any cast"); - } - return static_cast::value_type>&>(*impl_).value_; - } - - serializable_any& operator=(serializable_any rhs) - { - std::swap(impl_,rhs.impl_); - return *this; - } - - void to_stream(basic_json_output_handler& os) const - { - impl_->to_stream(os); - } - - class any_handle - { - public: - virtual ~any_handle() - { - } - - virtual any_handle* clone(const Alloc& allocator) const = 0; - - virtual void to_stream(basic_json_output_handler& os) const = 0; - }; - - template - class any_handle_impl : public any_handle - { - public: - any_handle_impl(T value, const Alloc& allocator = Alloc()) - : value_(value) - { - (void)allocator; - } - - virtual any_handle* clone(const Alloc& allocator) const - { - return create_impl>(allocator, value_); - } - - virtual void to_stream(basic_json_output_handler& os) const - { - serialize(os,value_); - } - - T value_; - }; - - Alloc allocator_; - any_handle* impl_; -}; - -template inline -void serialize(basic_json_output_handler& os, const T&) -{ - os.value(null_type()); -} - -template -class basic_parse_error_handler; - -enum class value_types : uint8_t -{ - // Simple types - empty_object_t, - small_string_t, - double_t, - integer_t, - uinteger_t, - bool_t, - null_t, - // Non simple types - string_t, - object_t, - array_t, - any_t -}; - -inline -bool is_simple(value_types type) -{ - return type < value_types::string_t; -} - -template > -class basic_json -{ -public: - - typedef Alloc allocator_type; - - typedef CharT char_type; - typedef typename std::char_traits char_traits_type; - - typedef typename std::allocator_traits:: template rebind_alloc string_allocator; - typedef std::basic_string string_type; - typedef basic_json value_type; - typedef name_value_pair member_type; - - typedef typename std::allocator_traits:: template rebind_alloc> array_allocator; - - typedef typename std::allocator_traits:: template rebind_alloc object_allocator; - - typedef json_array,array_allocator> array; - typedef json_object,object_allocator> object; - typedef serializable_any any; - - typedef jsoncons::null_type null_type; - - typedef typename object::iterator object_iterator; - typedef typename object::const_iterator const_object_iterator; - typedef typename array::iterator array_iterator; - typedef typename array::const_iterator const_array_iterator; - - template - class range - { - IteratorT first_; - IteratorT last_; - public: - range(const IteratorT& first, const IteratorT& last) - : first_(first), last_(last) - { - } - - public: - friend class basic_json; - - IteratorT begin() - { - return first_; - } - IteratorT end() - { - return last_; - } - }; - - typedef range object_range; - typedef range const_object_range; - typedef range array_range; - typedef range const_array_range; - - struct variant - { - struct string_data : public string_allocator - { - const char_type* c_str() const { return p_; } - const char_type* data() const { return p_; } - size_t length() const { return length_; } - string_allocator get_allocator() const - { - return *this; - } - - bool operator==(const string_data& rhs) const - { - return length() == rhs.length() ? std::char_traits::compare(data(), rhs.data(), length()) == 0 : false; - } - - string_data(const string_allocator& allocator) - : string_allocator(allocator), p_(nullptr), length_(0) - { - } - - char_type* p_; - size_t length_; - private: - string_data(const string_data&); - string_data& operator=(const string_data&); - }; - - struct string_dataA - { - string_data data; - char_type c[1]; - }; - typedef typename std::aligned_storage::type storage_type; - - static size_t aligned_size(size_t n) - { - return sizeof(storage_type) + n; - } - - string_data* create_string_data(const char_type* s, size_t length, const string_allocator& allocator) - { - size_t mem_size = aligned_size(length*sizeof(char_type)); - - typename std::allocator_traits:: template rebind_alloc alloc(allocator); - - char* storage = alloc.allocate(mem_size); - string_data* ps = new(storage)string_data(allocator); - auto psa = reinterpret_cast(storage); - - ps->p_ = new(&psa->c)char_type[length + 1]; - memcpy(ps->p_, s, length*sizeof(char_type)); - ps->p_[length] = 0; - ps->length_ = length; - return ps; - } - - void destroy_string_data(const string_allocator& allocator, string_data* p) - { - size_t mem_size = aligned_size(p->length_*sizeof(char_type)); - typename std::allocator_traits:: template rebind_alloc alloc(allocator); - alloc.deallocate(reinterpret_cast(p),mem_size); - } - - static const size_t small_string_capacity = (sizeof(int64_t)/sizeof(char_type)) - 1; - - variant() - : type_(value_types::empty_object_t) - { - } - - variant(const Alloc& a) - : type_(value_types::object_t) - { - value_.object_val_ = create_impl(a, object_allocator(a)); - } - - variant(std::initializer_list init, - const Alloc& a) - : type_(value_types::array_t) - { - value_.array_val_ = create_impl(a, std::move(init), array_allocator(a)); - } - - explicit variant(variant&& var) - : type_(value_types::null_t) - { - swap(var); - } - - explicit variant(variant&& var, const Alloc& a) - : type_(value_types::null_t) - { - swap(var); - } - - explicit variant(const variant& var) - { - init_variant(var); - } - explicit variant(const variant& var, const Alloc& a) - : type_(var.type_) - { - init_variant(var); - } - - variant(const object & val) - : type_(value_types::object_t) - { - value_.object_val_ = create_impl(val.get_allocator(), val) ; - } - - variant(const object & val, const Alloc& a) - : type_(value_types::object_t) - { - value_.object_val_ = create_impl(a, val, object_allocator(a)) ; - } - - variant(object&& val) - : type_(value_types::object_t) - { - value_.object_val_ = create_impl(val.get_allocator(), std::move(val)); - } - - variant(object&& val, const Alloc& a) - : type_(value_types::object_t) - { - value_.object_val_ = create_impl(a, std::move(val), object_allocator(a)); - } - - variant(const array& val) - : type_(value_types::array_t) - { - value_.array_val_ = create_impl(val.get_allocator(), val); - } - - variant(const array& val, const Alloc& a) - : type_(value_types::array_t) - { - value_.array_val_ = create_impl(a, val, array_allocator(a)); - } - - variant(array&& val) - : type_(value_types::array_t) - { - value_.array_val_ = create_impl(val.get_allocator(), std::move(val)); - } - - variant(array&& val, const Alloc& a) - : type_(value_types::array_t) - { - value_.array_val_ = create_impl(a, std::move(val), array_allocator(a)); - } - - explicit variant(const any& val, const Alloc& a) - : type_(value_types::any_t) - { - value_.any_val_ = create_impl(a, val); - } - - explicit variant(null_type) - : type_(value_types::null_t) - { - } - - explicit variant(bool val) - : type_(value_types::bool_t) - { - value_.bool_val_ = val; - } - - explicit variant(double val, uint8_t precision) - : type_(value_types::double_t), length_or_precision_(precision) - { - value_.double_val_ = val; - } - - explicit variant(int64_t val) - : type_(value_types::integer_t) - { - value_.integer_val_ = val; - } - - explicit variant(uint64_t val) - : type_(value_types::uinteger_t) - { - value_.uinteger_val_ = val; - } - - explicit variant(const string_type& s, const Alloc& a) - { - if (s.length() > variant::small_string_capacity) - { - type_ = value_types::string_t; - //value_.string_val_ = create_impl(a, s, string_allocator(a)); - value_.string_val_ = create_string_data(s.data(), s.length(), string_allocator(a)); - } - else - { - type_ = value_types::small_string_t; - length_or_precision_ = static_cast(s.length()); - std::memcpy(value_.small_string_val_,s.data(),s.length()*sizeof(char_type)); - value_.small_string_val_[length_or_precision_] = 0; - } - } - - explicit variant(const char_type* s, const Alloc& a) - { - size_t length = std::char_traits::length(s); - if (length > variant::small_string_capacity) - { - type_ = value_types::string_t; - //value_.string_val_ = create_impl(a, s, string_allocator(a)); - value_.string_val_ = create_string_data(s, length, string_allocator(a)); - } - else - { - type_ = value_types::small_string_t; - length_or_precision_ = static_cast(length); - std::memcpy(value_.small_string_val_,s,length*sizeof(char_type)); - value_.small_string_val_[length_or_precision_] = 0; - } - } - - explicit variant(const char_type* s, size_t length, const Alloc& a) - { - if (length > variant::small_string_capacity) - { - type_ = value_types::string_t; - //value_.string_val_ = create_impl(a, s, length, string_allocator(a)); - value_.string_val_ = create_string_data(s, length, string_allocator(a)); - } - else - { - type_ = value_types::small_string_t; - length_or_precision_ = static_cast(length); - std::memcpy(value_.small_string_val_,s,length*sizeof(char_type)); - value_.small_string_val_[length_or_precision_] = 0; - } - } - - template - variant(InputIterator first, InputIterator last, const Alloc& a) - : type_(value_types::array_t) - { - value_.array_val_ = create_impl(a, first, last, array_allocator(a)); - } - - void init_variant(const variant& var) - { - type_ = var.type_; - switch (type_) - { - case value_types::null_t: - case value_types::empty_object_t: - break; - case value_types::double_t: - length_or_precision_ = 0; - value_.double_val_ = var.value_.double_val_; - break; - case value_types::integer_t: - value_.integer_val_ = var.value_.integer_val_; - break; - case value_types::uinteger_t: - value_.uinteger_val_ = var.value_.uinteger_val_; - break; - case value_types::bool_t: - value_.bool_val_ = var.value_.bool_val_; - break; - case value_types::small_string_t: - length_or_precision_ = var.length_or_precision_; - std::memcpy(value_.small_string_val_,var.value_.small_string_val_,var.length_or_precision_*sizeof(char_type)); - value_.small_string_val_[length_or_precision_] = 0; - break; - case value_types::string_t: - //value_.string_val_ = create_impl(var.value_.string_val_->get_allocator(), *(var.value_.string_val_), string_allocator(var.value_.string_val_->get_allocator())); - value_.string_val_ = create_string_data(var.value_.string_val_->data(), var.value_.string_val_->length(), string_allocator(var.value_.string_val_->get_allocator())); - break; - case value_types::array_t: - value_.array_val_ = create_impl(var.value_.array_val_->get_allocator(), *(var.value_.array_val_), array_allocator(var.value_.array_val_->get_allocator())); - break; - case value_types::object_t: - value_.object_val_ = create_impl(var.value_.object_val_->get_allocator(), *(var.value_.object_val_), object_allocator(var.value_.object_val_->get_allocator())); - break; - case value_types::any_t: - value_.any_val_ = create_impl(var.value_.any_val_->get_allocator(), *(var.value_.any_val_)); - break; - default: - break; - } - } - - ~variant() - { - destroy_variant(); - } - - void destroy_variant() - { - switch (type_) - { - case value_types::string_t: - //destroy_impl(value_.string_val_->get_allocator(), value_.string_val_); - destroy_string_data(value_.string_val_->get_allocator(), value_.string_val_); - break; - case value_types::array_t: - destroy_impl(value_.array_val_->get_allocator(), value_.array_val_); - break; - case value_types::object_t: - destroy_impl(value_.object_val_->get_allocator(), value_.object_val_); - break; - case value_types::any_t: - destroy_impl(value_.any_val_->get_allocator(), value_.any_val_); - break; - default: - break; - } - } - - variant& operator=(const variant& val) - { - if (this != &val) - { - if (is_simple(type_)) - { - if (is_simple(val.type_)) - { - type_ = val.type_; - length_or_precision_ = val.length_or_precision_; - value_ = val.value_; - } - else - { - init_variant(val); - } - } - else - { - destroy_variant(); - init_variant(val); - } - } - return *this; - } - - variant& operator=(variant&& val) - { - if (this != &val) - { - val.swap(*this); - } - return *this; - } - - void assign(const object & val) - { - destroy_variant(); - type_ = value_types::object_t; - value_.object_val_ = create_impl(val.get_allocator(), val, object_allocator(val.get_allocator())); - } - - void assign(object && val) - { - switch (type_) - { - case value_types::object_t: - value_.object_val_->swap(val); - break; - default: - destroy_variant(); - type_ = value_types::object_t; - value_.object_val_ = create_impl(val.get_allocator(), std::move(val), object_allocator(val.get_allocator())); - break; - } - } - - void assign(const array& val) - { - destroy_variant(); - type_ = value_types::array_t; - value_.array_val_ = create_impl(val.get_allocator(), val, array_allocator(val.get_allocator())) ; - } - - void assign(array&& val) - { - switch (type_) - { - case value_types::array_t: - value_.array_val_->swap(val); - break; - default: - destroy_variant(); - type_ = value_types::array_t; - value_.array_val_ = create_impl(val.get_allocator(), std::move(val), array_allocator(val.get_allocator())); - break; - } - } - - void assign(const string_type& s) - { - destroy_variant(); - if (s.length() > variant::small_string_capacity) - { - type_ = value_types::string_t; - //value_.string_val_ = create_impl(s.get_allocator(), s, string_allocator(s.get_allocator())); - value_.string_val_ = create_string_data(s.data(), s.length(), string_allocator(s.get_allocator())); - } - else - { - type_ = value_types::small_string_t; - length_or_precision_ = static_cast(s.length()); - std::memcpy(value_.small_string_val_,s.data(),s.length()*sizeof(char_type)); - value_.small_string_val_[length_or_precision_] = 0; - } - } - - void assign_string(const char_type* s, size_t length, const Alloc& allocator = Alloc()) - { - destroy_variant(); - if (length > variant::small_string_capacity) - { - type_ = value_types::string_t; - //value_.string_val_ = create_impl(allocator, s, length, string_allocator(allocator)); - value_.string_val_ = create_string_data(s, length, string_allocator(allocator)); - } - else - { - type_ = value_types::small_string_t; - length_or_precision_ = static_cast(length); - std::memcpy(value_.small_string_val_,s,length*sizeof(char_type)); - value_.small_string_val_[length_or_precision_] = 0; - } - } - - void assign(int64_t val) - { - destroy_variant(); - type_ = value_types::integer_t; - value_.integer_val_ = val; - } - - void assign(uint64_t val) - { - destroy_variant(); - type_ = value_types::uinteger_t; - value_.uinteger_val_ = val; - } - - void assign(double val, uint8_t precision = 0) - { - destroy_variant(); - type_ = value_types::double_t; - length_or_precision_ = precision; - value_.double_val_ = val; - } - - void assign(bool val) - { - destroy_variant(); - type_ = value_types::bool_t; - value_.bool_val_ = val; - } - - void assign(null_type) - { - destroy_variant(); - type_ = value_types::null_t; - } - - void assign(const any& rhs) - { - destroy_variant(); - type_ = value_types::any_t; - value_.any_val_ = create_impl(rhs.get_allocator(), rhs); - } - - bool operator!=(const variant& rhs) const - { - return !(*this == rhs); - } - - bool operator==(const variant& rhs) const - { - if (is_number() & rhs.is_number()) - { - switch (type_) - { - case value_types::integer_t: - switch (rhs.type_) - { - case value_types::integer_t: - return value_.integer_val_ == rhs.value_.integer_val_; - case value_types::uinteger_t: - return value_.integer_val_ == rhs.value_.uinteger_val_; - case value_types::double_t: - return value_.integer_val_ == rhs.value_.double_val_; - default: - break; - } - break; - case value_types::uinteger_t: - switch (rhs.type_) - { - case value_types::integer_t: - return value_.uinteger_val_ == rhs.value_.integer_val_; - case value_types::uinteger_t: - return value_.uinteger_val_ == rhs.value_.uinteger_val_; - case value_types::double_t: - return value_.uinteger_val_ == rhs.value_.double_val_; - default: - break; - } - break; - case value_types::double_t: - switch (rhs.type_) - { - case value_types::integer_t: - return value_.double_val_ == rhs.value_.integer_val_; - case value_types::uinteger_t: - return value_.double_val_ == rhs.value_.uinteger_val_; - case value_types::double_t: - return value_.double_val_ == rhs.value_.double_val_; - default: - break; - } - break; - default: - break; - } - } - - if (rhs.type_ != type_) - { - return false; - } - switch (type_) - { - case value_types::bool_t: - return value_.bool_val_ == rhs.value_.bool_val_; - case value_types::null_t: - case value_types::empty_object_t: - return true; - case value_types::small_string_t: - return length_or_precision_ == rhs.length_or_precision_ ? std::char_traits::compare(value_.small_string_val_,rhs.value_.small_string_val_,length_or_precision_) == 0 : false; - case value_types::string_t: - return *(value_.string_val_) == *(rhs.value_.string_val_); - case value_types::array_t: - return *(value_.array_val_) == *(rhs.value_.array_val_); - break; - case value_types::object_t: - return *(value_.object_val_) == *(rhs.value_.object_val_); - break; - case value_types::any_t: - break; - default: - // throw - break; - } - return false; - } - - bool is_null() const JSONCONS_NOEXCEPT - { - return type_ == value_types::null_t; - } - - bool is_bool() const JSONCONS_NOEXCEPT - { - return type_ == value_types::bool_t; - } - - bool empty() const JSONCONS_NOEXCEPT - { - switch (type_) - { - case value_types::small_string_t: - return length_or_precision_ == 0; - case value_types::string_t: - return value_.string_val_->length() == 0; - case value_types::array_t: - return value_.array_val_->size() == 0; - case value_types::empty_object_t: - return true; - case value_types::object_t: - return value_.object_val_->size() == 0; - default: - return false; - } - } - - bool is_string() const JSONCONS_NOEXCEPT - { - return (type_ == value_types::string_t) | (type_ == value_types::small_string_t); - } - - bool is_number() const JSONCONS_NOEXCEPT - { - return type_ == value_types::double_t || type_ == value_types::integer_t || type_ == value_types::uinteger_t; - } - - void swap(variant& rhs) - { - using std::swap; - if (this == &rhs) - { - // same object, do nothing - } - else - { - swap(type_, rhs.type_); - swap(length_or_precision_, rhs.length_or_precision_); - swap(value_, rhs.value_); - } - } - - value_types type_; - uint8_t length_or_precision_; - union - { - double double_val_; - int64_t integer_val_; - uint64_t uinteger_val_; - bool bool_val_; - object* object_val_; - array* array_val_; - any* any_val_; - string_data* string_val_; - char_type small_string_val_[sizeof(int64_t)/sizeof(char_type)]; - } value_; - }; - - template - class json_proxy - { - private: - typedef json_proxy proxy_type; - - ParentT& parent_; - const string_type& name_; - - json_proxy() = delete; - json_proxy& operator = (const json_proxy& other) = delete; - - json_proxy(ParentT& parent, const string_type& name) - : parent_(parent), name_(name) - { - } - - basic_json& evaluate() - { - return parent_.evaluate(name_); - } - - const basic_json& evaluate() const - { - return parent_.evaluate(name_); - } - - basic_json& evaluate_with_default() - { - basic_json& val = parent_.evaluate_with_default(); - auto it = val.find(name_); - if (it == val.members().end()) - { - it = val.set(val.members().begin(),name_,object(val.object_value().get_allocator())); - } - return it->value(); - } - - basic_json& evaluate(size_t index) - { - return parent_.evaluate(name_).at(index); - } - - const basic_json& evaluate(size_t index) const - { - return parent_.evaluate(name_).at(index); - } - - basic_json& evaluate(const string_type& index) - { - return parent_.evaluate(name_).at(index); - } - - const basic_json& evaluate(const string_type& index) const - { - return parent_.evaluate(name_).at(index); - } - public: - - friend class basic_json; - - object_range members() - { - return evaluate().members(); - } - - const_object_range members() const - { - return evaluate().members(); - } - - array_range elements() - { - return evaluate().elements(); - } - - const_array_range elements() const - { - return evaluate().elements(); - } - - size_t size() const JSONCONS_NOEXCEPT - { - return evaluate().size(); - } - - value_types type() const - { - return evaluate().type(); - } - - size_t count(const string_type& name) const - { - return evaluate().count(name); - } - - bool is_null() const JSONCONS_NOEXCEPT - { - return evaluate().is_null(); - } - - bool empty() const - { - return evaluate().empty(); - } - - size_t capacity() const - { - return evaluate().capacity(); - } - - void reserve(size_t n) - { - evaluate().reserve(n); - } - - void resize(size_t n) - { - evaluate().resize(n); - } - - template - void resize(size_t n, T val) - { - evaluate().resize(n,val); - } - - template - bool is() const - { - return evaluate().template is(); - } - - bool is_string() const JSONCONS_NOEXCEPT - { - return evaluate().is_string(); - } - - bool is_number() const JSONCONS_NOEXCEPT - { - return evaluate().is_number(); - } - bool is_bool() const JSONCONS_NOEXCEPT - { - return evaluate().is_bool(); - } - - bool is_object() const JSONCONS_NOEXCEPT - { - return evaluate().is_object(); - } - - bool is_array() const JSONCONS_NOEXCEPT - { - return evaluate().is_array(); - } - - bool is_any() const JSONCONS_NOEXCEPT - { - return evaluate().is_any(); - } - - bool is_integer() const JSONCONS_NOEXCEPT - { - return evaluate().is_integer(); - } - - bool is_uinteger() const JSONCONS_NOEXCEPT - { - return evaluate().is_uinteger(); - } - - bool is_double() const JSONCONS_NOEXCEPT - { - return evaluate().is_double(); - } - - string_type as_string() const JSONCONS_NOEXCEPT - { - return evaluate().as_string(); - } - - string_type as_string(const string_allocator& allocator) const JSONCONS_NOEXCEPT - { - return evaluate().as_string(allocator); - } - - string_type as_string(const basic_output_format& format) const - { - return evaluate().as_string(format); - } - - string_type as_string(const basic_output_format& format, - const string_allocator& allocator) const - { - return evaluate().as_string(format,allocator); - } - - template - T as() const - { - return evaluate().template as(); - } - - template - typename std::enable_if::value>::type as(const string_allocator& allocator) const - { - return evaluate().template as(allocator); - } - - any& any_value() - { - return evaluate().any_value(); - } - - const any& any_value() const - { - return evaluate().any_value(); - } - - bool as_bool() const JSONCONS_NOEXCEPT - { - return evaluate().as_bool(); - } - - template - std::vector as_vector() const - { - return evaluate().template as_vector(); - } - - double as_double() const - { - return evaluate().as_double(); - } - - int64_t as_integer() const - { - return evaluate().as_integer(); - } - - unsigned long long as_ulonglong() const - { - return evaluate().as_ulonglong(); - } - - uint64_t as_uinteger() const - { - return evaluate().as_uinteger(); - } - - template - const T& any_cast() const - { - return evaluate().template any_cast(); - } - // Returns a const reference to the custom data associated with name - - template - T& any_cast() - { - return evaluate().template any_cast(); - } - // Returns a reference to the custom data associated with name - - operator basic_json&() - { - return evaluate(); - } - - operator const basic_json&() const - { - return evaluate(); - } - - template - json_proxy& operator=(T val) - { - parent_.evaluate_with_default().set(name_, val); - return *this; - } - - json_proxy& operator=(const basic_json& val) - { - parent_.evaluate_with_default().set(name_, val); - return *this; - } - - json_proxy& operator=(basic_json&& val) - { - parent_.evaluate_with_default().set(name_, std::move(val)); - return *this; - } - - bool operator==(const basic_json& val) const - { - return evaluate() == val; - } - - bool operator!=(const basic_json& val) const - { - return evaluate() != val; - } - - basic_json& operator[](size_t i) - { - return evaluate_with_default().at(i); - } - - const basic_json& operator[](size_t i) const - { - return evaluate().at(i); - } - - json_proxy operator[](const string_type& name) - { - return json_proxy(*this,name); - } - - const json_proxy operator[](const string_type& name) const - { - return json_proxy(*this,name); - } - - basic_json& at(const string_type& name) - { - return evaluate().at(name); - } - - const basic_json& at(const string_type& name) const - { - return evaluate().at(name); - } - - const basic_json& at(size_t index) - { - return evaluate().at(index); - } - - const basic_json& at(size_t index) const - { - return evaluate().at(index); - } - - object_iterator find(const string_type& name) - { - return evaluate().find(name); - } - - const_object_iterator find(const string_type& name) const - { - return evaluate().find(name); - } - - object_iterator find(const char_type* name) - { - return evaluate().find(name); - } - - const_object_iterator find(const char_type* name) const - { - return evaluate().find(name); - } - - template - basic_json get(const string_type& name, T&& default_val) const - { - return evaluate().get(name,std::forward(default_val)); - } - - void shrink_to_fit() - { - evaluate_with_default().shrink_to_fit(); - } - - void clear() - { - evaluate().clear(); - } - // Remove all elements from an array or object - - void erase(object_iterator first, object_iterator last) - { - evaluate().erase(first, last); - } - // Remove a range of elements from an object - - void erase(array_iterator first, array_iterator last) - { - evaluate().erase(first, last); - } - - void erase(const string_type& name) - { - evaluate().erase(name); - } - - // Remove a member from an object - - void set(const string_type& name, const basic_json& value) - { - evaluate().set(name,value); - } - - void set(string_type&& name, const basic_json& value) - - { - evaluate().set(std::move(name),value); - } - - void set(const string_type& name, basic_json&& value) - - { - evaluate().set(name,std::move(value)); - } - - void set(string_type&& name, basic_json&& value) - - { - evaluate().set(std::move(name),std::move(value)); - } - - object_iterator set(object_iterator hint, const string_type& name, const basic_json& value) - { - return evaluate().set(hint, name,value); - } - - object_iterator set(object_iterator hint, string_type&& name, const basic_json& value) - - { - return evaluate().set(hint, std::move(name),value); - } - - object_iterator set(object_iterator hint, const string_type& name, basic_json&& value) - - { - return evaluate().set(hint, name,std::move(value)); - } - - object_iterator set(object_iterator hint, string_type&& name, basic_json&& value) - - { - return evaluate().set(hint, std::move(name),std::move(value)); - } - - void add(basic_json&& value) - { - evaluate_with_default().add(std::move(value)); - } - - void add(const basic_json& value) - { - evaluate_with_default().add(value); - } - - array_iterator add(const_array_iterator pos, const basic_json& value) - { - return evaluate_with_default().add(pos, value); - } - - array_iterator add(const_array_iterator pos, basic_json&& value) - { - return evaluate_with_default().add(pos, std::move(value)); - } - - string_type to_string(const string_allocator& allocator = string_allocator()) const JSONCONS_NOEXCEPT - { - return evaluate().to_string(allocator); - } - - string_type to_string(const basic_output_format& format, string_allocator& allocator = string_allocator()) const - { - return evaluate().to_string(format,allocator); - } - - void to_stream(std::basic_ostream& os) const - { - evaluate().to_stream(os); - } - - void to_stream(std::basic_ostream& os, const basic_output_format& format) const - { - evaluate().to_stream(os,format); - } - - void to_stream(std::basic_ostream& os, const basic_output_format& format, bool indenting) const - { - evaluate().to_stream(os,format,indenting); - } - - void swap(basic_json& val) - { - evaluate_with_default().swap(val); - } - - friend std::basic_ostream& operator<<(std::basic_ostream& os, const json_proxy& o) - { - o.to_stream(os); - return os; - } - -#if !defined(JSONCONS_NO_DEPRECATED) - - void resize_array(size_t n) - { - evaluate().resize_array(n); - } - - template - void resize_array(size_t n, T val) - { - evaluate().resize_array(n,val); - } - - object_iterator begin_members() - { - return evaluate().begin_members(); - } - - const_object_iterator begin_members() const - { - return evaluate().begin_members(); - } - - object_iterator end_members() - { - return evaluate().end_members(); - } - - const_object_iterator end_members() const - { - return evaluate().end_members(); - } - - array_iterator begin_elements() - { - return evaluate().begin_elements(); - } - - const_array_iterator begin_elements() const - { - return evaluate().begin_elements(); - } - - array_iterator end_elements() - { - return evaluate().end_elements(); - } - - const_array_iterator end_elements() const - { - return evaluate().end_elements(); - } - - const basic_json& get(const string_type& name) const - { - return evaluate().get(name); - } - - bool is_ulonglong() const JSONCONS_NOEXCEPT - { - return evaluate().is_ulonglong(); - } - - bool is_longlong() const JSONCONS_NOEXCEPT - { - return evaluate().is_longlong(); - } - - int as_int() const - { - return evaluate().as_int(); - } - - unsigned int as_uint() const - { - return evaluate().as_uint(); - } - - long as_long() const - { - return evaluate().as_long(); - } - - unsigned long as_ulong() const - { - return evaluate().as_ulong(); - } - - long long as_longlong() const - { - return evaluate().as_longlong(); - } - - void add(size_t index, const basic_json& value) - { - evaluate_with_default().add(index, value); - } - - void add(size_t index, basic_json&& value) - { - evaluate_with_default().add(index, std::move(value)); - } - - bool has_member(const string_type& name) const - { - return evaluate().has_member(name); - } - - // Remove a range of elements from an array - void remove_range(size_t from_index, size_t to_index) - { - evaluate().remove_range(from_index, to_index); - } - // Remove a range of elements from an array - void remove(const string_type& name) - { - evaluate().remove(name); - } - void remove_member(const string_type& name) - { - evaluate().remove(name); - } - bool is_empty() const JSONCONS_NOEXCEPT - { - return empty(); - } - bool is_numeric() const JSONCONS_NOEXCEPT - { - return is_number(); - } -#endif - }; - - static basic_json parse_stream(std::basic_istream& is); - static basic_json parse_stream(std::basic_istream& is, basic_parse_error_handler& err_handler); - - static basic_json parse(const string_type& s) - { - basic_json_deserializer> handler; - basic_json_parser parser(handler); - parser.begin_parse(); - parser.parse(s.data(),0,s.length()); - parser.end_parse(); - parser.check_done(s.data(),parser.index(),s.length()); - if (!handler.is_valid()) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json string"); - } - return handler.get_result(); - } - - static basic_json parse(const string_type& s, basic_parse_error_handler& err_handler) - { - basic_json_deserializer> handler; - basic_json_parser parser(handler,err_handler); - parser.begin_parse(); - parser.parse(s.data(),0,s.length()); - parser.end_parse(); - parser.check_done(s.data(),parser.index(),s.length()); - if (!handler.is_valid()) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json string"); - } - return handler.get_result(); - } - - static basic_json parse_file(const std::string& s); - - static basic_json parse_file(const std::string& s, basic_parse_error_handler& err_handler); - - static basic_json make_array() - { - return basic_json::array(); - } - - static basic_json make_array(size_t n, const array_allocator& allocator = array_allocator()) - { - return basic_json::array(n,allocator); - } - - template - static basic_json make_array(size_t n, const T& val, const array_allocator& allocator = array_allocator()) - { - return basic_json::array(n, val,allocator); - } - - template - static typename std::enable_if::type make_array(size_t n) - { - return array(n); - } - - template - static typename std::enable_if::type make_array(size_t n, const T& val, const Alloc& allocator = Alloc()) - { - return array(n,val,allocator); - } - - template - static typename std::enable_if<(dim>1),basic_json>::type make_array(size_t n, Args... args) - { - const size_t dim1 = dim - 1; - - basic_json val = make_array(args...); - val.resize(n); - for (size_t i = 0; i < n; ++i) - { - val[i] = make_array(args...); - } - return val; - } - - variant var_; - - basic_json() - : var_() - { - } - - basic_json(const Alloc& allocator) - : var_(allocator) - { - } - - basic_json(std::initializer_list init, - const Alloc& allocator = Alloc()) - : var_(std::move(init), allocator) - { - } - - basic_json(const basic_json& val) - : var_(val.var_) - { - } - - basic_json(const basic_json& val, const Alloc& allocator) - : var_(val.var_,allocator) - { - } - - basic_json(basic_json&& other) - : var_(std::move(other.var_)) - { - } - - basic_json(basic_json&& other, const Alloc& allocator) - : var_(std::move(other.var_),allocator) - { - } - - basic_json(const array& val) - : var_(val) - { - } - - basic_json(array&& other) - : var_(std::move(other)) - { - } - - basic_json(const object& other) - : var_(other) - { - } - - basic_json(object&& other) - : var_(std::move(other)) - { - } - - template - basic_json(const json_proxy& proxy, const Alloc& allocator = Alloc()) - : var_(proxy.evaluate().var_,allocator) - { - } - - template - basic_json(T val) - : var_(null_type()) - { - json_type_traits::assign(*this,val); - } - - basic_json(double val, uint8_t precision) - : var_(val,precision) - { - } - - template - basic_json(T val, const Alloc& allocator) - : var_(allocator) - { - json_type_traits::assign(*this,val); - } - - basic_json(const char_type *s, size_t length, const Alloc& allocator = Alloc()) - : var_(s, length, allocator) - { - } - template - basic_json(InputIterator first, InputIterator last, const Alloc& allocator = Alloc()) - : var_(first,last,allocator) - { - } - - ~basic_json() - { - } - - basic_json& operator=(const basic_json& rhs) - { - var_ = rhs.var_; - return *this; - } - - basic_json& operator=(basic_json&& rhs) - { - if (this != &rhs) - { - var_ = std::move(rhs.var_); - } - return *this; - } - - template - basic_json& operator=(T val) - { - json_type_traits::assign(*this,val); - return *this; - } - - bool operator!=(const basic_json& rhs) const; - - bool operator==(const basic_json& rhs) const; - - size_t size() const JSONCONS_NOEXCEPT - { - switch (var_.type_) - { - case value_types::empty_object_t: - return 0; - case value_types::object_t: - return var_.value_.object_val_->size(); - case value_types::array_t: - return var_.value_.array_val_->size(); - default: - return 0; - } - } - - basic_json& operator[](size_t i) - { - return at(i); - } - - const basic_json& operator[](size_t i) const - { - return at(i); - } - - json_proxy> operator[](const string_type& name) - { - switch (var_.type_) - { - case value_types::empty_object_t: - create_object_implicitly(); - case value_types::object_t: - return json_proxy>(*this, name); - break; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an object"); - break; - } - } - - const basic_json& operator[](const string_type& name) const - { - return at(name); - } - - string_type to_string(const string_allocator& allocator=string_allocator()) const JSONCONS_NOEXCEPT - { - string_type s(allocator); - std::basic_ostringstream os(s); - { - basic_json_serializer serializer(os); - to_stream(serializer); - } - return os.str(); - } - - string_type to_string(const basic_output_format& format, - const string_allocator& allocator=string_allocator()) const - { - string_type s(allocator); - std::basic_ostringstream os(s); - { - basic_json_serializer serializer(os, format); - to_stream(serializer); - } - return os.str(); - } - - void to_stream(basic_json_output_handler& handler) const - { - switch (var_.type_) - { - case value_types::small_string_t: - handler.value(var_.value_.small_string_val_,var_.length_or_precision_); - break; - case value_types::string_t: - handler.value(var_.value_.string_val_->data(),var_.value_.string_val_->length()); - break; - case value_types::double_t: - handler.value(var_.value_.double_val_, var_.length_or_precision_); - break; - case value_types::integer_t: - handler.value(var_.value_.integer_val_); - break; - case value_types::uinteger_t: - handler.value(var_.value_.uinteger_val_); - break; - case value_types::bool_t: - handler.value(var_.value_.bool_val_); - break; - case value_types::null_t: - handler.value(null_type()); - break; - case value_types::empty_object_t: - handler.begin_object(); - handler.end_object(); - break; - case value_types::object_t: - { - handler.begin_object(); - object* o = var_.value_.object_val_; - for (const_object_iterator it = o->begin(); it != o->end(); ++it) - { - handler.name((it->name()).data(),it->name().length()); - it->value().to_stream(handler); - } - handler.end_object(); - } - break; - case value_types::array_t: - { - handler.begin_array(); - array *o = var_.value_.array_val_; - for (const_array_iterator it = o->begin(); it != o->end(); ++it) - { - it->to_stream(handler); - } - handler.end_array(); - } - break; - case value_types::any_t: - var_.value_.any_val_->to_stream(handler); - break; - default: - break; - } - } - - void to_stream(std::basic_ostream& os) const - { - basic_json_serializer serializer(os); - to_stream(serializer); - } - - void to_stream(std::basic_ostream& os, const basic_output_format& format) const - { - basic_json_serializer serializer(os, format); - to_stream(serializer); - } - - void to_stream(std::basic_ostream& os, const basic_output_format& format, bool indenting) const - { - basic_json_serializer serializer(os, format, indenting); - to_stream(serializer); - } - - bool is_null() const JSONCONS_NOEXCEPT - { - return var_.is_null(); - } - - size_t count(const string_type& name) const - { - switch (var_.type_) - { - case value_types::object_t: - { - auto it = var_.value_.object_val_->find(name); - if (it == members().end()) - { - return 0; - } - size_t count = 0; - while (it != members().end() && it->name() == name) - { - ++count; - ++it; - } - return count; - } - break; - default: - return 0; - } - } - - template - bool is() const - { - return json_type_traits::is(*this); - } - - bool is_string() const JSONCONS_NOEXCEPT - { - return var_.is_string(); - } - - - bool is_bool() const JSONCONS_NOEXCEPT - { - return var_.is_bool(); - } - - bool is_object() const JSONCONS_NOEXCEPT - { - return var_.type_ == value_types::object_t || var_.type_ == value_types::empty_object_t; - } - - bool is_array() const JSONCONS_NOEXCEPT - { - return var_.type_ == value_types::array_t; - } - - bool is_any() const JSONCONS_NOEXCEPT - { - return var_.type_ == value_types::any_t; - } - - bool is_integer() const JSONCONS_NOEXCEPT - { - return var_.type_ == value_types::integer_t || (var_.type_ == value_types::uinteger_t && (as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()))); - } - - bool is_uinteger() const JSONCONS_NOEXCEPT - { - return var_.type_ == value_types::uinteger_t || (var_.type_ == value_types::integer_t && as_integer() >= 0); - } - - bool is_double() const JSONCONS_NOEXCEPT - { - return var_.type_ == value_types::double_t; - } - - bool is_number() const JSONCONS_NOEXCEPT - { - return var_.is_number(); - } - - bool empty() const JSONCONS_NOEXCEPT - { - return var_.empty(); - } - - size_t capacity() const - { - switch (var_.type_) - { - case value_types::array_t: - return var_.value_.array_val_->capacity(); - case value_types::object_t: - return var_.value_.object_val_->capacity(); - default: - return 0; - } - } - - template::value - >::type* = nullptr> - void create_object_implicitly() - { - var_.type_ = value_types::object_t; - var_.value_.object_val_ = create_impl(Alloc(),object_allocator(Alloc())); - } - - template::value - >::type* = nullptr> - void create_object_implicitly() const - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Cannot create_impl object implicitly - allocator is not default constructible."); - } - - void reserve(size_t n) - { - switch (var_.type_) - { - case value_types::array_t: - var_.value_.array_val_->reserve(n); - break; - case value_types::empty_object_t: - { - create_object_implicitly(); - var_.value_.object_val_->reserve(n); - } - break; - case value_types::object_t: - { - var_.value_.object_val_->reserve(n); - } - break; - default: - break; - } - } - - void resize(size_t n) - { - switch (var_.type_) - { - case value_types::array_t: - var_.value_.array_val_->resize(n); - break; - default: - break; - } - } - - template - void resize(size_t n, T val) - { - switch (var_.type_) - { - case value_types::array_t: - var_.value_.array_val_->resize(n, val); - break; - default: - break; - } - } - - template - T as() const - { - return json_type_traits::as(*this); - } - - template - typename std::enable_if::value>::type as(const string_allocator& allocator) const - { - return json_type_traits::as(*this,allocator); - } - - bool as_bool() const JSONCONS_NOEXCEPT - { - switch (var_.type_) - { - case value_types::null_t: - case value_types::empty_object_t: - return false; - case value_types::bool_t: - return var_.value_.bool_val_; - case value_types::double_t: - return var_.value_.double_val_ != 0.0; - case value_types::integer_t: - return var_.value_.integer_val_ != 0; - case value_types::uinteger_t: - return var_.value_.uinteger_val_ != 0; - case value_types::small_string_t: - return var_.length_or_precision_ != 0; - case value_types::string_t: - return var_.value_.string_val_->length() != 0; - case value_types::array_t: - return var_.value_.array_val_->size() != 0; - case value_types::object_t: - return var_.value_.object_val_->size() != 0; - case value_types::any_t: - return true; - default: - return false; - } - } - - int64_t as_integer() const - { - switch (var_.type_) - { - case value_types::double_t: - return static_cast(var_.value_.double_val_); - case value_types::integer_t: - return static_cast(var_.value_.integer_val_); - case value_types::uinteger_t: - return static_cast(var_.value_.uinteger_val_); - case value_types::bool_t: - return var_.value_.bool_val_ ? 1 : 0; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an integer"); - } - } - - uint64_t as_uinteger() const - { - switch (var_.type_) - { - case value_types::double_t: - return static_cast(var_.value_.double_val_); - case value_types::integer_t: - return static_cast(var_.value_.integer_val_); - case value_types::uinteger_t: - return static_cast(var_.value_.uinteger_val_); - case value_types::bool_t: - return var_.value_.bool_val_ ? 1 : 0; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an unsigned integer"); - } - } - - double as_double() const - { - switch (var_.type_) - { - case value_types::double_t: - return var_.value_.double_val_; - case value_types::integer_t: - return static_cast(var_.value_.integer_val_); - case value_types::uinteger_t: - return static_cast(var_.value_.uinteger_val_); - case value_types::null_t: - return std::numeric_limits::quiet_NaN(); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not a double"); - } - } - - string_type as_string() const JSONCONS_NOEXCEPT - { - switch (var_.type_) - { - case value_types::small_string_t: - return string_type(var_.value_.small_string_val_,var_.length_or_precision_); - case value_types::string_t: - return string_type(var_.value_.string_val_->data(),var_.value_.string_val_->length(),var_.value_.string_val_->get_allocator()); - default: - return to_string(); - } - } - - string_type as_string(const string_allocator& allocator) const JSONCONS_NOEXCEPT - { - switch (var_.type_) - { - case value_types::small_string_t: - return string_type(var_.value_.small_string_val_,var_.length_or_precision_,allocator); - case value_types::string_t: - return string_type(var_.value_.string_val_->data(),var_.value_.string_val_->length(),allocator); - default: - return to_string(allocator); - } - } - - string_type as_string(const basic_output_format& format) const - { - switch (var_.type_) - { - case value_types::small_string_t: - return string_type(var_.value_.small_string_val_,var_.length_or_precision_); - case value_types::string_t: - return string_type(var_.value_.string_val_->data(),var_.value_.string_val_->length(),var_.value_.string_val_->get_allocator()); - default: - return to_string(format); - } - } - - string_type as_string(const basic_output_format& format, - const string_allocator& allocator) const - { - switch (var_.type_) - { - case value_types::small_string_t: - return string_type(var_.value_.small_string_val_,var_.length_or_precision_,allocator); - case value_types::string_t: - return string_type(var_.value_.string_val_->data(),var_.value_.string_val_->length(),allocator); - default: - return to_string(format,allocator); - } - } - - const char_type* as_cstring() const - { - switch (var_.type_) - { - case value_types::small_string_t: - return var_.value_.small_string_val_; - case value_types::string_t: - return var_.value_.string_val_->c_str(); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not a cstring"); - } - } - - any& any_value(); - - const any& any_value() const; - - basic_json& at(const string_type& name) - { - switch (var_.type_) - { - case value_types::empty_object_t: - JSONCONS_THROW_EXCEPTION_1(std::out_of_range,"%s not found", name); - case value_types::object_t: - { - auto it = var_.value_.object_val_->find(name); - if (it == members().end()) - { - JSONCONS_THROW_EXCEPTION_1(std::out_of_range, "%s not found", name); - } - return it->value(); - } - break; - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); - } - } - } - - basic_json& evaluate() - { - return *this; - } - - basic_json& evaluate_with_default() - { - return *this; - } - - const basic_json& evaluate() const - { - return *this; - } - - basic_json& evaluate(size_t i) - { - return at(i); - } - - const basic_json& evaluate(size_t i) const - { - return at(i); - } - - basic_json& evaluate(const string_type& name) - { - return at(name); - } - - const basic_json& evaluate(const string_type& name) const - { - return at(name); - } - - const basic_json& at(const string_type& name) const - { - switch (var_.type_) - { - case value_types::empty_object_t: - JSONCONS_THROW_EXCEPTION_1(std::out_of_range,"%s not found", name); - case value_types::object_t: - { - auto it = var_.value_.object_val_->find(name); - if (it == members().end()) - { - JSONCONS_THROW_EXCEPTION_1(std::out_of_range, "%s not found", name); - } - return it->value(); - } - break; - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); - } - } - } - - basic_json& at(size_t i) - { - switch (var_.type_) - { - case value_types::array_t: - if (i >= var_.value_.array_val_->size()) - { - JSONCONS_THROW_EXCEPTION(std::out_of_range,"Invalid array subscript"); - } - return var_.value_.array_val_->operator[](i); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Index on non-array value not supported"); - } - } - - const basic_json& at(size_t i) const - { - switch (var_.type_) - { - case value_types::array_t: - if (i >= var_.value_.array_val_->size()) - { - JSONCONS_THROW_EXCEPTION(std::out_of_range,"Invalid array subscript"); - } - return var_.value_.array_val_->operator[](i); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Index on non-array value not supported"); - } - } - - object_iterator find(const string_type& name) - { - switch (var_.type_) - { - case value_types::empty_object_t: - return members().end(); - case value_types::object_t: - return var_.value_.object_val_->find(name); - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); - } - } - } - - const_object_iterator find(const string_type& name) const - { - switch (var_.type_) - { - case value_types::empty_object_t: - return members().end(); - case value_types::object_t: - return var_.value_.object_val_->find(name); - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); - } - } - } - - object_iterator find(const char_type* name) - { - switch (var_.type_) - { - case value_types::empty_object_t: - return members().end(); - case value_types::object_t: - return var_.value_.object_val_->find(name); - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); - } - } - } - - const_object_iterator find(const char_type* name) const - { - switch (var_.type_) - { - case value_types::empty_object_t: - return members().end(); - case value_types::object_t: - return var_.value_.object_val_->find(name); - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); - } - } - } - - template - basic_json get(const string_type& name, T&& default_val) const - { - switch (var_.type_) - { - case value_types::empty_object_t: - { - return basic_json(std::forward(default_val)); - } - case value_types::object_t: - { - const_object_iterator it = var_.value_.object_val_->find(name); - if (it != members().end()) - { - return it->value(); - } - else - { - return basic_json(std::forward(default_val)); - } - } - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); - } - } - } - - // Modifiers - - void shrink_to_fit() - { - switch (var_.type_) - { - case value_types::array_t: - var_.value_.array_val_->shrink_to_fit(); - break; - case value_types::object_t: - var_.value_.object_val_->shrink_to_fit(); - break; - default: - break; - } - } - - void clear() - { - switch (var_.type_) - { - case value_types::array_t: - var_.value_.array_val_->clear(); - break; - case value_types::object_t: - var_.value_.object_val_->clear(); - break; - default: - break; - } - } - - void erase(object_iterator first, object_iterator last) - { - switch (var_.type_) - { - case value_types::empty_object_t: - break; - case value_types::object_t: - var_.value_.object_val_->erase(first, last); - break; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an object"); - break; - } - } - - void erase(array_iterator first, array_iterator last) - { - switch (var_.type_) - { - case value_types::array_t: - var_.value_.array_val_->erase(first, last); - break; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an array"); - break; - } - } - - // Removes all elements from an array value whose index is between from_index, inclusive, and to_index, exclusive. - - void erase(const string_type& name) - { - switch (var_.type_) - { - case value_types::empty_object_t: - break; - case value_types::object_t: - var_.value_.object_val_->erase(name); - break; - default: - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object", name); - break; - } - } - - void set(const string_type& name, const basic_json& value) - { - switch (var_.type_) - { - case value_types::empty_object_t: - create_object_implicitly(); - case value_types::object_t: - var_.value_.object_val_->set(name, value); - break; - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object", name); - } - } - } - - void set(string_type&& name, const basic_json& value){ - switch (var_.type_){ - case value_types::empty_object_t: - create_object_implicitly(); - case value_types::object_t: - var_.value_.object_val_->set(std::move(name),value); - break; - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); - } - } - } - - void set(const string_type& name, basic_json&& value){ - switch (var_.type_){ - case value_types::empty_object_t: - create_object_implicitly(); - case value_types::object_t: - var_.value_.object_val_->set(name,std::move(value)); - break; - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); - } - } - } - - void set(string_type&& name, basic_json&& value) - { - switch (var_.type_) - { - case value_types::empty_object_t: - create_object_implicitly(); - case value_types::object_t: - var_.value_.object_val_->set(std::move(name),std::move(value)); - break; - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); - } - } - } - - object_iterator set(object_iterator hint, const string_type& name, const basic_json& value) - { - switch (var_.type_) - { - case value_types::empty_object_t: - create_object_implicitly(); - case value_types::object_t: - return var_.value_.object_val_->set(hint, name, value); - break; - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object", name); - } - } - } - - object_iterator set(object_iterator hint, string_type&& name, const basic_json& value){ - switch (var_.type_){ - case value_types::empty_object_t: - create_object_implicitly(); - case value_types::object_t: - return var_.value_.object_val_->set(hint, std::move(name),value); - break; - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); - } - } - } - - object_iterator set(object_iterator hint, const string_type& name, basic_json&& value){ - switch (var_.type_){ - case value_types::empty_object_t: - create_object_implicitly(); - case value_types::object_t: - return var_.value_.object_val_->set(hint, name,std::move(value)); - break; - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); - } - } - } - - object_iterator set(object_iterator hint, string_type&& name, basic_json&& value){ - switch (var_.type_){ - case value_types::empty_object_t: - create_object_implicitly(); - case value_types::object_t: - return var_.value_.object_val_->set(hint, std::move(name),std::move(value)); - break; - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to set %s on a value that is not an object",name); - } - } - } - - void add(const basic_json& value) - { - switch (var_.type_) - { - case value_types::array_t: - var_.value_.array_val_->push_back(value); - break; - default: - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); - } - } - } - - void add(basic_json&& value){ - switch (var_.type_){ - case value_types::array_t: - var_.value_.array_val_->push_back(std::move(value)); - break; - default: - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); - } - } - } - - array_iterator add(const_array_iterator pos, const basic_json& value) - { - switch (var_.type_) - { - case value_types::array_t: - return var_.value_.array_val_->add(pos, value); - break; - default: - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); - } - } - } - - array_iterator add(const_array_iterator pos, basic_json&& value){ - switch (var_.type_){ - case value_types::array_t: - return var_.value_.array_val_->add(pos, std::move(value)); - break; - default: - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); - } - } - } - - value_types type() const - { - return var_.type_; - } - - uint8_t length_or_precision() const - { - return var_.length_or_precision_; - } - - void swap(basic_json& b) - { - var_.swap(b.var_); - } - - template - std::vector as_vector() const - { - std::vector v(size()); - for (size_t i = 0; i < v.size(); ++i) - { - v[i] = json_type_traits::as(at(i)); - } - return v; - } - - friend void swap(basic_json& a, basic_json& b) - { - a.swap(b); - } - - void assign_any(const typename basic_json::any& rhs) - { - var_.assign(rhs); - } - - void assign_string(const string_type& rhs) - { - var_.assign(rhs); - } - - void assign_string(const char_type* rhs, size_t length) - { - var_.assign_string(rhs,length); - } - - void assign_bool(bool rhs) - { - var_.assign(rhs); - } - - void assign_object(const object & rhs) - { - var_.assign(rhs); - } - - void assign_array(const array& rhs) - { - var_.assign(rhs); - } - - void assign_null() - { - var_.assign(null_type()); - } - - template - const T& any_cast() const - { - if (var_.type_ != value_types::any_t) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad any cast"); - } - return var_.value_.any_val_->template cast(); - } - template - T& any_cast() - { - if (var_.type_ != value_types::any_t) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad any cast"); - } - return var_.value_.any_val_->template cast(); - } - - void assign_integer(int64_t rhs) - { - var_.assign(rhs); - } - - void assign_uinteger(uint64_t rhs) - { - var_.assign(rhs); - } - - void assign_double(double rhs, uint8_t precision = 0) - { - var_.assign(rhs,precision); - } - - static basic_json make_2d_array(size_t m, size_t n); - - template - static basic_json make_2d_array(size_t m, size_t n, T val); - - static basic_json make_3d_array(size_t m, size_t n, size_t k); - - template - static basic_json make_3d_array(size_t m, size_t n, size_t k, T val); - -#if !defined(JSONCONS_NO_DEPRECATED) - typedef any json_any_type; - - static basic_json parse(std::basic_istream& is) - { - return parse_stream(is); - } - static basic_json parse(std::basic_istream& is, basic_parse_error_handler& err_handler) - { - return parse_stream(is,err_handler); - } - - static basic_json parse_string(const string_type& s) - { - return parse(s); - } - - static basic_json parse_string(const string_type& s, basic_parse_error_handler& err_handler) - { - return parse(s,err_handler); - } - - void resize_array(size_t n) - { - resize(n); - } - - template - void resize_array(size_t n, T val) - { - resize(n,val); - } - - object_iterator begin_members() - { - return members().begin(); - } - - const_object_iterator begin_members() const - { - return members().begin(); - } - - object_iterator end_members() - { - return members().end(); - } - - const_object_iterator end_members() const - { - return members().end(); - } - - array_iterator begin_elements() - { - return elements().begin(); - } - - const_array_iterator begin_elements() const - { - return elements().begin(); - } - - array_iterator end_elements() - { - return elements().end(); - } - - const_array_iterator end_elements() const - { - return elements().end(); - } - - const basic_json& get(const string_type& name) const - { - static const basic_json a_null = null_type(); - - switch (var_.type_) - { - case value_types::empty_object_t: - return a_null; - case value_types::object_t: - { - const_object_iterator it = var_.value_.object_val_->find(name); - return it != members().end() ? it->value() : a_null; - } - default: - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Attempting to get %s from a value that is not an object", name); - } - } - } - - bool is_longlong() const JSONCONS_NOEXCEPT - { - return var_.type_ == value_types::integer_t; - } - - bool is_ulonglong() const JSONCONS_NOEXCEPT - { - return var_.type_ == value_types::uinteger_t; - } - - long long as_longlong() const - { - return as_integer(); - } - - unsigned long long as_ulonglong() const - { - return as_uinteger(); - } - - int as_int() const - { - switch (var_.type_) - { - case value_types::double_t: - return static_cast(var_.value_.double_val_); - case value_types::integer_t: - return static_cast(var_.value_.integer_val_); - case value_types::uinteger_t: - return static_cast(var_.value_.uinteger_val_); - case value_types::bool_t: - return var_.value_.bool_val_ ? 1 : 0; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an int"); - } - } - - unsigned int as_uint() const - { - switch (var_.type_) - { - case value_types::double_t: - return static_cast(var_.value_.double_val_); - case value_types::integer_t: - return static_cast(var_.value_.integer_val_); - case value_types::uinteger_t: - return static_cast(var_.value_.uinteger_val_); - case value_types::bool_t: - return var_.value_.bool_val_ ? 1 : 0; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an unsigned int"); - } - } - - long as_long() const - { - switch (var_.type_) - { - case value_types::double_t: - return static_cast(var_.value_.double_val_); - case value_types::integer_t: - return static_cast(var_.value_.integer_val_); - case value_types::uinteger_t: - return static_cast(var_.value_.uinteger_val_); - case value_types::bool_t: - return var_.value_.bool_val_ ? 1 : 0; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not a long"); - } - } - - unsigned long as_ulong() const - { - switch (var_.type_) - { - case value_types::double_t: - return static_cast(var_.value_.double_val_); - case value_types::integer_t: - return static_cast(var_.value_.integer_val_); - case value_types::uinteger_t: - return static_cast(var_.value_.uinteger_val_); - case value_types::bool_t: - return var_.value_.bool_val_ ? 1 : 0; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an unsigned long"); - } - } - - void add(size_t index, const basic_json& value) - { - switch (var_.type_) - { - case value_types::array_t: - var_.value_.array_val_->add(index, value); - break; - default: - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); - } - } - } - - void add(size_t index, basic_json&& value){ - switch (var_.type_){ - case value_types::array_t: - var_.value_.array_val_->add(index, std::move(value)); - break; - default: - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Attempting to insert into a value that is not an array"); - } - } - } - - bool has_member(const string_type& name) const - { - switch (var_.type_) - { - case value_types::object_t: - { - const_object_iterator it = var_.value_.object_val_->find(name); - return it != members().end(); - } - break; - default: - return false; - } - } - - void remove_range(size_t from_index, size_t to_index) - { - switch (var_.type_) - { - case value_types::array_t: - var_.value_.array_val_->remove_range(from_index, to_index); - break; - default: - break; - } - } - // Removes all elements from an array value whose index is between from_index, inclusive, and to_index, exclusive. - - void remove(const string_type& name) - { - erase(name); - } - void remove_member(const string_type& name) - { - erase(name); - } - // Removes a member from an object value - - bool is_empty() const JSONCONS_NOEXCEPT - { - return empty(); - } - bool is_numeric() const JSONCONS_NOEXCEPT - { - return is_number(); - } - - void assign_longlong(long long rhs) - { - var_.assign(rhs); - } - void assign_ulonglong(unsigned long long rhs) - { - var_.assign(rhs); - } - - template - static typename std::enable_if::type make_multi_array() - { - return make_array(); - } - template - static typename std::enable_if::type make_multi_array(size_t n) - { - return make_array(n); - } - template - static typename std::enable_if::type make_multi_array(size_t n, T val) - { - return make_array(n,val); - } - template - static typename std::enable_if::type make_multi_array(size_t m, size_t n) - { - return make_array<2>(m, n); - } - template - static typename std::enable_if::type make_multi_array(size_t m, size_t n, T val) - { - return make_array<2>(m, n, val); - } - template - static typename std::enable_if::type make_multi_array(size_t m, size_t n, size_t k) - { - return make_array<3>(m, n, k); - } - template - static typename std::enable_if::type make_multi_array(size_t m, size_t n, size_t k, T val) - { - return make_array<3>(m, n, k, val); - } -#endif - - object_range members() - { - switch (var_.type_) - { - case value_types::empty_object_t: - return object_range(object_iterator(true),object_iterator(true)); - case value_types::object_t: - return object_range(object_value().begin(),object_value().end()); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an object"); - } - } - - const_object_range members() const - { - switch (var_.type_) - { - case value_types::empty_object_t: - return const_object_range(const_object_iterator(true),const_object_iterator(true)); - case value_types::object_t: - return const_object_range(object_value().begin(),object_value().end()); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an object"); - } - } - - array_range elements() - { - switch (var_.type_) - { - case value_types::array_t: - return array_range(array_value().begin(),array_value().end()); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an array"); - } - } - - const_array_range elements() const - { - switch (var_.type_) - { - case value_types::array_t: - return const_array_range(array_value().begin(),array_value().end()); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an array"); - } - } - - array& array_value() - { - switch (var_.type_) - { - case value_types::array_t: - return *(var_.value_.array_val_); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad array cast"); - break; - } - } - - const array& array_value() const - { - switch (var_.type_) - { - case value_types::array_t: - return *(var_.value_.array_val_); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad array cast"); - break; - } - } - - object& object_value() - { - switch (var_.type_) - { - case value_types::empty_object_t: - create_object_implicitly(); - case value_types::object_t: - return *(var_.value_.object_val_); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad object cast"); - break; - } - } - - const object& object_value() const - { - switch (var_.type_) - { - case value_types::empty_object_t: - const_cast(this)->create_object_implicitly(); // HERE - case value_types::object_t: - return *(var_.value_.object_val_); - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad object cast"); - break; - } - } - -private: - - friend std::basic_ostream& operator<<(std::basic_ostream& os, const basic_json& o) - { - o.to_stream(os); - return os; - } - - friend std::basic_istream& operator<<(std::basic_istream& is, basic_json& o) - { - basic_json_deserializer> handler; - basic_json_reader reader(is, handler); - reader.read_next(); - reader.check_done(); - if (!handler.is_valid()) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json stream"); - } - o = handler.get_result(); - return is; - } -}; - -template -void swap(typename JsonT::member_type& a, typename JsonT::member_type& b) -{ - a.swap(b); -} - -template -bool basic_json::operator!=(const basic_json& rhs) const -{ - return !(*this == rhs); -} - -template -bool basic_json::operator==(const basic_json& rhs) const -{ - return var_ == rhs.var_; -} - -template -basic_json basic_json::make_2d_array(size_t m, size_t n) -{ - basic_json a = basic_json::array(); - a.resize(m); - for (size_t i = 0; i < a.size(); ++i) - { - a[i] = basic_json::make_array(n); - } - return a; -} - -template -template -basic_json basic_json::make_2d_array(size_t m, size_t n, T val) -{ - basic_json v; - v = val; - basic_json a = make_array(m); - for (size_t i = 0; i < a.size(); ++i) - { - a[i] = basic_json::make_array(n, v); - } - return a; -} - -template -basic_json basic_json::make_3d_array(size_t m, size_t n, size_t k) -{ - basic_json a = basic_json::array(); - a.resize(m); - for (size_t i = 0; i < a.size(); ++i) - { - a[i] = basic_json::make_2d_array(n, k); - } - return a; -} - -template -template -basic_json basic_json::make_3d_array(size_t m, size_t n, size_t k, T val) -{ - basic_json v; - v = val; - basic_json a = make_array(m); - for (size_t i = 0; i < a.size(); ++i) - { - a[i] = basic_json::make_2d_array(n, k, v); - } - return a; -} - -template -basic_json basic_json::parse_stream(std::basic_istream& is) -{ - basic_json_deserializer> handler; - basic_json_reader reader(is, handler); - reader.read_next(); - reader.check_done(); - if (!handler.is_valid()) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json stream"); - } - return handler.get_result(); -} - -template -basic_json basic_json::parse_stream(std::basic_istream& is, - basic_parse_error_handler& err_handler) -{ - basic_json_deserializer> handler; - basic_json_reader reader(is, handler, err_handler); - reader.read_next(); - reader.check_done(); - if (!handler.is_valid()) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json stream"); - } - return handler.get_result(); -} - -template -basic_json basic_json::parse_file(const std::string& filename) -{ - FILE* fp; - -#if defined(JSONCONS_HAS_FOPEN_S) - errno_t err = fopen_s(&fp, filename.c_str(), "rb"); - if (err != 0) - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Cannot open file %s", filename); - } -#else - fp = std::fopen(filename.c_str(), "rb"); - if (fp == nullptr) - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Cannot open file %s", filename); - } -#endif - basic_json_deserializer> handler; - try - { - // obtain file size: - std::fseek (fp , 0 , SEEK_END); - long size = std::ftell (fp); - std::rewind(fp); - - if (size > 0) - { - std::vector buffer(size); - - // copy the file into the buffer: - size_t result = std::fread (buffer.data(),1,size,fp); - if (result != static_cast(size)) - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Error reading file %s", filename); - } - - basic_json_parser parser(handler); - parser.begin_parse(); - parser.parse(buffer.data(),0,buffer.size()); - parser.end_parse(); - parser.check_done(buffer.data(),parser.index(),buffer.size()); - } - - std::fclose (fp); - } - catch (...) - { - std::fclose (fp); - throw; - } - if (!handler.is_valid()) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json file"); - } - return handler.get_result(); -} - -template -basic_json basic_json::parse_file(const std::string& filename, - basic_parse_error_handler& err_handler) -{ - FILE* fp; - -#if !defined(JSONCONS_HAS_FOPEN_S) - fp = std::fopen(filename.c_str(), "rb"); - if (fp == nullptr) - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Cannot open file %s", filename); - } -#else - errno_t err = fopen_s(&fp, filename.c_str(), "rb"); - if (err != 0) - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Cannot open file %s", filename); - } -#endif - - basic_json_deserializer> handler; - try - { - // obtain file size: - std::fseek (fp , 0 , SEEK_END); - long size = std::ftell (fp); - std::rewind(fp); - - if (size > 0) - { - std::vector buffer(size); - - // copy the file into the buffer: - size_t result = std::fread (buffer.data(),1,size,fp); - if (result != static_cast(size)) - { - JSONCONS_THROW_EXCEPTION_1(std::runtime_error,"Error reading file %s", filename); - } - - basic_json_parser parser(handler,err_handler); - parser.begin_parse(); - parser.parse(buffer.data(),0,buffer.size()); - parser.end_parse(); - parser.check_done(buffer.data(),parser.index(),buffer.size()); - } - - std::fclose (fp); - } - catch (...) - { - std::fclose (fp); - throw; - } - if (!handler.is_valid()) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json file"); - } - return handler.get_result(); -} - -template -typename basic_json::any& basic_json::any_value() -{ - switch (var_.type_) - { - case value_types::any_t: - { - return *var_.value_.any_val_; - } - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an any value"); - } -} - -template -const typename basic_json::any& basic_json::any_value() const -{ - switch (var_.type_) - { - case value_types::any_t: - { - return *var_.value_.any_val_; - } - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Not an any value"); - } -} - -template -std::basic_istream& operator>>(std::basic_istream& is, JsonT& o) -{ - basic_json_deserializer handler; - basic_json_reader reader(is, handler); - reader.read_next(); - reader.check_done(); - if (!handler.is_valid()) - { - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Failed to parse json stream"); - } - o = handler.get_result(); - return is; -} - -template -class json_printable -{ -public: - typedef typename JsonT::char_type char_type; - - json_printable(const JsonT& o, - bool is_pretty_print) - : o_(&o), is_pretty_print_(is_pretty_print) - { - } - - json_printable(const JsonT& o, - bool is_pretty_print, - const basic_output_format& format) - : o_(&o), is_pretty_print_(is_pretty_print), format_(format) - { - ; - } - - void to_stream(std::basic_ostream& os) const - { - o_->to_stream(os, format_, is_pretty_print_); - } - - friend std::basic_ostream& operator<<(std::basic_ostream& os, const json_printable& o) - { - o.to_stream(os); - return os; - } - - const JsonT *o_; - bool is_pretty_print_; - basic_output_format format_; -private: - json_printable(); -}; - -template -json_printable print(const JsonT& val) -{ - return json_printable(val,false); -} - -template -json_printable print(const JsonT& val, - const basic_output_format& format) -{ - return json_printable(val, false, format); -} - -template -json_printable pretty_print(const JsonT& val) -{ - return json_printable(val,true); -} - -template -json_printable pretty_print(const JsonT& val, - const basic_output_format& format) -{ - return json_printable(val, true, format); -} - -typedef basic_json> json; -typedef basic_json> wjson; - -typedef basic_json_deserializer json_deserializer; -typedef basic_json_deserializer wjson_deserializer; - -} - -#if defined(__GNUC__) -#pragma GCC diagnostic pop -#endif - -#endif diff --git a/runtime/include/jsoncons/json_deserializer.hpp b/runtime/include/jsoncons/json_deserializer.hpp deleted file mode 100644 index 31cd0db..0000000 --- a/runtime/include/jsoncons/json_deserializer.hpp +++ /dev/null @@ -1,267 +0,0 @@ -// Copyright 2013-2016 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_DESERIALIZER_HPP -#define JSONCONS_JSON_DESERIALIZER_HPP - -#include -#include -#include -#include -#include -#include -#include "jsoncons/jsoncons.hpp" -#include "jsoncons/json_input_handler.hpp" - -namespace jsoncons { - -template -class basic_json_deserializer : public basic_json_input_handler -{ - static const int default_stack_size = 1000; - - typedef typename JsonT::char_type char_type; - typedef typename JsonT::member_type member_type; - typedef typename JsonT::string_type string_type; - typedef typename string_type::allocator_type string_allocator; - typedef typename JsonT::allocator_type allocator_type; - typedef typename JsonT::array array; - typedef typename array::allocator_type array_allocator; - typedef typename JsonT::object object; - typedef typename object::allocator_type object_allocator; - typedef typename JsonT::value_type value_type; - - string_allocator sa_; - object_allocator oa_; - array_allocator aa_; - - JsonT result_; - size_t top_; - - struct stack_item - { - string_type name_; - value_type value_; - }; - std::vector stack_; - std::vector stack2_; - bool is_valid_; - -public: - basic_json_deserializer(const string_allocator& sa = string_allocator(), - const allocator_type& allocator = allocator_type()) - : sa_(sa), - oa_(allocator), - aa_(allocator), - top_(0), - stack_(default_stack_size), - stack2_(), - is_valid_(true) // initial json value is an empty object - - { - stack2_.reserve(100); - } - - bool is_valid() const - { - return is_valid_; - } - - JsonT get_result() - { - is_valid_ = false; - return std::move(result_); - } - -#if !defined(JSONCONS_NO_DEPRECATED) - JsonT& root() - { - return result_; - } -#endif - -private: - - void push_initial() - { - top_ = 0; - if (top_ >= stack_.size()) - { - stack_.resize(top_*2); - } - } - - void pop_initial() - { - JSONCONS_ASSERT(top_ == 1); - result_.swap(stack_[0].value_); - --top_; - } - - void push_object() - { - stack2_.push_back(top_); - stack_[top_].value_ = object(oa_); - if (++top_ >= stack_.size()) - { - stack_.resize(top_*2); - } - } - - void pop_object() - { - stack2_.pop_back(); - JSONCONS_ASSERT(top_ > 0); - } - - void push_array() - { - stack2_.push_back(top_); - stack_[top_].value_ = array(aa_); - if (++top_ >= stack_.size()) - { - stack_.resize(top_*2); - } - } - - void pop_array() - { - stack2_.pop_back(); - JSONCONS_ASSERT(top_ > 0); - } - - void do_begin_json() override - { - is_valid_ = false; - push_initial(); - } - - void do_end_json() override - { - is_valid_ = true; - pop_initial(); - } - - void do_begin_object(const basic_parsing_context&) override - { - push_object(); - } - - void do_end_object(const basic_parsing_context&) override - { - end_structure(); - pop_object(); - } - - void do_begin_array(const basic_parsing_context&) override - { - push_array(); - } - - void do_end_array(const basic_parsing_context&) override - { - end_structure(); - pop_array(); - } - - static member_type move_pair(stack_item&& val) - { - return member_type(std::move(val.name_),std::move(val.value_)); - } - - void end_structure() - { - JSONCONS_ASSERT(stack2_.size() > 0); - if (stack_[stack2_.back()].value_.is_object()) - { - size_t count = top_ - (stack2_.back() + 1); - auto s = stack_.begin() + (stack2_.back()+1); - auto send = s + count; - stack_[stack2_.back()].value_.object_value().insert( - std::make_move_iterator(s), - std::make_move_iterator(send), - move_pair); - top_ -= count; - } - else - { - size_t count = top_ - (stack2_.back() + 1); - stack_[stack2_.back()].value_.resize(count); - - auto s = stack_.begin() + (stack2_.back()+1); - auto dend = stack_[stack2_.back()].value_.elements().end(); - for (auto it = stack_[stack2_.back()].value_.elements().begin(); - it != dend; ++it, ++s) - { - *it = std::move(s->value_); - } - top_ -= count; - } - } - - void do_name(const char_type* p, size_t length, const basic_parsing_context&) override - { - stack_[top_].name_ = string_type(p,length,sa_); - } - - void do_string_value(const char_type* p, size_t length, const basic_parsing_context&) override - { - stack_[top_].value_ = JsonT(p,length,sa_); - if (++top_ >= stack_.size()) - { - stack_.resize(top_*2); - } - } - - void do_integer_value(int64_t value, const basic_parsing_context&) override - { - stack_[top_].value_ = value; - if (++top_ >= stack_.size()) - { - stack_.resize(top_*2); - } - } - - void do_uinteger_value(uint64_t value, const basic_parsing_context&) override - { - stack_[top_].value_ = value; - if (++top_ >= stack_.size()) - { - stack_.resize(top_*2); - } - } - - void do_double_value(double value, uint8_t precision, const basic_parsing_context&) override - { - stack_[top_].value_ = value_type(value,precision); - if (++top_ >= stack_.size()) - { - stack_.resize(top_*2); - } - } - - void do_bool_value(bool value, const basic_parsing_context&) override - { - stack_[top_].value_ = value; - if (++top_ >= stack_.size()) - { - stack_.resize(top_*2); - } - } - - void do_null_value(const basic_parsing_context&) override - { - stack_[top_].value_ = null_type(); - if (++top_ >= stack_.size()) - { - stack_.resize(top_*2); - } - } -}; - -} - -#endif diff --git a/runtime/include/jsoncons/json_error_category.hpp b/runtime/include/jsoncons/json_error_category.hpp deleted file mode 100644 index 90d12d5..0000000 --- a/runtime/include/jsoncons/json_error_category.hpp +++ /dev/null @@ -1,111 +0,0 @@ -/// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_TEXT_ERROR_CATEGORY_HPP -#define JSONCONS_JSON_TEXT_ERROR_CATEGORY_HPP - -#include "jsoncons/jsoncons.hpp" -#include - -namespace jsoncons { - -namespace json_parser_errc -{ - const int unexpected_eof = 1; - const int invalid_json_text = 2; - const int extra_character = 3; - const int max_depth_exceeded = 4; - const int single_quote = 5; - const int illegal_character_in_string = 6; - const int extra_comma = 7; - const int expected_name = 8; - const int expected_value = 9; - const int invalid_value = 10; - const int expected_colon = 11; - const int illegal_control_character = 12; - const int illegal_escaped_character = 13; - const int expected_codepoint_surrogate_pair = 14; - const int invalid_hex_escape_sequence = 15; - const int invalid_unicode_escape_sequence = 16; - const int leading_zero = 17; - const int invalid_number = 18; - const int expected_comma_or_right_brace = 19; - const int expected_comma_or_right_bracket = 20; - const int unexpected_right_bracket = 21; - const int unexpected_right_brace = 22; -} - -class json_error_category_impl - : public std::error_category -{ -public: - virtual const char* name() const JSONCONS_NOEXCEPT - { - return "json"; - } - virtual std::string message(int ev) const - { - switch (ev) - { - case json_parser_errc::unexpected_eof: - return "Unexpected end of file"; - case json_parser_errc::invalid_json_text: - return "Invalid JSON text"; - case json_parser_errc::extra_character: - return "Unexpected non-whitespace character after JSON text"; - case json_parser_errc::max_depth_exceeded: - return "Maximum JSON depth exceeded"; - case json_parser_errc::single_quote: - return "JSON strings cannot be quoted with single quotes"; - case json_parser_errc::illegal_character_in_string: - return "Illegal character in string"; - case json_parser_errc::extra_comma: - return "Extra comma"; - case json_parser_errc::expected_name: - return "Expected object member name"; - case json_parser_errc::expected_value: - return "Expected value"; - case json_parser_errc::invalid_value: - return "Invalid value"; - case json_parser_errc::expected_colon: - return "Expected name separator ':'"; - case json_parser_errc::illegal_control_character: - return "Illegal control character in string"; - case json_parser_errc::illegal_escaped_character: - return "Illegal escaped character in string"; - case json_parser_errc::expected_codepoint_surrogate_pair: - return "Invalid codepoint, expected another \\u token to begin the second half of a codepoint surrogate pair."; - case json_parser_errc::invalid_hex_escape_sequence: - return "Invalid codepoint, expected hexadecimal digit."; - case json_parser_errc::invalid_unicode_escape_sequence: - return "Invalid codepoint, expected four hexadecimal digits."; - case json_parser_errc::leading_zero: - return "A number cannot have a leading zero"; - case json_parser_errc::invalid_number: - return "Invalid number"; - case json_parser_errc::expected_comma_or_right_brace: - return "Expected comma or right brace ']'"; - case json_parser_errc::expected_comma_or_right_bracket: - return "Expected comma or right bracket ']'"; - case json_parser_errc::unexpected_right_brace: - return "Unexpected right brace '}'"; - case json_parser_errc::unexpected_right_bracket: - return "Unexpected right bracket ']'"; - default: - return "Unknown JSON parser error"; - } - } -}; - -inline -const std::error_category& json_error_category() -{ - static json_error_category_impl instance; - return instance; -} - -} -#endif diff --git a/runtime/include/jsoncons/json_filter.hpp b/runtime/include/jsoncons/json_filter.hpp deleted file mode 100644 index f5674f2..0000000 --- a/runtime/include/jsoncons/json_filter.hpp +++ /dev/null @@ -1,324 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_FILTER_HPP -#define JSONCONS_JSON_FILTER_HPP - -#include - -#include "jsoncons/json_input_handler.hpp" -#include "jsoncons/json_output_handler.hpp" -#include "jsoncons/parse_error_handler.hpp" - -namespace jsoncons { - -template -class basic_json_input_output_adapter : public basic_json_input_handler -{ -public: - basic_json_input_output_adapter() - : writer_(std::addressof(null_json_output_handler())) - { - } - - basic_json_input_output_adapter(basic_json_output_handler& handler) - : writer_(std::addressof(handler)) - { - } - -private: - - void do_begin_json() override - { - writer_->begin_json(); - } - - void do_end_json() override - { - writer_->end_json(); - } - - void do_begin_object(const basic_parsing_context& context) override - { - writer_->begin_object(); - } - - void do_end_object(const basic_parsing_context& context) override - { - writer_->end_object(); - } - - void do_begin_array(const basic_parsing_context& context) override - { - writer_->begin_array(); - } - - void do_end_array(const basic_parsing_context& context) override - { - writer_->end_array(); - } - - void do_name(const CharT* name, size_t length, - const basic_parsing_context& context) override - { - writer_->name(name, length); - } - - void do_string_value(const CharT* value, size_t length, - const basic_parsing_context& context) override - { - writer_->value(value, length); - } - - void do_integer_value(int64_t value, const basic_parsing_context& context) override - { - writer_->value(value); - } - - void do_uinteger_value(uint64_t value, - const basic_parsing_context& context) override - { - writer_->value(value); - } - - void do_double_value(double value, uint8_t precision, const basic_parsing_context& context) override - { - writer_->value(value, precision); - } - - void do_bool_value(bool value, const basic_parsing_context& context) override - { - writer_->value(value); - } - - void do_null_value(const basic_parsing_context& context) override - { - writer_->value(null_type()); - } - - basic_json_output_handler* writer_; -}; - -template -class basic_json_filter : public basic_json_input_handler -{ -public: - basic_json_filter(basic_json_input_handler& handler) - : handler_(std::addressof(handler)), - err_handler_(std::addressof(basic_default_parse_error_handler::instance())) - { - } - - basic_json_filter(basic_json_input_handler& handler, - basic_parse_error_handler& err_handler) - : handler_(std::addressof(handler)), - err_handler_(std::addressof(err_handler)) - { - } - - basic_json_filter(basic_json_output_handler& output_handler) - : input_output_adapter_(output_handler), handler_(std::addressof(input_output_adapter_)), - err_handler_(std::addressof(basic_default_parse_error_handler::instance())) - { - } - - basic_json_filter(basic_json_output_handler& output_handler, - basic_parse_error_handler& err_handler) - : input_output_adapter_(output_handler), handler_(std::addressof(input_output_adapter_)), - err_handler_(std::addressof(err_handler)) - { - } - - basic_json_input_handler& input_handler() - { - return *handler_; - } - -#if !defined(JSONCONS_NO_DEPRECATED) - basic_json_input_handler& parent() - { - return *handler_; - } -#endif - -private: - void do_begin_json() override - { - handler_->begin_json(); - } - - void do_end_json() override - { - handler_->end_json(); - } - - void do_begin_object(const basic_parsing_context& context) override - { - handler_->begin_object(context); - } - - void do_end_object(const basic_parsing_context& context) override - { - handler_->end_object(context); - } - - void do_begin_array(const basic_parsing_context& context) override - { - handler_->begin_array(context); - } - - void do_end_array(const basic_parsing_context& context) override - { - handler_->end_array(context); - } - - void do_name(const CharT* name, size_t length, const basic_parsing_context& context) override - { - handler_->name(name, length, context); - } - - void do_string_value(const CharT* value, size_t length, const basic_parsing_context& context) override - { - handler_->value(value,length,context); - } - - void do_double_value(double value, uint8_t precision, const basic_parsing_context& context) override - { - handler_->value(value,precision,context); - } - - void do_integer_value(int64_t value, const basic_parsing_context& context) override - { - handler_->value(value,context); - } - - void do_uinteger_value(uint64_t value, const basic_parsing_context& context) override - { - handler_->value(value,context); - } - - void do_bool_value(bool value, const basic_parsing_context& context) override - { - handler_->value(value,context); - } - - void do_null_value(const basic_parsing_context& context) override - { - handler_->value(null_type(),context); - } - - basic_json_input_output_adapter input_output_adapter_; - basic_json_input_handler* handler_; - basic_parse_error_handler* err_handler_; -}; - -// Filters out begin_json and end_json events -template -class basic_begin_end_json_filter : public basic_json_filter -{ -public: - basic_begin_end_json_filter(basic_json_input_handler& handler) - : basic_json_filter(handler) - { - } -private: - void do_begin_json() override - { - } - - void do_end_json() override - { - } -}; - -template -class basic_json_output_input_adapter : public basic_json_output_handler -{ -public: - basic_json_output_input_adapter(basic_json_input_handler& input_handler, - const basic_parsing_context& context) - : input_handler_(std::addressof(input_handler)), - context_(std::addressof(context)) - { - } - -private: - - void do_begin_json() override - { - input_handler_->begin_json(); - } - - void do_end_json() override - { - input_handler_->end_json(); - } - - void do_begin_object() override - { - input_handler_->begin_object(*context_); - } - - void do_end_object() override - { - input_handler_->end_object(*context_); - } - - void do_begin_array() override - { - input_handler_->begin_array(*context_); - } - - void do_end_array() override - { - input_handler_->end_array(*context_); - } - - void do_name(const CharT* name, size_t length) override - { - input_handler_->name(name, length, *context_); - } - - void do_string_value(const CharT* value, size_t length) override - { - input_handler_->value(value, length, *context_); - } - - void do_integer_value(int64_t value) override - { - input_handler_->value(value, *context_); - } - - void do_uinteger_value(uint64_t value) override - { - input_handler_->value(value, *context_); - } - - void do_double_value(double value, uint8_t precision) override - { - input_handler_->value(value, precision, *context_); - } - - void do_bool_value(bool value) override - { - input_handler_->value(value, *context_); - } - - void do_null_value() override - { - input_handler_->value(null_type(), *context_); - } - - basic_json_input_handler* input_handler_; - const basic_parsing_context* context_; -}; - -typedef basic_json_filter json_filter; -typedef basic_json_filter wjson_filter; - -} - -#endif diff --git a/runtime/include/jsoncons/json_input_handler.hpp b/runtime/include/jsoncons/json_input_handler.hpp deleted file mode 100644 index 566209e..0000000 --- a/runtime/include/jsoncons/json_input_handler.hpp +++ /dev/null @@ -1,282 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_INPUT_HANDLER_HPP -#define JSONCONS_JSON_INPUT_HANDLER_HPP - -#include -#include "jsoncons/jsoncons.hpp" - -namespace jsoncons { - -template -uint64_t string_to_uinteger(const CharT *s, size_t length) throw(std::overflow_error) -{ - static const uint64_t max_value = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - static const uint64_t max_value_div_10 = max_value / 10; - uint64_t n = 0; - for (size_t i = 0; i < length; ++i) - { - uint64_t x = s[i] - '0'; - if (n > max_value_div_10) - { - throw std::overflow_error("Unsigned overflow"); - } - n = n * 10; - if (n > max_value - x) - { - throw std::overflow_error("Unsigned overflow"); - } - - n += x; - } - return n; -} - -template -int64_t string_to_integer(bool has_neg, const CharT *s, size_t length) throw(std::overflow_error) -{ - const long long max_value = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - const long long max_value_div_10 = max_value / 10; - - long long n = 0; - for (size_t i = 0; i < length; ++i) - { - long long x = s[i] - '0'; - if (n > max_value_div_10) - { - throw std::overflow_error("Integer overflow"); - } - n = n * 10; - if (n > max_value - x) - { - throw std::overflow_error("Integer overflow"); - } - - n += x; - } - return has_neg ? -n : n; -} - -template -class basic_parsing_context; - -template -class basic_json_input_handler -{ -public: - virtual ~basic_json_input_handler() {} - - void begin_json() - { - do_begin_json(); - } - - void end_json() - { - do_end_json(); - } - - void begin_object(const basic_parsing_context& context) - { - do_begin_object(context); - } - - void end_object(const basic_parsing_context& context) - { - do_end_object(context); - } - - void begin_array(const basic_parsing_context& context) - { - do_begin_array(context); - } - - void end_array(const basic_parsing_context& context) - { - do_end_array(context); - } - - void name(const std::basic_string& name, const basic_parsing_context& context) - { - do_name(name.data(), name.length(), context); - } - - void name(const CharT* p, size_t length, const basic_parsing_context& context) - { - do_name(p, length, context); - } - - void value(const std::basic_string& value, const basic_parsing_context& context) - { - do_string_value(value.data(), value.length(), context); - } - - void value(const CharT* p, size_t length, const basic_parsing_context& context) - { - do_string_value(p, length, context); - } - - void value(const CharT* p, const basic_parsing_context& context) - { - do_string_value(p, std::char_traits::length(p), context); - } - - void value(int value, const basic_parsing_context& context) - { - do_integer_value(value,context); - } - - void value(long value, const basic_parsing_context& context) - { - do_integer_value(value,context); - } - - void value(long long value, const basic_parsing_context& context) - { - do_integer_value(value,context); - } - - void value(unsigned int value, const basic_parsing_context& context) - { - do_uinteger_value(value,context); - } - - void value(unsigned long value, const basic_parsing_context& context) - { - do_uinteger_value(value,context); - } - - void value(unsigned long long value, const basic_parsing_context& context) - { - do_uinteger_value(value,context); - } - - void value(float value, uint8_t precision, const basic_parsing_context& context) - { - do_double_value(value, precision, context); - } - - void value(double value, uint8_t precision, const basic_parsing_context& context) - { - do_double_value(value, precision, context); - } - - void value(bool value, const basic_parsing_context& context) - { - do_bool_value(value,context); - } - - void value(null_type, const basic_parsing_context& context) - { - do_null_value(context); - } - -private: - virtual void do_begin_json() = 0; - - virtual void do_end_json() = 0; - - virtual void do_begin_object(const basic_parsing_context& context) = 0; - - virtual void do_end_object(const basic_parsing_context& context) = 0; - - virtual void do_begin_array(const basic_parsing_context& context) = 0; - - virtual void do_end_array(const basic_parsing_context& context) = 0; - - virtual void do_name(const CharT* name, size_t length, const basic_parsing_context& context) = 0; - - virtual void do_null_value(const basic_parsing_context& context) = 0; - - virtual void do_string_value(const CharT* value, size_t length, const basic_parsing_context& context) = 0; - - virtual void do_double_value(double value, uint8_t precision, const basic_parsing_context& context) = 0; - - virtual void do_integer_value(int64_t value, const basic_parsing_context& context) = 0; - - virtual void do_uinteger_value(uint64_t value, const basic_parsing_context& context) = 0; - - virtual void do_bool_value(bool value, const basic_parsing_context& context) = 0; -}; - - -template -class basic_empty_json_input_handler : public basic_json_input_handler -{ -public: - static basic_json_input_handler& instance() - { - static basic_empty_json_input_handler instance; - return instance; - } -private: - void do_begin_json() override - { - } - - void do_end_json() override - { - } - - void do_begin_object(const basic_parsing_context&) override - { - } - - void do_end_object(const basic_parsing_context&) override - { - } - - void do_begin_array(const basic_parsing_context&) override - { - } - - void do_end_array(const basic_parsing_context&) override - { - } - - void do_name(const CharT* p, size_t length, const basic_parsing_context&) override - { - (void)p; - (void)length; - } - - void do_null_value(const basic_parsing_context&) override - { - } - - void do_string_value(const CharT* p, size_t length, const basic_parsing_context&) override - { - (void)p; - (void)length; - } - - void do_double_value(double, uint8_t, const basic_parsing_context&) override - { - } - - void do_integer_value(int64_t, const basic_parsing_context&) override - { - } - - void do_uinteger_value(uint64_t, const basic_parsing_context&) override - { - } - - void do_bool_value(bool, const basic_parsing_context&) override - { - } -}; - -typedef basic_json_input_handler json_input_handler; -typedef basic_json_input_handler wjson_input_handler; - -typedef basic_empty_json_input_handler empty_json_input_handler; -typedef basic_empty_json_input_handler wempty_json_input_handler; - -} - -#endif diff --git a/runtime/include/jsoncons/json_output_handler.hpp b/runtime/include/jsoncons/json_output_handler.hpp deleted file mode 100644 index d0f3de8..0000000 --- a/runtime/include/jsoncons/json_output_handler.hpp +++ /dev/null @@ -1,262 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_OUTPUT_HANDLER_HPP -#define JSONCONS_JSON_OUTPUT_HANDLER_HPP - -#include -#include "jsoncons/jsoncons.hpp" - -namespace jsoncons { - -template -void print_integer(int64_t value, buffered_ostream& os) -{ - CharT buf[255]; - uint64_t u = (value < 0) ? static_cast(-value) : static_cast(value); - CharT* p = buf; - do - { - *p++ = static_cast(48 + u%10); - } - while (u /= 10); - if (value < 0) - { - os.put('-'); - } - while (--p >= buf) - { - os.put(*p); - } -} - -template -void print_uinteger(uint64_t value, buffered_ostream& os) -{ - CharT buf[255]; - CharT* p = buf; - do - { - *p++ = static_cast(48 + value % 10); - } while (value /= 10); - while (--p >= buf) - { - os.put(*p); - } -} - -template -class basic_json_output_handler -{ -public: - virtual ~basic_json_output_handler() {} - - // Overloaded methods - - void begin_json() - { - do_begin_json(); - } - - void end_json() - { - do_end_json(); - } - - void begin_object() - { - do_begin_object(); - } - - void end_object() - { - do_end_object(); - } - - void begin_array() - { - do_begin_array(); - } - - void end_array() - { - do_end_array(); - } - - void name(const std::basic_string& name) - { - do_name(name.data(), name.length()); - } - - void name(const CharT* p, size_t length) - { - do_name(p, length); - } - - void value(const std::basic_string& value) - { - do_string_value(value.data(), value.length()); - } - - void value(const CharT* p, size_t length) - { - do_string_value(p, length); - } - - void value(const CharT* p) - { - do_string_value(p, std::char_traits::length(p)); - } - - void value(int value) - { - do_integer_value(value); - } - - void value(long value) - { - do_integer_value(value); - } - - void value(long long value) - { - do_integer_value(value); - } - - void value(unsigned int value) - { - do_uinteger_value(value); - } - - void value(unsigned long value) - { - do_uinteger_value(value); - } - - void value(unsigned long long value) - { - do_uinteger_value(value); - } - - void value(double value, uint8_t precision = 0) - { - do_double_value(value, precision); - } - - void value(bool value) - { - do_bool_value(value); - } - - void value(null_type) - { - do_null_value(); - } - -private: - - virtual void do_begin_json() = 0; - - virtual void do_end_json() = 0; - - virtual void do_name(const CharT* name, size_t length) = 0; - - virtual void do_begin_object() = 0; - - virtual void do_end_object() = 0; - - virtual void do_begin_array() = 0; - - virtual void do_end_array() = 0; - - virtual void do_null_value() = 0; - - virtual void do_string_value(const CharT* value, size_t length) = 0; - - virtual void do_double_value(double value, uint8_t precision) = 0; - - virtual void do_integer_value(int64_t value) = 0; - - virtual void do_uinteger_value(uint64_t value) = 0; - - virtual void do_bool_value(bool value) = 0; -}; - -template -class null_json_output_handler_impl : public basic_json_output_handler -{ -private: - - void do_begin_json() override - { - } - - void do_end_json() override - { - } - - void do_name(const CharT* name, size_t length) override - { - (void)name; - (void)length; - } - - void do_begin_object() override - { - } - - void do_end_object() override - { - } - - void do_begin_array() override - { - } - - void do_end_array() override - { - } - - void do_null_value() override - { - } - - void do_string_value(const CharT* p, size_t length) override - { - (void)p; - (void)length; - } - - void do_double_value(double, uint8_t) override - { - } - - void do_integer_value(int64_t) override - { - } - - void do_uinteger_value(uint64_t) override - { - } - - void do_bool_value(bool) override - { - } - -}; - -template -basic_json_output_handler& null_json_output_handler() -{ - static null_json_output_handler_impl instance; - return instance; -} - -typedef basic_json_output_handler json_output_handler; -typedef basic_json_output_handler wjson_output_handler; - -} -#endif diff --git a/runtime/include/jsoncons/json_parser.hpp b/runtime/include/jsoncons/json_parser.hpp deleted file mode 100644 index e2932ff..0000000 --- a/runtime/include/jsoncons/json_parser.hpp +++ /dev/null @@ -1,1583 +0,0 @@ -// Copyright 2015 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_PARSER_HPP -#define JSONCONS_JSON_PARSER_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include "jsoncons/jsoncons.hpp" -#include "jsoncons/json_input_handler.hpp" -#include "jsoncons/parse_error_handler.hpp" -#include "jsoncons/json_error_category.hpp" - -namespace jsoncons { - -enum class states -{ - root, - start, - slash, - slash_slash, - slash_star, - slash_star_star, - expect_comma_or_end, - object, - expect_member_name_or_end, - expect_member_name, - expect_colon, - expect_value_or_end, - expect_value, - array, - string, - member_name, - escape, - u1, - u2, - u3, - u4, - expect_surrogate_pair1, - expect_surrogate_pair2, - u6, - u7, - u8, - u9, - minus, - zero, - integer, - fraction, - exp1, - exp2, - exp3, - n, - t, - f, - cr, - lf, - done -}; - -template -class basic_json_parser : private basic_parsing_context -{ - static const int default_initial_stack_capacity_ = 100; - - std::vector stack_; - basic_json_input_handler *handler_; - basic_parse_error_handler *err_handler_; - size_t column_; - size_t line_; - uint32_t cp_; - uint32_t cp2_; - std::basic_string string_buffer_; - std::basic_string number_buffer_; - bool is_negative_; - size_t index_; - int initial_stack_capacity_; - int nesting_depth_; - int max_depth_; - float_reader float_reader_; - const CharT* begin_input_; - const CharT* end_input_; - const CharT* p_; - uint8_t precision_; - std::pair literal_; - size_t literal_index_; - -public: - basic_json_parser(basic_json_input_handler& handler) - : handler_(std::addressof(handler)), - err_handler_(std::addressof(basic_default_parse_error_handler::instance())), - column_(0), - line_(0), - cp_(0), - is_negative_(false), - index_(0), - initial_stack_capacity_(default_initial_stack_capacity_) - { - max_depth_ = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - - basic_json_parser(basic_json_input_handler& handler, - basic_parse_error_handler& err_handler) - : handler_(std::addressof(handler)), - err_handler_(std::addressof(err_handler)), - column_(0), - line_(0), - cp_(0), - is_negative_(false), - index_(0), - initial_stack_capacity_(default_initial_stack_capacity_) - - { - max_depth_ = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - - const basic_parsing_context& parsing_context() const - { - return *this; - } - - ~basic_json_parser() - { - } - - size_t max_nesting_depth() const - { - return static_cast(max_depth_); - } - - void max_nesting_depth(size_t max_nesting_depth) - { - max_depth_ = static_cast(std::min(max_nesting_depth,static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()))); - } - - states parent() const - { - return stack_[stack_.size()-2]; - } - - bool done() const - { - return stack_.back() == states::done; - } - - void do_space() - { - while ((p_ + 1) < end_input_ && (*(p_ + 1) == ' ' || *(p_ + 1) == '\t')) - { - ++p_; - ++column_; - } - } - - void do_begin_object() - { - if (++nesting_depth_ >= max_depth_) - { - err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); - } - stack_.back() = states::object; - stack_.push_back(states::expect_member_name_or_end); - handler_->begin_object(*this); - } - - void do_end_object() - { - --nesting_depth_; - JSONCONS_ASSERT(!stack_.empty()) - stack_.pop_back(); - if (stack_.back() == states::object) - { - handler_->end_object(*this); - } - else if (stack_.back() == states::array) - { - err_handler_->fatal_error(std::error_code(json_parser_errc::expected_comma_or_right_bracket, json_error_category()), *this); - } - else - { - err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_brace, json_error_category()), *this); - } - - JSONCONS_ASSERT(stack_.size() >= 2); - if (parent() == states::root) - { - stack_.back() = states::done; - handler_->end_json(); - } - else - { - stack_.back() = states::expect_comma_or_end; - } - } - - void do_begin_array() - { - if (++nesting_depth_ >= max_depth_) - { - err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); - } - stack_.back() = states::array; - stack_.push_back(states::expect_value_or_end); - handler_->begin_array(*this); - } - - void do_end_array() - { - --nesting_depth_; - JSONCONS_ASSERT(!stack_.empty()) - stack_.pop_back(); - if (stack_.back() == states::array) - { - handler_->end_array(*this); - } - else if (stack_.back() == states::object) - { - err_handler_->fatal_error(std::error_code(json_parser_errc::expected_comma_or_right_brace, json_error_category()), *this); - } - else - { - err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_bracket, json_error_category()), *this); - } - JSONCONS_ASSERT(stack_.size() >= 2); - if (parent() == states::root) - { - stack_.back() = states::done; - handler_->end_json(); - } - else - { - stack_.back() = states::expect_comma_or_end; - } - } - - void begin_parse() - { - stack_.clear(); - stack_.reserve(initial_stack_capacity_); - stack_.push_back(states::root); - stack_.push_back(states::start); - line_ = 1; - column_ = 1; - nesting_depth_ = 0; - } - - void check_done(const CharT* input, size_t start, size_t length) - { - index_ = start; - for (; index_ < length; ++index_) - { - CharT curr_char_ = input[index_]; - switch (curr_char_) - { - case '\n': - case '\r': - case '\t': - case ' ': - break; - default: - err_handler_->error(std::error_code(json_parser_errc::extra_character, json_error_category()), *this); - break; - } - } - } - - void parse_string() - { - const CharT* sb = p_; - bool done = false; - while (!done && p_ < end_input_) - { - switch (*p_) - { - case 0x00:case 0x01:case 0x02:case 0x03:case 0x04:case 0x05:case 0x06:case 0x07:case 0x08:case 0x0b: - case 0x0c:case 0x0e:case 0x0f:case 0x10:case 0x11:case 0x12:case 0x13:case 0x14:case 0x15:case 0x16: - case 0x17:case 0x18:case 0x19:case 0x1a:case 0x1b:case 0x1c:case 0x1d:case 0x1e:case 0x1f: - string_buffer_.append(sb,p_-sb); - column_ += (p_ - sb + 1); - err_handler_->error(std::error_code(json_parser_errc::illegal_control_character, json_error_category()), *this); - // recovery - skip - done = true; - ++p_; - break; - case '\r': - { - column_ += (p_ - sb + 1); - err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); - // recovery - keep - string_buffer_.append(sb, p_ - sb + 1); - stack_.push_back(states::cr); - done = true; - ++p_; - } - break; - case '\n': - { - column_ += (p_ - sb + 1); - err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); - // recovery - keep - string_buffer_.append(sb, p_ - sb + 1); - stack_.push_back(states::lf); - done = true; - ++p_; - } - break; - case '\t': - { - column_ += (p_ - sb + 1); - err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); - // recovery - keep - string_buffer_.append(sb, p_ - sb + 1); - done = true; - ++p_; - } - break; - case '\\': - string_buffer_.append(sb,p_-sb); - column_ += (p_ - sb + 1); - stack_.back() = states::escape; - done = true; - ++p_; - break; - case '\"': - if (string_buffer_.length() == 0) - { - end_string_value(sb,p_-sb); - } - else - { - string_buffer_.append(sb,p_-sb); - end_string_value(string_buffer_.data(),string_buffer_.length()); - string_buffer_.clear(); - } - column_ += (p_ - sb + 1); - done = true; - ++p_; - break; - default: - ++p_; - break; - } - } - if (!done) - { - string_buffer_.append(sb,p_-sb); - column_ += (p_ - sb + 1); - } - } - - void parse(const CharT* const input, size_t start, size_t length) - { - begin_input_ = input + start; - end_input_ = input + length; - p_ = begin_input_; - - index_ = start; - while ((p_ < end_input_) && (stack_.back() != states::done)) - { - switch (*p_) - { - case 0x00:case 0x01:case 0x02:case 0x03:case 0x04:case 0x05:case 0x06:case 0x07:case 0x08:case 0x0b: - case 0x0c:case 0x0e:case 0x0f:case 0x10:case 0x11:case 0x12:case 0x13:case 0x14:case 0x15:case 0x16: - case 0x17:case 0x18:case 0x19:case 0x1a:case 0x1b:case 0x1c:case 0x1d:case 0x1e:case 0x1f: - err_handler_->error(std::error_code(json_parser_errc::illegal_control_character, json_error_category()), *this); - break; - default: - break; - } - - switch (stack_.back()) - { - case states::cr: - ++line_; - column_ = 1; - switch (*p_) - { - case '\n': - JSONCONS_ASSERT(!stack_.empty()) - stack_.pop_back(); - ++p_; - break; - default: - JSONCONS_ASSERT(!stack_.empty()) - stack_.pop_back(); - break; - } - break; - case states::lf: - ++line_; - column_ = 1; - JSONCONS_ASSERT(!stack_.empty()) - stack_.pop_back(); - break; - case states::start: - { - switch (*p_) - { - case '\r': - stack_.push_back(states::cr); - break; - case '\n': - stack_.push_back(states::lf); - break; - case ' ':case '\t': - do_space(); - break; - case '/': - stack_.push_back(states::slash); - break; - case '{': - handler_->begin_json(); - do_begin_object(); - break; - case '[': - handler_->begin_json(); - do_begin_array(); - break; - case '\"': - handler_->begin_json(); - stack_.back() = states::string; - break; - case '-': - handler_->begin_json(); - is_negative_ = true; - stack_.back() = states::minus; - break; - case '0': - handler_->begin_json(); - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::zero; - break; - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - handler_->begin_json(); - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::integer; - break; - case 'f': - handler_->begin_json(); - stack_.back() = states::f; - literal_ = json_literals::false_literal(); - literal_index_ = 1; - break; - case 'n': - handler_->begin_json(); - stack_.back() = states::n; - literal_ = json_literals::null_literal(); - literal_index_ = 1; - break; - case 't': - handler_->begin_json(); - stack_.back() = states::t; - literal_ = json_literals::true_literal(); - literal_index_ = 1; - break; - case '}': - err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_brace, json_error_category()), *this); - break; - case ']': - err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_bracket, json_error_category()), *this); - break; - default: - err_handler_->fatal_error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - - case states::expect_comma_or_end: - { - switch (*p_) - { - case '\r': - stack_.push_back(states::cr); - break; - case '\n': - stack_.push_back(states::lf); - break; - case ' ':case '\t': - do_space(); - break; - case '/': - stack_.push_back(states::slash); - break; - case '}': - do_end_object(); - break; - case ']': - do_end_array(); - break; - case ',': - begin_member_or_element(); - break; - default: - JSONCONS_ASSERT(stack_.size() >= 2); - if (parent() == states::array) - { - err_handler_->error(std::error_code(json_parser_errc::expected_comma_or_right_bracket, json_error_category()), *this); - } - else if (parent() == states::object) - { - err_handler_->error(std::error_code(json_parser_errc::expected_comma_or_right_brace, json_error_category()), *this); - } - break; - } - } - ++p_; - ++column_; - break; - case states::expect_member_name_or_end: - { - switch (*p_) - { - case '\r': - stack_.push_back(states::cr); - break; - case '\n': - stack_.push_back(states::lf); - break; - case ' ':case '\t': - do_space(); - break; - case '/': - stack_.push_back(states::slash); - break; - case '}': - do_end_object(); - break; - case '\"': - stack_.back() = states::member_name; - stack_.push_back(states::string); - break; - case '\'': - err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_name, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::expect_member_name: - { - switch (*p_) - { - case '\r': - stack_.push_back(states::cr); - break; - case '\n': - stack_.push_back(states::lf); - break; - case ' ':case '\t': - do_space(); - break; - case '/': - stack_.push_back(states::slash); - break; - case '\"': - //stack_.back() = states::string; - stack_.back() = states::member_name; - stack_.push_back(states::string); - break; - case '}': - --nesting_depth_; - err_handler_->error(std::error_code(json_parser_errc::extra_comma, json_error_category()), *this); - break; - case '\'': - err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_name, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::expect_colon: - { - switch (*p_) - { - case '\r': - stack_.push_back(states::cr); - break; - case '\n': - stack_.push_back(states::lf); - break; - case ' ':case '\t': - do_space(); - break; - case '/': - stack_.push_back(states::slash); - break; - case ':': - stack_.back() = states::expect_value; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_colon, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::expect_value: - { - switch (*p_) - { - case '\r': - stack_.push_back(states::cr); - break; - case '\n': - stack_.push_back(states::lf); - break; - case ' ':case '\t': - do_space(); - break; - case '/': - stack_.push_back(states::slash); - break; - case '{': - do_begin_object(); - break; - case '[': - do_begin_array(); - break; - case '\"': - stack_.back() = states::string; - break; - case '-': - is_negative_ = true; - stack_.back() = states::minus; - break; - case '0': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::zero; - break; - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::integer; - break; - case 'f': - stack_.back() = states::f; - literal_ = json_literals::false_literal(); - literal_index_ = 1; - break; - case 'n': - stack_.back() = states::n; - literal_ = json_literals::null_literal(); - literal_index_ = 1; - break; - case 't': - stack_.back() = states::t; - literal_ = json_literals::true_literal(); - literal_index_ = 1; - break; - case ']': - JSONCONS_ASSERT(stack_.size() >= 2); - if (parent() == states::array) - { - err_handler_->error(std::error_code(json_parser_errc::extra_comma, json_error_category()), *this); - } - else - { - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - } - break; - case '\'': - err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::expect_value_or_end: - { - switch (*p_) - { - case '\r': - stack_.push_back(states::cr); - break; - case '\n': - stack_.push_back(states::lf); - break; - case ' ':case '\t': - do_space(); - break; - case '/': - stack_.push_back(states::slash); - break; - case '{': - do_begin_object(); - break; - case '[': - do_begin_array(); - break; - case ']': - do_end_array(); - break; - case '\"': - stack_.back() = states::string; - break; - case '-': - is_negative_ = true; - stack_.back() = states::minus; - break; - case '0': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::zero; - break; - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::integer; - break; - case 'f': - stack_.back() = states::f; - literal_ = json_literals::false_literal(); - literal_index_ = 1; - break; - case 'n': - stack_.back() = states::n; - literal_ = json_literals::null_literal(); - literal_index_ = 1; - break; - case 't': - stack_.back() = states::t; - literal_ = json_literals::true_literal(); - literal_index_ = 1; - break; - case '\'': - err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::string: - parse_string(); - break; - case states::escape: - { - escape_next_char(*p_); - } - ++p_; - ++column_; - break; - case states::u1: - { - append_codepoint(*p_); - stack_.back() = states::u2; - } - ++p_; - ++column_; - break; - case states::u2: - { - append_codepoint(*p_); - stack_.back() = states::u3; - } - ++p_; - ++column_; - break; - case states::u3: - { - append_codepoint(*p_); - stack_.back() = states::u4; - } - ++p_; - ++column_; - break; - case states::u4: - { - append_codepoint(*p_); - if (cp_ >= min_lead_surrogate && cp_ <= max_lead_surrogate) - { - stack_.back() = states::expect_surrogate_pair1; - } - else - { - json_char_traits::append_codepoint_to_string(cp_, string_buffer_); - stack_.back() = states::string; - } - } - ++p_; - ++column_; - break; - case states::expect_surrogate_pair1: - { - switch (*p_) - { - case '\\': - cp2_ = 0; - stack_.back() = states::expect_surrogate_pair2; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_codepoint_surrogate_pair, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::expect_surrogate_pair2: - { - switch (*p_) - { - case 'u': - stack_.back() = states::u6; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_codepoint_surrogate_pair, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::u6: - { - append_second_codepoint(*p_); - stack_.back() = states::u7; - } - ++p_; - ++column_; - break; - case states::u7: - { - append_second_codepoint(*p_); - stack_.back() = states::u8; - } - ++p_; - ++column_; - break; - case states::u8: - { - append_second_codepoint(*p_); - stack_.back() = states::u9; - } - ++p_; - ++column_; - break; - case states::u9: - { - append_second_codepoint(*p_); - uint32_t cp = 0x10000 + ((cp_ & 0x3FF) << 10) + (cp2_ & 0x3FF); - json_char_traits::append_codepoint_to_string(cp, string_buffer_); - stack_.back() = states::string; - } - ++p_; - ++column_; - break; - case states::minus: - { - switch (*p_) - { - case '0': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::zero; - break; - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::integer; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::zero: - { - switch (*p_) - { - case '\r': - end_integer_value(); - stack_.push_back(states::cr); - break; - case '\n': - end_integer_value(); - stack_.push_back(states::lf); - break; - case ' ':case '\t': - end_integer_value(); - do_space(); - break; - case '/': - end_integer_value(); - stack_.push_back(states::slash); - break; - case '}': - end_integer_value(); - do_end_object(); - break; - case ']': - end_integer_value(); - do_end_array(); - break; - case '.': - precision_ = static_cast(number_buffer_.length()); - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::fraction; - break; - case ',': - end_integer_value(); - begin_member_or_element(); - break; - case '0': case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - err_handler_->error(std::error_code(json_parser_errc::leading_zero, json_error_category()), *this); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::integer: - { - switch (*p_) - { - case '\r': - end_integer_value(); - stack_.push_back(states::cr); - break; - case '\n': - end_integer_value(); - stack_.push_back(states::lf); - break; - case ' ':case '\t': - end_integer_value(); - do_space(); - break; - case '/': - end_integer_value(); - stack_.push_back(states::slash); - break; - case '}': - end_integer_value(); - do_end_object(); - break; - case ']': - end_integer_value(); - do_end_array(); - break; - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::integer; - break; - case '.': - precision_ = static_cast(number_buffer_.length()); - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::fraction; - break; - case ',': - end_integer_value(); - begin_member_or_element(); - break; - case 'e':case 'E': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::exp1; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::fraction: - { - switch (*p_) - { - case '\r': - end_fraction_value(); - stack_.push_back(states::cr); - break; - case '\n': - end_fraction_value(); - stack_.push_back(states::lf); - break; - case ' ':case '\t': - end_fraction_value(); - do_space(); - break; - case '/': - end_fraction_value(); - stack_.push_back(states::slash); - break; - case '}': - end_fraction_value(); - do_end_object(); - break; - case ']': - end_fraction_value(); - do_end_array(); - break; - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - ++precision_; - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::fraction; - break; - case ',': - end_fraction_value(); - begin_member_or_element(); - break; - case 'e':case 'E': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::exp1; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::exp1: - { - switch (*p_) - { - case '+': - stack_.back() = states::exp2; - break; - case '-': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::exp2; - break; - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::exp3; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::exp2: - { - switch (*p_) - { - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::exp3; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::exp3: - { - switch (*p_) - { - case '\r': - end_fraction_value(); - stack_.push_back(states::cr); - break; - case '\n': - end_fraction_value(); - stack_.push_back(states::lf); - break; - case ' ':case '\t': - end_fraction_value(); - do_space(); - break; - case '/': - end_fraction_value(); - stack_.push_back(states::slash); - break; - case '}': - end_fraction_value(); - do_end_object(); - break; - case ']': - end_fraction_value(); - do_end_array(); - break; - case ',': - end_fraction_value(); - begin_member_or_element(); - break; - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - stack_.back() = states::exp3; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::t: - while (p_ < end_input_ && literal_index_ < literal_.second) - { - if (*p_ != literal_.first[literal_index_]) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); - } - ++p_; - ++literal_index_; - ++column_; - } - if (literal_index_ == literal_.second) - { - handler_->value(true, *this); - JSONCONS_ASSERT(stack_.size() >= 2); - if (parent() == states::root) - { - stack_.back() = states::done; - handler_->end_json(); - } - else - { - stack_.back() = states::expect_comma_or_end; - } - } - break; - case states::f: - while (p_ < end_input_ && literal_index_ < literal_.second) - { - if (*p_ != literal_.first[literal_index_]) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); - } - ++p_; - ++literal_index_; - ++column_; - } - if (literal_index_ == literal_.second) - { - handler_->value(false, *this); - JSONCONS_ASSERT(stack_.size() >= 2); - if (parent() == states::root) - { - stack_.back() = states::done; - handler_->end_json(); - } - else - { - stack_.back() = states::expect_comma_or_end; - } - } - break; - case states::n: - while (p_ < end_input_ && literal_index_ < literal_.second) - { - if (*p_ != literal_.first[literal_index_]) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); - } - ++p_; - ++literal_index_; - ++column_; - } - if (literal_index_ == literal_.second) - { - handler_->value(null_type(), *this); - JSONCONS_ASSERT(stack_.size() >= 2); - if (parent() == states::root) - { - stack_.back() = states::done; - handler_->end_json(); - } - else - { - stack_.back() = states::expect_comma_or_end; - } - } - break; - case states::slash: - { - switch (*p_) - { - case '*': - stack_.back() = states::slash_star; - break; - case '/': - stack_.back() = states::slash_slash; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::slash_star: - { - switch (*p_) - { - case '\r': - stack_.push_back(states::cr); - break; - case '\n': - stack_.push_back(states::lf); - break; - case '*': - stack_.back() = states::slash_star_star; - break; - } - } - ++p_; - ++column_; - break; - case states::slash_slash: - { - switch (*p_) - { - case '\r': - stack_.pop_back(); - break; - case '\n': - stack_.pop_back(); - break; - default: - ++p_; - ++column_; - } - } - break; - case states::slash_star_star: - { - switch (*p_) - { - case '/': - JSONCONS_ASSERT(!stack_.empty()) - stack_.pop_back(); - break; - default: - stack_.back() = states::slash_star; - break; - } - } - ++p_; - ++column_; - break; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad parser state"); - break; - } - } - index_ += (p_-begin_input_); - } - - void end_parse() - { - JSONCONS_ASSERT(stack_.size() >= 2); - if (parent() == states::root) - { - switch (stack_.back()) - { - case states::zero: - case states::integer: - end_integer_value(); - break; - case states::fraction: - case states::exp3: - end_fraction_value(); - break; - default: - break; - } - } - if (stack_.back() != states::done) - { - err_handler_->error(std::error_code(json_parser_errc::unexpected_eof, json_error_category()), *this); - } - } - - states state() const - { - return stack_.back(); - } - - size_t index() const - { - return index_; - } -private: - void end_fraction_value() - { - try - { - double d = float_reader_.read(number_buffer_.data(), precision_); - if (is_negative_) - d = -d; - handler_->value(d, static_cast(precision_), *this); - } - catch (...) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - handler_->value(null_type(), *this); // recovery - } - number_buffer_.clear(); - is_negative_ = false; - - JSONCONS_ASSERT(stack_.size() >= 2); - switch (parent()) - { - case states::array: - case states::object: - stack_.back() = states::expect_comma_or_end; - break; - case states::root: - stack_.back() = states::done; - handler_->end_json(); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - } - - void end_integer_value() - { - if (is_negative_) - { - try - { - int64_t d = string_to_integer(is_negative_, number_buffer_.data(), number_buffer_.length()); - handler_->value(d, *this); - } - catch (const std::exception&) - { - try - { - double d = float_reader_.read(number_buffer_.data(), number_buffer_.length()); - handler_->value(-d, static_cast(number_buffer_.length()), *this); - } - catch (...) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - handler_->value(null_type(), *this); - } - } - } - else - { - try - { - uint64_t d = string_to_uinteger(number_buffer_.data(), number_buffer_.length()); - handler_->value(d, *this); - } - catch (const std::exception&) - { - try - { - double d = float_reader_.read(number_buffer_.data(),number_buffer_.length()); - handler_->value(d, static_cast(number_buffer_.length()), *this); - } - catch (...) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - handler_->value(null_type(), *this); - } - } - } - - JSONCONS_ASSERT(stack_.size() >= 2); - switch (parent()) - { - case states::array: - case states::object: - stack_.back() = states::expect_comma_or_end; - break; - case states::root: - stack_.back() = states::done; - handler_->end_json(); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - number_buffer_.clear(); - is_negative_ = false; - } - - void append_codepoint(int c) - { - switch (c) - { - case '0': case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - case 'a':case 'b':case 'c':case 'd':case 'e':case 'f': - case 'A':case 'B':case 'C':case 'D':case 'E':case 'F': - cp_ = append_to_codepoint(cp_, c); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - - void append_second_codepoint(int c) - { - switch (c) - { - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - case 'a':case 'b':case 'c':case 'd':case 'e':case 'f': - case 'A':case 'B':case 'C':case 'D':case 'E':case 'F': - cp2_ = append_to_codepoint(cp2_, c); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - - void escape_next_char(int next_input) - { - switch (next_input) - { - case '\"': - string_buffer_.push_back('\"'); - stack_.back() = states::string; - break; - case '\\': - string_buffer_.push_back('\\'); - stack_.back() = states::string; - break; - case '/': - string_buffer_.push_back('/'); - stack_.back() = states::string; - break; - case 'b': - string_buffer_.push_back('\b'); - stack_.back() = states::string; - break; - case 'f': - string_buffer_.push_back('\f'); - stack_.back() = states::string; - break; - case 'n': - string_buffer_.push_back('\n'); - stack_.back() = states::string; - break; - case 'r': - string_buffer_.push_back('\r'); - stack_.back() = states::string; - break; - case 't': - string_buffer_.push_back('\t'); - stack_.back() = states::string; - break; - case 'u': - cp_ = 0; - stack_.back() = states::u1; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::illegal_escaped_character, json_error_category()), *this); - break; - } - } - - void end_string_value(const CharT* s, size_t length) - { - JSONCONS_ASSERT(stack_.size() >= 2); - switch (parent()) - { - case states::member_name: - handler_->name(s, length, *this); - stack_.pop_back(); - stack_.back() = states::expect_colon; - break; - case states::object: - case states::array: - handler_->value(s, length, *this); - stack_.back() = states::expect_comma_or_end; - break; - case states::root: - handler_->value(s, length, *this); - stack_.back() = states::done; - handler_->end_json(); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - } - - void begin_member_or_element() - { - JSONCONS_ASSERT(stack_.size() >= 2); - switch (parent()) - { - case states::object: - stack_.back() = states::expect_member_name; - break; - case states::array: - stack_.back() = states::expect_value; - break; - case states::root: - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - } - - uint32_t append_to_codepoint(uint32_t cp, int c) - { - cp *= 16; - if (c >= '0' && c <= '9') - { - cp += c - '0'; - } - else if (c >= 'a' && c <= 'f') - { - cp += c - 'a' + 10; - } - else if (c >= 'A' && c <= 'F') - { - cp += c - 'A' + 10; - } - else - { - err_handler_->error(std::error_code(json_parser_errc::invalid_hex_escape_sequence, json_error_category()), *this); - } - return cp; - } - - size_t do_line_number() const override - { - return line_; - } - - size_t do_column_number() const override - { - return column_; - } - - CharT do_current_char() const override - { - return p_ < end_input_? *p_ : 0; - } -}; - -typedef basic_json_parser json_parser; -typedef basic_json_parser wjson_parser; - -} - -#endif - diff --git a/runtime/include/jsoncons/json_parser.hpp.orig b/runtime/include/jsoncons/json_parser.hpp.orig deleted file mode 100644 index e4769d5..0000000 --- a/runtime/include/jsoncons/json_parser.hpp.orig +++ /dev/null @@ -1,2157 +0,0 @@ -// Copyright 2015 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_PARSER_HPP -#define JSONCONS_JSON_PARSER_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include "jsoncons/jsoncons.hpp" -#include "jsoncons/json_input_handler.hpp" -#include "jsoncons/parse_error_handler.hpp" -#include "jsoncons/json_error_category.hpp" - -namespace jsoncons { - -enum class modes -{ - done, - start, - array_element, - object_member_name, - object_member_value -}; - -enum class states -{ - start, - slash, - slash_slash, - slash_star, - slash_star_star, - expect_comma_or_end, - object, - expect_member_name, - expect_colon, - expect_value, - array, - string, - escape, - u1, - u2, - u3, - u4, - expect_surrogate_pair1, - expect_surrogate_pair2, - u6, - u7, - u8, - u9, - minus, - zero, - integer, - fraction, - exp1, - exp2, - exp3, - n, - t, - f, - cr, - lf, - done, - scalar -}; - -template -class basic_json_parser : private basic_parsing_context -{ - static const int default_depth = 100; - - std::vector state_stack_; - int top_; - std::vector stack_; - basic_json_input_handler *handler_; - basic_parse_error_handler *err_handler_; - size_t column_; - size_t line_; - uint32_t cp_; - uint32_t cp2_; - std::basic_string string_buffer_; - std::basic_string number_buffer_; - bool is_negative_; - states saved_state_; - states pre_line_break_state_; - size_t index_; - int depth_; - int max_depth_; - float_reader float_reader_; - const CharT* begin_input_; - const CharT* end_input_; - const CharT* p_; - uint8_t precision_; - std::pair literal_; - size_t literal_index_; - - std::vector stack2_; - -public: - basic_json_parser(basic_json_input_handler& handler) - : top_(-1), - stack_(default_depth), - handler_(std::addressof(handler)), - err_handler_(std::addressof(basic_default_parse_error_handler::instance())), - column_(0), - line_(0), - cp_(0), - is_negative_(false), - index_(0), - depth_(default_depth) - { - max_depth_ = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - - basic_json_parser(basic_json_input_handler& handler, - basic_parse_error_handler& err_handler) - : top_(-1), - stack_(default_depth), - handler_(std::addressof(handler)), - err_handler_(std::addressof(err_handler)), - column_(0), - line_(0), - cp_(0), - is_negative_(false), - index_(0), - depth_(default_depth) - - { - max_depth_ = std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - - const basic_parsing_context& parsing_context() const - { - return *this; - } - - ~basic_json_parser() - { - } - - size_t max_nesting_depth() const - { - return static_cast(max_depth_); - } - - void max_nesting_depth(size_t max_nesting_depth) - { - max_depth_ = static_cast(std::min(max_nesting_depth,static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()))); - if (depth_ > max_depth_) - { - depth_ = max_depth_; - stack_.resize(depth_); - } - } - - bool done() const - { - return state_stack_.back() == states::done; - } - - void begin_parse() - { - if (!push(modes::done)) - { - err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); - } - state_stack_.clear(); - state_stack_.push_back(states::start); - line_ = 1; - column_ = 1; - stack2_.push_back(states::start); - stack2_.push_back(states::scalar); - } - - void check_done(const CharT* input, size_t start, size_t length) - { - index_ = start; - for (; index_ < length; ++index_) - { - CharT curr_char_ = input[index_]; - switch (curr_char_) - { - case '\n': - case '\r': - case '\t': - case ' ': - break; - default: - err_handler_->error(std::error_code(json_parser_errc::extra_character, json_error_category()), *this); - break; - } - } - } - - bool parse_string(const CharT** first, const CharT** last) - { - const CharT* sb = p_; - bool done = false; - bool complete = false; - while (!done && p_ < end_input_) - { - switch (*p_) - { - case 0x00:case 0x01:case 0x02:case 0x03:case 0x04:case 0x05:case 0x06:case 0x07:case 0x08:case 0x0b: - case 0x0c:case 0x0e:case 0x0f:case 0x10:case 0x11:case 0x12:case 0x13:case 0x14:case 0x15:case 0x16: - case 0x17:case 0x18:case 0x19:case 0x1a:case 0x1b:case 0x1c:case 0x1d:case 0x1e:case 0x1f: - string_buffer_.append(sb,p_-sb); - column_ += (p_ - sb + 1); - err_handler_->error(std::error_code(json_parser_errc::illegal_control_character, json_error_category()), *this); - // recovery - skip - done = true; - ++p_; - break; - case '\r': - { - column_ += (p_ - sb + 1); - err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); - // recovery - keep - string_buffer_.append(sb, p_ - sb + 1); -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - done = true; - ++p_; - - stack2_.push_back(states::cr); - } - break; - case '\n': - { - column_ += (p_ - sb + 1); - err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); - // recovery - keep - string_buffer_.append(sb, p_ - sb + 1); - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; - done = true; - ++p_; - - stack2_.push_back(states::lf); - } - break; - case '\t': - { - column_ += (p_ - sb + 1); - err_handler_->error(std::error_code(json_parser_errc::illegal_character_in_string, json_error_category()), *this); - // recovery - keep - string_buffer_.append(sb, p_ - sb + 1); - done = true; - ++p_; - } - break; - case '\\': - string_buffer_.append(sb,p_-sb); - column_ += (p_ - sb + 1); -<<<<<<< HEAD - state_stack_.back() = states::escape; -======= - state_ = states::escape; - stack2_.front() = states::escape; ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - done = true; - ++p_; - break; - case '\"': - if (string_buffer_.length() == 0) - { - *first = sb; - *last = p_; - //end_string_value(sb,p_-sb); - } - else - { - string_buffer_.append(sb,p_-sb); - *first = string_buffer_.data(); - *last = string_buffer_.data() + string_buffer_.length(); - //end_string_value(string_buffer_.data(),string_buffer_.length()); - //string_buffer_.clear(); - } - column_ += (p_ - sb + 1); - done = true; - complete = true; - ++p_; - break; - default: - ++p_; - break; - } - } - if (!done) - { - string_buffer_.append(sb,p_-sb); - column_ += (p_ - sb + 1); - } - - return complete; - } - - void parse(const CharT* const input, size_t start, size_t length) - { - begin_input_ = input + start; - end_input_ = input + length; - p_ = begin_input_; - - index_ = start; - while ((p_ < end_input_) && (state_stack_.back() != states::done)) - { - switch (*p_) - { - case 0x00:case 0x01:case 0x02:case 0x03:case 0x04:case 0x05:case 0x06:case 0x07:case 0x08:case 0x0b: - case 0x0c:case 0x0e:case 0x0f:case 0x10:case 0x11:case 0x12:case 0x13:case 0x14:case 0x15:case 0x16: - case 0x17:case 0x18:case 0x19:case 0x1a:case 0x1b:case 0x1c:case 0x1d:case 0x1e:case 0x1f: - err_handler_->error(std::error_code(json_parser_errc::illegal_control_character, json_error_category()), *this); - break; - default: - break; - } - - switch (state_stack_.back()) - { - case states::cr: - ++line_; - column_ = 1; - switch (*p_) - { - case '\n': - state_stack_.back() = pre_line_break_state_; - ++p_; - break; - default: - state_stack_.back() = pre_line_break_state_; - break; - } - JSONCONS_ASSERT(stack2_.size() > 0); - stack2_.pop_back(); - break; - case states::lf: - ++line_; - column_ = 1; -<<<<<<< HEAD - state_stack_.back() = pre_line_break_state_; -======= - state_ = pre_line_break_state_; - JSONCONS_ASSERT(stack2_.size() > 0); - stack2_.pop_back(); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case states::start: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - break; - case '{': - handler_->begin_json(); - if (!push(modes::object_member_name)) - { - err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); - } -<<<<<<< HEAD - state_stack_.back() = states::object; -======= - state_ = states::object; - ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - handler_->begin_object(*this); - break; - case '[': - handler_->begin_json(); - if (!push(modes::array_element)) - { - err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); - } - state_stack_.back() = states::array; - handler_->begin_array(*this); - break; - case '\"': - handler_->begin_json(); - flip(modes::done, modes::start); - state_stack_.back() = states::string; - break; - case '-': - handler_->begin_json(); - flip(modes::done, modes::start); - is_negative_ = true; - state_stack_.back() = states::minus; - break; - case '0': - handler_->begin_json(); - flip(modes::done, modes::start); - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::zero; - break; - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - handler_->begin_json(); - flip(modes::done, modes::start); - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::integer; - break; - case 'f': - handler_->begin_json(); - flip(modes::done, modes::start); - state_stack_.back() = states::f; - literal_ = json_literals::false_literal(); - literal_index_ = 1; - break; - case 'n': - handler_->begin_json(); - flip(modes::done, modes::start); - state_stack_.back() = states::n; - literal_ = json_literals::null_literal(); - literal_index_ = 1; - break; - case 't': - handler_->begin_json(); - flip(modes::done, modes::start); - state_stack_.back() = states::t; - literal_ = json_literals::true_literal(); - literal_index_ = 1; - break; - case '/': - saved_state_ = state_stack_.back(); - state_stack_.back() = states::slash; - break; - case '}': - err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_brace, json_error_category()), *this); - break; - case ']': - err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_bracket, json_error_category()), *this); - break; - default: - err_handler_->fatal_error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - - case states::expect_comma_or_end: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - break; - case '}': - if (peek() == modes::object_member_value) - { - pop(modes::object_member_value); - handler_->end_object(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - } - else if (peek() == modes::array_element) - { - err_handler_->fatal_error(std::error_code(json_parser_errc::expected_comma_or_right_bracket, json_error_category()), *this); - } - else - { - err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_brace, json_error_category()), *this); - } - break; - case ']': - if (peek() == modes::array_element) - { - pop(modes::array_element); - handler_->end_array(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - } - else if (peek() == modes::object_member_value) - { - err_handler_->fatal_error(std::error_code(json_parser_errc::expected_comma_or_right_brace, json_error_category()), *this); - } - else - { - err_handler_->fatal_error(std::error_code(json_parser_errc::unexpected_right_bracket, json_error_category()), *this); - } - break; - case ',': - begin_member_or_element(); - break; - case '/': - saved_state_ = state_stack_.back(); - state_stack_.back() = states::slash; - break; - default: - if (peek() == modes::array_element) - { - err_handler_->error(std::error_code(json_parser_errc::expected_comma_or_right_bracket, json_error_category()), *this); - } - else if (peek() == modes::object_member_value) - { - err_handler_->error(std::error_code(json_parser_errc::expected_comma_or_right_brace, json_error_category()), *this); - } - break; - } - } - ++p_; - ++column_; - break; - case states::object: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - break; - case '}': - if (!pop(modes::object_member_name)) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - } - handler_->end_object(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - break; - case '\"': - state_stack_.back() = states::string; - break; - case '/': - saved_state_ = state_stack_.back(); - state_stack_.back() = states::slash; - break; - case '\'': - err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_name, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::expect_member_name: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - break; - case '\"': - state_stack_.back() = states::string; - break; - case '/': - saved_state_ = state_stack_.back(); - state_stack_.back() = states::slash; - break; - case '}': - err_handler_->error(std::error_code(json_parser_errc::extra_comma, json_error_category()), *this); - break; - case '\'': - err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_name, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::expect_colon: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - break; - case ':': - begin_member_value(); - state_stack_.back() = states::expect_value; - break; - case '/': - saved_state_ = state_stack_.back(); - state_stack_.back() = states::slash; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_colon, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::expect_value: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - break; - case '{': - if (!push(modes::object_member_name)) - { - err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); - } - state_stack_.back() = states::object; - handler_->begin_object(*this); - break; - case '[': - if (!push(modes::array_element)) - { - err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); - } - state_stack_.back() = states::array; - handler_->begin_array(*this); - break; - case '/': - saved_state_ = state_stack_.back(); - state_stack_.back() = states::slash; - break; - - case '\"': - state_stack_.back() = states::string; - break; - case '-': - is_negative_ = true; - state_stack_.back() = states::minus; - break; - case '0': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::zero; - break; - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::integer; - break; - case 'f': - state_stack_.back() = states::f; - literal_ = json_literals::false_literal(); - literal_index_ = 1; - /*if ((p_+4) < end_input_) - { - if ((*(p_+1) == 'a') & (*(p_+2) == 'l') & (*(p_+3) == 's') & (*(p_+4) == 'e')) - { - p_ += 4; - column_ += 4; - handler_->value(false, *this); - if (peek() == modes::start) - { - flip(modes::start,modes::done); - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - } - }*/ - break; - case 'n': - state_stack_.back() = states::n; - literal_ = json_literals::null_literal(); - literal_index_ = 1; - break; - case 't': - state_stack_.back() = states::t; - literal_ = json_literals::true_literal(); - literal_index_ = 1; - break; - case ']': - if (peek() == modes::array_element) - { - err_handler_->error(std::error_code(json_parser_errc::extra_comma, json_error_category()), *this); - } - else - { - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - } - break; - case '\'': - err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::array: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - break; - case '{': - if (!push(modes::object_member_name)) - { - err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); - } - state_stack_.back() = states::object; - handler_->begin_object(*this); - break; - case '[': - if (!push(modes::array_element)) - { - err_handler_->error(std::error_code(json_parser_errc::max_depth_exceeded, json_error_category()), *this); - } - state_stack_.back() = states::array; - handler_->begin_array(*this); - break; - case ']': - if (!pop(modes::array_element)) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - } - handler_->end_array(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - break; - case '\"': - state_stack_.back() = states::string; - break; - case '/': - saved_state_ = state_stack_.back(); - state_stack_.back() = states::slash; - break; - case '-': - is_negative_ = true; - state_stack_.back() = states::minus; - break; - case '0': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::zero; - break; - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::integer; - break; - case 'f': - state_stack_.back() = states::f; - literal_ = json_literals::false_literal(); - literal_index_ = 1; - /*if ((p_+4) < end_input_) - { - if ((*(p_+1) == 'a') & (*(p_+2) == 'l') & (*(p_+3) == 's') & (*(p_+4) == 'e')) - { - p_ += 4; - column_ += 4; - handler_->value(false, *this); - if (peek() == modes::start) - { - flip(modes::start,modes::done); - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - } - }*/ - break; - case 'n': - state_stack_.back() = states::n; - literal_ = json_literals::null_literal(); - literal_index_ = 1; - break; - case 't': - state_stack_.back() = states::t; - literal_ = json_literals::true_literal(); - literal_index_ = 1; - break; - case '\'': - err_handler_->error(std::error_code(json_parser_errc::single_quote, json_error_category()), *this); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::string: - { - const CharT* first; - const CharT* last; - if (parse_string(&first,&last)) - { - end_string_value(first,last-first); - string_buffer_.clear(); - } - } - break; - case states::escape: - { - escape_next_char(*p_); - } - ++p_; - ++column_; - break; - case states::u1: - { - append_codepoint(*p_); - state_stack_.back() = states::u2; - } - ++p_; - ++column_; - break; - case states::u2: - { - append_codepoint(*p_); - state_stack_.back() = states::u3; - } - ++p_; - ++column_; - break; - case states::u3: - { - append_codepoint(*p_); - state_stack_.back() = states::u4; - } - ++p_; - ++column_; - break; - case states::u4: - { - append_codepoint(*p_); - if (cp_ >= min_lead_surrogate && cp_ <= max_lead_surrogate) - { - state_stack_.back() = states::expect_surrogate_pair1; - } - else - { - json_char_traits::append_codepoint_to_string(cp_, string_buffer_); - state_stack_.back() = states::string; - } - } - ++p_; - ++column_; - break; - case states::expect_surrogate_pair1: - { - switch (*p_) - { - case '\\': - cp2_ = 0; - state_stack_.back() = states::expect_surrogate_pair2; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_codepoint_surrogate_pair, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::expect_surrogate_pair2: - { - switch (*p_) - { - case 'u': - state_stack_.back() = states::u6; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_codepoint_surrogate_pair, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::u6: - { - append_second_codepoint(*p_); - state_stack_.back() = states::u7; - } - ++p_; - ++column_; - break; - case states::u7: - { - append_second_codepoint(*p_); - state_stack_.back() = states::u8; - } - ++p_; - ++column_; - break; - case states::u8: - { - append_second_codepoint(*p_); - state_stack_.back() = states::u9; - } - ++p_; - ++column_; - break; - case states::u9: - { - append_second_codepoint(*p_); - uint32_t cp = 0x10000 + ((cp_ & 0x3FF) << 10) + (cp2_ & 0x3FF); - json_char_traits::append_codepoint_to_string(cp, string_buffer_); - state_stack_.back() = states::string; - } - ++p_; - ++column_; - break; - case states::minus: - { - switch (*p_) - { - case '0': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::zero; - break; - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::integer; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::zero: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - end_integer_value(); - break; // No change - case '}': - end_integer_value(); - if (!pop(modes::object_member_value)) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - } - handler_->end_object(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - break; - case ']': - end_integer_value(); - if (!pop(modes::array_element)) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - } - handler_->end_array(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - break; - case '.': - precision_ = static_cast(number_buffer_.length()); - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::fraction; - break; - case ',': - end_integer_value(); - begin_member_or_element(); - break; - case '0': case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - err_handler_->error(std::error_code(json_parser_errc::leading_zero, json_error_category()), *this); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::integer: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - end_integer_value(); - break; - case '}': - end_integer_value(); - if (!pop(modes::object_member_value)) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - } - handler_->end_object(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - break; - case ']': - end_integer_value(); - if (!pop(modes::array_element)) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - } - handler_->end_array(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - break; - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::integer; - break; - case '.': - precision_ = static_cast(number_buffer_.length()); - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::fraction; - break; - case ',': - end_integer_value(); - begin_member_or_element(); - break; - case 'e':case 'E': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::exp1; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::fraction: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - end_fraction_value(); - break; - case '}': - end_fraction_value(); - if (!pop(modes::object_member_value)) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - } - handler_->end_object(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - break; - case ']': - end_fraction_value(); - if (!pop(modes::array_element)) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - } - handler_->end_array(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - break; - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - ++precision_; - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::fraction; - break; - case ',': - end_fraction_value(); - begin_member_or_element(); - break; - case 'e':case 'E': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::exp1; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::exp1: - { - switch (*p_) - { - case '+': - state_stack_.back() = states::exp2; - break; - case '-': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::exp2; - break; - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::exp3; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::exp2: - { - switch (*p_) - { - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::exp3; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::exp3: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case ' ':case '\t': - { - bool done = false; - while (!done && (p_ + 1) < end_input_) - { - switch (*(p_ + 1)) - { - case ' ':case '\t': - ++p_; - ++column_; - break; - default: - done = true; - break; - } - } - } - end_fraction_value(); - break; - case '}': - end_fraction_value(); - if (!pop(modes::object_member_value)) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - } - handler_->end_object(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - break; - case ']': - end_fraction_value(); - if (!pop(modes::array_element)) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - } - handler_->end_array(*this); - if (peek() == modes::done) - { - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - break; - case ',': - end_fraction_value(); - begin_member_or_element(); - break; - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - number_buffer_.push_back(static_cast(*p_)); - state_stack_.back() = states::exp3; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::t: - while (p_ < end_input_ && literal_index_ < literal_.second) - { - if (*p_ != literal_.first[literal_index_]) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); - } - ++p_; - ++literal_index_; - ++column_; - } - if (literal_index_ == literal_.second) - { - handler_->value(true, *this); - if (peek() == modes::start) - { - flip(modes::start,modes::done); - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - } - break; - case states::f: - while (p_ < end_input_ && literal_index_ < literal_.second) - { - if (*p_ != literal_.first[literal_index_]) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); - } - ++p_; - ++literal_index_; - ++column_; - } - if (literal_index_ == literal_.second) - { - handler_->value(false, *this); - if (peek() == modes::start) - { - flip(modes::start,modes::done); - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - } - break; - case states::n: - while (p_ < end_input_ && literal_index_ < literal_.second) - { - if (*p_ != literal_.first[literal_index_]) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_value, json_error_category()), *this); - } - ++p_; - ++literal_index_; - ++column_; - } - if (literal_index_ == literal_.second) - { - handler_->value(null_type(), *this); - if (peek() == modes::start) - { - flip(modes::start,modes::done); - state_stack_.back() = states::done; - handler_->end_json(); - } - else - { - state_stack_.back() = states::expect_comma_or_end; - } - } - break; - case states::slash: - { - switch (*p_) - { - case '*': - state_stack_.back() = states::slash_star; - break; - case '/': - state_stack_.back() = states::slash_slash; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - } - ++p_; - ++column_; - break; - case states::slash_star: - { - switch (*p_) - { - case '\r': -<<<<<<< HEAD - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = state_stack_.back(); - state_stack_.back() = states::lf; -======= - pre_line_break_state_ = state_; - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - case '*': - state_stack_.back() = states::slash_star_star; - break; - } - } - ++p_; - ++column_; - break; - case states::slash_slash: - { - switch (*p_) - { - case '\r': - pre_line_break_state_ = saved_state_; -<<<<<<< HEAD - state_stack_.back() = states::cr; - break; - case '\n': - pre_line_break_state_ = saved_state_; - state_stack_.back() = states::lf; -======= - state_ = states::cr; - stack2_.push_back(states::cr); - break; - case '\n': - pre_line_break_state_ = saved_state_; - state_ = states::lf; - stack2_.push_back(states::lf); ->>>>>>> 8522df40eb2e2c14a4b40274eedf44dd9d631bb8 - break; - } - } - ++p_; - ++column_; - break; - case states::slash_star_star: - { - switch (*p_) - { - case '/': - state_stack_.back() = saved_state_; - break; - default: - state_stack_.back() = states::slash_star; - break; - } - } - ++p_; - ++column_; - break; - default: - JSONCONS_THROW_EXCEPTION(std::runtime_error,"Bad parser state"); - break; - } - } - index_ += (p_-begin_input_); - } - - void end_parse() - { - if (peek() == modes::start) - { - switch (state_stack_.back()) - { - case states::zero: - case states::integer: - end_integer_value(); - break; - case states::fraction: - case states::exp3: - end_fraction_value(); - break; - default: - break; - } - } - if (!pop(modes::done)) - { - err_handler_->error(std::error_code(json_parser_errc::unexpected_eof, json_error_category()), *this); - } - } - - states state() const - { - return state_stack_.back(); - } - - size_t index() const - { - return index_; - } -private: - void end_fraction_value() - { - try - { - double d = float_reader_.read(number_buffer_.data(), precision_); - if (is_negative_) - d = -d; - handler_->value(d, static_cast(precision_), *this); - } - catch (...) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - handler_->value(null_type(), *this); // recovery - } - number_buffer_.clear(); - is_negative_ = false; - switch (stack_[top_]) - { - case modes::array_element: - case modes::object_member_value: - state_stack_.back() = states::expect_comma_or_end; - break; - case modes::start: - flip(modes::start,modes::done); - state_stack_.back() = states::done; - handler_->end_json(); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - } - - void end_integer_value() - { - if (is_negative_) - { - try - { - int64_t d = string_to_integer(is_negative_, number_buffer_.data(), number_buffer_.length()); - handler_->value(d, *this); - } - catch (const std::exception&) - { - try - { - double d = float_reader_.read(number_buffer_.data(), number_buffer_.length()); - handler_->value(-d, static_cast(number_buffer_.length()), *this); - } - catch (...) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - handler_->value(null_type(), *this); - } - } - } - else - { - try - { - uint64_t d = string_to_uinteger(number_buffer_.data(), number_buffer_.length()); - handler_->value(d, *this); - } - catch (const std::exception&) - { - try - { - double d = float_reader_.read(number_buffer_.data(),number_buffer_.length()); - handler_->value(d, static_cast(number_buffer_.length()), *this); - } - catch (...) - { - err_handler_->error(std::error_code(json_parser_errc::invalid_number, json_error_category()), *this); - handler_->value(null_type(), *this); - } - } - } - - switch (stack_[top_]) - { - case modes::array_element: - case modes::object_member_value: - state_stack_.back() = states::expect_comma_or_end; - break; - case modes::start: - flip(modes::start,modes::done); - state_stack_.back() = states::done; - handler_->end_json(); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - number_buffer_.clear(); - is_negative_ = false; - } - - void append_codepoint(int c) - { - switch (c) - { - case '0': case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - case 'a':case 'b':case 'c':case 'd':case 'e':case 'f': - case 'A':case 'B':case 'C':case 'D':case 'E':case 'F': - cp_ = append_to_codepoint(cp_, c); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - - void append_second_codepoint(int c) - { - switch (c) - { - case '0': - case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8': case '9': - case 'a':case 'b':case 'c':case 'd':case 'e':case 'f': - case 'A':case 'B':case 'C':case 'D':case 'E':case 'F': - cp2_ = append_to_codepoint(cp2_, c); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::expected_value, json_error_category()), *this); - break; - } - } - - void escape_next_char(int next_input) - { - switch (next_input) - { - case '\"': - string_buffer_.push_back('\"'); - state_stack_.back() = states::string; - break; - case '\\': - string_buffer_.push_back('\\'); - state_stack_.back() = states::string; - break; - case '/': - string_buffer_.push_back('/'); - state_stack_.back() = states::string; - break; - case 'b': - string_buffer_.push_back('\b'); - state_stack_.back() = states::string; - break; - case 'f': - string_buffer_.push_back('\f'); - state_stack_.back() = states::string; - break; - case 'n': - string_buffer_.push_back('\n'); - state_stack_.back() = states::string; - break; - case 'r': - string_buffer_.push_back('\r'); - state_stack_.back() = states::string; - break; - case 't': - string_buffer_.push_back('\t'); - state_stack_.back() = states::string; - break; - case 'u': - cp_ = 0; - state_stack_.back() = states::u1; - break; - default: - err_handler_->error(std::error_code(json_parser_errc::illegal_escaped_character, json_error_category()), *this); - break; - } - } - - void end_string_value(const CharT* s, size_t length) - { - switch (stack_[top_]) - { - case modes::object_member_name: - handler_->name(s, length, *this); - state_stack_.back() = states::expect_colon; - break; - case modes::array_element: - case modes::object_member_value: - handler_->value(s, length, *this); - state_stack_.back() = states::expect_comma_or_end; - break; - case modes::start: - handler_->value(s, length, *this); - flip(modes::start,modes::done); - state_stack_.back() = states::done; - handler_->end_json(); - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - } - - void begin_member_or_element() - { - switch (stack_[top_]) - { - case modes::object_member_value: - // A comma causes a flip from object_member_value modes to object_member_name modes. - flip(modes::object_member_value, modes::object_member_name); - state_stack_.back() = states::expect_member_name; - break; - case modes::array_element: - state_stack_.back() = states::expect_value; - break; - case modes::done: - break; - default: - err_handler_->error(std::error_code(json_parser_errc::invalid_json_text, json_error_category()), *this); - break; - } - } - - void begin_member_value() - { - flip(modes::object_member_name, modes::object_member_value); - state_stack_.back() = states::expect_value; - } - - uint32_t append_to_codepoint(uint32_t cp, int c) - { - cp *= 16; - if (c >= '0' && c <= '9') - { - cp += c - '0'; - } - else if (c >= 'a' && c <= 'f') - { - cp += c - 'a' + 10; - } - else if (c >= 'A' && c <= 'F') - { - cp += c - 'A' + 10; - } - else - { - err_handler_->error(std::error_code(json_parser_errc::invalid_hex_escape_sequence, json_error_category()), *this); - } - return cp; - } - - size_t do_line_number() const override - { - return line_; - } - - size_t do_column_number() const override - { - return column_; - } - - CharT do_current_char() const override - { - return p_ < end_input_? *p_ : 0; - } - - bool push(modes mode) - { - ++top_; - if (top_ >= depth_) - { - if (top_ >= max_depth_) - { - return false; - } - depth_ *= 2; - stack_.resize(depth_); - } - stack_[top_] = mode; - return true; - } - - modes peek() - { - return stack_[top_]; - } - - bool peek(modes mode) - { - return stack_[top_] == mode; - } - - void flip(modes mode1, modes mode2) - { - JSONCONS_ASSERT((top_ >= 0) && (stack_[top_] == mode1)) - stack_[top_] = mode2; - } - - bool pop(modes mode) - { - if (top_ < 0 || stack_[top_] != mode) - { - return false; - } - --top_; - return true; - } -}; - -typedef basic_json_parser json_parser; -typedef basic_json_parser wjson_parser; - -} - -#endif - diff --git a/runtime/include/jsoncons/json_reader.hpp b/runtime/include/jsoncons/json_reader.hpp deleted file mode 100644 index a0dd464..0000000 --- a/runtime/include/jsoncons/json_reader.hpp +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright 2015 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_READER_HPP -#define JSONCONS_JSON_READER_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include "jsoncons/jsoncons.hpp" -#include "jsoncons/json_input_handler.hpp" -#include "jsoncons/parse_error_handler.hpp" -#include "jsoncons/json_parser.hpp" - -namespace jsoncons { - -template -class basic_json_reader -{ - static const size_t default_max_buffer_length = 16384; - - basic_json_parser parser_; - std::basic_istream *is_; - basic_parse_error_handler *err_handler_; - bool eof_; - std::vector buffer_; - size_t buffer_length_; - size_t buffer_capacity_; - size_t index_; -public: - basic_json_reader(std::basic_istream& is, - basic_json_input_handler& handler) - : parser_(handler), - is_(std::addressof(is)), - err_handler_(std::addressof(basic_default_parse_error_handler::instance())), - eof_(false), - buffer_length_(0), - buffer_capacity_(default_max_buffer_length), - index_(0) - { - buffer_.resize(buffer_capacity_); - } - - basic_json_reader(std::basic_istream& is, - basic_json_input_handler& handler, - basic_parse_error_handler& err_handler) - : parser_(handler,err_handler), - is_(std::addressof(is)), - err_handler_(std::addressof(err_handler)), - eof_(false), - buffer_length_(0), - buffer_capacity_(default_max_buffer_length), - index_(0) - { - buffer_.resize(buffer_capacity_); - } - - size_t buffer_capacity() const - { - return buffer_capacity_; - } - - void buffer_capacity(size_t capacity) - { - buffer_capacity_ = capacity; - buffer_.resize(buffer_capacity_); - } - - size_t max_nesting_depth() const - { - return parser_.max_nesting_depth(); - } - - void max_nesting_depth(size_t depth) - { - parser_.max_nesting_depth(depth); - } - - void read_next() - { - parser_.begin_parse(); - while (!eof_ && !parser_.done()) - { - if (!(index_ < buffer_length_)) - { - if (!is_->eof()) - { - is_->read(buffer_.data(), buffer_capacity_); - buffer_length_ = static_cast(is_->gcount()); - if (buffer_length_ == 0) - { - eof_ = true; - } - index_ = 0; - } - else - { - eof_ = true; - } - } - if (!eof_) - { - parser_.parse(buffer_.data(),index_,buffer_length_); - index_ = parser_.index(); - } - } - parser_.end_parse(); - } - - void check_done() - { - while (!eof_) - { - if (!(index_ < buffer_length_)) - { - if (!is_->eof()) - { - is_->read(buffer_.data(), buffer_capacity_); - buffer_length_ = static_cast(is_->gcount()); - if (buffer_length_ == 0) - { - eof_ = true; - } - index_ = 0; - } - else - { - eof_ = true; - } - } - if (!eof_) - { - parser_.check_done(buffer_.data(),index_,buffer_length_); - index_ = parser_.index(); - } - } - } - - bool eof() const - { - return eof_; - } - -#if !defined(JSONCONS_NO_DEPRECATED) - void read() - { - read_next(); - } - - size_t max_depth() const - { - return parser_.max_nesting_depth(); - } - - void max_depth(size_t depth) - { - parser_.max_nesting_depth(depth); - } -#endif -}; - -typedef basic_json_reader json_reader; -typedef basic_json_reader wjson_reader; - -} - -#endif - diff --git a/runtime/include/jsoncons/json_serializer.hpp b/runtime/include/jsoncons/json_serializer.hpp deleted file mode 100644 index 9bb5705..0000000 --- a/runtime/include/jsoncons/json_serializer.hpp +++ /dev/null @@ -1,318 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_SERIALIZER_HPP -#define JSONCONS_JSON_SERIALIZER_HPP - -#include -#include -#include -#include -#include -#include -#include // std::numeric_limits -#include -#include "jsoncons/jsoncons.hpp" -#include "jsoncons/output_format.hpp" -#include "jsoncons/json_output_handler.hpp" - -namespace jsoncons { - -template -class basic_json_serializer : public basic_json_output_handler -{ - static const size_t default_buffer_length = 16384; - - struct stack_item - { - stack_item(bool is_object) - : is_object_(is_object), count_(0), content_indented_(false) - { - } - bool is_object() const - { - return is_object_; - } - - bool is_object_; - size_t count_; - bool content_indented_; - }; - basic_output_format format_; - std::vector stack_; - int indent_; - std::streamsize original_precision_; - std::ios_base::fmtflags original_format_flags_; - bool indenting_; - float_printer fp_; - buffered_ostream bos_; -public: - basic_json_serializer(std::basic_ostream& os) - : indent_(0), - indenting_(false), - fp_(format_.precision()), - bos_(os) - { - } - - basic_json_serializer(std::basic_ostream& os, bool indenting) - : indent_(0), - indenting_(indenting), - fp_(format_.precision()), - bos_(os) - { - } - - basic_json_serializer(std::basic_ostream& os, const basic_output_format& format) - : format_(format), - indent_(0), - indenting_(false), - fp_(format_.precision()), - bos_(os) - { - } - basic_json_serializer(std::basic_ostream& os, const basic_output_format& format, bool indenting) - : format_(format), - indent_(0), - indenting_(indenting), - fp_(format_.precision()), - bos_(os) - { - } - - ~basic_json_serializer() - { - } - -private: - // Implementing methods - void do_begin_json() override - { - } - - void do_end_json() override - { - bos_.flush(); - } - - void do_begin_object() override - { - begin_structure(); - - if (indenting_ && !stack_.empty() && stack_.back().is_object()) - { - write_indent(); - } - stack_.push_back(stack_item(true)); - bos_.put('{'); - indent(); - } - - void do_end_object() override - { - unindent(); - if (indenting_ && !stack_.empty()) - { - write_indent(); - } - stack_.pop_back(); - bos_.put('}'); - - end_value(); - } - - void do_begin_array() override - { - begin_structure(); - - if (indenting_ && !stack_.empty() && stack_.back().is_object()) - { - write_indent(); - } - stack_.push_back(stack_item(false)); - bos_.put('['); - indent(); - } - - void do_end_array() override - { - unindent(); - if (indenting_ && !stack_.empty() && stack_.back().content_indented_) - { - write_indent(); - } - stack_.pop_back(); - bos_.put(']'); - - end_value(); - } - - void do_name(const CharT* name, size_t length) override - { - begin_element(); - bos_.put('\"'); - escape_string(name, length, format_, bos_); - bos_.put('\"'); - bos_.put(':'); - } - - void do_null_value() override - { - begin_value(); - - auto buf = json_literals::null_literal(); - bos_.write(buf.first,buf.second); - - end_value(); - } - - void do_string_value(const CharT* value, size_t length) override - { - begin_value(); - - bos_. put('\"'); - escape_string(value, length, format_, bos_); - bos_. put('\"'); - - end_value(); - } - - void do_double_value(double value, uint8_t precision) override - { - begin_value(); - - if (is_nan(value) && format_.replace_nan()) - { - bos_.write(format_.nan_replacement()); - } - else if (is_pos_inf(value) && format_.replace_pos_inf()) - { - bos_.write(format_.pos_inf_replacement()); - } - else if (is_neg_inf(value) && format_.replace_neg_inf()) - { - bos_.write(format_.neg_inf_replacement()); - } - //else if (format_.floatfield() != 0) - //{ - //std::basic_ostringstream os; - //os.imbue(std::locale::classic()); - //os.setf(format_.floatfield(), std::ios::floatfield); - //os << std::showpoint << std::setprecision(format_.precision()) << value; - //*os_ << os.str(); - //} - else - { - fp_.print(value,precision,bos_); - } - - end_value(); - } - - void do_integer_value(int64_t value) override - { - begin_value(); - print_integer(value,bos_); - end_value(); - } - - void do_uinteger_value(uint64_t value) override - { - begin_value(); - print_uinteger(value,bos_); - end_value(); - } - - void do_bool_value(bool value) override - { - begin_value(); - - if (value) - { - auto buf = json_literals::true_literal(); - bos_.write(buf.first,buf.second); - } - else - { - auto buf = json_literals::false_literal(); - bos_.write(buf.first,buf.second); - } - - end_value(); - } - - void begin_element() - { - if (!stack_.empty()) - { - if (stack_.back().count_ > 0) - { - bos_. put(','); - } - if (indenting_) - { - write_indent(); - } - } - } - - void begin_value() - { - if (!stack_.empty() && !stack_.back().is_object()) - { - //begin_element(); - if (stack_.back().count_ > 0) - { - bos_. put(','); - } - } - } - - void end_value() - { - if (!stack_.empty()) - { - ++stack_.back().count_; - } - } - - void begin_structure() - { - if (!stack_.empty() && !stack_.back().is_object()) - { - begin_element(); - } - } - - void indent() - { - indent_ += static_cast(format_.indent()); - } - - void unindent() - { - indent_ -= static_cast(format_.indent()); - } - - void write_indent() - { - if (!stack_.empty()) - { - stack_.back().content_indented_ = true; - } - bos_. put('\n'); - for (int i = 0; i < indent_; ++i) - { - bos_. put(' '); - } - } -}; - -typedef basic_json_serializer json_serializer; -typedef basic_json_serializer wjson_serializer; - -} -#endif diff --git a/runtime/include/jsoncons/json_structures.hpp b/runtime/include/jsoncons/json_structures.hpp deleted file mode 100644 index 5c4e1de..0000000 --- a/runtime/include/jsoncons/json_structures.hpp +++ /dev/null @@ -1,895 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_STRUCTURES_HPP -#define JSONCONS_JSON_STRUCTURES_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "jsoncons/jsoncons.hpp" - -namespace jsoncons { - -template -class json_array -{ -public: - typedef Alloc allocator_type; - typedef JsonT value_type; - typedef typename std::allocator_traits:: template rebind_alloc vector_allocator_type; - typedef typename std::vector::reference reference; - typedef typename std::vector::const_reference const_reference; - typedef typename std::vector::iterator iterator; - typedef typename std::vector::const_iterator const_iterator; - - json_array() - : elements_() - { - } - - explicit json_array(const Alloc& allocator) - : elements_(allocator) - { - } - - explicit json_array(size_t n, const Alloc& allocator = Alloc()) - : elements_(n,JsonT(),allocator) - { - } - - explicit json_array(size_t n, const JsonT& value, const Alloc& allocator = Alloc()) - : elements_(n,value,allocator) - { - } - - template - json_array(InputIterator begin, InputIterator end, const Alloc& allocator = Alloc()) - : elements_(begin,end,allocator) - { - } - - json_array(const json_array& val) - : elements_(val.elements_) - { - } - - json_array(const json_array& val, const Alloc& allocator) - : elements_(val.elements_,allocator) - { - } - json_array(json_array&& val) - : elements_(std::move(val.elements_)) - { - } - json_array(json_array&& val, const Alloc& allocator) - : elements_(std::move(val.elements_),allocator) - { - } - - json_array(std::initializer_list init, - const Alloc& allocator = Alloc()) - : elements_(std::move(init),allocator) - { - } - - Alloc get_allocator() const - { - return elements_.get_allocator(); - } - - void swap(json_array& val) - { - elements_.swap(val.elements_); - } - - size_t size() const {return elements_.size();} - - size_t capacity() const {return elements_.capacity();} - - void clear() {elements_.clear();} - - void shrink_to_fit() - { - for (size_t i = 0; i < elements_.size(); ++i) - { - elements_[i].shrink_to_fit(); - } - elements_.shrink_to_fit(); - } - - void reserve(size_t n) {elements_.reserve(n);} - - void resize(size_t n) {elements_.resize(n);} - - void resize(size_t n, const JsonT& val) {elements_.resize(n,val);} - - void remove_range(size_t from_index, size_t to_index) - { - JSONCONS_ASSERT(from_index <= to_index); - JSONCONS_ASSERT(to_index <= elements_.size()); - elements_.erase(elements_.begin()+from_index,elements_.begin()+to_index); - } - - void erase(iterator first, iterator last) - { - elements_.erase(first,last); - } - - JsonT& operator[](size_t i) {return elements_[i];} - - const JsonT& operator[](size_t i) const {return elements_[i];} - - void push_back(const JsonT& value) - { - elements_.push_back(value); - } - - void push_back(JsonT&& value) - { - elements_.push_back(std::move(value)); - } - - void add(size_t index, const JsonT& value) - { - auto position = index < elements_.size() ? elements_.begin() + index : elements_.end(); - elements_.insert(position, value); - } - - void add(size_t index, JsonT&& value) - { - auto it = index < elements_.size() ? elements_.begin() + index : elements_.end(); - elements_.insert(it, std::move(value)); - } - - iterator add(const_iterator pos, const JsonT& value) - { - return elements_.insert(pos, value); - } - - iterator add(const_iterator pos, JsonT&& value) - { - return elements_.insert(pos, std::move(value)); - } - - iterator begin() {return elements_.begin();} - - iterator end() {return elements_.end();} - - const_iterator begin() const {return elements_.begin();} - - const_iterator end() const {return elements_.end();} - - bool operator==(const json_array& rhs) const - { - if (size() != rhs.size()) - { - return false; - } - for (size_t i = 0; i < size(); ++i) - { - if (elements_[i] != rhs.elements_[i]) - { - return false; - } - } - return true; - } -private: - json_array& operator=(const json_array&); - std::vector elements_; -}; - -template -class member_lt_string -{ - size_t length_; -public: - member_lt_string(size_t length) - : length_(length) - { - } - - bool operator()(const ValueT& a, const CharT* b) const - { - size_t len = std::min JSONCONS_NO_MACRO_EXP(a.name().length(),length_); - int result = std::char_traits::compare(a.name().data(),b,len); - if (result != 0) - { - return result < 0; - } - - return a.name().length() < length_; - } -}; - -template -bool name_le_string(const StringT& a, const CharT* b, size_t length) -{ - size_t min_len = std::min JSONCONS_NO_MACRO_EXP(a.length(),length); - int result = std::char_traits::compare(a.data(),b, min_len); - if (result != 0) - { - return result < 0; - } - - return a.length() <= length; -} - -template -bool name_eq_string(const StringT& a, const CharT* b, size_t length) -{ - return a.length() == length && std::char_traits::compare(a.data(),b,length) == 0; -} - -template -class member_lt_member -{ - typedef typename ValueT::char_type char_type; -public: - bool operator()(const ValueT& a, const ValueT& b) const - { - if (a.name().length() == b.name().length()) - { - return std::char_traits::compare(a.name().data(),b.name().data(),a.name().length()) < 0; - } - - size_t len = std::min JSONCONS_NO_MACRO_EXP(a.name().length(),b.name().length()); - int result = std::char_traits::compare(a.name().data(),b.name().data(),len); - if (result != 0) - { - return result < 0; - } - - return a.name().length() < b.name().length(); - } -}; - -template -class name_value_pair -{ -public: - typedef StringT string_type; - typedef typename StringT::value_type char_type; - - name_value_pair() - { - } - name_value_pair(const string_type& name) - : name_(name) - { - } - name_value_pair(string_type&& name) - : name_(std::move(name)) - { - } - - name_value_pair(const string_type& name, const ValueT& val) - : name_(name), value_(val) - { - } - name_value_pair(string_type&& name, const ValueT& val) - : name_(std::move(name)), value_(val) - { - } - name_value_pair(const string_type& name, ValueT&& val) - : name_(name), value_(std::move(val)) - { - } - name_value_pair(string_type&& name, ValueT&& val) - : name_(std::move(name)), value_(std::move(val)) - { - } - name_value_pair(const name_value_pair& member) - : name_(member.name_), value_(member.value_) - { - } - name_value_pair(name_value_pair&& member) - : name_(std::move(member.name_)), value_(std::move(member.value_)) - { - } - - const string_type& name() const - { - return name_; - } - - ValueT& value() - { - return value_; - } - - const ValueT& value() const - { - return value_; - } - - void value(const ValueT& value) - { - value_ = value; - } - - void value(ValueT&& value) - { - value_ = std::move(value); - } - - void swap(name_value_pair& member) - { - name_.swap(member.name_); - value_.swap(member.value_); - } - - name_value_pair& operator=(const name_value_pair& member) - { - if (this != & member) - { - name_ = member.name_; - value_ = member.value_; - } - return *this; - } - - name_value_pair& operator=(name_value_pair&& member) - { - if (this != &member) - { - name_.swap(member.name_); - value_.swap(member.value_); - } - return *this; - } - - void shrink_to_fit() - { - name_.shrink_to_fit(); - value_.shrink_to_fit(); - } -private: - string_type name_; - ValueT value_; -}; - -template -class json_object_iterator -{ -public: - typedef IteratorT iterator; - typedef typename std::iterator_traits::value_type value_type; - typedef typename std::iterator_traits::difference_type difference_type; - typedef typename std::iterator_traits::pointer pointer; - typedef typename std::iterator_traits::reference reference; - typedef std::bidirectional_iterator_tag iterator_category; - - json_object_iterator(bool empty = false) - : empty_(empty) - { - } - - json_object_iterator(iterator it) - : empty_(false), it_(it) - { - } - - json_object_iterator(const json_object_iterator& it) - : empty_(it.empty_), it_(it.it_) - { - } - - json_object_iterator& operator=(json_object_iterator rhs) - { - swap(*this,rhs); - return *this; - } - - json_object_iterator& operator++() - { - ++it_; - return *this; - } - - json_object_iterator operator++(int) // postfix increment - { - json_object_iterator temp(*this); - ++it_; - return temp; - } - - json_object_iterator& operator--() - { - --it_; - return *this; - } - - json_object_iterator operator--(int) - { - json_object_iterator temp(*this); - --it_; - return temp; - } - - reference operator*() const - { - return *it_; - } - - pointer operator->() const - { - return &(*it_); - } - - bool empty() const - { - return empty_; - } - - friend bool operator==(const json_object_iterator& it1, const json_object_iterator& it2) - { - return (it1.empty() && it2.empty()) || (it1.it_ == it2.it_); - } - friend bool operator!=(const json_object_iterator& it1, const json_object_iterator& it2) - { - return !(it1.it_ == it2.it_); - } - friend void swap(json_object_iterator& lhs, json_object_iterator& rhs) - { - using std::swap; - swap(lhs.it_,rhs.it_); - swap(lhs.empty_,rhs.empty_); - } - - iterator get() - { - return it_; - } - -//private: - bool empty_; - IteratorT it_; -}; - -template -class json_object -{ -public: - typedef Alloc allocator_type; - typedef typename JsonT::char_type char_type; - typedef StringT string_type; - typedef name_value_pair value_type; - typedef typename std::vector::iterator base_iterator; - typedef typename std::vector::const_iterator const_base_iterator; - - typedef json_object_iterator iterator; - typedef json_object_iterator const_iterator; -private: - std::vector members_; -public: - json_object(const allocator_type& allocator = allocator_type()) - : members_(allocator) - { - } - - json_object(const json_object& val) - : members_(val.members_) - { - } - - json_object(json_object&& val) - : members_(std::move(val.members_)) - { - } - - json_object(const json_object& val, const allocator_type& allocator) : - members_(val.members_,allocator) - { - } - - json_object(json_object&& val,const allocator_type& allocator) : - members_(std::move(val.members_),allocator) - { - } - - Alloc get_allocator() const - { - return members_.get_allocator(); - } - - iterator begin() - { - //return members_.begin(); - return iterator(members_.begin()); - } - - iterator end() - { - //return members_.end(); - return iterator(members_.end()); - } - - const_iterator begin() const - { - //return iterator(members.data()); - return const_iterator(members_.begin()); - } - - const_iterator end() const - { - //return members_.end(); - return const_iterator(members_.end()); - } -/* - const_iterator cbegin() const - { - return members_.begin(); - } - - const_iterator cend() const - { - return members_.end(); - } -*/ - void swap(json_object& val) - { - members_.swap(val.members_); - } - - size_t size() const {return members_.size();} - - size_t capacity() const {return members_.capacity();} - - void clear() {members_.clear();} - - void shrink_to_fit() - { - for (size_t i = 0; i < members_.size(); ++i) - { - members_[i].shrink_to_fit(); - } - members_.shrink_to_fit(); - } - - void reserve(size_t n) {members_.reserve(n);} - - iterator find(const char_type* name) - { - return find(name, std::char_traits::length(name)); - } - - const_iterator find(const char_type* name) const - { - return find(name, std::char_traits::length(name)); - } - - iterator find(const char_type* name, size_t length) - { - member_lt_string comp(length); - auto it = std::lower_bound(members_.begin(),members_.end(), name, comp); - auto result = (it != members_.end() && name_eq_string(it->name(),name,length)) ? it : members_.end(); - return iterator(result); - } - - const_iterator find(const char_type* name, size_t length) const - { - member_lt_string comp(length); - auto it = std::lower_bound(members_.begin(),members_.end(), name, comp); - auto result = (it != members_.end() && name_eq_string(it->name(),name,length)) ? it : members_.end(); - return const_iterator(result); - } - - iterator find(const string_type& name) - { - return find(name.data(), name.length()); - } - - const_iterator find(const string_type& name) const - { - return const_iterator(find(name.data(), name.length())); - } - - JsonT& at(const string_type& name) - { - auto it = find(name); - if (it == members_.end()) - { - JSONCONS_THROW_EXCEPTION_1(std::out_of_range,"Member %s not found.",name); - } - return it->value(); - } - - const JsonT& at(const string_type& name) const - { - auto it = find(name); - if (it == members_.end()) - { - JSONCONS_THROW_EXCEPTION_1(std::out_of_range,"Member %s not found.",name); - } - return it->value(); - } - - void erase(iterator first, iterator last) - { - members_.erase(first.get(),last.get()); - } - - void erase(const char_type* name) - { - erase(name, std::char_traits::length(name)); - } - - void erase(const char_type* name, size_t length) - { - member_lt_string comp(length); - auto it = std::lower_bound(members_.begin(),members_.end(), name, comp); - if (it != members_.end() && name_eq_string(it->name(),name,length)) - { - members_.erase(it); - } - } - - void erase(const string_type& name) - { - return erase(name.data(),name.length()); - } - - template - void insert(InputIt first, InputIt last, UnaryPredicate pred) - { - size_t count = std::distance(first,last); - size_t pos = members_.size(); - members_.resize(pos+count); - auto d = members_.begin()+pos; - for (auto s = first; s != last; ++s, ++d) - { - *d = pred(*s); - } - std::sort(members_.begin(),members_.end(),member_lt_member()); - } - - void set(const char_type* s, size_t length, const JsonT& value) - { - auto it = std::lower_bound(members_.begin(),members_.end(),s,member_lt_string(length)); - if (it == members_.end()) - { - members_.push_back(value_type(string_type(s,length),value)); - } - else if (name_eq_string(it->name(),s,length)) - { - it->value(value); - } - else - { - members_.insert(it,value_type(string_type(s,length),value)); - } - } - - void set(const char_type* s, size_t length, JsonT&& value) - { - auto it = std::lower_bound(members_.begin(),members_.end(),s,member_lt_string(length)); - if (it == members_.end()) - { - members_.push_back(value_type(string_type(s,length),std::move(value))); - } - else if (name_eq_string(it->name(),s,length)) - { - it->value(std::move(value)); - } - else - { - members_.insert(it,value_type(string_type(s,length),std::move(value))); - } - } - - void set(string_type&& name, const JsonT& value) - { - auto it = std::lower_bound(members_.begin(),members_.end(),name.data() ,member_lt_string(name.length())); - if (it == members_.end()) - { - members_.push_back(value_type(std::move(name), value)); - } - else if (it->name() == name) - { - it->value(value); - } - else - { - members_.insert(it,value_type(std::move(name),value)); - } - } - - void set(const string_type& name, const JsonT& value) - { - set(name.data(),name.length(),value); - } - - void set(const string_type& name, JsonT&& value) - { - set(name.data(),name.length(),std::move(value)); - } - - void set(string_type&& name, JsonT&& value) - { - auto it = std::lower_bound(members_.begin(),members_.end(),name.data() ,member_lt_string(name.length())); - if (it == members_.end()) - { - members_.push_back(value_type(std::move(name), std::move(value))); - } - else if (it->name() == name) - { - it->value(std::move(value)); - } - else - { - members_.insert(it,value_type(std::move(name),std::move(value))); - } - } - - iterator set(iterator hint, const char_type* name, const JsonT& value) - { - return set(hint, name, std::char_traits::length(name), value); - } - - iterator set(iterator hint, const char_type* name, JsonT&& value) - { - return set(hint, name, std::char_traits::length(name), std::move(value)); - } - - iterator set(iterator hint, const char_type* s, size_t length, const JsonT& value) - { - base_iterator it; - if (hint.get() != members_.end() && name_le_string(hint.get()->name(), s, length)) - { - it = std::lower_bound(hint.get(),members_.end(),s,member_lt_string(length)); - } - else - { - it = std::lower_bound(members_.begin(),members_.end(),s, member_lt_string(length)); - } - - if (it == members_.end()) - { - members_.push_back(value_type(string_type(s, length), value)); - it = members_.end(); - } - else if (name_eq_string(it->name(),s,length)) - { - it->value(value); - } - else - { - it = members_.insert(it,value_type(string_type(s,length),value)); - } - return iterator(it); - } - - iterator set(iterator hint, const char_type* s, size_t length, JsonT&& value) - { - base_iterator it; - if (hint.get() != members_.end() && name_le_string(hint.get()->name(), s, length)) - { - it = std::lower_bound(hint.get(),members_.end(),s,member_lt_string(length)); - } - else - { - it = std::lower_bound(members_.begin(),members_.end(),s, member_lt_string(length)); - } - - if (it == members_.end()) - { - members_.push_back(value_type(string_type(s, length), std::move(value))); - it = members_.end(); - } - else if (name_eq_string(it->name(),s,length)) - { - it->value(std::move(value)); - } - else - { - it = members_.insert(it,value_type(string_type(s,length),std::move(value))); - } - return iterator(it); - } - - iterator set(iterator hint, const string_type& name, const JsonT& value) - { - return set(hint,name.data(),name.length(),value); - } - - iterator set(iterator hint, string_type&& name, const JsonT& value) - { - base_iterator it; - if (hint.get() != members_.end() && hint.get()->name() <= name) - { - it = std::lower_bound(hint.get(),members_.end(),name.data() ,member_lt_string(name.length())); - } - else - { - it = std::lower_bound(members_.begin(),members_.end(),name.data() ,member_lt_string(name.length())); - } - - if (it == members_.end()) - { - members_.push_back(value_type(std::move(name), value)); - it = members_.end(); - } - else if (it->name() == name) - { - it->value(value); - } - else - { - it = members_.insert(it,value_type(std::move(name),value)); - } - return iterator(it); - } - - iterator set(iterator hint, const string_type& name, JsonT&& value) - { - return set(hint,name.data(),name.length(),std::move(value)); - } - - iterator set(iterator hint, string_type&& name, JsonT&& value) - { - typename std::vector::iterator it; - if (hint.get() != members_.end() && hint.get()->name() <= name) - { - it = std::lower_bound(hint.get(),members_.end(),name.data() ,member_lt_string(name.length())); - } - else - { - it = std::lower_bound(members_.begin(),members_.end(),name.data() ,member_lt_string(name.length())); - } - - if (it == members_.end()) - { - members_.push_back(value_type(std::move(name), std::move(value))); - it = members_.end(); - } - else if (it->name() == name) - { - it->value(std::move(value)); - } - else - { - it = members_.insert(it,value_type(std::move(name),std::move(value))); - } - return iterator(it); - } - - bool operator==(const json_object& rhs) const - { - if (size() != rhs.size()) - { - return false; - } - for (auto it = members_.begin(); it != members_.end(); ++it) - { - - auto rhs_it = std::lower_bound(rhs.members_.begin(), rhs.members_.end(), *it, member_lt_member()); - // member_lt_member actually only compares keys, so we need to check the value separately - if (rhs_it == rhs.members_.end() || rhs_it->name() != it->name() || rhs_it->value() != it->value()) - { - return false; - } - } - return true; - } -private: - json_object& operator=(const json_object&); -}; - - - -} - -#endif diff --git a/runtime/include/jsoncons/json_type_traits.hpp b/runtime/include/jsoncons/json_type_traits.hpp deleted file mode 100644 index aeda7a0..0000000 --- a/runtime/include/jsoncons/json_type_traits.hpp +++ /dev/null @@ -1,594 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSON_TYPE_TRAITS_HPP -#define JSONCONS_JSON_TYPE_TRAITS_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "jsoncons/jsoncons.hpp" - -#if defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wswitch" -#endif - -namespace jsoncons { - -template -class json_type_traits -{ -public: - static bool is(const JsonT&) - { - return false; - } -}; - -template -class json_type_traits -{ -public: - typedef typename JsonT::string_type string_type; - typedef typename string_type::allocator_type string_allocator; - - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_string(); - } - static string_type as(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.as_string(); - } - static string_type as(const JsonT& rhs, const string_allocator& allocator) JSONCONS_NOEXCEPT - { - return rhs.as_string(allocator); - } - static void assign(JsonT& lhs, const string_type& rhs) - { - lhs.assign_string(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& lhs) JSONCONS_NOEXCEPT - { - return lhs.is_any(); - } - static typename JsonT::any as(const JsonT& rhs) - { - return rhs.any_value(); - } - static void assign(JsonT& lhs, typename JsonT::any rhs) - { - lhs.assign_any(rhs); - } -}; - -template -class json_type_traits::const_pointer_type> -{ -public: - typedef typename JsonT::char_type char_type; - - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_string(); - } - static const char_type* as(const JsonT& rhs) - { - return rhs.as_cstring(); - } - static void assign(JsonT& lhs, const char_type *rhs) - { - size_t length = std::char_traits::length(rhs); - lhs.assign_string(rhs,length); - } -}; - -template -class json_type_traits::pointer_type> -{ -public: - typedef typename JsonT::char_type char_type; - - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_string(); - } - static const char_type* as(const JsonT& rhs) - { - return rhs.as_cstring(); - } - static void assign(JsonT& lhs, const char_type *rhs) - { - size_t length = std::char_traits::length(rhs); - lhs.assign_string(rhs,length); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - if (rhs.is_integer()) - { - return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else - { - return false; - } - } - static char as(const JsonT& rhs) - { - return static_cast(rhs.as_integer()); - } - static void assign(JsonT& lhs, char ch) - { - lhs.assign_integer(ch); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - if (rhs.is_integer()) - { - return rhs.as_integer() >= 0 && static_cast(rhs.as_integer()) <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else if (rhs.is_uinteger()) - { - return rhs.as_uinteger() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else - { - return false; - } - } - static unsigned char as(const JsonT& rhs) - { - return static_cast(rhs.as_uinteger()); - } - static void assign(JsonT& lhs, unsigned char ch) - { - lhs.assign_uinteger(ch); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - if (rhs.is_integer()) - { - return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else if (rhs.is_uinteger()) - { - return rhs.as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()); - } - else - { - return false; - } - } - static signed char as(const JsonT& rhs) - { - return static_cast(rhs.as_integer()); - } - static void assign(JsonT& lhs, signed char ch) - { - lhs.assign_integer(ch); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - if (rhs.is_integer()) - { - return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else if (rhs.is_uinteger()) - { - return rhs.as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()); - } - else - { - return false; - } - } - static wchar_t as(const JsonT& rhs) - { - return static_cast(rhs.as_integer()); - } - static void assign(JsonT& lhs, wchar_t ch) - { - lhs.assign_integer(ch); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_object(); - } - static typename JsonT::object as(JsonT rhs) - { - JSONCONS_ASSERT(rhs.is_object()); - return rhs.object_value(); - } - static void assign(JsonT& lhs, typename JsonT::object rhs) - { - lhs.assign_object(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_array(); - } - static typename JsonT::array as(const JsonT& rhs) - { - JSONCONS_ASSERT(rhs.is_array()); - return rhs.array_value(); - } - static void assign(JsonT& lhs, typename JsonT::array rhs) - { - lhs.assign_array(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_null(); - } - static typename jsoncons::null_type as(const JsonT& rhs) - { - JSONCONS_ASSERT(rhs.is_null()); - return jsoncons::null_type(); - } - static void assign(JsonT& lhs, null_type) - { - lhs.assign_null(); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_bool(); - } - static bool as(const JsonT& rhs) - { - return rhs.as_bool(); - } - static void assign(JsonT& lhs, bool rhs) - { - lhs.assign_bool(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - if (rhs.is_integer()) - { - return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else if (rhs.is_uinteger()) - { - return rhs.as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()); - } - else - { - return false; - } - } - static short as(const JsonT& rhs) - { - return static_cast(rhs.as_integer()); - } - static void assign(JsonT& lhs, short rhs) - { - lhs.assign_integer(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - if (rhs.is_integer()) - { - return rhs.as_integer() >= 0 && static_cast(rhs.as_integer()) <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else if (rhs.is_uinteger()) - { - return rhs.as_uinteger() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else - { - return false; - } - } - static unsigned short as(const JsonT& rhs) - { - return (unsigned short)rhs.as_uinteger(); - } - static void assign(JsonT& lhs, unsigned short rhs) - { - lhs.assign_uinteger(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - if (rhs.is_integer()) - { - return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else if (rhs.is_uinteger()) - { - return rhs.as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()); - } - else - { - return false; - } - } - static int as(const JsonT& rhs) - { - return static_cast(rhs.as_integer()); - } - static void assign(JsonT& lhs, int rhs) - { - lhs.assign_integer(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - if (rhs.is_integer()) - { - return rhs.as_integer() >= 0 && static_cast(rhs.as_integer()) <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else if (rhs.is_uinteger()) - { - return rhs.as_uinteger() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else - { - return false; - } - } - static unsigned int as(const JsonT& rhs) - { - return static_cast(rhs.as_uinteger()); - } - static void assign(JsonT& lhs, unsigned int rhs) - { - lhs.assign_uinteger(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - if (rhs.is_integer()) - { - return rhs.as_integer() >= std::numeric_limits::min JSONCONS_NO_MACRO_EXP() && rhs.as_integer() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else if (rhs.is_uinteger()) - { - return rhs.as_uinteger() <= static_cast(std::numeric_limits::max JSONCONS_NO_MACRO_EXP()); - } - else - { - return false; - } - } - static long as(const JsonT& rhs) - { - return static_cast(rhs.as_integer()); - } - static void assign(JsonT& lhs, long rhs) - { - lhs.assign_integer(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - if (rhs.is_integer()) - { - return rhs.as_integer() >= 0 && static_cast(rhs.as_integer()) <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else if (rhs.is_uinteger()) - { - return rhs.as_uinteger() <= std::numeric_limits::max JSONCONS_NO_MACRO_EXP(); - } - else - { - return false; - } - } - static unsigned long as(const JsonT& rhs) - { - return static_cast(rhs.as_uinteger()); - } - static void assign(JsonT& lhs, unsigned long rhs) - { - lhs.assign_uinteger(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_integer(); - } - static long long as(const JsonT& rhs) - { - return rhs.as_integer(); - } - static void assign(JsonT& lhs, long long rhs) - { - lhs.assign_integer(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_uinteger(); - } - static unsigned long long as(const JsonT& rhs) - { - return rhs.as_uinteger(); - } - static void assign(JsonT& lhs, unsigned long long rhs) - { - lhs.assign_uinteger(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_double(); - } - - static double as(const JsonT& rhs) - { - return rhs.as_double(); - } - static void assign(JsonT& lhs, double rhs) - { - lhs.assign_double(rhs); - } -}; - -template -class json_type_traits -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - return rhs.is_double(); - } - static double as(const JsonT& rhs) - { - return static_cast(rhs.as_double()); - } - static void assign(JsonT& lhs, float rhs) - { - lhs.assign_double(static_cast(rhs)); - } -}; - -template -class json_type_traits> -{ -public: - static bool is(const JsonT& rhs) JSONCONS_NOEXCEPT - { - bool result = rhs.is_array(); - for (size_t i = 0; result && i < rhs.size(); ++i) - { - if (!rhs[i].template is()) - { - result = false; - } - } - return result; - } - static std::vector as(const JsonT& rhs) - { - std::vector v(rhs.size()); - for (size_t i = 0; i < v.size(); ++i) - { - v[i] = rhs[i].template as(); - } - return v; - } - static void assign(JsonT& lhs, const std::vector& rhs) - { - lhs = JsonT(rhs.begin(), rhs.end()); - } -}; - -} - -#if defined(__GNUC__) -#pragma GCC diagnostic pop -#endif - -#endif diff --git a/runtime/include/jsoncons/jsoncons.hpp b/runtime/include/jsoncons/jsoncons.hpp deleted file mode 100644 index a45e4f8..0000000 --- a/runtime/include/jsoncons/jsoncons.hpp +++ /dev/null @@ -1,347 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSONCONS_HPP -#define JSONCONS_JSONCONS_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include "jsoncons/jsoncons_config.hpp" -#include "jsoncons/jsoncons_io.hpp" - -namespace jsoncons { - -// null_type - -struct null_type -{ -}; - -// json_exception - -class json_exception -{ -public: - virtual const char* what() const JSONCONS_NOEXCEPT = 0; -}; - -template -class json_exception_0 : public Base, public virtual json_exception -{ -public: - json_exception_0(std::string s) JSONCONS_NOEXCEPT - : Base(""), message_(s) - { - } - ~json_exception_0() JSONCONS_NOEXCEPT - { - } - const char* what() const JSONCONS_NOEXCEPT - { - return message_.c_str(); - } -private: - std::string message_; -}; - -template -class json_exception_1 : public Base, public virtual json_exception -{ -public: - json_exception_1(const std::string& format, const std::string& arg1) JSONCONS_NOEXCEPT - : Base(""), format_(format), arg1_(arg1) - { - } - json_exception_1(const std::string& format, const std::wstring& arg1) JSONCONS_NOEXCEPT - : Base(""), format_(format) - { - char buf[255]; - size_t retval; -#if defined(JSONCONS_HAS_WCSTOMBS_S) - wcstombs_s(&retval, buf, sizeof(buf), arg1.c_str(), arg1.size()); -#else - retval = wcstombs(buf, arg1.c_str(), sizeof(buf)); -#endif - if (retval != static_cast(-1)) - { - arg1_ = buf; - } - } - ~json_exception_1() JSONCONS_NOEXCEPT - { - } - const char* what() const JSONCONS_NOEXCEPT - { - c99_snprintf(const_cast(message_),255, format_.c_str(),arg1_.c_str()); - return message_; - } -private: - std::string format_; - std::string arg1_; - char message_[255]; -}; - -#define JSONCONS_STR2(x) #x -#define JSONCONS_STR(x) JSONCONS_STR2(x) - -#define JSONCONS_THROW_EXCEPTION(Base,x) throw jsoncons::json_exception_0((x)) -#define JSONCONS_THROW_EXCEPTION_1(Base,fmt,arg1) throw jsoncons::json_exception_1((fmt),(arg1)) -#define JSONCONS_ASSERT(x) if (!(x)) { \ - throw jsoncons::json_exception_0("assertion '" #x "' failed at " __FILE__ ":" \ - JSONCONS_STR(__LINE__)); } - -// json_char_traits - -const uint16_t min_lead_surrogate = 0xD800; -const uint16_t max_lead_surrogate = 0xDBFF; -const uint16_t min_trail_surrogate = 0xDC00; -const uint16_t max_trail_surrogate = 0xDFFF; - -template -struct json_literals -{ -}; - -template <> -struct json_literals -{ - static std::pair null_literal() - { - static const char* value = "null"; - return std::pair(value,4); - } - - static std::pair true_literal() - { - static const char* value = "true"; - return std::pair(value,4); - } - - static std::pair false_literal() - { - static const char* value = "false"; - return std::pair(value,5); - } -}; - -template <> -struct json_literals -{ - static std::pair null_literal() - { - static const wchar_t* value = L"null"; - return std::pair(value,4); - } - - static std::pair true_literal() - { - static const wchar_t* value = L"true"; - return std::pair(value,4); - } - - static std::pair false_literal() - { - static const wchar_t* value = L"false"; - return std::pair(value,5); - } -}; - -template -struct json_char_traits -{ -}; - -template <> -struct json_char_traits -{ - static uint32_t convert_char_to_codepoint(const char*& it, - const char*) - { - char c = *it; - uint32_t u(c >= 0 ? c : 256 + c ); - uint32_t cp = u; - if (u < 0x80) - { - } - else if ((u >> 5) == 0x6) - { - c = *(++it); - u = (c >= 0 ? c : 256 + c ); - cp = ((cp << 6) & 0x7ff) + (u & 0x3f); - } - else if ((u >> 4) == 0xe) - { - c = *(++it); - u = (c >= 0 ? c : 256 + c ); - cp = ((cp << 12) & 0xffff) + ((static_cast(0xff & u) << 6) & 0xfff); - c = *(++it); - u = (c >= 0 ? c : 256 + c ); - cp += (u) & 0x3f; - } - else if ((u >> 3) == 0x1e) - { - c = *(++it); - u = (c >= 0 ? c : 256 + c ); - cp = ((cp << 18) & 0x1fffff) + ((static_cast(0xff & u) << 12) & 0x3ffff); - c = *(++it); - u = (c >= 0 ? c : 256 + c ); - cp += (static_cast(0xff & u) << 6) & 0xfff; - c = *(++it); - u = (c >= 0 ? c : 256 + c ); - cp += (u) & 0x3f; - } - else - { - } - return cp; - } - - static void append_codepoint_to_string(uint32_t cp, std::string& s) - { - if (cp <= 0x7f) - { - s.push_back(static_cast(cp)); - } - else if (cp <= 0x7FF) - { - s.push_back(static_cast(0xC0 | (0x1f & (cp >> 6)))); - s.push_back(static_cast(0x80 | (0x3f & cp))); - } - else if (cp <= 0xFFFF) - { - s.push_back(0xE0 | static_cast((0xf & (cp >> 12)))); - s.push_back(0x80 | static_cast((0x3f & (cp >> 6)))); - s.push_back(static_cast(0x80 | (0x3f & cp))); - } - else if (cp <= 0x10FFFF) - { - s.push_back(static_cast(0xF0 | (0x7 & (cp >> 18)))); - s.push_back(static_cast(0x80 | (0x3f & (cp >> 12)))); - s.push_back(static_cast(0x80 | (0x3f & (cp >> 6)))); - s.push_back(static_cast(0x80 | (0x3f & cp))); - } - } - -}; - -template <> -struct json_char_traits // assume utf16 -{ - static void append_codepoint_to_string(uint32_t cp, std::wstring& s) - { - if (cp <= 0xFFFF) - { - s.push_back(static_cast(cp)); - } - else if (cp <= 0x10FFFF) - { - s.push_back(static_cast((cp >> 10) + min_lead_surrogate - (0x10000 >> 10))); - s.push_back(static_cast((cp & 0x3ff) + min_trail_surrogate)); - } - } - - static uint32_t convert_char_to_codepoint(const wchar_t*& it, const wchar_t*) - { - uint32_t cp = (0xffff & *it); - if ((cp >= min_lead_surrogate && cp <= max_lead_surrogate)) // surrogate pair - { - uint32_t trail_surrogate = 0xffff & *(++it); - cp = (cp << 10) + trail_surrogate + 0x10000u - (min_lead_surrogate << 10) - min_trail_surrogate; - } - return cp; - } -}; - -template <> -struct json_char_traits // assume utf32 -{ - static void append_codepoint_to_string(uint32_t cp, std::wstring& s) - { - if (cp <= 0xFFFF) - { - s.push_back(static_cast(cp)); - } - else if (cp <= 0x10FFFF) - { - s.push_back(static_cast(cp)); - } - } - - static uint32_t convert_char_to_codepoint(const wchar_t*& it, const wchar_t*) - { - uint32_t cp = static_cast(*it); - return cp; - } -}; - -inline -bool is_control_character(uint32_t c) -{ - return c <= 0x1F || c == 0x7f; -} - -inline -char to_hex_character(unsigned char c) -{ - JSONCONS_ASSERT(c <= 0xF); - - return (c < 10) ? ('0' + c) : ('A' - 10 + c); -} - -inline -bool is_non_ascii_character(uint32_t c) -{ - return c >= 0x80; -} - -template -struct type_wrapper -{ - typedef T* pointer_type; - typedef const T* const_pointer_type; - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; -}; - -template -struct type_wrapper -{ - typedef T* pointer_type; - typedef const T* const_pointer_type; - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; -}; - -template -struct type_wrapper -{ - typedef T* pointer_type; - typedef const T* const_pointer_type; - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; -}; - -template -struct type_wrapper -{ - typedef T* pointer_type; - typedef const T* const_pointer_type; - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; -}; - -} -#endif diff --git a/runtime/include/jsoncons/jsoncons_config.hpp b/runtime/include/jsoncons/jsoncons_config.hpp deleted file mode 100644 index 7d261ec..0000000 --- a/runtime/include/jsoncons/jsoncons_config.hpp +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSONCONS_CONFIG_HPP -#define JSONCONS_JSONCONS_CONFIG_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // std::numeric_limits - -// Uncomment the following line to suppress deprecated names (recommended for new code) -// #define JSONCONS_NO_DEPRECATED - -#define JSONCONS_NO_MACRO_EXP - -namespace jsoncons -{ - -// Follow boost - -#if defined (__clang__) -#if defined(_GLIBCXX_USE_NOEXCEPT) -#define JSONCONS_NOEXCEPT _GLIBCXX_USE_NOEXCEPT -#else -#define JSONCONS_NOEXCEPT noexcept -#endif -#elif defined(__GNUC__) -#define JSONCONS_NOEXCEPT _GLIBCXX_USE_NOEXCEPT -#elif defined(_MSC_VER) -#if _MSC_VER >= 1900 -#define JSONCONS_NOEXCEPT noexcept -#else -#define JSONCONS_NOEXCEPT -#endif -#else -#define JSONCONS_NOEXCEPT -#endif - -#if defined(_MSC_VER) -#define JSONCONS_HAS_FOPEN_S -#define JSONCONS_HAS_WCSTOMBS_S -#if _MSC_VER < 1800 // VS2013 -#define JSONCONS_NO_RAW_STRING_LITERALS -#define JSONCONS_NO_FOR_RANGE -#endif -#if _MSC_VER >= 1900 -#define JSONCONS_ALIGNOF alignof -#else -#define JSONCONS_ALIGNOF __alignof -#endif -#else -#define JSONCONS_ALIGNOF alignof -#endif - -#ifdef _MSC_VER -#pragma warning( disable : 4290 ) -inline bool is_nan(double x) { return _isnan(x) != 0; } -inline bool is_inf(double x) -{ - return !_finite(x) && !_isnan(x); -} -inline bool is_pos_inf(double x) -{ - return is_inf(x) && x > 0; -} -inline bool is_neg_inf(double x) -{ - return is_inf(x) && x < 0; -} - -inline -int c99_vsnprintf(char *str, size_t size, const char *format, va_list ap) -{ - int count = -1; - - if (size != 0) count = _vsnprintf_s(str, size, _TRUNCATE, format, ap); - if (count == -1) count = _vscprintf(format, ap); - - return count; -} - -inline -int c99_snprintf(char *str, size_t size, const char *format, ...) -{ - int count; - va_list ap; - - va_start(ap, format); - count = c99_vsnprintf(str, size, format, ap); - va_end(ap); - - return count; -} -#else -inline bool is_nan(double x) -{ return std::isnan( x ); } -inline bool is_pos_inf(double x) -{return std::isinf(x) && x > 0;} -inline bool is_neg_inf(double x) -{return std::isinf(x) && x > 0;} - -#if __cplusplus >= 201103L -#define c99_snprintf snprintf -#else -#define c99_snprintf std::snprintf -#endif - -#endif - -} - -#endif diff --git a/runtime/include/jsoncons/jsoncons_io.hpp b/runtime/include/jsoncons/jsoncons_io.hpp deleted file mode 100644 index 27c90fa..0000000 --- a/runtime/include/jsoncons/jsoncons_io.hpp +++ /dev/null @@ -1,358 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_JSONCONS_IO_HPP -#define JSONCONS_JSONCONS_IO_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // std::numeric_limits -#include "jsoncons_config.hpp" -#include "ovectorstream.hpp" - -namespace jsoncons -{ - -template -class buffered_ostream -{ - static const size_t default_buffer_length = 16384; - - std::basic_ostream* os_; - std::vector buffer_; - CharT * const begin_buffer_; - const CharT* const end_buffer_; - CharT* p_; -public: - buffered_ostream(std::basic_ostream& os) - : os_(std::addressof(os)), buffer_(default_buffer_length), begin_buffer_(buffer_.data()), end_buffer_(buffer_.data()+default_buffer_length), p_(buffer_.data()) - { - } - ~buffered_ostream() - { - os_->write(begin_buffer_, (p_ - begin_buffer_)); - os_->flush(); - } - - void flush() - { - os_->write(begin_buffer_, (p_ - begin_buffer_)); - p_ = begin_buffer_; - os_->flush(); - } - - void write(const CharT* s, size_t length) - { - size_t diff = end_buffer_ - p_; - if (diff >= length) - { - std::memcpy(p_, s, length*sizeof(CharT)); - p_ += length; - } - else - { - os_->write(begin_buffer_, (p_ - begin_buffer_)); - os_->write(s, length); - p_ = begin_buffer_; - } - } - - void write(const std::basic_string& s) - { - write(s.data(),s.length()); - } - - void put(CharT c) - { - if (p_ < end_buffer_) - { - *p_++ = c; - } - else - { - os_->write(begin_buffer_, (p_-begin_buffer_)); - p_ = begin_buffer_; - *p_++ = c; - } - } - -}; - -#ifdef _MSC_VER - -template -class float_printer -{ - uint8_t precision_; -public: - float_printer(int precision) - : precision_(precision) - { - } - - void print(double val, uint8_t precision, buffered_ostream& os) - { - char buf[_CVTBUFSIZE]; - int decimal_point = 0; - int sign = 0; - - int prec = (precision == 0) ? precision_ : precision; - - int err = _ecvt_s(buf, _CVTBUFSIZE, val, prec, &decimal_point, &sign); - if (err != 0) - { - throw std::runtime_error("Failed attempting double to string conversion"); - } - char* s = buf; - char* se = s + prec; - - int i, k; - int j; - - if (sign) - { - os.put('-'); - } - if (decimal_point <= -4 || decimal_point > se - s + 5) - { - os.put(*s++); - if (s < se) - { - os.put('.'); - while ((se-1) > s && *(se-1) == '0') - { - --se; - } - - while(s < se) - { - os.put(*s++); - } - } - os.put('e'); - /* sprintf(b, "%+.2d", decimal_point - 1); */ - if (--decimal_point < 0) { - os.put('-'); - decimal_point = -decimal_point; - } - else - os.put('+'); - for(j = 2, k = 10; 10*k <= decimal_point; j++, k *= 10); - for(;;) - { - i = decimal_point / k; - os.put(i + '0'); - if (--j <= 0) - break; - decimal_point -= i*k; - decimal_point *= 10; - } - } - else if (decimal_point <= 0) - { - os.put('0'); - os.put('.'); - while ((se-1) > s && *(se-1) == '0') - { - --se; - } - for(; decimal_point < 0; decimal_point++) - { - os.put('0'); - } - while(s < se) - { - os.put(*s++); - } - } - else { - while(s < se) - { - os.put(*s++); - if ((--decimal_point == 0) && s < se) - { - os.put('.'); - while ((se-1) > s && *(se-1) == '0') - { - --se; - } - } - } - for(; decimal_point > 0; decimal_point--) - { - os.put('0'); - } - } - } -}; - -#else - -template -class float_printer -{ - jsoncons::basic_ovectorstream vs_; - uint8_t precision_; -public: - float_printer(uint8_t precision) - : vs_(255), precision_(precision) - { - vs_.set_locale(std::locale::classic()); - vs_.precision(precision); - } - - void print(double val, uint8_t precision, buffered_ostream& os) - { - vs_.reset(); - vs_.precision(precision == 0 ? precision_ : precision); - vs_ << val; - - const CharT* s = vs_.data(); - const CharT* se = s + vs_.length(); - - bool dot = false; - while (s < se) - { - if (*s == '.') - { - dot = true; - } - else if (*s == 'e') - { - if (!dot) - { - os.put('.'); - os.put('0'); - dot = true; - } - } - os.put(*s); - ++s; - } - if (!dot) - { - os.put('.'); - os.put('0'); - } - } -}; - -#endif - -// string_to_float only requires narrow char -#ifdef _MSC_VER -class float_reader -{ -private: - _locale_t locale_; -public: - float_reader() - { - locale_ = _create_locale(LC_NUMERIC, "C"); - } - ~float_reader() - { - _free_locale(locale_); - } - - double read(const char* s, size_t length) - { - const char *begin = s; - char *end = nullptr; - double val = _strtod_l(begin, &end, locale_); - if (begin == end) - { - throw std::invalid_argument("Invalid float value"); - } - return val; - } - - float_reader(const float_reader& fr) = delete; - float_reader& operator=(const float_reader& fr) = delete; -}; - -#else -class float_reader -{ -private: - std::vector buffer_; - std::string decimal_point_; - bool is_dot_; -public: - float_reader() - : buffer_() - { - struct lconv * lc = localeconv(); - if (lc != nullptr) - { - decimal_point_ = std::string(lc->decimal_point); - } - else - { - decimal_point_ = std::string("."); - } - buffer_.reserve(100); - is_dot_ = decimal_point_ == "."; - } - - double read(const char* s, size_t length) - { - double val; - if (is_dot_) - { - const char *begin = s; - char *end = nullptr; - val = strtod(begin, &end); - if (begin == end) - { - throw std::invalid_argument("Invalid float value"); - } - } - else - { - buffer_.clear(); - size_t j = 0; - const char* pe = s + length; - for (const char* p = s; p < pe; ++p) - { - if (*p == '.') - { - buffer_.insert(buffer_.begin() + j, decimal_point_.begin(), decimal_point_.end()); - j += decimal_point_.length(); - } - else - { - buffer_.push_back(*p); - ++j; - } - } - const char *begin = buffer_.data(); - char *end = nullptr; - val = strtod(begin, &end); - if (begin == end) - { - throw std::invalid_argument("Invalid float value"); - } - } - return val; - } - - float_reader(const float_reader& fr) = delete; - float_reader& operator=(const float_reader& fr) = delete; -}; -#endif - -} - -#endif diff --git a/runtime/include/jsoncons/output_format.hpp b/runtime/include/jsoncons/output_format.hpp deleted file mode 100644 index 5985b7a..0000000 --- a/runtime/include/jsoncons/output_format.hpp +++ /dev/null @@ -1,265 +0,0 @@ -// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_OUTPUT_FORMAT_HPP -#define JSONCONS_OUTPUT_FORMAT_HPP - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace jsoncons { - -template -class buffered_ostream; - -template -class basic_output_format -{ - int indent_; - uint8_t precision_; - bool replace_nan_; - bool replace_pos_inf_; - bool replace_neg_inf_; - std::basic_string nan_replacement_; - std::basic_string pos_inf_replacement_; - std::basic_string neg_inf_replacement_; - bool escape_all_non_ascii_; - bool escape_solidus_; -public: - static const size_t default_indent = 4; - -// Constructors - - basic_output_format() - : - indent_(default_indent), - precision_(16), - replace_nan_(true), - replace_pos_inf_(true), - replace_neg_inf_(true), - nan_replacement_(json_literals::null_literal().first), - pos_inf_replacement_(json_literals::null_literal().first), - neg_inf_replacement_(json_literals::null_literal().first), - escape_all_non_ascii_(false), - escape_solidus_(false) - { - } - -// Accessors - - int indent() const - { - return indent_; - } - - uint8_t precision() const - { - return precision_; - } - - bool escape_all_non_ascii() const - { - return escape_all_non_ascii_; - } - - bool escape_solidus() const - { - return escape_solidus_; - } - - bool replace_nan() const {return replace_nan_;} - - bool replace_pos_inf() const {return replace_pos_inf_;} - - bool replace_neg_inf() const {return replace_neg_inf_;} - - std::basic_string nan_replacement() const - { - return nan_replacement_; - } - - std::basic_string pos_inf_replacement() const - { - return pos_inf_replacement_; - } - - std::basic_string neg_inf_replacement() const - { - return neg_inf_replacement_; - } - -// Modifiers - - void precision(uint8_t prec) - { - precision_ = prec; - } - - void escape_all_non_ascii(bool value) - { - escape_all_non_ascii_ = value; - } - - void escape_solidus(bool value) - { - escape_solidus_ = value; - } - - void replace_nan(bool replace) - { - replace_nan_ = replace; - } - - void replace_inf(bool replace) - { - replace_pos_inf_ = replace; - replace_neg_inf_ = replace; - } - - void replace_pos_inf(bool replace) - { - replace_pos_inf_ = replace; - } - - void replace_neg_inf(bool replace) - { - replace_neg_inf_ = replace; - } - - void nan_replacement(const std::basic_string& replacement) - { - nan_replacement_ = replacement; - } - - void pos_inf_replacement(const std::basic_string& replacement) - { - pos_inf_replacement_ = replacement; - } - - void neg_inf_replacement(const std::basic_string& replacement) - { - neg_inf_replacement_ = replacement; - } - - void indent(int value) - { - indent_ = value; - } -}; - -template -void escape_string(const CharT* s, - size_t length, - const basic_output_format& format, - buffered_ostream& os) -{ - const CharT* begin = s; - const CharT* end = s + length; - for (const CharT* it = begin; it != end; ++it) - { - CharT c = *it; - switch (c) - { - case '\\': - os.put('\\'); - os.put('\\'); - break; - case '"': - os.put('\\'); - os.put('\"'); - break; - case '\b': - os.put('\\'); - os.put('b'); - break; - case '\f': - os.put('\\'); - os.put('f'); - break; - case '\n': - os.put('\\'); - os.put('n'); - break; - case '\r': - os.put('\\'); - os.put('r'); - break; - case '\t': - os.put('\\'); - os.put('t'); - break; - default: - uint32_t u(c >= 0 ? c : 256 + c); - if (format.escape_solidus() && c == '/') - { - os.put('\\'); - os.put('/'); - } - else if (is_control_character(u) || format.escape_all_non_ascii()) - { - // convert utf8 to codepoint - uint32_t cp = json_char_traits::convert_char_to_codepoint(it, end); - if (is_non_ascii_character(cp) || is_control_character(u)) - { - if (cp > 0xFFFF) - { - cp -= 0x10000; - uint32_t first = (cp >> 10) + 0xD800; - uint32_t second = ((cp & 0x03FF) + 0xDC00); - - os.put('\\'); - os.put('u'); - os.put(to_hex_character(first >> 12 & 0x000F)); - os.put(to_hex_character(first >> 8 & 0x000F)); - os.put(to_hex_character(first >> 4 & 0x000F)); - os.put(to_hex_character(first & 0x000F)); - os.put('\\'); - os.put('u'); - os.put(to_hex_character(second >> 12 & 0x000F)); - os.put(to_hex_character(second >> 8 & 0x000F)); - os.put(to_hex_character(second >> 4 & 0x000F)); - os.put(to_hex_character(second & 0x000F)); - } - else - { - os.put('\\'); - os.put('u'); - os.put(to_hex_character(cp >> 12 & 0x000F)); - os.put(to_hex_character(cp >> 8 & 0x000F)); - os.put(to_hex_character(cp >> 4 & 0x000F)); - os.put(to_hex_character(cp & 0x000F)); - } - } - else - { - os.put(c); - } - } - else if (format.escape_solidus() && c == '/') - { - os.put('\\'); - os.put('/'); - } - else - { - os.put(c); - } - break; - } - } -} - -typedef basic_output_format output_format; -typedef basic_output_format woutput_format; - -} -#endif diff --git a/runtime/include/jsoncons/ovectorstream.hpp b/runtime/include/jsoncons/ovectorstream.hpp deleted file mode 100644 index e19f508..0000000 --- a/runtime/include/jsoncons/ovectorstream.hpp +++ /dev/null @@ -1,227 +0,0 @@ -// Copyright 2016 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_OVECTORSTREAM_HPP -#define JSONCONS_OVECTORSTREAM_HPP - -#include -#include -#include -#include -#include -#include "jsoncons/jsoncons_config.hpp" - -namespace jsoncons { - -template< - class CharT, - class Traits = std::char_traits -> class basic_ovectorstream; - -template -class basic_ovectorbuf - : public std::basic_streambuf -{ -private: - std::ios_base::openmode mode_; - std::vector buf_; - -public: - typedef CharT char_type; - typedef typename CharTraits::int_type int_type; - typedef typename CharTraits::pos_type pos_type; - typedef typename CharTraits::off_type off_type; - typedef CharTraits traits_type; - typedef std::basic_streambuf base_streambuf; - -public: - - explicit basic_ovectorbuf(std::size_t length) JSONCONS_NOEXCEPT - : base_streambuf(), - mode_(std::ios_base::out | std::ios_base::binary), - buf_(length) - { - // Set write position to beginning of buffer. - this->setp(buf_.data(), buf_.data() + buf_.size()); - } - - virtual ~basic_ovectorbuf() {} - - const CharT* data() const - { - return buf_.data(); - } - -protected: - int_type underflow() override - { - return this->gptr() != this->egptr() ? - CharTraits::to_int_type(*this->gptr()) : CharTraits::eof(); - } - - int_type pbackfail(int_type c = CharTraits::eof()) override - { - if (this->gptr() != this->eback()) - { - if (!CharTraits::eq_int_type(c, CharTraits::eof())) - { - if (CharTraits::eq(CharTraits::to_char_type(c), this->gptr()[-1])) - { - this->gbump(-1); - return c; - } - this->gbump(-1); - *this->gptr() = c; - return c; - } - else - { - this->gbump(-1); - return CharTraits::not_eof(c); - } - } - else - { - return CharTraits::eof(); - } - } - - int_type overflow(int_type c = CharTraits::eof()) override - { - if (!CharTraits::eq_int_type(c, CharTraits::eof())) - { - size_t pos = buf_.size(); - buf_.resize(pos*2); - this->setp(buf_.data(), buf_.data() + buf_.size()); - this->pubseekpos(pos, std::ios_base::out); - *this->pptr() = CharTraits::to_char_type(c); - this->pbump(1); - this->pubsync(); - return c; - } - else - { - return CharTraits::not_eof(c); - } - } - - pos_type seekoff(off_type off, std::ios_base::seekdir dir, - std::ios_base::openmode mode = std::ios_base::out) override - { - (void)mode; // Always out - - std::streamoff newoff; - switch (dir) - { - case std::ios_base::beg: - newoff = 0; - break; - case std::ios_base::end: - newoff = static_cast(buf_.size()); - break; - case std::ios_base::cur: - newoff = static_cast(this->pptr() - this->pbase()); - break; - default: - return pos_type(off_type(-1)); - } - - off += newoff; - - std::ptrdiff_t n = this->epptr() - this->pbase(); - - if (off < 0 || off > n) return pos_type(off_type(-1)); - else - { - this->setp(this->pbase(), this->pbase() + n); - this->pbump(static_cast(off)); - } - - return pos_type(off); - } - - pos_type seekoff_beg(off_type off) - { - std::ptrdiff_t n = this->epptr() - this->pbase(); - - if (off < 0 || off > n) - { - return pos_type(off_type(-1)); - } - else - { - this->setp(this->pbase(), this->pbase() + n); - this->pbump(static_cast(off)); - } - - return pos_type(off); - } - - pos_type seekpos(pos_type pos, std::ios_base::openmode mode - = std::ios_base::out) override - { - (void)mode; // Always out - - return seekoff_beg(pos - pos_type(off_type(0))); - } -}; - -template -class basic_ovectorstream : - private basic_ovectorbuf, - public std::basic_ostream -{ -public: - typedef typename std::basic_ios - ::char_type char_type; - typedef typename std::basic_ios::int_type int_type; - typedef typename std::basic_ios::pos_type pos_type; - typedef typename std::basic_ios::off_type off_type; - typedef typename std::basic_ios::traits_type traits_type; - -private: - typedef basic_ovectorbuf base_ouputbuf; - typedef std::basic_ios base_ios; - typedef std::basic_ostream base_streambuf; - base_ouputbuf& get_buf() {return *this;} - const base_ouputbuf& get_buf() const {return *this;} - -public: - basic_ovectorstream(std::size_t length) JSONCONS_NOEXCEPT - : base_ouputbuf(length), - base_streambuf(&get_buf()) - {} - - ~basic_ovectorstream() {} - -public: - - size_t length() - { - return this->pptr() - this->pbase(); - } - - void set_locale(const std::locale& loc) - { - std::locale result = std::basic_ostream::imbue(loc); - this->pubimbue(loc); - } - - void reset() - { - this->clear(); - this->seekp(0, std::ios::beg); - } - - const CharT* data() const - { - return get_buf().data(); - } -}; - -} - -#endif diff --git a/runtime/include/jsoncons/parse_error_handler.hpp b/runtime/include/jsoncons/parse_error_handler.hpp deleted file mode 100644 index 9081fc9..0000000 --- a/runtime/include/jsoncons/parse_error_handler.hpp +++ /dev/null @@ -1,172 +0,0 @@ -/// Copyright 2013 Daniel Parker -// Distributed under the Boost license, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See https://github.com/danielaparker/jsoncons for latest version - -#ifndef JSONCONS_PARSE_ERROR_HANDLER_HPP -#define JSONCONS_PARSE_ERROR_HANDLER_HPP - -#include "jsoncons/jsoncons.hpp" -#include - -namespace jsoncons { - -class parse_exception : public std::exception, public virtual json_exception -{ -public: - parse_exception(std::error_code ec, - size_t line, - size_t column) - : error_code_(ec), - line_number_(line), - column_number_(column) - { - } - parse_exception(const parse_exception& other) - : error_code_(other.error_code_), - line_number_(other.line_number_), - column_number_(other.column_number_) - { - } - const char* what() const JSONCONS_NOEXCEPT - { - std::ostringstream os; - os << error_code_.message() << " at line " << line_number_ << " and column " << column_number_; - const_cast(buffer_) = os.str(); - return buffer_.c_str(); - } - - const std::error_code code() const - { - return error_code_; - } - - size_t line_number() const - { - return line_number_; - } - - size_t column_number() const - { - return column_number_; - } -private: - std::error_code error_code_; - std::string buffer_; - size_t line_number_; - size_t column_number_; -}; - -typedef parse_exception json_parse_exception; - -template -class basic_parsing_context -{ -public: - virtual ~basic_parsing_context() {} - - size_t line_number() const - { - return do_line_number(); - } - size_t column_number() const - { - return do_column_number(); - } - CharT current_char() const - { - return do_current_char(); - } - -#if !defined(JSONCONS_NO_DEPRECATED) - CharT last_char() const - { - return do_current_char(); - } -#endif - -private: - virtual size_t do_line_number() const = 0; - virtual size_t do_column_number() const = 0; - virtual CharT do_current_char() const = 0; -}; - -typedef basic_parsing_context parsing_context; -typedef basic_parsing_context wparsing_context; - -template -class basic_parse_error_handler -{ -public: - virtual ~basic_parse_error_handler() - { - } - - void warning(std::error_code ec, - const basic_parsing_context& context) throw (parse_exception) - { - do_warning(ec,context); - } - - void error(std::error_code ec, - const basic_parsing_context& context) throw (parse_exception) - { - do_error(ec,context); - } - - void fatal_error(std::error_code ec, - const basic_parsing_context& context) throw (parse_exception) - { - do_fatal_error(ec,context); - throw parse_exception(ec,context.line_number(),context.column_number()); - } - -private: - virtual void do_warning(std::error_code, - const basic_parsing_context& context) throw (parse_exception) = 0; - - virtual void do_error(std::error_code, - const basic_parsing_context& context) throw (parse_exception) = 0; - - virtual void do_fatal_error(std::error_code, - const basic_parsing_context& context) throw (parse_exception) - { - (void)context; - } -}; - -template -class basic_default_parse_error_handler : public basic_parse_error_handler -{ -public: - static basic_parse_error_handler& instance() - { - static basic_default_parse_error_handler instance; - return instance; - } -private: - virtual void do_warning(std::error_code, - const basic_parsing_context& context) throw (parse_exception) - { - (void)context; - } - - virtual void do_error(std::error_code ec, - const basic_parsing_context& context) throw (parse_exception) - { - throw parse_exception(ec,context.line_number(),context.column_number()); - } -}; - -typedef basic_parse_error_handler parse_error_handler; -typedef basic_parse_error_handler wparse_error_handler; - -typedef basic_default_parse_error_handler default_parse_error_handler; -typedef basic_default_parse_error_handler wdefault_parse_error_handler; - -typedef basic_parsing_context parsing_context; -typedef basic_parsing_context wparsing_context; - -} -#endif From 4419b7aacafe3a9ae5624d824f4c4abb56a1236a Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 19 Dec 2017 11:56:28 +0100 Subject: [PATCH 68/78] fix ullong thrust and cleanup tools/war-of-galaxies --- runtime/CUDAkernels/war_of_galaxies.cu | 6 +- tools/war-of-galaxies/CMakeLists.txt | 5 - tools/war-of-galaxies/README.md | 31 ++ tools/war-of-galaxies/client.py | 42 -- tools/war-of-galaxies/client_interactive.py | 44 ++ tools/war-of-galaxies/client_json.py | 34 +- tools/war-of-galaxies/client_json_string.py | 24 - tools/war-of-galaxies/data.pb.cc | 426 ------------------ tools/war-of-galaxies/data.pb.h | 335 -------------- tools/war-of-galaxies/data.proto | 7 - tools/war-of-galaxies/data_pb2.py | 71 --- .../available/galaxy_type_0.tipsy | 1 + .../available/galaxy_type_1.tipsy | 1 + .../available/galaxy_type_2.tipsy | 1 + .../available/galaxy_type_3.tipsy | 1 + .../war-of-galaxies/galaxy_types/dummy.tipsy | Bin 0 -> 68 bytes .../galaxy_types/model3_child_compact.tipsy | Bin 0 -> 808032 bytes .../model3_child_compact_reduce50.tipsy | Bin 0 -> 16192 bytes .../testSolar_5M_galaxy1_reduce50.tipsy | Bin 0 -> 2001176 bytes .../testSolar_5M_galaxy2_reduce50.tipsy | Bin 0 -> 1995244 bytes .../{json_examples => json_examples.txt} | 0 tools/war-of-galaxies/server.cpp | 96 ---- tools/war-of-galaxies/test.py | 4 - 23 files changed, 89 insertions(+), 1040 deletions(-) delete mode 100644 tools/war-of-galaxies/CMakeLists.txt create mode 100644 tools/war-of-galaxies/README.md delete mode 100644 tools/war-of-galaxies/client.py create mode 100644 tools/war-of-galaxies/client_interactive.py delete mode 100644 tools/war-of-galaxies/client_json_string.py delete mode 100644 tools/war-of-galaxies/data.pb.cc delete mode 100644 tools/war-of-galaxies/data.pb.h delete mode 100644 tools/war-of-galaxies/data.proto delete mode 100644 tools/war-of-galaxies/data_pb2.py create mode 120000 tools/war-of-galaxies/galaxy_types/available/galaxy_type_0.tipsy create mode 120000 tools/war-of-galaxies/galaxy_types/available/galaxy_type_1.tipsy create mode 120000 tools/war-of-galaxies/galaxy_types/available/galaxy_type_2.tipsy create mode 120000 tools/war-of-galaxies/galaxy_types/available/galaxy_type_3.tipsy create mode 100644 tools/war-of-galaxies/galaxy_types/dummy.tipsy create mode 100644 tools/war-of-galaxies/galaxy_types/model3_child_compact.tipsy create mode 100644 tools/war-of-galaxies/galaxy_types/model3_child_compact_reduce50.tipsy create mode 100644 tools/war-of-galaxies/galaxy_types/testSolar_5M_galaxy1_reduce50.tipsy create mode 100644 tools/war-of-galaxies/galaxy_types/testSolar_5M_galaxy2_reduce50.tipsy rename tools/war-of-galaxies/{json_examples => json_examples.txt} (100%) delete mode 100644 tools/war-of-galaxies/server.cpp delete mode 100644 tools/war-of-galaxies/test.py diff --git a/runtime/CUDAkernels/war_of_galaxies.cu b/runtime/CUDAkernels/war_of_galaxies.cu index 6b0730e..bb76a03 100644 --- a/runtime/CUDAkernels/war_of_galaxies.cu +++ b/runtime/CUDAkernels/war_of_galaxies.cu @@ -22,7 +22,7 @@ struct OutOfSphereChecker {} __device__ - bool operator()(thrust::tuple const& t) const + bool operator()(thrust::tuple const& t) const { real4 position = thrust::get<0>(t); return position.x * position.x + position.y * position.y + position.z * position.z > deletion_radius_square @@ -54,12 +54,12 @@ extern "C" void remove_particles(tree_structure &tree, { thrust::device_ptr thrust_pos = thrust::device_pointer_cast(tree.bodies_pos.raw_p()); thrust::device_ptr thrust_vel = thrust::device_pointer_cast(tree.bodies_vel.raw_p()); - thrust::device_ptr thrust_ids = thrust::device_pointer_cast(tree.bodies_ids.raw_p()); + thrust::device_ptr thrust_ids = thrust::device_pointer_cast(tree.bodies_ids.raw_p()); thrust::device_ptr thrust_user_particles = thrust::device_pointer_cast(user_particles.raw_p()); try { // auto is not working, compiler assume int - thrust::zip_iterator< thrust::tuple, thrust::device_ptr, thrust::device_ptr > > new_end = + thrust::zip_iterator< thrust::tuple, thrust::device_ptr, thrust::device_ptr > > new_end = thrust::remove_if( thrust::device, thrust::make_zip_iterator(thrust::make_tuple(thrust_pos, thrust_vel, thrust_ids)), diff --git a/tools/war-of-galaxies/CMakeLists.txt b/tools/war-of-galaxies/CMakeLists.txt deleted file mode 100644 index 31fc623..0000000 --- a/tools/war-of-galaxies/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -cmake_minimum_required(VERSION 3.0) - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") - -add_executable(server server.cpp) diff --git a/tools/war-of-galaxies/README.md b/tools/war-of-galaxies/README.md new file mode 100644 index 0000000..97d5855 --- /dev/null +++ b/tools/war-of-galaxies/README.md @@ -0,0 +1,31 @@ +War of galaxies +=============== + + + +Installation +------------ + +``` +cmake \ + -DCMAKE_BUILD_TYPE=release \ + -DUSE_OPENGL=ON \ + -DUSE_MPI=OFF \ + -DUSE_CUB=OFF \ + -DUSE_THRUST=ON \ + -DWAR_OF_GALAXIES=ON \ + +``` + +Usage +----- + +Starting Bonsai with + +``` +./bonsai2_slowdust \ + -i /war-of-galaxies/galaxy_types/dummy.tipsy \ + --war-of-galaxies /tools/war-of-galaxies/galaxy_types/available +``` + +will show a empty simulation with a single dummy particle. diff --git a/tools/war-of-galaxies/client.py b/tools/war-of-galaxies/client.py deleted file mode 100644 index 60a4ad2..0000000 --- a/tools/war-of-galaxies/client.py +++ /dev/null @@ -1,42 +0,0 @@ -import socket -import sys - -HOST = 'localhost' -PORT = 50007 -BUFFERSIZE = 1024 - -s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) -s.connect((HOST, PORT)) - -while 1: - print "Please define the next galaxy to release:" - - user_id = -1 - while not(user_id >= 1 and user_id <= 4): - user_id = int(raw_input("Which user? [1-4]: ")) - print "user id = ", user_id - - galaxy_type = -1 - while not(galaxy_type >= 1 and galaxy_type <= 4): - galaxy_type = int(raw_input("Which galaxy type? [1-4]: ")) - print "galaxy type = ", galaxy_type - - angle = -1.0 - while not(angle >= 0.0 and angle <= 90.0): - angle = float(raw_input("Which angle? [0 <= angle <= 90]: ")) - print "angle = ", angle - - velocity = -1.0 - while not(velocity >= 0.0 and velocity <= 100.0): - velocity = float(raw_input("Which velocity? [0 <= velocity <= 100]: ")) - print "velocity = ", velocity - - send_data = str(user_id) + "|" + str(galaxy_type) + "|" + str(angle) + "|" + str(velocity) - print "Galaxy (", send_data, ") was released." - s.send(send_data) - - recv_data = s.recv(BUFFERSIZE) - print "Received data:", recv_data - -s.shutdown(socket.SHUT_RDWR) -s.close() diff --git a/tools/war-of-galaxies/client_interactive.py b/tools/war-of-galaxies/client_interactive.py new file mode 100644 index 0000000..e2882b1 --- /dev/null +++ b/tools/war-of-galaxies/client_interactive.py @@ -0,0 +1,44 @@ +import json +import socket +import sys + +HOST = 'localhost' +PORT = 50008 +BUFFERSIZE = 1024 + +s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +s.connect((HOST, PORT)) + +while 1: + + send_data = {} + + while not('task' in send_data and (send_data['task'] == 'release' or send_data['task'] == 'remove' or send_data['task'] == 'report')): + send_data['task'] = raw_input("Which task? ['release', 'remove', 'report']: ") + + if send_data['task'] == 'release' or send_data['task'] == 'remove': + + while not('user_id' in send_data and send_data['user_id'] >= 1 and send_data['user_id'] <= 4): + send_data['user_id'] = int(raw_input("Which user? [1-4]: ")) + + if send_data['task'] == 'release': + + while not('galaxy_id' in send_data and send_data['galaxy_id'] >= 1 and send_data['galaxy_id'] <= 4): + send_data['galaxy_id'] = int(raw_input("Which galaxy? [1-4]: ")) + + while not('angle' in send_data and send_data['angle'] >= 0.0 and send_data['angle'] <= 90.0): + send_data['angle'] = float(raw_input("Which angle? [0 <= angle <= 90]: ")) + + while not('velocity' in send_data and send_data['velocity'] >= 0.0 and send_data['velocity'] <= 100.0): + send_data['velocity'] = float(raw_input("Which velocity? [0 <= velocity <= 100]: ")) + + send_data_json = json.dumps(send_data) + print "Send data:", send_data_json + s.send(send_data_json) + + recv_data_json = s.recv(BUFFERSIZE) + print "Received data:", recv_data_json + +s.shutdown(socket.SHUT_RDWR) +s.close() + diff --git a/tools/war-of-galaxies/client_json.py b/tools/war-of-galaxies/client_json.py index e2882b1..cd552b8 100644 --- a/tools/war-of-galaxies/client_json.py +++ b/tools/war-of-galaxies/client_json.py @@ -3,7 +3,7 @@ import sys HOST = 'localhost' -PORT = 50008 +PORT = 50007 BUFFERSIZE = 1024 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) @@ -11,33 +11,13 @@ while 1: - send_data = {} + send_json = raw_input("JSON string: ") + if send_json == "exit": + break + s.send(send_json) - while not('task' in send_data and (send_data['task'] == 'release' or send_data['task'] == 'remove' or send_data['task'] == 'report')): - send_data['task'] = raw_input("Which task? ['release', 'remove', 'report']: ") - - if send_data['task'] == 'release' or send_data['task'] == 'remove': - - while not('user_id' in send_data and send_data['user_id'] >= 1 and send_data['user_id'] <= 4): - send_data['user_id'] = int(raw_input("Which user? [1-4]: ")) - - if send_data['task'] == 'release': - - while not('galaxy_id' in send_data and send_data['galaxy_id'] >= 1 and send_data['galaxy_id'] <= 4): - send_data['galaxy_id'] = int(raw_input("Which galaxy? [1-4]: ")) - - while not('angle' in send_data and send_data['angle'] >= 0.0 and send_data['angle'] <= 90.0): - send_data['angle'] = float(raw_input("Which angle? [0 <= angle <= 90]: ")) - - while not('velocity' in send_data and send_data['velocity'] >= 0.0 and send_data['velocity'] <= 100.0): - send_data['velocity'] = float(raw_input("Which velocity? [0 <= velocity <= 100]: ")) - - send_data_json = json.dumps(send_data) - print "Send data:", send_data_json - s.send(send_data_json) - - recv_data_json = s.recv(BUFFERSIZE) - print "Received data:", recv_data_json + recv_json = s.recv(BUFFERSIZE) + print "Received data:", recv_json s.shutdown(socket.SHUT_RDWR) s.close() diff --git a/tools/war-of-galaxies/client_json_string.py b/tools/war-of-galaxies/client_json_string.py deleted file mode 100644 index 32efdac..0000000 --- a/tools/war-of-galaxies/client_json_string.py +++ /dev/null @@ -1,24 +0,0 @@ -import json -import socket -import sys - -HOST = 'localhost' -PORT = 50008 -BUFFERSIZE = 1024 - -s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) -s.connect((HOST, PORT)) - -while 1: - - send_json = raw_input("JSON string: ") - if send_json == "exit": - break - s.send(send_json) - - recv_json = s.recv(BUFFERSIZE) - print "Received data:", recv_json - -s.shutdown(socket.SHUT_RDWR) -s.close() - diff --git a/tools/war-of-galaxies/data.pb.cc b/tools/war-of-galaxies/data.pb.cc deleted file mode 100644 index eba0f8f..0000000 --- a/tools/war-of-galaxies/data.pb.cc +++ /dev/null @@ -1,426 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: data.proto - -#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION -#include "data.pb.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -// @@protoc_insertion_point(includes) - -namespace prototest { - -namespace { - -const ::google::protobuf::Descriptor* Foo_descriptor_ = NULL; -const ::google::protobuf::internal::GeneratedMessageReflection* - Foo_reflection_ = NULL; - -} // namespace - - -void protobuf_AssignDesc_data_2eproto() { - protobuf_AddDesc_data_2eproto(); - const ::google::protobuf::FileDescriptor* file = - ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName( - "data.proto"); - GOOGLE_CHECK(file != NULL); - Foo_descriptor_ = file->message_type(0); - static const int Foo_offsets_[3] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Foo, id_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Foo, bar_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Foo, baz_), - }; - Foo_reflection_ = - new ::google::protobuf::internal::GeneratedMessageReflection( - Foo_descriptor_, - Foo::default_instance_, - Foo_offsets_, - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Foo, _has_bits_[0]), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Foo, _unknown_fields_), - -1, - ::google::protobuf::DescriptorPool::generated_pool(), - ::google::protobuf::MessageFactory::generated_factory(), - sizeof(Foo)); -} - -namespace { - -GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_); -inline void protobuf_AssignDescriptorsOnce() { - ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_, - &protobuf_AssignDesc_data_2eproto); -} - -void protobuf_RegisterTypes(const ::std::string&) { - protobuf_AssignDescriptorsOnce(); - ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( - Foo_descriptor_, &Foo::default_instance()); -} - -} // namespace - -void protobuf_ShutdownFile_data_2eproto() { - delete Foo::default_instance_; - delete Foo_reflection_; -} - -void protobuf_AddDesc_data_2eproto() { - static bool already_here = false; - if (already_here) return; - already_here = true; - GOOGLE_PROTOBUF_VERIFY_VERSION; - - ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( - "\n\ndata.proto\022\tprototest\"+\n\003Foo\022\n\n\002id\030\001 \002" - "(\005\022\013\n\003bar\030\002 \002(\t\022\013\n\003baz\030\003 \001(\t", 68); - ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( - "data.proto", &protobuf_RegisterTypes); - Foo::default_instance_ = new Foo(); - Foo::default_instance_->InitAsDefaultInstance(); - ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_data_2eproto); -} - -// Force AddDescriptors() to be called at static initialization time. -struct StaticDescriptorInitializer_data_2eproto { - StaticDescriptorInitializer_data_2eproto() { - protobuf_AddDesc_data_2eproto(); - } -} static_descriptor_initializer_data_2eproto_; - -// =================================================================== - -#ifndef _MSC_VER -const int Foo::kIdFieldNumber; -const int Foo::kBarFieldNumber; -const int Foo::kBazFieldNumber; -#endif // !_MSC_VER - -Foo::Foo() - : ::google::protobuf::Message() { - SharedCtor(); -} - -void Foo::InitAsDefaultInstance() { -} - -Foo::Foo(const Foo& from) - : ::google::protobuf::Message() { - SharedCtor(); - MergeFrom(from); -} - -void Foo::SharedCtor() { - _cached_size_ = 0; - id_ = 0; - bar_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); - baz_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); - ::memset(_has_bits_, 0, sizeof(_has_bits_)); -} - -Foo::~Foo() { - SharedDtor(); -} - -void Foo::SharedDtor() { - if (bar_ != &::google::protobuf::internal::kEmptyString) { - delete bar_; - } - if (baz_ != &::google::protobuf::internal::kEmptyString) { - delete baz_; - } - if (this != default_instance_) { - } -} - -void Foo::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* Foo::descriptor() { - protobuf_AssignDescriptorsOnce(); - return Foo_descriptor_; -} - -const Foo& Foo::default_instance() { - if (default_instance_ == NULL) protobuf_AddDesc_data_2eproto(); - return *default_instance_; -} - -Foo* Foo::default_instance_ = NULL; - -Foo* Foo::New() const { - return new Foo; -} - -void Foo::Clear() { - if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { - id_ = 0; - if (has_bar()) { - if (bar_ != &::google::protobuf::internal::kEmptyString) { - bar_->clear(); - } - } - if (has_baz()) { - if (baz_ != &::google::protobuf::internal::kEmptyString) { - baz_->clear(); - } - } - } - ::memset(_has_bits_, 0, sizeof(_has_bits_)); - mutable_unknown_fields()->Clear(); -} - -bool Foo::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!(EXPRESSION)) return false - ::google::protobuf::uint32 tag; - while ((tag = input->ReadTag()) != 0) { - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // required int32 id = 1; - case 1: { - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, &id_))); - set_has_id(); - } else { - goto handle_uninterpreted; - } - if (input->ExpectTag(18)) goto parse_bar; - break; - } - - // required string bar = 2; - case 2: { - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { - parse_bar: - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_bar())); - ::google::protobuf::internal::WireFormat::VerifyUTF8String( - this->bar().data(), this->bar().length(), - ::google::protobuf::internal::WireFormat::PARSE); - } else { - goto handle_uninterpreted; - } - if (input->ExpectTag(26)) goto parse_baz; - break; - } - - // optional string baz = 3; - case 3: { - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { - parse_baz: - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_baz())); - ::google::protobuf::internal::WireFormat::VerifyUTF8String( - this->baz().data(), this->baz().length(), - ::google::protobuf::internal::WireFormat::PARSE); - } else { - goto handle_uninterpreted; - } - if (input->ExpectAtEnd()) return true; - break; - } - - default: { - handle_uninterpreted: - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { - return true; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, mutable_unknown_fields())); - break; - } - } - } - return true; -#undef DO_ -} - -void Foo::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // required int32 id = 1; - if (has_id()) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->id(), output); - } - - // required string bar = 2; - if (has_bar()) { - ::google::protobuf::internal::WireFormat::VerifyUTF8String( - this->bar().data(), this->bar().length(), - ::google::protobuf::internal::WireFormat::SERIALIZE); - ::google::protobuf::internal::WireFormatLite::WriteString( - 2, this->bar(), output); - } - - // optional string baz = 3; - if (has_baz()) { - ::google::protobuf::internal::WireFormat::VerifyUTF8String( - this->baz().data(), this->baz().length(), - ::google::protobuf::internal::WireFormat::SERIALIZE); - ::google::protobuf::internal::WireFormatLite::WriteString( - 3, this->baz(), output); - } - - if (!unknown_fields().empty()) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - unknown_fields(), output); - } -} - -::google::protobuf::uint8* Foo::SerializeWithCachedSizesToArray( - ::google::protobuf::uint8* target) const { - // required int32 id = 1; - if (has_id()) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->id(), target); - } - - // required string bar = 2; - if (has_bar()) { - ::google::protobuf::internal::WireFormat::VerifyUTF8String( - this->bar().data(), this->bar().length(), - ::google::protobuf::internal::WireFormat::SERIALIZE); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 2, this->bar(), target); - } - - // optional string baz = 3; - if (has_baz()) { - ::google::protobuf::internal::WireFormat::VerifyUTF8String( - this->baz().data(), this->baz().length(), - ::google::protobuf::internal::WireFormat::SERIALIZE); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 3, this->baz(), target); - } - - if (!unknown_fields().empty()) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - unknown_fields(), target); - } - return target; -} - -int Foo::ByteSize() const { - int total_size = 0; - - if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { - // required int32 id = 1; - if (has_id()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->id()); - } - - // required string bar = 2; - if (has_bar()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->bar()); - } - - // optional string baz = 3; - if (has_baz()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->baz()); - } - - } - if (!unknown_fields().empty()) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - unknown_fields()); - } - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = total_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void Foo::MergeFrom(const ::google::protobuf::Message& from) { - GOOGLE_CHECK_NE(&from, this); - const Foo* source = - ::google::protobuf::internal::dynamic_cast_if_available( - &from); - if (source == NULL) { - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - MergeFrom(*source); - } -} - -void Foo::MergeFrom(const Foo& from) { - GOOGLE_CHECK_NE(&from, this); - if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { - if (from.has_id()) { - set_id(from.id()); - } - if (from.has_bar()) { - set_bar(from.bar()); - } - if (from.has_baz()) { - set_baz(from.baz()); - } - } - mutable_unknown_fields()->MergeFrom(from.unknown_fields()); -} - -void Foo::CopyFrom(const ::google::protobuf::Message& from) { - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void Foo::CopyFrom(const Foo& from) { - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Foo::IsInitialized() const { - if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false; - - return true; -} - -void Foo::Swap(Foo* other) { - if (other != this) { - std::swap(id_, other->id_); - std::swap(bar_, other->bar_); - std::swap(baz_, other->baz_); - std::swap(_has_bits_[0], other->_has_bits_[0]); - _unknown_fields_.Swap(&other->_unknown_fields_); - std::swap(_cached_size_, other->_cached_size_); - } -} - -::google::protobuf::Metadata Foo::GetMetadata() const { - protobuf_AssignDescriptorsOnce(); - ::google::protobuf::Metadata metadata; - metadata.descriptor = Foo_descriptor_; - metadata.reflection = Foo_reflection_; - return metadata; -} - - -// @@protoc_insertion_point(namespace_scope) - -} // namespace prototest - -// @@protoc_insertion_point(global_scope) diff --git a/tools/war-of-galaxies/data.pb.h b/tools/war-of-galaxies/data.pb.h deleted file mode 100644 index b96f448..0000000 --- a/tools/war-of-galaxies/data.pb.h +++ /dev/null @@ -1,335 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: data.proto - -#ifndef PROTOBUF_data_2eproto__INCLUDED -#define PROTOBUF_data_2eproto__INCLUDED - -#include - -#include - -#if GOOGLE_PROTOBUF_VERSION < 2005000 -#error This file was generated by a newer version of protoc which is -#error incompatible with your Protocol Buffer headers. Please update -#error your headers. -#endif -#if 2005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION -#error This file was generated by an older version of protoc which is -#error incompatible with your Protocol Buffer headers. Please -#error regenerate this file with a newer version of protoc. -#endif - -#include -#include -#include -#include -#include -// @@protoc_insertion_point(includes) - -namespace prototest { - -// Internal implementation detail -- do not call these. -void protobuf_AddDesc_data_2eproto(); -void protobuf_AssignDesc_data_2eproto(); -void protobuf_ShutdownFile_data_2eproto(); - -class Foo; - -// =================================================================== - -class Foo : public ::google::protobuf::Message { - public: - Foo(); - virtual ~Foo(); - - Foo(const Foo& from); - - inline Foo& operator=(const Foo& from) { - CopyFrom(from); - return *this; - } - - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { - return _unknown_fields_; - } - - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { - return &_unknown_fields_; - } - - static const ::google::protobuf::Descriptor* descriptor(); - static const Foo& default_instance(); - - void Swap(Foo* other); - - // implements Message ---------------------------------------------- - - Foo* New() const; - void CopyFrom(const ::google::protobuf::Message& from); - void MergeFrom(const ::google::protobuf::Message& from); - void CopyFrom(const Foo& from); - void MergeFrom(const Foo& from); - void Clear(); - bool IsInitialized() const; - - int ByteSize() const; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input); - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const; - ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; - int GetCachedSize() const { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const; - public: - - ::google::protobuf::Metadata GetMetadata() const; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - // required int32 id = 1; - inline bool has_id() const; - inline void clear_id(); - static const int kIdFieldNumber = 1; - inline ::google::protobuf::int32 id() const; - inline void set_id(::google::protobuf::int32 value); - - // required string bar = 2; - inline bool has_bar() const; - inline void clear_bar(); - static const int kBarFieldNumber = 2; - inline const ::std::string& bar() const; - inline void set_bar(const ::std::string& value); - inline void set_bar(const char* value); - inline void set_bar(const char* value, size_t size); - inline ::std::string* mutable_bar(); - inline ::std::string* release_bar(); - inline void set_allocated_bar(::std::string* bar); - - // optional string baz = 3; - inline bool has_baz() const; - inline void clear_baz(); - static const int kBazFieldNumber = 3; - inline const ::std::string& baz() const; - inline void set_baz(const ::std::string& value); - inline void set_baz(const char* value); - inline void set_baz(const char* value, size_t size); - inline ::std::string* mutable_baz(); - inline ::std::string* release_baz(); - inline void set_allocated_baz(::std::string* baz); - - // @@protoc_insertion_point(class_scope:prototest.Foo) - private: - inline void set_has_id(); - inline void clear_has_id(); - inline void set_has_bar(); - inline void clear_has_bar(); - inline void set_has_baz(); - inline void clear_has_baz(); - - ::google::protobuf::UnknownFieldSet _unknown_fields_; - - ::std::string* bar_; - ::std::string* baz_; - ::google::protobuf::int32 id_; - - mutable int _cached_size_; - ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; - - friend void protobuf_AddDesc_data_2eproto(); - friend void protobuf_AssignDesc_data_2eproto(); - friend void protobuf_ShutdownFile_data_2eproto(); - - void InitAsDefaultInstance(); - static Foo* default_instance_; -}; -// =================================================================== - - -// =================================================================== - -// Foo - -// required int32 id = 1; -inline bool Foo::has_id() const { - return (_has_bits_[0] & 0x00000001u) != 0; -} -inline void Foo::set_has_id() { - _has_bits_[0] |= 0x00000001u; -} -inline void Foo::clear_has_id() { - _has_bits_[0] &= ~0x00000001u; -} -inline void Foo::clear_id() { - id_ = 0; - clear_has_id(); -} -inline ::google::protobuf::int32 Foo::id() const { - return id_; -} -inline void Foo::set_id(::google::protobuf::int32 value) { - set_has_id(); - id_ = value; -} - -// required string bar = 2; -inline bool Foo::has_bar() const { - return (_has_bits_[0] & 0x00000002u) != 0; -} -inline void Foo::set_has_bar() { - _has_bits_[0] |= 0x00000002u; -} -inline void Foo::clear_has_bar() { - _has_bits_[0] &= ~0x00000002u; -} -inline void Foo::clear_bar() { - if (bar_ != &::google::protobuf::internal::kEmptyString) { - bar_->clear(); - } - clear_has_bar(); -} -inline const ::std::string& Foo::bar() const { - return *bar_; -} -inline void Foo::set_bar(const ::std::string& value) { - set_has_bar(); - if (bar_ == &::google::protobuf::internal::kEmptyString) { - bar_ = new ::std::string; - } - bar_->assign(value); -} -inline void Foo::set_bar(const char* value) { - set_has_bar(); - if (bar_ == &::google::protobuf::internal::kEmptyString) { - bar_ = new ::std::string; - } - bar_->assign(value); -} -inline void Foo::set_bar(const char* value, size_t size) { - set_has_bar(); - if (bar_ == &::google::protobuf::internal::kEmptyString) { - bar_ = new ::std::string; - } - bar_->assign(reinterpret_cast(value), size); -} -inline ::std::string* Foo::mutable_bar() { - set_has_bar(); - if (bar_ == &::google::protobuf::internal::kEmptyString) { - bar_ = new ::std::string; - } - return bar_; -} -inline ::std::string* Foo::release_bar() { - clear_has_bar(); - if (bar_ == &::google::protobuf::internal::kEmptyString) { - return NULL; - } else { - ::std::string* temp = bar_; - bar_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); - return temp; - } -} -inline void Foo::set_allocated_bar(::std::string* bar) { - if (bar_ != &::google::protobuf::internal::kEmptyString) { - delete bar_; - } - if (bar) { - set_has_bar(); - bar_ = bar; - } else { - clear_has_bar(); - bar_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); - } -} - -// optional string baz = 3; -inline bool Foo::has_baz() const { - return (_has_bits_[0] & 0x00000004u) != 0; -} -inline void Foo::set_has_baz() { - _has_bits_[0] |= 0x00000004u; -} -inline void Foo::clear_has_baz() { - _has_bits_[0] &= ~0x00000004u; -} -inline void Foo::clear_baz() { - if (baz_ != &::google::protobuf::internal::kEmptyString) { - baz_->clear(); - } - clear_has_baz(); -} -inline const ::std::string& Foo::baz() const { - return *baz_; -} -inline void Foo::set_baz(const ::std::string& value) { - set_has_baz(); - if (baz_ == &::google::protobuf::internal::kEmptyString) { - baz_ = new ::std::string; - } - baz_->assign(value); -} -inline void Foo::set_baz(const char* value) { - set_has_baz(); - if (baz_ == &::google::protobuf::internal::kEmptyString) { - baz_ = new ::std::string; - } - baz_->assign(value); -} -inline void Foo::set_baz(const char* value, size_t size) { - set_has_baz(); - if (baz_ == &::google::protobuf::internal::kEmptyString) { - baz_ = new ::std::string; - } - baz_->assign(reinterpret_cast(value), size); -} -inline ::std::string* Foo::mutable_baz() { - set_has_baz(); - if (baz_ == &::google::protobuf::internal::kEmptyString) { - baz_ = new ::std::string; - } - return baz_; -} -inline ::std::string* Foo::release_baz() { - clear_has_baz(); - if (baz_ == &::google::protobuf::internal::kEmptyString) { - return NULL; - } else { - ::std::string* temp = baz_; - baz_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); - return temp; - } -} -inline void Foo::set_allocated_baz(::std::string* baz) { - if (baz_ != &::google::protobuf::internal::kEmptyString) { - delete baz_; - } - if (baz) { - set_has_baz(); - baz_ = baz; - } else { - clear_has_baz(); - baz_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); - } -} - - -// @@protoc_insertion_point(namespace_scope) - -} // namespace prototest - -#ifndef SWIG -namespace google { -namespace protobuf { - - -} // namespace google -} // namespace protobuf -#endif // SWIG - -// @@protoc_insertion_point(global_scope) - -#endif // PROTOBUF_data_2eproto__INCLUDED diff --git a/tools/war-of-galaxies/data.proto b/tools/war-of-galaxies/data.proto deleted file mode 100644 index 6335f90..0000000 --- a/tools/war-of-galaxies/data.proto +++ /dev/null @@ -1,7 +0,0 @@ -package prototest; - -message Foo { - required int32 id = 1; - required string bar = 2; - optional string baz = 3; -} diff --git a/tools/war-of-galaxies/data_pb2.py b/tools/war-of-galaxies/data_pb2.py deleted file mode 100644 index 0e5e201..0000000 --- a/tools/war-of-galaxies/data_pb2.py +++ /dev/null @@ -1,71 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: data.proto - -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import descriptor_pb2 -# @@protoc_insertion_point(imports) - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='data.proto', - package='prototest', - serialized_pb='\n\ndata.proto\x12\tprototest\"+\n\x03\x46oo\x12\n\n\x02id\x18\x01 \x02(\x05\x12\x0b\n\x03\x62\x61r\x18\x02 \x02(\t\x12\x0b\n\x03\x62\x61z\x18\x03 \x01(\t') - - - - -_FOO = _descriptor.Descriptor( - name='Foo', - full_name='prototest.Foo', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='id', full_name='prototest.Foo.id', index=0, - number=1, type=5, cpp_type=1, label=2, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='bar', full_name='prototest.Foo.bar', index=1, - number=2, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=unicode("", "utf-8"), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='baz', full_name='prototest.Foo.baz', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=unicode("", "utf-8"), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - extension_ranges=[], - serialized_start=25, - serialized_end=68, -) - -DESCRIPTOR.message_types_by_name['Foo'] = _FOO - -class Foo(_message.Message): - __metaclass__ = _reflection.GeneratedProtocolMessageType - DESCRIPTOR = _FOO - - # @@protoc_insertion_point(class_scope:prototest.Foo) - - -# @@protoc_insertion_point(module_scope) diff --git a/tools/war-of-galaxies/galaxy_types/available/galaxy_type_0.tipsy b/tools/war-of-galaxies/galaxy_types/available/galaxy_type_0.tipsy new file mode 120000 index 0000000..0736d42 --- /dev/null +++ b/tools/war-of-galaxies/galaxy_types/available/galaxy_type_0.tipsy @@ -0,0 +1 @@ +../testSolar_5M_galaxy1_reduce50.tipsy \ No newline at end of file diff --git a/tools/war-of-galaxies/galaxy_types/available/galaxy_type_1.tipsy b/tools/war-of-galaxies/galaxy_types/available/galaxy_type_1.tipsy new file mode 120000 index 0000000..28eb85f --- /dev/null +++ b/tools/war-of-galaxies/galaxy_types/available/galaxy_type_1.tipsy @@ -0,0 +1 @@ +../testSolar_5M_galaxy2_reduce50.tipsy \ No newline at end of file diff --git a/tools/war-of-galaxies/galaxy_types/available/galaxy_type_2.tipsy b/tools/war-of-galaxies/galaxy_types/available/galaxy_type_2.tipsy new file mode 120000 index 0000000..2720be5 --- /dev/null +++ b/tools/war-of-galaxies/galaxy_types/available/galaxy_type_2.tipsy @@ -0,0 +1 @@ +../model3_child_compact_reduce50.tipsy \ No newline at end of file diff --git a/tools/war-of-galaxies/galaxy_types/available/galaxy_type_3.tipsy b/tools/war-of-galaxies/galaxy_types/available/galaxy_type_3.tipsy new file mode 120000 index 0000000..a8adbf9 --- /dev/null +++ b/tools/war-of-galaxies/galaxy_types/available/galaxy_type_3.tipsy @@ -0,0 +1 @@ +../model3_child_compact.tipsy \ No newline at end of file diff --git a/tools/war-of-galaxies/galaxy_types/dummy.tipsy b/tools/war-of-galaxies/galaxy_types/dummy.tipsy new file mode 100644 index 0000000000000000000000000000000000000000..26fee6c6bff5eb1186afbef67631c04a3ade59dc GIT binary patch literal 68 kcmZQzfB;4y#f-#;G8wq8FSdrU85pWu5NrsG^U!N<08zmNL;wH) literal 0 HcmV?d00001 diff --git a/tools/war-of-galaxies/galaxy_types/model3_child_compact.tipsy b/tools/war-of-galaxies/galaxy_types/model3_child_compact.tipsy new file mode 100644 index 0000000000000000000000000000000000000000..fce956cf455e5b8cd73bf05be3ccfe06d65ea369 GIT binary patch literal 808032 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

O2^3T6QQ)<3z@0w?MB9; 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

Lq`7 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 R|rxxpP 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%0DUxH)3C`N??7v1n;2Yb~Bz8V?c4;E5ZA^7E^W& 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

-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Ξks}#Oo%Li+{OW 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≠PU;%Y{HS{h-)?z~ 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 literal 0 HcmV?d00001 diff --git a/tools/war-of-galaxies/galaxy_types/model3_child_compact_reduce50.tipsy b/tools/war-of-galaxies/galaxy_types/model3_child_compact_reduce50.tipsy new file mode 100644 index 0000000000000000000000000000000000000000..9799928d901de7e725efcb98a8062bd9efa37418 GIT binary patch literal 16192 zcmY-0X;@9)+XwLGxio7qRZ4`CB1>;0(qzLrJon#nws5LtFx$yJhP>TRwsO_|*Cb-w~p z!ABpo>2v~^V;#=gbbTbfyHQiQ(Ug5sE6%hx=>pw#(*XG81XrvOCw1benI9|#rtH@O zXNrF_rTY${9|u)&3-25;x2VZ^UB@Q54)fi$rh(J;D)^#!DB3t*4v+NSM-9Kn7p1Cg zWIld&XWI@K;P-Ynk^VcDH)8beaGASDJG0;St01SBq3DuAGMGGnEG+vIM2rhHOG5+A zeLhb`&&zYcA&+8^C5F(s6I)20C~D@;O=HUS9)sL3k6DY~P3*V2E>y+5XGX>FUOu%h4jHml_c`9XM`HLF(lvK=Z&`^k$A7kUuw_mb~J-1i{#bXJqai0Pyz zLPrD*c1H95eEZE)4ZFvLX^TShr=esYYE*KW@4c17{`O9wKtl|aG_Pa)#)Ja5%uQr0 zduo2B>)~h0R;*o$3lh#6g(4L_*cI7=?8sP$scDhTW%P_x5UY6}Sok?I<`wqXvQL+o ztJFNy(&g=q^h0-L+QIH$MSwqlB06F4g^bls%{JQs{%-p_Y}%yh2$wztxe`8jQUfAu zs(g>jyr8dxiM28Z1s!{V=^{k{E`$T;vQ?z71=J)36ridw1153dFteso8HWChLiwfA zWS;%0fxDVmR`W@@(Vz($8(@Xx&7_gyhA2`emzt{yYtf#HTVUPe7VzJ9d*1Q=ksz(G zhh%Q0M%zu8-}%iM>8xJ_d>_03wc;+|=4CfhN3M#?{B{QmHkn^$#d#B0<*<+7`tP~$ zXJHtbA4m`Lo+;Nc+-o+t+a z$;-YtW@rz|V?xcs_6n5zcn_=M-OFF8{TkSRwt>π3An&AyM8a3XXEzZRYXn-5P1 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%0AfmDgTJ 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%0A=O^q_XL6!56M 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 )|xS5Rox;cri8;(BP%@e6j&p6TM`M-(@ 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
uP} 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 z z1<>cJ(;iZHOo}#l;c%FaH&@xMl3`;hYqb-4y z8~o8ONu2u`Pl4-_+Q-`DLVn~Mx)$!l86Hbkii`fY?^|2)f2WafzcX` zZjlld8fKSH-ghZNPx=%IzOy`eorL$yxHBj#fxCuEM@-~Uk4eNG#?CHILbwgPS4U8G ziv;Q;Ruqu-j!@@xl`D>xTJ!4uxy(G2QkEwS$n2l<3l)_-kC~j?6PiEYnYc;wF!O#~mFrBEPGLcDW8dmR~Cj42#`f;2o zJLNIt0iN4I1|5$4ooBKn(q<8fIL* z5RGnfcn6ebrIDk-sVH>)ZNYW9Sg_p1-hUBgl@Q404${CJ<}Nz6Xkah*oDwXjEZ`(F)}Tq!bg9F7g|wddk( z*_d=Y%9cYu+4**PB!oMNCjOX+ox}lr)gLQHhE`an#BP9|9~DGBx7ibQRHNI#zTgjdS3peNGtl)^HU5!UDVkLuz^n%=%0AGAyv4psa=EVp)u=Y%ZzIO> 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 z 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
aR}Xn9Pq{9|{@!0naGMyXiEda4-C< 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

PLHvdza1N^bp6`&xh2|v?0bv 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%0D>~~Yl=dBw<13RWcUEemOBDJgdYyf|j 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

E;STd% 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

)~a;7nm~hn5}sS>< zT+j6rCO6}K2R|7*3GG}T6B6i{KXH)MpdwS&W@>~syr0a0!np1HVrbKTI@vUPu9&m?2*)Ncwx3K1cUoc2;6ydN z80v+!AMM1|YW@vb$=J`$(LeMvns#$4fXtV{q{CW4yz`sSoB7PxiDQ)DUYACFoYnBG z_!zmYGhH+?-NVVyca~PSIy~oF98aN}!_weO=ertL^GiZ%C7&DR&DdAA82?}+r`_hE zAESB@dE3oijQewqvrk4bwitcmJ#XdHWm}7&dkNaiLp;S{+s(N3pkb`_a5cnu;T_zd z09tJcBoDsL5SzbG;N)#!>@07rx1FP=)x%>UtD^;Z-`avm-sN$>3p0PMZbyucQBy4k~!qEtGaKih^%)N1|g&?2JqKyK*RFpM1bxzWY@4 zXw!H&y~&T%Z+WHZDD>iVD`o7ddL=}~Drh@(QzY9-c1$H>+&)Gu8bXrdr9Ia zHSKRMh2{qbkrON03isE{=f(|Y?7BY+aH-!%EtVI+T?2RGzJCO^C6#mRLB{qi!rs{f zV(5>Q1gMUmLPW2VcFRgExckmi#!g#?Z^(to)cWTd=v`t?MplOq%YS$NKd#<8uE+0x z{5LXR_Q*cQo?&UyQWqVR-HA@taF6UT(#(u+fP`DS@x@893-Q+?>r-0}mRm%0DfU%3v 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 &jfvL6W!qGG{z^1F_iRs$Vh`Bn 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

Af-nZlY%41xpBQ2n~LAUj2o47vQsK-?QBh! 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

XXxKe`r7Bz5&`@ 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

7E^5In%+dJT8rnej~48prdXSLA_~G?b)D|Z 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 Nu-TOC?h%8hiI#i9*!fT- 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

69UyaNxfL%=uB5 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%0DhQ<;P&oEv+=_{VLXg@H$Ia1iOBbep^ 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

IE66=V>?qx_W%)Ruw2|@qCQ~-q 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ɋF@J9T!nHaLM;a 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

>kcGeCPsayk*pPs4e&v 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

p^#Oe5qKZmNP|p1IlM#`QYDS)|Au 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 z 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

;3nC{F0Y*QLe*7UiPUK`{m4J^5@h0btDp7 zWBQ(#Ihvz7#j#N4@j~`>{uL(u?QyElE)v_a!vWl#ERlkt7W8uuWH-(2x#RA0sD9}9 zU%Q_)prObF^#!Oyu0uIKx_yM%QD8*1YuGB!%~56sg%e*(H{7s>gsrpKsnd9Dbj6vn z{=`OCYeMoabyTjQ3m;eAWnPZSWlCn=r)(UtO2wW0{WUXC{Dl|%SMmFCMRx+Tztn`X z#l#Mz4Dc5(DIgnlT{xoulG(P+i%~oElCo{YcIbEWi$s%z`e*%o`m^JBeb0GDi=)3! ziXY2!3on@kl}avX`UwpfJUJORtuy8J9=J)JZ-`i5yID}-e^;7TH3_!ORcBW(x8S;# zpPiFK^?g4oHIrMhMwAPRG2y-UY(;X`ySX0;pJ`3@Q}nE*g$_vnrQ1 z;i=A3sbi5#Y~7v9d|*hPv_q(~ymz?{Tl;(}Q_xgF*+ycgKQn-uCALUonGytQ^kVZr zOJ$Np^t-9j6M1gNm9zM=)jiSx(I{X0Xcn`u_atLEpPpAdo!H!K3!pMf1v$@}1h>}L zGKSZkxrS+9Q^z=x*v#pA5T83JZJA{Zc~NuNqg(c2g|qateHO7%zxqL9=D$+Alu0n{ z;3H<^UI*@iD*cbDo>-d(J@5^ykhYF@giRl&vU$%tkuLu?QGBPD!1o8p*I;11B#zKO}I%b;NS?1!bOH>TC#Kyd_fp!BW z+ZoD;Hu}q8W$oYzjVTjoDVNEFesEf+W)!~bVqs)$jZOp^u6;!*9PvyCZDujK{ z8X}~|N;4oU+JP130bt8ddnp@AY*+Sc-tsqLzJ~S(;oC|Bwk@8^=(I&r_5iVxbskUw zViYLUBq>N-$gERv=K=y$@#ptVj#zQ?X2?9T95uu%Lr>5aJe;Y;{jw{Hvi-#N{o)O} zeP$?JVgRiQZzQ9~yf|(|owByi@S{UFq7;D@o%hfCO)q5GkS*!-I>_@>>ZQq$52AdW+k+U(f9QXfWyHp(dV!ypK2pgP_Nn;vg=FQ6$y~$Nbf0w+ zJKxY96cSyL??F{)(VZ{U-BsewUD!eOuW^SwH(Sq7e4e!tT34hBZYK`Qe!HB;j5A$J z^}~E((}Z`B-WO`9J3$ZDx4&WhfAo?V+q6>G-*{rPg}vf}@O7#076)+n(wo(Jup3|T zb)?!YA+~6hP)8x#76t04!O#~Sc!g^fw*4xRinpEE#QX&im|%$_uA9KdxNl^|O;()6 zu~5qDzL4i;Ej_{8`hAe9eWwI@bH8P7XPjr^g6M0iFR^{0ZG7gC0g9S1!siTU$n-q^ zV1&X?RJ_}WEnBw$g5C@BuEbN|a!5auzJDs0V*Z}$heBe5l-wX{jw1qL&B}(Zvv|%2 zj1{U3sCZk5E&AF7Tn(I&;VPk);ztdREgplN>y;_1(J9YOSJ(qIzvQ9R?_Z(Lp7RuT zYkmfv{QFWWUJ0=qP2cjl_BW-TbA-Le9+|OSTmF`0bkhA0MJ&oNg7~S!(*AN|2v3>J zo?I%-^tNBP)$%O`5AHxcXmWe6zVH9||?TEeKA z9n-5ci@RjIoXSn*r98Lx-?gArY=LspRG`o=3rB2W88@q4R1BWPhHHEUX_{^*Q=|{( zN!w&aH{3Xl!@H<DvH7Iq8BPYKEO}eqRJIIFO%6#NTK3Y=pyHvPE>qwQ>=}7R(juo_$nD zsS3i{!MSQ|o`Mc%YL-OBkU^~BZYPj5N>RSrC@=c*AACsjEH1Ddp^jS}v09fVfVuiq z6jrJThi%?sJIPkOX1)#8zr(~1cTa@-!u=x6RUPhlC*%49%3M`L24$W9k@th5%n3@| zL?~_847MKYVKS!A;6{F+|2u^dn_zAR(ZgerU79g$C@^GKZOq5_AJN~;(}<1Auml*< zMEzcRkZd-A)kxCj(#~(B`T>Ydy}A%;jz5yRlud=V|2<=-Pjld6r|{HyJV0!r!vxTW z2`J+$4M+=Zz)A}&IAxdbsodlqiP$LN zzvkdaRg@TL3~jNV?8<&I{zBcHYPXzN&#Ma{w)2{_(as$zpJ=fD2h}*|V0$XwE@J2B zctYIYx~S9K2%HPFnUF31+?H>aQ8AeI$a9S z|5*hOVNQb--9*aJFnkAp?fti~#?ganH{t(rb?;#{WpU%cyWey<-S6oxsU%5KXYaj) zB*{G{F-`6bO&Ze>6GCVRNlcTFrb$AYG|5?ee2jewvqJv&@^JZ?=1kM5zo0A&v7u->>6Xy5x{$|I7yY8Kx~PV1`HLOqc~L! zDE6&2&fTKwp@rDGaU(%jBHlw? z+Mv7a629^LBCfkdkLBz3$a8aB*DN@XS3r%*M)2hI5k~V|HdFueS*l!?*vgoZaPKdD zlV;Zv#g*s(F`rm)CG&o4|wnKd${J+AC%1{_JpQ*ZkD)C zcv`x6hMZBy70!!kV>-6ALa1xfC(&oS0FpIKtSUC{*g(p_pq*p!9PyHcz2UruPi#tAxCcuAuIefeeau9U4O)}q85 zEW|SbEGCVBN6!`c=6}3#kpBUy&XjuPxhbvEgL@Kvq)?>}-dvDu(c}tdj?{!21N0^~ z(!>UKm|LI(aZSbed1}1ZTs2(ax|51wC9&E^EkF`silqODecH&k*siDqS39hvV#p*m z;f@ug)QkJ7ozVj6vIhMAYzDSmN9R^UY+zZpP-zk@uB~nsJTw|`!CNzijn|WY`K%r$ zwtJSi-sy@aY7zHp|H0!k^V4GK{!H*uxR1Ni7Blftc42I9O|$=!!srZ|3jV52j8+HpO; z|IbFM+)847?yEzV%ow#^)P)Pd+StTiJiBUI4P^(2)qUa$;pr#1oKHTG`ox)CRd@wE zE7NlXT>9j>1v`oNg+V;G?YcL(zVl+&t1uW2(PP3(h^?JbF8KBw=a#hDg4ZHVcJ06J z%)K=N6+)9s}$pwtI4`kY&Xnf464A{^3oW9fug}-Of}D_W#LqJB+j-@uoUruSg))Ra}RC zVhuC5nEqxypV-|c;#uE&RZzaO39LWp#VWj1#|x)aQ|0a^wq*Wj=pUcTrA_mL=HI;7 zCuS9R`y_YDmJvG`dQTXRn~1XNp9vvWhwxW3&M*r;ETwE0v0;}SppE;))&3*)gLg?; z@25(<$2EHV*s5Qi+v=o01(%*-ZreCj$o1dLJcBz-Usy3!ZYZ&_gCjttv7Jj3&y{G7 zH)oR+8?Ni;4Ao)-F_jr-%}HJqW02 zW!f8j7_Wb6+d-`FsSwCprH6*+i0930|16z$W)lBni!J{0-ZXhD&n?A53R&MKp#I(( z;e^HCcxn70Ja45AWrK)qEwq4PagY6=k%o}OJF)(DWB5upCF&Wqnb`R0rcmEH#OZFc zgoJvxlVb%lLg$V_uc{l<<}N}7jb{OG=YE3t)({uXR&?NQL$ zeqpfdTU;t^W9;;nQ*|a8kmr_JstnD8jwpYI3Oww)g4>f1Fn?VhO<6>&V}Uhn+aN*d z;=1OQu8vIJP$*xSy@Gn4#S4jmMK*bt06YnUp{Q9S$a&s1(X#D-^&gR0eDD5F~)3TvzIlUIM? zZrg4uw|m68%qSI0qa&{1 zr8;|yQ)F ztQ^JmNk`+&MhIC@3=N$mn>7kU%#_)Y4 z&*WRU@Fu#YR18(brpHAt zSDa@b`pSzJZjGYs0b)BG$3o|g1SFYQA@t<8}^*vsMGC zv>Sr%EiHD&`vS&n7Ck1skl565{-D-ngxdF-KzF&DRBgLE-~Rq36>kc$o||6^DNg%2 zXD9J}w#bc@%(`{W2>njQTTZOU9C0q|-Ra1P?-TN;599S6U*o7huTbT76I(2dhsyW> z6!LsPC=BhzM`sq}D^KZupUtp5x8frfQ2DPh3SX)RDzl1lNtiZo-fuz05JqfPwKkMJ zS4T^DV`!Ra%dXt3j@#bT?RN*UwF@o5HfxBB6vyYQR$8#mqa?glIz5M|gxEwsO+fRF zQSS;ph*rBSEq^|baee)sis1#Z5mu|ALtP0uo_2+o(+@JIVKV;-ms9m%_EDZ&yMhGL zABUo>hfjqQgT1)z>~dN7r%lo?+e0w1Sw*8DNLIy(n^1!EkOMpKpZoahEkRTaiNp?y z=c!dY%tZY08lig2RlFj7Co}at-H$3FwzoDCydS*b3N^>T%e?DM+MpZXq%(<%w~bf@ zG#gyk`63%}4yQ)#T)cUQ20y-U2L3W$gHQ6@@(pT*<+oH&R*N<)@IK0{ympk~9j;OF z1`=yjI0f>an4#Di=D^P^xwfs?l0Vx-ud&%gY-&hnEEg2L-M|R*#W*PW$7Ja{|DX1t6yvg=UTJ0(1-hIS*UK8h(IqYE6 zJ5DoogEy(`=1c6R7&}=0V1Ntqu!Eo%5_X=!ew;U&zK7NlTj}lvnd4@n!Gbr!Kv5^2 zaXt^<7_Uv$Ll&_es-=SOHYxJ_@1F2${m*zz>jCE2><}u3I$~osoEH+`j73@PkAxhb zS=emhF-H5hB+4o%%5#eii-+Dv)m-aa4$KeUW7_Y!@NunbV zEw&ZMhwqTK{Xoy(i6%DTsXiq1*q~{X#QiOA4dbX~mW<8jKd5VwLG0jWaXsktf4L50 zaZEpIH0#(}FIyqqM8#W8Z0oymFcj#8!kX2^ed|tPM!gQhC3=3;5V7rU6Cr1-En1nT z2L<|GnE&08@BDaxs$VxHc|FYEJrZ1O^-<5C`tbbld#3o{BtEN}{@;uwHniFRg8FSx z@*(jIw$6_@bIVof{D)CgZfV4NMU8|IM}1T|&H$8V_%l8b#9JGwP%!|p&Mo4avo}3l z=?fcZ%H`O_{rB({TNkPx`iXV>{T4Tv@zn>5-@_M_`MDuy0nxAFE+ zA1Og~TgATp3RT8!(G=cGpzjM?6?tw-58R-`c^OLl<+;%G+W`K%bUSVdze=^=xx_}B z+!d76%#h@&B1qg8$)?xdWlHzbbC8pX)xLUA2ys2dRfL(tcDFu8dMTbMm{>=}TS}}- zT_CuWUgLsUZ;)OyW>;!h@x5cm27LJ+&`E4Wy&i;5ZsgoXI)cSMDO;EJHFow$p~|&T zmFJdeu>gi=I3n05&WBDqbFDagI{(;hI#s_R#Di0trmgJ2b(bdK%t!PZ z{&r$>qQ!NgXF9od{js1~@GrCS!Z^NZ*Dut&laZP{x9-1PA$8j$F5{guXg#uE-S1t; ze3S)crx9BkC7zYx(!phJFofn2s%-cRTPE+vLaNRZh*jw{hQJn8WaMiBB^eAmrDr=X zd`*9QEg*LA7iIXgLj_6K>OsFw1QR${n~nUFewS_`wry_!gk07|MV40Z=ye&h{>&KO zKXeAw&UDq~xeaw{gT^l(xo|f#&}wvGch_4pYwhUoMl7+LXNlt$#oFk=9euFz^=B<6 z2jl1Nfz&mQBQ~+7MbO%8gm_CusBkclKAQTRdAk`=^^i+!veGKZ_dLoK$)>`#A5__% zt!BJ}hb2|Njl|||I3)CTlycgY1~8%X4YT^64UAD}6IHH;hCDZeePZAK;R~+ej5Fk3 zl(28yU*j|f1?u_WN37XVX9yY;&mSrt0ox9h;-hJUxH{`Bm0Jw4tItJ1Q_~Mzp=>6w zo`!7bSv7vg33@NZY+~~l$3xkoH(bM0KUnnc98+aKf!|j{zw_1;Tb*DE>%FW|@_BVo zT;Rl~EvO23=t9pKQPPy>rX|j~HT&T`m+Wp11tE&;n))t0GI%9b58lK^DIf^xU{T{p zWze}^imi?*^9xdZsN7Z(oBsN}5ZP*n{PdKecJUAR{)T*}$%TIYW)kZ$I2snNbwO(@ zv|#OTH}Rf5@9?uZ!Bn|5#I}n2E>`?%jcoR5g7fo-IQ8fmDfTy@;vFWIb+mx!b2`Z1 z$`}%ld$3jWVsPC;H68E(*u=@%xU$}|7kCza;Jg-!c=8i^T2cHR{tv#}hngUaC>KGM6DzQPq zZ-vYaeO$pSW7vD}Bh%2;F5NBqFaHB%#14mZ(AnP0rKLK#yQkcn?*SH%T9mz6v{W(Fvw!H{Dn6BGzoJhIrn?2-NpU0?Vs8sk(bL6L!Ci zD%VO!o?E22J~(HB5$bExg}l98`1~mu6FVw_x^AJw)+Pi)xMwsMx?={kY_wyUrhbgR zqWhjn#Cm5;1Ac|LAJb(wm?aD{Hp=e&36EV=xy8h`%r%DYmqsZ57hM?it-+ou=dXEu zxI{hsI*1*P?g{*>^hNl~_S;HqlIH`#<;MqH+A%Xo-=M&* zt@(jjA9j_BSE47+?Zr+rusvJHInHzjUA+KyLgE>$SQ$Y!k8d7Iy`;7zMPA9U-0zc$k^~@H~@MkxE%Di9EMhZ*AzAY=tbIsKH9# zM!aOK1M~V$JZ1ffbximgI(D7oPU!nX;gBXP`Do2I4B1lcY(24IgKa_(tAbkBXn~@b zzq{!lOwz^IRJl3C=3h{O#C}t>-cbz{hGyecMlH;e&H0qQM{J{!8I*i2MLE)U!kpR? zynObU0PiiTR17Nm^4ywFsDkza;4aQ`h5<(hHZyLPv{!@vPT)hVit=2@I&CJNHzV%h z6n5p>wx#2F>9Ujf%eJ$c*aNS{af<+5l)Tv(q)Ezb)w&RBpAzhOiD`8}XXkRAUQ1Cp_7b`KtV+>!y_bL~Qzi8g!~yp_HJ{ zLj2BSvMmM`jNQO=%6b~e>!Ch!3&m;gT(fRXh7EU0F;#WuOMC7gX<3{F!i5QsB7$MD9^1!I~W@J zmm#;!z2aKsyLit_9{>C!-Ped9)?Q8Ab6|tOg*drDGy7)*o#U}gn~8+^8Z%_l3aPIlSTzIkU+QJK4N9j?4`4afYG#95l)#I;S zA4BD4U`p<{=ROc-<%rfxOkqQ$A{Mu@<lzW*X$#Mzw7=+`s*pFZN^K&ZRd}1{wkA&JXEp)ih1kz5=WB1M0 z;rS!<9@@>srWMQs)_N3jY%~LxfSodDZ*RUJ_z)GZwwXM)XmNbE+QAd8HXRgVK8kZu z>RCp02|cbSB{sfgDzqh5ay>Puj=_e3@G;vG=~w1~+jWy?ea``nI|- zy~( z?i)Fl4>LSL^}*H5<+(N7oCcDbJ}zpO8>kuqTtZgK{C+-v;?U>l379O|q>4z^weXg1Q#b#AXj$gRQdxih67S zw{$Nu1(}H7=blcLoAJNa%NZh+3{ZQsKJZ;xvi^(uyu(~6RS(s~YCRM0w}T(JPOp)W zZfe7}R~zuQ8@{Ek@er}wTJ0csi5^N@t_SPWCNb6GyjQ=RY}uFX%*|3>4=(v1gud;r zsOlFLSbU)z_bQk&lgjDulaa)x@u6^l^G9a0#cv8b58rjDh41{nr8_7Y7X`P{#Hmbd4aQLYGKKSa4NTcV)OqK_k>zE z0_{Fv3ac}%*$!Ph-h2{0-_zMjo?HC=QP8O&j-gC80F_H6(w<3XeBk>zR1D$7hW{d- zsc8&cS*$J885y#@KR=Z&-130B#`}n64~>J~npVzxkqZPjnz2i>hj3EObm|&c5Su#o zlaSk{jJzTxuuJDA^X;r7jBaobRc;Tl+r)h(8rEFmBDRc!X#*at&iGX9YO{l~w$}38 znkE`R{y`Viy-fkQd4_zRh8DKEC!uniOKcB67Aj|$qNMM|JxogqWa(E-_=pO6K0z|E zwy_G3^T-25%oz}7zd4G-i>5I*ZNH~tC?&S*sVWp?yQ0kWVIkq%J$xkeB=aPJrEDj$ zp9W1Jak2^WD3w4?!v$<%WrV-}E}F6yHuBu~oGrp|-v_Q?a8OW)nag~&`7Dz$^A2T0 zh_(Hs1>L7EaD}F>;GZOA6YrgtE!|JQi)9P=V7Y=iq&bh)z#S2WvB^SPTKfND+JF!S6-jh4UZ$UBU@NMd0=G4V@{OnE` zRj$!Ud2TArUTcK&mv*cj6}tSh>`a9a!VQ#17KyEOl+=xs|-qhxjvUsC~LVRE3Ij z(#P1#3=YukmnF6@b_^t@_HlkQZJ_0jD%-qTpD$}mr|$VUVuOxU3gL5aa3_2%p+8ZH z4YvP@IpINn!^L{mmM{dID=3drW3Cy_3qVk=XVnO5pOt0WRdbvEZ|Q zJnP@tEbD)Cgt8iT^4zNS>Vw!LLmow%aNS;?&%IM3wI1h3SwCXEzaIhGI=$SGsRcZ* zf6w^(&z0u3rBOD9*ii9ogtEg1Xqz}kHm}D3zuVQt=%3y|*=%AL&US%(K^0~HApU<= z8?tY*9^ujh_0%=4C$=)j0p?G9!PTib!RaH8?5`^u@q(Bbs$3;|d2ZT%UqRLPs>sdL z1%!? z!K#tq&snmA;=1_2&GfvLOkxubqzQw+{>z#DrUJSf*E51Fk7?U_gNnC?*oMUupshoK zqFM3m;RX+;@bwhlqa+P~8N)EK3r+1I_>=ez@53uWLA?{dYW@Y=ET+G`dN|1IA;!%Y zRxb8Lx$m@K>XUpt;q||G`?GCSxyy-Noofo^tF%y%j}cV;;>CunI3z1Bp!;Wsi7g44 z1V&w6$i`O_`lnXo%DF21m2aJ>ax01L5AlU`XHT?wv=#&&ua|YsbLK~v&ZX=Cu{Poy ziA~CuDD%7?9QRJfpOXe~`1$jcb#avE=8P<$-}5#XHbb1#+8e;0Jy(sZs`oQr*4Ywb zi+9^VLfv>YpZhFS^6fY$)Ji5f8A7#(RAQS)h~g7`&C^`R+TY-!YG9*x0l%Nf~in4N!*`{>l2=D1N`0BEqLpHp;T`6 zPV(GVc8PmF`Y59;&IW$|u9KcnsSyUy;$1|iP;#6PxD zb~mwUf*PzZw?XCI%5Vzua8JGwv*oAtRGpO(o2X+bp5f(!8pULzcqtPquUw&>q$(V z(se3^P-46Mq+q3(%bA#qXJ!PsvYi_h_)UM+Q`aJiSRcQMP`~9Z*TmUFYM3_L7&Mv> zyBSM8e~XEAJA6%O68A3|II9dX)4QeWQH@MhcO?}=2eFAI7X&MZQ(V3{$2;)2B71u3 zcqXvsG-XXj$#c`r8V9xRMo2nJ{GPfdO*(gzFQ2=NUN;j&tZ&8`03&mB;*}xfD4q1r zP;=*%OtPsu+f1zYcOV!%GD0N}hK2U9EZNS)dZw~5gNmV$*z{U8a81!dDRXoo{LMny zlU>)D)v5<6+e&QVMkVN)B|-BmwZMBYL1w9Xm)Uf!j?Ndhwem8;T z4$f=^`@1x?hpylC#8!rQLHRWmRHkeTPu6xZN=~ErGS@xS^C5@W1Up|ycAS8GYcwD| zq#pnN`7@r_@+1E8d3KLjXYreEftfN2U2F_H%MLN8T4hZ8rCh4cR9xk`WodmDQhuo9 zqEFjG=@vb9x$$`ElK*pVwGXiwZ(SkiOdr>DK-??%h!e{XY4NR1JXL3_iCvvED5SPO zNWh!cg<$bED_%5#jo9`b+D zf)ewGT+1#ykjAL9LHQ$O_VWs<7@~-E75DpU%KpH`IaolkvJ0ya$;mRF4pQ}yPV9kR z33R!rB8jzlX5ODHt8h+Qv1C^ZRc;lrepOy@BHjTt*lI!N$mKY~PMhDgIEKn?kXRWw zLB5J33Q;u$dxbch_uCJ6`GF&pb#;^H=DS!AY)+3wxpRkv%&6D6a_>3m0l!aFyb;9q zp4EaheJ_;u=%e5pp~oi${#VgAn!d&di1k>h53a$Ms3%MlTH5Dhjg!-4XEHZax$(rN ze+mN6@85DIGhIM`!!t%n9Dln%MTd&Fk67nVZs7NmHcE~*g>YU^x+G>9|A)6bWgXq+ zx#fA7LG>XIRQ8)9T)l70t9S3jz3=F6jthw$+~Nr}rS2#^Ph8*q^8>ug?In&?en8!C zDa6X|xWjx~R}@^R1smQT#Baa4hntJ&K36%h5jz_M-{vCDK2zMcqfCdbY`ZK)5%;Nj z=q6TUpF5;4a7RI=BOukI0C((BEHHdM+wxf7k1(AVk7zGzm*^Xv9f z<%SX4?b9OgFBOnkxISDMJi<(J`;$p{b(^v~h+Wx zKi_|eReNXzT2qYB?oLC<79Pkl57kR;HqqZxUl5x)RU2~FsG$yVzrkreYV1m-3}!({ zBo%|%Sb1&=Ng%8a>)Kswx79HUK8Itvg`?_x|pM<}BP8Jc{FP^DcU@!`4?-lpH8NFKE zpT>$=v2zp^ZyT|_e~p634nq_ZU+I3{tYJ%8<01XZqqr#!bp@tgzg>DFks*q<`{ z@lPD#)F?glZVXj!AhEqW#r?s9G?B$dbFg00%rvUo@D9WDd)6jmI|loN^@qfjBMaA1pY`&!v^uPJU*{h3Z ziGS_K7IG?lq-H+#e9#^z&nBChOfGiL)lnjOY25~itPwwl4uT26CN<0TK4=Szu8o7r-?;HrXVTl;LHx# zgLA|LHaYe`*&nAk$~F*dQK>KP&G?)PTxbWU6owgvcX~3Do%C~E%}btJzsnV2$7=?) zEUOjVrys_FPY*FWue(y^`V!l1%82_$30zLUCq!N{VNZaB_uZ>U-N$Q*-5h8mo~=3= zb*2spjorO?sKNnX)>}x`Ll&_E*hrk~ZiX@|M?jffJ$B}nF`@VA=UE-G9?lNX^ynqm zW@8H-;@ItXKHYfNENd!Wh4J#-Y#qdPUmLZMLAySDs&Qx2tZqnk{Vq_}i`b^Eb3h|C zjq9wN3M*%rv!9$)`4Hm(sy###t9C@(OVQ{R7x7$Ndlu@%cD#NfvzU30DmQ~zZRe*# zh>8v>Ocl@MuDB~T-*%3PGN#9pTOjNDOEEjzr8~lBdieVqI zX}=T+MI(byOF9;A|C*22pWDm)pilR!D~L@I_iN76RYOZwO5m(zJA=pk&a}JKP%-on z+uWuBo!gz!=6A}Fw%|ENMpjJoW_rIBTOWCD22)2t>qAGxN;JXxWETFBYs5C=ey6VS zTw=}IOu*!-5h`1&3n`YlxUIxNYFMpEjV&e<+xzGrq3OGgoLizB)b@;KS@XO8*?-dC z2}+3#3Y`dTKlX8R6P&;!LWP~CW6n>#>_p|(Ni3`WSV(^Im`f1%*-HvnWaH)8ME=~S*BrRHC1j1vHst`7xFY*QEbmg!P&VM&yRZ{ z)q6yLgWg8$+)8su8=8PzCMv*pGZp!uzg1-Ww$SsVE)sk1hAqTB)<;FG0r>triOHTl zjh_%KSDstrGGmBqG(%n^bwTE; z!RKF_BD*=$fy!+fu_jX$AuM1nYH)lg6x+SVZC;VmBK|VfCKHGq7^?=!HVBnHc_A#; zRpgsijg)pC*h{_77ZBU^Q3qNl&P2UG{VfE3tHFD^{BbR|kELu2v1UJH2)n=6K%F-} z3xQ1q(#6xRGsQ=Lr{dL}B+t#m&;>5Kn4+2lW3ZR)mn}Ks%NOjDQEieXw)>2@ukbx_ zE!R0CnEcxwM%FW#-*@#4W#fp=6xS~0-YntN#))U%*lDog<}(?;eUGRZa*4H762Ci) z8iV5Ww4iUZHUG5q7#G+}WfN<}4GGV~qIi_f$4sQgnl=U!}?N+;Ycz!^NGNs9e<=CcQe#M0+^${%Z7o zE8fIbzL_BIlm3Ad=W)SZpK4}b>1e*?dK^{mN@BBCnnQZ#05^Eg5)x0Fu*%a@@ho+^ zUy}L1F+6gH5^>+=YH_aYspL)uDo64cqb#X5SwrmqpU0#SUcg;6ae-~W__AK}C*f_g z>G%0zV$D3odDVXei~B#Q!H83ru*U>d-gtWmb&Wmz<@Mn0{!z&BxXGmti}Op?IIz-0 zHRiPP&s6;`C$@k7PY|_vG%``M1J9zd0h`2iGdeN!n9pHied+_CpvDV*63?rfyV?ia z_*?S-mPb-CR1zEbR}k1MBV-e-1WzyQ!TW=T@#!vltZsl<|F7mjwccL?sitg@J%mIHB$sbI~wc`ei#?LadSYdKjG8$oVTz z26N?h#`&=uZ!!5cb&XSrEp0J@{`JntWrrFJzo^HlGY`lXn!Kf~?0;kUCJ^RtaYPm3 zJ)aY~P}b))j=y=GzBhY`HQ`4=gsLstU8Dy_yMDs)c?P^s)J>{fd#OCPB=M}rZMlXh zZ>1)rwk^WfB}bWWFWOQ6Z}W-GxpGG+^JwQ}ON`+7UniJLkw+Py(e(Gp-Nc4%SOY^k zMyPG93oNu6&%|wE`E^shsOwfn>?U9FT)nR(Nb+0@4EkQke*bouN%@m5w~JV5gE&Wc zlRBy`66XSb?aP`uel6=eK!4w{V#vKYMIWlayU9t#KJB(0cC5jXN!UV>{$?Z2R{Edy zdfDRHN|^<-IM1&T_}%nir)HkPr=|x}?KkOv%N6@ODaMmg=~D5$+lUst=erB|k`w(t zR7|XG)?K0U#$(Pb(g?n`{g2rjl*3flw^QYI5L<6A_J8x;QHt6JAujMa4%?M+jh}Io zx{pm*dAz%wH6h_*2UqvUNa#9m#`cbXCW|;jKPSccp#PJb%CiZ;J|2tW4{5-;acA*V z(=MEFvVm$3n~AOdM{Hj|=^*+jztQ?8CItzN>~1ImLkWn-|QxZw{f#jVHD|M+c%pZO~eAy+40H z9q(DVgOMyPpvui7w(_6}yogamTCElkwR9qD+c51K{BlS7%turG;Sn@)go3!JlF!-ODblr|}rhup4Tl|Sl)qExNFEB*q z^(xT$;KsF=sGDhPK1=1cp4gSfCJ??~4@u+oV8nw;M)FLJ`J-$dWpjw_4UUER&+c%W zhbF^f+{PSk_2lzCrcm{8kJzZKy1<)^N6Ab76N*>d!tCl|{~XmyYHUVjiafXFe)hCLn& zX`L#lFUJ;kecQ+s1-kRLD1(aO1hFC87DJfR00)k4aO%iyra01v|LGO|&8C)EUiq!y zd!vu5k{N(q`zuD}-6AGBiLT#I#8z$;ze8O%Ls1ePn18ArD?D+p@RL`SOwU+@uI% zi&b=C$jcnTA{~gIR*m&FZ!^hjv#D|q5c_Gmc<#gAey(P+1Mt3P>`%6j@Pnmve}^a5 zIoB3aLc>wV(>B3<9MI0M%W+X4qQ!zMB zljl~U-XmmndZPrt9>IKb71nC?V+^|9QrCDPu{rz1@$-)@T#@xisOKEmpb}FY5tUAr zn?kHx=zl_Z*8?t9+!wE^O_xm_v|)ODFlEb$&9YDx&m!#Mc7JUOVOlz@roj|C5IRaUn7w1v_=*HAunZobc z;8s}IGw%{EYR(wS}3kB~)26j0^9AU1k~7MwoggYswg2``kpv60S6 zX{K>C)ju-}lIPYWp2w=Oax7XR?%${RQIQX@{s-^y$fRNjCiY^lxF2caF0Q@73wW73 zYxU~AtbZ^4j-E(tRJji{{5T!8cPYTF2pRrY<2;@-xPU6Rh**`I^I*8t0p;qLgT`WK z*-$XU7YHAyHrYmOpN$*%j1l{jpa~88Z{fdvQ}D_C>QuP~GvvAT*cn5_vwt{egOSkb zxR~9)`!H?~x=YnrAhAlzY$3u|Jn!I{HR$?GW9?dR;Fc`I{lHW5zjig zYg z|JXKhpUC${$C<_gbAI@brBwaK66-DQb@J)97Rt~ufqFEB%~nw7=YLPHjXF(i*@V|Z zNPr5;wA2Fw*R@P+*cN8fYWg|ZKy1361Nc85kL2|7sZC{*c&izcqtWcHL)STd4g@q6K=hp3)u4>tkq9id}9s0 zZ_*I4nSVYNq`#@5%0?Yf+_Qt3q;Z~E@9>x^*KL-(9tKb7fX7V>q?@J*2Dw}D;@AOSEw1}|r4IR^$(N4P#0z7psrH*jtkpI%NQ^T;MaOl)=Jq2zDfB+R zW)e%q0K}%h3VKLi+{7BY$vfL8j7G+u80ndGyr=u zRrX@o7^bu1I8|pBVe;HE740EbtBb4Yu>qx1dhD+$2XU_}Js&)T*!Y8LU=&-&CDhqK z{%j96_Sc+%Lvb6aa<>s1`_L6EnoZHRv4)U2xkoxw&hcw2_fYX(B(_;R=gNMD3R=+&Y_gh4x#_UJ=`?Okx^)yNdc0gyQMu z$VA+4rS^vsS^H}rzHR$1Dux1L!?*{6#&8e{lvN9H@z-$2ALE$ohb2@DEyPMrycJge zq=s@&Yr~%S-x#~^&oPb{>HAH0t~|HF9e0G7`DQ2v289&vv}{()8%Ap~{au44w#@gj z5LWXK*P>j-mluvLZt&`9JTm8uR42 zsazB1+*$^prp8_&^gBJ?YHO+N#e-t%e)A(%ZLKTtss_kP{LU5RT_UY3_=*oGjHBX> zA=V216mo@sxIR4{2>p8-Gr9C4Gp(hPs)uZ1`)_d&GER2V_J#xYr?(|lfM*($2s zdSY$Gy`Y+IC2-!tWax7BVJB@Wz&}jiM3t*FU!I$@p);&>7>h!8s)1v3FE$KI#d_b3 zpvv_oR^^F!mVA)|I($+E20ROJThOIz6Idn6t|Zp?4{<)5wlX?#$pkWe{Mn}UAEedd zcgioHC7Hxp6idNpsv`0Zvw=zCo^>9#5TDXeNA;C!h&2)W$fb9!k*AhA@PQuKGNgh@ z44~glhlySP(gkeuqS3`ukA(W?19-h{JPv+E&u#WtAg_no+y4nF{tn20^G9Jx$7K9` zLpihSxIPu{a$?oyYeR`RK2$qL0x>_`mzrjtU?dk3sQ>xH#I~)s0nah6sNr`F2tA#M z|JrZ}Yu&G++D_&F+6-eDsP;uWDiuLIDIUwh)p6^U466MO5bJzzEVMs$M{VDVYwhnf z;;vv#emb{>x)v@A<+*9UY!t#H+>q^)e+8p`hw#UY%goWe^c;*O#76yX1NKHb$mX~y zcy(B_yANpa?XQkfF{Bc!F>wkMIC!8cu`koIEE2DNZpO>@?51Ln5u5q=qfmUw5=DPj zhOTq_a7ykm#wUz^-|QteWuqtL>~G?hvB&yg>JwCp+I;9j|EXEaT2lh+TtE;vJaenjW~X>S&ePV)#WqKR8#G@m{`yL zTA`)9n6tMO=fh}7SPM5r#z2GaM|BVz_mu_IOxH&*#C63@5*z$|0C*~~C@@tSqKj^0?MNlQasOYk zFXL?`)=cZ1;OY>BN}|hzJ?D<%Ls>sFJHPj*uA5|uJU9FAO~o+@1%y6Y!Hz%2uua89 zGG9$SDqcivLyjI;9W_DDf!d%Z;qZb3RZLSjeJ$dNWo0?S&^M;Y^Uq$vEN+hM)Vw;T zq?jK2$|JVCLwv_`GDY{2wID3z3f8KO;J;e#N5$JjY`*0*F!*)~I#8$rTQoE9X;#8J z&09#dU#+j?xn)~;Lye`gI44IN?wvHmo)>)h{jv18sXwtP3O0~?%o7!16z(< z5nPq8O_jTz*pf@)T$G<4bI3sl-v3q3G>q8K*sId-Ejh#{x{ZLs%L|eJxkrMH>pNUO zv^QXN@=od+-y`-#rX#dmyUw*fcLSHllUW>n6oXePRSzl=^4z-eoWRIhJnOsI2u_XR zaqR~e{@uk++({jm{pJ7@sax{GB7bNu*!I{hfSnpo|~Rgm`eD%9WbS*ZS$ zgSRWc$2w0#D0_m~me}R5fY27Q20C@ zSUNEkH(c@NW50Pp-4{{BwtW!ivyB(mbxhC!_Sx6c?2J>)+aJ`Z@waqhKNb0k=eb)W z-veS_F2or3dHC_QTYsj?ts*w@!8lMGIT_jHD~kJ-4dFM71Z>{uLe<$Iv8%BqY?C;k zpdt-`p{JNxUy8Xo(<$p3DbLMl#*ok=?j#WWjWN`hn6Td@>|!cb?564=g4kF+O(=W+ zfz!4!g5EAu)<4;rf#Q0~9w1iXl{nVE&=1A8cL~0eA7g*-|D;6)^x7z%*ytsJU@}u3 z<=5K7+fn-%{={hBe+5g`Lm#nx#284BsG{Og*6?xJD`sw{58t|so+InHOrD!#n+}wH zKO4Dlt-|iJ19)|wx3sge?b?^mvxUSWM{(`huLrq?6XPK8^H{d}!wp&Y>3vjgDa2|E z3*Z3Dpu#63py~4(T$O6YUwt-{s^4;AYooD{yUrS=7xfF7+P7ufBmZK|X3+OrH?b<8 zr$VQ61v1lnF7!;Q#qK^lp1IhAD%WPYJh!^3}7TqiOK@!x$Gzb(|`-L2#Bw3qaE zxkO_5gIPj&!EP?~fgQAf1{*oXp3!<-MP1_}VlV#S16BPK(UL$l2oY-Vs5jy>DxQAN zY9ltMMgaGoNY?n~1I5Y7Fx)e1&Q|?+A!d<70gv%9g9_ zqW%N&iA{NB1G{Z?knI!$aMx*O^qyDakK=u*a+`@A*sKeMiQSySQE?9^J43d8a05o8 z&QS4ce-qXbPEuR2kF-pj6&hOgCPc6QgR8c+12soWHbS#QdOGham77|$Jh$4dO3>+Ni6ZqCL1W&H zYoAvA!tAZsKv`d6i!N@5rV*-0OKUu=KDU7}`Dy}x{wMlby_VRxRSuAtJOX7O)&~V2 zA2zj4ob&(5kjgEKSdHJu!N6^0lv*$n_JsV#EELZMD_-M7**ap`cjDMz(F3mIFFP1m zG@312rz$&Uv51OSVTC+5mlSaw*(Y7pe#aQj#Fa4}*`bWjdiolB5nB^F8LZr0QRFOb zc=dBWF8}PoTV9}_QPISv*66~C{W@sqj6N($9K$wOs4$a_eW@5Sh)o~7DKx#i&K<52 z_mGa&V-IitiYXetMA>R$dvZC*JoJn2y8C9;^N_joJu(5}vKMYY{l0IB|a+f&~=ETpmS&F}GzmddBQpP~z ze+H;*stGjj(80Ow`h5M*^m8YT*vQiHkhbDGE_(z6NlG5<+pFbxn^Kqb%W{EO?X&YB zP^FGrzQz~aBifijPZz%F$xiA&tDo4)MJvF^+6k?EB%aZ@(?{Aaox~rnjicgqUPZ3) zf^;F?*BcFAs25J_hTy}pLrmM*gH%0)6Pqu-Z|{z_6#w7UKqb!uZ=MmsEFSotvipc_ zOZXsE^giHDw~KrFR;jYKO3?vJ-ZWCSg4mF@5J=XOpdEJh&^1<;4Th|^8K@hn!fRPEj&W1xU!7Y`*<@l1W{m>>oepTZxhAxFJiv2;TCrog17%Bz zP4j#xc-B4Ue7g)`@U4>g#xRX3-Tx0&51qtjm3|PC2E{u2N!){CjU8L^`GmCf8~R#U ztdZwtaoq=8QYWF1Ky@e!xQo{f-p4)jc2F^d5X)||ht(D=%33@m^z;8=*9}YY6(cpu zZX-7JnlW6oQ$$OCG={2VC3g2Y18j7No+EIPSkKglg3&~8q`l;YF#XOkT(tN&^JbDF zm0LTpt3SBG&=^f5HL?NSV>WE^nvwi2CkbVZ*2;71PF@05CnHd6vLaL$oW)nu`|+-i zv#EHe5nJ%V0Se~1BiUjlSRSIt|I~C2PqU=^B?-iaKhuWIQ*BZBb~U)e%CMh}JF}~J zIu%0!u@UPHfWO|%NiI7=-wPLZ)wYAUZ~;9&-$HEupVs2MVsmtOoIVuxF2??^9e9mt zyQp$?*U58pJh%!rZFfT5?js>wTTSX!>%+epLGPu=5*w{H5?XHk%N;)K01Yny-far6{{Dj*s-4I;PB=;37rDfi%(jQJAMbFLKaPUU&J24- z;U0d`N}sLNNUTkm4lK9nnqLFf?)n;)$yn=d;?#h?)*&nEuWZeK}k$nc{62Wi1priT8Qr$i(>2^34EVB z-erK9y<6$$PByXqVgHY-dylIr`ya=jO80xGd%8=Kbd#jc-e-vkO+pB{3`ygXrb%K< zlaLUSBuSDaiD@t-b=Kam2}zTrAx)YjNs=T9$#;K#XT2W}>-Ycju^zA2TKls0+Up|B z@AI=qH7y#T|4y0PwYvo$7~YP*eWunC+uIxhxx)V7-0shOwfUd;Lh>hk8+}Jv`3)w;9>gLaF+_@VP`;%Z$Ze4N>fIgB<*6Q}$_*#B z(d!HE7G{aEPsu}q@htprZ9AiyF^4KQlUOA^5Aah~N7EOY!qasvjA5)H_pm;L>i<>~ zD=)0gbzWqN%I0W5rd1)%*tHth@4rgLFhp!@qc12H*&)+s2B222fW^_1xvCpGDC-<4 ztA{k(@nCN;76nh&1YPw?Jn!Hu{3wZj%;s;N#e=-rx98iM^wx_X0svdW2oDWrQ z8nGJZMnPSm&?oq!2aA&4G8X@Mb9*Z7sd}g+R!dU>VowWm3_mG?qjfkg(OSc-UoeKc z)(42~&$!H6l{g@;McusURgBcA^8!=Xw4W;1VWTWJJ+rZpP-}`(B|6Z2J08cKSK(eM z(PPDniA@#uWT~02iUQqDU|3y^J-YG>uH@6Hwn!ni^}Plp?>;SAFgPBDmN>KZujb*8 zrEydYQev;@>B8E{+Nl1kCJeO9VysV|VGiWe|A%^sP2lW=F>_^Pv(*H?=dLhov&39G z%BEtliIU|er}CAz_clN)LPrY!4gahVcbG8;7SjJ2f{88svxm2#-kllVU0XnaM!Tcv#ZWi(5AZLpo@=%t8Dc{}3 zhfbcw??dQuqd;PtW{rjD&GyJ*g$AUkJ;wjVAHr2r5LIUh#Ad#90vl^pq;|**jP52e zDoWN|w#9dpy+rJ-g@$nJM=c~0*31>ZU&u~3bHX>r=uz>u6WjjP1?nn3OPuwrLG8&T zcE`Do*!3>P*F>&_#PqVbAY-I8mO(Gm?I!;*BBJahyCPpS4GI z=Lh)y7i~B^-K&;Bwg^*(TM$%{I2R51Q+jU)0q?{p?CmH1(zcISJY_xh38m*^`w*L$Z4Aj< ztWaUJ63jWT#97@tCM`Sy)OSlHvBs~2eZ({lOX|ZWKVs9zpDi z1G-R`>yEoo|7nGEAU!S&jJCMQ1Leoc{kdOsva4>v{V#nurVN&D4eIU)CgJiD8sTJnx#)J++d6!OzC89PFN>hP%H8N&K!DvvS4*? zeDD>yo~7cwLTvl)_k8y|6SP*O0wr%oV^5(!J6uP9J9Yf8+>9VlvtQmJIz%gwf2p~{(>StlinWh}doNWlge%EYhVvo3txk8mICN{HiJXFn* zL&ew3z#-X)RqS=)%rogda-)d#x<3uBrdc4TNy2=B>*K_+>Jz#9kLmxWdBlct7T{!I ziWIH1q3-uvxJERMGxeeS>kY)pM{0xJ)whzES*DN^=*e1HzpI##97V;e^s6j4?*qmV zFnKK6+c6T3{0z7|FITEGP(<6RYEOfLEF*oM%}t2Ujaine9#Yn1{mIgx{81 zORUC=7rf8WMv45OG5qvvHhN!+$`1Y0GCB8axJXdjQ z3l*;$vH81Wph1}1ocX66Bwwu;$F6YWRDWP78%AujF9XrrHBi!48(5tyW#V&YaFMrP zQ}<8?vFrEgK!(H^+1G1Al=WlWxI{@>|Hmt;eyfPJ5YAL;J*kG~3TN*w=A78~zh~l% zx3?+#iP(tC?|7ZqE=hm6Av9l8V0)bMnd#N^d&ucGSv|C@bc8E`U6S<+$3R<;h&8^V zDx7~|P1Wx*Vh2(^;bEvgQgSwc6yY3SwGLPA%h8!sJ){ylbE`7+6e}UEIz9M<&tm4> zPhu{*%2WS@f!O>(RTxThK*=$m_z4#Qi+Y4@mVaJI<Vv z9dH>j8%LI{<`SN^Pxl4{oksP%Rm*@RGg}irn;l_BKdoeDde%`^v_qDg zgL*J*L&K8J8&0tCLM=1oH<5GLL+{%$o!G7SRe;NEl{BT8!2)$JmfgvU4@~Hz%8eto z|L4E>!io}!ilRBBaUyoBnKu)4n!bLEh!y{03b8*MBQ2g&Pu<5X zu^zW3gWU~%)UT}zDMufOOLYyoscYn^wumOS^SV87hiWB??T!$BeS_=nr->5VwBS~{4fE@r z0%lKxA!R*?Rr|*nvhuW1*nke)dDFm*oAx`lTT1tT!--9@*MQ>dUnF++hH!Iy597H{ z7aNAq-vOD#cDxnVAR2s>WVo1t3LnT;jH<&67SVg(R1>>%!g#1V_OGPilr0q08nSy| zs|n{Fv{7RUL&OF>9^)al^2@t=oi=bi{AT~KuA7-9VK}cAa zKeXt3HelmkhY~)F0M;|1!Zp5^@&1i|XDudnTY>}R8+xK( zVIAip=kwTAp%A}spyv~$5ZjnM6$)1g>!@Z5@y1S<=6ns}@`jVCc%{TstGg-QRjVqs35 zd$VNk<593}j~VMS?zyySb1K!wrNj;f2&|!${OlAlv(+YM%=@pO6j-n`Afux zXt(eUb}Fc`TNOI^K<1at`AnPT7pmNLVy)gi=XLz$QG2p*&0BagCV_hyN5lJ+HQYyX zGcpGcV{O!|EP|~WO01*SM(%9F9Lo9=yMEyZ-ZVlNr3-uS$}#gQw!UMTqGRVNyOmh2 zB_b&O*#s?qqXIcoBXM-1HE~#{XGif4#&pYN%~c*r%-OFXj>MWn!Ov zrs`L1zbv=V8!U8eRz^|o)^IfZ5EK8%htnEaMwRPBY>-wTuXs62BJVBiH!{kcEqC1` zF6ul^l^aRyr2}?gES%4f^s6=m`|guY@=U`p{WMi)xx_Z-nL_2z6G?ow9asb~?1D8* z@VwNKRJrxU#xd2x+P<;ExaTvz>un--|MPdIzdVDoiU(x5m8;+5tt{k(J*m}T>yc&5 z+m%JaY{Q$B^(0mtEBt3E6V}?l9N_njy@SJyj)=cZqsQVSi1j!rf)dRWlH`%@;5{9& z(bY5XfB9>uaQjrFHp9I*w{!bSleiXykBcV|8p%Y zx?;d7o_43&VwhMtF9ndU9g8$lKk}xd3vpDj8KWgf&rfwZD65CyiQaH&hCZr%W&$e? zDKc8?R&wok=rQP(#Jbc4!?4&FRkmqDfVB;t31hgw>e)9)Y?8`YNX_Yzpf97L zeXk??zV#Ze*10eKHU`I3S#HUXRYBzkceGwuKb|Tb#_6j*i#0y|M%hqeJzI64_Jj^< z{iF??qqomGm1?Hu72UT#Ky3L%6X;(agu+BG_*PLrP61sUCO3v^3y#=?u5!No_$;(O zqmqC8a}l-}4r0zU8&YlDM{JCZ11Js4qmDm?J@)mrS&RS1a08`Jsd()U$#U!erIL^M zWh^Sc^O9eecM$)#@EkMNF`6oO0kIM1YWX}jf8?>Gj$dzm4cjmJmARv;L)m0vKTQpYZpZM3$nUMWUeQGAdI%ym z^9MapX;nnYKM8B_>PNH5b2f+_7t!AViNvOk9t}=EK9vNP*n;WlQS9kcJ^0>_N>pxF zh}F5K4m;zfBM0X;ey8IA?%ZZ6?Y@erw&)3?d* zhh@2y3;SYk^M52sJY)l+r_)52L18@F! zBh?nI#M(qy2zz-2puy1{{LMLPoN!1cj#H=4N7qZ2<@SGPX~tISq0qI4u;b7J#v*~? z7Vq9cmFq`roT4*`jwm4WG;{drb~V$oavC?-)JWY!vBYL2i~y&aR}w!f6L{V8nW>ZC zCk+gs`}T#zuH0@6iccJneWx;nzkG#lPK4q{?SmEHUXxA4_At7_nVMrz`>2u7cjzrH z-QguwOwp&>SmTH+HxXwEeMf{b8{tfKNAwx@71`tbS^rY;iixe6FN{%W3wr>4RfG4D z*O@J8hZwK1NmRQ<5gRMa!D!WJmUNcbgU;trcGHLwJmUCb%H|OpwJ4p}5We*SR)6Jp z=9!59_C3SIFRh|%1F^j$>>+xI3tEZf;b6cG{N~b5-1?br3#ANlO_mJtSC)54?3Nh8 z8J|HW%WD+Vma9sA7kUvJxz7on(M+fwmn6C0rz3<;C&OXMeb!5y1HrZmTa>zv<6wOcK*+kQ}i6tNvz zzex^?XLjQC`lV7ih4ECo$sLvDwqPy;>=YGLbj%ux_y5e8M>}%qj&rDXb0fBN;UwX_ z$$Cj^ldw*BxjB1#<`*1;zN5+wBi6^_4sTjviAsMO;6H`Dlm4t!&D7S={nQL%^Dlhh zxjFA7`Kr2bXmm9bIm3lXu)RywLlv>%U5PN{!J?t7CQu%oC-s{;mb<+Cd#Zjv5nDLP z6)rCDL_S`_eB{g;>{@pXC*GmwhB{@+>cInqGjHBaLAU;ugGt>|Jgcw?rx#~Zm1}xjmfKe0e?UZ&8(QB#z}w5c#a1(=;)L(tQTKcRu`PMlLVrXT8Q;=@&S#s% z-mI9bno8GMJh638jA8mp5h_p7f^w|Fsa#tsEp^VOVkjXtZ;KW9g$rw#;#6VX?o0T@ zqL;X8Qvzk%h*e5ahMfb#xl!CF-fi|9{He%+2{qbGJs(8bvfP|?b-*j&og}Zx1d?)n zS*1=zob_WG^X)Y`o!AZ^1{8(4tUK>bge#_6Y)z<0_|un4l^aK_XjKEh!tJ#rQ`lc) zL~A{>IDI!0yZRYbZV|DA`;YU&MCa zte^T->gsTW`SrtE%4(gE<(BWE2hBPSlB^y(h{`o%7niKU@#6iIWr;102foc!4kZ?7 zK;-0Y%x!~<40_T)*=S--h5y}&yT>8%WOY~=SAwT(zKtv1(PPm0#CAS3fT&%5sPMx} ze#3G_u5{-{X~Z-M_1t+#Y^5;oL2;`tN*OPF4;-2$?HN{J6F1TCW0f3PZYk~4g!QKC zD8|wf8kV>*rm-`*MF$-4x9#RlY~_ggPu|msz+^_!oMQ9$Tp+Hc&V} z!NqNp1aiDV&Dn!pnY9UTI6$|t{7G4E(buhDSj_|Zj~f9ZVNdmQy=9o+HjawHgIH0G zKKR(3lbD}!055lUwkdHuez}qEmxL2rI%7VBOq_#sHhkhQ8ehQCqZGI?HuSS3lUPMf zcNo%iN0I(YfQ|mdPq*B~`&VzGVyGt8zt0W!hU=r~UBbBs)3lhTv6H!vXWS_}M662T z2R`uJB$TT8f}i_$6OOh}Vv_sgse8ydS5^3<`{$>_h(%(aA#17iMV1bMF%+1fMlj8!## ztydD8sr;O8zhsM2$BcyHi@)HlLlKOr7d?-3fY`O;$3g1BR>_L{R?s$N#`;Igaev+P zqT+QpCCe@DSt`FaLmqLrhk3tl4`!a^CZnhP2W1x%i-OI;*-94`W$J>c+EyHY%AT{| zAf;>yu~K2qsaugPN_nXaR;UykFW2X0?kUFK)|r%8X9W%LTQdn+ZGXeNOdG%nj$g$) z4J@g)=q0wU;4?3paYGWCX$czQ(QIAITi-~0kcz=3PnKIwpF1cC6J2A1m7rGG-{XhF zH}S8h>3{jb#HL!PLh^Mjq?aoEb3Yoy7#zOJlx1;Lxk<#bhX?uGAAdmkPQYi5c#S)s zt`_I2EvDXYrNo9lV`vT~6P zXe@MQE8f1rRqmgudhjQA~#H{PL1bUn#ql*iW6p+yL`_Ns#dE zyH$P^Tfr3L(ZdUsufuL3Hh{m&+e}hMP7-CX z@Sn}x94u#~=ji)b=Zq}3s9%*JK2;M9&(#9g_)p9dwLcio?&nkth*)X8Jmhu#-@1cA zK44M{{yTgRv*sr)%Ek~|wpSZ^2UkgS=1zg|S8i<2d}rLJlS0`7VoPre>v-*jGungX zVZ-hUY_;#T_*3~?sx2Cc<(`WCL+uf&x6mrGf-0$Fa=*TzHFRXLPw zV*$enO02c(7aV-`d&>F{8{%gSa+*3Q$4L+L(Q{^mFTZ$iZzN$kVl6~R7Rm|r67 zMVEX2SF!M)fL%L*9&5`bw!uS~d$8_>B=wCAIAVGB)PFsg+pI~&P*1GdI!j?3m6wF& zIKtkSh@E%yD&BE0ii$z;tSmQnl^19gDj~=CQLuIUk4*jiv7Fgw`km!TZ0^sBaCLz? zvYV_4pO)G&e@MPCqLsf>n3uxZ}LY?YblB({TWu;7P38EGN9>d-{G0B{o~j5Qfdiqpn>F@M4M@H|EqH zT)c6f^xOJ9KrA==B_D8eSdy5a2k-2kF!{oNjzr@dR16%k-3R{VR~#LKYHVNg39lsB z_fQ(+X|tWOeZ&s$(SkDdDJXQ~Cw^ysCk~iWDGhd|=OEh^$#QF6Wep`o&61r%)^JhT zjs5H9Su82`rOI7EY+bz_r09-BS=FPU>4FjKk?FvNhSPJ>lZh?ybq5>aSyKO5ShIal zdL#VhL@v937yh;$%80Ezt__8!>LvaUEkMWLo`uc6cu@W{6+<_%oohbvH7|5f;67FG zXv+}mPJPWddp@MB#d%q7R*UZOg?e_#E9@0NSiAy{JXywUSNMstLBzK91VZv56I6ZC z931A&5+iRn?oQ1*D&9n5d)*D7hPOetqEukjiL1EruQ2hhKwHXQA+|k9Si^tvjbz(+ z5iDMA%2w6*FnX(Ms2Dnk-8#<*ybHWhy6Jm9dzi-wLm}l3W9a`E#>KMSR?eINicTy_ zP=C*_)1z)u!*V$Toel-0W+%MHD-0Cu7=@>!__`RG?HoDa>_t*7S|`w`nS)dt|c zDe9;a#$X$RaBH$ImuI+}DmRu`QAjXYHH=0>hm4@rXF`SlC|~Z($Z3=>;jOdPafzP)~%h}G$N&-Z1UpaZ@t!a3>FD=xNfW1Kb@Q&!`mEVp`L zk9HT2vBDZ%Vcks6as2kiWqg94L&YE_Hp@lWxA|_WCy1TpB+H6<<~bm$-}gRL9@g zXf6GZ)#(peJwyxND+TlHkuXaM|Rj$=#S#IoW4@h4*2Hn!rfvr)auwJDmm&w;r{mHq+rmBe`)kGe-31{P$ ze3Y>5NAsno1$4i9C$Zd>GX7TcC{(G^&kw)&Dm`?pj48gqpQ^K~#FlTBgJqzCMA2&C zlh!8wal<_(!e=jKJBiKpvIbL4;cT#4ZSeL?km@GA#J3LwQn{I4k>zGJ|0}=X&NLKq z{2AYz^%naduM`KQ&86kC_FZi^$d!^zPbKXZf(TQ70w)sNg9nx zg4N+et_e3VVI@9vOo_@(^rtL0r9aeQ?sWrHI9UtC|0D_b&vYg_<_i_WbYf$dJA=~B z(I}-;ID^8nM|x(#dmR5?1yybwvG!e-F!XsO`XsCwjCyXzTC`|#j?cDJSgb_Yg~LqoN3|xEi9ptAzPngDRY8$v)}YFIT8?qluk< z#T7ilbkR!T{65FMNsRP3!`U6Ikbe8_&L_5Xp)lv5%^&%Dbn&q{a$N7t5z;i%9Lhc< zw(o-jaCOS4;fyIfn0B2hdN-bPIb29tm20xx%vXO0#kVz(&t)rEwQ3*Jq3g#r=nPZV zo7m9$PkeZn6{>nU#2?Q;jMpfqGFhqg_}O}5V>`zS^D3;6e~oa)hxw1VFVBHvf2H5Y zIm9-uF@n5D!Z{U_^dU}pJS$n5fg3`d#oyLL9kCr-lVGjAKAOAN1rp;YGZtSbbCQt; zR2$2e%5oDGn*kelOQP~zIFoPH6n50P0(|G)7^*Eih;=wR3DS@0puQ2tAk8|!bmt<@ z`B)}Z58=d?W_t>!z&fDnKeVBIlRfT^vEgd%E>baM5*z-^3~JQmP>gW)#LyOfc0|@y zd_;8>6+<<#-ol!;?A{^C!!-tw`L{9KuliY>dHN`2hlm}On7GFYZN8#S0!ipyI70RwrZ(R6o{5Ew6;R`9H|r zh(D;uT~gRV#XCT3)-S3MfZj>83{1gesx_N0?C84k5#3L9D3j%ua&HvW`g@IN8m3FGvaY$IhVBKR17J^4t=nPn8VZ2Q2S?o z@tX!L|JfgZ8AJbMwz5M z9s%z)z?hd=aEi_fR17vZWV!j32xlvGtVg{D_xQf|@3Cvkc6`{?CCQMl8DuqqX}2Hd7^yW#}_!X;EEj%3zqQVc7 z)GOn_*Ap14XofSLL7%1GMQnPMIn10XoV8V?1G}@{GrcC(oTa83bv>Au%W@mMFM-92 zJ&;?81`Niz;>9ZrxR2|XQ0*2-?9R#kyv`j zvP?@zWJ!gwbI8{)L*W^a@lw-N>U~27-Ke5wq zD?|QeVcpCeBQT#}#5(qvGr3a>sTj5rt5|9Z*&$<44?hyVtJ3AfB?y<^+eGD7Ol&6K z&O7z$Ak&3P!0kC)ac{|4M(ry7erq9CMR-OVt2RjN9$7=$V>dSRgc9ykpvPWyq_W(a zW2Qp8sVTC^G=PL@Un^ExIde*lyQp?U#3miFgM3wa)YxDK*3Dm-wAlt++wOX*&SHoi zNYsbCJDSLCrZ(I;+{5g=CX6xde@4|q0kJdRjD?!#?KE)Q^%*kXNSGjUW>?Tn0s$p4fiUxiVBX&kA6~g`Tbp>{bb>qHQ3ZSeH zv7w(MVDKMbWZtd=^KwVxj=Lt@Kh~Qm8%b=SrwWMYIHQz1pLu8RCTu)x#`HX`q~gsb zHsL`F-y)n7?>1W%EIoHKN3437vS;)dX+5#St;SHG?vApb%0X~}Ciif=8y;FEPhAg+ zoGdp{{SaSQKOMy^ZQ2O$Hfi0OE((>jqek`d}>G4?=Z27*1|X0pff5ok%wAoJ6_@OsA9#B z$<+Pk!prI*WX2Sz@tA?4_I>16)=IHz6NfLF(|y{N#9DQo<##T+A(OL#NXV0#t;teHs{b^TWA2B1eQn>Go_xvU`e=w1=s4b^rI6!Qb#1sZ|4N<}! zO&Dc)0&i9K#}~6dP~~#Oh8;J8rWGovH$opA7CW&;F|%;lzH-X;5u57l25}pN^Tr#$ z@Y`&A@RDg~@&3=QR19{1$#V0%Hx7dDm?4$7n$S9WSlW{7&bc})r|be^?MBRjmg#z^ zt7Q}nCb=`&`)s(g^Xw^`Ol*X3etD?DTS@eLb3keOtm)uLT)Dk~inol|sLDCuGSUHc zx{5$0bhUIqD|J!C3K1y&x<+bzV=VW*`cG83iNv;byTjaf zMySlw6jCp27RTCpaS2$mg==Vr=B~;H)XkH=e**xwckj5gtag;Qd=1N)C?xF>0hecnZ%aP z7zbTl+Q|E}aDMFWFedm~FlV~(FRI*a#45Eqfls#<$~F|%#LT}SO}uZ-xjv=Gxh@jx zqqqRtwoO1qYjr_!>2l1~kK-16N~Y?emDqUUoQj7<`obJIE%*|?2m8%GAYM?qmx@>K zmMpj6Xa5STmrPJ8I|4dKr%5lYuVM<&Ez0^4t8?WmUwXw5U5wBGD_^cc!LxuVnRAY^ zvBb(f{lZtqJ(Q%M9tGjNFvr_#o;0_#h_Z#m#t3Voz`_yv`F-JI^xoslFJ6q+WBT3F z^gp}qKmOK7L*&0g5p))Zh&P>h#AqcSp~}^`Ez2#aLLbDvdMM+dE;Jt>Eq%PLhPk?i z{wFLZwqv;|NQHe5T2u_c@bpafPE986xkj&1h$6PS!W7urVB~V?A@32V$f=~?miiTX zQf-_^Z0_Yg-p9lPg_U&itC(}xqAQL0)z62Dw}IFIC!sGlMi)5-2x~LP9T7h-C}ze> zy(z0yCCjZrv;tZ_*de`eGblW{N%~2c({Op(BK&QC-HX`%OyP`y*~`$jxedJJt|Awt zm|9WyFTK`&EwOXsd_k^dGHNYWfJbeYu!8Yh{9DaLs@!a1ht7=vkHXgykIf=5bQjK& zTpY?=^`+nQwZsN~9RpdFwkR@A9io%ZV&6Yb;<_mMdtUC2EVq(fX5gc1h;oGeuHqfq zaC(Cp7e4MfRS#~&1{M7XiiUdVz@5<$ZovLN^P*w4ck9smzSWEDk zhh;ooRg%p-dq9toE+cljk8mDWxHn2|7~q}%P~i-hEy6paEva}@iRF$igev7TlE@!f z*fv6w?L4Z@b&CI>#wUSTC1I}9dSM@dTVi#{o$Mw&P@gf06B4Ml=qJ`Y$r}1pv{1aM z5q!L##gzGZbHy72#ou0&_IG8uU45?xgTI=h0tZ#t<9iG5IRcFQ>@v!R5ZkNvFJE%s z37P-X&G$_?ik9^h*i9Gq4r$c`ABWrGtA69SYeyrg`Yk6mdYTL6^(0w!t`l<)UIbOJt9(wyLmSW?`iQu)A*K-r6nVo$Khn@>OCxKMH3cZL&rVf67DV)Owt{MP0i7Mmkl$ zoy5xh#X=wFjM`TVXNJ_+;<`L-?&EDADqhpSWx1i0kx&vRoVz|o6}BFJBeivS%rv#q z`;i6^n`DM*A;b?XVeA9MjDYtvf88vHC8P zT$M|eE2@>{7INANxLYPD;h8R&JL-}B`RA#4n~6Q3W(vk5-$~jo3*&R&+px#G_Fx5vSjuYMljW8$!2){CB&gW-BR{;p z7k6k{VBH~aDh8HVwHYD^V!ulE{$K(@fgY@Rn=LlIbciZ9n%JPX4&d=%CJO3%$vc-1 zU}x!E+_R>XdhX;CtJC|0x0|7X;-WR7>i$ac-HW%F8OwgA%6&*|R4d{g{~3iE>Y8|! zh=UdLM8LQu9;2*Eoh&yWvlqOgasaA|{+Iu6MmfGZZz8jx{R4HadlOq?H6J2w@REp! zo**ujW3NbTx#XymzTe*S>xtC~`;Q;oX^7ZT;k?C%e@g%8X=Ea|(cb|%#2P*s1!YTA zP)UO!{9du2@&4e(SvO6i;;kdLxKJI^{!>MzS9C#V%m}t}!4>gbzq^!`zc0%z?yMQ? zeWQlLg|*6!rgrS@u$TB+t33WTUJqguud)!gv{TYhVGoP6UNVb+n8x}1qerzxII&(< z-F)a$J=ABd4hb7pOWQ%r9C<{qJIEwf?ztT}SocW8V}*6XVk@?Arab5U|69LVO>9-) zWJr9djLHvM!rSBTn7o;zxKdFP^==s=R_%!}-}Az-#IDv5y83n4-9G7zO=BZf56<8 z$6*!|tEid9+Y9>*`X_eri+4Vf?znWHSs9g0#gIa5xX~!+SZs`LdFjAV!5(~UUIFfz zfbqB2j+EHBi*+GWUJj*{=nLx^Tv`8^aOtN{PpNyTm)Ou1_TY5kj-*A{TYc?0Z}xD- z3tY6Tjj}ckvfLsiW1#oE23l)k3@sHK8POlg+~-K!=2EK%_hm;gRSyZoMt-t|tU)8>v0E4V z^X%}=k~?@XwTQBph|L*q2F4fEk;`u)`1EBo8}UhvQ*AM!VrVB;<60k|P(A}C31`BoJ{EH7%x&FlZq`v24vqY%F zK@)a9?H4<^eiVCeXr}B|Vq;#8fZ$ciC~v$LjHtiDR5hFu)=9jjY%#I95BKw|oDT}y zUCAdtSb%qR9b@)H(tUy!V!LAGq3x|Xn)y}%Hh;Gpk5|ZL<_mjwetWI!Jd)+sB3)iD8B6eWAH8f;SLB$orynVnBj#6!r2A!hExnhWIuWaEh ztc3m7w<&_LDFd&DE}%`DrdvpoJ`M`^C8xM zNCjetwb6n+O{j@k#<>4{Mi^f&qvDMu*1^vj!aRRQ<>4G(6hDCVZrEefYxIAoTw;so z3wt)z>!Y&SR$!>F%4Cin!QD9$iob1(dSW}Ly%y%Xs-bcn;a~ID46*N`KbW+-+f)pS zk7c>7pZXtP)p%8sCiInks`Xf>E+?jEm>!?>BsN~ySJ^4_rer9}5#~-A!~XXEGX5=Z z6jg2nu{EwH5VP9=dEe27byJmb{+5Ci@6un14#PMtFfz@F><lW?DszCogPA4{~pq;Pk_eaJr>-p%+H~8w7DU4Psy*JA(Vx1Nb@nKb(=wh=fJgqvw zOkj$b98dcBJ4me0XGbVJSSYEV;sHw9Hmv%j$2j+wNU9zj|CQxtv)KtewI`!uMFr?T z#^dY09eDLQKPtCSVts@&Y>Se$QS}Bb=$u^Odr?V_ElH&3D<2@%-q##<{ zpUH7atDSN7h%D*1ZOjpyUp5CKGJ;W&Ft2#Q)O`H1Xb8XjX(|;%AF;{1F7r;F^U;vO zWxl4a6h|yy&0I@Tp{@tJW?62cgb#egSrO_PqW~Va^Q7JD6PcA4Ur=@du_(Y78iTG& zR(^GbTo-3H@gF%(Pl>*El8JTrTN_dqyphOv7(=PN5u0%8M)|X&I@GvE8L_E9Eaell z4N-7%C-35U%y;U4w;7$6XQ>#viH)1D0}-j)B-u+Rfm(+;75^MJ% z5@vcUp=Ar)Agp{3)28FY<&OSBwc8b9w?@gs!xT$&u~H7wbKLOOgGo%0e>#<02eDp{ z>>mIt=0W-rm$p|)qas?U7-kY{ zd}=PtwYEdK$)+Gzy|~=MQy2@{6hhU*He$e}PQuq8t zVrz_9s8w=D13@D}`dG{ID%W*8*`E-di(JqfFH;UM(0x>uY+aQev#?ah!N1Sj@#L3U0 z=RxNYt8&L4+=hg8<9D^e=Y=8u)G7SyxJh4U4a6EN3iH~IzmeQpU<1K@qgmU?L)cuM z{`OaTD$C6)N*5MXyQ2QjpZK^BotS%dT$<*RPd!t;h_zTJ5Ani(C!Y>s&w+!XIAHlP zMyucfW!Dm$|G`Qae{n<0?kT_l(IXuF#|)eh?Mq$j*~GF-CWCp_UlPS%T_HP3pY0pe z;)b99MU`7iZ1Mdc}IS1suLj@uh{)5-7NyK4xhp2eNh~0^d!6{D%`K%S@`uw8L z?#)|)r~j8j#gIX4`D1xVIW!U#KG6Z^Gl!WIM;B%Pq5=Kx zccfEdvYDd5AV zBCPkQ6d!bGWu%2yC=0|cEA)kJ9`jJ}cZ0mmqsRDXn`?MlkuMc*Ke0h`T==|KTF7tP z3%)LSjCkaq7Z|h^sB-PwWx0j@(!~dyeITj7W+Lq8sKXlTs50fFQ8Pk}&HIZ~Zk@!& z+^_`hxD|3~(t;m_^Xil;G`Sat)$q5unRdu>i&6=PxSRlVu}=vKx+h~b6%+2yYL>DA z#D?9_g|=DpD6Lx`8ihR?Cq4n}eVG2fh$nUd7WQD9@kvtKZ46p7l-UIJ8x=*Wm#KJ5 z{uje_6IfPkjXXvxLFbz`to(gCUTgo1s^2zZtM*QVwPFhdViSpF52mQ$!j%KDf+;#U@OEYLYkPBbLs2Mn^@2PJMSUg6b0mKfqBR- z+>+_RnQt$pa$8TV;{iR;dtr(KZ>vM;Za-{#H-TyDJVmu}4zd0H+K~MAtzisO-ZY1IuT)GUj#@?EmrhW>U2F3}8GOwoi| z`_cG{p(9tdF^P)TgV^2#D@d+2MqR9~u%F@2SaeN`8{Cyj*>GZ447fmgg%(otH-nPV zs*J_arQ9y5Hf1x34f{9>{DK}x;M{0f{KATT7EplYnIWnks)_Zt8Vwq!g#MXuj=Auo znVFe8fy-g&a)*dDN2btvRu#EiH-<}RtXZGSqj6;MHR-p{9p_iFdMJDm0@W(Us9(+) z3Oky_7K%2UYwuPn-W9~^8EJt=)j5eq{y6Znab&AkPr^-G>E~qH|H^$k$R8L~K%Scn zKz>OyWA^$8bL5H~_3cziY?ZKfNyqe&q(5UU6we7{cU-%R`}Sv0^)T>1+dCe@ohPF8 z!ZRwew;yi_*pD}?@uA{%=$7TCC|U%Hl@@4du_+XvnIulrb>t#y>1WhpV&}fHgez7; zyJ;A}AD!(?yoC;D9_vrVkU}gPtpTkq0TQME$JM>Z)s(#f15di&@13raB&k%ABxmit zgph>XlO{1~(lo}UF%2O!NiLJb#5ATMG)dAl$ys|pOhTF%mo!Ndk|arzQEowK~`6t zCP$C3|Ak@H){J)oBaz1msvpFoXPSxWy>nzh_JQdSJE%Ri#u6f@BOG?MQ+IA>w3(nMo$ZxH2(;f|&H=>X%ej{z3ck3PV{Wyf$0zn4ZlVkZ~KTm+T?PEA1 z{zM+wv16IZ)ZVpI1;4j8IQf(o6waJL{<~d-)Xt@%&wm%i)b41K_7QmCk8QVfi5@@n zkhT;RJsc>V{}w2%vrMvvqFHw*YOD$r%9iCY_iBq*%G&HL48g=#+H=d` zqj;?ER}#Ern>=ZqHWN39+UQ~B;=&d0_(&%mSTH6FJ*)i(m3a~--;LC^yb1@6ZezUg zj1vr>xdo-H!NTNx_W8Gf+M*#2P!g<$6E&o{d)4E)W#t#icg^-p+(v4HLhYdJxRS9(oyyvd+KvK?1QR@9X$cAvjAZlX2!{gW$mi{gsa^Xl5PaI2 z_+zuYpm~-$m)&P4sEl)9&RkeaZQ!PNqQ9>#4ojBa$*?OqvHlJ+GTzJNaQuI9&GkTS zuMAiF>Oe>NCB@}ilhMrRAjZ~F+u*^&Nl3 zmM@(VT%ZkM>t>T1KOH95ADJ<=1yG9@41$V6ZJfDK7k($dqUoD`(XD~^Ob+qX`fnZw zS_|Luw#Ck{WaJa%R;VImj$!8>7;HCPl>5K)5{~cM!Tg49QCnd+ z9%AQM;Ib@h$R80VkC4_EewXCP zX?^#t$Aj^)C+3iJNt5$j7$*PSQje)EhT7Z%eo#GOBzAtH3keIRlltc2!ms{36ZbH+ zSq`R9ct`p_o~{eFYg`1AwYKQs7ekr2)zqe%he2_PA=W5z1fM-i(cRs0q4c?oi90~8 zb)hsbzNwARlKyMw6iwj{xSf{HN?yan^?ajj2S*=&sD15)b^g|d&EFM}X%_Fv*`6<$ zxKY$5*erz}Lq8mN!vJ0z7!wWRB7Atk+DvLMpU?$a-%&nhwi|Gp{kV?)$s{eF9bd1c zR-)60v@h6ox4qO_T(t*>3)0zZA$DNWXu!>1?jrnogMBt~ z?N-)iQYP(_-rmE@v@Br#k`dh6@CJq9`Y}v9gj3rzL=E=($guTUebAY1Nk~#V>U-15 z+@mt6ZP$A*R$1TYYoxt9%cb|Xjia2=e(xeCu0U<$a%mmwcQ$zATTKY+YbM!^?(+N5 z9Amqv)%to6goaD!P99f>fQl1}FB%@8Z+0zUtkYX%ZGi*TqThEzu-mkLvF3EQ;`Dd_ zprryEcRsZVFRWmFq$@V-RD}}qmZ;QwU#uB&QtMzXy`w7xe*N8Xa5Tk|OP^&Z z*nVmvjt;vYBJKNDHrt|1SELsV#}xqn_4q>a{VpzGn(! zPW*uawY-JuPwC8cE2Oq{%V_YOJ_85;)G5wAI9OQrB#+Gbo_*JAqPBCw7^pd;f^($% z&hwZ@sKd-$Sp2q}xyB~F%G#=WJRmv18>dbl47C$O$PsrS+f8Gc+5)M~&AljkikEq( zE0!>AMgxjGxEeK%`J1V2J+-mNRG>4@5c~dQ2zk+l^0fJy-0tZs7@JRRpSBCAU7LX; zH9m^=A3KTMFo8sClrs6&Q!DfF0KfgWcz8GhTr`JshwgTfs8M&BHq(2rtZnOD>HM1E zn%M8Q8C0Z>v6B{A2~6cNG;s+sWjcKyB77J#cy` zox|j<2Rm}UBs&!Xa{P%MV>(7{5WXXN=wiIq{E@gdqn1n=G!-oyZN|jCO>I*n4{_SB z_yi9RSiP(jX*~83@>_N@&u1Ea%G&xZ0;KbYI{4rTZeSZ~!1>fU3VuHfX4=7zS~s~K zOzAYo84>Cbeju2H6^uqprs^;`#8T_>Q@^_F37R+Q4gGuz$lS>@;0kyY2fQSwB}@=#~FSKEFpr zQ``N!2XLoW@I62CP`qOlx5V%Q8CuQOmPKuut}4`38sf4Cx{#H+3F%M$3*Aj*=Q&nU z%Xv%BIn##VuySoEa1JIBZ$_ft(ZiYk+efXLqaC=onc;q0Jt!P8j5ObJ5h9nXGuO?n zU)c_KPdmZWMJ_nUNdunksUTOMJtWgh)0x^Ls9pcu6y`6G&INyG3K!l#L%Xl05{-v! zpWI7rbpZ!1*$wN%Mj<_OO+S7K$OERTAo;b(kGS{tx+FMR~Ah)%_cLz)7Vc$w5XIK1* z=I7)vZRRkbtSwusM@)Y+6q}vw6R+&KO!5x>f)1q3WpbE9tr~Yqv{f5{bGJVe8%l=!%X4o%c2m~)yL$Rhv_#-)zX@^p3<E26fj=B${g+RfLO7{HGU&YUWou8w?kh-dPhLT&Em0nz0b z>D--oeYjS&0yS@SK}((`F*cFfq~Z3UHSsy0)oc%;y}sPr#8R@RogIfcMXgi1v>r6n z8|&TEgb(jkgsi9Ii1wMOOgl7Cn=&AS=0}>iNjl%DeGku_9R7yjUoBN-ZJ`DjLO2`j5@rRLE5<1rZwCpNOxQVE{?x`f z$|2ZCAK&(|gER3Wnj<<2x#M;*eLaral8Ms%{TUY6f4V*>yanQV-WZM78N`eY9;LS1 z#S}uT=klu4{lWehKQ7{CC^>+?Wb&=0*66(!s72^uw{6By9qNa|E~ldMnli?!4p!Ed zF5P$c&VJ0-|7{Ner%br^K?mja!N(cvLv7+NGuS^v+N*t+0dT6OM5r5$_UMdZ@?A-- zy|p!jRas-F8~UL3y_uj>>PyoWJgY-(fY+d_nq4)*Xefxk!hquMZg!E@cQiJ#w7 zuTksTDD9oCVTt3UzO$$C7%81$N)q+cnEOLNwV`24K;`a7{#5@ca36FP9lq=@TsY!G zK9B36rfi3Z^U^*7f$q4|UmH4ueVbOqF1nU3!0nM!3 zkGfhvG1sE!e{qimK$Gn`K6;2BxKC~o>QIPlFaNJz30~P-3 zNWG1#aR1$KrX3X2Zn|d+kxvGA-&N+2@2XI=|IBX2DQ>qouCe)(x{ufN#FlsZUIYhU&oaamQ zM#J$Ve%zyqV)D+N9Vgg9ZAYXZB(4m=%|?Tv{Y4vDw5^PM{U7^IRz_{W2O%eLM@i|CU39l=H>Stz&m9mcQd$vjE{<9a!96jq0>n4#8dHY z*Oy|(!zbi*ZVn01AI9WROl_dWGAO%cgey-wLx)QkisP|x{*WtUTc}N#EbYVJWP|0> zeii>NKS?fq59km!XL7L6Qr1>hISGze%J4w33~D!>l*c*+2xdKpn7BdI7Izp!PmvLJ zTB8Rsbr~f1%-`}0M(i1t8~Y(c2+;YL zKmNcTrmPvy75y8d&|1Vkdp1&QHo^k(W?Ny^SJIiVH$q6?5LXiRl{%BJk+!n7<~Vg| zIsb~!*=_;ZmKI#t;W4OQO=Q{uQ=48;E3TX|2v^i=z}B^2q8BI6qxf&C8M~HRRaYnI z4{hUpYKDRB_oKMkvnt8n9g~>f@o{QzQq_a0O-DyrTcPm~2y->SMLT7nySg78H}Mj3kDm(o{GJ*> ztx**PTI8Gzppen zKen3M{3AnQ@ueX+C0iHFUgi+HHP6Y~J6oB!1Jp*%lGeiCkme9caa&XNqgf;NARqUi zncsz{p0XXXbJbzvc~h+VTnFkt%u-zXRF8H|F+`tV<0xty7CC@RpCu08U<{sLHp(3i zs|w!BwljS)liHqTLm?y34g2m=1FMWHWcbBHWQsIq{CV8U|HVCVLwq{l4u?zYn`Fn&&udZE>?@2dp*G#CQA~cWkA33Rfa^IR_f*-7T*KIT6;G*kC_N>* z-8IJH4?c>yLwqiN7;+9dpQvEs%8Zn?^(QxqVNK((=aA>(w>=7Ct%VTZq|4ap)HcQb zEZV;5;nSyULE@$f=(-I-g|#;sn?!BmchVUDy@@z325gMy&7-}`=ddJMTF-)Wvq!Yy>6xf zka&W}Ni~DvyjK<3R{Naneuc>AzxhCF^Q`?~;q_;HRH`$)oc9o!#5xLl<3gD}xt>~l z!vZpb)Nt5*8!$U)!ZprZMF!p6%;bj+Ts;$IZMai9L%dlZU$(P@hLbB${DdH3%;bqoZE|X( z4%k9zh8GSo(SWJ9^aZOo*<_vG7{(@0yZAd_h<1L;8&x?227Rt1(@2PXpvJVrF>2e? zM}k|N7xor3qxJ7$xfiGzht&t@<=XqYN% zoBwnys65xfVdG@5r9fJrh2%oi{5&SEAGH?y++m~sBpjYSAhzi}BVLQolhte3`(!M& zN2M_!i-X=c?7}C}^NW5mr+pb2n#|^qLv4{XzGbwblMmZu3~R#lxy%v{X-r_}$kzNX z-+pW9Jl1+X|Kd>S?ij_XUi*&BbO>Rtn~IsTwp3krXbOD7ue>}A$}gC3=?Nx+EQ8&P z&YRkXp8H~v={(%|=(3o$p@w7_4o9-sdCawlrq*ZDaOleP!f_dDaCv4nncQ}hf@^kUJZgG~E6SSo94F^z}FO+#?j z+o6y;O-nkf83~)eXYV_6s7+sO1OhR_w=?x&uQ>GLPm!FC}}9{YOX@d;hhTDQnw!I{+L{24T;C-il5uTgmI_e~90SLCm!XrZ%|Yo)|kq zIwwB%xmXZ+j!bGyLtEsQOb(lNt0HnW0v+U^aui-&SYPwEOzqlYtXwuaj1Ea{BZL6dQvQLh*_>|lea`^8#3=N>u?TsVw=h=A zMp>KnD?6yTcAu{r>;M7FCUSp8pCKEidDEXi!}wF{Q#cG-({*s`Q*&tiZ7!OB$6wf& z$IdB>qqaVC0vt7zzPAjL&W9QERDQY6Lzo;sntUGjD78Dj;XqdN2jAV}2ZzU5bK7RW zApJ>`m>g=UP06>1>Q`FWvEByswVKe+COzcI({QFXRa<3kp4ZGk^_eC1&6n0=R~3*z z-&YFbHNK4Xq1JZuYtg&W4u`EC5c797EB@B0MA7e#Fm@%iZU1;f#CA>GyTKA>n^mCF zL^mPgw|?fjWm6kG=z$m(GY5x{uM!Kpn#tuHOVpKlkE!h%wQDqG&|0sK%Z};7ibVzJ za{X?(%ASWz4*k@&O3yBlf*Uq@rUs#P11-Y>mp zrQaOQCEhYrq||R_u0{I)><@-e(>E4}?td%Z3h5?!4hnfxO&Mbq)TSp%XVTcoahz$t zIDN2@@U(apNy`~va_FSiHOm;>y!3Hexe&W!-woT(@FsGcF8< z{rYy;<2QA%Fk4Hy^s`avS@u1)g<6@-G)NiifftT9f`WOANsorLFy14UX$Om;%GwOh zPLS4AKj*XUM?y)CA(t0DMrcU=mgx^c)TWmgih*-;dDpL{vk8Z&a!#vPAdOYGm^Rx; zt^ZUl=r0(I0}q(M+nt|K{j#m7d=PtoD4^EtIor($pSYm(R%C~wWX#(Z~b zq}J%FD^wnFz=3rJP<00svf4q?{?Rv>e2pBHwe5f71ww*3-Yd-$YyH7dp_VXHFiu** zv;(F#$0bGVs*=9d-R%@p_LRu)gjb;T8mF1s)>7-2-z-MWal}DgpTzXz31oF?8X72N zzw;iaHhIBRIBIH$6PMdTM)79kF~w8Z^VXlqp^jRW{kz2dgJ$5wTV>*<$GgZyk9|l} zZyA$=&M;+d70naDy2=6Tgc*Sgzmni+Lt*8sY^EIosCBS^EM8u2goDi0z^yq&@h-Ov zrTr){apS2~NY7{&nMO-9IU^Y_~Bvs5vQXt1H5=vQGymjvWra<=jL$ zW&VQ2U3Lw>FSTKJG59Cw;Jp)uz>oDukbUA*A#40&rX6CaT`&D6d%q0Aad-R0p^LSI zt#>w)h(>lD%3*4|Mg>4*L@#e$<_uqMx{vB!4i{8n=Uw>x9#u`Pk6So|zx>4OB)G$+ z;FCz_##q7jRUwnZ0JZ5l(jF1vqwuXuhOkZh7h-#Ts4(~J2BtrF4p+8Av4Ihk#7XC- zihbg)%0WVJNQ=TJ%!G*>MXl}g8nH9y2A|Vz3DM>%T={R4k#kB7)4rM1=K8urysZbG z)1(gQm(yg+=1%f=KYO37q}FkswD+!+J#Ke3gt~EUiqcwjVf@^MOuoI;-o7^k)`tzl z+%M91Z`EdnG!>Bqn(Sh%tFyAUaI2?c(QZ||^?(svoLqv=dDWu6iR^nzIJKve%;5HX z3!G7_3%AW2NujqV`rbvGsV#%repDm2Ptm|ZKWc(B;RxxL-bb!ePB2!W)_1TjK#C3C zTdWCpUq4YSbGnUOW^G|?7qtybg1{qSD0X(S0*7+N#o9mJgrk|+Ol?jh=x=lTW3iyS zmG7>w02^5W8htzUWmbb`1@4xNTc8~r= zbldlgPj=9T@8eIR)6v_}R-Fe-4)!j}+5&VOAjDn|d#akl{VV;bbk$VB`gtl7H9T$nc7O0C5wJ&3(1owulF1cj=)T-z-l^tYiF^Sz~n z+F;Zwu941ey}i!}9*w<#c(NT$&>76wr_|10BR#{sF~?6uX+P2lW5}_y9%x?wa;7%f zNM&uFbDoJ&3tg~_-zTxl%a2sLMWeq%*ts3ksh#5{jrWxs;FXTjUL4(S=x&Uga4;y2 zsV#|G+e9tMt8l=nb5$YC_zCH6xG6tyJch}kklKD}9-h6wF1D5C3SX6-M7P5iBgHoj zjBTR!@^^1U>q~>M4>E#%l~+*FMd=y%E&J|d;;O7I>G&6r^_wFeSUD7gIoTC;-g04! zAN!jRq_%cNAWXS!fcvF$Lmz9Tp!FF6!p(d=rndFe4p^JR{2f+U=Bx$TU%nu+<64T6 z)AO1BkWa1Czk}i0FL_%J+Ze0irmU??I;S}M>|cCo^=O!) z>c(l7A0Zy$?3zqJYQwjOL-8zQJbi`}#2rsUand9E$g}LdI+ofno0DQ%f(4H2>J?SC z+E=XhFGnhm*m+_()JEFYi_xV^am;_E;?~G}Bwj-UrFA`G+P8+m*J^DCQ z+SB27a~cXh=_TBCI>KDHXlnacO@)f<$9TU=1i7zmxl`Npg#1^hnCHnXYD0R=A#wBv z-toN*=InFe*0`=GV;7HSa;T!V{IN46`5EJEbs5ZU94{nSzhl;j^-&vp&=cI& zNpq=A+rW%pZXk=z6NNR4YM6Z8Je2K_+Ey>NelP70E}bQ#_UnIgeQEAN;wtuiGlE*T z*V3B7$bLS$&;%ZO)uXW9HOTeNOD5mF)RuJzfsuC-|MW%>%#Rq(eLMdJQH?2Ot{YHW zGujI-j~IgY*P8&Y*scgM^%Pz%`I>xw-MXo*?sS5TpLFn)Co-7&-JK@ue$d+AlkZ z`P^@qd^b@W{%%0bHr2(+D#jpgdWl{RJ&7zDuQB-+Q5!lhLyUhn5_j4@6^p-rsTe-v z7vx~azGpR4JLjq`_${@?`NQ==oLx@l{ZUEI-dV-uVCJo?O(#nSd>W;_-7KX!y>-55 zs%sxID@b8-m_lu_nICj)9g62fNc;L2txsAZF>y~(n-?d|J)ScR%T{ZGMq4i_XuhnNbLTkIz77A2dq)?F3ZL+Tx(y_s z8OALhI}Jr0W9KFrj8WERq<>Lt`A!3GGLz2n&f0*)75T^@lg)vn)^^J%*tmNN*5lub zzC#8H-@f{p6zLl=ZMKG5Z|NPnYV#Amzt|Sq4tsJMLu|;-0S~6OJZeGOC$nJJ0N)gA z4p+VVk>{PM$V`px>vyU3jdh10n>W1QODBjLu;Bh`eL@l^lri^eEgxlVwq^@KC0Z8? ztxm9Y?lx3-bb{b~OP9&lpW47kX$@lCFx;_K3vO*LC(sf^PTGxSY#g=D|4Hklb-u+$ zrhkcvAG=6;^j(GR!dT{79HmxKWC613PrOH>6%@U7;~b~@5cTGXOgq$4>-vA!%E>hG z;bS&%pt&FA7B~u}rtCU*)v?Ojyhja%g<}k{<0(^^s+ohb<}46?PuFJh^`SQA<`J>h zu7__ssR`Q4bCCIsKTzm$_PhT|Y9qgC7V~>f@zK)zaa@BL7xq=PJa#KPR-8?(XL^_D z^7ta3Gv5J<*I06yKkt#-u0O=oc8%K0f8Q5vzc|SEO5dt9VjZ~91;5K1Ka?}JpIX&F zW#HYZg-@AC`%U9XoSxor;f233V?BJ8?GTeQ9wPgs@4UC$#2CFMvinv!nPKeCv_mAd z#j^&3YyT+h`GX2How`pdq;p=i?#*Pb+kR?OONYTggevYa9|CpX4dyPrdrlnG`kDE1 zm#NKKYz6XhI@nLzYc=HCsob^9jl}*?GLvr)wZZ56#GoT}yse%scn)*t@-=45RdtIQ z>oQJRn`}p~=UjSzQ(G9dJ};$bT9ZCLW8P5k$(zQVG`~$2oDX8`4r;^0E{KKFJo94dTYk{YX8HTj zQsgj;t*wmO-f#zq4u8v++_Ztz&hec0z*2JS&j<3)pJCdlb!>Ej&Sgz}BsfA}&QQ)g zCZPYK z3SIc>G_oJu$=DWZI}#0``m7mtd#3}c*7;;x&TTYq$u!1V_$zB`TB;3ZN5Y%A^iWd;FxOUU1Q+lXQHJo0(_Zlt#Uu@T^{y14KU zY5e#5PL%)EK@|DmKPHC)YE>4yLHp?uIBA~_$Ol~}zu!AeyaQ92xQ*1hXh~y^*QNDC z7CO*2QC)~t+dym{PGRC2O;Fb6x7`R99<#x18oID_m!VK^v=a5%w==b2YJ-!lz+ku) zKJ~lwPL_6?$O9IT(_1x|9M)2sAG;iU>;3TIvBuEeVnYVHoP-&UF^oM~p*Y_#r& zef+=y83fB0aOb9OCtfF$(C61Um)bPm2lktcz|-d$KuY^GVsBw9$j@XlIozVQrq2sv z1wEWD&EXt*V>eneU@SDg+N=0HuG&OpZMXmQhKvJ7*wx1jemb)c#is@cUoUfJ;`&nS z-J=IBP0rZIN7{4h=}l7ocoO>8!h*>+hFVpR!C(~eA3x_$8(4GQlB+1ml@FY|&e+4$ zW*stx^q)WRDj_oH&#>c~!mTEHth>tCYHF*8ZWF_{9_622wT6jFov7sO0_41%eLfqY zw)WnAF+4>V@2}B|-FNL*qGdW8@9g(DrH?Xd?J@%DRiwnC4w zQPeIxGY)*59`O;+r1h4u?%dq_&BW!@Yvx{^No}mZDb&8T!p%B5V7p);aX9^}yxHcO$Wsf6h}z0~H9lIE{>KI9{FouMC%;O4czBLnmH zFxC|*Ys;{;hJYAz?AoRe>sIBH*36&e3%+wBpZAAwY9qd}1LwG5SnsMf_`Nw!>4@IVv~L%+wXdYPruy&r`3Ftmh@u@GxwjJ?w<~0<6Q`^#z1bEjyGP)#`)aUh)F)Ex zz!9_X7N)Pyr?&QM9fYp~7=5_8V(Eweix~xG81N`HnZXVD!&4 z?pn|=@+6*TYP08+wQV};1g)Y!PM7tITP7Eh2VbR-(AP31hfrz@CQE0@Z}H|=W=w)K zxpWTc7hB1fli9J?t<=`eRD*;xdn}jcr#2j1MJ5*9LAhaLn06?kHfUrZM9%BscPx zjU6GuX(4CmS4rksEn?bXI<*-Z>d<-43YUjygS~sDVov5vl>7(Vcao^}Q8xhxM-3cx z)&!v1mrGo~K>qaTUrgLWYC+2#Je@Ughp819&w7mt_CyI0k8GIsZK5_OMp~mBu8Z3W z3?MJ_SNZ*0&1l^(`ph`E$s}cM?VBAzHdzh#NcSig6&=nb(LqqTkbm*>-&-KH*Q%s* zKn!d6P15%=#XAq~#lZ%0^a)|wY(2HbrWo3%zTr>p_lCb~dePc9jzY4^4(2;qKDBCl zO`umCgrisowfOpg#1zxZ3qs4Mp z;q~w4OgrRIyVlzb3cfJHwZ?{!w0Iuzl-3P;b(k_a)KD9LKn=3`5l$~|77O#Gd7&#V z%S+~b&*Y#oMOj-ba)Y&nPI&PceMpziQR~>|B3K?|$Bn$H?JaVLoHg(HEbAd~YoRlz zS7sng&h=q(h^988Llb-~t#DAH24q#tAmNFd(bor~8Jk6|{Z(TSX6WI}s|Mhgazh@f zI}R1>J;2y1YBP~19A9pUw=R+1W8-$q{XV(~Kjy3_pZ|vXsLk#f4e3ql(*CqoFmh%; zN>$hh?W*BSe{h?sY=?O1tecQb3vB(!08+oZOXjykqv0ntm>eRgm2qD|e#b}NWw{qr z+Ge4x&ydhGJD-WWm)hzJ+EC*38-Gpa0ejE-aRI&##CIk;t_;-Pu6!k?_;vHOsm3tv z$8Hqny9%Xgeq?g!rZ$l1L#wn`WoNPmIJN8}0r%BVd%d(`W<%`oVQE}0 zc4G~(E>jay)sHZ3wvgItjcze@?H)cRUfS!#M!G-b?Nq2nv-6G8sP#N!2Mf*2aia8H zFZu0ZqLrXZN~`*qcBr7X=9Wlp^m!$iTxgDuKU?}ALr6GKN-8!hPYCI}Nw>{(c zj?jbCMG7Qn??KkK?EAdKG-YjxC#AE|*6QKprKS*^w-HtS<%Xt(YBTrWIn+i)On`>E z0PKB39h~Qhy!OT6#i)7GgGXfJVKYN?Y<;eS#W`A-%@H-{&t0^ zQt5m5zt)i3sLfT4brDj3Yh#{wTB&WhHVJkt^S~X?jHJ1oEefvML-=At5|e}VbY*Q$ z!J2SXu8A#18c8SG58^JQoI}%9+nF4KsZDFtglp3#;mq3)#Ol56B(-OfJbA)$W^82> zwdo1nqDrh84hYbI{FwTS!0P9*Xb9JGG(&NFSRP}W zscrv5`ZiPXA8+z$2naiUxKAd(kqNumaXGUY%G&&v%RsPn#H!MMAh{(UNWqvBioCBa zn0wR|Y6G^8g#Orh*kR#IaldDew2!zyiEb%k`dK2iF}GXA*1Cth&nin;tTmW(Egg(% zKCth+r>HgCDcz%2n&aTX()z6a?}*iy4ivO8ovE#XTDLXN#bCRaeC!D`c%S(JO?kTq zr3JHdI}CzppEQbu?$Q78y_0<5w;4}R_WdzJ-=_Ucz8tj`jWuHMzdd~McLp#u{2cl_ zumCk#v*YV)sP+5yqZrp=gj4QlL0#Yl`NetXP{vI5877a~T0s}^E9u-{X?(rw^*S=% zyAtJTW-+zhrPfwo>c4T5ac=Y*F>-1b5r6!dX#L*BPWiJOqd``b+1qtrI9Q-PFakNGIU1~jItbAkPT%BLq(GPai5%rC!znE6wsGsG<* zsNaX=TaFNBRWBr;-*;3)l(og|y(4yCm(D-Fqy~OTnrM3QF%;3nj;H!id&^t~zHPR6 z;av@ATJo4ItXr(O{!bK>!%Avp@qtj%ItM2o=@qN8?vWLfno0Z}2PTJXYS&t>g|wpq zIOw5tKKj^3h2ncBVZqedjJ-x}?_(ZZ6*8=I))s_(T}8{6(jFfVBN^LIZDWuO{3c6# zlqX2@Czp-m#vl8Y9JfEl&_-`4B{e2-Cn`^?v-A}ESSp@h-8so$b!y)CyY!o|by6`h*Yr9Ns!mZU1 ztoxWRwHycT{nwHI{4qkCX9?3Md#LpsTPXG?_3;JCy5K*?3+*X6fjpO&F*&$|Dr>8F z{X&{oqK82`ODEUy-b8Kw4QhFt!`Q{t7D?j{?F*jpw^!JM@4jFz;q6_;$#7@Jrc+xu z-U^yj194(mhv;_oUsARGm}2E{VDeQ^8&^69vRpi{**H_k>;FOF>Fpy7eK~`C-X}Y$ zZSkE6sp-vpz(!Bd8=}oM9Ca3s2V7+0I?h(s*7|WMB;D`kyAm8BdaNTiv%ifz*`USb z8%Aws=U6cCx5JC`%pu{5-bHUUU!l7+fr-0=TF(zFA$X@NR&25bhi63-=VbZ_E;yCR zw~Sh+{VO3}S~p{|Z3K86nujvCjS;RC`7pMPTHHAtR7MT(^0)Tj_PZySRH!BNcAsGG z54LlZwWUp!*6#dupO4NO3XT)yT#;IzB4;)`W)niK!8uE?UNjPi3}}M=#|LEoye~=8 z`~~vQ+c%low#5po;R!nV-i8D0y4#D|X^rZVwBiX$4 z4^nw8o2jjZ+O^WW72Dr*@a^@+u=?d?G(-CWYApYoiEA-eSzF-3!JtSo!fn49!v6WI zkma5~kV$DXV}q!DdQb^s>;YD>Pa7So(L-1)jr)ca6P z)_c!IHKDhdb||3MY>*}F$nwMsTUDX_ZYN1xuP#qE%4GUOBejt)--B#0>4OY9w4}3Xtjr-G z!IO*qb}dmaTgtSrg%=VI(R<3A$K)iglcVCnYcRhl(iW-X+v3>Cr5JdTXluJt!pG|wKB#Y{-3Sz1TNqe zA3WI!^0(-6sXti?86rEkxtdy+ozlFOehq9fT{;VDniUuEVJewj5ys>@Ky8P%J0x9; z!IzKU7YjT;lBEtQ#BXaOlY{31Wjn0>a6|OjV2+bs4TAYue=Gj(yNP7Kr!jG(s7)XA zH8^);EH5>MyR(f*=QksTH__8!_Fwm+_u61gxFmK9C#`aRHRn{o3)RE3$p4~6DueB#PemsWe&rD(RbzP{e zE##p$1bZ*XK`)v_U$wVn&&^EYXw1%;4yV?))(WEQ-|_38+W_}VI46XNit7cNnYbC$ z2HQtKuF3;GrQR3r9dAWoHckl2V(%pawfp@HpfOhqM?N+I&6W_x5n>&L}QAeYf1GKw$En zPi@CyP0$K`!P{Okg^C6lr*ibKfYvR)FgBH1Jr6tR++c|d-sr-(gGY%)nzfLfP)a`k zZI)9jt26=mO+zevtq&_o_oES&(!BInJDIrc)Ec#ULGRxft2`P6))viVOo&Lxr=?6> z`^C!I+;W^iRYM;;dfLF$v(hu_L_^{5q+b{tO0D;6f5;!Hfj!PU!p#0$B>&b`s7`yy z^!2UO9@}aI&C+ZHT5fg!?#P6-()Cnvn$;3mo-?^Ntf4D_f$hO>gl(Vq)EoyvFa+_lvPZIF~;i z8h#7pjvV%g-*ZL~GpZ7~4c`igbTWEtrMXCOi<$d|{@!v7p(kA(uawq`egCN&X+3t34;<}b;s#QCEq@H;{8!5hoCgG7 z8N=BW^^qTc)MV^>YBQcWK=UC(Y?dN@FZ-y0*8H$e=t|S(wOO>^?|F&05J7JGo zBk3<@FmZ2Fo2xMkjwR{h zfagPCcV8SGJC3=Z#Zp@q9tbJd{ju9RZ5U_x6EX9$6ZV<-GCAZ>JHO5f zv^3Q4T7OGuT;t9C>h&iXAG(ssp@!PF4sA#=dBzu9uz}p6np~t?)J1-2JY!XsDQj!p z{y^+PMtHikUvWZ}^emur5qXcPV5~Q_O(Uf>ef83Rp)@XMGfh?CX5N|j_1+bXjixrU zTN{r4qK;#vIeV!=c3fGKx1zOxeMZcp)@4z>SfV}xcUry{KLu11AaG!%nCK`pP)*Vx}%YKzi^9G zw!`9E)(~3!khf;yEFii5o#}*!nQ2c&djJjyQvR(s8t7RG_fK>Iu`& z_EOvW-E@ddHNbT@hJwrAa@0A)L-@6EG5P$r3DkP>OTpz&OWbGX1d%6(qsmuUnAFbR zC%dT)>M(`k(YDe)IR>CMjF3pp9(i>lJFm_83uSG2{fnV#h$(JVb(F>cF3P?8<-)!d zVN4DSsjZ5d1VI}=@Wt`N;nI>5D7JEx;BhXMsV$9Kr$0^M@MV2`{HiqH$YwvP$+h4z z%JwmBRzdCMu0W{H_><4RITp%uEVvjynb7$MyGLUOwVfVQA>Gvo_vzS!wZl}j|344m zuXy%(-62X@TT%H*(UlvDn^t#-cm3Wge*NVIlxyobdc5()SVX^CYjgS)n3@{=7d}FIUzUb7CmujnK!zzS3N{ zV@as|yqn;@d9Rr$sO)>^sX>dL_&U!p36CYMhPjtG-~o^La?-Q!n5;MZ^Y z7%y*l(p!vV7yX1Ycm$KLS+ugYjp-`T79!0V+45dodFB&I`H&%p#`{d%Dbz}{XyJ0Z z8ureWL3GVeH_IIYuv{ou>ODHjhxR)Z|(K-_1_xf;)E5?&G$yrQXe`;g* z>O%gHn%JSp1eQL!fGQ8gqv=t_jE$qVBF-9~>X_i-2NB++rM6D` zR+)Gj_~?1Vp>kjp7m(Ska6OvI#I2<^__!G)?v%cp-Y|k{?~ig56pOk(-DIrlm&)2& z;ue9E)fc$n!dvly_61^o{Utdw!<)&$huT!fMUZOafP=o0-Up_3Tx`2GPACrSQGDJX zR#Lm^HyK!PV{qrI52B;%ThbX_Ht|{~yIwDw+KPU2*gNS3UvSF~()E0}s29VC-Oq!W ze6LZP;6DT6f6~NxsZKERW)AA8KtisGHIr{YwM`w*L=`Q493rhDO#_4;Z90VT)SsES z9x=*x7&wEV$ZjO=`(OboFARx^6B5q9k7D9RQtRMfC)Qk7#eI4DV7q-58hSGuh3?tP z#NAJAa#SeftXPfncDIOp!{1~?YaJ0{hB9$4Q(K}j7kbV7@NIQn;66o@u<+r+mG71? zwujmd>HC;}q!T{AU78QFKwBu9aX_&#Zx?edTvjP-i{3CBD&?c`rt4;K`2G<^x{LJx zR{0YXcQLhE=9{4tpdSJjYg=(~xZ=zx800U^AF)voLD&4)}x2U zjD^}JwTqwk-yPJtj4TuvhZy7baVp^A|MKGLl|^X4=mv9*%cvDfWuVogiNidk_d~U@ z+^Q>k$SUsy#QLXsqT*53CdAx)Ab zX_6#q2uVnO`}cX)`?{>}|F7%5?tAU?+Uu}CkvIO#iQSKB!_`YSnfzggnW$%vsJNSm z4f{UGSFcw?RqpCg*=ZGehSR08VWI354=c_6ZcxXGGdaI7vc#3{@XA@hp(f~XzPeWlldwAQlFW5onH%ZvZ zhZR2_i+W-gjC6!~EsiK}t`f9_U&NOj%klW{bo)#?y>tQ61wXFv8`MCV&WtnHKseB0XR;<9H3aJW{9Eslw2 z3R+UA9EScExB3G=*q153Fmn`eN%kz)Uw6YlJ&m%iQPOtsGq8fLkHWXVjV{QHn7z;iFXCbYkDQj}i8LutNQ7_274X9lU#r z1*i2ugnvA4Rm86PFcq>DOi@teaOic?5`lt~(7QrEHwTC{>zWI(RsG^VEcBb$9Ae5Z zh`D4_dTf%@T4`-1V;msoPa|Y^OdqV4YcO9{dvco@`uk!LvFQhdu|7|{P*lZ7o>i0J zCmQLvd)f{v-xOl)>Qo`RQ3-V~)`kD(*D;s)UCfSBd8!YDBR1`vBk1~Qp~yf(*t3G>5@D z(NnxGR*PA1=^=GrpGR!XNLxsqr-w`(^}x#Ff_Kst5oeK7NX1PgHsZw>K5F6>apGiQ z@5dx#w%0nrTX)%2>KK<3yRBH5`*3s?YS{LaZ@>KkYvS8!Vx$ z<{$Bp{YdD!<<7pn-+|v>+(+dbPi)iy3)p?c0;T9^3UhcK;crbP_}l>f-d94bXp9l` zcZ@{c%?dEBY8YplH5* zC_?JTWyp);`LMtqY$eY0?mER&?*#tD`YaUoGV=y;ubCs%Nf`FF?G^lFr5{z>7Gj%E zSpjRHi*$u!{M9^>>0WEfc`h79<#2)6)P5bXN*#@S=gPr@Mao=Uk84HO>^3TgHe!YS zoFIRqHgfqx8&Zn2n9TK)IGLlzsCLl(Lt2}soN#QtT@X9?k@s@_52wB!!@Ryj&v)`6 zR{OzszV?tOs=nUAtE<1m6$?&_B2Mh0;>HlG@2L)5(_f3rbA|PPGgR5bf$BJFPA1h3 z`NS4AJ>m18X`)6~MObAn$4pDYOn>)X$~F_*>uU%D>K)>SC~GKkv12O_jl^5?d?~9Q zBdu+c+$5;{AcG{r{eAAvR%U=P=OQ|?sC-4l`mfgl|2gt#(o$hB2M+}{#L$z;>&m9$ zMiCoTs0R)^h3n#_unv3SRUBvPT~XWIOvTM1_Kk4fmi@9@>>~6HPC7S=H61X)H|NJv zaT|zT(j@#Jn*E=6-3DP_f~Ur;w#`jZM)noTDsGV0=JH_z6erpuU12>Y`B66|CEsMY zaiK2w$9uIWu>cCRSQoDj&+H-+d;|TP6pl^(&aHkX)wL1T#O@=0>cspCYh1`Fda{f1F`jkAp`jiC~7l;igb%3ltEK!xP|9qV5 zkR(26G*=drj(EKx8s#+b=V@C{^#?CSk5L0>Khag zEA&TIUOB*Y_=~u00TL>%)n;jJD^9q8nd%7Sn=H(K6XwQ#>2>5fPVS@HA(&Y0vBRJv zuSVS3IUKmUk!(>}jd$ys^HgmK#Ae^t1Dm~iD1WyqD8}E!0TB(Nwp99jC?z&5br>{t zEK*bBF;!H%&;E~)Ck8Fu3CIC(D4;uw{$=@w~iL9I^U z+&v6!ld*yK|Jbs{&uzKLz1OMpEP&Y1&AP%oA8pjLR7)766m&yN`7X1(WQeM58?mkd zHeiHk_iqLGWgBGNzL*7_lrl2W>>0I)Zit9^k zuP{$KFwOu~3j1g2|NRw=wQ4j_BA*<=aB+rq$|@6s?VP&4p`IrPizAgc2KhwwsEp zxlLMI!(Dq&-XTUAC4;=voiBLI*0Z=?TOR*-U9iNuixt#1$7`P0~2eXp^4Fx^*?OKg;f0TeIMKy^*JkQV67CRVB7N}I1# zzKz5-{S*wX+s#p_(3k0BUntTYn$E30J(kKrdAqc>%6J#ZIc0_7W7LKIjbCw6rXCl3 zy@_hGNyNIIvjO#|rYJjF6P`IA#G((OTx!%P>OCrg*s4!f5SJT*Jl$J)lhcYE=W2-E z-%h3C9w#=pei8)TE)mC^m;`;DwyZIh-uTraQ4M)^ZSc;FdVsdIYpwuw_|u ze4}^=-6s}KY>tZ>$n*M0bG0gzb|~XJQ`aziA8(}c%^+5N%N<_+#V}$0J`GTeT+d7? zuVC6n(Z}r$v2I4gz%5jSs_VP>ZR&S%X0{t6y7*l5<9Rkn>`=l8=y*FCC2Goo+k{Ve zYSCW2To^0%qjlLKZ3o+qSy1_x4LZKS6skY|CW?CC#T|8{`@zGAtqXI24$b#s#pRX| zWU0>na=ID6u=<6nEsfZQ)_UF{XadSV-_EBP=VLvsbf&TY1C?(jvDsZd|3vy zuU8WGvx#J6g?^^x_is}9F8H6dbcFWx+9*@lW3}8-g^78HxYZZ8Q*D+^Y>DtMB3=56^9TjVm(1V z-VxRA)c|9MRIHw$#Ptlfq;l9zZ08wmXrHZ!iyX z4s2U=QB;Jwuus{3(dIu3nQhVa%#Y`9AhAP>M359{gVLMzq25FbyJx9$TAU9RH;&kz ziSPKs-R5X_q8vCG2IFbVg!Moy)v36}#0F?Bgs^in(NKXRZ1{Z-uHK~1O;?Ga;&u>Q zlxG0x<5iI23q4S6G+~`}Iwgxo(EC{$?vmDaI9>x1-x;8)Xl1CJAi)LGw1gip^gFm8 zvC(V3@gB3R(V`c!a3-P}OH6)e;4ivwdlRvRwm}e=?vB3vF7!j-09>_d1UGy#{e4kL zYu}t;eHB4Fex>f~ z+PkH-mF=~LNg5MSsYD()oo_hsZ7_BT*-4!bh}bQgAMqhZqtL2JJ$$EwJC^_bFQ!M~ z5S2qTu>(57o=vWX$VE#P(%(GCKB=EYs;2bV<~(BE+#R4@*q1h5YdG91Y-W<4ns9En z=<$e6#A;h+@Ri!bQ1B~RXdG?Iyxd*Fh%PixIjHWD*4DLY4*0f;5eR!8zJIt3fAQDj zuKeLnoey5b+8sB7B6|Zgq^%Cc%Nw!R>l9J!;&Q6ZB8f#ouHgA92sK4@^FHn`@t;i@ zI24&sakGiNP$j%`=}bf1gKmEBfGT&#a1G8`(?hjyJ+Xc#Kk)4R58@^J^x*!1e&*%u z{mjtnf2i8z6Q#A~de!p-t2I&8pK>5`c>Il-R=b%+>hyW$K`a~+)}`u87N=kUn>?dzCb9E+#2^Y0_5sOpfR#Vx zGePrgIR!oXe|HVBO*Uhp;@v56V$=kvb#r6yt*XZwGGnQ@L&VBG+zqv(oRG~9TNrSk zBHH$NJooNIApY@Q;<{Jb4$7<5fE!mK&W;%YE-^0bq&KthT%|xN?s8(~?~MV&V528d0%DeU9ER0sK_seyXtQPDo7_sqZj^#3=fBx!A~f7I~~ z!C%A{ewuKpwuoU4b4#1e{ z!hSkv`FL6Q+h3pS{?!N1I<7|9L}DBEErhB8VbACQJ&^bMELr~4o#RvdDO*mg-ILJ} zF6Ys4xUq>k0Lu`$U8B{dcqefvqWMQWsSDAlPa@1iWWi67WwZ$%X zfy56pP>Wk1Z^695C!;Rm?duIG8$_(SffnRxXb9_IsDpgDJ#%*V115N52J_>&9#5=i zj3Jagltr5qhlAH|-t4vtZ>)Opoajee^1mFG#z4UpLzMZ{9wJWlh$JB5&d1XK^*V{| z@A816z(?Y!>-NI8v;nKr(~LbU=(XjI_epE3`DchPi+2{U*~WlwhCRDzwH#jb_Yo>z ze`4i+9}DFfE-0g2Rag)15?1a~=GJG^&-pFH8Y|5JQx#P-xOfDxlb1287R}^hPaUJ~ zlNX4!TkimcZK|kzy%D_kQ(^U+EI8%Wz0|$Bjo5krSi=$pS)}@6I4p{@VQ<(r;G>hZ zsC;!(q_uep<9~DQUx~9n3}U=S z-C9f?;}~LXCwKz8NqAQ-(SrA5Z%RsEj^m16@s!OcHr`hsl2f%&?JvSJAb@Au)}3Nb zAEVc8ZYI|Kpbt2dc8KMLeR>rcVwT6 zKH&v-`>As>huFGlwxFpeLW92#@@t>!a)&}r;K#Z@Q*j%Jtv>dU&)jN^JS_+KP?^1w zi3Tl9=k!a=kLS8#sa*MKqZvxzjB?5dzjellOrJ7oI#1EgZ#Gl|KL&k^Kp{RY06d;t6$CW`8!=v z#)NPlK#eVPLsC7abZ4a zb>DNb>IPw-=`vY1c}|{amgY7p?h;~S>c>OU2PM>}Vht~L9cTP~5hugw`<_3zUyf58ufmMapx!{;Ocg0IoY#{7kPu8tzE7stDqO9p5X>DbjM!>xD4oJ>b8Nx;5RURUu9^ua;E3n5v zGXC+JFCtblQP?BSTll{4f6a&6e!~SJ&NwTwh{~az*yQ?NUOPgVYm}r7n@m-hy$^sX zXgEdHrhiykTTs~xK4{5zalX4Y7#3}0Zrn^^bZ^mPMtq5Fh+P6!DUL`+U6_N`9xm}X zIgXq9_e?6^SYk7tszCmk5^++sJ#3pWk?j+v))sFmq;e=AHuyJnDCp8fyNiZFs^{<< z=_a>D0haWCrxs#uelr)=!dFF0{xg8uG1hG0RZl$glR6bw^N6%IiSYlXL)#R|cd0^5 zvI6F+yhU5q3>W>_zAUjVYWMjCyHQ;fD|&4N zk`fst@->D^8#~q_$_cApy-LM(CsuB|9`u_Sp&mPRXiV9#JtR0As2=9|>mR!2+Vk(CWVw)x#f`gw0a&ypvd1J5PLWBL1&Ik0I%sc;!d)F8m zD&&!~us_-IE;0N2l*4#+iymrnDW* z9M^&ktB)##eiQwnZz5F{UvAk-3(AHOyQN3?ev1(1xqmT*(>r)(=w~;sH#>uRS570g zu*Lzp9=W5G^D@vIT8kfVYQpw%qp7%+#8yxF%tud|f!wG5!$;&l!*33nGwt6lQpcj7 z*o+gxmQV+jK|+Ni2piF z|8tiRdm%lT5LJfFqi)B?j<(&VYIM?jw1?I5XP^dd){w$jpZ(h z=X>oqs z-4XWGvDi&)>bGxv-aU1cm#+!sp0*5A*2)ZNyrSZk5u3mE1)q_aFGd0Ou;!B?8`o|n z@)ZWA|9CIyCU%jDu#ZByHuAZy3eH6@MKynEu!7THEmiH|R?;LMdO2Azi** z)Xhxb_G-_j@(m<5^`sUgcUvM+f;@zW%5z>>)>z|>DV0MUu~zwWp#Rha)MTjwXJ01Z zb;m5Zp9bhYg<@i3+=TU5tL@S9g9>msQ=7BBc}fzrWgYdd(Lrq3e0>O;FOMRGelFF1 z1(stLGjHVRb}&3HtxZyE3$6-x#PYWsz-`c){rToCe7v`kI@kS(O-U5S!_*m|NQowJ z8Rb~TJ(uY(e@)f4iP(H6H%K#aMK0FDzB{>laLPpm?%4{uAF+^Fnv|}u5%q;+HFY1Z6$Wn9vc{_(m_SnwV`~@?@Yl;KQ6%WIdu(bpODs8yipBwpDH5B zR}C0xf09`d&@GBF+eO7i#P(b?hQf=6Xt%3|um`IFMxg!glZ z7WIi0`>i4Rl`b1!uFJ{o>J|NX9eWU4q!GsJ7qTei!bN_laV?&Eb|16sDE+>^ir95Z z!kp?nJJk1XkoOHp#S-Tk%qufpDu+yBgQA7?)K@btv#B9aBcP~)3hS>Bk zImR z!D*Hv1P6>oR?Q#z7f^}I3M3+(-LjNjPOR02D5x9tO>BD79d7CzV1{x$xjXkhQO7Nv z*zk$Mvr5$vtr#J!uY742)0wKrffa45h;`jnz<2zqiSpz7c&j-FyzLuLFl$Wde_sQ{ zu5zyC7n~Y_26{j8sXaRQm^?6|jr6}dr&H3}%GwPfwECmit-u^Ez5c=+e7zT6m+_`* zTSTni=4l}BV~5O^>VvYQt0*Ji9djV3Jd+=6?Y zM4ZO7tyB)Sxzf1Z^@d>gRTEi-sDsaOEtYN0^(y`NnaW`vu@Gntm088&b)lo6H^hm3 z;#h-Kes`m6BC&OS>abhM0F@>x!_J6!JflO{gJ>uH%qk~#k)#|WS#c~1zXN*{2a>q5SxE45K@~AkaDR7Sg0&!EQ(#ZbuM(@RSdB)zuCgz z&ne=_WKT$H^<>9hJc=Fns8O}$6WdWN3w}HL#Fa<%;hpJsCO`rdAdz&JK#*RvJO({9)|8jl-Ft8VO}{h&9{g z3vp{SQEjRnTpvnd;_F;EQHKtdZv(OL*bdx&Qbs->OySzca|~PJ!ih6gDXVx^T3Z71 ziFfFKB@X@95X578nZ8aFraSUqDhE$uo34K517}P^p*cN#{GX4pCq5QgU08}O!XxZ_js)>m4i%yw6+Xqb7-3#h%%0M@*&(?Y+7NAwQssn z=cF64o;AUISGpcr)&81KU6Jj*Y~)R5_jUUFVg<1!K8Da3uYoFlH-Lm&PHg_~eUdk~ z==0$)v8h=OknMO(9BAPM7NXJY{Bil%v4C!~YGNas&0+9gVULrGHce>n*27Y+odqrPBMNZlUA*y-7E*P7{Pi}N{YI~+c54z_EJQSU)Dh`*-5r52lW z<#lmX+$F?rDOZ53ox_mnui9{Q9cI!$CoxHZbRSbHvGR4}A@)F%xcsUUd^tFbWzk43 zvFZx-eGJ4#8!ZF<%oOpPZ@v(pti$>zYjdmYny7b}K4M$?%%C7h9W@OZK`CRx-txPH zxjFw*)~--m+ZSQKzM8>L;=&U);9+CHa_98CZFG~V+CqulqWF$?)l)`84XUuIz><-f zK9gx))I-@MVhejO@L?_k;?7%&py!js>ymi>D0Tk6A=d7d@c-iJcX9Y-8<;b6mpL3il6!xh?gOzpFRd-_XA8Jcri;ojoO!$k|9D*l6WcjX9@^$vpm__1fv|rDS0SvQ(wC@2<&Z$E@u@D}Z}dcD{BI|( zb6YkEOio34y7R-{A~^=%gBus<|n7v+2x<=N8D;{al9O7y`t`Mo$v zSLml)tH;XB|K-NfS@bx(ZN!$GZso%~jF9?4d8qj{N3_E}jgb#6pzA>z00ZjcOJML#Nq~iJ#nEB%9LA|a!8Kuj(_OuiX>P-)d}E2N`e+4y z&;J(Zo*D&jo{wi0Hr&HsyZk9zK&+3PFgGFmKe5EZ6fzvfuyMWLZfq=~+pLAy>_1z1 z`GvyuCai0&zWKE1FQe;>?x{0WT+JeBZSO^LAnG+n%O?r@DL8rHnTP*n8b8qg7Fl9t z3WYg+dV}KJ7GtnlG?y)2s*J~WFQVeEBR1&rS-vY*m=}uP@O1}oNf`fXreSS9Wpjyb z^62H07LP|68-(>OH{ZrOSK^tMrDG`DNUZwiQP9@jD|VV;2?1-}*=Zwg<4-T?Z-3=W z(%M}18$s0HK`8l}(0?!aikmL0VV_OEQ_qV@#8zI>g^o~7w#8&ITv8A<4+vQf# z4rfJboVh!(`Yy{MVcs|t``A!e=joHAs>qak`!t5iA)MH3_9Guv*(sK}VFa>wo-p%R z4W`SWlFA{2SeH<1XiA=fj4!<7Yo7j#Z#3-3rKZMI+&jc-PjBPH{+37O!kP}3T=z4h ztO}W-VtNenAhFG9iXeAE4_!E>ChS-7uc-XN1jfev29<-$WobKn$u@!1IW{QqurhS@ z-o*o)o+KiX{_hk*v5Z^Jv#S_kk7xL z_%vZmP!uY-5$0b_eFr#{NNaO={Ee?ToFkT*HVRaCjAy-c_e)eS(AVYyVq3l`!WUuO zt8$GV=oXl=3g?8qpy$))Lo%@)wwmDoMh127GKAHgUm5+?7bJtDo>KWrh}Bgc4pA>| zifc`5VTFt*+dpRk{v~%6WqXPB+~))(x0=L7KRE%n%9H(dV>iw;Xr`V+Hdmyz$&b{5 zEH6(aW7*Hw1l_?hYZhLg_e&RLLx{~V7SI`NwogZ#d?O;|at<6bTKftui3I%Odg{sMC@w(}e%>7ga z$_5gvDQgVXd*x7+lNm(p@?tNycVqAUv6PJ?wyCL=Zx!Cb^RCN)tAoysqiY)(xwU^$ zwwTyBmv&ycY*6gKKn?W&UCCJIl`#Hy>F2cV9`E{IeG3nvwL4Xm4hF#?wa}hg;-q_al4!6?xjl}YF=eR z@`@?DiP)m~S9$JGp18N)5_&&tvW5$cnAYk?lr1DyCSC-}A9YbetTD7q^JmJ{Cvj!_ z_uwCoTPv~Ab|WFULKD>p>%-jquZ7W{X2IP&w4SosWzyPKH41wb9k4+4&vn4Gb{_UH z)Z$iurq2gNZ1N=$bUao^H9IUI=%T79X~q=p!Xw&76YG!}1|p5o$WKWRDrbI^WKD77 zww`pLa>ygLWW^1>R@n)4jql{0jke)H&sEI%YmrntG!a{OY%N$_9*tW5FoOZLcQ>{z z9?N-;n@7b}y(XEJo?1_A!$zL>Ea(&W6syAAPbV0co7s%^Df$^8UoNdJI%5))eKJCe7(J*R z?!)xg`EX8OzESrF4`SU8Iz#H~a&bcY7$_^UVZB@W@Ts;5RBfw>O_ahDU@_vb7yJ?MhwDd<4{nirB-r}5l5gN>9;CpIX<1sa@h zi3`h}!6(a%oj$S-zcHZi)m6l@XN*DHwolwB{2vKdbYaKeY{8Fj1XFD`K&*_g4{7ew z8)E%mtfAoIaCXavLQ(yf63RMNNNe+pl7-k3VXv(M69{qEVON~=WR8F2D7%Q*?p?-E zCai;8o~;8@3l8I5E0SQ#Cl#0bUk$n6|M=-XR!kmF#eGj~#llS>m*tFlh5l-pYsOxIv)s6^BZ4SvdqY}V z?B5QcI9vlYjxmQ5TDeSn>?H1<`#Q?bBR0=W7V2`pi8b5w;L5HZCikla6Vj7K<(o)s z*knzxQWf^FbrRl#-NbCsKZkBCQ;4B#IkD^nYj9etih9==fziVj;Xj=vr#$))l|#?} z>`Y&3)pv(ugWn&EBt%--oJ|^i46^24IS!^sP(leXdiUA(dg^Q{f9PC z`IZnH7S_*iQ?)}alFz*D&*|8|;UMD~luTVioy1y&nnC{OcJW}E6;utkVh?T<#$}EP zr`pUIOKS@WGlW86FQ|qEda&(h5xdB~RigBC9A*899r{xnk`C%1)T05r|9&oUTy~0S zeqKY_EyOlW>ETUXl#uCv%3#&y$E-=3%_I(|=h$2z_Kq-j^03Gp)t*xV;h~6=Yx70R zZSGU|zBXc8%oV`lP!Ng|_6}L@*N)4cZWV=D#8Jmhmy_0(dfEvz8%LwQjjHgU?4NkD zZ57_)y^m^NA7WjPX+moFWRx(bjaLp)@PBgR%1C|zLu{$A&tkTmIlAyj z4b=RdxXN*7B^`&3Q290xn<%W06See(SaX{-wEd;So;);&Z3|9O`6`06w)eu?c0(d% z)ILWGG_Ox(WTu>%yx+l&`Y!Y&wju2b-=%g>TrR8^^j!TFV>#*&6W)81Iu>h)HJ)V& zIa|$9**#5g`E4&&Q~iv8nM^-hvWS(iX2ST?266czJ7Bf_+0mbBu;%MFD&JaS(+jTi zAv>DHYlL;u7q7d^^tBvg);;})%0cFDX>BXM-{9jey%oQ=RfPjyNzA!%CmH8#dQ6!c zvDFt0AoIN=a#NBA_3PC*YgDepr&NJz-xb7iLj!!{K3!xb%=a&vDKF70ZDTB2>F=z= z#HRhC0P-3tD78@yJY2Rj=|9h7SSz|;qncR%VBs6*kQ0*cQ38jb-{MsJnj80ICQ-G0 zA-2ud5t@!0qo`^P@H%VA=nDJe^lbhM|M*VpTq$h_%|LYsi+LrES!e@R??c^n*32b_gZ5`LqZ$!wr$yV||EoJK!Dp zl;Mt_PNu9d$LRn5-F9sq2aVe`QRz>nFzmuXX7HC$+}oskl~E(j4x5)CM-f2Ms)Z z&D*sO;;_-m-p2CxsC!8;u^l26SUyq?h1P1qF~>(t*zdD$ObWir{CGYj5bMz52DvBn zP|-*|Sh4D7M)iXyw=OD=I@e2y_0$;#MLxq(-*PpGdS`@RF}s=W?0o7NcM+RdE{yqq zsEOoVl!4PM_0H-rVkT)7QaPC3lGYY>Q#cnp9Z+0=0%YrQct-Rdyl;r^3ko1sbb2({ zWVxe;Yf7-<#T$HeK`!1ip1zlCBerh2A*>Mg(wP)(3u~5+WW%?w#&={Bs2qxjtrF(d zb*KqzahO{|Q;-H5<~N4B*F^vKZzs0z$t(!fo`n33)M3$sIILQw#I2q~_si*5OKTfk z9|~64R;YKJDGb_P6$PXOa207*)G_uYHcIGQ>GE?!5j{hE^tCToQpqxv_a{)tB9>T@ zt2?Z56`^2n;hnCp3ICqbj3*DVRNMk$w_Ke8QLj#jQL{HhY%*ml)+li@cde;scMGwT z<}pwbJ{9>cl84s=fHR&ba304#Q#okfme!_yRrp@HeNSw*)fNKgi&>Y0o;dd@eNSbH z^_jQ&nZ8l{i zh#k~=%lqFJzWv84f%ef>(anlPrb(Y3n{=Gm_URU2tkNScQMHDUXI||5#5x?gsg|m( zj@S^juY9jhow&-;3~IKSvR&QtMP5s9BN<^|OWA{`aM#Nm=I>eb_r)Dz3wJ-{gA0WH+>a=L^6WFB%DP16 z&HkfQ+(BZypA3VNUQg6F@E;#r(}6=*{UVC`$J_hId!I{g(Sy7`8OX=301oZbnnd>hA|*+YNNClf0p?D_7NF6>49N(W|5h{JD&J8|oR&*LB4S3>L}VNYkfe+|&` z$HKcz`V2J{wa0G(^qU%phayK~Zv!6K6fagNkcYE3J*wn+V%h z+aY6-4m=d8;LHu9x$bxLH+l%M!FQAZ-J62q*7fi`8*8z9f(j#ZCTa4I`R*pRBuyV& zg}p`H3qJ6cca^!ef1JG4e+j4VQDww-em8{Rqb6uUlq$48e2lGL_Iqo;(xZ-BH?gY{ z5npml4P`gJKhoNK{DZ)2-4}82acB5gR>c&b9K*$2rNHnMTRjGPFDaqAQ|9oGdOl-N_y&g?(f8kC zVzV+vfM|*v${dn`f@4{DW9D_i6UIj*e;Y+l?z%@FU%pGrHyk_&AEvw^fOlbzO=T%MJiD1q=M|88^NqSFV%XUnK+`4-4g-$mZ%1~h=S}i!&pT|x3%_FiM{!255d{DC2jlS4 znJLwzpF@$vMj03Ii=vCg+9~?*abGV}wPFdgCbpW&A)8pMuogaMxfP1D{lW*8B}u+b zeZ*A%P5-~BC$>&A07C!uLn%S>a1T!7+?~U?Q=Q@X$7^2xfwZ=kwds7rYFp$yqMa{( z(I)x&^eR(TQb6V4L9CsyohK#Bq`76f>{($>W{(!D^7}t{tL+Rb2iFE^J7lVB!x!v| z65bE;VTyNf>fWs)_m`8YxXX#nn&$}m<4sTyrw3b-PK*2|I&p`4`XxWMZ#uEL!hA(t zgW>4QX*D?eNtNrJV=Y>DgdX!>MXd6o;ov*n78TD^gq&sPag>%R4(}?a;tmkoJ6#FF zOk9wR+z_wX@)F1YX2ldgr{g+3l-3q7{ySgdXo38HQUKrAWs*5HEzG`!BdK;+L~NYa zPY{yaCiYn90xQ?QXDWYo;v9TVQP)rkvEjm)P{nDg$YVek4CI@cV0*+wEvMi6IAZUN zc7yk7DyU(M1$g^kWmJ`HxT0gSRNVK(=2!HWQ#H7Av_ ziNwZ^(T2`*qft1PgRGa|vDLKgqG3C&s5UDnwxcuz{IopK;jO~+({2pjR%yWvtx2Tv z?IAYRV;&@YABnb274|89H(hi%(2-l%yP2{UkEFE~2>)49Cyzl}j;lgjOFlk-t_Lr9 zpG@T&L~KpDuuj=WIaJ=F4~li#ti!5wQN^yaRKD@Vs-CceG+%e*Ybgu9AMfFPC=TB{ zW=`c$Lae?p=V67u3EJeZ4&h!ynA02bdUGmA^y9JUBsOn@2J|l9D$bfP4jf*%v&9ZU z_{_}NR1U^X(%PEpHNdCW5Jfeqf!yAC_^)4U8Oc@pzT;2qBB%R&lSZQW%|UxejWlBu zHl>OxALmhVw-9Uf?q7b<$zM>IP6=;S@C5huwTTjH&rtbZAeM{#$eRiCSPLRlL36eV z^B}H*3C?;%#clgvTw%Re=T709cZ>qq+TX|azxLo$nsl4#K9<(j;5HJJH(nO^G>rid z`!Vd_-hi*P`%!Uyhzp#*wO^j1j_q zgH}rHj;%#_qNXtwH=kHfuTp-Ktum@VD+BVIUWmMnff+hM$89Dy;D$fcJzk0ijo$K0 zWN+j7XK&-%VZQjsW31jRt!-eq3FKaOLB_(~+0HZTaHx%`#KWe9IwwWMx*mSXtLqMl z)kWGMudTq|wm8SwE&fR58%3hQr)~5JGT3ea0 z->rk^E%8v6wXiO$0lR9viKsUjsJNcQ>gRpt?@ZA|p_7%N5EqJG9KOp$o@k=%8e#)p z%m$IlRMg)y3|@ZNhuvOkbARZ}!awGaMXXno4GgYXg1G*t{DYr{aY>vXb_zueco?)SJx#*D{TRlgG`IGwu;&yK>J;hySW}jg@bqN4qGnDIDyK+ zjaYV^C1iEUBAGqr(D&0g*2MV&HZi3CL#`m!w*Mku=k6XUL*@+Rt_>7w>VNc z945BMb20QS{te}4zUC+PU&E(fzrrWXCr~+56Pu+q3W|?SMT;K2=OqW^xetr?Vx`eG zl>I_%udt7g->KK)0CRnC-13P*m-aCo_VoS1`Kh!WhBAdUVb$f3=Ohz2?i|9F+>yf% zFGo`OE+IDZt}XPtsG-ONBlue0$6WBS;WmAGO&yC=VgqedU|?j6IOn7Vgs8f)ZC@KD z2|XvMxIpZZ;BgR@+$^3K=pd|{G?BF$(&y6NHBjezAF&=bR#5yv9u>_V4sHo!*u1$K zT!w8Sm4jWYv^MR^|9C@xBNSFA4`#<>B%2-oW75WapyGxSTXshWD*h1W)rtCfo5~N^ zRbEzNwKbTEn?!8H!WTU3c0j3!kVhz$zSf?{FJp5bC)&b@xT z#Ak&eTM$qGmwrQR_H1=2bhFtIYPOrT+^@QmH41WvEM;m~?}k!|&6s+g>}1YsP^q5cK0n8a2YllMJ!eU zZIvf@Yu#5|v2s8D@tQYnlh&3KUk zRJ_9oTFiv;ayt%*T;1q-65ELNjHux>B_j5gUEQ7nGa( z#hTYf!Vc}nOylv1T+Y;oRGYOEtA5)MygY?Hjpu5>`8y6=b@U0z;Kl8f)qf_fExT2i zgLg!j!&IgUncGyDxqp^1dB41;a_}Wq-y#48r^%z>>GtsI$sVTj%~&q5@=vPGVu^Kd z>EaK65TWFiPk44zDdxN*nf1>MskjBis$MsNrVTQvI@v_n4|_VBQMN(yFqs}#+(K-{ zwoqu9aa7!X!w0G|4cNw|hFruy6R2aX*)FXu&cp+TE*c<=;xQrUa|G!#KT5mK%0$4rOzR z)o$(MHHGhs#Ge)5O1mZ<&w-{}Vs{eV;XK!DBW5@ZM%$C;E zlvRE%t*vnTSg0016+1WC!yR1{HndzANAEL^I>wWT%@Us3+*6_dK|$DW@PW;Zhf52X ztkyGB+z4XBeMi91O+{oe(F7(O>S27(J8Q4&lTmtGwhx*KZTMH;e((5L?!& z%lk&+fB9703}P$Ct%gmq{-`ET4cg7e;rI<^+~Q37AIcqKt<*mA4pW99xkL?E3)Rex zS=mhZ@9k9FL1HrwxCwI+g}o$&ext2s>5S&)k(|N!U+|CTgUbtPJFF4*zpy=_j?#;C zp?{?k^VIwvlYim=>Hj4*aE`DC$9z>}5o!QN-)k6;6k)G#-!)V_q!C-uZU)GJLC&}P z`H@bVT*4Jo+|&%zw_YW&?(5`0U1l6g@P5bFDLunseKSR8BkAk7pIF_U1`x#CqY~je zHoIPqi|ROj!*@m4HzAHmbg;16P~tnb6;cF>BS`sDJqjhz-|aA@SBn zv1FdG&!CJP+h*j&g}s!c+ANva!Jng`CtU&ceHsH}hyG;Rt0!|c8&oJOA$D86F*qOj zD31Qq0?HSSV)x%j#=}xKQOB*9*wk1<$bLQ>^$u_2SM8AFWL{`Uvb)Yu|EO$UN^A2| zi{tZWHjCBu)WI|6F!NmX3}bkSeg=dPTa}{^>JL;<>nT%696gDRT|Hj1X5n|L&2|&( zx~!f*9&U$n^FQ+4H5>4&YnPeWyYw|wMr{5qVeLQ_19ah;24w%5fi<6d;^w*ZdfVN^ zM%)(m)A&^pq3H&2A>58lQi{PB{OE5}vo2|EiHfGe_MoFsf$A{$RojU3WkYdn{A=pm z2_$xrF#e-%uvR?OWdpw9li9Fh_ZvQ8g;e{-5&LGEuy>WmdvVq#6Nvl8nsp6q7kSz} zplmU*jjaZt{YSYtcrk1<5i(7w9$KS#$^VX?xorxn%GQtPpFRnEY_cG z3q5mWS(gLjx#XwxcVQl}KH93FeD{vn!p0V&ez#$>Cft!cwxRp`nuvY>voOA&XO{|YbCC@sX z6-)Npft;!;+uPqKN?T9&Rn!w3=AjG83x)lqUDaW2YXV+4?h)hT8%3Ry@;%bpJR=(U z&Que$Wtu!>9FG#sugqbVPrpIs;6ZFl`D=d3dM&hIwGw3eL^7XyOBkpBkE^?n>-qX0 z$Dc~2>+4=!>RKg9LQ=2ud>$c5OKVB9mg|_s8ZF+9Bs7vnT659TVxc9Cki5?G`B;*K zSdtb(ONb>&lKh^(@9XS#b3XsyZ|C-SJf7F*c`lk-7#mM*o6RH9_xf<`xkDS8UTdIl zbI&2&x9qcUAGP6M4vM8}TDUe|4_-!HLg`0q}3H;%wb&E^nNsLEYv=^;LQ0uu~+Na`w zQF!r!M`GHN2c$F6jMOJ>X6jH$ZDQC+sN1BCBet1>!>umlA=eTT9MTxuMQw+)A3^u? zmwZK;CET=d;)?6yXD|1WdYDD$2T0SRAT6acGl^fXRf$Brpcl&T^Cw2^n zi9aE%b?1e6)8i!xo%n;iWfQx%a~ib~cP$}z{V42TEzRYhbDQ}4EhTC{S}=7uMQxNc zPB&^m3;P{6fr0O>IluM8$QL7Bn0Py=J#eL045-z{#Sb;0tzr?Xo^$~1?mEX<*-K?^ zF`{&?+j-&2Ms={atR%;FJCohN?q_NiLhaK!IizHF@jYl1_+1{stx+`;!ZT8s@8c9| zlZNcUv}+Y!9ab+6mG+Z}bC#rkS`yQ4DYaH+8X$Y2j?JZii<38XBCXTkpo5{qnRmoC zYU9n!!G4sqzsMwW*m~TFtAusL*oysUY22gCO;EWZnoE1g+}o-Kx_Zat8_%^!&u_LL zF^Jl1eN8aM9eh=g1#Eq6&NU4!K>^S1GBr!0_SoD}Q157jRh%uL?iXuRzQR;cJHcLW z#nfihj{(6nN=y|Es%9?*2A{ zi9z=jJtqefAmhzNes}p)&~tx)Dvvn}`#K7l`pT&d?em9~|2kprs+KfH>0V&Y_rnF3 z!=X$JtEnxM=CP(YeU4MUCSpoSH%UF4D~H*e58!o{lp|X+Y!PG@>=$ zQur*L9k0N4>=eT^-;koR ze-+t^N6fpYAGPUWe$XFbfK#M*xeYgrP^tA8L3D`rB-*m2ULG;j2$Og zK;wcQ`HEG(LiDk2<~pvW_SC%#(i|>-Jpb5jY5m(=a^~kFXwxY6U2cHdxP%lj?^Pea zZ}D)@cU_H!zx^GhmkUh1o_)$X_%Ab%)?GBfJ|Fa;xAnFB>kn3v-?Sd(oZeD~{!fM0~sr_Vi!g)pHwP@y80JVnyYC_Z~ zJ$$pk0Iu~!p>u27P~Jthueg`m!Q|KC(v?oQebzAe-qsEUe`Cu+=isF z7wYF6ak(@mXMg))60qr}qIe^_?m;xQrZ5(YN5=NAZmR=ysmZV)?QxQ;@io~gjrq*7{Edkr zf?D}rADG{!iwliyAUAF)a-9$%9IXgoY&x|YA~^8=b_{;uuLtXY+)vDB+X_FO3}$Qv zwe`|_S+Le=e&JI`@anbaE{{G)j=W&MTRN$2Jz)TS!78|1*9=ttw&Q{?nad-dv)`sx zZxsiosKJ_jZ;0P>Z+XSt zm(2P5klHqBJaNu@X?>$uWAHRuN8*1q5V9_vXWBI#Q0A7J8UVSnAl$qAt=KnohBz72 zk%I@>F+|g;mHFQk1$W@Fl{FMq>vPRpC!yQ}jp*ZZGMU&hUCf-(R?Y2#Z&dxV{!4?;ok=%#0 zLPiUzOMYd>%jv&U=9ZZ|7OK{$;KE8fc)G`!i;~7E_ynFk=iC{9#wvqHV%@R!!dVr?mHVogzx{yJco*??J*k-l_xZD^skm+ z7^%ti6v~AIAr8#>&_u22UtQwE3AQ-d@V#i&a!E0HOF8mbx`(N+)}S)CV6}^)sf{yU zGwp?#93D?+d!P{Ev&4b_Y+fr%|%r=02O9Q;&tpRjZe1Vc?9z+i&viGw*Y8%3g zpyX3MtUKEn0;PYIQ9r4poVC}OV^K%#pliPvk}vInR4@VxhfgE>j&Dc0m)UQSOLAoIdBt%(aMWjp(09s@w9X$Xyt=`TM~tJk z^7%;Ux7Nhk8%-hYs1>(b8Vgu%RLHcuo7w|Ej*#B}ukfWc4j@Q-QBNPxAr~7LF}YP! zYrj`ohcnL)SH$Q-*}Byv#lb*mE@l6V^if;AVz1b?@+_Zz$Q*1Z{f%Ng(~;|^4NSXk zAC$Qzeya=G7kC`h^;E3gG)RPd{{*@UPnhEtLv8BnUa@VvU+6U#v+x}!?P*9tdq6!st#&~;#4)_$#LaR>RM}^nf zevNKw-IAw?37?zdg1kp!_b`jVAB#?+n#)I-b{$nT{$Kyuy;Nzes3j< zMYpU0-KW%Qtt}U;qa1Nj!80-ZrGsL> z(Qn9STM=VzhADGft==Y9g^$3ib+o0mRxQz9X)TVDQubUAqc%mF2bq$%1ZT(H7R`g+ zkeo+Wq<0e65SPh$m5E|7IqJ_0)D7`Gaxnc&wWv z-G4^zBn}I@$@{Kx(R5m^qbIup=+tZxEZG{zQSXB_H-^{*)V``mWZxc7{ zl=eq&z9p^?awWf(mLgSc_BphM+QCE45O-oeKiygmX^X~jcNIls%ZY_d9ga|&`RfBQ zh80d(YzA8Eo8%9MzapXiKQncRr`Eq>7?|ol;2Yv?fb%rqBA>jJcU0|U z>bsBH>hY(=?(fd=1x=Ptb=LLZ87<4cO3jpkJx(eTe96St)G9Bu{qRgrN0!bLyd8szqHQj*e~SE zf^Q-%EB2pz4Yh4|2E^VwL%er_5$y80iZ-P*q6G8ZOuPO6+4s^qnG1}thO|$c%Ga8l zi#!vlpO-Vad1xwgD^i$(-T_+lFu_{T+P_=TGG-_F`2H~eKdUW=Xs;2tBFq-< zot%v-lBWyDHgz!VW>M>$iXr_c6&y6m5zfrIiC&y_6gd7L=G+meEig3&b7N~}!-47yQh$8%1sDSQl8mzm2zxb%yXi$8lrET_#`u;>)y~L9MK%S}e*8 z$E{BQg4X63ZVEk|SNPbK%Op(@r{5alI z)aDJ>gOyW<_^?sTeLWfn*y%!(&Un%yw-mbE?U_21Qk!ti7)*ooF#g2|mhaC;cPH#bJ2Keu zQEk+Qbx(#+3kw`^#uP$En4x?BGZMPX4VZR~b(Fc;VQY|GbHx1_BVZR&71W~gh@ctF zoRdM+UOQq0hBKtSX^f=388040bELU_!}~m#nk7+tFVGcg=e*{-YVBeAVQ0>4W(Vo^ zoXE6WOl`_ug_!8#h--`Ah|+gIIh}t7O;7xTX}5*iAhk~b2V3AUX}){?#v^ji$5Vup zkzP!0y1L5TRG#OGtGhHX+*E_17%g;v(HRtdp^|A=PVM@oW`GAqm*LT7CCR$)_)j&Gl22CtvLN45L6DuTibn0Phxl({9W9|6uwck*7vK9Kf) z3g!D%|GN9{-p(vhB8t7=^_-R$-eKbpf;$qN-Q|_J8xWL1B)#* zIp0(@B%jMZFAh+9;DZ+ol)7NQANAnW%g>49BNt)H?m0|u*Qm|EJQkXVp7T}R_OSi! zNUk-cY-U9ie5{7^HrgU2l7U+FWNVSS;;7 z6xU$}ropD%nA+Q9{t|WOJo7YA)*)`H4|GR75ZT*#`Whr(x&L0kLYrBjR5_mE`~MH*-F0r#5a# z2fF5~;O0ZdFzmNuNHzK^v`tl=ImT7gHlL^!;|ibg>YwYug65MbVfqh9^$}s>eL-#a zj2+jI~FW8>QF+Cw-6(ZoBsIxwKr1croDMIoI2!*9kZqNK=4CivbUM+^}^(1 z8$s>-ImS@*&wF0O+Y)NhoVmyg4T@?b_L@(pc5Am4bc{B|@$(Fz>cIl?&A+K6rSKlp zZUwd3ho(c^O?4a|?GEG2icv?wWT7*Qy@ooeU43>2)OA?n`Q?_NlBgEgKAsa!C1o(} zS{W;IJGNh%$B=G?Cq6O;zwx5N;bj@|>FZ%^D7EdsHi&B`J?3?#f0j2Ij-lb!zo4*l z7tzOc*g&m9`VXK|P|Sm`3zXfR!u9zMBhd$bWNaC=;j1-Z(BB0&yc`m{&C7_o?H=^m zIuph|q&6ne1InLjVq*;%T!^VhPghP5O!k;C@tT?_bE^-W4ylhjdBfMEVeh9Ms3naT z4wPy!$9Oum%^G@8`inkRX)}PlxPD_Y8`?>pS>FssC){eM2sO z!3fl1T+Y};Y6~pgATI>t@VDLwbOrdhwiTpq`B*+P_xjOt2CP=qmhbsE7q!-D|2)HbTkBIck{l|`j*G`*m399z9kbJRGD~vsSS%Y2O;Y%|6-jr zXy*lS3$M;15AIK4>{4ojr%8LO-qggNo(Aw-zY}#O|A6YN*!PD#YJ+~90=utH!iGz< z;IUT;dHr)AnSSF><`~yeTl2^h3N^-Jw`?^q&x<9CmbDX)_0^0Wq_)9c9RwX!Tvl!Y zPuA6=3%5_AmSXmt^s-Ra!Rp$0&^77g^Ov|tYsz?V;_uz$NL@Ws-#BVBs~w?D^$ee? z<^k)I#&KH)&ycAqI!qmQQ#;sX2(_)F@%%?aV$;xFVzaSHe(fOpE>}&hx{kEJw!R9^ zxMcwgwOqO8bBXe`@ynTZ`>0*~ziu(T>KgBtX$?2W8*=H3b&}e<^3jL3mR6Fv#ZmZLm3`;Rq_%ZYvv_ZT zJ6_}UOq_ppEm@W)pj|>D6R(2Wd$*;vsE=#n)HD-lSmVM)et%NFw~)Q>bW?j^w+(dM zHpR{=`ViAZ z>Q`~=BrRO7rV35dd9*{?=cVvx_Pt~)wceZcAUfI_w_0hzS<4VIQ*9@jd2R%g+gWP0 zFT2CT1U)RoTfonaTTtIS6XDLeQB1r~sXg$g4b)T_;+BJk5H$7^^y2s^!M?PY=_jzU zQs&n1Yq4l5_V7)!M?lZ~P_)1ND5{TPzc0e5J@%6ar0%@W=X$wH>sxwrC;vD^h!*?( zmP&2*NenN-N8`-7(le$hmUK-YBTNlv|BIAU>+@U&6{{?8?-PA#OjRAJee8h>-p^pJ zi*{ae7XElrozfDBgUFrD|7Q*+AVfS<0=Xlsl(af`!8I6dJBc* z{>{`knA)h57EnAY40l&P7F)ghNzNDB6zj8cnQMMMwJZH~A@w@pqh7j#mCHEJ|GJFW z^^`H~mQb7QIV84T)y7(y+OR!F1uaiIfGUI8=fyp0Pu0ahZhl&cbvW{0yB8-nBc`A(0q6REwnK@EaVc;bxD z`^Ds=WhB@>8Kr%j&BPl|t=sAMV#;5ZI3ZfvgZZz20vG(;i&p%Z&a}Ia+MHii;a;on#-kfHy|*#c&eb)!@heCQG2%JPtj)S zUH+b?9?ZR4jLv?NfeLrB^CY}SD(f)#&(C7_t8M)BZU@-?N`s4cRzZ%F*zcBw)DE4q z1pKEdE}X0n-KPDdf8S_fk5dAZTMo6Y>pzF&z&1XpY%E;xxs3)-jS*5$u>D*$)W+Ld zN&j(poN}#8d>ddW`2L-)P{9|Ou?PLs#@$kZ_>3MtWVQ_a@91#xhqcf^_!A}u4|`>9 zEkTA*cVZY$>NA6{{7)m5E3s)W51z?Ht7N=9CbV{8w# zVP9H9yL~U8Qz)&`5;30Jdmx7_$p3_~&JN1l4yeaK=-q|b?a>=)uF-Mg;`M~w51vgv zer`rl>!08T6??sL+_xH#45W23tTV#bB`Lkh^RRqM+0Zr zxwMtk%B~y1!n?N8e^U*}zH)`!T(lVV$Ns_e%XLw!D$TpdPA=!oJI25UEyP`F|AkEJ zk6?1Mb5!P5?_&x@Gp+GmV@ZSQC#Y=Z6sEr%4ZaB@{=yai?aN z%T<>)Gwr5P8+!PID3j*sZcx>Sl^PS!`SwQCsKwe-)aHIS0v?uX;G64pVCViiv~9v+ zWSsE_bIo^9dp6{$*tC2Eep;ssZ~xhbHcvQ?QV9DUAahdY7H;7MA+ywR+HnWS*{07~ z%^W6Zt!iLu7DDaK6)uqSX%BDrOq$obPL+FJ@{DBkdQg8W8YxJ_(6;M=`PNyzxS68&8yq&7h5Ij;ccUil)FP9e<#9n?j}zjsMw=17h@~ z`}}t48?xS1g}Zsz1|8XOnz0(L%G?5S-KGBZT3*;b2IhZ0iu-!PNwO!~pRs<_29*tp zMWrKfk2KC?f7wacm9T_-eB7>4n---8Ztwo$d%v-P*eBXtXlI?=iu}aHpfXCC zn~GdogE&zYuYY3+iD$-fBhDQmiP`MFaz4~nel;3u|5U@f-`GIOBu#GGH$&t_89Ntz zF}2AH)xmDFC(gO?S~O`OBq?hY`fUe04kVXa?@D`Um}rh;Z4JTR<%hr!UnilhTVQgl zrPeCa3o?^*uu7y27(Mv|owfHD+JZ+j*YUuA?fOoJKK1dq)Jxj$EAwCSl}axmw}O~< zJ>8UbXzG&INITohADLkT4ST(~VYl{@CzT@X_wt+H>FF%q@0_8I)wW;cM~3K?jWxf)83N5*ki3HH)Bj!%I(?nCOZhCg_5Z z$u816%T{PK-NM9>PVK2NL9kNo13&SiD{NfRfI|MAEHoZhVcM;r)@!vi{+CGOC)a7f zBK2|-ZRM+&7RdGmbyAxjU;;vm8jf%@2mNC*E;Jxtp)!em=dv2D%&pqV7Ye@YHBhEE2rL=QKs zTf-M83s6mgoACGJsZ1Tps6EgtjVsQ%!yC#yp)b^i)9Nr0ymgN;F+8NU?{`b^O0vSC zTlK(qrZi`J!JZ4bpY<^{Gxb#F=6APV^dD=6v(=>kg^oWf^g52CreA(%;+;-y)LnD% z7?jor*OAtD|G|vgRCN*g4X?M%GhJnW-NLu z2Bfs{u~NJ3DMniPWIDGGn78E4sl2b!E!t}#GF}dlFQRa4b z*jX`Ebqco6YZAA--cKS5_aK*{SSALJ+UB+HkaMYy@44y*#e*K)jmp2tAJeeVeaI#<7;TSd`w5DuZ9g>?qOR)W)#s(P?xs&cOJ7VAZnw-LA74XF z)Y@P4gov@4_>`*+ycu>7J;gpk%#TI#kFA!MGB@X$`^EU{ulO=gO}M!{10BC{0pSF; zug#xY-I<-@&`J+n=FlTPZ`?xcKZ`=@_M4d8R#JObcqrq~8)^zL2lt%Zx-jltVrl}j0NMJ<}_ zKZ&K(x^7Jc?Q$*bxOE(8>|Kqb4o?(*T4PE+u5TW-rME^wLxMM6zg+{iYF{IceqWHw zzx|)}AE+%}(^-tD&LL6z7P6D?Nfs!`Hs8d^mJ;eYuuP5eCS@wwCgrbnVV1DXlQ?+jukoPus~jo zT1p*+#qndA++wJmzIY_Oc&vl_jZMJ3+L$X)cnT_;PBP!!nbbCmX5g*3#hVW~z-pCo zoKfztWbDdO%(M+t>#dvG`R_2qk37T|xrBuu+DpJK7(bdP6XG z__e72j3pmmo8{E{owbI-G!N{zUK8BM8cF*_A11{$GUiycQ(JVWQUo6} zJh-G!TID8cqOCSG%2Wo|j@(UAS)aO`a{8t%tR-$Qj%gzbk^nHYkpbv`%; z45QU>YqJ}8dTmBYdpM!stqo(>Q!8yBE5>c`;HxzzK=uEuIBxfyfQ8?lWMU|xc72IC z_^KFV?NW1?;cyZ0w$I5tCn$51 zWf?(@n>9W)N(74k1ChB578YWudigR|pX-teU(>}xaQmWWNnBkw&^-!;^7 zB?Dsd0(~4cOc&m1sguml*P<9*wjc2bwax3TLG_R|ZitYsy9eKrdB>iS?5X<9x!z2z z-4CXaaL@y1J(u>zdU>DJdL%2d{$cwyv?nTa6D%#DSz5<%aH}PxnU0j^nA?yM)pMEL z0;ugB;|`q((thsq%%T5^JL)SOEo3}r*F{O7)+)|g8r%FS-@w;*pzkT>){KS zb_=LgZFGcAEgigulR=_KH0t?jl~9lq#?YzSJnVV;-9vIsi;@CSnfKCl3Ppq<0{>^7h3=^qce@+*+FEYpW_eMZ;;$6k?v_H|w zt&15OPpvHTZ!y&IJs;qz4{sMJ&@bkvP|HU4yJa7>>e3#l!R{`2<&HtI;9M|idKrw4 z<(_47tEV=$*8xH+N8qyi7U0U;am&1(k^r4x#mDF55Vh@-wV-=~9u7aD3q$kPN$(Dw z=wSr=eeCV0tV42RyLfYfH0~AU*SVFd*7+~&z2C;x#@G<2<75WRTs&` zwLxfXqdOBrKeej$uF!v42iG>4gIU=tWO&m^s2zOI9Al5k%G_FJs(|TFj@VoMtyp_B zk;we~QQi>yEi#|l2$0%ZL#eVxoQCswbuC&MXDBQek z7!+6DBnFd9P|(`xOl}#}-qf>zvqt@Vu9gkB+E{R#eoiB{c5HujCAHqS%0+cw>7Qkx zCVYA~6^$B3Q09q7rVd@yuD@*sPxqa%3W-iA}_Bki3S65@#co7KSck8PwW$`iF^IFgUAi!^Ezx9fmw zg*|@py}Gm}{z?*~z72WrSajiIdy3jjXCH```r20hW&soaH-w&M=?euL*>}VaYEx#- zfOzfa{Mjj<@T%eiO2ckK+qUfiAGa$DQ07+6_lv^c@Ay1v|5VM^KhWnf()Y!sTBc?p z)ViG;4{%L}vyx4~(|tgpYVRnldN-ZPErr^)U`sI7*2TLI%3!N3ihI<$iQIklKgO0) zn{-hJB0samStGRI!KfYN)QWNFfH!-8Xrs0@V^HiqBJEYb*AO&Y-lD%de?)0#&NA^D z2P$(@edq_Bi|To+bDpsN!f5W*{)Z%&uVapJ5Vf7hCF5j_A4+SRWr-R{+tfpvS9gGk zH;GzLXD3**%o2A$GJyQDev)rFTqrLrW!f#K)~nuKnsa7^GYzHnpdTino_Zf)+#B}W zzlGYI&rgb4q7F_8_#pZnEtmhe>?TUMQNiS$mgfw$2c0m!staBhj*vGu_L01* z%S^m-YL9iRLr$Fs_O2fgPX-+&h6^Sms~>Zicvn+9wAckwv&=DfQX2ae94AkT8Y8%5 zu-~zT)W$Xkg8z0?T+!qNMPK@%7Z;s{1KZg9LnF0@4IWVO+!VWxH<8w$sFf#1e!mZ9bC@Uog9ocf3se>Q2vRik>!6NCo`I$O!c?RgO zt0$0mCOb!L1+^*bBcT5CPw~n*>hJ;zN$_WC!cUtGnVKD-cK!Vcuwnl=JYOcw7rD-p zlq7Q@?pH4+-fPrm=;}d}i8i*HWdbVEj@&F!Kz4&{zlI8@%q?T56ZpBj;)5OSz)DM( zvo-mXlz-O4919<6t-f~$!!NJ%|NokQ>nGT7Z>n2JQp9=2E~b`SDvgIP)x|e6P2j9z z4441F9r3f-af7+k7Ebnr&}F6kJ#HK{xw&(rem_dSpJvI_x0YIC&;sv2^|AhIUGRvX zg)}nvqlFhPF?N93Q@;d*?6D(ONb9z(+~cQ6(VQ%7xRKA)%#&Bv!C#tNK7EZE4lgu= z%m{1lo8ir*{(~)(TP(GwcBw$vY%LrxOCOR#644!_66AIHI1@uQwIMl^pwG`7r|z=^ zzsHS%jmKSt)VE(UF#xp+brZ;1X@v{&4M3&RSZL{7Mf4Z#Vq)l}wtMG*sQ$GY)_$cA zoaJ`poSu(jR@N{vxMF2)*|{kYdRUIb4x2*o^Y@CFMh9WWMfU$@G_~qZi=k7~0 zw?>=7s+d|-%Qed@KYPs7A%fca?>(S(!#UpkwFlI;aopkMWn@a0HDlAMZTLh5N(L=( zdEaozx_(HpzrqvyogWnSpFJnucd7%ohg@cko9Q%V zZYnAc5EW&MkE}O<&ROkbSVcJ*TDXa^)2R)gHxbPDyWrM`#_%-3h1k3_7B)3(VCtJp ztsyVHr&@RM9C3q=3~Nq%&{&Ardy;AQ7`1Ibehn&m7x=~Zr^4QuFOf#7lMuh`B~yo1 zYF#bu0e6kYJu2#u?QAY=H*z5=1>VeY)1R))P4@1pxWQIMTFcfD`X42t^V&yH?#X|c znsL;IPx6F?gBrN4*%I8}y+rEY8445o+41&?)cX861+s_*Zrx)6!M|;gm#>>3j6d=j zQ->mIgBwgC{;54a=BEQyfkVXYjiG#NS}GGm6SY=tE^xr_1z(7r;aa3GXEabw}$jxZY*2#?Zr#AQ>AJDpem-h?v1Rv889QUh= z(C<2vu`8(!&z=djm2G@}v^RwJsBlAMtf2mQHFMnZsZIG(6jQ#h=X3f^;GpRXq@M64 zicMw5T{Tc^qbofF|96M?_|h5hxBxCjwutX~2bG@+N_Ac?5G!L>k z?|XFU`B!72&OO72BDcT<=;)KME;f*~^72zOi9!ou&z zA=j}%!jxBEGVKmhTk35NJ?REGUh2bJzAztoZ^*e263Kouc+FJSLD=sJ&ZW)#v7e;% z$4xCcTg3yCv(Aw@ZgJF_YQ7M4Z#44*8)UHN2OTc>*)XKoa)zndZfYy9n!u4UCb;yT z5e!&;LO$G8pyr{ijIE~j$Tvn%cgYZEU)P7B^~;c~Hb60ItsgVDq>tK2@5!*{We83$ z7!tRC@qoNOaE*+=%YN&*g(!3DUOpRgrLjq2r8ZC{`&%xT`3TEK&u3~DLv05y2k$Z- zugMq^9q-*E?BCXXG47^z^>tflXp#288+snPb`fJ8XDM@AF=7<- z@72ZSkF8+B^F|bP(N8dZ#6E{2sXaA*IIOJE!Ex*L;AzSRv@GfoTWCP${O4p?D3jn4S*GIiQUr>vS#>RCf=vi3V#aX z2198bxU^2OaHBoByYDy}GRt7j2b)l3ZsnfF&}%mg$HbdM^ipX|PUBCCj!Epe%rI&d zOKiYzxU`<*qsQU`P!s0s)+mJ6RZI-2)V66!eOKj9c!RzM#GeFG?S4ewn4rtp^8ecP zHG;VK0p2gz9MT-6aUh3s$S)q+OuX&X7R8T&(1k;MWa&sqTJFS!=GqDxYhKGgzNebc zR_4~fw@1v3*2XFq_2K^(0 z>+7jCMedL_RRx=B*n-#G5nT2~Euo>gn2Di;T9Eb;=K9<*H$fd{*#1F+*Xl_7q0};U zxJRx3C>=O*Q5!eJ8h|tq54BlsKod6)F!36ODRYbbU}VQ%G}%**@M;IsralkkLu*O z5kgCiJIS@nVd^lE+F*MpXi3t-#&2YBGN=eyxV$6w%a1YdM)B0npKS{%1`qjGa|ftx zoWbo$l-B(!pUfPKebmYZCP0DXV?KDa2RQFB;=Hht5FO86oAuNlIb{UV=5DxhyQ=h$ z^*M1K(jpe$sWWvLqBbMh1Cst7j%$82gW}hgoceca!ayAR?e9HDS%-aVWzb?P!+CLr z@bI{au&*+Vl%6$X+FeL(gY24!rFD>ZKUaag|5aZ&Y4$TZw&YJHw;XDdzLWNbIBANX zYUsl$MFpAI<%f!+GXp=qE^4Ula6TF8BVb9rhWV5J^lfFsgrx@aZA50*GSfERDdeHWWS4_JCwQDZP zz&mglPHDG*ZqA5%sxgry9ANv}dZ_KVZ3txtAMrN}ZQ(_rD`$VF@xtufaHbB;_}I zsO_+_1o>PuytqdnGJZHpR@-$37N)WNeRh$`-0BKcpw(awj+@;mZcY1#GA)wBj zsc$&7t0$O%*K8+jes4JR{GLlP9R&sKX8RP?6`bJF%ciSqTQ}zg{_#I(v2em6JY#>BW9m5C$Eg9abG6pDi5E zSlMUF+{$iPLGgWQ-*st?=a}P%$#TC}WOD=0*br(X)005!^$c7etpm*^i1@Ww3nmuc zmwI5WdnbL2cZx z$hE49iJ^_!`P*kg+|yTl;TCt;V%385Lwp2TX*1KVag;JQbq!7E{htBO>(c?_eQQwB z0fel!H!p%XKWI+1DqwKNOSu%s?DLX(2wC@M2lGMH zALEV|${sT9>dsZ>R`Q7@44ksU+0XUiX{ELB!D|xaZTmzPc{1 z+|owQye%NhdQ_O)8mZkHZwmz`|MIc(tf6Mhcur6|S@qC|9rvmct;}tM-bgshOKZtw zOM4xjnM!uPxJ1Smu-_Mc)CP=`_ULi+z+A5`)TI7F;x_6Dvcvx{=fetWldamtr_ZEs zJ!!sA-1go;Bc~f^ThSP%z6Yqyd*KE4jV?I(vOZ*Iog;>k!-coMcrv+Nqc-}bw3pCQ zeO$fV47R+vj`F|yTo~PC&RCUs%G~;|_leHd>UhH(Blx-L0eYuUp!Buu{mh5jvgOys z4ozvEyO$oEE-66S(>EfoU94S9?c%#5f&1AIYqcB0)iZygLjTc1j3)aXkV|cbUKF%i zEXJLMZ^V1QpC@C~-;j6G-Y_4ZleN@Fo|O7j?7eVz;gG27bc=AYTNL53pEA$Q0cxG^ zPK6=P0~c>M1iydYDhl0wg-8Eq?`+Q)WgVh7T@y2`{@|KO4~UFC$m^f>fsnS*oV6@gSGHTQ&lR%E?Xb7hS6Vz6L4Npl4{85%5Ba#h(bSqAHv|3Oq;(IZ@sl^o4TbdO zt#a*4e=#v^r?!3TWijYqYwTS&AZ8o;5u;K8?X$~bY!$U-bDxO5AEfWXl6PYL@o2K; z(m_-?p;`3#tZw*jx*Pg{d{F^9@74%C0B;{#pNd8 zn6ApjL>nL*M|K>41hwER^<`e}6?x(|Wmicf< zx-3KDs8i_JOtufNg4%=-GpN>+;Ut+3Wb}2B+HMVb=rC(0-cD*uD<(myt08u)Fo8nQ zKw2CY4%>t=$HM9hWo{GqXhE>oTRy|a2GZT_xy4;Yio7}Ob10PBq-<4q_=7R7koL4t zJyWDu_0ON^FOP4S+%`~~_)r^cdQ5SKz4RO^m&UA=o` zpkdN>Wck%^(pn7)#y+Ih-f0Z@CTU}v*Jg0XdJr|t(H4TPvTLZA#wv4D-(m^QW2JQ( z%Jm^{;uGS(aUC&#aG$BebZQfhkA&%CW!P?t0hpKkM$*0-Dah2={|w302JCt!maiIz z`zt%eB^S!cRFmCk$x8<&-ec5ynHxf~=SX}Oq%|vj%87naA_`v<$J|R=sqK0_BxWu# zz#jct@ZviYk`t=MC5G=|+SUJ3nOlxD2C!{GzO){xG=IFzkK3{0S2FS>J6?mMHZjc} z=6~aeS6|T}-NO^SbR!ZmJ8Ex%rKLD6Ukm;;UM0fs1zLRQ}l|Hy+FO zk@`}b^^XN4CK})XA0xnPwvn#iF-gd>RaQ0opYoW3ZHOIZ7ZYsu+Uw;szCv*@qj~~hF z&qtDvpBHh|p7K$Lk`4o`@=RKT*vt;Sbgo9B$1X9)VmGzE;d7*KX=z_0AL%{y%dZsq zU-}6b{`O$nt)}*&v`>=fQEj}h$O@jjXQJK9!UX$sy%#=?p^sV*&Eb$E*T=aL`mky8 z4)j-P8Cvt>AQOYzB6^IyL7YDz@M#BR5ZtKB6_$OAtQrKy#{6f0F@)f=9{50l3b>5| zQsgxb^(W^uF=SF(neGU#?}uTZi863a^5GuH?vu8ctyLe#tDv?dvscV@8;`4Y_KWIs zej@FPh3ND2049cRYU_<`q1d~L@0Zrk@AY%%u62cycO~ro%yF?Yx9srA;C)?=C{qz7x_18c2d z!JJD-Jp~KDg|Ook&QjYM{7TH0MhK^5nSiBlJF3l?f{uLo8`>&-SeH8(>q9PZu+CMu5X!k+o`oFlHTF+oUym42RBaW5id_;;n#nck&k0AU#iUQ z#e_ic+GCH+GmOEpsnL4be z);DS*WCqmp%|oMM;eI>rv-0<3a2|UvDWTSTcC%<&@h?AAUnmH<@HJs5EdED zW$Jr`TEiJ{MD?vMSgWR2%#&r4#v7~9>=~n&7@Gf!;k+%>WZB^sJw2$7X(z|xz9l9K zf2LjScx7&F&9B7LT5~Lm83D4}Bjvw8&O#w8**PEq)CSet!qV0H*j1W?_uZ~Ow9;&X zP;hrMbG;={>+CQFRxcXjO$TftIZ=hPiU zKB;zT8j68p55YrwEBW|3UPx{I8-HllG{l~FZQ<6MedwNFgm7T9oT*t3wVl8IAZooR z=8YGa!Qt$`kiBCfI#Ddu*!1N&69+1n}erl`UT0sA& z!|?&>AJz2O(cB5oO+;(i4#s+XrOa*3g^OJltdWAuts zd#?>Q{;FYqT%XF6;g?jO6%m^s<_F$h&gf{827tvFTMGeN{4N&cxt&`{0qoxh}j@qNHI7Nv1)QN*~^-9vxey5IwAF<|IW}xIX z3N4zf0nI8+IDU&FU$*@{H6~+;&3*Df@c&POB%g+W%92#scg#bkY7YHem``k!-+1VA zddCGfSb^8JVeI(@?{VsXhpB5}E3t#2L&ZAN!%*n+kx&xf!ARQEm?dx5Qn^Xi%X16< zTM;r=k3h-YBcOM3EVFP_7Sp47in4Qvjq#fg{Fz&v?&m3RGER+c*lNXl#Q#d=7DcR$ z(|p)>do0JE-4ohRQ>n!fKm^0=fw{5Kj47RwieB)mpv4!;e?g(PVxiQF*yx}wtNT9G?o6XkkjQH+W8NzBW;QT-d|I?gBR1A-a)oWFU&?|Ge>NqKchdQ##XP4ni`CF)V z)x+hvS%%Mq)FW0XKGy)OZEwp04_fnO^SY^HAtiQ3jTF=r5bAOt3O}AM#+R12;&}5U zDu!@kyGo28CP;$1PiTT!!8M#+Zz%icIil=IV(s^9!kiBhRHds4I~Se6iklXS--*Ri z@zxR>cHyp2c%YdJoi-BA3&l)~{{|*uC4HZ&yiuN;|6lsxue1;q|Mo~Qf2GQ=eDIHq zy%<7`bvI(8_h>-uA5z!(HN*z)GY3A&4oS6Dz^=OwKl1Fu z^)HT7HjP-*m+nw~$qaQY761DdZp2>tihNFR2GtK$#M*eyf(!aHP;28*csczX)_5q^ zF-#7ptimRFZr$NlQ2#leQ?&7bde2GhiKU0}+bt`oK655ENoOIHAMitUXb3d_eF_hm z@BuGB_cPV*N@C+TPl6eHR8ad>Q&^Pw8>9Qtkylsur^dq}Vp;EIA;MM_Z4=M=*ak!9 z^sA?ghw>dNhH_%Fjt+xO-Q{ha|9juRdzF)q>C+ z?=jx69Y1(X{FY?@SQhXsRX)J1(X9x=CCV9AeP2qdh5~$qf6Ps{x30UTiLgiu& zoEC>7>EL5e{`6B<%El4fUpNw6WzNW#RRBkE-@Ycpah{IXJ*cr$Ky20%ai2D+AxaYW z9cQOc!38xd_$BL?QSG)7>t~fEXj?UNdOjoIj`9)a;iqIKZc7E#55^Jl+{~9&2@5pL zkd@e#huWsAi`Rg_l55g@Cc5Zv%4QO4dHl7IFmD7(c&-j7AO6VvwIzXB`duw$ z>xgYTDHDV>PomOjYpxIb-^L?zAQ+63@_`Z zuS4#{*6!7Z_*`uyNiu-A8(wUT=Tpy7YqapU{ToJXX|EAfmuaKO9lBr@Ucy-6c6|E= zL&cCzY_8R0uvAw-_G%W;o~6#tR~gUqcRi{8ttPf0-WuH3n4n@K@tcaY!`HT;)ZQ9aPB<++^mrP7;Q!Pv9UvAxvVh#R9h}-l3(z#MWQTp? zad=<5=eNhg;Wv3dw4XKv^`Gu?`5D%bzQcu$dZvZ9N6_nRf`~Q$H~|V~Dx;(|rf|u* zjyd!Z@!mJ-^>WF?7UgL}>1AUSx>{VXkz0ln+*V0{#-pj+N{RJxeI`VuJ>^`*`}Nwk zVQlmMRAy<-MauRPE7>>`I?5#|MXbeKY}_bySUr(vv?t(ibF+z(=Vmv?9n!SNpt!{& z#r3JmIAy#WfA4@XWtS3bv1B6Tes)25mxlrWdm7$5_zGV-OFuIt607Us2@!YoP}CPA z&|N)?(e$(98&B6#V^T(J=LZD{zGi@=X2Zcgd%x_n<8$Vo=TIuQE@Jx(ETQzeG3pzt z38yXzcwBBiwlCg6#cT1qJh!ecTgW}CEv{401Fdy&OvNm3exg6!4-1G56z30H?kb`~ z;|$@K{X7%@(u&E-ZKGm{C)WNS9cY+hi~9E|fyCuK?s{_BvwYbGDz`#n{jb}A(n}vIEc*ry-Dux(h6T}$e zM!e(PO)Vg@PLnOXufQigT0xx`dBn~iJ`Lu7wnpvZx1K2r_sHUhn(|{?CQ|XX5Zmd` zLDIVMC|;%keMbUu?|2)&D&bGc8vG&8O~qLXOH0K0RB^9}y*5`F-KuH4v*|Uef4zxa zbABvnj#fp1P5SW3?Ff@)B;|GQR7<}d>)VL6*PZ}XV_ee`>Owe9lU^k(fA>T*4isTUTUXZ?gfRG(p{ z?fiji*Mr!q$2ySoNUU|TTMx9W4A}DNs@tyE&g3)=+Yzk7=xP;{8lG>i(>T*e0c|LQZ!NSEw^6G(K6vXiPcB zD1N#|#h?@`&#iB<8XUUigxV}V3SlvyvBJonX+0$yss42(w(CZd;AZ`Sv$NHMnMPU6 zt0>H5;eV-iLy7Gz^n~yY%TQ8mr%-+GK7O?g@P|Tc{O$NXN^Cj0FF5Dgi}h2V3t@AE zaEQe|rugL{s@+OrE6=!r+0D_&z*7Rg6P%a}w;g%g%@V5JL1HhsnSgAIJIb_tFN8I{ z!?{i!CFYY9sB_+NhrA!+R9^})Z~ai^nQFnHrwErRXfe@S{-OFIm{=dNu2C_XiQ+1o zgs4NcIDB4@)cFzp9d-(_DKEvnH^gt1bx-Po`VZYw-Q`Yvu4XlLUX&3VaC|h_@Spzw zJ!F(_%wqpr(}ZWOrq>hn5$knD5j<{NAh+5faBS<}SX_zAMElX_g|V$C*AchRlWIScOeeY5&zK$`%pp^2`l_ z>@-nk!)VyQcs~`8A9dOK`cL1A9`kvL(XT1LCp0}xG{49)*jTQ&SSH9d2S73 zZwqk~f|1Xy0>R(78XsjwF=p04jY&UZ{QwJPn>A3gSZ5E_dNaeHRWfxu?osi^605gn z8q~cN>uqP4fYZKHO!^HE-oW!U6>mPV)ox><$ZP_NnmY`t#kr5tu-CE$Cz>eRO6>d* zTF^O92bI4P_lfuW5g$E1oXyR+OvNDCCC{xf*#j!~B4o!81&7m*u!iL;d?SNiBQS?p zg}`ADxne4^yz*KI-uM?bP5z#F?AJ*3Llm(Ux3!_aLfnH{NedM97BHqiluKZVeu=@AZs`%-`&P6_PxLaR0~wQ zx(V{!d_BebS!MdDe3vF1m3m{NlMfkw;%sV-zzky5#C^usZy1i0{7uBV&_mdkJ_Wud za23_R5yY0C=oK=;UUFXT5?Fq|kLh{q$y5#OqhiP=*0E0$V!KA6kP~X4G|N<`5Wk&K zceqKl`3ZzNalc#e;~ZGZ*8Z={PARfa(Y3-SXVp-u(uhCmm5lj~T=T8^{zFx$-wx&!*aSBi1Zz9ONG}MxFX% z4NUXhvc!b%`Gu!!D7%K(^klKFW#nk2{Xq?0?>>dIPA|cGPa9A+jo9h{vG%2nD(XxW z_nCe@iCz193I6c~z4oh$*eYZNHCc8jMQpd-vJo4sT#Zvcj-c9A*dx!)Ir{&-WB$S^ zoHl?Oi8(v9_7YaLU&4Ibzs|&_Mp;3NwH7k_MHgn~S21Ij_u$=anN+(giM7Ax3ND-* znxCKox@T_U(^Kx@6Ir7vdx%(>Jtx}T zQTDv|!mG*JeD3eno;FtWTFZW7llB$}aXVgc>5)2Mr7bYiUumF+i2JxP(?7?@qF8Bsz1BuN)ss~ZK2e^~~W0383U=<2@=|9C&DVs!W%2h8I zs1x@WaT^Ic@2KMR?uq=TqV-g6K&-LFI9QKOP}iU)+#jEb)5Sd^nue^Tt^qy7S~`z~ zQXgZ)R_j3D;j)sX#q)T6#YgHM#(J+jx7>i&LQ+!|rzF-2_PH^Ft<<|KbyueU&-{sv zEUy&8AKm9#WA$P7kW5-t z&F@Tw$it&iLB1}ark%2IGcz7)4p9BjNo;X4FX$N!aFvhMU}%3V^ZV^?Wg)T zj@Zz31H$~aktn-Z1*+L3>A77+47{NGp@7(J;#f~(`Z=GOw(#oZXQo+MpAVlGLH(Ds z5$m>~S2+4`BC7oSQHb?u#FK1yGGF5@sN9VA%X3pt{wgRKj70@~3ef#97;l|(nt4`i zMp++XyF*MMf7?jJUmgjjWf!H<)2#Wh(eyl5G_j>46k*$tsi^SpHle5RD_**C8WTIV zNBZqKpG$1GjTKlrjYA#}l)*3L3Lf(^7vJrs@2i`M^$AmfSnavU=I>e|aKj+BoV-Ko z?X{EYU%e!GZfQ~CKG0WPP)6n};l<($IC9ETY2&~{Dh4lNjq9wzZGkRQYBz?|vbR#{ z*>SwVtVXJTBZ+l%$Pnj^o^UIBRY1q>3{#Sq%V-`erTXkFvGD;~kaJcU$$}&hIDI_Z zq0uQ*UO=Do4a9a$^#t`SE7bGJ04hT+NK?&6@pJp>xggC0^4xkBCJ5eBv$>2EJ(#TZ zj0qUNkMZiF-`%prrcASfj$f2e?<^y6&gLN#*C@`Xo~7rFHWAz4VhC*+0%u@p3-M=c z*vn^Q@YFI5Dz{8x-J2#r^G8<{lW)u3_Ws-ITM@1Jf2)fS%(yP zKWLv+fFM0plrPqBb@IQ#lsU#T{mOK^LBuZDrwiumv{C&7ZFr}b$^3iw9OK}+hiW&O z*vL22p>&l6+LkD;1$6o#OSw6QZ#i=ie>)yZiEXO4h3wgboZ1s}SUTL6{riV5tgkzq zYPXkI16Olsk5EL~3nZZU-xxM^jRJpiRR{H7VslWQTe`|nP_uVJZmYivVeWM}?$Ksu zr}`GE-KE4P>=f(eFW^v$&?odsTk)0!N|;U7qK;c4u`z+K1pgR>qETuvElA;#pbO5({^5P0dBq02aMvZ~-^!n;+!he46s`iheGO37c~z+WvJt1M ziR;W&>1#kdu`aI-z-`AIF8MDGW;jh`ttKX5d@Pu1w~$yHJ@NfQj}gk^wIF6nXvt$I z9bR!;J^uC>w-c*gqXey&98t@k?}gpsx+MRK3aNU=FzUFO9+u~JwoC&;i#~Jfqm7{F zz6qNVbspA$ytbd9R>{~hk9kLeJ zpMBXOiyvabKew4p#hXX$79$CS-cUl7Ehez#j5iyRy8yrXdn^@03$eXEI-q{k97Uc| zft|ap_>Lpunvrv!)c>SGsyw&)<>R4do;uncFcN${9GOnb>HM~a^He{06B~2&xzIMZ zkIPNhg$E_oOvKxhOvSD)Du!*unzauHg*V@!%H&3&@ZnINk1Lj*458c2A=Xda1BqX> zi>tcJLR{x$cJGC2cfsx%dbAawA;#?49(!^AY%X=Lkwt8z*?6#avqE~C)FHrXEv|ewf;V5b9e+C}>xq@c zOQ3(ODQXbwUTsR?G5bfCXYFwpYV4>TmFH%r!-2!z;Kpalatf*>-GRzb7ubNv{n(O04;)R6%7@5ht@ZfMv0d7^PPc%vns& zwN(;pnraV8-?^jkx-UZIwflIk)*XCSi>~!INNi5ZBA9c=7D+P1XA$@NvhCj4j99gojpvm|6=Ck|EW1^cU+!Z%gvFnrE>%_KBWa8nw~L1 zt}{!V-_rl70mNQ7s}D0ijz*S|!@&-vPwXQ^9yA7{R;)^SacIxc{5$eKlp_+KQ#O1~YSa7`&vr`u`hxXGoC>9aB$yyace_&9) zQ=9N{oFVU6UtglI&WQRiNgy`vy$*yvF+q#|QiiJ`JkEIbN6DHoN2nNzh&2%RO^pyY z18ZNZ2Ce1~anbv5rf_=#_5aX8tYtF;DQk?7_aYO>K7ZY_V9s~^%-c#-KbZY3&&{&^ zt>Alc3fgkIUMM6uewQ&%Ndo8~VOe@CYg3T<@F1{M!;%67;vUaV-7J&`NBF z(|9O8x)4Q)|01~!?fA^=L-^LdVN`CC40&!25^Xs8Lp=1@E3**|Qbzk;1{Lod zV(Zn%!M>`os4PGOnj(|2&lxrT{hC0k-6&#n-fDvfwm=Or!$JD?X zAU1isDM)u|p}{eFFuMCBqwP78m)_Y;otsU>YFD2VvXjh_pZ;sXqEaUNBHph*K1iRN zx+mnhsjM-CZ8!8$iui7^Xuci)<;e|PySAKacLuQyj6LL;o1)quM?yo!FS1TmYyRik zER|aXv7z(lK;wHWRCZktcF#B`lUX|Qiz7BtHk(+t);q$CVGdSJSLn0UW#2=0Gsv21o%@eOtrWz|p0b4yb65TBi-XrN394k(|-lb_ze z(kpwY7^MHR;vAl-ISbk43pi8KRH8#}Pk| zVP;)+qhdHotj9mYz+e1Ap)^XY4|7Uh-)YH67hQUCzYEUu?xgn*D6=XAnOK02-RCG z^)++lr%fME*)_!a9kGC=uf`!IbyfIn+$n68GKgcxeW1oe8nNZpUgDaDo1FVfXNXDC zX6yGzcmAw^ zLdOt4JonLArrC5q)o0GcCVKY?rO&&#b~EuCkc6wu)tci>%EW5Qt|WHNo^jCsSrZj& z>w#)-5fie3;h$UBQvGm<*d%pLNL(=#`J0V|F?$=Cvk%>vq8;=-K{>Gs;#f?({~hY9 zdn8;xID)UOFP8+WYnJ_KGJco+C-js) z{(>KSTk^T9Q$}N!C@SOt!zfBdjo>hactmB^Z;_H}&KHDgpMC|UDqrp8| zf=s7t!%2;M_~ceqzU@;kb=-hhsrF>3UMfM61%^-_zEql2`yJop5Jx>T^bnhqEbehQ z?K5ZoQX5v8{>>Cbx-g+@bEp`sv*fwyDSj4Wf<}t>XKLWGWjJ$W%^t@6d;0yGKe0aV zO~LQbBQ7V{95&^9uyHoes zVqNxK7ZR_}M+%L_g3^Wpth+RTL6hE4{|^Pk))^~7F(cLuo!cu^#5~7t*((_D%e9{0 z-tV*#>!%ndcsulQlKVrT&oYSlEh3LWCY4lf#@X`RRNht#1D`H&rKzJKyV;nvlxj2H zLvtzXL#%P}aEQ;>MN!=e`)1fdyQdRp)0GfaPXRM zJpE2Mm)OQmbC8Pl*G(B+2wfE=TkuB0PkS_k|2DT~VgvUmK<6lD)OG8<;5FhM_8%87 zogZ_G>NCB6dE@m)sGIi4jp_@Ei=-e@B3d7}Xt!gE}L zlCZS_T_>`EShr3o9915MBr4YMOVeFuMmxv5&3{FWGtIN|+zj$3z{(Iq{>=`{s?N4A9?>NU~Sl*{{+eB=r(*!U(ZGZ;P>Vf52 zj;X#Zeiu4-C^bKsNo=wwwc1(nTd^xIu=B~W3~M->iXoj?*)|)9%u+=X ze>2djjAcTny76Hf%qd$wnXP>UG0V>mOP$)#xFk5QeYW9qy%U2(gb>i}k^c zJW;|i1&Ho=j)$mU$3el@W#5j6RAQsf)Cmhp^by-V1ST%h!X^vrm=~{?Q|(p|JAbPU z%voZAs#j{kx=qJ$MUe_09rJ?9ZGhMweNC{r{)w}htOtqWx8Pv|2c(z31X1leoR{}Q z*R9Wj--OYKXOy5!gTrHgzQH^ky_K>-#Kv{bhk@^{kc*zUf7IKOMD z8&c^3gC7l0qLTqMHBFVNjnU@|q7G0o*j$k3W+__%<;&fWVuo1DRm&I~&$H#{oZms& zrNquTE7rVcr@#kaxkSZ~NNoORBgmUN60Hx>02Fu=XYWC>{JJcv zT^X@0kO4_(9>|ECG{7w>a!s^WdbT@TjXL=C(1 z2PkWCQJ!1AxR={{R}G}T%@9(N5nDBVEFX>pYMd<~)?|xqNPf*r0SDssv%2UBStDTFwH4+|1KV^RX z?>NI6)Blsc#5S_V(7eS2nb&K;zQc8R*_{%6!H<5Y7DH^!G#6NJWsJJF>p}k-QzmUd zo8Nqpey^8DY)|wKVg3d!q?i0buphZc`ta=)#@nfsinoQ>s#(h5-#-?eoTC7x*6CO~ znqhwZeF|j_E|K#sTLYYjX(7-P_lB)bW}KEcGhh4Y`&4gYEyU-bt{b|@`@Dv@&)`2L zmde|ivt6&KcDMb{_D=$rGF!A|?g-dwoQKcM|AHgl?ZV%Vvm9cNit8sG(rrI5Yp~?_GR^c3VZe|hdQ@9FpPOGAdqqb1AbsgiSK9x^=t4-xr|G#z%R3Lw*CR!h) z1BZTI%;?2xGeJWRQ!%Jrmgkmyd74;j;2qbiYXkpG_{f<4ZoE*WiH&6L^D=f!$r{mi=s`+da!|tA%obZ;{T(9 z!dzs2@U4(M>ml}^GFdk8pEDIh4Y7m0x?uD3Fytq`XGoss#>OXxVzo*1{iIU9JhyC( zu~0j~7{$bi>#nZ;j3qFQzg7Dk)n~56)|R-#{NI#O=D%hzc}_XgoxO<98MdB^A(Ysq z?KTj#RvqPv_x9PjYnk=GIq|;^kEYr^O018YK6Kt2hX%e^2HV)%l^3=&)6YXh=N8mMQ@Nchh;fr-f+!N1-SLB-&B zMcxlbw~F;bKYz#NUGRjJe@|woCCA|p8^fq$5ln1Mv{(;&vm>&%`zkz;iu-hijKFG{ z<@dNhi`j3jYjM)6bKgIeF`p9F(E5YWs-JUyy z3MMV`3>8Bkv2HtEV5x#7y6~5HeT!ppyI{i`A2OwKvn!D2HYY*cgF4Ru<%s)61!et; z&$~SkpL0%9?FJBQBWV>n@2a5AKZilyX-9@xb(wKB`j4{vhzEI9mbfHDtjgHR;H zx$a~5ZPv%A7Cp4)nTxph*vhSW*x&minxG7k0(&=ULZE^krISl z8HI9Fl;9G78uu!nVw8T1p!%VS*vDaFoqsiblydY+^%0q+q;B70Lb@1*>0WGnI-Cd~E^!{Pvhw z(<62e>urSc?DfEAXs&dQ;L7XIqW>q=ugP;On5z#>!P_~zmZ{*a?Z7rWY{Bjm=s6oH zvHmKG;5O3~rP~gNnE16=JKc~`y&Fv(i*RCtBt{T6L|hkCst+R`KVZ$58ep zv6*5W^MH08r0%5wY~^I;-ppL)zd36tTT84Xx-7WXO-E^CZV7vSJB`yu&1Q~YoIzRT zVtH;&HA^7vSvwcr{L5HQcHwI!^jdc}V#7a(-#Z;I=gRhu18KKA`z5FtpZ|$o zZ?uNkgbR0st{3@S;6h`F&NX7YRIW-Zc0QzHNFz3Cp&{fC>Y)5Z8W8njF&@Z$D3hQ^ zl&vB*6vXT1a}(60I07U|UopSHf{AH5PK{rM5_xWL+ZduYj6|t%s!(;P3%`4ok9{p~ zQP!E*AoN=Be>w>z%y=v4E))03bVy<@muXTltR&X*;9a5A>JeA?*a(6^i7o3G!X(dc zrR*VMYYt6;jCYFY!YvCB6zZ8G&YEvKvz;2h<;411nm~O-7pLSr8rFQzuv1T@;k#+h zRJ;Aewzeul-7glXXU?E-D=i0aUw?$L`9jw}vzN*HA>gzvq^h=ZO=m12L(hU$K$<+y zji8=!0*N)>gazI!pDX=h49DBMnZge%nSwj?Ja`hZ-M^WF{}l0gUfkCwH}5K*zsi|U z`%#bTUm!Mo{z!;DV2p}ZYrutHJ8;@h^O&pp_Ec^?#HKt@g5;TE4a^6hgr$8cxUbMf zTJ|%2uVIblxm9j)fR27`r1(SvV>_-fc0qo;_vVY#eUv}3Dg7$Y9yk-l^!_Jo(|wMs zbzP;}x00!2v71=aAG?IeavikolPUyX&}V+tD`Qsb(f1F<#AfS%7PK8da^cVQAm3P# zO)>vjTw_SD+3O@0-O_*slkalUr(?zU$Shm;k1yVo+fVhGIWNzxS3Gxg&4wcD>7zie z4Y7CTwPJW;$8Ven-5X#wh_DgmMO%hO+tMi zl%dYG7F+B3VS}malrHTJ+i7n6kNeJ(I!EL*$2DfkRWM*B-WIF%PcT~B=4){D2JZ^oD z`sO_pE;g0pfDvBI?ZfKKw|&-3tc3kZs7=yGm1Qr5q?YrZS9~ury4Lh~5Lc7@|Fy0i zCVGP7)MjqM%keNj$e2w$tHn1hctD+RUc`2Gs6tnpI?4~#fKkR57z-~iCh#YEo*SN)5RD`jKdtZr&NoF!KMyNM9q{)}s#Y723@#<1=Wb@;?xE2(kT zKx|v(3BmG%AsQI-PN;92A=5Iw!3^xlr20Ygx;(d#=jPCGLKzvehA>61o+&sup8sjy z9Llo9c88mTw|fz%mNx-P!#vrGzuds5eJ4qi#0?n5%oAG~E|ez*PupO2%u+YidkZ5bL{B z4MGz~AgPrqsN6gwt-G?9c@n2g)wmn@pM5g{0)w?saFbYvDDnsCd_O6l5VM&&#tvoj zei+brDU{8dgj$?Bgo0BAxFRrwd2oV0=Yxpdx5yC`W{g7yuSbY=5@q;1Aoj)UZ@jwsYs8B)&N!vDUxgtH%XQZbYg+p%>Bv~)Ie>nn{Qc3?cKVo)N5KP#zY z(Mv3Q{-_Y=*}|otQ-cu;6PZ9r^}H|4qI`ezC<)mf<2s$7u#c?h3ac7U;6 zF`H_4DY3DCh8atdcNNCNpoBetT{%AU4T&2sD1LfTF}bVULUJ zc4GeeB308mO~nvTY)0)QNHi$s7TG(Adt11&2fjYQM~~2Jg$s!t5G%bJ>=}tlV--Om zHE7z+o?DEHN;cJQJF)F!M!}}bR;Vs~IIL7Ygje3YC5x#&N%fiOEqQL`P212J=uyt#Hzy^o+Qa0v)?YiiR&n=I+ zmgi!P`2joj#0_yD=CeB}n@6nI;7|yX@?5F9H5@gtXTzT)mq;&Ppll1Vmf~DnIs1hx z+-D5hmDX$>V~OV!UZSi)g*>;I>TV$;Bg}`=jZ_Rd#HNBV*ePnF z!Xvs6&8f1Vhd#nXexU0UG!h%NPps`0q=|a|HG;|)z0z=h3GcLrUU#K^Tb|p3UE*4l zy;YpYb0cWHXv8LcRAyvb={ZM4Y+}DMn2vnUHL93E|7r=F@nnnVTCGSb-YvuycE$>+ z|4u|(medFV=`FIa@z)p&HifcT#16zspi0*S#cdt|7DGnxmU(5eB}**vx93GYv1=aa zz~j~K$no$S;k(_Yyidn-S-I8s)H$S9DbFqMiVEoM9FBJ15o-(m^H>^X63Luz*+RwO zL9B6-8kn)#=;)tnP`v-RbZcxDqZ{^>vg?U0YSM)8>;5Ryrcvma`USJIV`M%?e^BRq z2C4gx%UEjQP)&{4dMt zIo(iVqtdDbkDpAD{W3*y&x{YUwVQ4+nXdGCe3aPmrXK~#9b;4;@LUMOTVTCOxEW&?T^IwMy=JUSwo0 z^u3&8mAoGU#W~$YCv;Gxpbc?9&BMnJpI}OJ=y{D`VqKn_g3=NWsekAYA|)-jX51(& zi{h!{mO|`;A(w@=$#YQ0y;9-G^W(V4dOdSw*hK2Ml@Xf|V+irX4UnIO_@1nKE>7~x zma0vl=llAIT`zToHP`IKZwXZ3+0MgQ=T#HFv}-Z`cC6domFE^ePuvGPRTFuon1aIC zsZ8EZD_--rM^wB4#O90l$mO>hx!r$Qfr7(SHvA`L-q$0OIxqGSD@~XHj^7n?`}R(N z>S5OGsByhm_hBVvd1A}-9mRKle{$&y7;#^M@hoF`8Snf*du4PJt75GW6_dsNlICec zXxT$)Ow6_7^RDzftz|ViZts*K?VT2q;9*er*o1lPG=VA5i>LZ`5wR{)qagHSCl~5G z86KWJ&E#&F%sb3^O!Y$ov4xWq!N=YWxeaR;_%A1L_4iwu_S?-=ZbiffeDr|w^Mom2gtyH{b_vE=1iM762 zMPn53R#RL<(}g3A^AAC7Tt)L}$Qzi#>iYWNdB^B`xmaTB?yAGl zTjF}pFilVmy~iwmbBQq?IzYvcPwegp8_1Yvh}=>}g5!%|srP<2{-81aEYeCW%p4CH z9Ru9TOQYZ`^Ol)8wj1}k3)K9Bq(+{bp0_C+(jAVn|270Stw8o`Vm=-O`h1&1Y}9^r z2z;W3R1~z}82gD?l=#rJSKm%U|T+BY%#PM1-Arh8wW zTh7`*=v($93fuTe=>6dYzVuP79eRHr)$R;pyWCY_QJf>{TG}UMjvUI*D4)rM+Hau7 zSp>1&BQ2qSp(64dBR+Rd9K)VJw;MYj`9Jfd5~36-PNkZ+YLgaj!t2M<1Bx`)u$ zy7FEo$&uzP`PrW4(&lOz~SxbCovEa-?`YdhW({)m$&B&Ca3vL7|SEZ-r{GJIWTtsVRV6d>huz zP-f=%-=oHvGqEZYP6YXyfgy0Y1*t`%OA2$=kHSS+CP-{L+Wcch>5aBA;IFi z(8~%X5pxar);}z$7y^ks`Qv1G{O?Gy_Lu~;4?iubN}a(ECbd$zB@xR?Euo;;3>_8c zKz#hi${vgFg?lg4??Qpt5OEK6^9@!gc>gfi==~2?X;H-NGH0sY9%5@O#r5Ui4@djV z4B*1H(JZ8_#r1Tb<+*v!bpl^;zuUS47Vzm+D(*c?MssAaxzH3vUt3exIseD(N29C61Gf7`!p#43N0 zfX};bt}Svj_=ZT?)rHCU!rfMC{2D)&=az8P4Ad7t=JKD8fuh+itW(S*ym#u4R17}E zI;v|!c!Lru*dW%oSF~njA6=P~Z|+bwn%I>-D&R8R5ZOHx*H!Geh>sheV=NuwDVs~I zbEP;3?`n?9%QeAX`**DS)Q1pr`pwf zBF`->!VZjGO;H4=4uj_uad)*Ef5`YNHP*d|%{Een#6k%=xkv@>Z_dK|D=srX?3_cj z8%bDHsc(tol+l_->CjQOKeirTu884EY=GCAUt?|1z&si7>_!? znaZt!*#5d<;Pc&AF8H{(uTjVs#_`?*sdRr66@zAjJhzzQHlg}}K05SN2{J6N%2aw{ znVPDzlx2z4TcHPij$gUXU{mNYFl1#Zdbl~B{tjgmu^s(mp=yc_Qkkj^mJMH|&5tzs zaR;PSyqUzdy?rmtzc~x#=)V$No1fvZU&^KC!`@KOdUeFsUK#@@w~axT%T*!1Z7!bD zQ-!1cjivfb<*7Wk5V7`ULudt;G1C%!K02|PYtP9fmh{|;JF#n=8F0~j#s$YXz&gb* zOsvsp-Yq4YI>uqduCyNyHi=fK)BQM#InzQAo9Es3h1+d z+E7=fbc#2BDaeGf1H^WnDHCcJk3kJ{KMH;^ZnDW1H<&b4IyZ-B@_tA*mB5TEMrccm z3cUP5!q1Obhr86yTxNOQ`-WCAMa$F%&Hsh60|8`*V#jV*QpI@*l$Kxs_gG?K9LNxzz}r zjaGv)hZWfR**fOnl6h3SHcj%}q^Bl;UScx`Q*9t@`7qYc(3;Qw`v&zavXofI&+{RB zy&uwc9tw56|6=3)R1g#O@aNOVt~?0QH453N@Nfab%L2)XyM}I^Sf(R&OBO&psF{?XCfu9{Tj>^sAxjZ-f z>5W2H>`kuvq$&8W9mghiDlp1BiYU8)*j{nnq)+bv*Dz}|SWabFbAu6lx$$Xg{KgZT zH2ah=XNfLK6Fvz+E5fBy46B(iclz0>kXY+UCJD4(A^1EtMJr#ZLsoSc*52hP zWgM)i7`71`^n)P;Um1bARrR3FK!Y{c)#H8jl9+GrOLB;f%ey6*4>w01uip!KZj{59ulQala~i7b?iR9S zAF;|PMQPGJy6!k4w&7&AuwG(}a+<#iQ4%ZcG%cNBmHwjI-9l`Zo*@($c5^B_#rcg* zn(nALB-`C zgs7*_aEE@gRBs#oJingUgn^$R>HaWu)@34WjZS5nqFwke>(%hL$1Q`{z{l#KCL4;5 zihI95FzI2U9=(w6Zldq|YKYx8iGlFG8C>haxln)3hP`6(6f36D$mXIf<36b zYvI}~twDL7CA%eJD4%X!Mp;*4JFf?@o`j~-OKp~QwS83#7u z46@hwER?Ff!X{q(@nEnbWsef;US|W^ceZosZ&~mdbYTB+xr{g3jiioSC9%b}R#0JW zgB*KRpm$sa{zv={&p;tZ_HCaH5?iV|5@H^F=9USUKN^*vbt zv1;2!!_q~{=(CRJ+~8dYrBha^nWM-W3|~$9E-+ZO;|P!hv3U zVEIa(TdT1lEWJ7cgf^G+`k^PhUok6{NAQVtbpI9+8-6%VsNiOzn8drn_L=+e>-GDYJ(;tp z+&YNukg7nyoF=aE>i=8MJqfDZI3B##*)!=eQ~8fQ z^z%hNv0+A<;IKysDD%F|-n^Ia>?5?kqsLd+LQqtq)k?de^k< z-A}0NvE;Qpw|enAC&hOok#mC%H2-^T_%c<-3<)S@wx!W?Z5N2G8f5}Gwz??aQwJO)_e-;# z7V~C59i#fJiP%K5VbE@lsgbIT`Tw}O_pqF@_i_B4bv{0wQ|Tn>BuP@w z-g`;X#3V^*5)(q2#xyiECZ@MZLK2cR2}znXO-SCgAB&11_BuSDqNs|2b@AIs= zF6;aM>sr@+uf6tZ9aHy`bC7lWq`3`T`HCNNF+o9}p7BZBFIRoNQ$qP2Bm2*Mu?>7a z%*S-SVLI;U0(1Ejm9a95%AQB=hqndW9m(>rYvM#SoTUitDq#2hc$TXFj(l$xV!L|c zMCgkNK%8Eb{k9F>dAeZH(;AWzu-l;Jy1|v7k}}%gyjO(Q-`d` zxhOfS$_)9niy*AJSbQYMp9`Z? z2pffM@1n`V8C!Rm(sWyh3_shzp6s> z3v+6;MaRtWEp?gJ)E>WDt!<9rm1Y;XKLFltm`oM(g zSwUrq9i32a$UV8~Ld1}aZP9LFK9DfqzIUr0%%6Od>ilHNg>SPV+QTJmJ2PCt{gf^W zk~IdI?GL@h$7XTAcWowO=)pF@*$wQ%G*G?01#}uXP@9WpaxDjHiTXA9SDKsh_$NMS zaD*8u(uK#Rs&pa033gyRveyy% zwmBkmLuF8c-&vn6pV*|^yNMV|v5h@%0U=K`P@%Bj;P+1+QenTDaI|EV_m}r^C$?Rz zC7Apw5{?s0Y!IG`Gf|6~I29LKS>Jzt2g5Gt$zKKtVQfjs38# znd$~rizH0tzpkL9J&j&=wVBP{NzOk@z&7fT28{ovf>La?;8pu+D)aGx*w2cb2U3Ks zWU~UqX~ZIb`-^;~>vOiWam**^jV1A2(uQr;2?y96sg8UP89?FSg=?w*hH!_}^oiUw z-$`?eYF34iRmN!Ke@c*SB$1rET|;$48FAfcY)|`JL(K^V)a76bZC`29>1Q=LJ7Mdj zFY9+Rwj-fVklJm5bYEzKcFW%qa8TuzMr|ZwIE}5Cw+EXuGHA=@N$}KvfQp%~#wjW| z5ivAltEp!U3lC01c0${6pQXxme{0M-&bdmob>(4cZsoTPApOP&qjcXCN-ufP8+t9- z1#aXRiWj!&K{Pb{=89a~G(hhD8n(hqi}RA*O~f1XpM9vu*Sg4}>Y;wVBIToaN^%)x z9?B8%=3-l#I~6u>P(aPr#&AnGAJX8h57!ZpK*ZaKZ9|SJRL=H736nnZr)`wEg@0SH z+?Y9G<=*4#wp zY(rZ)QSMr7<$llt&y{+pFJ222G{V`m`C`g$-D{%UENo47SwQMeU6kq|tOehBSlr#B z&#f|CPSjZ)ww0AMRL|~XcJv7QjaUlj{-z24EmOUSdvgrikVOg*?rMxuE-67(@z3n7 z{ga-h@iTlJ?S-)ld#g3Bij7^9bBLB1J3?VgC9l4tc`;r>Xz47M|oBfog2Ixn7{W=Pl!K%n=Uk z_)P6joXTaVju7=bjBVGgZ=t8q1UYQB207vUSiiPe+)|arM7;JNq`AcjYnWPwa~a72 z2WaefpyO&RB~bzAiF#O$ZKs6|s1IZ_(G(5oX|w2WHU44`A0z*9(y$!^V=&VD#B2yR zh9lKhv`*I}R&>=u{N;Tt!8YjKB8X~?NB(6``09VJvx}6Q*yn4Vh zQOZ0+;8x9)l$bei7Z(H(x%FZj^Uq`$yQ_-=e$a!4ArmU(A1^NAy90zZ`zXzAVX7s# z3THmH78^mz(W&%=+I{RxUsocxh1j}H)BvR<4HPcyC4T*vKd7TB9n_g6Duhk?uiQt* z5H`yYDGO)QgqJIFu6vG3%zMcg%CPmEX$R3-!X8%3w7}iFn;qLHybER45%ti8ZG(vw zsBU#YqLc}sQKiOJzFEo2^i&h~g~1qZlUtwhax={kcWR7}`CFg8;`oFLtRes3{Qt9e z!l3c-5ECkLh96g#QLVptbD`0BL=4-o9TxUQl=HSjbcX_*f1=L0?&E!8>P`@CvKU)) z-W<#%+9)Gd2ZAoS`NWkPa+whaiEGi0t$)%)uu~SkCx?t6C)SYGJ9wJ?exVvszuKRq zxkVf_fTSI2DCdPP?5>|nyNahvUQU`rScL8AlocT7u7hIBZD33;k=nn~g;U#4ek;dg zJF-w8dVXwYWHwKP4fTlD-Qv$$Sdn8%1=yz8p5r6xg#Q4uKE5Yoq2%uXmMVHj{&%?at5v`#0uj*DMvNUv`uA^#7muQ-C#5zxS~1PZUE-ekW5GFcmVC3~5hU;rxp& z)*cSb%4e3*UX8bRBK*=97=FfZDl_5#)~WR+f8a;2&O&{a&-scYPgvamUuu#i`5mRU%W)z^O@KdnM{B}c~j&YsSNeax{^h^uTv!{Jw&`U|5-mHXq<0`{3obE z`?((0c26H$(?#CLBiIgk%!KfVixE90cWYuYxEh`~lqnp=ag2K+RrAcYHB;MKi|^5~MMM^o<+^&5(9moR_b z;FvLj(^@bCBy9IBH*U_>xkR}s*baM`LBoC%)T*fs1qDUytf|dxx++iDN^H5D=X~Zr zw;1~hbFj}6;a|>=a z1SLxcNf~mZn8Wi%4(q?P8Iys2CoHuvxQPsyFtXT3){Xw zji98>6uHjT0PV{!*{mgAlDkzah}_DtRq!x@w7I`AHkGr$=$$M5;ExRU<4=x6x!u^7 zW$QxYH)D+bZebq*e-qk&3nNbY<}hK66r{P;ztx1@jv9y-)}|`om_x1o-iInhkVgNKPfZfrri6ly8$sxFJ(?ag<5E2L67^ex zZPRt(+<@8%$TCi@Bou=&_Z8Xds5V2FvawS@OIA1OOmL(WhA5m66K*zV9#h2_`nQI4Suj614u z-9Bbi%J9EFUp^<5CP;J38q|Quz4}OZm9Q>{okrc(?4iUXzY#HbVmmDCRUi1hCaU~S zQ&|6|OAqzPvdMaG-PO5?axx;n<)X0Vj*sx$ zO104D--JHL6LYBH;n`HB7WwQuf^DRSKGc7Gi75{j`q!_!()_Vs*@NTeM7*`w2EBaG z_moX%dX(IS_xw~kPdL}Z{m%agJBn>ry)e&l*cEyDe&Ek6tY9rSZIZlQYf4y06=^-> zJ<8#ejDKV7YbJu#UkdbCfhUz6DHXYl( zbObFMEm6yPLr6+(lX!n{=48{zZ(6{%`GhLen?7S4UYh`&VMuqJ(!aL+8M!uU2-~Xm zUOunzBcpAs0TxSM3-b~E#3sLx@!F|Ma~nFK0R7e;!n^P-uX&=99Z0JaC#~5>+!tZk zdK)Z*mZc4hy|CAb$tig{vC*7s>)?xf5V1aP2sM!MX+Dq7s1#%M^1tL9`xeBcGImCYN_kul8 zzJsvI*k*a%<=gJKBAeV-{Dwul+4-lEC~?>a1Mw!R zkqW-^7g25?w*BAh!q{PXGf%b$5qZ+U9U zlDAa-l(R&+rP#&}89?g^CFK0%{~!0arVD3SaG#FM-%U%&DfrvsR)^Iy-f3V z;rU>qN2edI^NDgJ$A?a1+p+d2ukgPIjLdBfc)6gMI;50GW!sT$vKiZ)025FTe8Sj! zSb?0=9J=#j0=xDg`R}BxCCyDcRSnucsG|{cU1$w6pyYnjrgeWPCfb7+wzTF4zWCF7 z#$Q$hD`z)Qs^6@jvagY2?lIVUE|LSQE3&A_MjzgWJ*4vIZ>55h+KF;=v2D9M1L~c} zm}*@cFui!4@-%hfTIz%zQnfAMQ(^u7uBi^X*9Q3bL16Z!8ir!CD*y<|Qp z`5U7BAI%{1=PTm4tB%~O{Dnlh?$~-dEd$p%$|&2y33RegQwBZ$9FigbrPpHX7bDD( zV04k!*P5_dWj)Kwe5O7H`4hQiVH??QD$L`5$y98zf>N<8J+Yvfyy=1$P%C#-Ydtj)>9FR1+TejCHKzIBvu6V5u!7xs_()cQY4G58#no;6C8>#QTK zhmp8SK4-QJa(=7<86mnJ}5aXLsWw9)Px!oR~OZA#Sc$Mq^5B;ElT z*lv5J0m-&c7%%Hd&~C0wkM&neoDcj>#88c`SX-DAsiTN88uVe|2MhY~cq(hc-6HHT zw#q5KAeSvd2ASrdeQ`cD+Uv-TZ%t;utOt8tX>NAHnT(Zhw2`k^8zSYEs8_BvR8_)t zqTJ=!R_wHf)sv^9+iUK# zF*m;_-WOJS(%c43l%c^^5oMj#huD`Qy5-p(>if4^L~bG2=6!vRr{BM1Hgu`NnUg!I zNj`hvw4%-)u6 z-1xI3ukt1lLoc>X$)kL7PCH|@#T1GZC(y|`CE}(u@_WZjB+V`3rW)j?&p=t@W4uDV z443e)g~TBB0#OeOu^nAA8Tym;P~H)3kSU#U?UM5{&iJbkqCF&G>+M*;#}B!nsLxOM zext{dCvj(}y4A;sc+0R&-|h%r6TDH{78%f8@`{~o*~^|er%06Bg{{&$Pbd}6QeT^F z47Iawi1SZ|a{3pR64pRpnp>W>ux_UBBa=>Rz}IK@P&w77sUvI$5raRrL)N$XpuZxK zzsw~*uKE_Me&e&auK5;G58JS{L~r=CT3Hk=oXhoR#|dg$WEHjRheo2@Vr;_;^`N>z z4fPM`!dts4%IG(1$)Je*o@~b!CYeFxQXMpCCahhVFGs&R-^T|2evima+d!II=X(Qa zvh8Me1X@7g9)^Ce3hb?aXA?0XZ2R_g@KuV!c%f4_@1GvbwwV7&smzKcY&^D=k!n!x zWsG$5RbcVMbXKS05~cT1m9Pca1}$;{zX(m#=4}Kv8rIa26P{d^aM0A3&xaOlJw+2C z`ISE6j_E+@viWSQn+vBNOpaNq8cK89Agq^;uKy0TJYjkNpFXl#!&*>xkU) zupM*n<2TrvBBPX1UTu>Md$#ZoDm9AiTe*j=qm2%fRT-dR8&$Y>vW`vrVGBj`3B-7z zf{`>gyF_6P!F*xNvRntuUn#K$)8)AKHy7D2>&ye&toUhAeC!dUDV!hRsBB2@I;+9u zvK>U5jK(%f#tSqp<&fEROIXJ>QEqvToMWaDaV@g3HR`S5?Q~TT7q0;H-CpsW#W$%9 z6#4y7k8K8L18${$XzZ6){I3d%+`FbDY{;plM7iVGI;R_h!e^nsMA&a-OWhV~p6m&B zYJ>xEriH7qv>tYRQiDb+0tG7G;Y)ieDMETou#P`{1Y@4#IpmvERQV&suL+A*5 zwecl;_Ld$|XPMZ#3+MKgPaI@?rwVh`PE4YY*Hp55N9BlXT!XFAyfMDoT^H$YRD@(S zl{M%8M+L9r2s?spkbE@w|2PNHTZFwIuZUU6CJSzMS0E9CgNZb^QVU(!|3nRiAJPI% zP^AYxRrt(YrbqNugk#%WGzs#A^U1OvXh7P04NiNTA?KzEME&mnuiSq}_#PQ$R4SbH zZTw>zfltAon+oIO)Amkt6EVFO}_*|gL7JatkE}XI>>LC={5-UCE-aZX= z#C+xt6i(n~J>JW5)0Ys}I0f6x{1uRGXo-SVCqmxyZQ{U-Gda;ehlz44v5o(lfk@QO z^prY6g^mFobwGp5`)()keCWe=sC_!Doo9y3qD9cMPENem!IL}p^H!oy*v6e$3L;_6Hti^!RTQTvF*r1xo8Ra` z)Pt_MG`FhTA)x&95fglW8oai7P5Gv}a%R8%M%05Zw#6OMAhXp2DX$bkuemy#r|8Um z>~tZ@-GXhsiWd~?sG{~=X7GdC1**Trm8<)Q+^4J%TY9rS3_bqLMEqa|PE)$6uM~$^ znP)x3*^I5&c1|{e)>pD9{2M(Oooi2*Ppgo)&nMf1x`i~i+!^}NoT`iLuL;kG!_(QP z$C|13o&h3WF}5+UJfP*TSIm~DQ()EYS5&H&4W}GAN&ICyi^H~B*b~-ItdF|a=>R={ zN>$lkR@~Wq@>?z+TYo)aPSOc^H2jA#1Q@%~F+uMnYnIO-u3HnfN!eatHh7Vd3-kbq z%`|%2tT$|AxF->VlBG1aDEAN;$^F1|%y)znC1q66T`x|}pB#7c#MVE(gYRk{WCFC+ zVWnIW_0!frso0wHL<}3Sjq`5dcRv!&C0M2m>gxUC=`9DT{gDNP&B2xnuH-wI5GFgx z32dGk({W+nij@tE2-|?Im9Hg)b*rKQ;mn164K+G$5zQ%wdl9+GOp@kSs4n!qK2bv2 zD@3sE+7!CDA&46N`XFK5u;mO&_#w#@Rq;0z_`(=Bm#kOiV7&3zt zkY~^om|I#;HFi$noYu`E>?pR9Zf{8IDPeY5dx3haJsrMAfpc44OyuThC9Q{wAxq&~ zzzC@#4UmMou*I*OxGcN#M7a^z*85F|ff_}mengn7bz7BQ80)~5i5iG<)3M!BI|+)v zH9;OB!nejB7g@FS=h)bPbBJ;Q+nks0_|mZ)Mw@d4cN=Tk)uQiOOy2L*m-R4&ZDP3_ zbd^p*F;j(erhlKws@L0cp|@X2zO;7M(%gDtrvW^+L1U4c&|4nO$`-t3Kkg!*QDN9_ z84=Fi9C1LKRpsD}q7qkX;UVS^s}nJ#Vp|%c0glgQQ0j<29Ekr&HQsB#7Ned**eYxj z=r{a8e*{ze!wl#dewc znp?b^K9v6HhvE$=K_c&-Oy%WbLWm9K`QCc`q`yMkjEj?JQaf98nm zmW*xbuMQBSAA^D(w(?mgpRf*n;q2+fe-ZV23EM#hF%&SuJe%bj!W@sKl6z+E93QoT zh_?sZ!Gxb3W1PlH?3i zN^QTel=`wwitMDh1>BtgJ;vQknb;J%?t9X%s^3f2+WkRTKWyy-z6WmD3_0Aef|2|t z@rK7V_jLADB8CKP`#SS^FL!%XJl@GWC%dqJ9pkC}@&}1>i?9vdAq#!;e9*|8PCnylO!~{74O<|`?FfHK#GpA@nww>}A9O8QjiMTQ z`GnMFcFo6nc3zwjVQFlOZ!LkAd4o*kqN(sf{SFnfdK%}fQA)J4&DbW0#(1u05lR|u zhEp(^T_f^8Mz8ZS~Ku_)ESD zC}@WYjMfYGpNmw}9pQv0lBDY*@o02F9?6*UK zziLCM-wM{t)1C7U|BZ;Z5!(%#j*z?80F^Bg<{o@|_?qTXVQjqUSHj9ok>)n4t^@x0 z3sH1*C%^F2Fk7g=OL|1hiEH7GZStR5U=XT^R2%hRZK@1y9$`Vn_I@VfU5jmWp8>cs zmT2v4Rp>um$C{33u>*f*5H<_jv8(3LZ?BCSg*iW=K_a^C9|ta9OwM($!`4zSkB>|k zVd}O_fXtbjsn_xsshl@t|IQe;HdE_)5r2mnK5h&*GCxpbD(fkCS#mtq*+E(lL&DzY zEh!6-WqTK2KRV8uYYAtkgpq6bBeBhM>E#PtC!>_d_y?PZ9T0 z!-S}_UTnR6y7+{gZyDV@H?WVjqg%A*NSr&#XNj4UG`GxG!+eUc7BR|17=H^Xk;v>h zK)o(oO|-Lx*lunxgWf$_s8>rLuEsr}a-L1#Y~H35^_zsP!7~}?=>5zLPt*mK@&?`63gJY#W!T0=9_O;SR@uNKyD>%_h%L>_-Ysh#UN_6EU=7Yj#uxVudwK`E^<_)2f@QcyWvh7$U!awOypS1@_+IgIbp|!+pYj z>1CF*>l@C;ru!^WF2Yv*`UC#-76X){q5vt=Q+!&~j#8GF$#2AXY`4uaf&KvzI=w*? zo{brCou}-$31Q@QE5O!HVgW?>=Pn%gHqg-q^Z-)yMBYXpgGY z-t!7G(%5$oZ%{v2BoO7sVrzF;SQ|C%BNOdy016vb=ondJ%Iv@e!scPSyw3y{+RGwj zC+r>fAb{5Y`Vy;F8bjE7*t&&_AWH5m!&$h4*CAKBK=cc{-~nkBrb%O-oFBPx6@2SK0ZI3vbNQa*Tqc%F@5>owN| z+B9sDW2`b9e_YJE*J`j&I}M0(9i~fjOQ~=Hj|_PvnPCo_Y;REt$L+b~f8G$!hj46* zE}DTvaVAQ-KE|_a)wnWSdp7BUHc{?=Z1dLGL00@zW`DH}>_}CktKP_Q3uC&8csXoc zMYs4U(`Lr`I}^AY_?ikc+C*i1+f9Ah9tN=;F}H@O$I2+zOdqCu{!V4xkl}VbZ6RW? zahK*+T_Wr;wSNlAv=r{mrq}Ewr3-AZ6S<}>6k8)DVGnIJFI2v38-%S%w($L+zmF+=J01KQoaw=n->{!b))M9J!d9|QAH3JSVKxs<1cUi@blBJ5 zNRnS2B5XOfX{QJIBp6{lSzS4XiycA)Ype=k}GbrdN>4}V;5xfJ^obykRN>uXK0S*d{vEOo)VMx8d=Ay1X9CjS{)u??7|39fgaGoUaL{1e=0 z*S+o6Ue-nv@v3`DbIZOjykm!LkanyJ#67#mu31~iTK+OZ^uvg;tArbhRJip4!scU}vn2r9L*-EG89VqD zU8Q;_&*2W{=@IqNgzZqM9VGWmMqOsgaK%)PTfZou?LR_3ACzWEbF<&01ghPZ!u)D^ zn4Er$EnM3p{-2&65rZeT(H|>#GZ_vK)l^4Sc;?K&v1PZyTn8>U(ZT)0Z*B;uZLz}9`aEOex4p;jkV zC>Si1Y#WuQyX9XI@yd8fbIbgAnh*K)3NwCE4|J|JQ8|aVQftrMCafE_xo$d8t$2>< zU*ZG_)iY?#1vA(QC&~63g{}KM9njvl8O429#n*f@#@6brkR-f(K(vP=*zT{mlOwjbN1 zL;vz_BXUS`MF)1?{++t^>;I_K{p9n((np$`_VTYFQd~?wel>@Bz5YDapie$id$5%pHh~oRVkT>X6U3GZdp~CGXLmka zK-7bYSejc9y2n?yO+k_R!r2y~JJ^?Sfa+GtCTt+K4Gl6Nb3h;68y3#eS>Gs@eLq5_ z(3c6j16#B5x4d(lD^l+s;`h(E$%@+5sCUAi5nt9rDYiy&oqTPuJ4%1m$D8acVg0t* zQ=3x#3EPQn>l9^Sj;u2B3lYx!?Yl(nAKFMAX(=SEh?3@ZN!W8h)H23oSC|TOZ?)*q zbOUxq&L+b8VOzUc4u)>%pxVotF#OqooxC!a+I{^QVH2>mzbLH3`9b*i-=hOB&ks{W z4r<&@&Wo7SP=u{!ff*#MQbCyy^&!qcpVrqMV^tp55#_dFTPUF*{GAHQe`O0N|Ne_A znLV5P_k}9^Wu0l#(%fp_jPOAx`k3;E!gJz+8r}FyG}TscoG6#ZHsyFQh*eck*C$)J zGxH?XuyqbM7Wsf^lbf;KTx1A2g|m_N^?qKI*}#T}ot1P9dJ*`*7$NG?<@62xTcjO-Zy^gpRjo1$T(84$VX@m-` zKJ$4-eb>$`d`Z>xk>7oCNSa$*+gaX3))=+P4DjX8H6&LuZB-E9Ds zM#@M@TNmhjM_T{Dem3hE`QCJ%Bdv!_S|6fMD5B79hEO(P8vWBi607InL&Ok?ZJgQ& zZ#hv5RVk=}&8}~#RjJ1*XVY}TW?<`GF9%|M9klS}1Zeb`FaGtnB5GKZ{9YHvy#8<9 zZNmp`$XcO{)Pr<{`B%b5A~~wmi>Ks&%P_WSL!Er|!x^Y;Ll3{<-5;!H(Hu(FREdbe z-d9?#Qi396ywX5vtU3T^PZex&qw2Jt5Oz7X>9hev-7rQXP>0}OJlKp@3o5>-nEmpe zPs3KyAgue^tc+SqM38btkM8(hRr?^I+cg9dU%Q2n=S2xmcEetm;o_>DZJ z{3?aWEeYG`Lz5wB+!Ga;%R#`m8r&YIJ#3>@Hc@9~*ve?=L21xyCi#FVMC_bJ&)Bes z{c33-ky{tGJH*b=@|z*LbVLM3t-pzt90E9*ELY;p1%r9g+&JHI-fw{qN}O?c1 z)|Pb2L^UpH|21NKvlv?wVgJoOjVWm4jy!a3A7En^XG_99C=vD0j_r{xhA?(}Aqsok z#sB-w1TJWii6njK7V&Mb?JvzuyR?$8oT7?yo{jSZmt@3GpFN*)s?)C5UiQM9`jmw<}^_%+{-Pv}qX4_S&=%x$T_&+%!h5~FG zLgXOp7hyfwA$|C!?GCkR?jKZV&vPP%7HmUS`a{gXYLw>E$L~J=h&}hyZB~90d2g!D zm&U7LunwZnh)`CM6$Bi0rV849xM?eGhvw&B0L<$LBfFlnnMg1E+p&PtdlF8KZu zk=s3N13x_F^Sr!Kc;YkOE%QEmh#yhooVI=>+9K(0ZYp2 z>ki@`^1zl8_ML34c0)}e1AN~~8P31aUflCI#pla58I5hLaMt%)89%hSO%_6@_OQq1 z-ez5X^Cjvb8`~&hU!%r@FPLI28xa3%MHgCFaAKWDL_O4Fo1)XobMvd1e&KAax>I^| zWTg)kx2&4TZ5&(wZ>&L7ql~Iw8v!hyODEo#z$MNyA#!v5N?H$DCkFWDIN?0Yl+V2A zpS$8!{eMvQ@5z7Z)!5b_ng%(nJTe!~_HZiAqc&U>bM9--67gnY+p^IahPH{2k+5%4 z$~r4HEzO*ZsMtr;Lk+f_26n>UcGf8Jg(}QyP~eUS|H+nnn-TGjVCy$L1$vIGLYcoj z;WM|%aNo!6VozUwM#SI{i0`+23i4{TP~$}-2r7Og)^u~^M%8nP7{al2J-HH$W~DQQ zhXWv?SdVVd*X63N7!fh-$9C9T7KS8F$p6L&Z*_AQyV+Vq#q3-{SPt7Ljdy&7tRnKH zv>?gkx_HLQvs7#I2yxv8|BE5q6pTt0(clMTaC~h+pSWJY7GEXT8rdw6=4O{<3Jx`P zXl$1v)TlpW&*3=s(;;cy zNhadD7u2tuLN7Ym$}U@`K*U>#twOmH1k}l(O5xqTB)f@n>Do<2yY3-u-+$%C*h1`W zp%27H9ZcO#xOr=TXD#a^iF?R=p)|L+6LVns_f}~9o&lsN$4WYSmvZ@~)b=DkiUnpyRgmTg}q3Y%tVpOZ+P{el{mAp)8ZL+=0v>Z*e(~& zr?4yzMq|P`cvd9??6x+0R>av7?X3I17=C=sCl+WT(Fa)ws@x+!V0DdZm_>dQ7=4Y~ zBsB?=J}DsQ0pWb7=ub6d=M%OA zTkhauaBh)DyK5%HuOkIi@ZH&5#lAWs2HhZOZU(jvpgU}h;)B${z}%c&dr_WCf0RL7 z3twzQ>`b6zo$y~M?EhdnJe}SON7y1~vL9v(wyWPNK+bJn)Wvr2WqGokrQU6Ey0!|@ zb_%gg8(s;}XDf^dn?O|5adF9yGdb%!0YnU~*xHx>#@8NFK|O)*c~4qJ{BA-ORkVcs z_EcXa&8_fXedx=1!KAjDLzK2BZFj_#EipJvv>h?FS$5;Rd9N*M2v&k5#YL=Uu?OWb zkV4ovYzLnSd#{bWVmhZxfi)^`s8V?mmppwnQNQ`vX700qazh_fE%T1Abk^ido=;~N zRoD}`HDQ}DZ7vKK2>WpUJ`oxx$5W-jVlHz-J5jDuur#;Gc`o3Z)61+?vjMqz8ua

J;`dS#@8LYcUj4G6zD5IRX*b?piOLyFTuNhJNYi z-S>TB3lF=CWz?;SZ~Js?<8nUpS!Grz>bp<8<)*LM&~qoK_L2ug+W~B&)y$x!UW{af zJuWKJhgjvF32d5rD$yo~upRo|1Tv@o%Q%jkLad<&eXHv>J9d)nW3pQ!%`N)ubG}5; z4h_?ggsQQ8G=`W8x%lTqnp^SXR=$0~JQO(d5noY$iFLhZL2bG*fhac^ z+wAkxpgJC*WQC8sW5A#6Vf6ymmJcT4O~!U~To@;FPh*Nj(_zae4|N9C(LZUj zRGQo9W+PC~2tf8vdU^fl3S9j0I!TA-zeJl1#5V2SLw?|%Gm4rZ^j*c5uqi!1QMbP$ zNzElUwQm{nS+Y(~p0%jFT2oXQD7^Zlwq6`J`VTGGT8;;H3SG`uh2P zYPr!B!unw=Vn1^=INSCOkUVjNZ961 zS53y9oKW1GC!1V+N&Gn+3ML**%& zo<8j?oA%eY;xF&bW^8L!G{FD321*Ul0JFLw@xX>CD)dDY5rgt_X>OiHANZ6@OVP+g z2_F{vl5LUSC~lfXj(vGy8_+HE_q~%toS_cfyn2_~wIiRhen!4qVz3S3e&K@-bTb{v z6QHXvg!(G9jLQ1{J`qDMw)=(kS&1J%Gks@uVU5cx%3sAoVl<(Iu#MOTzI(u@*mw(b zkRR}#OV6;{D(TeHBl8I>w?dj5ZT5!Oy(B^?Hs<6>anfq4>dP21u#Fk~EUddwL*9kLoYVTnlzjbFY9x;AE3U?N zsOc=9eOMO_9evMt^{tZ3&ldWPwv+F-VQhzOyrJbQ1r+hMH9VKRqdX-}+{lWnME%-- zBh4*bb~40z>Z3|IVV&jLF>$G`ELY)tlc=-h*bXt*`0%a$jP_nFV1#q(=h>d5D#OU< zdK$J_qCUQ2Up1pH>>stwQ=87TJ}HNRGYq($>2%fdNI)1`nYcQ>|v4RWB_EkerARA7AdGWN#d zyVO7ldCym1n^MulubnD~#J+M++HOI;X)C6xyverHi|t6q5ML2{n+cg~4xZ-?=#kTT z;*5jjH8xu*&F%Dd5mfDc!o(X}Lgn@u^q$iX*eQjGh<72joXZ&BbWR@$W92~W{ZaL; z$^+`6^+v)bVH-0N2$11|3_LXp^j;0)-7Vc^ztU;tSw+^u)$o*rF+7HV>+uhqN z?4Ly?Y`#PMzxiWp-#N(JH(q2?CfGvO21`1p__}y-9$D@-Z0UG)uq^0f@>Gn$zr=~Q zSyCtlnjFt6#@1+tI}BvYBafYy@Y$ZDme2CwymdT@HrbA?W$;vxocBTKmMoaO>|iH7 z2loDmKl|l9uf0l|TjZjCUg49PFxDZQ%f(ny$KSP6%d5#45Vivsm0(0N%miFAgg94S zT6CsbY_x-X{>Eb)c2Jnt##^CLy$R4euZKOiJD0uql{-)rZ3pbJIM+s;-vic4VV6(0k-jg0DUd zKA24_1eJ(apU)+%H?{*)rh)mdzNnD@%=^E1!LGb~gI)IjtmlozR?c@8q#WLaV)`2S zZ24~Xf#(tS=W%29%lgg3b}YmRT3f6Uy-p1-UOmbFxH6AD(2|J(c?J4DQ~a$;9(P;ah2LJ+u8G?vt>OEd7DcHN4JlJkZ7}=9A+L9@uu&^z$t; zP0YX|BQR=Kqx*ImQq@7^vm_eZz-^|GTJD7+h5ahbmkzRYeXT@Bw}NQv+1QHyX9P-N zdcqz{!n~Cq+S!!fmWdx6vL|w@$962p0ahzoBkfz7aQlxuwxdXwd%1)BKOV=nP+bOM zZmA*11zNB>C7fEf`xW)a9vR{r+%-yC524$vphbIx3HsX{%6Hn+YU@6*u9M}7cgt#Q zYkOuxz0(L&Qeg`ljfSZ$(-G&bu#C8eGO_Iw&ND)eI;eiJ3`8yA#H*^#QrT-8h_+LM zZR#swujJ(-#AR!P*VzYb?ePU-#S#mm9!9V&oF#(1L=i$!I*|5zlO##b(`WD*Ip@@2 zjWjpy9hyMbYa@ld!nu=b4=B;3g@gwmn7A9B;1iTdUD9>qChC)O z>-J;I<(=bYKI)>x{qK4EeHVQ0 myY>S9;IczPx96-BAcn`%3|4{o~CB-?qTuSh9 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
7(x?&-0U@Bohf7(%tn5_{0i8GHj5p=`fr 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

ye%Thn9k>xp@@w6Ir;+q`zL~I5(>nML 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,+);&lrOC|gdfiJcf0l&hmd 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

}}=!W9K8MEf;w+yN9^ty#rHr<}l@N24Vf2)M0M8 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

>lVs6K`%6xwMb;{pX!Y0msF1RmVh+NVy3W2yD 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

~~y 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

dp9R)QUF&3r{mTYn(`Y$Zr* zP6B5oW=rKcsn$=taMSZgH1Bae(GzAVQUo{d7{6oIG}jAUTQUCP-32N(A1BgMO=<6? znOwY9qgA=J^`8UpqD-;%VoRtvSFCt>3QIGa_~RDDY^u?DYME_;(+9tz2@7?|m7fTT z?z4xBcMG$6{~V`wiALDp_Y=*kCl_XVK13~L{PS-SvucBzX^6LoQx??Ipx^Eh=cIAS zWbA7$w`OLIFHeV9H(PAvVGMeCi7n2U*7*%xOYZu`B@$x^!r%B zZhSDYnD##|UVmoedQJnaXJh1526{up$mt}q)>68*Y6aJBEVE6EI%!kfNik)q8Dvcw zD#RE%yBp~q=i1F@)_Bx)y3E-bhc`T-F9LRuuE+MGO+#mM_8GGkBWmfAk&@VcSl(xP zrJk@W)EqSr;IGxjuBzO;_fG@kZe4Kn&knFD@dUavY_w!>qLDj?e3#NF!D=t#kUsiJMdNS+kKNfP&UlR8pasn-1OF=PIThhzq=ccYn( z4mLP!2@%gik@aLZ>DzKMu3a5BRc;Qt)4+DnOVRbA9qb$b8o9g~D_!=!lG%!lkLkMI*)oqY)3y>@#Q%xFAhg3mrBw1&kuK)HTl;D%;j&}Rwo>x`mT*Isr~|4WY?dwTH{o? z<;E7$sxDTz^xkWFy|@=S<$nelRr1f(uFQJf9RRjj@;PK}54pdN7Su0qBU2qhxOSH@ zJH^x%srXV{d~4%=<%(^3?^e6T>7i zoxi{BVYWQ+D3xxti&pcyLcro>NZ(6|ocCVi;w@zsM-PPZ(o8Y%h7;h{F+!KZ6msij zAZNcYEB#YO^XMq-JG+{0HQYmbP2P?^G)(5KgNLdPy5lq;<5Z6LCCUos5<6i_|8Yu( zSblueTxP4!c7@^@d17m`Ekv0O7t)LmE6a@j+D5z@&?vkhn`Bnb)ZE$zolrR+5>!qL#kG-TyZT>nL%xwLFJgSh_-mS$QG~Z64oN9Xy zMF*Ya+D%~gqyAX%etA_)e>Vd1)Qp6K{WK&iy7J&`>WAPs!&kKIRUi2~W*)LUk;KJdj#RmYhMuEYdkt`Ni5eK&_f<^p ze;lQ4&*W?Xv$c~IOh2)dbCFmX>@ECdEbY<-1!#wpPjFOJHN~S{THjjiO}n0 z?C_^#UYr;CzONTBt0s7W_KPyn>XRMVjxiBZYI;l33Nx+_P0ZR}x_tG%Q9+SzYV6czu~|Jl!9(%a6xi{4He4gm7X$5s>`w6*$=^iy>`Tsb%%(nH*qk(^S!2$ES zfbBsiG&$rJs=UVEHyfA@IXe^T<@HMz*gC@4>QgAw(p9oN&Cgje6jiyUuD?&Ue;SEX z6p!h~U5CjtgB_^XIZrNLFJ@i#oTrV3wz%5tF$aI5ZRG_UErrx>%K)OY=FZv*f1e*kB0rcRoZze~v*1ZJ zDsjqoGcbFlE~xc&LQ69FZxySUO^AqohhU1Ol=)LEt@aa5sdDA7X-3(@v9p!Pl zT2yS;7zni!dI&M|KPs#R{u^l(v;MtuX<|jQSf$$oCd%t#O^wb*2mgP$X^&Us=Du1B zQajIzmTrT=`RG`|_4Wc~*+IVVxG@`lM})NGi8yQ%)$UVBy-&4>Y4>}ApTj?B<;Vh* zfcW>q4rW(nIze^J8L`o7G`x(k7fwes5`)eByNKfiR)l)i;z`I3|Bb-F8Z>f8q#^bhxlL<0$F9Z8R6}E@sP%`hs?R08TS`MyKSfOBp+h zmHEdN-1%0*Y;(s&}ID@|aW2)t1n9VK{PLJ63w}h5u%*WOhr~Am})jEe6LsLhAdG zLhqdYWK@U`7jG-G{vXO{O4)gF%_39qUEE!;-Y^nHRPygmmJ?OE#r)zAYa$%5-T(BV zQ}Ipd`ockaynHE_TOhOUjguhV;-l!PaDc0EH<7!#wG?&xH||)(Gn;QpsLnoPoOq^< zYQOMN?g&<*`e^}Vwj-Q+o>2hDK8j|1iL(7_6W;Yd2Vfq#x#%WTTc zlQdmd59j@+0l}+&QJnpHTV8MF0@rR1v*CaKOVj0fx8a_TUTKKL|hcI2Ps zFth$mH>lOEQc-iC0i4^^iOd!*Lr$k|aP3AhTl~*4np$dzJ!{@mHQRsAAG1`VivQo< z9+}MMd_GH?y1o_juWP}DZi(pmm*eP$Hs8;xnO$qI1s}_Na9qPvTAA8L^g=BZ(K{b= z$GFF2Rc=|O@*Zg)Z-{1}ouG2UK%wk;20lFkLwkYmGDjjV*y>f1|bZ z(^LMRa0IidKEuK8@+4gA{+U|GG?OuJGs%2~3HkoMna-@!fez~Ub|TI)e@I=8YDrsj zvBJE9pR--btYNhUluyqWmxVb&yuF8DPfn77Er_eHrmrfu$h;ZQ9REpl4s(F@ffvxS zqT!O>&2!4{V;Ie>v#lCHs~p3R&*_1Rw1n~>x=2Pu;II$UP9ZHG1(UzOK>>?7|TD9;1*&p)m#JIDWbYG*d}*Kf4rsXVUu zu`N{8jS$S+UtcJ#Kgz{mH$|13)4n3A+3;3e@WcS-?an}(`lX=*!}#wdA>PGA`@Lb&C8l-#<;|C>o-);#kH4ehukda3t=TkX%$vSkZUygUi^`@SPFoBC=B z}oGXXX&8_6sasHh* zpV{PBeW62M|7=6(Fu+C5LXF{K(mf@TtHU#9iwDbVb2pz9wN?#W1coi~fwoU*fYOUO6Tv0rz{Ph5uljuoKUH?MH*)-anKbf0E?9)tDX)luo+vm~lG z5iO--IIA;Vm0R%eue4&@BwXD6A+4$Jrf&8kAf$$?@*<`wGjZ>7Drmw z)3M#sNy?d7=!g6vTz%7+4Naa6Ntb%#fW<>#!396mImAuMI?8{;yTNSiS`#qrc}y%) zI798+(ZY|F3FNgJe}7Y(p~|h@wt|LlzbKl|Gy>y2nnF_QWR#}QKN~qS8@GQVz%q;j ze7l0nnFC~9XBTN)=oGFFVa#d|oDR-K@>(aUX3#p{1XcawCLK2)$=N;swflzv((YSg zgry6d*l8eC$zvLfH|25XaVfI_J9VJ+XJ71J_=M(v>>z5y;eue&tN8ol_J!GX+P>g9 z^{H5`C4b+cEy(GbtyKDL5_c>df>d>I+CCc=NB6~+%jA22ynjK#J0Izg3ID7ym)Y{1 zzM!X^g120h$KlQXm#iC`tJFR}h-){Q*^f7!p#G>Yt~UQfb-kO&fZ<2T2_0ju4!~@* z^$ajv-WAu(vw~6YQc=JOL29e$!`Zg~;yvLGE<-PgvHD|RPh5W?sGytF6cnQPz7Ezi zRk=k4bqDVa*7K}_aNlo%r^t}ycw*KKcn)_xDF5dfr#-*H6&JW5$A)j}0 zHi22qrUz8}%{j4!Sc0*!nSgI}L6-OV`+PC84sVpy>Rg*x<7NP_{?11By-%ZtAMbMQ zwlMqdK`$t&JR_QqaDv6H_QDi%ds04t|K4XFtjaCYO&!#l-n$a|{4c|jU~0!4=P zZ(JP$m|Ztq-k0m+S20jt8+Ox~YNQBpmvqkYdxpd@TZ@N6acz!hy3Yl|uQ&@U%q|m; z9Rs;|3z%)aWDKoSvc=LUd5@VkM>ANm?RB#_T`R6EwhpGzk|m8lX2v=T3RRX zJ?uL0xiVu-ICswL&Qawitnq+wLvLJo=o{VDah-TfdQ29!W3F9+S%(=x5W0RC)-lkB zmiAU<&=13f7^qn|c#jNROO)yWGf~y}trf#dgkoM`K!uI!P-1S#GM3q}y_d&2_>=|+K zvti&fcZ~2u^8xarmk;{B|GF_--mid$E`BX8aP0##w&o(6FImXbppvuU%r;t=(l9S) ztVW*EKUc>SkL9VTZ}(8n9$@zJauM`KdtzO64XC)AM-C5fC6`9<^{rsG>GT+gnd*Z> zV?I)o*oWj=CJ=q!VO$+Feo*CB{M%UQICn>^@)-qN_L&L!n)*^{$WZPaa$$CVjtGsH zD@Cuj4q*4k0HI3DQc6$V&yD$C%&hs%2ekR$QZXWR0NfecTWB$GLUEJ%KAFmFoxKYr z?3#cp!oE>2w+gZx6H@MO$;Dg7tjS~%DjVecaesB_=vzcAwtOJ3&Q0cQ2eV;i2%1yn zJ#X%)!LuLFlc#H6%i~-;IqNuARR{m$MKniYk0V{4(x#9g@^JcTWEH##eSeHYnT=|j z4lYS8V%s%4xH`2QH6}YqA+`Mb+b(7g=F4*)G$!KwOW)`_y>Db*1dyGp1uljXW+P2b z(#-ibIOBhB=#f*pWU2E>l=k;_E{2cH;uE$I*DlZH+R#cXx4s~A#NWx{Q%|{b({`RJ zH}fB7fVrb3Hp=J^YX3X#zH6eVmMKXd~)7#&b52 z+0fE#S~|ZAHuvlXdG!b_?{ghx*YN+zl*}6cd4uLuUK1lbjOFuAUC{b92rcWz|4V9R zwsiVas=3q+Cwf1k^|e6E9xpT~)O{en=H8In|OXT(NK1L2hhjUAijv9YI z4rJE$?>BUb$62wYa{ze08Xz=UCn(-E@!z)NnGL-X2q*4YVTHU-WU9lb3pKaLNZ$e% za&;(VcF7L;y>N#w?vTe9H~pk8)!xifcAOl_9gCOD>ghb7arNVH_^cWl_45T{mbeyO zu;8D6P3Nm})05{Wa?}HwKfRO$_|8Y0#u;#RnDU=3AvDmhMKqSbgYT=$L~Gl( zBke2vKeZTUll$p{W>~)Hv%?m2{g6=iwJ)*U^#|8(92KrChw2*|xz-s{Qn%X!KSa zW_ZV;$3+K_n}fvJC}xvN%^~u}WUOZVj3yuYmzZrEMMBe$bNwunS?RL8hE-qre^### zG~2t3JYIE`&`w*f4%N(-%=ZIHp8M;vsyCP|8chOR2TND(FXC*EFja0|Yen#~5pe20 zP5HW}By+cPmA1$8=Y>17YnAGde%c57uY5|qcfBSKLv|=4e?eT$BA9L5I~5AEUGcI> zIuKm)Gg&j$Qkpz{4HrW?vx#LspgT)}4-|HVy}u@tqO(1vzJK!XEtSj`Zu5pEi2`=a z=mN^0{w8Z*YDupT1#<0bE>h*z_OCkR3_B!7zmV6G`D`!f+}NsIdy;?V8qKV!uz#7FJibCncIVcUdq0ikV%X2D|BdrB zb<91{$F2`N?Q$2b*prAxFX8_OlrtN*vp3v1>4&YXpVC*=8j|@q9i_L%pBKLG>z&N* ze{Te#^4`uu@grI@>nriycv`7_(1wfGX))`+hpVWQ+6e4@qmFJ`b%^vU`U_3nABeth zcLB4W; zKStK>M^$dMx?{oLQl7)q`H@=xdW#IQp=AGkEACi?FdKKXl-g!ii!Jl}!i3s)XzGWClS(c;DQKaNvosz|*WVC@v14HWa}z~@T2EW#76yTkNOcwIrGL4t1awtF+O8KDgD11m z22-FqA7e`$ZLt27OgvBZl8#o*;_Mn`wc~QB>t{WjYWa<3#e~+5Z*_!{_b(#p}gIdIR`B`J^=6_Mdpb=8Awd1nlNYzid@CcaT?MmheQhD*%M`4+=nK^fc_ELdjUz69zT(=A zWHw7zUgv66fhhS{z{^ACg6*#%is&KybLv56qZ`lCRqp-d`H;_O%*Ef8BT}xT+@4un z40o8#SrY^?-p*J#P9M?}jL1PZd+Em<{=Hjkg(^4ig@F*ivKzMgW(PWtb|F08SqlH$ z#>MN(tXluEkX1s&{STcWJz$Vva9Ukjoc@R6`+LALW+QYhp;+&PsPS<$gmsPyJgES^iC#G6&R5z)kk?Py^Mq`4fZPvT%hk-8*^ruVRPW+=oF8?M<{AG> zLYg#C+syc)(_J#Cdgsq*m;aS`cQWB&mJ)Jz4tJz#;Yv&?RbMwb-uRG{x z?-H`~=q++Y$$wKwX0|b}ndY2PU~lV3@))}cQh8f}5=OLhxdF53VlHjnse{u#c7gEH z%L?^Bt|MK_zcaKk>+s4EUb=hZ;6L8eJ9it%uhD;#ek1s6iFKqZx17+^bZ$vcTsx}^ zM3voC4BSmn!V>?i>ArXMo!o;QV-S`Sdq?K_EN8lE4ex(F#9ah1zN}XVbed` z=sUFsq?f@-Vl#pNwq4Au!?f`rtiB@VMUMij5Cb7(hn{5I*~A^U7G^7)F3~$~x5PrJ zH!PiAi#}|LLCW>~b=`cWD!0_-xio1)PyF#8H7Fi%QStDPJhcBS|IIOg+1mELP+xaa z)b8&H-r3^>%Y)%${@=fF{UPo@Yd0PI&t9xsy_H$KPI|)*}=ze?xgSK^&D!7=y9rIV%|gi@m$-H_m+%pXtxuzZ8H@X_vtAWFQ3X?qqKik<(5OHgH`kwG2+jm@LElYl>J9b zUYjbF-}fCiX2Xi6K>0tTam33WFlFFUQZEjY`t9WJvEj_7Jt?E*t6gyWpy%|EZ#ogl z5kwjpV~r}enC`Q{p}P&PJ!uN*?#UN&wB4l(-S~6Uh1pbj4Vm2cXGLom3h(k9 z1tCa{C>HPF+Fi`7m53p_kUDzi26y480)u8X;g9HBxq z7gl!rM(pAbaL1yIS@T~%(j>LX*y=$wwe@HszVBWu_W11PYzMQ6tE;Fqn~3=607&cI zQ`mpR1O@Hl&kM(2RCS1T?g7EYC&i8{HqcT$R@ic`QR(ElkIOBTSzosx_%cHSMFzE`P2afwu#4HmUZ<(mbtByI;45v~5qIHCaWyj7m(R6Z!fflFGMYBZ99Q>v zMJw{HN%zl}QD)CQoc+jb)Us{?}^I=E6_>_M@I7A)iD?5zdwVPOgzNp_VT}WR|Lb2^L7{;_Xk&}HOls5qorweOSyJU*Q#<$ z43+n>IoBWx^M=7{*MCvR5L+o-$Cf*8QJR;uRjD$QWx4+J0oR1e-1S= zyWyZN=+w*4_Vq&{eb87zs5d7u-u(Xyqu*4ym6SBl`l+tCUjAlou5*zb+a8PN47cHG z=FMzD;8;j2x-5oY83ty^T*$8OCIttt<@)+sW_>;EK)bs?j{4S0I}bLHr<>zQfEPcP zHiucghX$Z`PM!yNw~@yGexKy@-=p-0AGl|NI%Y%0kAv8c6LDIEmOQ@g3K`Y;giJlm zzf0?_Q{~olw}`r}?27AF$>Tl$wnTU3z4+F6^Zz99e|FJhS`E~-;F^3 z^fTq^5XG!liJ?5F?X*~yYX=ScL}BiV5aQ~?e~Zs#w!`ubHL)0vo4P!sJ+>B;=$9I( zGVeB5vub8tFTbQcx{b%_EtRxmTn*`ra7Av-&p6v-y(+gUN^9`%S1hjSJsgs64i$DZ zULbuV25|AZGppu*fkxHZ;&R6)RJiX=EH>pL^Tth_jbL`}T^nfY^uuY6AE}YNX6J0@ z^`!0&KTaW?**iVYQo6k{{`HjC1RWchX{eN7Ye^gJ|_y3cmQb{UF zlB8cMm874qd+(7XAtXP?#5ATcF)<;gF(D)|p)m~&A*M)@N>ZlQxGgm)j(-0#zDx-O~~g4;0udq$hX?}|7ih4_H2;DOL#4JawwhtZ0m;y)|cdEZLPwiRTN%Ad?pU|2iZ zxmN>|bUAmp>rcjRB4vHs-9U6I7hKzdng;VCYSX6^;#&9a&5x~pXOe^JIhOb+3{I@MKs~`Vho<%HWQ+8*O{#YZV^5GpxHT+gSTAy%P#_ad4fU>cJ z7J{pe9_kJm5Bd4FT)UaG`1gddjK6J^UEbmjOB$p)-Y)&b_Q$*U_8(92P`9ZJYqDLT z%^^7m@?Q@{;aA2%p5V{vKHFmz! zOxdL1X`ngA6S=#n!_h&1V&9)NMUS&=F4J&_LR(kwHIlq_0!npxL8`x9fbaZ#jGLyv zk$G-@l+7`a>W-UQpo~8ycC7>c`$G{IYnH&UQU9|mNHryM?hBRDe(w)S)!gQ}d%2u5 z?3yf-vZ|vdg51Fe`3HO=zFtr9zt7L$vRGXvz73QOIlcf~w~a#;eFl)?v9+jR&SWw7 zBdbj}Mxkxlq4^N_Vv;mp*MhCZ)9}1k6U6)Her4=>Q`SVf=hV02l8`)Hx>x5onTO+} zas0i#jJA!GjnP+v{o8#|W$*){%D=$2o}x_k`8HnD}_*2@;> z+~msK@)^62D7*TKRJZQhX~8MS71qw0#P4h`!p|04Fs$ZIg|^z1QWC3GDFh$YgONcm zxg%l-XDId6{Ce!jD63~P7dn1+MqBS2fIUAFYyWB~{_^2_{52a+*@6ZE8d{{j_T5rX zzF-61VV607|iXO^hs6#4VL-SasJQ%=?y1+3G(Nsi3Uq$fZy!^(o%?R65sot5N1+=`K13$`~J%b}O{`Ualpo zCNh+Gvx+#cyo}wy{ho8vGGXH2L|NCPm?Z6P7L;pr;qTZ2Zl2bD>0J5^h7F-?XbmB@ zYWD@TXnj~9KIevw+{wkY{(t#j$~qrh2#Fd)QR}Di;4dns%CixLE;dn4~5ugH4ye(X^7UY7LqH|D*tja9@U zCb*uY9Hf1#eZ)f&DdQ; zS(Okk5LJtX2B{Wv+0Q2Yu5p@T_-Qs56h~QpmQ)+J)dxjBYa@2+2aDfZC*kvR$1rva zDI0s;0UU~nP?F~WzBBFk+^kOQG>5(W&`#Ol1P!R&o-J72vxlAqh_|0S7}u$=`3KWD zg*I2WCD5UwjgA#tf^K*iXJ+Cp&M&fOe3(aBo7p@>Y`Q7wG%_0j(HG0-_^2v`5mUA#5lm9d*gS^wh2u>F|6be452R8)Z9)`*v$zmLaF zX6G7Nl#P4g0pUBY3(GTYAoEXSUSolV7_oN&^A0sqmVYuH8s18MUYE3y(w_#3>s40c z5cRjr|CwGq)fS@!XSNB*c7oKeV^Sl|FMKF-usX=t^`WdMS4*mDrxlfA|WjT#3zZ$;VGqh8|6F@DT*)841hrt<4&a>mIA)poxm4q46E zA^N4P^)b5#$Wzu~^+ytNB1g!cGY zw+=5_Z!Esr#?BGd_A9j2X;zZ$YEH;>QZxDdDh0m?Oy~BUTfx|Mr)(Dr0EgLjC{9%m zI#+kg6OP)6OXFC(VU&&48w26oC84;>9z5+l`Ok(Y@cFf~7`w+P>-~S<*itW)GeQGC zL?>bNd4zbkcs&z`O3I4DJV*<(Le<<*XqiwZ51%+ubezNfrz-!U&=zoWG{kS1hXSQ@ z=F2nQ<0Cni*!8c&%=mSttY@1vH!=-CntiXx;Xek5Yx^T`+GVy6(<;i!#!L5CFXstc zQ>>vf(~h70$6|bF;5tTI5@p4W3&AI2403)s8kX(iWJgANh}djCqpggxfn&;usZyg5 zq^kqZ%}cm%`*(9rciHc8A7u;fn}hFy*(l&+3(6luQk)JID-ZTMa-Qj#-**n=TQp9LGNZF)O3nA=; zR7-K!2*@&u@Y1d1#PhxEyswzD!7t{4v(^-J=8+B@UhRhK%f^b<_1`gZ=%%dcN9i4k z7Lchl|26%i8Am)G$*mt%?hPee;^Lo&iGRq;j(`|z_9U@t(_Dk_2O1RRq597YVUEbK;Khzt5jwDmH&^O z{ERHxTPoGe7zJDXb$HvYBRKPlYmD6v%I?o{hUL63ih9vOJoVq>H&B2-*EuqF%?>KG z`MwT?Se0BC0**QXFY59S{_4Sz&hgAM zo=sW*dG$or=80l&zaZM}S8&~uRoq40(Toq#lx^XANneH3dsxcB7Qe5;hDV>sR$V&H z*v+P_TF`qEHaAx&Odbm*7p?fvH|{bEsUGLo-{U6AMyLirT-hX4lcfvQdJfodwxx)j z*u5`DjU0`7M;yw3`b4SF45UQTEVat$Npph$*a?ZlrAZEbrI$>9As z>1ZVPWH0-^AkHdb+gaLmpYN={GV=XmVGJBEG7_*+ZaB$Wjazi}ke3^s$h>bJ7w zOM%nvZ*Y%OJ7&)*`2SIdO>7DE{Q%@?jYdLdWoQpVU#p=@zQJF)G}6>{cD zb$EC)UKE35%k$auQB{M56LBxnw!RMC=Fzir0x7OQLR8Gug#&0NP^Y=9qt9Mt0 z$UX}=^LZp6@b~YsUB6#qv>l;rx7%OJ?dlp{fGIZIq%??S5I0Qy6 zfQDsSC~fCBD0NuHZFwjYGY42O<6$LbU6rK%&!t$fB@-dk-$m*@QHZBt8%A3qW$WfX zCuyhC1^;>G(usqyd};nJS^s`E4^u+fj!z$nNgIzE8Xl66;A-sTGniA}UC4}`9?I@= zR0r2%XNCB^R2{-7_W&A-6pqY5aSV)ULwMHLAKgUzAm2OD1P{ZiRh zv4Dv~8)d`qDnac2JVEKAIV2Q~<@qoTxqR_)hBY}#wf%`8I)Xz+R%*~`a0F-HQW8f5 zOk=bKP}cdLJ47~C3R$rZVE>&F-@H>>OsHq?v~8zs%Z>%GcDM~Pchdzvyhv^{camsb z$bPeOD4V~~3YJ|DK!xL*h)d~Pym~Me z)$g9jPX5RKr#4Ww>3AS$HV;N>o2}r0>mg3V%Tqkysm(kK-G3C?+Jqt^HE}?F=i7+? z2`oSEN4S=s|6%;~rmU^)RdVF2HL47HD%F`rc<<5ET+hsH47-uCqV+jaI_9&GyiN-u ze4@C`7t^@aE78WFzC!x=W5vPQ#oq4ZiLVHfBxa8(;h3@6WJnk&~3w{@W3(CfpL_ zlD3n*=KT5I9vrkgmwCq3l=U~Vh2Y2lRM+;FRMkJj>8s;#kTsjDP(7~D<~_H9MCn%x z9jBxoJ&j+uboUr;-jN#SS-4WRPR}2jPBsbsc~V_r^8tMKYe&(u^?T;MSWQ{i1|DqB zJQ0o&JMb}8=j+XlM5Q~<%(vDv{g_xqeBIf zrQTJBH^zhRYHL2;;17B8-Xn~^N+}9$Jw^VYGgUz0GgP3gAs!#uuPRQNJcD@_PLz$D z7z9Cojz!8HCXjMnPv-Z*Mf~qAo4X33tnmX!ShS`{Kot|9?bSH`cY_w(`mmbu_b_GM zi97V|E)%lnJHoQ}`n=8iL85>6VumfHY-ipOhz>k2WJr17h=VTt_FNsT_lVu^?xk$# zr9u+-L<5CA?IC(AQ)Dl5Zg2^j?EkOr2}K;jqUVDD1~(*sKLoa)S%}jjM~XwbmNIcz zPFXXf5m5R;>V0|U6>+}$9+w8(lY6^5GS4`Hvc*+A^lU2=&PGaoUKbnj3BT%#p{h;H z_W~#zG5|{jcRDCi3 z4SO^Z!ha&NgIVfuca{CjdRu#GSOw0-?YhGJKTqci4YJ1)jzfYQY*zz>4 zKO&A9lkJpku}CLvf2d0NzAq$s`vC5VP9E2|h@Bgmo>FL&Wm-e6nm=-_|45eK>%o6+ z+=o{`8_f7HkFsaIwBYd7>8P^3oosKBYP)TXEmF#v$h>bcl#TTZ0M|Dk1is%6)EmpV zm`+>KN&Pqz-#p5O-mV}CTR{l=FarFol=(=h7JbsXVn$mFWpzHy1+@V-Xvr)CDA;sT zuDi!k{BAm%12IZfXe*4*Cv}&HB8%S!LX_Q3S?=a4E+~@Ct@u;c>P!GwxqlYc7F)yl zw(DF;k*nDG_8#N!R?3F_xd4*%G*JE!si#H9W^Vnlsp8ODYbIt{lR-48d%ao4Xltab`LSsb+5TGCWn&AI3c9$%zLui5sRQGK-f4w4zg913PoIkP zewO-dZ@i1Sn$Or{_qU7>K9tP~908T9rQYvFEo5<@rr6|sP3{@CnXwy5*_hUmVD6YM zBrI?NovoAkm)3jnlhf?J|5?f=sPvMi*HclxK_l5^*@%6HDsi)aVAuY2l#R8%OIEF) zg7h{wkaC}7eD#+Y?)D~j9jkptp{;9+2h<#zj@BL+1g;Wfz^=8FeC`-danY-ZSFlwEXj0r+QIA{RRY2(O$fhf@O--5(g zWdnxoqpazSxv<~Y0mWKLdk2$-V^r-ZzG;bMSo?HE9Mbk#Lqgts6u+^J@Qz&=k*zqu ztDPA;!IZ7Z7o;=O-Y9#HGNd_N#vgw9fQvq{^M`|!4c82Wo&-A-Q>h1M+i%IY7u$$G z6nw+@P)u3xY!8T?Bh{taI7O`J+W2@cwhiGceHXgAA`A+KiKmRa>`c3OEn4Ae32;i#Db;G zc&BRte)5U^|Lve`Y4iZd|E@sTm2M7o$rgOVKV3!n6Hakok9D(i3T>r(4FE~K-=j9Z zBJg`B)=LJt&biUda|@(w!ij~@n=~ASyfKB6P;;)dR1p7sB4eJ#F3L7kh$J#rI+Js| ziDbpjz}xbVaQ~HVV0_4@Y*W&Fh>LPX;lJyEs4)YlNPAR2wz6x;R?7BpMZ~|)5k;jp z5}$+89fe=>IQ9S7ciuQdq0O{e`eu2LL^U5xpmM~0S#$mr@%1_n#^2eL)v42jFqN}{ ztJDwh%v1|L<&hEI(#*cc(UdixFbi@5yifyHgZ>rUafhCcnC=wB*v+PFj;9YO9j*~n zmpj2OgTZ`u^GJ~|G-u8VH&HfeagdZNAA&O1j{~DKQJig%xA@)fHjG_^^9pVIm)byW zRgQ3`#ty7n9Qa?Sm*X3r`b>O%DO(t{6!x#uLbY$qATxh4C*Ld+FFt0^xNM zv(`t26;eI(S3|iYeqQ3kTWriSC~KT_o|t~oLQ&Fv%V;xWnU-%U7xaA&<3l}V&4cqv zq`3iVQ~gY`1_l-#&A85G?q%SQXk6;GQ6&N;WGJeLC;)Yj)i{uwQrniMlRXhhkX zk9Lr9CQoQw=m<5Jtocu-wfOX~0gMk3lvT2qYMEUTg+4!9@VxBAd%3^BTSy=CZl0lR zixda#LE};1>XE=t{-+3P(>JjJt>>1O~XSwC&6Gb0Ot-0jzY#iBB!bdP7U~l8}NlalaoT(u&F?hn<@%cRf2>X4Q_!}9#?kZ3gbf+ zW#wojIG+zh84nuCD5F7Q`Q3JT>YQlC2bC;^wtOe)%>N@T6#U8x4m)h(wpx0LzvPa_ zU;pp8P}VzsI(Xiy5f&9VfU?zKzBqEU=wNTe{HKOeHu0zHB>3DTA@7(zJhX1)jEmwp z*Xef|e~(bMWGWBFH>7V%yb>s9U&W*PUgI01*gdLp%64Cs>fLJ0Mw;`wq*|+=@PTPN zvHU7~52c^7dIeIC>tk;O9_Cq;P&R(`2jZ!kE?7u4ZFLV=^GZYhD75&2ecyU0TPL3dD-B&y zof(atPMe4~P1vz+ldaHZe9Q}igQWX2fVP^mnUy-u0HxTqs6OhIg zbx1vvjsuca#W`;lGx6=D?AD)*z(M}6(7-vtNvZdbmQEa=a_C#euK6W}Hu3vF;IG*s z(>6`$S~?WV*4l^dSRDjX_xfqan4$T-KO9Mbr{zGi)1W)kbHNGHL%< zb)E*GZ+Ol_y@1>Q!!<^mNsdBW*YJf9aDFJN>M)1Yp>w&lGB;7@1$#F&fU;o&o=Um9 zi-K$57%(h1M5 zg!uHfkdEZ?p@%tTX8M}UzO(U4ptB*&q16oPwZCgD2z-2CM<37f26lD!p zmy*IQ9YWk%ZTNOz3b!mcmh)9&*V37kb^WQ1L>h3Y?eRmRJhcSFp*7s*gprKh2Fe=$ zeVgR}d`H-&Yy{(uc5wU*8RvHfGpuf&LR;Y6DG)jVgxH;S(s}5y{NYw5@#L!`%s0!M zvgPx#N!R)jsBLx+F|7DpWEWJ!X>;s%Xd`8FHZ6gmxx>+sCu5-G%ScY!Z=x9f%$SK; z8f9&_eIW^1-pKsFXC$Pv7JCZ$vT!4IAN>(!BlD$PMT8a#IBN;&hO+*$M>d@#i70>gs5y$kQc(UN~jNHE&5n)fBYorv|cK^)mMR(T($%uExaoBxOUN4}-q2^FmIiEiBJ*;pg>v zDx=6`ZEWli!1K(*Bc!DQA1C}^3) zTQx3~7hv`bax!Jj&3nkfGgDFFv!|qD&I@eVugO(pWin%@g0iMkpPB9s>0y;VCnhth z@LBypZhFHYCJsth6xu>u=RuB*12Rn41hX7NT(iVf{5yUjqs@u3fxTBr<;NF--yCf? zKRlN!JfFfPdE8;_hETS3lfHDOEK{gTw1O&SH~!$?OYrbRzcK7#%7#YFk=CT2g|gZS zu;HM{#hTlT4p%NP-@;PLCeP)iGnUtcmWxiHAsfys9Z(m2cRDa}=>4DFgi?~9{ajdi zKnp&pid@CmM6TY1U8CC;DB_USUrW+Vrl7Fo7i8+1B;3CAM{dY#N5wTF)^MqG zA9AP%3jOUl5$9aThtEWC3(kyYo`q?lLR(^iIkmte17U*jSVAI66m%8FCYk+VC8q15%CNtCOBY=G30Fw^b=V>geo z*$+9$ioGo)nb|=_t^uFDNl)}mt76{y7Rsu0_LII@QeJLOEs4Hcg=6A($d>)f<~59p z6x#A#K9ZW--l#aZi72mnhfCWGxnpNDm}lWn*<~+hLH=PGdUQh*8Wx1&<}fYs(0O*A zx|Ooox&xru&JSruHjzf9fuf;unXK)Fz}U^A?4ragB*V2$sFHfsbJLD;cQw;E)yP{+ z92zOxhL%8Qk~ON9de{bZ&y*kOm@KYa`aKh0J-I?#k95AT^LsmV@^`6b`+@@bR>4*r zYO|bSeJIQC=fK@~8cJHF4Ay%}@Bscjesv;%VIwJP3)3OY@{W)#I6?9pZT?Y{RD&%d zn5n^bma-iaZxf~2H-yyV2H?7LFu&+ZI2SqOKBKLUvV|M(lZaEUC|;?Fpw$Vuv}Q5) zPpLh_YGZ{q&o6x>G zJnK^>9+BhD#H@z0I>$Yr-h4W$IjIaeQ?BDrF;DOibCy*TskTufSu~?gXx=*v#$G7p z%3^nOCi6-eAKWSHtx`cs?^X#1pGZAUjNfxT7ry6o-O3m?jIuht(w)=|SXvi4LFf@R27)Ow5i^)_2V#QbMHKc~VX4K?hFZyT(VkHLvF~b}K2nOX{B+ItvTOmQRGW zFD&@+hg$HXYmXSa%0!_pyy5{-)^kUd0gs5>GXqCjZs2YO+cI{YDO%8i-U)@IO7p2J_So#pIPtgx`@Z#2Hs41DG@ehD&ayrs zi~f9z3m+eoMaTLvaj*wP91;grkp0V@QJwp9X}{$to^}6k?i-Z_j1R$-4b!jyaq%pa zX!(Ym(pM4f&xGMslioAq_aJ3;4BwJo6@>J19+M;Z1+KX5$*ukJgz=%6vXP1ZlC|Ts zP+;Ci5*ZmSyZN+~TOG*m0d`Z?>8Ak@8gN0#+hz%?>>T;%j~4QiTh1{4T3u6UOPl?Q zJgRm_N#kA;r?v(h^wW0k$J_c0yM(f~Px?u1*)-Hq|A?$w)sBnh&t!?iV;O(rDO-5+ z8{qr2kocnoWN9qsRCl_HznQc75;!>zh=dB{NhZaBkvW0y40X#+a_-Am?F-+g`MvNQa0oH zc~a@tCFm6og8fFDIQ6IhO1;V1^OL(MTiyXgd(Ai$Z`w|*0!;9;h&(Rm%YMd(e9DGI zEd$qS(ua1v8T33$^*U1JChAA9do!(+t-Lc2lCE?JN$EClzqXQ_*Xt;*pO(Rl9pmc? zZQ6IoKzwAHVEf7z8t!=Tdt&~k3iBi-hW-&fqiLoKN#r z7R#n4Gx62Aq0puhx)_cX>7hK=u^?VC;$(Y}IL?O6;UUU~DHoFtyK<@j+X(pZM$icVyY0Q&I5ECnSII6YP9)Ea$hYoblldWur~!gHoa@S}(0PPw5@z zmPq%obx05MjB6?DUo4XNmG-FP&?{mbw*fDJ3*2>+txOy=N)_5pcH2X+uMdi8?j#kz z_TZa)&tRQmHV@-T*_y^F;5*76rAGD;*|0`z?Nf}W?{j3H@mk6jSU5u1`eMPx&;bm7 zv*e#Fe232_l`+~?s#Z2{#H@ex%?%`=|!mN+eQ+h z`x4u_F5z}Heq!vZ+*D|@J)#GNtIi5N<82{G-HG@6Wf9(;w2`svLfLS`SHygp7s`li zBV_?q*fi){PCsf0!-i5ezi%X@j>;0YF0lje<&J#rz8L&w>o*L0gtEJ4yMZZxLr`kA zhi*@Eeq)J-n7Via<8L`-{dc}0i|nNSyftGXkeKu337s+r9d=&QPuZsH`9v0=idsth zNI}Cu?t^LrxB48Lk8&te#KH6KV$c|7h&rWv!fI;d)2?DSbCX2E8MRulup%r(O7NiweV*P_}My9#J~` zLP(Q(q0Sh1i5q2ijFYcq{q3QwrutJ7>TyE|sFm*HnCtLqWC)jfLuBG>b4#Huip&Jt zr42$=u^sF`IgoF)nJ9(@do%CFGRj8eUL@N0Mxw5N{v**@Jw@r2B9|G*eq;AjHqq-Q zX-~F9(Ys!g-mA0mlPMQCm5><52a&QJZal0p)EM2fy967j#AB~y0_(pxMBB3Zo;;4j1NJS zZTneH>PATYMV_>hEz(=`*TE9byYO#@jiqe$oSD%3PKKJsXhX^CSnP-N#mn>A{rLjQ zDoy!7N`Ie<{DU8n5pdwew#D2J@nuY#9YPCPO|63awxk^A-$EJD&-srQP zTanJ@2{I|$anlo$Ywrm?OYI<8S30xjVj!B9-DlSG4U`Qxw}*h&dBXk%M>yP*X`4+Jh{?bM*vX z??sQibTd2W+DKUkwE}`JjYB`E;SG#{!xw%=oMmd0xxsXELm2r9zwYu=%j{s0C^-GK64v zQ~BA=lf?tmR^YGy`(%{0{b&U#LD@p=YzI(#@5sLkD#4pq7&CUmDI5OUACCO)gnB+{ zLr94Swrw>PhuvDq*gZ*EG-?3o{FNbeuCN4m2M4}oqP4uE_%vg;nzEh;r2Z4~f&QR!dCht-sA9&ZTdSF#18$rIpk8ON_3^c!C17{Rc~|FgT&3qlrD z2*Fa_*Pbv#KD$&$jL+9*{H>sDQ$qtW_jE&^?;en4>Q`|}vJNE4@cc zbz#zltb9jET;<3w9&-pk@1D)DPLyqM)Pb-C-YD6pmBc=Mhhu+IlQ;a?UikGh4xwya zw48Vjd@nS*4}p<7$GM4RBG=u{j`hQoRXaBe3fH)yW{tsMyf_k{oiSY8pt=};ZMT%N z#ug9AqVZCF+NEt|t4=I_r4q-j$YIw3y_D_ZXM@U#w}Q>L6XD^zX0CqwBr)=N67#=f zdruLEj*%Y-|LCj`aMm2+RIK=hlSW=O8thnKPT35{`JmQ636CEqgs zCQvqdsFVwf$Q1ewo#5;RTi)o#R;(qk^Bth9GpK;WiEKeT!VWUex$-gcRC&ee6y{lU zQMP494GFV#Mc&^wk;l{W@rU_;a%1gzhP9|xXlwgxC`7CKqRR4S61cP;`)+WMN1sb# z&b=<8?CMkpIJ?RZrAg->RPH>+GY!w-Z$XdI7DriA;sfF|9tD3K3)q*iZ8aX z=fMjp>p9CCl$Jjb*58zRBMcwH+fFtTqnG7+eEp2uDXSAvL!1wn3&r1!fa>weeBQ6# zT<^0IMw{t*_7DJPgHQM^g2tt?k6s7h!irdoJocTP;R&A2{n(j##Ocsv^zkrFn z_x;22zR$^w-5AQckDUnSI9I53o(yNcnZWO{=|kC&%plnH_h8iD zW&_919Olq&FL8K{HZvw8DciAA6LebSq9wAmHTNZsi)_KaR9hZ8xW=d!FN}rL8D=%=0`E4)Ph}TTa)>Bq5 z(I28m^$5n&cSwI!9oK6=MQj_9!^A9=vcZ*dvZ}xcl^^XTVH-Bd=Z+}m3JXs${?<@7 zrRxIex;qplkC*DQo|`G#eE%9}`}`8asy$R_OI{EN-F^d5+8}$lt9_9>InY@=Ip!hb zgF9u-Lma_)W{!XkOai3gz)u?Aiq90aG4DkfWxMhNz$wrZnNHAvxiD1JCDs9 z9i!}{6%!%EO}fu8$N}PCTk?NTdWL-(UNd$pDeL#Z8M>a$KvscD&@ucaUhrQr9%MZk zfBh_!A1SoOzL^Y~-%0geAN3HY;Zm=-#YK29wq#gm${GiKAhts<3ZdUvK&qD1r?~%u zSNpYGCT6QByK=rRsC_ywY%!4jCpNnA2BT)zuAkvKo_L274SkjATTara;iuJ+<_CJud+O|Wo?p668-U z#$)Hb!3#rX;IGHS63VK)3WCPZ7O3IDNNB)$MT?}~jF0u$eW!TJCVAZZDP=rtjJ%VaQcHRFFUc#EAnfO!@jlnt3N8@de~(bjBj zXc*36vl44jYtshCU$Z9)ZFNiiAXWB6h&7!EgLd?ByM~Mv4S%g={&xZ?8&Fq30@R-g z5&8zOZSyTIrS|}b7FRI-?xJi@;T@7TN!s6>W&{-v2J%*?7ILf3uzBTt%BqArO1Z|H z!j`G_pfkmif2jEh_r@16+FB{w72^-px~^z;tS01JtiUJH2yu+h5=NVGy+T{s-(w*e z~xqQ1Oa-618AAKB0es8|KL7#F{7@X&3}` z>elGU4CzkLAK%C$^&Q2Tt!z%$;Hg5Jwud^DteSxm)0;_g%`0r`;pCMRevJ7B_)@mT zei_t*CaRa_FsWC6;^u`+6L0>;<`K70HmiOvbk_|*It#2|%jvyb@cHTD%_wUoz8RDa zyxT~kuVxCmw*Ob>b0n`R-!1bQpToqVp0ZB%no!x2DHQIX0J6D`d|uWteC%L6!|F6B zv~?XIB-Z4%pd396R`}F&e(TqB_2095mWZ+;S|5q)<}4vg$qe%MN#`7|WqGYq&t~jK zPQ+vN>ptX9{gS6WpO?$PFRum;?0Ijp4V z!kDq{N!hLhDZi8Kk3vG;6Zf58@V)h^*z&3wkEWSZB|ELiP-|52bi_f_!WH-0koz3sKP_|sUTQcvp8LBfK1xi2OxoWn= zO&rkv4dZVpWh*siK^ZS=$~sFmQKQCKq40@@kdiu6o_WAk%>9dvL;wHmj=xH3R!=|)p{*q5QV`xW z`!d(zyPNy^8{qI<5r>4gA4zCJme6v^6l{8|c%|GtujIyy47-xD&h0H^*L8%vU7nKf zPG844>nyqEoHxvPNTh7}gXbirn+PfnW)OaL1fO&No~-v$A!E0MvN>+gNJ43uU~D`J zR<6_L&rUYs@_sC4*dEHd4@6Ly`#_NWZ4XPrM)14R$BE*H+06Xcrb(gA``0CKBz_n= z<2)96Dx5geRWi}CgT3FqjIs?Mib&sxk3zxsc{_Ii-7o>NBv1|T9p>3JbTu3B?P=xn5_{TqyYwVvaJ~JJFzkbF+l#MQz z6aQs*g`U=7@Jr4^Zd}ba?&M1LoI)&RORx<@V}G>h`?tiwwFlqMjl)B3s4#X5DBBl! znrt6rh(ZQ;k))9FqQ7Hqa{R?}jK6J^Etl$))rn(}g}yPUg(=Ir^#|jQvbjD&3Sk5hmOIF-5kmW_wIPi3`Fw&XNHZUY@M|=#N!H|xI*Is~SK+Bwm$+pX>>AyhvL`PM0E-C%Do<%5E2}=@5VuZQ z$nlGvn+atuF^{8@2cmLChb;J?}Tt(vk?&QcC!#yg?;)(~hn zJjDGxAe##^VCTQ8tqN^fL!Oa_)vhRTVFPi#c?tWzT*LhrV$S&BO4-1nJ)}b#lcLTe zk~iuu?tZDoHMW;9&uukjZL?ZP+k+CpeD+w#Ofle%v#!fj{n`Eb!ivf6(3f5)~>5r^0> zzOZQBO94htf){yTxax^EVp6Xi6NlxL^&D}Hs8vir4pN<%SpVPgoN2in3T1Oa36w3L zuLcc!G6mTHJ20N)$VZ)jEzjR{h#5OT*@(YilSmyIO7gBJ;`BEd!os;v8&nv!i?X5F z4@lF8n?h>tNYMUHncp98$;I7d?;TjYQD{qgUPWA?Oz^&I1f7|K`SxReTzB#<#_l4@ zHa+}EdbVc@O7Be}yV8W`pCo!VZvK~H<0$K*%EQWs-l)|1ioFD#boeN7_aM@qdiwB8UkEo=N}`7y5jhi!}x zrtJ!C-XCT|{d*aTo1h9YP6u)Kw|e53)*l!j=26zjR;r6K_?(cCZV4_{6Zr7AhvdsU zk1%#)D7&gw6{4lyfer3fF#EJU-*hQo9{x=d!{$-8vSK*oTnRvt{!-3ndN*EXnJRbg z9L$WJ7RuUKIzzr&t`Hg_ogvycfj{ueJG`ox?L}hrR-sL8=^`+V9)Y&b887wg7{(c# zm?FOGV!ws{l2`+ZTz>vZun~KZd~hQx`d<;uBnUDf>U!NLlmjA`-3MFEncnfz-<1 zIeqmUPC4NwV^^<3p)LPA4tj=8M~!Et+VxZJ;48uH`08~wx8g(DnqX(>4)8&q_Wh*Z zp&h?#FU9XBd*QFgStMl(UrKc{zm=gV+gbt-AK>_#F5IfYEzJMJS;`u>0ZB-EBUr@i zz>D}iZo}hrZV6Y-_*+NWgx~KI>5L_+c6&*pW0UaTgU@j9o!OXazf))vM@|Og-)5lv zXP-&Psd_x@njC*K)Q0hwr|kCOrjTK9PH;|@Y94-=!sn))z`rW_GCr)QY~+S~g5GJP zf@&o&J@>2Z`o?n3>FpJUO{HvyS~sydH5E0ay&!7EFK~3O0jJz}nTbOUWivb$N@ou& zk@E^eP+DRlmu+$qhncYVThuxg+Cr-e$+DkDAlt%DQahBF-%`KDlBu}k$T0wI>hxZO5xDf>x|uFlr?(A zLD-g?!mc?EVD_^%A9PV&^q)17(N;-WhebiKO4}O6U(|t!;xxID++OrJ5{$ndJIe1B z+PptZg=J<9!s<8D*>N>3-gw%0G3me|CV%Ek+3H(Oq~!;9Dfe1WyiZ=m8=IGMr|S$D ze^*gfcjaVQ^jNAyY$4^VA6xRdkG^2DHJOaRNt6xMxkrN1q*?~Uo{-k+BK-OFUT$B) zB*tzTWw-Y`Nq04JguEJODA_%hpIO$3W$zv`cKaw>8ZsCBK3k*A+e4w|$qTvJTYK^C z?H`#q*mo)7&~-}+Z3Ii`~79zr~c*nUO`*qAM5dzI)g;xzNO4~F#f2})+e186#Xv= z^Bf&u4+5Ek3 zU^w}@z-w4T)DKqt7C}o)#u1F&ddkkW9|whF{ZZe!_ax=VC)i$V5svUU&)C)Zq|oLJ zSBT%Gv8b^1HBqTj!q;{4xG)`d{);Fp+MOp`;s&8`(ktEXQ0AU*E#tb2*!g+{W#{#1 zK*dHsRJivUDbIe3m0Aov_|;C#n)eK4-ET_yl8@3o_xeT>^sXO!j{Q%r@+N}ux0bS| zU2_t!zHVXAh_oYLRWXOD61@X3TATxG6 zDXXKu47#RDXAF}}AiR8mOs+Xe+_6Sr*tL|cP0S?mQXMVXhoP`1{uuY}@KJ90MD~n8 z3T1t#Jtoqn9TZ&tfRk6Vj^an$@f zOngHr>nHWjh8F^gSw0w?242K-@AYD>(wR&gj!?Gakks>WT9Z(`c@j)e>F07rT8S}} z$1--yDcchQr006MkRa$odfH2Fee`Os(S*%w^iwuw`2v95!;n+(B8$^-A~!bZ(ox$y`Cs(=3^3;eG51L z>BCKFS7um|vavQZAfkCH(pjP*_0{-)T-|+GPRai`@Fb}uNs^u<>G`=Nse8^jB_T;d z(zda!4Y8rM7E5ReZ9)hwAtXtXgu3U;o_HY_8T#g+8);&Qgvv6 zkSwj`3Nnt7O*6ZXCZ3ZseK)Gpb-^t{gBDW~l2+-I$SXkg?3T^*rpn0c9iO-GL>lQ>UXD6*E z`{^9N@gHf-xRW?iv>#22$9}cl!i+D9>J6JK^gTpgU;_G?rKh^?j)3!Ae zx4qs%rqz9EZ<71ieLw^{VXDTI+eB^FWlU;*ZQ&1`)rMPp3elseL&&8s`!7jf>FfXP z4bZr88WetV5gJPd!R&r2xMi5B*voV({{CBIBDIBinh@T7luvyw?G1a-nKN-P!!a3& zObn~3wc6Z4>STGm`Sua8V~jc1zO}|%S2vHbxzx7GrbEMVYa!~|Q0RX3r+oLNvEqcJ zI3|XAYC|7NduX>C3;81rA+|9>wq>cCbjGz0V|98da?1&x2{}e8!o1toFlFFDbj*K@ zcz<;-#`;p*8sY~gX70k$frB9L%wk;TJX}Qmmoj!awFw8LF~R<0gn*Nc#PdNOHmdp) zZR_WNzOS<^YFGDrNNRq*#n(#fI}Y4e;aqn9fD8&N8T;_R7?y^@7RO;i+jv7zQZbih z&l@WmUzpCspsB3LP1{}kPcal+CQ&L2nY~Jz?>-)p) zhX;_c-x-u_e4B|OmRh}U(tM!J*?i+(YltoN;sS>%;fmBfj6F>47Uh26F)x$%-R2DG zZ@jq0%Z6aJd)paXL+xSr(V)GnlsAc#=F=LC;9CCbEd~wTCHub4RC_CO3)mbiEz#Ey zmVX@qT^BZ>?016re!n?W4<6K-PN*XFargPwoWby-;}zKF|ye9CIDjWU=4BrhOH;nGccHg)X|pC#$(aj*2ID?dWlQ z_a|Q_w_s}Pw*-RI>92fRu?;LaQi>dEJjCKFcbVK0sI7V?1Eb}4_<$N|-uB=9xdlIH zi7N`9GWSs7fA$AQNV_*hu*+>D3G3SNwuyUj(Mv5Rw`OYdxn32vva8esCB|+Bx=|#KCopF>?(SP z?v=%(eG%+4bq%#4=FdshDo>&GrxzqxMcUI$eI2^+Cp)f@N3ECncyLPf7Mj=e1E-6- z@b0*QqOmdCKW?Bl`fCZ%G?w;%&}tx=(s|%-w2vXv0(RV9S6z{t{=p!qZ#Na}B8(v= zGTr;|JU{VV3;W#hqc+t@>Z4Cp7sA}k;H~O9v~q|bZd%Gde^>lhZr?&8Gd2}UXSb8o zfEM}hs0=CJ`-f={+0+Jv+$8DKD)^ogLtxpBFUW3MI9mKa`)$`zd#`>l#JJ`2$;l3| zbetP!GHf9pbN^SSTrCYnZUJZIBrfJ9U!&R&cK&uAy}5b;2`lOt%Tb#(=?s~;YLL(# z`jMpF-{}2#^LZq%&SLCRY73tlLcG;+-u#R`m?c_qC2E`Sty@8i&7?L|MIUPXf`t0@ zFUj&{8lv6W`|={Cbxd2oM{VxC#NbJ7&)8~G-7s3nxbu>v_shmZH|;>f(#A11hS~(nT9T(z z#b;hL0Hd@%Ty+4CG6$70_5ih3iKmGEMgyT;=L>NgsV#r|{0ds|16yZR)cQ}WA=+=9 z1kGXf#COnc{M+tSG}Lh#Q?9b6BDc<_J7h0?!8Tl|e9oxM*h;DrhW2_ss0f#i9 zaZI4lDy<(fU)X_D24|KiIsb9#`|pQ&)E228C$&ujg_Mobnu@i9Wv7;uqiU~nOu1>) zYG17+20l(g=HDNv8Gd~rL`jwsAQBJM7bml_jWWrm-kAhFbEx0qc-r^#yQ zYSS;MLb1+d!6WDiSy|MHof><|qBjucdFIexQ4embd?5J(FDzK81Pdec@n54p{py+J$t6rcUv7RqghbFC{1h?K!c|cQ~iRNuRVYt%H7b9hPsU1NbTYVXN+V zA(m!X%D!(8Mbu_;XNhM2cYNy!b(nQ&3)=Q38#$P<_i+ogZkF{#SG>fpb~b{rkAu0T zMZHnN2zI>BNL!Ixk@;5=WOadGadsqV)mm|;Gf|0_@d+m0Kx)-W#(-K>8UHoG31X%5 zFI;+Qi?xe>V&aXb)@oKB$$o7pmk|qMLxC7M$WM1%mg7owTq;W zY`}f3PvGWNddzieq&9w>GNkv(;kT%pL)=^^&dJzZZsdB5iC1r+BDWa7ao}%N&8PHr zg02zL{JxEbqS6XoW__VQwUI(Fgl@GH#PJ58)BmJ=$7DBgYyTJ~hLzN|$%cT(sa$@g z%nmZ|J8)ea7UN#^zc4Z6P^(>Yon!_X3IQ)VNl?^IdCBOb=<1#wjD13_)9eY5{+o1| z&NwR=Rre7!R62^9E25eAg|?0&w+hE%k|RFngRW?SkrGLOAC1!}8)GJv3a z`Fv8aD`d{_;MVO<#(%G8=g`Md8<`=Unb+km>fso*(T<}b zsbq?fGWY{IcIzenp}QC_OtEKdEw%aFSg0RT#rH__%$08q8>!K=+QiU_RIycHY^5^p1`ZmD&d~ zb>>cOED8a$bUh(bGy>g%e`O02+{H7_qZk`aZD&;$=`Q)qS4Q*!Klv>5O?DQ!Y_h2ryDqH+PhP(u&HVs(gnS_Ot1H}zm?7GlYYAeF0!zYz7!r>#DkhXskPBtGV zzPSApQ)gGHz4vM$)E>{`GaGC`|CIx`dl|yhSFdGq>!!A7U?>UAt|iU88YJx* zxAh(F{y0*W(uZBAmP~Dy9Rd{>UtzhwGN^yV`0mAj@%i8hObjBmc~%oaGeQvjrTP5z znLBX$5l!*ev+TUr4r;mC!I1dTNqDkH8&-r^Vbd)R;)g{mm~zdB(Do~yCF`g35z6lO zg^QaU(aVFU(Ua0kOr6c3Hgk0&3AlTnuQ+82fq90UW~N-0JfoPgiT_!<$q;8!&%1C= z@N8cfGC46)jH@(Zo_!aoZBG73H1kjMS4W#cbcs0^f8E3DKwLIcZY#B3c0l4+y9k;| z&&c-ATk+naW9W_fLdKftD{>21SWOzcFY^fogW+RfJ8Ee+MxHCrGd76YRP~vV@Q0~j zp*IvFU5mVBMXutjB=&#HdTQf6RiV;;ypVES+W+j2&p5R6H<^c1Kj!&RKyBKcOGLc# zp3k1E0pt93BTL^hw9@P$6GIcVxqn+ianD75i@ggpy18>BpO@njY{Xdop^DtBRHs4t zXX)&pFC!sf&H+@<59P|6wM5^X5llVQQ=7X} z1rl5@@mq>Ug7CtLD|#?RUJFNjEw?D;{yPVqABopu*afWZNb_J~uqdCKpgLvl~wojHt zZR4)zME}SczJ8|}SR69uieDd=MSNxF5Iv-}Fv|qAQ~U*|juz5V{|U=)SYb{ngNawu zP?1~4=RnBn`ozcQSb^~$myvRXtC;i!7%QVT)vSb=zBLw92DK1V^)~rGH?JVg&~zrZ zSZY_-=aIuR`wF6}G6W^5A?vK0Xt&iB#vZ0tI+}uH)>sOu&+AF%IUc`yo{fSG6Bt`V zZH#3EEUlC7i=N@2ZM8y{oH$yX-7+43-_BHx6uIeU1xaVZcJiqz*3$mf(wc*T_G0V7 zOeQxEYD=Yawj+Pb=QVzl&fHaU;w~ti#eb}@XJS}DZDhn5(&_P@mw)R6@bB;F=C|Y0 zJW}@iH=Wwf(GDPfy}&olv)ab26uhxsw zzD2i~7?g|^xuw)wL8$FXe)nEC(Ae(8{qdGyXNO^ob)mNG$4=7PmdopZFom$%kzC5M zH{RvtXBZnrt$AKB#P55`7yTnW*oxXvrnve0k+F6rih3|uV+m=RhxvBi5o%XEaVP&Sz^7K)F*btQBFiG8wbV*TTK0yl@wUag zQck0$)0-KaLT%@Ee@L3Z3Fc0HK!43%+%lxEI6h@6{=S_7wPJ@O=(ptY8mC8r`{0q> zBDjw|N3nYVbyDjf{R=i)93-S_|4Y^gFYw|I3vt+}a;APQhADE3`?rv|?HeHI*!6$%{<9q10wsWRrjzCE;*zZ?L(G(15Q51qZU<>szReA`_tQwY$)`P94NW ze`5W?L&Ph(bD7+VsZFR9!0B)qZ#rTWw6^MVorCnm<}h}SOB=NXCq9y_o4LH_6-x-b zG?L@8x0dL?J<7yuYO2UBvPuiO=jHM${?@R3(OAyopeYVGmCV>+YE6Tt!`EJRLV{I) zNNewu$5mO2n@Z*|@g`8){A&n!csdGRE`wlWs1^=fGD;j$yoRxb)aKcBkzzw1A z@z8mW%ccxQ)oB-G-(TZqYKx_L=25$!@@~J`LV-+;Q}uQf!;d*K*UezKBDcg*=ZQ^- zj$jo3jYMznCHv@Jg66(t-vI&C9vCnR0?q{p?b5tVqd6~dU-?;_-DbwbyN253@vcy{ z<|1FW!VSVIthpBr9ayK9-8(Oj+B9wwo;KQE#XYLE2vGedPg3f@t4kzy-x~cukh|1Ep)i%By%mY zsdd>g8q~&=^3~FQ6)G`iT+h_rVoyLSW9z7`o6$isb2Itf24+xs!isCZl<&QJ7yInf z8llLo_V5`}d%L$V!$Jju-JQ^)0cEIqFgpgqQJa=_oz%>&}LnO4dbuq`DL2oO0&A=pMu~rFBf-UpF;#MQ$0E_8`~u7t-2Wh)cv7ciLsIX(9DHzSJliB>u zi9@vl7<+))R{a5B8WTUgya4TdJt_T^uU)8O()bJQPx{tCUnE zN#DO5``<}V%t^hGQ|(6Z|%dx&_iwdMNMe7&FB5+*+T3C zCr)+rU|hd&D`Ooj6!p-!+80DuUYNK|1GrB+@qv70aocY8A8RDF4a(Y(m+mj*oO@0* z7q{W=Vgq@-cQ>=%bO*I7`)ES2+5~|+`iwMLe#Y_p4ZKWIE;G(mO0CDhcG8}Dnva|$ zjh_u3!BzQx@D5p*$Hd!3t&+Mml=jc(l@2&Ud6XCTCh;bICL7LJD@#Rg1#6|XOS_L3&w^}TeQg& z+85XG^YR_xiH{x^+|pmH&ogA6eH*Eb%;^h7u~M5{Xbp4QtU2?GcjWhc*s;MPYW-FX zgb=MMLj8$G;v4-5M{EBgcRELyd$Wbws;c`$cR(4RInV$;RVi^_orfZr$oA2VtZ8n4 zT7cWn6NTuIHqsz(#m83uier9Y&l?Y5%(n*V#2cNpOaho$|EoVRyixW=wse?o11lP~0ry32dbc7wXd{kR#Ahl)!2JaZpw z+bVK9;O_;db`yotFP}+7K@I+M!+pGc5IcS*P}`~;1Ur^E3wiAWz)#f<=Pj`mjRO}l z@y1cxeyWmKO(nd}Awy_Br^eY;cpyEI{Z2hbZRYA)QruI`mmf8Pi7)$cRgXeY%l;~+ z&T6Uc`OyKao}K4&q`kbhjC0|Pe`&xw^OP8?VW-F~I&2oWn`jAMgQPv5*-6}ef}c|gj$$-?T1AIPU!53&7Rf}gqBFy*>a+da6D#5oKS!c#wx_$7K? zgH-RLrWNe}&1hY2q|k&-WE$<#Q>erXrg5EEPThV2{aJ2!%YU^_* zp9dk6`Rw~`Ikm+aSBTT8SNx7ZO}HDDjofeVKwWO^y_rR=+TH?^2&O{JtPiBMSGl}b zPYJ45+t1|okXlWZr$lKG;r#|1LtNJYuCP%V87yb#x@)>Aaw{UY$l|RYLf-i&0=!*rp`LYZ5AOh6%vt}-^3+Oo<1(!VcvA!c5GaCTUS z6P_81h6YRU_wDR3wMo)=$!<4Q!N}knu{o!PmV{KIj0CnGYN*Zhl+H36)n6z(+zW!% z9g)qMR)JRTV#gd+M=5g4@w`ZkzBmYJE1!{?<^cTa?GE&>+9D=i4{9S`89<|BA%EbY zD?}f6wCDZ+3DREe znodR#zt*QDd%e3jA&?y>aG|z#jXGEjJ;4{bTS4P=2TpU$Yk9|$?MyvHQJbE7hBPKi zXRq~WgYklV^y+*XYFovAEAOT@GWR$sm*#s$?@@)ek)~+Lo|{NWWXDU&s7mY1Gd6C`b#jHt)4!pVz9Ym8*VoKDHig=vx;~I- z=_AC=ZX%)58D4dp|B{I+_RMtyYVW;~)-{KZ6INUGfvb^Mu>Gk|_`^>#nHV~$jh$UX zI>%M=$(cjI!n!wC`ep`l*Ja0zEIbssWh@;HMc$?SfdiwUdYL7cY@{lditIR7D7C?T z^`Pf-7H<>eBCX4D=RAL0f+vZ;qVMmwE&r9<#|!ieF7d@T+@PUjIH&2SDt?M$_m(fF zw*9w!k|+!jN*8@5rt*J_*Imy;t< zYdS`e8`oqANq?QM$?`*;hfouTd}{rmG3s-mTT%^7F$1@$J} zYaMHwsZA~Sh3K{h-hI10M2^trg4Q~V=|0BHy=ma7$SwWjEHDUkkoNBz3|GtYZKy%t;K`eMd66#y9 z#}`4KanqK$-&RnY5G>6LimTx}$2&n>zkXcy12eIG*&4=XQ>#DPAJR7SLO@hs(7wDI zJ9(&zW4#0M_t&_N+9y&QFP}R>h%^33T1?*J*AobS&yQxTmX{(on|bz-<#C>`baMuS zUq^9&{$7v2`KdCwan$Orc~5i;MLvD5IaFV;=KO#5lIi`#j_EF?c14q%gkG=Ui)yvu zU*`t&;#&ghSis&Fnba1I_(H-LoaSeY9tk$QH5VK6cS+&v<4g?qsEt=IB#Uj01@qJv zvSr*Q`QUHGD0?6KO`ztj$Sq-2KKYcQCUhEpBNa+bGP3O&@>If1xt`Rj&7KYc(w-S1 zeRaV!@xJ_`y0!T0TlU=&Lv2AxJE<+n<8yu*2^N3aa(w(7d^4vA zUI(PP&HdYOm&1=(H}x8G4^>es)&L1Luo42s)stdro$}^SXOYsPznFNHWs2NFq`e|) zG;9Tz_qvc7Q7FGx?k-NsUW&hO4{p@jL=1yipUHyuh)&WaYr%83dScnu156C_sEwXK z5i)F=dAQ&NH=Vwr9j6^d4~N-|O{2DM%r%m<;U=Gxr3b?`x{>GL<>;{d787qdwJNTY zV8!_cK3qD7=$vI6ve;}Y`Ua~r<@QjUy-zxS==C_E^l%S}JXMK*eSICDP_kokb3lrE zh^WwmqR7+yyqC7pd?PpR@ZK2w_8$8Vh@{rsKNvEM8~F9$1SK~*&|Ei1F|BhM6T=Q_ zJ5NsrZciJ(SlU<3-th(s`E9sZynGI0OR4?(NFTT-6NQRhP2@#k}a8@!dFZQ^(|E+QA{?O?xCtvE$)8eg2HIkNu$w=Z^%^o~7lnvLh&S7quU zj9R0AdPwQ~^L)oH3rOf=#&H>YOEiCA=XNAfYqv%ks~CHpuN~(K8nyP^hCP*d+D`+R z>n5i*K{{)!HbZ)E?lFU$MubW>H~?pIKk=n-teUQ6wZ3lOT5$^%+y&CwdvbjpxHk_$m#QqZ29*s?(2U6 zZzytPYzwt^-qM^APiG;qwm-g0b~KTuybhf4 z(5FPnhhxSv^Qq0Z6d>z}uW-P+7pO-R;1loLvG+qCrrbtqjjCoqGuQ~h8+9Njevkaq zLkqF*4EEik=cC9io=E?icW4M}Vk|&?csw#!8YS*6(_qT=r#5s!AxYBL6~fna5v9Bb z7kh6IQAHK|o?l6A@yF;7W&?jxK&BS|KH{8{$>^DKwjkS8?>GBf$XtB@gC)8R=|AJ$d=krav)(|`nal6ZO@z;kt(f8$Q`zmtNe;NRdp8xV0 z4;*2RO(RlXWG^O@4a|KkP`mMDAIKV%!<(eoLx{|V%Q|{fp6te!8%J%CM>(lmdXx9< z(g(q$H}|!BIV#q!VPZH&?bmBYkl2~en`+xaT;q7|z4adavN4LWwbWJ(yi9`D-s9!c z`nrSn9-+CV325=}?02=sIC|ZlRFlwQE<$LpR`N&OPK*}rMz)(~Fy(qt8`%xSZs#4| z;G{PE^Y?Q!PU<(s%kDCEF|~OGg+%qUroioz_N!R#O{L5ehl}1B4zeOSpGt7Mk&3jQAj(9eY*rQ{DGsp4c_=6EuPN3UdNA=ijaSrz zmuV=(uIVRq9e0?1Fnocfl^iWpt8^G7|2y>d(Qn!T*mnd&HJ8{hSxW7TZ1-g+H;eM zx0_nEEddaf;VBeW>wx}%1-R$AmTh&-+!Ff@j4r zuEOY`th@9g6GI}kam9y;a?cK-Y$_=8nIjWeb6lx0<&fkbwZ6-T&?JDYMILp}e)SAzb_T>BMFXZbh zL4E|_6Td#g_vd@z@2_zIwQ)hJ&?KG7-6}Scm*q-g#rw^&iUFET+i9ZK)HWE@oGgW7 zp9Vw9{RQ$JM_t6{-y)fE^(QHE^H_40qpfB^gvEZ zKN<=}13wd!ExGbDvmPOrvnLr_Pp!X>NZi*r2nEvK3t`J*v881eI`NrZ_oWk{$gO^! zE`$#W7Gj4;=dun{5qoTo%C(od$iJ^&Uutz5ACcNZ>Abp%=Vad90&M572JL-g%fzsp z+R(`liEf;?(9_jOw5Al}ua(P@<(muun0@pt>bmGFzF(_}zmHdQvLd&@O&sWFz2MuV_46%#dT};)hl*7i zLzsJ0Ms4A^;o#*REcj1&L%yV{h{vo1{OQqkrXFIcwL5f&xCGe=E0SN5(YH6^gDVcB z`StUe+zwM4IZ)cufe#SsT|bjrty=u|A&kcjw`Ah2p*Ci_E%dy)#QT}sK0+ z_+YyxQ?6>DA~!YZUq^a?iVzcM2|vutMCHFAG3PY;iBRUaE$jh#->x7sDGGT{iZ6UY>>VQuJuBX zdtXLTb!;D}lG>CBSBV~PC74>Zl1S|^j3X|g>Y7BRT%{?B+^Y6S`_5GA3RcY@Nu;|& z39-J5k`A%Y2N!C!9gY%}_5Fp&y=|m4!d15U?+R2D!S>OksEt=WM>0a2d5Z`wc#)Eg zW_uk$7AtQuG3=&x_2WqpAl&6s)19EnMu}@ZVi4{=Q9qqP98cUt(%IPRKkdtuq|)3_r;ni4I#=FwZEvAVod6y(}c{aY{mw zrv`+bor~68I)N6C5}9}-s4dpINkT8#3ciI6M73loo>TD;y8R)Bu_@Gw<(ElbRs*k6 zFc9wFDMMOUQc>+EcFYE-b^6N>{GZhD`gfebNWDMj5;;sX{Zv!@eQurq#cL1@NgXYG zxt$H{DQ`eF`tITal`Q5SvY4vKt^58NqVrlssPa>Tu(UBq-Tx}Om&D%lq11-Q&x9~v zC86?x9sK;_40^K7L#z&MVanY?ZJOf^qW1G0UQOKqUQK{RX-&l6VihLYr_tW%)y#EEp!Uff zFYx&NDzDks5xRnnIJvc^n0ICz6K^54^^+!n_J^^8W>0?z*pPsuHVqYj4qm{-&`fRK zF>feZE1eOsyN4)+p2u^_pWvtSTp4RHO_7_5jSQkRp7DoY+kqhM>t1d=Oys=vnf4Gs z?Y;Ge;PoPpf3nIJl7IK$ZWnIFD3M(^zJ^+@9onF8mB|Nwv4_k`PfkAA3x8U+iK&M? zYS;g)3W1*{3ONIxkw-piV*H_{vgpb)-ru*$25Q50Nc$jv8ZXqJeM&rQTX9I%I(bN(Q{G|~`YW(hn0lzAcE@3DsBV}jct~d`e(LuDhmQ4>XNCR6JfpOxD{}L?5(vJpKk@6m?cvDL zn@B&{U0gbYFu8Hmmd$M@Dnl>uHPT*Qi?a;5oPEb-_hQ-gI7_KD(eMJVlb88Y9cc_J zd;}-OEmr*y!L-RtY9nq)eJ8&P-e#6F1cvKzhr0)hX%Xj{dbmez_7W4Qe{_c5cSSlU z=&}p9_h>5K(0d9~4{9?MxwZQnLVZqvU^?k3Nh$9mwodAiyJsdcxp`8XmKg%OhiM6w zL6)GZvJ|y#=fyK>?6W$C+Smp6Nr2W>-lW_JLW6ZVh!Rlb!zw0*1Jp*3Fax&$Wu<3iP#vh`ixYtrvuBl6mpR3TOO%`&FK)$jv`u0_Y!m z$j7d91c!jW+&+5?FvnY zsVPKy^@jT1MY8kp_mR%=%S>)*)H=z(NPDwP5;|S#Nc6UMxXkpLEat#`<{Fn%Yd*Ud z#2zl-D^FU%lMQZMB+-$Fo;<;n+e2+p_ZhOqSWhr7{zl?avDeR?7toHSS&VfERn$Yy zg%FsyNl!Si&Y{j?@#5)FcI+yWS|go@B!0#XK2OyM=3Q0iA%Bk!(_zr40 z>pG&j)>&v@@SHR~*^l4bY({++`Z6(;Qkyldh{!943rWiFNZgH2@>h-otuWrp*e+^Q zv~9rd??9o{?>#BUop{)xEqKWpW&Hg$wwk5LZN^~(NQ;rqG#+LP&1by04G|mhbcklk z4Wrgxc{ z6y(%K-Sh&@xwm<7nmuHE7{ulDXo*Ja)R=4BPHp%8x5VqoasFzf6@1+-?QQ&^!Yj;- z?GKrSDRTQNm_hjOS$z3AN6;GT#m#?s0>9nG)^7;4H4~;mMZ^m}d7%q9Z>&e@c9vpJ z^AF5Dw2@lf=ch^J<9EFNr2!CWu^ZuAIY{Tn3Z@>4s6BRGA2Np&@W%$*!Li2C+^j?K zcu*%>zb({i-*$k-vnLAO13O60qIY=0ii7y)D|*azGn%c)t*6gLVt2?)C@60yQSZCt zABEGXeo+b&Lm;(ACbJ;N%2b%EVgTKju6e_3PF&_2#grRQZR3S;ptQqZI_vN&iEq4w zhX%aIZxRC-n@??KNf?Bm?kn_2XO8{GZ$`QgMu}TT^<``$we=UrgVHM`#I&fwKU#Zn z#auP<)Qf41)eBeT=JhB9q8fFDr60{;?uX%MMx~cH`kzsZ^{3Wj@-T>+m%~>s8U?j5 zinFiIz`Z8>q3_%JN^0%)jstyZAELB;OSs?Eg(CNi6t%ar|C)2CjrG+9^D&c!tmM~3 zRn~)JwjPz|7z|o)Oy(#k=6bm_|`uC;6U<5)SQ`#W?X0A7a7#1-B*DX zNqPJl3tMPA;lh~@JuJ^!{|^&GHMJdg`hltG8Q!JL3Jj8*xx`>qY>~wFH&uRA-QZC)?Luz{2)F(56-kCbtS| zt=@S+Ymao^%vxz*)};IR_Q@)2TR)m9_bavLBW*$XtDjJC>J@2FdV_z_*n%s3J~M6I zDN<1nQA4FMpgV%ln)8@6oUO-2tG~(;eU35D>bcae)OVHMDFMQ2(~qRns2RVTm5(z` zMldm?Qd{TzoaDq@M`z49*BgT zVkU-eYGZTWk>sRtg0^ur3CXR-DgP*;-FMh?A8h6*a_hvwu=;a1Ulwf#yXvcuABV)i zkY`Ligi{;+Ljh@t))gvlDnV$_S?@DD&ZCq}_FE&F+6uiAQd4OvSe<=M^4h=2jVBc% z<$#^cbrY%89{GeQSIUIgrFV&&#toe9x)_Z%8N%2OYD1-czclBo2{lQ*;nN8f^!wY( z=wbRJ zmZ9k?hD^DM)K*IKM_1TQ6;@|FC%!X#aAt6a+{q}4sk4jJhVBW3Jo22sC)mK>_uA3d zPJ6L_&0@y3{ujg5Ng(YH#^)b$gvZI(k(r5u7=n&6*5oHeZvTHyWbqSkVMmh&T)wg$ zTSRM%XD|JTzkde=QQN6fN;seQywPSY_|tJOI(=_1st5L2vYuM)^h+cvRawYrRt38V z4n2(CkJb!f|4SE8>$KSqV)oYaGAXx)N9r8xwHIrK7&7rTQCnyKj<~Fl_Az|bLVQ=f z#PTj@q+@kk_I!sIrQ+U~|fM5(a9p!TJk z#EpxW_4m4lo~&W-q1DvZe+~ofGseQb3DPoHCRJY;A2^uH}Y!@!!0Tb&^9%-hdcou3uCg^UdWJ^*;9z0Rb)HwoTlQ{c%GI2w$jxc855$j^2}!fmq3%*Hwo@G-PRL{bJISaG+UNt3 z8_M|^s?H$n8ptI#4-$*KbC`EaEVXIx*v2d3^DOKRHe#AUxvVB$SYZR@lj z!1tShkQ8G8wS!V*YmEIx-gzElYpC_zRY(r#=?X2wrSa6EtGyo&EkkAhehAXr2p!UFgdvJ;_<#Q69z{FrQcZd9oSKfKcwDkql zuH1k?dxM;B;+!G!wE?$&mWC)6PG)R6wfWMyo=V;oe8O2L$d1+HTr%~p=kiyL}~d zEk043dC&*Mx&FewK1y)W_X7Us%^SSu7&~9XZoZ-(iuTU{^Ztf{-rk|0xnRA_Zm%G& z8qUtOjG#7V_;iSg_{6(}IRnYKj>7!LhzU1tGxeK7ZIiJjlue!_=;}9<6|tSTIzI;2 z|6a#fptdy85mu+2x`e6wr;UNkz27eo_g3^SAaei@bzD3WHF5ww`q7XHk4W=w@W1cT^H|Q(icpV6Oe1` zIi&I622;OVs5PJO2X0Hp2xi-Q!uQAn-P&L-m0B@-%&>xs>PJ2)nGHkxXv&Xn6sZTK_;@OM7L2edds z`z>E?(Vxlqjq(D<8pJ4a3!fwXe_QV=G+1kcNu>$ys2L_+@Cjvd3!pY=xIZMEd&#%Y zvV-?e-=YIA%*ECNBbYi{Lv4}IcnH^Po%@B&}6`TFgH*afY5*(*BcQp5w|ZADKGSU8Km(O}TId%=G#<#Ds?^ur7 z8vRhPx!hm4*kc7tk1R&HA3VkKo9z6OrPS6>o(WOwHHGqhmXM_JCrW=Mh(4PwnHVzv zD>vf-2{$HuWxKSu=D`7+`yWG5M>G4~ckjP=Zv;TW-FLhW*nrg8L5qv+#O70}OxscW zRgs(WP7}!ZalEj?`V9%3{{~wa+TwiJ!B|gfz0~g!`E*A?$+d|bQrn2H_1=Q!Je|ta zZw$5RYFZGI?;{vZdq(~==_7KNy1kUv4QBS!JwR>Eiw7jgw~9aDqYqX;sB^x*N^5V` z**<#Jf8}b-g4h5IiM{VnkOC(XHi?7+)4<^pqfq0(+ z)bg#8sfRRbi~LU#hZsFU-@2P{pEndAeO!cMemln4a%z=Mhe3O~ju7A93|yv3ccwBg zo?ga2*L$cy=Wwx>qo0{cRx3O)v%S^L5$o4dcaUhr*c{x~L77_U4ZI7AScA+(arj z^b$+=pO;tM_h8zj)lx-n1@8+;(#|ek<(e9-ypn*PmF1(bne6}hFltM`ULy6EEris6 z-x3cm1AOZDY*e;qGm~2qwVl6BgWTCFLfpp@aO*=l+V|B<96U^eiC0c-ZQC?h8tfvC zZA)ixbn4)aU|X@z|Ev>kr?&2IJ1~87n$KM63J>upZeZMfeB$^3CI+)*irgYJMnm3q zPFVhPZwS6$hetnpfu9?*|3X8kO>%xsYDb^vW6ejxL_CZu+8HJ@+rakqHc}gL);_R> ztY~TGa4&b*J#-{zUr>o(+4o^`Gm2B>7I4H0+*D8TZf9JeBFUbc6^!xTsV0mK{LhY` z38k-;gsyY8F#1w1stz6_8fm^|+Cx0GnIBX@$>EH2zO)r+?6%`#-`gqmowD7zA!=24ikUuR zS5j-58VnuUc0v!*hQulD@`68Y#V;}JICu`ViJwKHJMk5t{Y?w*3_gpVg{PyQ|JjG= z3AJhOE)wk)Yhi`#6)9eT@TuY)6dnE-6NC10MQ%ZLZjf<90p)rJNqZ`LoG>MdV$vo8ww!r&*^v$Lb*QdTBA5>C!&$iGx;QM_SOlO4shd~ z-3zdHhZ7USF>0;CzL1o``FwHcNT}KG#EHc(ig%Z@&!}2zvvtiOXkH<|euh1ml=9rS zx0mos^)XDj8ow*z^*>NWqKn-HH=p~Y>FIHNH7W%iDP;e*cu{NmWFk~mKH{@xJ3(hc zZ_c-3q*(j%9rOHMOl?+fIjONI;nP|`RhGN{o{$;`_@Gi*1d;`H=0`Qix03~6g zUtc(IJOXXticoCBRmSe4cD2@JVrub{FO1NJ>pxyWuHh$;`}kVMR#2PXQA%>)8Q-x; z3vBxqBj;6{k!mK}-~38#=fbn3ed-t9^tw8zSua7)r9A`}>|*QJ=?_Ich|*qv=4-on zf!BmRami@ds$68&!@e)(QtLkuNJZCkex>_hIC}af!dj_FuFBSLDz#o;MnTg_Kfx}s zgXFDyh5P(O@TvDM`1||fDz#~z&!zEXIUhlcAR*I;6EL67Mq&1{> z9uSk;udzn%a8&*H5_7-VtW@M?wp|yxef))@Lr=(GkNSvdT%6o!;Q;0uhf|y2F70=v zI!s8georD}?#Sol+&~7d?E1}QYGbT@p=i)`zOvE{JbUSLT`~G%+JuA5J3ypXe0Y%r z<(mjf-qK#6rj>Hkl8ahg*|FjdYQsPGhg8Vpy%Me9@a|Du_x>SRXWQRQdoW+6$W7IL z3|O2UFPP5!NCK`s#*Zgd;lV@3GW9!y+6w0aqH_5YUpYkD7rJLT>UH3>w3e1_lZn*& z?!Qj9Y%~>=`t^|Eef#6Vr4>l|SUMBKMQUp-BuSDav7x1H<6~`WL!0~#NfKg15*tF2r1G9S zkF-gWq)kGSBuSf)B;R|^d-fdj{r`35JkN7~&&-|aFB5;7!ag_k|4`)CnT#NB{69ia zrw!EUYw@cCMu_}UcAU(UTGf{`K=soLA$q$xc=;>yTaH_c)<>P0nnh8oa?%F$`+B3u zr##Nn!))bXKA$%wrVhpfA^4k#5bdGYQJQ zJW((1134$2;(lAouwB_?rd^$AMQ)8ni=g*`7P@%c6r%0tb6VSZ@h{$nv2N6+|9qMF z%zG>J_UQwW%l2@8+?8|75W6nQI%+d)q&48@8=-)vR#H;_Qf_gofUB-$@4p$;YL9wN z!q>}CN&n}>f5u~6dG`ly{2n#t7}rv(pOHsW2brL<-q$2<#|XT=>K?a4k3H8lHz{)S zNDBbeX9Bv&4T8cyyW|amrTBgv+aD#PHfL`E$*a{tbs^tKSHgAIY4?E3|AFmKT|=$f zpplT#IR`cNz9O^RR7Kx3ecUwWBy)_@sMWCQ53QM}1&1-#U{F1o4?g};zOC&blUo(F z#?>vv{Kj=5*WMHia*TP?ecNRw!}A!c7Nf{bd&pVRtF4JDr>j6v70BLB`J3A?tB|oy z)P@dxM*P=1qxLs-B<@)ruD-d7TfBTUW5cM;Gnx)Aa}i3&P=-m{b8)9*AMt8JApZWG zOrf^W@fk^xw!BQL9s%mBhw(?%^f_m(5~kg9YE>5$kQBAi$Y(7;tIPxS^r}LJFTuAnUSVk) zG$!5Go$L$ccDRZ+)Rd=0`Anl=YJ)nfUV{(GC zR;yxSD518pW*nqDTo%fk?Z6>q5^vGB2;)o>#&%P?;-D=gi1|W|ofV`#v*jP`Y{fP& zU(3F)uk{v19m3X2d(vFJF2s$rhp4`e{DwY&eaO}K|1hl zSFN;$))CHhNi|c4LTYR7)soav_l1w!^q~G1H9lUxkSo7X&e%3;b(=h($ayN#)9w$| zqyEInBZi9)V%IS-7;jVLw)T(lSmE6z{kb;JIV+pl8Jbzf?$F8@WMeo{eB zd;7o&zX{y$(%ut=aW|M4wo%))cP^CwH4*7f(Eh%^gm zcl1Wq!`evUpbvP&^{v?Q-6!UJ@S@iChkr=ebZ6uy?QdUx_AKu7{~!0M(~`+8np*3! z`LIrR9BTc27*tGhmgn7&#zHTwWOB=*w(L=VQ0s9+jk(XrfUzoKR=0`F{PI!eU9N%J z*m2Sx237hfyx+gXZ(g)~fvKFU*qX}3pu0nnTlG3+(3W>MT_EK)n&@1x67;lX$rkUq#U)te zGclZ_w$6PlgdVyq^y*3fFY4LxTaV`9?V~IhTSsl&cx$kJI~z5YHj%~&FEBCMf%Em6 znHaQoDsnST?I0Se(@>Q3AGYP(XV{N7=JcMGFuC#6mc@M_#syf&m~09*x`wZTRzZq!a@9!n))W(*zkcb0U1&cPLEeB8gxk!e>wR*_rlmQTb(Q$V)6?h~caZ*g$p zSk60C&gAAyt$*_X2(ZZz8uTq-x2FwnmO21OEr?@s3#V59AOeq%t%Az{TUhVg#rax{ z7BeohT`UxfR=~#38 zG3N|(+*EccatoJb5%1;wkgBr^B&<^7HlEAoLKj_Q;&q_b-_03H*4`AtU7g@#_82}! zR2RFqZ)WPSg4!$%a|oX>2Zf$)C3R(Au}=7UEK}-aVo0X;W0V$jR?I*t^0&nIKsV0H zx^<&|&}U}Oe<`)ywaQQ?n}OC;)RS|A-r?BJ^D@FvjY|}bqJ<5hPQ&k!?{AIku7Mt z+VTfF?&INQT8vGkHZ$K89HccJe5AdjH$-<~J(ED3f3TdXLlLz(qZWdE_8?UF?^sat zTf#Z{x{DK?*!Sv>)TSs0f{XWOq0QC;e)?Y?=h@~gZkXQ6v}?XcksJS&hwf<{D$MH# zkNmQ+?n*WB!FINfKakosgCXFhaaK?(w*bcmJHD;O9dDnoiODUFTEFPopme!aD7k74 zb6>sSyaJ=7Hd_qDx-%!c_dSJOF=x9k)~K@N@u#cU}>+ z(k)=^`6+y2c3*rZB#DW^BuT-qKzbI?0Unqc(L@fVB6I z5pq`@3g$acx-Qe7BAzf>z{IeF+Ri^5LACj|;NoEeaSJW^vNal_+<3R_`*`!HjrAP~ zN%#Gb%cZBJZ04`{$oQc6{!so)?{~3o{!snRXkg zO?`WV7`l!_ezO{h<`rjrKm8I{8oiUTdhv?fl!j_R=|^b}^8N<0`hFL#=-K7EX6bU~ z8SC+%ZI+XSJ@16B*Mnf!nDg9ShYT*;nC)ZQKy6A#FA0q<6q0q#A-6+XLwiug4e#PK zCWcIE4OjR<*P&kFW3>fbRlUvymOG37!{0FH?^9|MGDd*ub5E3@{*o-(qAH>yH5}&^ z&sgn!irm_r%ZbfXJJdS#H5qj)9v?71%Kh6O#KeH84G--i#wF8G%C;H;HFdc8fil

WTW8$s(&zklJ*)MLWaO`ukPfJ;JIyF`1wBiPHEHo16aoaKqQl4Z98`N!~zTTOC zJ0cCgf8)vI=0dH9?QLR|CB07uKP5^pQt-36r#bTF2ga_ZwsVL-Y|yepiRQzggEYzY zjK_;Neb{+SsnkZD4}#P=2FPiYwC~K(w=(Y!GI7XKcl`aeSxK$s8EIbMBk3Rh(@%;0 z;zu}jS+Q&SL2ahKs{0kWx%gfq!Ec`n%ia!wRSmbeoDs*ki(YL1gCn&beQSu(!AYpu z=Ox)UCJj$$+ri!0Cu4F8rB=L{LmHNvprW~*q`coN`5&{dbD>8LG4?36nI&%E{o{00 zF~1MYtG|xzLzKmdkJdC!3(MSg(>Gv3lmt4i=m&8s z=Y{a=*5Gt+JYN+3Ouj+=0ArJ=%~bON%Q;%e++z%+`Too$jdTbGiX|wGWe*`pU!$OV%>S?V9&~U}U9&be>wkjrSScQ=Q3TR$d!(ZFcEVH>C$fhWZi3c zx_GN@I3K@B>ND5RV(vRe z2Nk)c`_vFq=~;NjWH=nt_{JRyHse~V+3#2%YIW89!6nZO=`PiW&gfxsoxsWBpdZ;W zz%A5bGSbfibqUE=cM_{jVrg~L{$Uv zMg{xb?MZFSZC5b=rBpDG_Ufz{WW;BO>4-)DZx4egY8#V`!D!}8)V22w+5TEx^wgV* zGj6lbfQ!_Y9jzlz``e?0H806I{c||1{UG=1vj2%M#%0pCP=mJ70DSh3Uk-4b3t1Yn0DQ$jahh=M9%#tq=fW^-R~E1 z^WBTMb(_l=yN+7FyXN5SHVe6hza__yf57*D-Ha3av)>mP)YeCp5W{2lgtjqy@b$tQ zE`RSbE^rn*mQ+jaHdzp44jhhBkuelbc_G_sw%Gb<8>xp8MV5D7ehs@9%}q!G;CO^#u>Oz78h={XKJ>FT8~kSz^|VrTGKWh zl4nnn7sWe@V?VIxZyL3#8lKQ|XEF+G(*)DsHsiv&k>chl>_2!_)P^khLSi(ewE;Yv zNb8kWyv|aI3-CL_JPXy1C~|AenFUok2>DJ`gX*ydaYJ^0aiAOfz3D`4+`a-57xGNt zC+NbR;M?3Dj|9&BC41b$sBM|y3hVB>AqV9TMD_FEc<8Dc{KF~syE}zi2Q@!vE>J}Y zPtD=0&1o)h7%%!H4q$3lPHlViThbCF?Wrk$PK=Ceapn4noNQPFlbg~}MQ$-;XF>Za zg#1hTg7U!(%zqgq+Wo)%gzc$~kk(^uf0QLy8;=M55@$Y5!v}Y*-NGE>5Ndngl#$Lz zYt-IUPcnXq#)D?3a=#15%uC zLq)1;5P$m+Ra}qJhjk)%s6G9gGi% zBs6ps@|oI6;O0a5w6GkmbOk$hu!LH#=U0g8_Q5F5qgR>-@yT`G<;PrpJNpbspf;{% z3Uq$GC9FO*0SxaO^Rdb5V$PR!%&`D!W3x=a^nHPFXxt=F-#v+cZFLP_xIBTWLnpO4 zjrYjMsZPj?t0R8|9>;S!wsJq+bY-kriXu17^VuY-zXs}9r3w`IH5qFX}68q@D6YAubO~lhC@Jak3Q}atVHEG>^;@^ zm?F1O8%Idq>VZs8d?c15-{65JMRyY9JK0`kVkulcrS^Wio(u)e?U$u}m?nYy;z_)BWF#i5!kBn-snxtyNpk+NLz-`&5%lmd9uRPld*15H z*k)>-whxDt`*V4Sydr&F_u#M6zb*3@ zMltPr{b%!?KsD%&uqD7A4!Ilg`ugf(68ax=o<&o8{DnQ#XO{>WV{O4B-;{su^9B36 zXE8R5TFuR6r0Vuvp)7eQ*j2vbn)9b~(Vy9Kr-9l~)BB`BV-iX_QcvnU58<{&vE2G9 zcP3ul6N=n=j|~Owyz@fKC~1wbL5_TM&V8Npb0Y7+)^lcFiEC|sq1Al(|=6s^ZO zuK$~fH#o^9SN)^S69(VJ>HUj2&mtN>$|6wO?B2)Ui#lZnS{2o9eg- z@9|>R=s4yW^VI4ucteaPaHwm@Q{wZ}U7T~ogJJ!3^@0828xfB`sAB( zaG`^ecsOMq{{9ulRzhrS6*0S%O&eR%(Nqz8!Gf>^2 zMdQwS3XW{YL+w)@4*OU zf6fpxJCbF)w@T|}{=a>VDyYpo@rYQOI-sJX&&X5rA@G~`PM_N*9$pu34Seo$7;ceYnQpvo+r6&``Pg~n^TH9 zblVJo;KQedjN8`GpfZuqmYxGHp7Bi0f~id~zCsNDX%|fYQitC{4{#PMF=t-Sj@>3w z8+yBg)U;j}sveqv{$x`=>r|I($i&M`yG7KtZaGJ)Mk=9;ANzue$sBINf&$LPmhJER zNUfiL6LFI64-xIpN!c%@*x!2*x2F%=2W_6N$W8M=9*Mkej7&W`$eHcW<^BK8=Q<16 z>o}0woZ8i?93+=j2m#yez=~#&= zqAJs_$!SGyYaH`Q#P<6_Wx5`GxcQtr8L*8@_;i=4uOGFC^bDY^#tVf$l=|YY_u#q{ zN?5n`SEk(^)OMBD5HI6N$lR@#BrQ0ED~E=2BcdFbcJrw1eB}je09gN<>Q|blM_>s@#b1m`r$eb(+c5~n@2Dmm;^uU!-+!zn&J(L|TF0V|zZ`w?N+eJ39y2gIc#5H3-eSBvekb zg!u5ue9zW=dA-9iCbtdLnocVsSy>grmXIN^zUw_Fs_&Q9`g_FKOlpyBvnu9*X}Tp^dt3VN^lq-ae37L%scsdq-$s>N(xg3rJ3(t>~37;wjDad*k#nFG)eygZM!NsEVl&X21h*Orel4=Hrpd5LMa zi`pOvgsdHdk;Y)+R}?m4Dr-Psdti$wb??~U#8$$F`8d9I>vR0 zCi`6|QoFWV2gLE`1mj<&f1pjL@E4!><6DO}G3|CxtNqJ;;{3@T1v}P~g<2=@>)nUB z@tr=5HNBw7P1|k(6h4>cEBoq0%-3qy3Rhe4ujSJSZG z*rnY4XXBW5W2yDpITK1Y@u={%28hA?aKaW%@mRb+({4Vs#*1cwZf3m@=WQk3vz2(C z=hA<5yEx{a+DfhM!(5`fbqq>wZ6|{c_Q4+pT;o2PvCkHxi;CO~gQb1U9mgQOVrfoq zeY#7XgM;|~;#?*MA8Pf9w3n}Lm7wKf1L1nwd`6Fv$e+?<<`Zn8c3YS#_~o7xiyik%PML~XbLB=}*K;QL}I zd{(OEilcw#0#~v368%ex+&Tp>P=D!+G$v_+$Moe`vt^KYz|M=w&6C=gN%Ns+r3+ee zWB`1uT!BkAjucNX3T12*wV78-h`iexrG&MRV%;S;Cgd=;a|hcWb&=ZU7v8XeOhIVl zAn07Q5;y*Dl=#!n;Y_>r)CQ06gPvJqP+E?@w2suW8#^ve6?aWy$Le&l6uIT(nnS|c z%R(Holm36R=iiv!!ly5cWa{fiZOtzNgcx}s^Z$JzmNUxnqkmiR;4=2zXdSg~Q|3ed zPa4SDVhnUIh~%nuoy2V_4_wq_P_)xWXxqiU%wu^0py z&$ETK$H#+xq9eb1<^8=+Nw#?UZqFycp8_EZry*VG8)wOhH+bZ!F1%?qJJyjxZQiVDpgH>=!SkxLM(*XIynoUdQ5=xQ zT*u|q8fN%GsrwKV=V}a5^Tu$siB94zV$IY{>53w^tR(@k4Rr}ihSnU>^7Wu^Q8E3AH&Y3!r5FP?Qxm24shgxic%K ziJK;}_w{aS4J^k&%&OTa=y5agA0@55urVClzIe>UV4b6=gL(cCFnc!>RW!XMW_P~f z5SJbDfZlJ+d*2djZB7q^F7?wwxb!b=QPw2>;;Ucrdc9Rlyb07sgh=Z_Cv^(WV>RG6 z>;0TX_cbndTLoi*+T-Su))v@{Lf9|_lKUs^NvnqY$vr&maoaShtj@?0WV11 zKLz;A=oQ@T$Lu$b*;Peu4yzxKs=GEw^HLM(`rmF`=atMIIkuQ-H-Os0bMrya&Lav!kow7%4u?~vxFp0-5E)h|h-_!AzSdX1A`-p0hRjauHsS6VMf z57jk{f{Zt6T=7d@ynl2${{EWJr8ef;6;k6Q?SFhp`i}j5ux$9ohn#N;drxhqHZw5* zG8**I#fj3sTs!qR&81Vs_k-B6FN14}++vD*N$dkRWGtP(I;)>z?McP59XO7;mv~WY znxY0`ey)Jtnu5;5@q842P@X<7g~=_N+PqPBNlv~c3U6#6V#hi>Q{^x2*hjYSHH%vF ztj~>$Pml-Ra`(zt}O$YHHWK%Ok;-+9>6QDs0;uE1UKB z9v8i`kcmM(Uy+*_D6KIX=#A=?{v}oW`iQ-nbFuA@)l40nscp{eBFl6f^$n-CR9y*dH7*EF+sDF=Vq;!^g@rukF?;?Vr&cqOgOI9+LN~Dkb#G0+ zc;H~s-25!lw^BiE%xNGwdmNEc@>62mZ!3PZemhq%cn*`BN&!7?JLiH^Q@0Sd(gFs) zD&bVtx{3)tFPPjMs7*Fkfrk7U$nS?|#H*_dcNJch1r*L=a$7;I+r1gkZ1h-2kl8}O zi9Wo$)+o_jcPH~~Nv8H`(m*ghpDm>Bu>ifFC-IgW^{|P2FB5MmwH5kAnzu3*6>V-M zsc%Q%X(P{YYSud$+e58c(oitH=7UUEy(HluRK(1muE<+`rZTzN6e{WvxoLiZFHl{+vvtwl2#TLV|~* z?(K$9H|B;c{+zVGUa1TI-WE}d8l^cMYiFVqX%9B-$+h^iYbM^>qs!Qj)COy3ku*^s zHAb}(e!_IQ@cp=GX z`y{jk4TR=#vE21d2e`(}0;axk)HZCgfUIC?ulgS+fU(s7@S8>@9$Y_|v2tpc9Cv}> z(gLCFg)Q{n9Kjb|=p!aaZ)MJ%c4}83YuKhL7iwFqAi&CzA5>qD?_6WwjZEb9{8cL; z0YazH{cHf7S31CrM(4PT6WBflKWcq$5)$|Pu>cV|@XMlVZbH%l&dsxuiFXIJk-uLh zCELCU(FJ{A^-y1K^lrk*b8j;?k6N!8Gaz#4W5G?jSGNyP<9$3vi%LF8%(>n|tr*-u zOlM9(0V~@`t-Bmor~JW9vNL1aHN=YC!jJcb;PIyft-r@X+FM6H>d6^-STNha<4vtc z&TZnBY=ij77Lup^8-6N12NymFW7>`RuieiE&~w5QHG8}xL64L~Pt$?;q7yq-mrZTX zc6q8u?_zI z8rnc@U1|ZTSv?vh4Sz?xIyCXgq!P|^KijXINi84d17?pLk&c5FY`YwWn?G2Ht&W?S zcArvfGEtg$^|VaT+29CXcqkvXYk*iW&zd=ZwTU9PoP23ty?HLEe$F%U+4?4q)}P0H zHqc^nL)5yByi0QLk4LF%q;(~#m*X*AaoqVe!HkWd)_B3+QXifP(lvS~t=nvgmnYxk z(nYqvptVj~i-WU)jM@RbuF_~x zdp0{~PXiRWh0b>brR02}&D|D?1WW$w`(CVe>nc+R7iuGw9U$dMj-VMS?T=`0$&YMp z!|SpiGIlk!u^oYs<2exRh#LoHb3(WcQyj%yuc1u5sniDlubybX&K8nvjG-;hh%dVS zSa#+*VQN-MZISd2*Ss`Gkeg2c?_E~>2ge4yWnu>tgX&F1ZszOr$&vv|D138&2;H)Z z`{m?yuJjsv%{x*XWPOqNe=|ac*V~EjpMS}pe7VLg*~Xq{q12{q@q^ZKO_Vv#1kjmK z?u;cb&TbpW;rJ;lKsBTJ zw{MEi+wsJ{;E|Lqp%t-6(qAAO5C7D?2$&X^A|<42+TRr*lT zb=In~s+u(viq&aZo zb9dr3zv_rH`Yd7UYk7-ao5Q3vXA|ED_MgVX>4%@VsB05Nmq|P1-``7us11n>0vks? z6!eEFtk5>#R+zYn3--D*?Z#89w4|5hXr~Lg5n~~^j~(Bx`t(ND^RrAHL~0|v`oP*m zcNCQ+{U56R0mtT_ktN8dGsn1t+VR;+@z&8`EM%ZmNIk zfYK&U6uzX9@Xcpoiyglye~t?E88?wOJ>mH3^qy3mP&T(9E&nvp286{qxv)#jVt~ zzp5n$`&^~{d7lxPTPa>QYa2HPOqrS){jJDN@8}e0|8o{H|D}gCY=44>&X&HBJDr$g z;X`eSH0Pjw{VY_U@`MbSt}H4I&35(4v~&Ib7;m9A#bg0Q>`_6XPshRhnp2#!^dHsp zzA8++In<`uhN0(9_8HZ;9cCI$Lu?dC$-{%45FH$f|hmm15rTSANBd1 z(eNTBhA3*Ay9!BXLAT%}{cGR-K7bql@-I%W;Ra(bQk(u-21^Xwkh_Kw=npNz3(vj5 zr%ujb>QGN@$ZD*T2)+Mb8o2v1*P_j|lcd~5^ zzrFA+4okkxoa=7XMhzGY+B0V%<8zH<)iM<^G~8O=)tbw+yN=pq;UeLAX^+1ZO5m|G zKz4uXZO(AuH72(VYQt|L&=6hGI(c7dedTjFW=cQt*Qbk^+-j+{wag&mMpe`(&7)jf zB5-5w6me}mY@dy0sUo+$`435X`Bc<1?j`Y>mW#clf3Eg!v}a-+t6p>{`+TaNl7*s{

Oy<*q5m?bW=_;Dlhy-Ny*CpnNpmG)LK?BLQKGCTZ2=QQ7`4qqTp`%) zme3S284}+Z^V(Gd#f&5WZ~b3tyZ%}L31hwq@jqF^PHFy5^a4lGJ@dKz`*_Q#jnHi& ztsNyoys8mYZSK#PxMs+dGjRE=v+4w?;&dW ze#X#wL;5xidr7voDT}%1ZLk@i#n=*R&4cDaQ9xFs9ul z)VlrU2}$WZ^64B1)eUQK-kyHqh~*q(6R72tib#Bd71~zaK#aA1#;#tO-1(Do|E`>1EX;Ny`hZlq_+Dfbx^mvDrg)X3n{inXw_)|Fh><*yTmX%sr{mM{Wn8fz`z$P^HndCH)9q`2bW|?w-PH3l=Uim-!zcmalJTi`a@ZO*AGl?+o;W3S4@(s?h4uihrwvaE>2@{ zB|GbczLH5Zx6x=F2SJzmfu z$5%D17;8|W$gRFBpY)~-LzyWbNMnMxeB-$%oQ_g9b3S-cn?A6PWT(2K=FgAG<**Cb z{?;6Bt};6hB$`^aZgoiL`bj?D?p9P4WO`cCLFCwJUCnhca?ikV*4`(iTnO z7ya0X2R~=~9~!9jxik|xEuIM*?n(2CV^#SUcXQEWM1SU3=-yZ4Rz6YcSD)^UG%vg) z8~l5*Y`8i0^*Y5^cWSr&^?>B7jQ`T$TMPC{RW%N7{ZzT!v1esN9~%f1rX}nA6-

5m#uaa!@a6na_EhMcb37?k7aql#}nB3B-4b93U%^#Fe zsg?#<{yLu}@XM_R&hW97=wuzu9OH0mb%yJK z_Iv66JNzX{`}G|Tze(g}B|{l|oLY236*Rj&ki$=p2n_1P`hkDQyi|;t7%HgM{L>T~ z9nT4-?harx+MZufbr~-nZpYM2rAm>Tk35%Xr;kLfGg?WZX|eq72Et_wI>uNBYR!A* zg3B;hlF-{8}OW)j^?jPm6P46M=S!Pt+~I)uI_30toU(dI^AUOt)+h?^;^OUq%b zd9@<9>L)z#&ODO++6Q*6xPVs<{ETO`vhVhR)Fw!MZ3bIBk&E>g;``(Q9)6?%t6nh1 z-@kLkQQP`%5`^Wrql6{WUOl@j@qnyC9IZ5(v2to_XKR4hJ~tG5rzQw|c50LBT_7U*wh%Mj9!zbF`0if@i76`V^VsAcMQ#DNJfJhh1+_$LL*$R!vCYY0 z;$HQYObmY1=1iXnF4F(J-9M{BV)R+ubyZdTqrX36cTk&rU>k&1k-4<$;O%cnjI`(D>gy&D`o)y*jEa@X-sLmxZlJcx*bQp>KN14# zrTIHZhd(5(VYS9{CR5)`YTdTy5;tjG?4x(Iz_%ii8)%rxUDRT~hn`Z~{M83cKdYds z8Vi{FERVamdAj&UeE<`$cC8{ezn_bV*Y6WiOkOp~u{(ed&is=b7`KRt7g6i<&L0kK zGD42OjewFXGMS-O$_+s$opKtEu&H zSB2n-*M-C&GvGt4_%7X_^+}QOfOzPvm^3u;24X zsnu{B3oap-gf*`Akh<1}FBp=8j~uaNYF0*V?_vR3R?R>`&PotB{SIEdsRO$n^JQ}D zr8cm~2L3+^#SPd^IH3?9!&Q2KQt-fJU$DiMKTO;MOQ~^sND8B!70b$#51gX)j=`NNtqwLhumAq4*KQA?}s3{HcwT zcw_r7eNCY1(+m_7`jjji_ZF+@Pr++{O=ZqA(`Sm@3{M1tPro5(_w&(^?KF-n zJUB%>``37;U4LpTmi2+Gf26+R*H6ff{{P~V$S7IHUNhPE_w`t6YaTCvb(z|z^zc|P z;AU{}mxDN9uL09;KDAk{^I_QsLzKVA0NNjV%YxqU;_~zCGpm(azY*_<${Bam%ry{$ z4Nq|CB?E55YIdHDQN1F!jy=-2)6xQ=On*G&HJb8&9qz`Z2H8x!KGd$!y-ECRp9!rS zwc%mYEw09954U5%ZSMQrwon^s_KxJKUln#78Vxyr81p4FJ!NZKuP`=;+VmNLkmt}3 z71xi0@pkc??{gRNr*Ivn4o%b=e>zK+ofwKj^;$_}>HZtLJ{52wpHDOG>OWWHrk^+l zT3=uxzh?pzZ{T@h3&9J&vhVAj)JDA-4o$AJP|PxEE!SFQvG8V(JSBb;b3Q~-+mdAj z4u|HV6o-1^RrfE}y)z0|9%RRPFH(zM420z5Gs0?V|F@V?mVDeu6RhjQ_E*lNk- zT@6HN*=G+rz9acH6EwsKqd?|Z=rkyD6CciivalC|N~JBV9;3o*Rhfy}2h^E(-Kg#S zxq~c;6OiGbk4g2$d-%{(T`vFDJ*M4t)TSSu53Pmj=;(*BFlX96?hu+TUQ94yjztEw zwv&OROzDS~?Nfr5Kvizuvum8}>~-c?)KVLFshlJRO+ex29+8nt4&ddEC%H*KEM=_b z3q@{?c5|WFN)tt5Q&9Wq56-sKRWzG0l8He^Z9rK8aT(kz#6KPY3-)g2hSW;y!>ncB zHP%q;(Q=BkG$sE38byGwyof76)s5L5bt6M!1^7_m~)+b()7H>7NS6L4? zT|UWJCu&9g>qNZLB*fck!+sa(Kg+(!T=X6GdJCgA=JXX(D1Rg9=?{c^wJF?6zhhie zLNOC>3bpdd9MpMFM;nf)!HdKzc(Fq}{_7NC>RbL_yX*a-%&V`o9*8-N*E`Os4dBJZ zME04b^iq*qR^JNZ_TY(-s$&4FDqnNHF)O%SIXh3m{y#f9j}(eVNLTzo^hXolya{fDmd+BKm+BcuJ@*w*t2$N504*Mc%xb{nk4~ZEOB4sMzR?JfHT1c=PSJ$bX2q z&xie%E}>Rmc>$C;O8vhDLm_m{IC+QmBysWQV5Sb;)M`ufuEMW95rVp{LG`FIU%q>^ z7`c-$@4wbfiaOLdDZ@uUca%}|kOccS;Pf5mWJM1mnCoo`wI0#F5ET7QSS`&(dD|@Q zFXCw@241UR&W8kQo5TqaeEYhfHe)=T**AfI@u>+LeP#Cp1Zo`$48S}jR{+EDP$9SD zA06Cy`#W^lg2lYBm}| zgWkz(dqW_1dOwHP;ZGYJZ3V%N>s9&~( z4buOR&9{%st^2d*nQ^lsx5A&lkop7e$Z2ss(U{wgJ$7`<%J@X44!+d(tPh0jmN6)- zRu9ZS9J;YPSSB9$5YFVbjasvLYQX2Zp`hkRB&km$F4;3vmSAbcw3|z<=6wfH+Bplw zZu>+!(q7@8|92gqe`~?C+f1$KkxgRuD93kZBgWg))+#hOSa&-!WQ(bT>1W?hcI?q$i(1IZHQeN zsn@qbMQ^41@0YFk{>W3@V)JmuMpA3;EGIerCm{Y)1IfGn6W(N-#x4E#SH_;B*6)=+ zh|)i#O{?|6*rD}C){H6Q{C|GL-@hBxQCl>BG&Fk5LCKTflKo#*MT61PaN8~RKMAcj ziridg-5~NiW07iOJJBtih(DD7%{d-q`^0!^oyY4yo_sbcl=de4c&Hbfo6nJZ7~Np* zQERC!@~5KrV#yCiwbIyS%zkItwCFM}@d!J9tlp}~E%-tQv0ZXi==|9jg8G>7q23c@ zxg*(kL}zN-qbESPa7nPo4q(_|!T)fl246@~Vva>PwFw6_!0+=_VfAb?0Nbg&_3m1E zN${VHJx*=v`bDrqZ#;4d9|{g}yW}QH=Hk^9Z|1mFQ0ukk712oGQB74XIeS&a2BYk_ z9YfhYHC5g!a#K6v2u_ur$keu%tRB>YU*z1zKOC9LwCg}^z-ePJzB>o0YqyeWyN|eX z!Bi}cxxic(E2#AR2DuB@a#LLkxCAHm{VbT;ZKh?Uom2?*9}M8? zluqtqp(mGCev@f8ky`aPmq@JoQz2}?Ph=4)dvHj%w98=>q{%ewIDCRmoLHvtvnl)TX@F zfijm1f~A8E7#^L(J9_)z{6QH zjh!k$^7;y)<&ZV#^bXF;Gsym}pq+;YD8K$N{I^4w_!HzwwBMgu*>r(3ic z>p`vKA7&8eI0v=<+D7ij_Y=WwEzbX0iLo1~O^ulcJ`qwMNc~ul|KiNaBAmrxHSBvy zCbeG0a#E~rggn|hi2TQU^8I}Yr)!zQFtsgAi9E-!!HN?HO>@#aMwe3G4ko|^`;dXThh`EI0J*2Uj zGXYF}Q>m?Z2Bc!tLm^%o>zM8TkV|^KinF=I-hV5pwbXNh`qEh_#Zp>NYk32nx%_WD zpw@wDSM`G;H@<8l)Z7pSSY`_;r^oP5OgnMds6wV@j?~(InghA_Cn9Sr>7RI~#n^_J ziua8pn07;{tvRL-Sqa`K#YI~GEK6Msj(aHgYhl+vJ4&re$td7Ao)?TlY#?W(1OIJ* z3VwOUgE+E9^RHOtM6&SNi^6fP=h*R#ImSWMMvU=>deirU zf03T|T_$|#TU9Z^WFHf+X_q3mt_**0d}58#I)+GV4CTlx3M|Blp6oT`Pi@3V9jIUD ziL%rmlfg1I(W!2f+)1gNc?XZBR=dX^tlO1PiMkm~4YlGxekuc_&aI|3%{NW?5p|xWhx5TiBu|}U2xmBs> z63ty>(Y8nLq_z31@%>fzIiDYoGS-LM@L{}k{XP^@((E8Ya}d8}wXSIUTO9Lz+d?hx zx&WH;h9dRS5m3?dNw&HPiN|hwF}dYXn{i|g91op>++Jt^Z@Uo9qlh58Y93qY7*k<+y*wL;U+58>VJD zUlh4rOd1C5XU_>H$yT7h)rmJTT#M(*eqoNA8?}W>FG6nFdSG5!Wk=?j>u7KC3 zUt?@7wIx%$p+#CB+|hXmlo}<=(Fg}|)!R@eH_aYJZXU0zNZfe`)bsTP$xA(jf4-8) zeU6;T#4DrL_y=j7$R`t#VRr-hKd$aSu7>P?9C(scl2no;NhRsGB&mC5Mv{ai_x(5|X-S&P$RcNt+}|l8_`JNxt*`+_R5|^SysRALsFUz2?l^ znKNh3$r+x6%bgCQUuOC;Hk{h(9T~*GrI)bo&pt5sjeyP^mDWMlX2(;HQ|r6u7}1aG zCs;;)C6;%yWGjEWjl50R`?JdbVmN=1Ea^d`8XvnvKu1kZEpNgCKY(M)fl0kV!1en&zIi6IXVpCIzcX5^OCLaA!_}i z)xmJ7r{J;pIkA251#2(=;GQ<}Fq2y`wUK(-;P&_&ACfi(yw^_Pyq7xS#=-1=cNevt z59UMipZY?8_i)Jms*DnM^5O#(FQ)%me^b<<>w*1WbDHqIO*#4I<5?0<}qG5EV+ROY=OHB6 zbrHe51CPFc6;Imbz_h!W+Mw;Nr1}siWaUa@q?>E7?b``x!SH6L-7IQ-g2#fIfi$11 zw1a45KET5#pTY0r*k{uQYD)*tlfG#)5YpES2Q|$WnO`<1{;lWD#Guz(kz4$h>m*{c zrI0kgi5PwH#uFOOqQ*(vnEHBBTe??H4qY`7YR5`zQcoC&zaA+;5g*z6ok(g6Z@59N zG4L9v9Ux<>5vTpDn#dWgU~)^RHvd#E37P+jm$wf92bBzz@;VuP%xA~BYX6I&?^MWf zY2dBzjDdDDW$v=~7%_mimVbW^X{ji3^J+GQz*lE^9lOzxJkXij(sc@-+`=)ranyG1 zyFij0^aQiYuO#KpaQE5T_mOiVJI1t*TD`G4&^>#akn`yk>Dy0Pj4ce6i^JLrzKv$$NS881j`al}T3q?o`xYT{P#av5#F>)aj zLm0KznX@7A-|>RQyS~ucx&p@@Fc!C8V$X|YYQt3Lf@{2qpx>ek3r10ZmXIj*-JDWb=LObo%)mgi3g?Ke)so?hAzZ!-@k%^W4F zZ~2w6iPUOdxI`LrzVd>4KiIixE1GcW4q9&ZfQg}mT5Y#yWc?sFA@yVf*>WNiuh}sP z&9l*AY&W&Oa#!eFA&qVS_?3jlmg3!6W%xlX+aGNED(cW0GX}W!JYHq510>r!a6=|k z97I*tX%9bYH$wZo0{Cg8RRbVTw_hr8!-B0bIyV{VFI8(@lCX!h44Xgd) zCpYN4!SvrkYTdK~Aa8}KVE@(#nkQU!U!dY5o*c^lUwovt%|i(ye#_=tm8CUQ{u#qr zS`Cv2H=JPNwNz8&7Ii@YpCvc=gkIwyZnZuqqJd)fjb6<4VF9%vQ;LbtSCLni)`~Fd zqsAH4%|y}0cbInLsLhx5(y?!{5uAUL=C$qXk4;`WinG_T^P}X{=6szEj_af~&GL+( zQRHNEt&q6IhCMIZs10bD4M83~yvo{9fS;wI{fozl?H@36Zknnqa%;-fhU#;fyr(o5 z+fvz)%MO|-tu@Ww_xV$+)KEg)^6Z6FOX)cyXg9ub_c+@3V=$B34r+bIPKS)<_k6jb z4IDoE1nHx3VuouP6GJYw;hZCQwRs6UJe6PxJjBOlUdDGyjPdu^s8`fh{@@MTT@U%W z9=5P7z6;H$F_Nx5$xMGR(op0U@Z|<^npnl>#tej87fVsI)f=3y5CJ9=&3tO@0lp}emjPVH=A0O%}u1V zM&xI>nSj=?AzZidJ(wEcxyC7pTDk1_nSMV-ZaG?B z5V}Stte>I|jn#43=eD}oFMTExgBP_K|2!dq>AAdXkugMs8gNE^TV;+*MWzlLsSS2> zf<RT=py&9vfu2kZb=1bs zm<1oV+6wD>v|&xE4sQF!Mtr0k&RA_tMQ$z9yN*!D2||f507?%p#`=}g8jZ_?87ok` ztIimF9ef3sL)Hi1G!h$iNykR^SyKx|HwPF9Ws;SjWng@mhtp#y~4tTz-keB#6i4Q8*GVyBk zSL9~>0*Ko~J3-U4iA;&uhHnqdKqo_gVPbHjHb?s%@p*8K4?AZ9b6ZDq8C{98&>GCx zHUHUf&7}O)1ztQm0^CMgawhXn%dC#F$2f)BMzwsR_PK*kF6s-G+A%0PFBw$~Wo-qu zD$?~KYKHWDal#ssesbUzc)DWwX7>7^qNT_!rr$+kJJLibz44l4r8Fxw@W1PjFu4h?i*3l{Z+QK>YlX5GdorhLaod2ZlXGn6XMpsAjUo~u;q>c=+&D{ zrcWNBHh;n}=&1D-j4nJSB@>=XdrS?+VXv1n{h^fF#^$SJ&-5{ZZ~Jpnd}TU*&?ghc zx3Tw=J=A{uW(~!k3wXoL(wei{4&3T(Pw^x>B_=of0g5{K7kEK!PXpgm?EuUE>_V+K zMu^4Z*?no3Q>&Lf7NQ49&qKlOL_e?w7j$Ri&WfS<`)gkUwWV)nf?EDtzPQ~M2I^O! zuz91zt<$2J+={5p1?m1l?*-q|*A|}5tV6=U5n}FWc5UuXYLnJpC1DMZcza77cp4#% zwfz&1LQ6}T+^n<}xiwnnk;s?51?7f5&=E8NJ^U#j`5nH_*hSO^Zn!|q9P4)>Bn(dHQhF9>VrXk=l4&e+WF>!h^CMT)6lE z6+N*P>)QTe>d;PYXYxCu_J_1*bmPAy*1rK;*{CDeS!~}i8>q;wP2U94w5JQ<{a=!g zZLN4+*jUU}Co%2LrM5L%12nTw^KNREu;dRn&Mmi1UKMzlsY5Kat{R$<5;s!_y7h$A z990&%>bv=3jZC#%Lyn7HaEa20=CU6{2jO zl3G_~v3y{LJm7D8#v1D=a!crZNQ{2V!bZKAeCAE(N;KeS{I;hFfJ{$5?`B!;qT8216@UK0qzAv z>(XFBFX01;-ZVw7+xI>yeVf6w>rHLf4jEJ%-sUq7*~6=u!#L&7x?;=CezNb|jiT0c zjI>6?u?u|Ubz3O&v*$b_>*aNe5}0-~sSTIj8^=Gj7Xp8NL2lJ2;rOyxbZx^V#@17- zePsmby~yNa7T7>H8PEMb@icz!ATU-(Pm!C!szy?uP{5a;8v$0J&t?3QC)4U==V*ES zXB&Z3nwbf;g0!aDAq%|t#3kgqayQfNdTO~5S`fL#M@W;#qn4Q|iSf5H3zU``GWStw z)HXiKCFR#%@Oqmy;EnPbbSd*JTEnr=I5pHNOKZJ&4VWcF{QiaLGq@JG_UaF~3d^i7AB7JJ-e)TV5h04b|{1f@;gBx+a{9u#^DpDtma zMZ&4&tR_Qg!9%|2m@QZj)8I6(4;RBLteM=7Q`>QH3dE$;^O`yK&|cYx&3PS+ zt)w<<*cIZqPf2Kw>?>V=7Nak(c~&30rjl|2ph1 zbOX&}+Ep5?$W1>}npZM0mk-Jq3vClEx!LRA;*EOc%sJ#pZQfYvKFa14uOhv_$R%UB zQyX+~ODx+bgQ!h)my_|_*EEB^aYWMecg~CEFp?vx`lD+m3 ze*VJ)JgAmqax12`Qbh-{rc4!zOP-NWmwSuNdMoJ zOB=}f)rxZ+?}EpC{tbQKcLJ!*OtOO5Zx?wD=^pXW`?1`C&1LxfPIe4>7qubxvq*Hz zKw*b*FDTX}vFRf!({SbBZ{sXo3W}nghsP!$I z2i4DQ1S3y9*jV^fu2eZr9IM2R!^BXVwEYdy9C?$E-8USHyiB?7r%z<2)7f_&m#MYB zFI|6i&++yNHlWtWopW}!#y( zHM)2LSM-QC{A>-mnSHsg6jQOY;0V)yeW-P_Izv?UstR10GUWfQji%4IjW(O#U}D%z zZF%Zsa7!12&ANSH>CahMX_~5de*9wmeSgTJHfh%cFxWI%aBb-Y}fD%R0%aP3}VCzfXvEz%vYgS|N*=GUmAH87Xp$Pc9=pU#0u?5wA(}>|OYCb}o9U zyP1jCliIkVC#14k+UGTJ82Cwh>2!Y7Lm@{9VNB~eQ=2s27i?plgth?#V4bNaKJt^f`1}1ejIE`%IKv+tE7XN_e^VHLY&+8aWs10Z zyES9AhADD0_#l#x>iU9STNjDkRbKE8%8}sCKAUpXhRpd&^sY`4jC2}^QSUk&^14>$ zbSROj**a=#Qgk4E+YCYFr>8{Kv>7KX+bvg9I>z*e)c@L*=G#Y9P89sh`hn7<2;AB_ zK>TJpi;1_2+O~|#BtgBIcM8#i=NfV}%I+kp*QrF`_Xjm&MQ-KQSBZFsQOs z=duKZcAa3~^CnXpclR}^j+P0fZH=UD$-h|B-3NUh!#=;2Q)|EcEeY=7g?!UGlAKzO zcN{lCU5+(OeU*nRa%(9|BgYr%2^t@JgG*?;``x6cNaqfFJ#(TqcYqN@Ps!q|=i7mI z#dz+E)jo{o1TeV;Q)?jY(VlS0Sjb#y3LY~L%l1d};?(2w@b~pi{4a(#?$F$Pn~%3} zhO}|RxD0(AanUkECf*WixiBCL4m${ognFWNA{I~Db`lM(`;m#En_8b=-9diXOGwD+ zB)Ow+^hC7v#WY)_jGcg4IX9pRB(cN_Z z)DUOznCHUHYEHtxI80|^*iWs!Dk1f6jRh0+X5xDFo&2fy1r%4YkFkZ+#$LAqH_l7Q zis&FEGg|TW?eSQnPKBx2M`~TJ%>mQimV&{1>3J(_s9eq6TKqY324gKpC~}J)KOHpF z8u?@sM{vOHsO$JB(QC(e`S-_S0kt}9{lR3Bw_v@tmfSj`ET(K$DF{4qnR(WWqqcC@ zRH%RZl+XHX3xnSFAhiP)V%k$3rd>I;)yi$s+`>FwCatI77%`G-NjxO0D`&sEZKGEE z_!w|Gn$Opj+Cga5NbbNA>Ha}Wg{hgTsUkO@=$k~o&OuNa_MEhwj>CWVq@vY*S25O~ z+QKn@;350UhpSpZf3sYqzt%;}J>9^>yMtOcO&@4{TF-~c9HDAlFD^gON^IoW=h$3o z1Kza|A3=JLexi!(=v9PY9hi<5US{7Ny!tPO*Bq4A74ywQ$3eoq;ar2Ef#`L(#r^wZ zVKh>aTk#ZWf4!q;_>?!+(CTTyoq91DPw-yHgSg;4ZM3ABy?@X*Q{I>fI{Dfaqu|*760|?h zS~S|8%p40ZYK=0kkaAZ;A>@)Yhx4PK{B=SpO7l6x#ITWCU;kR7-R>gPUwcMG*Q?mh zXFK|wXvf$LYO^%nleF`|!#h)0Kg@#T+BeHw*R%6A>ZlE{e@wi3=kqz!hk@0kp8!ktXK5!7alF^1feC;3t%Cs0*!;@*Dw3(p+RUUyDWtM~O1asF|r&^e}sWXwJx zf9YF@K7LJM+O4KmTB4Fzf4#@26zIXNg-_9uv`94f!7avWSSWHU>^%8?}iM%AhoCijdkO?bFuMiG6ajWr-E+JexJtMxMP+)DBw-@#kJi z_b?mq^tm_Dk-58=7*eQpDxD2Y{AgiM+F)qh5g|{!ZZAG*W$)!GsBPL~0=eU-3MzlT zCV%|gN8E^AaehQ0b1YOwDROK4$sH=fyaiPkCAiUg6Cbs$!C#iR;P1~(XKH<44S+qK zQ-##C4a7TA+Gkt0wje8Q9dln2LalAI8zhQeLdVLlBz$!lzL4<{_c}U}Y4-@VvHDFU z>=#cVBJ*F;bo&7={4fq3pY%fZeGH}4wk>soa;;k4$;Aem`l)j@m$byh-C4}Fq=(w@ zm_?xXY?zR+co;?B@2j+hwiEfsa>Fq#9Jo6H5_-@%a9M@fEY^?31z8g`EN za%#;cOoOD%CSFTgXZgdlF7(mKT1-3T&D1x6TDSNdQWdHsbf&6lnD`I5&wKwe2nKc5Af2|gNO@Kf)2>Kuty&&28TgDpo-hy!V)IaZ{eCo~ znLXdysrCAtNeUBt3#r=DI6;UZ+VE#Sa+W@{_`W}wS<(JGvG2N z15ni(c5HhtwY76Tk$5ke;Ntz9cqEtM`c(r_o$no{pT$xe(ILGz9eA71xnl&Ovy{1L zVLGa|X5-DHHg)=CQtoUnWL<0~Fnb{0QgRk8*!3q9Zws}}qaTobRLWm2(1pdH-=OqW zHmK<=d;K*YqsXn^Z5DWZ{l*u&TEX;=98|H$QA}1TWBQpdwc0m5pt4&U*Qo0Q!ksHP zHnW#F$vpsnU$d>$=1d5Hq)-c?Az>)A{W7p%$B*{n3m5i2Du-G<9S$Or%J`fLTiE(W zm)kg4SFHY2#++|W)NVc^gFxpgf>u8z;EM0yzg9Nmogb$%F&J1Ya_d<=0i3RS3zeOp zNxfASp0)cHKKj9qvEI~1YZeoa5zqJq<$7?{`W||x^CvpBtCXp46t&uOG$Ao?mJsvk zIZ5304f`HRDlnPVi@8Q+QXAwI04_2Wq14YBrY5H#d8vyi-90e%t*18jkJ}`0jf3EC z_JX_$Scl7JZbzdM{h1haY!tbL59GmMa3ycD-wv!74&)+>2a8J61DKk5P^)w;gLIA^ zDsi1QQO{2Du%Om-I zPkC;%K3tb-wQcu7l(4p(u{G3+KUH<9rl?Db4Wt=dpsXfd847_4d{H4DFCkH(#Hl~c-0eZ#4>41G)@ zGfH^tg@({PMVoWfbVW)(vB&s0wZ6J9NKj=KAGK_xv|o?`muurElOJZEyDO>nnfHox zZo0-VcxD7TUk7t4Sr=qh2idVURXas)N}J1xe}kRSIQ=%;{QWtv zWUt6=M~yaAmP{86Tx&?|@pm{j#Z4am`(oz2aHLjc$Zg`Y;}+j&G7R?5RN_2;b4PVL z>^*G|wbf@bNPY1eUe8t=1~sRkV;eKjx|w&G+zwIeYV8bFT2qDE)^5^L^bGISy@{93 z8^^?3Of8pJMw*vb@y(O;VYPW1D(PB_vcuW_&_!*oc^}A)I?ubIQE)2Jo$CzUBJVIx zV`8v&P}D)s+y^Z8AR%W=KZuEl!}|~Eh$mH-F)=KmHujWcHQV^*TkYWF#3poku)XN2 z9>*Mucxu(2W|QoFLj>PjFG=u_eew${%aGCh(@YFNtygmvsoUOPs2bi2x~r39zdyN$ zcGa_UTso*t8!M8;A8UB08M<)s!b8NZJ%EDk?lbLLI4W|J{pkiqzJ+|1^sRlpID)G? z*X%hVyC+K_1hpqKcKPj4OrlM>D&({^W3zNd+?t<-Ln)`dyCc9M^g#*dO$ z*m3K_`s1t}aZGL|V->k+e$@r*jBLJojy2T#PvD%T`E|Y0wlLO@T4^5*Nb`}tJzLvB zbkbkoWyf-HfiyS%`#Qu>>zUREjA}3N^;6A2Z>SX)U$ahAq^cw&%_~NyCd5xG;5Spf-M7DM<*b z;PXNT!}KQ~Q2O7ik)F~W#_EkzzufF)hJrz9}3ZG8cs^$;8tgmQ1^9;}yBZSNcJ{RV$yQIvR$(sY5+0CWx_%Xzc0Lt*!!_b6w05c2M1@7I-G z6uFh#F96d#L%~$r5WGIe%bddn@xY}8OdXu44M`jTdP8Oijndqt0Hi8vPkmqDTX~xK z-wdXM7DWn%@qf4q-MvK+;9iwve_iPSdLAgDMrS*Tyo2kM$~@y&(pcwgNV zCWaDfV}Fe8RhQYMB#YP(O~CEBMa2no1~_|&B1t=>D) z*v5(I`)lfcYE`cILF9>7yxw64Sh~L+dA8b!9W6VVcnhg*aT6f!H^NusIKr-`!CZjJ z05N3G5ZU+bexx>|XDV2FRr9%xwovq|3g_P@&5v4njyV>Vu8Q28K2CzhQ&oJ)XB+VB z+n4Kf8Z3%e?cBa^cLB9IOZB1QmWQBS`kKTxe8ZiZ+490Z?418NYO9s&NoPIbjn0^W z?OuH@XIqbK$s+b0mHaOFYu=(SVHofkz76TmCMH`F*R$WHX-jTDfPd~zj|Q| z%7$iKeXfgpAeX^d(}{}QI&80y++A9Nt+j~^DDk}q7&1J1WwQXBGz(BmmFN$!2 ztgU*S>GNS?^w*xNLS7 zQm)sNywnW5C3Y9uHpGpo!whN*J?;^1&rROeSXv*@NrhXtZxYIV!2WMWQ(Jxd16i+73C zqAWh~!9S>ge#fuqrJjhwe`f7QY7?D4lHiq-1he4BWbd|o9Cq-IEcoyhCbtY~<9PA+YV&K6tL3llb{GJBL1k z+SKY!;%0u4kGf_89u`)dy>+2GbZ0a1o}xBKS`S3i-bE8+QyD2AW$*3RP}_XxGKoF+oZoX%6F%HIhn&n( zQSf8-7)ufTU%Ljhj(MERy{{DJaL2aY?EU@701tWJIST8fg zmDpNbRUFP(6;9D^P67~@Uf=jwl|FDed=O$I?S@cmtZV~ubA5%B+!nIH;XQUgxd+GG?Zen3)JAXc2A#dGLWf;n=#*Ag znCm@IxpI+kSz!v>gSV-L{-byM{dE(<$_QeV0>fJ!1hJ8EYfdO83A1 zF^AyXyHTX_i1Y`G5+vrqE8f&eDmZ2|+ z=APAf+_KZ?O20_Piqu9-o(=(jzUJ-k+rr_*MwIh)v}mNku0zyLZLWBQWR(mRth3({ zr^vtMtE>xAebh0gU9(Aw+)M^9fT+2>gqRhhVdtw<@xlq`l zCuk*&fc9rYQIGVU@ZNtp{Jo8(*5CCj>3BO$Xi=>ruO7d|Muj=DxYX6m^(>Ftmbc|3 zW90>2{^w9|9oC;q8an`$HL~N?E!0{rl-7h=HAcvc)dAb}ALN0i_TuS?HB1b~9*W%J zU2;k4<`;ZkQGfVn>qUfu&Lf?X?0ZPx|LhM_K<`j1pSH&i4r+EG4GnuS;pr--4qK^> zt}G#~6U>Dm^`|6%?G$`6DjgN+Ze!}3Lv2#gWT^Q835|CBAZox~Tq5)pN7YYb;%%a~ z`o=dBb?^#b*fI)I7g}(!o0R0jiQ`PW29p)JS)H{3?(fNhSIP&H{;eCYewm8<6^vlo z^`_QoeE_JullCRZH3Y6A%q{pQCvpB>KgLE;o6$56!snO^23v-KNZj*lg5AZtp}~yJ zq&BMX7CFAnMX27{M6yQwgKf?xpegDzn0V`{ZM5trF4uDSR_hU2fi*S6TlWJ_37a9acT#2gjt8}xd*6{bB<;0T^^nAWx`j0^4My!< z(!bOerT_hO?v(ntucuafoR743m9)p|J2ePhy$8469V9+X3Sn|fqqcD)5C5BQw0@J4 z^sU@AJS^%x{uJ-c*cxi%zg?5QrKsj#O&S2RPuxJCH|#`-tBRT2G^Z$Xv-~z6mhaXS z>MBejZd@R$c{EXs5ZU7Hu{PQWOYmH zHXDB+zKc3>QIseCSj_IvaGct%`^M5d#H)OLktHN;aNvFzd>G%+o659XNp1MfS&*?& zS7?&6iKDFN;qUuo z5Vcv8yNO}uWFgG$IVrl`gfm>5WIjU86i)lfcipjsOMMHF?IuUD!s>?n z`*w?|-MCj3TArWdmk*ZK(^YliJc>)@h947|+`6c3RvQNaE(Lt)m~oJqX2qRz{EGd? zdn@XY8hVQ)OdTiWHZ_p@YvS>Re*4grCO@X#CDfjh_Uqdv?FnFJ{D~BeeS~-V z5&Y%26;p?JY9pUrBRRLL`32jxrSXSCWUILi89ir@F;J`gz)qUKeuY;VG!~l9PT)>{ zeT!SYKQZxkP#a_~?P-yDjL$T)haIgpT*(>_yz=oTCSHqairh@pr-NC=D?aR+4Gh`- z8Z`yjiXKhBG4&0gw!ZKM(bT-o?+P0Vq1Sb}7R^^OPx}I<-Cfk~0aXz7GI_O0=Fk&8 zj*A?2RNi>wAI9cWTU=oRVve^UO7BA5!kTgBYZrW^oc*@1m0G2}=Sg!;2fzN;esI%c zA9B|(M28Nu|8FKfirgIkoB*kB%J@A8ZK3#wp`40!KhbyDRHkNr)RqTik}}X2M9mIT zKPS6j{_-NUF_C?z7DKIdqBPF+$6J0$v^De@Sc7EF{rBE z+d~N7T1}F7SK*+0_NZvjGsf!8P~=uW^*YHddCc!B(t&}!@1bR?yHP+Sdp+}{)@6e^ z_)eH5M3ucEbrE0j@z5Y_f0!Lph@>_!SqF;cXZXqz2Pj+N%K3esgM$mAnL4EZXD41E zN*4zUDt4X3AoOa%z}1(K*;n>{vXJ3t=R9u|FdEthJ8&K@`SQ%U?6aQMOhs

guR{0scXd&A+fIEssWut9c2{~8kmN3FrxxlnO&gfuV61l-z3%Cb*#;?FLD%&}NU zZPXxpaQWjJpRZ{R+FB0WnO|RHd3Xy`-&AV7a2`=wZ!9Euejnt4du~=y zn>bVpQl-6Kk{aHSMy+0Ax&4uXwk&;S{7lVPk()_>Er{-zDHzRYB5I>Q;Yinh@-}S4 zSXXKj3cE;FuUx+D7Zb3kwBdYh+T9PuU1sVKMs16?DdcEg=9Q&+nL!s2r@s0UR=09z zY%;Z$PsV`w)ki4x>Li@`Tm1P(0v>ooovB$lwet0DV5N$L8r&N;mKESzYdi3kTRx0c zo~6hwW^FDBt9!&N?bU%^?~4%}*@v>%uzk{rT8}LpvAS6 zOuQx3rmb!#O8;i^VSkuG=}JqE%dT-($z;bsx~bK>Qbqzb%J|~=L9ke<6*>7$Lz^k-D9jjwVlS8g#XpdrySRTar^QS z2Y;jBw``x>L2dE1$>6kqlF)Ee4dmu$vCo&j;;*rbnRs)l_4(5ePTBSny3Izz)bxv} zy#GWoWpX=Hvscv0o;g8ITM@72U<)O_!?>BspK-{I6U_C@XpSN`HR&7Z;?L5%=J(QG zl1UAyHFT_)7ju+pcLue7j<(?T_XS?5L)w$?h#hxn=p$_NLWQYAG_|<{^NFlsn2>7N zLySMB$&bdDpv#v|FgBaoxUboyHmJAYy015YsRO!MUWkq-vgbu3wVFaMDdCI+YqfX8 z)IC?ewzV7umYihT)t{@#EzqQysQkhS_CD2QwPrDvy>&rCST|D#FKS(^@`=Ai6|Z8T z3#+WE&_7pqp^7s08nuzyHT_kkZ_Ll~r4=?1t!c}}Our{rX=l&P3~EK0^bUKbve4Mp z7mlm=p?e=6qV!k)GV#_?8~&p=w3)o&H}Vc}U~(JM-)JpHeq6yE3+;J|+&oqYU|;qx zf85jocI4`EA+5tit~-i(&md5nx5XB+ev|Hf=YR-mo43ODRr>OOfm;$jAoB7Ov)-cex2kDQp7E6P8Cf;gl8~!qZ zh%7&$Bc_QQ@$JD)`<$??{5)ed0u;FwHkiWlN!~)vUrofI^Bdl}%?p<%vd=AU)b5ZE z2ZI~u`0i^C5Oc$YyU}?J&rI=R>br*8w6DFPd_@j#Y+wNu3mmz`TXW>G6H^(RLTy`q zH7V_LhmV*z1cbPLoU`pL^l=kA&!&Rfu)&u|Y_7QwIN&{LTt5h3kiPZVKalMYD)SY& z`SlT?W8f`b#myc%2N-eO1w&8+T&s(y7VS{{p=5=Ib!oJT6 zp|)b35*YlREqy0p4ypBHIZ^3sfz^m}Om0W0b(%N_7A?^eOgxQ2;|E=o{x1?o*CVDs zlv3N#zk>KKFXMgw9ts~$enm?x$D`(B?EAMKYR&Sy$yRCI@#=xn{_{gxuw!Izq z={xod6m{s?qXK5rPVnV!qaiNbnoH=PA-Bq4pEs9N8>poMDOSh$kcLrUC4H-rdi<=s zn;c+rOQ1Hj!Vkpj)rx7tni(undC_!bP{p@|)JO@153DtJN|A z)PAbv{fz7(4;yfc-VYMhuHRv<)oIigpG+qPJ{m&Wm@mY4!ByFI;Wo-jVaIoBsCAjv z2TY~)Y$88Ykff=vaq+VavY=g#%z2?1sL0LZR|jxea+~*#v<9aaCfu^N_t@2uog*Nl zHs=o|2-}y*cfGfO^uab<{BvEok}rF26i#j6=ot_`_$|M2t2LaS`w;DaY9-Fq+rjkp z2GCkTZlkIC!Si@4Bf9{TXXfawn|)P}6+1(u61@;b+?Kx>{Qr`8rI zZxfF)Hk8^ltts#^ffs_B`hv5|KR9lTn)s~`JD!?EZR{B7JCp~OLV%qw3%?!UlQ?VUIdV$cCqQ z@qruo-d1+(s*BoYY2Rv3Q$rzEJ`_^aPs!XaA#vt7Kc;5ZD-?CuC=LPNlRkpSrdrbQ ztOFOuG|9t;Okw)j5^Br8`GbL;wy;(Do_GJrS!nLXsp8=iJkxGGwHlSfL9;uP4_!Y7 z+FaeZi3k3{NM$C|AAs5j7hgECT~lyL8VL(v12Vmb#2Rl?rri!|6Q@{0y>AwuY~&1E zSC8kG9V*7Z{bItjYZ0W#ZT%t>Fc{?}RJ*j0eW%q$XC+r08G47wEr8m@`F$a~d$JJU zUQ6^HTCwF^M_Hnl8gndmQJY`u10j6`A*8G?gg@9Ly`S$VJ}sNg#G6m8*M22%GM*x2 zO@Bm6-`&N9fA5r~&fm<52s;A^^&rR%fdp_!)p~b{-ncC`fLX_rI^L`fEu+p{)HLTo^j83ufHd9+)^MEuy z5_!+`p&*mq39DTkjxto(|3brHMQ)Zc&7|U`v*7j9L!$ZmI7JhbrL&C zbpLGLGQb3451VtoH}<*f-O6O_W@@E5ctm?X5=_2Uky+)}acGk*l1*XXGh|V#xfGMe z=DU3H)q$`yyAl07B@P|AS;4g1Ky7@}InrR=S6KgJZ%AIRh3?EML|yaPdvLuU6uE^j z@q`fmK5skT9;#)UTzIpQ$gQ``|Nei|liJ)vKvIV{@;cI9X{Y^eq0WWyfjLsf`H^fU?WRLbjD5IHmKlb`2}>*<*YBeGIkK zIvHFfYPZ_>tn->Mbk1Qke?d0dKY*PNqZLAP+jN0MjnflSi@S+^@Cx?=3lZ(W>^wY< zT2H5ukoeMD@YnAmnTB7n*34iWIjElLzw4;2iZurAUJhTEZVO3IT{w5~D4zP+hdCCh z|FwIxH{{ml@#)fjtdTypT-usZ^4weOGh`LDK{cbncUCT6xx^8Iw^(zZf4YrdbZay1 zs;yGwHshu%gyu_oC6DY4s=rs_Is7Ah<08k@%$3@l6Hkar*IC|ru?19)HRJ-yH_L(# zTx8k}qc(ojB=EU1QRq_E1h<+a*!0!_@zOPR4pB0-397eIVy)|G_b5b;ZXj?7Rx)P@3Cs(i|UWAE9|z3pu6J;}Z zCHX$)zOS2Fqo`gGcx8$Zz&|6F{X4PCjRINfvpLN5*Y-z69XzJoAaRe!2<7AINm=PK z{B%_^8nl6Z#tEc0{A4x>n$gKy%2Xlk;ZNwK)mhX~!Hz5Mr#7)#B#ohuc((+KM1Js5n>Zs z2{Ba?0}J~Wh)dj=Yg8PynztN4ul5?h@tQqkydKG2deDToE_}e$S5EE5b$uW}K&<-hZx z?N@DKhnG26Y@CctyPd?HxkDN2PpuL+8!Qgk2yw>-K*pF>x!c2$;-^Y~#_pgtQ12xP z$jRZAQ;os;*HN5a{2f`A(ha7*xzz5srY7xwk;Xe891R^YHk|#aW_eukKE}SHw$PY| zoXwts?}cw%vwWbnbj}ZT=AN&~#q;&;80$rCP~lWCID~}qWoj_+Oak7&puf0s+Crvg z8>!X%I3Jq-P#1Ef_ZUt~B2j4JIMFpxi?JEhmY$yiZEc={m7oHD{&N}U==Bj-Eo7ff z>!|f;5#aI)PH4E(2lBpM#$rxiQT;x9t=0}#mGuFN?ULG7AXO5htUtz|pF6e1%Xxj=DtfouVL zzjKP(SASSRY33!~^olcB8cyIGqVyK{Y(Tcl7Y1kdU+{ggb+rA-Jy8u)cSHf78b&A{y=h{QZP+!3-?kkx=I`P7g zv-obrM1|v<7Jy?AebFRgz%LuBp^xy zzyA?X-GjfFc$ZUaWjqkPYR>Y<<#w>#&53JG^1!V-erId~wMJ6|;M7@VA&L20Zbj6lB~%c-^H=!LW_|D(*pI8}9D|O(V6VTO)LQ3MkdEA9KBLA6);MW$ zCBJ#1c6)a0$|^#U+uS9Z5b(lBXlbt@mfPBJpdVkrz1qc$(=MV`Nf-lW$&w9vOF+F7 zk9!k`Q=hT%?x8j&#R|mUvjx3-tt9huEB-Yl28XX=-vNr$=Du41T}uZE$&Mqz?Y<$Z zz2+|Vj-9~Np`BWnd9xt?sFNW4qYXigHrQ#!2yx7{rHnQEMUh+Qs=;HRI76DJ z(Ax>>1D&`ZLm%LNM(lH89<_^pTnL3H)CHAr3)rT#6$RdwiSFLRn0Q;LO-p}DTFl1_ zZPnGJZE7C&{&N$0{L3gNUgPzO+|(@2kl1%0`7&8w(D#T!AKn0(v4wpW@ujxq%vdmK zlIEFj`ARmgd5!0%T*cdGS~D?hr8atYHc7ZNTBzRqh=c{X;b)68P*Ku$CWahp!*sie zk#`nv5^e@2CFWdxU_e2{2loD~iQ1GwwZyT|cisTb<@G=@_H7<>+@h#W zd^H1FkGKhmaa!Q}H3;h+8zi1FX5Y7DQtNx6h@|~CMhMY;O5CJXa{7(Afaa@iW@4zP zwrzVB@m^^nXsUiByAD^#zeU|aDOSfBs}rfn?eY{m(0b%81Z8)SX47^&@Y`|hyn6`# zzMpwe>y{$zBiwh2P&wie37Xb~Bl@JuYRy+N*R%E1nq9a;lGZo!A-Nhb)B7|U-*OoB zJh{olkVb7auLO?krwSRv8i`i!Q(QUcZ<&AJADDJ)sI^zlA_hI*__zXT9C+~*G;!SD z$Xf?oO?WaWh^#Ocg z#x`VbF^P#coZ7~&$slHV2>OnFp{eZ>HhG{X{YYx7iwoLF@=_%Q+#X9SjaDO;FeC1)`Ollk!d%STKm5SLyp%B!GBF1 z*>^%&jN2=H-qGzP|GwQMYRx{ClUJ`Cgq8tMiTAU^IJ@g_bbo08({35HY9q@?x7okE zvc3TfS@8)4;&9aAQpQ-NO^V!tUg?67-zmQ5oE`YO*l}CW2H-~%**Z8<+fi0a-1^_* z+XW-Y$kE`^-3*c8B*L^CMD73U>fWPr%H9Wnr<){|N>ZsN>88tDl1jb%oQ))Dl8_`# znuf%Lj1ZEhNkXm@lExU4C?tvAefCy_D5OafB}o%fsU{};&icK3*0R6uc;^m>#vbD z@BhG@4;j>&OtB@&2QTpDr<{rULq~2z)E%VtbQF^>p?2`&9qd{sfeOc8VfXjjP=z@E zuG?z~V|%G>ufK$y+x1|O_#cOxfB5?Chjn270`}Up+$^unOm`ef7x&%Cy89L{+@K`L zHU=W)<9{;eSunNrql3ucR3n&UVnj6N?2?A@p2E;3fAsZnOQY6vK{dXvQo*M@7()hp zl(^kupG$2t+b_9Jt(rKWZc9IeG5*i7A@~c~X}JOC?_M&;qLW&?K5_lGQa?Djpc{YG zdxNTvA4g*fbeJ5>w#aL%Pnl0X&UA!7y)YnxPlYVBDKA*L ztp$(xp$KiP;=sCu5zKLGr#AgbC072?0)~fn<2&Nst=&g2f$#*j|7*BaUYn0}0dW{I z9_E^ed$p(TE$c~`C`=!m&(!8et#_Xh3H?Ld<3!7z1n7ElPm=barnWF9hb`0={#%Y~ zbi4Sj0yWZYa|l#<9t9^3-C%4Xwe82R;*9BUcz=TtWG?s(xCUi|=y{clZK3u+w7AB{ za~tS#+JGdsO_N2WNQ7O=Axyq{iSpXIQUXbbgDWhx(jd;y-I2bVq421I{r=!ht#$B6 z98S*j)^DwdBzPQGV}HHOT7w;<6;ExAY6C8BE#o_97!%h=qqtSG#{pRnJKsN#+60Yn z$*OJYFeb^Igw<>WowFrEV!tAjZzHw6KOh|bW(+)F(}$JcZI%ts5`fQ*-i^c?NUtaMY$gnMzzwN#UuEShF0#BfRG1gWzR$0r z)?m?HY;doYcX*~l*4?QS-&u}=;#qY}4kxKq2>1tUB%I>~6s{!>$`mjrUqq`l63UKFSs}>^NB({H6L#w&uO6gU@|QlzymW>)*d`%)hK}5` zyw&LKVb(e%e^Ko3&i2R;5wP9xzxYFWI%HvM9oTnkKiIgF{okSx67m1G{J>liy~zRE zD(R8(Kl)@RUpoj|nlVhi&eZ0w^&>qBQ()mDbrSBp8SM+w6AmVYGB%Rhj-6g4(%?QH zFYZCNdz?Af`en4B(Kv)T9}ZFbQ`a}7^5{94DPtIeef`96K2)m%x!o1Y#BR@ne#_sk>Is#QJ4En8ioUVIC7HO)mkW75H2hdCy0FSWTpyOTFX zK9Do}B(4|v2 zIASKWQ~8Lud}%`SvTvZnmmHb6oz#}b=@W&XJU-vefoyzk&o#`7M)#VQF>%cn%WFGO zGKWMSc+WSc*^`z0Bk*~{M8PD19q$=PZIEyQ_Zlg~$k{5S{gV?o9d!dZE8S$`CR3~Y zNL+W(s)4tTlaO3xWiC0=KoAnWnSTex)W-FXA}61mSdmKrSH_x5ZJdgfaGN0cW25 z##BgchW{n3iHu>utRCFCK1Zf|{3d8v$i5%9Pg#3XH*{TWb zo>+QITgZvxUHd9;R7J6YNo=##Y)75 z`vW!UwV{cC{oj3(TD_NLxO{mFZ#YkjydQG|TvYoVY*|;!#I2)NlG27tRix0m_bINO zaT}%IodX;@hcQ;|J9%xYb3IAzL2sCT_Y=-;s6umwJw+o&vhRf+)TVwHOw108<7~El zL*iaa!OaFBj1Qg2v_lNF86%}6^vZNtqcVh)S5%`fhHsJ4!*3azO>NEQBCNmN2&Up* zEHOPIJ1x|K)}}lr-x_MI8@ute2|SFKJjeanuhFTyULa%=I}ckiLSCCjMFm#4QO8F= z(j_+cn}D18c94Xsn7A&~`e%8O*i+M?twfPDifg)$jd+WceA#@Xs2z-)N5U7|z&P8{ zB)W5(jBIrgeol&FYRjbdb7RD%gAV9ctqfN^s|2;=4%U zTfE@WP&B&uH1KRnWAYuOHoc$;yDhoK=Px!PrRrn3-PXf_vmW~%;ILHQ4vFPO*qJke z220=Lr~|*qR4(2GmX0TxxZ%{^zd4q0Dzjmc<7*t`Jxq}Go1xf5c0S}jYGdjPaGSd> zObr^u;dYf?>)Nh>I}Yq|E2maXI*&Aj4}&hZ#uF5`8z^4&5pMO`Fm2ZVpN%jfg#~B% z9O6jg*SmASTO2`e`8iC!){(Tf<>LRLNKH5`(t>12!$93Faej-9ITJU8+SRs%@JqsVp7JMVFJ3f;g3z$xA#53{#`P@Rj^{ovFek|d#vc;)=H!_(VWYqQ^_?8T; z=;FiP*^{fQYk}r&TS0kc8guXKqE?}+4hPLC=Or4(q*P0p(+t!G(LJS1T=VbcwGFH& z#GdM!(BRe}w(gFXdfj>iq+8g&Q4qD2b(Og7fgSWD?btdg9*wF$1I8{~&%{lkHe6L) z<8EvZFA?WPbr(DVDI;73jl~z4d`qb9$&!+c-@IX^xDRROkJr%FtXA~s;1s5PJE(1a zScUas#r~PN_U@F{ooKG>K`^dxA(Mk~l)SbQ*9%zfl>#i(A4=-Z&H;ZOD*+)+?6(Sk zYQrluN%?|8zIfXNQuHGooc~FmK;2Jx)}#Q`V+<7TLBjDVDIbt zKges#&FaRIC&hfN__WTw4q3{<*@`mQO9$XGh#@i+R`Iok?nn6Q@+vfJ}cG z%GhVr?tW!J>T`2>>2gOB>Nk-ao1TcYt}SJ(_A+^G<@!yS8zO@L8Ha zoc-nqsZI92fIqKPg~<^r#Gz>{cxi$`^FOSOqc-@p*r$JTmN&aGf#@i?a#4@m(L=!g z>p1nF9eo`qq(0@j7bD4#{DzRD(sg+bni5geUd+0ioI3s=TV)IC0SxP_i zPeOgUytd?P!6g0aC>Xy|Tsx#d2gFzd;chAWEcB!{@`xfycq;Dg9AiuJ2B&b#>gLHJ z?wnzASoNPhG@axm@i4VOm2{Qd3X|2@_pBUhn>UqXg&%AA_y>AqY(^_k%HIY) z|H$^`9#WgI@)5rNojX+c*o5OI{eebK*ao^)Co?%HN6Tx=!o^tc+zV4qbqc(icJ?uNj1tu4^;9pK= zqSKEKfk$0)nH-K#8z-)N(7yQ{uPpBQ2==}L_lc8WK4C9&->IUuB-)O&D$Rm9-*@AV zv{&d%&R(Q8Qjy8wGqpu0i?CV4Ab-F>jrjf%4bbC4VE#XQdq`Hu+d=PUFtIbxhLHv1 zNQ2UBVEY~lJ2tTYMIxv*t_>o&j~!up>PQl>qfHi9ZYF%YcQ%v50cz9#Y{!C43E#Nj z8K`c!DVL8j*Zcsr0eTg+G_k2h-bt( z-h6@;89ZmtRjTU9ip&3C+F?GmiXP%vrwv#6-Y-sMS+5H>dt?pTZmQ4NRBF3cb>pC6 zJRGQQ!TJuh$Sutrn5(e;$x>?bq;BM6^9-12^ATtNTZcZV+(Eb7*#7z(YE^qBq+!x5 znEuT_xZ_nb>W(~(q7?Md*VmBADtT?qo3CM?&&~XngpuUxM+}tJ4gu*2_L>i%_Q-Lb zsAX02k&B#2=jAb6=5`}NGIbMkKTD#P+w=^#nwIe;+9pKjiY^yw`B@s2kC=8SqV~Lp z5-DCa9WL{HhWCByL_y-b->jMd=A3M!w)`7qlA4*%Z`^7{q#cf2+~HJNu<>ywuECGA zwuynn)4>T27V41ALsXE7wYji<{XC`}e5tKLb4a14cpVS7Bfm|#4K7~w6!J%~V{a3v z4IPSbhKD7rUGN%9Zulbm+IygD+5skq^VC-PnUO|=0>0&UaZQpqcW&v&6G(Tt4`Z9D zwca>z2jDCA z`-8@6d2K%WszgUu{4eeF3?G83!hmP0)Y`6vInSijCKS#k8r~oI0aNj~)eGR`Jr|*O z#2w~d5=-sPP8FiP-WOW$ZN`Qf?~q%QrF0c9rL& z9p|Pq?NCc?*Dv!)ChF1=aCe9WNgEOg zoOgH$8HyH+b)!~c#0Bj0hXORrR3RIqe8JX)3qbXNz~m53t#B}qZSa!YxW=WL_bt{ZSL6N# z5}gDP;_*McTI~Og z*N|Ob0EDZ%*D~!8Nv+?UYTP)aiccySO;m6<(7fUS4(PM@l0(!AMpH>%9S@I5z_x=@~+TZ7R?g#lO+*!|b=9kJQGU9mI)e&+~N`#*=L6 z1TH5uv26ZEw$Ei3N3YEc39*Zs1y7py;hWBH(OkXLD7%vVW)nuOhxok6*;LA>u682X zBb~WlwstGq9do#6(9eMe;c(wV&@<%0T z9AQoFT{{ih;&>sUR)ev<)IKb+A$rcUVb|$y9OK@P<|O}u@>VG@)^eRZ?wb$8NsLlH zpA~OSH2SA-4V(%R9vx)z4W?G1`xaL9aD>(oZFoz{W|UTy4IVT^Gd7J{{p86cL${pQ z5!<1EygBEsrX*-QJit5yu2Z`)(wt<*7V-h3oru{IFYe{GLi8aDFmXGnjdyOwz4{(7 z^{*zZsC5a=U%eFke9)A!WC&cl^SD)%DZBazESO38dCV=_zhs z;sG07Td=3*1$1IX47lPko{5`GEjOzG$NFi&lR@I%xZAHvXVjbp86D>sTTE@%JZ};? zgo7@+sf~Oxo9K0Q^T|aHr2EuM5GrvMl1Kl++^but zHQRhuoM+j=w;k0W&v$15x4}K2&44!d#33`LI=zEQhi4v{AtbIYwAD|XBwDu z$D7)mC{LoDQ^hZvlbtKci zdDI>-x{G^*@AEY`^vQ?jJ}_V%30i)?!?al=wOo=oCTD~MrcZo{y{GIzJJuftTQ@FY ztmX!JZS^WI@jhEmSZVzf8y4S0>YCwT!cHB=a@0n@cOq)y{*d9r!tX%o4i zngW@{Y<8@V2ek(L0@Bv14o?kQlC<1Sz}C-I*k7c{#Eqdgb(J{B==Chv_{%%|?KWjW zRe2q1-7(0VXW7)&RxBWIO3a~ctGHLjDHG3|O`gJ{J8a*mhFWo-L!5l2m9IRiMQ%4E zu-fhnu>GI4=oB}}Ym@$?L^2o8fc2SwVMW;|l+gIQG_KBpITkL|N)C$ONIizY7I6%x zdFZ!b_2oi9Ua`;lC~D*PyvK%@APi1z!jk3BP_NZkaOmMpCT=FRYJpRUWaU)YSg%Ct z&lRG#3qGMGM*d8j-J!N5s}HMxHx;J-(v0`{{*9F1j0It;*O<72)TWB#Y+}%OnEkf_ zF&JM^77#p9*jc`SiR+LcZ-<~*Z=!u$3XKC)iPFS;l&GsE%nOQPY&f;XH~h%;9dGzr z2Yd1K^xZ*^fy*dC_MLa0sE{u|fMD&>Q0z9F*IFLT4g(e zOT3zSL&cHg$+Jq}G-f~0w`OyYQ5!II0IMy!%s=~LNdlWJI0gHc*B*wl{gN(f(?Jc6 z>zxFZ$GyO*w#ShnzZZ-?;>)yy`4)L?+`r+e)Hd6Q z|7JGm!KiLCvPLo%1P-4jOo?avQ7P0e`*;thk8*(;PA~CMtsE4)@Ha5QA%uxrLT%(N z@!d47gYVfnf^6P-4s7~44>Wvyz}OCI6=D{W*a%ZtX<_IXH8DYy#X`OQRMpAW`c z<+bh8^dd!8-moi5f&BK}HS~JUU&wJPdyn#`)e7TB*&XVYTw&S>V@3NkyXBm5u+FF-yNI+U4@2V>y%aQ?iH}5Q(SK`gs zR%&C#cZTwIZ5Z}J+%tMP2Tu8W3GW}-Gqvd_%4@SY(~WD-UgG;No0Bv}V=i`UwO5io zn}ZLv!Iv-Ks=bC#yWj(MvzZ}V>3bKf(PPh@jnq~qKgB|*2lPyC!5i;AK#Q*J15Wi0 zOuqU5FqS`%&7k z3g#Np-X^atru7YueRY-3K4wm$zBA$~KQ5Nqx?E&(fYj<)JjB5oxA??%BclCbC@1mr z0NR&sF*c6ceG)U0uRa^Pl)o0&r&SbMHcv+WBd^K6K6g%0Yb~DZ?Y^ckx7(N$zMdl0 z7xz}09mjrCsHb+CZUL_I9|})qi{Ce}78o<58bm9yIjASeYm1Bw7RM}Vz-UEFGQV~$ zcz6H^Yg5NDZRSaBYpNGfSX9O9XgHCJ`eV85qdG!m-YBNcR#EFe#EO*b7V|&->p<>X zPvPdwy@`$uwPM;KhuW;Z4xHg%%&##sCx?v2aoo&(QbCtpr{Up$In-Xl$?ij7PL((o z8wP{p({BJ0f0v1?yj@;fN!S2B@_8y$p8O2gh{uNl0h=Oy0ojid!b;|`RboGKlx<(T7U`?I_@vr~<@ zc9|P&3~$9z6N}K?`AJ}L8ar<>lv?htcz?+Jlh0h_NOJ6SxM}^SLgG(7*S@~qc2k=> z@)9=g9|OxX-{WOB%w;p?p9h&8N15X${AW*#V};)p^VZ{?Nt=obH?O}PS^5t!`Swto znc+uDYbV2LaA^YFo zO0l(wRKGIEk~@{S$5fpvAO90=1G@8MdgfgpD`e;;?<5Xv#?e z1YF(2*z?q;EVn1t$FK0o? zF0K{dH$~XL&4$Uhf!fqlMOeG$U;e;FHKG}^3A{Ec2T8r`e;kc8d2I^InsDd_cbIkj zIlfVpi%Om^1dngA{dFm|xxbvlF|nF3bk%2^YP3~)`))PZc$Ix-#Zo(Ml^aPPDCapO zA>QSqxu4H|LTgU!V$R z7uQan4i95Um5C|DicLtD{!ne9~8S@WzGjTYJK7-5aVmJ zVEx1QSZXzhDr)zkA17!r?Hf()?u;p9&Ab?!MeXM@D-!T! zHZ;rY!p;xBpunIlsKJZf59L0!dY(a~^Pn}%F&aZ+Ur&(5hT03JFW7P03hDCN8slE! zH$B(*-YQe#G0%jHA6F&y+r@sfai+HL;05fWIt-r36W4q49|HRH?}M-)_8t{UZDi(T z5($|{+2)Vb^=))+yi<}P8Lq`S+cLMA-i4j zc4+sUPfT9gL)p7gBrx=btYfW%u(^@FhQg@jmR-RPePf}SQzzyWAIN^OsRTaR$HCWe zGpLnZkm1363z%W|1`ih5panH(uI9zKVn0Uh}EhBgpf(lc0aiG0^*qDS3Frj zL&BLH+NlkH;2^H`Ev`{h-G{>l-=Tt+$I*vLqZn(LA+JsLbOZ?)A+FiEs|DAdZ$!b7 pMlwO&keT1@M{WF+J{;au$d~t9km4maTw(lvuO#IQOuk!0`+u(Y^Z)<= literal 0 HcmV?d00001 diff --git a/tools/war-of-galaxies/json_examples b/tools/war-of-galaxies/json_examples.txt similarity index 100% rename from tools/war-of-galaxies/json_examples rename to tools/war-of-galaxies/json_examples.txt diff --git a/tools/war-of-galaxies/server.cpp b/tools/war-of-galaxies/server.cpp deleted file mode 100644 index 37007ef..0000000 --- a/tools/war-of-galaxies/server.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* - * server.cpp - * - * Created on: May 6, 2016 - * Author: Bernd Doser - */ - -#include -#include /* Added for the nonblocking socket */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -struct sockaddr_in; - -using namespace std; - -#define SERVER_PORT htons(50007) -#define BACKLOG 10 -#define BUFFERSIZE 1024 - -int main() { - - char buffer[BUFFERSIZE]; - int sockfd = socket(AF_INET, SOCK_STREAM, 0); - if (sockfd == -1) { - perror("socket"); - exit(1); - } - - int last_fd = sockfd; - - sockaddr_in serverAddr; - serverAddr.sin_family = AF_INET; - serverAddr.sin_port = SERVER_PORT; - serverAddr.sin_addr.s_addr = INADDR_ANY; - - /* bind (this socket, local address, address length) - bind server socket (sockfd) to server address (serverAddr). - Necessary so that server can use a specific port */ - if (bind(sockfd, (struct sockaddr*)&serverAddr, sizeof(struct sockaddr)) == -1) { - perror("bind"); - exit(1); - } - - // wait for a client - /* listen (this socket, request queue length) */ - if (listen(sockfd, BACKLOG) == -1) { - perror("listen"); - exit(1); - } - - sockaddr_in clientAddr; - socklen_t sin_size = sizeof(struct sockaddr_in); - int new_fd = accept(sockfd, (struct sockaddr*)&clientAddr, &sin_size); - if (new_fd == -1) perror("accept"); - - fcntl(new_fd, F_SETFL, O_NONBLOCK); - fcntl(last_fd, F_SETFL, O_NONBLOCK); - - for(;;) { - for (int i = sockfd; i <= last_fd; ++i) { - std::cout << "Round number " << i << std::endl; - if (i != sockfd) { - sin_size = sizeof(struct sockaddr_in); - if ((new_fd = accept(sockfd, (struct sockaddr *)&clientAddr, &sin_size)) == -1) - perror("accept"); - printf("server: got connection from %s\n", inet_ntoa(clientAddr.sin_addr)); - fcntl(new_fd, F_SETFL, O_NONBLOCK); - last_fd = new_fd; - } - else { - std::cout << "Wait for message ... " << std::endl; - int n = recv(new_fd, buffer, sizeof(buffer), 0); - if (n < 1) { - perror("recv - non blocking \n"); - printf("Round %d, and the data read size is: n=%d \n",i,n); - } - else { - buffer[n] = '\0'; - printf("The string is: %s \n", buffer); - if (send(new_fd, "Hello, world!\n", 14, 0) == -1) - perror("send"); - } - } - } - sleep(1); - } -} diff --git a/tools/war-of-galaxies/test.py b/tools/war-of-galaxies/test.py deleted file mode 100644 index 6fbb858..0000000 --- a/tools/war-of-galaxies/test.py +++ /dev/null @@ -1,4 +0,0 @@ -import fileinput - -for line in fileinput.input(): - print line From ac293956258e3dd66104bf4c88a843aec2a8ff1c Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 19 Dec 2017 12:59:04 +0100 Subject: [PATCH 69/78] cleanup to run Bonsai without war-of-galaxies part --- runtime/CMakeLists.txt | 19 +++++++++++----- runtime/include/thrust_war_of_galaxies.h | 5 +---- runtime/src/gpu_iterate.cpp | 12 +--------- runtime/src/renderloop.cpp | 25 ++++++++++++--------- tools/war-of-galaxies/client_interactive.py | 2 ++ tools/war-of-galaxies/client_json.py | 2 ++ 6 files changed, 34 insertions(+), 31 deletions(-) mode change 100644 => 100755 tools/war-of-galaxies/client_interactive.py mode change 100644 => 100755 tools/war-of-galaxies/client_json.py diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index a6a5f5b..e9442f3 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -1,3 +1,5 @@ + + CMAKE_MINIMUM_REQUIRED(VERSION 2.8) option(CUDA_VERBOSE_PTXAS @@ -126,9 +128,6 @@ set (CCFILES src/sort_bodies_gpu.cpp src/log.cpp src/hostConstruction.cpp - src/Galaxy.cpp - src/read_tipsy_file_parallel.cpp - src/WOGManager.cpp src/tipsyIO.cpp ) @@ -152,7 +151,6 @@ set (CUFILES CUDAkernels/timestep.cu CUDAkernels/depthSort.cu CUDAkernels/dev_direct_gravity.cu - CUDAkernels/war_of_galaxies.cu ) if (COMPILE_SM35) @@ -288,8 +286,19 @@ endif (USE_OPENGL) if (WAR_OF_GALAXIES) add_definitions(-DWAR_OF_GALAXIES) - add_definitions("-std=gnu++11") + add_definitions("-std=c++11") include_directories(${CMAKE_SOURCE_DIR}/extern/jsoncons/include) + set (CCFILES ${CCFILES} + src/Galaxy.cpp + src/read_tipsy_file_parallel.cpp + src/WOGManager.cpp + ) + set (CUFILES ${CUFILES} + CUDAkernels/war_of_galaxies.cu + ) + if (USE_THRUST) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DTHRUST_DEBUG") + endif() endif (WAR_OF_GALAXIES) #The SSE support for the local tree walks diff --git a/runtime/include/thrust_war_of_galaxies.h b/runtime/include/thrust_war_of_galaxies.h index c8474bb..9295756 100644 --- a/runtime/include/thrust_war_of_galaxies.h +++ b/runtime/include/thrust_war_of_galaxies.h @@ -5,13 +5,10 @@ * Author: Bernd Doser */ -#ifndef THRUST_WAR_OF_GALAXIES_H_ -#define THRUST_WAR_OF_GALAXIES_H_ +#pragma once #include /// Remove particles behind visualization sphere extern "C" void remove_particles(tree_structure &tree, real deletion_radius_square, my_dev::dev_mem &user_particles, int number_of_users); - -#endif /* THRUST_WAR_OF_GALAXIES_H_ */ diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index 898b83a..f516380 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -59,15 +59,6 @@ void octree::makeLET() #endif } -extern void read_tipsy_file_parallel(vector &bodyPositions, vector &bodyVelocities, - vector &bodiesIDs, float eps2, string fileName, - int rank, int procs, int &NTotal2, int &NFirst, - int &NSecond, int &NThird, octree *tree, - vector &dustPositions, vector &dustVelocities, - vector &dustIDs, int reduce_bodies_factor, int reduce_dust_factor, const bool restart) ; -extern int setupMergerModel(vector &bodyPositions1, vector &bodyVelocities1, - vector &bodyIDs1, vector &bodyPositions2, - vector &bodyVelocities2, vector &bodyIDs2); void octree::iterate_setup() { @@ -591,7 +582,6 @@ bool octree::iterate_once(IterationData &idata) { } #ifndef WAR_OF_GALAXIES - std::cout << "hey" << std::endl; if (iter >= iterEnd) return true; if(t_current >= tEnd) @@ -1166,7 +1156,7 @@ double octree::compute_energies(tree_structure &tree) if(mpiGetRank() == 0) { -#if 1 +#ifdef WAR_OF_GALAXIES LOG("iter=%d : time= %lg Etot= %.10lg Ekin= %lg Epot= %lg : de= %lg ( %lg ) d(de)= %lg ( %lg ) t_sim= %lg sec\n", iter, this->t_current, Etot, Ekin, Epot, de, de_max, dde, dde_max, get_time() - tinit); LOGF(stderr, "iter=%d : time= %lg Etot= %.10lg Ekin= %lg Epot= %lg : de= %lg ( %lg ) d(de)= %lg ( %lg ) t_sim= %lg sec\n", diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index b84f24a..a26b288 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -31,7 +31,10 @@ #include "paramgl.h" #include "depthSort.h" #include "tr.h" + +#ifdef WAR_OF_GALAXIES #include "WOGManager.h" +#endif float TstartGlow; float dTstartGlow; @@ -315,14 +318,14 @@ class BonsaiDemo BonsaiDemo(octree *tree, octree::IterationData &idata, std::string const& wogPath, int wogPort, real wogCameraDistance, real wogDeletionRadiusFactor) : m_tree(tree), m_idata(idata), iterationsRemaining(true), -// m_renderer(tree->localTree.n + tree->localTree.n_dust), +// m_renderer(tree->localTree.n + tree->localTree.n_dust), m_renderer(tree->localTree.n, MAX_PARTICLES), - //m_displayMode(ParticleRenderer::PARTICLE_SPRITES_COLOR), - m_displayMode(SmokeRenderer::VOLUMETRIC), +// m_displayMode(ParticleRenderer::PARTICLE_SPRITES_COLOR), + m_displayMode(SmokeRenderer::VOLUMETRIC), m_ox(0), m_oy(0), m_buttonState(0), m_inertia(0.2f), m_paused(false), m_renderingEnabled(true), - m_displayBoxes(false), + m_displayBoxes(false), m_displaySliders(false), m_displayCursor(1), m_cursorSize(0.5), @@ -332,16 +335,16 @@ class BonsaiDemo m_octreeMinDepth(0), m_octreeMaxDepth(3), m_flyMode(false), - m_fov(60.0f), - m_nearZ(0.2), - m_screenZ(450.0), + m_fov(60.0f), + m_nearZ(0.2), + m_screenZ(450.0), #ifdef WAR_OF_GALAXIES - m_farZ(1000), + m_farZ(1000), #else - m_farZ(2000), + m_farZ(2000), #endif - m_IOD(4.0), - m_stereoEnabled(false), //SV TODO Must be false, never make it true + m_IOD(4.0), + m_stereoEnabled(false), //SV TODO Must be false, never make it true m_supernova(false), m_overBright(1.0f), m_params(m_renderer.getParams()), diff --git a/tools/war-of-galaxies/client_interactive.py b/tools/war-of-galaxies/client_interactive.py old mode 100644 new mode 100755 index e2882b1..5dce700 --- a/tools/war-of-galaxies/client_interactive.py +++ b/tools/war-of-galaxies/client_interactive.py @@ -1,3 +1,5 @@ +#!/usr/bin/python + import json import socket import sys diff --git a/tools/war-of-galaxies/client_json.py b/tools/war-of-galaxies/client_json.py old mode 100644 new mode 100755 index cd552b8..031447e --- a/tools/war-of-galaxies/client_json.py +++ b/tools/war-of-galaxies/client_json.py @@ -1,3 +1,5 @@ +#!/usr/bin/python + import json import socket import sys From 8aa4ba5aeed288e2d6bfbc789025b5d8371d3bcc Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 19 Dec 2017 13:14:39 +0100 Subject: [PATCH 70/78] go back to original fullscreen option --- runtime/include/renderloop.h | 3 +-- runtime/src/main.cpp | 44 ++++++++++++++++-------------------- runtime/src/renderloop.cpp | 21 +++++++++-------- 3 files changed, 31 insertions(+), 37 deletions(-) diff --git a/runtime/include/renderloop.h b/runtime/include/renderloop.h index fb8f08f..baae4d1 100644 --- a/runtime/include/renderloop.h +++ b/runtime/include/renderloop.h @@ -6,8 +6,7 @@ extern float TstartGlow; extern float dTstartGlow; -void initGL(int argc, char** argv, const char *gameModeString, bool &stereo, bool fullscreen); - +void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo); void initAppRenderer(int argc, char** argv, octree *tree, octree::IterationData &idata, bool showFPS, bool stereo, std::string const& wogPath, int wogPort, diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index b98a602..7df6360 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -210,7 +210,7 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) int rebuild_tree_rate = 1; int reduce_bodies_factor = 1; int reduce_dust_factor = 1; - std::string gameModeString = ""; + string fullScreenMode = ""; bool direct = false; bool fullscreen = false; bool displayFPS = false; @@ -302,12 +302,11 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) #endif ADDUSAGE(" --direct enable N^2 direct gravitation [" << (direct ? "on" : "off") << "]"); #ifdef USE_OPENGL - ADDUSAGE(" --fullscreen set fullscreen"); - ADDUSAGE(" --gameMode # set game mode string"); - ADDUSAGE(" --displayfps enable on-screen FPS display"); - ADDUSAGE(" --Tglow # enable glow @ # Myr [" << TstartGlow << "]"); - ADDUSAGE(" --dTglow # reach full brightness in @ # Myr [" << dTstartGlow << "]"); - ADDUSAGE(" --stereo enable stereo rendering"); + ADDUSAGE(" --fullscreen # set fullscreen mode string"); + ADDUSAGE(" --displayfps enable on-screen FPS display"); + ADDUSAGE(" --Tglow # enable glow @ # Myr [" << TstartGlow << "]"); + ADDUSAGE(" --dTglow # reach full brightness in @ # Myr [" << dTstartGlow << "]"); + ADDUSAGE(" --stereo enable stereo rendering"); #endif #ifdef GALACTICS ADDUSAGE(" --milkyway # use Milky Way model with # particles per proc"); @@ -369,10 +368,9 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) #endif opt.setFlag("direct"); #ifdef USE_OPENGL - opt.setFlag("fullscreen"); - opt.setOption("gameMode"); - opt.setOption("Tglow"); - opt.setOption("dTglow"); + opt.setOption( "fullscreen"); + opt.setOption( "Tglow"); + opt.setOption( "dTglow"); opt.setFlag("displayfps"); opt.setFlag("stereo"); #endif @@ -402,10 +400,6 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) if (opt.getFlag("log")) ENABLE_RUNTIME_LOG = true; if (opt.getFlag("prepend-rank")) PREPEND_RANK = true; #endif -#if USE_OPENGL - if (opt.getFlag("fullscreen")) fullscreen = true; -#endif - char *optarg = NULL; if ((optarg = opt.getValue("infile"))) fileName = string(optarg); if ((optarg = opt.getValue("bonsaifile"))) bonsaiFileName = std::string(optarg); @@ -440,9 +434,9 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) if ((optarg = opt.getValue("camera-distance"))) wogCameraDistance = atof(optarg); if ((optarg = opt.getValue("del-radius-factor"))) wogDeletionRadiusFactor = atof(optarg); #if USE_OPENGL - if ((optarg = opt.getValue("gameMode"))) gameModeString = string(optarg); - if ((optarg = opt.getValue("Tglow"))) TstartGlow = (float)atof(optarg); - if ((optarg = opt.getValue("dTglow"))) dTstartGlow = (float)atof(optarg); + if ((optarg = opt.getValue("fullscreen"))) fullScreenMode = string(optarg); + if ((optarg = opt.getValue("Tglow"))) TstartGlow = (float)atof(optarg); + if ((optarg = opt.getValue("dTglow"))) dTstartGlow = (float)atof(optarg); dTstartGlow = std::max(dTstartGlow, 1.0f); #endif if (bonsaiFileName.empty() && fileName.empty() && nPlummer == -1 && nSphere == -1 && nMilkyWay == -1 && nCube == -1) @@ -456,12 +450,12 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) ::exit(0); } - /// WarOfGalaxies: Deactivate unneeded flags if WarOfGalaxies path will be used - if (!wogPath.empty()) { - throw_if_flag_is_used(opt, {{"direct", "restart", "displayfps", "diskmode", "stereo", "prepend-rank"}}); - throw_if_option_is_used(opt, {{"plummer", "milkyway", "mwfork", "sphere", "dt", "tend", "iend", - "snapname", "snapiter", "rmdist", "valueadd", "rebuild", "reducebodies", "reducedust", "gameMode"}}); - } +#ifdef WAR_OF_GALAXIES + /// WarOfGalaxies: Deactivate unneeded flags using WarOfGalaxies + throw_if_flag_is_used(opt, {{"direct", "restart", "displayfps", "diskmode", "stereo", "prepend-rank"}}); + throw_if_option_is_used(opt, {{"plummer", "milkyway", "mwfork", "sphere", "dt", "tend", "iend", + "snapname", "snapiter", "rmdist", "valueadd", "rebuild", "reducebodies", "reducedust", "gameMode"}}); +#endif #undef ADDUSAGE } @@ -507,7 +501,7 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) #ifdef USE_OPENGL // create OpenGL context first, and register for interop - initGL(argc, argv, gameModeString.c_str(), stereo, fullscreen); + initGL(argc, argv, fullScreenMode.c_str(), stereo); cudaGLSetGLDevice(devID); //TODO should this not be renderDev? #endif diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index a26b288..d350a31 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -690,7 +690,9 @@ class BonsaiDemo glRotatef(m_cameraRotLag.x, 1.0, 0.0, 0.0); glRotatef(m_cameraRotLag.y, 0.0, 1.0, 0.0); glRotatef(m_cameraRoll, 0.0, 0.0, 1.0); - //glRotatef(90.0f, 1.0f, 0.0f, 0.0f); // rotate galaxies into XZ plane +#ifndef WAR_OF_GALAXIES + glRotatef(90.0f, 1.0f, 0.0f, 0.0f); // rotate galaxies into XZ plane +#endif } glGetFloatv(GL_MODELVIEW_MATRIX, m_modelView); @@ -1122,9 +1124,12 @@ class BonsaiDemo float distanceToCenter = radius / sinf(0.5f * fovRads); - //m_cameraTrans = center + make_float3(0, 0, -distanceToCenter*0.2f); +#ifdef WAR_OF_GALAXIES m_cameraTrans = make_float3(0, 0, -m_wogManager.get_camera_distance()); printf("camera trans %f %f %f \n",m_cameraTrans.x, m_cameraTrans.y, m_cameraTrans.z); +#else + m_cameraTrans = center + make_float3(0, 0, -distanceToCenter*0.2f); +#endif #if 0 /* JB This came with stereo, seems to break rotation */ @@ -1849,7 +1854,7 @@ void idle(void) glutPostRedisplay(); } -void initGL(int argc, char** argv, const char *gameMode, bool &stereo, bool fullscreen) +void initGL(int argc, char** argv, const char *fullScreenMode, bool &stereo) { // First initialize OpenGL context, so we can properly set the GL for CUDA. // This is necessary in order to achieve optimal performance with OpenGL/CUDA interop. @@ -1862,9 +1867,9 @@ void initGL(int argc, char** argv, const char *gameMode, bool &stereo, bool full else glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE); - if (gameMode[0]) { - printf("gameMode: %s\n", gameMode); - glutGameModeString(gameMode); + if (fullScreenMode[0]) { + printf("fullScreenMode: %s\n", fullScreenMode); + glutGameModeString(fullScreenMode); if (glutGameModeGet(GLUT_GAME_MODE_POSSIBLE)) { int win = glutEnterGameMode(); } else { @@ -1875,10 +1880,6 @@ void initGL(int argc, char** argv, const char *gameMode, bool &stereo, bool full //glutInitWindowSize(1024, 768); glutInitWindowSize(WINDOWW, WINDOWH); glutCreateWindow("Bonsai Tree-code Gravitational N-body Simulation"); - if (fullscreen) { - glutFullScreen(); - glutDisplayFunc(display); - } } //Make sure we got stereo if we asked for it, this must happen after glutCreateWindow From eae87ae40a71846204f4f1e6ba2c3ead167fc0b3 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 19 Dec 2017 13:42:24 +0100 Subject: [PATCH 71/78] more cleanup to run Bonsai without war-of-galaxies part --- runtime/CMakeLists.txt | 5 ++--- runtime/include/WOGManager.h | 2 +- runtime/src/gpu_iterate.cpp | 5 ++++- runtime/src/renderloop.cpp | 12 ++++++++---- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index e9442f3..d90423d 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -83,9 +83,8 @@ endif (USE_MPI) if (USE_THRUST) add_definitions(-DUSE_THRUST) - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DTHRUST_DEBUG") -# include_directories(${CUDA_TOOLKIT_ROOT_DIR}/../../thrust) endif (USE_THRUST) +include_directories(${CUDA_TOOLKIT_ROOT_DIR}/../../thrust) if (USE_CUB) add_definitions(-DUSE_CUB) @@ -151,7 +150,7 @@ set (CUFILES CUDAkernels/timestep.cu CUDAkernels/depthSort.cu CUDAkernels/dev_direct_gravity.cu -) + ) if (COMPILE_SM35) set (CUFILES diff --git a/runtime/include/WOGManager.h b/runtime/include/WOGManager.h index 6e2a93c..a4bf0fc 100644 --- a/runtime/include/WOGManager.h +++ b/runtime/include/WOGManager.h @@ -1,5 +1,5 @@ /* - * WOGSocketManager.h + * WOGManager.h * * Created on: May 11, 2016 * Author: Bernd Doser diff --git a/runtime/src/gpu_iterate.cpp b/runtime/src/gpu_iterate.cpp index f516380..db465d0 100644 --- a/runtime/src/gpu_iterate.cpp +++ b/runtime/src/gpu_iterate.cpp @@ -1,7 +1,10 @@ #undef NDEBUG #include "octree.h" #include "postProcessModules.h" + +#ifdef WAR_OF_GALAXIES #include "thrust_war_of_galaxies.h" +#endif #include #include @@ -228,7 +231,7 @@ void octree::removeGalaxy(int user_id) void octree::removeParticles(real deletion_radius_square, my_dev::dev_mem &user_particles, int number_of_users) { -#ifdef USE_THRUST +#if defined WAR_OF_GALAXIES && defined USE_THRUST user_particles.h2d(); remove_particles(this->localTree, deletion_radius_square, user_particles, number_of_users); diff --git a/runtime/src/renderloop.cpp b/runtime/src/renderloop.cpp index d350a31..5d116c2 100644 --- a/runtime/src/renderloop.cpp +++ b/runtime/src/renderloop.cpp @@ -30,6 +30,7 @@ #include "timer.h" #include "paramgl.h" #include "depthSort.h" + #include "tr.h" #ifdef WAR_OF_GALAXIES @@ -354,10 +355,10 @@ class BonsaiDemo m_cameraRoll(0.0f), #ifdef WAR_OF_GALAXIES m_enableStats(false), + m_wogManager(tree, wogPath, wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor), #else m_enableStats(true), #endif - m_wogManager(tree, wogPath, wogPort, 1024, 768, m_fov, m_farZ, wogCameraDistance, wogDeletionRadiusFactor), m_densityRange(100) { m_windowDims = make_int2(WINDOWW, WINDOWH); @@ -1105,8 +1106,9 @@ class BonsaiDemo m_renderer.setFOV(m_fov); m_renderer.setWindowSize(m_windowDims.x, m_windowDims.y); - +#ifdef WAR_OF_GALAXIES m_wogManager.reshape(w, h); +#endif fitCamera(); glMatrixMode(GL_MODELVIEW); @@ -1126,7 +1128,6 @@ class BonsaiDemo #ifdef WAR_OF_GALAXIES m_cameraTrans = make_float3(0, 0, -m_wogManager.get_camera_distance()); - printf("camera trans %f %f %f \n",m_cameraTrans.x, m_cameraTrans.y, m_cameraTrans.z); #else m_cameraTrans = center + make_float3(0, 0, -distanceToCenter*0.2f); #endif @@ -1164,7 +1165,6 @@ class BonsaiDemo glMatrixMode(GL_PROJECTION); glLoadIdentity(); - std::cout << "m_fov = " << m_fov << std::endl; gluPerspective(m_fov, (float) m_windowDims.x / (float) m_windowDims.y, 0.0001 * distanceToCenter, @@ -1520,8 +1520,10 @@ class BonsaiDemo ParamListGL *m_colorParams; ParamListGL *m_params; // current +#ifdef WAR_OF_GALAXIES /// Managing class for WarOfGalaxies WOGManager m_wogManager; +#endif // saved cameras struct Camera { @@ -1850,7 +1852,9 @@ void special(int key, int x, int y) void idle(void) { +#ifdef WAR_OF_GALAXIES theDemo->m_wogManager.execute(); +#endif glutPostRedisplay(); } From aaaac0243dc74f6e5f1e35fd515e5f78b96ac6de Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Tue, 19 Dec 2017 14:28:52 +0100 Subject: [PATCH 72/78] docu --- tools/war-of-galaxies/README.md | 29 +++++++++++-- tools/war-of-galaxies/client_interactive.py | 46 --------------------- 2 files changed, 25 insertions(+), 50 deletions(-) delete mode 100755 tools/war-of-galaxies/client_interactive.py diff --git a/tools/war-of-galaxies/README.md b/tools/war-of-galaxies/README.md index 97d5855..0349bdf 100644 --- a/tools/war-of-galaxies/README.md +++ b/tools/war-of-galaxies/README.md @@ -1,11 +1,18 @@ War of galaxies =============== - - Installation ------------ +Before the compilation the git submodule must be updated with + +``` +git submodule init +git submodule update +``` + +Compile with + ``` cmake \ -DCMAKE_BUILD_TYPE=release \ @@ -15,6 +22,7 @@ cmake \ -DUSE_THRUST=ON \ -DWAR_OF_GALAXIES=ON \ +make -j ``` Usage @@ -24,8 +32,21 @@ Starting Bonsai with ``` ./bonsai2_slowdust \ - -i /war-of-galaxies/galaxy_types/dummy.tipsy \ + -i /tools/war-of-galaxies/galaxy_types/dummy.tipsy \ --war-of-galaxies /tools/war-of-galaxies/galaxy_types/available ``` -will show a empty simulation with a single dummy particle. +will show an empty simulation. In trues there is a single dummy particle at +position (0,0,10000) with zero mass, because Bonsai can not run without any +particles. The release or removal of galaxies will be controlled by json +commands. Therefore, you can start the python script: + +``` +/tools/war-of-galaxies/client_json.py +``` + +Please find examples of json commands at + +``` +/tools/war-of-galaxies/json_examples.txt +``` diff --git a/tools/war-of-galaxies/client_interactive.py b/tools/war-of-galaxies/client_interactive.py deleted file mode 100755 index 5dce700..0000000 --- a/tools/war-of-galaxies/client_interactive.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/python - -import json -import socket -import sys - -HOST = 'localhost' -PORT = 50008 -BUFFERSIZE = 1024 - -s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) -s.connect((HOST, PORT)) - -while 1: - - send_data = {} - - while not('task' in send_data and (send_data['task'] == 'release' or send_data['task'] == 'remove' or send_data['task'] == 'report')): - send_data['task'] = raw_input("Which task? ['release', 'remove', 'report']: ") - - if send_data['task'] == 'release' or send_data['task'] == 'remove': - - while not('user_id' in send_data and send_data['user_id'] >= 1 and send_data['user_id'] <= 4): - send_data['user_id'] = int(raw_input("Which user? [1-4]: ")) - - if send_data['task'] == 'release': - - while not('galaxy_id' in send_data and send_data['galaxy_id'] >= 1 and send_data['galaxy_id'] <= 4): - send_data['galaxy_id'] = int(raw_input("Which galaxy? [1-4]: ")) - - while not('angle' in send_data and send_data['angle'] >= 0.0 and send_data['angle'] <= 90.0): - send_data['angle'] = float(raw_input("Which angle? [0 <= angle <= 90]: ")) - - while not('velocity' in send_data and send_data['velocity'] >= 0.0 and send_data['velocity'] <= 100.0): - send_data['velocity'] = float(raw_input("Which velocity? [0 <= velocity <= 100]: ")) - - send_data_json = json.dumps(send_data) - print "Send data:", send_data_json - s.send(send_data_json) - - recv_data_json = s.recv(BUFFERSIZE) - print "Received data:", recv_data_json - -s.shutdown(socket.SHUT_RDWR) -s.close() - From 20efc1a099c7af27f6ad9fed5678c022572c211e Mon Sep 17 00:00:00 2001 From: Volker Gaibler Date: Thu, 25 Jan 2018 14:05:20 +0100 Subject: [PATCH 73/78] Fix: Use center-of-mass velocity for steady galaxy --- runtime/src/Galaxy.cpp | 17 ++++++++++------- runtime/src/main.cpp | 16 +++++++++------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/runtime/src/Galaxy.cpp b/runtime/src/Galaxy.cpp index fd41188..92379fa 100644 --- a/runtime/src/Galaxy.cpp +++ b/runtime/src/Galaxy.cpp @@ -28,17 +28,20 @@ real4 Galaxy::getCenterOfMass() const real4 Galaxy::getTotalVelocity() const { + real mass; real4 result = make_real4(0.0, 0.0, 0.0, 0.0); - for (auto const& v : vel) + for (int i = 0; i < vel.size(); i++) { - result.x += v.x; - result.y += v.y; - result.z += v.z; + mass = pos[i].w; + result.x += mass * vel[i].x; + result.y += mass * vel[i].y; + result.z += mass * vel[i].z; + result.w += mass; } - result.x /= vel.size(); - result.y /= vel.size(); - result.z /= vel.size(); + result.x /= result.w; + result.y /= result.w; + result.z /= result.w; return result; } diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index 7df6360..bb201f7 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -773,16 +773,18 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) // get total velocity real4 total_velocity = make_real4(0.0, 0.0, 0.0, 0.0); - for (auto const& v : bodyVelocities) + for (int i = 0; i < bodyVelocities.size(); i++) { - total_velocity.x += v.x; - total_velocity.y += v.y; - total_velocity.z += v.z; + mass = bodyPositions[i].w; + total_velocity.x += mass * bodyVelocities[i].x; + total_velocity.y += mass * bodyVelocities[i].y; + total_velocity.z += mass * bodyVelocities[i].z; + total_velocity.w += mass; } - total_velocity.x /= bodyVelocities.size(); - total_velocity.y /= bodyVelocities.size(); - total_velocity.z /= bodyVelocities.size(); + total_velocity.x /= total_velocity.w; + total_velocity.y /= total_velocity.w; + total_velocity.z /= total_velocity.w; // shift center of mass to position (0,0,10000) for (auto &p : bodyPositions) From bc34ebc1d95b5da0bbc01ff0d0327f96346cf85d Mon Sep 17 00:00:00 2001 From: Volker Gaibler Date: Thu, 25 Jan 2018 14:24:52 +0100 Subject: [PATCH 74/78] Renaming related to total_velocity fix Includes minor whitespace fix --- runtime/include/Galaxy.h | 6 ++-- runtime/src/Galaxy.cpp | 12 ++++---- runtime/src/WOGManager.cpp | 56 +++++++++++++++++++------------------- runtime/src/main.cpp | 34 +++++++++++------------ 4 files changed, 54 insertions(+), 54 deletions(-) diff --git a/runtime/include/Galaxy.h b/runtime/include/Galaxy.h index 16059b6..6d5d555 100644 --- a/runtime/include/Galaxy.h +++ b/runtime/include/Galaxy.h @@ -18,13 +18,13 @@ struct Galaxy /// Center of mass real4 getCenterOfMass() const; - /// Total Velocity - real4 getTotalVelocity() const; + /// Center-of-mass Velocity + real4 getCenterOfMassVelocity() const; /// Move center of mass to origin (0,0,0) void centering(); - /// Remove total velocity + /// Remove center-of-mass velocity void steady(); /// Move center of the galaxy diff --git a/runtime/src/Galaxy.cpp b/runtime/src/Galaxy.cpp index 92379fa..132a3ab 100644 --- a/runtime/src/Galaxy.cpp +++ b/runtime/src/Galaxy.cpp @@ -13,7 +13,7 @@ real4 Galaxy::getCenterOfMass() const real4 result = make_real4(0.0, 0.0, 0.0, 0.0); for (auto const& p : pos) { - mass = p.w; + mass = p.w; result.x += mass * p.x; result.y += mass * p.y; result.z += mass * p.z; @@ -26,7 +26,7 @@ real4 Galaxy::getCenterOfMass() const return result; } -real4 Galaxy::getTotalVelocity() const +real4 Galaxy::getCenterOfMassVelocity() const { real mass; real4 result = make_real4(0.0, 0.0, 0.0, 0.0); @@ -58,12 +58,12 @@ void Galaxy::centering() void Galaxy::steady() { - real4 total_velocity = getTotalVelocity(); + real4 center_of_mass_velocity = getCenterOfMassVelocity(); for (auto &v : vel) { - v.x -= total_velocity.x; - v.y -= total_velocity.y; - v.z -= total_velocity.z; + v.x -= center_of_mass_velocity.x; + v.y -= center_of_mass_velocity.y; + v.z -= center_of_mass_velocity.z; } } diff --git a/runtime/src/WOGManager.cpp b/runtime/src/WOGManager.cpp index 027d680..0b5e8a3 100644 --- a/runtime/src/WOGManager.cpp +++ b/runtime/src/WOGManager.cpp @@ -79,34 +79,34 @@ void WOGManager::read_galaxies(std::string const& path) { for (int i = 0;; ++i) { - std::string filename = path + "/galaxy_type_" + std::to_string(i) + ".tipsy"; - if (access(filename.c_str(), F_OK) == -1) break; - std::cout << "Read file " << filename << " into GalaxyStore." << std::endl; - - Galaxy galaxy; - int Total2 = 0; - int NFirst = 0; - int NSecond = 0; - int NThird = 0; - - read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, - 0.0, filename.c_str(), 0, 1, Total2, NFirst, NSecond, NThird, nullptr, - galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); - - real4 cm = galaxy.getCenterOfMass(); - std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; - real4 tv = galaxy.getTotalVelocity(); - std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; - - galaxy.centering(); - galaxy.steady(); - - cm = galaxy.getCenterOfMass(); - std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; - tv = galaxy.getTotalVelocity(); - std::cout << "Total_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; - - galaxies.push_back(galaxy); + std::string filename = path + "/galaxy_type_" + std::to_string(i) + ".tipsy"; + if (access(filename.c_str(), F_OK) == -1) break; + std::cout << "Read file " << filename << " into GalaxyStore." << std::endl; + + Galaxy galaxy; + int Total2 = 0; + int NFirst = 0; + int NSecond = 0; + int NThird = 0; + + read_tipsy_file_parallel(galaxy.pos, galaxy.vel, galaxy.ids, + 0.0, filename.c_str(), 0, 1, Total2, NFirst, NSecond, NThird, nullptr, + galaxy.pos_dust, galaxy.vel_dust, galaxy.ids_dust, 1, 1, false); + + real4 cm = galaxy.getCenterOfMass(); + std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; + real4 tv = galaxy.getCenterOfMassVelocity(); + std::cout << "Center_of_mass_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; + + galaxy.centering(); + galaxy.steady(); + + cm = galaxy.getCenterOfMass(); + std::cout << "Center of mass = " << cm.x << " " << cm.y << " " << cm.z << std::endl; + tv = galaxy.getCenterOfMassVelocity(); + std::cout << "Center_of_mass_velocity = " << tv.x << " " << tv.y << " " << tv.z << std::endl; + + galaxies.push_back(galaxy); } } diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index bb201f7..30ad3d6 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -759,32 +759,32 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) for (auto const& p : bodyPositions) { - mass = p.w; - center_of_mass.x += mass * p.x; - center_of_mass.y += mass * p.y; - center_of_mass.z += mass * p.z; - center_of_mass.w += mass; + mass = p.w; + center_of_mass.x += mass * p.x; + center_of_mass.y += mass * p.y; + center_of_mass.z += mass * p.z; + center_of_mass.w += mass; } center_of_mass.x /= center_of_mass.w; center_of_mass.y /= center_of_mass.w; center_of_mass.z /= center_of_mass.w; - // get total velocity - real4 total_velocity = make_real4(0.0, 0.0, 0.0, 0.0); + // get center-of-mass velocity + real4 center_of_mass_velocity = make_real4(0.0, 0.0, 0.0, 0.0); for (int i = 0; i < bodyVelocities.size(); i++) { mass = bodyPositions[i].w; - total_velocity.x += mass * bodyVelocities[i].x; - total_velocity.y += mass * bodyVelocities[i].y; - total_velocity.z += mass * bodyVelocities[i].z; - total_velocity.w += mass; + center_of_mass_velocity.x += mass * bodyVelocities[i].x; + center_of_mass_velocity.y += mass * bodyVelocities[i].y; + center_of_mass_velocity.z += mass * bodyVelocities[i].z; + center_of_mass_velocity.w += mass; } - total_velocity.x /= total_velocity.w; - total_velocity.y /= total_velocity.w; - total_velocity.z /= total_velocity.w; + center_of_mass_velocity.x /= center_of_mass_velocity.w; + center_of_mass_velocity.y /= center_of_mass_velocity.w; + center_of_mass_velocity.z /= center_of_mass_velocity.w; // shift center of mass to position (0,0,10000) for (auto &p : bodyPositions) @@ -797,9 +797,9 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) // steady for (auto &v : bodyVelocities) { - v.x -= total_velocity.x; - v.y -= total_velocity.y; - v.z -= total_velocity.z; + v.x -= center_of_mass_velocity.x; + v.y -= center_of_mass_velocity.y; + v.z -= center_of_mass_velocity.z; } #endif float sTime = 0; From 1fdd357c48ac9815db68ac8ebb54185ec4be5250 Mon Sep 17 00:00:00 2001 From: Volker Gaibler Date: Thu, 25 Jan 2018 14:45:17 +0100 Subject: [PATCH 75/78] Re-allow some command options Options/flags "displayfps", "dt" and "reducebodies" are actually useful with WOG. --- runtime/src/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index 30ad3d6..652a4e6 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -452,9 +452,9 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) #ifdef WAR_OF_GALAXIES /// WarOfGalaxies: Deactivate unneeded flags using WarOfGalaxies - throw_if_flag_is_used(opt, {{"direct", "restart", "displayfps", "diskmode", "stereo", "prepend-rank"}}); - throw_if_option_is_used(opt, {{"plummer", "milkyway", "mwfork", "sphere", "dt", "tend", "iend", - "snapname", "snapiter", "rmdist", "valueadd", "rebuild", "reducebodies", "reducedust", "gameMode"}}); + throw_if_flag_is_used(opt, {{"direct", "restart", "diskmode", "stereo", "prepend-rank"}}); + throw_if_option_is_used(opt, {{"plummer", "milkyway", "mwfork", "sphere", "tend", "iend", + "snapname", "snapiter", "rmdist", "valueadd", "rebuild", "reducedust", "gameMode"}}); #endif #undef ADDUSAGE From 61563c24c32aa84fca9455e99a6fab4b90bceaa3 Mon Sep 17 00:00:00 2001 From: Volker Gaibler Date: Thu, 25 Jan 2018 15:21:38 +0100 Subject: [PATCH 76/78] Update README.md of WOG --- tools/war-of-galaxies/README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/war-of-galaxies/README.md b/tools/war-of-galaxies/README.md index 0349bdf..b065cf9 100644 --- a/tools/war-of-galaxies/README.md +++ b/tools/war-of-galaxies/README.md @@ -21,7 +21,7 @@ cmake \ -DUSE_CUB=OFF \ -DUSE_THRUST=ON \ -DWAR_OF_GALAXIES=ON \ - + /runtime/ make -j ``` @@ -38,7 +38,13 @@ Starting Bonsai with will show an empty simulation. In trues there is a single dummy particle at position (0,0,10000) with zero mass, because Bonsai can not run without any -particles. The release or removal of galaxies will be controlled by json +particles. + +Actual galaxies are located or symlinked in +`/tools/war-of-galaxies/galaxy_types/available`, with the naming +scheme identifying the galaxy numbering. + +The release (insertion) or removal of galaxies will be controlled by json commands. Therefore, you can start the python script: ``` From d24904269f90e3c5b649aebfd6798c769d612d7c Mon Sep 17 00:00:00 2001 From: Volker Gaibler Date: Thu, 25 Jan 2018 17:30:15 +0100 Subject: [PATCH 77/78] Fix compiler warning --- runtime/src/Galaxy.cpp | 2 +- runtime/src/main.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/src/Galaxy.cpp b/runtime/src/Galaxy.cpp index 132a3ab..41a8e92 100644 --- a/runtime/src/Galaxy.cpp +++ b/runtime/src/Galaxy.cpp @@ -30,7 +30,7 @@ real4 Galaxy::getCenterOfMassVelocity() const { real mass; real4 result = make_real4(0.0, 0.0, 0.0, 0.0); - for (int i = 0; i < vel.size(); i++) + for (size_t i = 0; i < vel.size(); i++) { mass = pos[i].w; result.x += mass * vel[i].x; diff --git a/runtime/src/main.cpp b/runtime/src/main.cpp index 652a4e6..df153a3 100644 --- a/runtime/src/main.cpp +++ b/runtime/src/main.cpp @@ -773,7 +773,7 @@ int main(int argc, char** argv, MPI_Comm comm, int shrMemPID) // get center-of-mass velocity real4 center_of_mass_velocity = make_real4(0.0, 0.0, 0.0, 0.0); - for (int i = 0; i < bodyVelocities.size(); i++) + for (size_t i = 0; i < bodyVelocities.size(); i++) { mass = bodyPositions[i].w; center_of_mass_velocity.x += mass * bodyVelocities[i].x; From 498439960c58b557dcb9191ac1fc8e99d2d2c037 Mon Sep 17 00:00:00 2001 From: Bernd Doser Date: Fri, 26 Jan 2018 12:41:18 +0100 Subject: [PATCH 78/78] Add Jenkinsfile for continuous integration (#3) * add Jenkinsfile for continuous integration * add missing parenthesis to jenkinsfile * correct jenkinsfile * update git submodules using jenkins --- tools/war-of-galaxies/Jenkinsfile | 47 +++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 tools/war-of-galaxies/Jenkinsfile diff --git a/tools/war-of-galaxies/Jenkinsfile b/tools/war-of-galaxies/Jenkinsfile new file mode 100644 index 0000000..b9744aa --- /dev/null +++ b/tools/war-of-galaxies/Jenkinsfile @@ -0,0 +1,47 @@ +#!groovy + +pipeline { + agent { + docker { + image 'bernddoser/docker-devel-cpp:cuda-9.1-devel-cmake-3.10' + } + } + stages { + stage('Build') { + steps { + sh ''' + git submodule init + git submodule update + mkdir -p build + cd build + cmake -DCMAKE_BUILD_TYPE=release \ + -DUSE_OPENGL=ON \ + -DUSE_MPI=OFF \ + -DUSE_CUB=OFF \ + -DUSE_THRUST=ON \ + -DWAR_OF_GALAXIES=ON \ + ../runtime/ + make 2>&1 |tee make.out + ''' + } + post { + always { + step([ + $class: 'WarningsPublisher', canComputeNew: false, canResolveRelativePaths: false, + defaultEncoding: '', excludePattern: '', healthy: '', includePattern: '', messagesPattern: '', + parserConfigurations: [[parserName: 'GNU Make + GNU C Compiler (gcc)', pattern: 'build/make.out']], + unHealthy: '' + ]) + } + } + } + } + post { + success { + mail to: 'bernd.doser@h-its.org', subject: "SUCCESS: ${currentBuild.fullDisplayName}", body: "All fine." + } + failure { + mail to: 'bernd.doser@h-its.org', subject: "FAILURE: ${currentBuild.fullDisplayName}", body: "Failed." + } + } +}

kH_(Zk9<+h@ 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%0DY$`nC>M997c1=bre&4D~ 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%0Avpia6_nZ>;TO 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

dRU5_YC>|(=pt9RK7w|`UGKp(=9S@ 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