Commit Graph

33149 Commits

Author SHA1 Message Date
Pieter-Jan Briers 43fd486f82 Adds a hook for changing view size. (#23690)
* Adds a hook for changing view size.

* """"coding standards""""
2017-02-06 01:01:12 +13:00
Kyle Spier-Swenson 572b5dc98e Makes Icon Smoothing faster (#23689)
* Makes Icon Smoothing faster

During world init or large explosions, doing an associated add on this list accounted for a good chunk of the overhead.

I removed the check for if the subsystem existed because subsystems are created before atoms or the map is created.

In another branch of the code, this removed 5 seconds (out of 60) from world+SS init

* Fix edge case.
2017-02-06 00:59:45 +13:00
Cyberboss b86e224571 Makes qdeleted and qdestroying macros (#23666)
* Makes qdeleted and qdestroying macros

* Makes QDELETED and QDESTROYING uppercase

* Swap qdel checks istype's for != null's

* Fix it

* How was this missed?
2017-02-06 00:59:27 +13:00
oranges 42bfeaff42 Merge pull request #23641 from Cyberboss/disappointed
Add a new round end sound
2017-02-06 00:40:11 +13:00
Iamgoofball cc0a982573 Deepfrying : MAKE SPACE STATION 13 GREAT AGAIN (#23618)
* MAKE SPACE STATION 13 GREAT AGAIN

* MAP CHANGES

* '+++++'++;,...,':+##+@@#####@@@@@@@@@@@@@@@@@@@@##+'`..,,,'''''''''''+##++'',```..,:;+#######++++''++++;.....:+++##++''''''''''+'+'''+++++++#+++########################+';;:,,,,,,,::::::'++###########
+'++++'++;;`.,.;'+##########@@@@@@@@@@@@@@@@@@@@@+++;...,,+'''''''''''###+'''.```.,;#+#######+#+++++++:'.,...;:++###++'''''''''+'+''+++#++++#++++########################''';:,,,,,:::::::;'##+#########
++'++'';:.:`,..:;++#@########@@@@@@@@@@@@@@@@@@@@++#'....;''''''''''''+##++'':```.::+###########'+++++::.....;;+++###+''''''''''+'''+++++++++++++#########################+;'',,,,,,::::::::'##+########
+++++++::.,`..,.+++#########@@@@@#@@@@@@@@@@@@@@@@++;:..::'''''''''''''++++'',. .`.#+##+########+##++++,..`..,+++++##'+''''''''''+'+++++++++++#+++##+######################+;'',,,,,::::::::::+#+#######
++''++';:,..`.;'+++##########@@@@@#@@@@@@@@@@@@@@@+';:;,::+''''''+''''''#++'+,:+`::+++##+##########+++++...`.'++++++##:'''''''''''+'''++++++++++++#+#+#######################''',,::,:::::::::;;+#######
++++'+++:...``;+''++##########@@@@#@@#@@@#@@@@@@@@#;:++#::+''''''''''''''#+':,;'+,,+++###+##########+++''`...#+++++++##::;;;'''''''''''+'+++++++++++++###+####################';';,,,::::::::::;::+##+##
+++++'+++`..,`;++'++##########@@@@+#@#@##@@@@@@@@@@:'++'+,+'''''''''''''''++,+'''+,++++##############++'+`.``;++++++++#;::,,``..:'++''+'++++++++++++++##+######################+;;';;;:::::::::;:::;+###
++++++++':.,;:,'+++++##########@@@@'+@+++@@@@@@@@@@#+++'+#''''''''''''''''+++'''''+++++##############+'++:`.:;+++++++++#:::...``.` `,'+'''+++++++++++++##########################;;;;;;:::::::::;;:;;;##
'+++++'++,:'':,+++++++##########@@##+#'+++#@@@@@@@@##++#'''+'''''''''''''''+#''''''++++###############+'+:;:::+++++++++++:,...`.````````:+++++++++++++++##+#######################';;;;;;;:;;::;;;;;;;:'
'++++++'#:'+'+,+++++++############@@++';+++#@@@@@@@@#++++++++'+'''''''''''''+#'''''+'#+###############+':::+;:+'+++++++'+',,...```````.....:'+++++++++++++#########################'';;;;;;;;;;;;;;;;;;;
++++++++;+''++++++++++#############@@;':++#@@@@@@@@@@#+++++++'+''''''''''''''++'''''+'#+##############'+:;+'+:'+++++++++'+:':.``````````.`..,.;++++++++++#++########################';;;;;;;;;;;;;;;;;;;
#+++#+++'+'''+'++++++++############@##'+:##+#@@@@@@@@@#++++'+++''''''''''''''+++'''''++#+#############++;''''+,++++++++++'+:+;.``````````......,:'++++++++#+##########################;;;;;;;;;;;;;;;;;;
+++++++'+'+''+++++++++++##########@@#+#+''++##@@@@@@@@##+++'++''''''''''''''''+#''''++++#+############+'+'''''+++++++++++''+,':,`````````.....,,,,,;+++++++#+##########################';;;;;;;;;;;;;;;;
++#'+#+'++''''+'++++++++##############+#+;+#@@@@@@@@@@@#+++'+'+''''''''''''''''++''''+++####@##########''''''''+++++++++++''+;+:,`````````......,,,::;+++++#++##########################';;;;;;;;;;;;;;;
++#+++#+''+''''++++++++++#+##########@@#@+'@@@@@@@@@@@@##++++++'''''''''''''''''+#''''++##+############'''''''+++++++++++++'';++;.`````````.....,,:,,,,;++++++#+#########################';;;;;;;;;;;;;;
+++#++#++'+''''++++'++++++++########@@@#@@'#@@@@@@@@@@@@#+++'+''''''''+''''''''''++''++####+##########++'+'''+''++++++++++++++'++.,````````.....,,,,,,,.,:++++#++#########################+';;:;:;;;;;;;
+++##++++'''''''''+''+++++++########@@@@#@@+@@@@@@@@@@@@##++++''''';'''+'''''''''+++'+++####+#########++++''''''+++++++++++++++++',,.``````.....,,,.,,,,,:::+++++##########################+';::::::::;;
++++#+'+#+'''''''''+''++':+#+###@##@@@@@@@@#@@@@@@@@@@@@@##+++''''',:;''+'''''''''+++'++####'##########++''''''++++++++++++++++++#.,,.`````......,,,,,..,,::,,+#+#+##########################'':::::::::
+++++#+'+#+''''''+''+'+',,++#+#####@@@@@@@@@#@@@@@@@@@@@@@#+++'''';.`:''+''''''''''++'++##+;;+#########++++'''+++++++'+++++++#++++'.,..`````......,,,,.,,,,,,,,;++#++#########################'';:::::::
++++'##''++'''''''''''':.:';#+######@@@@@@@@@@@@@@@@@@@@@@##+++''', .,,,,'''''''''''+#:::+',::+########+++++''++++++++++++++++++++#.....````......,,,.,,,,,,,,,:::++++#########################'';::::::
+++'''++'+++''''''''+''.,::;+#######@@@@@@@@@@@@@@@@@@@@@@###+++',: ``.,+'''''''''''++#,;:;:;';#########++++'+'++++++++++++++++++++:,....````.........,,,,,,,,,,::,:#++#########################'';,::::
+++'+'+++''++'''''':,;`.,,:,'+#+#####@@@@@@@@@@@@@@@@@@@@@@###+,:.`` ``;'''''''''''''++;;,.;,;;'########+++++''++++++'+++''++++++++#`.....````...,..,,,,,,,,,,,,::,::'#++########################+''';::
;;++'''+#+''+''''+'':....,,::'#######@@@@@@@@@@@@@@@@@@@@@@@##+':`````,+''''''''''''''++:..,',;,#########+++++++#++''+++++''++++++++;.``..`````....,,,,,,,,,,,,,,::,::;'#+#+######################+;'';:
,.:'''''++''''''''+';,.`..,;:+####@@#@@@@@@@@@@@@@@@@@@@@@@@###+,`````'''''''''''''''''#+.,,:'::+#########+++++#+++'+++','+++++++++++`.```.`````...,,,,,,,,,,,,,,,::,:;;:+#+########################;'';
...;'''''++'''''''++',..`..''+####@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++:```.:'''''''''''''+''+;;.,:;'++##########++++++++++++;.,:+''++++++++`.````````....,,,,,,,,,,,,,,::,::;;::##########################';'
...''':''+++'''''''+':.`,,.;#+####@@@@@@@@@@@@@@@@@@@@@@@@@@@##+'+ ``:,'''''''''''''+++';+++,:;#############++++###++';'.`:'''''+++++++..```````....,,,,,,,,,,,,,,:::::;;;;,++########################';
...`,:'+''+++'''''''#::+:,:;#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@++;:.,,,'''''''''''+'+++;'+++':'#############+++####;;+,:..,:++++++++++++:````````...,,,,,,,,,,,,,,::::::;:;;;:#########################+
....`:+''''+++''''''::'++;;;#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@++:,;;,,''''''''''+'+++':+++++':#############++#####;:;`,,...;:+'+''++++++' ``````...,,,,,,,,,,,,,,,:::::;;;:,':+########################
...`:'''''''++'''''+:++++++:########@@@@@@@@@@@@@@@@@@@@@@@@@@@#':;+'',+''''''''''+++'+++++++#'##############+######:,...,:::;'++++'+++++++```````...,.,,,,,,,,,,:::::::::;::,;;'#######################
...`;''''''''++'''''+++++#++#########@@@@@@@@@@@#@@@@@@@@@@@@@@@;:+''''+'''''''''''+++'+++++++#+###################+#:::.```.......,:'++''++``````...,,,,,,,,,,,,:::::::::;::::::'######################
...`+'''''''''++'''''+++++#+###########@@@@@@@@@@+@@@#@@@@@@@@@@#++'+''''''''''''+'++++++'++++##+###############@#+',.`` `.````````....,'+++' `````..,,,,,,,,,,,,::::::::::;::,;:;;#####################
...:'''''''''''+'''''+++++##+############@@@@@##@###++#@@@@@@@@@@+++'+''''''''''''+'+'''+++'+++#################;.`  ``````````````````.`.;++;`..```,,,,,,,,,,,,,:::::::::::::::;;';+###################
`.::+'''''''''''''''''+++++#+############@@@@@##@@##+++@@@@@@@@@@#+++''''''''''''''+'+'''+'+++++++###########+. ` `````````````````````````.'+,`..``,,,,,,,,,,,:,,:::::::::::::,;:;;;+##################
++::''''''''''''''''''+++++++############@@@@@@###@++'++@@@@@@@@@@+++'''''''''''''''+''''''''++++##########+.  `  `.`````````````````````````:+``.``.,,,,:,,,,,:::,::::::::::::::;;;;;+#################
''+';''''''''''''''''''++++++############@@#@@@#####++###@@@@@@@@@#++'''''''''''''''''''''''''++++#######'.   `  ``.````````` ```  `````.```` `'...`.,,,,::,,,,::::::::::::::::;:;;;;;;'################
'''''''''''''''''''''''++++++############@@@@@@#####++####@@@@@@@@##+''''''''''''''''''''''''''++++####' `` ``  ````` ` ```````````````````.,:.``,,..,:,,,::,,,::::::::::::::::;::;;;;';'###############
'''''''''''''''''''''''+++++++###########@@@#@@@##########@@@@@@@@@#+'''''''''''''''''+'''''''''++++##:     `  ```` `` ``````````````````````.,,:`.:..,,,,:::,,,:::::::::::::::;;:;;;;;;''##############
''''''''''''''''''''''''++++++############@@##@@####@@+##@#@@@@@@@@#+'''''''''''''''''''''''''''+++++`  ` ``  ````   ````.```````````````...````````,,,:,,,::,,,:::::::::::::::;;;;;;;';';'#############
''''''''''''''''''''''''+++++++#######+####@######@@@@###@@@@@@@@@@@#''''''''''''''''''''''''''+'+++  `` ``  ` ```   ```.```` ```````` ```..``````````::::,::,,,::::::,,:::::;::;;;;;;;;''''############
'''''''''''''''''''''''''++++++#######++#########@#@@@@##@@@@@@@@@@@#+'''''''';`;'''''''''''''''+''  `` ``   `   ` ``````         ```````` ````````````,;:,,:,,,::::::,,,::::;;;;;;;;;;;'';;'###########
''''''''''''''''''''''''++++++++###++;'+#######@#@#@@@@@+@@@@@@@@@@@@+''''''';``:'''''''''''''''''```` `` ``  `  ` ```            ````````````.``````````;:,,:,,,:::::,,,:::::;;;;;;;;;;;''';'##########
''''''''''''''''''''''''''''+++++###;':'+####@##@@@@@@@@@@@@@@@@@@@@@#''''''':``:;':'''''''''''';````     `   ```                ````````````..,`.`````.``;:,::,,:::::,,,:::::;;;;;;;;;;;;;'';;#########
''''''''''''+:''''''''''''''++++'';,;;','########@@@@@@@@@@@@@@@@@@@@@+''''+',```.,;'''''''''''; `   `   `   ``                `` ````` ````..``,,.`````.``::,:,:::::,,,,:::::;;;;;;;;;;;;;;''''########
'''''''''''+,`;''''''''''''++'++#;',,:;':++#####@@@@@@@@@@@@@@@@@@@@@@#''':,``.`` ,'''''''''''' `` ``   `   `       `` ``        ```````..```,``.``.````````:::::::::,,,,,::::;;;;;;;;;;;;;;'''''#######
''''''''''':`.:';,''''''''''''+++'::,:'':'+######@@@@@@@@@@@@@@@@@@@@@@+''+.```.``+'''''''''''` ` ``   `   `           `      ```` ``````..``..````````````.`.;::::::,,,,,::::;;;;;;;;;;';;;''''';######
''''''''''':...`::''''''''''''''++':,,;'':+######@@@@@@@@@@@@@@@@@@@@@@@'''+`````''''''''''''' ``` `  `               ``         `    ```.,,,`....```````````.,;;:;::,,,:::::::;;;;;;;;;;;;;;''''';#####
''''+'''''``...`,'''''''''''''''+#;,:::;';#######@@@@@@@@@@@@@@@@@@@@@@@#''''` ``''''''''''''`````` ```                          `` `````..`,:,..````````````.`;;;:;,,,,,::::::;;;;;;;;;;;';;;;'';';####
'''''''+,,```..`+''''''''''''''+++'':::;'++#######@@@@@@@@@@@@@@@@@@@@@@@''''```,''''''''''';`````` `` `                            ````````.:;.````````````...`;+:::,,,::::::::;;;;;;;;;;;;;;;;;;'';###
'''++'+''`````.;'''''''''''''''+++'#'+;:'+#####@@#@@@@@@@@@@@@@@@@@@@@@@##''',` :'''''''''''```` ,`` ``` `          `   `     ` `````````````.::,`````````````,.`'++:;:,:::::;::;;;;;;;';';;;;;;;;''';##
+'+''++'+:`````''''''''''''''''++'####+'+#########@@@@@@@@@@@@@@@@@@@@@@@@+'+,:,,:''''''''',```````` `.``          ``    ```  ````..,,...`````....`````````.```.``++#':;;;:;;::,:;;;;;;;;;;;;;;'';'';';#
'++''+'''+ .``:'''''''''''''''''++#####''########@@@@@@@@@@@@@@@@@@@@@@@@@#'',:+.,'''''''''```.`. ``` ``  `          `..  `  ``..:;:.....:......`....```.`````.....++++';;:;;:::;;;;;;;;;;;;;;;;';;';'';
'+''++''''; `:,'''''''''''''''''+#######;##########@@@@@@@@@@@@@@@@@@@@@@@@';,+'+.'''''''':`.`.`. ````.   `        ``.`  `````.::,'':`.`.`,.......`,.`.`...`.`.`..`:++++#';;::;:;;;;;;;;;;;;;;;;;;;;;'''
+''++++'',,,+,:'''''''''''''''''###################@@@@@@@@@@@@@@@@@@@@@@@@#,'''''''''''''`... `.`````.``       ```````   ```,';;:`:+.,,```.,,,,...`......```.....``'++++##;;::;:;;;;;;;;;;;;;;;;'';;'''
++'+++'+',,+'+,''''''''''''''''+####################@@@@@@@@@@@@@@@@@@@@@@@@''''''''''''''`..``````````````     ` `````````:'+++'';:,:`,,.,..,,.,,..`....`..:,..`````++++#+#+;';;;;;;;;;;;;;;;;;;';';;''
''''+++'+,+'''+''''''''''''''''+####################@@@@@@@@@#@@@@@@@@@@@@##+'''''''''''';.,```. ``````` `     `  ```` ``.:###+#++';;;:,..,..,:,,,,.`.,,,....````````.++++++##+;;;;;;;;;;;;'';';;'';;;;'
''+''+++,+'''''''''''''''''''''+####################@@@@@@@@@@+@@#@@@@@@@@@#@'''''''''''',,.``.``````````` `   `````` `.::#++'++++'';;;;;,,,,,::::,....``......````.``'+++++####';;;;;;;;;;''';'';;;;;;;
''''''++++''''''''''''''''''''+++####################@@@@@@@@@#+###@@@@@@@@#@+''''''''''',..`,,.`.`.```````` ````.````,.'#++'+'##++';':;;;;;'';'''::,,...,:,...........+++########;;;;;;;;;';';;';;;;;;;
'''''''++'''''''''''''''''''''++#####################@@@@@@@@@@#++#@@@@@@@@@@@''''''''''':,`.::,..`:```.```````.```...:##++'''''#+''';;:'''':;:;:::::...,.,,,...`.....`'+##########;;;;;;;;';';;';;;;;;;
''''''''++''''''''''''''''''''++#####################@@@@@@#@@@#++#@@@@@@@@@#@+'''''''''',,.,,::,``;`...`````.....`,,;+#+'##+';;##+;;::;;:;:::,,,,,.....,,,,,`..```.``.`+###########+;;;;;;';;';;';;;;;;
'+'''''''''''''''''''''''''''''+######################@@@@@@#@@#++##@@@@@@@@@##'''''''''',::...,:.```.,`````.,,.::;'+##+++#`@';'##+::;'',,:,,.:,,,,::,,,,..,.....```.``.:#############'';;;;;'''';'';';;
+''''''''''''''''''''''''''''''+######################@@@@@@#########@@@@@@@@#@''''''''''::`````,,` ``....`.::;;;;'++##+++###+';+#+:::;;.:.::,,`,.;:.,..`.:,,....``.`.```+###########+#+';;';''''';';;';
++''''''''''''''''''''';''''''++#######################@@@@@@##@@####@@@@@@@@@@'''''''';;` `````.``` `.:`..:;''';'''###''+###;;;+#':,,'.,.,,,,.,.,,`:.,,,,.....,.```...`.;###############';;;'';'''';;;'
##+''''''''''''''''''''`,'''+'++#######################@@@@@@@#@@@+###@@@@@@@@@+''''''''.`` `````.```..:,:,;''';;'''###'''###;;;##::,::`,,:.,,,.,..,,,,...`.`.....````````################+;;''';'''';;;
#++'''''''''''''''''';`..;;,,'++##################+'####@@@@@@@@@@@+#@#@@@@@@@@#'''''''..````` ```.`...:;,;;';';;;;;+##+'';';;;;#+:::'.`,::,:...,.:.,...........```````.``:################+;''''''';';;
++++''''''''''''''''+,`.` :,+''++###########+####+:;:####@@@@@@@@@@##@@@@@@@@@@@+''';'.`````     ````.,::;;;;;';;;;;;+##''''';;+#;:,:;`.,.::,,,.,,..,..,........````.``..``#################+;''''''';;'
'++++'''''''''''''';.``..`.''''++############;;'+'.;;'####@@@@@@@@@@#@@@@@@@@@@@@''''.````      ``.`..,:::::;;';;:;;;;'##::;;:'#;:,,'.::.,..,,,,,.,,.,,,......`,,..`````,``'#################+;'''''';''
+''+++'''''''''''',:`````.:''''++###########++;;;:,,;++###@@@@@@@@@@@@@@@@@@@@@@@+'';`````    ````,.`..;::,:;;;;;::::'';##',;++;:,:;:,...,,,,,,,.,,,,,,,,,,...,,.`.```.`,.`,##################';'''''';'
++''+++'''''''''''',`````,+''''+++##########++';,:::,''+###@@@@@@@@@@@@@@@@@@@@@@#''.``````````.......`,:,,,::::::,::;';;'###+;;:,,:.`..,.,,.,..,:,...,......`.,,..````....`###################';'''''';
''++'+++''''''''''';.``` +''''''++##########+++;,,:,.''+#@#@@@@@@@@@@@@@@@@@@@@@@@';.`````````..```,...,:,,,:::,,::,,,''';;;;;;:;;:``..,,,,,.,,:,.,...,,,.....,.`..``````.:.'###################';''';''
++''''+++''''''''''+````,'''''''+++#########++++,.,::;''##@@@@@@@@@@@@@@@@@@@@@@@@+...````` `,,..``.....,,,,::,,::,:,.,;''';:,,;;:..:,:,..,,,,,..:,,,,,,.......,....``````:.:####################'''''''
++'++''+++'''''''''+:` :,'''''''+++#########+++;;.::;:+###@@@@@@@@@@@@@@@@@@@@@@@#:```` ````,..,..```,...,.,.,.,,,,....:;;;'+'';,....`,.:,.,,,..:,,.,,:,....`..,,....``````,.#####################''';;'
''''''''++''''''''';::#,:;'''''''+++#######++++;'+.;;:+###@@@@@@@@@@@@@@@@@@@@@@#;``  `````.``.:,,...,`.,.....`..,..`.,,,:,.``..`.,,,,,,,,,:..,;,,.,::,,......,,,:,.`.`````..+#####################'''''
'+'+'''''++'''''''+,,+'+,,'''''''+++#######+#+';'+#:;;####@@@@@@@@@@@@@@@@@@@@@@+```` ``..,;:,.,:,,....`......````.`.``.,..``...,,,,,,,,,,,,.,:,..,::::,....,....`...```````.'#####################+;';'
''''''''''++'''''';:+'''+:'''''''+++#########+''+#+#:'###@@@@@@@@@@@@@@@@@@@@@@#..``   ...###';,.,,...,.....``.`````.`....,.,..,..,...,,,:,,,,,..,,:::,,,,:,......,,`````````:######################+;''
+'''''''''''+'''''''+'''''''''''+++++########+++++#+#;###@@@@@@@@@@@@@@@@@@@@@@;.``    `..++##+;..,...`,.......`````.`.`..,.,.,..:,.,:,,:,,:,,,,,::::;:,,,,:,,,,,.`..````````.#######################+;'
'+'+''''''''''''''''''''''''''''+++++#######+++#++++##+##@@@@@@@@@@@@@@@@@@@@@#.```     ...,'+++.......`,...`.````.`...,,..,,,.,,..,..,,:,,,,,,.,,:;;;:,,........,,...```` ``.########################+;
'''''''''''''''''''''''''''''''''+'++##+##+++++#+++#+####@@@@@@@@@@@@@@@@@@@@@;.``````````   ..;:...```.````.`.`````.,..,.,,,,::,,,.,,,..,.,.,,,::::::,,,..,,,........````````;########################+
'+''''''''''''''''''''''''''''''''''+++++#++++'+#+++#####@@@@@@@@@@@@@@@@@@@@#.````````` ``  `  ,.....`.....``````...`...,:,:,,.,.,,,..,,,:,,:,,,,,::,,,..,,,,,..,...``` `````.#########################
''+''''''''''''''''''''''''+++++++++#++#++++++'+++'+######@@@@@@@@@@@@@@@@@@@;.`````````` `` `  `.,.``.``..`````.`...,.,.,::;;'';:::,:::::,,...,,,,,,..,,,,,,......,...````````#########################
+''''''''''''''''''+++';:.```.````..,,.:::;'+++++#++++#####@@@@@@@@@@@@@@@@@@.``````````  `.`   ``.`.``..``....,,,,.,::,,;;;;:,`.;:,,,:,,.,,,,,,,,,,,,,,,:,,,..........``````.`;########################
'''''''''''++++';:,.````.....``......,,,,.:,.,,...,,;'+#####@@@@@@@@@@@@@@@@+.`````````````.,,.`...``.``.....`,.,:,;,:,::,,.`````.,:,,...,,,:,,,,,,::,,,:,,,,,,,....```````````.########################
'''''''+++;.```.......```..`````.`...,,,..,,,,,..,.,,,,:;##@@@@@@@@@@@@@@+@@:.```````````````.,..,......,:::,::,,,,.` . `.`....,,``..`..,`,.,,,,,,,,,,,,,,:,,,,,.....``.`.````.`########################
'+#+;;,......`.``..```````.``````....,,.,..:,..,.,...,,,,:;#@@#@@@@@@@@@@###..``````````..``  `.`...`.,:,,...```````.,.,..,,:;;:``.``````..,.,:,,,,,,,,....,,,,,,,....````. ````'#######################
,.``,...,``..````..```````.```````....,,,...,........,,.,::;;@@@@@@@@@@@@@#'.``````````....`````....`....`` `..``.:'+++++++##;.``,.````...,,,,,,,,,,,,.,,,,,,,,,..,,.````.`,```.,#######################
.....,...`````````````````...````.....,,,...,,...`...,,,,:;:;:#@#@@@@@@@@@#:..````````....``````....``````..```,;+''''++++'.  ``,,```....,,...,,,,,,,,,,,,,.,,,,..``..`,.``.`````#######################
...`.....`````````.````````..`````...,,,,,..,,........,,,,:;;;;#@@@@@@@@@@@,.`````.``....``..`..`.`.```.````.:'++++++++':` ````,,``````,,,..,,,,,,,..,,:,:::,,,..,.``....````````#######################
``........`````````````````..`````...,,,,,,..,,........,,,:::;;;@@@@@@@@@@#,.`````.`.........````` ```````,;+++++###;. ``` ``.::``....,........,,,,,,,,,:,:::,,....,.`..`.`...```'######################
``......`.`````````````````...`````..,,,,,,..,,........,,,,:;;;;;@@@@@@@@@'..````............`.`````..``,'++#++++#'```   ``.,;:..`....`...,,,,,,,,,,,,,,,,,,....`...`.`.`..` ````:######################
```.......``````````````````..`````..,,,,,,,..,,.......,,,,::;;;;;@@@@@@@@:..```............`..```.,.`.;+####++#+.  ` ``..,;;:..`.......,.,,,,,,,,,,,:,,,,,,..,......``.`` ```````######################
```......```````````````````..`````...,,,,,,..,,........,,,::;;;;;'@@@@@@@:...````.`..........``.....,+#######+:   ```.,:;;:,...,.....,,,,:,,,,,..,,,,,:,,,,:,`.......````.`````` ;#####################
````......```````````````````..`````..,,,,,,...,........,,,::;;;;;;;#@@@@#,...``......,...`..``.,,.:'########:` ```,:::;;,,,..,,,,,,,,,,,:,::,,:::,:,,,,,:,,,::.....`````````.`````#####################
````......```````````````````..`````..,,,,,,,..,.........,,:::;;;;;;;+@@##,...```...,........`,:,:;+##++''+;`  ``.:;;::,,,,..`....,,.,::,::::::::::,,:,,:::,,,.,,.,..````` ` ` ```,+####################
``````.....```````````.``````...````..,,,,,,,............,,,::;;;;;;;;;@@+,........,,,,,,....,::;+#++'''':`  ```,';::,,:,,..,,,,,::,,:,,,::,:::;:::::,:::::::,,.,,,.,``````  ` ````.+###################
`````......```````````````````..`````..,,,,,,..`..`......,,,::;;;;;;;;;;+#,.......,,,,.,,,..,::+#+++''';`  ```.;:::,..,.....,,,,,,,::,,,:,,:::::::::,:,:::::::...,.,....`````     ``:###################
``````.....````````````.``````..`````..,,,,,,,............,,::;;;;;;;;;;;;,.......,,,,,,,,.,,:+++'''';.   ` `:;;::,,,.`...,..,,,,,,,,.,,,,,,,,,::::,:,,:,::,,::,....,,.``````.    ``.###################
``````......``````````.```````...`````..,,,,,,............,,:::;;;;;;;;;;;,,......,,,,,,,,,,,++'';;;,`````.,;;;:,:,,,......,,,,,,,,,.,,,,,,,,,,,,:::,,,,,.,,...,:,.```...`````.`   ``;##################
```````.....``````````.```````...`````..,,,,,,..`..........,:::;;;;;;;;;;;,,......,,.,.,,,,,'+';;;:`  ```,;;:;:;,,,,,...,.,,,,,,,,,.,,,,::,:,:,.,,,:::.,,...,...,,..` ```.,``` `. `` `+#################
`.`````......``````````.```````...`````..,,..,,............,:::;;;;;;;;;;;:,,,...,,,.,,,:::;+';;;.` ``..,;;::,:,:,::::,:,,,.,..,....,,,,,,:,,:,..:,,:,:......,,...,`..  ``.,```` ` ```:#################
...`````.....``````````..``````...`````..,,,.,,..`.........,,::;;;;;;;;;;;,,,,...,,:,,,:::;++'':````...:;::::,,:::;;;;::,..........,.,,,,,..,,,,,,,,,,.,......,,,....`..`````` `  ```` +################
..```````.....``````````..`````...`````...,,..,,...........,,::;;;;;;;;;;;:,,..,,,,::,,::;++'+:`.....,:;:,:;:,;:;;;;:...,..........,,,,,.....,,,,.:..,,.....,..,,.,.```..````       ```,+@##############
...``````.....``````.```..```.`...``````..,,..,,.``.........,:::;;;;;;;;;;:,,,..,,:,,,,:+++:,,`..,..,:;::::::::;;,...`.........`.,..,,...`.`..,,,..,..:.........,.,,..``.,` ``   `  ``` ++@#############
,,.``````.....```````.``...`````...`````...,,.,..``.........,,:;;;;;;;;;;;:,,,,,,,::,:'#++:,.`......,:::;::;:;:,..`...............,,,.....````...,,,,.,:,....,,....,,,,.`...`        `` ;+##############
,,..``````.....``````..```..````...`````...,,.....`.........,,;;;;;;;;;;;;:,,,,,,:;:;+##+;,......,,,:;;;;:;;,,...```.````````...,,,....`````````....,,,,:.....,`.....,,,,.`...        .`.''#############
,...``````.....``````..```..`````..`````....,,.,,.``........,,:;;;;;;;;;;;::,,,,,;::+#++',.....,,,,:;;;;;::::,:....`````````........`.`.`.`.........,,,.,,.`...,...``....,.`.``       `:`'++@###########
....```````....```````..`...`````...````....,,..,..`.........::;;;;;;;;;;;::,,,,,;:'#++',`....,,,:::;';;:,.`.,,:,,.````````..`.......`..`..```..``...,.,.,.`..,...`.``..``..``         ;;''++###########
....``````.....```````.....````......```...,.,...,..`.......,:::;;;;;;;;;;::,,,,::;+#++;`....,:,::;;;;:::,`.```.``.........`.......`..............``...,...`.``....```````````  `      `+'''+###########
.....``````.....```````...``.........``....,,,:,..,.......,.,,;:;;;;;;;;;;::,,,,::++'++,....,,,:;';;:;:::.,.````````........```.....`..........`..``.`.....`...`,..,..` ` `````       ` '++''+#@########
.....`````......``````....`..........,..`........,,,..,.,,,,,,:;:;;;;;;;;;;:,,,,::#+'+;.,..,,,:;;;;;:::,,..,,...```` `......`...```................``````````...`,...,``` ```           .'++''++@#######
..``..````.......`.``....,.``....,:;;;'''+'+'+++++'';::,,.,,,:;;;;;;;;;;;;;:,,,,:;#'+#:,..,,,:;;,`:::,::,:,,,,,....```````.......````...........`...```````````.......:..`   `         ` ''++''+'#######
......````.,..,..`````.,:;'+++'''''''''''''''+++++++'+'+'+++++';;:;;;;;;;;;:,,,,:'+'+'.,.,,,;;;.``.::::::,,,,,,,,.........`..`..`.``````.........`...``````.```..,.,`.,:.``              `''++''+'+@####
........`...``.,:;'+++'''''''''''''+''''''''''++++++++'++'+'+++##+';;;;;;;;::,,,:'++#;,,,,:;;;.````.::,,:,:,,,,,,,.......,..........````.......`.`..`..`````````..,,....,,`.`         ``  ;'+++'++''####
....,.`.,'+++++'''''''''''''''''+''+'''''''''++++++++++++++++++++##+;;;;;;;;:,,,:''++.,,,::;;:,`````,,,,::,:,,,,,,,,..,.,...`.....`````...`.......``.``.````..`...`,.``...,```     `    ` `''++''+'''#@#
...,;'++'''''''''''''''''''''''''+''+'''''''''++++++++++++++++++#####';;;;;;:,,,:''+,,:,::;;;:,`````:.,:,::::,:,,,,,.,,,``..........``````.``.......```..`..,.```..`..```````           `` ;''+++'+''''#
++++''''''''''+''''''''''''''''''+''++'''''''''++++++++++++++++++######;;;;;::,,:'+'::,::;;;;;..````,,`,::,::::,:,,,,.,,,.............```..`...`...``.``..``,..```.``.`.``               ` `''+++'''''''
+++'''''+'''''++''''''''''''''''''''++'''''''''++++++++++++++++++#######';;;::,,;'+:::::;;;;;;`.````.:``.:::,::::,,,,,.,,,,..............```..`...`...```,..`,,,```..`` .`               ```'''+++''''''
++''''''''''++'++''''''''''''''''''''+'''''''''++++++++++++++++++########+;;;,,,:;;;:::;;;;;;;,..````.```,,::,,::::.:,,,,,,,......,.......``.....,.``..``.,.`.,,,..`..    ``             `` ,'''+++'''''
++++'''''+''+++'+'''''''''''''''''+++''''''''''++++++++++++++++++##########;;:,,;;;:;;;;;;;;;;;`..````````,,,,,,,::,.,,,,,,,............,.`.``....,.`..```,:`...,.,``.`    ```           ````''''+++''''
++++''''''+'+++''+''''''''''''''''++'+''''''''''+++++++++++++++++##########+;;,,;;::;;;;;;;;;;;```````````...,,,,,::,,,,,:,,,..............`...,...,``..``.,,..,,,,.```.     ``` `     ``````''''+++''''
++++''''''++'+++'++'''''''''''''''+++'+'''''''''++++++++++++++++++##########+;:::;;;;;;;;;;;;;;`````..```````,,,,,,,,,,,..,,.,,....,...........,,...,``..``.,...,:,,.` `.       ``      ``````''''+++'''
++++''''''+++++++'+'++'+'''''''''''+++''''''''''++++++++++++++++++###########';,;;;;;;;;;;;;;;;:````...```.``..,.,,,,,,,...,,,,.....,,..........,,,.,.`...```:,..,,,,,`  `        ``    `````.;'''++++''
+++++'''''''++++++'+'++++''''''''''+++'''''''''''+++++++++++++++++############;;;;;;;;;;;;;;;;;;````....``..``.,.,,,,,,,....,,,,.,.,.,.......`..,,,,.,.```.`,.,...,,,,..                 `` `.,''''+++''
+#++++'''''''+++++'+++++++''''''''''+++'''''''''+++++++++++++++++++###########;;';;;;;;;;;;;;;;;````.....``.``,,..,,,,,,,,..,,,,,.,........`.``.,,,,....``..`.,,.,....,..                `` ``,''''+++''
##++++'''''''++++++++++++++'''''''''++++''''''''++++++++++++++++++++##########+;;';;;;;;;;;;;;;;```.......````,,..,,,,,,,,,..,:,,,.,..........`..,,,.,,...`...,.,`.,...``.                ```..,'+''+++'
##++++''''''+'++++++++'''++''''''''''+++''''''''+++++++++++++++++#++###########;;;;;;;;;;;;;;;;;:```.......``.,,..,,,,.,,,,,.,::,,,,.....,....``..,..,.,..`..`.,..```..`` ``              ```.,`:;'++++'
###+++''''''+++++++++++''++'''''''''''++''''''''++++++++++++++++++#+###########';;;;;;;;;;;;;;;;; ```.......`:,,,.,.,,,,,,,.:,,,:,....,........`..,.,,.,.,``....,`..``.``` ` `            ` .`:;,:;''++'
###+++'''''''+'++++++++'+'+'''''''''''+++'''''''++++++++++++++++++##############;;;;;;;;;;;;;;;;;.``.........;:,,,,,,,,.,,,:,,,,,,,....,.....`..`.,..,,,,,,.`.``.`  .``,`````              ` ..:;;:;++++
####+++'''''''+++++++++++''''''''''''''+++''''''++++++++++++++++++##############+;;;;;;;;;;;;;;;;,``.`......,;:,,,,,,,..,,,,,,,.,,,...,.......`.`.,`,,,,,...`..``.  `.  .``````            ```.:::::;'++
####+++'''''''+++++++++++'''''''''''''''++''''''++++++++++++++++++###############;;;;;;;;;;;;;;;;.```.`..,..,::,,,,,.,,,,,,,,,,,...,.................,:,.,.,......`   `  `` ````           ```..';::;;'+
####+++''''''+'+++++++''+'''''''''''''''+++'''''++++++++++++++++++################';;;;;;;;;;;;;;`.```.......::,.,,,,,,,.,,,,,,,,.,,,`.,.,.........,.,,:,,,.,.`..`,`         `` `    `       ``.`,:::;;'
#####++''''''+'+++++++'''''''''''''''''''++''''''+++++++++++++++++##################+';;;;;;;;;;;,..``....,..:,,.,,,,.,,,,:,,,,,.,..,.`.,,.,........,.,:::.,,.``....`        `````           ```.,:::;;;
#####+++''''''+'++++++'+''''''''''''''''''++'''''++++++++++++++++++##################@+;;;;;;;;;;;....`,...,.:.,,,,,,.,.,,,,,.,,.......`......,....,.,,,,:,,,..``..,.          ```            ``,,,:::;;
#####++''''''''+++++++++''''''''''''''''''++'''''++++++++++++++++++#####################+;;;;;;;;;,`...,,.,,,;`,,,,,..,.,,,,,,,.........`........,.,...:,,:,,,..`.,..``        ````           ```:,:::;;
######++'''''''++++'++++'''''''''''''''''''++'''++++++++++++++++++++############################+#'''';,,.,.::.,,,.,,.,,.,,,,,.,.......`........,..,,..,,,:,.,...`,:..``           ``        ```..:::::;
######++''''''''++'+++++'''''''''''''''''''++'''++++++++++++++++++++############################+#''+''++++';,`.,,,,,.,.,.,,,,,.,......``....,``....,`.,,,.,,.:,.``.:..`.`                     .`,,:::::
######++''''''''''++++++''''''''''''''''''''+''+++++++++++++++++++++#############################+''+'+++++''++:,,,,,.,,..,:..,.:.......``....`.....,.`..,,.,..,.``..,``.``             ` `  ``.,::,::::
#######+'''''+''''++++++'''''''''''''''''+'''++++++++++++++++++++++++#############################'''++++++''++:,,,,,.,...,:..:,.,..``..``...`.....,.,`.`....,..,` ...,..```              ``````,,::::::
#######+'+''+''''+++++++''''''''''''''''''+''++++++++++++++++++++++++#############################++'++++++'+++:,,,,,.....,:.....,..``..``.....`...,.,..`.....,,`. `.`.,.``              `    ``..:,::::
#######+++''+'''++++++++'''''''''''''''''+'''++'++++++++++++++++++++++############################+++'+++++++++:,,.,,,,....,,..,....``.`.`...........,.````....,.`` ``..,.```                  `:;:,,,::
########+++++++'+++++++++''''''''''''''''''''''+'+++++++++++++++++++#+#############################++++++++++++:,:.,,.,...,.:.,,....`....`....`.......,`````....,`.``` .`.` ``               ````;':,,::
#######+++++++++++++++++'''''''''''''''''''++++++++++++++++++++++++++++############################++++++++++++:,:.,,,,...,`:.......``...``.....`.....,``````````. ` `` ` ````            `   ````;,,,,:
;'#####++++++'++++++++++'''''''''''''''+++''::,,..,,,,::;''++++++++++#+############################+'++++++++++:,:.,,.,...,.,.......``..```..`.,...`..,.````````. ``   `   ````      `         ```:,,,,:
;';'+##++++'''++++++++'+'''''''''''+';:.````.`..,,..,.,,,,,,.,::;;++++++###########################++++++++++++:,:,,,.,,....,.......```...`..``,.`......`` ` ```````         ``   `` `        `````:,,,,
;;;'';;;'++++++++++++++++''';;:::,``````````````.......,.,,.,.,,,,,:,;'+###########################++++++++++++,,:.,,.......,.`.....```..``..`..`.....,., ``` `..```           `   `   `   ``  ````,,,,,
;;;;'';;;;:::;:,::,:,:,.,...,..`.```````````````........,...,,.:,,.,:,:,:;+#########################+++++++++++,,:,,,..,............````.```.`,......`.,``` `````````               `   `  ``` ```..,,,,
;;;;;'';;;::;:,:;,,:,,.........`````````````````....`...,,,..,..:,..,::::::,'#######################+++++++++++,,:.,,,.....`,.`......```````..,........,`, ```````````              ```  `````````..,,,,
;;;;;;;';::::,,:.,,,..........``````````````````.........,,...,.,,,.,:,:,:,::::######################++++++++++,,::,........,.`......````.`..........``.,. ````````````            `` ```````..```.:.,;;
;;;;;;';':;:,,,.,,,....```...``````````````````..........,,,..,,.,,..,,:,,:,:;:;'####################++++++++++,,:,,...,........,`..`````.``.........``..`.` ```````````            ``````````.``..;''''
;;;;;;;;;;:,,,,..,.....``....``````````````````......`...,,,...,.,,,.,::,,::::;:;;+##################++++++++++,,:,,...,....,.......``.``.`...`.`.......... ` `````````````         `` ```.````.`:':'+''
:;;;;;;;;;;,::.,......```...```````````````````.....,.....,,,..,.,,,..,:::,::::;:;:'##################+++++++++,,:,,,.,,.,..,...,`..````..```..,..,......`..``````````````````   `  ```````.`.`.,.'+++'+
::;;;;;;;;;::,,,,.....```....``````````````````......,..,.,,,..,,.,,,.,:::,,:::;;;;;'#################+++++++++,,,,,,.,,...,,.,.,....`.``.`.....``.....`.`.:```````````````````````````.`....`.,:.,+++'+
::;;;;;;;;;;,,,,...,..`.`.`..````````.`````````......,...,.,,,..,,,,,..,:::,::::;:;;;'#################++++++++,,,,,,..,..,,,......,...`..`.....```......``:`````````````````````````..,.......,'::'+'#+
:::;;;;;;;;;:,,,.......`.``..````````.`````````.......,....,,,..,,,,:,,,:::,,::::;;;;;'################+++++++':,,,,,..,..,,,...,..,.`.`..``....`........`.`;``.```````.`````````````..,,....,,,:+''+#++
:::;;;;;;;;;;,,,,.......``.```````.````````````......,,.....,,,..,,,,:..::::,::::;;;;;;+################++++++;:,,,,,..,..,,,,,...,,....`.``......`.....,..`;```,``````..```````````...,:....,:;'+++##++
::::;;;;;;;;;,,,,.......```````` ``````````````.......,....,,,,..,,,,:,,,::::::::;;;;;;;################++++++;;,,,,,.,,,,,,,,,...,,,..`..,`.....``.....,,.`.:```,``````...`````````...;::,,,.,++##+#+++
::::;;;;;;;;;:,,,......``````.`````````````````......,.,....,,,..,,,,::.,::::::::;;;;;;;;################+++++;;,,,,,.,,,.::,,,,..,,.,.``.,......`.`....,,..`,.`.`.`.````..`````````....;':,,,.,++++++++
:::::;;;;;;;;:,,,,.....`````````````.`````````.......,.,......,,..,,,,:,,,:::::::;;;;;;;;'################+++':;,,:::,,,,,:,,,,,,.,:,,..`.,..,....,`....,,:,..,``.,``..````````.````...,:';;:,:::;++++++
:::::;;;;;;;;::,,,.....`````.```````.``````.`........,,.......,,..,,,,::.,:::::::;;;;;;;;;+###############+++':;:::,:,,,,,:,:,,,,.,;:,,.`.,.,.....`.....,,:,..,`..`:.....`...``........,:+#';:;;;;++++++
::::::;;;;;;:;::,,.....```````````````````............,.,.....,,,..,,,,:,,,::::::;;;;;;;;;;################+'':;:::::,:,,,:::::,,,:::,,.`,,.,..,...:`...,,,:,...`...,.,................,;'+;:::;;'++++++
::::::;;;;;;;;:::,......```.````````..```.............,,......,,,..,,,,::,,:::::::;;;;;;;;;'###############+'':;::;::,:,:,::;::,,,::;,,..,,,,,.,,...``.,,,,,,.``.,.,.,,,,.`............,,;:;::;;''++++++
::::::::;;;;;;:::,,......`.`````````...``.............,,.......,,,..,,,,:,,:::::::;;;;;;;;;;###############+'':;::;;:::,:,,;'::,,::::,,,.:..,,,.,,..:`..,,,,,..`.,.;....,..............,:,:;;'''''++++++
:::::::;;;;;;;::::........``````````...`...........,...,,......,,,,.,:,.::,,:::::::;;;;;;;;;'###############'':;::;;::::,,::+;;,,;:;:,,,,:.,,,,.,,,.:`..,,,,,,...,.:.....,,.........,.,,,:;;;''''''+++++
::::::::;;;;;;;;::,......```````````....`..............,,,...,..,,,..:,,::,,:::::::;;;;;;;;;;+##############+':;::;::::,,::;#;;::':;:,,,,:.,:,,.::,.,.....,,,,,..,.:,,.....,......,.,,,:::;;;'''''++++++
:::::::;';;;;;;;;:,.......`````````.........,,......,,.,,,,...,.,,,,.,:,,::,,:::::;;;;;;;;;;;;##############+':;::;:;,;::;;+#;::;;:;;,,,,,,,,,,,,,,,.:`.,..,,,,.,,.::,,.....,,.,,,,,,,;;:;;';'''''++++++
:::::,:;;;;;;;;;;::,......`````````...,.....,.......,,..,,,,..,,,,:,..:,,::,,:::::;;;;;;;;;;;;'#############+;:;::;:;,;;;;:##;:,';;';,,:::,,,,,,.,:,.:..,..,..,,,,,.;,,,...,.,,.,,,,::;;;;;;;;;;''++++++
:::::,:';;;';;;;;;:,.....``````````.`,,,....,,.......,,.,,,,..,,,,,:,.,:,,::,:::;;;;;;;;;;;;;;;+############+;:;;,;:;,;;:':##';:;;';;,,:;,,:,,,,,:,,,.;..,.,.....:,.,:,,,.,,,,,:,,,,:;''':;;;'''''++++++
::::::;;;;;;;;;;;;,,.....```````````..,,.....,.....,.,,.,,,,,..,,,,::..::,::,,::;;;;;;;;;;;;;;;;''+########++;:::;;::,'':':##+;:''+';:::;,,,:,.,,,,::.:,,,,,...,,.,,,::,,.,,,,,,:,,,:;'';'''''''''++++++
:::::;;;;;;;;;;;;:,.,....``````````...,,......,..,..,.,,.,,,,,.,,,,,:,.,:,,:,,:::;;;;;;;;;;;;;;;';;;;;''+##++;::::;::,;+'+:###;;'++';:;:;:,::,,,,,:,:,,::,,...,,....,,;:,,,,,,,,:,,;;;';;'''''''''++++++
;;;:;;;;;';;;;;;;,,,,,...``````````...,,,..,..,..,,,,,,,.,,,,,.,,,,,::,.::,::,:::;;;;;;;;;;;;;;;;;;';'''';;;;:::::::,:;###;###':'#+';:;:;:::,,,,,,;:::,:;,.,,..,.,,,,,:;::,,:,:,,::';;;;;';;'''''+++++++
++'';;;;;;;;;;;;,,,,,....`````````.....,,......,..,,.,,,,.,,.,..,,,,,:,.::,,:,,::;;;;;;;;;;;;;;;;;;;';'''';;;:::,:,::;'###'####:+##'':',:::::,,:,,:,::,:;:,,,,,,,,,:,,,;::,,,:::::;'';'''';''''+'+++++++
#+####++';;;;;;:,,::,.,.`.``````..``.,,,,,..,,.,,,,,,,,,,,,,,,,.,,,,,,:,,::,::,:::;;;;;;;;;;;;;;;;;;;;''''';;::,,:,::;:+++'####'###+':',:;:::,,:,,:;::,,;;,,,,,,,,,,:,,:;::,::::::''+++''''+++'+++++++++
#######++#++'';:::::,,,....``.`......,,:,,,.,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,::::;;;;;;;;;;;;;;;;;;;;;''''';;::,:,,;:;:+++;++++++###';;,:::;:,,:,,:;,;,,;;:,,,,,,,,,,,,::;::::';:''++++'++++++'+++++++++
########+#++++++#+';;:,.,.......,..,.,:,,,:,,,,,,,,,,,,,,,,,,,,,,,:,::::,,::,::::;;;;;;;;;;;;;;;;;;;;;''''';;,:,::,:;::++''++++++++';:;::::;:,,:,::,;:::;;;,,,,,,,,,:,::::::::'';''+++''++++++'++##+++++
###########++++#+++++++''';;;'''''''+'+++++++++++++++++++++'+++'''';;:::::;;::;;:;;;;;;;;;;;;;;;;;;;;;''''''',;:,:::'::+'+;+++++++''':,.,,::,..,,:::',:::;;:,:,,,,,,:,::::;:::'+''+++'+''++++++++###++++
############+####+++++++'+'''++++++++++++++++++++++'++''+''''''''+++'+++++;;:::;:;;;;;;;;;;;;;;;;;;;;;;'''''':;:::':+;;+'';+'+'''+'+':.:,,::,..``.....,..,,:.``...,,:::::::;::'+''++'++++++++++++####+++
++################+++++++++'++++++++++##++#++++++++++''+'''++''+''++'++++++++++';;;;;;;;;;;;;;;;;;;;;;;'''''':;:::+:+':'++''''''''''+:,:.,,:,,.``.,..:.,..,:,````......,,::;;;;'+'+'+'+++++++++++#####++
#+##################+##++++++###++#++##+++#++++++++++'++'''++'+++++++++++++++++++#+';;;;;;;;;;;;;;;;;;'''''''::,,:+:++,''+''''''''''';,::,,;,,.`..,.,:,.,,.,:.`.......,,,,,,,,:'++'+++++'++++++++#####++
++######################++++############+###++++++++++++''++'++++++++++++++++++++#++##+';;;;;;;;;;;;;;;''''';:::::+;++,'''''''''''''':,::,:;:,.`.....:,`.,,,,,`......,.,,,,,,;:';;;''++++++++++++#####++
++########################################++++++++++++++''++''++++++++++++++++++++#+#####+;;;;;;;;;;;;;;'''';:::::+''+;''''''''''''''::,,:;;:,.`.......`..,...`....,.,.,,,,,,;;';;;;;;;'++++++++++#####+
+#+#################################+#++#++++++++++++++''+++''''++++++++++++++++++#########+;;;;;;;;;;;''''';:::::++'++;''''''''''''':,:,:;'::......`..`..,........:.,,.,,,,:''';:;;;';''';'++++++++####
##+##################################++++++++++++++++++'+++'''''+++++++++++++++++##+#########+;;;;;;;;;''''':::::;++;++:''''''''''''':,::;';::,..,..`...`.,........:.,,,,,,,,';;;;;;;;;''''';;'+++++++#+
##++################################+++++++++++++++++++++++'''''+++++++++++++++##+#############';;;;;;'''''';::;:;++'++''''''''''''''::,:'';;:,.,,.,...`.,,,.......:.,,,,,,,,';;;;:;;;;'''';;;;;;'+++++'
+##+##############+++##############++++++++++++++++++++++++''''''+++++++++++++##+################';;;;'''''';::;:;++'+++'+'''''''''''::,;'';;;:.:,,....`..,,,......;,,,,,,,:,;;;;;:;;;;'''';;;;;;;;;'+'+
#################+#+++++++++######++++++++++++++++++++++++''''''+++++++++++++++#+#################+;;''''''';::;:;+++++++++';'''';''':::;;'';;:,:,,.,.....,:,.,..,,,:,,,,,,:,';;;;;;;;;;;;;;;;;::;;;;:::
#################+#+++++++++++++++++++++++++++++++++++++++''''''+++++++++++++++#+###################'''''''';::;:'++++++++++''''';;;;:::;;;';;;,:,,,,..,..,:,,,..,,,;,,,,,:::;;;';:;;;;;;;;;;;;::,::;;;;
###################++++++++++++++++++++++++++++++++++++++'''''''+++++++++++++++######################+'''''';:;;:'+++++++++++'''';;;;:,;;;;';;::::,,,..,..,;::,,.,,,;,,,,,::;;;'';;;;;;;;;;;;;;:::,,,:;:
##################+++++++++++++++++++++++++++++++++++++++'''''''''+++++++++++++########################+''''':;;;'++++++++++++;;;'';;::;;;;;;;;::;:,,,.,..,:;:,,,,,;::,,,,:;;;;'';;;;;;;;;;;;;;::,,,,,::
##################++++++++++++++++++++++++++++++++++++++''''''''+++++++++++++++#########################+''';:;'';'++'+++++++++;;';;;::;;;;;;;;::;:,:,,,,,:;;;,,,,,;;:::,::;;;;';;;;;;;;;;;;;;;:::,,,,::
###################+++++++++++++++++++++++++++++++++++++''''''''+++++++++++++++#####################+#####'';;;'';+++''+++++++++;;;;;;:;;;;;;;;::;;,,:,,,,,;;;:,,,,;;;::::;;;;;';;;;;;;;';;;;;;:::,,,.,;
####################+++++++++++++++++++++++++++++++++++++''+'''''+'+++++++++++++###########################+;;;'';''''''+++'+'+++;;;;;;;;;;;;;;::;;:,,,,,,:;;;;,,,,;;;::::;;;;;'';;;;;;;;';;;;;::,,,,,,.
#####################++++++++++++++++++++++++++++++++++++'++'''''+++++++++++++++############################+;'''''''''''++'+''+++;;;;;;;;;;;;;:::;;:,,::,;;;;;::,:;:;::::;;;;;'';;;;;;;;;';;';;;,,,,,,.
######################++++++++++++++++++++++++++++++++++'+''''''''+++++++++++++##############################+'''''''''''++'+'+++++;;;';';;;;;;::;;;;:,,,,;;;;;;,,:;:::::::;;;;';;';;;';;;;;;;;;;,,,,,,.
######################++++++++++++++++++++++++++++++++++++''''''''++++++++++++++#############################+#+''''''''''''''''++'+;;'''';;;;;;;;;;;::,:,::;;;;,::;::::;;:;;;;;;;';;;';;;;;;;;;;:,,,,,.
+######################+++++++++++++++++++++++++++++++++++'''''''+++++++++++++++#################################'''''''''''''+''+''';;'''';;;;;;;''';:,:,::::;;::::::::;;;:;;;:;;';;;;;;;;;;;;;;:,,,,,.
+#######################++++++++++++++++++++++++++++++++++''''+''++++++++++++++++#################################+''''''''''''''''''';;''';;;;;;;'''';:::::::;;:,::::::;;;;;;;;;;;;;;;;;;;;;;;;;:,,,,,,
+########################+++++++++++++++++++++++++++++++''''''++++''++++++++++++####################################+'''''''''''''''''';'''';;;;;'''''';::::::::;::::::::;;;;;:;;;;;;;;;;;;;;;;;;::,,,,,
++########################+++++++++++++++++++++++++++++++''''+'+++''+++++++++++++#####################################'''''''''''''''''';''';;;;;;'''''';;;;;::::::::::::::::;;;;;;;;;;;;;;;;;;;;::,,,,,
+++######################+#++++++++++++++++++++++++++++''''''++++++'++++++++++++++######################################+''''''''''''''+;;'''';;'''''''''';'';;::::::::::::::;;;;;;;;;;;;;;;;;;;:::,,,,,
##########################+++++++++++++++++++++++++++++''''''++++++'+++++++++++++#########################################+'''''''''''''';''''+;;''''''''''';'';::::::::::::::;;;;;;;';;;;;;;;;;:::,,,,,
##########################+++++++++++++++++++++++++++++'''''+++++'''++++++++++++++##########################################+''''''''''''';+'''';;''''''''''''';';;;::::::::::;;;';;;;;;';;;;;;;;:::,,,,
++#######################+##+++++++++++++++++++++++++++'''''++++++''++++++++++++++#########################################++''''''''''''+':'+''';'''''''';'';'';;;:::::::::::;;;';;;;;;;;;;;;;;;:::,,,,

* fixes

* uiqwrhfhwfadkhfwrahbk
2017-02-06 00:26:29 +13:00
swindly f78a5d9655 Tweaks saline-glucose solution (#23673)
* salglu rebalance

* tweak again
2017-02-06 00:21:44 +13:00
oranges fdcc4cc157 Merge pull request #23668 from Cruix/wizfix
[s] Fixed wizards with mindswap being able to make people suicide
2017-02-06 00:21:03 +13:00
oranges fa1bfcaad5 Merge pull request #23674 from coiax/fixes-mulligan-recipe
Fixes the mulligan reagent recipe
2017-02-06 00:20:36 +13:00
Cheridan bf0967d795 Merge pull request #23662 from Cyberboss/afsifuhaejkf
Fixes an AI click runtime
2017-02-05 01:41:22 -06:00
Cheridan d42e085530 Merge pull request #23665 from Cyberboss/hotspotfix
Fixes hotspots runtiming when Destroyed in a wall
2017-02-05 01:40:01 -06:00
Cheridan 3d51b2a467 Merge pull request #23675 from coiax/no-dust-plz
Tesla balls cannot dust people near grounding rods
2017-02-05 01:33:56 -06:00
SweaterKittens f3383c7f22 Plasmamen Gear Sprite Tweaks and Helmet Light Re-Addition. (#23685)
* Re-adds Plasmamen Helmet light, and tweaks almost all related sprites. Additionally, adds myself to the .txt for testing purposes.

* Update tgstation.dme

Not sure why this got changed, fixing.
2017-02-05 15:56:54 +11:00
Jordie 5172942047 Merge pull request #23656 from Jordie0608/whoarewebutmenamidstsuchsheernerditudethatislzimann
Fixes death report SQL query
2017-02-05 13:42:20 +11:00
Leo 33bdff1401 Adds an IC issue button for admins (#23681)
* Adds an IC issue button

* Actually logs to the game instead of two message_admin

* Oops

* Closing hrefs is a good idea

* Makes reject and IC issue locate() in clients instead of world.
2017-02-05 15:10:59 +13:00
Joan Lung 55ed19155f Ghosts get plane masters (#23679)
* Ghosts get plane masters
2017-02-04 22:57:33 -02:00
Joan Lung 2360268a8d Merge pull request #23678 from lzimann/badidea
Tesla zaps can now generate an energy ball if they zap a generator
2017-02-04 19:46:51 -05:00
Lzimann 88d3392e9a Grilles no longer generate a ball 2017-02-04 22:35:16 -02:00
jughu 4ae2eec15f Fixes #23647 (#23653)
* Ha ha HAHAHA

* Update book.dm
2017-02-05 12:27:30 +13:00
Joan Lung 246b1fd253 Merge pull request #23671 from KorPhaeron/eyes_as_organs
Eyes As Organs
2017-02-04 17:14:19 -05:00
Joan Lung 42915e2f0f fixes the ark healing itself (#23652) 2017-02-04 11:55:52 -06:00
Joan Lung 7fa4ee825a Merge pull request #23659 from Cyberboss/thisisstupid
AIs can no longer resist
2017-02-04 12:55:34 -05:00
Joan Lung 9c579f61b3 Tweaks brass window icons (#23670)
* Tweaks brass window icons

* one tweak
2017-02-04 11:35:30 -06:00
Joan Lung 027290de05 Ratvar-converted AIs become brass-colored, speak in Ratvarian, and cannot be carded (#23664)
* Ratvar-converted AIs become brass-colored, speak in Ratvarian, and cannot be carded

* bro you're super rogue

* that'd be smart
2017-02-04 11:34:51 -06:00
KorPhaeron 8f5b9a3aa0 It should probably actually compile 2017-02-04 08:38:06 -06:00
KorPhaeron 0117b71d48 Lazy nightvision spell is no longer meant for carbons to use 2017-02-04 08:36:17 -06:00
oranges 94f7c70c65 Merge pull request #23648 from coiax/notify-wizard-rod
The Rod Form spell does not notify deadchat
2017-02-05 00:09:12 +13:00
oranges ea72c9decd Merge pull request #23639 from KorPhaeron/valentines
Buffs the valentines event
2017-02-04 23:53:39 +13:00
KorPhaeron 858e2950b1 Revert "Luminosity"
This reverts commit 57ae996d89.
2017-02-03 22:57:23 -06:00
KorPhaeron 57ae996d89 Luminosity 2017-02-03 22:57:01 -06:00
KorPhaeron 3d5443212b Fixes a runtime 2017-02-03 21:58:45 -06:00
Joan Lung 9fe0b2f2e9 Merge pull request #23502 from Cyberboss/patch-13
Prevents effects from feeding the singulo
2017-02-03 22:45:06 -05:00
oranges b795fced59 Merge pull request #23625 from WhiteHusky/Paperwork-Improvements
NTOS and Paperwork Improvements
2017-02-04 16:44:13 +13:00
oranges bf9fce45ab Merge pull request #23635 from ChangelingRain/vanguardtimer
Vanguard now shows you how long you have until it deactivates
2017-02-04 16:42:43 +13:00
oranges d7017b4319 Merge pull request #23620 from Cyberboss/ThatOneLineAllTheCodersWant
Adds subsystem initialization messages to world.log
2017-02-04 16:38:33 +13:00
oranges af25652406 Merge pull request #23419 from ChangelingRain/blackboxed
The physical blackbox object no longer stores feedback data
2017-02-04 16:37:15 +13:00
oranges d12a6b4aa4 Merge pull request #23561 from Cyberboss/global_roundup
Adds a global var finder. Makes find_references search globals
2017-02-04 16:35:45 +13:00
oranges 8ef7794157 Merge pull request #23565 from Cyberboss/Framing
Makes frames unanchored by default
2017-02-04 16:35:12 +13:00
oranges 4b0e86b44d Merge pull request #23562 from Cyberboss/TravisTesting
Makes travis build the testing configuration
2017-02-04 16:34:40 +13:00
Cyberboss 7f9bd036b9 Move proc/process definition into appropriate file (#23567) 2017-02-04 16:34:24 +13:00
Xhuis 42d4811398 Framework for dynamic role-specific uplink items (#23227)
* Role-specific traitor items

* Restricts role-specific items from nuke ops

* Changes default config

* Removes config option
2017-02-04 16:32:21 +13:00
KorPhaeron 0b79d25b9d Undoes a fix that somehow broke everything instead 2017-02-03 21:17:51 -06:00
KorPhaeron 99dddbfdfc Fixes eyes not updating properly after surgery 2017-02-03 20:17:15 -06:00
KorPhaeron f9350ff38e Eyeball sprites 2017-02-03 20:04:36 -06:00
bgobandit 86e7808596 Shuttles will now give an audible warning when departing. (#23466) 2017-02-03 19:48:16 -06:00
Cyberboss d904e06f72 Fixes hologram exports (#23642) 2017-02-03 19:47:16 -06:00
Robustin 555a67301f Improved Zombie Revive (#23601)
* Update organs.dm

* Update organs.dm

* Update organs.dm

* Rewording the desc
2017-02-03 19:43:37 -06:00
coiax 9eac586e93 Uses deadsay span in event notification (#23649)
🆑 coiax
tweak: The deadchat notification of randomly triggered events now uses
the deadsay span.
/🆑
2017-02-03 19:42:39 -06:00
KorPhaeron 71e958b44e Eyes travel with the head when dismembered 2017-02-03 19:13:47 -06:00
KorPhaeron c47c6a4169 No eye surgery for people without eyes 2017-02-03 18:53:04 -06:00
KorPhaeron 6ad9b5abe1 Replaces cybernetic implants with cybernetic eyes 2017-02-03 18:47:49 -06:00