Compare commits
110 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2b656c2959 | |||
| a0e54c0e18 | |||
| a1f3e04fad | |||
| 517515e94e | |||
| 594aa8311e | |||
|
|
a3d6c2899b | ||
|
|
c16e99cc3e | ||
|
|
f2e36d35e4 | ||
| ed7de8af4e | |||
| 2cce331a67 | |||
| f03632c56e | |||
| 6387b41f9b | |||
| b3aa4d088a | |||
| 0d287113e1 | |||
| d27ab62114 | |||
| 4e2a5c48c6 | |||
| dde9ac61f8 | |||
| 4b98d00faf | |||
| 8ab4238537 | |||
| 7b82fcbf07 | |||
| ddb5f4b76e | |||
| c0f46db50a | |||
| 54c82d579a | |||
| 0d9643c3c1 | |||
| efa08e4330 | |||
| a901e7ecb3 | |||
| 34799c5814 | |||
| 60534ebef4 | |||
| 4a24f6fc29 | |||
| a6451d0261 | |||
| 466b2cd7fc | |||
|
|
8ff5072d5b | ||
|
|
4476b5ccae | ||
|
|
f3bebaeb26 | ||
| 406769da27 | |||
| b4d796d8be | |||
| 2a13f63fcc | |||
|
|
24e41a0e59 | ||
| 0c5509a426 | |||
| 952e7ae65d | |||
| 01b665d82c | |||
| 4ce3f53171 | |||
|
|
c7f2afe3c2 | ||
| b452ef347d | |||
| f7c677f498 | |||
| f328a4a692 | |||
| 52882667e4 | |||
| 82c667cfd0 | |||
| 19222cd855 | |||
| fe15f059e4 | |||
| d1d259a854 | |||
| 455b3f384e | |||
| a43a547631 | |||
| ebbfc484b4 | |||
| 5415afe264 | |||
| 2522bc6af5 | |||
| 75acf12c3c | |||
| 4ba70853cb | |||
| 89d3d51c6b | |||
| 2772c3aaba | |||
| fe75f2c6ca | |||
| e7e719bc84 | |||
| 238d501ac4 | |||
| 9b2fd4eff3 | |||
| f2b08887c7 | |||
| aa109ad2fe | |||
| 9e0acf0893 | |||
| 1c44fdb182 | |||
| 8dd2e386fb | |||
| 3ce889524b | |||
| 83d6d66172 | |||
| 4e2c6bb81e | |||
| 2ab2e47850 | |||
| 2a2ad69a44 | |||
| 8d346cce31 | |||
| 736f2392e2 | |||
| 3ef1b559b3 | |||
| 7116bf14c1 | |||
| 2221d27fc3 | |||
| b09f8e0d49 | |||
| c8e9ea1925 | |||
| 7871019a13 | |||
| 2eb10b5b4b | |||
| 36527a9cb5 | |||
| 6d40c45135 | |||
| 7c71d8a0e9 | |||
|
|
90d034d148 | ||
|
|
c3298613c2 | ||
| b990d147e6 | |||
| 645dc130f4 | |||
| a06f7653c5 | |||
| bfe586ee2e | |||
| 4dab164e27 | |||
| ca0284692b | |||
| 33499ed0ea | |||
| 4b3453fe72 | |||
| b0abac8352 | |||
| c8ca0e32ad | |||
| 360b740220 | |||
|
|
90a25f6163 | ||
|
|
8170fc1194 | ||
| 3953527795 | |||
| b7c246b3f6 | |||
| d1df6a2a05 | |||
| a641194b29 | |||
| 317e576300 | |||
| 4db649b478 | |||
|
|
8a00f2e6bf | ||
| 18920cee6e | |||
| d50d5a6af3 |
@@ -1,7 +1,7 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
message("Using CMake ${CMAKE_VERSION}\n")
|
message("Using CMake ${CMAKE_VERSION}\n")
|
||||||
|
|
||||||
project(MPS LANGUAGES CXX)
|
project(MTD LANGUAGES CXX)
|
||||||
|
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
set(CMAKE_AUTOUIC ON)
|
set(CMAKE_AUTOUIC ON)
|
||||||
@@ -21,7 +21,7 @@ endif()
|
|||||||
|
|
||||||
include(cmake/CommonInfoForProject.cmake)
|
include(cmake/CommonInfoForProject.cmake)
|
||||||
|
|
||||||
common_info_for_project(MPS)
|
common_info_for_project(MTD)
|
||||||
|
|
||||||
find_package(Qt5 COMPONENTS Widgets REQUIRED)
|
find_package(Qt5 COMPONENTS Widgets REQUIRED)
|
||||||
find_package(Qt5 COMPONENTS Network REQUIRED)
|
find_package(Qt5 COMPONENTS Network REQUIRED)
|
||||||
@@ -33,11 +33,11 @@ find_package(Qt5 COMPONENTS Concurrent REQUIRED)
|
|||||||
add_subdirectory(LibDataBaseInterface)
|
add_subdirectory(LibDataBaseInterface)
|
||||||
add_subdirectory(LibInstructorsAndTrainees)
|
add_subdirectory(LibInstructorsAndTrainees)
|
||||||
add_subdirectory(LibServer)
|
add_subdirectory(LibServer)
|
||||||
add_subdirectory(ProgramAWSinstructorMPS)
|
add_subdirectory(ProgramAWSinstructorMTD)
|
||||||
add_subdirectory(ProgramServerMPS)
|
add_subdirectory(ProgramServerMTD)
|
||||||
|
|
||||||
add_dependencies(InstructorsAndTrainees DataBaseInterface)
|
add_dependencies(InstructorsAndTrainees DataBaseInterface)
|
||||||
add_dependencies(Server DataBaseInterface)
|
add_dependencies(Server DataBaseInterface)
|
||||||
add_dependencies(Server InstructorsAndTrainees)
|
add_dependencies(Server InstructorsAndTrainees)
|
||||||
add_dependencies(ProgramAWSinstructorMPS InstructorsAndTrainees)
|
add_dependencies(AWSinstructorMTD InstructorsAndTrainees)
|
||||||
add_dependencies(ProgramServerMPS Server)
|
add_dependencies(ServerMTD Server)
|
||||||
|
|||||||
@@ -74,14 +74,8 @@ UnityClient
|
|||||||
ServerLMS ^EJX4eIpX
|
ServerLMS ^EJX4eIpX
|
||||||
|
|
||||||
Mainthread:
|
Mainthread:
|
||||||
*serverLMS
|
*ServerLMSWidget
|
||||||
*dataParser
|
^ite9vjus
|
||||||
*MultiThreadServer
|
|
||||||
*processingSystem
|
|
||||||
*commonClientHandler
|
|
||||||
*chatSystem
|
|
||||||
*processParser
|
|
||||||
*docsUpdater ^ite9vjus
|
|
||||||
|
|
||||||
|
|
||||||
ClientHandler: Thread
|
ClientHandler: Thread
|
||||||
@@ -96,7 +90,7 @@ UpdateThread:
|
|||||||
*updateController
|
*updateController
|
||||||
*assetsManager
|
*assetsManager
|
||||||
*docsUpdater
|
*docsUpdater
|
||||||
|
*cfiController
|
||||||
^ZvWgIkFz
|
^ZvWgIkFz
|
||||||
|
|
||||||
Client QT ^sWMT4y6l
|
Client QT ^sWMT4y6l
|
||||||
@@ -315,6 +309,15 @@ SEND DOCS ^iM67vAqM
|
|||||||
|
|
||||||
потому что по умолчанию он больше не пересылается ^WR3pLokt
|
потому что по умолчанию он больше не пересылается ^WR3pLokt
|
||||||
|
|
||||||
|
ServerThread:
|
||||||
|
*providerDBLMS
|
||||||
|
*dataParser
|
||||||
|
*MultiThreadServer
|
||||||
|
*processingSystem
|
||||||
|
*commonClientHandler
|
||||||
|
*chatSystem
|
||||||
|
*processParser ^UjfEZdiN
|
||||||
|
|
||||||
%%
|
%%
|
||||||
## Drawing
|
## Drawing
|
||||||
```compressed-json
|
```compressed-json
|
||||||
@@ -464,438 +467,446 @@ mXqdbZebjLl6FeEKtB42RlHmbpIepnBV45kYAKVGXR5UfV5Mw1UTxC1RUkNMD2QIjs2AkezJvIF0Rm5l
|
|||||||
|
|
||||||
6DRDFhvxlBRISn7TemPnUGZ+9Ttn7k+rWhrK50fss6zOG2cpnTeyYWqX49OmdDbJl0Y/i7H6yNYVNr1yt/jHKjaTAeQEP+XTvZqeaDfubgAgVuGJ7MAyzKQCuyBMB/7kB6WjNpDa82nlpLa8PEjwVhgzghDOxrse7FGynsb1r6iPsSbL+xudIHFOyJmgHKGyYcfqGxyHADppRxM8jHGoAccc6wJxScSnFpxGcYlo9xaWlNoZas2r1rWaBcQVrFx4
|
6DRDFhvxlBRISn7TemPnUGZ+9Ttn7k+rWhrK50fss6zOG2cpnTeyYWqX49OmdDbJl0Y/i7H6yNYVNr1yt/jHKjaTAeQEP+XTvZqeaDfubgAgVuGJ7MAyzKQCuyBMB/7kB6WjNpDa82nlpLa8PEjwVhgzghDOxrse7FGynsb1r6iPsSbL+xudIHFOyJmgHKGyYcfqGxyHADppRxM8jHGoAccc6wJxScSnFpxGcYlo9xaWlNoZas2r1rWaBcQVrFx4
|
||||||
|
|
||||||
oUgHoA8YRpFoBWkepbv66zqMFM+6omXEuxvsm7EexXsbXHL+vsQ3FNxwca3HtxTfp3HdxfTtHFLyscdZpDxycSxijxHAJnETxEclPG5x2WnPGLaC8SXGF2fEmZFmGFkeZY8+GAhjF2RDzpQQ4xT1ETi98T0uL7Le6kiuFkxxuMuBoM5uDMDwkcAGcFWBW3gzHhRlkhcHdu0UbC79u+3ozYG+gGjsQRYpiBpAUhWLrBg3em0NpDJwpiPyCj65jqE7
|
oUgHoA8YRpFoBWkepbv66zqMFM+6omXEuxvsm7EexXsbXHL+vsQ3FNxwca3HtxTfp3HdxfTtHFLyscdZpDxycSxijxHAJnETxEclPG5x2WnPGLaC8SXGF2fEmZFmGFkeZY8+GAhjF2RDzh/Q4xbKp0Bc6flNm5AMy3upIrhZMcbjLgaDObgzA8JHABnBVgVt4Mx4UZZIXB3btFGwu/bvt6M2BvoBo7EEWKYgaQFIVi6wYN3ptDaQycKYj8go+uY6
|
||||||
|
|
||||||
Eu+Ud+HwcMQcVGvkf7GHSN2fVlu7XGu7laCJwZoDFjHeRYCo5syKuORBA8usde7ohnUZiFw+xsQNFAx8bux5hcKQLgBFEy4ACD0AuAFMDzepADMA5o5mAcBoJHxhgKGcjEXhBYRMvi7gDAyei8CSAwOugylKB6MwBGALuECCEAcAFAAKgZwuxC8+biSBA/Go4ex6fA6YCRHCeVuNKZLs1QPpJAgiQKbh24puKujHq4EHElf87iYBCeJGklbgPAC7
|
hOxLvlHfh8HDEHFRr5H+xh0jdn1Zbu1xru5WgicGaAxYx3kWAqObMirjkQQPLrHXu6IZ1GYhcPsbEDRQMfG7seYXCkC4ARRMuAAg9ALgBTA83qQAzAOaOZgHA6CR8YYChnIxF4QWETL4u4AwMnovAkgMDroMpSgejMARgC7hAghAHABQACoGcLsQvPu4kgQPxqOHsenwOmAkRwnlbjSmS7NUD6SQIIkCm4duKbirox6uBDxJX/B4mAQXiRpJW4Dw
|
||||||
|
|
||||||
MuD6AB6CkBAgRRBQBTAnwHURCAoqo6C3AjSrRFjh9ERACMRzEQbbDRQrmwicmODttYY+krtwAV6GMLUgNwrEPhgb4iokJYNOjsRIBvATAC0BW4AIFKptB48psmkA2ybsnLxM0oypx2tPkuHDmwwe64jyu8dhKHJxyXskRu/YaAmc+ECWdJWR5HlXaYxqAMhCrBmGFZBIs19uL608mNqUbS+Gkt4m+J/iWbhoMQSSElhJESVEkxJRCQ4FL2R4Svbk
|
AuzLg+gAegpAQIEUQUAUwJ8B1EQgKKqOgtwI0q0RY4fREQAFSSBBVJWBtgADAWktuRLebAPEBoMiQC7gzAXuI4Be4LwM4C5ucSW4nlJiScxEG2w0Q3BKg8mHMBSQE0SmqkhbGpK7cAFehjC1IDcKxD4YG+IqJCWDTo7ESAbwEwAtAVuACBSqbQePKvJpAO8mfJy8TNKMqcdrT5Lhw5sMHuuI8rvHYSvyf8lfJEbv2GgJnPhAlnSVkeR5V2mMcyre
|
||||||
|
|
||||||
JWvpQkuBm9vC472iLpfAGgeVo2CLJ1NPvgYYJKZMA0onUKFDIIUsc74ROoIXLF/hmGCeDGsdKbdDuw/NrhaD6qQIyKgIj0JMAB+9IpGaXgmkJZC4smhrkER+d7t1GheT7rmIReJsUtZoOIye/L6g6oGAg5mFTpNEJe16DNGkOs/C8rzRFmItHYJuCfgmEJHxlaybRXYHmCfIVNB9hEI08NvzHRp0ZfSl4JAr5AygGFpXAvKsIPdEfRj0fCDPRwHs
|
cCCTyYgwj3Ex7ZKtPJjalG0vhpI+JfiQElm4aDMEmhJ4SZEnRJsScQkOBS9keEr2FCVr5UJLgZvbwuO9oi6XwBoHlaNgtydTQme2MtKB3h2MFhBPAH2JMpSxzvhE6ghcsX+G8AKEJ76msGMJpBikfvp4KeSchrTBkQSEPDDAODIjLSaQlkLiyaGuQRH53u3UaF5PuuYhF4mxS1mg67JtyK3wcsMoMck762jntakOs/C8rzRFmItE4JeCQQlEJHxl
|
||||||
|
|
||||||
akheHxmam5Ai0WoAIADwPQBLoW0XhAbRW0Wwy3em2IkjDws0O/K8JymJ6mPoyQHdDhQWGI+KaCdlral3RD0fTjPRhTNWQ66Z1jl5QeBur9Gtpiblip0kr1ih6ACCkBoz8KaEKxA8pgsYvBagAqSKkkwQNvJhIx4Nh16Q2EuvG68+MCYN4naRYLgK0eFYieBEk/guL5CAnkdhHxpiacmnOJYOqt4HhYUXYERR2KY4GKedjpeHoK14fqanQefPcaHK
|
aybRXYHmCfIVNB9hEI08NvzHRp0ZfSl4JAr5AygGFpXAvKsIPdEfRj0fCDPRwHn6kheHxoGm5Ai0WoAIADwPQBLoW0XhAbRW0Wwy3em2IkjDws0O/J8JymCmmPoyQHdDhQWGI+KaCdlhGl3RD0fTjPRhTNWQ66Z1jl5QeBur9ELpiblip0kr1ih6AC0+mqnnQGqZMq8sLUL8TBQw/Bi5GpSMeDYdekNhLrxuvPjAmDemRsTCrBoDv7Afq40YbzZK
|
||||||
|
|
||||||
nBIhoCMTwKkDD8UyD56zQ3nA74U6TvgGDvervqymiJNtiZBagNptrT4YnVpVF5WnOjbBzAqVAhHaJSEeIpR+2IUUE9MRidhHQphAH4kBJ8KcEmhJ4SZEnRJvSaUmYqgyQYTpmmqS4KckOeObacRBqRoq2GIkWsk9B6wACBs86gEaLEAOYRwAAAVGEBHJTADslvArssJl2YuAMGhsYYmdJkAgY4APR1EkgAJmPJTANJlZoz4MyAZMbwDAB2gWQNJl
|
QgJ5HYRVaTWl1pLiWDqreB4WFF2BEUeymOBinnY6Xh6CteH6mREPKDcQpYL3zUIoRGKlSQ6LBaQTKoCONTHhAia94Bg73q75KpYiVooKQkkN+w5WLXt6qLcrMvSKT6NsHMCpUCETolIR4ilH7YhRQT0zGJ2EeSmEA/iYEnUpISWEkRJUSTEl9JZSZiqMR2yemZupf9L/RepVQdbHnJGfjoqPJDsT0HrAAIGzzqARosQA5hHAAABUsKUwAfJbwHej
|
||||||
|
|
||||||
6AAaJwAzmFmN8DWAxAMEDpxImRuj7gBmUZn6A2mViBiAM4PJksAWmSJnEAz4MwD7kd3MTHuMBrhIC8Zf4OpmacQmaJlbJEmbsnSZsmZ5mKZImcpn4AqmRFl1MmmXZnCZOme5msA4GE5knALmfZnGE5mR2ZQAVmSsC2ZJmZICOZhmYVmuZumR5kKZ3mTJl+ZAWY7RBZWzGpGzSa8YMFXJ9Prcm+KekdhJhZuQOlmCZ0mWJlPJ8WfuByZzWVlkpZaW
|
KAf1DGFyR2Eupl/gkgFpk6Z+mW8mGZnySZlmZvYT0FqRs0mvGDBYKfT6QpvinpGWZGmTZmacdmQZmkARmc5lQA5mcZHSBCRsilmWqKVAnrCGKbAkXJpoA+nlUlEEJHi+2wFL4GBewesCmJ5iZYnWJtiY6D2JjidkDOJ9MaDKspGvszGUJO3tQl7e7gQd7PBzgLJDYwPgbPiNg6jJ6nYyNeIQTJKbsDNCjCcqbhku+ohkVHwaUeJxBBIe9nGSsQ7j
|
||||||
|
|
||||||
RpkxZWWTll6Z+WXVnGZxWWZkcAFmbkAVZNmS1kOZAdJtlFZ2WW5nMgiWS1m+Z2AP5mBZUwVG7Dq5kWZafJUCesI/JsCdeJ3SagTkamsyBITGhc2wFL4GBewesAmJZiRYlWJNiY6B2JDidkBOJ9MaDKYpGvszEUJO3lQl7e7gQd7PBzgLJBLEJjDliY6oiBvgYYNeIQTJKbsDNDYQ3Cs94kyYTkylRBwiUVHwaJUYnC4Y6oLXBYQSEF0C4WkyAkBa
|
rhZ72VptKk1gnwQD5sy6LrSxPAJXJanh+vmYBI9RvjH1EfKTqcUE7JWQlJkKQx3lOHm2nEQl7XoM0SWlzR8rMGm4J+CbcCEJ60ZGlNpooJ74gW0qBFA7w7bC8onRZ0RVypAptkkDowcIuiI5pY6fmkTpp2eDapeMnKWnIxb2cbiSAy4EUTbkzAJ8CfAk3jmnPgf2c4D+If9JeARYAHLDBPoyaRDlJAicJMC0EKNrpDKkDqXJzTpFDgWkNM30e/z3
|
||||||
|
|
||||||
wKMocTaQ6tAyLoutLE8AlcMqeH6DZgEj1G+MfUR8qqpxQcMmlBBIXKDjJyfpMnVBe1pGlzR8rBak4JeCbcAEJ60XanppooJ74gW0qBFA7w7bC8onRZ0RVypAptkkDowcIuiKBp1aSGm1pCueDapeMnPBLvREHsibUOP0bQ7tp8Hmrw4mGEX/z4mbDqDHOA3WOzm58Q6dznmMZQHzlnKKGtRHC5M6Y5xzppHgumjhS6Xc6fZImABn3O9dsCYcyXSI
|
W+Xn9HLpT1qV5rpAAnipGQs2VqDzZ2kItnyO+MJCEj6HJE3ayQK2M7oIC56aR6Xpo4del3OKWYoYRQD6axBcJHsOfbi+avMSmd2ACjjl45BOUTnVZxBozHHhJCRymNZXKbr4DufKdMCJRpEJeBcw/lBwa0U8wBh4hwWEBtjw5/CXfZhO8qVEEiJU2c1Yh8HsE7AoQxsAyw6kFGZ3wax6QS4KYQESAxkdRTGdy5Gxy+uhEsOmEaJAy+qSQgDpJ4wJ
|
||||||
|
|
||||||
bzZKavOCmd2ACpIDLgRRNuTMAnwJ8CTeaKajlI5lNkzHXpfSqzExR96Qi43hmOnZArEjwJqB9YlaeUCk51MDpB8YbgnBFpRgGY6b32IGS76iGzOc1Yh8HsE7AoQxsAyw6k3ql8RqGgfi4KYQESGhkdRGGdy5Gxy+uhEsOmEaJAy+KSQgBpJ4wBkmYAWSTkl5JBSUUlUZriWUkJJQyfRm3hD4phBThLGfqlTJ5Ibbb2xuPr6yuye2eVnWZtmWgBqZ
|
kmYA2Sbkn5JhScUkiZGyWJmJJniRXkaShWRYlWJNiXYkOJ6aJVm/pdEQkko5HGTL41JdSQ0lNJLSW0kdJXST0mR66yUlmbJ3xhJmCu12bdDaCW1mK4Y+CmbbFKZWfrj6+srsjOYWY3wNYDEAwQKQBoAdREFl1MrsrplhAKwG8AwAdoFkBP5gQHoAd0R9G/kf5+gE/mCA3mLTyV06omfkdmUAJfkrAN+XfkP5xAEAWSc/+ScCAFemd/lsAv+cHTIF
|
||||||
|
|
||||||
AmZNmScBWVtnCZgQHoAd0R9PgVnZggN5i08ldOqKoFZWQdmYFqANgWacuBSsBkF0mUQVsAJBcHRsFImRQW4gtPF1ltyq8UEbP6G8as5bxIwfkJjBNBbtl0FGBUwBYF42SwXEAPBYQUIAxBW2bcFp2ZNnastPGLyvJQBsuZyBRedZEdpN0hXmwJ5YhthzwGkOL464egVjYg57HgCDYAAwFpLbkS3mwDxAaDIkAu4MwF7iOAXuC8DOAubucHnpJCZe
|
n+XpnAFuILTxbM7mcCnP6G8as5bxIwfkJjB4BRwDn5uQNAXX5TAHAVaZiBa/nv5KBV/kIAP+W2ZYFbBTgXP52rLTxi8iKUAbLmcgdrnWRwudXZaKWQbekOWihph7V6iFK+lAMOuHoFY2eWex4AgYyRMlTJMyXMkLJSySslrJTKfVk1ZlNkzEgZfSqzExREGQi43hktpFhU5sRF+zmmU0KkAZudGQGqaBoUiE5R5gidLEFRssYSLyxBHD9iEQgiA9
|
||||||
|
|
||||||
lkJ4RTino5eKbr4DuRKQLAl4CmAjFkWFhehijA8oDpCPw6qCuq16jKVvnMphUeBks5r5DhDk0NYBiyWgLsJUiVRrEAhAu5XOp6YwUFCqLmzwNLpRC35+sTomGxf5HLlfGyqQtZK5RTiMnG2WabgKwFKaqSHTRaupGn5er0SmpB5uus2mh57/Pdb5ef0WYWIeXach4ACeKmUDlFwHEWD2Q1RcBzp5HEKpCNFexHJAtFeea7rUq86V159Jy6dOHKBb
|
ANgSmDu6eCJkP2l3IAHJHDD86tAyJXJu4kKn55+sbomGxf5MdlfGHOTH5FOrqTPDyYj0pbHbWPqUl4vZAaVjnrAIaZ9nfZDab9ldg5OZDBHumkB1Yc2wyOYz05aSonAF8lkOnAyQmqJ1BFpaORfyvZ6QotFFEq6GgyEAXuHACm4I+Y2ktF/iBHD0wKcNpBkwL6R8bg5vCgaqlgY0Y4UlgLiPNZTpxTNzn3886Xl4peBXvzlFeAMTSTPWZXv0wgxj
|
||||||
|
|
||||||
kQglVAjFLxBdAa4kpJfU/AiTH6BVhhpJFEq6GgyEAXuHACm4J6bdFnpNwRenI59gb3k3pdwXekPBHMfFFSgrzlfICsGoGRCqoz8vPlEg2MM7mwwfpnNBr5fCXfb05hRYzn4iu+ZS7fCYwD4LX22MHBkb4u7u8WNRP9rhyIYSdFLmcicqV1EoR5Gk/nDFUXqMUEh4xRNFTFU0TKKZqtsToqrJDsdxkSAVuJwXKATAEwV1MUWeqXKAmpUFnUF2EnqU
|
BBTTi08MDvDJSPcODDqwAQoVhapyRaemOcmuajHiF5HjenTh9kdmn3O5YpFi8Q0ZmuJKSX1PwIkx+gVYYaSMxXMULFSxQ7ksp5hc7kOBVhTC7u5NCS1l0JbWV1D72lYphBHYoGshnXIVoAVgXwV2qWDBOpghTpO+42QqmFRBGdNmZ6YwD4LX2kqb9a4WbkdRkgk5vohhJ0+2ZyLWpXUShHkaJeednsZySdhFaF4yduSTJggHoXzJiyfMVGFreavn
|
||||||
|
|
||||||
Gl2pRNkiZJpZVqNO3WecmiFTPP1mYBkRp67GlGpVqXjZupa6VBZ+hSZFvJMbsOFvZh2rZErpygaYYbpxqGdBU0THtkoLkwOcCXG4vwKUrGgduAej6ApSkugu4dRC7hFEFRE8yEACoACBSeYRfCURFiJVenRFKJbikXh6JQ+mcxWJbSxh0/ENJCR0JOUSCGwpoBXCXwhqryzr5L3mZ6P2YGYSLyxz1EkCAR53j54FYitpyUSQrfIshuOMFC1hipG/
|
t56+QYSSZJRVTRGgsmSSFTRMopmqH5XGjmrH5NIRABW4GBaZkVu8BXZnulygJ6WDOvpZ6X35tmU/mBllWo05EF1Pl5naR28ZQXQpvrGGVelIZXpmJlUwVG7Dq5kfFkxKiWYdq2RshXszoQD6T/TFYNesiXh6C5LlmYlxuL8ClKxoHbgHo+gKUpLoLuHUQu4RRBURPMhAAqAAgUnucEAZpCUBnkJ/Za7nWFTWezGQZnMVKB3QxMGHT8Q0kJHQb4GG
|
||||||
|
|
||||||
EViLi+oF0Wcui+sF79Fc1oUGCi77viGYO0pWj6sZ2jjrlpeGusl5vRx1nCpNpX0S2l5eKXgV5rFRXgDE0kz1mV79MIMYwTyYo5Vfbl6SIkdFgAJEOhazlS8B/h3FKMaxoBlMNhOGrWAKQlSpw/EeN5yQ+6TL6vai3rcDYgLwDGU9516Rin95x4cQkxFw+RjnsxNZZiWwYHUP2kYQ+UGCSTQAjMcgzwjYOdCPwoZvaYCGjvpvnmeRRbLGDlbKQdj7
|
PqCzGFcJfCGqe6ZHmO+99jyWx5+IvHmUuieREhcQdepoKw5/VrhbIEgFlzJUICkvlBIhRWIuL6gmRZy6L6wXnkVzWhQYKLvuxTtdnvY0Rcn4VF1Qb6lpeGurNE1FUxcbivai3rcDYgLwBWUk5UadtF2++HpoHKxG1g2l7FSuKkAfsrEMbl3ICMZOnvREHsibUOP0bQ5Lp8Hmrw4mGEX/z4mbDqDHlwx5Sol16D3jp6Lw2cAkXlU50LeWWQIJa7rU
|
||||||
|
|
||||||
KAaiwYgRlUcqDMuTtCYy8QWoGMBrlsqTLlYh+iThkSlWQsTCXKdKYL5HlcBdUE2xLCSslZ+yBesDtZ8aGaVRZHHM6C5AWIPCAtZzonkC8ZmbAaXxZbWYFnAJ+yeqKGVJwMZXSZplf7QWVVWSJnWVzALZXRA12Y5UdZzldaVCF6kSIVOu9pdpHbxUhfcm+sblQgAeVImV5XmVLoL5XCZ/lYFX2VPmSFXxodmTGEvJPpYYUl20SmXaLp0CaXnBlbbF
|
qF6V179JUJcm74kU4bR5yYM0H/RE443nJAfpMvlBXKAMFXBX4lT5rVn2BphaBl3B4GQ8Ecx8UVOWPAGjEkDIIvfHMCTQAjMcgzwjYNunwYvbGNnmevJUEVOqCeRLaPA+yl4WMsnVpVHKgzLk7QmMiJXyTPlVqYdlYhBiWxm4mIyesA1ldZQ2VNlLZW2UdlqgN2W9lFeW3mdM4meaWb5lpaCRKFu+ej7VBNsawkPJLpQ7ZA0d3MGXBZT+RxzOguQF
|
||||||
|
|
||||||
OEbplEJhZGMAOVrgngKFRpId5AIHUTJE+jojnEGjMQRUOBQ+TC5xF1CVjm0JOOXsTospYFqC6QpiAJZXe6HLlbuC90KWmdQBRVxV0ltOhS4M6EqXZA+eIMD1ykqCGRPpToiOJMBYcMldLkbleiWKUGJOxa/klJGkrcCaApStPYHo2IM4AUAmALcBAKpSoQCOg25N8AwAxAGgzAF72aAW+5eGTL4IAS7NiAu4ODMoD7kdRMgzBoOaKQAVEK4HbhwA
|
iDwgTAE/nOieQOpmZsnpU/nEAz4MwD7kd3OnF6Z2ALCA1V9oPVW9Vgzt1WO0FVXUx2Z1Vf7R1VN+Y1UJizVdYDRADVXpkdV2AF1U9VT+f1WEAg1bNUrVgKavFBGJBUzzeZmAZEaeutZuVXelVVXdy7VLoHNV6ZTVcwAtVy1b1W6Za1RtWO0b1dtV3Vw1VFkuS7PqZFxZYhUJW65vXtCVts4lWoHHMqUkYyExfaCeDyVGkgTkAgdRMkT6OqlRnqWO
|
||||||
|
|
||||||
oRW/kgFNGWAV0Z8fgSVHmd1BpWylbGTooKlOldxoNBYkegBoFqABUR8ql+uqIM1TNacnCFsdnaWv6m8eEaDZ0hdhJs1zNYZbTBT2eAkvZMSlBX/RSblJKKGitmGU4QxYK7lKYWwYUbmgbVcbjPVr1QgDvVn1d9W/V/1YDXA1oNUWVQKbbv1VYp5ZUNXnhrgVvZkVHgYXg6wvEJXpFgF8DKgBpC1Zun7KHJCDDS03EME6mCQGZxX9lO+SUV75UeDD
|
FhcOVaVnKReG6VE5fpXsJ7UKkCHFckDO5U0AjKHTBBjHn/Z8YWesRhbl0eTuUyxcefyUuV33sNg+eIMD1ykqlUWkFToiOMzkMuWiVD5ZFheVHwsZYVV+Vl5E+RpK3AmgKUrT2B6NiDOAFAJgC3AQCqUo7V25N8AwAxAGgzGluZelUd5lSV3nG4CAEuzYgLuDgzKA+5HUTIMwaDmikAFRCuB24cAMYWlJaVQxFbJmVfiGqolytgQ2lWrHaUaKthiJ
|
||||||
|
|
||||||
CIQMtKVBIQ3cFkjwhi3ABGzQPKOXpPA7BmzL1YIfjGaXVgpXJX3uW5c9Ex+IxVkIpQ7jpijcQMpTvonlSXrrmmp+ud3afAnVd1Xd5tqc+Dm51UaxC8GpYCrTnQksfbmFpvbgILBpweZGjhp/uRfx656QotEDAy4PuSro+5MGhAgaQKmlm5XYM4B5g2HGLFkQuGAzARQqaQ7m8gfcMeBMijwJypnKK9V7kj1T0ZDVycDaRQ6hpDTN9FPlbaXB79JT
|
FPJqmRIC0FUAKgAVEfKpfrqisdfHWJ1sYW3KHVsdsdWv6m8eEa+ZVBdhIp1CdWmUc+MbsOE5lldqbr5ltFIrYSVm2MWAw5/5UsA8q5oEjXG4itcrUIAqterWa12tbrX61htZjUU22NUSWaVJJeeGuBW9kTUeBheDrC8QlekWAXwMqLCXlAS5dnARIHJCDDS03EByVM1XJduUOVu5bToUuDOjDCIQMtKVBIQ3cFkjwhi3ABGzQPKOXrSpK9cobv49
|
||||||
|
|
||||||
1qV7dpexdbpoor2OnCjeHsLHUU0gpEnVKIDYKnV4yLiCdhDJEFVSRS13ussHoQcFYebRE2ML8U8qxMBrWx6s9fPWL1y9ThXlleFZY4D5VteqaD1I1ZjlxRDtUsb8gCEMhr7YEUNvDPhBMEiweq+GCBqIhPZXTkCJ0sQVE8VTquHViJVsJoJUI5EMkFn5nfFyrZS7+Osa3hKoPyU5BV1a8YilKZs/mGQlSZrUvVb1R9VfVP1fuR/VANUDUg1YNYGW
|
WCH4xmQVQdmvl97u+XPRhRVF67JKUO46Yo3ECHVxMpyU9lq61RWWm1F1IJ8Co16NcTkRppOdGlcQi2SYjsldSEb4YVPab24CCeacRWRoYxZCogV/qbA0QVsesuD7kq6PuTBoQIGkBNFqDVKB5g2HGLFkQuGAzCG5YOXg0TAXEMeBMihlelSVWo6YQ266T0ePmc5FxeOmQepFfcWLpcHgMki5RiXiaDCEuWJBn16cKN6m5URVao26JkA/VRFSuewZ
|
||||||
|
|
||||||
dMtGRWTpmpdeqDBQfdVtZiu8BTxFSudsTK40hEAKNkpVwmaNn4gKwC0yTZ2AHUC7Z6YN5hZZl1EwD+Ky4PdGbRDatJkEA+AHeialeQEVVSW7QTxls87jZ43xEPjbwV+NlYAE3qFuIME0t0oTQQDhN6hXvRWV8IHE0uiiTT0E2l1Pn1mxVkhW4wC1vrG43ulSmWzxeNvmRQC+N/jY6CBN+TdJkhNpAGE0RNZTVlkxNlTQk29hLkuz6mR7yRLUVVxe
|
8VKMaxoV10jssGFlOKTmDIQADmWWFGxMG3VUNNDXQ0MNQ9eC6ElbKbjXj1KVmSXNZcUTPVLG/IAhDIa+2BFDbwz4QTBIsHqvhggaiIQ7771LNYfVs1e5RzUHlEtlbCaCVCORDJBGeUSBcq2Uu/jrGt4SqCylOQd/WvGSpSmal5hkJFUSAHdSrVq1GtVrX7kOtY6B61BtUbUr5Jtb7VmlFZOmbAN6oIel3ZFTpNGPZ4dQfqR1KmWJG42bPBNXaZT+
|
||||||
|
|
||||||
XjUvlrxQ852MHxTMn/2M0LShIV0Vg4UQpThdhEw1cNQjVI1KNWjUY1y4FjU41zRPuHFlfeUQ0DVyJdbUpW5DaRVj5+puDiJwd0P9iJIvkkhQSYUdR7DmgOtCRbrVIdWS5h1jJVHhfphKsxCGeu0UD7RKRrOUhKQSSCHonVh9Xci1IMkJLkKNudddUKpLiYg431RdUpWsRxNYfb5pmuXY3a5NdWeUmp0afXUogjdV1UwAPVSvVt1a9f4gzw1NOwpG
|
VZkcA+ICsAtMQBdgB1ANBemDeYb1ZdRMA/isuD3Rm0Q2qNV8IBFnMA/1e4wGuEgMs0LNdmcs2rNHVRQAbNWzY6A7NuIHs0t0BzQQBHNnBXvQrVumQQD4AFzVc2EFGdepFHVTridUxlFBW4wF1vrHc3XVemY83xE6zbgWbNlYNs2cFnzU/n7NpAIc3HNALW9XAtoLa5m54gNUill10SmXZXpPtROGPodjDY1+c/9lJX2+HzgOyJIzjRIBW1NtXbUO
|
||||||
|
|
||||||
qp0PvUD16ebdHD1yxWGk31EaQy2B5V5Y2mfRj9XeVh5GJpsWR5nabhl4mgwvsWAVJkHC3MVe9nNy9U7KCi2RUHOdQgYt4FQXmoxJheR4vFybrwCsyGzY+juOruVqBThfxRsDoQmDRIDjARRLx6JAFAEuiOgvVYQ0duTzYPmkNOvqNWUN2OY7Vl4qQExQiI0zBwbYuefNqlKg5UI9ApOtOSsrcNDOTLFM5ULQzoxYOxA1T7YnwXCE7unggpJsyxWI
|
1TtS7Vu1y4B7Ve1Agv+k3BgGepXAZPjeqb4N/jeOV2F+puDiJw05chq+SSFBJjn1HsOaA60JFvZWP2+GcEXKpTwO5XMQhnrtFA+0SkazlISkEkgh6E+u/gLGtSDJB7ZFTfKUhVv9Xam9RBRfy5DRpQQ8gRIURXnlo+D2ZUXPZZDRjlnplDfA2INMABjVMNiFbBj+IM8NTTsKRqqdC4NDOU0WI5RDRI0c5xaZG2geXOTI0kVqJhRWC5FFUo2Ieq6c
|
||||||
|
|
||||||
3qSVOdSVJ51WGQpW7lSPoK4F8kcKfXaCtjej5aV0yRn5KlelS42fAboPk3uNYQKwXaFqVXdxmV9oJZVZZHBVwX9EU7cJl1EjoMGhoFOhZQUzZUQFdlZZNWcwCSA/qPcSrZbAHaCJojWYICkAqhQlnzZ25HvRhVSTePIjtpAGO1tNvBXgUrtaVXO2ZVi7ZoXLtzmdJlrtG7WVlbt/BTu1zZXmfu2hAR7QYAnt2mWe1QAF7bllugN7bNl7t97VACPt
|
h7i51uiBCmthKua172c3L1TsoNrZFTqg9rcTBEeCzGCXmNaMcJV651dY+hUZcJYuplgYpOXpThKJRsDoQ3LegDjARRLx6JAFAEuiOgHje25iCdWZYVytOvuSWBNrWbPVl4qQExQiI0zIHkiY10MEjtQ5UI9ApOz3iTLJNhrZNnpNDOjFg7EDVPtifBcITEWnSCkmzLFYjeoiVf1HrT/XS1KpYYkXZgzWcg6whlTvk4OgFfJnkhttvbEn565G6CfN
|
||||||
|
|
||||||
NTRFU9ZUVZpExVvNcmG6RqYb6wvtb7QJlRZE7SoVftM7d5UZVLWX+2kFK7cB2btvBboUQde7dJkHtsHfoDwdImT+DntF2TOCodK7be1QdmHdh254szb6VGF/pWjF9JH2TVWjAP7I63fE08FPhIQSFc277NTefm4f5X+T/l/5cALkn5JhScUkCCcJWbW2BpZVEX3NFZbEVVlbgdG3jVheFPo8twqQ9Ay26URvVWQeRshB8k4LaBmh1vFRBmKG1Ufc
|
9zSwXEA2BagW6Z01bVX3VgLegWYF/RLwUEddRI6DBosdUAUCF7VfuC4AwaGxhhAb1ZIChAkgP6j3Eb1T+B2giaM+DMgboPh2MdUQCx0sATANuR70wCd8nqinwFh1MAOHbgVIFlHTdWO0v1Q9W6ZZHdwUUdABU/nUdtHZAX0dIBaJ3MdrHYC0cdzAFx0GAPHU/l8dUAAJ1iAM4MJ2qdq1Ux3idbHVJ2RZS8Xa4USHmVC2aRMLbnXJhukamG+s8naQ
|
||||||
|
|
||||||
Z6eCyicUsJ/vndDLc29UpDcsJqouW8KQOEOk2N2QXrHrlSjXRyKpvUYMVkte5RqmQFLlj3Bk1VdXS1Gp0rZPULRWCYbnWppuVy3bRoQum3/qCMTrDYxHxgfVK4y3F0CdovnhTQX1YrTeX4AY9ZCo1dddVPXG4LeW3kd5XeU132p20YEhkQOWApCu1YwHRX91jucMKyQsIXI3WggGsN01piJHWlLFo3YamomEeRsUR5b9dsXqtDJJ+XukRcDNCvOk
|
DYdyLc/kqdenXplEdQ1Zp3adf+a526ZBnXR24FDHW51id5nex2cd3Hcoy8dbAPx1YgTnYICkAIndl1mdEnaQBedMnQikmRVLaIXl1Q7aJmPFENRckv1ENfXZ6eD3mAiyVzbmoUkpGhdhFV5NeXXkN5cAHkkFJRSSUnit1gVAptuTud42StDWaOUKtthbyk3h5oAhDOYaoA/WTQV7ahZk1aEHkbIQgVYk2OmB9a+1ku77S1Z2QMFDGZIYP1riz++n
|
||||||
|
|
||||||
WBjAxdEZPcYJdjGdzkIUFrQ8WF5TxdRkrNdrWMoApjHmTDRdSFbeSxlW6sbjVJtSfUmNJzSa0ntJnSd0mR6ptW0qL2T5rZ1Kq9nS81kNTnXbUfNTNnvjjIGcKeBTI/xL+zG+7yJeBnICFB/ScNOba960l+bfSWFtiNP0gFYZykaBp8x5pVF856iTowvO3pgPyXgsIvjoNt9yj0WYZyjYy0KB25f1GKVxXarmYO6ucDgVdVQdN6nlAebV3mp9XVan
|
WRBEHIH6kfZsyySmMCCwU4XKUlSnrbamuJiDpI0AN35cUX7JN2X1jgNBQhM1gqYFRQ0LR2CR9lhpP2cw3NpoQtD3oUOsNjG7FvDf9xdAnaL54U0ObWI2zphaZI2Ft6OZMUo96wDbn45hOcg1+0Sbf9mBIZEDlgKQi9X91bYLYHg3DCskLCFlN1oIBrk9pbcQ2SN5xQiYS9c6XI3IqlbYo3JZTxaLl1tuwAMyVeFKF9aPdf3pyzkw/kO92y5n3TWB
|
||||||
|
|
||||||
G5NqX7RLdGaUeZ7I+UBwl72QrY7nOexYNmnyQ2LSQLHd3uad2St49el6XlYHteXytl3ZdbP14ea/VKdEANHkv5seZq3f1dELz3vypEAL2JkT6Bnn7uovVVDi959gD3u6QPakZXS1Vas2OWAKd3DwwDkUhVBtcPdHoaS9ACDrYgcAEYD4ANEdj1p6NnfhWW1hPRG33BznRiVUNbCc6RcQGndNVzAe9djICKqyAfl/s/XahBTht9hxU0lG1Zz1bVX3
|
H2pjQO1UkFjZIWYpdGUbnYERYISjKFCNbeSVlW6sbhT5FMTPnNJrSe0mdJAwN0m9JfZat1mFI9St2LdZ4X40E1bgUe2UlheH1ihN+Hv9gngG1lOEYYomJAgy0ZyCgk+FnJVd0vteGW+3GthGX5wmQWoJaD/E3kiYzoanglNASQvENgSWq05RGZbcfuahjhQYHUD0Qd1TeQ0KBH5f1HhVkPVdmWlt0EhBw9lhmfLAVtPeBX09EgPUXo9ibX9kxpKM
|
||||||
|
|
||||||
u/TZwqGErXcoVObhZkwGHlInwo3HBGbSNKlewarlkPmNayVhLYr3R+/LkNGlBYsUEiu1JXJMWVd1sf23fEk8BVA+e4mGeArcnGSqV01E8mXSeybstbJ+yGdnNq50lriXTOsOdhXLhyTNc4Ds1LNWnIADQAwvIgDwcmAMQDUAx7YwDjNfW4IDsYbh22l0VTzXiFfNVgEJVhrsgPADvsqAO9a4A5q5YDJ/ubKwDeA8LXFV0gQkbzNxhcD1VVvXgX2P
|
hqD5QnCXvZZt+xcWBtp8kAkUkC4vUjmIkJDVCZ09Qadjm45TPfbnz9qxXZCPQ9Lp+JMwkwEmn89DOQaD2QRvib2vOaqIRXHWcKpT2851xWRUYmQuZRUrpapQyRvF7pM4AYcpfY/AYsWGH1nxwZMMeX19iyo31m9AlVrmg10CSO0ddHQAJYTt+5nrCIYRyY71a4vwJu0u90ehpL0AIOtiBwARgPgA0RgfWH2HhXjbu2ytTgRH2T1PKVBlM2RYEXBS
|
||||||
|
|
||||||
oqgYjZVA6cMQLyYbreg10xFfZeYSA9AI6CEA5uAmlTAOwU31EGIbWIIo54bU4GvNJPQSmPpTNgpg/YAPnwxa0JXBhjdWqSAflYo29ZsFB8/Cez3z9vDQW2hdpRSBgGgJ4ORCSVM1b4LJOmLVYyYwyUuFCy9AuvflR8zbbdVq9bbdF639kmKj49tx5X20IFP/fpUbJK2YM6ZZHNZFVc1xA62pEdOkTvHDZvrOkMgJpVXMHlVCwejH59drSrU1V9dg
|
V3CY9AqxmrUkCrISeX+zE9qEFOG32zNf4Ux5qTcfVfe79NnCt9ShIakjZuFogOA2kwDInccTfbyBN2I+tZXt99ytkXMZXfdH5+tZsUeDOkJEKX0ewJXPdnjN++bUFRkFUD57iYZ4CtzTNGHZrJl0nsm7LWyfshnZzaudJa4l0zrDnYVy4cgnXOAxdUnVpy/g4EMLywQ8HKhD4Q5EMe20Q6nVxDadRGUQt/nVnXQtOdWQV51WAfGWGuSQ0EO+yIQ7
|
||||||
|
|
||||||
WBJdgQ3XlzkvwMuBet6AAMD3RpuLugpAmgMG149rfRoMkNWg8T221ug7WUcMdepXofdH+B+oAtLBuLSAwn0MKk2DxBnYN9lwXZC3ODAjWl0ouQSHXhMVZED4NIhGLMnXyN2XWf25dvLjuVvukQ6MXRD0wHUiV1uvdL7aViBc40O2EkQX7ByEdogO+s4kZ8Pp03wwQN36nNX14XJ6AQ6U3J5AwUPrAfw+bJfDD2Rz5+lZQ18mLBYfXa3+mlhRdq7i
|
1phDmrpkMn+5sjEP1u8Q4ZbTBGZeAlZltLTrlYD4NaJXmVzLagBDFKMhm6yVdMRQOXmEgPQCOghAObjVpUwDsFMDbSovZqVrAxpV7tHA/K2R9U9Uq28DQ/OrAA+fDFrQlcS5a7AKJEFgJAcNmwUHzYZZnjd2KphfQKUgYL/VhiJIhKp/DIG/7T6qDWrEA4PhNJgwLqS1PIpB18utTf62MWYsaRAb15QU4MnJYdTooOlRVdxoNBszRAChZgzhiO+d
|
||||||
|
|
||||||
TWJpDiDatQQZSDXdusCEAQgPRC3AmAObgvAn8cuDm4hAL8BA1FAKUoagXzrc1WdOPebWkJBPdZ1RRjnSMN6+MbQsQgt6sOd4bWsIiz2e1X4m4M8onSNywcwQXdvkbD/DdC2TcGMFxAXGQ/NSa85Lnn9ktevg5hjtI4mFJVBDuTpH4X9BdaS38uFSbjV59vXux4PAcABwAAgcAC8DAuAyQTXmNH7rf1vUSQI8MkhcpcJyzF0rfMUXlixbK3319/Iq
|
yAYUN9eIKegGnVEKeUP+ZvrFiPtD6ZbMGZlINakZXS2A6JVN1ddQWBKQCRbJXLgi7RAADA90abi7oKQJoBbty3WwNB9eNW7k7D3A5OUcMdepXoYwJ4MeAfqmrSwbi0gMJ9CPQOgwa359t3U8Oc1vChdHYQFNaINuCXadSIK2jrTYMFYlYoCO5OkfhYOsZstXiG7Jtg6RDTAdSKP2QNkzVK52xMrq6XiRBfsHIR2CQ76zej5sr6MHVkLUUOBdJQ4n
|
||||||
|
|
||||||
3B9yrbd1h9Efe+VIwT3UMz0Qqo+/0yQVJvBnLQTsK57WMZZln3iOVrTwM2jSgW2wAphnmKT1USFV7itDEAPaOOjzo66MqDfRn0OPNbfdyMsxw1ToP8jrnQsRfwVpjBQdo/9pSVElAg2NCu1TFTSn/pwDtm3gac/RC0spmw8qMsyIsa56NgMITp4J1L4nqPnIKxri3GjBsQr2P5fLqo3X9jFl6MyQ72L6Nas/o5TUcZTjdSHvD/hpwBMg2AFQUhZj
|
ZEj51RObyRPo+nR+j5I6XXNdNLQsGj5VdTgOgOCNkN6tou4k1iapslQQaTDXdusCEAQgPRC3AmAObgvAn8cuDm4hAL8D61FAKUoagXzs0T7hQowSUh9go8wMsxpJaKN6+x7QsS6thwyrQPehJPKOagQjEeZG+ArDcPEGdw5EEKDexiEWWg0KBcZD81JstkueprNYxlmQHTpDmgpfRaMGx5g3RzetJ2b621N5td7W0jvXux4PAcABwAAgcAC8DAug
|
||||||
|
|
||||||
4xwDPjAhWRI9m/Qb1ltygaMQCHZDTXGmkjQ7BSNUjKQDSN0jDI0yMie/oM003AT4+oV6FMnSUPPZ3A7n0mNMtUyqZdNQxdpoQcZCWBJ07rZoD0j1Y+MBCA+5C7gAgB6Ggy4AreVUT6A1QAMAVEOIDMDOA2FayPWBbYyWX9DSJZoO3pbMaPmEpuqiwTvsDqKlRT6ixo+g6M8w+w0D6xfKz0zjubRz2ODXPQuMM6ZMMb5JwP1sJUbjXqQcpg+R1dyV
|
yX7UDNH7lCNvUSQC6MIjWXBG3o5+Xq9EpqRFeI1fR//fI3kVSvemPUVctao3gDQzPRAYwXEOuOqxXlctBOwrnruNfY6uZSroD4JZgO3jSgW2wPphnmKT1UslV7jsjD40+Mvjb48sNp6tgdK1DlQo743bDXAwOMx9CxF/BWmMFB2j/2aUdjLdWyUDyj6gD/bNCi1WGX4U4ZKTYEXs1moxk2OC5UD4IpwMIWxXfD4+monMQd0K63HjZg0Xm8un5W+5
|
||||||
|
|
||||||
K4ZKf4IcNmiVD7dFIQzyJEtyvYXWWjIEJ4m8DHzOx7lE1QBSPfA5uHulmNLusj5ejjPeuMTJtLXr30tAecGNzFGXmGMndIeVd33lbjLdZRjd3SV6GJGrYmOx5Wk3tU8JpEHpNooAlVoxHKSLHmOdemE9BU3SCNkN6to50FiwoQ1xiRO/Aw7ISMAK7k55PeTvQxnotjAw+31DDkbRQ3d9Ao2wlKIqgu0i8QhqirQAt3EIlEH5f3ijYfhSk0IY8NQi
|
I+X401g/j5RXvkFVB+ciPOl6Ha6WT0TINgCgFNzf4acATkwQVkSPZv0GeZbcoGjEADBbC2VpZY0OyVj1YykC1j9Y42PNjInv6AItNwO5OcFghZS0iFJdimNopiwcr0ZjksUMPIEcZCWBJ0c7ZoANj7I+MBCA+5C7gAgB6Ggy4AuOVUT6A1QAMAVEOIDMDOA8FW2MStPYwOUsTSqmxP7t9wVH16VQTewnMQ77A6ipUU+osaMtO0JjDxNA+sXyXdL3
|
||||||
|
|
||||||
epNKjDOqnB2Qt4ioEXuVxocOpdSuBznwYsBpZOn9ijbA4X92Ga214htw01jtoTFZeNxM0xfKW3jg7UgUuNMmtnRuyebLKFuyFcutouV2Em9MfTrrF9M/TpyQ674d68esAATQE7kPrOEABRNUTNE3RMMTLwExMsTbExxPwTFAxIAAzn099Mhyv0+wOi1swehPyd1raiOm6yncwpwVZ0HBQOtHzgOy/AJtbp2rhPGQ8D6AygIkCiqSDFx6roHRo6CO
|
vcPqjjw85VKTowEhB2QScD9YgRlUXxEHKYPvzWNRLMkKn+CCTWLVjWwVZ31njoPWF7g9/LteO3TMNiJkaS5RNUCVj3wObjvpGVZ+PRe345eAgwf4wj0AT0DUW23FIE+Tjf9M6Z9F/98vdda3FQA9W0leKjWAP0VjBNsVbTvCdCMYTaKO5VaMRykixoD7uhgM0jG5nSNSSj6FmNORraOdBYsKENcZFTvwMOxFjACm9MfTX0/yNkJvU11MjlfY5xOe
|
||||||
|
|
||||||
gZSpIAvAyg/g32dag1nonhAk6iVCT1ZWT0G+cIk7CvOkqcqAIUALYHD99KgkzCT9KLFSWz9Kkw4NLTi/e74pj6o6rEZjlbYGbajzXun2YuIDtxDd1AJNKn4tjbef15dxLWF4WjqjVaMlJLk1RkaSOAGgyrozSm3luj3xuAWej106Wm4TFQVbHS++vdCoPlCxeTjRTHvbFNB9yKjd2h9FM+H1vln9bsADMlXrH0mzlJhqPmzdEFmM6jNs0R4LMlrZ
|
5uqlWKqC7SLxCGqKtJq3cQiUUnl/erOdY2blSTXIOs18k2k2KTDOqnB2Qt4ioEXuVxsk4mjSuN23wYsBhdNh+4HVU3F5YI6qWANpQf9OEEhoxUFWx0voVVodno6VXoAMmtnRuyebLKFuyFcutqyd2Eu7OezrrN7O+zgKQ64Bd68esD+TgU8F06REAGVMVTVUzVN1TLwA1NNTLU21NxTFQxICBzXsz7Mhyfsw10xZMwWAlDh6U5b3ADtlnbN11Z0H
|
||||||
|
|
||||||
BUKdJeXwNg966T9lHgGEKFCINjQ32i/AFnYCWOFcZesABzQczMAhzjY4+YdToba2PsjZ4doN8jCRbqraxdLKdCWQkCBXUj9wHGpB3IR9laQpdus0HWzj6w/OMrTiNHzACKjMD5Af9GI9SIK2eo0YxpIW3UdNh+BLRcOoR4QxdMnj5sV6NRza4o/1PDhzTUEONtTneO016sugCAA2CAl0zhh7aDO4C5Avp0oM7+Pgz00lDPIgMMwz6uNbMxzNczRg
|
BTjtWwY43dNQ3Vbn5uAIA8D6AygIkCiqSDFx6roHRo6COgZSpIAvASwyYUgZnYx26j1mw2Blsxm3TwMG+cIk7CvOZqcqAIUmrYHBcQ4g0zCSDKLPLO59is3JPCJKs2tMM6q46hOUmG4zjNGjgZtuPNeVUB55FNNdeyUAkFqe60d9Zs7kXnj+RdrmOp0HWqVeJfQx8zseOAGgyrozSnjnvj/TS7rI+34wOk5TeVWG1AVVRWDNuMNPdCoZeUM5cWyN
|
||||||
|
|
||||||
DzN8zAs6UpCzIs8CJYzYCxAtQLxQ5wNIju2iiN0RaI7LWYY8wEg0Ma0MPfOq1RvL8Am8zM5gnrAlMXSjbkS6LgBe4mAMsDfAUwIQD0ApAMuAcAXuI32izPEw80TzXU3IsOdxFW83CTegwb5nQ0KI9ANVf7BWYj9/nEIwoYtMBk4Szqw5EEL9exkOWZT31jlNlz8+KXb8RxKtdF6jEdPi6mGApS7PPz7xvZOez4pTHlJJzxdVXseVuK4X7kjoLuqg
|
5bTcWoLsHgANIzgMbW3AxaMxANnz7g8MWXzf1haa3zbnvfOteJ2NslmNFva12ALDLV4JG5LkZh549slXN3ol6hVWXrAIC2AszAEC4xNEGE8zu0bD7AzPM2FhNXsMLzH0DsSnQlkJAhgNwk8BxqQdyEfZWkJqotPPtB8w8N8lqs4jR8wAiozA+QHg/6aaTL4nrO8AkyCE2DDxswF4KleiaCPGTuIRCPmxsC6IhricI96nWTqHT4OulgANggJdM4Ye
|
||||||
|
|
||||||
1vk+/NHgzpCRAuCfDHdMFCFNVlzVd4U4nMhjyc371ytD9YH0qtmc0q3JTgMfdVR96U3ibWLOk7Yt/WsyI4tGTRU87oICtc7A31zvs1sL2+lefhMORq3bXb0zTQxQJNT+biEscC4SwcBMzXE4RV9VnI6+aDDgkyPmyzIk583SQozGWBLIFpAC1bpG8/ch/NxqPKPcVTg0fP751MHI3DwY1F6o7TJkyEIKIFoPNVZdWiXflCluiWENHjfizcM39TWP
|
2gzmEsRL6dGHM+TEc9NLRzyILHPrOEAG3MdzXcwMA9z8QH3PVAA80PMjzWcySPrA0S5EsgJqU3MHlzrCyaXtdolVJC4CddQhQVQfw7JUm8zc6uF1FXuHSjbkS6LgBe4mAMsDfAUwIQD0ApAMuAcAXuIwNjzuNZIuM1LucKPrd/YwLPKt/ClxA39hwtDHHmwk/5xTjFNCNm6QjNQuPAhR84oPu+m099bYzsickb8RxKtdF2LEdPi6mGgPaYPAjjgS
|
||||||
|
|
||||||
Etz4P836PJLlIVTWvD94zn7Yz2dqwFAzeM3COoAKPEjxya2dkjyDOMmm7LArudMDP4z4K5CvQr8C9HZ1N/4yQDQzpA8R0QAPC3yB8LAi0IscAIi2IsSLUizItEL0I4CvwruMz9MorUKzX4IjczZQugG1C4p3ZzdrSsQApj0B0gyQI6awsMzqKegmkx03hpJLsmIHAAAgW7EIB24xANiDYg4wLcADA7E36jxAnE5Z3cTU84eF8TZZd1MzLJFWotjD
|
D099/9Q9PDJqVcRMvTbvWMn7kjoLupG1P09AtmTdg0kFJ0/i3JnS+E/egt4LpDUBMYLYHj/0wzUDZdZQTgA1W1ZTcEy8VIwiE7RUYzFy79ZHRGjXjO3LxykTPiOhE6TPPTWwuy2wJ9dq61numMLJUUCLM/m5W4AK0CsHATcx1MLdKw0t1czr5jIvaVs8/ItbdKy8XhCIukEsgWkmrUn1aL9yO8PGoaoxNkajJ84jQ2mbqtQhHmh3RVG31ti/hzbF
|
||||||
|
|
||||||
C4h75pYGMHXBzAT4SP3REhi6SmyjywzP17z+s3OPFFGkzz3FzaY6XMyJnghXPWzZZmzLUoiGjzkn9j854unTbsz4uFdjkw9XuzZU2/kaS1QN8BCznwIkCATocx4ThzUQ9PluOi4okuWGZ8vHM+9DTFK1pLvvXfUxTVDnFNKt+S0lOxjuc7sX5zqHpaDQops1cYAVFplbNueVc8VOPFpU9I5bCpNe0u4xW6d3Xa9PS13P1i/S6DkSASaymtpr0CqY
|
mOgXz6TrywUF99to14s2DUIy4LIEQMy4M8R7o0fn2TrsxAAyabsqwHBz+c0GOoAKPEjxya2dkjyDOnq96u50IcwXP+rga8GtxL0dlGV+TJADHOlDIXRACUx3S70v9Lgy8MujL4y5MtFLYXesBhrec77PRrQazX4l1QNdS27aGU2mN5lGYysQPpQg5ihHYslYykYJpMdN4aSS7JiBwAAIFuxCAduMQDYg2IOMC3AAwK1N+o8QO1Pzd8y7MsJWPMws
|
||||||
|
|
||||||
7Il4swlZKLRPb1PvN8y0zZf9vsJFS1IpddS2sJvAO2jk0hBJjKTjOy5tWWLbKX5Q7RG2KhhJBHtRbM+qbMmnxKkwsHuPy9D+ZcOq9b82bExLXo2nWHTwU723P9iQ0AuiRICxADDS5sqbIRy/w9nQwrPw+sAwbcG4XQIbSG0COU+GKwmF36yC23YDZxuJKtJ6MqwcByrCq0qsqraq46AarmMzSvoAqG/BtwjAI5huEzj2cTPi1GE+XYg92ExybXGY
|
t8z3KVxNvqAVXZCq5ShOVC3JmrdERTjgqdywcwaq45UKTmqyHzkLaE1cb5NImLQs4TmLqe7UoiGl0DmrrizkXPKT0z60/zC1pbM0V6pWDVAL2EdUDfAw858CJAAU5AseEG+X9OPATo5hA540K7aXAz+DhDOLC4xel5vRmC7L0QTcMwLkIz2K7BPPFYuer2oeF6xfPoT1C1hM7j5GVSudetK5Y1SFfnDngSV6lDWAMsuLIzP1iHK/lkSAQGyBtgb0
|
||||||
|
|
||||||
ZenCBwKuMRPoNKktOvseB6GwDm4xADMCEApuImD/axufQA6wFRACBe4aDFMDtTFNp1P8T0y9LOzLXffbUDTpq5qCe+h7jlPvIJ9rwAfdGs+HRzcCiaYvVWUmNgA8A5i2pNGzVi56uLKZsz6uWzTXt2sBru04ClEqmbu4vOzcvTZOOBdk914q9iuXdXqtzk0WN+zxuEujjAMAEOyPAaXFEv/rq1mLHTAArDKD5rD0wGMEOQY+kuRT5a8UzhjkHqsU
|
CqY6aV869cGLr7Ewe0BNQ04OMcMJjIaCRUtSMA12zS5e2jk0tsxJNYcx60fXLjyqX5Q7RG2KhhJBXXakF2Lu4qbDXwds88tAjr66eNGTVqyZN2j1s+ZPP1dswhuh1SGzUHOrtTh6PUh7q8NLmypshHJxj2dCGv+j6wL5v+bhdIFvBb6dd5PxrCYXfpJLbdj5mQVva/2sHAg68Oujr465OuOg06wWsXVvrGFsBbQY/GNRbRcx0OUjXQ9SPl2bXUm4
|
||||||
|
|
||||||
ZzD5Sq2FLr5R/WNrTJIAItraoyXM+bHa36sBbX2PUuUqgPQWP9r8DdXZoscFX94/FDWEhXvS4m9hGpb6W/cAPAHC2MvopzYwou6bBq/ptGrcy+osTVUhCi6sQdML56mDRIJdiGgPKEpBJAjdlOPsVQGc5uubwIYbPXrYXbwARQ6sD57zIZMFMi+bWYlyVSNOYLXCvs1y8dHhbwQ/cu9FL808vxb5LR/M5rBW9/N6p5NfY2/LSQy419+zfnmyZ0zA
|
Uze7ndLQ1R4KovdWmLozMqSXG+x4HobAObjEAMwIQCm4iYP9pfZ9ADrAVEAIF7hoMUwJzODl3M4Kvh9HEyuvLLTNm7Av9YwhhQrq506vXb4tkAELh0c3IomHL1VlJjYAPAIuPKzpyyuMoTFC4srkb1689S3r5GcRZEqmbk8tvzLy1ZuGT76x8v3TV498s3jZM3ePYRS6OMAwAQ7I8BpcoKzaurWYsdMACs8A0h1WT03nCvobDTGgso7kMyivQzPO
|
||||||
|
|
||||||
67Lh4sYuBgwlRpb6zo7ampjvMDqALjvGiS3uisNqmK3hvYrKC7is6REAJJvSbsm/JuEAim3ADKbvwKpvqbmmyxL0bEAMTu6hrrFjvhyFO46JU75CzMFgJQ4ciNwNqrTdK1Fw63JIjTIMLiz1Tv8rNsy+3gEuiEA1QFMChoXuGmsHoFRN8CEApSpoCOgVuAMCSDsizqsIleq3Z1rrHfWiWGbcszjm6oleme6z49LC2WPoXBBrOMQoJL5DT904wtN5
|
eitADivQQs4rhG2r1MkgAqRuULt2zMiUbd82WY0bglXRve6SSlsv4DbKn95dAFkCVyMz70h1tA7IO2DsPAbS/ytzraw12PSLfU1sPibirZKu8DUhCi5/DDMIVinDBTSqCGgPKEpD6jwOPouEsx26dvHL9VsYtnr5khFDqwPnvMhkwUyFcunSEpcdM4C90I97mbb25ZvA91ozLV2bUO0bYw7SiId1+LYzfCNubTs8Evurffs355smdM0Ouy4eLGLg
|
||||||
|
|
||||||
t7m89suDqsl5vpjP218Q9bOYx57/bE+DbkRQ6MFOEeLEW+DsHjfRfl3y50a17NOT1oxuZBL2EZ8CaA2IDAAHApuDMAQK2W8tZXTJEI94ngMBYjtP9cc2FMJzCU971kOKc1fW3ltW9db1bMY9nNxjec61tatyY62udb7azMhJ7uo72s593Gy0ujb50Tnj1VYJIJBA4SFc8kxcGCeKvG4le9Xu179e1pvguTu1yMO7aOSoudjc8580tcqQB1ZaTPkM
|
Yv6dc3tBRamWFqawe80OoA4e8aJLecaw2oJr8W0mvJLKa3HNdbPW31sDbhAENtwAI278BjbE21NssSxSxICB78e66wh74csnuOiqe+UuxZ1a6Aa1r/SVlMDDlSEMMdQUEq2skD87b/Jc7Mvt4BLohANUBTAoaF7hgbB6BUTfAhAKUqaAjoFbgDAEw9MsdjQu5POh9c21FEij/M7QlrrfEJXpnus+PSyLlRIFwSbzKgtvN8Mu89JOyDsk0YtOV4hq
|
||||||
|
|
||||||
LkAtIqedubzNsG543bITtSUurB826v7LEtihBqjGoHEtngDVSkGeCf28oZToqDaFvKQoawF657365DtXDuIdEu5bTWK3ugaOvV8vI7T01xo5qQ7Q+NC7ZYWpqOyOsjqIByzhrJocAy2oM7C71B7X7aidB/qJMHdrlHY07uGwOb4bwE8bi67+u4btsAxu8eRm7Fu1bs27du9SukdRapQeoArB7QcQLnB0XEsrsnWVVULCu41v8Dcjt9lCDvIJt1bp
|
fNXbl65uOVRlO3Qt7jkpWkrA5EUOjAA99u5aM2pFg3/U/bP6/BMALvy3EkaSnwJoDYgMAAcCm4MwBAqQ71g9DtNYj3jKOOrSC4BPwrqO2htkOmG/v1ltGKwr14bME/Wu4rRG8TvqNyE2uNkbV6xTsPb9C320u6zC+OgVzSwQxuYYfnn3tgkgkEDiyV8KTFyYJXa8biIHyB6gfoH02z1Mirou7Itjlc8+KPZWLXNhV49l2PyaX7j6JMCoySeTotue
|
||||||
|
|
||||||
grZ3MtVbAwftirkKcfukA3wPQBW49AL60DAzE5CC/AkgKUqJAQIBwD7kkvvbvN9uqzpv6rLuz1Od9pPVusaLrqnthYWW7p2i/ssMF/soZcEZfA05t2xvn7zCo4fPiGmk0hBZTwEXYu7ufEYZOFTts36qPiStE7NnDJ03k5mjBewMVF5KqdDv+LiW2Xu2jFe/QDBoHAMGgHAPiRmsiSWa83tKQwJgjs/uSO1V2BjZayWt97cJlkvVbac3kuj7Wc0G
|
wDk+0rKhiytN67b+1quqpXXJqAqgZ4JlkpBngpbuPzihkpCu0du3rEvlH86hFQd/faZPQbJELgcMlCC84OBLHm4plOlVIaiPqy6ALXuoAjsjrI6iAcs4ayaHAMtqDOCR0ke1+2oqkf6imR9iP+G8S2GORzcXFnuJbZ1RIDj7k+9PtsAs+8eQL7S+yvtr7G+8CLZz8R3HuJH3rikfhLBR0XGVrTXWlM1rvB93t1bEwA1uI2raH91J9mbUPvFTeQxI
|
||||||
|
|
||||||
U5zzW8DHx5jBOUvZTv1h2uFHRKrUuteUDe16Dbdc2TMVDjc3QvK7mI+m6TAolZwQibatRura7Gkp8DtHnR90dXJS67hVrb6gxtvBHhq6os7bJq/RDo676ZtgRUyBsOOvbQFWONapCxhdXzTwGQbP1WwB1keI06TmpCJOMB8D56jikNhyzupw7cvWTaB6ENnTLbdcOXTryy3uAOwx8SFXj3y//Mo7EG1xl/9wu8jyZ0UK0ivmymPMweKHrJ+yegrX
|
edrpKdIekA3wPQBW49ACu0DAjU5CC/AkgKUqJAQIBwD7kkvpvuLrwmzjXKHYq3IuDT09VJvZWrqnthYWW7p2i/ssMMrvREjo1ITPyj+wrPP7lh6/sn1iNESvbTly3dv7TRKodMGrbh8MOPiStK/PeHV074fvG325ePQHdTT8sA7AG5Xn0AwaBwDBoBwL4kQbIklBv2jUIwsaAzobeEdI7yC0isIrKG1fxkHebdhs4LAA3juYrhCyr0oz5XqQtDMo
|
||||||
|
|
||||||
J9wcSAYM1kMEdcXPTsEbjpRICfAth/YeOHXuM4diq1QG4ceHXhz4d0b8hxIAsnSPGycl0HJwKci17G7LsXypM4WMFi6RlsIQ+Ku62icJRJCWlIV92pwtH76wMQC3APAN8CK+iSP4l5A5uNUB245AKbgwAARRfvtu3x0Ec37RFR2OzzNCW+oKYHVNMBv7CyoVvYyn0BYNnrE471zzTBu+MDYA/IG5tPbz9i9t8MdiNmO6jfKflNOLxk6nvMqUvQ94
|
J1jMkr3yOSvQnDC/mjteBE4O0QliwSJV1bve0zutoOgz76msslRuqj7CB3icEnRJ2CmCb489vtSLMrdcf41h+xSVvqUg+iwmMm2BFRfD6GFfskQKm9ZVqbUk7cMyTy0+qurT1h4nmmtpoIk7OHwPnYuKQ2HLO7lNSJ5U2wOTu/4fWrWB27s4HgDl7s/uPu06tIjzs95s5+Ne10fI8mdEGuRr5spjxZHGZ0jxZnJdDmd5nRR/fqxbvk5nsBT2e5GP
|
||||||
|
|
||||||
35KB4hFEntkzUdxrBXfUdDFjRy8unjuB/1Y1gRW9eMpL4xz3uTHE3RMeZLFa6nNVr6cyPu97j5XVtuME+y1toEeWE/v+bye/V47HBUySp1L8wgYQ/gtrIyZS4TSyceBLZx0yp+eanXijfwt4Yev1TWPY6fWHkMwqCm4qgMkRUrWq+Msrr1wb8dbb/x+7vhHnu6EIGqwUBzLML0k8esnzB+VfYKTHubvOOm923mdInfDSiffCVvgxTXHFbVfNYn+H
|
kFi0Z8BrHGx1sde4Ox2KrVA+x4cfHHpx3lsxjJPt1rN+mZ9me+rpZ4mNVryYyMfVLBYukZbCEPgqe8gXCUST9pslfdrtLWCesDEAtwDwDfAivokgBJeQObjVAduOQCm4MAIskKH6w4aeib/UzpV3HCi21kKYHVNMA+Q/Vo3i/srEKkhiTmMpJPSDZhxBxT74wNgD8gZ2yctabRfRVxHlTXr/sPz18zS03Lop3YuF8G1iSovrjuzdNonX6xD2BH5J
|
||||||
|
|
||||||
HMD+w3HFnug7Jo/Kkknr82SfYHRtnltKIk0EmdxDmlWBsALA7SQdUhwC+qJ4BHtnpYSW+/lWFsX4lvJaCnK8ZkOgj3NTkOM7cVU03ELEAKxcb0clgZZsbiI3J3y7zS0lvLBzc4YcHGHsHigyoSFWb29zBzf3MSAFRLcDMAcmduRygwZxbWKL4Z8ouRn+KV2O72d0BozYwiyPiUQHU4WYPzAcQD5APIjYCcWWnx4WYuPbiF3svIXMLS8iaQn2DwzZ
|
zgf9WNYPge0nhB+juobiK0QcY7JbeQdUObJ5iscnVB24x0HRO2gR5Ymh5Bd3rpK5Cf4zJKoTN4TvQrayMmUuCwvSn6MeTNMqgh3Of7Cn8Htht98x78DL5q51IdRzCoKbiqAyRFMsC7zKfqdzLxJdefirt55LsLzoQgarBQHMtDBOLW24+h4eio3NOF8EeX8eOmWu8Be67QJ0oP6H8oAxQ6Df7TBdaT/+4oZ4oaGSAehnps+GfmzHi6bHLW2F1/Bw
|
||||||
|
|
||||||
pq8/pOKGW49ouEc50PidWTOXRGs/rcWxEPknp46WDE690JbFa5dFwyfPTbwwCvoALwAeiOgFh+bRvjEAKVflXGQ3h0inEMyQOJ2kI06UTm6ojVcVX0nQYUUL8l9oeKXLR8WOALVp2krvYpyJ0VmHHrcUb3nf8xpJkw2IGgyMCRREDl+Hqg18cSz4y+uuhHow+RXuSkCFxDkwMZJWIaJEJ0zBW+nlwDgzuzFZesWLBZzHsVcbg1hh/Nojd4PHVg1h
|
78Z8SGubSZxHVebsR+qJ4BHtnpYSW+/lWHJX4lvJZlnmdXiPZ1raiktwtIYh0cQASVxvRyWBlmVsUjpcxfItdgl8O39DdWwyONbBxg4Pc9pl+riON4aUscYlrvesAVEtwMwDMd25HKDnnwu5ed77vYxPWLbR+4i73GGjNjCLIBqcv0p9RIPMBxAPkA8iNgr/bOe2XS0w5cfed3SHz2nf9J9g8MbaeouGrXCkB0+m+fCGfaJBeR9tS1EZxbN/zVs5
|
||||||
|
|
||||||
xQVwn65FsFBv66Rc5b5F1leMwF8H2d0nLw6jvkHRQ39OFDqQ3xdnJtO+COCHrV1s7oAEN7JesrvV+ys6HtrXQuHrYZfBWEQQ4+rhq1wpo8ea1uAGwC/AQgLgDjAPc7CXar/h47uBHzu5ZebXbu2Ee7bbnc5YueJpv+r+1WQRkWPoCympAsQGcBth/7gdWkeAHGR8ifbVfehdHYQNxVdtuCh66kFbjSCahjH9D86gdNtxF1DvpXZF5asA3mOkL00X
|
COlgxOvdCWT+VSh2RHjpZSHKZvg+gAvAB6I6CLH5tK5MQAIN2DchjuI+rz4jpBbWdlD0Y1s7A3oN+DcUtwhW3vjnHe7weynTKqwkSVYhJz0ZF0l8UZyXKxwVkKg2IGgyMCRRDlnnHE191MXnrE1edi7A07sN6XbWRTCrI5MDGSVimiWZd7uVvhtcA4M7tukabS48/ZgXyCHZBvDiJVqAxmVff6eDWHFBXAoX10zZtnZr1wP3vXgGj5Ugm3uwEu/X
|
||||||
|
|
||||||
ox/lfEHlIcqXJD6ALCPwjyGx8PMbgI+FXAjAl+rxgjYhc1cSF/NeJc23AIxodoTnGyafDbiu+vvfEONy3OKGIGhLSzQSFWebTXel+gDm4LuEIApAFAAejm4puG8BW4LwECA8AtwDuS4AB6LcBW4jUytdNj486GdM39N7fvWX8RdGdEpJoAhCWkYjA8giDybQIOqj514QQ+XT3qke9lCFx97c9HpuUXuX7SLHV16SLbSLSGp4BHCYektK0VeemoB2
|
yZ/7tpn6AGSMWZpIw5nExqkQUPEFxQ/lc57sZfC3FXlt9Fnlb1V1z61XRE9ifsL1c81eYYCVJ9aaCslcKbqn7dbgBsAvwEIC4A4wHwu3RnU0zfB9O+92PJ3S61Nce5M1zeHOWLniab/qO9TIVsJwt+ixTQxPTBRAHkt+dugXzw/sI6jQSHXjWVZELrNsyROLMA9ZXh/dcS1j1yCPPXIV86lx+f0x9fBHP9PheOzNkymcJX2EoGPBjIWxJGBbsNw7
|
||||||
|
|
||||||
j1t9Z+hmNnUW82dRrbZ0V2R9ASw3OuT2ES8DKARgFADm4BwJgDvSje+qnKVpoGIzV6c+TS2gbXe6ktDn2nFMcytMx5WsrF1a1GO1ryKrocLnqxz2nT7ZULd5uCg8MGuGtYkGrBkw09246zAc98vtDbq+0pch3DUZcfqBgMKjYLlE6y1U9DJN+sCH3x96ffn3Zl5MuSzem5WVRnY1bvbq5ZCD6Z/2vECCkj9QZvUXIJn7EoorDAB/YOurSFzLcIa9
|
fhjTt0jchdO8dXvoAM9/GODHFS1SM+3dO5XP8HeA4yuLqI2TDAzQqCQjVnmFNyN0y+5uC7hCAKQBQAHo5uKbhvAVuC8BAgPALcA7kuAAei3AVuMzOM3TEywNjXrN+ndibHN2KPE1dXPSWMJ0cCqgNw2KVd5jtKE6LeEE21094CGT+26cnrx856dPEOELd5uCg8E+tWttItIang6xe3fXaaifYfBQIbc4uIRPd28sQHX8733a3AR5if/bdKxbXrAL
|
||||||
|
|
||||||
NNrEcsRWJqOvXQWzhDvyMD/heVHT8ylcYHP11gd/XZyjfczVTEO3sjHne3/Og3jJ7/1Qb1HWgUHohbIvRGA+4G0CJxy20+3qiej2VkGPY9EY8mPnAGY/U7VpQ1dIL4pwjcSAid8nep36d5nfZ3ud/neF3xd+qfOlvrFY+zmuQDY+hixjwPQOPScX7c9XWhxjf9Xldlyt0LbS+g+touHLbC5pSFe5b4PEgFZmnk+5NgCYA2IA8AHAiQEURsATbggD
|
wMoBGAUAObgHAmAO9KYHYV1kL+OYjNXojpCOz9ewrdJ6RfEXjJ7ULMn4E7DNUXtF8Qd3FyKlycQA9FyQvrpjB2VDEP7SFfV167bWJBqwZMFQ9uOND+jA07JM9VtsLWwg1En3gemTCPSAXPDWkDfIxHf8Pgj8I+iPnO8A8SLGlwusQP2l7cec3889zdyg+9ndB3Qf9nX3Z8wk0Ga4VvfOpS+BP59g//HuD5pvS3td98T002sRyxFYX+5deKGCF4ok
|
||||||
|
|
||||||
YwMALgAAltNx+drXq68zeu7Ms3+fs3ZenJAlWZxhnCZ73ZRKMLI+19rSVQ3ko6vh7CJzw9BXfD08RyJwsafMRIFq376eCYlVOhViRgz6Mr3dy9reRrMWw5PF7sa4sHLp7HqVfLgkgPX0u4ubpfdx+xTv4633eMoeufLtJ9XXP3xa6/cjnL97/jndAfSVvzHM5w1v1rKxyUtrH7pAJCZRZKb97LPFXtA2NL46JjeVDaT4IOVTMyVjALzUZU0MY2h+
|
Zur2wFfvzQV1rfIOGJ67tnKpoDI9MQozQmfG3490EvxXokXEeb4oYJAUHohbIvRGA+4G0CJx/O1JYx71IJJyx1Yz2PQTPUz5wAzPae+GWlHiSxUdBTxuPfeP3z96/fv3n99/e/3/94A89nqN8M994oz+M9B0azxwAbPreyXPA1+9y481LtWyJcNLgdxm7vIcFL4/zt7lgE8SAl+aeT7k2AJgDYgDwAcCJARRGwBNuCANjAwAuAGiWJ3AqyA9StLN
|
||||||
|
|
||||||
w+cSAZzxc/4AVz6Q+RF1+1XcRnNtTZcP7TNnrC4K88OOVgNh62YM8QJbaM9/YW6Y5t6z3D0Ae8PS/RHd58yoNMCkQpZ6I/nLKgd4hT9n12vffXaV3+tN719yIg3FIg8DdEHB+mDfFXEAJlmoANj5IBRP9jxwCOPdt8jcrZmr3vTavdjzE96vcTzDfCngl9kMQAAh6guLRhTxQDFPpT+U+VP1TzwJ1PDT8E9tXDyUa9avOr+a/6vBp3JeJPlkToe0
|
7NuYva3cutZ3pp7NdyQJVmcYZwwBxuVC305bX2Y6P9E1xzjMg/k/7XRrfruvkAkJlFCpv3hjByPnl+YS+VU6FWJHDv45D6XTYZ3k5sPH6xeMYXXy+Xk8P9G6UkaSIN8uCSA9Ay7i5uEjy6lSPHT4rd4yzm0bcwrt98jugVJacW3SNFF3L1aP8MwiuIzBO6r1GP9be9ZXQ8icLHmLG9e9gVeTC+b08Hk57w+Yp6u2JegOWMNrFN1jMxjaSHlNxICK
|
||||||
|
|
||||||
L/XnPhhluGkyKqoSFSyOWHQJfD3rApAPoDbkVuOCW2H4wB7j7kUADwAymmAKsAAuRL/j1TLm25Q8Uvdd7qr/B0D8gif2klYM8nXSUohAWQnlBaS9s111Hu3XWwxPhjQCz44juXZIl1bqwNYB9j+UMoBFQax4lR6qHu0lds+Enuz/nstnhe1vcxrUNWvuPVx+8wDKAMANMAHAOwTc8sRS5dxwi+nl0nTPP90/2f4OSc4sJv3oHuOeD7CrcPvrFCxw
|
vyr/gCqvo16nci7bNyocbdEq3E8vsUlZXoCkWoEY0Sz7cCPe0v3kvS+/nQhgEUgXRT1qOKGKk+aAdovuRwct33l0HqsID4f5dd3Ph009+HL11w9tP5MCIgU1QxWPe33fuwM9R1aI6FmoAyz5IChikzwPTrPScZiM23o73vTjvqz1O9PPM72Wfhz2z4mvVnlR1GOgvbGBQAQvULzC9wvCLzwLIvqL1c84BFt3O9jvE748/PPo50MeVLE53Vc1b7Cw
|
||||||
|
|
||||||
UtAvqU492gvQzDlMQvDLAO983RkPvZjvKoBO+XXupAcc1zRx0eemn8a78njXw1/sJtW/EHcdsLyYPk/oAnwDu97vUwAe+lvV++W/fnlb7XfUPiLjfcaM6TizQ4nbeiP1v71vo3jnzHLF2/5nIiXdcNVgUPwrBI54EFOYXL60FvSQH6lTQVHBJ8lfVHh45gemxsr5leiVPT0Osgb8Q2bcqv2j1bfqvknKgDFiBr6p8rA6n1JJWvCCy49YrgEwzse3
|
6u5TuGkyKqosla2PdXAi71cSApAPoDbkVuHMVrH4wB7j7kUADwAymmAKsAAusbwafgPuL7zOZ3h7ZJvcT2Cpe7DuUZplmIlFL7aePoSUohAWQnlBaR2VGu+Bp597p1YfAnHpmNDOvjiGtdkiXVurDrZDh9fbi3Wee/jybh7mMAa3KJ/A4Sv38/NaYX3D8J98H8r9IfMAygDADTABwDsHqvg90A3ccIvhtdQrer4hvhtoM/Sc6Pqj3ExgTv/TjsVt
|
||||||
|
|
||||||
ZA6m/pvmb4QDZvub/m+Fvxbw9tc8gu5snafGnyG9o3Yb5AnJP0tTBVyYKlyi+KGHOYhhs0E16RMp6GH0tHBo66NuRvA8QKFaYAZiauh1EwaDwDlEFREuw03HxwQ0tPX5208hHrN9tc99dXDrQaMAHJQi1TYF0dgmQxjGMJ74Q08x+BXy08FevknJLaQs6Ce+YRZFyKI5CMs2F9jqt6Er0u/PKK73UfzW292o2l7cHx8YaS+gPgBoMZ+9iBHoR7yr
|
1B/jsEbtr7RVqNDbbsDQj7LwyyMfMhUZD727H3xSsVYwpwca5kpwJe+3Pr/rm8AjkXIVB3bVvxCFTLdcmAgv6AJ8Ayfcn1MAKfiH5pdj10T6ofJv6hxaYgaCibtl/YCRTfWUvz59b6N4lixyxV3Jb6InFPmWYFD8KwSOeAaTPL1dd1v0kB+pU0iJ82/Inrb8qXtvUZ5I9636cMS93U1J4mcRHpt4O8zNQz68krAqAMWJz3V7+N+Tf0W5T4VnCS5u
|
||||||
|
|
||||||
mccBfC5avhcnw/cKfT94OfvPd75887fV/APvitz79/dznw54C/j7Da4A9f171vVBv24VHaQDeZQB1+dfJxa6T5ohx9n1IPlVSg/wfZ2n5+v9LXEDaofDMzc1Jvfcym9xcM33N86dK28utZfxDRW+8jVb6R81vM0NVSBweJdEjHgH+1bAxmO+8VhoPtg1w9rDUt9y8oW/9gkBWN9yIrWPiZy1WecqqFElJSPIn+cOyPopbrcyvV99J/ptchmo80nV
|
/Jrq93HNAfIH2B/fAEH98BQfMH/QBwf/RNrtc8G9+iOScE31JIvPnQ2XPPvPn/9FfPvugxoPpMoFEUcs7Oy3Up6EX0tHBo66NuRvA8QKFaYA5iauh1EwaDwDlEFREuwJ3upzMsRPIm1E/s3N57E+pfOtBowAclCPTNTTvANdpX0dg09IoEph3k/7zAJzR9OXKFpyS2kLOubtZi8oMihOQjLPhwi+vvvNzCvJs409ivaF914cPLTzrcwHWJ75/cb6
|
||||||
|
|
||||||
7yDcv91NaQcvT5B1TEB0K2QcCzZVuPsCvjyTRIDi/mWVL9RAMv3aBOPQWS0Bu3kM248Ova4RF/YAUXzF+lKcX6CWJfyX5URpfPr0jcQAiv5L/S/sv/E8y7XA4HfIPWE959YI427hrRUdM0KtNDvh6KvJvlfY8zfA0JVAAHAWaByDu8bABUQ8ARgHADfAwaGgzLXsP58fl3614NXtPBm2zeAnrsKki581x2VDTQcR7h4NIr3YxAfQdXwPfurHpv29
|
APoD4AaDHIfYgR6Ep8sRG/AXwuWr4X19hHA3wRc6fyj8jEkHcJpjtYLFB7jumfnJza88nrxXye0VxkG/bhUdpAN5lA1PzT8OQjLE480rHz37c3SZ2tmMQhLXEDahfjjWK38Lw3YItxcQvyL+Ddal0Jsw/Vxwm83HyX7pcpvZehfeGggcBqAcNopZq3CwozLvCEqGLMV+OXp6wQ/iJKk5SKYWusID61vVuxVzkwusPU8tfor1aPBXtm54vRndcBKj
|
||||||
|
|
||||||
DvMDyDB839i1mLAfexHxQPeU73qMYspyAD79frs8u+b3I3+u+73m75N/G4QgEugKgVuKN4cYi3xY2nvcS3NMm3GjxCbd7+337l7f/ex/cTnX91OevvAL2PtLHADyC9APMfazC1/DfwB8gcQH6O+t/YHx3+IPxx7B8DrIdyGuIfoDoK8ngA3ksDoN0ze3ZWHM12P8J/lP8VQHuE2RqS8JlsS9CPjl8/jvftq3k+lvPOrBisJHAPYPBRKUq2UgKjGY
|
7Jcht0/RXEDf+OUhQ366suz5txABUxAdDbcHATHVbj7ALk/M+0Cf1KFm9/UQP392gmz7bctACN1HO7PBV4tFO43379//fgP8D+g/lRBD8Xv48l3+j/ffwP8732N8Me433r7d9vv96blMj6N2VdGyVZxx2s9XlA48zfASxVAAHAWaByDu8bABUQ8ARgHADfAwaGgwGbv789TljU43uNcUPhndOBtNdCXrqpXYKkhc+EqdSYDsJ+sh8dtFrhhPrDyx
|
||||||
|
|
||||||
sONNVOkJX8ByiAdvvD8EVKqsZxhJic+Puct6NDDBKoL38vFio1nlhlcP5qWBUqERAJih3tf5gWYhfn8tmLn69tPlZlD2mkM1PrwD0Plhs+gjhs/xnTsjPhKcWrhIABgCH87QOH8k9AXcqnjH84/gn8k/lb8cAoa8eATB1HfmLU5dn1djznvdvPgTdVmvXZcNOm1MXPVNCFmD9dLhD9p0JP8BgKlxlwOX1S7mPNtNutswzuACWbh09s/jtdccg3B9
|
8fr4UcHky8C+iy80lAx9mPrY8QYEXdd3M589iK58ZQBFRuPjbYSbptlmfi4tULp/NhPpz9f5lw9HpjKcR2ux4hAEugFQFbhRvBxhxfpdlOOFL81Ph+F+vr08DXko8iLsr8SLjIC1Hmr8sNpo9KDpa8dHta9zPrr98Vvr88TLZ8HPg58QOE582PhQCA8lx8PPvhNiZjb86WnAd+Ds+shhjb4TwAN5m6o41yWpbkOlhIAeAXwCBAfF9InhADIHgj9o
|
||||||
|
|
||||||
rqAh0ZGcY0AQHsrfMYxFIPTAoeukVOHhy8SfrssGvrM9HBAnBfAudA29ke53nM+tx9GzJiYGaxtFoets9mDsBvuz8JPmqlbniMkVvme9F/vJ9aLs8MOAaq91kugBlwKbhTcEwJBnE0CWgVrthARRJ6rja9RTsJcTPsR18hhqdGgc0DWgdLtdAcacFLgYC0jDPR3fjvMMnrdQf4IsgaxGrUPImF9EGPEB8AM4BsQFbhzcHURd2A8BcADwAxVCkABg
|
HsNN3JN551YMVhI4B7B4KPvglykSpE/lhxDip0hU/gdcTFg3xSEFghRYuMI/Tj8M63vRoYYJVABPm18amq09q/ihhSwKlQiILgIXNk39fdhPczbs8lpvsQBUAJfkrOrO9xvo0DwvnN8+ggt8N3lWdlvq64d3ugABgM/87QG/8k9H/d4Xt/9f/v/9AAdv91RGN96ga0DD/q8929pZE8bsJdfdEJN/Xme518DCcOrkbxfgKPN7/v+9H/qRQ+AQMBUu
|
||||||
|
|
||||||
CkAoAH0sXAeTZL9ozcSXkQYvAVn98vsZt4IFHBEAfSwUpB+IGXksZjfI7MZbCrMXBLgCQuvgCJyO9tIgaSZePufkzjB1svVl1s2ZBeA1QAwsF3qJ9TRns8xwrFtkHHQD9bqMk/sNEDL3kktXntt9zyhVtQxlv8n3rktrum+8f7vkIj/mlNv3rHliTDQ17dABVyTNCDvNu2s7inucGTLI4YPnSoNJGgwl0BQBcANuR8AEUQXcPCBnAAcBPgBwBNAC
|
MuByBmE8+jIH8p5qKtjTtADo+m+pDzNVEVBDbAkokhkUHrwBpUtj9FIBsVBEFg9sAYy8ddokD8AUrg4gL4FzoDKMj3O84bFnV8C/lggzWDf1O7uLUW3mz9mnmwDOvhq8RAap87BuIC5fpICCzNUDhvkDc01qbhTcEwJBnMuBSQeSDsrqGNcro7dBzISM6zsSNC1jP0qQSPsH3rvdKtu88rAVOcZ6G+89FhsCWRJ8hVRtJcPIh99EGPEB8AM4BsQF
|
||||||
|
|
||||||
kBnAPoAYcpcDFguaddVOW0uIF+I+bNEguuhCdE8urBGHk8AYyPTI7ci9t5QO/1fgv4IKotFd9Rrbok4NywyUint+puNUnVhLdOXqT8ZnqAC6bqtc0/q09PAZn9ttoZsCgYRc3GPVNDSpuVajuiD4DkYc06uchBVpTM/kr58nIp8VVjG2hh+gH9wftHpRvliDNUEWBOHH1glXtUEaQV+8T/jd9loCaCaGh+JZhABV+FEzobQfcZoDtXMXdPWkqtp/
|
bhzcHURd2A8BcADwAxVCkAsllAB2VpcDHzKACkPji8iDH4CdLoj8YHvBAo4CED6WClIPxIpsljMb4X5jLZV5i4IEgcy8M/hOQjdhsVSTLV9H0GcZz5mTtWDvV8LwGqB5gHkDUQV9sOfp8twRkUDjbH9hkHvI9EFgr8CHCgs9Psl4MNooCzXqycVAbhsrXiZ86LoTs7XsRs8sIcYQmvbpSVuSYvQTdsr1nxUfwLxdZHN586VBpI0GEugKALgBtyPg
|
||||||
|
|
||||||
ch9oSCKhLe9D+P88zvhSD5zvSYDzivtF0lUllwECA6iFMA/Tg6djnvn1C8LBQLokDgA1M6lezn+o5YDvhQPsokzTDespoCW1a2l0t+rHT8HQVhpJnsHUuXm6D8PrcCoAT6Dcvt4C0FAGD9xjg8PWgTt5Kl9FghNPpZqrmA6qnQtQyuHd8SL3xhGhrtsXn/MMwYo9OWN8U+bKbA8wdN4oNl7h9yLcADRE0CgQE0DBnJBDoIW8BYIfBDHpkp9Crv8t
|
AiiC7h4QM4ADgJ8AOAJoAUgM4B9AGVkNQYsFpzrqpf2lxAvxHzZokPj0hbpAN/iqhAngDGR6ZKDkwLrBkQmh+JZhBCd6kC6C/kEk8/9jAC95ntcgQY6CKXFD8t9tqCEvtPMQ/km87jhZswDm4xGZrbcjsuw9noqe4N6tFRDhDOcfnlMd36KsY20Nw0DgZ78z5GJ9O3pqh7ehECG/g7Nb7oY9LPgSs8TNOD3Br8F/BNsD2UBuDjLtywhUrhN5hLNR
|
||||||
|
|
||||||
yfLU0+Du7dXXFICSOiE91gIhCYIabg4IZ0DUbpodShvoDgehpJvDlMAhAFMBvgHAAD0HURvgMQA1MokBsAC8AfTjUkBCuDUljlOCrtt80TEEPAVKq5ciQMTBjWGWAyYAPpduPvgdql+lHEH8gAuGhQJ7p3xRMAs9CIBid98B7snQX3cArlX8lRhl8xZvD8w2hQ8kfiR8blkldWfkBJ6plQVQwUN9wwUrYuFCsQcMGHcmVK/8FgehwxYnrw3Wn+Cr
|
DPmithOIr95AY5wVfhr9MwWoCiIU9ZKwfxcvXi+9qksuAgQHUQpgEecVzpwDwaoXhYKBdEgcAGo40nhc/1HLAd8A4cVEmaZtNm4U7BsYhOehzBlbpkDdwbtcDFkT88HhdtNQeTZPGmA9dQeep9QTE80FNeCTxhy05yL8Ao9pasC/tPoDlrmAoav14jIY78HML3xsmuxsw3rfdAIUUDgIfcZ/VOUDNPjFdqgkM8vcPuRbgAaJKQUCBKQYM43IR5C3
|
||||||
|
|
||||||
DABCpPhvwswUvNVjGBDpfAWDyvHSC8TPBBFIV9tSLH1hYRLEgckO5ctIbMJAyJB8GwT88cliVt2wev88ofg5OwR89zvkscYGvC965hpJ4QMQA7cG8AgQPuQAQBwBV0MQBzcAqBSRuE0yUm3ZlmmrwpwVhwEgJiwVYgRNQiDat5QMeBQEFoJ1GGuIdqq9gGWD3VGeo7AOSp4Jb1oO91+haCXOvuDe7lw0XQfECPNlcDcel6DsvueCYAVQ8rIcdMZH
|
gF5CfIfaU4rm39UzuT5IynFsCRns8Ubpe9O/u5DPIabhvIeyDKrkmNj/ssDWuhpITjlMAhAFMBvgHAAD0HURvgMQB78okBsAC8ADzrUkCCp89/QMxDRBqq0TEEPBiYJQRtlqoI5cl49w4NKMQivR4o/rchien1hYRF1ZRMM69CIL6d98HecGXoT8CnlLdSvn+kMXuE9TwT4C9QUl9LwVPV1IQZMG5rsDQCm+VHwZI0QHErEAZpqBlggF9DmBdppa
|
||||||
|
|
||||||
rZD0GnukIdt4t9njfUQHA3ch0j08bpAYd/vruJykA4gSuI3ltHIFCufsFClSKdBk6k89WAYQd8wZd9j/td9C5uyhpoWSI6kHNDKLipB5gIaBJHtzkvVHcVGwQiZmwcd9StqOddvgVC8WC+8YPLOd0TLocyoWAQefBpIjAPKd4gPoAzwLD0bWpOCpQOoJUkHdBKoPyYYsG1wE4M1h7IAx4crEOVBYIhAlntqkmQbuCjNo6CDwekdtodHtT0h6Cy7m
|
BjJlQKPsbIV18N+HZCLQMQJHIT099XlYZIIQhNtATFBuoY4g/kD49A3rEgckGtcRobMJAyIwtMIeo8jPjhC4wbp9tOARDKLmmCYPLo90TPo9uDmAQefBpJ4QMQA7cG8AgQPuQAQBwBV0MQBzcAqAyxkc0hUm3Z6Woi4hik7BMWCrFTuu8DKXmBFjwKAgtBOow1xKfVXsAywVaIXw6ULlUYQVYxfYLY9uUF6olti6ccAQeC8AeIZjwRcdrgbvtfAc
|
||||||
|
|
||||||
4CK7ncDz1A8C/QXbVrwV+tffl3Nk/sSdxPkFtSwPTBOZFsJUwBecZqqEIakNrtvoWUCshCFD+Xl/BwoX/MoNu2F2wq01KOugBNPvbDUAI7DIss7D2MuhDGLpbcYbiCNXbkJdBzBCNPblCNhgRABXYe7CdSp7CKIf7c9AUk8DARpIFQNiASbAqBsADMA8nnTC+BoXgyINTBH4NJA6kLVR2YfKArtgsZqUPRpcWEW0wIlghQYH9Cv/ru4L8nAC/LsT
|
tCllgwDmHr5lGZu+k31qicQwbtDghCaAUMlwkTISdprjHXVoYOUgHEOzsrIVYYroZiCboUqRToA/VdXo9CtPtUEXoajNjHtZ92UGzCyRHUgAZo7A6cg14+Ye2h1BlxcMIRWRpeuB4NHuit9Pi9FEwcoDNfhmCaDu10kYWEAUYcbgjAC2d4gPoAzwM71IStgNmIXwN6oZVB+TDFg2uAnBmsPZAGPDlYQioLBEIBvV1QIDg3QfPgVbtnc9wVJCpodX
|
||||||
|
|
||||||
9+7ngDxDMZClFp+cEfkR8LIVG0QdtI9w1udC1amrwpXvT9GWJ1wZIUkodhGp0fmq3waPqmCbAemCr+oBCQoTjA29jbCrDFBszKp+M2gO41WOqB0P2pO1AOiJkmOloUj4cJlBQWoAxPNYRdXpM1BnFvDkJjvD32qu112mx1osofD6ssfD1CpwV/2qoUL4a3Q2zPoAb4SQB4mseg6gcp8/YS7dNfoHCVnAMC8hvFVBdvfCXxo/DKOkB0X4fvC34TR0
|
dS3ui9BdgtDYfjLD4fgaC1IaAcNIRtDOWkACnrhX8C/vBlGsIdD+DqmBL/nJBQhDUhLoVYNroUeBbocv1J4XiCnoWfIhnu2F2wki1bMugApvhABN4agBt4cFld4W6NPNqFCp7r0E/OkvcyjivdegUyCYoePID4UfDJqifCUoWOc0oZAkMocbhqbiTYFQNgAZgMC8M4UxCljPh58wHyY6kLVQC4fKBRBgsZqUPRpcWB+0wIlghQYJbDHAWQDrjOND
|
||||||
|
|
||||||
z4SfCAOh/Dz4dPR/4dfDzXrfDxgRxs44eG8KocbhtyPx4XcF7hqgLUAm6D98mbDhgGoJ3VJ3riMTtqrJoRMFJLSBhRcOIesi2ppBJ8hLkuoEK9LQR0hKXkT9YgS3CgQW3C7mh3DTIZPNDoT+dYAZrcGzoNl6pvYV0DsUCxHi60BVu5DfdNzEkGqfVBXvMCdLnp1pXr9cgoUeAV4bUgKoOvCz5FBsPGh00Mmt00RMgegAQJ1VQgNiBJmkB0vEazhY
|
C3tyVD5mn98HkeD2xpLD24UH84fom85YUw9GMiw9GZmrxdIbCdjKloJkMJMd7vsgD/XtOVW+G3ob7qbD54ebDF4ZbCcYHgcJAWvDo9EM8aqh5M2gEp00ujR0MujF1WCnF0tOpwUMCjp1KurpkGwWoAxPNYRHnhFlBnCIikpmIjouul0jOsp0ZEewU0CvIjyOkoiVEa3Q2zPoANESQBTMiY5CQefDBnl5MBzDld4bnlcGQdFCUwvlt1gNojnJrojk
|
||||||
|
|
||||||
wLq9pMi8BbgJ4jmAN4jgEX9RBnE4jlgJ01MmsJl3EaEjwkcQB4mr4iwkf4i2MIEiRMsEjEkcQivYY40MIVwDegt0CiBn0Cg4e48CIb69fWNEiOALEjXEfEiPEaYEwkT4iRMo0jsQOkjyAOa8gkSEjWkbkiY4Qk8qIfHCaIZrV1MijNlwIKCGEQNd/QI7VXcgwkWDMs8pMOaYKaHYgHEL2xS4I38GdG7BIYMRxOSDbARHpaCdoC98HIOk89wYCDFR
|
yhIjDOrOZOzIYi8Oql1kujwVZERYi1EdYjl3poiLvhVsrvif9KIcbhtyPx4XcF7hqgLUAm6NYD9TDhgGoBg0d0mzRdPNCJgpJaR1tsv0Qin/Q5bpl80+DW89pivCHgQ6CxYfgik7hADLjjcCjTgft7gcdFe4etCdgZy1VCp9t2vvhxIkNWJx4ZiluYkbkOoGcpVVhwiAIVwjlPlkI7IRthVYn28rDEM9dMqi01mi809MgegAQKjVQgNiAIsvp0jk
|
||||||
|
|
||||||
rIiwAZ6DZYen9nmr6DfzsrCCLjeC1YVrgqoBQZHlnCDXuq0g/vidp9QPGCHLH5wASAzBrVvPDzERiCOzvQDW5pntQGnQR7EdHooNlrJc6IANrZBJo4RsZoAAISDOeFGIoheTIoo2RI8dFFoQnIwE4QZBDIXFi6VUX5O3Acz+wqBG2vGBF4QkOGI3DQH/9BFEoDOgYoovFE6A0hGTA6iG8g43Au4bciJAc3Be4CgDKASVQAgZcC3AU3AMCJdjKAB4
|
azhYwI88n8i8BbgIcjmAMcjbEX9RBnFsi2eE810Wrpl9kbcj7kcQA7Eaci7keci2MJci9MtcjPkfEjT4VEcAbiVV8hnfpXETP93ESs4Vvi7cirsd9nkcsBXkbsj3kQcjTAnciTkXpksUdiB/keQBl3lcibkXijQUW/DH3nvcqlikj1gLcAbMqnNlwA2CckXb9BZjDlGEiwYuXgakFdtgov8CXhe2CHp/1CzCaWK1BVxnxAdFpU8eYcMMEIBb9Lfr
|
||||||
|
|
||||||
BYVFob2sdYREFKICziRFy2g6QyUXHGCagYDb83Qr70wQ0C3SJiAlgJ4AVwmlhjpUFA6QISr5HS+QRIHwSA8DFwSImIHOrLaFXrHt5NPVbb7QruHQA5RHHQvuEs/Ko6vcEiZKgV5Eb3brwTYeaynuUtJBQH5FbCcoL1VE2ziYS+Z//QP6fcUb7ezIb5LBBNYzdHdTRJH3iubcpIl7Ld4DzegAxgWTY+8VdBGAU3CkAcYDKbIEBW4aoBGAfcjOAYxo
|
gJMEQT99wV+FcEbJDgAdD8iEZ0jg/ncCCXtkEGnu9tFYTyoqoBQZ3Fr6CZoA5FjvDdIuuhJUq9AzAnwvMjo9GbClkSIDgDkogObJi4KgfD1tHEM8tZLnQAhtbIJNEGNjNAABCQZxeon1ELyP1FGyJHhBo4KGpiRAaDIONECsGoFuZe24Z7KKEL/ZkHeIvwbeo5IZ1Df1GRohYGXfGq5Uo0GpkpbciJAc3Be4CgDKASVQAgZcC3AU3AMCJdjKAB4B
|
||||||
|
|
||||||
pPfGphzQmrFOYDizuJZG5XEKZffYvIaSXCKKQAYC5oiZETfA3w2zfZTXbOQx3QL4GwYQfTosA1GbdW8QxgxcYC3OIAmmG3IRISpbiNLhQOovSGbQuIEuo1j5Sw5p4eosyGI/O/Y+og/D9wnPbqInlR3IYNFawkV4f2R2AZA2ME+/PCazhRDTFYc87Aor6FLwqxEOYTtGzAJZF8/WOa2w1mpyFSrLOPSq7y/empQYw7JBZLR4FIyDbfjbDa8HMQH8
|
wVNkb2sdYTf5KICzicmH3GaQwe7HGCagI2ZTgrHSGgW6RMQEsBPABBE0sLUDd8HSAsGXaZVPAQ48xQHircEfr1wySHmHaSGFPGaGtw9S5qo6WFLQruGqQ9lw6oh3Y+KIqZKgQ1HivBQITYeaynuAdJBQfUAfg33TlBZjYm2cTDWLD34tzTh62jDgFCXQHYy+XCKKQAYA+8U7ZDJGV4fGDSQymGMB9bH3iroIwCm4UgDjAEbZAgK3DVAIwD7kZwDG
|
||||||
|
|
||||||
HHX4iXNBZ8ogVFCokVFvAMVESoqVEyouVHqA8eRoFegowYrq4lVfpEkzKYFDI9YDfAM9r7kO6LBocYBwAR0DKAPGwhWEHTCo+Tajorz6qojOCzIwlRbo8+rYyXHKFYfVGUIWmAF8XAQM6HPD++bOCHIk4p7osWGS3CWGuo9uGWXTuHno7uGXo5H4nQsNa3onxSBovZpaI+ByOQ56KnuOFDaQAIS/IgXwVTBMGa8BSAygI/Kmwof7NHMdHseegAUA
|
1SuqmlSDb+1IBpOo6+obEARF2w5x5XpDSSAYmJIgYplF8/NrL0LfZSN2AWLDFS0GwYQfTosUdF/dW8SCxMC4awROCN6QSA7TK+a1w8SFNIyj5FveQbNw7dESw9O4dI/dHKQ2WEmnbVGl/QK5ASc9GMNazZtvVu5kQaMx7IZYKMI6mZpKRDQllOIgmwhZFhgheEOYYDizuCmjNQ1eEkY6XzCIyAr0FG/JaIxzFX5ZzHRol1bRHQG5rvEo50g5e4QA
|
||||||
|
|
||||||
N4B+AURbbAWf7ttSFHYcDCAwoz7iRQj8rRQwsHAoVTFqY+sFeoNGHgeI76B9XGGlrL54dg7sFdgxY4rNEmFhAMmHG4fzGBY5QDBYoTEjbfUwyGNUH7RK7agfc0xPSZcYBwJPr+wE1HfCLoCJwOtpdAZJR6wdDTXzDTEbQtnqHom67Hot1Fw/M9GKI+4G3IlREmYrW7mY+9EEMK6H38UXLoyTHTR3EO4sLT9FySLpYoArzHHjQCHAYiLFSQKLH3MK
|
BLaeI9AAu4UtHloytHVo2tH1ot4CNo5tEHqaYGF1VzEwFLZ4A1LG6LAnG7pQ6lGgvYrr7kO6LBocYBwAR0DKAPGwhWEHSVogbbUYs/7kwjOBsowlRBtM5TmmfHSfqT3a0wAvi4CBnQ54f3zZwaVGv9IWHzjV064AjVbiwghHSYqWFp3TuGkIhTG9Ik9E3ghpjno6KzqY1WFjhVgFK2EDCLXXbbLBKmaBfLBAKQJ75F3VwHVBMT6/o+q44nKgYUAN
|
||||||
|
|
||||||
DbIouHjCaXrRRaBzSwrcAaXY12ymyG7GO3Ri4FXH2FkHClEiAjDGILQz44rWBGwzFjH+ZdjGcY7jG8Yooj8Y5QCCYgXZhwi7FXYp7EGhF7EzNbq5O/NlbkIhOHG4GUwlo+QYPActGVo6tGeHOtENoptEKot36IuXbjvwMpBpYN3L+7I7wUEVt7l4DtoZOKcKrTORKOQKr5bHEd6fBW8RlQa84NVQbH/7KREGQ1uEUuXTHgA/TFTYhWEzYq9EqwyL
|
4B+AHNYknJiJ4YrISWYnvi+BeDZOQyoHaOB2G8nJ2EOvPX5+Ic37SoswG/4LCHY7cGFhwtHZXFHDZww9QH1rOOEoCTLHoAegBnYi7EjLCrH07XVQyGUcH7RUQYOHBrEdZZbgBwRMjvYZ07rTMdrzXBw5dAZJR6wMSFeXCSHCwwEGKo4EFDYtpHzQ4epgA5D4HoibE9Ig/DTYvuEDIucgoQS9HDw2hHaQEXwOoJjZ1bdq7ddSdocIT6yFNT9HaOe1
|
||||||
|
|
||||||
aBo34CPo/v43QwYogOERHSQWwoh3eGIQ9WarmgLRj7YugFpoicGtHGXzMAFIC6SZQCfAXACSgULF3PVOrw2b+CnY9+qfvKKFFgiGHDMVnEOQdnG5TClBCMI1E84iggNVVGHZQiMZvPazHIxZloSAPDGCo4VGio8VGSot4DSo2VEHqRbrm5derfNTNxhQVDBbotQTJ9FsDCtd3pPvcbq4wp+qnfYqEH/ArFwvUmEUIlECm4/UoW4zRGnHWnjZwlDC
|
ES/I8B3Y7DhuedZHrw9UR+ouHjCaXrRRaBzShrMIbq412ymyLXEJjREYhQrzGQo8KHlaXzFuI+kGBYtNHrAb4DZY3LH5YwrHFYooilY5QDlYqvYsgt2a64jXEG4g0JG4j25VXN55FomsHG4KDFwAGDEPAODEIYpDFHHVDHoYzDFto3po1QpYwzuXtF74IXrGwc0ybYcZCagE4oRNJbLabeRKOQYxjgnVj6fBW8RlQW8Kf2XrETQhVFCJJVE13WaF
|
||||||
|
|
||||||
BQRFiwwThg042KGlRM+aHKClLzcNlJmo9FxHFcnLt8YV5rQ05GZHEXFyIvTEKIiy5KI4j69w69F+os6EBo+9G/AccGaw1K70/F2CLiYExJKZF6uY/z5v7Rv6fQ6oJmw494QopkTOkQLoEHF57VBXR4j0AgCDOVgAd0R/EEooa7vY8lFYQ8rT6fXoGNXdAD2vHDGLRTHFwAUtE44itFVomtGE4xtEUYyx4P4lurGRDgYo49G5o4pjGzrQzLLgA9AH
|
twxnE6gpQ4ao7pFaoqbFKY1n6vcc9G/AXnHMA9C63o4IRdQPkwaQKuZG5NLDEvCVBzw37bgYxiEnY7uwpAXSTKAT4C4ASUBCAi0rpwXbKaCG2GN/d1H2w7MFQQt6E2QYvEOQUvFCnGyBCMcdFV4igiZZPipBw1FYA4xHowNTHIxtYLGhYitFVot4A1outENoptEtojHps9VoqVQE3oMaRuzzhdqDr9FKxg6CnowzQ/oRw4z64LYiExwtXiQ4hOEo
|
||||||
|
|
||||||
oDiYDAIECSAfcgPAAEBLsA4BLsUEpe4a5gk4t9BKoomhk4liCzIyaY8JBliNYnhIl4c7yZmAv7tY0Wg1gFr5CwuoqbwcKiHuV7r6gY25j4+E6Hg10EJA90Gnoq5Heg6bEXgx4HsuG9GFAhbGFGJCAK4wb4KBMNHEWYsCfYLkiDrFzF/I3gCngSd6rjPXFgog3EN45LbrAZQAwMU3C4AF4BLoCgTW48oGZ7QSA/FFgHqPNgHlQ9HFWEmwl2EhwmVY
|
gFfF+ldfFDIv9G08QvCBnNWBBQLgi5gThh6HI7yK3L9rBSW8QgWJn5gXadHkEYDhkwNCHk4o1ZroqnGTQgbEenVpFzQq4F7osbEs4i8FkIxTHIg1r4qY/VG/ABiFDwtEErY9Dh8DHeBMtSZGqBT8GKGUj57YkzF2oxZFy4izFOo50gXdWzHOQ6bxDPVgAd0AgCDOUwn+KY9AOI03FurKFHzfdPaRQzug24524M+CUD0AaDFzDKPHwYxDHIY+PEYY
|
||||||
|
|
||||||
8cJk40xhR1G3wNVS+DmmZiCJSBrDCxNkpDpXmHbECgjnVdS5iNYWG6QzTHOo0bEMlUXGXIm4HuAyu6yEo6HGY31HWQ/1H5CQNFvnJs5Poqs71YaLDpOGNGORAwmPwbRiE/JNFpglNEAYn6EX4o1RaCEzw34gX7aOKDbYIsgqDOIYmnZUBHgbFDFMnQQo/jUQE/Y8QF/YulGmfNAnMADAlYEowA4EvAkEEogkkE1dBkEmAnYSUYnOZDlFGnLnwu/A
|
+LG+sSwnmEhJFe3FFLZlL+EVod/LLgA9AHoNqYDAIECSAfcgPAAEBLsA4BLsGYpe4a5hJ4t9AdoomiIuF2C7dOFgQoIRCcQj4HtZXhK8o/iZEcV8IhFO3zk/QsEXlTeDhUQ9wmo/UCM7ETENwjdFNwkr77lKTHtI0bHxvEhHCEybHs4nvG6os9H6onowqwoT7Xop8EMie3qfYLkhuPTbEnQ3GKngKgE9ZOfEYnI7H/rP5brAZQAwMU3C4AF4BLoC
|
||||||
|
|
||||||
cHxlU3A+AcYDVAW4DKAXdT4AIwAwAaoDYgTgiEAMewBE8BJTIqUCPiHVqU4vbrGwRrH5bWTEfib+CoYXmHDYFVAtrU2ARYScqXyK1bTcFyI8MJ3r848W76Qr8L1fHaEp/TL6TY2fEFE71FFExfElE5fFlE+9HPCPPbqEpXFtnFXERYAEKN/blb8bT8GdcaWD6g34r+Qs+Rn4pb5LlFwm5SfDAO4+7q4meLFNrA1D7uARBQkvigMaSsHwko5GIk6L
|
gRb4wVyWYwSCs7B6EH4sfrIwyIkSAQ4lFsE4lnExHHjhAommMc+o2+TLKXwbPEQg7HErESWbDIQVHfCbYgUEZnIODPJr5/Tonroqj4WHYn7p/Xgkt4hSFM4pSG56Q9Gh/VaF9I15bno1S4yEjTF1verDRYdJxbCOYBkTWvTbcdx7S4g7HaE4QGS/YA78YwELEYown2Y9UQRI3TooFQZwck/DrWE/p6OIod7gtGLaOEys4DmFwkIotwnVAaImxE+I
|
||||||
|
|
||||||
CyQQPGHfC7q5QjJY4w5Uk5Y+KZ5YmtbUg3sHcgrwmoE5G7fVCoiSACgBdGaoDOAJdikrKYB2gGUEVEL3Cx3RYJUElVGiTdFzi0B5Ay0HhJgXXHL3DFgnXaY1DnVRTE0sQRF2eWryOeSqL8IE4o1gHWhuwJ9YnI0Qniwo9FZEqfFi4mfE/HL1Hz4vqaEk06EDwlfEqEmH4b4ikljhTQlBbV9iltDbG/JY5EmAxdRIYXcSM9UwnpXcwknnfe4y+TQD
|
mJE5ImpE9ImZE7IlHfL3HuMUxGKIyjr5oxJGFo676h4qKqm4HwDjAaoC3AZQC7qfABGAGADVAbECcEQgBj2d4ngJFPHsJFUbp4lGy60JQlDo2HYjonthixdu4b4NWbDYFVCrjU2ARYRWy7uMEgdUCqwmHGWa14rBHXdQE5IkvcL04/gmt4s8G3AzvHofMYliEsv75Cc9HPCBbGzEtWEc5EBzCIAEJF3OpZ6wwO6dcaWBzg5EqaEz7iy4+kny4xkm
|
||||||
|
|
||||||
YLbEA+JZQAX3d0Z+TMLFMiV7qPQvon4gvtbcbDSTNknIhtkmbaZwxvHfEjlhcQY0A6EdxyK2DDB+AqQwCsKOjpwa/GFnbYiaCADjfbHdExXFEnEYQXHokwyHnI6WGuA3Ilyws8F4ktMmkVGXFr3QNEHodfGVEzfERgpXBSQaA7RkvQ7KgAFJ+UI1R8kVkn//AKEdE82HLfSFG9knWbVA027S+KDZ1EO3DBoZcClKfAZyRbCQwUuCkIUzq7IYj/FF
|
5SfDDK46PSvYz7H2vTXrbYAMlHuLl58UBjRsXMyrTcFyI8MTfqP4/7Eg43CFGveMHIE9k5a/bR6kQhkxVgiiHFo43BvATWoVESQAUALozVAZwBLsDgBDLO0Ddgiohe4a+6LBPIldowWboucWgPIU1Kf1MVJYQaGBVEkDTdQYKB1EzSAjCWryOeSqL8IV/qsbAXGWgLrpyogEFcE0WGDY5Em7olMmLQuTGYklaE9wjnH9IpwFG8Q9CD44MFjhG9H4
|
||||||
|
|
||||||
XL/EzE77EGfeYnGfRYl4rN4AGko0kmks0kWkq0kpAG0l2kj1yVI9YAoU+CmIUhAlEzE4kfJSWpV4iQAZgfcgUxWGqk2CgnP/fUzSEWZHl6X4IVWRrGRUWTGl4DtBG+cEklWf1RjKFRzbTUfExk2C5okwRIYkyWHjY1P7SEg6FXknuHpk28l3olQm0wqzFNCBkTHgJxDLDKoab7T8FzwPiDCMWsmc/YClcky/ErGHtGP3CDHYSeTKUFOoi9kTT7eU
|
cV9jftWaD0rJ9H6Y8y50oaxikCOsn3MQ7F/bCT43pdjyaAIwA5EXxLKAcR4fjMFbFOO7Emo4l5tk+OGPErXC0U7ED0U0J6L4x0nZWDljoNTNKMwdxyK2DDDtZBw6pAW6Th0Hr78fZVLzIMmqBqH3xoI40Yxk+VGNw7gm0fRMl8ErUHQUjuFCEzVEZktaG4k/VEHoaQm93PnGv1FmQoZSkQWokXE6wwL5+UI1R8kWsnLHayF0kwZoEYzfoP7ACqI7
|
||||||
|
|
||||||
/gq+U8tBv4hi4W3D7HYUylGQI6iSlI2lH1aSU4VI634BUv6hBUtuzelRAkTA04mMYnlHrABAAUAbEBn3aEounegBUw24DpwNgCJAIQBoMPQAfEh0mzERFzUIRKJwsGB6q0D0mvhBoq3ScOhrk9YxDlLrgjCYMn2gpv5fEMMmHEbup/NTUC4CNIlDY5SYZE7t5jY7Ikyw88nXIqWbXk+9KGU5QlG8BUDOA0ylRpDQm2Y4IRpwSKjccfWFfIgwmbYK
|
NknYSOoh24YNDLgUpRtDK27rAYKmhU8KkY3Ad4Ckkb7OIjoEikxb7dAms53w5G4vJTcnbk3cn7kw8lTAY8kpAU8nnkj1y9nX1jRUsKkRUwPGpQp97JItcnrADMD7kCmLW1Umw5EuV5M2aQhso8vS/BCqwNYyKhek0vAdoHBrabT8npUDGRJSP0wb4IzYaU0Cn144t6N4luH9EhnGoktvEnhc8HGUiTaZkkV7KYvvH6o9OHDI+/gMiY8BOIOcb0jY
|
||||||
|
|
||||||
sR4lPthskxeGHPDd6MImdYrxTCpunWoB3gJwkl1UCkH5RWx4ggtaV47wkeiR6mNuV9ofEl4qO1AHCKgAviR0XSBNvHVF+A+Lo86bupIYIFFsfduAlwXuoLIZGFqQ3dGNwyRFOokbGzUhMkXIhakhnJanmQozGWQ4omZkszFZMQNGyHPMnaI85Y/WaxgQOQdb6Ig/EhCH5Ghmd6hXU9okHYwDH4kYDH0E4mB8ktV4MU0pT7kAYC3AGCmDOEWli0iW
|
XGqEzDD/knmrbE7n72bR1FMiQrDTlDin3MIZ4sdEAp1EXsh7wt6n4FD6nloDzFnw2wnt/c3HQo2kFW4/zHwojKlr3OMrHfb6l/UX6lt2IQqNdTkFJIjLH1UnloUAbECiPJYobnegApw24DpwNgCJAIQBoMPQD2ky8mzERFy6rNlHIYZWgCgodGpUAalyU/AhtYmlifkuzzfk6C5CYr4h/kw4jsld4aagWVFc3OvFaU8Ck8E3Skok7dqpkrpGLLUY
|
||||||
|
|
||||||
lTXG8bewsKmf4nDo4UmjHUo0pEAE/7FoLXKn5UzACFU24DFU/QClUpQYVUqqlWAu5KC7aWni0yWkkI1ikLNcobYRHhi24BABW4FwAAgHdApANdofaXjIzAOWk0LbOaO1dGB3hMcqcJejyNY1miSUk0yckaOY7VMA6rcNKTT5BK64sXdy2XcfHS3SQnuonSmeoufH6Um8kPI1WGE3Danyo8knXQtEF7U2TDAtO6ARMPfFINLRhYYREF/o0/FAU8/F
|
mmUyhH6oi4EHU7vrdeTCl1vNOCRUbjhbCWmH5leuznuPZDUk9uweUzhHz4ifKuPPh4eiWCpbnWoB3gC4ksUnynFA56mYEi2kvAK2mRde0lQlWeoA4RUAF8SOhs5SIFTlc+zY4i0ALKcIRlwnN71YXIwPIFDDkPdgmU4vrEiwmnGHg8WlQUlalS0jvEy0tnFy0vVGFGBUBtHAkkjIut4/WaxgQONx4B3C6mHFJ6BzjfbHTeBsneUpkSSzN44sk57E
|
||||||
|
|
||||||
AY0ClZXXy4bfGoF/zGLEJjOLHZIZIBx0rgj6guvQwvWahB4mratgg6yqkgc67/AmElQ8vHQfXUnZUiQDOAN4BoMR0BwAOogPAYgClKNgDBoaoBtJN4D48N4ApAHBI1U5CbUE0SaCMJKJwRDFxu5MOlSGEKArESaYIUJOhFtK3xqYlMiZA8wjQiYlHEohlwo/VSkHo6RFnIyfEE0s8lE0mQmS4uQlKwq8F502XH3oqsbLYpXqhosunv4K+zCpfl5b
|
uQ9UQVU0pT7kAYC3AYKmDONukd0runk3Y3FTNIkE+YzoF+Ym+EBY+f6uExaIIADGlY05gA40vGkE0omkk0/YGlU65690zund00InB43UnVbDSQ8MW3AIAK3AuAAEA7oFIDUdD7TqZGYAD0utbtdWerowO8Lnefkz0wC3wB0zrIOoQamckeBbFPFxyrcNKQwbbiqvdTwSrrZpEQU5OkB/AQlDE8bEjEzOk4k+Wk501tH5k5WlLY+YmyYHVpJPT/BJ
|
||||||
|
|
||||||
CNarTw48CR0fA4N06bypogtHpok57YRbABLsapJW4fQC/AKsavUkClMiYjjTKfsnfUorEcU/wwUMpbbUMxBkTkr4mDTZ2qrjbQmemQGBWbPwFmqFcmR0mUZDlICo++TrifWdJxRXL+mY0gBlNww8nqU48mgM08nXAiBm6UqBmFEsmkZk0zFKEqmn3o8gnF0lbFeed6Dr4fQlS4dukVkwPQqVImD8mRymWIzokt0hhm2mQGEeE4GHgQyDHhPOX6UY
|
KFQmmQ7YRaMLDABg21H1krymXEgjEfXHa7+UhR4QQ4/GvQ97HdkjiCqpP+lcEOcF16d14gw5MEsnZQFA46GHmvWGEKNMz4Q4z14PE6HEQAZwBvANBiOgOAB1EB4DEAUpRsAYNDVAdpJvAfHhvAFIC4JMmlJTfIksoycZJROCLHpNJ7lEiKirIBrDCxSVKrEKpFW+brEpkCVHQieNGDIfHEgUnPpzU8TG9E9JpLU5Mmp0mCkYk1nFd4raks/CYlZM
|
||||||
|
|
||||||
srLjE+i6KlTCmYQ5WnoY1WnRUv/F2vbDGa0xaIr0tekb0rek70vekH0o+kn07S5DZMOFoFY4nO/LKlDk43DTARXwDASQCYACezSwc3BFEaoCaAF3AcAKYDFKf350RWqkEUjRbbwdVE5gnWhDQz2q45dGQsEvjCaoXSALgl7a9UoMljCOry7kkIQmQI5ERkhzGWgD8mTUgXE404BkT49OkTYzOkGY1Mk501alwMu8n3oku7bU/oqFk59EWkCCzVDP
|
c9HUTGYnIMz4yq0uEFX2FUbKgGjx1bTqBFlY8CR0UI5/vf8FaEk2l/rM2lSfG4BLsGpJW4fQC/Aaia20/DFMiYjjTKJumH40jE65DSTYALJl87XJlBMoBEEEqUCl4C6LbzYKTEvFwqPkjtAyU7zzYwL+lThSQw5IHzyJIEO5y2GEkYfLDSxk6j4yQpvE7oiBkGU4hHQMjanjlLOmTEnOnKkpWkIqBkSnQFWJm+d8HpZQrDwdbWmG0h/5EMszHcI3
|
||||||
|
|
||||||
Q7dQOCrSoVXCx1Zxm4hesmGA2JIaSFzY5ASwB7A3o5MRdtHOEuN7T6A4bMM6YrFYm4A8AF5nyDTq4j/DRbgvPEpazfKA8QRrGJIBdF72D9SQ0/hGonFfoPQZJSKITyEQgzcb7k/y5Hk4XGrM7SmLUyBm56aBl3I2BmKEwMENMQNGjLWmnmMjfi8GNOp74mymqXfUbnVRmCKSLmn3MDkkWNSFFCPX5lL/Twmwo9UQi0gGoeI53g002DHjyEVnbkMV
|
QlFM20z748CEbI5OqQFFzHBI+xH8kwGlhQpNHCk5LFg08enikyGlxzURniMyRnSM2RnyMxRnKM1RldXKFLHfWOpaksIndDVMbYRaYCK+AYCSATAAT2aWDm4IojVATQAu4DgBTAYpR3/OiLk09KkG+ahBggi+DwUHWiHMySkdZOxA1Id4L+UMonFPLrhfksYR1eO7Y80h8Q60FbaC0uJ7C07onaUkn7iLdxmS0zxlqmOCkiE7vFZknak5k/VFAPdZ
|
||||||
|
|
||||||
m27IJlvYxWlYU8JlfYyJlRsW14a0wilM7IpnMTUpnlM13hVMmpl1Mhpn7E31jSs2VkSs2jHpUzlGZU7lEFM9YBvAfABIQNgAKgBQaHA0gD5JFJIwATQCI1GABF0+0nn0x0mfNHfDP7IjgdoXDAhAwr5G+COmoNGUb+khDSBkmrxjMkMmWg4akPiSMlzMian/nfdHDY5Zlp0k8F5E+WEksvRkL4tanGMlQk03WXK1HI5n0/fZBhBWNHvghRnbYqIg
|
l5FMJm0IsBD7YOFhYM6JkXU34I5WTa43U9gEUUgSnwHY3AnbHICWAOUFXYsk63Yp1HlPZu6lM+4mcU4RkGsjgBGsjG7pM3gZsvGP7bzfKA8QBrFDMrplpYFyzIXZVIdpTeYqxZ+bfFUZn3HSko8s+Embo6aF9E4bEDEyBngAoynpkzanLMgJn6ovlb50w6mccXgzSpLBnnUnBn0eJ86CIPtikU/u4wdEhlfvafSWswwnN04wmt0kKlhUjpoHI53h
|
||||||
|
|
||||||
lgT+B8gW5kGGe5lgs9jy4ACohUqT3jVAX+R0MrklKkc+ZHYU7EAsxti9szQD9s8iEWE+qkTQLiBzM1YiikDvFXLPMA86eooH5fBlsfbYiHCDGS0wQHypErNnpE3GksffGmaMvaHrMiXFFs/En6M0tmycQNHmPJ8lyPemkRlPGQ0eBtn74gwnzhbm7bssxH/onmmuMvmnCMb9gCrXVJeM2/E+M5CmwU+CkL1A4AsQv1kWPaDmoUuDkIc+Vnm3f+a+
|
50iG5D/CABt0xtlVTdfZ8kv662TGI5OIqaQW40ekfMnZ5bvILHxzKYAIspFkos13joszFnYs3FmBEqKn1s0pSds5tlQsnel1UvUkvJfABIQNgAKgeYaKg0gAFJVJIwATQD21GACIMi8kaMq8nKtHfDYVIjgdoXDD+02DAWgd+m3SE0y9MlmkIaNmk1eZlk/khdFssgCn804ClC0iZkIkqZmLU2NnLUoVmGU2CneMkylwM7OkoUhO4Pg4T7ysmylb
|
||||||
|
|
||||||
wroFCnH/EBw9VmxMzVmwzB1lOsl1kJpNjAesyQBesn1mIc82lhw6WldHNDk20vJm2s84nrANLbOANgApAFqFceEiCm4bAAHocp6/AF3CZ3B47keZplt2R2ozuF0mcsYjjyQRrHawSSnaQf2CHKONmi0Y5AHKKSqaoU1CgRCEkRA7/YFWXFgLM1ElAMoXEyIjRlSEolk6Mm9krU6sr3sweEbUxUG0s5BkFk1Bnv0Kd54eZlkGI8UZeQ/UYCQDCB/s
|
EHpmrEF9HjHC64ePZyIlgT+B8gLVk/onVn4E/YmNsCohUqT3jVAX+QFMs1lKkSxaD7atllMywEVM9pjUczQC0c5KEUcymkTQY8o9Qe5AlAigntZBSRB03CpJ5RJllvTH5qwQ4QYyWmB5/AWpJ0Bxl71MCmJ0lpHgMkAFzM9VHDExZkQZFNmycc9GzPKymyEkBzU0CJocNJJQ5fHWmLqecL53aTlHMw4EnMwoHmY/EgPlb9gyQLjHRgmk6BU8qkrs
|
||||||
|
|
||||||
1okLw7mn644hmG4xsl8gpdDPVA4BvAdMrvM/o5vUpkStRHljjsthkQAfkFRcmLlrAnhn1U+M7fpWaoUIRe5t3Qr60PHnT3GCSY9U2YDvbUD4t3PWCkArIFY0x1HOg09kaUnTGJknInaMrOl6U0mklsnZlGUjakirJzkIqfal4uIfofsplSl9C86AcKFGc0gCnskpumckrom98OZIXvIGGQcqCnCsmDmlKR0DfAJwGroMiFvAW4DbkAbmSsjbmoU7
|
uhoHAAqFXsuZ7jyXumEnYLk9s1v7PMi+F1qS3Gwo63GT0iUmLRN4C7shUD7sw9lsYE9mSAM9kXskLngs1UnhcoLl1EfLmY3JGlH/Wqmo07dlLtGADOANgApAAmFceEiCm4bAAHoGF6/AF3Dv3NU7keAllt2Wepp4lrbccO6Hkkx8nawAamy5NpkMrGTn1YZwRBIVrGmoUCK9k3qF7EdOB+vWEmcEpxlKzFxmKTNxn6UjxlwcrxkwMnxmGciQk50g
|
||||||
|
|
||||||
bm7c/bmHc47n0nDDlkopVmqRb/GzEvClYYiQHlIuGYwADjlcchUA8cp878cwTnCcq3CicuQ6EQiQAisnbmOgPblNAg7lHc3Jmo4jz6/UxoGfAKThLoUxK3AMUE1uYsDJlIoju8HYFn0l8YX0oNnVwL7buYo4oroxcnqgriANYNzy4tRNEbIhNkuCJNkDU3dypsmZljU+ZnHsqakR7VSZnsqFrzU8BnmXFMnZ07rkGU3rnrUgdjCqNQkl0z4zVsl8
|
cEZskJnz8DDlyE5lTUAvDx5suGzwJDYHBHYypM0Ujl2bXYlOs/n4QAOsGK1A4BvAZsomsm7H3U1bnw2X44UMmMHsc06i1gpdB/cgHlig+pmCU5CZuVZ0hSoXwSXKBrEJPIOn3GcaYfkn7CaQLlh+wjIEU49bnx06nEN42nGQU2Zn7c+ZmJsjOnHcpDkrMlCntrC7kbMtBl4uOYBPcvz4ORThYj6Z1E2ov8Fforn4dvIoF3Y1qI8sZ6mulDtnfAc4
|
||||||
|
|
||||||
lLqLK4QOaxlHgBomHMC7RMkpWoBck/GEM7zHjfASmj/Ayq/AebyH3bcgN7TslYg4DGlgHeAgmVbn9EwcmscoGgG8x0BG8xpkNk3hnZWZCBkINvY+eI5aNYpFjrTD9RcwRFhfkvirO1HrFhwSK6rQrFlKMkQmAMnNmmckBkEs7ElXs3Em6M29k9cilmPIguni8sTZmMsynpBNpA6QN9HnM7Phqdfiw2wLpnWAkFENHPW6HYyFGxnFhJfU4rbC0zbl
|
GroJKFvAW4DbkFnmtssLkrsx0Ay8x0By8ykEK8pXlRck3EQouwnA0hwnvMhLn+Yr5n1aKo41curkNchUBNcxS6tc9rmdcq3Ddc9o7HfaXmy8+XmK85Xllc4uYFo724h4venYJT4BScJdBmJW4CtgmtzFgespFEd3gyg9RnOTTRl3s6uCm7HbHME7zmEfWB4cwNZY44vhQfognGoWRKJ/shzyc03dxAcvmmcsmamOMkWkacsBneAg7kishDnJsxnm
|
||||||
|
|
||||||
mPZ3hvAT4CoQyG70U5vnDxAYBt8jvny0/JGhMwpF1qXDlq06JkasuKn4Q/FZI8oogo83ABo8/AAY8+3Du8HHlPsrJkg89AAi0lvm989vmzspHF0YpAnufV7Kpc9NA3kWfloMDgD0ATQAvABdh0ItgCOgSTYGsfikSAcTmu85MaCI7qzO9IlQW+LEpzcFgn9YTygSYCrmJRRNkOeJnlVtKZnhk0alRkzNm7bbNnTU5rnqMhPkmQnEmC8rrk13NPlL
|
psnOmcbJBlRtDCmoMqdCmsVXIo2JJTFI57mJIT4Lwxd7m4hT7m5IiDHG4fci/AebwCPbcgYHJimdvMXnQxbmEQ83zlSnNGnoAafmz85QDz892mZwxpnIQMhAyjHzxlNV+mvspFgazD9RcwRFgXQ/1nz1EnFhwc67bArmmx00nkRssTFbchamSY6DmCsgUZQMunn4vRDmIUsyk509rbt8vXQawtpA6QaEGjtORz4UwL78WG2CHM6unS+Wunls1blm
|
||||||
|
|
||||||
4rMkkklQnjkg5lVs1zkOYS7BYWQvlg9E7EXnP8lLo0gScskoHFLYf53U9jzYgW4BHJfcifAFIC0M03k18pkRv7R2ApchHkFuZgX0AVgXsCoGn0wthJ3IX4naQI5SY6cSEUVH5GpAKi6OYorAlcVaY4uAHzOWcvBCoI9lwCk9m5ssn6jzLRkC8jwHoC8l53s0Xllsjal789e5VE2Xmjec8DccRXkCDZXn12LmQU9M5ma86Xzcs7snpwHgX/0iCnL/
|
VVhJuo61kvUutkxUmZ7O8YzJBQ/2b+cggXDxAYDEC3jkt/fXnubbzHtAqOwpUroFikpLnfM1JbLgYPlFEUPm4AcPn4ASPn24d3ix8kzl+ZQrkrswgWUCz4AkC8lHI0nUlbswPnrAdNA3kLgVoMDgD0ATQAvABdhZItgCOgLrYGsNqmAfG9kU068mfk7qxb9IlTn8zPnPkvwKKJTygSYD8mF8lwT/skvk6pEyCW/YDkV8jglk89TkU8pOl182nnwc
|
||||||
|
|
||||||
BxGnc+ClFEW4Be4YN5IU01mbckIVhCy155I9/GKssJkPclWka/KJmuPV7m6/dYCn8oojn8y/nX82/lWsB/lsAJ/kOfOjlRC0IXhC5imGnZjmDIpenoACojJw5wADABUAfaO3BagbcgHAOoguszQAUAFIBW4Gjm8+V/k5cpcTdWHwUMacR6NYhCj/8vYigILxx3XEZmgCkgETMlnnQCjNk4s5uFx8lZn5si8nkPC9EYCkXnp8/Onf/FQn77Z9lS8+
|
o7nAC8YmnolvkoU/ims8uVld8o8CXYLCywCjMY88j96tRDjEkUo2mmYnYnkc47GUc9ADYgW4B/JfcifAFID5Mxfmi8p1HPnR2CO0rikFuXIX0AfIWFC/fnAI9hL4VaQxbFElSY6Fa6vsx9FdM2mD4uAdJlwnFwA+Zyzl4IVChs1TlHLGvli0vwW6chZlJspZnN8ozn6o6gWsPayk3c0bzngIbk3SWwGD83H7GIUfmhXM5nuc0oUZwfHE4C10Yd/N
|
||||||
|
|
||||||
fgy85yH7CLriRXRwV7uZ6Gs0kOCtRdtD/k5NFcs7Xk+zBgXYRbchk3NBifAIog8AELGcC3mk2cSFGMUWxkN8qaITs9ADfCtgC/C/4Uawl3nzs0TAdWM3yBwbtrag6GLygArbS0S0jldF7Z/Yc7axEVBqMsK1FYXBrnwCrnmInJAVbC4mm7C0wWYCoknYCoMH3ozq4jw2wUrg2qZtszbH1sllkVWOSC6EuO5zcwDnOUxblgi9wn8/AclQcyIWoUl4
|
ulFEW4Be4e96RUiQDnCy4XXC6I7Rcg3lA015nG86f7USM3msCi3l9AtfhtiIojKC1QXqCzQVWsHQVsAPQUqkjNHoAO4VXC1d4cgirmUo3elkY43AVEbEBLoZwADABUAfaO3BagbcgHAOogHszQAUAFIBW4UrkYCXrlI8viCP0nfEMaHCAvs2B4IUXlH4KUBBeOBlm/sxwXF84nnmEMvkcsoClcsp4If87BEv7BMmTC2TGHc/TmE1E7m7UnOniHUz
|
||||||
|
|
||||||
AZvA4D98pDnSi+Cmyiq3DyiqwUYUhIXD8x7m4U3/FpChYmT8+lH6XBoVNCloVtCjoVdCnoV9Ck1ld8mUVyihUX78q1m20rjZ289ADfAOohYfIEBLoS4lFEfQBVMg9AwAb4BiqeIDbAmil9JQYVOk4YX3hDPYUIWQWFfdy6U8ysSIaWSDLDOnkgChnlgCurnmEZYXps8alrC1RmLTFrlzUtrmE0owX5ElPk2c/0HmCh9n3ooHmDcw5mEC+hYWkK0A
|
noU0JlRC/YRdcc66rEn+x6YrbGhQSkR+5XYUqNWA7MojJkSAbchR3NBifAIog8AbYAMckHkxmLri3E65mrk6rkQAQ0VsAY0WmiweGZC/jlp9PYhqGNLDtC+kXZwOHZnQ9u5N1NWZgRdFyWkF7bzoiVGK2UYX9Y0Wk6UkUWCEgIXiiq8FzC07koUjG40IzDn4kJUj0zEjn8HJ6l2AnKxzQFIXHMsinEMu2lMiRijkM+2bIdPznLsmKkvAED4HAKQW
|
||||||
|
|
||||||
tEsgX3C06kZuNLDRowUXXUkLlHPOdmZo9YBLoFdA8AbjnoGIdmii+YzMZa3mSivtGnUDSRDiyQAji77mZMsFkTVQ5Rs5P5BdUeukYi1YjrTNcmr4CVCTQ1E7OeLj4qzcBCVnSPl7k8kW6CjYV5sgwWXsyzmdc8sVbM2zlVi+zni8x8nWC58mXCnz6YixJAnUtZqec1mmM0cpBnGdtmlA5unAc7gWTioWkNAiAAi04JF9Cg7lLsfoWE7G0XKiou7L
|
hc/AVhUhsVW4JsWLC+KkxcgdmXwiQDrvMemjsnoHfC++ESAFEVoijEVYinEV4igkVEikkVLs24Urs9sWdijdlLAz+HCM74B1EKL5AgJdAGkooj6AdFkHoGADfAMVTxAaUElU/pLkiymmeklraGVe9q12AxlrXbPm0oAWC7cewVMsjkWss1wX/k8vm8iyvlqczbk4Iynlac1VE6c0UUN8wIVN8kAXwMlCku8iIVfza7kPrNDJzwG6RCvDYEZuNLCP
|
||||||
|
|
||||||
gZCX9CjUWYc8KnKsng6qsrX5indIWAE43Buij0VeiuAA+iv0UBioMUhi60Wg8zbmISrCW3AFCWw85Anw8vUkQAKmGEASQDRJQiJLsRIDMAH2lTAaoC1otBg8Adel485VF1UiMVB0zdGPeCeFSY18HtU2lBG+fAjACvqmM8zMWjASAUjUnMXs8nQWc8qZ5HgiQk0i4llqmUlmzY8mmGMylnjeBUB3nfAVDfC4WnuXuoJXI6mbY8gVv/RJDyYP+wvC
|
o7UXELU2kT877lLoFdA8ARrnoGC0UMkisXzGR7G2w1kkb8+0UESyQBES23lgsvYn8ct9j1/eGBJSI7rtZVYgazHr6r4CVCgkzJpSo7CCrzcBBHTSMUqcsDmaU3lmxi/llyQ1Ybxs5nGJimYUGclMVSilCmWUpYVmczZk9ZbWYO/XWEVQMiYdpSxY2nJznJMlzm3UpfmlCiiWS891Zt065EkihXlLsUrlgFIKlLigB7LgRyWlc7sXPCl5l23N5nvC
|
||||||
|
|
||||||
tolvCm6n0CyZGPM43DYgIwDxASQC7gIQD1iccVuMnwVD8X9H+CwVmsM/gURSqKUxSqdbZc0SZrkxUDs05kmElaGkSYZrEWgBZTk5V+lqMBGGmIbRbdQCkQj4y0GK2IzkHkpZm3i/QW7QjkaQAnYWGYvYW50g4XwMlQmZMtkU/iyip7YOYBjcjkylknzkgQuCjJS/9mN04UWQSkEXcCpKVTiiDk28qUXoS0pQsSqWnMSzCXochWl4SpWlJCiJkpCt
|
qNiJcsdm240F5bi5gA7ivcUHiptzHi08XnihcVQityUOS24BOS1cXpY9cWb8iAApwwgCSAGJKERJdiJAZgDX0qYDVAFDFoMHgASM+PmdoowVJ8x+nA5B8QMIhrHpURmlG+fAjvi9mlOCzkWjAb8W80nkUC0/8VjCnwWac+MUACpSX08oIUSs3vFSsnOmyXWVkIShUWYYc6DaxKX6oS46FvyUxhhQEyWoCzympM3UV8/djzYgIwDxASQC7gIQD1iU
|
||||||
|
|
||||||
Vnq0gjkGipYnoAXiX8SgYCCS4SWiS8SWZvKSVXJBCZMSmUX7Spjlw84/n8CiojOAI4K/AR0A8AK3A+tN4APAX7QpAcqnOAJag0ssMUBsuSWE8xu6UXTNrM9CNmxQiYAJixMhWrSyBadNlLzC9MWLCzfr6StNmzM3MXXikyViE7TFFisBmGCsh4bXKXEEkuznZkjam+004Wh4lBm3QllwzVTXGbY3MBINBYwHYRGnzSrXnBSnzG68+6kQAA4ARfKY
|
iVNkisVD8US4+c+X5Q8/NwHSo6UnStvm6swWY9fRUCPo0MwqnR8mndIOnslJDACKMuHB5UxDrLMISMiEYWSS2anV8waW18gVl7c2Dn+CsUXKSiUWqSqaUoUpiUZim7kzIvbBzAVVkcmXCl97HRhwUa6U0kmulliwpk74q6WUSu4mnC2oHtsxKXOSyG52S9yV68oekJUk/Jxc4dmm8z5lfC8FKji9ABZSnKUDAPKUFSoqUlS0D7lSsFLxTRcX1i5m
|
||||||
|
|
||||||
Dm4FID6AdyzxSqCU9cRZCYsmOZ5XWcX5uaWWroWWXyyjOFhct/lQ9YtJTQU6AUicvQRE2pB+8/sZEcBZS8w9hJEA1DTJsxRlXi5RnY0prl6C48H3izqVlvbqWbM4Xl9SrAWU06sUqE4m458obniVHbhueOA6fkuxEXnSGnT6Mbzdi4Llgos3kuE+zFqyiEV0naCl7S8WlvAUxkRCraXBI3OX5y17G3cmmqoYqaTaioiWBwifnXJQ0V1CgGV1EIGU
|
Xb0tcUJZSoUVEZwBHBMgY8AK3DLtN4APAX7QpAQmnOAJajpsy8WGCwln3nJ0Zsoj6UIUIjHlElWJ9wBrBIEThyrosC6Ms9qWfizQbdS9lmAUvqWeCgUVxkxEl4IkCUngsCUJixGVjSqCXBCmbHjeBUA302UWLY+UXqw2TAUECOCOcgYa5gaZELGA7AC8pJlC89EEfcjIXMS82noAA4BffKYDm4FID6AdyznS85k9cRZCbCm6X4gu0XyCiQCFy1dD
|
||||||
|
|
||||||
gysGUQy4gBQyxIAwyxP6MSzfk5y24B5yjiVH89in8Cg9D0AAYD/VUgBoMIQBsAF4CrobcgvAXdhEREzqfAQspichGUtMiarvISGCJdecKZuD0kXIWTH6tP8lB8l7brGabj2zaDKu1XCxjQe76tfJOjNS3FlqM/FkWSqzlWS4tn7CwOVGM4OUbU0MVfi/MnS8hsUr4ABrRvOhaawUsaoi2vTUC2bk9iswmhc/sWFoiQCSAA4APANBj4AGepZbIEVA
|
Fy0uWAIl6XKtDmzi0e3p7EM67/E5zwdWaonuXP0lqMDhJNQ1YzpAu7ZRiiGVV86SXjCuMWwy+SHwyqYWACtD6hyiaX+M+YU508O4QCnLwMiCuB8kRrA3SAyW5TNnLT6MbyEM0sWnMh1FkSquUGHRwZPYtjm33IZ5MyzulvANZkti1yUyy1+XvymgWsynsWCkpKmMCk3kfC7mXBSqenIi5WV1EVWXqykohay4gA6yxIB6ygAHxSumVfy24Bvy1KUf
|
||||||
|
|
||||||
c5aVrkn4pcigVneMzWWSypBUoKtBXLgNfmriyTnOeTHRH2a46MQERmHCL6zTC3WjC5YQm9vb4hb9U+oMNWuFtfKPkqUlRmtSvFlmc5AXyI1AXGC58X+y7Zn9S3ZkqEvB5hyvXQXKfkUHYcvmxgqfSXMivAeY7cUiyzwXzcnllMid+RX2WCWqlemrfAZ3g+4UpTwcuogHoUpSXcmHmafbbmmK+CkWKqxU2K67m4Su7mJC6YmnSuG6d0WuWEbdYCjy
|
whWXCMg9D0AAYA7VUgBoMIQBsAF4CrobcgvAXdhERKbqfAFKrXshPm3s3gbvINoouCecKZuDH7wQXDBek1tpuUu/lgXdYzTcODLS5Req4WMaDG/Cn4SS7lngcqNkSYmNlJkuGX/8hNmjSoAVry7amTS28H6oi8WaSuUVXc+aUr4U3Jz4ZOVOUtYlPUF5ySoUQbYS/+a8/dqnfcyQAHAB4BoMfAADAZcAQ7YoVucmzhOo9+RX2CoXCM2xX2KxxXOK
|
||||||
|
|
||||||
8eUw5KeUzyueULy3ABLyoEArynuUQAexUDAMxVOK6xVQ8q7mDygZEoE2oV2vDoxOjCtFCAOogHAcP4wADpIPAaQCJAAYCg/eGX48wNn6DBqh0E5qlEWKTEgi70krqOZmaBLSWjMjMVLCkmWs8mAV5igRVPyoRUvyp8XWcl8WViqRV9c8Xn6yusUECrmWyYZCA46NWJeSr9kq8/cwRUCYAtrcCV0C8WVVYvXkSAVdAk2L3DYAK3AzADyJKy7BWdoC
|
+oUNM9hJWgf6BsGGomMQE+xHed2BX8/rC2CjonTcxAaGVCJqoIyn4k8sZmgMiYULy+SWBykaXBy5RWzC6CXIcgdgKgfx47yr6IXKaeEHYQ5kDDPPl11N2A4YYWIWKt643yztBK0KmW2ioRHJ1b4DO8H3ClKYrkHoUpSe83Xl7w9Xk9KsKn9KwZXa8r3ksyzzE+S2LlDspgWDipb7GypLbrAXBX4KsrJEKkhVkKihW4AKhVAgGhUoK0ZUDAXpUTKo
|
||||||
|
|
||||||
vDuUzb6P/dJW7K+ID7Kw5VZcg2VIiyeCXucXqJkWdFHeBsBYi26SHEDNxwwm9bbEdNpGIdC51wgbEUyxZnuytqWeyjqUt9U8G+yoXm9SyRWfy+yXBfBUBw6N5H8fBhrneaMw3SeOo+cw9w1gOvRxEGgXyPST5YK9QR6K/mwNDfBVrczym+sAGrBoO3CJKjO7JKuxXbkBlVMq6HmuKsBGTEnR5oYlVlnS4iX/4y6V1y66UZK6oBZK03A5KvJVwAAp
|
ZXe8xGm+87Un+8xEUccqOYdGZ8bwYoQB1EA4Bv/GACdJB4DSARIADAd368+K8WvS+05JRGmmq0UTnuKqokrqICmaBNqVF8ieWuy6bjuCv8VeyqRU9E7/myKvSmLyhRWKSvJWrygpVhyznHIU4pVty+CXoc+aXIQHHRqxPMV002zn7mCKgTHKuklsyv4GGcfl6iyfnrAVdAk2L3DYAK3AzADyIVyg4VMiXtpVw7xUZS9lXxATlXcqhHnty51k14fD
|
||||||
|
|
||||||
U1GYpWlK6JX0qxlUuKlJUMYljn9o43DKAHgAVEOABtGMQAzAIwCaAfQCkrLSTKAD3haAGSUE8/QZbyr7Zwwa0AR8o9YvAsaB+BBuBKQRZRWLV7BHIi+Y8KzhEDII8xUXB1UPy9YWCK+PkDKjZnwq+kUfyxkVBy98VzkUBSS8jmUuc6ZUgkHvgy2UgWgK+d5v/AQhSEMXxJyoKW9i26mhSgcUSAU3CMzUgDxAHAAvUzBUiihKUcIfHRrSiUUsMlAT
|
BPfU1E/sZDINgVy63SQ4gZuD3Zlw7Yj7JIxDuXNSl1wuOneyyZlbotFUS0zFXokiCVJi7EmFKpnnFKuHRGouEGWc4WC5izFJLnIYaHuE3p6eJpW63FpWbQH042Sjv4dNYNB24SZVv3aZUjK7ciBq4NU6873neSugVm414XJU4BWBSz4VgK5LnG4fQAPKugam4Z5WvKuADvKmoxfKn5VHK8NVBq85WYKyrnpS+0XKAHgAVEOABtGMQAzAIwCaAfQC
|
||||||
|
|
||||||
8C0tUYMCtUvgUQVZw74m5cq5apFc5Xoy9bpQZc+bnzCIG4ynqmWcQHy7yncnaCp4IUi0yXiEzEnvnDOmPi8NUmCmeZMyt8Usy8XmWBbanyKp2hQHWeB4isvLWbCaWs0nGCn1KXrrK4ur0Mtcn1IaOWZygYnqieUV9CuoiOKliHOKpJW2KzvkSAZ9XLgV9XmK99UcqllVxC0KlHS+7meK/lXeK7X6kSuJmaq7VW6qyIgGqo1Umqjwrmq2RXA8uik/
|
HkrSTKAD3haASqWJ8xhVFwU3Zwwa0Av8ySlzwFpArcoDTn2b9kxOV7CW/KxapKrkUE4HlBMUQWFIqqSWRslFXAS4aWKK7FVQAhnlWq0IXFKtuxocuYlxykEg98GWxxCgYYKU57l6eDrJViraXG09IUL4vjn5ypaK/ADBjxAHAA201xX7C9xUCq+pCuHNfm3SmiUNy9ACm4F9WkAN9UvgQJUUip85X0TNLTwquF0i40GtQWIjfwNQTJwPpk0sSziA
|
||||||
|
|
||||||
qshV/qt9WWKoDVfqvpGH81JVcS9JUIAZwAu4OACfAQ0neFSSWZlFIB24TQCroPO7dHS1WVK1pkARL7Z74f4m4q6GkZuNmAOIXhghQO3pspHWGb9fumueQekiNIZnR8/hUQqkNWbCr2UwqgtmXk8RUIq18WjKsXlxq0L5hy+sXJqrRTnIM1isKvQ7dLHzlJAD1ShQcskeC/8HvCkhnl7GXwujJdiOgGYA/ga57VqpaXkq25CsQS5R8C7iUOapzUua
|
+VhVm7SeUSK/kXIqvlnCirJVCrGbbt4vTlIy5MU7qzeUoUywLrMyAVO0Rw6zwX4rOq9vhDDHGCGVLUUXy0tlFFM1k/q/HTtKmsVPy9URNikkUlcvpUFQgZWlqveEia5cBias5VTK4ZVgo/66xqw3nxqoBUBS2f7lHFNVsCtwlVqmtV1qpF6Nq5tWe4SZLtq0pWu81UkyauTUSayNWhquEVpYrBURE4RkIAZwAu4OACfALckzJMqWtlFIB24TQCro
|
||||||
|
|
||||||
ztWTk8QUIw6My3zL9QDqmB5+8/plt/FMVqMRfJ4eRSl7I52XsKnpVyavpWhqxTUBHZTVwqtdXDDDdUaaiwXi8spV/yumn0/VGkgaYWXnMgCVWFT/6L3cE5aK6zWLShbm1qo1Teav5nXvP/oi0g4D9y93hWizT5danrVFEPrUgakJmaiiuVFInDlPc3UW/YjeV+KzinkayjXUatBi0al3D0axjXMa67nvS3uWoU7rVvAXrX9CtKksU6oVpKu1kSAb
|
H+5EnTtUMKoln9WF0lpYWHLsKjNxswBxC8MEKBr9ZVLwZTQbJARhlVK2mb0s9JWiYwUXxkv2XrqrFXmqijWWqvFVIU89HvfdvmRCo9VEZeTAQWFUXXtI3JueJplTc0yVZy79a3U5lV7S7CKvjJdiOgGYA/gNV6fq6+UXS25CsQDHlWs05JO04G4u4brW9atgC/Kr7n3nYWI7EALiTIL9QIaup5X8vjCaoWVbDy74TUwD7ATUn0ELoqeWSK5dWf8o
|
||||||
|
|
||||||
EBvAWWXLgHgBLoGEoUK74l5WSvSrjGfAS0DhGFfaWhR1ZrhKkdGSqcxwQjQ14LLQ5GH1awanYssFXGc2Pnyau8XQqrLXbChmXWS6XGbqnAUbUljxyKnLxPgtkongEFqtLarWLqJ6714dwXEqixEKPYEXqCEdlagaKiGKv/rk8b9XoAKnUD8+IVgajxV8q4pFQapq6EcxpohicS606yoWhvYjW/S7iUzATEB0CGYAoS9dDEATQCEZKACm4O5CMa5H
|
CW+C4jXMTbF5ka6YUhy3FXrykIXUa4pW/KjGWnuRaVn3DOVwC7l5i42cIOA+w6bShlXfol3YlCr94jaqsUnC5v5ojNukHAdBXu8ecV7w6HWw6oojw6pTV9s+gX2EhNUaa9xHm83mWZU9AAuatzUeayQBeangA+avzUBa+dDe8qWUJSmKkw6t4Bw60rmXKz26bsqrlAagtxvAYuXLgHgBLoKPbzak9pv2D8S5SLBDyQT1lFwLRqzg0WarqRSnygQO
|
||||||
|
|
||||||
XkzASHfEkDSZpXNIfdAiaNYs+UPiRmgzoztAcE37XxBcv545P9hjRMs4sILzXAq64xBq/MWR7HnkLjPnl0yrqWw69+UBy6NVfy2NV9oBUDwE9mXOcz4xOQkBwoYa6YgKnCbOCnHUxdCVIzc14W0C69UuU25At7Rtnqy3tFd00GG0gl3GgxM9zlYAQmG63CbsoAZCm64GwQfd74VkVLH+9HKFgqKemOce947/IqG7fOelq8QrHNq7iXEAMmCm4aoB
|
pMfAWEmS6alLqyGWzy6GWZKuSUkaxQ5rUtMl3alSVUa1MXFKljxlK3nKj40UrB3elZ6SwL7vDfm7BvQHXC8jEGDa3QlMcrUDRUP1W0y8nikC9YDu6wemzKlTUvCvyUuI0Glcy6MohS0LqQiiABe66qnvw8tXYKjKUzATEB0CGYBOS9dDEATQDcZKACm4O5D+aw3WZTdMb30+RJgkDtLSjU7oNY/hUPiRmh3QDa5pZaXXxBRiCtEv9hjRC8oDIEbU
|
||||||
|
|
||||||
FEO3Cmkl4DEAIwAvABqYB0DgBwAZwDoappnryiTnfE+Gw7EFvhJRRjxFc3HIF8K+h82CqxqCI8X75WOkSapRWdcDGl0ebPUwnaRKwC2dU3iiHXtSrEkoCpPloC1TWRqp3UU0l3VbquNXO8krWJqgBV6a86IANNH5TS2MG2MjdLNiwHCLJK9Uw7CFEjswdIIfFKUEKq5Wna9ADEAeIAvAAIpkABEUPMy+lv2AV4XgJ7UBc8nkKSWfWu1fkU74HXVe
|
6qjBHTygCVQy+alrqy7WgPNEk3aleVbq8aWqKjeX667nEs9aOUFklBmVaifAOjHr5kk1aWLqS371weJXNamXFky3jW3IYI74c/9V1y9snUMx2Fdk0GJnucrB16pmAN6yUgsIZvXA2XUjAwwOGTk7BYQwpX6o5OQFTk3hnQTfhmxwwRk2sjKXEAMmCm4aoBFEO3B7kl4DEAIwAvAJmYB0DgBwAZwDma/FlGyvrmNM+GxLavexJRRjycSt9mHGaaDQ
|
||||||
|
|
||||||
ceUC3/CQU/qJOmgq12WNctSkFi6kWZahm7Zah3Wp8qNUX65FW3gzQAKgX/7DSuzElpdbhOYv7hwVJmg/IvZDf69Xo3q6+x4ocDmNqxvlwSpz6YIwrL8A9+FZAA6WD8sbVTEpnXIBHoF4cmKlDBeuVDAjflafMQ1SG76WcSvnXpK03Au4S3YmADgBFEHbkwAegAjLZQCOgJdBDgoECdZfiErNAOkcpaxgrgsaLoi4qUZRWGAmMa0D1UTA3ocPXXaE
|
jHr5xCxBEpa1zxMMvwQx0i5JhUQiCX63Qb9SmMVzy2SUqogOU085eVKKnFW664rWgClCl4s8fWXc5XiIShYmm5C+74yzFJViiSrMlQHA7rLjWMqge46Eg4VMctCC4VYVX2i4gDxAF4CLJMgCuivOVSrT9RwoEprJPCwVicouDB0xepwavWBlw9eofYbGDAHauHgyk7XK6ldWEa3LXd6rF6KQvvUMGgfUqKvxmPakfV9oBUDktV7UmpftLrcBAUhE
|
||||||
|
|
||||||
g3VMwI3V1FTfXcfDC4iw9aHgq4g1W6wsXnsizkdc1dWn69dVmCgrXfy8Xlm02/Ve6sXQNiupDapNPinq2RwwXPFXc5OFktEqzWAUprW6KoeBKEai6AGmlVWGbun5zUpZWUDxABG3yVBGzPUcQUI1m65LFjnJsHb/FsFYw7LH5Q0vV4wk77TnDUl1rbOa16qEXriL3AYVMeivAA4BqbF4BiAZQB+JcUwcADI0YCcMULLFMafK+jwqBWPXk8wjhbIq
|
bBkEUv3RXJAITuUksXca5pVDa6+x4oHMwPy3AWulWYG8kveGJGzUn/U8FG+63yVCkgPVw3IPWJhEPXr3VUkpGgAplqhEVyCpEXrAU3Au4ZfYmADgBFEGXkwAegC8rZQCOgJdDUQoEC23MmGCzHcySQS7CIlVLA+i9rIZRWGCWnMvqBnLqEeIYsAn6x9FThMMlN68SZX6vDWOOA1UQco1WuM3/nyK4VZa66Wn5Kpg0Pa8OXzHdLloUmOVi6eaV1IK
|
||||||
|
|
||||||
AplHQlx8VMCLmox2CMsCZihk/SXBINPhVzVLXRG7nmxG3nnFi/nn0yjP5w6/LVIqjPlHCjakPKyZUuShsUrzDGBSEGNEs0gwmo2Hhha6ng073TZWBE4tXQip4AdJNBgVEFoYnKjzWQ0rkgP9acVNq2Y3bkdE3YJLE2Baw2UqBBIDJwE2Uz4BqUYiySr8wi0CSpa45Q01dGvbacqtROlLOWU5bKUiI2p0g/VLqtZkrq69lvyqg3n6uyWAmwNEhgm6
|
uFp8XGUnaGy7Uqp6jHpIZkG029VpCiyUg6oeBKEeHbb6wRGfcDslaA2hmH6iY168RJD167+l9UC/XzGmRK/Ypk7sMkOGA4pAkqPWE2H8KOGoE9/XoEz/VQ4jKWnnGCpj0V4AHAcbYvAMQDKAfxLimDgCr0w2X0K6qW8DRA2LEE8C7Za+qY8nixkiL9hCDQlz+ssCKgoWdGMsCZi/k7qXBIOpE7g9/kEamSVEa9XVXahw1bG9Ok7G5GV66tSXFKyV
|
||||||
|
|
||||||
qP1BkTQwMATwRDXEwmpZWIJdYyBIY/EE60FHV84nXAYglUhQCnVQbJKqztHyo0YtCVA0OjrpVedrSG+nXuKrUXJClnVCqmDVs6xaKBnBY0ugF4DLGoIprGjY3LADI1bawBSWmn9o0Yw7VVCn6XDy7iU1ZZwDYAedAUAIwBd5B4CEAU0AUAVqFKgN4B4Cv2ny63vpcMT5UVQJIAUEWMXSYkkp8YLBAtrNmFspOuADIX+nJ1Y3WEQHPXSJe+Uc8qI0
|
XEqw9VFk4IRqLDVItYI+5l0nBmo2HhgV64zGpClJn3q3CUsq77nbkJ4CdJNBgVENkZ8q79VDwcHD3yqiU1su6WGm4004JM02QaymkqBBIDJwMu4z4VjUGMxEoVwu6FDwNgxlw+05MQPPGcyNcEWG/DWna7LW+y5VGzrFOlLy8CVr2SCX3aofVuG6U3c4+8GhVcpWRmBKgP1B7nKBNU1BGvkgz4FPKeqrC7r6tnIDFV3XR1Lfm3VGaokde8GQ3Mar
|
||||||
|
|
||||||
mc/fVQqw/UiK4/ViKoZUSK9TUAmw4WBo+8H51MME5GjAjIINg0R3AFIUwa7Q6xCvkAcgtUhS3zEO05gDEACmL4AX4DLSHE16mzHTRzB9Ugw4F5J68GEp6n+nVmxHCCkbo2563o3fPBUm/PEvXEgj55F4yMYl4qvVl4mvUV4tKXcS+IDLm1c3rmik31Uq6KGgL/ql4PyhrGH3nAIWqZT9QZlc6KRlJ5DgiOIO0H9YskWEGudVUy+MmfG2mUPihI2i
|
xoDTrvMmNXFVVTX+6zHUpo5wk8y1ZUSADE3YgLE0vAHE3LJfE2Em5YAkmkQVh65s0nAVs223JnVB4+WVOajKUcdZwD9VA4AUAIwBE5B4CEAU0AUAQmFKgN4DhCrva56xpk8ofhofiAOAUEAY2HdRKIqxQVX46dDXJA6Jq2MxHBAM0uygm6r4eXMNnjMqM0+yyDk/8uRUYqzY3zLFSFYkhCnMGmCXFKnSHbQlgGnGjAjIIfw3EiB9IUwa7Q6xTOWr
|
||||||
|
|
||||||
mtezimxFXO62g1PIjYAKgeyGym7C5M0XyWJou1oqm+uxO1DOBACvNUR6n/W1qqxqN4Q02wEl/Ee64LJwYi9BwEm02gau03jakflTapQ3j84VVza9ABRmmM0HAOM0JmpM0p3VM08AdM3RK5/H+KVVUB3fJkuijjwugfchvACL4IAHgCSAeVYVECgBoMUibbkfvVXJLqGGygBoJAPeztIIHBz4cnl9YMfWlmJlBUAis3Hmk801mkI0m6rfXhGi3W9K
|
6naVWKpHH6i/mXz0imL4AX4DLSC03qCIpmY6YE3VigKlUMiz40Mg/WMEOuADIWxnOndlBzG780g2G/Uu6J/FY7F/VcM5/X36xE1Qw+GH0OLKYYEyoXxAAi2rgYi0umro1uFWUCmsTCCngNCVDokmB+mqQbbagj758xgnouZgmDZb03iSig0J01XXzy4U0961algW+TGwMqU2oy4pVbQ/RLZmqdDNLAXEJazFKFmrbFz1DOB2C0Q1A6qv5uKsi2PI
|
||||||
|
|
||||||
kg3Pysg28TWFWUGisX3I1I2u655HQGytk2Yh/WApTup82Okl0LSqxZqvrFT6DXlamqvkXTTtmfCmXzm4TQDLgKKWmJBb5ua5rXKyzAFfiCnWNG//hCkrVqVmzy3TwM80+WsI0g2TKEpYselpzTLHl6wY2V65GKwed97TGt81169JUFWoq1URAu6/m0SY33Ydz+wfzjh0IqWOq067jIIHBRIOqhSC6C1s5WC1kweC0zqxxzIWuMmZEtC0Xs72UEfH
|
KVBRXDpWfcEwkj0EIke66kBhWsfXubJ4UZG+ZX+Sns1z/bTUjivHVSAPZUbmrc07mvc1P3Q808AY80oK4InRWxc01U0o2s68o26OF0D7kN4BffBAA8ASQBDrCogUANBjFTbcjQGsFKdG5Vqm5BIDIGz9h3QhDVPSe82lmJlC5AxSk2Mt83TwD800tL80t6xY0eBZY3SK7blrTXbkgW0jVim8jU66yU1QWopXc4lQ0HqwslfrZ8GLZPmxlkurYiNA
|
||||||
|
|
||||||
LVJGvLUpGvs0DSjanDwh8FymyfRbNCvAFGmuyXMrVINVS6nQK5OU6mslXAYrFjVtdrVZyti0qWzT7KW1/Eja4X5MXAS1VygVU1y0S3xUzS34AbS26W/S2GW4y2mW8y1KWni3aGoeWLNOcXG4VdC/AaoCroaoAvABqHbkOAAVU34Cm4NdC7qO3DbkAfWcrLM3ZWHlD7XRYiMiK5mNYys1lStVDrQTHRDlXaq/IfTmCbfA2nSFOmxkrTGoWm3VfGu3
|
jmtoMnFT6RzmPG3U1ta3OVfc9jzm4TQDLgI6VmJMX4DaiQ2WmmMxMUIK2Ca56F76t7H0W90iMW8a0TW3AjTWhY0Tk0GHYQ1/GzkuE3GvHhmCW4i7g4j/VefeuXlW9ABPWl61URP+4yWzq2GmNzzzwK6XaxTHGTjemb1gGMieUJOiSGbrA6W7CmsEiM1LGgU1UGoU00GwhE5KjdUFaja2Uara3Wq7nHUIrM3G6yfSstCvCXG5QKBGrbGOnTLLFsnU
|
||||||
|
|
||||||
U+ysK3DKiK3XW6RUbUzVae6namUk8NHmUqhBTQR5y/JM5kbpXNL1wTHX0WklUQS8q2nK/UF0paq2J6wUlT7U/4cQNQUqoP5B7EEW0j0gvWdWyc7dWjf7j0mekv1Qa2lQ4a2zGlGaSAL4BAgW4CcQ5wCO4aoBCAcYAvAcIC/AAEAWsnY1D6yk1gHDJydIF5wUECYVv2Hm3AtSyAYGnqnoeO+avg6dWVRDlICOQBxrGLZ5IWvfXpahTVQ68g0w6342
|
3mSkXl+Wu7FYsQDpjayHWhWswnRWlyVBEqK0zKgGlzK3sUcyxZUjs5ZXbvPmUceSq3VW1sR1Whq1NWlq1tWgq3a2uWVpSmPX2i1dC/AaoCroaoAvAHGHbkOABE034Cm4NdC7qO3DbkGA2nm+tb30rhis0HGWm2a43F3LiWlIoHAf4OFA7ambL9ClVB/IFbnmpXCwgMrLUAW1Y07c9Y0rWzXUWW0Vmy0lGXqKnOkzrdg0d8z4zLY09zL9WsCPOTFJ
|
||||||
|
|
||||||
O63C00GqU08qaYAJqrI3K8VyUXKEIJfwSRqxg2PVhlIJycEd/Ym2wnWkqmtUVW6YTgUjumQU4A0aW03BsAZcCkAKYARS27V3Uz3aXKNm3YWNKTwJbpmBcM43QS8OCF8jZHTlB6AiwLCCeXH1Upa0HUtStLWBW/pXBW+RZN2m5F/Gq614W9u2FGK0Bd28OXK2WqblSl636auCrqCP5CMPRE3gohKX5wiLCsW7CSHcwZwIOkKmjahnX2myKmKGsfn1
|
NXC6kdpeuC6tMs13UlpVzgzqACa6i3/W2i3763MHqNKnI3IDO13ktbnD2try366G0v4kGYP6vCHhwhG2pgpG2yAlG0omtG1CMjKWpzSQBfAIEC3AUqHOAR3DVAIQDjAF4DhAX4AAgFtl/KuA0UilxwZOTpAvOCgiY4t+x6GnVqWQHfCTohDToeNJDQxVSkzq4g0gIABw4cuhGGW8nmd6i7WmW+w296ta23aiU082vY34qoqbTAI40T62OUKm+OUh
|
||||||
|
|
||||||
NDIUphdQ1IO1z6UQtVU1CkA254O3CRcr3BLsJdgDAAYAoKyLmgkCgC7ZOojbG+w3dQhXXOq+6DawPtJZGFSWcqZy2lmh1AH2u66uqNnFbojnGVRcW0x8hAUey8yUv2iAFy25u04W3s1f2/s0d2+z7OSgf74cfDzwUBykv/N8G8ivaBN2dZoEM7RWVG7wXSQDkgXKzukNGm23O4w82MEIR0e4kR1e4u23tWvo3owgY2Ywr20Pm/GF+2qY0B2hek/U
|
BL+BS47Kb+GplbkEaVLvUW3XZy3y1fq/y1RmAEhgQv63o2u5USAU3BsAZcCkASdkmAPG3LbS5SXm7CxpSGzFDo7qFl6nfEDpTaB1EiSCgkExhcVcVHug74izW1rLzW1dWQOtm0jYhSVmqpM0WqyC2IOkrU8qK0CoOpoQwRemYh0sW0C+efXpudQR/IOvqd2yyVJBNxxUqqi2UMm5nYSRXmDOex1pG5TUdmv3VZGxSw5GkBXB68BUPw9USOO+zV+8
|
||||||
|
|
||||||
7iWkAbciYAAEDYgeUEAgMiAKrGYADAbEC3ZXADeTbKX+sipWIy/QaM9Nm3REMpxFG4qUNcXO2emahA8a9k2pYbvgWokkW324wH+Wx+0xG0g0N2kK0UG+R3hW8llK2sZVzkE0B/23TXK44IQ6wfO258ACW0UXR0vQ5MUPib9iQO3K1FqhBXoAZKoMCCm4KgbE1lWqo27iTVDii8DE8g4h2TOt4DTO/oV3awaaPAEvDmO6ooIxLm37uXJ3oGvWAC2k
|
8Ik9DaHntMO3Cw8r3BLsJdgDAAYD2K2HmgkCgA0FOohTmjq28Df4ItpNOB0ErIyPkzlRLa8OANIJ83jGiMl2wATEAO1rLRioy0QOoaV2G5m6imku2N8lM2uG/Y2aQvtAYwLR012k41T6pdScOfHTIWurV2AvaBN2d0kkytAVr6kHnSQDkjfXSHk0WzQHq9aCFWUSEIl4oNpX42hnbJbi3q/GGF8WsOF85RcnI2/DYCMze1f6+0W1dTAAAgbEB9gg
|
||||||
|
|
||||||
PkfYUvAgcz6B7WjwIHWyW1HW6W3oW062hW+p0K2xp1KOm60DsWUB/2vdVbcSi4SpWyxvWwjjX2MPWBShi28GqPUBcAVbUnZZ2BC7CSJsZYDpoQZwIu0cBt2NxXlyuQ2Vyh004Q6DX6ikVV4rIJ0hOsJ2OgCJ1b07EDRO2J1GXBJ3RKlF1IunG286iM3pKx3hTAbABvAR0DOAWeXEACoilKfZVvAZiHOAPpr14pm0OG1h0mgnDAOMkXyva3HKgNVA
|
EBkQYdYzAAYDYgdaq4AL6bPS2A1km42Wz1AGaXm6IhlOWO2Ushrhv2z0zUIGzn581LAzox2CeVEp0hCKR3hs5m3GW6g1xm6nkJmoOVc2+B1FatR0sGgdgmgVp0VajB38vODW58C3VS4Si2NLa/m3ibU3hGsQ04StJl4S9jwIAOogMCGO4Kgc00fWxsmVy9IoPtWQ1s6ql00uoQB0u1h1EsyonWgXtiWgOCL9WxbJX0VOC/Oz+1dQh/kfYUvDCMC6
|
||||||
|
|
||||||
152/J0C21o168do0/IqcLJ0140tmuu2Q69s3T40RVli7s1qakZVNOzTV9oGsBtO4c3xW/LYiDaOV2tNk1hlCmgD6PTyQO1OVJBAEh4y6lUbSiKHWO2LHJ6ux2Ku9PUdG91JLnHc7u2683F66emeO0Y3F4iY2l4/LGvm/x3vm9JXeRAECkAA4A4MXJLm4ZgBkEpdDBoR0SEAeFKsalJ0RHYBBgkaOBJSZRJMErfo82spym2H7V9O9dEgCJqnwUVV1
|
CM2ua2Quip0wyqB3VOmB21O5M27G1M2NO/uFzkWUCtO+jVbcD3ZU5WyxG5G64U1QZ0r62klXyz63+WgLhec36392lXHYSRNjLAdNCDOZ12jgNuztmlEb62hZWJqzTUC/Ps2W89xjbkY52nOx0DnO6RnYgK503Owa73OlBXuu112O2xzVBO/NyO8KYDYAN4COgZwCkK4gAVEUpScqt4D5Q5wDvNPAlh2u+nnm0OiLEEPSLSqTCNS0TA/Ogw3jqxwT
|
||||||
|
|
||||||
VtRs3GS5s3g6zV2Cmk9HLqzC3J8/V1n61u2Sm5R0/2+XFIM9W1Jqjp2yYSSpzJHSAxo7HVXHB7zaEuaWBcyvntnOslwKxEWomiAAu4aoBi6uohFENNZxcz5kJcnriz4IzW7m/sEaq9YA7uvd0Hu6BRbOhcSpA/mGs0W5DN2FSXwUVA3Vuj8SF28WhYYdXIWQUkVkAmTVuyt41UioK01O1+20inqUDuxR1t24d1G8bSCfipg0MiciAW81pbUzEW7B
|
/GqY1n6hdE52ronWGwU22G5V0p3cy1aXUu1WW3m27qnV0EMYJltOsHqYulMDOo3hL5mqXCaWuuoU0AfQeq7y1264HUK2xkmkvB2W1yz433Mb40zO0/GLwFt0dZIE1JpRi4Bwri136ig4bO+E3z21e1P69e3+gMS3CM7yIAgUgAHAHBh5Jc3DMALIlLoYNCOiQgDUpYLXkmollH6sEjRwJKQqJRqWIDPQ1lOU2xNu2ig/2kARwsL9i8KiVHrA/k3/
|
||||||
|
|
||||||
SIlVfW/NUpyrgWnu/ZBLOjWW0q9YB4OguUSAMj2lyw6X8WzF0Ta/wyj81IUzayQH1ynCLJu1N124dN2Zu74DZu3N35u6HG4OxJ3c6tz4MuvG35uNenG/Q1VW4IMDUwnAnsSUpTrGrw7QGyy1/m0OiLEEPTuSoL7dMxkSHGVa1yNQZnyQl1QGwy0HiO2TWge6Z7SOiD2yOs63y2ns2Guj53K2r509GMd3mjSd0b8NtBnICi2gK/p0PCvZBgCOdwT2
|
mw1XRstY3AW7JV0GxM1JWFR3Ho4d1PanV0D48d0Yug62g+J4AkPOd0QhI3JIXSY3Eyi12ky7C2yvXC2sqiQAu4aoAp6uohFEMDZA836bky5AjsIQ262mx+XVgtnU8evj0Ce6BR86niZnwV6gLXEx39W+CgiusvqhmD8RCO8WhwDMR2CYxXX6qhV3OM1FW4e9FX4euF25KhF2MGza3Iu6C3kejSXeGvyql9T7UZjNUXGK6Y4ZwbrjEu5zmXy1zlkO
|
||||||
|
|
||||||
7U05Wjd0wG8Z0QABUBGAJdBLsSLkC6o90ejDtFpywsD18wk3CGprZO47122O90jiIthxDJQvXZLYPET0iKZlbXq25YmN3+2+emffRe1XuoVQReqL23AGL3P8lE2fNb7ogWd5AipXbgWyqhW6emMieUTa3kEIfG7Wvk0VOsz1mSxdXdu4U29uk/X9u5I0MiuD2fOlp0VEzI3/2mZKdALWbJWplRUWi7R/0bMHzhJ134epeDqCCx0L2jeHA28G3ker
|
q4mk6MXwq2tzZDPPx03C9ADhex4W0Clx2ZGwBX9i+LmeO423js193vuz91lon93fAP90AeoD2e4sPVRelLHlchzXR6lc32i8RmlKTACNqq3BBgVOEJE9iSlKAk3HHFQ3JOolkYsS83VugvgD8qcGMiDA0lgMpqyrffCn1RpESOjt1wks7VCint3yOuNkc2/LXKOwrWqOzV1IOjR3TE8rU7Qqd0OYNtBnIWpWOUo3L60w7oEMwXlYWvU3kug03seB
|
||||||
|
|
||||||
8jY2iG2cA6G3YuzDE+K+G1T88T2YAST3Se6J1AgOT0Key/lY29i2qWshEka4h2unKqnOAaoAPCPwrKAFHkXPaoDKAW4CZgJO2KolO31U9bqZpevAhwFrgdezk2SoU2w1ujfCVwpvgQIW40Zue+7A6vSU3QJkRrnVt276ymWHWvGnHW+I2liwtlimhp0KEo12Falp1kktR2cy1z1ssZcFHq2MEbEEvkAkV8IcsnD3gupE068rZWSykiBW4OowHoDU
|
UBGAJdBLsWHlx6oT3MUkT3uOIsATO9fkD26Z3/8Ke0fY4ODDehg7T2y92z23i23u/CH8WwiEoEoS2Pu8wHUrQDUY2iADney73XeqqEGm+849okCzvIAw5vi5DK1INS1RIOqiHMmm1M5DgiOIBm3KcsB3eCxV1q6qb0wc01WOGzdULbbdWke9w1a4SYB6u3eWyYaKjbzE61MqNy0eelmS1USY04Om61y2+3XWuwL2FgbAVxGmmU1mi9AO2iK1fkKX
|
||||||
|
|
||||||
CxersnxekIKJkC1Y+a9JWS+6X2y+hr0ZohZYWgRCAZ8JuyqxDvEDQmcmnIA8xgIRfXmSICpMQGfKcyCsE3O7HJ3OmanW6oyEy2jC10+lTVTey60zeod1zek125ktW2/OtJTZpObjKKvQ4tiz8HQwzSD4aAL3ZWlxnT27BWEIZX2A2x9W1mIM2mmw0pVXY030da03IOyG1Ycz7GES2G34c501XSvFYA+7ABA+kH0zAMH0pACH1Q+mH3RKzP1Wm2zI
|
3e63W1xWn10JWpwlJW4cW461Nbleyr2aAar3KAWr1Ager2Ne1QX229W0lGrkEB8qH2bnEmnOAaoAPCeZLKAUPnKvaoBKVTMDX2skW32101jQMEj14EOAtcPuXCO4Uim2eD0p28RKsm8MzAuup7apADrcmpkSsXYn2ASib2xm5vHxmyn2wO/vU0+wfUNOpb2FGTUDouuaUdOs5Q8Q5jV+fS2XnW4kSZkCCwy2kl0+WplX3Wil3YREiBW4OowHoDUC
|
||||||
|
|
||||||
/erlFEOjS0pAeEAPACogMGgEC7hJdCYAfcgHAfADBoJdBEY83BsynjZWWyrn46FkTnIT/4REq+zH2nwWlpHE4C2oz3Jakz0gejV1P2jLWWe8XF9uhn1vOpn32e5p0mukymgm9R38fYPws0Nb2+6Ap1hlbZqM0so1ZWtd1BevsWbu0L2/AGpQ8ANBhf+mf5zO0x3UoCMnW2/c222oN322rL0u4nL0e2nf4Ruu81/PEr3Pm2N3+gGY2pcr/3m4H/1/
|
3e8x11RJeCUQVl1Q++v2N+5v36Cj4ksoi0CIQDPhN2VWKgq6MzoNU5AHmMBACSzPTBm1qK925yyLqo7Xguv81WG8b05ahP0zM7TkEe+F1ze7m1Iuxb3qOrP1+/Vnn6uggGS0Jmi4ui5K4u8sRuwjooqmw72Wu/z0O6/lVt+g5Y2m6mWq29USzm4jDEdYaqjVOs1/+9zGo6ye6K+t4WJWrTWq+/s2RengCW+631oMW332+owCO+24DO+lBU/++c0m
|
||||||
|
|
||||||
+qa2fNKfSjvDNyeXSi6G+92Bs5CvAxmU+2+G5lQwWj6BwWhqoIWoD18Krf0dunf3127V1Jk3V30+7C2M+6gFpGlp1bUwbkB+mSarKwRC9OvUDUzLgglgTRUruuc14e3U0uE0SkWTOo0eukj3UgC71ne7i3fenP1Xe2j2CWnUXCWvUWzahG0d+/ABd+nv19+gf1D+kf1j+if0BmsG0cW0M086wh0najS2lKPQABihUC+nJzVsAZwAHoVqK2k6TY7q
|
+lGkVqtnUpAeEAPACoieGgEC7hJdCYAfcgHAfADBoJdC/483BRy196U0iWji0RW4IUG7JcoqJXXIPh0xmcOAsimTkdIbO2x+jvUmervW9ux3KgWgd11OjV0Z+o/1G8Zdo5++C15+4Pws0dn3PoiW1c+3AZEQP3IPG4h2ta7VkPqt0VPq34A1KWAOGBwQEMuuul1RHpmTgj412YqZ1kuoe3fej721YL73nun71eoVZ1KA0OEA+pe1w2hE0kQnZ1oE
|
||||||
|
|
||||||
wfXJOjeXTItCw32jmAIxbVGOqw4Q6tElQ0ubRjlknH3FO/H0wPFZ6nSYalPGsn3qupgNVO8D2sB9rlu+860e+jdaDu+bEs+k10Ws2K27U+K3VTDayYMjXE00N/5ikaOAwwEZ3BertnYRA9BOAooiSASQBsQuX3OuuqLEiq3nrSmcWVe/G3+KroM9BvoOa+4GnfEztDk0ARQAkYC70Khu5Mm+sDdekP2rTS31cmhJy2+wb1NmsHWSOyFUWevIMlin
|
p92omibUQAQwPm4YwPbkeH00Y2epT6Nj4ZuDa4e7UFXRKtnLkS7gNf2qPDaW/H0sEzLJsE2EGYetf3RmwC3GqpP1iBxL6Du2n12e7a3NOxWmn+5n0gkHGVkwLy2TI1Yk9dUgm+BYsW+eiI1eqobX1LWfAafCT3xG91aFWiwmy+6L1/yvW0AKwdlK+0Um9m5K1q+uOZ4B/AAEBogMkBsgMUBqgM0BugPU6yX3G+pN0lelN3fc0pR6AY8UKgQ849at
|
||||||
|
|
||||||
43v2lu2we730Oelp2oS+62c6RrCYWN/XnHaxn12R7iDM2xnlGoUWYgvb1ABrUHz2gIVCslP2O0E00MddP1cWxv3BmpDHcqofnXerxU4ukiV4usS0QAFwNsANwMeBmYBeBnwMTAPwNzoBv2p+sEMt+m1lt+qr3oAGACYAOvq/AKAD4AGL4zAJwhKgHtlS/UpTBoe93MOqy0V6fHSckKEn7y6cnL5L/BpYBQNsKyAMb+rINHB1s0nBoU2Esib1dmw/
|
gDOAA9CtRM8k9bWjWPOqqXPOhA1oWDa5jghGKDojPkcKgm0kqGlzaMJrWIIpvgQIMP22PCP1ZiHmk8mmP1K6meVdulm2TemF3b+yz2c2vf2Iuhb1SBlF06u6+17WzvkdO9LXGwM9XjHGmj+vMUjRwGGCd29rXWKzrbnAooiSASQBFQlv0vG+paZucT2f+hLzBBg9AUhqkM0hvv2SfKXYzle3ow5B+2N2bPGawzH39ezyhBmv311IBJzhmon0Qh9v
|
||||||
|
|
||||||
22exW0n+411a4WO1muuK2c+1WTHFcOgBcu1r3+2ylgCPJ1Gar4MwK9d3v+kL3bK0A0wAN4CvtIezugTc1yB3ZENq2F3R6Gq1x5H12Ze9f11Wtrwhu0kHpYpUnwB/q3e2uY6IB/0PV6lAOB21LnEAC0NWhmHLYB/QbiJLdzUKpeBzACImAwY32LKLmT8i3r2D44skDexqXk+/a2125gNauyUOJ8kU0H+zgNH+7gNRWjYDjAbhm7q1HWT6L8RBOZ4P
|
Uq60n0mW8n1/8koPrU+b0keioN825p3OSwW2c6MeE19Hp3S4ZoMXaR7iyrG9XaB9AXliiwMMh6s1ojDAP1m//17w20NABts02E8YOJUyYPgB5X2QBlZVBuw4NsAY4OnBmYDnBy4MTAa4NzodAOABxLrvM4q1R60q04BqH0wATAB0DX4BQAfAB/fGYBOEJUC4ACoi9/UpTBoeT3VQhgMV6fHSckIMlRa4SkM1L/BpYTba8B4b2v8jwJlO8B1CBuR2
|
||||||
|
|
||||||
9eV4NYjftWJow0PfWpynuaztF4oFDRgY4j3He7CS2Bp/GqBqj0yG1B1whyDUIhp01IhhG3khykPUh2kP0hngCMh3ADMh6BQ2BscMOio7Xhm0T2SyuojKAOogx/JdCAgBUDfAP04KgfAkO8aoAwAHgCbOuH1BB4fVsJV1SeXFKifQJA3OOdcXL5Rjz3DRhpXG3H2DpSsQE+1INZidIOk+0RHAeog3b+nIPP2vf3JkmUPlhuUPvO2b03Bk10lytW3t
|
wh0CU7+qz2Ihmz0IOw/2oh5p2FjVb3yB9b1gu12AKYfR0oWj96YwaeHL6/n1+eu616B1Q1ce9ADEAGABvASLpD2d0CkWq4lzwdwbWh/d1vehwN0MvgNsOFZ1Xu9Z1eB4HECWvwNr23Z2o2iwGQ+2h2Lh5cOrhsrLcuxH1MwWIOmrJeAjcq2WAwCf2LKLmTTwkIoZBj6AE+7INyu6R3Ger/nCBxUMbG1a1qu4j2Bg9M3NOupl0a2oM5gL8RBOAQ3j
|
||||||
|
|
||||||
OqklPgoGAQW5d3crBoOmathDwPJZ6tBk0PtB1CpgKIwBTANjEEGW0OK++0Mq+4h1LsKiM0RwjIxhiI47YbMFTQDmxjvQ32csEgNJSS5QCsc32Z6bYN1IXYO8m3MOihykXme0b1aUksPShvV2yhg13yh1COn+pUP7M/gP1h06oCrFKAfku1pWU2ykGCNOqt8Xb2yBhiPS0B0ODhuF2JVAkPZ+6nWBmkENZ+5v2aB+oEESybW6BzB1Met7mHh48PXa
|
HQ0Ppua0Cq4PPnThzoPlm0Z07YrrjWhtW1WEveFDBpx1o6uNVdm9TUQBgN2zB6APriRMObhFMNphjMM8ALMM5hvMNG+iiP+O65WBO2Fky+OojKAOojf/NEUAgBUDfAI84KgZIkO8KUk8AUkXtot30soxXKndOjKfQRzmDqw5Q5O6fSZpDZZVIkP0AhysTh+uFWOQaP2PbGUMDS+UPQuxP2wu5P1wR1UMIRmy06un+VaK442cG+aUSYZFirc+j37C
|
||||||
|
|
||||||
s8MXh0gBXhh4A3hu8P9CgM2QhtP1Ehtin7h9jzBoAy3Sg3d6PQL3C28F3AyQMH2fAXiCryuXUiuthLyC895eakRBGaxcnVw4+1fsPlau5Nf3KY1Z4yR+dXUyuI09ugoM2e1SMoR64MaR6sNwyxb0ue7CO3GLCCYeaeAxo7z2nU/bBAW8oKdh3D3GhwtWLmmXyUQegDVM5QBZofoO/B+FC9E912jBqx2gBmx0eh4sHBwd0POO/PVZQ0N35eoY1r/M
|
bCNsqNhDt3Deokhmv2ne7CJLsMBRGAKYA5YggwbhxklbhtBQQ65kOVCqKNAgGKNxRl8MvOnbD29GvqSofhiKqzeBs5JKSXKWcZihq+gShsM1L+gy3WRyg1Qu1m0th2g3wh2b1Ee5yPywihGVBhn0ysmoMOWrRReclKAOUplSnU354GCQh18GzC1P+540bukIJJRvu02Ox12+sR0ORhxs1ts5aN7VW25euuyauO+L3FHTmVJetKkm21K2iR8SPc6w
|
||||||
|
|
||||||
vUBhyc59W9f4hhgbYVelZ0aWuaMLRpaMzBsQXZWMqU7EfwTOWG3z7y7yQkBlywXG8dZ3XAfHbW4fF0B+rk12yn33O6n2POk61Kat+3LUisNIgmyFX6k10Vs+4NBbf8VBIN2CTwjD2oe1dTR+1/2x+nsNyBuRrIHdaNNqlxojh0G3bhm7nUejF28qrF3wh2724ugwNT8hKN24JKNPCfwppRjKONKbKNfekG34O2OGt+pwOkhiAC3Ac3AwAEKwYwfc
|
EDSR2SPyRk4MwAJSPhh9Tp2h4APSC+EWm+25XBO9YDBoeq1dg2T6PQL3C28F3AyQO32fAXiC0K2+lq8aINSGdT4jakRDL6wdW60SGAMm534eqNIOOCWsO7uUb0bcwQOQR5sP2RuEOOR8QPqu2z3dh+z3NOg2UeRtB3tOwcPw2UBrTwMklGK3WnaLTCDlBAiOkuyxUce/v14WzSTxAegAYs5QBZoWkMzRuqLwoUVKscgYPIzOwOA2970Hh5wMa9Y8
|
||||||
|
|
||||||
gMQ74A+oT4DBob4AeIoQCRWAt3BBuYOHFVKiiMPDwREhyDH2q0DxIYxBDlYFpJB4CMpB4mUk+v+qQRhgPQR7IPvG6p2nB74326153IR4/3qRxUPVhtfmVBjn29RgB3uDQjgiB+hbzup6gCRFiCfBl/1EM8iN5WjSQOs1en6ALO5VqttFxer5l1RVaNEe+PX3RsWNxxtBgJxl4Cy6+BX6DTpDajAiafsf+x6xm1HgWuV074XmHiR6308mh1Uq3OqM
|
N/e+/U3u5e2Rwy8MPu68Mb228NSeqH2UQbmPnsvmOchj2mNM4Ok7EfwTOWG3xRa7yRM5B8SIxmHKAR2m2ZBvS05B6p4CBuUNNhyp0iBmTG7+tqP7+5EOMAjUMM+1Dnahut5D8oJBuwJJSBRzz3kQVrFmOukOjeKJBkR9URUR6X3bB/iNy+9I2xe+K0eh6YMq+70M/Cj6N24L6NPCBZJ/RgGONKYGN8R8K1PR4r2xh521s624Dm4GAAhWDGD7kHKH
|
||||||
|
|
||||||
oWh53O+p51wxqD1+y1qPux9qOexzQDjARzn++nSN/cUIT/pW4Uh+ke0QHAlXRyiaMi+qB3Ky+GLHeDOMeUocN2R5yNN+s00Z++yOuRy73uRk6XTh5mOIh1mMseiWNSxoogyxuWMKxpWMqxtWP8ezDXoAKKOEh+l2OBv70aW+gB94A3nVAW8wVEZQA1KZcDsAV3iOgXvUnCyf31U/l7pO4jis0QWn1KqNl8h030YWAW3MlVbgQROJbJSWs1EQXy1f
|
fAH1CfAYNDfAA5FCASKzAeh4PsJGMzSGUuDPnPDzZ4hyDwxsvrOwHYUsm/4PSG0yNAh8yMOQSyP1Ioz1YelY04egu14ejXXXalP1OGtP0uGn2Mju5p3CCjEPoO6j2T6X3IiwA2l1Lb7USVASIsQU0Oy2mcO6B/U0damXypcsRn6AD+4fqqBat++GLHeG0XUOre32it+NoMD+MvAbPWPq5VqdIbcandT9j/2EeNHlcm3v2v50VRkM0L+3064ap2NQ
|
||||||
|
|
||||||
/Ib0wRh2O5B4sNH60sOTelSMweuz0exsoNKh67k+x0unVB26SJcoCWFG4aOqmkOjB+wJBQK8PWm25XLzO4ZCMwEANpenumuhoZhma8CJKc1BMCOvqgtWno3yk70OKk281Fe4c5eO8Y17/SY1/3MPqoB/gUPAXwBCAAYDLaz4BAgc3DfAN4DKAK3BCAN4DOAfABNuTe0FiXY1FxvmAZOR6Qgk6TW8a6+CoGonJpSUSPYufSWLIdVAt7Nk27ucu11m
|
hhqMwhnGOthlqNKOz2NIhtUNExrqMbAcYDnc6u1n+6sC0oaeDL60SrVK355woANTfsKOMCx3+MdZOOOXVe6NOh1aOTmCMMbRnW2px710TBvsV7Rw225Gw6Pjs2uP1xooiNx5uOtx9uOdx7uN5esqnrAdaMNmrAOyCsq33hhgB94GfnVAW8wVEXfnm4ZcDsAV3iOgSA0yi+gOCzKJlvO4jis0C/5Wyo3x6RysPT4Gf0GDXbrrcWXJ2DZKSN6iG3gm
|
||||||
|
|
||||||
zBPm6g4MP24b0LqzSm26133nBhGNuxysMoxpUOCezCNTKtUNyYC0gZ7fCNpPehNMJzXhA2FWiguoLmTRt/3TRiWV+YoQA38+gAO8XJT0Ro1TGgKeHkx/5mpc+gClJgYDlJrdAcRvbbEmPKT1YVDBT6jNyqCElQNVaOq2M1aYcoI3ybo3SaAe8GNQRh32ICvBNjeqUPNR12Pdx2JOI6r53Z8usOPglQxKQbySVaqoYhx4QZGgJTnP+4X0cJyPVdE+
|
zBPr+mM3TM5a0WevGOlBiQOExlEPExhn3e84+MUx0+Pd826RMiFj2iVWO2WoubjMle+OV+td2kOl/2Wm3CrBSRkPBWvd0A2zsmSxw/VClVbgQRHxPcOkE2kGsE3uoC91uBk8M8MhWM+Bu93KxwH1g+0Rz7OtE32ih4C+AIQADANBjGioEDm4b4BvAZQBW4IQBvAZwD4AJty86lSNPO+A19xvmAZOR6RXmjLVx260AxKc3w8sXwRGR7qWLIdVDBHT
|
||||||
|
|
||||||
orGEuB2+sbAAIYneNqB65N+M6jHQhiYmwh7QMw2x00xM4v34upnYaJoQBaJnRN6JgxNGJkxNmJixM0um5Mhm1Cb0YtS3qq8YMSAIwApAR0DQlOeXMATABnkIjHhQVsRe4SQC3AS6Fryp8OUmt7bp2sEj9WEzXFS4RhbI9ayZuWIZzCoCptKomV1Fdb78miW2O+j40wx2n1RJkmlLJpGOlE5kU/2qwVUJ+/XJJzhxi5dNXre1sNXHFaoZtNhNguk5
|
S27uE8BsWma2BJgoP52pa2F2sJPKh7XVEJlyMV2mQMPO6u1UekfFeeC0hAHVJN1bf5NqspEQFgeGxhRucMPW7CL0AIQAaC+gAO8XJQJRkIJ+UKVCd+nRNQpmFNwp7KONM+mD/FDa71YVDCcSjNyqCElSZZC+pVitWYcoI3x1S4p0YJuqPlOl2NKu6CNF2reNORr2PEJ6JOkJzQDjAcAUoRvqPocJSDeSVz30jG/2LqLGAQRLQMPxwiNd27oNIp5h
|
||||||
|
|
||||||
O4mZE1a+s0NwzbAA2ZOM3lY95keJLd0YVIohCAGAAHoYUC3CWoj67IoUHoCmJLoBEWZm0xoABhX0wUG+nWRzOOL04h3ZnFVNGANVMvRrtWDTDDgNIGWhUXQNQ+80TD8mM4xUp8oKrTZkpRmDaxDTHeCERy8V32iGPtusUOduts34Jjs2EJxCNJWLgPcp4km8phD0gJ5D3pBAmSoYbzmxgwGNNs26gcyP8N5J1d1eC61P89e3FJ+u/HqiZDqXZebK
|
E7umwO2O31jYARLEMFXhPqiJVMPMpzHOhp5muh9mW+urHVBSqANBuwZNCAYZOjJz4DjJyZPTJ2ZPzJxZPxu5VOPRyPUUol6NlGnRNGAFICOgJYpkK5gCYAM8i/48KCtiL3CSAW4DKwnrmqRlZaG7B+1gkfqwPilS1SGAV1nGTNyo+R2WAqmFUssi8qy/PIOQhoJOFBsz0mqp5PbGzsMH+9lO+xshOLC+JNeRjp2cObbK4hjn1hx+c73Qf+xddZmN
|
||||||
|
|
||||||
DORtNNZKDq8WlB00ehmN0e+/RCW7yP4U5j2iq+FOIp5gDIp1FMKWgEAYphABYpnFPRK1tPMAPdoxRu2kcrGXxapnVN6pm4TJfMwBWsIwAmp5cBmpj4lh9SCi4addz3DcaVHYdGWgkfukXeTDyeUZnGoneLq3y+3RJh0MkCpQTZsGcqhZOplMSO2SMje8JMu+5511Oi4MKO0hO9x8hPVh2sWJJ1UN+x26js5evC3CmKhqdeJbOkMmOzmhaU/B4nWH
|
V+nUU4W9mMLh+ObYAa/Jbm5QBTbMDHy1durYgIohCAGAAHoYUC3CWoiT7MEUHoCmJLoV0Wgx/mMBeq7T5+7+Aopt6MSAAC7dpowC9pzFN9xjDgNIGWiHdQNQNY+GBM5dayJp8oJqzIUpRmDaxKIBmT4h2qPLx/IN52teP3JjeMim1V34x+CMdRh64cp8YBWJpz1ToHfC5GcSb0rVQP12Nu5OjelUSplmORG85kwUXRnzRyZ0Kp96OldZkAedd5ma
|
||||||
|
|
||||||
9BhodQZeOXKzaN8Jpo290+OCPpuhWtfF9N9IN9P52rnSfpngjQB46M+2qEyG9WNLG4YdNIp9vLjp9FM446dPYp3FOt1C3p1cPMAETFcF2+eeBKkQ1q54nbqYcRZKSpUPQ2IW5ojdeVqF42aJTdOrrrAbEDfAYZpohzAB4EtBiiqX4DeI+PFsAItw9zVqT8Z1PEs0RrBa0BIJwsd1ISZ/PRg6BTMP1WzGPm6N1IBsr1xuu6MOpjS3qZzTPkhnTN6Z
|
21DOCdGcAYZzaMuhhX0iJg21+u7HWBun4Vupj1PMAL1M+pvK0Agf1MIAQNPBplBWOddDO5dTRM3Kl1PrpyL1DpkdNjpm4Sg/MwBWsIwAzp5cBzp+0lZTSCi4addxOjHGVHYfq3yYPSP14IGyIdGTk9osRX26L8Poe9wqrcsJX2fG5MvpmRW5p4oOwRr9PtR8hG/pktOcpuCWfJtb2JJ26i4YFyx0Jxq7KWm43HMD+2N2WVNDO7aXP+6123IGDarE
|
||||||
|
|
||||||
gzNLsIzNe4Gm7J2/FOIuYfhiuqChBGmlA+886DOW74pf9TPYGe/h7PfF75iJon3nRIlH+q2rl5h250Fh2CO7+p2Oy26z2LJkhNqRsDM8Bk11IehyFVB5JN1087xZXPfFB6wPQ33R2YGhyOM2ax5Vbu5gAVERLgO8NaL5ok0NPVbEDap3VP6prdNGp3dOmp81PCuhiIJJDVOhepdBAgAECaAU8P4AfQDxAedhLoGYAVPeICpfDUBwyi1PzZ5OPy+5
|
PPkpRl7FlJn41A2oZhqZiJUU/TTPFIbTMf2rnTlUdnKuBsi6mvDhmeBt/HRtafroACjOep/HI0Zv1NR4hjNBpkNMoNEAl5gU7q8Qu3zzwJUjttJ/pEgTDi3JM1Kh6GxBtjeAk85RAnpZ0Eof4gtzfAAlp+hzABJEtBiiqX4DHI6LFsAItx8LVqSlZ3TaNYLWgJBOFiP9TCr4NOAlKAp8GQTbZ1XhgIPg+2jZs67EA9Z4k0JhgbNDZkbNLsMbNe4B
|
||||||
|
|
||||||
wnvrPlaVai92EK9jy9Z/rMKgNaJupoLWjKf+CbsxZDawTNUYi9spMm1XAeYzFgmxnZ01BlbhMUKSPJapqXBJx+WFhrt0KRghNKRjgNppxGOqI1e4dR/uNAgGrMkW/j6KKmlLYPY9Upg0zWYwBRKRYgmNVpr5k2p+M52pleO2R9YDzp/TJjE/ynCdPLIiounO7x8BHYc+j19pxj0Dpt7k+ZrY1+Z/ci6ZgYD6ZppRBZ4zNzphnO05o4nPx6FMkh2F
|
O6u+lZNI84fiwZBxMawKTDsKxrE5O3iD3tXwRnW6bmh0Sxl1JusPnROdV6rPWCYuBsMk++lNk+pqPs2tsMIhwhOFp72MKwyzPjARz1wW+U12Zg4wdQ5JRX+pXCGOpGwP02HZThs0PSvZ+Nkh7CLMACoiJcB3hrRftN/rBWo8Z0dPjpgTNTp4TOzp+dNluvpoOpCnPG4JdBAgAECaANEX4AfQDxAedhLoGYCwveIDg/DUAGyhdMJRpUgC0kQ0ix8b
|
||||||
|
|
||||||
PoAZbOrZ9bObZ7bO7ZsYAHZh4SHp/2ll6Re6gPJWg4sZAg+8jlAqBV2AN3dPq1ugQbIibbjBQZaoTM1GTnXRmCN2HwW2M7BP2xsD1wR4rORJl2PAZ9NNI5nZ59x8YBOSi/0a21RLUIQOnjm9lJtirJNbEdtDECj6GdZkx024kfR24xa3XZhPVbR9L07R13FUXG5B+pUMyQ9KpAAe9JQO5prCQNQ6MdW+jNdW5TNMtabpqZjTO857TP85gLPC54LM
|
WVConMk5hUBrRPWMH8jhiKwHaJtoZPq+BE9PHIemaq4J76YsKpFuVdLUrcBdUv8wz2Zp2UNYJ2yONR3BPNR8JMqh1lOvJ2bEaOoEDw5+y1C29/CVKh/oP+ov0Y51tCzTXtpOqyaNsenzOMu/lUIZp85IZ572LR7DNldDJhJGxOMsZmcDx51I0gBxNF0RhL37RpNWgKw1M/C3bO9Zg7P7kQbMDAYbNNKE7PjZ5jNoZ5PPgYBPMVxgJ0wszvYy+dnO
|
||||||
|
|
||||||
mZtNIOpROB1UfwQuXC9yIse3pEgYqAD6ERCjRykTiZoNIYwpTN+h6elXR86M3R0Rzxuka3EOooj7kbcgwAW4CxoO3C1EANr1Czo4sYfBaQZgYXw+mt4GLU1jwoDmSdon3lcEsqUoEDlhlSk2NSGARA55p2XRp34I5wZFD/B79OmenBOu5orNJpnV2dm5SNIRrlM+5xd5+5oaW1Z32Oa2p2gKSLMOZJ3hQtZtlRf4DSAJUMiNFJ8X3seW4DLgZqH4
|
c57nO85/nOC5sYAi5h4TiZs83YKew7EPJWg4sd94GM+uC3eUBC8me+Zlwit4qoTNKhmRjx3bVGSi3RmCN2G2BoezLWdu7NN3JunHmezeM1O0zOO5n9Pd3P9MzSuU37W75NNRahAP0/UMoS3KaWqTyiZOx/0h56aNkOvzO74wqMy5yHW7huiq/GxgiHdG5Cz59wRKGMoCL5tQTL5+LOcMKG1QmsGGw2yfrI9E/rrAfPP7Z/rNF5o7Nl507MTZlYrb
|
||||||
|
|
||||||
AW4AVEbsS2hkdmmyinN4ZrzNix9AuYF7Aufih90WmdWaeUKOb2XMUh+p+FhYsP9JMM/EU14SaZvhvlZKU6SP32yHOFZlgM/5tgN/5+HPTzT33UGyrNVh/uPm4dHPoq85Yh+YKTlxkO6YuEe30Ev+zYe9hOT2s208s/Atc6QguWOqnMSAKjHyFUgDRwxUXrAQwvQY4wsdp3P34S/eMF+95O+KhG2L55fOr5uVYb5pdBb5jo7MAXfOKq8FOWFqXO/e
|
RXyBjjZa4XuRFgwE3gDFQAfQiIfbCtRchnLZlMH4AdrMdJ/Bz3u7pOqxwIN9J4INFEfcjbkGAC3AWNB24WojrtFEUEnFjClKJIk9x1ZPuSHZbqpBrPmpeXJx2r8R9pD6788ropVIqQwCIAAvOC05R6CbrFWB380ZKhUOg5hR0zeghPzbcXaSB/eNke5p3oyhHMq0040KSOm3+RoO5+5w1hiAhKhgp/HOce77m3AZcD4w/AC3ACojdiCXOIlU6AZp
|
||||||
|
|
||||||
3Q3EOx0D7kBADjATADgKG/WUF7zzVRQ5TsqG2CtUoI3OWlgyx1IdLY+xGgqgfZRbooKAMyKNOZZmNNTJgrO4Jt3MCF/IMcpukXTesQulBqrNKh0OXrJh61ToYWKe8sP1MqDuZv/XPPTMAKX5JuePOusnO1pupMda3R6ScJ/FDFtyOs5/P0KGkpHRM2KlfJ0S4c6wXbUdJdPOi7OMGNGQB+FfABTAM1Ve4R6ClKbci1ouogEjPFOySjWO99NCy7cR
|
6wPUSjWM6JtwseFrwsaShT3YKDeaeUOBbJPMUja5+FhYsHzwDpO2ZqzGvCSzXFNCDHWbShp9NZp25Ovp7fN5pkzMRJgmNdh4tMHxhn3m4N3N2q2E4h+YKRwJ/g6YufWEN0v+w+esyWPxwX1h59xVMc/wtR5gDUoZmOr2ppgCvwj+W+sWOqap0gAjF3+U+6tONgB7s2ehxiO55020sFtgscFwdbcFpdC8F/E7MAAQvWZ6c2qJwYsaptzHDF9jNCRx
|
||||||
|
|
||||||
WB/0QV6LIuGC2bGYX+caBPDM+nn2eelMpszpUrC8mWxpw4O/psJOtc9uPQ6zuMRqiosSmqosSF3dgqhurMwZp+SmMbFqD2qrV7Jo8B+6o7BqFmVMaFjZVi+xr2Kp3tlLoNOEjgnoxDZqGpTffAAVEKAD6OY8OEAcVHsAMojSLM1V3CZtFefPAvgIaLAFOlPNZx2XMQATEvYlzSBtJx2pMQQ0DGojhBcwPvHdMv+hZFeSB0oaCz3p/fKoslWIOzSN
|
vMaSR0D7kBADjATADgKNg3zhg3zeeZ4FtB8iCAmzHHLlebBqoaIgLKEIpK7X7wTIb4pTU9Sm0pxsNYx12OMpx5PFFh3MvJw/MogxCMM+7eU8pj3NpKX4JU5S+N1bOWYl+xQzBIaZhhGjoOwZroPwZldN/q6x3IZmPMLPFYAWEyTiCJ5x3CJt0OiJoFIMRjxH5G6Gmqkl/LQKaMNOp7APVxqH2ZuvWoyAeZL4AKYBtqr3CPQUpTbkFDF1EPsN0K+4
|
||||||
|
|
||||||
N2+0WGQxllOOxkotnBz3PRJwAtzYtRF+5xm2LegQMEcejRKwJJS3+h4XneXyUNY4nM6KsLEiwXFqZ7S5NbS0Vk0TOVn9azbn2l8VlWFrQPdpnQPVyov1zhqflsuwGqrFmYDrFzYvbF3YtW4fYvRKs1kOli1n2B4T0vxwIsaW6b5ElkksVEMkvQ+tgCUlkTz/CviGk4+eaeUddx0wV2qAwQs0RY/MDgIb9jv9Y65sKgRT99UqAoAwTZcOsRGtvJsU
|
PCF+iCRYB7r39RmiZmNgMWmOGA37KSoYUGfDIx2ihsi+zywqrk3wq38Wey3IuW5zfMFFqnm4x/NPimqHNsp4wv0+shOaK8tP30Lg3xy0xgJFHB11LdEtqs9QZeciaNeZu9Wzh5wvtp77nUcpdD/w2iE9GcnP1NAX74ACohQAfRziRwgC1o9gBlESZZtqu4RYYs/6+FlAjGIWI39B2XPCMsMsRlzSC7p7KxMQWTaM0WP5nQVwodFLaZD8RTCUiQ3O
|
||||||
|
|
||||||
N3CLDcxQzkQ54NUJpiUNzJxSMLJr3OI5jUvI5v3MTKqDOX+85a2WztFh5r/7v61VAqCAp2zx2VMQutli24yE18+/ot0nZ0PR9XaMUoEco1Ez5CSpBxDfIJsuPcfrrnITbBSJx94+h2RMG9FTNG9e1krFqABrFjYu+tEMt7Fg4t8ZlPGCZnhLIaWUCJBUYTuwXvMT4Q0CZuXyDJwFGzYMqtKOZn3KDFLLHVCJjNQARaKfAbAD0ADcL6SMQD7qR0D3
|
wZB6DJKRRA1yiR3HayM3Pp7D2GZ9eM75j9P9ukovfp8zNH52HOh2smPaOtBmizE1jX55QNBGhSDMlAIRNp3HNWurovqCEWCutYA6cJsgUNs7chNs7tkI6tXn7lrtnX2raP9sojN6ppks465iN8l74AClmYBClkUtiliUtW4KUsoKjtknl9dm7BquOletnWC/eMuJliojJl1ANsANMsieU0WRByrG6qZTPruOmCL1QGADGxXH5gcBDfsdwaC3GTkC
|
||||||
|
|
||||||
CIkuDgapjaaj8tt5wKgo2eE382GfI54nrohCRAFpwE0vzIUsz54o77OZ7x0h9dzOhhufOzGpCsoVowBoVv6hGATCvjAbCv6AXCvqx58MLifWPpUDO0pwFomLkgWISQe2bUIaGLRIKxb8y0Mnia01iSamoN5Z+32FFr/P8Fnsuw5vstql8rNtR4EtxJ6sNoqkNETuiEv4kV4IdIQtPnMjW6ma0Qh5GTouVprrOFxyWW3AZgUhCl4DfAf/2Q1Xe4El
|
KTealQcIGrch/MSo0JVoZTWERYbmK4sQHNx+jf0hJh5O75z9PDlszOiEkhOw5olU2ZgcNI5+USYA7tqhxumN2c0qNa0doPtFyVOdvV/NhBRxNypoItnyL/NWfRwPbYRnLEkz5BmpBxDCnDtCPcYnrnITbCQF8i6pZmE0dZ13RdZu8sPlp8srtF8uSl6Uus9MnJlZ3hLIaeS2KwIKBV6gnoQ5CSDDNL9hJwI+x68PfocM6guwF9/GZZiACfAbAD0A
|
||||||
|
|
||||||
pMvsSFMvkl9MsHAKktZl2ksdpTc1U5dy7BSYYNCGyEWpcjytrsW4DeV7MtjogC6lgGclQu7bi4cK4tyJL7WViWfAsJLYMGIBLXuYpLXRp8HNtuz4v1RqW1tx2GN/FyyUAFwys9x4ysrJlp1t2XNNToS5T+qMEka43SDgKw1T+qT63qFwL1Ex822MeEDSrjHhN1pzaUfSxxWDa4bVqBgbV7aobU4SmEOyGj0tvJmcMfJn0sse9iuoVuADoVnitYVq
|
DcL6SMQD7qR0D3CeMuDgaphlakrML9Y1gYsHbo2mfmx54unK1Z1WQhAtODneJPqOHHoq3RVrPI5IslrZ1QGg+hgtbZ2nZs6vysBVowBBVv6hGAUKvjAcKv6ASKtCFq7Ojx9KiP2lOAG0ySkCxWvqIabeAdQfRnFPJLW/kvA2msAg3palf1aFuyNb+vBP2555O2lp3PjecYC2qq9EWFvP2B1DpBc8r7VPlS/5NYPIx4lgSsElnn5sxrkOuF3IUXCl
|
||||||
|
|
||||||
IACVxegRlzbm7a/bWLFs4lLNNkP6w8VNsqQSAoyM5jBfcYA36hcuSyh0bbkUWmm4aowUAF3D6ATQCaAceyYAb4ApAegCfAWsPKl52NyO/ssxJhrkvsFAi8l5Ajp9KMwRsq5YrWq1bhUAU2JpthUQs9y75mpZ4XjMR3B5vkulgPFqRWlEGK46hNF7ec3yp0hnv5BUDBoNwqVMSPQ4m+55SVMqAwumyP/uEPFtg0Y25e2Y6XRoMPXRl81qtAUnbRg6
|
4D3lq7Gd5DmMAVhMvsSYCsplsCsHAdMuQVrMvLpDcNn3Du47FMSt2mu8NcZiAC3AU6u3Ac6tQVlwttZRDTQoXHFqCZDDaGgWK7dUWaViWfCsJNWZ7avDwqOQ7WPpi3M2R4HPaF23Ng5/BNU+6z3OG+p32l+EtkJ/dUBxgv6XKByHmuupa6QMibkwSZTF+gMtPG+W0Bej6un6r6uBFn6sDFmnXjKpHUo6iL2oKvmv065HVeSgjOzFy8tTB1KksCpi
|
||||||
|
|
||||||
OgxImuQvGoNk1qAMfffMZjBnKW/JTT2mau2DRYJETjecYC//b6vJJVmvs1qAAB53SvJpuHPu+4hOAl41a+Aq6KGDOpBf9VGxz2o9ZlSzk241xiD417svsmwW6IaFqKQm8EF5FtIIpqi0gOITUDLJ4Uo2CwmNE6slXc1iqxZ2uau1A55NbVlT4g6XZjK/eJ2xCtQNp14IgZ1ioUeR9nNeRznMvc/auiq36v/VwGvA10Gvg1yGvQ12Gu0c9Q051toB
|
NBu8quBVuADBVmqthVqIANVxegflldl06hnWnFhvOjHdMb0JutMBRjQJnMeY7jAe4vNp9jyPjbcjt003DVGCgAu4fQCaATQDj2TADfAFID0AT4DIRnQvTe8HOtRgwtQPdGPc3FAiybZAj3zKMx0i9A0VwrAWMQCas25/Pkusta5JAdLVuvSqJ8vFmQb1bDgd+2EviE8v5D4s/OSp0kMuFlJIKgYNDjJSpiR6Ui3SPUvplQe10LR/9yEXGcmQwv7F
|
||||||
|
|
||||||
51rOtCegh3S50WOmFYO6/JUOnTwlWLcxeyuZ8lp0gmhrXx3FEO3AIEDfANJjEQF4DBoHcLEUuXxFEDgBLsOAA5RuGslZl52I19Uu2xtzpaQYSHBIYRo8w/RYJwX+i4YLPGLW6ZNSO+SMM6Zr5Pp44yWgtLOdfbr5BbL/BNYr9PMyoi6og73UHPRmtolhVOSy6h2n3OABLsGM3LR3U3ccIC12LZkuFrVf5EguROuOtLEyJyfPi16fOS1x3F0CsAMF
|
yx4H3zk6OHImkAa4mewMuB6SuGoJ16J1zl4p15Z0SndWM0OiQohljMZde1zO3UdYiKJAlI6ulwHaBhA4l1sutQAE/O413Qu+1/Qv77A/Nx0l9i0oQ4Z1ILwao2PynF3YOl++6Our8rwUUV4JMtwtWZXbcHyi9HDWhs4smYeCEFhweatG6wStFAqusVWZ+0he2K5jBwjP0l7IitsMf53O2EWC1kHS7McBsPCtTWZ58RMHRmWtLF1K1W1m2t21h2tO
|
||||||
|
|
||||||
zBPK310jM8E0aAv53OCMsB/4sl9WvHq+WqfgjNouWLDB61oLKG17CKAN8P4gNgIPm13/Mpp//MI5pGuEGl9hEQY1iCQLmQ1JtZZ7KTlTtoXWCYQNipxpr4sNRwe7mSUqIqVGfKEeYWERovYitRI0GDl33M0AgpwYZ360QN4gSViCnXoukX7gayx6ScPpp5NQQHDF0MD9Ncxt6fDnPnSkS2fJ5EOlKCetT1wgAz1uev9yzACL15eur1pS0mNqxvaA
|
1l2tu1j2te1grlh66BvBEWBuQNx1MyCjjPaJ8ev6POpYbVn7Xf0FWLcxLatNOhn2ym5mtHAiQClKW4BAgb4BpMYiAvAYNA7hDcly+IogcAJdhwAEGMb1n2v417ePU+wwspfI0ERUNMjTlBYxg+N7Nn1z4JS2EbKH2ecLg86+uYx87Xgl4p5k/dTPHGBdHfYi350/IkmMa94ZNvdUOCfDg13TdE5Blk70vxjSTROkR5wAJdj9VRdP5JxjwBqTCCCY
|
||||||
|
|
||||||
/wsix1+MPVnMs918aIXnZsWMiTWtD1k10wlOhs67LqpLeZ4mfmzQBe8XoXOAZQBQAbEDhKguMsNwQtsN4Qs8jThtQR3eumbfZBoafUGgNAFp1RHwJqoAlWtRL2vX1xGg4N06B3y6+UENpyDP1kV6OXMRiGIjNNMih5bmV7+u+LWBXRxsZ2KpliPmgOQYyqsBvaNucEbuAcP2pgWsFe8rbwNq83SJm83IN9Umle3x0rNTcvNG275OUe+vuIDptdfN
|
oLMEHackVCMOHuBygtzk6i4LkhGE6/cWPlJ/cOgxQ35OUExvuIHODIoK37cXTHJMF0/6g10Sq11QO73tFyxYYBau23C2vYRNxtv/Txu3BiRsU+60vrWmEt71svREQY1hMkmVMKrPZScqdtC6wfxux1nBP589aBCMOcHm+XVXCYzMUBZlyJOjT+tIl7+sK27jhppc0YANwb4xeukvEg9kvvNHFrzAyiOLPD5obNhgUINkjMGp7OOm2jhtcNnhvNo/
|
||||||
|
|
||||||
76wvViuefcX16HT7Mlp6sBcyHwWChoE1fOsFIv+iVYIAKZsRJRp4RJwDPwxzlOtVh1EvsW2Ce+Md4trV8I04y+DQURWBueAsC3Nu2PxpqHME1wp1J1CKjjS7hUTM4OtHgMd4UINw0GM9quR178Uk5kuoQN6SAIJxOuaPTauTh2j12l8HmrofDWUJqq5g83bn0t9X72F+70se5wCJN5gDJN5gCpN1dDpNzJvZN7YFXVs7m0tlluBN4kOd1/NxtmVb
|
hvoKzABCNkRtiNgq1bN9ZucdHWtVbHkHYY2pbjHTmu0NxU43ZB/qvfLP1R7Uptj7NGpLeK0kSWzQBe8YkXOAZQBQAbEB7K8BPVNpUNQl2atE1tQ7yN5fqGgRvREcOcHOo3dbOeU1hqod1WOcmR02Gzf0M6IxuRZxomVRMxs0/Cxtwgha5iMKZHZ17MmKldn6T6xxtPx5xsE5hSoIAc0CzDXNXeNoX2zN6SAmma0OGvEJteBsJtaV3wMg+/wMd15R
|
||||||
|
|
||||||
XpvTACyyoED0QTQDus5gAwAP1CYARN7lKo4vCVmGlxACVLiPTlRlweTk7OsqXIYFyLJizzaFHVVA30hUjJOIqASYXPgI0uUY8FzsuItiDh0I7AAPAT1thqrC0cN7et4tzUvgZ/uO8ZwPMWViAvv4KQjWcRhOGsXlbAcNkonytDOiyrRtx+o/JiEPTx0wJiMaW0h1URNl1LsM2umhuhJRmKOpmsPYik6H/lOtPmDTCHXEqVSrUM6FMM7wbbiJaxNF
|
qxN0LMVJxgiJNhonJN3YCUttJuukcU79tLJsvvebVpJuwvVgLmQ746sMEqnV1EpJeuQVLlvlSyJJovUJM0VocvQluaueC1N5dYzNyHETWBX1pcqc9EdGaURkQXgHpvEtmlj31QxlH1lVvfZyR1IhdbIUIFTO+MkmvgHZYXmhlT7sQjdy11sktW2cWvLNqXlq8jXmroWzWKawWvu8zXm5t73luO+iMLFiemy1n4XOAQFvMAYFvMAUFurocFuQt6Fv
|
||||||
|
|
||||||
Nxl1uW6oosU6D1tettn3r1j3MI1gys21q4P4tqlkd2mK3oxkV7HeJQgo2C05wlvUDCI8V3mR2OvKPZDTRNuPWU5oEO+sGBah2bi7SXZHgmyYuQl0CFbOGAugo8PUSY8E2SAAMRB0BuANZnI5HN257Zt2/pZd25nR924e3j26e2L21e3Q5G6W94xBrmdbtXpi2Ja1DffGIAHe2q5FJdH2zFoX20jwj2/nQT2yXQz25nRL26ppr23dX1LWLHg0FRrP
|
SgjWsxU9Xmy8otuPN7kE6Jtswu4UuUhu4uVAgeiCaAY9nMAGAB+oTAC/vUk2ylpHmrzOIBOFHcxkWUXGUssWIiu5DAuRVXKXbfaaqoXRkKkZJxFQCTC58f6VHrEEtA5sEsU6LJHYAB4BXtvLXb1ya5ItqJOxtt5Oou4rOn5zEOUxqQjWcIxWGsJtbAcSVJr51j3DOtcuDNF5ww5DwZrp/NyhOqiKZupdjr1h4tUlKMzn1M1h7EUnQWCjqBLo81hu
|
||||||
|
|
||||||
TQ8BHQGrxKC9DFQ4LdAp8GnUiublIckOjqsOLEQJSxHUdne4Nx4c9cgdS22PiyEnP8+Z6PQJ23vWzI79/UQmWqwO3QM0O29a3daMc8+iJoDuYX9XocNvYHo+KDFhGWeaX48xqkl2xzlTEau2iC+u37WdDdHIyjdxw7ab6Y8gVsIYfH+gS6bQ4eobNOzuGwzTobGXa78Mq3a1ZhXc3eAApImWBi8TXUK6pA1wsJANuRW9Wgx6bZIB0KQBmO481W/W
|
CG0xB+tJSoQI3Yq4X0zZF5f36Z3stHzD0CXt69t5kiEt2ttOl1Nx1ujluEuuR5p27Wimu0I47xKEPvmNF4VPpucSYs0OMisJsh1V15DRT10kvR5zpXYSUpae2DK7lXZHgmyYuQl0ANbOGAugo8PUSY8E2SAAMRA0hmENZnInHJO1XIyrvpZZO5nR5O4p3lO6p2NO1p3Q5DSWaI52aS2ziNr4V47U1T46JO+EtQ7NJ3DOzFoTO0jwlO/nQVOyXQ1O
|
||||||
|
|
||||||
wC3ka844rIN80bctjAn9dECzBqCQr6CH4iSEfk2TZfXjg003dlHLddhpAqlboo2UPTSkeIMsMP6wS2X2eNWY6ym3ua0JqPlsl6OtQY2obdS37brbdHIz7dEcbYWJi+8mAO/FSgO9b96u6h2YU/m5kiPuRTcG0koANgA1W0IBfgAgAsKo6AKiOMA3gC8BLEy2i8o0d4mKoTAggYDAOurMNN4PSwNQ8kp1kekXoYO9sudPjpGHq0XktfW7KEIz0AcM
|
5nRNO6pptO122zfTong0B5qRzQ8BHQGrxIi76LQ4LdAp8NKkjurlIckKKUsOLERnzTNk3KtSbOuB8MlbmBGIXSvGFrbgjyOzklKO7e2Cax2GH22UWn287ms/QLb3c63cJoDuZ/SxmNOfeWI+KDFgc2au6SHXsKfG0J3u2lY7Am7WyYUjbdZ3n8ktU72zQA5LXsjQ528jd46vEQcWr3pN2FzSlNno9yW/y883rFZPXwM5O0FJEyx56807S3YB3b7h
|
||||||
|
|
||||||
PwNK/KWJG3VXOemx3skl22fW2WGAu7x2Ks/x2Pq408BU9kb4rVJBIs9QHWlosqXBTsgSasgWFzcUnsIkuxcADUlF0IGhZm8V3lHtUV/HLwmMGzLXwA9uWjIH/Vdu0JslSFUC6IMd2ZQKd2nav8ELy/0ayQb6G1m/6GFE77amK7s2PM6rWSG5LLwe5D3eJVyWsSgHAFBarhp4CYNy2/a1bIIuI5GgYNUrXMKcXO2UZBcaBQc1VWLu5Ebaqy3G1Jrd
|
pJtyIAa0GMHbJAHFTqK4OXaO3A76O6TyuYlZBVWsDlTDVfUowRny79lfQQ/ESQU8ppbCW926A27sp67tq99RiPoX63vKH+jxA5xpKK427ISE25q8REPFq58CN2+ntN3080M8t7gHiVebGNitrj2M8yvFA9Ug3Ebjpr86sVcce6F3Xo/m5kiPuRTcO0koANgBx20IBfgAgA4Ko6AKiP+mXgEsnk8Yi41rnfB0ZLVQ5DJiXvu/e0diGoZXYL913ExP
|
||||||
|
|
||||||
3PWxx34I+wGrazx3RC0CXA29UXqw6radS8PHFDIz0eI3gqyGxHnyxLUhApoY7E28Y7k2+5rua/D2zmdA3VOykNQwNY9DHkHRdXvnXOLQckTG473bHs72g3q3WflmXLDG4zrGYwfG5iSXXj46Kqeu3126iAN2huyN2xuxN2puzCUAzaIb9Hk73onqY9fe5azdw+Z24o3Nn3fohQIm43guSMfieVD5BqxlbhvgMtrwZb8B9yCkAXcGwAhFhDzsABL5
|
hnyT/RA4DK7cQRKi4gFhwZQADMAcMPxxq7nbSO6V2KOze2qnX26Hu6n7ZG7V2YcxUWyE2i9nS/ak2K/UsMWMBGwM0blakJt7FJKuXjvbtKOW92tcALUlF0IGg+W+uWq6wK7/HDuGQswe6f8xAMtGkbtkEor3Re4YDVezBQYcJr2NKylnoTTAXH9YD7NnQVX0wUibtfumNn3RlKl2F72BgD72oqxAmmbF1ACIH9h/HI/btI9XgdtoZDuKgA5BvTTJ
|
||||||
|
|
||||||
JAEUQfO78XG7f8XctcUGATr4DRriXh/aoKh4YFZsS0oJnCVMrEcMAL3GAwi2+C0WHCa/M9ia1C8layKGgtghQzlJiw2q2r2xPnTXhmwzXRmygX0S5LKIaw2Z+ZnugYe5b24e9EgQ/bb3PuEWs4G9jCDvhs2w3YVCUG40wZ8ylMke+nnZa4wR5a4s8ngEv2M8xc3PMwE6g7v/Wbmy9byxA5ETZWJnxvBFBqxkf38ACf3f/j82/O6/Lle933OnoCcy
|
WGjFhKaghDOpY7HT2zfW8HmV2r2/r23Y4MSIc/7X/AXaWzeyYWGfVXbJy2zzHLQDMa+kHm4BXk2LqU73CCOa7/m0j3OOAH2IHE3V0e0JqxuyM8Hmcs9b3su84G9Hsfkos87nis8Hnsf2SG9MX5fRLX6S8Rn9U8mqUG6ms6ewz26iEz2We2z2Oe1z23gDz2UFbMClnvc9J3tM8b+z7zmdcub9gwumsGYbW5HI3guSHtieVD5B2RlbhvgKMnNZb8B9
|
||||||
|
|
||||||
0pPkh0oHSWRJF3iSoIjbxGvhGetqlGm5pSNkeVA7IPy9I/TbGg61uN/Bpo7Q/K926i90XAIVb3L+4s2129xEFWVS3u02p3xMsYWA3ma90+97Gqrhq8hB972RB6y3dqw4Wp+eX3K+1qAa+3X2G++uhm+633oleIOTXoG8pBxK3Yo/bTQExrixOxukZUJtA6icF9OoNWMaNsuBIpQMAYADF8KAFbh+QO53aRpP92Jg93uO092Ve7bWCvrjkGNP31vP
|
yCkAXcGwABlprzsABL5JAEURbu++mzLUb2d4yb3DQYECuJcAhRBkDZ+IPDBIlf2kys4SplYg0r7TMV3ZHQY2ZOQnWOXsnXvtWjHfhu3bMWKP3Oo5rdtFZO6pXux7KKVwDsIq7WGzAPM90H730zAH3okIcyd+xCZpAY3W0+1I0ZeuE3wYXQXGmD0mxY6AMJY/E3GCLwOXXrR7uXvuGPXtq2bvjk2AU/o7yxA5Ey7tVnxvBFB2RvIP8AIoPyWra37u
|
||||||
|
|
||||||
GyzKq67XNuqCCw4JNUBXmQPXUXW35+wrXSa4T61XZjmHIGm02osz62fnfrPu7v2poyD3UC9hFgwL8Al0NiAz+Wf3Jq3HXcjLHrr+zMVTo3f3hjXEwYA8V7tm25nqe1LX/Fpg34EDEPf+9C9svSrWSppZ2JZXoclC5+Cv8BjJmTTAO8GkY6AAVYTSAPkPCh9kL3B6mmRC+gOfAT4OObeu5tmrNNAkOV9o4FHVBmakCDkC7XEu+KHku+ZIUxuD5Duq
|
8Kzqu7vGJduH8WMaaw5bsbkH6SyIvu2fXGWbeI18AdDVG0D3oQyD3RaBW8omR0UrI8R36vpjAsMKPcGW5KymW4j2RnRvxVBw94qHQ66029qngG8SCR3je8l3qAOj45Dc6hwu8j+40Op/teWyM6bbUB+gOtQFgOcB3gP10IQPiBwAPr3q0OGh9O9hBZyWyG2cW9a/Ws6lm12JKjKgfVTQ2ipp1B2RjltlwIdKBgDAA/vhQArcPyALu3WM+Aa1NKu9
|
||||||
|
|
||||||
XbuC+csEYsIxjbUAXkQZ/XCWxaWbcfK8yhytyRgxTGWczyrU662wW66IOuLU3XOAD8PpB/p29q2H28VlYObB3YPmko4P/tHbgXB4cricSULG698PZsq72Yy+3WAixZ3vvqE3j1Vu5vydrQ39oXySJo9BqxqxA9tceR4OeKZjfkIBSlEYArcF7gMaoRE5h+w2Fh1tdN/TjkGNATAwoOi4Q4EDZ3lbaZfiOi5eI6NDIh2Nib63d9cG8c3o04/XX89X
|
I3Ca8EPkW9QOmlpvNvPMzlng0wO/ui6Cw4J6Lvcv63pmQzpLB0nXXXgIPgGZpji4TLY2onT7c6xIOHG1IO3e22njq+x5gwL8Al0NiAlBcoPBXL/XcjFvrRO/0Xx+loPRW4rHks3oOJW50mpWxtmZWzW1TB3E2e63Qyvh4PWbB2SO7B6PXAE7b8aMaJUmi4Hcv8OdCWPWsO1MY/nw3ugAYR3COERwb3RAwi2C0zV2qBw8cOFdsRgoKAgicIEgMfgV
|
||||||
|
|
||||||
aqzjSgMWOUgI64M2v6xkO13mLK/68zWNJEIBBuxwB9DUIATs5mtj3Zxxua5mZbZeS2V/oLXJ6RPnah+Xmxaw0Pgw2g3+SS0Pke1g3GCMZBxR6028Gyc2P6UQ3+trPmgBwm7eh9c2bXYwm35NV9Xamg1CjOdBqxtqOYALqOk7mrxkB01XUB54PFh08DuxnOjmKh1s6YAqghEGrMdoAx5sOFykRRwyUNkfF16sL+XKiiSLMu7JgGGigCTEEqOx3edM
|
9z6rKsIQQchT68kPsE6kPM9A/WK8E/Wa4ebnMxQjFhGB3aCh2oq3Fn3cDq1KmHMMiOmUNaHzy+jraZYQ22gMQ2mh22zbR5wB7Rx0Oy2zeWg3ZsPth7sOWkgcP/tHbhjh9yrE8RCLluybgwG0x0T+9MONu1om4w70MCw3mL5TliXMfqfqQGh4P5sZyOzu1Aw8rQehjyEFzxTBV6hAKUojAFbgvcG7VCImcOWU/U3nu8449YMO4H6dGYd6hMjKXgPo
|
||||||
|
|
||||||
Jq/RllHqaOV0RUPRi58OXGj7g6iMhDSIU0CnFcXc3gKyKqrr2P+x2RChx/3LQWfIbC616WLpQ42EbaSOD0OSOD0JSOGjDSO6RwyOERxhrrfuOOUIabgpxyOPOuzLnvkqk8PIYT6N0p+wL4OrkYB056CYxpIb+QZbh7ImgRUUIByRh379APRpzcDuOe2783O+xda0x2yOuYoRBxaLWCyUun01lsPdMLOyy3wyWPpG018PRxVhA634nTm0cjZR7YKx
|
D0jFhJUAzD3h3fXEaKS2tmeS3TG6k3c4NS3ai3/YSoKIOLM3Y2J3WCPRPnjn2W0XXsIkIBmexwBKjUIBmc6SdgeaUOtXpmYfiws3Ywe0mm65CbNKyn38R23Xs+3o8YmySP5W+YOIBt2OKsG6Czfv2Pafhq2aRxD7gi5Q38bmsDuK4HpVDKK6HGkbxzoOyN5xzABFxw/c1eP4OyB4EPIc8KOAgaKPzWufM6YAqghEOvMdoAx5sOL3aOBz2XV432WQ
|
||||||
|
|
||||||
GB+mmB5v3aa//LVR4P91Rx8Lxm5LKuQFy70o1ABDwFzW2xw5j3Q8p29C8s2qh0LXrR7fVie1eWtm5qT9/sgH0Gw90XR6h4Wm8hPHvmDE0J699LzWHjLm9MCt7dZ3Mk9Rbwu6+wxO0SOFvfE2nmSQAKiBRPF1r53kx4Mrra14Oe+8sPSzHgHDY9SgJaGstroAqauCCnBBWPBPq/qAdHUswqVvmwhlbgQb6fpJVyqIe5GxyjqSLkV3z+yIg8Snj39G
|
Qd8Q7oNhX5LTWA50cCG0lTdyImuECTEJM3eox1913YJ2Nx3938y0yHAGzMWM2+6sfcHUQAoYlDKQf0rAHm8B0xZDcWJ2xOkoZxP0FY6zdo+WdEG9nmhxYc3UraxB6dTmOD0HmOGjIWPix6WOgxxZqw9XxPAoabhBJ9xPqe5xn0UvrXnM9x2nqJ+wL4Ak8PByt70x179gboiy7cMPZE0FWihABWM8A/oB6NObgVJ97Wam4KObS5BPA61zFCIJ8Ukn
|
||||||
|
|
||||||
5S2u0yp9zuRDyXFcOPRx1xaQp5DzmVUdzwp0COQ+3d7Fx1Pynx3bgXx6QA3xx+ONs9+Pfxw3XgO1FOwp9OOTx1K3co7xsTtAshqZkAHwHTAPu26PXbATxK9XswA+UUIAD0OMA2ALsrfgPQBybrqqjVel9NJx33/OyyO8vsBOsSnigr6JwxOuhKknm2YNwXv/YBXr3w0PcymZk8UXCa0awHoKhB1uiYwTwKBFUgDtaQ/GF25DE83T3CFA/6maXbh8
|
kKlJ89ssiHqlIxKbimOx9uiSW0b8yW6G2Lk/ePHIIOPRm2IxdM+ROWK8PiC6+FGXG/qySABUR/o1ABDwJXWNxwLjawxoOMRw3WsRzQXdB8HDoC0ePIm+3Wc+7QcQ+3uGyRwk3rxyb8/rGq2Bx4+OR68+Ox64jyZznO6euqYbX2G121h/iTWG1MN/DDlO8pwJs7u2BP6+UEPKB1BPMPpQTVIFu4QldSgJaAqtroAbCuCCnBBWBFP9yogiY0rrRbds
|
||||||
|
|
||||||
jH7h/hOSWpkPCk9kOD++x54gDIDcgGgwZUcUPWxyIgg/B2Pyu3Sdb+8xOye7UJbRxXqX+4lMVExd808/wmMvT+9Vp8xAFTYSo4RDMgXkLtOdcaxB/KMnBiG8QWu66APuVmgoBNt1B4YkDqiR376XO06d+NI9PArC9POOwhHmR0U3/Wx7suYnyt28/+LxSZyRyvuuLO2sySWuEZqDh12Wjh2IkfIDsQvxIfA7sLfbMW1lnKchIKPJywPFy52cN+Nz
|
FAq2RjXRmwFUpUj7nxWYxXxxzaMqJwN2ip22kP/SUnqIzN2QGzHVs2+cquJzxO22e23Neb9OhJ66PM416Gjo6msNBfVbbJ6QB7J45Oecy5O3J/g2Qx4DOteSGqleX9OdJxQ29J/MO6tgsh6tdShvcsG8kB1R3g81yPMpU89mACFihAAehxgGwB2Vb8B6ANHda1U2rIfnNPoHfa3EW5cO5G9cO8UDBrK2Wqhk4Lut5Ev/ZvcghlXPcqPrc703Ph0a
|
||||||
|
|
||||||
WYKGgnzR9U5gmdYXjpVBsTFXnLkIbbtRWcGgX1ahKqrmrODE6KoDgFrOdZ/FPnuYlPS63it4gA1Ompy1O2p0ugOp11PCbPoAabgGb9ZxrOjZzKztZzhqip8E2MZ5G8DEc2GXoeXBqioRwYB+f7ap0H8iIXqnbgBc9lwMoBqMC8AFQH2OrcBzGeAJhVCZ0mP+pymPBp5eDhpxRUh0tmPyoKkWMwyP0rGvqjUgQHHoMtZPgQRPh2hyTW/+/EPao/x8
|
wHoKhBueqI6SuLu4XkCwSQ/O925DMa3T3CFAtGhjiDR8PqQR55HJxxlPwU7X6ZfPEABgbkA0GE2jER8U4q60H50+WiOd9Z9wRWwdYxW60mV7V0mjB8VXiR13WzBy1OLB7LPmIAbDCVHCIZkCrPbs+rPMUBCaz0vYOD7sdWG1mgo66jSgQlbQ95jg8AT/RNPixvxoLZ4FZrZ/yP3Y+2GIJ9zOw/ql9TYBow56uwYmaFnbhJrpHI4KTp8oCbWN8/kX
|
||||||
|
|
||||||
SVGy9UQqkOt+5dOPZtdOyTqM6Zo5VC3gMwBbicGgvcHypqJ+9PieQSa3hyl6xjUxOrR39ObR4/2To1PnX+46P3+7xPP+yj3XcT/36550Pla1B8Ax/PmsR1Z2UreAO2wzjgnGeYO+AxHPpBivEB50POR50yPCm+2NAu1w3nHGXPJlH2kKCLW8P9mfAl3d5IK4PcWP8y7m5I+QO1GCcOK8GcOUJ85PZeYvcAfJ8qJZ9pGvJ1PafJ85YAQnzWlm9wP/
|
MJ06CRMD5AJe1dpbsOnkoe07QWCSup8KqlOp+49O8k9a67ZysQvs6VOqh5j3h6e6tulW/KAoevtG2cGhRNQzK22XPPJk6KoDgEvOV56DPpazMGX+3HN4gJTPqZ7TP6Z0uhGZ8zPCbPoAE7lsH15wvOt5/uXl57JrGdet3K486nsZznrcZ8ZC8HRdpy4AK7COB4P9qWTOMx+sAvcGOnaUQeplANRgXgAqBWJ1bg84zwBYKhnOpq3bnam493vJ71jY
|
||||||
|
|
||||||
e1V2+BxIB/hxwBAR5p88FwQu2c72mi63Y39A4Om8Vl7ho57HP453YSk55ndU5+nPolUQuURxn20R8LHJW77Ozx0scqhjx87GU9Ru4IeZ+ujAOLWcpP2mPrX2BADVvcIY49gQMAEAE43fgBQBtZ4/Ole6mPWR4C3nHHMN2VEOk5kka3kzriM+oVoxmFlFQe7ld3pe077Gvmkp/4HEsuSJBclIMk4w6KzQAhw5j/OGRqlO3dCkRGSJKtXl3lR9v2CJ
|
+sblYJ9usFlABHhJsM0R0RCDqTTtwsAXkWDM4tbW58MN+63wOfh4RPeXltktBPDZUQsCOEe6CPre1OPpB1KrvuQiBmACaTg0F7g+VIVOREJ9DiBh/m3Ni7PgJm7OW6zDDDB7dYGp+11JK7M7HXv9AB6/wOIyDLGep9tntu44OmVDWn82Rm4akPyYPB9UHM5wApeF/wvBF+WP985WP180zZs/hV8bshQR/gil31sjJTiF+8FRKxjHnY+e2Qc5hX1R
|
||||||
|
|
||||||
3PHe56D2ZfOvb/RaqtzcHFKrU/J3B8xwhi0/ROjvTA3LR4V77+/9PF5z7bl58DOiYR+8P++DOM8wnlFkJuC7F7gb5HHRBoHosRN5vp6PxN6AgBGjPgB0GOD++J3nq62h2EP1Y9FnQaHgP0LxF1eZ5vjABwlwkmYcxbX9K/83nu+mO31Ksq+IsZ5LlGqhgdketN6uap1pxFQQ/VzO3WzzOiQM55+HWlIv2CSp19fkX2RSnVIsDhOhyxo3L+nJ25Xh
|
y1ENUlqPgSwX97DgD4lVYPOMZev31xyIuAQim2xO9xFYrff3iQU6OOAC6O94akv0l7s2xE/s3n+5JPU1mAulKsq9lwFAuTibAv37ggukFygrMl+GOwB5GO355t2oB0zn2FrCFHvsCZDUvP2TW32gYXuyM47hwB2BB01vcIY45QQMAEABw3fgBQBl59Yu6K7vWqxyxiFRuypjciEbl2/1HNpme5AYCzRku4dPDrk8R/4HYMuSEnlhmjMaFbGHRWaH
|
||||||
|
|
||||||
oKpUK8OEq4L9k67wPgp87xYlT7g74fcuTFXErNnbOPSF/OP7GxbOmdlTcOAFIvtyDIv4nXUR5F4ovlF2vyAzQ/yBgA8uDtZCmiNXGXMR2LGPCsGh8ACjyFVsz3Mx0VBD7IJFmTSR2n3erlbkFMgRfBQGh+vzCA1NHmjFnKXJe8x3gF2ZLZe/d2KZ4r3CgzpOgJwguYm1rhZUT87te6yydFmRZp23BVKELWAf6Au3Ye4PnTYOUFOx+QcZNPn4enKp
|
cOBcf5wXNVY6QHCHo7fNrRIl+YWWW+COnG+73ZxzL5J2UeKJ1ubgzpWYGkR1q8Nrh9BhW5iPXZ9iPm61AWYbbVP1syrHNsz7Pf1t3WNegk3FkF+0G+4culIDMgbHosQGY55QPxN6AgBNb9fq/1P+DrEyP3kE4nyVOGkB6Vz/m385RfjAAvlx8mUF3jWZq0KPi5yKOVpxwqhSgCEDUkrFj7hny2Guap5Zwo20J+Qude1BGyvs54HULTNvPEcoiDZ3
|
||||||
|
|
||||||
pZQkjxs6JXI3WOjwYOye3zZLCsS6NKuitHKuFV97IlVyqvRQt+2xixFTFLBg7i67hCS/XAixLoLspV0HItV/KvFV8qu322qvdB8umI3ueO7/XEuDbTvgl8tm45yA8B660TOcXjUAj1MoB4gIQA3gF4VTcOMBtyJYASmeUpPgNuRai3+OUB9pO0Bxougu/nPcfrwx6kNzlbK6TksEG+muSP9h3i0Avp++22dK+ybmvocpgOACQp+gtDTpN1g7TDkU
|
24QZ8gBBq574e0UPCSS2my2bbOtXs5ZXnJaP029tG4vYXVneMcqfcFoiDV90qTlaSKRJwOKjbZImQ9bnhxgP0u/etuQhl3c66iKMvxl5MvhBVsGdBX71TV0aufy+/OYx39XJksGh8AKHzh1mWX4IDf1N5kBSRUTEOogWfAEnn5nB4zwGAXVbBXgnLr1BjKvw21329GxN7e+xV3854P2/azvXbFzG2x+w6X8IqZXKE6hGDjFy9lS/qHVG4u67fFNB
|
||||||
|
|
||||||
PsI3x9+l5wpepm5E0b4vnPea7u53cy2gzHHjcA0lTokIBvgNgATeadmsQf45z5px9BDY6Gb+7A3fpykuF55eWkG8/37RxLXuJ06Od7q0ODUFWuUoIHSmMuE2Swcax+KM2vRbojE/R+JOD5wi9TzgYiPwSyzXwSoJozM1UNgA8AMI4GuJhxIBh13ABR1+OvVF0yu010NPNF3OjMLCW0isFfYz3OWT816Jh4UCgD61bkZq51YuBBobAwrg4LozJHAa
|
8hxZOWa50WVB/8vTYLCMxfV/6A5iXR8/D05VNLKEkeNnRK5G6x0eD52VO+bJQ1v2ug5EVph16OvvZOOvJ16KFrO59PdUyDSPHeJOFu052lu9c8ZNAOv51yOux1xOuzO9Ou/V40vhIy17sppPaPm1ood8DpASS2sO8G6d3LJ19wj1MoB4gIQA3gNMlTcOMBtyJYBEWeUpPgNuRES+5P4W8XabF0927F/QluYqMwGaqblSSf1ksENpmuSP9gTS2N7m
|
||||||
|
|
||||||
x6dVm7quM25wqHjl82PvJyUP2yjQ0bGHOv+a5gu6YwH3CkWYWXlz7hbq3Yq6NxgT1q6bPptVznsHcGvV0KGvw15Gvo17Gv3Dh3lE14qqmNwxuhY1CmMRzn2DB78lZ3RecWDI5dgODAOtI9fOiRrOsJQQMAjALUBNqRzHSAC8BEgGtnkiDKthFaw3La4Bv1F8BuM10d51KOu5kWBSIzoCH7Sclzp9rpvNVxnNCw9gqWlp9/m2FTSlbvKB81Eh6oSu
|
55Qu6PlHgyfocpgOACRzTiIrjWPxRH4DLYgDgbTX637lXW6H46u5R7bM5wuIR0dWqKdhFGkqdEhAN8BsAAvzv4z/WfTgWChekCvypyCvKp+K3Dx7QXPZ/IvTxxoC5W6H2ws7RU8NylAsc75BOa0ZBusHaYyNx9hG+EDDNW1wcgg9k2J61fGPx3JJDUgOk0bIUYHgO5GqV8bg2N3AAON1xvplw62MF063nHJhYv2kVgr7Ge4mtan020MsRMYExR3W
|
||||||
|
|
||||||
KhO3HFOazlBeu211YwrSKhRcuwjr8u2cKrp2qPf68RO+55QjV0Nim9JJOnXp4K5p18ws+WhTqfp3PPl16xO3HST21SZxPlE1kvQZwRnarV/33SMZBUYNSgS4C2uzNTMhG12eubU6Fval4GOj530PuVqb3bOxnsMXI94YB11Gul252Ut7cTsAOluGV0IW1FznP5CSBujvESRbvKEJTkIbHjAQ5vXsGvht6l5rOZ1pWQF1EPUTjaiWIKWYwhIFsLh/
|
f8DhVxhPsN85d7FobACeUNzozJHAe50LUxGEMzbp6WuxBw9PndiPP/e3xuZaLrBtV9UPkl66VDVzETRa1oifV/luBa0bz5i2DPFi/ku45tUAP11+uf1/EA/1wBvCAEBuCcqBujlUVvtaxevoxzyXYx3z3+DjpBdvesZu2D+OB2A8Aeo2Yv83HuSiTsgHSAAqBHQHnHSAC8BEgFznkiP2t/ZYyu0F8b2A65gvnHOpR13MiwKRGdAKWVooudPw1tFj
|
||||||
|
|
||||||
T9J+vrw8N2Qm0h5o2ZA4u2V8DyxcixKu6dXxadO2jthpBrJAAAQgeEkAASCDiRPCSoAQAAkIHhJAAJggoC0LUP2+YOH2++3f24B3wO7B3EO9Y3egZ8jHG6+4am403wUcdA2m903+m5gAhm+iVhamh3v2/+3QO9B34O8h3Lq6WLfs/dXmRmPXPnJb0xHGL7UY5puI2/QAC6G8RmAGlMRRHKeWqu6GygEm7YduYAV84GXxm6GX5Rd0nGA98BgkGqiO
|
1kPYbk90JyV3RVzJyH+rd5icZpvjKsRu3HGhazlBtgU/nW8/KCBYKYLRuy1wbPyY5IPGNy8vIRyxuZfLuQg03pI6MzbPdkv44GsDywH01zXJPWVPgm8Ju9xwoCDxzVPxNwSPoV0SOTB77PSRwivFW3dvqUCXBHtxeq4IGpvSNwhn3t4jEMmzHPaRwc76Rzt26ljTXKyTwwgoE1q1h6TGrN+sBwdyaTsAFDuC14o6qu0XOlpz5OXNzWBbvKEJTkCE
|
||||||
|
|
||||||
cO08X4i/TpOVAQk+VQa+HkUSYt2pXZa+0rs/crXdW+6xjW7hbgW6bXbW4z2LRNPcLlhZEoc/6bMarwnsW67n8W737t0//r7HlNwVDpmAA7P12GW6eHDWEXduGYYnC66SXqzYK3ItYxh5II3XqDa3Xa8+lrG89dHNW+839W+H41hVubRkBa3wW5lsJu4yhpedujtPfRnpDdjBc8ABSAsGzSjNBgHa/NZ3S0Vd37u+YbIu/ybJm5ajL85Kbb88pQR+
|
qMPbyvW+NQSz3PChG55huKF6Z6kgRLYjyixBSzKDKVCyM2VhZIN9eCwvbG/kCCnKHmO1yvh4d8UmAE4kulm7quL4UWphpBrJAAAQgeEkAASCDiRPCSoAQAAkIHhJAAJggIS0LUbu6yOTu9d3Hu693vu4D3Qe93nzAv3nlW9SWk24GA029m3828W3y25gAq25QVhalD37u893Pu/93ge+D3nW/IbAa5xnrzaZU0BKGGLemI4iA/M3Cdx53jcrATnw
|
||||||
|
|
||||||
TdgMthKXsy56x1JqNhjLAM1SG8SBRIHtlwjEdl4AsQtVZ3/SUBzXJrK617SC80LmW5I3e7KUr65eVeE4aCnLjQQlKq37lH6/NN22owlxcqR3/adD7lC6Z27O8+AnO8wA3O4OAvO+9ZAu8Muwu4DNa+933lO/urrJbui+gDwJPACXYzncoLvpIZnda5qJjf0V3/elb2JYDN8ZudAcN3meNDVEOizbegX7+an7kjbpKdK/l77uf/HA0+pn9e9slzA4
|
EwA0piKIMLyrVvI2UA/6f3tzAFMXDK83rUjYrH0G80LuqkEg1US0x2nmkLPos8Qctx6ZKFXuz2y413r5GJ3IHXUSHqiVnngkp3r2/I3Wm8YX2BEb6Dy69arFaB3bLdeXIZfY8puCidMwDo5k+2h3yPYawD3m37Pa4kXwK6kXoK/3Hyfcx3eLFBxfDIUXVFSan3+bk3MEJX3D29WR5O7ogW+6I4b24o32m6fH2i563DI/GO3pZwZr4qBso06QHwgo
|
||||||
|
|
||||||
It+EUHjU+/qLsBfkZXBBjRMk9V5F0Elo0qa6LUs/njSj2rEe3UL5z27glgAGQQb6bOAUuioAbOj50BfxyhAOSzxXLS2aJORZyZOSoAG7IE7Kq5MH51gsH/UTsHzg+yhbg/5xPg+dOfWSCH4Q+Gr7sckLqlFmrwjpkShlHjyMQ8SHtg8cHrLRcH/URyH/g+KH7URCHvzI+z+MtixpmoHoMSVQABL70AFvIu8f1opAYgD7keIB+RDXPM2+CD9R/mfM
|
b3wGqv3N+6qb/e8kbTK68nLK+Wnb6nhsYVBTy9Ss2g0+5Jx7psVuvgTCgLmd0bPi/0bDKbK+o8uEYqGgA5l05u5kk0cOs+r1naZrYXBdNVXPGo37fG/k5Kcu3HGPaSXTE7OFbku/lPdPkP6CvcjdnZyXT/Zzz8e7cJC6GORLe8wAbe4OAHe/PZ3e4Gufe62DL8uUPWM9L333Lui+gCSJPACXYJ3bi7zNkNMqi3NOxJKLuqfQegY8YSe9YFykIRWw
|
||||||
|
|
||||||
KnSBt7LnvAmDRihQOmDD8fyhDlfZCIQbuC+pZha5F5One1c0BK0PDz925uNU+paaIHmqfV70ouql4ZcS7l7u4Tjqt9oB4BrJ0Ns79yyuhbBZATxrz2G9xdRH5Phi09WTsJb2zVG4jSR1Q9pIKgOM1cAaifKJFH2kp+JeAh6LFeu3JfVbpMbRHsBp5WYgT1FZPpiQPMBLPZI8wUGrzEQIntFb9ic3vUY2wVpedAzga1NDrPc9DjS0dHoQBdHowC//
|
+dSIaoh0Tz52o5H3Tc7V34Uj17pM7hbMEcg3My5LXSq/q7v44oTQ8+rXthfScFCBsLx8svVn0Elo/FZa10S7ZYfG6ekOmKkPu/d9YgAGQQH2bOAUuioAbOj50BfxyhAOSzxXLS2aJORZyZOSoAD6qDOKo/OsGo/6ieo+NH2ULNH/OJtHzpz6yTo/dHj6dY9kScwo0ntBdRbuh6kMe9H/o91Hho9ZaJo/6iUY/tHiY/aiLo+dVSw/dbv6sJ1A9DFS
|
||||||
|
|
||||||
L/dUISfKKK2ZXmgWMXtlSr7wULdw9scjN3XRXU5A8vB68cZmUrr2tZHgDd17kZcb9o5fq9/CKL1TlcbJlNV5AmWhh5qlVa15OqqoZyvSBn60irzy7Goe9VfT5P2+sU3BOAg9AZJfcjJxV9WoAA4DbkR0A5pqq6Ynh/k4nvE/LgAk9EnkBOVdvP3GruwsyD9luiq2w/2Hxw/OHmsA9C9w+eH/NsBmsk/Yn4IuUn6k/Enqw8Ir1ksHAKYDFojDsDAd
|
qABA/egA45F3hrtFIDEAfcjxAPyI958O07bs1SHuK7QHjTjUfA4EwaMUKB0wYfj+UEIr7IRCDdwDNImXBHdhtvMAvgzLKrCrB0kd4Le698rv996jsBDhaei7rbcCHrV1c47pfcpt9u120lUXgBZAMJplTT6B9Ip5Phj/EJwszj8/fYRLGEdJBUBbmrgCFTlRLe+mNOI70WNELc8eybhVtXjzrK6NUE+FJmZCQnwh1K0PDxYOpPu4jsTff7lHdv7y
|
||||||
|
|
||||||
8tuV9kc8MK0yW22EJfBZM6Z7GmDE6EtKfWSqUN8TWBWmYF3mTxgmVRaOXO5zXesd9jvZHzOe1Ov5vi7lldW7y/XFH9lcZmoeNgnnMARUf1RGaqoaipl6FuqxgGAL5TesDzDMmynrGf4Tgcqdz7hQbTOjfTETSCHwLRRn9g5Y8VADO2UuhuyDVzobB26haJ2Tb0YXg6hRfz5xZkLyr7UTVNN3vqiSM8daGM/vTYTTxns9tJn7OypnhDYZnt1hZnhM
|
qdbOwqvStv/eMFhnf9JtnW0nzl0Mn8NfYNOW6VKslWVvX9jpOI3algLdzekkrgftYvHlwYOkuynIuY1+qNSzvNdIn8DexH5lNQbpzcMdnOtMdrXAPAehpM+3lMViREEZ9ZYIdd06GGNUs29dnQPtrv5d0wBwF0wHcsVG84EHoTJL7kZOIlc1AAHAbciOgADOQ3U3DxnxM/Jn5cCpn9M9WJq0e0R1Q+iT3JcaHiGdxzE49nHi49XHmsBEiu48PHuD
|
||||||
|
|
||||||
8RhXM9zxfM/JyIs90nmwu/tprv/tlQ3XStruMo0s/Rn8w+xnys/Znms8pn6uT1nmuKNnsujZnls89OPM8jnos8cL6XwSb/QcSraWVnA+gBOjFIBLoK1jyZI4FiS7cjbkPfPKem8Kd1cdLWgSi6S0Z8I7OyHq3SWM4pZuZ4qVjSCfBQRCi26JTVUafTgIc9Xj3dI9QxzI/mn349lZ/4+T7okf8psAv01yyt8MTQJMQGAsyTOo/puU5CdccmDA9pmt
|
tbB7M86C3M/Bcgs8Znw49bdnRMHAKYAeEiLtF9zU88MVbIDo2EJfBfrLAHGmDE6ftKfWam0uqTWBWmQjghNTnrbJ3dwkl8is5rnLX2n6I/4HjydxHxzfEH0cdjl83v4RE82pH30+3JBqiNYWrXPUfRcLlpSDn1rxevrttdPT0edl3EnGf4Cod11kK3qiTOg+zETSdHwLQAXvI5Y8VADO2UuhuyDVwRbAnuhaJ2Tb0YXg6hRfz5xZkIjr7URXNLDM
|
||||||
|
|
||||||
2ajSRvExSBvaaiae7+Tt9Hw7b69gEOpS+5j7NojN4ILgkacx8Kfn75A/nxjw9PIQnj3VY+INzZsbHlidbH9Jc7HwmH0OVRNhh/gU4XhUB4XnA/nHygfQxZmESBxxC/sPHsAW2qgwCHE4UByYX5bBK5YoYWcS9748gXqbcFNmbdoH8C92n/C1srt9c5psdv0/MBoZwW2A4xtTpgNRWBM05o93bpE+doHSC6FhJd295G6Gz4U8knri3uzzy8qHl5Pb
|
SAf88daIC8ezYTSgXtTsQX7OzQXwLZwXt1gIXsC8RhZC9zxVC/JyK5rFn2zuzHknvbr0FJBYgo1h67C+AXvY/AX/C+IXoi9QX6uSkXmuLkXsuiIXqi89OFC9cXq5r1LwcJdbns9/VtIml192vPjFIBLoK1gsdJUHFS7Up7F69dYL/dys7a0Ae7SWjPhNyrz526QPnJvsemSXcHKSvWrzfHFhk6qj6R4l7tEyx5wn67eCGKI8Obrmdi7wedrDstOP
|
||||||
|
|
||||||
Vm70JTlmOH72GZEEtmtQ1vc8Hn3em4AY887kM88aDjy+EnkU+P7tDuslz4CIMOADqlbEDpVvodcxKmjyJTFAsiN/b4DkTDSofMAnFXMDlL3FuSGZ2oCKAOsgqkfe2x5Zcz99vBaXhXvTb0zezbmBkAn9RtAnh4Csi0y+2C3wRwXr0/fI1Ru2d+FrX54iZx5i3vEboi/3DS5fzrs7HqiN6ahxfuKsHsLT50Q2Ql0TUS2aG1yAAORAfZJ7ZfZDtftR
|
LvE95+81KrzDCBHy9z260ivWJ9SyEwZkQ8RVEHeyDmXy2kxSBvaSqZ37sQ/Mnv4adLyedfGgA9SV8kfWXolS2XiIrfIRy+MeZy/5QPgbin6qcQr5DZnh7hkez7Hf0FmFeZN5U/BBpK8KgFK8pHpw+HCTHDDFavRJC6fdq9tFvC9tVCBnHUtWMVGQ+eXyM/m0I+bn5g+5rzy9C7vQsi74fvdw48+Md59tzkB4AAZ1jujNqIoZwW2Chx0k8mo8kQV+
|
||||||
|
|
||||||
Jdj+AsueDZNnRPYuqvS6G3F1r8Yf9RFtedr3teQ5IdeS6MdfTr+dfWz7lp8zw5obr12P/L7p3CBs13+z4MD4ETDjAtGtfbNBtenr9tfdrwdejr/6EvrzKulz22f/NNdeb24RqMqXoPr6OABaoLng4ABuwogCcBQ8dAB0wNkAw2PowmgAwBZzDpIzT3QjGb9CB25CIB2MLuEsgIaIJGwgApkF0Bmb5tFqmOalCskUQGb3L3u2yzeBb7GlCsi8A+p/
|
/EuxXwkvIUPjeoUKerZXvAUwpTeednzM9ts++dPXtdczH90NlbvedZxys+pLRS9ZLegAqXtS9yM3ACaXncjbkPYtbB169pnrs/F72YeVCz4CIMOADulIc3Dn4qMAkfffPnWNdaKaVD5gV/pkEhxNZd18hKkdWCaj4ZtETua9W57Gvt4Ra8D94XfnDxafont0+MtpI8jb9MW7XlYW+CPhilH51WLgxMfmtDlgMzV3vP556cZXp0Z9B+ict0vtel0N
|
||||||
|
|
||||||
VpWb4LeOb6ZDxb2zfCspzfdLwxI5b5LesgMva5CUrf5b+m9jobrfNb/oBhZtRvqzIbeEK1LeYQ+bf2b/oAfWHp31bxLeLbwrfGKzUJrb4VlJFrxfnys/Q3b1kA3+ClTU3kuA+bxrenb8bexKMvaRQPPQL0H40MqugZy8gFAf0jtwrtsISo7z5VDJMBR+6ZQ2cV8bCtUBAAjAGwADABzKGAAQAkXZb14zujA1mD7fyIsF517szfgwCQAFSgvuQdvX
|
uL9xWo9hafOiGyEuiaiWzQ2uQAByID7JPbL7Jlb9qJ1cfwFJLwbJs6J7EZ1zLf65LZp5b/qJFb8rfVbyHINbyXQtbzre9b9RfctKheHNMbfpjzPOMdVfCmSxDSUrVDTXbsd93ZqHE5b1sfLb0reVb+rfNb/6FHb4OuJLzRf/NEbedO3XnBI7rX9N/HPGR/eetsUJCsnkd3PT3sWsD4Ao1L8uAl2I4Bo1ezOVXZzPmVz5fnN9MZlyt54NYAjFdaAI
|
||||||
|
|
||||||
eTgI7lZEAfgSAACBftAgBJFrgBNAMEA2PO3fArqdQqnvgBjcOlPqMAAAKJQjb+ae+GEq8AW5RIAAASn9AB9GUAcaAHw499wAU9+ju9rQFAu9+388x+XvFd/5v7GFVvbYkiSbQFK1YOwPoPaEXoE9Tvevd/7v/t3uTjuTFqmbEpvUKeEA1IdmBUKcARr7SYAAwAlY/tz/v+TR7vfd9kwnOArvdgCXQyE2YAbwEzY0qy7vYD6fvW2lzwSCMYAjDpdA
|
x/4DZwIqD9YjsA7PJZ9Te46x+0oBk1CFlE9IIxRI7WEGzJiBIMzUR4kfx3cPPq/XOHyMUURsAPuRvl5y7lwOfQ+Fy7SeAJoBT7Y6AwWeLnflz+USivf62u3dePb2zKEjTbdxEVmg2AGYBVgO+7kdZ8lTOnhmlmmOAB6As1QsnZ0q86wAa86l09AAGhOAOMXji99UOOgHRUupfeyunhmJuy0AL71iBr70wADgHfe3gA/fcuk/f8AC/f4Cm/e9MqA/
|
||||||
|
|
||||||
hd4wEYQGCASCLfoCbFIiY9FtvyvC4HbGixA+gE2SeD/NeMgV9QB6HQfyVXzv89k96fRwXSsJUOoD7iYiBaCAAA==
|
mQCnnZET/f9AH/ehi4A/9wEojMH7hm2MzSCt1/67mS4sf2LyGPQslA+r7yQBYH/A/EHzV1kH6g+tMug/dMiQ/P71Wjv78YR8H0cWksYQ/gH7IjuH+A+4b6nedW3GPJkU9uP3rwa8ZDWJzNxpKC70QOF70ve6Xavega0zBN7+MBt715eq70ze5l7A8PsG1AgbMPBgMwIwRYg3hMyH8mmsIvusJ6rka4Dt0AcEglfh6oWzSEYw0pMPwVHNINFTcghX
|
||||||
|
|
||||||
|
qL9ukt6buJxxwvpmy/mD7yH4TJcfftK5VPzwzXby0lABFovuQi7yXemt8ATzK4qAQNCFAKHYakCC8WAv+uCu57Vjvjx0VXmrxyf8dxeP/ZxANHHzxBnH/Aih61V4PH9Mw9YO/JFIPivvPuABaoLng4ABuwogCcBZidAB0wNkAw2PowmgAwBZzDpIFr1kjpn9CB25CIB2MLuEsgIaI1/QgApkF0BZn5tFqmEGkUCkUQpn333SZ3M+tnxWkUCi8By7
|
||||||
|
|
||||||
|
4c+FnygVln3Qbzn9s+ln0P3igDc/jn1kB6HYejHn4k+UCj7b7gW8/Fn/oAR5vbvqzN8+TnzYTAX1kAfWBFCHn5s+Ln3c+f95qwQX/oBxlsJaHis/Q4X2/x4aesBe8Bs/5n7c/fn2JR6HSKB56BehNmvdV0DFjFZgBrNMPKZufToNhCX7NVDJH5wD20xA5DADMDCZAAjAGwADAAWSGAAQBXXc2k4KL4I1mHC+Xn1H5WHrM/gwCQAHSpIfsguK+TgB
|
||||||
|
|
||||||
|
DlZEAfgSAACBftAgBxlrgBNAMEA2PPK+0/qdR4XvgBjcLDPqMAAAKJQjb+Y1/+fK8D/ZRIAAASn9AB9GUAcaAHw+r9wARr9wp9iwFArr+38kJ+tfAr8hfFmCufbYiiSbQGEP72wPoPaEXoExVQ2qr/VfnIPVTEOU6GmbGGfz0eEAKYb5Bz0esRkXSYAAwAlYnILTfnzRVfar9kwnOAFfdgCXQSU2YAbwEzYfayVfeb6jfW2lzwfiMYAiTpdAnL4w
|
||||||
|
|
||||||
|
EYQGCAfiLfoCbFIiY9H0AaL5t3bGixA+gFeSbb+XeMgV9QB6HrfVLvZf89gP6uGJvoid0OoD7iYiBaCAAA==
|
||||||
```
|
```
|
||||||
%%
|
%%
|
||||||
@@ -12,12 +12,16 @@ kanban-plugin: board
|
|||||||
|
|
||||||
## bugs
|
## bugs
|
||||||
|
|
||||||
- [ ] QT клиент, если сервер занят повторно не появляется окно авторизации
|
- [ ] QT клиент: сделать отключение кнопки обновить при появлении inline Инициализация
|
||||||
|
- [ ] 16.27 от 22.12
|
||||||
|
- [ ] Unity: ошибка при проигрывании - нажать на среднюю кнопку мыши
|
||||||
|
- [ ] не работает выключение QT клиента призагрузке
|
||||||
|
|
||||||
|
|
||||||
## feature client Unity
|
## feature client Unity
|
||||||
|
|
||||||
- [ ] добавить пресеты для камер
|
- [ ] Запросить картинки объектов для топливной системы
|
||||||
|
- [ ] Связать схемный и реальный манометр
|
||||||
|
|
||||||
|
|
||||||
## feature client QT
|
## feature client QT
|
||||||
@@ -26,6 +30,9 @@ kanban-plugin: board
|
|||||||
|
|
||||||
## feature server
|
## feature server
|
||||||
|
|
||||||
|
- [ ] base делать неизменяемым по умолчанию
|
||||||
|
- [ ] добавить чекбокс на изменяемый или нет в во всех версиях кроме базовой
|
||||||
|
- [ ] Попробовать изменить версию base на "Базовая"
|
||||||
|
|
||||||
|
|
||||||
## NOW
|
## NOW
|
||||||
@@ -34,6 +41,18 @@ kanban-plugin: board
|
|||||||
|
|
||||||
## Complete
|
## Complete
|
||||||
|
|
||||||
|
- [ ] QT клиент при восстановлении сразу показывают кнопку обновить, а должен вызывать слайдер загрузкии
|
||||||
|
- [ ] при переключении между позициями при режиме панели не сбрасывается fov
|
||||||
|
- [ ] кнопка 2Д/3Д появляется хаотично
|
||||||
|
- [ ] QT клиент, если сервер занят повторно не появляется окно авторизации
|
||||||
|
- [ ] QT клиент: После обновления переодически не работает запуск
|
||||||
|
- [ ] QT клиент: обновить реакции на сообщение о блокировки сервера и уже залогиненного пользователя
|
||||||
|
- [ ] Прописать реакцию на невалидный логин, и уже залогиненного пользователя
|
||||||
|
- [ ] FIM - не обновляется статус после выполнения
|
||||||
|
- [ ] AMM - статуса проверки нет, сразу выполнен
|
||||||
|
- [ ] Unity: переделать с deltatime на fixedDeltatime
|
||||||
|
- [ ] Unity: три камеры подряд не работают
|
||||||
|
- [ ] добавить пресеты для камер
|
||||||
- [ ] добавить переход на сценарий из PDF по типу списка окон
|
- [ ] добавить переход на сценарий из PDF по типу списка окон
|
||||||
- [ ] Гидравлическая система, при нажатии на пожарку при работающей 3й гидросистеме и включенном PTU, PTU путь не закрашивается обратно
|
- [ ] Гидравлическая система, при нажатии на пожарку при работающей 3й гидросистеме и включенном PTU, PTU путь не закрашивается обратно
|
||||||
- [ ] добавить сохранение предыдущей загруженнной версии
|
- [ ] добавить сохранение предыдущей загруженнной версии
|
||||||
|
|||||||
@@ -41,5 +41,29 @@
|
|||||||
7. Unity: отправка в базовую версию
|
7. Unity: отправка в базовую версию
|
||||||
|
|
||||||
Сервер:
|
Сервер:
|
||||||
1. Выключение сервера -> рассылка все клиентам DISABLE. Клиенты должны отключится от сети
|
1. Загрузка контента с нуля и логин 2х машин под QT
|
||||||
2.
|
2. Загрузка контента с нуля и разлогин 2х машин под QT
|
||||||
|
3. Загрузка контента с нуля попытка обновления с QT клиента (под инструктором)
|
||||||
|
4. Загрузка контента с нуля попытка восстановления с QT клиента (под инструктором)
|
||||||
|
5. Загрузка контента с нуля и отправка сообщений между машинами Unity -> Unity
|
||||||
|
6. Загрузка контента с нуля выполнение задачи с Unity
|
||||||
|
7. Загрузка контента с нуля отправка FIM с Unity
|
||||||
|
8. Загрузка контента с нуля и отправка сообщений между машинами GUI -> Unity
|
||||||
|
9. Загрузка контента с нуля и изменение CFI
|
||||||
|
10. Загрузка контента с нуля логин 2х машин под Unity
|
||||||
|
11. Загрузка контента c нуля редактирование пользователей (Инструктор, обучаемый, группы)
|
||||||
|
12. Загрузка контента с нуля назначение FIM ГУИ
|
||||||
|
13. Загрузка контента с нуля назначение AMM ГУИ
|
||||||
|
14. Загрузка контента с нуля назначение FIM удаление и проверка ГУИ
|
||||||
|
15. Загрузка контента с нуля назначение AMM удаление ГУИ
|
||||||
|
16. Загрузка контента с нуля Авторизация 2х ГУИ
|
||||||
|
17. Загрузка контента с нуля Деавторизация 2х ГУИ
|
||||||
|
18. Загрузка контента с нуля переключение версии контента ГУИ
|
||||||
|
19. Загрузка контента с нуля удаление версии контента ГУИ
|
||||||
|
20. Загрузка контента с нуля копирование версии контента ГУИ
|
||||||
|
21. Загрузка контента с нуля запрос DOCS ГУИ
|
||||||
|
|
||||||
|
22. Назначение задач с 2х ГУИ параллельно (10 задач) (1 пользователю)
|
||||||
|
23. При просмотре задачи инструктором, меняется ее статус
|
||||||
|
24. Блокировка сервера в момент авторизации между QT и Unity
|
||||||
|
25. Попытка выгрузки изменений (Unity залогинен под одной версией) QT сервер изменил версию и далее через восстановление
|
||||||
@@ -8,10 +8,15 @@ kanban-plugin: board
|
|||||||
|
|
||||||
- [ ] GUI: Сделать кнопку перезапроса общих списков FIM (по аналогии с АММ)
|
- [ ] GUI: Сделать кнопку перезапроса общих списков FIM (по аналогии с АММ)
|
||||||
- [ ] /RUS/Scens/tasksFIM.xml возможно изменится структура
|
- [ ] /RUS/Scens/tasksFIM.xml возможно изменится структура
|
||||||
|
- [ ] выгрузка назначенных задач с оценками в эксель таблицу или любой другой человекочитаемый вид
|
||||||
|
- [ ] Текстовый поиск в задачах
|
||||||
|
|
||||||
|
|
||||||
## Completed
|
## Completed
|
||||||
|
|
||||||
|
- [ ] Не влазиют слишком большие сообщения
|
||||||
|
- [ ] FIM процедура добавить кнопку сделать новой
|
||||||
|
- [ ] Не видно новых пришедших сообщений, если выбран другой Юзер
|
||||||
- [ ] При смене УЗ в ГУИ остается история переписки в мессенджере. При этом Имя инструктора в диалоге подменяется. (Путается только в ГУИ!)
|
- [ ] При смене УЗ в ГУИ остается история переписки в мессенджере. При этом Имя инструктора в диалоге подменяется. (Путается только в ГУИ!)
|
||||||
[Возможно, поможет переинициализация мессенджера при переавторизации инструктора?]
|
[Возможно, поможет переинициализация мессенджера при переавторизации инструктора?]
|
||||||
- [ ] Отображать текущую версию data в статус баре
|
- [ ] Отображать текущую версию data в статус баре
|
||||||
@@ -55,6 +60,7 @@ kanban-plugin: board
|
|||||||
- [ ] Учет ширины скрола на деревьях (появляется если дерево больше окна)
|
- [ ] Учет ширины скрола на деревьях (появляется если дерево больше окна)
|
||||||
- [ ] Универсальный пересчет ширин колонок деревьев
|
- [ ] Универсальный пересчет ширин колонок деревьев
|
||||||
- [ ] При обновлении деревьев слетает назначенная колонка сортировки
|
- [ ] При обновлении деревьев слетает назначенная колонка сортировки
|
||||||
|
- [ ] В сообщение о неудачном подключении к PostgreSQL добавить: PSQL не установлен
|
||||||
|
|
||||||
|
|
||||||
## Server
|
## Server
|
||||||
@@ -67,13 +73,11 @@ kanban-plugin: board
|
|||||||
|
|
||||||
## GUI Messenger
|
## GUI Messenger
|
||||||
|
|
||||||
- [ ] Не влазиют слишком большие сообщения
|
|
||||||
- [ ] Не видно новых пришедших сообщений, если выбран другой Юзер
|
|
||||||
|
|
||||||
|
|
||||||
## GUI общие
|
## GUI общие
|
||||||
|
|
||||||
- [ ] Текстовый поиск в задачах
|
- [ ] Общий список АММ. автопролистывание вниз, если раскрывается дерево внизу
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,3 +11,15 @@ RecognizeSystem - система распознавания типа пакет
|
|||||||
ProcessingSystem - система активации процессов (создает результат после распознания действия) 1 штука на всех
|
ProcessingSystem - система активации процессов (создает результат после распознания действия) 1 штука на всех
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*XmlSerializer serializer = new XmlSerializer(typeof(Task));
|
||||||
|
using (StringWriter writer = new StringWriter())
|
||||||
|
{
|
||||||
|
serializer.Serialize(writer, curTask);
|
||||||
|
string xmlString = writer.ToString();
|
||||||
|
|
||||||
|
string filePath = Path.Combine(Application.dataPath, "savedTask.xml");
|
||||||
|
|
||||||
|
File.WriteAllText(filePath, xmlString);
|
||||||
|
}*/
|
||||||
@@ -9,19 +9,20 @@ QWidget {
|
|||||||
font-family: Tahoma;
|
font-family: Tahoma;
|
||||||
font-size: 12pt;
|
font-size: 12pt;
|
||||||
icon-size: 24px;
|
icon-size: 24px;
|
||||||
/*background-color: green;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QWidget#widgetControl {
|
QWidget#widgetControl {
|
||||||
/*border: 1px solid gray;*/
|
|
||||||
background: #E0E0E0;
|
background: #E0E0E0;
|
||||||
}
|
}
|
||||||
|
|
||||||
QWidget#viewerTrainees
|
QWidget#viewerTrainees
|
||||||
{
|
{
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QDialog {
|
||||||
|
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
||||||
|
stop: 0 #e6e7ea, stop: 1 #eaebee);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
QLineEdit, QTextEdit, QComboBox {
|
QLineEdit, QTextEdit, QComboBox {
|
||||||
border: 1px solid gray;
|
border: 1px solid gray;
|
||||||
@@ -42,34 +43,43 @@ QGroupBox {
|
|||||||
background: #E0E0E0;
|
background: #E0E0E0;
|
||||||
border: 1px solid gray;
|
border: 1px solid gray;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
margin-top: 5ex; /* leave space at the top for the title */
|
margin-top: 26px;
|
||||||
|
font-size: 13pt;
|
||||||
|
}
|
||||||
|
QGroupBox#groupBox_Report {
|
||||||
|
background: #FFFFFF;
|
||||||
}
|
}
|
||||||
QGroupBox::title {
|
QGroupBox::title {
|
||||||
border: 1px solid gray;
|
border: 1px solid gray;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 4px;
|
border-top-left-radius: 4px;
|
||||||
|
border-top-right-radius: 4px;
|
||||||
subcontrol-origin: margin;
|
subcontrol-origin: margin;
|
||||||
subcontrol-position: top left;
|
subcontrol-position: top left;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
||||||
stop: 0 #A0CECE, stop: 1 #FFFFFF);
|
stop: 0 #fafafa, stop: 0.1 #E0E0E0,
|
||||||
|
stop: 0.6 #E0E0E0, stop: 1.0 #fafafa);
|
||||||
|
color: black;
|
||||||
|
min-height: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QPushButton, QToolButton {
|
QPushButton, QToolButton {
|
||||||
border: 2px solid #8f8f91;
|
border: 3px outset /*#2d5585*/gray;
|
||||||
border-style: outset;
|
/*border: 3px solid #8f8f91;
|
||||||
|
border-style: outset;*/
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
background-color: #5d85B5;
|
||||||
stop: 0 #f6f7fa, stop: 1 #dadbde);
|
|
||||||
min-width: 75px;
|
min-width: 75px;
|
||||||
height: 55px;
|
height: 55px;
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
|
|
||||||
qproperty-iconSize: 32px;
|
qproperty-iconSize: 32px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
QToolButton::icon {
|
||||||
|
background-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPushButton {
|
QPushButton {
|
||||||
@@ -81,15 +91,15 @@ QToolButton {
|
|||||||
height: 55px;
|
height: 55px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QToolButton#btnSend, QToolButton#btnDelete, QToolButton#btnCheck, QToolButton#btnOnlyActive,
|
QToolButton#btnSend, QToolButton#btnDelete, QToolButton#btnCheck, QToolButton#btnOnlyActive, QToolButton#btnStatus,
|
||||||
QToolButton#btnSave, QToolButton#btnUpdateStyle, QToolButton#btnSetVersion,
|
QToolButton#btnDocsUpdating,
|
||||||
QToolButton#btnAssignTask, QToolButton#btnCheckDB, QToolButton#btnRepare, QToolButton#btnDocsUpdating,
|
QToolButton#btnAssignTask,
|
||||||
QToolButton#btnAssign {
|
QToolButton#btnAssign {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 55px;
|
height: 55px;
|
||||||
}
|
}
|
||||||
QToolButton#btnCheckDB, QToolButton#btnUpdateDocs {
|
QToolButton#btnCheckDB, QToolButton#btnUpdateDocs, QToolButton#btnRepare, QToolButton#btnSave, QToolButton#btnUpdateStyle, QToolButton#btnSetVersion {
|
||||||
width: 100px;
|
width: 150px;
|
||||||
height: 55px;
|
height: 55px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,36 +109,32 @@ QToolButton#btnViewPassword, QToolButton#btnChangePassword {
|
|||||||
height: 18px;
|
height: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QPushButton#createDuplicateButton, QPushButton#deleteVersionButton, QPushButton#switchServerVersionButton {
|
||||||
|
width: 130px;
|
||||||
|
}
|
||||||
|
|
||||||
QPushButton:flat, QToolButton:flat {
|
QPushButton:flat, QToolButton:flat {
|
||||||
border: none; /* no border for a flat push button */
|
border: none; /* no border for a flat push button */
|
||||||
}
|
}
|
||||||
|
QPushButton:disabled, QToolButton:disabled {
|
||||||
|
/*background-color: #777777;*/
|
||||||
|
background-color: #bbbbbb;
|
||||||
|
/*border-color: gray;*/
|
||||||
|
}
|
||||||
QPushButton:default, QToolButton:default {
|
QPushButton:default, QToolButton:default {
|
||||||
border-color: darkblue; /*make the default button prominent */
|
border-color: #2d5585;
|
||||||
}
|
}
|
||||||
QPushButton:hover , QToolButton:hover {
|
QPushButton:hover , QToolButton:hover {
|
||||||
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
background-color: #9dc5f5;
|
||||||
stop: 0 #fafafa, stop: 0.4 #f4f4f4,
|
|
||||||
stop: 0.5 #e7e7e7, stop: 1.0 #fafafa);
|
|
||||||
}
|
}
|
||||||
QPushButton:pressed, QToolButton:pressed {
|
QPushButton:pressed, QToolButton:pressed {
|
||||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
background-color: #8db5e5;
|
||||||
stop: 0 #dadbde, stop: 1 #f6f7fa);
|
|
||||||
border-style: inset;
|
border-style: inset;
|
||||||
}
|
}
|
||||||
QPushButton:checked, QToolButton:checked {
|
QPushButton:checked, QToolButton:checked {
|
||||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
background-color: #8db5e5;
|
||||||
stop: 0 #dadbde, stop: 1 #f6f7fa);
|
|
||||||
border-style: inset;
|
border-style: inset;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
QDialogButtonBox {
|
|
||||||
border: 2px solid #8f8f91;
|
|
||||||
border-style: outset;
|
|
||||||
border-radius: 5px;
|
|
||||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
|
||||||
stop: 0 #f6f7fa, stop: 1 #dadbde);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
QCheckBox {
|
QCheckBox {
|
||||||
@@ -137,7 +143,6 @@ QCheckBox {
|
|||||||
QCheckBox#checkAutoStart, QCheckBox#checkLocalhost {
|
QCheckBox#checkAutoStart, QCheckBox#checkLocalhost {
|
||||||
spacing: 0px;
|
spacing: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QCheckBox::indicator:checked {
|
QCheckBox::indicator:checked {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
@@ -154,46 +159,47 @@ QTreeWidget {
|
|||||||
font-size: 13pt;
|
font-size: 13pt;
|
||||||
font-family: Tahoma;
|
font-family: Tahoma;
|
||||||
icon-size: 32px;
|
icon-size: 32px;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 2px solid white;
|
||||||
}
|
}
|
||||||
QTreeWidget::item {
|
QTreeWidget::item {
|
||||||
height: 34px;
|
height: 34px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Бранчи*/
|
/*Бранчи*/
|
||||||
QTreeWidget::branch:has-siblings:!adjoins-item {
|
QTreeWidget::branch:has-siblings:!adjoins-item {
|
||||||
border-image: url(:/resources/icons/vline.png) 0;
|
/*border-image: url(:/resources/icons/vline.png) 0; */
|
||||||
}
|
}
|
||||||
QTreeWidget::branch:has-siblings:adjoins-item {
|
QTreeWidget::branch:has-siblings:adjoins-item {
|
||||||
border-image: url(:/resources/icons/branch-more.png) 0;
|
/*border-image: url(:/resources/icons/branch-more.png) 0;*/
|
||||||
}
|
}
|
||||||
QTreeWidget::branch:!has-children:!has-siblings:adjoins-item {
|
QTreeWidget::branch:!has-children:!has-siblings:adjoins-item {
|
||||||
border-image: url(:/resources/icons/branch-end.png) 0;
|
/*border-image: url(:/resources/icons/branch-end.png) 0;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
QTreeWidget::branch:closed:has-children:!has-siblings,
|
QTreeWidget::branch:closed:has-children:!has-siblings,
|
||||||
QTreeWidget::branch:closed:has-children:has-siblings {
|
QTreeWidget::branch:closed:has-children:has-siblings {
|
||||||
border-image: none;
|
/*border-image: none;*/
|
||||||
image: url(:/resources/icons/branch-closed.png);
|
image: url(:/resources/icons/branch-closed.png);
|
||||||
}
|
}
|
||||||
QTreeWidget::branch:open:has-children:!has-siblings,
|
QTreeWidget::branch:open:has-children:!has-siblings,
|
||||||
QTreeWidget::branch:open:has-children:has-siblings {
|
QTreeWidget::branch:open:has-children:has-siblings {
|
||||||
border-image: none;
|
/*border-image: none;*/
|
||||||
image: url(:/resources/icons/branch-open.png);
|
image: url(:/resources/icons/branch-open.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
QTreeWidget::item:hover,
|
QTreeWidget::item:hover,
|
||||||
QTreeWidget::branch:hover {
|
QTreeWidget::branch:hover {
|
||||||
background: #aee1ff;
|
background: #EEEEEE;
|
||||||
background: #C0EEEE;
|
/*border: 1px solid #6c6c6c;*/
|
||||||
|
/*border-radius: 3px;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
QTreeWidget::item:selected {
|
QTreeWidget::item:selected {
|
||||||
/*background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6ea1f1, stop: 1 #567dbc);*/
|
background: #9dc5f5;
|
||||||
background: #6ea1f1;
|
|
||||||
background: #A0CECE;
|
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QTreeWidget::indicator:checked {
|
QTreeWidget::indicator:checked {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
@@ -207,33 +213,23 @@ QTreeWidget::indicator:!checked {
|
|||||||
|
|
||||||
|
|
||||||
QHeaderView::section {
|
QHeaderView::section {
|
||||||
/*
|
|
||||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
||||||
stop:0 #c1c1c1, stop: 0.5 #505050,
|
stop: 0 #2d5585, stop: 1 #9dc5f5);
|
||||||
stop: 0.6 #434343, stop:1 #656565);*/
|
color: white;
|
||||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
|
||||||
stop: 0 #A0CECE, stop: 1 #FFFFFF);
|
|
||||||
color: black;
|
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
border: 1px solid #6c6c6c;
|
border: 1px solid #6c6c6c;
|
||||||
|
border-radius: 2px;
|
||||||
font-size: 13pt;
|
font-size: 13pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QTabWidget::pane { /* The tab widget frame */
|
QTabWidget::pane { /* The tab widget frame */
|
||||||
border-top: 1px solid #C2C7CB;
|
border-top: 1px solid #C2C7CB;
|
||||||
/*background-image: url(:/resources/icons/messengerPrint.png);*/
|
border: 1px solid #C2C7CB;
|
||||||
}
|
}
|
||||||
QTabWidget::pane#tabWidgetTasks { /* The tab widget frame */
|
QTabWidget::pane#tabWidgetTasks { /* The tab widget frame */
|
||||||
border-top: 1px solid #C2C7CB;
|
border-top: 1px solid #C2C7CB;
|
||||||
/*background-image: url(:/resources/icons/messengerPrint.png);*/
|
border: 1px solid #C2C7CB;
|
||||||
/*
|
|
||||||
padding-left: -18px;
|
|
||||||
padding-right: -18px;
|
|
||||||
padding-top: -8px;
|
|
||||||
padding-bottom: -8px;
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
QTabWidget::tab-bar {
|
QTabWidget::tab-bar {
|
||||||
left: 0px; /* move to the right by 0px */
|
left: 0px; /* move to the right by 0px */
|
||||||
@@ -243,41 +239,37 @@ QTabBar::tab {
|
|||||||
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
||||||
stop: 0 #E1E1E1, stop: 0.4 #DDDDDD,
|
stop: 0 #E1E1E1, stop: 0.4 #DDDDDD,
|
||||||
stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);
|
stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);
|
||||||
|
|
||||||
border: 2px solid #C4C4C3;
|
border: 2px solid #C4C4C3;
|
||||||
border-bottom-color: #C2C7CB; /* same as the pane color */
|
border-bottom-color: #C2C7CB; /* same as the pane color */
|
||||||
border-top-left-radius: 4px;
|
border-top-left-radius: 4px;
|
||||||
border-top-right-radius: 4px;
|
border-top-right-radius: 4px;
|
||||||
min-width: 40ex;
|
min-width: 40ex;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
|
|
||||||
font-size: 12pt;
|
font-size: 12pt;
|
||||||
|
|
||||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
||||||
stop: 0 #A0CECE, stop: 1 #FFFFFF);
|
stop: 0 #A0CECE, stop: 1 #FFFFFF);
|
||||||
|
|
||||||
|
background-color: #5d85B5;
|
||||||
|
color: black;
|
||||||
|
height: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QTabBar::tab:selected {
|
||||||
|
border-style: outset;
|
||||||
|
background: #8db5e5;
|
||||||
|
|
||||||
/*
|
|
||||||
QTabBar::tab:selected {
|
|
||||||
border-color: #9B9B9B;
|
|
||||||
border-bottom-color: #C2C7CB;
|
|
||||||
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6ea1f1, stop: 1 #567dbc);
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
QTabBar::tab:selected {
|
|
||||||
/*background: #ffffff;*/
|
|
||||||
}
|
}
|
||||||
QTabBar::tab:!selected {
|
QTabBar::tab:!selected {
|
||||||
margin-top: 10px; /* make non-selected tabs look smaller */
|
border-style: inset;
|
||||||
/*background: #ffffff;*/
|
background: #bbbbbb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QTabBar::tab:hover {
|
QTabBar::tab:hover {
|
||||||
background: #aee1ff;
|
background: #aee1ff;
|
||||||
background: #C0EEEE;
|
background: #EEEEEE;
|
||||||
|
background-color: #9dc5f5;
|
||||||
|
background: #8db5e5;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTabBar::scroller { /* the width of the scroll buttons */
|
QTabBar::scroller { /* the width of the scroll buttons */
|
||||||
@@ -291,70 +283,79 @@ QTabBar QToolButton { /* the scroll buttons are tool buttons */
|
|||||||
}
|
}
|
||||||
|
|
||||||
QListWidget::item {
|
QListWidget::item {
|
||||||
/*padding: -5px;*/
|
|
||||||
}
|
}
|
||||||
QListWidget#oneDialogMessenger {
|
QListWidget#oneDialogMessenger {
|
||||||
/*background: #ddeeff;*/
|
background-color: white;
|
||||||
|
border: 1px solid gray;
|
||||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
border-radius: 2px;
|
||||||
stop: 0 #A0CECE, stop: 1 #FFFFFF);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QListWidget::item:selected {
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
QListWidget#oneDialogMessenger::item:selected {
|
||||||
|
color: #000000;
|
||||||
|
background: #ffffff;
|
||||||
|
}
|
||||||
|
QListWidget::item:hover {
|
||||||
|
background: #EEEEEE;
|
||||||
|
}
|
||||||
|
QListWidget#oneDialogMessenger::item:hover {
|
||||||
|
background: #ffffff;
|
||||||
|
}
|
||||||
QListWidget#subProcItemListWidget::item:hover {
|
QListWidget#subProcItemListWidget::item:hover {
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QListWidget {
|
||||||
|
selection-background-color: #9dc5f5;; /* Цвет выделенного элемента */
|
||||||
|
selection-color: black; /* Цвет текста выделенного элемента */
|
||||||
|
show-decoration-selected: false; /* Показывать выделение на выбранном элементе */
|
||||||
|
outline: none; /* Без выделения фокуса */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
QTextEdit {
|
QTextEdit {
|
||||||
padding: -20px;
|
padding: -20px;
|
||||||
font-size: 12pt;
|
font-size: 12pt;
|
||||||
|
|
||||||
}
|
}
|
||||||
QTextEdit#editMsg {
|
QTextEdit#editMsg {
|
||||||
height: 65px; /**/
|
height: 65px;
|
||||||
background: #ddeeff;
|
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
}
|
}
|
||||||
QTextEdit#MsgWidgetEditTextLocal {
|
QTextEdit#MsgWidgetEditTextLocal {
|
||||||
/*background: tlightgreen;*/
|
background: #EEEEEE;
|
||||||
background: #ddffdd;
|
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
QTextEdit#MsgWidgetEditTextRemote {
|
QTextEdit#MsgWidgetEditTextRemote {
|
||||||
/*background: lightblue;*/
|
background: #9dc5f5;
|
||||||
/*background: #ddeeff;*/
|
|
||||||
background: #ffffff;
|
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
QLabel#MsgWidgetLblTimeLocal {
|
QLabel#MsgWidgetLblTimeLocal {
|
||||||
font-size: 9pt;
|
font-size: 9pt;
|
||||||
/*background: yellow;*/
|
|
||||||
}
|
}
|
||||||
QLabel#MsgWidgetLblTimeRemote {
|
QLabel#MsgWidgetLblTimeRemote {
|
||||||
font-size: 9pt;
|
font-size: 9pt;
|
||||||
/*background: yellow;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QLabel#MsgWidgetLblNameLocal {
|
QLabel#MsgWidgetLblNameLocal {
|
||||||
font-size: 9pt;
|
font-size: 9pt;
|
||||||
/*background: yellow;*/
|
|
||||||
}
|
}
|
||||||
QLabel#MsgWidgetLblNameRemote {
|
QLabel#MsgWidgetLblNameRemote {
|
||||||
font-size: 9pt;
|
font-size: 9pt;
|
||||||
/*background: yellow;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QLabel#MsgWidgetLblAvatar {
|
QLabel#MsgWidgetLblAvatar {
|
||||||
/*background: pink;*/
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
QLabel#MessangerWidgetLblUser {
|
QLabel#MessangerWidgetLblUser {
|
||||||
background: #ddeeff;
|
background: #ddeeff;
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
border-radius: 8px;
|
border-radius: 4px;
|
||||||
|
background: #9dc5f5;
|
||||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
|
||||||
stop: 0 #A0CECE, stop: 1 #FFFFFF);
|
|
||||||
}
|
}
|
||||||
QLabel#MessangerWidgetLblAvatar {
|
QLabel#MessangerWidgetLblAvatar {
|
||||||
|
|
||||||
@@ -363,22 +364,80 @@ QLabel#MessangerWidgetLblLoggedIn {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QLabel#PersonalCard_lblName {
|
QLabel#PersonalCard_lblName {
|
||||||
font-size: 16pt;
|
font-size: 16pt;
|
||||||
|
color: #2d5585;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QLabel#ReportFimWidget_label_MMEL, QLabel#ActionWidget_lbl_Type {
|
||||||
|
color: gray;
|
||||||
|
border-radius: 4px;
|
||||||
|
min-width: 50px;
|
||||||
|
min-height: 25px;
|
||||||
|
background: #ffffff;
|
||||||
|
border: 1px solid gray;
|
||||||
|
}
|
||||||
|
QLabel#ActionWidget_lbl_Status {
|
||||||
|
color: black;
|
||||||
|
border-radius: 18px;
|
||||||
|
min-width: 150px;
|
||||||
|
min-height: 40px;
|
||||||
|
background: #d0d0d0;
|
||||||
|
border: 1px solid gray;
|
||||||
|
}
|
||||||
|
QLabel#DeviceWidget_lbl_Status {
|
||||||
|
color: black;
|
||||||
|
border-radius: 18px;
|
||||||
|
min-width: 250px;
|
||||||
|
min-height: 40px;
|
||||||
|
background: #f0f0f0;
|
||||||
|
border: 1px solid gray;
|
||||||
|
}
|
||||||
|
|
||||||
QWidget#widgetControl {
|
QLabel#DeviceWidget_lbl_ObjName {
|
||||||
background: #E0E0E0;
|
color: black;
|
||||||
|
}
|
||||||
|
QLabel#DeviceWidget_lbl_Code {
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
QLabel#lblStatAMM, QLabel#lblStatFIM {
|
||||||
|
padding-top: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
QPlainTextEdit#ActionWidget_plainTextEdit_Procedure{
|
||||||
|
border-radius: 5px;
|
||||||
|
border: 1px solid gray;
|
||||||
|
background: #F0F0F2;
|
||||||
|
}
|
||||||
|
QPlainTextEdit#ActionWidget_plainTextEdit_Comment{
|
||||||
|
border-radius: 5px;
|
||||||
|
border: 1px solid gray;
|
||||||
|
background: #FEFEFE;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPlainTextEdit#plainText{ /*Репорт*/
|
QPlainTextEdit#plainText{ /*Репорт*/
|
||||||
margin-left: 50pt;
|
margin-left: 50pt;
|
||||||
margin-right: 100pt;
|
margin-right: 100pt;
|
||||||
}
|
}
|
||||||
/**/
|
|
||||||
QComboBox {
|
QComboBox::drop-down {
|
||||||
/*background: #ffffff;
|
subcontrol-position: right center; /*Выравнивание стрелки по центру */
|
||||||
border-radius: 5px;*/
|
width: 20px; /* Ширина области со стрелкой */
|
||||||
|
border: none;
|
||||||
|
border-left: 1px solid gray;
|
||||||
|
background: #E0E0E0;
|
||||||
|
}
|
||||||
|
QComboBox::down-arrow {
|
||||||
|
image: url(:/resources/icons/branch-open.png); /* Подставляем свою картинку стрелки */
|
||||||
|
width: 16px; /* Размер иконки */
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
QComboBox QAbstractItemView {
|
||||||
|
selection-background-color: #9dc5f5;; /* Цвет выделенного элемента */
|
||||||
|
selection-color: black; /* Цвет текста выделенного элемента */
|
||||||
|
alternate-background-color: lightgrey; /* Чередующиеся строки */
|
||||||
|
show-decoration-selected: true; /* Показывать выделение на выбранном элементе */
|
||||||
|
outline: none; /* Без выделения фокуса */
|
||||||
}
|
}
|
||||||
|
|||||||
4
FILES/DB_BACKUP/restoreDBscript.bat
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
set CURRENT_DIR=%~dp0
|
||||||
|
cd %CURRENT_DIR%
|
||||||
|
set "PGPASSWORD=12345678"
|
||||||
|
pg_restore -U postgres -h localhost -p 5432 -d rrjdatabase .\restoreDB\DBLMS_EMPTY.backup
|
||||||
BIN
FILES/ICONS/planeCustom.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
FILES/ICONS/planeCustomIco.ico
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
FILES/ICONS/Иконка-логотип-главного-окна_1.ico
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
FILES/ICONS/Иконка-логотип-главного-окна_1.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
FILES/ICONS/Иконка-логотип-главного-окна_2.ico
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
FILES/ICONS/Иконка-логотип-главного-окна_2.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ServerSettingsContainer>
|
<ServerSettingsContainer>
|
||||||
<ServerSettings Address="192.168.100.82" Port="6000" Language="RUS" AutoStart="0"/>
|
<ServerSettings Address="127.0.0.1" Port="6000" Language="RUS"/>
|
||||||
</ServerSettingsContainer>
|
</ServerSettingsContainer>
|
||||||
BIN
FILES/translations/RRJServer_ru_RU.qm
Normal file
@@ -5,7 +5,8 @@ common_info_for_project(DataBaseInterface)
|
|||||||
add_library(DataBaseInterface SHARED
|
add_library(DataBaseInterface SHARED
|
||||||
DataBaseLMS_global.h
|
DataBaseLMS_global.h
|
||||||
databaselms.cpp
|
databaselms.cpp
|
||||||
databaselms_tasks.cpp
|
databaselms_tasks_amm.cpp
|
||||||
|
databaselms_tasks_fim.cpp
|
||||||
databaselms_groups.cpp
|
databaselms_groups.cpp
|
||||||
databaselms_users.cpp
|
databaselms_users.cpp
|
||||||
databaselms_instructors.cpp
|
databaselms_instructors.cpp
|
||||||
@@ -51,26 +52,26 @@ if(PROJECT_TYPE_DEBUG)
|
|||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${REPO_PATH}/BUILDS/Debug64/LibDataBaseInterface/libDataBaseInterface.dll
|
${REPO_PATH}/BUILDS/Debug64/LibDataBaseInterface/libDataBaseInterface.dll
|
||||||
${REPO_PATH}/BUILDS/Debug64/ProgramServerMPS)
|
${REPO_PATH}/BUILDS/Debug64/ProgramServerMTD)
|
||||||
|
|
||||||
add_custom_command(TARGET DataBaseInterface
|
add_custom_command(TARGET DataBaseInterface
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${REPO_PATH}/BUILDS/Debug64/LibDataBaseInterface/libDataBaseInterface.dll
|
${REPO_PATH}/BUILDS/Debug64/LibDataBaseInterface/libDataBaseInterface.dll
|
||||||
${REPO_PATH}/BUILDS/Debug64/ProgramAWSinstructorMPS)
|
${REPO_PATH}/BUILDS/Debug64/ProgramAWSinstructorMTD)
|
||||||
else()
|
else()
|
||||||
|
|
||||||
add_custom_command(TARGET DataBaseInterface
|
add_custom_command(TARGET DataBaseInterface
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${REPO_PATH}/BUILDS/Release64/LibDataBaseInterface/libDataBaseInterface.dll
|
${REPO_PATH}/BUILDS/Release64/LibDataBaseInterface/libDataBaseInterface.dll
|
||||||
${REPO_PATH}/BUILDS/Release64/ProgramServerMPS)
|
${REPO_PATH}/BUILDS/Release64/ProgramServerMTD)
|
||||||
|
|
||||||
add_custom_command(TARGET DataBaseInterface
|
add_custom_command(TARGET DataBaseInterface
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${REPO_PATH}/BUILDS/Release64/LibDataBaseInterface/libDataBaseInterface.dll
|
${REPO_PATH}/BUILDS/Release64/LibDataBaseInterface/libDataBaseInterface.dll
|
||||||
${REPO_PATH}/BUILDS/Release64/ProgramAWSinstructorMPS)
|
${REPO_PATH}/BUILDS/Release64/ProgramAWSinstructorMTD)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,347 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE QtCreatorProject>
|
|
||||||
<!-- Written by QtCreator 4.11.1, 2024-12-28T11:57:36. -->
|
|
||||||
<qtcreator>
|
|
||||||
<data>
|
|
||||||
<variable>EnvironmentId</variable>
|
|
||||||
<value type="QByteArray">{00ce76f6-77cf-4587-a216-9a8e243377cb}</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
|
||||||
<value type="int">0</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
|
||||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
|
||||||
<value type="QString" key="language">Cpp</value>
|
|
||||||
<valuemap type="QVariantMap" key="value">
|
|
||||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
|
||||||
<value type="QString" key="language">QmlJS</value>
|
|
||||||
<valuemap type="QVariantMap" key="value">
|
|
||||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
|
||||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
|
||||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
|
|
||||||
<value type="QString">-fno-delayed-template-parsing</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win64_mingw73_kit</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Debug</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/BUILDS/LMS/DB_LMS/Debug64</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Release</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/LMS/DB_LMS/Release64</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=RelWithDebInfo</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/LMS/DB/build-DataBaseLMS-Desktop_Qt_5_14_2_MinGW_64_bit-RelWithDebInfo</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск с отладочной информацией</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=MinSizeRel</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/LMS/DB/build-DataBaseLMS-Desktop_Qt_5_14_2_MinGW_64_bit-MinSizeRel</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск минимального размера</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">4</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
|
||||||
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
|
||||||
<value type="QString">cpu-cycles</value>
|
|
||||||
</valuelist>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
|
||||||
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
|
||||||
<value type="QString">-e</value>
|
|
||||||
<value type="QString">cpu-cycles</value>
|
|
||||||
<value type="QString">--call-graph</value>
|
|
||||||
<value type="QString">dwarf,4096</value>
|
|
||||||
<value type="QString">-F</value>
|
|
||||||
<value type="QString">250</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
|
||||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
|
||||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
|
||||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
|
||||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
|
||||||
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
|
||||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
|
||||||
<value type="int">0</value>
|
|
||||||
<value type="int">1</value>
|
|
||||||
<value type="int">2</value>
|
|
||||||
<value type="int">3</value>
|
|
||||||
<value type="int">4</value>
|
|
||||||
<value type="int">5</value>
|
|
||||||
<value type="int">6</value>
|
|
||||||
<value type="int">7</value>
|
|
||||||
<value type="int">8</value>
|
|
||||||
<value type="int">9</value>
|
|
||||||
<value type="int">10</value>
|
|
||||||
<value type="int">11</value>
|
|
||||||
<value type="int">12</value>
|
|
||||||
<value type="int">13</value>
|
|
||||||
<value type="int">14</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
|
||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
|
||||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
|
|
||||||
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
|
||||||
<value type="int">1</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
|
||||||
<value type="int">22</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>Version</variable>
|
|
||||||
<value type="int">22</value>
|
|
||||||
</data>
|
|
||||||
</qtcreator>
|
|
||||||
@@ -1,390 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE QtCreatorProject>
|
|
||||||
<!-- Written by QtCreator 4.11.1, 2025-01-10T12:59:06. -->
|
|
||||||
<qtcreator>
|
|
||||||
<data>
|
|
||||||
<variable>EnvironmentId</variable>
|
|
||||||
<value type="QByteArray">{15ef2478-2444-4b00-88b8-fead51c6fef5}</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
|
||||||
<value type="int">0</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
|
||||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
|
||||||
<value type="QString" key="language">Cpp</value>
|
|
||||||
<valuemap type="QVariantMap" key="value">
|
|
||||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
|
||||||
<value type="QString" key="language">QmlJS</value>
|
|
||||||
<valuemap type="QVariantMap" key="value">
|
|
||||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
|
||||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
|
||||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
|
|
||||||
<value type="QString">-fno-delayed-template-parsing</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win64_mingw73_kit</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">4</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Release</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/Projects/RRJServer/RRJServer/DB_LMS/build-DataBaseLMS-Desktop_Qt_5_14_2_MinGW_64_bit-Release</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=RelWithDebInfo</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/Projects/RRJServer/RRJServer/DB_LMS/build-DataBaseLMS-Desktop_Qt_5_14_2_MinGW_64_bit-RelWithDebInfo</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск с отладочной информацией</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=MinSizeRel</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/Projects/RRJServer/RRJServer/DB_LMS/build-DataBaseLMS-Desktop_Qt_5_14_2_MinGW_64_bit-MinSizeRel</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск минимального размера</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Debug</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/Projects/RRJServer/RRJServer/BUILDS/DB_LMS/Debug64</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Debug</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/Projects/RRJServer/RRJServer/BUILDS/DB_LMS/Debug64</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug2</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">5</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
|
||||||
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
|
||||||
<value type="QString">cpu-cycles</value>
|
|
||||||
</valuelist>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
|
||||||
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
|
||||||
<value type="QString">-e</value>
|
|
||||||
<value type="QString">cpu-cycles</value>
|
|
||||||
<value type="QString">--call-graph</value>
|
|
||||||
<value type="QString">dwarf,4096</value>
|
|
||||||
<value type="QString">-F</value>
|
|
||||||
<value type="QString">250</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
|
||||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
|
||||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
|
||||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
|
||||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
|
||||||
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
|
||||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
|
||||||
<value type="int">0</value>
|
|
||||||
<value type="int">1</value>
|
|
||||||
<value type="int">2</value>
|
|
||||||
<value type="int">3</value>
|
|
||||||
<value type="int">4</value>
|
|
||||||
<value type="int">5</value>
|
|
||||||
<value type="int">6</value>
|
|
||||||
<value type="int">7</value>
|
|
||||||
<value type="int">8</value>
|
|
||||||
<value type="int">9</value>
|
|
||||||
<value type="int">10</value>
|
|
||||||
<value type="int">11</value>
|
|
||||||
<value type="int">12</value>
|
|
||||||
<value type="int">13</value>
|
|
||||||
<value type="int">14</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
|
||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
|
||||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
|
|
||||||
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
|
||||||
<value type="int">1</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
|
||||||
<value type="int">22</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>Version</variable>
|
|
||||||
<value type="int">22</value>
|
|
||||||
</data>
|
|
||||||
</qtcreator>
|
|
||||||
@@ -9,12 +9,12 @@
|
|||||||
const QString DataBaseLMS::TypeUserDBInstructor = "instructor";
|
const QString DataBaseLMS::TypeUserDBInstructor = "instructor";
|
||||||
const QString DataBaseLMS::TypeUserDBTrainee = "trainee";
|
const QString DataBaseLMS::TypeUserDBTrainee = "trainee";
|
||||||
|
|
||||||
DataBaseLMS::DataBaseLMS(QWidget *ownerWidget, QObject *parent):
|
QString DataBaseLMS::UserNamePostgres = "";
|
||||||
|
QString DataBaseLMS::PasswordPostgres = "";
|
||||||
|
|
||||||
|
DataBaseLMS::DataBaseLMS(QObject *parent):
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
db(nullptr),
|
db(nullptr)
|
||||||
UserNamePostgres(""),
|
|
||||||
PasswordPostgres(""),
|
|
||||||
ownerWidget(ownerWidget)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -24,12 +24,6 @@ DataBaseLMS::~DataBaseLMS()
|
|||||||
deleteConnection();
|
deleteConnection();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DataBaseLMS::slot_LanguageChanged(QString language)
|
|
||||||
{
|
|
||||||
qtLanguageTranslator.load(QString(QStringLiteral("translations/DataBaseLMS_")) + language, QStringLiteral("."));
|
|
||||||
QCoreApplication::installTranslator(&qtLanguageTranslator);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool DataBaseLMS::createConnection()
|
bool DataBaseLMS::createConnection()
|
||||||
{
|
{
|
||||||
dbSettings = getDataBaseSettings();
|
dbSettings = getDataBaseSettings();
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
#include <QSqlDatabase>
|
#include <QSqlDatabase>
|
||||||
#include <QMutex>
|
#include <QMutex>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QTranslator>
|
|
||||||
|
|
||||||
#include "instructor.h"
|
#include "instructor.h"
|
||||||
#include "trainee.h"
|
#include "trainee.h"
|
||||||
@@ -12,8 +11,8 @@
|
|||||||
#include "tasksAmmFim.h"
|
#include "tasksAmmFim.h"
|
||||||
#include "timingoftrainee.h"
|
#include "timingoftrainee.h"
|
||||||
|
|
||||||
static const QString backupEmptyName = ".\\restoreDB\\DBLMS_EMPTY.backup";
|
static const QString backupEmptyName = ".\\DBLMS_EMPTY.backup";
|
||||||
static const QString restoreDBscriptName = "restoreDBscript.bat";
|
static const QString restoreDBscriptName = ".\\restoreDB\\restoreDBscript.bat";
|
||||||
|
|
||||||
class DATABASELMS_EXPORT DataBaseSettings
|
class DATABASELMS_EXPORT DataBaseSettings
|
||||||
{
|
{
|
||||||
@@ -32,23 +31,23 @@ class DATABASELMS_EXPORT DataBaseLMS : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DataBaseLMS(QWidget *ownerWidget, QObject *parent = nullptr);
|
DataBaseLMS(QObject *parent = nullptr);
|
||||||
~DataBaseLMS();
|
~DataBaseLMS();
|
||||||
|
|
||||||
public Q_SLOTS:
|
|
||||||
void slot_LanguageChanged(QString language);
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void signal_ErrorPostgreSQL(QString text);
|
void signal_ErrorPostgreSQL(QString text);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static const QString TypeUserDBInstructor;
|
static const QString TypeUserDBInstructor;
|
||||||
static const QString TypeUserDBTrainee;
|
static const QString TypeUserDBTrainee;
|
||||||
|
protected:
|
||||||
|
static QString UserNamePostgres;
|
||||||
|
static QString PasswordPostgres;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//PostgreSQL
|
//PostgreSQL
|
||||||
bool setUserPasswordPostgres(QString userName, QString password);
|
static bool checkDriverQPSQLavailable();
|
||||||
bool checkDriverQPSQLavailable();
|
static bool setUserPasswordPostgres(QString userName, QString password);
|
||||||
bool checkUserLMSexist();
|
bool checkUserLMSexist();
|
||||||
bool checkDataBaseLMSexist();
|
bool checkDataBaseLMSexist();
|
||||||
bool createUser();
|
bool createUser();
|
||||||
@@ -122,7 +121,7 @@ protected:
|
|||||||
int updateReportFIMforTask(TaskAmmFim task);
|
int updateReportFIMforTask(TaskAmmFim task);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DataBaseSettings getDataBaseSettings();
|
static DataBaseSettings getDataBaseSettings();
|
||||||
private:
|
private:
|
||||||
int queryExecInt(QString queryStr);
|
int queryExecInt(QString queryStr);
|
||||||
QString queryExecString(QString queryStr);
|
QString queryExecString(QString queryStr);
|
||||||
@@ -133,14 +132,6 @@ private:
|
|||||||
protected:
|
protected:
|
||||||
QSqlDatabase* db;
|
QSqlDatabase* db;
|
||||||
DataBaseSettings dbSettings;
|
DataBaseSettings dbSettings;
|
||||||
|
|
||||||
QString UserNamePostgres;
|
|
||||||
QString PasswordPostgres;
|
|
||||||
|
|
||||||
QTranslator qtLanguageTranslator;
|
|
||||||
|
|
||||||
private:
|
|
||||||
QWidget* ownerWidget;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DATABASELMS_H
|
#endif // DATABASELMS_H
|
||||||
|
|||||||
314
LibDataBaseInterface/databaselms_tasks_amm.cpp
Normal file
@@ -0,0 +1,314 @@
|
|||||||
|
#include "databaselms.h"
|
||||||
|
|
||||||
|
#include <QtSql>
|
||||||
|
#include <QSqlDatabase>
|
||||||
|
#include <QSqlDriver>
|
||||||
|
|
||||||
|
int DataBaseLMS::insertTaskAMM(TaskAmmFim task, int id_trainee)
|
||||||
|
{
|
||||||
|
QString queryStr;
|
||||||
|
bool resBool = false;
|
||||||
|
|
||||||
|
resBool = db->transaction();
|
||||||
|
|
||||||
|
task.ammProcedure.title = task.ammProcedure.title.replace("'", "''"); //Задваиваем одинарные кавычки
|
||||||
|
|
||||||
|
queryStr = QString("INSERT INTO public.tasks_amm (title, dm_code, fk_trainee_id) "
|
||||||
|
"VALUES ('%1', '%2', %3) "
|
||||||
|
"RETURNING tasks_amm.task_id").arg(
|
||||||
|
task.ammProcedure.title,
|
||||||
|
task.ammProcedure.dmCode,
|
||||||
|
QString::number(id_trainee));
|
||||||
|
|
||||||
|
int task_id = queryExecInt(queryStr);
|
||||||
|
if(!task_id)
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for(SubProc subProc : task.listSubProc)
|
||||||
|
{
|
||||||
|
subProc.setTitle(subProc.getTitle().replace("'", "''")); //Задваиваем одинарные кавычки
|
||||||
|
|
||||||
|
queryStr = QString("INSERT INTO public.subprocs (dm_code, title, canplay, fk_task_amm_id) "
|
||||||
|
"VALUES ('%1', '%2', '%3', %4) "
|
||||||
|
"RETURNING subprocs.subproc_id").arg(
|
||||||
|
subProc.getDmCode(),
|
||||||
|
subProc.getTitle(),
|
||||||
|
subProc.getModeListStr(),
|
||||||
|
QString::number(task_id));
|
||||||
|
|
||||||
|
int subproc_id = queryExecInt(queryStr);
|
||||||
|
if(!subproc_id)
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
resBool = db->commit();
|
||||||
|
return task_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
int DataBaseLMS::updateTaskAMM(TaskAmmFim task)
|
||||||
|
{
|
||||||
|
task.ammProcedure.title = task.ammProcedure.title.replace("'", "''"); //Задваиваем одинарные кавычки
|
||||||
|
|
||||||
|
QString queryStr = QString("UPDATE public.tasks_amm SET title = '%1', dm_code = '%2', status = '%3' "
|
||||||
|
"WHERE task_id = %4 "
|
||||||
|
"RETURNING tasks_amm.task_id").arg(
|
||||||
|
task.ammProcedure.title,
|
||||||
|
task.ammProcedure.dmCode,
|
||||||
|
task.status,
|
||||||
|
QString::number(task.getID()) );
|
||||||
|
|
||||||
|
return queryExecInt(queryStr);
|
||||||
|
}
|
||||||
|
|
||||||
|
int DataBaseLMS::updateStatusTaskAMM(int task_id, QString status)
|
||||||
|
{
|
||||||
|
QString queryStr;
|
||||||
|
bool resBool = false;
|
||||||
|
int id_trainee = 0;
|
||||||
|
|
||||||
|
resBool = db->transaction();
|
||||||
|
|
||||||
|
queryStr = QString("SELECT users.user_id "
|
||||||
|
"FROM public.users JOIN public.tasks_amm ON users.user_id = tasks_amm.fk_trainee_id "
|
||||||
|
"WHERE tasks_amm.task_id = %1 "
|
||||||
|
"ORDER BY users.user_id ASC").arg(
|
||||||
|
QString::number(task_id));
|
||||||
|
|
||||||
|
QSqlQuery query = QSqlQuery(*db);
|
||||||
|
|
||||||
|
if(queryExec(queryStr, &query))
|
||||||
|
{
|
||||||
|
if (query.first())
|
||||||
|
{//Обучаемый
|
||||||
|
id_trainee = query.value(0).toInt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!id_trainee)
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
queryStr = QString("UPDATE public.tasks_amm SET status = '%1' "
|
||||||
|
"WHERE task_id = %2 "
|
||||||
|
"RETURNING tasks_amm.task_id").arg(
|
||||||
|
status,
|
||||||
|
QString::number(task_id) );
|
||||||
|
|
||||||
|
|
||||||
|
if(!queryExecInt(queryStr))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
resBool = db->commit();
|
||||||
|
return id_trainee;
|
||||||
|
}
|
||||||
|
|
||||||
|
int DataBaseLMS::deleteTaskAMM(int id_task)
|
||||||
|
{
|
||||||
|
QString queryStr;
|
||||||
|
bool resBool = false;
|
||||||
|
int id_trainee = 0;
|
||||||
|
|
||||||
|
resBool = db->transaction();
|
||||||
|
|
||||||
|
queryStr = QString("SELECT users.user_id "
|
||||||
|
"FROM public.users JOIN public.tasks_amm ON users.user_id = tasks_amm.fk_trainee_id "
|
||||||
|
"WHERE tasks_amm.task_id = %1 "
|
||||||
|
"ORDER BY users.user_id ASC").arg(
|
||||||
|
QString::number(id_task));
|
||||||
|
|
||||||
|
QSqlQuery queryUserSEL = QSqlQuery(*db);
|
||||||
|
|
||||||
|
if(queryExec(queryStr, &queryUserSEL))
|
||||||
|
{
|
||||||
|
if (queryUserSEL.first())
|
||||||
|
{//Обучаемый
|
||||||
|
id_trainee = queryUserSEL.value(0).toInt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!id_trainee)
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
queryStr = QString("DELETE FROM public.subprocs "
|
||||||
|
"WHERE fk_task_amm_id = %1 ").arg(
|
||||||
|
QString::number(id_task));
|
||||||
|
|
||||||
|
QSqlQuery querySubProcDEL = QSqlQuery(*db);
|
||||||
|
if(!queryExec(queryStr, &querySubProcDEL))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------
|
||||||
|
queryStr = QString("DELETE FROM public.tasks_amm "
|
||||||
|
"WHERE task_id = %1 "
|
||||||
|
"RETURNING tasks_amm.task_id").arg(
|
||||||
|
QString::number(id_task));
|
||||||
|
|
||||||
|
if(!queryExecInt(queryStr))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
resBool = db->commit();
|
||||||
|
return id_trainee;
|
||||||
|
}
|
||||||
|
|
||||||
|
QList<TaskAmmFim> DataBaseLMS::selectTasksAMMofTrainee(int id_trainee)
|
||||||
|
{
|
||||||
|
QList<TaskAmmFim> listTasks;
|
||||||
|
QString queryStr;
|
||||||
|
bool resBool = false;
|
||||||
|
|
||||||
|
resBool = db->transaction();
|
||||||
|
|
||||||
|
queryStr = QString("SELECT tasks_amm.task_id, tasks_amm.title, tasks_amm.dm_code, tasks_amm.status, "
|
||||||
|
"users.user_id "
|
||||||
|
"FROM public.tasks_amm JOIN public.users ON users.user_id = tasks_amm.fk_trainee_id "
|
||||||
|
"WHERE tasks_amm.fk_trainee_id = %1 "
|
||||||
|
"ORDER BY tasks_amm.task_id ASC").arg(
|
||||||
|
id_trainee);
|
||||||
|
|
||||||
|
QSqlQuery query = QSqlQuery(*db);
|
||||||
|
|
||||||
|
if(queryExec(queryStr, &query))
|
||||||
|
{
|
||||||
|
while (query.next())
|
||||||
|
{//Задача
|
||||||
|
TaskAmmFim task;
|
||||||
|
|
||||||
|
task.setID(query.value(0).toInt());
|
||||||
|
task.ammProcedure.title = query.value(1).toString();
|
||||||
|
task.ammProcedure.dmCode = query.value(2).toString();
|
||||||
|
task.status = query.value(3).toString();
|
||||||
|
|
||||||
|
//Выгребаем все subproc для этой задачи
|
||||||
|
queryStr = QString("SELECT subprocs.subproc_id, subprocs.dm_code, subprocs.title, subprocs.canplay, "
|
||||||
|
"tasks_amm.task_id "
|
||||||
|
"FROM public.subprocs JOIN public.tasks_amm ON tasks_amm.task_id = subprocs.fk_task_amm_id "
|
||||||
|
"WHERE subprocs.fk_task_amm_id = %1 "
|
||||||
|
"ORDER BY subprocs.subproc_id ASC").arg(
|
||||||
|
task.getID());
|
||||||
|
|
||||||
|
QSqlQuery querySubProc = QSqlQuery(*db);
|
||||||
|
|
||||||
|
if(queryExec(queryStr, &querySubProc))
|
||||||
|
{
|
||||||
|
while (querySubProc.next())
|
||||||
|
{//Подпроцедура
|
||||||
|
SubProc subProc;
|
||||||
|
int subproc_id = 0;
|
||||||
|
|
||||||
|
subproc_id = querySubProc.value(0).toString().toInt();
|
||||||
|
subProc.setDmCode(querySubProc.value(1).toString());
|
||||||
|
subProc.setTitle(querySubProc.value(2).toString());
|
||||||
|
subProc.setModeListStr(querySubProc.value(3).toString());
|
||||||
|
|
||||||
|
task.listSubProc.append(subProc);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return QList<TaskAmmFim>();
|
||||||
|
}
|
||||||
|
|
||||||
|
listTasks.append(task);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return QList<TaskAmmFim>();
|
||||||
|
}
|
||||||
|
|
||||||
|
resBool = db->commit();
|
||||||
|
return listTasks;
|
||||||
|
}
|
||||||
|
|
||||||
|
TaskAmmFim DataBaseLMS::selectTaskAMMbyID(int id_task)
|
||||||
|
{
|
||||||
|
TaskAmmFim task;
|
||||||
|
|
||||||
|
QString queryStr;
|
||||||
|
bool resBool = false;
|
||||||
|
|
||||||
|
resBool = db->transaction();
|
||||||
|
|
||||||
|
queryStr = QString("SELECT tasks_amm.task_id, tasks_amm.title, tasks_amm.dm_code, tasks_amm.status "
|
||||||
|
"FROM public.tasks_amm "
|
||||||
|
"WHERE tasks_amm.task_id = %1 "
|
||||||
|
"ORDER BY tasks_amm.task_id ASC").arg(
|
||||||
|
id_task);
|
||||||
|
|
||||||
|
QSqlQuery query = QSqlQuery(*db);
|
||||||
|
|
||||||
|
if(queryExec(queryStr, &query))
|
||||||
|
{
|
||||||
|
if (query.first())
|
||||||
|
{//Задача
|
||||||
|
task.setID(query.value(0).toInt());
|
||||||
|
task.ammProcedure.title = query.value(1).toString();
|
||||||
|
task.ammProcedure.dmCode = query.value(2).toString();
|
||||||
|
task.status = query.value(3).toString();
|
||||||
|
|
||||||
|
//Выгребаем все subproc для этой задачи
|
||||||
|
queryStr = QString("SELECT subprocs.subproc_id, subprocs.dm_code, subprocs.title, subprocs.canplay, "
|
||||||
|
"tasks_amm.task_id "
|
||||||
|
"FROM public.subprocs JOIN public.tasks_amm ON tasks_amm.task_id = subprocs.fk_task_amm_id "
|
||||||
|
"WHERE subprocs.fk_task_amm_id = %1 "
|
||||||
|
"ORDER BY subprocs.subproc_id ASC").arg(
|
||||||
|
task.getID());
|
||||||
|
|
||||||
|
QSqlQuery querySubProc = QSqlQuery(*db);
|
||||||
|
|
||||||
|
if(queryExec(queryStr, &querySubProc))
|
||||||
|
{
|
||||||
|
while (querySubProc.next())
|
||||||
|
{//Подпроцедура
|
||||||
|
SubProc subProc;
|
||||||
|
int subproc_id = 0;
|
||||||
|
|
||||||
|
subproc_id = querySubProc.value(0).toString().toInt();
|
||||||
|
subProc.setDmCode(querySubProc.value(1).toString());
|
||||||
|
subProc.setTitle(querySubProc.value(2).toString());
|
||||||
|
subProc.setModeListStr(querySubProc.value(3).toString());
|
||||||
|
|
||||||
|
task.listSubProc.append(subProc);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return TaskAmmFim();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return TaskAmmFim();
|
||||||
|
}
|
||||||
|
|
||||||
|
resBool = db->commit();
|
||||||
|
return task;
|
||||||
|
}
|
||||||
@@ -4,316 +4,6 @@
|
|||||||
#include <QSqlDatabase>
|
#include <QSqlDatabase>
|
||||||
#include <QSqlDriver>
|
#include <QSqlDriver>
|
||||||
|
|
||||||
int DataBaseLMS::insertTaskAMM(TaskAmmFim task, int id_trainee)
|
|
||||||
{
|
|
||||||
QString queryStr;
|
|
||||||
bool resBool = false;
|
|
||||||
|
|
||||||
resBool = db->transaction();
|
|
||||||
|
|
||||||
task.ammProcedure.title = task.ammProcedure.title.replace("'", "''"); //Задваиваем одинарные кавычки
|
|
||||||
|
|
||||||
queryStr = QString("INSERT INTO public.tasks_amm (title, dm_code, fk_trainee_id) "
|
|
||||||
"VALUES ('%1', '%2', %3) "
|
|
||||||
"RETURNING tasks_amm.task_id").arg(
|
|
||||||
task.ammProcedure.title,
|
|
||||||
task.ammProcedure.dmCode,
|
|
||||||
QString::number(id_trainee));
|
|
||||||
|
|
||||||
int task_id = queryExecInt(queryStr);
|
|
||||||
if(!task_id)
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
for(SubProc subProc : task.listSubProc)
|
|
||||||
{
|
|
||||||
subProc.setTitle(subProc.getTitle().replace("'", "''")); //Задваиваем одинарные кавычки
|
|
||||||
|
|
||||||
queryStr = QString("INSERT INTO public.subprocs (dm_code, title, canplay, fk_task_amm_id) "
|
|
||||||
"VALUES ('%1', '%2', '%3', %4) "
|
|
||||||
"RETURNING subprocs.subproc_id").arg(
|
|
||||||
subProc.getDmCode(),
|
|
||||||
subProc.getTitle(),
|
|
||||||
subProc.getModeListStr(),
|
|
||||||
QString::number(task_id));
|
|
||||||
|
|
||||||
int subproc_id = queryExecInt(queryStr);
|
|
||||||
if(!subproc_id)
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
resBool = db->commit();
|
|
||||||
return task_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
int DataBaseLMS::updateTaskAMM(TaskAmmFim task)
|
|
||||||
{
|
|
||||||
task.ammProcedure.title = task.ammProcedure.title.replace("'", "''"); //Задваиваем одинарные кавычки
|
|
||||||
|
|
||||||
QString queryStr = QString("UPDATE public.tasks_amm SET title = '%1', dm_code = '%2', status = '%3' "
|
|
||||||
"WHERE task_id = %4 "
|
|
||||||
"RETURNING tasks_amm.task_id").arg(
|
|
||||||
task.ammProcedure.title,
|
|
||||||
task.ammProcedure.dmCode,
|
|
||||||
task.status,
|
|
||||||
QString::number(task.getID()) );
|
|
||||||
|
|
||||||
return queryExecInt(queryStr);
|
|
||||||
}
|
|
||||||
|
|
||||||
int DataBaseLMS::updateStatusTaskAMM(int task_id, QString status)
|
|
||||||
{
|
|
||||||
QString queryStr;
|
|
||||||
bool resBool = false;
|
|
||||||
int id_trainee = 0;
|
|
||||||
|
|
||||||
resBool = db->transaction();
|
|
||||||
|
|
||||||
queryStr = QString("SELECT users.user_id "
|
|
||||||
"FROM public.users JOIN public.tasks_amm ON users.user_id = tasks_amm.fk_trainee_id "
|
|
||||||
"WHERE tasks_amm.task_id = %1 "
|
|
||||||
"ORDER BY users.user_id ASC").arg(
|
|
||||||
QString::number(task_id));
|
|
||||||
|
|
||||||
QSqlQuery query = QSqlQuery(*db);
|
|
||||||
|
|
||||||
if(queryExec(queryStr, &query))
|
|
||||||
{
|
|
||||||
if (query.first())
|
|
||||||
{//Обучаемый
|
|
||||||
id_trainee = query.value(0).toInt();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(!id_trainee)
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
queryStr = QString("UPDATE public.tasks_amm SET status = '%1' "
|
|
||||||
"WHERE task_id = %2 "
|
|
||||||
"RETURNING tasks_amm.task_id").arg(
|
|
||||||
status,
|
|
||||||
QString::number(task_id) );
|
|
||||||
|
|
||||||
|
|
||||||
if(!queryExecInt(queryStr))
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
resBool = db->commit();
|
|
||||||
return id_trainee;
|
|
||||||
}
|
|
||||||
|
|
||||||
int DataBaseLMS::deleteTaskAMM(int id_task)
|
|
||||||
{
|
|
||||||
QString queryStr;
|
|
||||||
bool resBool = false;
|
|
||||||
int id_trainee = 0;
|
|
||||||
|
|
||||||
resBool = db->transaction();
|
|
||||||
|
|
||||||
queryStr = QString("SELECT users.user_id "
|
|
||||||
"FROM public.users JOIN public.tasks_amm ON users.user_id = tasks_amm.fk_trainee_id "
|
|
||||||
"WHERE tasks_amm.task_id = %1 "
|
|
||||||
"ORDER BY users.user_id ASC").arg(
|
|
||||||
QString::number(id_task));
|
|
||||||
|
|
||||||
QSqlQuery queryUserSEL = QSqlQuery(*db);
|
|
||||||
|
|
||||||
if(queryExec(queryStr, &queryUserSEL))
|
|
||||||
{
|
|
||||||
if (queryUserSEL.first())
|
|
||||||
{//Обучаемый
|
|
||||||
id_trainee = queryUserSEL.value(0).toInt();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(!id_trainee)
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
queryStr = QString("DELETE FROM public.subprocs "
|
|
||||||
"WHERE fk_task_amm_id = %1 ").arg(
|
|
||||||
QString::number(id_task));
|
|
||||||
|
|
||||||
QSqlQuery querySubProcDEL = QSqlQuery(*db);
|
|
||||||
if(!queryExec(queryStr, &querySubProcDEL))
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//--------------------
|
|
||||||
queryStr = QString("DELETE FROM public.tasks_amm "
|
|
||||||
"WHERE task_id = %1 "
|
|
||||||
"RETURNING tasks_amm.task_id").arg(
|
|
||||||
QString::number(id_task));
|
|
||||||
|
|
||||||
if(!queryExecInt(queryStr))
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
resBool = db->commit();
|
|
||||||
return id_trainee;
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<TaskAmmFim> DataBaseLMS::selectTasksAMMofTrainee(int id_trainee)
|
|
||||||
{
|
|
||||||
QList<TaskAmmFim> listTasks;
|
|
||||||
QString queryStr;
|
|
||||||
bool resBool = false;
|
|
||||||
|
|
||||||
resBool = db->transaction();
|
|
||||||
|
|
||||||
queryStr = QString("SELECT tasks_amm.task_id, tasks_amm.title, tasks_amm.dm_code, tasks_amm.status, "
|
|
||||||
"users.user_id "
|
|
||||||
"FROM public.tasks_amm JOIN public.users ON users.user_id = tasks_amm.fk_trainee_id "
|
|
||||||
"WHERE tasks_amm.fk_trainee_id = %1 "
|
|
||||||
"ORDER BY tasks_amm.task_id ASC").arg(
|
|
||||||
id_trainee);
|
|
||||||
|
|
||||||
QSqlQuery query = QSqlQuery(*db);
|
|
||||||
|
|
||||||
if(queryExec(queryStr, &query))
|
|
||||||
{
|
|
||||||
while (query.next())
|
|
||||||
{//Задача
|
|
||||||
TaskAmmFim task;
|
|
||||||
|
|
||||||
task.setID(query.value(0).toInt());
|
|
||||||
task.ammProcedure.title = query.value(1).toString();
|
|
||||||
task.ammProcedure.dmCode = query.value(2).toString();
|
|
||||||
task.status = query.value(3).toString();
|
|
||||||
|
|
||||||
//Выгребаем все subproc для этой задачи
|
|
||||||
queryStr = QString("SELECT subprocs.subproc_id, subprocs.dm_code, subprocs.title, subprocs.canplay, "
|
|
||||||
"tasks_amm.task_id "
|
|
||||||
"FROM public.subprocs JOIN public.tasks_amm ON tasks_amm.task_id = subprocs.fk_task_amm_id "
|
|
||||||
"WHERE subprocs.fk_task_amm_id = %1 "
|
|
||||||
"ORDER BY subprocs.subproc_id ASC").arg(
|
|
||||||
task.getID());
|
|
||||||
|
|
||||||
QSqlQuery querySubProc = QSqlQuery(*db);
|
|
||||||
|
|
||||||
if(queryExec(queryStr, &querySubProc))
|
|
||||||
{
|
|
||||||
while (querySubProc.next())
|
|
||||||
{//Подпроцедура
|
|
||||||
SubProc subProc;
|
|
||||||
int subproc_id = 0;
|
|
||||||
|
|
||||||
subproc_id = querySubProc.value(0).toString().toInt();
|
|
||||||
subProc.setDmCode(querySubProc.value(1).toString());
|
|
||||||
subProc.setTitle(querySubProc.value(2).toString());
|
|
||||||
subProc.setModeListStr(querySubProc.value(3).toString());
|
|
||||||
|
|
||||||
task.listSubProc.append(subProc);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return QList<TaskAmmFim>();
|
|
||||||
}
|
|
||||||
|
|
||||||
listTasks.append(task);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return QList<TaskAmmFim>();
|
|
||||||
}
|
|
||||||
|
|
||||||
resBool = db->commit();
|
|
||||||
return listTasks;
|
|
||||||
}
|
|
||||||
|
|
||||||
TaskAmmFim DataBaseLMS::selectTaskAMMbyID(int id_task)
|
|
||||||
{
|
|
||||||
TaskAmmFim task;
|
|
||||||
|
|
||||||
QString queryStr;
|
|
||||||
bool resBool = false;
|
|
||||||
|
|
||||||
resBool = db->transaction();
|
|
||||||
|
|
||||||
queryStr = QString("SELECT tasks_amm.task_id, tasks_amm.title, tasks_amm.dm_code, tasks_amm.status "
|
|
||||||
"FROM public.tasks_amm "
|
|
||||||
"WHERE tasks_amm.task_id = %1 "
|
|
||||||
"ORDER BY tasks_amm.task_id ASC").arg(
|
|
||||||
id_task);
|
|
||||||
|
|
||||||
QSqlQuery query = QSqlQuery(*db);
|
|
||||||
|
|
||||||
if(queryExec(queryStr, &query))
|
|
||||||
{
|
|
||||||
if (query.first())
|
|
||||||
{//Задача
|
|
||||||
task.setID(query.value(0).toInt());
|
|
||||||
task.ammProcedure.title = query.value(1).toString();
|
|
||||||
task.ammProcedure.dmCode = query.value(2).toString();
|
|
||||||
task.status = query.value(3).toString();
|
|
||||||
|
|
||||||
//Выгребаем все subproc для этой задачи
|
|
||||||
queryStr = QString("SELECT subprocs.subproc_id, subprocs.dm_code, subprocs.title, subprocs.canplay, "
|
|
||||||
"tasks_amm.task_id "
|
|
||||||
"FROM public.subprocs JOIN public.tasks_amm ON tasks_amm.task_id = subprocs.fk_task_amm_id "
|
|
||||||
"WHERE subprocs.fk_task_amm_id = %1 "
|
|
||||||
"ORDER BY subprocs.subproc_id ASC").arg(
|
|
||||||
task.getID());
|
|
||||||
|
|
||||||
QSqlQuery querySubProc = QSqlQuery(*db);
|
|
||||||
|
|
||||||
if(queryExec(queryStr, &querySubProc))
|
|
||||||
{
|
|
||||||
while (querySubProc.next())
|
|
||||||
{//Подпроцедура
|
|
||||||
SubProc subProc;
|
|
||||||
int subproc_id = 0;
|
|
||||||
|
|
||||||
subproc_id = querySubProc.value(0).toString().toInt();
|
|
||||||
subProc.setDmCode(querySubProc.value(1).toString());
|
|
||||||
subProc.setTitle(querySubProc.value(2).toString());
|
|
||||||
subProc.setModeListStr(querySubProc.value(3).toString());
|
|
||||||
|
|
||||||
task.listSubProc.append(subProc);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return TaskAmmFim();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
resBool = db->rollback();
|
|
||||||
return TaskAmmFim();
|
|
||||||
}
|
|
||||||
|
|
||||||
resBool = db->commit();
|
|
||||||
return task;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int DataBaseLMS::insertTaskFIM(TaskAmmFim task, int id_trainee)
|
int DataBaseLMS::insertTaskFIM(TaskAmmFim task, int id_trainee)
|
||||||
{
|
{
|
||||||
QString queryStr;
|
QString queryStr;
|
||||||
@@ -340,12 +30,14 @@ int DataBaseLMS::insertTaskFIM(TaskAmmFim task, int id_trainee)
|
|||||||
{
|
{
|
||||||
malfanction.description = malfanction.description.replace("'", "''"); //Задваиваем одинарные кавычки
|
malfanction.description = malfanction.description.replace("'", "''"); //Задваиваем одинарные кавычки
|
||||||
|
|
||||||
queryStr = QString("INSERT INTO public.malfunctions (num, dm_code, description, fk_task_fim_id) "
|
queryStr = QString("INSERT INTO public.malfunctions (num, dm_code, description, go_name, obj_name, fk_task_fim_id) "
|
||||||
"VALUES ('%1', '%2', '%3', %4) "
|
"VALUES ('%1', '%2', '%3', '%4', '%5', %6) "
|
||||||
"RETURNING malfunctions.malfunction_id").arg(
|
"RETURNING malfunctions.malfunction_id").arg(
|
||||||
malfanction.num,
|
malfanction.num,
|
||||||
malfanction.dmCode,
|
malfanction.dmCode,
|
||||||
malfanction.description,
|
malfanction.description,
|
||||||
|
malfanction.goName,
|
||||||
|
malfanction.objName,
|
||||||
QString::number(task_id));
|
QString::number(task_id));
|
||||||
|
|
||||||
int malfunction_id = queryExecInt(queryStr);
|
int malfunction_id = queryExecInt(queryStr);
|
||||||
@@ -435,6 +127,65 @@ int DataBaseLMS::updateStatusTaskFIM(int task_id, QString status)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(status == "new")
|
||||||
|
{//Удаляем отчет
|
||||||
|
queryStr = QString("SELECT reports.report_id "
|
||||||
|
"FROM public.reports "
|
||||||
|
"WHERE fk_task_fim_id = %1 "
|
||||||
|
"ORDER BY reports.report_id ASC").arg(
|
||||||
|
QString::number(task_id));
|
||||||
|
|
||||||
|
int report_id = 0;
|
||||||
|
|
||||||
|
QSqlQuery queryReportsSEL = QSqlQuery(*db);
|
||||||
|
if(queryExec(queryStr, &queryReportsSEL))
|
||||||
|
{
|
||||||
|
if (queryReportsSEL.first())
|
||||||
|
{//Отчет
|
||||||
|
report_id = queryReportsSEL.value(0).toInt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
queryStr = QString("DELETE FROM public.report_items "
|
||||||
|
"WHERE fk_report_id = %1 ").arg(
|
||||||
|
QString::number(report_id));
|
||||||
|
|
||||||
|
QSqlQuery queryItemsDEL = QSqlQuery(*db);
|
||||||
|
if(!queryExec(queryStr, &queryItemsDEL))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
queryStr = QString("DELETE FROM public.report_wh_items "
|
||||||
|
"WHERE fk_report_id = %1 ").arg(
|
||||||
|
QString::number(report_id));
|
||||||
|
|
||||||
|
QSqlQuery queryWhItemsDEL = QSqlQuery(*db);
|
||||||
|
if(!queryExec(queryStr, &queryWhItemsDEL))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
queryStr = QString("DELETE FROM public.reports "
|
||||||
|
"WHERE report_id = %1 ").arg(
|
||||||
|
QString::number(report_id));
|
||||||
|
|
||||||
|
QSqlQuery queryReportsDEL = QSqlQuery(*db);
|
||||||
|
if(!queryExec(queryStr, &queryReportsDEL))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
resBool = db->commit();
|
resBool = db->commit();
|
||||||
return id_trainee;
|
return id_trainee;
|
||||||
}
|
}
|
||||||
@@ -553,6 +304,17 @@ int DataBaseLMS::deleteTaskFIM(int id_task)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
queryStr = QString("DELETE FROM public.report_wh_items "
|
||||||
|
"WHERE fk_report_id = %1 ").arg(
|
||||||
|
QString::number(report_id));
|
||||||
|
|
||||||
|
QSqlQuery queryWhItemsDEL = QSqlQuery(*db);
|
||||||
|
if(!queryExec(queryStr, &queryWhItemsDEL))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
queryStr = QString("DELETE FROM public.reports "
|
queryStr = QString("DELETE FROM public.reports "
|
||||||
"WHERE report_id = %1 ").arg(
|
"WHERE report_id = %1 ").arg(
|
||||||
QString::number(report_id));
|
QString::number(report_id));
|
||||||
@@ -609,7 +371,7 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
|
|||||||
task.status = query.value(2).toString();
|
task.status = query.value(2).toString();
|
||||||
|
|
||||||
//Выгребаем все malfunction для этой задачи
|
//Выгребаем все malfunction для этой задачи
|
||||||
queryStr = QString("SELECT malfunctions.malfunction_id, malfunctions.num, malfunctions.dm_code, malfunctions.description, "
|
queryStr = QString("SELECT malfunctions.malfunction_id, malfunctions.num, malfunctions.dm_code, malfunctions.description, malfunctions.go_name, malfunctions.obj_name, "
|
||||||
"tasks_fim.task_id "
|
"tasks_fim.task_id "
|
||||||
"FROM public.malfunctions JOIN public.tasks_fim ON tasks_fim.task_id = malfunctions.fk_task_fim_id "
|
"FROM public.malfunctions JOIN public.tasks_fim ON tasks_fim.task_id = malfunctions.fk_task_fim_id "
|
||||||
"WHERE malfunctions.fk_task_fim_id = %1 "
|
"WHERE malfunctions.fk_task_fim_id = %1 "
|
||||||
@@ -629,6 +391,8 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
|
|||||||
malfanction.num = queryMalf.value(1).toString();
|
malfanction.num = queryMalf.value(1).toString();
|
||||||
malfanction.dmCode = queryMalf.value(2).toString();
|
malfanction.dmCode = queryMalf.value(2).toString();
|
||||||
malfanction.description = queryMalf.value(3).toString();
|
malfanction.description = queryMalf.value(3).toString();
|
||||||
|
malfanction.goName = queryMalf.value(4).toString();
|
||||||
|
malfanction.objName = queryMalf.value(5).toString();
|
||||||
|
|
||||||
//Выгребаем сигналы для этой неисправности
|
//Выгребаем сигналы для этой неисправности
|
||||||
queryStr = QString("SELECT malf_signs.sign_id, malf_signs.type, malf_signs.description "
|
queryStr = QString("SELECT malf_signs.sign_id, malf_signs.type, malf_signs.description "
|
||||||
@@ -667,7 +431,7 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
|
|||||||
|
|
||||||
//Выгребаем отчет для этой задачи
|
//Выгребаем отчет для этой задачи
|
||||||
int report_id = 0;
|
int report_id = 0;
|
||||||
queryStr = QString("SELECT reports.report_id "
|
queryStr = QString("SELECT reports.report_id, reports.mmel "
|
||||||
"FROM public.reports "
|
"FROM public.reports "
|
||||||
"WHERE fk_task_fim_id = %1 "
|
"WHERE fk_task_fim_id = %1 "
|
||||||
"ORDER BY reports.report_id ASC").arg(
|
"ORDER BY reports.report_id ASC").arg(
|
||||||
@@ -681,6 +445,7 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
|
|||||||
{//Отчет
|
{//Отчет
|
||||||
report_id = queryReport.value(0).toInt();
|
report_id = queryReport.value(0).toInt();
|
||||||
task.report.id = report_id;
|
task.report.id = report_id;
|
||||||
|
task.report.mmel = queryReport.value(1).toBool();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -723,6 +488,36 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
|
|||||||
resBool = db->rollback();
|
resBool = db->rollback();
|
||||||
return QList<TaskAmmFim>();
|
return QList<TaskAmmFim>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Выгребаем все wh_item отчета
|
||||||
|
|
||||||
|
queryStr = QString("SELECT report_wh_items.wh_item_id, report_wh_items.status, report_wh_items.go_name, report_wh_items.obj_name, report_wh_items.code, report_wh_items.fk_report_id, report_wh_items.number "
|
||||||
|
"FROM public.report_wh_items "
|
||||||
|
"WHERE fk_report_id = %1 "
|
||||||
|
"ORDER BY report_wh_items.number ASC").arg(
|
||||||
|
QString::number(report_id));
|
||||||
|
|
||||||
|
QSqlQuery queryWhItems = QSqlQuery(*db);
|
||||||
|
|
||||||
|
if(queryExec(queryStr, &queryWhItems))
|
||||||
|
{
|
||||||
|
while (queryWhItems.next())
|
||||||
|
{//report_wh_item
|
||||||
|
FIMReportWarehouseItem reportWhItem;
|
||||||
|
reportWhItem.id = queryWhItems.value(0).toInt();
|
||||||
|
reportWhItem.status = queryWhItems.value(1).toInt();
|
||||||
|
reportWhItem.goName = queryWhItems.value(2).toString();
|
||||||
|
reportWhItem.objName = queryWhItems.value(3).toString();
|
||||||
|
reportWhItem.code = queryWhItems.value(4).toString();
|
||||||
|
|
||||||
|
task.report.warehouseItemList.append(reportWhItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return QList<TaskAmmFim>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
listTasks.append(task);
|
listTasks.append(task);
|
||||||
@@ -765,7 +560,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
|
|||||||
task.status = query.value(2).toString();
|
task.status = query.value(2).toString();
|
||||||
|
|
||||||
//Выгребаем все malfunction для этой задачи
|
//Выгребаем все malfunction для этой задачи
|
||||||
queryStr = QString("SELECT malfunctions.malfunction_id, malfunctions.num, malfunctions.dm_code, malfunctions.description, "
|
queryStr = QString("SELECT malfunctions.malfunction_id, malfunctions.num, malfunctions.dm_code, malfunctions.description, malfunctions.go_name, malfunctions.obj_name, "
|
||||||
"tasks_fim.task_id "
|
"tasks_fim.task_id "
|
||||||
"FROM public.malfunctions JOIN public.tasks_fim ON tasks_fim.task_id = malfunctions.fk_task_fim_id "
|
"FROM public.malfunctions JOIN public.tasks_fim ON tasks_fim.task_id = malfunctions.fk_task_fim_id "
|
||||||
"WHERE malfunctions.fk_task_fim_id = %1 "
|
"WHERE malfunctions.fk_task_fim_id = %1 "
|
||||||
@@ -785,6 +580,8 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
|
|||||||
malfanction.num = queryMalf.value(1).toString();
|
malfanction.num = queryMalf.value(1).toString();
|
||||||
malfanction.dmCode = queryMalf.value(2).toString();
|
malfanction.dmCode = queryMalf.value(2).toString();
|
||||||
malfanction.description = queryMalf.value(3).toString();
|
malfanction.description = queryMalf.value(3).toString();
|
||||||
|
malfanction.goName = queryMalf.value(4).toString();
|
||||||
|
malfanction.objName = queryMalf.value(5).toString();
|
||||||
|
|
||||||
//Выгребаем сигналы для этой неисправности
|
//Выгребаем сигналы для этой неисправности
|
||||||
queryStr = QString("SELECT malf_signs.sign_id, malf_signs.type, malf_signs.description "
|
queryStr = QString("SELECT malf_signs.sign_id, malf_signs.type, malf_signs.description "
|
||||||
@@ -823,7 +620,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
|
|||||||
|
|
||||||
//Выгребаем отчет для этой задачи
|
//Выгребаем отчет для этой задачи
|
||||||
int report_id = 0;
|
int report_id = 0;
|
||||||
queryStr = QString("SELECT reports.report_id "
|
queryStr = QString("SELECT reports.report_id, reports.mmel "
|
||||||
"FROM public.reports "
|
"FROM public.reports "
|
||||||
"WHERE fk_task_fim_id = %1 "
|
"WHERE fk_task_fim_id = %1 "
|
||||||
"ORDER BY reports.report_id ASC").arg(
|
"ORDER BY reports.report_id ASC").arg(
|
||||||
@@ -837,6 +634,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
|
|||||||
{//Отчет
|
{//Отчет
|
||||||
report_id = queryReport.value(0).toInt();
|
report_id = queryReport.value(0).toInt();
|
||||||
task.report.id = report_id;
|
task.report.id = report_id;
|
||||||
|
task.report.mmel = queryReport.value(1).toBool();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -879,6 +677,36 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
|
|||||||
resBool = db->rollback();
|
resBool = db->rollback();
|
||||||
return TaskAmmFim();
|
return TaskAmmFim();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Выгребаем все wh_item отчета
|
||||||
|
|
||||||
|
queryStr = QString("SELECT report_wh_items.wh_item_id, report_wh_items.status, report_wh_items.go_name, report_wh_items.obj_name, report_wh_items.code, report_wh_items.fk_report_id, report_wh_items.number "
|
||||||
|
"FROM public.report_wh_items "
|
||||||
|
"WHERE fk_report_id = %1 "
|
||||||
|
"ORDER BY report_wh_items.number ASC").arg(
|
||||||
|
QString::number(report_id));
|
||||||
|
|
||||||
|
QSqlQuery queryWhItems = QSqlQuery(*db);
|
||||||
|
|
||||||
|
if(queryExec(queryStr, &queryWhItems))
|
||||||
|
{
|
||||||
|
while (queryWhItems.next())
|
||||||
|
{//report_wh_item
|
||||||
|
FIMReportWarehouseItem reportWhItem;
|
||||||
|
reportWhItem.id = queryWhItems.value(0).toInt();
|
||||||
|
reportWhItem.status = queryWhItems.value(1).toInt();
|
||||||
|
reportWhItem.goName = queryWhItems.value(2).toString();
|
||||||
|
reportWhItem.objName = queryWhItems.value(3).toString();
|
||||||
|
reportWhItem.code = queryWhItems.value(4).toString();
|
||||||
|
|
||||||
|
task.report.warehouseItemList.append(reportWhItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return TaskAmmFim();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -924,10 +752,11 @@ int DataBaseLMS::updateReportFIMforTask(TaskAmmFim task)
|
|||||||
|
|
||||||
if(!report_id)
|
if(!report_id)
|
||||||
{
|
{
|
||||||
queryStr = QString("INSERT INTO public.reports (fk_task_fim_id) "
|
queryStr = QString("INSERT INTO public.reports (fk_task_fim_id, mmel) "
|
||||||
"VALUES (%1) "
|
"VALUES (%1, %2) "
|
||||||
"RETURNING reports.report_id").arg(
|
"RETURNING reports.report_id").arg(
|
||||||
task.getID());
|
QString::number(task.getID()),
|
||||||
|
(task.report.mmel ? "true" : "false"));
|
||||||
|
|
||||||
report_id = queryExecInt(queryStr);
|
report_id = queryExecInt(queryStr);
|
||||||
if(!report_id)
|
if(!report_id)
|
||||||
@@ -948,6 +777,17 @@ int DataBaseLMS::updateReportFIMforTask(TaskAmmFim task)
|
|||||||
resBool = db->rollback();
|
resBool = db->rollback();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
queryStr = QString("DELETE FROM public.report_wh_items "
|
||||||
|
"WHERE fk_report_id = %1 ").arg(
|
||||||
|
QString::number(report_id));
|
||||||
|
|
||||||
|
QSqlQuery queryWhItemsDEL = QSqlQuery(*db);
|
||||||
|
if(!queryExec(queryStr, &queryWhItemsDEL))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int number = 0;
|
int number = 0;
|
||||||
@@ -971,6 +811,26 @@ int DataBaseLMS::updateReportFIMforTask(TaskAmmFim task)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
number = 0;
|
||||||
|
for(FIMReportWarehouseItem reportWhItem : task.report.warehouseItemList)
|
||||||
|
{
|
||||||
|
queryStr = QString("INSERT INTO public.report_wh_items (status, go_name, obj_name, code, fk_report_id, number) "
|
||||||
|
"VALUES ('%1', '%2', '%3', '%4', %5, %6) "
|
||||||
|
"RETURNING report_wh_items.wh_item_id").arg(
|
||||||
|
QString::number(reportWhItem.status),
|
||||||
|
reportWhItem.goName,
|
||||||
|
reportWhItem.objName,
|
||||||
|
reportWhItem.code,
|
||||||
|
QString::number(report_id),
|
||||||
|
QString::number(++number));
|
||||||
|
|
||||||
|
if(!queryExecInt(queryStr))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
queryStr = QString("UPDATE public.tasks_fim SET status = '%1' "
|
queryStr = QString("UPDATE public.tasks_fim SET status = '%1' "
|
||||||
"WHERE task_id = %2 ").arg(
|
"WHERE task_id = %2 ").arg(
|
||||||
"checkup",
|
"checkup",
|
||||||
@@ -384,8 +384,19 @@ int DataBaseLMS::deleteTrainee(int id_trainee)
|
|||||||
queryStr = QString("DELETE FROM public.report_items "
|
queryStr = QString("DELETE FROM public.report_items "
|
||||||
"WHERE report_items.fk_report_id = %1 ").arg(
|
"WHERE report_items.fk_report_id = %1 ").arg(
|
||||||
report_id);
|
report_id);
|
||||||
QSqlQuery queryReportDEL = QSqlQuery(*db);
|
QSqlQuery queryItemsDEL = QSqlQuery(*db);
|
||||||
if(!queryExec(queryStr, &queryReportDEL))
|
if(!queryExec(queryStr, &queryItemsDEL))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Удаление wh_items для этого отчета*/
|
||||||
|
queryStr = QString("DELETE FROM public.report_wh_items "
|
||||||
|
"WHERE report_wh_items.fk_report_id = %1 ").arg(
|
||||||
|
report_id);
|
||||||
|
QSqlQuery queryWhItemsDEL = QSqlQuery(*db);
|
||||||
|
if(!queryExec(queryStr, &queryWhItemsDEL))
|
||||||
{
|
{
|
||||||
resBool = db->rollback();
|
resBool = db->rollback();
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -4,9 +4,8 @@
|
|||||||
#include <QTime>
|
#include <QTime>
|
||||||
#include "interfacedatabaselms.h"
|
#include "interfacedatabaselms.h"
|
||||||
|
|
||||||
InterfaceDataBaseLMS::InterfaceDataBaseLMS(QWidget *ownerWidget, QObject *parent):
|
InterfaceDataBaseLMS::InterfaceDataBaseLMS(QObject *parent):
|
||||||
DataBaseLMS(ownerWidget, parent),
|
DataBaseLMS(parent)
|
||||||
ownerWidget(ownerWidget)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public:
|
|||||||
errAlreadyLogIn
|
errAlreadyLogIn
|
||||||
};
|
};
|
||||||
public:
|
public:
|
||||||
InterfaceDataBaseLMS(QWidget *ownerWidget, QObject *parent = nullptr);
|
InterfaceDataBaseLMS(QObject *parent = nullptr);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//Соединение
|
//Соединение
|
||||||
@@ -105,9 +105,6 @@ public:
|
|||||||
int replaceReportFIM(TaskAmmFim task);
|
int replaceReportFIM(TaskAmmFim task);
|
||||||
int changeStatusTaskFIM(int id_task, QString status);
|
int changeStatusTaskFIM(int id_task, QString status);
|
||||||
int changeStatusTaskAMM(int id_task, QString status);
|
int changeStatusTaskAMM(int id_task, QString status);
|
||||||
|
|
||||||
private:
|
|
||||||
QWidget* ownerWidget;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTERFACEDATABASELMS_H
|
#endif // INTERFACEDATABASELMS_H
|
||||||
|
|||||||
@@ -20,11 +20,65 @@ void TaskAmmFim::addMalfunction(Malfunction malfunction)
|
|||||||
malfunctionList.append(malfunction);
|
malfunctionList.append(malfunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Malfunction::initialize(QString dmCode, QString num, QString description)
|
QString TaskAmmFim::buildStatisticTasksAMM(QList<TaskAmmFim> listTasks)
|
||||||
|
{
|
||||||
|
int cntAll = 0;
|
||||||
|
int cntCompleted = 0;
|
||||||
|
|
||||||
|
for(TaskAmmFim task : listTasks)
|
||||||
|
{
|
||||||
|
cntAll++;
|
||||||
|
|
||||||
|
if(task.status == "completed")
|
||||||
|
cntCompleted++;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString statHTML = QString("<p><span style=\"color: green;\">%1</span> / "
|
||||||
|
"<span style=\"color: black;\">%2</span></p>").arg(
|
||||||
|
QString::number(cntCompleted),
|
||||||
|
QString::number(cntAll));
|
||||||
|
|
||||||
|
return statHTML;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString TaskAmmFim::buildStatisticTasksFIM(QList<TaskAmmFim> listTasks)
|
||||||
|
{
|
||||||
|
int cntAll = 0;
|
||||||
|
int cntCompleted = 0;
|
||||||
|
int cntCheckup = 0;
|
||||||
|
int cntFailed = 0;
|
||||||
|
|
||||||
|
for(TaskAmmFim task : listTasks)
|
||||||
|
{
|
||||||
|
cntAll++;
|
||||||
|
|
||||||
|
if(task.status == "completed")
|
||||||
|
cntCompleted++;
|
||||||
|
else if(task.status == "checkup")
|
||||||
|
cntCheckup++;
|
||||||
|
else if(task.status == "failed")
|
||||||
|
cntFailed++;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString statHTML = QString("<p><span style=\"color: green;\">%1</span>/"
|
||||||
|
"<span style=\"color: red;\">%2</span>/"
|
||||||
|
"<span style=\"color: darkorange;\">%3</span> / "
|
||||||
|
"<span style=\"color: black;\">%4</span></p>").arg(
|
||||||
|
QString::number(cntCompleted),
|
||||||
|
QString::number(cntFailed),
|
||||||
|
QString::number(cntCheckup),
|
||||||
|
QString::number(cntAll));
|
||||||
|
|
||||||
|
return statHTML;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Malfunction::initialize(QString dmCode, QString num, QString description, QString goName, QString objName)
|
||||||
{
|
{
|
||||||
this->dmCode = dmCode;
|
this->dmCode = dmCode;
|
||||||
this->num = num;
|
this->num = num;
|
||||||
this->description = description;
|
this->description = description;
|
||||||
|
this->goName = goName;
|
||||||
|
this->objName = objName;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Malfunction::addMalfunctionSign(MalfunctionSign sign)
|
void Malfunction::addMalfunctionSign(MalfunctionSign sign)
|
||||||
|
|||||||
@@ -84,13 +84,15 @@ public:
|
|||||||
Malfunction(){};
|
Malfunction(){};
|
||||||
~Malfunction(){};
|
~Malfunction(){};
|
||||||
public:
|
public:
|
||||||
void initialize(QString dmCode, QString num, QString description);
|
void initialize(QString dmCode, QString num, QString description, QString goName, QString objName);
|
||||||
void addMalfunctionSign(MalfunctionSign sign);
|
void addMalfunctionSign(MalfunctionSign sign);
|
||||||
public:
|
public:
|
||||||
QString dmCode; // dmCode процедуры
|
QString dmCode; // dmCode процедуры
|
||||||
QString num; // номер по-порядку в пункте "2. Возможные причины" процедуры
|
QString num; // номер по-порядку в пункте "2. Возможные причины" процедуры
|
||||||
QString description; // описание
|
QString description; // описание
|
||||||
QList<MalfunctionSign> malfunctionSigns;// список соответствующих неисправности признаков
|
QList<MalfunctionSign> malfunctionSigns;// список соответствующих неисправности признаков
|
||||||
|
QString goName; // имя GameObject (со скриптом DismantleData) - неисправный прибор
|
||||||
|
QString objName;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DATABASELMS_EXPORT FIMReportItem
|
class DATABASELMS_EXPORT FIMReportItem
|
||||||
@@ -104,6 +106,23 @@ public:
|
|||||||
ProcedureID procedure; // ссылка на процедуру, при необходимости
|
ProcedureID procedure; // ссылка на процедуру, при необходимости
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class DATABASELMS_EXPORT FIMReportWarehouseItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FIMReportWarehouseItem(){};
|
||||||
|
~FIMReportWarehouseItem(){};
|
||||||
|
public:
|
||||||
|
int id = 0; // для идентификации в БД
|
||||||
|
// статус GameObject-а в сцене
|
||||||
|
int status = 0; // 0 - демонтировано, 1 - неисправно, 2 - заменено на новое со склада
|
||||||
|
// имя GameObject-а в сцене
|
||||||
|
QString goName = "";
|
||||||
|
// человеческое название прибора
|
||||||
|
QString objName = "";
|
||||||
|
// его код из документации
|
||||||
|
QString code = "";
|
||||||
|
};
|
||||||
|
|
||||||
class DATABASELMS_EXPORT FIMReport
|
class DATABASELMS_EXPORT FIMReport
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -111,7 +130,9 @@ public:
|
|||||||
~FIMReport(){};
|
~FIMReport(){};
|
||||||
public:
|
public:
|
||||||
int id = 0; // для идентификации в БД
|
int id = 0; // для идентификации в БД
|
||||||
QList<FIMReportItem> itemList;
|
QList<FIMReportItem> itemList; // список выполненных/просмотренных процедур
|
||||||
|
QList<FIMReportWarehouseItem> warehouseItemList;
|
||||||
|
bool mmel = false; // выпуск самолета по MMEL
|
||||||
};
|
};
|
||||||
|
|
||||||
class DATABASELMS_EXPORT TaskAmmFim
|
class DATABASELMS_EXPORT TaskAmmFim
|
||||||
@@ -126,6 +147,10 @@ public:
|
|||||||
public:
|
public:
|
||||||
void setID(int id){this->id = id;};
|
void setID(int id){this->id = id;};
|
||||||
int getID(){return id;};
|
int getID(){return id;};
|
||||||
|
|
||||||
|
public:
|
||||||
|
static QString buildStatisticTasksAMM(QList<TaskAmmFim> listTasks);
|
||||||
|
static QString buildStatisticTasksFIM(QList<TaskAmmFim> listTasks);
|
||||||
public:
|
public:
|
||||||
|
|
||||||
int id; // для идентификации в БД
|
int id; // для идентификации в БД
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="ru_RU">
|
|
||||||
</TS>
|
|
||||||
@@ -5,6 +5,9 @@
|
|||||||
|
|
||||||
enum TypeQueryToDB{
|
enum TypeQueryToDB{
|
||||||
TYPE_QUERY_GET_ALL_LISTS,
|
TYPE_QUERY_GET_ALL_LISTS,
|
||||||
|
TYPE_QUERY_GET_ALL_INSTRUCTORS,
|
||||||
|
TYPE_QUERY_GET_ALL_TRAINEES,
|
||||||
|
TYPE_QUERY_GET_ALL_GROUPS,
|
||||||
TYPE_QUERY_NEW_INSTRUCTOR,
|
TYPE_QUERY_NEW_INSTRUCTOR,
|
||||||
TYPE_QUERY_DEL_INSTRUCTOR,
|
TYPE_QUERY_DEL_INSTRUCTOR,
|
||||||
TYPE_QUERY_EDIT_INSTRUCTOR,
|
TYPE_QUERY_EDIT_INSTRUCTOR,
|
||||||
|
|||||||
@@ -136,6 +136,18 @@ add_library(InstructorsAndTrainees SHARED
|
|||||||
tasks/subprocitemwidget.h
|
tasks/subprocitemwidget.h
|
||||||
tasks/subprocitemwidget.ui
|
tasks/subprocitemwidget.ui
|
||||||
|
|
||||||
|
tasks/reportfimwidget.cpp
|
||||||
|
tasks/reportfimwidget.h
|
||||||
|
tasks/reportfimwidget.ui
|
||||||
|
|
||||||
|
tasks/actionwidget.cpp
|
||||||
|
tasks/actionwidget.h
|
||||||
|
tasks/actionwidget.ui
|
||||||
|
|
||||||
|
tasks/devicewidget.cpp
|
||||||
|
tasks/devicewidget.h
|
||||||
|
tasks/devicewidget.ui
|
||||||
|
|
||||||
widgets/waitanimationwidget.cpp
|
widgets/waitanimationwidget.cpp
|
||||||
widgets/waitanimationwidget.h
|
widgets/waitanimationwidget.h
|
||||||
widgets/waitanimationwidget.ui
|
widgets/waitanimationwidget.ui
|
||||||
@@ -176,24 +188,24 @@ if(PROJECT_TYPE_DEBUG)
|
|||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${REPO_PATH}/BUILDS/Debug64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
${REPO_PATH}/BUILDS/Debug64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
||||||
${REPO_PATH}/BUILDS/Debug64/ProgramAWSinstructorMPS)
|
${REPO_PATH}/BUILDS/Debug64/ProgramAWSinstructorMTD)
|
||||||
|
|
||||||
add_custom_command(TARGET InstructorsAndTrainees
|
add_custom_command(TARGET InstructorsAndTrainees
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${REPO_PATH}/BUILDS/Debug64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
${REPO_PATH}/BUILDS/Debug64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
||||||
${REPO_PATH}/BUILDS/Debug64/ProgramServerMPS)
|
${REPO_PATH}/BUILDS/Debug64/ProgramServerMTD)
|
||||||
else()
|
else()
|
||||||
add_custom_command(TARGET InstructorsAndTrainees
|
add_custom_command(TARGET InstructorsAndTrainees
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${REPO_PATH}/BUILDS/Release64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
${REPO_PATH}/BUILDS/Release64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
||||||
${REPO_PATH}/BUILDS/Release64/ProgramAWSinstructorMPS)
|
${REPO_PATH}/BUILDS/Release64/ProgramAWSinstructorMTD)
|
||||||
add_custom_command(TARGET InstructorsAndTrainees
|
add_custom_command(TARGET InstructorsAndTrainees
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${REPO_PATH}/BUILDS/Release64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
${REPO_PATH}/BUILDS/Release64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
||||||
${REPO_PATH}/BUILDS/Release64/ProgramServerMPS)
|
${REPO_PATH}/BUILDS/Release64/ProgramServerMTD)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#Только для TSMP!
|
#Только для TSMP!
|
||||||
|
|||||||
@@ -1,618 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE QtCreatorProject>
|
|
||||||
<!-- Written by QtCreator 4.11.1, 2024-12-28T11:57:36. -->
|
|
||||||
<qtcreator>
|
|
||||||
<data>
|
|
||||||
<variable>EnvironmentId</variable>
|
|
||||||
<value type="QByteArray">{00ce76f6-77cf-4587-a216-9a8e243377cb}</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
|
||||||
<value type="int">0</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
|
||||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
|
||||||
<value type="QString" key="language">Cpp</value>
|
|
||||||
<valuemap type="QVariantMap" key="value">
|
|
||||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
|
||||||
<value type="QString" key="language">QmlJS</value>
|
|
||||||
<valuemap type="QVariantMap" key="value">
|
|
||||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
|
||||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
|
||||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
|
|
||||||
<value type="QString">-fno-delayed-template-parsing</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win64_mingw73_kit</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Debug</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/BUILDS/LMS/DB_IaT/Debug64</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Release</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/LMS/DB_IaT/Release64</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=RelWithDebInfo</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/VEYON/SUO/build-InstructorsAndTrainees-Desktop_Qt_5_14_2_MinGW_64_bit-RelWithDebInfo</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск с отладочной информацией</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=MinSizeRel</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/VEYON/SUO/build-InstructorsAndTrainees-Desktop_Qt_5_14_2_MinGW_64_bit-MinSizeRel</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск минимального размера</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">4</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
|
||||||
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
|
||||||
<value type="QString">cpu-cycles</value>
|
|
||||||
</valuelist>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
|
||||||
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
|
||||||
<value type="QString">-e</value>
|
|
||||||
<value type="QString">cpu-cycles</value>
|
|
||||||
<value type="QString">--call-graph</value>
|
|
||||||
<value type="QString">dwarf,4096</value>
|
|
||||||
<value type="QString">-F</value>
|
|
||||||
<value type="QString">250</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
|
||||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
|
||||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
|
||||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
|
||||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
|
||||||
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
|
||||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
|
||||||
<value type="int">0</value>
|
|
||||||
<value type="int">1</value>
|
|
||||||
<value type="int">2</value>
|
|
||||||
<value type="int">3</value>
|
|
||||||
<value type="int">4</value>
|
|
||||||
<value type="int">5</value>
|
|
||||||
<value type="int">6</value>
|
|
||||||
<value type="int">7</value>
|
|
||||||
<value type="int">8</value>
|
|
||||||
<value type="int">9</value>
|
|
||||||
<value type="int">10</value>
|
|
||||||
<value type="int">11</value>
|
|
||||||
<value type="int">12</value>
|
|
||||||
<value type="int">13</value>
|
|
||||||
<value type="int">14</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
|
||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
|
||||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
|
|
||||||
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Target.1</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win32_mingw73_kit</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Debug</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/VEYON/SUO/build-InstructorsAndTrainees-Desktop_Qt_5_14_2_MinGW_32_bit-Debug</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Release</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/VEYON/SUO/Release64</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=RelWithDebInfo</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/VEYON/SUO/build-InstructorsAndTrainees-Desktop_Qt_5_14_2_MinGW_32_bit-RelWithDebInfo</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск с отладочной информацией</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=MinSizeRel</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/VEYON/SUO/build-InstructorsAndTrainees-Desktop_Qt_5_14_2_MinGW_32_bit-MinSizeRel</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск минимального размера</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">4</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
|
||||||
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
|
||||||
<value type="QString">cpu-cycles</value>
|
|
||||||
</valuelist>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
|
||||||
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
|
||||||
<value type="QString">-e</value>
|
|
||||||
<value type="QString">cpu-cycles</value>
|
|
||||||
<value type="QString">--call-graph</value>
|
|
||||||
<value type="QString">dwarf,4096</value>
|
|
||||||
<value type="QString">-F</value>
|
|
||||||
<value type="QString">250</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
|
||||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
|
||||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
|
||||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
|
||||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
|
||||||
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
|
||||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
|
||||||
<value type="int">0</value>
|
|
||||||
<value type="int">1</value>
|
|
||||||
<value type="int">2</value>
|
|
||||||
<value type="int">3</value>
|
|
||||||
<value type="int">4</value>
|
|
||||||
<value type="int">5</value>
|
|
||||||
<value type="int">6</value>
|
|
||||||
<value type="int">7</value>
|
|
||||||
<value type="int">8</value>
|
|
||||||
<value type="int">9</value>
|
|
||||||
<value type="int">10</value>
|
|
||||||
<value type="int">11</value>
|
|
||||||
<value type="int">12</value>
|
|
||||||
<value type="int">13</value>
|
|
||||||
<value type="int">14</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
|
||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
|
||||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
|
|
||||||
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
|
||||||
<value type="int">2</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
|
||||||
<value type="int">22</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>Version</variable>
|
|
||||||
<value type="int">22</value>
|
|
||||||
</data>
|
|
||||||
</qtcreator>
|
|
||||||
@@ -1,390 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE QtCreatorProject>
|
|
||||||
<!-- Written by QtCreator 4.11.1, 2025-01-10T12:59:45. -->
|
|
||||||
<qtcreator>
|
|
||||||
<data>
|
|
||||||
<variable>EnvironmentId</variable>
|
|
||||||
<value type="QByteArray">{15ef2478-2444-4b00-88b8-fead51c6fef5}</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
|
||||||
<value type="int">0</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
|
||||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
|
||||||
<value type="QString" key="language">Cpp</value>
|
|
||||||
<valuemap type="QVariantMap" key="value">
|
|
||||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
|
||||||
<value type="QString" key="language">QmlJS</value>
|
|
||||||
<valuemap type="QVariantMap" key="value">
|
|
||||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
|
||||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
|
||||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
|
|
||||||
<value type="QString">-fno-delayed-template-parsing</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win64_mingw73_kit</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">4</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Debug</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/Projects/RRJServer/RRJServer/BUILDS/DB_IaT/Debug64</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Release</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/Projects/RRJServer/RRJServer/DB_IaT/build-InstructorsAndTrainees-Desktop_Qt_5_14_2_MinGW_64_bit-Release</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=RelWithDebInfo</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/Projects/RRJServer/RRJServer/DB_IaT/build-InstructorsAndTrainees-Desktop_Qt_5_14_2_MinGW_64_bit-RelWithDebInfo</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск с отладочной информацией</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=MinSizeRel</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/Projects/RRJServer/RRJServer/DB_IaT/build-InstructorsAndTrainees-Desktop_Qt_5_14_2_MinGW_64_bit-MinSizeRel</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск минимального размера</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
|
|
||||||
<valuelist type="QVariantList" key="CMake.Configuration">
|
|
||||||
<value type="QString">CMAKE_BUILD_TYPE:STRING=Debug</value>
|
|
||||||
<value type="QString">CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString">CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}</value>
|
|
||||||
<value type="QString">CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}</value>
|
|
||||||
<value type="QString">QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/QT/Projects/RRJServer/RRJServer/BUILDS/DB_IaT/Debug64</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug2</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">5</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
|
||||||
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
|
||||||
<value type="QString">cpu-cycles</value>
|
|
||||||
</valuelist>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
|
||||||
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
|
||||||
<value type="QString">-e</value>
|
|
||||||
<value type="QString">cpu-cycles</value>
|
|
||||||
<value type="QString">--call-graph</value>
|
|
||||||
<value type="QString">dwarf,4096</value>
|
|
||||||
<value type="QString">-F</value>
|
|
||||||
<value type="QString">250</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
|
||||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
|
||||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
|
||||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
|
||||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
|
||||||
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
|
||||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
|
||||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
|
||||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
|
||||||
<value type="int">0</value>
|
|
||||||
<value type="int">1</value>
|
|
||||||
<value type="int">2</value>
|
|
||||||
<value type="int">3</value>
|
|
||||||
<value type="int">4</value>
|
|
||||||
<value type="int">5</value>
|
|
||||||
<value type="int">6</value>
|
|
||||||
<value type="int">7</value>
|
|
||||||
<value type="int">8</value>
|
|
||||||
<value type="int">9</value>
|
|
||||||
<value type="int">10</value>
|
|
||||||
<value type="int">11</value>
|
|
||||||
<value type="int">12</value>
|
|
||||||
<value type="int">13</value>
|
|
||||||
<value type="int">14</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
|
||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
|
||||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
|
|
||||||
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
|
||||||
<value type="int">1</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
|
||||||
<value type="int">22</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>Version</variable>
|
|
||||||
<value type="int">22</value>
|
|
||||||
</data>
|
|
||||||
</qtcreator>
|
|
||||||
@@ -1,319 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE QtCreatorProject>
|
|
||||||
<!-- Written by QtCreator 6.0.2, 2024-05-27T09:37:39. -->
|
|
||||||
<qtcreator>
|
|
||||||
<data>
|
|
||||||
<variable>EnvironmentId</variable>
|
|
||||||
<value type="QByteArray">{88628a15-8b1c-4544-92e6-5683c5f27136}</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
|
||||||
<value type="int">0</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
|
||||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
|
||||||
<value type="QString" key="language">Cpp</value>
|
|
||||||
<valuemap type="QVariantMap" key="value">
|
|
||||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
|
||||||
<value type="QString" key="language">QmlJS</value>
|
|
||||||
<valuemap type="QVariantMap" key="value">
|
|
||||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
|
||||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
|
||||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
|
||||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
|
|
||||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
|
||||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
|
||||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
|
||||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
|
||||||
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
|
||||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
|
||||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
|
||||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
|
||||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
|
||||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
|
||||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
|
||||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
|
||||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
|
||||||
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.BuildSystem</value>
|
|
||||||
<valuemap type="QVariantMap" key="ClangTools">
|
|
||||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
|
||||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
|
||||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
|
||||||
<value type="int" key="ClangTools.ParallelJobs">8</value>
|
|
||||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
|
||||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
|
||||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
|
||||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
|
||||||
</valuemap>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
|
||||||
<valuemap type="QVariantMap">
|
|
||||||
<value type="QString" key="DeviceType">Desktop</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{ec5f7042-f1c7-4b2e-9c22-2340fe1a69bd}</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
|
||||||
<value type="QString" key="CMake.Build.Type">Debug</value>
|
|
||||||
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
|
|
||||||
-DCMAKE_BUILD_TYPE:STRING=Debug
|
|
||||||
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
|
|
||||||
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
|
|
||||||
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
|
|
||||||
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
|
|
||||||
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/andrey/VEYON/SUO/Debug</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
|
||||||
<value type="QString" key="CMake.Build.Type">Release</value>
|
|
||||||
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
|
|
||||||
-DCMAKE_BUILD_TYPE:STRING=Release
|
|
||||||
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
|
|
||||||
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
|
|
||||||
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
|
|
||||||
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
|
|
||||||
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/andrey/VEYON/SUO/build-InstructorsAndTrainees-Desktop-Release</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
|
||||||
<value type="QString" key="CMake.Build.Type">RelWithDebInfo</value>
|
|
||||||
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
|
|
||||||
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
|
|
||||||
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
|
|
||||||
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
|
|
||||||
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
|
|
||||||
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
|
|
||||||
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/andrey/VEYON/SUO/build-InstructorsAndTrainees-Desktop-RelWithDebInfo</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release with Debug Information</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
|
|
||||||
<value type="QString" key="CMake.Build.Type">MinSizeRel</value>
|
|
||||||
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
|
|
||||||
-DCMAKE_BUILD_TYPE:STRING=MinSizeRel
|
|
||||||
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
|
|
||||||
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
|
|
||||||
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
|
|
||||||
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
|
|
||||||
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/andrey/VEYON/SUO/build-InstructorsAndTrainees-Desktop-MinSizeRel</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">all</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
|
||||||
</valuemap>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
|
||||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
|
||||||
<value type="QString">clean</value>
|
|
||||||
</valuelist>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
|
||||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
|
||||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Minimum Size Release</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">4</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
|
||||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
|
||||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
|
||||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
|
||||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
|
||||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
|
||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
|
||||||
</valuemap>
|
|
||||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
|
||||||
</valuemap>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
|
||||||
<value type="int">1</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
|
||||||
<value type="int">22</value>
|
|
||||||
</data>
|
|
||||||
<data>
|
|
||||||
<variable>Version</variable>
|
|
||||||
<value type="int">22</value>
|
|
||||||
</data>
|
|
||||||
</qtcreator>
|
|
||||||
@@ -4,9 +4,6 @@
|
|||||||
<file>resources/icons/addTrainee.png</file>
|
<file>resources/icons/addTrainee.png</file>
|
||||||
<file>resources/icons/admin.png</file>
|
<file>resources/icons/admin.png</file>
|
||||||
<file>resources/icons/archive.png</file>
|
<file>resources/icons/archive.png</file>
|
||||||
<file>resources/icons/branch-closed.png</file>
|
|
||||||
<file>resources/icons/branch-end.png</file>
|
|
||||||
<file>resources/icons/branch-more.png</file>
|
|
||||||
<file>resources/icons/branch-open.png</file>
|
<file>resources/icons/branch-open.png</file>
|
||||||
<file>resources/icons/chekNo.png</file>
|
<file>resources/icons/chekNo.png</file>
|
||||||
<file>resources/icons/chekYes.png</file>
|
<file>resources/icons/chekYes.png</file>
|
||||||
@@ -18,7 +15,6 @@
|
|||||||
<file>resources/icons/deleteGroup.png</file>
|
<file>resources/icons/deleteGroup.png</file>
|
||||||
<file>resources/icons/deleteInstructor.png</file>
|
<file>resources/icons/deleteInstructor.png</file>
|
||||||
<file>resources/icons/deleteTrainee.png</file>
|
<file>resources/icons/deleteTrainee.png</file>
|
||||||
<file>resources/icons/docTasks.png</file>
|
|
||||||
<file>resources/icons/edit.png</file>
|
<file>resources/icons/edit.png</file>
|
||||||
<file>resources/icons/group.png</file>
|
<file>resources/icons/group.png</file>
|
||||||
<file>resources/icons/instructor.png</file>
|
<file>resources/icons/instructor.png</file>
|
||||||
@@ -33,7 +29,6 @@
|
|||||||
<file>resources/icons/trainee.png</file>
|
<file>resources/icons/trainee.png</file>
|
||||||
<file>resources/icons/traineeArchive.png</file>
|
<file>resources/icons/traineeArchive.png</file>
|
||||||
<file>resources/icons/traineeFromArchive.png</file>
|
<file>resources/icons/traineeFromArchive.png</file>
|
||||||
<file>resources/icons/vline.png</file>
|
|
||||||
<file>resources/icons/sign.png</file>
|
<file>resources/icons/sign.png</file>
|
||||||
<file>resources/icons/procedure.png</file>
|
<file>resources/icons/procedure.png</file>
|
||||||
<file>resources/icons/malfunction.png</file>
|
<file>resources/icons/malfunction.png</file>
|
||||||
@@ -47,7 +42,6 @@
|
|||||||
<file>resources/icons/settings.png</file>
|
<file>resources/icons/settings.png</file>
|
||||||
<file>resources/icons/style.png</file>
|
<file>resources/icons/style.png</file>
|
||||||
<file>resources/icons/updateVersion.png</file>
|
<file>resources/icons/updateVersion.png</file>
|
||||||
<file>resources/icons/editorDB.png</file>
|
|
||||||
<file>resources/icons/lms.png</file>
|
<file>resources/icons/lms.png</file>
|
||||||
<file>resources/icons/critical.png</file>
|
<file>resources/icons/critical.png</file>
|
||||||
<file>resources/icons/warning.png</file>
|
<file>resources/icons/warning.png</file>
|
||||||
@@ -55,6 +49,9 @@
|
|||||||
<file>resources/icons/personalCard.png</file>
|
<file>resources/icons/personalCard.png</file>
|
||||||
<file>resources/icons/eye.png</file>
|
<file>resources/icons/eye.png</file>
|
||||||
<file>resources/icons/exchange.png</file>
|
<file>resources/icons/exchange.png</file>
|
||||||
<file>resources/icons/link.png</file>
|
<file>resources/icons/new.png</file>
|
||||||
|
<file>resources/icons/branch-closed.png</file>
|
||||||
|
<file>resources/icons/save.png</file>
|
||||||
|
<file>resources/icons/lock.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|||||||
@@ -26,6 +26,11 @@ CommonView::CommonView(ConnectorToServer* connectorToServer, TypeView type, QWid
|
|||||||
|
|
||||||
treeWidget->setSortingEnabled(false);
|
treeWidget->setSortingEnabled(false);
|
||||||
|
|
||||||
|
treeWidget->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel);
|
||||||
|
treeWidget->verticalScrollBar()->setSingleStep(10);
|
||||||
|
treeWidget->setHorizontalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel);
|
||||||
|
treeWidget->horizontalScrollBar()->setSingleStep(10);
|
||||||
|
|
||||||
waitAnimationWidget = new WaitAnimationWidget;
|
waitAnimationWidget = new WaitAnimationWidget;
|
||||||
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
||||||
waitAnimationWidget->initialize(movie,this);
|
waitAnimationWidget->initialize(movie,this);
|
||||||
@@ -39,7 +44,8 @@ CommonView::~CommonView()
|
|||||||
|
|
||||||
void CommonView::setItemColorArchive(QTreeWidgetItem *item)
|
void CommonView::setItemColorArchive(QTreeWidgetItem *item)
|
||||||
{
|
{
|
||||||
setItemColor(item,QColor(240, 240, 240));
|
//setItemColor(item,QColor(240, 240, 240));
|
||||||
|
//setItemColor(item,QColor(250, 200, 150));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CommonView::setItemColorNoArchive(QTreeWidgetItem *item)
|
void CommonView::setItemColorNoArchive(QTreeWidgetItem *item)
|
||||||
@@ -70,7 +76,7 @@ int CommonView::calculateWidth_0Column()
|
|||||||
widthRightColumns += w;
|
widthRightColumns += w;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
width0Column = widthHeader - widthRightColumns - widthSB;
|
width0Column = widthHeader - widthRightColumns - widthSB - 20;
|
||||||
|
|
||||||
return width0Column;
|
return width0Column;
|
||||||
}
|
}
|
||||||
@@ -81,8 +87,6 @@ void CommonView::setWidthColumnsTree()
|
|||||||
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Name, 100);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Name, 100);
|
||||||
listWidthColumn.append(100);
|
listWidthColumn.append(100);
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Login, 100);
|
|
||||||
listWidthColumn.append(100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Password, 100);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Password, 100);
|
||||||
listWidthColumn.append(100);
|
listWidthColumn.append(100);
|
||||||
|
|
||||||
@@ -97,6 +101,14 @@ void CommonView::setWidthColumnsTree()
|
|||||||
listWidthColumn.append(140);
|
listWidthColumn.append(140);
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Archived, 100);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Archived, 100);
|
||||||
listWidthColumn.append(100);
|
listWidthColumn.append(100);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_AMMtasks, 120);
|
||||||
|
listWidthColumn.append(120);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_FIMtasks, 120);
|
||||||
|
listWidthColumn.append(120);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Login, 120);
|
||||||
|
listWidthColumn.append(120);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Messages, 120);
|
||||||
|
listWidthColumn.append(120);
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 80);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 80);
|
||||||
listWidthColumn.append(80);
|
listWidthColumn.append(80);
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 40);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 40);
|
||||||
@@ -107,7 +119,19 @@ void CommonView::setWidthColumnsTree()
|
|||||||
|
|
||||||
void CommonView::reSetHeadTreeWidget()
|
void CommonView::reSetHeadTreeWidget()
|
||||||
{
|
{
|
||||||
QStringList listHeaders = {tr("Name"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Administrator"), tr("Archived"), tr("Online"), tr("ID")};
|
QStringList listHeaders = { tr("Name"),
|
||||||
|
tr("Password"),
|
||||||
|
tr("Class"),
|
||||||
|
tr("Computer"),
|
||||||
|
tr("IP address"),
|
||||||
|
tr("Administrator"),
|
||||||
|
tr("Archived"),
|
||||||
|
tr("Tasks AMM"),
|
||||||
|
tr("Tasks FIM"),
|
||||||
|
tr("Login"),
|
||||||
|
tr("Messages"),
|
||||||
|
tr("Online"),
|
||||||
|
tr("ID")};
|
||||||
treeWidget->setHeaderLabels(listHeaders);
|
treeWidget->setHeaderLabels(listHeaders);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,6 +166,8 @@ void CommonView::preparationTreeWidget()
|
|||||||
{
|
{
|
||||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, true);
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Messages, true);
|
||||||
}
|
}
|
||||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true);
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true);
|
||||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Password, true);
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Password, true);
|
||||||
@@ -151,6 +177,12 @@ void CommonView::preparationTreeWidget()
|
|||||||
if(TypeUserDB == User::TypeUserDBTrainee)
|
if(TypeUserDB == User::TypeUserDBTrainee)
|
||||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true);
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true);
|
||||||
|
|
||||||
|
if(TypeUserDB != User::TypeUserDBTrainee)
|
||||||
|
{
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_AMMtasks, true);
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_FIMtasks, true);
|
||||||
|
}
|
||||||
|
|
||||||
//treeWidget->setSortingEnabled(true);
|
//treeWidget->setSortingEnabled(true);
|
||||||
treeWidget->sortItems(ColumnsTreeUsers::clmn_Name, Qt::SortOrder::AscendingOrder);
|
treeWidget->sortItems(ColumnsTreeUsers::clmn_Name, Qt::SortOrder::AscendingOrder);
|
||||||
|
|
||||||
|
|||||||
@@ -32,13 +32,16 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
enum ColumnsTreeUsers{
|
enum ColumnsTreeUsers{
|
||||||
clmn_Name = 0,
|
clmn_Name = 0,
|
||||||
clmn_Login,
|
|
||||||
clmn_Password,
|
clmn_Password,
|
||||||
clmn_Class,
|
clmn_Class,
|
||||||
clmn_Computer,
|
clmn_Computer,
|
||||||
clmn_IP_address,
|
clmn_IP_address,
|
||||||
clmn_Administrator,
|
clmn_Administrator,
|
||||||
clmn_Archived,
|
clmn_Archived,
|
||||||
|
clmn_AMMtasks,
|
||||||
|
clmn_FIMtasks,
|
||||||
|
clmn_Login,
|
||||||
|
clmn_Messages,
|
||||||
clmn_Logged,
|
clmn_Logged,
|
||||||
clmn_ID,
|
clmn_ID,
|
||||||
clmn_count
|
clmn_count
|
||||||
@@ -69,6 +72,7 @@ public:
|
|||||||
void clearSelection()
|
void clearSelection()
|
||||||
{
|
{
|
||||||
treeWidget->clearSelection();
|
treeWidget->clearSelection();
|
||||||
|
treeWidget->setCurrentIndex(QModelIndex());
|
||||||
lastCurrentID = 0;
|
lastCurrentID = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +93,7 @@ protected:
|
|||||||
|
|
||||||
void preparationTreeWidget();
|
void preparationTreeWidget();
|
||||||
|
|
||||||
private:
|
protected:
|
||||||
int calculateWidth_0Column();
|
int calculateWidth_0Column();
|
||||||
void setWidthColumnsTree();
|
void setWidthColumnsTree();
|
||||||
|
|
||||||
@@ -111,7 +115,7 @@ protected:
|
|||||||
TypeObject typeObject;
|
TypeObject typeObject;
|
||||||
|
|
||||||
QMutex mtxmapNewMsg;
|
QMutex mtxmapNewMsg;
|
||||||
QMap<int, bool> mapNewMsg;
|
QMap<int, int> mapNewMsg;
|
||||||
|
|
||||||
WaitAnimationWidget *waitAnimationWidget;
|
WaitAnimationWidget *waitAnimationWidget;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -202,6 +202,8 @@ QByteArray DataParser::createQueryToDBMessage(ClientQueryToDB *queryToDB, int id
|
|||||||
xmlWriter.writeAttribute("dmCode", malfunction.dmCode);
|
xmlWriter.writeAttribute("dmCode", malfunction.dmCode);
|
||||||
xmlWriter.writeAttribute("num", malfunction.num);
|
xmlWriter.writeAttribute("num", malfunction.num);
|
||||||
xmlWriter.writeAttribute("description", malfunction.description);
|
xmlWriter.writeAttribute("description", malfunction.description);
|
||||||
|
xmlWriter.writeAttribute("goName", malfunction.goName);
|
||||||
|
xmlWriter.writeAttribute("objName", malfunction.objName);
|
||||||
|
|
||||||
for(MalfunctionSign sign : malfunction.malfunctionSigns)
|
for(MalfunctionSign sign : malfunction.malfunctionSigns)
|
||||||
{
|
{
|
||||||
@@ -292,7 +294,7 @@ QByteArray DataParser::createDeAuthMessage(ClientDeAutorization *deAuth)
|
|||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray DataParser::createQueryBlockAuth(bool block)
|
QByteArray DataParser::createQueryBlockAuth(bool block, QString type)
|
||||||
{
|
{
|
||||||
QByteArray array;
|
QByteArray array;
|
||||||
QXmlStreamWriter xmlWriter(&array);
|
QXmlStreamWriter xmlWriter(&array);
|
||||||
@@ -302,6 +304,7 @@ QByteArray DataParser::createQueryBlockAuth(bool block)
|
|||||||
xmlWriter.writeStartElement("BlockAuth");
|
xmlWriter.writeStartElement("BlockAuth");
|
||||||
|
|
||||||
xmlWriter.writeAttribute("Block", block ? "1" : "0");
|
xmlWriter.writeAttribute("Block", block ? "1" : "0");
|
||||||
|
xmlWriter.writeAttribute("type", type);
|
||||||
|
|
||||||
xmlWriter.writeEndElement();
|
xmlWriter.writeEndElement();
|
||||||
xmlWriter.writeEndElement();
|
xmlWriter.writeEndElement();
|
||||||
@@ -438,11 +441,6 @@ ServerSettings *DataParser::getServerSettings()
|
|||||||
if(name == "Language"){
|
if(name == "Language"){
|
||||||
settings->Language = value;
|
settings->Language = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(name == "AutoStart"){
|
|
||||||
settings->isAutoStart = value.toInt();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public:
|
|||||||
QByteArray createQueryListSubProcMessage(QString dmCode);
|
QByteArray createQueryListSubProcMessage(QString dmCode);
|
||||||
QByteArray createDeAuthMessage(ClientDeAutorization *deAuth);
|
QByteArray createDeAuthMessage(ClientDeAutorization *deAuth);
|
||||||
|
|
||||||
QByteArray createQueryBlockAuth(bool block);
|
QByteArray createQueryBlockAuth(bool block, QString type);
|
||||||
|
|
||||||
void createAuthData(ServerAuthorization *serverAuth);
|
void createAuthData(ServerAuthorization *serverAuth);
|
||||||
void createAuthDataOffline(QString username,QString pass);
|
void createAuthDataOffline(QString username,QString pass);
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ void RecognizeSystem::initialize(DataParser *dataParser/*,MainWindow *mainWindow
|
|||||||
|
|
||||||
void RecognizeSystem::recognize(QTcpSocket *socket)
|
void RecognizeSystem::recognize(QTcpSocket *socket)
|
||||||
{
|
{
|
||||||
qDebug() << "RecognizeThreadId " << QThread::currentThreadId();
|
qDebug() << "RecognizeSystem::recognize thread ID " << QThread::currentThreadId();
|
||||||
|
|
||||||
QDataStream stream(socket);
|
QDataStream stream(socket);
|
||||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||||
@@ -154,7 +154,7 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
quint64 toFile = file.write(tmpBlock);
|
qint64 toFile = file.write(tmpBlock);
|
||||||
emit sigSendDebugLog(Tools::getTime() + "CLIENT: toFile :" + toFile);
|
emit sigSendDebugLog(Tools::getTime() + "CLIENT: toFile :" + toFile);
|
||||||
|
|
||||||
sizeReceiveData += toFile;
|
sizeReceiveData += toFile;
|
||||||
@@ -260,12 +260,12 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
|||||||
|
|
||||||
if(packetType == PacketType::BUSY)
|
if(packetType == PacketType::BUSY)
|
||||||
{
|
{
|
||||||
emit sigAnimationActivated(true);
|
emit signal_ServerBlockState(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(packetType == PacketType::FREE)
|
if(packetType == PacketType::FREE)
|
||||||
{
|
{
|
||||||
emit sigAnimationActivated(false);
|
emit signal_ServerBlockState(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(packetType == PacketType::HASH_READY)
|
if(packetType == PacketType::HASH_READY)
|
||||||
@@ -278,12 +278,8 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
|||||||
emit signal_AnswerDocsChanged();
|
emit signal_AnswerDocsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
//if(packetType == PacketType::TYPE_XMLANSWER_QUERY_LIST_SUB_PROC_AMM)
|
|
||||||
//{
|
|
||||||
|
|
||||||
//}
|
//А)xml-ответы на запросы к БД (или автоматическая рассылка)
|
||||||
|
|
||||||
//А)xml-ответы на запросы к БД
|
|
||||||
//B)перечни Подпроцедур
|
//B)перечни Подпроцедур
|
||||||
switch(packetType)
|
switch(packetType)
|
||||||
{
|
{
|
||||||
@@ -294,6 +290,8 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
|||||||
case TYPE_XMLANSWER_QUERY_DB__LIST_CLASSROOMS:
|
case TYPE_XMLANSWER_QUERY_DB__LIST_CLASSROOMS:
|
||||||
case TYPE_XMLANSWER_QUERY_TASKS_AMM_FOR_TRAINEE:
|
case TYPE_XMLANSWER_QUERY_TASKS_AMM_FOR_TRAINEE:
|
||||||
case TYPE_XMLANSWER_QUERY_TASKS_FIM_FOR_TRAINEE:
|
case TYPE_XMLANSWER_QUERY_TASKS_FIM_FOR_TRAINEE:
|
||||||
|
case TYPE_XMLANSWER_QUERY_TASKS_AMM_OF_ALL_TRAINEES:
|
||||||
|
case TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_ALL_TRAINEES:
|
||||||
case TYPE_XMLANSWER_QUERY_LIST_SUB_PROC_AMM:
|
case TYPE_XMLANSWER_QUERY_LIST_SUB_PROC_AMM:
|
||||||
{
|
{
|
||||||
//ПОЛУЧЕНИЕ РАЗМЕРА ФАЙЛА
|
//ПОЛУЧЕНИЕ РАЗМЕРА ФАЙЛА
|
||||||
@@ -302,15 +300,16 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
|||||||
stream.startTransaction();
|
stream.startTransaction();
|
||||||
stream >> fileSize;
|
stream >> fileSize;
|
||||||
|
|
||||||
if(!stream.commitTransaction()){
|
if(!stream.commitTransaction())
|
||||||
|
{
|
||||||
emit sigSendDebugLog(Tools::getTime() + "CLIENT: fileSize - FAIL commitTransaction");
|
emit sigSendDebugLog(Tools::getTime() + "CLIENT: fileSize - FAIL commitTransaction");
|
||||||
|
|
||||||
if (!socket->waitForReadyRead(TCP_READ_TIMEOUT)) {
|
if (!socket->waitForReadyRead(TCP_READ_TIMEOUT))
|
||||||
|
{
|
||||||
emit sigSendDebugLog(Tools::getTime() + "CLIENT: ERROR! readyRead timeout - fileSize!!!");
|
emit sigSendDebugLog(Tools::getTime() + "CLIENT: ERROR! readyRead timeout - fileSize!!!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
emit sigSendDebugLog("CLIENT: filesize: " + QString::number(fileSize));
|
emit sigSendDebugLog("CLIENT: filesize: " + QString::number(fileSize));
|
||||||
@@ -330,13 +329,16 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
|||||||
stream.startTransaction();
|
stream.startTransaction();
|
||||||
stream >> tmpBlock;
|
stream >> tmpBlock;
|
||||||
|
|
||||||
if(!stream.commitTransaction()){
|
if(!stream.commitTransaction())
|
||||||
|
{
|
||||||
|
|
||||||
if(socket->state() == QAbstractSocket::UnconnectedState){
|
if(socket->state() == QAbstractSocket::UnconnectedState)
|
||||||
|
{
|
||||||
emit sigSocketDisabled();
|
emit sigSocketDisabled();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(socket->waitForReadyRead(TCP_READ_TIMEOUT)){
|
if(socket->waitForReadyRead(TCP_READ_TIMEOUT))
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -347,12 +349,14 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
|||||||
|
|
||||||
emit sigSendDebugLog(Tools::getTime() + "CLIENT: toFile :" + array.size());
|
emit sigSendDebugLog(Tools::getTime() + "CLIENT: toFile :" + array.size());
|
||||||
|
|
||||||
sizeReceiveData += array.size();
|
sizeReceiveData = array.size();
|
||||||
countSend++;
|
countSend++;
|
||||||
|
|
||||||
tmpBlock.clear();
|
tmpBlock.clear();
|
||||||
|
|
||||||
if(sizeReceiveData == fileSize){
|
//if(sizeReceiveData == fileSize)
|
||||||
|
if(sizeReceiveData >= fileSize)
|
||||||
|
{
|
||||||
emit sigSendDebugLog(Tools::getTime() + "FINAL Count send: " + QString::number(countSend));
|
emit sigSendDebugLog(Tools::getTime() + "FINAL Count send: " + QString::number(countSend));
|
||||||
emit sigSendDebugLog(Tools::getTime() + "FINAL Size received: " + QString::number(sizeReceiveData));
|
emit sigSendDebugLog(Tools::getTime() + "FINAL Size received: " + QString::number(sizeReceiveData));
|
||||||
emit sigSendDebugLog(Tools::getTime() + "FINAL File size" + QString::number(fileSize));
|
emit sigSendDebugLog(Tools::getTime() + "FINAL File size" + QString::number(fileSize));
|
||||||
@@ -379,21 +383,6 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
|||||||
}
|
}
|
||||||
|
|
||||||
packetType = PacketType::TYPE_NONE;
|
packetType = PacketType::TYPE_NONE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
QByteArray array;
|
|
||||||
stream.startTransaction();
|
|
||||||
stream >> array;
|
|
||||||
|
|
||||||
if(!stream.commitTransaction())
|
|
||||||
continue;
|
|
||||||
|
|
||||||
xmlParserQueryToDB(packetType, array);
|
|
||||||
|
|
||||||
packetType = PacketType::TYPE_NONE;
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
@@ -592,6 +581,28 @@ void RecognizeSystem::xmlParser(QByteArray array)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(xmlReader.name() == "TryBlock")
|
||||||
|
{
|
||||||
|
bool result = false;
|
||||||
|
QString type = "";
|
||||||
|
|
||||||
|
foreach(const QXmlStreamAttribute &attr, xmlReader.attributes())
|
||||||
|
{
|
||||||
|
QString name = attr.name().toString();
|
||||||
|
QString value = attr.value().toString();
|
||||||
|
|
||||||
|
if (name == "Result"){
|
||||||
|
result = value == "true" ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (name == "Type"){
|
||||||
|
type = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
emit sigTryBlock(result, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(xmlReader.name() == "VersionList")
|
if(xmlReader.name() == "VersionList")
|
||||||
{
|
{
|
||||||
@@ -862,6 +873,8 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
|
|||||||
malfunction.num = malfOrReportNode.toElement().attribute("num");
|
malfunction.num = malfOrReportNode.toElement().attribute("num");
|
||||||
malfunction.dmCode = malfOrReportNode.toElement().attribute("dmCode");
|
malfunction.dmCode = malfOrReportNode.toElement().attribute("dmCode");
|
||||||
malfunction.description = malfOrReportNode.toElement().attribute("description");
|
malfunction.description = malfOrReportNode.toElement().attribute("description");
|
||||||
|
malfunction.goName = malfOrReportNode.toElement().attribute("goName");
|
||||||
|
malfunction.objName = malfOrReportNode.toElement().attribute("objName");
|
||||||
|
|
||||||
for(int s = 0; s < malfOrReportNode.childNodes().count(); s++)
|
for(int s = 0; s < malfOrReportNode.childNodes().count(); s++)
|
||||||
{
|
{
|
||||||
@@ -883,6 +896,7 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
|
|||||||
{//Отчет
|
{//Отчет
|
||||||
FIMReport report;
|
FIMReport report;
|
||||||
report.id = malfOrReportNode.toElement().attribute("report_id").toInt();
|
report.id = malfOrReportNode.toElement().attribute("report_id").toInt();
|
||||||
|
report.mmel = malfOrReportNode.toElement().attribute("mmel") == "true" ? true : false;
|
||||||
|
|
||||||
for(int k = 0; k < malfOrReportNode.childNodes().count(); k++)
|
for(int k = 0; k < malfOrReportNode.childNodes().count(); k++)
|
||||||
{
|
{
|
||||||
@@ -904,6 +918,17 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
|
|||||||
|
|
||||||
report.itemList.append(reportItem);
|
report.itemList.append(reportItem);
|
||||||
}
|
}
|
||||||
|
else if(reportItemNode.nodeName() == "reportWHItem")
|
||||||
|
{
|
||||||
|
FIMReportWarehouseItem reportWhItem;
|
||||||
|
reportWhItem.id = reportItemNode.toElement().attribute("wh_item_id").toInt();
|
||||||
|
reportWhItem.status = reportItemNode.toElement().attribute("status").toInt();
|
||||||
|
reportWhItem.goName = reportItemNode.toElement().attribute("goName");
|
||||||
|
reportWhItem.objName = reportItemNode.toElement().attribute("objName");
|
||||||
|
reportWhItem.code = reportItemNode.toElement().attribute("code");
|
||||||
|
|
||||||
|
report.warehouseItemList.append(reportWhItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task.report = report;
|
task.report = report;
|
||||||
@@ -916,6 +941,164 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
|
|||||||
emit sigAnswerQueryToDB_ListTasksFIMforTrainee(listTasks, trainee_id);
|
emit sigAnswerQueryToDB_ListTasksFIMforTrainee(listTasks, trainee_id);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TYPE_XMLANSWER_QUERY_TASKS_AMM_OF_ALL_TRAINEES:
|
||||||
|
{
|
||||||
|
QMap<int, QList<TaskAmmFim> > mapOfLists;
|
||||||
|
|
||||||
|
QDomNode listsAllNode = commonDOM.namedItem("ListsTasksAMMofAllTrainees");
|
||||||
|
|
||||||
|
for(int i = 0; i < listsAllNode.childNodes().count(); i++)
|
||||||
|
{
|
||||||
|
QDomNode listOneNode = listsAllNode.childNodes().at(i);
|
||||||
|
if(listOneNode.nodeName() == "ListTasksAMM")
|
||||||
|
{
|
||||||
|
QList<TaskAmmFim> listTasks;
|
||||||
|
int trainee_id = 0;
|
||||||
|
trainee_id = listOneNode.toElement().attribute("trainee_id").toInt();
|
||||||
|
|
||||||
|
for(int i = 0; i < listOneNode.childNodes().count(); i++)
|
||||||
|
{
|
||||||
|
QDomNode taskNode = listOneNode.childNodes().at(i);
|
||||||
|
if(taskNode.nodeName() == "taskAMM")
|
||||||
|
{//Задача
|
||||||
|
TaskAmmFim task;
|
||||||
|
task.setID(taskNode.toElement().attribute("task_id").toInt());
|
||||||
|
task.ammProcedure.title = taskNode.toElement().attribute("title");
|
||||||
|
task.ammProcedure.dmCode = taskNode.toElement().attribute("dmCode");
|
||||||
|
task.status = taskNode.toElement().attribute("status");
|
||||||
|
|
||||||
|
for(int j = 0; j < taskNode.childNodes().count(); j++)
|
||||||
|
{
|
||||||
|
QDomNode subProcNode = taskNode.childNodes().at(j);
|
||||||
|
if(subProcNode.nodeName() == "SubProc")
|
||||||
|
{//Подпроцедура
|
||||||
|
SubProc subProc;
|
||||||
|
subProc.setDmCode(subProcNode.toElement().attribute("dmCode"));
|
||||||
|
subProc.setTitle(subProcNode.toElement().attribute("title"));
|
||||||
|
subProc.setModeListStr(subProcNode.toElement().attribute("canplay"));
|
||||||
|
|
||||||
|
task.listSubProc.append(subProc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
listTasks.append(task);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mapOfLists.insert(trainee_id, listTasks);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
emit sigAnswerQueryToDB_ListsTasksAMMofAllTrainees(mapOfLists);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_ALL_TRAINEES:
|
||||||
|
{
|
||||||
|
QMap<int, QList<TaskAmmFim> > mapOfLists;
|
||||||
|
|
||||||
|
QDomNode listsAllNode = commonDOM.namedItem("ListsTasksFIMofAllTrainees");
|
||||||
|
|
||||||
|
for(int i = 0; i < listsAllNode.childNodes().count(); i++)
|
||||||
|
{
|
||||||
|
QDomNode listOneNode = listsAllNode.childNodes().at(i);
|
||||||
|
if(listOneNode.nodeName() == "ListTasksFIM")
|
||||||
|
{
|
||||||
|
QList<TaskAmmFim> listTasks;
|
||||||
|
int trainee_id = 0;
|
||||||
|
trainee_id = listOneNode.toElement().attribute("trainee_id").toInt();
|
||||||
|
|
||||||
|
for(int i = 0; i < listOneNode.childNodes().count(); i++)
|
||||||
|
{//Задачи
|
||||||
|
QDomNode taskNode = listOneNode.childNodes().at(i);
|
||||||
|
if(taskNode.nodeName() == "taskFIM")
|
||||||
|
{
|
||||||
|
TaskAmmFim task;
|
||||||
|
task.setID(taskNode.toElement().attribute("task_id").toInt());
|
||||||
|
task.title = taskNode.toElement().attribute("title");
|
||||||
|
task.status = taskNode.toElement().attribute("status");
|
||||||
|
|
||||||
|
for(int j = 0; j < taskNode.childNodes().count(); j++)
|
||||||
|
{
|
||||||
|
QDomNode malfOrReportNode = taskNode.childNodes().at(j);
|
||||||
|
if(malfOrReportNode.nodeName() == "malfunction")
|
||||||
|
{//Неисправность
|
||||||
|
Malfunction malfunction;
|
||||||
|
malfunction.num = malfOrReportNode.toElement().attribute("num");
|
||||||
|
malfunction.dmCode = malfOrReportNode.toElement().attribute("dmCode");
|
||||||
|
malfunction.description = malfOrReportNode.toElement().attribute("description");
|
||||||
|
malfunction.goName = malfOrReportNode.toElement().attribute("goName");
|
||||||
|
malfunction.objName = malfOrReportNode.toElement().attribute("objName");
|
||||||
|
|
||||||
|
for(int s = 0; s < malfOrReportNode.childNodes().count(); s++)
|
||||||
|
{
|
||||||
|
QDomNode signNode = malfOrReportNode.childNodes().at(s);
|
||||||
|
if(signNode.nodeName() == "malfunctionSign")
|
||||||
|
{
|
||||||
|
MalfunctionSign sign;
|
||||||
|
sign.type = signNode.toElement().attribute("type").toInt();
|
||||||
|
sign.description = signNode.toElement().attribute("description");
|
||||||
|
|
||||||
|
malfunction.malfunctionSigns.append(sign);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task.malfunctionList.append(malfunction);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if(malfOrReportNode.nodeName() == "report")
|
||||||
|
{//Отчет
|
||||||
|
FIMReport report;
|
||||||
|
report.id = malfOrReportNode.toElement().attribute("report_id").toInt();
|
||||||
|
report.mmel = malfOrReportNode.toElement().attribute("mmel") == "true" ? true : false;
|
||||||
|
|
||||||
|
for(int k = 0; k < malfOrReportNode.childNodes().count(); k++)
|
||||||
|
{
|
||||||
|
QDomNode reportItemNode = malfOrReportNode.childNodes().at(k);
|
||||||
|
if(reportItemNode.nodeName() == "reportItem")
|
||||||
|
{
|
||||||
|
FIMReportItem reportItem;
|
||||||
|
reportItem.id = reportItemNode.toElement().attribute("item_id").toInt();
|
||||||
|
reportItem.text = reportItemNode.toElement().attribute("text");
|
||||||
|
|
||||||
|
if(reportItemNode.childNodes().count())
|
||||||
|
{
|
||||||
|
QDomNode procedureIDNode = reportItemNode.childNodes().at(0);
|
||||||
|
reportItem.procedure.doc = procedureIDNode.toElement().attribute("doc");
|
||||||
|
reportItem.procedure.title = procedureIDNode.toElement().attribute("title");
|
||||||
|
reportItem.procedure.dmCode = procedureIDNode.toElement().attribute("dmCode");
|
||||||
|
reportItem.procedure.result = procedureIDNode.toElement().attribute("result");
|
||||||
|
}
|
||||||
|
|
||||||
|
report.itemList.append(reportItem);
|
||||||
|
}
|
||||||
|
else if(reportItemNode.nodeName() == "reportWHItem")
|
||||||
|
{
|
||||||
|
FIMReportWarehouseItem reportWhItem;
|
||||||
|
reportWhItem.id = reportItemNode.toElement().attribute("wh_item_id").toInt();
|
||||||
|
reportWhItem.status = reportItemNode.toElement().attribute("status").toInt();
|
||||||
|
reportWhItem.goName = reportItemNode.toElement().attribute("goName");
|
||||||
|
reportWhItem.objName = reportItemNode.toElement().attribute("objName");
|
||||||
|
reportWhItem.code = reportItemNode.toElement().attribute("code");
|
||||||
|
|
||||||
|
report.warehouseItemList.append(reportWhItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task.report = report;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
listTasks.append(task);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mapOfLists.insert(trainee_id, listTasks);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
emit sigAnswerQueryToDB_ListsTasksFIMofAllTrainees(mapOfLists);
|
||||||
|
}
|
||||||
|
break;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
#include "Datas.h"
|
#include "Datas.h"
|
||||||
#include "tasksAmmFim.h"
|
#include "tasksAmmFim.h"
|
||||||
#include "module.h"
|
#include "module.h"
|
||||||
|
#include "metatypes.h"
|
||||||
|
|
||||||
|
|
||||||
class RecognizeSystem : public QObject
|
class RecognizeSystem : public QObject
|
||||||
@@ -37,6 +38,7 @@ signals:
|
|||||||
void sigErrorAuth(QString error);
|
void sigErrorAuth(QString error);
|
||||||
void sigAuth(ServerAuthorization *serverAuth);
|
void sigAuth(ServerAuthorization *serverAuth);
|
||||||
void sigDeAuth(ServerDeAuthorization *serverDeAuth);
|
void sigDeAuth(ServerDeAuthorization *serverDeAuth);
|
||||||
|
void sigTryBlock(bool result, QString type);
|
||||||
void sigAnswerQueryToDB(QList<Instructor>* listInstructors,
|
void sigAnswerQueryToDB(QList<Instructor>* listInstructors,
|
||||||
QList<Trainee>* listTrainees,
|
QList<Trainee>* listTrainees,
|
||||||
QList<Group>* listGroups);
|
QList<Group>* listGroups);
|
||||||
@@ -52,17 +54,22 @@ signals:
|
|||||||
void sigAnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms);
|
void sigAnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms);
|
||||||
void sigAnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim>listTasks, int trainee_id);
|
void sigAnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim>listTasks, int trainee_id);
|
||||||
void sigAnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim>listTasks, int trainee_id);
|
void sigAnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim>listTasks, int trainee_id);
|
||||||
|
|
||||||
|
void sigAnswerQueryToDB_ListsTasksAMMofAllTrainees(MapListsTasksAllTraineeType mapOfLists);
|
||||||
|
void sigAnswerQueryToDB_ListsTasksFIMofAllTrainees(MapListsTasksAllTraineeType mapOfLists);
|
||||||
|
|
||||||
void sigAnswerQueryTasksXML_FIM(QByteArray array);
|
void sigAnswerQueryTasksXML_FIM(QByteArray array);
|
||||||
void sigAnswerQueryTasksXML_AMM(QByteArray array);
|
void sigAnswerQueryTasksXML_AMM(QByteArray array);
|
||||||
void sigShowServerDataList(QList<StreamingVersionData*> *versions);
|
void sigShowServerDataList(QList<StreamingVersionData*> *versions);
|
||||||
void sigSetVersion(StreamingVersionData* serverVersion);
|
void sigSetVersion(StreamingVersionData* serverVersion);
|
||||||
void sigNotifyVersionControl(QString text);
|
void sigNotifyVersionControl(QString text);
|
||||||
void sigAnimationActivated(bool flag);
|
|
||||||
void sigHashReady();
|
void sigHashReady();
|
||||||
void sigAnswerQuerySubProc(QList<SubProc> listSubProc, QString parentTask_dmCode);
|
void sigAnswerQuerySubProc(QList<SubProc> listSubProc, QString parentTask_dmCode);
|
||||||
|
|
||||||
void signal_AnswerDocsChanged();
|
void signal_AnswerDocsChanged();
|
||||||
|
|
||||||
|
void signal_ServerBlockState(bool state);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QList<QString> *folderList;
|
QList<QString> *folderList;
|
||||||
//MainWindow *mainWindow;
|
//MainWindow *mainWindow;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ void TCPClient::initialize(RecognizeSystem *recognize,SendSystem *sendSystem)
|
|||||||
void TCPClient::setConnect(ServerSettings *serverSettings)
|
void TCPClient::setConnect(ServerSettings *serverSettings)
|
||||||
{
|
{
|
||||||
socket = new QTcpSocket();
|
socket = new QTcpSocket();
|
||||||
qDebug() << "TCPCLient thread: " << QThread::currentThreadId();
|
qDebug() << "TCPCLient::setConnect thread ID " << QThread::currentThreadId();
|
||||||
if (socket != NULL && socket->state() == QTcpSocket::ConnectedState)
|
if (socket != NULL && socket->state() == QTcpSocket::ConnectedState)
|
||||||
{
|
{
|
||||||
emit sigSendDebugLog("already connected");
|
emit sigSendDebugLog("already connected");
|
||||||
|
|||||||
@@ -53,6 +53,9 @@ enum PacketType{
|
|||||||
TYPE_XMLANSWER_QUERY_TASKS_AMM_FOR_TRAINEE = 106,
|
TYPE_XMLANSWER_QUERY_TASKS_AMM_FOR_TRAINEE = 106,
|
||||||
TYPE_XMLANSWER_QUERY_TASKS_FIM_FOR_TRAINEE = 107,
|
TYPE_XMLANSWER_QUERY_TASKS_FIM_FOR_TRAINEE = 107,
|
||||||
|
|
||||||
|
TYPE_XMLANSWER_QUERY_TASKS_AMM_OF_ALL_TRAINEES = 108,
|
||||||
|
TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_ALL_TRAINEES = 109,
|
||||||
|
|
||||||
//xml-ответы на запросы AdditionalFiles
|
//xml-ответы на запросы AdditionalFiles
|
||||||
TYPE_XMLANSWER_QUERY_TASKS_XML_FIM = 130,
|
TYPE_XMLANSWER_QUERY_TASKS_XML_FIM = 130,
|
||||||
TYPE_XMLANSWER_QUERY_TASKS_XML_AMM = 131,
|
TYPE_XMLANSWER_QUERY_TASKS_XML_AMM = 131,
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ public:
|
|||||||
QString Address;
|
QString Address;
|
||||||
QString Port;
|
QString Port;
|
||||||
QString Language;
|
QString Language;
|
||||||
bool isAutoStart;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class ServerAuthorization{
|
class ServerAuthorization{
|
||||||
|
|||||||
@@ -9,21 +9,22 @@ ConnectorToServer::ConnectorToServer(QObject *parent) :
|
|||||||
sendSystem(nullptr),
|
sendSystem(nullptr),
|
||||||
recognizeSystem(nullptr),
|
recognizeSystem(nullptr),
|
||||||
fl_GetedOfflineMessages(false),
|
fl_GetedOfflineMessages(false),
|
||||||
nameInstructorLoggedInLocal("")
|
nameInstructorLoggedInLocal(""),
|
||||||
|
serverBlockState(false)
|
||||||
{
|
{
|
||||||
initialize();
|
initialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
ConnectorToServer::~ConnectorToServer()
|
ConnectorToServer::~ConnectorToServer()
|
||||||
{
|
{
|
||||||
|
connectionThread->quit();
|
||||||
|
connectionThread->wait();
|
||||||
|
delete connectionThread;
|
||||||
|
|
||||||
delete client;
|
delete client;
|
||||||
delete recognizeSystem;
|
delete recognizeSystem;
|
||||||
delete sendSystem;
|
delete sendSystem;
|
||||||
delete dataParser;
|
delete dataParser;
|
||||||
|
|
||||||
connectionThread->quit();
|
|
||||||
connectionThread->wait();
|
|
||||||
delete connectionThread;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerSettings ConnectorToServer::getServerSettings()
|
ServerSettings ConnectorToServer::getServerSettings()
|
||||||
@@ -38,13 +39,17 @@ bool ConnectorToServer::getIsConnected()
|
|||||||
|
|
||||||
void ConnectorToServer::SetConnectToServer()
|
void ConnectorToServer::SetConnectToServer()
|
||||||
{
|
{
|
||||||
qDebug() << "connectorToServer::SetConnectToServer() thread ID " << QThread::currentThreadId();
|
serverBlockState = false;
|
||||||
|
|
||||||
|
qDebug() << "connectorToServer::SetConnectToServer thread ID " << QThread::currentThreadId();
|
||||||
serverSettings = *dataParser->getServerSettings();
|
serverSettings = *dataParser->getServerSettings();
|
||||||
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
|
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConnectorToServer::StopConnectToServer()
|
void ConnectorToServer::StopConnectToServer()
|
||||||
{
|
{
|
||||||
|
serverBlockState = false;
|
||||||
|
|
||||||
emit sigStopConnect();
|
emit sigStopConnect();
|
||||||
clearListModelDB();
|
clearListModelDB();
|
||||||
}
|
}
|
||||||
@@ -117,6 +122,12 @@ void ConnectorToServer::slot_NotifyVersionControl(QString text)
|
|||||||
emit signal_NotifyVersionControl(text);
|
emit signal_NotifyVersionControl(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ConnectorToServer::slot_ServerBlockState(bool state)
|
||||||
|
{
|
||||||
|
serverBlockState = state;
|
||||||
|
emit signal_ServerBlockState(state);
|
||||||
|
}
|
||||||
|
|
||||||
void ConnectorToServer::initialize()
|
void ConnectorToServer::initialize()
|
||||||
{
|
{
|
||||||
createObjects();
|
createObjects();
|
||||||
@@ -139,6 +150,8 @@ void ConnectorToServer::bindConnection()
|
|||||||
connect(recognizeSystem,&RecognizeSystem::sigAuth,this,&ConnectorToServer::slot_Auth);
|
connect(recognizeSystem,&RecognizeSystem::sigAuth,this,&ConnectorToServer::slot_Auth);
|
||||||
connect(recognizeSystem,&RecognizeSystem::sigDeAuth,this,&ConnectorToServer::sigDeLoginResult);
|
connect(recognizeSystem,&RecognizeSystem::sigDeAuth,this,&ConnectorToServer::sigDeLoginResult);
|
||||||
|
|
||||||
|
connect(recognizeSystem,&RecognizeSystem::sigTryBlock,this,&ConnectorToServer::sigTryBlockResult);
|
||||||
|
|
||||||
connect(recognizeSystem,&RecognizeSystem::sigServerBlocked,this,&ConnectorToServer::slot_ServerBlocked);
|
connect(recognizeSystem,&RecognizeSystem::sigServerBlocked,this,&ConnectorToServer::slot_ServerBlocked);
|
||||||
connect(recognizeSystem,&RecognizeSystem::sigErrorAuth,this,&ConnectorToServer::slot_ErrorAuth);
|
connect(recognizeSystem,&RecognizeSystem::sigErrorAuth,this,&ConnectorToServer::slot_ErrorAuth);
|
||||||
|
|
||||||
@@ -154,6 +167,9 @@ void ConnectorToServer::bindConnection()
|
|||||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasksAMMforTrainee,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee);
|
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasksAMMforTrainee,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee);
|
||||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasksFIMforTrainee,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee);
|
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasksFIMforTrainee,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee);
|
||||||
|
|
||||||
|
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListsTasksAMMofAllTrainees,this,&ConnectorToServer::slot_AnswerQueryToDB_ListsTasksAMMofAllTrainees);
|
||||||
|
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListsTasksFIMofAllTrainees,this,&ConnectorToServer::slot_AnswerQueryToDB_ListsTasksFIMofAllTrainees);
|
||||||
|
|
||||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryTasksXML_FIM,this,&ConnectorToServer::slot_AnswerQueryTasksXML_FIM);
|
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryTasksXML_FIM,this,&ConnectorToServer::slot_AnswerQueryTasksXML_FIM);
|
||||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryTasksXML_AMM,this,&ConnectorToServer::slot_AnswerQueryTasksXML_AMM);
|
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryTasksXML_AMM,this,&ConnectorToServer::slot_AnswerQueryTasksXML_AMM);
|
||||||
|
|
||||||
@@ -168,7 +184,8 @@ void ConnectorToServer::bindConnection()
|
|||||||
connect(recognizeSystem,&RecognizeSystem::signal_AnswerDocsChanged,this,&ConnectorToServer::slot_AnswerDocsChanged);
|
connect(recognizeSystem,&RecognizeSystem::signal_AnswerDocsChanged,this,&ConnectorToServer::slot_AnswerDocsChanged);
|
||||||
|
|
||||||
connect(recognizeSystem, &RecognizeSystem::sigSetVersion, this, &ConnectorToServer::signal_SetVersion);
|
connect(recognizeSystem, &RecognizeSystem::sigSetVersion, this, &ConnectorToServer::signal_SetVersion);
|
||||||
connect(recognizeSystem, &RecognizeSystem::sigAnimationActivated, this, &ConnectorToServer::signal_AnimationActivated);
|
|
||||||
|
connect(recognizeSystem,&RecognizeSystem::signal_ServerBlockState,this,&ConnectorToServer::slot_ServerBlockState);
|
||||||
|
|
||||||
connect(this, &ConnectorToServer::signal_SendCopyVersion, sendSystem, &SendSystem::sendCopyVersion);
|
connect(this, &ConnectorToServer::signal_SendCopyVersion, sendSystem, &SendSystem::sendCopyVersion);
|
||||||
connect(this, &ConnectorToServer::signal_SendDeleteVersion, sendSystem, &SendSystem::sendDeleteVersion);
|
connect(this, &ConnectorToServer::signal_SendDeleteVersion, sendSystem, &SendSystem::sendDeleteVersion);
|
||||||
@@ -185,6 +202,7 @@ void ConnectorToServer::createObjects()
|
|||||||
client->moveToThread(connectionThread);
|
client->moveToThread(connectionThread);
|
||||||
|
|
||||||
dataParser = new DataParser;
|
dataParser = new DataParser;
|
||||||
|
dataParser->moveToThread(connectionThread);
|
||||||
|
|
||||||
sendSystem = new SendSystem;
|
sendSystem = new SendSystem;
|
||||||
sendSystem->moveToThread(connectionThread);
|
sendSystem->moveToThread(connectionThread);
|
||||||
@@ -196,6 +214,11 @@ void ConnectorToServer::createObjects()
|
|||||||
connectionThread->setPriority(QThread::HighestPriority);
|
connectionThread->setPriority(QThread::HighestPriority);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ConnectorToServer::getServerBlockState() const
|
||||||
|
{
|
||||||
|
return serverBlockState;
|
||||||
|
}
|
||||||
|
|
||||||
SendSystem *ConnectorToServer::getSendSystem() const
|
SendSystem *ConnectorToServer::getSendSystem() const
|
||||||
{
|
{
|
||||||
return sendSystem;
|
return sendSystem;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
#include "classroom.h"
|
#include "classroom.h"
|
||||||
#include "Datas.h"
|
#include "Datas.h"
|
||||||
#include "streamingversiondata.h"
|
#include "streamingversiondata.h"
|
||||||
|
#include "metatypes.h"
|
||||||
|
|
||||||
class ConnectorToServer : public QObject
|
class ConnectorToServer : public QObject
|
||||||
{
|
{
|
||||||
@@ -47,7 +48,7 @@ public:
|
|||||||
|
|
||||||
bool sendQueryTasksXML(QString type);
|
bool sendQueryTasksXML(QString type);
|
||||||
bool sendQueryListSubProc(QString dmCode);
|
bool sendQueryListSubProc(QString dmCode);
|
||||||
bool sendQueryBlockAuth(bool block);
|
bool sendQueryBlockAuth(bool block, QString type);
|
||||||
|
|
||||||
void sendShowVersionSelect();
|
void sendShowVersionSelect();
|
||||||
bool sendClientNotify(QString command);
|
bool sendClientNotify(QString command);
|
||||||
@@ -82,6 +83,8 @@ public:
|
|||||||
int getIdTraineeByLogin(QString login);
|
int getIdTraineeByLogin(QString login);
|
||||||
int getIdInstructorByLogin(QString login);
|
int getIdInstructorByLogin(QString login);
|
||||||
|
|
||||||
|
bool getServerBlockState() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//Очистка списочной модели БД СУО
|
//Очистка списочной модели БД СУО
|
||||||
void clearListModelDB();
|
void clearListModelDB();
|
||||||
@@ -95,6 +98,10 @@ public slots:
|
|||||||
void slot_AnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms);
|
void slot_AnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms);
|
||||||
void slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id);
|
void slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id);
|
||||||
void slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id);
|
void slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id);
|
||||||
|
|
||||||
|
void slot_AnswerQueryToDB_ListsTasksAMMofAllTrainees(MapListsTasksAllTraineeType mapOfLists);
|
||||||
|
void slot_AnswerQueryToDB_ListsTasksFIMofAllTrainees(MapListsTasksAllTraineeType mapOfLists);
|
||||||
|
|
||||||
void slot_AnswerQueryTasksXML_FIM(QByteArray array);
|
void slot_AnswerQueryTasksXML_FIM(QByteArray array);
|
||||||
void slot_AnswerQueryTasksXML_AMM(QByteArray array);
|
void slot_AnswerQueryTasksXML_AMM(QByteArray array);
|
||||||
void slot_AnswerQuerySubProc(QList<SubProc> listSubProc, QString parentTask_dmCode);
|
void slot_AnswerQuerySubProc(QList<SubProc> listSubProc, QString parentTask_dmCode);
|
||||||
@@ -117,6 +124,8 @@ public slots:
|
|||||||
|
|
||||||
void slot_NotifyVersionControl(QString text);
|
void slot_NotifyVersionControl(QString text);
|
||||||
|
|
||||||
|
void slot_ServerBlockState(bool state);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void sigSetConnect(ServerSettings* serverSettings,QThread *thread);
|
void sigSetConnect(ServerSettings* serverSettings,QThread *thread);
|
||||||
void sigStopConnect();
|
void sigStopConnect();
|
||||||
@@ -126,6 +135,9 @@ signals:
|
|||||||
|
|
||||||
void sigLoginResult(ServerAuthorization * serverAuth);
|
void sigLoginResult(ServerAuthorization * serverAuth);
|
||||||
void sigDeLoginResult(ServerDeAuthorization * serverDeAuth);
|
void sigDeLoginResult(ServerDeAuthorization * serverDeAuth);
|
||||||
|
|
||||||
|
void sigTryBlockResult(bool result, QString type);
|
||||||
|
|
||||||
void sigServerBlocked();
|
void sigServerBlocked();
|
||||||
void sigErrorAuth(QString error);
|
void sigErrorAuth(QString error);
|
||||||
|
|
||||||
@@ -149,7 +161,6 @@ signals:
|
|||||||
void signal_AnswerDocsChanged();
|
void signal_AnswerDocsChanged();
|
||||||
|
|
||||||
void signal_SetVersion(StreamingVersionData* serverVersion);
|
void signal_SetVersion(StreamingVersionData* serverVersion);
|
||||||
void signal_AnimationActivated(bool flag);
|
|
||||||
|
|
||||||
void signal_SendDeleteVersion(StreamingVersionData *streaming);
|
void signal_SendDeleteVersion(StreamingVersionData *streaming);
|
||||||
void signal_SendSwitchVersion(StreamingVersionData *selectVersion);
|
void signal_SendSwitchVersion(StreamingVersionData *selectVersion);
|
||||||
@@ -160,6 +171,8 @@ signals:
|
|||||||
|
|
||||||
void signal_NotifyVersionControl(QString text);
|
void signal_NotifyVersionControl(QString text);
|
||||||
|
|
||||||
|
void signal_ServerBlockState(bool state);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void initialize();
|
void initialize();
|
||||||
void bindConnection();
|
void bindConnection();
|
||||||
@@ -192,6 +205,8 @@ private:
|
|||||||
bool fl_GetedOfflineMessages;
|
bool fl_GetedOfflineMessages;
|
||||||
|
|
||||||
QString nameInstructorLoggedInLocal;
|
QString nameInstructorLoggedInLocal;
|
||||||
|
|
||||||
|
bool serverBlockState;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CONNECTORTOSERVER_H
|
#endif // CONNECTORTOSERVER_H
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ void ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAm
|
|||||||
mtxAccess.unlock();
|
mtxAccess.unlock();
|
||||||
|
|
||||||
emit signal_UpdateTasksAMMforTrainee(trainee_id);
|
emit signal_UpdateTasksAMMforTrainee(trainee_id);
|
||||||
|
emit signal_UpdateDB(false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
|
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
|
||||||
@@ -91,6 +92,47 @@ void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAm
|
|||||||
mtxAccess.unlock();
|
mtxAccess.unlock();
|
||||||
|
|
||||||
emit signal_UpdateTasksFIMforTrainee(trainee_id);
|
emit signal_UpdateTasksFIMforTrainee(trainee_id);
|
||||||
|
emit signal_UpdateDB(false, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConnectorToServer::slot_AnswerQueryToDB_ListsTasksAMMofAllTrainees(MapListsTasksAllTraineeType mapOfLists)
|
||||||
|
{
|
||||||
|
mtxAccess.lock();
|
||||||
|
|
||||||
|
for(int key : mapOfLists.keys())
|
||||||
|
{
|
||||||
|
//Удаляем старые задачи этого обучаемого
|
||||||
|
mapTasksAMM.remove(key);
|
||||||
|
|
||||||
|
//Добавляем новые
|
||||||
|
mapTasksAMM.insert(key, mapOfLists.value(key));
|
||||||
|
|
||||||
|
emit signal_UpdateTasksAMMforTrainee(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
mtxAccess.unlock();
|
||||||
|
|
||||||
|
emit signal_UpdateDB(false, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConnectorToServer::slot_AnswerQueryToDB_ListsTasksFIMofAllTrainees(MapListsTasksAllTraineeType mapOfLists)
|
||||||
|
{
|
||||||
|
mtxAccess.lock();
|
||||||
|
|
||||||
|
for(int key : mapOfLists.keys())
|
||||||
|
{
|
||||||
|
//Удаляем старые задачи этого обучаемого
|
||||||
|
mapTasksFIM.remove(key);
|
||||||
|
|
||||||
|
//Добавляем новые
|
||||||
|
mapTasksFIM.insert(key, mapOfLists.value(key));
|
||||||
|
|
||||||
|
emit signal_UpdateTasksFIMforTrainee(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
mtxAccess.unlock();
|
||||||
|
|
||||||
|
emit signal_UpdateDB(false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConnectorToServer::slot_AnswerQueryTasksXML_FIM(QByteArray array)
|
void ConnectorToServer::slot_AnswerQueryTasksXML_FIM(QByteArray array)
|
||||||
|
|||||||
@@ -95,14 +95,14 @@ bool ConnectorToServer::sendQueryListSubProc(QString dmCode)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ConnectorToServer::sendQueryBlockAuth(bool block)
|
bool ConnectorToServer::sendQueryBlockAuth(bool block, QString type)
|
||||||
{
|
{
|
||||||
if (!client->getIsConnected())
|
if (!client->getIsConnected())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray array = dataParser->createQueryBlockAuth(block);
|
QByteArray array = dataParser->createQueryBlockAuth(block, type);
|
||||||
emit sigSendAnswerToServer(array);
|
emit sigSendAnswerToServer(array);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ DialogRedactorInstructors::DialogRedactorInstructors(ConnectorToServer* connecto
|
|||||||
layout->addWidget(editorInstructors);
|
layout->addWidget(editorInstructors);
|
||||||
this->setWindowTitle(tr("Editor of instructors"));
|
this->setWindowTitle(tr("Editor of instructors"));
|
||||||
this->setMinimumSize(1400, 700);
|
this->setMinimumSize(1400, 700);
|
||||||
|
this->setWindowFlags(windowFlags() & ~Qt::WindowMinimizeButtonHint);
|
||||||
//this->setWindowState(Qt::WindowMaximized);
|
//this->setWindowState(Qt::WindowMaximized);
|
||||||
this->setModal(true);
|
this->setModal(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ void InstructorsView::loadInstructorsFromDB()
|
|||||||
else
|
else
|
||||||
{//Не Залогинен
|
{//Не Залогинен
|
||||||
//ItemInstructor->setText(ColumnsTreeUsers::clmn_Logged, tr("no"));
|
//ItemInstructor->setText(ColumnsTreeUsers::clmn_Logged, tr("no"));
|
||||||
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
//ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
//Скрываем архивных (при необходимости)
|
//Скрываем архивных (при необходимости)
|
||||||
@@ -96,13 +96,19 @@ void InstructorsView::loadInstructorsFromDB()
|
|||||||
if(mapNewMsg.value(instructor.getID()))
|
if(mapNewMsg.value(instructor.getID()))
|
||||||
{
|
{
|
||||||
if(lastCurrentID == instructor.getID())
|
if(lastCurrentID == instructor.getID())
|
||||||
mapNewMsg.take(lastCurrentID);
|
{
|
||||||
|
//mapNewMsg.take(lastCurrentID);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
for (int i = 0; i < ColumnsTreeUsers::clmn_count; i++)
|
for (int i = 0; i < ColumnsTreeUsers::clmn_count; i++)
|
||||||
{
|
{
|
||||||
ItemInstructor->setBackground(i, QBrush(QColor(250, 210, 1)));
|
ItemInstructor->setBackground(i, QBrush(QColor(250, 210, 1)));
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Messages, QIcon(QStringLiteral(":/resources/icons/sendMsg.png")));
|
||||||
|
ItemInstructor->setText(ColumnsTreeUsers::clmn_Messages, QString::number(mapNewMsg.value(instructor.getID())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,11 +6,12 @@
|
|||||||
ViewerInstructors::ViewerInstructors(ConnectorToServer* connectorToServer, QWidget *parent) :
|
ViewerInstructors::ViewerInstructors(ConnectorToServer* connectorToServer, QWidget *parent) :
|
||||||
InstructorsView(connectorToServer, CommonView::TypeView::onlyView, parent),
|
InstructorsView(connectorToServer, CommonView::TypeView::onlyView, parent),
|
||||||
dlgRedactor(nullptr),
|
dlgRedactor(nullptr),
|
||||||
|
flTryEditorInstructors(false),
|
||||||
ui(new Ui::ViewerInstructors)
|
ui(new Ui::ViewerInstructors)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
connect(treeWidget, &QTreeWidget::itemClicked, this, &ViewerInstructors::on_treeWidgetItemClicked);
|
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &ViewerInstructors::on_treeWidgetCurrentItemChanged);
|
||||||
|
|
||||||
ui->horizontalLayout_1->addWidget(treeWidget);
|
ui->horizontalLayout_1->addWidget(treeWidget);
|
||||||
|
|
||||||
@@ -20,6 +21,8 @@ ViewerInstructors::ViewerInstructors(ConnectorToServer* connectorToServer, QWidg
|
|||||||
setNotLoggedInVisible(true);
|
setNotLoggedInVisible(true);
|
||||||
|
|
||||||
ui->btnEditorInstructors->setVisible(false);
|
ui->btnEditorInstructors->setVisible(false);
|
||||||
|
|
||||||
|
connect(connectorToServer, &ConnectorToServer::sigTryBlockResult, this, &ViewerInstructors::slot_checkTryBlockResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
ViewerInstructors::~ViewerInstructors()
|
ViewerInstructors::~ViewerInstructors()
|
||||||
@@ -48,6 +51,8 @@ void ViewerInstructors::deactivate()
|
|||||||
dlgRedactor = nullptr;
|
dlgRedactor = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flTryEditorInstructors = false;
|
||||||
|
|
||||||
CommonView::deactivate();
|
CommonView::deactivate();
|
||||||
updateButtons();
|
updateButtons();
|
||||||
}
|
}
|
||||||
@@ -69,39 +74,51 @@ void ViewerInstructors::slot_receiveMessage(ClientMessage clientMessage)
|
|||||||
int id_instructor = clientMessage.fromId.toInt();
|
int id_instructor = clientMessage.fromId.toInt();
|
||||||
|
|
||||||
mtxmapNewMsg.lock();
|
mtxmapNewMsg.lock();
|
||||||
mapNewMsg.insert(id_instructor, true);
|
mapNewMsg.insert(id_instructor, mapNewMsg.value(id_instructor) + 1);
|
||||||
mtxmapNewMsg.unlock();
|
mtxmapNewMsg.unlock();
|
||||||
|
|
||||||
slot_NeedUpdateUI(true, false);
|
slot_NeedUpdateUI(true, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ViewerInstructors::slot_checkTryBlockResult(bool result, QString type)
|
||||||
|
{
|
||||||
|
if(flTryEditorInstructors)
|
||||||
|
{
|
||||||
|
if(type == "EditorInstructors")
|
||||||
|
{
|
||||||
|
emit signal_needShowWait(false);
|
||||||
|
|
||||||
|
if(result)
|
||||||
|
{//Одобрено
|
||||||
|
dialog_EditorInstructors();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{//Отказ
|
||||||
|
SpecMsgBox::WarningClose(this, tr("The server rejected your request to access instructors control.\nAnother instructor is managing instructors.\nPlease try again later."));
|
||||||
|
}
|
||||||
|
|
||||||
|
flTryEditorInstructors = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ViewerInstructors::on_btnEditorInstructors_clicked()
|
void ViewerInstructors::on_btnEditorInstructors_clicked()
|
||||||
{
|
{
|
||||||
connectorToServer->sendQueryBlockAuth(true);
|
emit signal_needShowWait(true);
|
||||||
|
|
||||||
dlgRedactor = new DialogRedactorInstructors(connectorToServer, adminMode, this);
|
flTryEditorInstructors = true;
|
||||||
dlgRedactor->exec();
|
|
||||||
|
|
||||||
if(dlgRedactor)
|
connectorToServer->sendQueryBlockAuth(true, "EditorInstructors");
|
||||||
{
|
|
||||||
delete dlgRedactor;
|
|
||||||
dlgRedactor = nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(authComplited)
|
void ViewerInstructors::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
|
||||||
loadInstructorsFromDB();
|
|
||||||
|
|
||||||
connectorToServer->sendQueryBlockAuth(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ViewerInstructors::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|
||||||
{
|
{
|
||||||
if(item == nullptr)
|
if(current == nullptr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//if(current->childCount() == 0)
|
//if(current->childCount() == 0)
|
||||||
{//Выбран обучаемый
|
{//Выбран обучаемый
|
||||||
QString login = item->text(ColumnsTreeUsers::clmn_Login);
|
QString login = current->text(ColumnsTreeUsers::clmn_Login);
|
||||||
//if(login != "")
|
//if(login != "")
|
||||||
{
|
{
|
||||||
int newCurrentID = connectorToServer->getIdInstructorByLogin(login);
|
int newCurrentID = connectorToServer->getIdInstructorByLogin(login);
|
||||||
@@ -118,9 +135,11 @@ void ViewerInstructors::on_treeWidgetItemClicked(QTreeWidgetItem *item, int colu
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < ColumnsTreeUsers::clmn_count; i++)
|
for (int i = 0; i < ColumnsTreeUsers::clmn_count; i++)
|
||||||
{
|
{
|
||||||
item->setBackground(i, QBrush(Qt::GlobalColor::white));
|
current->setBackground(i, QBrush(Qt::GlobalColor::white));
|
||||||
}
|
}
|
||||||
mapNewMsg.take(newCurrentID);
|
mapNewMsg.take(newCurrentID);
|
||||||
|
current->setIcon(ColumnsTreeUsers::clmn_Messages, QIcon());
|
||||||
|
current->setText(ColumnsTreeUsers::clmn_Messages, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mtxmapNewMsg.unlock();
|
mtxmapNewMsg.unlock();
|
||||||
@@ -141,3 +160,20 @@ void ViewerInstructors::updateButtons()
|
|||||||
ui->btnEditorInstructors->setEnabled(false);
|
ui->btnEditorInstructors->setEnabled(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ViewerInstructors::dialog_EditorInstructors()
|
||||||
|
{
|
||||||
|
dlgRedactor = new DialogRedactorInstructors(connectorToServer, adminMode, this);
|
||||||
|
dlgRedactor->exec();
|
||||||
|
|
||||||
|
if(dlgRedactor)
|
||||||
|
{
|
||||||
|
delete dlgRedactor;
|
||||||
|
dlgRedactor = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(authComplited)
|
||||||
|
loadInstructorsFromDB();
|
||||||
|
|
||||||
|
connectorToServer->sendQueryBlockAuth(false, "EditorInstructors");
|
||||||
|
}
|
||||||
|
|||||||
@@ -29,21 +29,29 @@ protected:
|
|||||||
public slots:
|
public slots:
|
||||||
void slot_receiveMessage(ClientMessage clientMessage);
|
void slot_receiveMessage(ClientMessage clientMessage);
|
||||||
|
|
||||||
|
void slot_checkTryBlockResult(bool result, QString type);
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void on_btnEditorInstructors_clicked();
|
void on_btnEditorInstructors_clicked();
|
||||||
|
|
||||||
void on_treeWidgetItemClicked(QTreeWidgetItem *item, int column);
|
void on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
//сигнал о выборе инструктора
|
//сигнал о выборе инструктора
|
||||||
void signal_instructorSelected(int id_instructor);
|
void signal_instructorSelected(int id_instructor);
|
||||||
|
|
||||||
|
void signal_needShowWait(bool flNeed);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateButtons() override;
|
void updateButtons() override;
|
||||||
|
|
||||||
|
void dialog_EditorInstructors();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DialogRedactorInstructors* dlgRedactor;
|
DialogRedactorInstructors* dlgRedactor;
|
||||||
|
|
||||||
|
bool flTryEditorInstructors;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::ViewerInstructors *ui;
|
Ui::ViewerInstructors *ui;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,7 +29,10 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
flTryConnectToServer(false),
|
flTryConnectToServer(false),
|
||||||
cntTryConnectToServer(0),
|
cntTryConnectToServer(0),
|
||||||
flTryLogin(false),
|
flTryLogin(false),
|
||||||
|
flTryReceiveFIM(false),
|
||||||
|
flTryReceiveAMM(false),
|
||||||
language(languageENG),
|
language(languageENG),
|
||||||
|
versionStr("..."),
|
||||||
ui(new Ui::InstructorsAndTraineesWidget)
|
ui(new Ui::InstructorsAndTraineesWidget)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
@@ -50,10 +53,16 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
connectorToServer = new ConnectorToServer();
|
connectorToServer = new ConnectorToServer();
|
||||||
connect(connectorToServer, &ConnectorToServer::sigLoginResult, this, &InstructorsAndTraineesWidget::slot_checkLoginResult);
|
connect(connectorToServer, &ConnectorToServer::sigLoginResult, this, &InstructorsAndTraineesWidget::slot_checkLoginResult);
|
||||||
connect(connectorToServer, &ConnectorToServer::sigDeLoginResult, this, &InstructorsAndTraineesWidget::slot_checkDeLoginResult);
|
connect(connectorToServer, &ConnectorToServer::sigDeLoginResult, this, &InstructorsAndTraineesWidget::slot_checkDeLoginResult);
|
||||||
|
|
||||||
connect(connectorToServer, &ConnectorToServer::sigServerBlocked, this, &InstructorsAndTraineesWidget::slot_ServerBlocked);
|
connect(connectorToServer, &ConnectorToServer::sigServerBlocked, this, &InstructorsAndTraineesWidget::slot_ServerBlocked);
|
||||||
connect(connectorToServer, &ConnectorToServer::sigErrorAuth, this, &InstructorsAndTraineesWidget::slot_ErrorAuth);
|
connect(connectorToServer, &ConnectorToServer::sigErrorAuth, this, &InstructorsAndTraineesWidget::slot_ErrorAuth);
|
||||||
connect(connectorToServer, &ConnectorToServer::signal_SetVersion, this, &InstructorsAndTraineesWidget::slot_SetVersion);
|
connect(connectorToServer, &ConnectorToServer::signal_SetVersion, this, &InstructorsAndTraineesWidget::slot_SetVersion);
|
||||||
connect(connectorToServer, &ConnectorToServer::signal_AnswerDocsChanged,this, &InstructorsAndTraineesWidget::slot_AnswerDocsChanged);
|
connect(connectorToServer, &ConnectorToServer::signal_AnswerDocsChanged,this, &InstructorsAndTraineesWidget::slot_AnswerDocsChanged);
|
||||||
|
connect(connectorToServer, &ConnectorToServer::signal_ServerBlockState, this, &InstructorsAndTraineesWidget::slot_ServerBlockState);
|
||||||
|
|
||||||
|
|
||||||
|
connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIM, this, &InstructorsAndTraineesWidget::slot_UpdateTasksFIM);
|
||||||
|
connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMM, this, &InstructorsAndTraineesWidget::slot_UpdateTasksAMM);
|
||||||
|
|
||||||
messangerController = new MessangerController(connectorToServer, this);
|
messangerController = new MessangerController(connectorToServer, this);
|
||||||
|
|
||||||
@@ -65,7 +74,9 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
connect(connectorToServer, &ConnectorToServer::signal_ConnectedToServer, this, &InstructorsAndTraineesWidget::slot_ConnectedToServer);
|
connect(connectorToServer, &ConnectorToServer::signal_ConnectedToServer, this, &InstructorsAndTraineesWidget::slot_ConnectedToServer);
|
||||||
|
|
||||||
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, this, &InstructorsAndTraineesWidget::slot_traineeSelected);
|
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, this, &InstructorsAndTraineesWidget::slot_traineeSelected);
|
||||||
|
connect(viewerTrainees, &ViewerTrainees::signal_needShowWait, this, &InstructorsAndTraineesWidget::slot_needShowWait);
|
||||||
connect(viewerInstructors, &ViewerInstructors::signal_instructorSelected, this, &InstructorsAndTraineesWidget::slot_instructorSelected);
|
connect(viewerInstructors, &ViewerInstructors::signal_instructorSelected, this, &InstructorsAndTraineesWidget::slot_instructorSelected);
|
||||||
|
connect(viewerInstructors, &ViewerInstructors::signal_needShowWait, this, &InstructorsAndTraineesWidget::slot_needShowWait);
|
||||||
|
|
||||||
connect(messangerController, &MessangerController::signal_receiveMessage_fromInstructor, viewerInstructors, &ViewerInstructors::slot_receiveMessage);
|
connect(messangerController, &MessangerController::signal_receiveMessage_fromInstructor, viewerInstructors, &ViewerInstructors::slot_receiveMessage);
|
||||||
connect(messangerController, &MessangerController::signal_receiveMessage_fromTrainee, viewerTrainees, &ViewerTrainees::slot_receiveMessage);
|
connect(messangerController, &MessangerController::signal_receiveMessage_fromTrainee, viewerTrainees, &ViewerTrainees::slot_receiveMessage);
|
||||||
@@ -85,10 +96,10 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
ui->groupBox_Instructors->setMinimumHeight(200);
|
ui->groupBox_Instructors->setMinimumHeight(200);
|
||||||
ui->groupBox_Instructors->setMaximumHeight(300);
|
ui->groupBox_Instructors->setMaximumHeight(300);
|
||||||
|
|
||||||
ui->groupBox_Trainees->setMinimumHeight(400);
|
ui->groupBox_Trainees->setMinimumHeight(500);
|
||||||
|
|
||||||
ui->groupBox_Trainees->setMinimumWidth(600);
|
ui->groupBox_Trainees->setMinimumWidth(1000);
|
||||||
ui->groupBox_Instructors->setMinimumWidth(600);
|
ui->groupBox_Instructors->setMinimumWidth(1000);
|
||||||
|
|
||||||
|
|
||||||
//Доступность кнопок
|
//Доступность кнопок
|
||||||
@@ -156,6 +167,7 @@ void InstructorsAndTraineesWidget::changeEvent(QEvent *event)
|
|||||||
|
|
||||||
updateLabelLoggedInInstructor(instructorLoggedInLocal);
|
updateLabelLoggedInInstructor(instructorLoggedInLocal);
|
||||||
updateLabelServer();
|
updateLabelServer();
|
||||||
|
updateLabelVersion();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,7 +206,7 @@ QString InstructorsAndTraineesWidget::loadStyleSheet()
|
|||||||
|
|
||||||
void InstructorsAndTraineesWidget::slot_LanguageChanged(QString language)
|
void InstructorsAndTraineesWidget::slot_LanguageChanged(QString language)
|
||||||
{
|
{
|
||||||
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTraineesWidget_")) + language, QStringLiteral("."));
|
qtLanguageTranslator.load(QString(QStringLiteral("translations/RRJServer_")) + language, QStringLiteral("."));
|
||||||
qApp->installTranslator(&qtLanguageTranslator);
|
qApp->installTranslator(&qtLanguageTranslator);
|
||||||
|
|
||||||
emit signal_LanguageChanged(language);
|
emit signal_LanguageChanged(language);
|
||||||
@@ -209,6 +221,10 @@ void InstructorsAndTraineesWidget::slot_checkLoginResult(ServerAuthorization *se
|
|||||||
{
|
{
|
||||||
if (serverAuth->Result)
|
if (serverAuth->Result)
|
||||||
{
|
{
|
||||||
|
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
|
||||||
|
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
|
||||||
|
connect(connectorToServer,&ConnectorToServer::signal_reInitMessangerByUsers,messangerController,&MessangerController::slot_reinitMessangers);
|
||||||
|
|
||||||
instructorLoggedInLocal.setLogin(serverAuth->Login);
|
instructorLoggedInLocal.setLogin(serverAuth->Login);
|
||||||
instructorLoggedInLocal.setName(serverAuth->ClientName);
|
instructorLoggedInLocal.setName(serverAuth->ClientName);
|
||||||
instructorLoggedInLocal.setID(serverAuth->Id.toInt());
|
instructorLoggedInLocal.setID(serverAuth->Id.toInt());
|
||||||
@@ -234,13 +250,15 @@ void InstructorsAndTraineesWidget::slot_checkLoginResult(ServerAuthorization *se
|
|||||||
|
|
||||||
messangerController->setUserLocalGUI_ID(serverAuth->Id.toInt());
|
messangerController->setUserLocalGUI_ID(serverAuth->Id.toInt());
|
||||||
|
|
||||||
|
/*
|
||||||
connectorToServer->sendQueryTasksXML("fim");
|
connectorToServer->sendQueryTasksXML("fim");
|
||||||
connectorToServer->sendQueryTasksXML("amm");
|
connectorToServer->sendQueryTasksXML("amm");
|
||||||
|
*/
|
||||||
|
|
||||||
viewerTrainees->activate();
|
viewerTrainees->activate();
|
||||||
viewerInstructors->activate();
|
viewerInstructors->activate();
|
||||||
|
|
||||||
waitAnimationWidget->hideWithStop();
|
//waitAnimationWidget->hideWithStop();
|
||||||
|
|
||||||
flTryLogin = false;
|
flTryLogin = false;
|
||||||
}
|
}
|
||||||
@@ -248,6 +266,8 @@ void InstructorsAndTraineesWidget::slot_checkLoginResult(ServerAuthorization *se
|
|||||||
{
|
{
|
||||||
//waitAnimationWidget->hideWithStop();
|
//waitAnimationWidget->hideWithStop();
|
||||||
//ui->btnAuthorizationInstructor->setChecked(false);
|
//ui->btnAuthorizationInstructor->setChecked(false);
|
||||||
|
flTryReceiveFIM = false;
|
||||||
|
flTryReceiveAMM = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -255,6 +275,10 @@ void InstructorsAndTraineesWidget::slot_checkDeLoginResult(ServerDeAuthorization
|
|||||||
{
|
{
|
||||||
if (serverDeAuth->Result)
|
if (serverDeAuth->Result)
|
||||||
{
|
{
|
||||||
|
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
|
||||||
|
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
|
||||||
|
disconnect(connectorToServer,&ConnectorToServer::signal_reInitMessangerByUsers,messangerController,&MessangerController::slot_reinitMessangers);
|
||||||
|
|
||||||
instructorLoggedInLocal.setLogin(QStringLiteral(""));
|
instructorLoggedInLocal.setLogin(QStringLiteral(""));
|
||||||
instructorLoggedInLocal.setName(QStringLiteral(""));
|
instructorLoggedInLocal.setName(QStringLiteral(""));
|
||||||
instructorLoggedInLocal.setIsAdmin(false);
|
instructorLoggedInLocal.setIsAdmin(false);
|
||||||
@@ -270,10 +294,13 @@ void InstructorsAndTraineesWidget::slot_checkDeLoginResult(ServerDeAuthorization
|
|||||||
ui->btnPersonalCard->setEnabled(false);
|
ui->btnPersonalCard->setEnabled(false);
|
||||||
|
|
||||||
updateLabelLoggedInInstructor(instructorLoggedInLocal);
|
updateLabelLoggedInInstructor(instructorLoggedInLocal);
|
||||||
|
|
||||||
|
waitAnimationWidget->hideWithStop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ui->btnAuthorizationInstructor->setChecked(true);
|
ui->btnAuthorizationInstructor->setChecked(true);
|
||||||
|
waitAnimationWidget->hideWithStop();
|
||||||
SpecMsgBox::CriticalClose(this, tr("Instructor deauthorization") + "\n" + tr("Error!"));
|
SpecMsgBox::CriticalClose(this, tr("Instructor deauthorization") + "\n" + tr("Error!"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -283,10 +310,12 @@ void InstructorsAndTraineesWidget::slot_ServerBlocked()
|
|||||||
if(flTryLogin)
|
if(flTryLogin)
|
||||||
{
|
{
|
||||||
flTryLogin = false;
|
flTryLogin = false;
|
||||||
|
flTryReceiveFIM = false;
|
||||||
|
flTryReceiveAMM = false;
|
||||||
waitAnimationWidget->hideWithStop();
|
waitAnimationWidget->hideWithStop();
|
||||||
|
|
||||||
ui->btnAuthorizationInstructor->setChecked(false);
|
ui->btnAuthorizationInstructor->setChecked(false);
|
||||||
SpecMsgBox::WarningClose(this, tr("Instructor authorization.") + "\n" + tr("Server blocked!"));
|
SpecMsgBox::WarningClose(this, tr("Instructor authorization is temporarily unavailable.") + "\n" + tr("Server blocked!") + "\n" + tr("Try again later."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -295,6 +324,8 @@ void InstructorsAndTraineesWidget::slot_ErrorAuth(QString error)
|
|||||||
if(flTryLogin)
|
if(flTryLogin)
|
||||||
{
|
{
|
||||||
flTryLogin = false;
|
flTryLogin = false;
|
||||||
|
flTryReceiveFIM = false;
|
||||||
|
flTryReceiveAMM = false;
|
||||||
waitAnimationWidget->hideWithStop();
|
waitAnimationWidget->hideWithStop();
|
||||||
|
|
||||||
ui->btnAuthorizationInstructor->setChecked(false);
|
ui->btnAuthorizationInstructor->setChecked(false);
|
||||||
@@ -324,8 +355,8 @@ void InstructorsAndTraineesWidget::slot_ErrorAuth(QString error)
|
|||||||
|
|
||||||
void InstructorsAndTraineesWidget::slot_SetVersion(StreamingVersionData *serverVersion)
|
void InstructorsAndTraineesWidget::slot_SetVersion(StreamingVersionData *serverVersion)
|
||||||
{
|
{
|
||||||
QString viewName = serverVersion->getViewName();
|
versionStr = serverVersion->getViewName();
|
||||||
ui->lblVersionText->setText(viewName);
|
ui->lblVersionText->setText(versionStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
|
void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
|
||||||
@@ -335,8 +366,6 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
|
|||||||
ui->btnConnectionToServer->setEnabled(false);
|
ui->btnConnectionToServer->setEnabled(false);
|
||||||
ui->btnAuthorizationInstructor->setEnabled(true);
|
ui->btnAuthorizationInstructor->setEnabled(true);
|
||||||
|
|
||||||
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
|
||||||
|
|
||||||
updateLabelLoggedInInstructor(instructorLoggedInLocal);
|
updateLabelLoggedInInstructor(instructorLoggedInLocal);
|
||||||
|
|
||||||
flTryConnectToServer = false;
|
flTryConnectToServer = false;
|
||||||
@@ -352,7 +381,6 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
|
|||||||
//ui->btnConnectionToServer->setEnabled(true);
|
//ui->btnConnectionToServer->setEnabled(true);
|
||||||
ui->btnAuthorizationInstructor->setEnabled(false);
|
ui->btnAuthorizationInstructor->setEnabled(false);
|
||||||
ui->btnAuthorizationInstructor->setChecked(false);
|
ui->btnAuthorizationInstructor->setChecked(false);
|
||||||
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGray.png")));
|
|
||||||
|
|
||||||
viewerInstructors->setAuthComplited(false);
|
viewerInstructors->setAuthComplited(false);
|
||||||
viewerTrainees->setAuthComplited(false);
|
viewerTrainees->setAuthComplited(false);
|
||||||
@@ -416,6 +444,7 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
|
|||||||
if(!flTryConnectToServer)
|
if(!flTryConnectToServer)
|
||||||
{
|
{
|
||||||
WidgetTools::closeAllChildWidgets(this, "SpecMsgBox");
|
WidgetTools::closeAllChildWidgets(this, "SpecMsgBox");
|
||||||
|
waitAnimationWidget->hideWithStop();
|
||||||
SpecMsgBox::WarningClose(this, tr("The server is not available!"));
|
SpecMsgBox::WarningClose(this, tr("The server is not available!"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -426,6 +455,8 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
|
|||||||
updateLabelServer();
|
updateLabelServer();
|
||||||
|
|
||||||
flTryLogin = false;
|
flTryLogin = false;
|
||||||
|
flTryReceiveFIM = false;
|
||||||
|
flTryReceiveAMM = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -473,6 +504,39 @@ void InstructorsAndTraineesWidget::slot_TryConnectToServer()
|
|||||||
connectorToServer->SetConnectToServer();
|
connectorToServer->SetConnectToServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InstructorsAndTraineesWidget::slot_ServerBlockState(bool state)
|
||||||
|
{
|
||||||
|
updateLabelServer();
|
||||||
|
}
|
||||||
|
|
||||||
|
void InstructorsAndTraineesWidget::slot_needShowWait(bool flNeed)
|
||||||
|
{
|
||||||
|
if(flNeed)
|
||||||
|
waitAnimationWidget->showWithPlay();
|
||||||
|
else
|
||||||
|
waitAnimationWidget->hideWithStop();
|
||||||
|
}
|
||||||
|
|
||||||
|
void InstructorsAndTraineesWidget::slot_UpdateTasksAMM()
|
||||||
|
{
|
||||||
|
if(flTryReceiveAMM)
|
||||||
|
{
|
||||||
|
flTryReceiveAMM = false;
|
||||||
|
if(!flTryReceiveAMM && !flTryReceiveFIM)
|
||||||
|
waitAnimationWidget->hideWithStop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void InstructorsAndTraineesWidget::slot_UpdateTasksFIM()
|
||||||
|
{
|
||||||
|
if(flTryReceiveFIM)
|
||||||
|
{
|
||||||
|
flTryReceiveFIM = false;
|
||||||
|
if(!flTryReceiveAMM && !flTryReceiveFIM)
|
||||||
|
waitAnimationWidget->hideWithStop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool InstructorsAndTraineesWidget::authorizationInstructorDialog(QWidget* parent)
|
bool InstructorsAndTraineesWidget::authorizationInstructorDialog(QWidget* parent)
|
||||||
{
|
{
|
||||||
dlgAuthorization = new DialogAuthorization(parent);
|
dlgAuthorization = new DialogAuthorization(parent);
|
||||||
@@ -500,6 +564,8 @@ bool InstructorsAndTraineesWidget::authorizationInstructorDialog(QWidget* parent
|
|||||||
waitAnimationWidget->showWithPlay();
|
waitAnimationWidget->showWithPlay();
|
||||||
|
|
||||||
flTryLogin = true;
|
flTryLogin = true;
|
||||||
|
flTryReceiveFIM = true;
|
||||||
|
flTryReceiveAMM = true;
|
||||||
|
|
||||||
connectorToServer->sendAuthorizationInstructorLocal(login, password);
|
connectorToServer->sendAuthorizationInstructorLocal(login, password);
|
||||||
|
|
||||||
@@ -558,9 +624,11 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
|
|||||||
{//Авторизация Инструктора локальная (Администратора)
|
{//Авторизация Инструктора локальная (Администратора)
|
||||||
if(authorizationInstructorDialog(this))
|
if(authorizationInstructorDialog(this))
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
|
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
|
||||||
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
|
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
|
||||||
connect(connectorToServer,&ConnectorToServer::signal_reInitMessangerByUsers,messangerController,&MessangerController::slot_reinitMessangers);
|
connect(connectorToServer,&ConnectorToServer::signal_reInitMessangerByUsers,messangerController,&MessangerController::slot_reinitMessangers);
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui->btnAuthorizationInstructor->setChecked(false);
|
ui->btnAuthorizationInstructor->setChecked(false);
|
||||||
@@ -569,11 +637,15 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
|
|||||||
{//ДеАвторизация Инструктора локальная (Администратора)
|
{//ДеАвторизация Инструктора локальная (Администратора)
|
||||||
if(authorizationIsCompleted())
|
if(authorizationIsCompleted())
|
||||||
{
|
{
|
||||||
|
waitAnimationWidget->showWithPlay();
|
||||||
|
|
||||||
if(deAuthorizationInstructor(instructorLoggedInLocal.getLogin()))
|
if(deAuthorizationInstructor(instructorLoggedInLocal.getLogin()))
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
|
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
|
||||||
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
|
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
|
||||||
disconnect(connectorToServer,&ConnectorToServer::signal_reInitMessangerByUsers,messangerController,&MessangerController::slot_reinitMessangers);
|
disconnect(connectorToServer,&ConnectorToServer::signal_reInitMessangerByUsers,messangerController,&MessangerController::slot_reinitMessangers);
|
||||||
|
*/
|
||||||
|
|
||||||
viewerTrainees->deactivate();
|
viewerTrainees->deactivate();
|
||||||
viewerInstructors->deactivate();
|
viewerInstructors->deactivate();
|
||||||
@@ -620,13 +692,34 @@ void InstructorsAndTraineesWidget::updateLabelServer()
|
|||||||
{
|
{
|
||||||
if(connectorToServer->getIsConnected())
|
if(connectorToServer->getIsConnected())
|
||||||
{
|
{
|
||||||
|
if(connectorToServer->getServerBlockState())
|
||||||
|
{//Заблокирован!
|
||||||
ServerSettings serverSettings = connectorToServer->getServerSettings();
|
ServerSettings serverSettings = connectorToServer->getServerSettings();
|
||||||
ui->lblServer->setText(tr("connected") + " " + serverSettings.Address + " : " +serverSettings.Port);
|
ui->lblServer->setText(tr("connected") + " " + serverSettings.Address + " : " +serverSettings.Port + ", " + tr("blocked"));
|
||||||
|
|
||||||
|
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/lock.png")));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui->lblServer->setText(tr("not connected"));
|
{
|
||||||
|
ServerSettings serverSettings = connectorToServer->getServerSettings();
|
||||||
|
ui->lblServer->setText(tr("connected") + " " + serverSettings.Address + " : " +serverSettings.Port);
|
||||||
|
|
||||||
|
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->lblServer->setText(tr("not connected"));
|
||||||
|
|
||||||
|
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGray.png")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void InstructorsAndTraineesWidget::updateLabelVersion()
|
||||||
|
{
|
||||||
|
ui->lblVersionText->setText(versionStr);
|
||||||
|
}
|
||||||
|
|
||||||
void InstructorsAndTraineesWidget::setLanguageInterfase()
|
void InstructorsAndTraineesWidget::setLanguageInterfase()
|
||||||
{
|
{
|
||||||
@@ -635,12 +728,12 @@ void InstructorsAndTraineesWidget::setLanguageInterfase()
|
|||||||
|
|
||||||
if(settings.Language == "ENG")
|
if(settings.Language == "ENG")
|
||||||
{
|
{
|
||||||
qtLanguageTranslator.load(QString("translations/InstructorsAndTraineesWidget_") + languageENG, ".");
|
qtLanguageTranslator.load(QString("translations/RRJServer_") + languageENG, ".");
|
||||||
language = languageENG;
|
language = languageENG;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
qtLanguageTranslator.load(QString("translations/InstructorsAndTraineesWidget_") + languageRUS, ".");
|
qtLanguageTranslator.load(QString("translations/RRJServer_") + languageRUS, ".");
|
||||||
language = languageRUS;
|
language = languageRUS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -656,6 +749,7 @@ void InstructorsAndTraineesWidget::on_btnSettings_clicked()
|
|||||||
|
|
||||||
connect(dlgSettings, &DialogSettings::signal_LanguageChanged, this, &InstructorsAndTraineesWidget::slot_LanguageChanged);
|
connect(dlgSettings, &DialogSettings::signal_LanguageChanged, this, &InstructorsAndTraineesWidget::slot_LanguageChanged);
|
||||||
connect(dlgSettings, &DialogSettings::signal_UpdateStyleSheet, this, &InstructorsAndTraineesWidget::slot_UpdateStyleSheet);
|
connect(dlgSettings, &DialogSettings::signal_UpdateStyleSheet, this, &InstructorsAndTraineesWidget::slot_UpdateStyleSheet);
|
||||||
|
//connect(dlgSettings, &DialogSettings::signal_needShowWait, this, &InstructorsAndTraineesWidget::slot_needShowWait);
|
||||||
|
|
||||||
switch( dlgSettings->exec() )
|
switch( dlgSettings->exec() )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -68,6 +68,13 @@ public Q_SLOTS:
|
|||||||
|
|
||||||
void slot_TryConnectToServer();
|
void slot_TryConnectToServer();
|
||||||
|
|
||||||
|
void slot_ServerBlockState(bool state);
|
||||||
|
|
||||||
|
void slot_needShowWait(bool flNeed);
|
||||||
|
|
||||||
|
void slot_UpdateTasksAMM();
|
||||||
|
void slot_UpdateTasksFIM();
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
//сигнал смены языка
|
//сигнал смены языка
|
||||||
void signal_LanguageChanged(QString language);
|
void signal_LanguageChanged(QString language);
|
||||||
@@ -89,6 +96,7 @@ private:
|
|||||||
bool authorizationIsCompleted();
|
bool authorizationIsCompleted();
|
||||||
void updateLabelLoggedInInstructor(Instructor& instructor);
|
void updateLabelLoggedInInstructor(Instructor& instructor);
|
||||||
void updateLabelServer();
|
void updateLabelServer();
|
||||||
|
void updateLabelVersion();
|
||||||
void setLanguageInterfase();
|
void setLanguageInterfase();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -113,10 +121,14 @@ private:
|
|||||||
int cntTryConnectToServer;
|
int cntTryConnectToServer;
|
||||||
|
|
||||||
bool flTryLogin;
|
bool flTryLogin;
|
||||||
|
bool flTryReceiveFIM;
|
||||||
|
bool flTryReceiveAMM;
|
||||||
|
|
||||||
QTranslator qtLanguageTranslator;
|
QTranslator qtLanguageTranslator;
|
||||||
QString language;
|
QString language;
|
||||||
|
|
||||||
|
QString versionStr;
|
||||||
|
|
||||||
Ui::InstructorsAndTraineesWidget *ui;
|
Ui::InstructorsAndTraineesWidget *ui;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -108,7 +108,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Trainee editor</string>
|
<string>Editor of trainees</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="InstructorsAndTrainees.qrc">
|
<iconset resource="InstructorsAndTrainees.qrc">
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Instructor editor</string>
|
<string>Editor of instructors</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="InstructorsAndTrainees.qrc">
|
<iconset resource="InstructorsAndTrainees.qrc">
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#include <QAbstractScrollArea>
|
#include <QAbstractScrollArea>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
#include <QScrollBar>
|
||||||
#include "instructor.h"
|
#include "instructor.h"
|
||||||
#include "messangerwidget.h"
|
#include "messangerwidget.h"
|
||||||
#include "ui_messangerwidget.h"
|
#include "ui_messangerwidget.h"
|
||||||
@@ -85,6 +86,8 @@ void MessangerWidget::addTabDialogMessenger(User user)
|
|||||||
|
|
||||||
oneDialogMessenger = new OneDialogMessenger(userLocalGUI, userRemote, this);
|
oneDialogMessenger = new OneDialogMessenger(userLocalGUI, userRemote, this);
|
||||||
|
|
||||||
|
oneDialogMessenger->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel);
|
||||||
|
|
||||||
ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger);
|
ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger);
|
||||||
|
|
||||||
//Обновляем заголовок
|
//Обновляем заголовок
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="pixmap">
|
<property name="pixmap">
|
||||||
<pixmap resource="../../ServerLMS/ServerLMS.qrc">:/resources/icons/circleGray.png</pixmap>
|
<pixmap resource="../InstructorsAndTrainees.qrc">:/resources/icons/circleGray.png</pixmap>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
<string>Send</string>
|
<string>Send</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||||
<normaloff>:/resources/icons/sendMsg.png</normaloff>:/resources/icons/sendMsg.png</iconset>
|
<normaloff>:/resources/icons/sendMsg.png</normaloff>:/resources/icons/sendMsg.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
@@ -149,7 +149,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="../../ServerLMS/ServerLMS.qrc"/>
|
<include location="../InstructorsAndTrainees.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|||||||
@@ -139,6 +139,9 @@
|
|||||||
<property name="readOnly">
|
<property name="readOnly">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::NoTextInteraction</set>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|||||||
@@ -15,6 +15,12 @@ OneDialogMessenger::OneDialogMessenger(User userLocalGUI, User userRemote, QWidg
|
|||||||
|
|
||||||
setWordWrap(true);
|
setWordWrap(true);
|
||||||
setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn);
|
setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn);
|
||||||
|
|
||||||
|
setVerticalScrollMode(ScrollMode::ScrollPerPixel);
|
||||||
|
|
||||||
|
verticalScrollBar()->setSingleStep(10);
|
||||||
|
|
||||||
|
this->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
||||||
}
|
}
|
||||||
|
|
||||||
OneDialogMessenger::~OneDialogMessenger()
|
OneDialogMessenger::~OneDialogMessenger()
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "metatypes.h"
|
#include "metatypes.h"
|
||||||
|
|
||||||
|
|
||||||
void registerMetaType()
|
void registerMetaType()
|
||||||
{
|
{
|
||||||
qRegisterMetaType<QList<Instructor>>("QList<Instructor>");
|
qRegisterMetaType<QList<Instructor>>("QList<Instructor>");
|
||||||
@@ -9,9 +10,9 @@ void registerMetaType()
|
|||||||
qRegisterMetaType<QList<Classroom>>("QList<Classroom>");
|
qRegisterMetaType<QList<Classroom>>("QList<Classroom>");
|
||||||
qRegisterMetaType<QList<Module*>>("QList<Module*>");
|
qRegisterMetaType<QList<Module*>>("QList<Module*>");
|
||||||
qRegisterMetaType<QList<TaskAmmFim>>("QList<TaskAmmFim>");
|
qRegisterMetaType<QList<TaskAmmFim>>("QList<TaskAmmFim>");
|
||||||
|
qRegisterMetaType<MapListsTasksAllTraineeType>("MapListsTasksAllTraineeType");
|
||||||
qRegisterMetaType<PacketType>("PacketType");
|
qRegisterMetaType<PacketType>("PacketType");
|
||||||
qRegisterMetaType<ClientMessage>("ClientMessage");
|
qRegisterMetaType<ClientMessage>("ClientMessage");
|
||||||
qRegisterMetaType<QList<QTreeWidgetItem*>>("QList<QTreeWidgetItem*>");
|
qRegisterMetaType<QList<QTreeWidgetItem*>>("QList<QTreeWidgetItem*>");
|
||||||
|
|
||||||
qRegisterMetaType<QList<SubProc>>("QList<SubProc>");
|
qRegisterMetaType<QList<SubProc>>("QList<SubProc>");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
#include "tools.h"
|
#include "tools.h"
|
||||||
#include "Datas.h"
|
#include "Datas.h"
|
||||||
|
|
||||||
|
typedef QMap<int, QList<TaskAmmFim>> MapListsTasksAllTraineeType;
|
||||||
|
|
||||||
void registerMetaType();
|
void registerMetaType();
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(QList<Instructor>)
|
Q_DECLARE_METATYPE(QList<Instructor>)
|
||||||
@@ -22,10 +24,10 @@ Q_DECLARE_METATYPE(QList<Computer>)
|
|||||||
Q_DECLARE_METATYPE(QList<Classroom>)
|
Q_DECLARE_METATYPE(QList<Classroom>)
|
||||||
Q_DECLARE_METATYPE(QList<Module*>)
|
Q_DECLARE_METATYPE(QList<Module*>)
|
||||||
Q_DECLARE_METATYPE(QList<TaskAmmFim>)
|
Q_DECLARE_METATYPE(QList<TaskAmmFim>)
|
||||||
|
Q_DECLARE_METATYPE(MapListsTasksAllTraineeType)
|
||||||
Q_DECLARE_METATYPE(PacketType)
|
Q_DECLARE_METATYPE(PacketType)
|
||||||
Q_DECLARE_METATYPE(ClientMessage)
|
Q_DECLARE_METATYPE(ClientMessage)
|
||||||
Q_DECLARE_METATYPE(QList<QTreeWidgetItem*>)
|
Q_DECLARE_METATYPE(QList<QTreeWidgetItem*>)
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(QList<SubProc>)
|
Q_DECLARE_METATYPE(QList<SubProc>)
|
||||||
|
|
||||||
#endif // METATYPES_H
|
#endif // METATYPES_H
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 4.5 KiB |
BIN
LibInstructorsAndTrainees/resources/icons/lock.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 28 KiB |
BIN
LibInstructorsAndTrainees/resources/icons/new.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
LibInstructorsAndTrainees/resources/icons/old/Bell/bell.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
LibInstructorsAndTrainees/resources/icons/old/Bell/bell.psd
Normal file
BIN
LibInstructorsAndTrainees/resources/icons/old/Bell/bell24.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |